Patent Publication Number: US-7583634-B2

Title: Systems and methods for packet based handoff in wireless communication systems

Description:
CROSS REFERENCE 
   This application claims priority from Provisional Application No. 60/576,194, filed Jun. 1, 2004, entitled “Radio Network Controller Hand Off” and is assigned to the assignee of the present application, which is incorporated by reference in its entirety. 

   BACKGROUND 
   1. Field 
   The present disclosure relates to communications systems, and amongst other things, to systems and techniques for packet routing in wireless communication systems. 
   2. Background 
   Traffic on the Internet is growing exponentially due to an increasing number of subscribers and the introduction of new applications. Wide area wireless networks are also experiencing rapid subscriber growth. Currently, there are many efforts underway to provide data services on wireless access networks. 
   To facilitate data services in mobile wireless telecommunication systems, it is desirable to allow mobile wireless nodes to change their link-layer point of network attachment without reassigning a new network address. According to current data network telecommunication standards for mobile equipment in general (e.g., the “Mobile IP” standards promulgated by the Internet Engineering Task Force (IETF) or the General Packet Radio Service (GPRS) standards proposed by the European Telecommunication Standards Institute (ETSI)), one way to provide the desired network address transparency is to employ “mobility agents.” These are network routing nodes that route communication content on behalf of mobile nodes as they move around the network. For example, according to the IETF Mobile IP standards, a mobile node&#39;s mobility agents may consist of a “home agent” routing node and may also include a “foreign agent” routing node. The home agent is a routing node in the mobile node&#39;s sub-network that maintains a network interface on the link indicated by the mobile node&#39;s “home address,” which is a network address intended to remain assigned to the mobile node for an extended time period. When the mobile node is away from its home sub-network, the home agent intercepts communication content bound for the mobile node&#39;s home address and tunnels it for delivery to a “care-of” address assigned to the mobile node when the mobile node registers on a foreign sub-network. The care-of address may be the address of a foreign agent routing node in the foreign sub-network. 
   Correspondent nodes wishing to communicate with a foreign-registered mobile node are able to address their communication content to the mobile node&#39;s home address. Transparently, the communication content is intercepted by the home agent and tunneled to the mobile node&#39;s care-of address and delivered to the mobile node on the foreign sub-network. Normal routing may be used for sending return communication content from the mobile node to the correspondent node. 
   The foregoing routing mechanism can be used for mobile wireless nodes connected to a foreign sub-network via an air interface. However, a problem may arise if the mobile wireless node is being actively transported while communicating over the data network and a call handoff is required from one radio base station to another. In that case, the old base station may be linked to one care-of address, while the new base station is linked to another care-of address. Call handoff then requires that the communication tunneling endpoint be transferred from the old care-of address to the new care-of address. 
   Further, in some cellular telephony architectures a care-of address end point located in the core network is utilized as the addressed communication, e.g. target Internet Protocol Address, for data communication with a wireless communication apparatus or terminal. In some instances, the end point may be a packet data service node (PDSN), a base station controller (BSC) or the like. A handoff between PDSN end points may be required to maintain a minimum level of communications with the mobile wireless node, for instance due to conditions in the core network such as congestion or latency to the mobile wireless node. PDSN handoff then requires that the communication tunneling endpoint be transferred from the care-of address of the old PDSN to the care-of address of the new PDSN. 
   Transferring the tunneling endpoint of the care-of-address may create gaps that interrupt the timely delivery of call content, or result in out-of-order delivery of content, both of which can degrade communication quality, particularly for voice telephony. Such gaps arise from the inability of the data network to coordinate well with the air interface so as to determine the exact time of handoff. Reorderings can arise when a new tunnel endpoint is significantly closer to the home agent than the old tunnel address. Delay can occur between the point of handoff and the point at which the home agent begins routing communication content to the new care-of address. 
   Accordingly, there is a need in a data network telecommunication system serving mobile wireless nodes for improved call handoff without loss of communication content. There is a need for systems and methods that route communication content during handoff so that a wireless device does not experience noticeable communication content loss other than that caused by the air interface, if any. 
   SUMMARY 
   In an embodiment, a method of transmitting frames to an access terminal comprises identifying a first plurality of frames with a first route identifier identifying a second plurality of frames with a second route identifier, and transmitting the packets over a wireless link according to the route identifier. 
   In further embodiments, a frame for transmission in a wireless network, includes a portion that identifies a transmission route of the data packet. 
   In an additional embodiment, a wireless communication device comprises a memory that stores a plurality of frames received at the wireless communication device over a wireless link each including one of a plurality of route identifiers and a processor causing some frames having a same route identifier to be processed together while not processing frames having different route identifiers together with the frames having the same route identifier. 
   In another embodiment, a device comprises an interface that allows receipt and transmission of frames and a processor causing one of a plurality of route identifiers to be inserted into frames received at the interface and that causes transmission of the frames to one access function of a plurality of access functions, for transmission to access terminals, based upon a route identifier inserted into each frame. 
   In yet another embodiment, a wireless communication device comprises at least one antenna and a memory that stores a plurality of frames received at the at least one antenna, the plurality of frames and at least two route identifiers. The wireless communication device further comprises a processor causing a first group of the plurality of frames to be identified with a first route identifier of the at least two route identifiers and to be transmitted from the antenna to a first wireless communication apparatus and a second group of the plurality of frames to be identified with a second route identifier of the at least two route identifiers and to be transmitted from the antenna to a second wireless communication apparatus. 
   It is understood that other aspects of the present disclosure will become readily apparent to those skilled in the art from the following detailed description, wherein is shown and described only exemplary embodiments, simply by way of illustration. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various respects, all without departing from the scope of the disclosure. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIGS. 1A-1C  illustrate a system utilizing packet based handoff between access functions according to an embodiment; 
       FIGS. 2A-2E  illustrate a system utilizing packet based handoff between edge functions according to an embodiment; 
       FIGS. 3A-3F  illustrate a system utilizing packet based handoff between network functions according to an embodiment; 
       FIG. 4  illustrates an operational flow of packet based edge function handoff between edge functions according to an embodiment; 
       FIG. 5  illustrates an operational flow of adding a communication path according to an embodiment; 
       FIG. 6  illustrates an operational flow of removing a link layer path according to an embodiment; 
       FIG. 7  illustrates message flow for a packet based handoff according to an embodiment; 
       FIG. 8A  illustrates a protocol stack for a forward link according to an embodiment; 
       FIG. 8B  illustrates a protocol stack for a reverse link according to an embodiment; 
       FIG. 9  illustrates a portion of a packet header according to an embodiment; and 
       FIG. 10  illustrates a block diagram of an access function according to an embodiment. 
   

   DETAILED DESCRIPTION 
   The detailed description set forth below in connection with the appended drawings is intended as a description of exemplary embodiments and is not intended to represent the only embodiments in which the present invention can be practiced. The term “exemplary” used throughout this description means “serving as an example, instance, or illustration,” and should not necessarily be construed as preferred or advantageous over other embodiments. The detailed description includes specific details for the purpose of providing a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without these specific details. In some instances, well known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the present invention. 
   Referring to  FIGS. 1A-1C , a system utilizing packet based handoff between access functions according to an embodiment is illustrated. A network function  20  communicates with network  15  and edge functions  30  and  55 . In turn, edge function  30  communicates with access functions  35  and  40 , while edge function  55  communicates with access functions  60  and  65 . Another network function  25  communicates with network  15  and edge functions  70  and  85 . In turn, edge function  70  communicates with access functions  75  and  80 , while edge function  85  communicates with access functions  90  and  95 . 
   In one embodiment, an access function communication with an edge function is used to indicate the edge function that provides most of the communication between the network, or network function, and the access function. In some embodiments, the edge function that communicates with an access function may be a best edge function in terms of quality of service, throughput, latency, packet loss or the like for that access function to perform the edge functions required to communicate with an access terminal from that access function. For example, referring to  FIGS. 1A-1C , edge function  30  communicates with access functions  35  and  40 , indicates that edge function  30  is the best edge function for access functions  35  and  40 . However, in such embodiments other edge functions may transmit packets between access functions  35  and  40  and the network. In another embodiment, an access function may exclusively communicate with an edge function. In yet another embodiment, an access function and edge function may be single device and communication would be as signals within that device. 
   In one embodiment, an edge function communication with a network function is used to indicate the network function that provides most of the communication between the network, or network function, and the edge function. In some embodiments, the network function that communicates with an edge function may be a best network function in terms of quality of service, throughput, latency, packet loss and the like for that edge function to perform the network functions required to communicate with an access terminal from that edge function. For example, network function  20  communicates with edge functions  30  and  55 , indicates that network function  20  is the best network function for edge functions  30  and  55 . However, in such embodiments other network functions may transmit packets between edge functions  30  and  55  and the network. In another embodiment, an edge function may exclusively communicate with a network function. In yet another embodiment, a network function and edge function may be single device and communication would be as signals within that device. 
   In one embodiment, device  5  transmits packets including the home address of access terminal  50 . This home address is utilized by network  15  to forward the packets to home agent  10 . Home agent  10 , which may know the location of access terminal  50  through any one of various techniques, forwards the packets for over the air transmission to access terminal  50 . In one embodiment, the home agent  10  forwards the packets to the edge function  30  which is the care-of address for the access terminal  50 . The edge function  30  forwards the packets to access functions  35  and/or  40  for over the air transmission to access terminal  50 . 
   To communicate with access terminal  50 , device  5  transmits packets to home agent  10 , which then forwards the packets via network  15 , network function  20 , and edge function  30  to access function  35 . Access function  35  then transmits the packets, according to an air interface, over wireless link  45  to access terminal  50 . In the reverse direction, packets are transmitted over wireless link  45  to access function  35 , which then routes the packets via network  15 , network function  20 , and edge function,  30  to either home agent  10 , which then forwards them to device  5 , or directly to device  5 . 
   Access terminal  50  may move from the area serviced by access function  35  to the area serviced by access function  40 . At some point during this motion, for example when access terminal  50  approaches a boundary between the area serviced by access function  35  and the area serviced by access function  40 , a request can be transmitted for handoff for access terminal  50 . In some embodiments, soft handoff functionality may be provided for over the air transmission between access terminal  50  and access functions  35  and  40  during a portion of the handoff procedure. 
   When handoff is initiated, access terminal  50  can receive packets from and transmit packets to access function  35  and access function  40  over wireless links  45  and  100 , respectively. In response to such a request, wireless links  45  and  100  may both be active for an overlapping period of time. In an embodiment, the request may be made by the access terminal and other embodiments the request may be made by the access function that is in communication with the access terminal. In further embodiments, the edge function may request handoff. This may be done when multiple access functions that are controlled or in communication with an edge function allocate resources to the access terminal. In this way, the edge function may have the wireless link characteristic measurements, e.g. channel quality information (CQI), for multiple access functions to determine when handoff should be initiated. 
   After receipt of the request, some of the packets intended for receipt by access terminal  50  are forwarded by edge function  30  to access function  35  and some of them are forwarded to access function  40  ( FIG. 1B ). After a period of time, packets are no longer forwarded from edge function  30  to access function  35 , and wireless link  45  is closed ( FIG. 1C ). After wireless link  45  is closed, the communication path with access terminal  50  is between access function  40  via wireless link  100 . 
   In order to facilitate proper processing of packets transmitted via wireless link  45  and packets transmitted via wireless link  100 , at the access terminal  50 , packets that are transmitted from both access function  35  and access function  40  include a route identifier. In an embodiment, edge function  30  inserts the route identifiers into packets, and then forwards those packets to the access functions  35  or  40  according to the route identifier. In an embodiment, the different route identifier may be inserted into the header of the packet, frame, octet, or other transmission segment or segments used by the communication system. For clarity in the following description, a frame is used to describe an octet, a frame, a packet, or some other transmission segment or segments that are used by the communication system. The term frame may be used to mean any self-identifying group of bits that may be utilized in a communication system. 
   The frames that are identified with the same route identifier are processed together and those frames having a different route identifier are not processed with these frames. The processing of the frames may include reassembly, header decompression, duplicate detection, in-order packet delivery to the higher layers, decryption, packet discarding (e.g., due to packet latency, partial packet loss, or handoff), or the like. 
   The use of route identifiers allows for multiple wireless link instances from different routes to simultaneously exist at a single access terminal. Further, it allows a simplified handoff schema to be available regardless of the network device being used for handoff. Handoff is simplified because a new route may be created to achieve handoff, rather than having to teleport existing protocol state. In one embodiment, the route identifier is inserted by the edge function, network function, etc. 
   In an embodiment, packets are transmitted via a wireless link in the form of frames according to a Radio Link Protocol (RLP). In some embodiments, the RLP supports fragmentation of the higher layer packets for transmission and reassembly of the packets at the receiver, e.g. access terminal  50 . The RLP transmitter, e.g. access functions  35  or  40 , may perform fragmentation, ordering, and the like for the packets. In an embodiment, fragmentation may be provided by adding an RLP header that includes sequencing information. The RLP receiver then performs reassembly based on the sequencing information received. In some embodiments, the RLP may support multiple frame sizes and may be aware of higher layer packet boundaries. The data unit for an RLP may be either octets or another RLP frame payload. In some embodiments, the RLP frame header describes the contents of the RLP frame payload either using an octet based sequence number or an RLP frame payload number. 
   An edge function may be any combination of functionality, regardless of physical locations, that allows receipt of packets of one or more protocols and transmission of the packets, or information contained therein, to one or more access functions or other functionality for transmission over a wireless link. An access function may be any combination of functionality, regardless of physical locations, that allows communication over a wireless link with an access terminal. An access terminal may be any functionality that allows for communication over a wireless link. A network function may be any communication point between a number of devices and/or functions and a network, e.g. a router. 
   Referring to  FIGS. 2A-2E , a system utilizing packet based handoff between edge functions according to an embodiment is illustrated. In  FIG. 2A , access terminal  50  is first in communication with access function  40  via wireless link  110 . Access function  40  is in communication with edge function  30 , which in turn is in communication with network  15 , via network function  20 . This allows communication between access terminal  50  and home agent  10  and device  5 . 
   Access terminal  50  may move from the area serviced by access function  40  to the area serviced by access function  60 . At some point during this motion, for example when access terminal  50  approaches a boundary between the area serviced by access function  40  and the area serviced by access function  60 , a request can be transmitted for handoff for access terminal  50 . When handoff is initiated, access terminal  50  can receive packets from and transmit packets to access function  40  and access function  60  over wireless links  110  and  115 , respectively ( FIG. 2B ). Since edge function  30  and access function  60  are not in regular communication, i.e. edge function  30  does not serve as an interface to the network for access function  60 , edge function  30  needs to forward packets to access function  60  ( FIG. 2B ). In an embodiment, this may be done directly via network  15  or may be done by first forwarding the packets to edge function  55  via network  15 . 
   Wireless links  110  and  115  may both be active for an overlapping period of time. After the time period, wireless link  110  is closed and access function  40  releases any resources that were utilized for communication with access terminal  50 . After wireless link  110  is closed, a communication path between network function  20 , edge function  30 , and access function  60  for the transmission of packets to access terminal  50  exists ( FIG. 2C ). At this point, a handoff between edge function  30  and edge function  55  for communication with access terminal  50  via access function  60  may be performed. The edge function handoff generally includes the formation of a communication path between network function  20  and edge function  55 , and between edge function  55  and access function  60  ( FIG. 2D ). 
   After, formation of the communication path between network function  20  and access function  60 , via edge function  55 , packets intended for access terminal  50  are no longer forwarded from network function  20  to edge function  30 . Any packets previously queued in edge function  30 , intended for access terminal  50 , are forwarded to either edge function  55 , for transmission to access function  60 , or directly to access function  60  ( FIG. 2D ). Once this is complete, communication between edge function  30  and access function  60  is terminated and the communication path between network  15  and access terminal  50  is via access function  60 , edge function  55 , and network function  20 . ( FIG. 2E ). 
   It should be noted that the operation of edge function  30  and edge function  55  are independent of each other. That is, once communication is established between edge function  55  and access function  60 , there is no need for signaling or communication between edge function  30  and edge function  55 . In some embodiments, some state information need not be transferred between edge function  30  and edge function  55 . For example, quality of service (QoS) requirements, cryptographic keys, and other slow changing link control state may be transferred between edge function  30  and edge function  55 , while fast changing buffer contents and state as well as header compression state may be independently generated at each of edge function  30  and edge function  55 . In further embodiments, edge function  30  continues communication with access function  60  while edge function  55  is setting up communication with access function  60 . For example, any packets that arrive at edge function  30  after edge function  55  has set up may still be processed by edge function  30  and forwarded to access terminal  50 . 
   As discussed with respect to  FIGS. 1A-1C , a route identifier is inserted into packets by edge function  30  and edge function  55 . The route identifier may identify the edge function which processed the packets transmitted to access terminal  50 . The packets or portions of packets that are identified with the route identifier of edge function  30  are processed together at access terminal  50 , while those that are identified with the route identifier of edge function  55  are processed together at access terminal  50 . However, those packets having the route identifier of the edge function  30  are not processed with the packets having the route identifier of edge function  55  at access terminal  50 . 
   As discussed with respect to  FIGS. 1A-1C , in an embodiment, the request for handoff may be made by the access terminal and in other embodiments the request may be made by the access function that is in communication with the access terminal. In addition, the edge function may request handoff due to its own processing of communication channel estimates, e.g. channel quality information, generated by the access terminal or access function, due to location information for access terminal  50 , or other approaches. 
   In the embodiments of  FIGS. 1A-1C  and  2 A- 2 E, network functions  20  and  25  need not be utilized and edge functions  30 ,  55 ,  70 , and  85  may be in direct communication with network  15 . 
   Referring to  FIGS. 3A-3F , a system utilizing packet based handoff between network functions according to an embodiment is illustrated. In  FIGS. 3A-3F , access terminal  50  is first in communication with access function  65  via wireless link  125 . Access function  65  is in communication with edge function  55 , which in turn is in communication with network  15 , via network function  20 . ( FIG. 3A ). This allows communication between access terminal  50  and home agent  10  and device  5 . 
   Access terminal  50  may move from the area serviced by access function  65  to the area serviced by access function  75 . Access function  75  is in communication with edge function  70 , which in turn is in communication with network function  25 , thus allowing access function  75  to be in communication with network  15 . 
   At some point during the motion, for example when access terminal  50  approaches a boundary between the area serviced by access function  65  and the area serviced by access function  75 , a request can be transmitted for handoff for access terminal  50 . When handoff is initiated, access terminal  50  can receive packets from, and transmit packets to, access function  65  and access function  75  over wireless links  125  and  130 , respectively. ( FIG. 3B ). In  FIGS. 3A-3F , network function  20  and edge function  70  are not in regular communication, i.e. edge function  70  is not coupled to the network via network function  25 . Therefore, edge function  55  needs to forward packets to access function  75 . In an embodiment, this may be done directly or may be done by first forwarding the packets to edge function  70  from edge function  55  via the network, using network functions  20  and  25 . 
   During the handoff procedure in this case, the communication path between access function  65  and edge function  55  is terminated, thereby terminating wireless link  125 . ( FIG. 3C ). As such, access function  65  releases any resources that were utilized for communication with access terminal  50 . After wireless link  125  is closed, a communication path between network function  20 , edge function  55 , and access function  75  for the transmission of packets to access terminal  50  is present. ( FIG. 3C ). While this communication path is being formed, a communication path between network function  20  and access function  75 , via edge function  70  is created. ( FIG. 3D ). 
   After, formation of the communication path between network function  20  and access function  75 , via edge function  70 , packets intended for access terminal  50  are no longer transmitted from network function  20  to edge function  55 . ( FIG. 3D ). This allows for the communication between edge function  55  and access function  75  to be terminated. ( FIG. 3D ). Any packets queued in edge function  55 , intended for access terminal  50 , are transmitted to either edge function  70 , for transmission to access function  75 , or directly to access function  75 . Once this is complete, communication between edge function  55  and access function  75  is terminated and the communication path between network  15  and access terminal  50  is via access function  75 , edge function  70 , and network function  20 . 
   To further complete the network function handoff a path is created between network function  25  and edge function  70  and the path between network function  20  and edge function  70  is terminated. ( FIG. 3F ). 
   In another embodiment, the network function handoff and the edge function handoff are coupled as a single handoff, such that the new network function and edge function paths are created and activated together. In yet another embodiment, the network function handoff occurs due to an edge function or access function handoff, in that the edge function or access function associated with that network function require a path from that network function in order to receive or forward packets to the access terminal. 
   As discussed with respect to  FIGS. 1A-1C  and  FIGS. 2A-E , a route identifier is inserted into packets by edge function  55 . The route identifier may identify the access terminal  50 , access function  65  or access function  75 , which will be transmitting frames, over a wireless link to access terminal  50 . The frames that are identified with the route identifier of access function  65  are processed together, while those that are identified with the route identifier of access function  75  are processed together. However, those frames having the route identifier of the access function  65  are not processed with the frames having the route identifier of access function  75 . 
   In addition, the route identifier may identify the edge function that is transmitting the packets to the access function that is in communication, via a wireless link, with the access terminal. The route identifier that includes the edge function that forwards the packets may be utilized by the access terminal to reassemble packets together that have the same route identifiers, i.e. that those originate from the same edge function/access function pairs, while not reassembling those packets that have different route identifiers together. Additionally, or alternatively, the route identifier that includes an identification of the edge function may be used by the access functions to properly control communication instances with respect to multiple edge functions. 
   Further, the route identifier may identify the network function, e.g. network function  20  or  25  that is transmitting packets to and from the network. The information related to the network function  20  or  25  may be used by the edge functions to facilitate communication with the network and to create communication routes and for predictive handoff between access functions. 
   In the embodiments of FIGS. lA- 1 C,  2 A- 2 E, and  3 A- 3 F, the route identifier is utilized to identify an intermediate point or points along the transmission route between network  15  and access terminal  50 . As described in the above embodiments, these may be access functions, edge functions, or network functions or any combinations thereof. 
   As discussed with respect to  FIGS. 1A-1C  and  2 A- 2 E, in an embodiment, the request for handoff may be made by the access terminal and in other embodiments the request may be made by the access function that is in communication with the access terminal. In further embodiments, the request for handoff may be made by the edge function that is in communication with the access terminal. For the purposes of handoff, in communication may mean any device that allocates resources, including CQI generation or measurement for a particular access terminal. 
   If a handoff is required between access functions, then the edge function that is in communication with the network can transmit packets to multiple access functions, which communicate with a same access terminal, seamlessly by inserting the route identifier into the packets and then transmitting them to the appropriate access functions for transmission to the access terminal. This also applies to handoffs between edge functions and network functions, since the route identifier can identify one or multiple functions and thereby provide a traceable path that may be used on the reverse link. 
   As used with respect to  FIGS. 1-3 , an access function may be a fixed station used for communicating with the terminals and may also be referred to as, and include some or all the functionality of, a base station, base station transceiver, a Node B, or the like. An access terminal may also be referred to as, and include some or all the functionality of, a mobile station, a user equipment (UE), a wireless communication device, terminal, or the like. A mobile station may also be referred to as, and include some or all the functionality of, a mobile station, a user equipment (UE), a wireless communication device, terminal, access terminal or some other terminology. An edge function may also be referred to as, and include some or all of the functionality of, a base station controller (BSC), radio network controller (RNC), or the like. A network function may also be referred to as, and include some or all of the functionality of, a PDSN, General Packet Radio Service Support Node (GSN), Gateway General Packet Radio Service Support Node (GGSN), or the like. 
   Referring to  FIG. 4 , an operational flow of packet based edge function handoff according to an embodiment is illustrated. Once a request to provide a handoff is provided, the session between the access terminal and the access function with which it is currently communicating is locked at the edge function, block  200 . As described previously a request for handoff may occur in multiple ways. For example, an edge function may decide to become a new edge function for an access terminal. In this case the new edge function performs discovery functions as to the old edge function to obtain session attributes, e.g. access terminal capabilities and setup parameters. It can then lock the session and send a binding update message to the home agent to switch edge functions. Locking a session may include allowing ongoing session configurations and attribute updates to continue, but preventing new session configurations or attribute updates from being initiated for the access terminal at issue. 
   After locking of the session, a new communication path is formed between the network and a new edge function, for communication with the access terminal block  202 . In forming the new communication path, the old edge function may send a delta of the changes to new edge function. The delta of changes may provide session information with respect to changes since the new edge function transmitted its request to the home agent. The new path, generally formed at the RLP, allows for packets to be routed from the network to the new edge function, which can then be processed and transmitted over the air to the access terminal. In another embodiment, the new communication path is set up in stages such that some attributes or resources of the path are set up before the binding update while others are delayed until the binding update completes successfully. 
   After the new path is established, packets may still be received by the old edge function. However, after some period of time a request may be made to cease transmission of packets intended for the access terminal from the old edge function. At this time, the communication path in the old edge function is removed, block  204 . The communication path may be removed by deleting all of the resources, including buffer and state information, from the appropriate memory of the old edge function. 
   The session is then unlocked and communication proceeds between the new edge function and the access terminal, block  206 . Unlocking may allow for new session configurations or attribute updates to be formed for communication with the particular access terminal. 
   Referring to  FIG. 5 , an operational flow of adding a link layer path according to an embodiment is illustrated. A new RLP instance is created at the access terminal, block  300 . The new RLP instance includes the information needed for communication between the access terminal and the new edge function, e.g. route identifier information for the new edge function. A new communication path is formed at the edge function for transmitting packets between the network and the new edge function, block  302 . The ordering of blocks  300  and  302  is arbitrary. The new communication path, formed at the RLP, includes resources to allow transmission of packets between the network and new edge function, including adding the route identifier associated with the new edge function to packets that are destined for the access terminal. In one embodiment the new RLP instance will be the same as the old RLP instance after a reset or initialization, for example, all the attributes associated with QoS and header compression are the same, but the state of the header compressor and buffers are initialized. 
   The access function then binds its resources, e.g. associates communication parameters and memory, to create a new communication instance with the access terminal, block  304 . The resources are generally buffer resources and communication information. The access terminal can then, once the communication path has been established through the edge function, the access function, and the network, establish a reverse link communication path to the new access function, block  306 . 
   Referring to  FIG. 6 , an operational flow of removing a link layer path according to an embodiment is illustrated. The old edge function removes forward link information, i.e. for transmission to the access terminal, block  500 . The access terminal deactivates the reverse link path so that no more packets are sent on this reverse link path until it is reactivated, block  502 . The reverse link path between the old edge function and the network function is then removed, block  504 . The resources, at the access functions that are in communication with the old edge function, are removed, block  506 . Finally, all the reverse link and forward link information at the old edge function is deleted from memory, block  508 . Any information and resources at the access terminal for communication with the old edge function may also be removed. 
   Referring to  FIG. 7 , message flow for a packet based handoff according to an embodiment is illustrated. An access terminal (AT) is in communication with access function  1  (AF 1 ). During regular intervals, the AT transmits channel quality information (CQI) to AF 1 . AF 1  receives packets, intended for over the air transmission to AT, from an edge function (EF) that is in communication with a packet network. EF inserts route identifiers into packets it receives that are intended for AF 1  to transmit to AT. The route identifiers may identify the EF, AF 1 , AT, or any combination of these in order to facilitate reassembly, header decompression, and other functionality by the AT upon receipt of the frames constructed from the packets, or information contained in the packets. 
   AF 1  then transmits the data packets, or portion thereof, to AT via a wireless link. AT transmits additional CQI information, which may be a regularly scheduled transmission or be transmitted based upon a request from AF 1 . Based upon the CQI, AF 1  can make a decision to hand-off a source of wireless link to another access function, e.g. AF 2 . Alternatively, if multiple access functions have allocated resources for a given access terminal, the CQI values are reported from all the of the access functions allocating resources along with an indication of which is the desired access function for the access terminal. Then the handoff decision can be made between the access functions that provide the information to the edge function or at the edge function that is in communication with the access functions, e.g., the RNC or BSC. For example, AF 2  may send a request to AF 1  and the EF for a handoff based on the CQI information it receives from the AT. 
   In response to the AT CQI request to AF 2 , AF 2  transmits a request to become the new serving access function to both AF 1  and EF. AF 1  then sends a message that updates the radio link protocol (RLP) parameters to AF 2 . In some embodiments, AF 1  may provide only state information of the buffers without providing the actual contents of the buffers to AF 2 . 
   Data packets are then transmitted from the EF to both AF 1  and AF 2 , which both transmit packets to, and receive packets from, the AT. In another embodiment, EF transmits packets to only one of AF 1  or AF 2 , and when a handoff occurs from AF 1  to AF 2 , the EF no longer forwards packets to AF 1 . Since, a hand-off has occurred to AF 2 , CQI is transmitted by the AT to AF 2 . After a period of time or the occurrence of some parameters, AF 1  sends a request to no longer receive data to be transmitted to it from EF. After transmission of this request, the EF no longer sends data packets to AF 1 , but sends all the packets to AF 2  that are destined for the AT. In another embodiment, the AT sends CQI to AF 1 , AF 2 , and all access functions allocating resources to the AT. The CQI may indicate the preferred serving AF with the AT. 
   In order to continue uninterrupted data transmission, the new access function, e.g. AF 2 , needs to know the RLP state information for the forward link, where the state information may be all the data in the packet buffer, the memory allocated for packets or frames received at the access function, and the retransmit buffer, memory allocated for packets for which retransmission is required, e.g. no acknowledgement for the packet was received from the AT, as well as any data that has not yet been transmitted in a transmit buffer, the memory allocated for packets or frames to be transmitted from the access function. The old access function, e.g. AF 1 , maintains its transmitted segment buffer for a predetermined period of time after the request to hand-off to another access function. 
   In one embodiment, timers at the access function and access terminal are reset to default values upon a hand-off request. This may facilitate flushing of the buffers and resetting of abort timers which may be dependent on the packet inter-arrival time and scheduling time. 
   After hand-off, the new access function behaves like the RLP source, including responding to acknowledgements or negative acknowledgements received from the access terminal for which the data was not received from the access function. 
   If the AT is capable of receiving from two AF&#39;s simultaneously, the AT can decode both frames and use the received data to update its resequencing buffer at the receiver. When multiple AF&#39;s transmit frames simultaneously, the send state information can be updated at each transmitting access function for the access terminal based on its current local state. In the case of multiple simultaneous transmitting access functions, the main access function, i.e. the one to which the hand-off is occurring, send to the other access functions to update the local RLP states. In another embodiment, the edge function controls the RLP state at each AF transmitting simultaneously. 
   While  FIG. 7 , indicates that the AT decides when to hand-off to another access function, other embodiments may have the access function, e.g. AF 1  or EF decide when to issue a request to hand-off. In these cases, the access function may decide to hand-off to another access function based upon not only CQI information, but also scheduling issues, system loading information, the location of the access terminal, a predetermined time period, or other parameters. 
   Referring to  FIG. 8A , a protocol stack for a forward link according to an embodiment is illustrated. As used herein, the forward link refers to transmission from access function to the access terminal. For the access function protocol stack  900 , the edge function and access function are shown, and may reside on a same access functions or at different access functions. In the embodiment depicted in  FIG. 8A , an RLP instance  908  and another RLP instance  910  exist at a single access function communicating over a wireless link with an access terminal. Each of the RLP instances  908  and  910  has a different associated route identifier. 
   On the forward link, the edge function providing the access function receives packets from the home agent via the network layer, here the internet protocol (IP) layer  902 . The sub-network layer  904  provides header compression for the edge function. The received packets are processed in the switching layer  906 , which passes the packets for forwarding to the appropriate RLP instance  908  and  910  on the appropriate access function. In an embodiment, the switching layer  906  provides a tunnel to all access functions that may be identified by a route identifier by edge function. The RLP instance  908  or  910  at the access function then processes and transmits the packets over a wireless interface to the access terminal. 
   At access terminal stack  913 , frames are processed after receipt on wireless link by radio link protocol layers  914  and  916  according to the route identifier contained in the frame. The frames are then re-sequenced for each identifier according to the sequence numbers assigned to a frame, while separating frames having different route identifiers. The frames are reassembled by re-sequencing buffers  920  and  918  for those frames that were processed by the appropriate radio link protocol layers  914  and  916 . The reassembled packets are then processed by sub-network layers  924  and  922  for the appropriate re-sequencing buffer. The sub-network layers  924  and  922  perform header decompression for the packets compressed by sub-network layer  904 . Both  922  and  924  then provide the packets to the internet protocol layer  926 , or other network layer. 
   Referring to  FIG. 8B , a protocol stack for a reverse link according to an embodiment is illustrated. As used herein, the reverse link refers to transmission to the access function from the access terminal. Access terminal stack  974  includes internet protocol layer  964  which forms network packets, here internet packets, for transmission via a specific network protocol. Sub-network layers  966  and  968  provide header compression for the packets. Each packet is sent via exactly one of sub-network layers  966  and  968  which are identified according to the route identifier contained in the frame sent over the air. Each sub-network layer  966  and  968  provides header compression for frames that are to be transmitted by the appropriate RLP instance  972  and  974 . 
   At an access function  962 , the frames are then received at two different RLP stacks  958  and  960  according to the route identifier contained in the frame. Frames received at the RLP stacks  958  and  960  are then transmitted by switching layer  956  to a resequencing buffer  954 . The switching layer  956  selects the resequencing buffer to forward the packets according to the route identifier. The resequencing buffer  954  may be part of one of the access functions, or may be part of an edge function that communicates packets to and from a network for access terminal that contains access terminal stack  974 . In one embodiment, the resequencing buffer  954  is part of the edge function, and each active edge function has a separate resequencing buffer. In this embodiment, the route identifier indicates which resequencing buffer to forward the frame received over the air. Sub-network layer  952  decompresses the header of the packets for transmission via the network by network layer  950 , which in this case is an internet protocol layer. 
   In the embodiment of  FIGS. 8A and 8B , the access functions, each allocate Medium Access Control (MAC) layer resources to an access terminal, when any one of them is in communication with the access terminal over a wireless link, to allow for decoupled hand-off between the access functions. Further, an access function may contain both edge functions and access functions. In such embodiments, any access function that allocates MAC resources to a particular access terminal can serve as either or both the edge function that communicates with network, for packets destined for access terminal, and the access function that communicates with access terminal over an air interface. This allows for efficient handoff, which is independent between the edge functions, access functions, or network functions. Further, each of these hand-offs appears transparent to the access terminal. 
   Referring to  FIG. 9 , a portion of a packet header according to an embodiment is illustrated. A flow identifier may be used to provide multiple independent RLP flows for a single access terminal. For instance, multiple flows may be used to distinguish between different applications for Quality of Service purposes. A route identifier provides information as to the over the air transmission source or destination that transmits the packets to and receives the packets from the access terminal respectively. While  FIG. 9  depicts the route identifier portion of the packet header as being one bit, it may also be two or more bits. In an embodiment, it may be between four and eight bits. 
   Packet end and packet begin bits provide the beginning and end bits of the packet payload. The packet end bit is set to one if the end of the packet is a part of the packet payload. Otherwise, the packet end bit is set to zero. The packet start bit is set to one if the start of the packet is a part of the packet payload. Otherwise, the packet start bit is set to zero. Only one packet can be sent in a packet payload, but multiple packet payloads may be sent in a single over the air transmission. The sequence number depicts the sequence of the packets for reassembly at the access terminal or edge function. 
   As previously discussed, the route identifier may be used by the access terminal for proper processing. In some embodiments, processing may include packet fragmentation and reassembly or header compression and decompression. 
   A packet sequence space of SequenceLength bits may be utilized for the sequence number field. 
   The value of the route identifier is changed when a new protocol stack,  FIGS. 8A and 8B , is created in response to a switching request. Packets entering a given edge function all receive the same value of a route identifier for the lifetime of that communication instance for the particular access terminal. 
   Referring to  FIG. 10 , a block diagram of an access function according to an embodiment is illustrated. A processor  1000  is coupled with a memory  1002 , network interface  1004 , and antenna  1006 . Network interface  1004  is coupled to a network that is coupled to cause packets or frames to be transmitted to and from the edge function of the access function. The packets or frames may be destined for an access terminal, with or without a route identifier depending on their transmission source, or for the access function itself. The processor can append to or insert into the received packets or frames both the route identifiers and sequence numbers. The processor can then store the packets or frames in memory  1002  for transmission to the access terminal via antenna  1006 . Also, if the route identifiers identify other access terminals, the edge function may transmit the packets or frames that include the route identifier to the appropriate access terminal via network interface  1004  to the appropriate access function. 
   In other embodiments, an access function may serve as both an access function and an edge function. Further, if an edge function does not include access functionality in a same device, edge function may comprise one or more processors, one or more memories, and one or more network interfaces as described with respect to  FIG. 10 . 
   Those skilled in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithms described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and algorithms have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention. 
   The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, processor, microprocessor, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. 
   The methods or algorithms described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal. 
   The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.