Optimizing a radio link is done by acquiring at least osi layer one and two performance measurements, determining an optimum setting collection for at least osi layer three to a top layer, then configuring at least the osi layer three to the top layer based upon the optimum setting collection. The top layer is at least osi layer four. The invention includes optimized radio links, methods of making optimized radio links, revenue generating making optimized radio links by providing means for optimizing the radio link.
|
18. A method optimizing a radio link supporting wireless communication involving Open System Interconnect (osi) link layers from an osi layer one to a top layer, comprising the steps of:
acquiring a measured parameter collection including at least one measured parameter for at least one member of a radio chain collection involving at least one member of a layer one-two collection including at least said osi layer one and an osi layer two;
determining an optimum setting collection for at least an osi layer three to said top layer based upon said measured parameter collection and based upon a goal; and
configuring at least said osi layer three to said top layer based upon said optimum setting collection to support said goal;
wherein said radio chain collection is comprised of:
each receiver chain included in said radio link, and
each transmit chain included in said radio link;
wherein said top layer is at least an osi layer four; and
wherein for at least one of said osi link layer from said osi layer three to said top layer, said optimum setting collection includes at least one member associated with said osi link layer;
wherein said radio link includes said at least one receiver chain and said at least one transmit chain.
1. An apparatus optimizing a radio link supporting wireless communication involving Open System Interconnect (osi) link layers from an osi layer one to a top layer, comprising:
means for acquiring a measured parameter collection including at least one measured parameter for at least one member of a radio chain collection involving at least one member of a layer one-two collection including at least said osi layer one and an osi layer two;
means for determining an optimum setting collection for at least an osi layer three to said top layer based upon said measured parameter collection and based upon a goal; and
means for configuring at least said osi layer three to said top layer based upon said optimum setting collection to support said goal;
wherein said radio chain collection is comprised of:
each receiver chain included in said radio link, and
each transmit chain included in said radio link;
wherein said top layer is at least an osi layer four; and
wherein for at least one of said osi link layer from said osi layer three to said top layer, said optimum setting collection includes at least one member associated with said osi link layer;
wherein said radio link includes said at least one receiver chain and said at least one transmit chain.
3. The apparatus of
4. The apparatus of
wherein said measured parameter collection includes a number of decoder iterations for at least one of said receiver chains, a transmit power level for at least one of said transmit chains, a handoff status, and an another radio link Optimizer (RLO) measured parameter;
wherein said optimum setting collection is comprised of an advertised window size, a transmit window size, a retransmission timer size, a data bit rate, a camera resolution, a display resolution, a display refresh rate, an audio power, a geographic positioning, a video compression, an IP packet size, and a packet data unit;
wherein said geographic positioning supports motion estimation for intelligent communications cell hand-off.
5. The apparatus of
wherein said goal includes at least member of the channel goal collection comprising: a throughput goal, a latency goal, an end-to-end system delay goal, a transmit power limit, a timeout limit, a visual clarity goal, a stored power duration, a minimized RF bandwidth goal, a minimized data bandwidth goal, a minimized error rate goal, a monetary cost for communication goal, an audio quality goal, and a processing power goal.
6. The apparatus of
wherein the means for acquiring said measured parameter collection is further comprised of at least one member of the collection comprising:
means for accessing a memory variable representing a member of said measured parameter collection;
means for receiving an operating system message at least partially indicating at least one member of said measured parameter collection;
means for receiving a serialized communication via a serial communication link indicating at least one member of said measured parameter collection; and
means for receiving a parallelized communication via a parallel bus indicating at least one member of said measured parameter collection.
7. The apparatus of
wherein the means for determining said optimum setting collection is further comprised of using at least one member of the setting optimizer means collection comprising:
means for stimulating a neural network with said measured parameter collection based upon said goal, to at least partially create said optimum setting collection;
means for providing an inferential engine said measured parameter collection based upon said goal, to at least partially infer said optimum setting collection;
means for using a fuzzy logic rule base applied to said measured parameter collection directed by said goal, to at least partially infer said optimum setting collection; and
means for executing an optimization program, given said measured parameter collection with said goal, to at least partially create said optimum setting collection.
8. The apparatus of
wherein at least one of said setting optimizer means collection members is further comprised of a member of an optimizer implementation collection comprising:
means for said setting optimizer collection member includes a program system comprising at least one program step residing in a memory accessibly coupled to and controlling a computer to at least partially create said optimum setting collection;
means for said setting optimizer collection member includes means for operating a finite state machine to at least partly create said optimum setting collection;
means for said setting optimizer collection member includes means for using at least one Field Programmable Gate Array (FPGA) to create at least partially said optimum setting collection;
means for implementing said setting optimizer collection member includes means for using a neural network emulator to create at least partially said optimum setting collection; and
means for said setting optimizer collection member includes means for using an inferential engine to create at least partially said optimum setting collection.
9. The apparatus of
wherein said radio link includes at least two of said receiver chains and at least two of said transmit chains.
10. The apparatus of
wherein the means for acquiring said measured parameter collection is further comprised of a member of the collection comprising:
for at least two of said receiver chains, and at least one of said transmitter chains, means for acquiring said measured parameter collection in said receiver chains and in said transmit chain, collectively involving said osi layer one and said osi layer two;
for at least one of said receiver chains, and at least two of said transmitter chains, means for acquiring said measured parameter collection in said receiver chain and in said transmit chains, collectively involving said osi layer one and said osi layer two; and
for at least two of said receiver chains, and at least two of said transmitter chains, means for acquiring said measured parameter collection in said receiver chains and in said transmit chains, collectively involving said osi layer one and said osi layer two.
11. The apparatus of
wherein for at least one of said osi link layers from at least said osi layer three to said top layer, said optimum setting collection includes at least one member used to configure said osi link layer;
wherein the means for configuring said osi layer three to said top layer based upon said optimum setting collection is further comprised, for said at least one osi link layer for which said optimum setting collection includes a member used to configure said osi link layer, of:
means for configuring said osi link layer based upon said optimum setting collection members used to configure said osi link layer.
12. The apparatus of
wherein for each of said osi link layers from at least said osi layer three to said top layer, said optimum setting collection includes at least one member used to configure said osi link layer.
13. The apparatus of
wherein the means for configuring said osi link layer based upon said optimum setting collection members used to configure said osi link layer, is further comprised of a member of the collection comprising:
means for communicating said optimum setting collection members to a means for implementing said osi link layer;
means for asserting said optimum setting collection members upon said means for implementing said osi link layer; and
means for requesting said optimum setting collection members from said means for implementing said osi link layer.
14. The apparatus of
wherein the means for communicating said optimum setting collection members used to configure said osi link layer to said means for implementing said osi link layer is further comprised of:
means for signaling said means for implementing said osi link layer of an available configuration parameter member; and
means for sending said optimum setting collection members as requested by said means for implementing said osi link layer.
15. The apparatus of
16. The apparatus of
wherein said top layer is essentially said osi layer seven;
said apparatus is further comprised of:
means for implementing said osi layer seven at least partially creates said goal.
17. The apparatus of
wherein said radio link includes at least one member of a radio link collection comprising:
a wireless mobile device, a fixed station radio, a fixed radio data relay, a personal digital assistant with wireless communications capabilities, a wireless base station, an end station attached to a wireless network, an intermediate communications processor with wireless communication capability, and a boundary device optimizing encapsulation between two members of a communication protocol collection;
wherein at least one member of said communication protocol collection supports a wireless physical transport at said osi layer one.
20. The method of
21. The method of
wherein said measured parameter collection includes a number of decoder iterations for at least one of said receiver chains, a transmit power level for at least one of said transmit chains, a handoff status, and an another radio link Optimizer (RLO) measured parameter;
wherein said optimum setting collection is comprised of an advertised window size, a transmit window size, a retransmission timer size, a data bit rate, a camera resolution, a display resolution, a display refresh rate, an audio power, a geographic positioning, a video compression, an IP packet size, and a packet data unit;
wherein said geographic positioning supports motion estimation for intelligent communications cell hand-off.
22. The method of
wherein said goal includes at least member of the channel goal collection comprising: a throughput goal, a latency goal, an end-to-end system delay goal, a transmit power limit, a timeout limit, a visual clarity goal, a stored power duration, a minimized RF bandwidth goal, a minimized data bandwidth goal, a minimized error rate goal, a monetary cost for communication goal, an audio quality goal, and a processing power goal.
23. The method of
wherein the step acquiring said measured parameter collection is further comprised of at least one member of the collection comprising the steps of:
accessing a memory variable representing a member of said measured parameter collection;
receiving an operating system message at least partially indicating at least one member of said measured parameter collection;
receiving a serialized communication via a serial communication link at least partially indicating at least one member of said measured parameter collection; and
receiving a parallelized communication via a parallel bus at least partially indicating at least one member of said measured parameter collection.
24. The method of
wherein the step determining said optimum setting collection is further comprised of using at least one member of the setting optimizer collection comprising the steps of:
stimulating a neural network with said measured parameter collection based upon said goal, to at least partially create said optimum setting collection;
providing an inferential engine said measured parameter collection based upon said goal, to at least partially infer said optimum setting collection;
using a fuzzy logic rule base applied to said measured parameter collection directed by said goal, to at least partially infer said optimum setting collection; and
executing an optimization program, given said measured parameter collection with said goal, to at least partially create said optimum setting collection.
25. The method of
wherein at least one of said setting optimizer collection members is operated by a member of an optimizer implementation collection comprising:
said setting optimizer collection member includes operating a program system comprising at least one program step residing in a memory accessibly coupled to and controlling a computer to at least partially create said optimum setting collection;
said setting optimizer collection member includes operating a finite state machine to at least partly create said optimum setting collection;
said setting optimizer collection member includes using at least one Field Programmable Gate Array (FPGA) to create at least partially said optimum setting collection;
said setting optimizer collection member includes using a neural network emulator to create at least partially create said optimum setting collection; and
said setting optimizer collection member includes using an inferential engine to create at least partially said optimum setting collection.
26. The method of
wherein said radio link includes at least two of said receiver chains and at least two of said transmit chains.
27. The method of
wherein the step acquiring said measured parameter collection is further comprised of a member of the collection comprising the steps of:
for at least two of said receiver chains, and at least one of said transmitter chains, acquiring said measured parameter collection in said receiver chains and in said transmit chain, collectively involving said osi layer one and said osi layer two;
for at least one of said receiver chains, and at least two of said transmitter chains, acquiring said measured parameter collection in said receiver chain and in said transmit chains, collectively involving said osi layer one and said osi layer two; and
for at least two of said receiver chains, and at least two of said transmitter chains, acquiring said measured parameter collection in said receiver chains and in said transmit chains, collectively involving said osi layer one and said osi layer two.
28. The method of
wherein for at least one of said osi link layers from at least said osi layer three to said top layer, said optimum setting collection includes at least one member used to configure said osi link layer;
wherein the step configuring said osi layer three to said top layer based upon said optimum setting collection is further comprised, for said at least one osi link layer for which said optimum setting collection includes a member used to configure said osi link layer, of the step of:
configuring said osi link layer based upon said optimum setting collection members used to configure said osi link layer.
29. The method of
wherein for each of said osi link layers from at least said osi layer three to said top layer, said optimum setting collection includes at least one member used to configure said osi link layer.
30. The method of
wherein the step configuring said osi link layer based upon said optimum setting collection members used to configure said osi link layer, is further comprised of a member of the collection comprising the steps of:
communicating said optimum setting collection members to a means for implementing said osi link layer;
asserting said optimum setting collection members upon a means for implementing said osi link layer; and
requesting said optimum setting collection members from said means for implementing said osi link layer.
31. The method of
wherein the step communicating said optimum setting collection members used to configure said osi link layer to said means for implementing said osi link layer is further comprised of the steps of:
signaling said means for implementing said osi link layer of an available configuration parameter member; and
sending said optimum setting collection members as requested by said means for implementing said osi link layer.
32. The method of
33. The method of
wherein said top layer is essentially said osi layer seven;
said method is further comprised of the step of:
operating said osi layer seven at least partially creates said goal.
34. The method of
wherein said radio link includes at least one member of a radio link collection comprising:
a wireless mobile device, a fixed station radio, a fixed radio data relay, a personal digital assistant with wireless communications capabilities, a wireless base station, an end station attached to a wireless network, an intermediate communications processor with wireless communication capability, and a boundary device optimizing encapsulation between two members of a communication protocol collection;
wherein at least one member of said communication protocol collection supports a wireless physical transport at said osi layer one.
|
This invention relates to optimization of a radio link in terms of at least some of the following: power efficiency, bandwidth delivery, energy consumption, channel noise, and overall performance of multi-layer network communications through the radio link.
Mobile multimedia communication is desired by many, whether in the form of video telephone calls, video conferencing, mobile reception of web casts of audio and/or video streams. However, there are several bottlenecks need to be addressed before mobile multimedia communication can be achieved. Additionally, multimedia communication experiences similar bottlenecks in other radio links. Before discussing the invention, it is useful to survey the prior art for a summary of contemporary approaches to solving these problems.
The first bottleneck concerns multimedia communication bandwidth requirements. New packet based cellular network standards as well as non-cellular standards are addressing this bottleneck. The packet based cellular network standards include GSM/GPRS, WCDMA, CDMA2000, and HDR. The non-cellular standards include Bluetooth, IEEE 802-11a/b and Hiperlan.
A second, significant bottleneck to mobile multimedia communication is energy consumption. As radios built for mobile multimedia communication are frequently powered primarily by battery, the energy consumed must be minimal. Energy consumption in such radio systems is predominantly composed of computation energy and communication energy. The computation energy refers to the energy consumed in processing information to be transmitted and/or received. The communication energy refers to the energy consumed in wirelessly transferring information. Both computation energy and communication energy requirements can be very high.
Note that fixed station radios may also experience energy consumption bottlenecks. These bottlenecks may also be due to battery limitations, but are more often due to energy limitations in amplifiers and computation energy consumption.
A third bottleneck to mobile multimedia communication is channel noise. As the number of mobile users increase in a neighborhood, the interference between users will also increase, causing more channel noise. While several methods exist for overcoming the effects of channel noise, more bandwidth and energy are required to implement these methods. Such methods include Automatic-repeat-ReQuest (ARQ) schemes and channel coding.
The conditions and requirements of wireless multimedia communication vary. This fact can be used to overcome the bandwidth and energy bottlenecks. Variations in channel conditions may be due to user mobility, changing terrain, and so on. For example, the Signal to Interference Ratio (SIR) for cellular phones varies by as much as 100 dB, as a function of cellular phone's distance from the base station.
The Quality of Service (QoS) and Quality of Multimedia Data (QoMD) required during multimedia communication changes depending on the current multimedia service. QoS is often measured in terms of latency and/or Bit Error Rate (BER). By way of example, video telephony and web browsing have different QoS (latency) and QoMD (quality) requirements.
Mobile multimedia communication is usually discussed in terms of several OSI communication layers.
Wireless data communication devices typically transfer data without knowing the type of data being transferred. In many cases, isolating the various communication functions at each protocol layer is useful. New communications protocols and applications can be added without altering the lower layers of the protocol, such as radio and packet framing. However, this approach of isolating the functions of different layers has limited ability to optimize power consumption, bandwidth efficiency or other constrained resources. What is needed are methods and devices with improved ability to optimize constrained resources, including at least power consumption and bandwidth latency.
Several methods have been proposed for optimizing layers three and four. The optimization of a TCP/IP based wireless communication system has been variously proposed using two basic approaches. The first approach hides the non-congestion related losses from the TCP sender. The second approach makes the sender aware of losses not due to congestion, which can be summarized as wireless hop and losses.
These two TCP/IP based wireless optimization methods have been implemented using three main algorithms. The first algorithm uses a transport layer end-to-end approach. The second algorithm uses a splitting of the connection between the wireless channel and the network. The third algorithm uses a data link layer approach.
For the Transport Layer approach, the degraded performance of TCP over wireless links is mostly due to mistaking wireless losses for congestion. There are numerous proposals for modifying the TCP protocol.
During handoffs in cellular systems, packets may be delayed or even lost. R. Cáceres and L. Iftode, “Improving the performance of reliable transport protocols in mobile computing environments,” IEEE Journal on Selected Areas in Communications, vol. 13, no. 5, June 1995 pp. 850–857 makes the proposal that recovery from these losses should be initiated right after handoff completion, without waiting for a timeout. TCP can achieve this by receiving appropriate signals from lower layers.
Alternatively, TCP can exploit mobility hints from lower layers to heuristically distinguish losses due to handoffs. For these losses, TCP can avoid having the slow start threshold during recovery, thus skipping the congestion avoidance phase.
K. Brown and S. Singh, “M-TCP: TCP for mobile celullar networks,” Computer Communications Review, vol. 27, no. 5, October 1997, pp. 19–43 proposes that the wireless link endpoints choke TCP senders during handoffs, by transparently closing the receiver's advertised window. The sender then freezes all pending timers and starts periodically probing the receiver's window. However, there is a problem. By shrinking the advertised window, M-TCP violates TCP guidelines.
For the Split Connection solutions, after handoffs, congestion avoidance helps probe the capacity of the new link. With other wireless losses, retransmissions are sufficient for recovery.
However, end-to-end retransmissions are slow. A. Bakre and B. R. Badrinath, “Implementation and performance evaluation of Indirect-TCP,” IEEE Transactions on Computers, vol. 46, no. 3, March 1997, pp. 260–278, proposed splitting TCP connections using as pivot points, routers connected to both wireless and wired links.
In the split connection scheme, end-to-end connections are decomposed into separate TCP sessions for the wired and wireless parts of the path. A separate protocol, optimized for error recovery, may be substituted over the wireless links.
There are some problems with the split connection approach. Split schemes violate end-to-end TCP semantics, since acknowledgments may reach the sender before data packets reach their destination. To preserve TCP semantics, acknowledgments must be delayed, thus reducing throughput. Pivot points face significant overhead, since packets undergo TCP processing twice, and considerable per connection state memory must be maintained there.
R. Ludwig and R. H. Katz, in “The Eifel algorithm: making TCP robust against spurious retransmissions,” Computer Communications Review, vol. 30, no. 1, January 2000, pp. 30–36, proposed the Eifel scheme.
The Eifel scheme modifies TCP so as to avoid the spurious timeouts and fast retransmits due to handoffs or delayed data link layer retransmissions. Since these problems are due to TCP's inability to distinguish between acknowledgments for original packet transmissions and retransmissions, Eifel adds TCP timestamps to outgoing packets. Timestamps are echoed in acknowledgments, thus allowing spurious timeouts to be readily avoided, without changing TCP semantics.
However, end-to-end TCP recovery is not accelerated.
While TCP enhancement schemes would be attractive if only the endpoints needed modifications, in practice additional changes are needed. Some approaches require signaling from lower layers to detect handoffs. Other approaches require software to be installed and states to be maintained at pivot points.
In addition, split TCP schemes need alternative, TCP compatible, protocols to be deployed over wireless links for more efficient error recovery.
For the data link layer solutions, instead of modifying TCP, wireless losses are hidden from it. In cellular systems this is achieved by non-transparent mode Radio Link Protocols (RLPs). George Xylomenos, George C. Polyzos, “Link Layer Support for Quality of Service on Wireless Internet Links”, Center for Wireless Communications & Computer Systems Laboratory, UCSD proposed such a data link layer solution, known as Acknowledged mode RLC for the Wideband Code Division Multiple Access protocol, (W-CDMA).
Another solution is to perform local error recovery, a data link layer task, at the IP level, as Snoop TCP, proposed by H. Balakrishnan, V. N. Padmanabhan, S. Seshan, and R. H. Katz, in “A comparison of mechanisms for improving TCP performance over wireless links,” Proceedings of the ACM SIGCOMM '96, August 1996, pp. 256–269.
Snoop tracks-TCP data and acknowledgments by maintaining state for each TCP connection traversing a pivot point. Snoop caches unacknowledged TCP packets and uses the loss indications conveyed by duplicate acknowledgments, plus local timers, to transparently retransmit lost data. It hides duplicate acknowledgments indicating wireless losses from the TCP sender, thereby preventing redundant TCP recovery. Snoop exploits the information present in TCP packets to avoid data link layer control overhead.
Balakrishnan, et. al. report that the Snoop approach outperforms split TCP schemes, without violating TCP semantics.
A. DeSimone, M. C. Chuah, and O. C. Yue, in “Throughput performance of transport-layer protocols over wireless LANs,” Proceedings of the IEEE GLOBECOM '93, December 1993, pp. 542–549, report that the Snoop approach also avoids conflicting local and TCP retransmissions by suppressing duplicate TCP acknowledgments.
There are some problems and difficulties associated with the Snoop approach. Snoop requires the TCP receiver to be located right after the pivot point.
In the Snoop approach, if a wireless host is sending data to a remote receiver, TCP acknowledgments are returned too late for efficient recovery, and they may even signify congestion losses. In this situation, Explicit Loss Notification (ELN) is needed for TCP to distinguish between congestion and wireless losses. If the Snoop agent detects a non congestion related loss, it sets an ELN bit in TCP headers and propagates it to the receiver, which echoes it back to the sender.
Snoop can use queue length information to heuristically distinguish congestion from wireless errors. When receiving an ELN notification, the TCP sender retransmits the lost packet without invoking congestion control. Although ELN is applicable to most topologies, it requires changes to router algorithms.
Also in the Snoop approach, a lost packet can only be retransmitted after a round trip time has elapsed, when an acknowledgment with the ELN bit set is returned.
Cellular system Radio Link Protocols (RLPs) avoid the layering violations of Snoop, which examines TCP headers at the IP level. However, DeSimone et. el. Report that they may retransmit data in parallel with TCP.
R. Ludwig, B. Rathonyi, A. Konrad, K. Oden, and A. D. Joseph, in “Multi-layer tracing of TCP over a reliable wireless link,” Proceedings of the ACM SIGMETRICS '99, June 1999, pp. 144–154, report that this occurs rarely with fully reliable RLPs. It is prevented by RLPs that abandon error recovery after some failed attempts.
Link layer schemes operate at the local level with low round trip delays that allow fast recovery, in contrast to TCP modifications. Their main limitation is that they offer a single level of recovery, which may not be appropriate for all higher layer protocols and applications.
Michele Zorzi, Michele Rossi, Gianluca Mazzini, in “Throughput and energy performance of TCP on a Wideband CDMA air interface”, Dipartimento di Ingegneria, Universit a di Ferrara, Italy, present a study on the performance of TCP, in terms of both throughput and energy consumption, in the presence of a Wideband CDMA radio interface.
In Zorzi, et. al., no RLP was considered as it was assumed that Transparent Mode was used. The results show that the relationship between TCP throughput and average error rate (block error probability) is largely independent of the network load, making it possible to introduce a universal throughput curve, empirically characterized, which gives throughput predictions for each value of the user error probability.
Another main conclusion of the Zorzi et. al. study is that an optimal value of power control threshold exists, potentially leading to significant energy savings in return for very small throughput degradation. The study also indicates that power savings at the higher level depend on lower layer tweaks.
TCP/IP support will allow all these wireless systems to interoperate by becoming parts of the Internet. The next step is to provide direct interoperability between wireless systems by allowing users to transparently move not only between cells within the same system, but also from one system to another, depending on the services and coverage available.
In these unified hierarchical cellular systems, large cells will be overlaid by multiple smaller cells in areas with increased user concentrations. Since handoffs momentarily disrupt connectivity with adverse effects on TCP performance, hierarchical cellular systems must be carefully designed to avoid increasing the severity of handoff induced problems.
The small area and high data rates of microcells will lead to more frequent handoffs and potentially increased losses during each handoff.
Handoffs between different systems may also dramatically change the performance of underlying wireless links.
To reduce the severity of these problems, one approach is to exploit co-operation between layers so as to enable protocols to adapt their behavior as needed. Intensive research is directed towards adaptive data link layers that provide information to higher layers in an orderly fashion.
The European Union WINE project is studying protocol adaptivity and link dependent configuration so as to optimize IP performance over wireless links, without exposing lower layer details to TCP.
A protocol enhancing proxy approach has been developed in the Wireless Adaptation Layer (WAL), to handle automatic adaptivity. The emerging software radios, which allow the configuration of physical and data link layer parameters in real time, will further enhance link adaptivity, hence protocol adaptivity will become even more important in the future.
There have been successful implementations optimizing specific layers for such as channel conditions or QoS, but these solutions only understand limited portions of the overall system. Still other optimization approaches have focused on computation energy only, and not a combination of commutation energy and communications energy.
What is needed is a solution that can understand the complex relationships of the acquisition, transmission, reception, and outputting of data to optimize on specific constrained resources or any combination of these constrained resources.
There are significant limitations in prior art devices using only a single protocol layer for an optimization method. One such limitation has been the encryption that is often done on the data before the data is made available to OSI Layer 4 and below. TCP packet sizes and window sizes (OSI Layer 4), IP packet sizes (OSI Layer 3), and Packet Data Units (OSI Layer 2) are not able to provide optimum transmission values because the data unit sizes are not adjusted for the transmission path. These layers are not able to probe the data stream since the encryption mechanism has hidden any attempt at understanding the data contents.
Mechanisms and methods are needed supporting encryption and packet parameterization that take into account the protocol layers from the physical layer one through transport layer four, such as TCP.
The invention addresses at least the problems discussed in the background. The present invention overcomes some of the significant limitations of current devices that use only a single protocol layer, optimization method.
The invention includes optimizing a radio link by the following steps: Acquiring at least OSI layer one and two performance measurements. Determining an optimum setting collection, for at least one layer between at least OSI layer three and a top layer. Configuring at least that one layer based upon the optimum setting collection. The top layer is at least OSI layer four.
A radio link includes at least one of the following: a wireless mobile device, a fixed station radio, a fixed radio data relay, a personal digital assistant with wireless communications capabilities, a wireless base station, an end station attached to a wireless network, an intermediate communications processor with wireless communication capability, and a boundary device optimizing encapsulation between two members of a communication protocol collection.
The present invention is an apparatus supporting the optimized transfer of data wirelessly using controlled amounts of radio link and network resources. The resources being optimized include, but are not limited to, battery drain, RF bandwidth, bit-rate bandwidth, and latency of the transmission.
The invention achieves this optimization by using the overall knowledge of what is being transferred to optimize the protocol layers in the communications process. To optimize the resources involved in the transfer, each protocol layer provides a set of metrics associated with its operation. The metrics are provided as input to a radio link optimizer mechanism and the radio link optimizer mechanism then provides a useful set of parameters back to at least one OSI protocol layer three or above, preferably to each OSI protocol layer.
Various embodiments of the invention do not require any modification to the existing TCP/IP standard, which is a significant advantage.
These and other advantages of the present invention will become apparent upon reading the following detailed descriptions and studying the various figures of the drawings.
The invention includes optimizing a radio link by the following steps: Acquiring at least OSI layer one and two performance measurements. Determining an optimum setting collection, for at least one layer between at least OSI layer three and a top layer. Configuring at least that one layer based upon the optimum setting collection. The top layer is at least OSI layer four.
A radio link includes at least one of the following: a wireless mobile device, a fixed station radio, a fixed radio data relay, a personal digital assistant with wireless communications capabilities, a wireless base station, an end station attached to a wireless network, an intermediate communications processor with wireless communication capability, and a boundary device optimizing encapsulation between two members of a communication protocol collection.
The present invention is an apparatus supporting the optimized transfer of data wirelessly using controlled amounts of radio link and network resources. The resources being optimized include, but are not limited to, battery drain, RF bandwidth, bit-rate bandwidth, and latency of the transmission.
The invention achieves this optimization by using the overall knowledge of what is being transferred to preferably optimize each of the protocol layers in the communications process.
To optimize the resources involved in the transfer, each protocol layer provides a set of metrics associated with its operation. The metrics are provided as input to a radio link optimizer mechanism and the radio link optimizer mechanism then provides a useful set of parameters back to at least one OSI protocol layer three or above, preferably to each OSI protocol layer.
In this exemplary system, mobile device 100 performs at least one useful function such as video teleconferencing anywhere in a geographic area supported by the wireless network including 110–120–130.
Wireless Mobile device 100 is able to communicate with one or more fixed station radio and data relay sites 110. Data Traffic from these fixed stations may communicate with each other or may be forwarded into the Wide Area Network 120. The Wide Area Network 120 is preferably able to deliver a multi-media data stream involving at least one destination data communications or telecommunications end system 130.
Within Wireless Mobile Device 100 are several conventional functions needed to implement a multimedia communications service. In terms of the standard Open System Interconnect (OSI) terminology, Application function 210 preferably implements OSI Layers 5–7, which controls acquisition and conversion of video and audio information. Communication processing function 230 implements OSI Layers 2–4 including session control, address, and capability exchange functions, assuring reliable end-to-end transport of multimedia data.
Radio function 220 is able to transmit and/or receive data wirelessly. This physical layer transport implements OSI Layer 1, which is capable of implementing at least one of many Wide Area, Metropolitan Area, Local Area or Personal Area wireless protocols. Although shown communicating with a fixed station 110 in
In a preferred embodiment of the present invention, the radio link optimizer 200, present within the Wireless Mobile device 100, integrates the application requirements, current wireless system conditions and other relevant input information. The wireless system conditions include, but are not limited to, a knowledge of the physical layer network, the end system 130 capabilities, and the current physical conditions as sensed by Radio function 220. As a result of this multiple layer input, radio link optimizer 200 then performs one or more methods to optimize the overall communications.
Optimizing can be done for minimizing battery power requirements, lowest end-to-end system delay, maximum visual clarity, maximum audio quality, minimum RF bandwidth, minimum data bandwidth, lowest error rate or other desired results.
In a preferred embodiment, radio link optimizer 200 implements a combination of these goals allowing an intelligent and adaptively changing optimization method. Radio link optimizer 200 implements the desired goal by altering the parameters that feed into each one of the wireless mobile device 100 functions, 200–230.
In addition to controlling local Wireless Mobile device 100 functions, another preferred embodiment of the present invention is able to communicate with similar intelligent optimizing functions contained within other OSI media and transport layers of each communications link handling the end-to-end communications. Using the overall intelligence and monitor capabilities, similar radio link optimizer functions can provide an optimized end-to-end optimizing strategy.
The radio link optimizer invention is applicable to other areas of the data transport network.
Fixed station radio 110 is in contact with a wireless mobile device, which may contain an radio link optimizer 200 or may not contain an radio link optimizer. Antenna 640 is connected to the radio receiver/transmitter 620, and the communications processing 630 provides the proper messaging allowing the proper operation of the fixed station radio 110 and the proper messaging to accept and relay data between the Wide Area Network 120 and the wireless mobile device.
Radio link optimizer 600 is able to monitor the many different protocols operating in environment illustrated in
In a preferred embodiment, radio link optimizer 600 is aware of the presence of radio link optimizer 200, and is able to exchange messages with radio link optimizer 200 to provide additional information about the status and capabilities of the network. In an alternate embodiment, the optimization performed by radio link optimizer 600 includes status, capabilities, and parameters of radio link optimizer 200.
Radio link optimizer 600 is also preferably able to handle many different Wireless Mobile devices simultaneously. In such embodiments, radio link optimizer 600 must be able to process a mixture of Wireless Mobile devices with and without internal radio link optimizers.
Those skilled in the art will appreciate that this novel invention can be extended to many other parts of a telecommunications and data communications network. The apparatus and method can be incorporated into end stations, servers, intermediate node communications processors, within public networks, and other communications systems.
In
In
If other radio link optimizers are present near radio link optimizer 200, it is preferably capable of optimizing the communications path with other radio link optimizers. If other radio link optimizers are not present, as in
If other radio link optimizers are present near radio link optimizer 600, it is preferably capable of optimizing the communications path with other radio link optimizers. If other radio link optimizers are not present, radio link optimizer 600 will be essentially transparent to existing communications processing elements anywhere in the network. Radio link optimizer 600 will perform the optimization method based on the information that is available.
Processing blocks 570, 560, 550, and 540 implement receive function and processing steps. Using the receiver and transmitter capabilities, illustrated in
In a manner analogous to the transmit function illustrated in
Radio link optimizer 200, respectively 600, is able to optimize both receive and transmit output parameters using the capabilities, status, and input parameters of both receive and transmit functions in the preferred embodiment.
In alternate embodiments, the receiver and transmitter radio link optimizers operate independently or with limited cross-functional capabilities.
Embodiments of the invention provide mechanisms and methods needed for supporting encryption and packet parameterization, that take into account the protocol layers from the physical layer one through transport layer four, such as TCP.
The overall throughput of a TCP/IP based wireless packet data link is determined by, among other things, the length of the packet. One method of this invention at least controls the size of packets. The system relies on the radio link optimizer apparatus that receives a metric associated with the quality of the radio link and adjusts the packet size to optimally fit the channel conditions.
Signal processors 572 and 574 indicate signal processing algorithms in the receive chain of the physical layer, demodulator 570 of
Note that in fixed antenna stations 110, as illustrated in
It should be further noted that different implementations provide these signal processing activities in a variety of hardware implementations including at least one of, but not limited to, Field Programmable Gate Arrays (FPGAs), Digital Signal Processors (DSPs), computers, and custom logic networks.
Radio Link Process 520, 560, respectively of
In the following, the same principles that are discussed for the TCP/IP algorithm can be applied to Layer 2. This may require modifications to Layer 2. Radio Link Optimizer 520, 560 performs the method used to adaptively and pro-actively adjust various TCP/IP parameters.
Under normal operating conditions, Wireless Mobile device 100 and/or fixed station radio 110 will transmit and receive data using a communication protocol compatible with TCP/IP. One purpose of certain preferred embodiments of this invention is to make this data exchange as efficient as possible. Increasing efficiency refers to reducing the number of times that packets need to be retransmitted by either the Wireless Mobile device 100 and/or the fixed station radio 110.
In
Consider first the case where Wireless Mobile device 100 or fixed station radio 110, of
To improve performance, the receiver may employ signal processing algorithms, such as Turbo decoding. However, these algorithms can only increase the Bit Error Rate (BER) performance of the link by a certain amount. Thus, if link quality deteriorates, a point will be reached where many packets are lost and the signal processing algorithms (e.g. Turbo decoding, channel equalization etc.) cannot recover the transmitted signal. When this point is reached, the link will suffer from an increase in packet retransmissions.
The invention includes a more optimal solution, which will pro-actively reduce the packet size as the link quality deteriorates. This can be accomplished by the radio link optimizer 200 and/or 600 performing the following steps. Reading 536, 538, 576, and 578 link quality parameters respectively from signal processing elements 532, 534, 572, and 574, in the physical layer. And respectively instructing 420, 460 the TCP/IP stack 510, 550 to reduce its advertised window size. This will force the transmitter to reduce the packet size it transmits to Wireless Mobile device 100 and/or fixed station radio 110.
This system does not require any modification to the existing TCP/IP standard, which is a significant advantage.
A more detailed example of how this preferred method can operate is described next. Turbo decoders increase the number of decoding iterations as the link quality degrades. For a good link, only 2–3 iterations may be required whereas a bad link may require 6–8 iterations. If the radio link optimizer 200, 600 sees that the number of iterations is increasing and is approaching the maximum number of permitted iterations, it instructs 420, 460 the TCP/IP stack 510, 550 to reduce the advertised window size. This results in a reduction in packet size and consequently, less data will need to be retransmitted when a block error occurs.
When Wireless Mobile device 100 and/or fixed station radio 110 of
In
Another RLO measured parameter is communicated from another Radio Link Optimizer, and includes at least one of that radio link's measured parameters, goals, and optimum settings as illustrated in
In
Note that the monetary cost for communication goal 824 may include, but is not limited to, a monetary cost for peak bandwidth communication goal.
In
In the following figures will be found flowcharts of at least one method of the invention possessing arrows with reference numbers. These arrows will signify flow of control, and sometimes data, supporting implementations, including at least one program step or program thread executing upon a computer, inferential links in an inferential engine, state transitions in a finite state machine, and dominant learned responses within a neural network.
The operation of starting a flowchart refers to at least one of the following. Entering a subroutine in a macro instruction sequence in a computer. Entering into a deeper node of an inferential graph. Directing a state transition in a finite state machine, possibly while pushing a return state. And triggering a collection of neurons in a neural network.
The operation of termination in a flowchart refers to at least one or more of the following. The completion of those operations, which may result in a subroutine return, traversal of a higher node in an inferential graph, popping of a previously stored state in a finite state machine, return to dormancy of the firing neurons of the neural network.
A computer as used herein will include, but is not limited to an instruction processor. The instruction processor includes at least one instruction processing element and at least one data processing element, each data processing element controlled by at least one instruction processing element.
In
In
In
In certain preferred embodiments the top layer is at least an OSI layer five and at most an OSI layer seven. In certain further preferred embodiments, the top layer is essentially the OSI layer seven.
When the top layer is the OSI layer seven,
Means, operation 1132 performs accessing a memory variable representing a member of the measured parameter collection.
Means, operation 1142 performs receiving an operating system message at least partially indicating at least one member of the measured parameter collection.
Means, operation 1152 performs receiving a serialized communication via a serial communication link indicating at least one member of the measured parameter collection.
Means, operation 1152 performs receiving a parallelized communication via a parallel bus at least partially indicating at least one member of the measured parameter collection.
The setting optimizer collection includes operations 1232, 1242, 1252 and 1262 of
Means, operation 1232 performs stimulating a neural network with the measured parameter collection based upon the goal, to at least partially create the optimum setting collection.
Means, operation 1242 performs providing an inferential engine the measured parameter collection based upon the goal, to at least partially infer the optimum setting collection.
Means, operation 1252 performs using a fuzzy logic rule base applied to the measured parameter collection directed by the goal, to at least partially infer the optimum setting collection.
Means, operation 1262 performs executing an optimization program, given the measured parameter collection with the goal, to at least partially create the optimum setting collection.
The optimizer implementation collection includes operations 1312, 1322, 1332, 1342, and 1352.
Means, operation 1312 performs the setting optimizer collection member, which includes operating a program system comprising at least one program step residing in a memory accessibly coupled to and controlling a computer to at least partially create the optimum setting collection.
Means, operation 1322 performs the setting optimizer collection member, which includes operating a finite state machine to at least partly create the optimum setting collection.
Means, operation 1332 performs the setting optimizer collection member, which includes using at least one Field Programmable Gate Array (FPGA) to create at least partially the optimum setting collection.
Means, operation 1342 performs the setting optimizer collection member, which includes means for using a neural network emulator to create at least partially the optimum setting collection.
Means, operation 1352 performs the setting optimizer collection member, which includes means for using an inferential engine to create at least partially the optimum setting collection.
In certain situations, the radio link includes at least two of the receiver chains and at least two of the transmit chains.
Means, operation 1452 performs for at least two of the receiver chains, and at least one of the transmitter chains, acquiring the measured parameter collection in the receiver chains and in the transmit chain, collectively involving the OSI layer one and the OSI layer two.
Means, operation 1462 performs for at least one of the receiver chains, and at least two of the transmitter chains, acquiring the measured parameter collection in the receiver chain and in the transmit chains, collectively involving the OSI layer one and the OSI layer two.
Means, operation 1472 performs for at least two of the receiver chains, and at least two of the transmitter chains, acquiring the measured parameter collection in the receiver chains and in the transmit chains, collectively involving the OSI layer one and the OSI layer two.
Consider when, for at least one of the OSI link layers from at least the OSI layer three to the top layer, the optimum setting collection includes at least one member used to configure the OSI link layer.
Means, operation 1482 performs configuring the OSI link layer based upon the optimum setting collection members used to configure the OSI link layer.
Means, operation 1512 communicates the optimum setting collection members to a means for implementing the OSI link layer.
Means, operation 1522 asserts the optimum setting collection members upon a means for implementing the OSI link layer.
Means, operation 1532 requests the optimum setting collection members from the means for implementing the OSI link layer.
Means, operation 1552 signals the means for implementing the OSI link layer of an available configuration parameter member.
Means, operation 1562 sends the optimum setting collection members as requested by the means for implementing the OSI link layer.
In
Note that at least one member of the communication protocol collection preferably supports a wireless physical transport at the OSI layer one.
Note that in many situations it is preferable that for each of the OSI link layers from the OSI layer three to the top layer, the optimum setting collection includes at least one member used to configure the OSI link layer.
In
In
In
In certain preferred embodiments the top layer is at least an OSI layer five and at most an OSI layer seven. In certain further preferred embodiments, the top layer is essentially the OSI layer seven.
When the top layer is the OSI layer seven, in
Operation 3332 provides a means for acquiring the measured parameter collection.
Operation 3342 provides a means for determining the optimum setting collection.
Operation 3352 provides a means for configuring at least the OSI layer three to the top layer.
When the radio link 3000 includes a top layer of essentially the OSI layer seven, operation 3362 provides a means for operating the OSI layer seven to, at least partially, create the goal.
The optimized radio link is a product of the process outlined in
In
In
In
In
Note that revenue 3508, is a product of the process of
Providing the means of
Operation 3612 provides an attachable device 200 and/or 600 of
Operation 3622 provides a program system 1000 to radio link 3000 of
The program steps of program system 1000 of
A computer instruction format 3710 includes a Single Instruction Single Datapath (SISD) format 3810, a Single Instruction Multiple Datapath (SIMD) format 3820, a Multiple Instruction Single Datapath (MISD) format 3830, a Multiple Instruction Multiple Datapath (MIMD) format 3840, and a Very Long Instruction Word (VLIW) format 3850.
Note that a Markup Language 3900 includes at least a Hyper Text Markup Language (HTML) 3902.
Operation 3652 performs offering a subscription to the customer 3502 for a service portfolio 3508 at the price 3506 to create the offer 3504 at the price 3506.
Consider the following example of the operation of an embodiment of the invention where the top layer is OSI layer seven. When the user of the Wireless Mobile device 100 of
Upon the selection of this RF Physical Layer link (Layer 1), messages are exchanged with intermediate nodes and the destination. The capabilities of the entire path and alternate paths are made available to the radio link optimizer 200. The invention's method 1042 selects the goal(s) 800 that provide the solution the user desires. These goals 800 may include, but are not limited to: quality of the video signal 814, monetary cost of the path 824, audio quality 826, minimization of local battery power 816, processing power 828, or end user capabilities. The optimization method 1000 also embodies an optimization based on any and all combinations of the options.
Should the user select the highest video quality and the RF physical Layer 1 allows a LAN connection, the result of the radio link optimizer method would be a sequence such as the following:
In this preferred embodiment, the radio link optimizer method and apparatus has thorough information needed to optimize all parameters at all protocol layers.
The preceding embodiments have been provided by way of example and are not meant to constrain the scope of the following claims.
van Rooyen, Pieter, Lotter, Michiel Petrus
Patent | Priority | Assignee | Title |
10869108, | Sep 29 2008 | PATENT ARMORY INC | Parallel signal processing system and method |
11322171, | Dec 17 2007 | PATENT ARMORY INC | Parallel signal processing system and method |
11387863, | Apr 05 2021 | Rockwell Collins, Inc. | Cognitively adaptable front-end with FPNA enabled integrated network executive |
7551552, | Oct 17 2003 | Microsoft Technology Licensing, LLC | Method for providing guaranteed distributed failure notification |
7570599, | Apr 21 2004 | AT&T Intellectual Property I, L P | Adaptively applying a target noise margin to a digital subscriber line (DSL) loop for DSL data rate establishment |
7609652, | Oct 15 2003 | NTT DoCoMo, Inc | Apparatus and method for controlling an operation of a plurality of communication layers |
7656814, | Jan 26 2004 | AT&T Intellectual Property I, L P | Method of selecting a profile of a digital subscriber line |
7656815, | Oct 15 2003 | NTT DoCoMo, Inc | Apparatus and method for controlling an operation of a plurality of communication layers in a layered communication scenario |
7953021, | Feb 19 2002 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Method and apparatus optimizing a radio link |
8139608, | Feb 19 2002 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Method and apparatus optimizing a radio link |
8159942, | Mar 31 2005 | SBC KNOWLEDGE VENTURES, L P | Method of selecting a profile of a broadband communication line |
8160640, | Jun 22 2007 | Broadcom Corporation | Multi-mode mobile communication device with motion sensor and methods for use therewith |
8381047, | Nov 30 2005 | Microsoft Technology Licensing, LLC | Predicting degradation of a communication channel below a threshold based on data transmission errors |
8396041, | Nov 08 2005 | Microsoft Technology Licensing, LLC | Adapting a communication network to varying conditions |
8559400, | Feb 19 2002 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Method and apparatus optimizing a radio link |
8711715, | Jan 26 2004 | AT&T Intellectual Property I, L.P. | Method and apparatus to select a profile of a digital communication line |
9031042, | Nov 08 2005 | Microsoft Technology Licensing, LLC | Adapting a communication network to varying conditions |
9106433, | Nov 30 2005 | Microsoft Technology Licensing, LLC | Predicting degradation of a communication channel below a threshold based on data transmission errors |
Patent | Priority | Assignee | Title |
6434129, | Dec 01 1999 | QUARTERHILL INC ; WI-LAN INC | Method and system for an air interface for providing voice, data, and multimedia services in a wireless local loop system |
6515972, | Dec 30 1998 | Apple Inc | Dynamic radio link adaptation |
6542481, | Jun 01 1998 | Intel Corporation | Dynamic bandwidth allocation for multiple access communication using session queues |
6542490, | Jan 29 1999 | Ericsson AB | Data link control proctocol for 3G wireless system |
6594246, | Jul 10 1998 | Intellectual Ventures I LLC | IP-flow identification in a wireless point to multi-point transmission system |
6785227, | May 11 2000 | Lucent Technologies Inc. | Method and apparatus for multi-layer resource management in wireless communications systems |
20020071480, | |||
20030012161, | |||
20030092464, | |||
20030152095, | |||
20040081248, | |||
20040153706, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 19 2003 | Broadcom Corporation | (assignment on the face of the patent) | / | |||
Jan 16 2004 | LOTTER, MICHIEL PETRUS | ZYRAY WIRELESS | CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR CONVEYING PARTY DATA PREVIOUSLY RECORDED ON REEL 019214 FRAME 0091 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNORS CONVEYING PARTIES ARE MICHIEL PETRUS LOTTER AND PIETER VAN ROOYEN | 019300 | /0340 | |
Jan 16 2004 | LOTTER, MICHIEL PETRUS | ZYRAY WIRELESS | CORRECTIVE ASSIGNMENT TO CORRECT THE TYPOGRAPHICAL ERROR MADE BY THE USPTO IN THE SPELLING OF PIETER VAN ROOYEN PREVIOUSLY RECORDED ON REEL 014938 FRAME 0300 ASSIGNOR S HEREBY CONFIRMS THE CORRECT SPELLING IS PIETER VAN ROOYEN | 019214 | /0091 | |
Jan 16 2004 | ROOYEN, PEITER VAN | ZYRAY WIRELESS | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014938 | /0300 | |
Jan 16 2004 | LOTTER, MICHIEL PETRUS | ZYRAY WIRELESS | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014938 | /0300 | |
Jan 16 2004 | VAN ROOYEN, PIETER | ZYRAY WIRELESS | CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR CONVEYING PARTY DATA PREVIOUSLY RECORDED ON REEL 019214 FRAME 0091 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNORS CONVEYING PARTIES ARE MICHIEL PETRUS LOTTER AND PIETER VAN ROOYEN | 019300 | /0340 | |
Jul 15 2004 | ZYRAY WIRELESS | Broadcom Corporation | MERGER SEE DOCUMENT FOR DETAILS | 019018 | /0543 | |
Feb 01 2016 | Broadcom Corporation | BANK OF AMERICA, N A , AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 037806 | /0001 | |
Jan 19 2017 | BANK OF AMERICA, N A , AS COLLATERAL AGENT | Broadcom Corporation | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS | 041712 | /0001 | |
Jan 20 2017 | Broadcom Corporation | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 041706 | /0001 |
Date | Maintenance Fee Events |
Sep 24 2010 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 24 2014 | REM: Maintenance Fee Reminder Mailed. |
May 15 2015 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
May 15 2010 | 4 years fee payment window open |
Nov 15 2010 | 6 months grace period start (w surcharge) |
May 15 2011 | patent expiry (for year 4) |
May 15 2013 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 15 2014 | 8 years fee payment window open |
Nov 15 2014 | 6 months grace period start (w surcharge) |
May 15 2015 | patent expiry (for year 8) |
May 15 2017 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 15 2018 | 12 years fee payment window open |
Nov 15 2018 | 6 months grace period start (w surcharge) |
May 15 2019 | patent expiry (for year 12) |
May 15 2021 | 2 years to revive unintentionally abandoned end. (for year 12) |