active packets are utilized by a mobile terminal in a wireless network to set-up a wireless call via a signaling process, and for mobility management via a mobility process as the mobile terminal moves from one cell to another in a subnet. active packets instantiate an agent in the fixed network to handle signaling between the mobile terminal and the fixed network, and then instruct the agent to negotiate setup of an open channel between the mobile terminal and the destination device. Moreover, active packets foster the handoff of the mobile terminal as the terminal moves from one cell to another in a subnet. Finally, the signaling process and mobility process are coordinated so that lost active packets are mitigated during roaming by the mobile terminal.
|
1. A method for combined signaling and mobility management to establish and maintain a call setup over a wireless mobile terminal in a subnet of a network, the subnet including a plurality of gatekeepers each serving a plurality of base stations, the terminal initially being in communication with a first base station of the first gatekeeper, the method comprising the steps of
transmitting an active packet from the mobile terminal to the first base station, said active packet including a data portion and an executable program portion, executing a signaling process in the first base station in response to the active packet, said step of executing a signaling process including parsing said active packet to determine the program portion thereof and executing said program portion, and executing a mobility process by the gatekeepers and the base stations, in cooperation with the signaling process, in response to the mobile terminal moving from the first base station to a second base station.
4. A method far combined signaling a mobility management to establish and maintain a call setup over a wireless mobile terminal in a subnet of a network, the subnet including a plurality of gatekeepers each serving a plurality of base stations, the terminal initially being in communication with a first base station of the first gatekeeper, the method comprising the steps of
transmitting an active packet from the mobile terminal to the first gatekeeper via the first base station, the active packet including a data portion and an executable program portion, executing a signaling process by the first gatekeeper in response to the active packet, said executing step including parsing the active packet to determine the program portion thereof and executing said program portion, handing-off the mobile terminal to a second base station from the first base station as the mobile terminal moves, transmitting a request from the mobile terminal for one of the gatekeepers to accept communication with the mobile terminal, if said one of the gatekeepers is the first gatekeeper, continuing with the signal process, and if said one of the gatekeepers is a gatekeeper different then the first gatekeeper, requesting a registration of the mobile terminal with the second gatekeeper.
5. A method for combined signaling and mobility management to establish and maintain a call setup over wireless mobile terminal in a subnet of a network, the subnet including a plurality of gatekeepers each serving a plurality of base stations, the terminal initially being in communication with a first base station of the first gatekeeper, the method comprising the steps of
transmitting an active packet from the mobile terminal to the first gatekeeper via the first base station, said active packet including a data portion and an executable program portion, initiating execution of a signaling process by the first gatekeeper in response to the active packet, said initiating step including parsing said active packet to determine the program portion thereof and executing said program portion, handing-off the mobile terminal to a second base station from the first base station as the mobile terminal moves, transmitting a request message from the mobile terminal for one of the gatekeepers to accept communication with the mobile terminal, receiving the request message from the mobile terminal by one of the gatekeepers, determining if the mobile terminal is already registered with said one of the gatekeepers, if the mobile terminal is registered, continuing with the signaling process, and if the mobile terminal is not registered, forwarding messages originating in the mobile terminal, from the said one of the gatekeepers to the first gatekeeper.
2. The method as recited in
3. The method of
6. The system as recited in
accepting the request message from the mobile terminal by said one of the gatekeepers, sending a confirmation request to said one of the gatekeepers, awaiting a registration request by said one of the gatekeepers as transmitted by the mobile terminal, and sending a registration confirmation to the mobile terminal from said one of the gatekeepers.
|
This application is a non-provisional application of provisional application Serial No. 60/121,552, filed Feb. 25, 1999. It is also related to Agrawal-Chen applications Ser. Nos. 09/512,514 (U.S Pat. No. 6,490,259, Dec. 3, 2002), 09/512,644, and 09/512,645, all filed Feb. 24, 2000.
1. Field of the Invention
This invention relates generally to packet telephony communications, and, more particularly, to methodologies and concomitant circuitry for applying active networking to existing call signaling, call setup, and mobility management.
2. Description of the Background
The Internet is expected to see continued growth in supporting personal and commercial services. Currently IP telephony provides voice service to end terminals that are attached to wired networks. With the proliferation of mobile and wireless services and as more users disconnect from their fixed access points and become mobile, there is an increasing need to adapt Voice-over-Internet Protocol (VoIP) to the wireless domain.
However, the wireless environment is dynamic in nature due to the mobility of the end terminals and the variability of the over-the-air channel. Moreover, the mobile wireless environment is much more dynamic than the traditional wireline environment. The uncertainties of the wireless and mobile environments call for an increased level of adaptability. For more robust real-time communications, a signaling protocol is vital in providing highly reliable and robust connectivity in such a communications environment. In addition to establishing and releasing a call, a signaling protocol must also monitor and maintain connectivity when the end-terminal is moving and/or the transmission capabilities are varying. Successful installation of VoIP across network elements with differing capabilities and over a dynamic wireless channel requires signaling protocols to have flexible and self-adaptive functionality.
Moreover, besides signaling, it is necessary to provide for the "mobility" of a wireless terminal as it moves from one serving cell to another serving cell during an established call. Finally, in order to provide complete service to the wireless terminal, it is necessary to further combine the operations fostered by signaling and mobility so as to ensure setup and connectivity of a wireless terminal as it moves from one serving cell to another during a call setup.
Active networks are a class of networks that can be leveraged to provide this adaptability. An active network allows intermediate nodes to perform computations specified by packets or modify in-transit packets. This technique allows programs to be executed or structures to be reconfigured in the network based on programs and/or data contained in the packets traversing the network. Thus, this technique injects a degree of intelligence and flexibility into current network elements that can be configured and programmed to suit a variety of needs. Moreover, this type of processing can be customized on a per-user or per-application basis.
A recent disclosure relating to active networks is the subject matter of U.S. Pat. No. 5,949,780 issued to Gopinath The subject matter of this patent relates to methodologies and concomitant circuitry for coalescing intelligence with communications in a switching node. The inventive aspects of '780 suggestions related to program execution in the switch based upon the following actions/events (an event triggers an action which, in turn, generates a desired response): the state of the program itself; the state of resources composing the switch; external control inputs serving the switch; other programs executing in the switch; data (packets) received over other ports of the switch; or combinations of these actions/events. In addition, the inventive aspects covered an implementation in conjunction with a switch wherein a new program may be downloaded to the switch, and then this new program may be executed, together with other stored programs if necessary, based upon data informing to a port as well as any or all the foregoing actions/events.
In accordance with the broad method aspect of '780, a communications service is implemented with a program stored in a processing unit having input and output ports to receive and transmit messages--each message is composed of, canonically, a control tag and payload information. For each port, data is retrieved and then parsed by the program to determine if the control tag and/or the payload information are to be modified. Based upon the parsing, the incoming message can be sent to one or more other ports, or further processed by the program or other stored programs to produce desired actions.
As alluded to above, mobility management is important in the wireless environment, and currently mobility in the Internet is supported by the Mobile IP protocol. Mobile IP identifies a mobile node (e.g., a mobile terminal) by its permanent home address, regardless of its current point of attachment in the Internet. While away from its home network, the mobile node acquires a "care-of address" that reflects its current point of attachment. By default, Mobile IP uses an agent in the home network to redirect (by encapsulation) packets destined for the home address to the care-of address. This redirection causes Mobile IP to be inefficient (triangular routing) and not robust (relies on a home agent and sometimes on a foreign agent). Mobility support in IPv6 has moved in the direction of end-to-end location updates using the facilities of IPv6 to send binding updates. In addition to sending its binding to its home agent, a mobile terminal can send the binding to the corresponding node communicating with it. When sending a packet, the corresponding node checks it's binding for the destination address. The packet is then sent directly to the care-of address without going through the home agent if the binding is found. This improves routing efficiency. However, it still requires communications via the home agent when the corresponding node does not know the current location of the mobile, or when both nodes can be mobile simultaneously, or if the mobile wants to hide its location.
The prior art is devoid of teachings or suggestions relating to: generating an active packet in a mobile terminal to provide information for instantiating an agent in the fixed network to handle signaling between the mobile terminal and the fixed network, and then instantiating the agent in the fixed network to negotiate setup of an open channel between the mobile terminal and the destination device. The instantiation of the agent mitigates use of bandwidth between the mobile terminal and the fixed network.
Moreover, the art is devoid of teachings or suggestions relating to generating an active packet to foster the handoff of a mobile terminal as the terminal moves from one cell to another in a subnet.
Finally, there are no teachings or suggestions in the art relating to ensuring completion of the signaling operation as a mobile terminal is handed off from one cell to another in a subnet.
Shortcomings and limitations of the prior art are obviated, in accordance with the present invention, by a methodology and concomitant circuitry wherein, generally, an active packet transmitted from a mobile terminal initiates execution of both a signaling process and a mobility process to cooperatively handle signaling and mobility management as the mobile terminal moves in a subnet.
Broadly, in accordance with one method aspect of the present invention, a method for combined signaling and mobility management to establish a call setup over a wireless mobile terminal in a subnet of a network, the subnet being served by a plurality of base stations, the terminal initially being in communication with a first base station, includes: (a) transmitting an active packet from the mobile terminal to the first base station; (b) executing a signaling process in the base stations of the subnet in response to the active packet; and (c) executing a mobility process in the base stations of the subnet, in cooperation with the signaling process, in response to the mobile terminal moving from the first base station to a second base station.
The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
To filly appreciate the import of the adaptive mobility system of the present invention, as well as to gain an appreciation for the underlying operational principles of the present invention, it is instructive to first present, in overview fashion, a high-level description of a conventional system for call setup signaling and control. This overview also serves to introduce terminology so as to facilitate the more detailed description of illustrative embodiments in accordance with the present invention. Following this overview, an elucidation of the illustrative embodiments is then presented.
One standard, referred to as the H.323 standard, has recently emerged for the signaling and control of VoIP; H.323 is widely deployed in existing corporate, government, and commercial networks. For example, NetMeeting, an H.323-compliant product, was released by Microsoft in 1996. However, although the focus of the illustrative embodiments of the present invention is on H.323, it is clear that the description of the illustrative embodiments provide a framework for other standards/protocols as well.
H.323 was originally developed for visual terminal conferencing over non-guaranteed Quality-of-Service (QoS) LANs and is an umbrella standard covering audio and video codecs, call signaling, connection control, data and conference control, media transport, and so forth. In H.323, the signaling functionality is migrated to end terminals that are intelligent end points instead of the "dumb end" points used in the Public Switched Telephone Network (PSTN). H.323 is also not tied to a single transport mechanism, and can run over Asynchronous Transfer Mode (ATM) networks, ISDN, and so forth.
H.323 uses H.225.0 as the connection establishment protocol and H.245 as the control protocol between H.323 clients to establish a call, negotiate terminal capability and open logical channels. In H.225.0, the RAS protocol is used for terminal-to-gatekeeper signaling. For example, a terminal uses RAS to discover a gatekeeper, register, and then keep the connection alive by periodic information exchange. If a gatekeeper is present, RAS is used for pre-call setup as well. A terminal must obtain permission from the gatekeeper to make/accept a call, and then obtains the called party's Q.931 address for call setup. Q.931 is then used for call setup and tear down. Finally, H.245 is used for capability exchange (audio/video codec), master/slave determination, and open/close of logical channels. To reiterate, in H.225.0: RAS is used for registration and pre-call setup with a gatekeeper; Q.931 is used for call setup and tear down; and H.245 is used for capability exchange.
In terms of actual calling parties, denoted the call originator and call receiver, after the message exchanges between the two GKs (steps 200-2 and 200-3), GK A responds to the call originator (caller), that is, terminal 201, with the address (location) of the desired destination (callee), that is, terminal 202. The caller then is able to directly send the SETUP request to the callee via step 200-5. After acknowledging the SETUP request by sending a CALL PROCEEDING message (step 200-6) to the caller, the callee then asks GK B for admission permission via step 200-7. Once the permission is granted by GK B (step 200-8), the callee responds to the caller via the CONNECT message (step 200-9).
In H.323, messages are transmitted in binary representation based on ASN.1 (Abstract Syntax Notation One) which is defined in ITU-T X.680. ASN. 1 is a data specification language. The binary encoding of data structures is covered in ITU-T X.691 (PER: Packed Encoding Rules) and ITU-T X.690 (BER: Basic Encoding Rules). After decoding and looking up the ASN.1, the receiver of a message knows what the message is and how to read each field of the packet. To illustrate ASN.1 for an exemplary message in the RAS protocol, the ARQ message is chosen. For expository purposes, Appendix A lists RAS message abbreviations. Also, detailed information about ARQ and ARQ in ASN.1 is shown in Appendix B and C, respectively. Also, for specificity, it is noted that steps 200-5, 200-6, and 200-9 are parts of the H.225.0 Q.931 protocol.
The previous nine steps are carried out via the H.225.0 protocol. The next eight steps (200-10 through 200-17) are carried out under the H.245 protocol, with the purpose of opening a channel between the terminals 201 and 202 so the two terminals may then directly communicate with each other by RTP/RTCP. To open a channel, the series of steps 200-10 through 200-17 carry out "hand-shake" messages between the terminals. In particular, step 200-10 results in a CAPABILITY EXCHANGE message from terminal 201 to terminal 202, such as, video/audio capability. Terminal 202 completes a return CAPABILITY EXCHANGE ACKNOWLEDGEMENT via step 200-11. Next, there is a MASTER-SLAVE DETERMINATION message carried out by step 200-12, and a return MASTER-SLAVE DETERMINATION ACKNOWLEDGE message is effected by step 200-13. Terminal 201 transmits an OPEN LOGICAL CHANNEL message with a RTCP address to terminal 202, via step 200-14, and terminal 202 returns an OPEN LOGICAL CHANNEL ACKNOWLEDGEMENT with both RTP and RTCP addresses via step 200-15 to terminal 201. Finally, terminal 202 transmits its OPEN LOGICAL CHANNEL message with a RTCP address, via step 200-16, to terminal 201, and terminal 201 returns an OPEN LOGICAL CHANNEL ACKNOWLEDGEMENT with both RTP and RTCP addresses via step 200-17 to terminal 202.
1. Signaling Aspect of the Present Invention, Including an Illustrative Embodiment
In this section, the signaling defined in H.323 is extended to wireless and/or mobile devices by employing an "active network" overlay on the underlying network. The signaling in H.323 includes H225.0 and H.245 as detailed above. In accordance with the present invention, however, the H.245 protocol is performed by an "agent" on behalf of the wireless/mobile terminals, thereby saving traffic traversed over the wireless links, by utilizing operational principles fostered by "active networks".
An active packet is an information packet, compatible with system 300 of
An active packet for carrying out the ARQ step 200-1 of
So as to further clarify this illustrative embodiment, it is necessary to distinguish the augmented gatekeepers (330-1 and 330-2) of
Steps 200-2 and 200-3 are essentially the same in
Steps 200-5 and 200-6 of
Steps 200-7 and 200-8 of
It is noted that all other packets, that is, all packets not exemplified in
By way of generalization, it is noted that steps 200-5, 200-6, 200-9, and 200-10 through 200-17 may go through a base station, that is, terminal 301 communicates directly with terminal 302 only when they are in the same cell of a mobile network.
Block Diagram for Terminals and Gatekeepers of the Conventional Signaling System
With reference to
Block Diagram for Terminals and Gatekeepers of the Illustrative Embodiment in Accordance with the Signaling Aspect of the Present Invention
As depicted in
Gatekeeper 330-1 in this embodiment receives the incoming active packet via over-the-air receiving device 621 and delivers the active packet to data and program separator 622. In separator 622, program portion 410 is obtained and delivered to program memory 625 for storage; program memory 625 is a region of gatekeeper memory 630. Memory 630 also has region 628 that contains the stored programs executable by agent 629. Agent 629 is shown as an instantiated process in processor 626. The program instructions contained in the active packet which are delivered to program memory 625 control which of the stored programs are to be executed by agent 629. Separator 622 also strips data portion 420 from the incoming active packet and delivers this data portion to data extractor 623. Data extractor 623 functions to further subdivide the data portion into data used by agent 629 running in processor 626 (e.g., `data for H.245` in 420-2 of
Flow Diagram of a Transmitting Mobile Terminal for Signaling
Flow diagram 700 of
Flow Diagram of Gatekeeper Responsive to Transmitting Mobile Terminal for Signaling
Flow diagram 800 of
Flow Diagram of a Mobile Terminal Associated with a Remote Gatekeeper
Flow diagram 900 of
Flow Diagram of a Gatekeeper Communicating with a Remote Gatekeeper
Flow diagram 1000 of
2. Mobility Aspect of the Present Invention, Including an Illustrative Embodiment
In this Section, the approach for mobility management in IP networks by active packets is presented; the approach is a general mobility management technique, which is not limited to any specific signaling or application.
As suggested by the discussion of the Background Section, Mobile IP can provide so-called "macro-mobility" over a wide area in which the mobile terminal moves from one subnet to another subnet. (Here, a subnet is used in the sense defined by an IP address, which has the form, for example, "w.x.y.z" (e.g., 129.3.2.14), wherein "w.x" is the network address (129.3), "y" (2) is the subnet address for the given network, and "z" (14) is the host address for the given network/subnet, such as a mobile terminal or a base station.
In a local area, however, Mobile IP is not fast enough for real-time applications when a mobile terminal moves frequently. The mobility aspect of the present invention relates to "micro-mobility" in a local area in which each mobile terminal maintains its IP address as it moves between serving areas or cells within the same subnet. The mobility of a mobile terminal across subnets (macro-mobility) is handled by Mobile IP.
From another viewpoint, using the ISO Open Systems Interconnection (OSI) layer model, wherein the "physical" layer is the bottom layer, the "data link" layer (called the "link" layer hereafter) is above the "physical" layer, and the "network" layer (also the "IP" layer hereafter) is above the `link" layer, then micro-mobility handles the "link" layer and macro-mobility handles the "IP" layer. Techniques exist in the art for micro-mobility, but typically they are not publicly available due to their proprietary nature.
To make the discussion more specific (but without loss of generality), as shown in
If the search is successful, MT 1102 has roamed to new BS 1150, and now communicates with BS 1150. Otherwise, MT 1102 continues to scan for another BS. Typically, MT 1102 accepts the new BS when the SNR to BS 1150 is a prescribed amount above the pre-determined threshold (e.g., 50%).
To explain the next phase of the operation, certain notation must be covered. A wireless network interface card (NIC) of a MT is assigned a unique address by the manufacturer of the particular NIC--this address is called the "MT MAC address" or, equivalently, the "MT MAC identifier" (MT MAC ID), where MAC is the acronym for Medium Access Control; the MAC Address is utilized at the "link" layer. Each MT MAC address usually has 48 bits which can be formatted as follows: "B1:B2:B3:B4:B5:B6", where B1, B2 . . . is each one byte. Also, since each byte can be treated as containing two 4-bit nibbles, the MT MAC address is such that each nibble can be expressed in hexadecimal. Thus, a typical MT MAC address might be: "18:00:20:E8:42:F6". Other devices of
Besides the MT MAC Address, a MT is also assigned a unique IP address which is utilized by the "IP" layer. Other devices of
The MT MAC address (MT link-layer address) and IP address (MT network layer address) of each device (MT, BS, BSC, R) are then used to fill-in tables (called Forwarding Tables) in, for example, BS 1155 and BSC 1145 as exemplified by Table 1 below for BS 1155, Table 2 below for BSC 1145, and Table 3 for BS 1150, presuming that MT 1102 initially homes on BS 1155:
TABLE 1 | ||
MT IP Address | Forwarding MAC Address | Time Stamp |
129.3.2.10 | 18:00:20:E8:42:F6 | 2000.01.03.16.21.32.18 |
. . . | . . . | . . . |
TABLE 2 | ||
MT IP Address | Forwarding MAC Address | Time Stamp |
129.3.2.10 | 20:10:05:E8:A1:B1 | 2000.01.03.16.21.32.18 |
. . . | . . . | . . . |
TABLE 3 | ||
MT IP Address | Forwarding MAC Address | Time Stamp |
129.3.2.10 | 35:17:18:19:A2:E4 | 2000.01.03.16.21.32.18 |
. . . | . . . | . . . |
As shown, there are three fields in the forwarding table: the first is the MT IP Addresses of MT's; the second is the Forwarding MAC Address where packets destined for the MT IP Address should be sent; and the third is the time stamp copied from an active packet (the purpose of which is discussed shortly). The Time Stamp has, for example, the format "year-month-day-hour-minute-second-millisecond".
The tables are used to translate MT IP Addresses into MAC addresses; thus, with reference to Table 1, any communication received by BS 1155 destined for MT 1102 is directly forwarded to MT 1102 because of the correlation of its IP and MAC addresses. On the other hand, any communication received by BSC 1145 destined for MT 1102 via its IP address is, as set forth in Table 2, first forwarded to BS 1155 (MAC address 20:10:05:E8:A1:B1). When the communication reaches BS 1155, the communication is forwarded directly to MT 1102, as above, with reference to the Table 1 entries. Table 3 illustrates that any communication received by BS 1150 is forwarded to BSC 1140 via its MAC address. By way of notation, the "arrows" in the various devices/components of
Continuing now with the discussion of roaming whereby MT 1102 homes on BS 1150 rather than BS 1155, after MT 1102 roams successfully to the BS 1150 (MT 1102 may still in the overlap area as exemplified by FIG. 11B), MT 1102 sends an active packet to BS 1150. The instructions carried by the active packet instruct BS 1150 to update its forwarding table stored in BS 1150; an exemplary forwarding table is Table 4 below (the updated counterpart to Table 3).
TABLE 4 | ||
MT IP Address | Forwarding MAC Address | Time Stamp |
129.3.2.10 | 18:00:20:E8:42:F6 | 2000.01.03.17.22.30.19 |
. . . | . . . | . . . |
The program portion of the active packet then instructs BS 1150 to replicate the active packet and forward the duplicated active packets to all adjacent BSs, BSCs and routers (so-called "first tier" devices) in the same subnet. In
The depiction of
The sequence of
Also note that all source hosts connecting to the fixed (shown as encompassed by dashed box 1105 in FIGS. 11A-D), and wireless networks know the new location of MT 1102. There is no need to reroute the path for each individual source node. The triangle routing of the conventional Mobile IP is eliminated and route optimization is done automatically. In addition, the new forwarding address is updated by the first arriving packet, which means the new path may be the one with least congestion or shortest path. The new route pointed to by the forwarding address is the fastest path in the current network condition.
Block Diagram for Mobile Terminal and Base Station of the Illustrative Embodiment in Accordance with the Signaling Aspect of the Present Invention
With reference to
The high level block diagram of device 1311 is composed of: data and program separator 1312; data memory 1313; processor 1314; program memory 1315; and stored programs memory 1316. Again with reference to
Flow Diagram of Processing by a Mobile Terminal
Flow diagram 1400 of
Flow Diagram of Processing by a First-tier Device
Flow diagram 1500 of
If the time stamp is to be updated, then the processing path commencing with processing block 1545 is entered. The time stamp is updated in the Forwarding Table (FT), along with the Forwarding Address (i.e., MAC address), in processing block 1550. Next, the AP is duplicated and sent to all adjacent nodes (second-tier devices) that are directly connected to the first-tier device (e.g., BSC 1140 of FIGS. 11A-D); here the term "node" is a generic term referring devices such as a base station (BS), a base station controller (BSC), or a router (R). Since a first-tier device stores network connectivity information, the first-tier device awaits an acknowledgement (ACK) from each second-tier device, as evidenced by decision block 1560. If not all ACKs are received, a re-transmission is sent to the second-tier devices not responding via block 1565. Once all ACKs are received, processing by the first-tier device stops via block 1570.
Flow Diagram of Processing by a Second-tier Device
Flow diagram 1600 of
If the time stamp is to be updated, then the processing path commencing with processing block 1630 is entered. The time stamp is updated in the Forwarding Table (Ft), along with the Forwarding Address (i.e., MAC address), in processing block 1635. Next, the AP is duplicated and sent to all adjacent nodes (other second-tier devices) that are directly connected to the second-tier device (e.g., router 1130 of FIGS. 11A-D). Since a second-tier device stores network connectivity information, the second-tier device awaits an acknowledgement (ACK) from each of the other second-tier devices, as evidenced by decision block 1645. If not all ACKs are received, a re-transmission is sent to the other second-tier devices not responding via block 1650. Once all ACKs are received, processing by the second-tier device stops via block 1655.
3. Combined Signaling and Mobility Aspects of the Present Invention, Including an Illustrative Embodiment
Since H.323 is running on top of the transport layer (UDP or TCP), and as alluded to above, the issue of mobility is typically addressed by lower layer protocols. For example, Mobile IP in the network layer can hide the change of IP address and route IP packets to the new location of mobile stations. Similarly, other protocols in transport layer can take care of the mobility issues so the signaling protocol does not need to handle the moving of stations. The two key points are that (1) the mobility protocol should react fast enough to reflect the new location of mobile terminals for real-time services, (2) if the moving of mobile terminal (MT) involves a new gatekeeper (GK), the MT needs to register with the new GK, and the new GK needs to channel or "tunnel" messages from the MT to old GK. With respect to point (1), there are known protocols to deal with fast intra-domain handoff, or handoff within a subnet, for example, the technique described in Section 2. The focus of the discussion in accordance with the present invention treats point (2), in which the new GK needs to interact with old GK.
To reiterate by way of emphasis, there is a clear dichotomy between the operation of the signaling aspect and the operation of the mobility aspect of the present invention. Signaling is effected at the H.323 level (or in terms of the ISO OSI layer model, at a layer above the "transport" layer). On the other hand, mobility is handled at the "network" layer or the "link" layer, and this handling of mobility is generally transparent to the signaling operation. However, for the case in which a mobile terminal is moving at the same time signaling is occurring, it is necessary to insure consistency in operation between the layer handling signaling and the layer(s) handling mobility.
To this end, consider flow diagram 1700 of
With reference to flow diagram 1700, upon "startup" depicted by block 1705, the MT first determines if mobility "handoff" is complete via decision block 1710, that is, the MT determines if it has completed its migration from an old BS to a new BS. If not, the MT awaits completion of handoff. If migration is completed, then the MT sends a GK request (GRQ) associated with the BS upon which the MT now homes, as evidence by processing block 1715--this could be either the old GK or a new GK whereby the MT sends a GRQ to the GK associated with the new BS; in this GRQ, the MT indicates the identifier of the old GK in the nonStandardData field of the GRQ (Appendix D lists the GRQ format). The GK issues either a GK confirm or a GK reject to the MT, which the MT detects via decision block 1720. If the GK accepts the request, then it must be determined if this is the old GK or if a new GK is involved in the process, as per decision block 1725; this is accomplished via a GK identifier passed as part of the "GK confirm" data. If the Mr homes on the old or "same" GK, then signaling may continue uninterrupted, as depicted by processing block 1730. On the other hand, if the MT now homes on a new GK, then processing block 1735 is invoked to have the MT send a registration request (RRQ) to register with the new GK.
To complete the description of combined signaling and mobility, reference is now made to flow diagram 1800 of
However, if the GK of new BS is not same as the GK of old BS, then decision block 1820 is entered. This block is necessary for completeness, from the point of view of a GK, to handle a MT that is newly turned-on--if a new MT is energized, then the registration process for the new MT must be completed via processing block 1825. For the MT that is on and migrating, as is the presumed case for the on-going description, the new GK determines if it will accept the MT associated with the new BS, as per processing block of 1835 (e.g., for network loading purposes, the GK may decide to reject the MT). If rejected, a GK Reject (GRJ) must be sent to the MT (processing block 1836) and then the old GK must be informed, via processing block 1840, to stop the "agent" that is carrying out the signaling process. If the MT is accepted, then the following sequence of processing takes place: processing block 1837 sends a GK confirm; processing block 1838 awaits a registration request (RRQ) from the MT; processing block 1839 sends a registration confirmation to the MT; and the MT continues the signaling with new GK and the new GK forwards the signaling message to old GK, as depicted by block 1845. The old GK continues its signaling with the instantiated agent. The signaling messages sent by the old GK are routed to the new location of the MT because of the lower layer handling of mobility. Implicit in the foregoing discussion is the case that if the new BS homes on the old GK, the signaling messages sent by the MT will be routed to the old GK--also because the lower layer protocol(s) takes care of the mobility issue.
Although various embodiments which incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings.
APPENDIX A | ||
RAS Message Abbreviations | ||
ACF | Admissions Confirm | |
ARJ | Admissions Reject | |
ARQ | Admissions Request | |
BCF | Bandwidth Confirm | |
BRJ | Bandwidth Reject | |
BRQ | Bandwidth Request | |
DCF | Disengage Confirm | |
DRJ | Disengage Reject | |
DRQ | Disengage Request | |
GCF | Gatekeeper Confirm | |
GRJ | Gatekeeper Reject | |
GRQ | Gatekeeper Request | |
IACK | Information request Acknowledgement | |
INAK | Information request Negative Acknowledgement | |
IRQ | Information Request | |
IRR | Information Request Response | |
LCF | Location Confirm | |
LRJ | Location Reject | |
LRQ | Location Request | |
RAC | Resource Availability Confirmation | |
RAI | Resource Availability Indication | |
RCF | Registration Confirm | |
RIP | Request In Progress | |
RRJ | Registration Reject | |
RRQ | Registration Request | |
UCF | Unregistration Confirm | |
URJ | Unregistration Reject | |
URQ | Unregistration Request | |
APPENDIX B |
Admission Request (ARQ) |
The ARQ message includes the following: |
requestSeqNum - This is a monotonically increasing number unique to |
the sender. It shall be returned by the receiver in any messages |
associated with this specific message. |
callType - Using this value, gatekeeper can attempt to determine |
"real" bandwidth usage. The default value is pointToPoint |
for all calls. It should be recognized that the call type may |
change dynamically during the call and that the final call type may |
not be known when the ARQ is sent. |
callModel - If direct, the endpoint is requesting the direct terminal to |
terminal call model. If gatekeeperRouted, the endpoint is requesting |
the gatekeeper mediated model. The gatekeeper is not required to |
comply with this request. |
endpointIdentifier - This is an endpoint identifier that was assigned to the |
terminal by RCF. |
destinationInfo - Sequence of alias addresses for the destination, |
such as E.164 addresses or H323_IDs. When sending the ARQ to |
answer a call, destinationInfo indicates the destination of the call |
(the answering endpoint). |
destCallSignalAddress - Transport address used at the destination |
for call signalling. |
destExraCallInfo - Contains external addresses for multiple calls. |
srcInfo - Sequence of alias addresses for the source endpoint, |
such as E.164 addresses or H323_IDs. When sending the |
ARQ to answer a call, srcInfo indicates the originator of the call. |
srcCallSignalAddress - Transport address used at the source for |
call signalling. |
bandWidth - The number of 100 bits requested for the bidirectional call. |
For example, a 128 kbit/s call would be signalled as a request for |
256 kbit/s. The value refers only to the audio and video bit rate |
excluding headers and overhead. |
callReferenceValue - The CRV from Q.931 for this call; only local |
validity. This is used by a gatekeeper to associate the ARQ with |
a particular call. |
nonStandardData - Carries information not defined in this |
Recommendation (for example, proprietary data). |
callServices - Provides information on support of optional |
Q-series protocols to gatekeeper and called terminal. |
conferenceID - Unique conference identifier. |
activeMC - If TRUE, the calling party has an active MC; otherwise |
FALSE. |
answerCall - Used to indicate to a gatekeeper that a call is incoming. |
canMapAlias - If set to TRUE indicates that if the resulting ACF |
contains destinationInfo, destExtraCallInfo and/or remoteExtension |
fields, the endpoint can copy this information to the destinationAddress, |
destExtraCallInfo and remoteExtensionAddress fields of the SETUP |
message respectively. If the GK would replace addressing information |
from the ARQ and canMapAlias is FALSE, then the gatekeeper should |
reject the ARQ. |
callIdentifier - A globally unique call identifier set by the originating |
endpoint which can be used to associate RAS signalling with the |
modified Q.931 signalling used in this Recommendation. |
srcAlternatives - A sequence of prioritized source endpoint alternatives |
for srcInfo, srcCallSignalAddress, or rasAddress. |
destAlternatives - A sequence of prioritized destination endpoint |
alternatives for destinationInfo or destCallSignalAddress. |
gatekeeperIdentifier - A gatekeeperIdentifier which the client |
received in the alternateGatekeeper list in RCF from the gatekeeper |
when it registered or in a previous ARJ message. Used as a backup |
if the original gatekeeper did not respond or rejected the request. |
tokens - This is some data which may be required to allow the |
operation. The data shall be inserted into the message if available. |
cryptoTokens - Encrypted tokens. |
integrityCheckValue - Provides improved message integrity/message |
authentication of the RAS messages. The cryptographically based |
integrity check value is computed by the sender applying a negotiated |
integrity algorithm and the secret key upon the entire message. |
Prior to integrityCheckValue computation, this field shall be |
ignored and shall be empty. After computation, the sender puts the |
computed integrity check value in the integrityCheckValue field |
and transmits the message. |
transportQOS - An endpoint may use this to indicate its capability |
to reserve transport resources. |
willSupplyUUIEs - If set to TRUE, this indicates that the endpoint |
will supply Q.931 message information in IRR messages if requested |
by the gatekeeper. |
The TransportQOS structure includes the following: |
endpointControlled - The endpoint will apply its own reservation |
mechanism. |
gatekeeperControlled - The gatekeeper will perform resource |
reservation on behalf of the endpoint. |
noControl - No resource reservation is needed. |
APPENDIX C | ||
Admission Request (ARQ) In ASN.1 | ||
AdmissionRequest ::= SEQUENCE -- (ARQ) | ||
{ | ||
requestSeqNum | RequestSeqNum, | |
callType | CallType, | |
callModel | CallModel OPTIONAL, | |
endpointIdentifier | EndpointIdentifier, | |
destinationInfo | SEQUENCE OF AliasAddress OPTIONAL, | |
destCallSignal Address | TransportAddress OPTIONAL, | |
destExtraCallInfo | SEQUENCE OF AliasAddress | |
OPTIONAL, | ||
srcInfo | SEQUENCE OF AliasAddress, | |
srcCallSignalAddress | TransportAddress OPTIONAL, | |
bandWidth | BandWidth, | |
callReferenceValue | CallReferenceValue, | |
nonStandardData | NonStandardParameter OPTIONAL, | |
callServices | QseriesOptions OPTIONAL, | |
conferenceID | ConferenceIdentifier, | |
activeMC | BOOLEAN, | |
answerCall | BOOLEAN, -- answering a call | |
. . . , | ||
canMapAlias | BOOLEAN, -- can handle alias address | |
callIdentifier | CallIdentifier, | |
srcAlternatives | SEQUENCE OF Endpoint OPTIONAL, | |
destAlternatives | SEQUENCE OF Endpoint OPTIONAL, | |
gatekeeperIdentifier | GatekeeperIdentifier OPTIONAL, | |
tokens | SEQUENCE OF ClearToken | |
OPTIONAL, | ||
cryptoTokens | SEQUENCE OF CryptoH323Token | |
OPTIONAL, | ||
integrityCheckValue | ICV OPTIONAL, | |
transportQOS | TransportQOS OPTIONAL, | |
willSupplyUUIEs | BOOLEAN | |
} | ||
APPENDIX D |
GatekeeperRequest (GRQ) |
Note that one GRQ is sent per logical endpoint; thus an MCU or a |
Gateway might send many. |
The GRQ message includes the following: |
requestSeqNum - This is a monotonically increasing number unique to |
the sender. It shall be returned by the receiver in any messages associated |
with this specific message. |
protocolIdentifier- Identifies the H.225.0 vintage of the sending |
endpoint. |
nonStandardData - Carries information not defined in this |
Recommendation (for example, proprietary data). |
rasAddress - This is the transport address that this endpoint uses for |
registration and status messages. |
endpointType - This specifies the type(s) of the endpoint that is |
registering (the MC bit shall not be set by itself). |
gatekeeperIdentifier - String to identify the gatekeeper from which the |
terminal would like to receive permission to register. A missing or |
null string gatekeeperIdentifier indicates that the terminal is interested |
in any available gatekeeper. |
callServices - Provides information on support of optional Q-series |
protocols to gatekeeper and called terminal. |
endpointAlias - A list of alias addresses, by which other terminals may |
identify this terminal. |
alternateEndpoints - A sequence of prioritized endpoint alternatives for |
rasAddress, endpointType, or endpointAlias. |
tokens - This is some data which may be required to allow the |
operation. The data shall be inserted into the message if available. |
cryptoTokens - Encrypted tokens. |
authenticationCapability - This indicates the authentication mechanisms |
supported by the endpoint. |
algorithmOIDS - |
integrity - Indicates to the recipient which integrity mechanism is to be |
applied on the RAS messages. |
integrityCheckValue - Provides improved message integrity/message |
authentication of the RAS messages. The cryptographically based |
integrity check value is computed by the sender applying a negotiated |
integrity algorithm and the secret key upon the entire message. |
Prior to integrityCheckValue computation, this field shall be |
ignored and shall be empty. After computation, the sender puts the |
computed integrity check value in the integrityCheckValue field and |
transmits the message. |
Agrawal, Prathima, Chen, Jyh-Cheng
Patent | Priority | Assignee | Title |
10135647, | Dec 05 2006 | Rambus Inc. | Methods and circuits for asymmetric distribution of channel equalization between devices |
10397341, | May 24 2006 | AT&T Intellectual Property I, L.P. | Method and apparatus for migrating active communication session between terminals |
10440156, | Mar 14 2011 | DRNC HOLDINGS, INC | Network connection hand-off and hand-back |
10686632, | Dec 05 2006 | Rambus Inc. | Methods and circuits for asymmetric distribution of channel equalization between devices |
11115247, | Dec 05 2006 | Rambus Inc. | Methods and circuits for asymmetric distribution of channel equalization between devices |
11539556, | Dec 05 2006 | Rambus Inc. | Methods and circuits for asymmetric distribution of channel equalization between devices |
6920487, | Dec 22 1999 | StarHome GmbH | System and methods for global access to services for mobile telephone subscribers |
6944136, | Feb 28 2003 | On-Demand Technologies, Inc. | Two-way audio/video conferencing system |
6947432, | Mar 15 2000 | RAKUTEN GROUP, INC | H.323 back-end services for intra-zone and inter-zone mobility management |
6947725, | Mar 04 2002 | Microsoft Technology Licensing, LLC | Mobile authentication system with reduced authentication delay |
6967941, | May 02 2000 | RAKUTEN GROUP, INC | System and method for inter-domain mobility management |
7031278, | Mar 30 2001 | FOUR BATONS WIRELESS, LLC | Network-layer and link-layer use of shadow addresses in soft handoff within subnets |
7035236, | Mar 30 2001 | FOUR BATONS WIRELESS, LLC | Network-layer and link-layer use of shadow addresses with IP-based base stations |
7106710, | Dec 28 2000 | Cisco Technology, Inc. | Separation of packet registration from mobile devices |
7116654, | Aug 16 2001 | Samsung Electronics Co., Ltd. | Mobile internet protocol system and route optimization method therefor |
7197567, | Feb 28 2002 | Cisco Technology, Inc. | Devices, softwares and methods for enabling SIP devices to operate in H.323 networks and H.323 devices to operate in sip networks |
7272381, | Mar 04 2002 | Microsoft Technology Licensing, LLC | Mobile authentication system with reduced authentication delay |
7280508, | Dec 28 2000 | Cisco Technology, Inc. | Separation of packet registration from mobile devices |
7406069, | May 13 2004 | TCM Mobile LLC | Wireless packet communications system and method |
7450562, | Sep 05 2001 | Samsung Electronics Co., Ltd. | Method for transmitting short message using internet phones and system therefor |
7545775, | Dec 29 2001 | SAMSUNG ELECTRONICS CO , LTD | Method for performing a handoff in an ALL-IP network |
7843920, | Jan 26 2001 | NEC Corporation | Method and system for controlling communication network and router used in the network |
7864736, | Sep 24 2007 | TCM Mobile LLC | Packet communication roaming method and system |
7965694, | Mar 09 2005 | TCM Mobile LLC | Wireless packet communications system and method |
8037189, | Feb 28 2002 | Cisco Technology, Inc. | Devices, softwares and methods for enabling SIP devices to operate in H.323 devices to operate in SIP networks |
9077575, | Dec 05 2006 | Rambus Inc. | Methods and circuits for asymmetric distribution of channel equalization between devices |
9113176, | Aug 29 2007 | The Regents of the University of California | Network and device aware video scaling system, method, software, and device |
9425997, | Dec 05 2006 | Rambus Inc. | Methods and circuits for asymmetric distribution of channel equalization between devices |
9654601, | Mar 14 2011 | DRNC HOLDINGS, INC | Network connection hand-off and hand-back |
9900189, | Dec 05 2006 | Rambus Inc. | Methods and circuits for asymmetric distribution of channel equalization between devices |
RE42920, | May 02 2000 | RAKUTEN GROUP, INC | System and method for inter-domain mobility management |
Patent | Priority | Assignee | Title |
5446736, | Oct 07 1993 | SAMSUNG ELECTRONICS CO , LTD | Method and apparatus for connecting a node to a wireless network using a standard protocol |
5691985, | Apr 19 1995 | THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT | System and method for increasing throughput of inter-network gateways using a hardware assist engine |
5875183, | Jan 10 1996 | INPHI CORPORATION | Mobile communication system |
5930714, | Oct 24 1996 | Nortel Networks Limited | CDMA inter-mobile switching center soft hand-off |
5987011, | Aug 30 1996 | Chai-Keong, Toh; King's College | Routing method for Ad-Hoc mobile networks |
6014569, | Mar 05 1997 | AT&T Corp. | Mobile interactive radio |
6041358, | Nov 12 1996 | Industrial Technology Research Inst. | Method for maintaining virtual local area networks with mobile terminals in an ATM network |
6084870, | Jul 22 1996 | Omnitracs, LLC | Method and apparatus for the remote monitoring and configuration of electronic control systems |
6122665, | Aug 26 1998 | STS Software System Ltd. | Communication management system for computer network-based telephones |
6161008, | Nov 23 1998 | RPX CLEARINGHOUSE LLC | Personal mobility and communication termination for users operating in a plurality of heterogeneous networks |
6185288, | Dec 18 1997 | RPX CLEARINGHOUSE LLC | Multimedia call signalling system and method |
6195705, | Jun 30 1998 | Cisco Technology, Inc. | Mobile IP mobility agent standby protocol |
6298062, | Oct 23 1998 | VERIZON COMMUNICATIONS INC | System providing integrated services over a computer network |
6314284, | Dec 30 1998 | Unwired Planet, LLC | System and method for providing service transparency for mobile terminating calls within an H.323 system |
6337858, | Oct 10 1997 | Genband US LLC; SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT | Method and apparatus for originating voice calls from a data network |
6393482, | Oct 14 1997 | Lucent Technologies, INC | Inter-working function selection system in a network |
6421339, | Jun 12 1998 | RPX CLEARINGHOUSE LLC | Methods and systems for call forwarding |
6421714, | Oct 14 1997 | Lucent Technologies, INC | Efficient mobility management scheme for a wireless internet access system |
6434134, | Dec 11 1998 | Lucent Technologies Inc | Dynamic address assignment for wireless devices accessing packet-based wired networks |
6434168, | Jun 07 1996 | Nokia Siemens Networks Oy | Data compression on a data connection |
6473411, | May 12 1997 | Kabushiki Kaisha Toshiba | Router device, datagram transfer method and communication system realizing handoff control for mobile terminals |
6490259, | Feb 24 2000 | UNWIRED BROADBAND, INC | Active link layer and intra-domain mobility for IP networks |
6490275, | Oct 13 1998 | RPX Corporation | Method and apparatus for improving call setup efficiency in multimedia communications systems |
6496704, | Jan 07 1997 | Verizon Patent and Licensing Inc | Systems and methods for internetworking data networks having mobility management functions |
6526033, | Sep 17 1999 | RPX Corporation | Delivering calls to GSM subscribers roaming to CDMA networks via IP tunnels |
6628943, | Feb 15 1999 | UNWIRED BROADBAND, INC | Mobility management utilizing active address propagation |
6665293, | Nov 10 1999 | RIBBON COMMUNICATIONS OPERATING COMPANY, INC | Application for a voice over IP (VoIP) telephony gateway and methods for use therein |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 18 2000 | CHEN, JYH-CHENG | Telcordia Technologies, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010936 | /0680 | |
Feb 18 2000 | AGRAWAL, PRATHIMA | Telcordia Technologies, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010936 | /0680 | |
Feb 24 2000 | Telcordia Technologies, Inc. | (assignment on the face of the patent) | / | |||
Mar 15 2005 | Telcordia Technologies, Inc | JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT | SECURITY AGREEMENT | 015886 | /0001 | |
Jun 29 2007 | JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENT | Telcordia Technologies, Inc | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS | 019520 | /0174 | |
Jun 29 2007 | Telcordia Technologies, Inc | WILMINGTON TRUST COMPANY, AS COLLATERAL AGENT | SECURITY AGREEMENT | 019562 | /0309 | |
Feb 20 2009 | Wilmington Trust Company | Telcordia Technologies, Inc | RELEASE OF SECURITY INTEREST | 022408 | /0410 | |
Jun 16 2009 | Telcordia Technologies, Inc | Telcordia Licensing Company LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 022878 | /0821 | |
Apr 30 2010 | WILMINGTON TRUST COMPANY, AS COLLATERAL AGENT | Telcordia Technologies, Inc | RELEASE | 024515 | /0622 | |
Jan 25 2011 | Telcordia Licensing Company LLC | TTI Inventions C LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 026036 | /0818 | |
Aug 26 2015 | TTI Inventions C LLC | NYTELL SOFTWARE LLC | MERGER SEE DOCUMENT FOR DETAILS | 036703 | /0191 | |
Oct 30 2019 | NYTELL SOFTWARE LLC | INTELLECTUAL VENTURES ASSETS 130 LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 050886 | /0640 | |
Nov 15 2019 | INTELLECTUAL VENTURES ASSETS 130 LLC | COMMWORKS SOLUTIONS, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 051463 | /0026 | |
Sep 18 2020 | COMMWORKS SOLUTIONS, LLC | UNWIRED BROADBAND, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 054443 FRAME: 0958 ASSIGNOR S HEREBY CONFIRMS THE LICENSE | 056981 | /0631 | |
Sep 18 2020 | COMMWORKS SOLUTIONS, LLC | UNWIRED BROADBAND, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 054443 FRAME: 0958 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNMENT | 056981 | /0631 | |
Sep 18 2020 | COMMWORKS SOLUTIONS, LLC | UNWIRED BROADBAND, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 056981 FRAME: 0631 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNMENT | 059907 | /0563 | |
Sep 18 2020 | COMMWORKS SOLUTIONS, LLC | UNWIRED SOLUTIONS, INC | LICENSE SEE DOCUMENT FOR DETAILS | 054443 | /0958 |
Date | Maintenance Fee Events |
Mar 05 2008 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Oct 30 2009 | ASPN: Payor Number Assigned. |
Oct 30 2009 | RMPN: Payer Number De-assigned. |
Sep 23 2011 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Feb 23 2016 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Sep 07 2007 | 4 years fee payment window open |
Mar 07 2008 | 6 months grace period start (w surcharge) |
Sep 07 2008 | patent expiry (for year 4) |
Sep 07 2010 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 07 2011 | 8 years fee payment window open |
Mar 07 2012 | 6 months grace period start (w surcharge) |
Sep 07 2012 | patent expiry (for year 8) |
Sep 07 2014 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 07 2015 | 12 years fee payment window open |
Mar 07 2016 | 6 months grace period start (w surcharge) |
Sep 07 2016 | patent expiry (for year 12) |
Sep 07 2018 | 2 years to revive unintentionally abandoned end. (for year 12) |