A method for label edge routing in a wireless network is provided. The method includes providing a flow between an application of a mobile unit and a serving node. The flow includes an outbound flow from the application. The outbound flow is received at the mobile unit. The flow is classified at the mobile unit.
|
1. A method comprising:
establishing a data session between a mobile unit and a serving node, wherein a forwarding information base included in the mobile unit is populated with a label stack associated with the data session;
determining, at the mobile unit, whether the serving node comprises a foreign agent;
upon determining the serving node comprises a foreign agent, transmitting information, indicative to a home agent, of an identity of the mobile unit;
receiving, at the mobile unit, an agent advertisement with label information;
correlating the label information to the data session; and
populating available information in a vendor extension field that is included as part of an agent solicitation message that is sent to the serving node by the mobile unit, whereby the information in the vendor extension field is processed out-of-band with respect to a payload of the agent solicitation message.
14. A method comprising:
establishing a data session between a mobile unit and a serving node, wherein a forwarding information base included in the mobile unit is populated with a label stack associated with the data session;
determining, at the mobile unit, whether the serving node comprises a foreign agent;
upon determining the serving node comprises a foreign agent, transmitting information, indicative to a home agent, of an identity of the mobile unit;
receiving, at the mobile unit, an agent advertisement with label information;
correlating the label information to the data session, wherein the serving node evaluates a selected one of the label stacks and performs routing at a layer-2 level, and wherein the mobile unit operates as a policy decision point in controlling one or more policy endpoints such that the mobile unit is able to specify differentiated services to individual flows that are aggregated at the mobile unit; and
populating available information in a vendor extension field that is included as part of an agent solicitation message that is sent to the serving node by the mobile unit, whereby the information in the vendor extension field is processed out-of-band with respect to a payload of the agent solicitation message.
2. The method of
communicating one or more traffic characteristics associated with the end user to the serving node along with the label stack.
3. The method of
allocates a session specific label in response to session activity associated with an end user of the mobile unit;
communicates a new label stack to the serving node to allow the serving node to perform routing at a layer two level;
classifies the data session;
stores one or more flow labels for a plurality of applications of the mobile unit;
classifies one or more flows using one or more flow characteristics; and
provisions one or more of the flow labels for one or more of the flows based on one or more of the flow characteristics.
4. The method of
removing, at the mobile unit, an inbound label stack from each of a plurality of inbound packets; and
forwarding the plurality of inbound packets to an application included in the mobile unit.
5. The method of
generating, at the mobile unit, a label request for an application;
receiving at, the mobile unit, a label response based on the label request, the label response comprising at least one label;
determining, at the mobile unit, flow characteristics and a flow label for a flow, the flow label comprising one of the labels in the label response; and
storing, at the mobile unit, the flow characteristics and the flow label for the flow.
6. The method of
7. The method of
generating a label request comprising generating an agent solicitation message, the agent solicitation message comprising a vendor-specific extension, the vendor-specific extension comprising the label request.
8. The method of
receiving the agent advertisement message, the agent advertisement message comprising a vendor-specific extension, the vendor-specific extension comprising the label response.
9. The method of
determining, at the mobile unit, whether the mobile unit supports label switching; and
determining, at the mobile unit, whether the serving node supports label switching.
10. The method of
11. The method of
12. The method of
13. The method of
15. The method of
communicating one or more traffic characteristics associated with the end user to the serving node along with the label stack.
16. The method of
allocates a session specific label in response to session activity associated with an end user of the mobile unit;
communicates a new label stack to the serving node such that the serving node can perform routing at a layer two level;
classifies the data session;
stores one or more flow labels for a plurality of applications of the mobile unit;
classifies one or more flows using one or more flow characteristics; and
provisions one or more of the flow labels for one or more of the flows based on one or more of the flow characteristics.
17. The method of
removing, at the mobile unit, an inbound label stack from each of a plurality of inbound packets; and
forwarding the plurality of inbound packets to an application included in the mobile unit.
18. The method of
generating, at the mobile unit, a label request for an application;
receiving at, the mobile unit, a label response based on the label request, the label response comprising at least one label;
determining, at the mobile unit, flow characteristics and a flow label for a flow, the flow label comprising one of the labels in the label response; and
storing, at the mobile unit, the flow characteristics and the flow label for the flow.
19. The method of
20. The method of
generating a label request comprising generating an agent solicitation message, the agent solicitation message comprising a vendor-specific extension, the vendor-specific extension comprising the label request.
21. The method of
receiving the agent advertisement message, the agent advertisement message comprising a vendor-specific extension, the vendor-specific extension comprising the label response.
22. The method of
determining, at the mobile unit, whether the mobile unit supports label switching; and
determining, at the mobile unit, whether the serving node supports label switching.
23. The method of
24. The method of
|
This application is a continuation of U.S. application Ser. No. 09/771,205 filed Jan. 26, 2001 and entitled “Method and System for Label Edge Routing in a Wireless Network,” now issued as U.S. Pat. No. 6,990,086.
This invention relates generally to the field of wireless communications and more particularly to a method and system for label edge routing in a wireless network.
The communications industry is a rapidly growing industry that affects almost every other major industry. Because of the field's rapid growth, the management of communication systems, including routing traffic within the systems, has become more difficult as the systems have become increasingly larger and more complex. Many modern communication systems, therefore, include the ability to provide label-switched routing in order to forward IP packets based on Layer 2 information, as opposed to conventional Layer 3-based routing.
Label-switched routing provides numerous advantages which include higher performance and lower cost due to simplified forwarding, separation of typically complex flow classification from forwarding which results in the ability to process increasingly complex flow classification, and low-overhead source routing. Label-switched routing also facilitates traffic engineering by mapping label-switched paths to traffic-engineered routes and facilitates Quality of Service (QoS) by mapping label-switched paths to different per-hop behaviors.
Conventional wireless networks provide label edge routing functionality at the edge through a packet data serving node. The serving node stores information for the wireless device when a session for the wireless device is created. The serving node then performs a label exchange with an adjacent network node in order to establish a label-switched path for forwarding the session's traffic to and from the network.
Thus, in a conventional wireless network, when the serving node receives a packet from a wireless device, the serving node examines the Layer 3 contents of the packet and performs a look-up of the stored information for that wireless device. The serving node then classifies the flow, determines the type of processing to apply to the packet, and obtains labels to insert into the packet based on the results of looking up the stored information. Similarly, when the serving node receives network traffic destined for the wireless device via the label-switched path, the serving node is responsible for removing the label, reconstructing the packet and forwarding the packet to the wireless device.
Therefore, in providing label-switched routing in this manner, the resources of the serving node are heavily utilized for every packet that is received at the serving node. In addition, the granularity of flow classification is limited by the amount of information that may be stored in the serving node for the wireless devices in the network. Generally, this stored information relates only to an aggregation of traffic to and from the wireless devices but does not include any information about the number or types of flows that may be terminated beyond the wireless device.
In accordance with the present invention, a method and system for label edge routing in a wireless network are provided that substantially eliminate or reduce disadvantages and problems associated with previously developed systems and methods. In particular, the functionality of a label edge router is distributed between a wireless device and a serving node to more efficiently route traffic in a wireless network.
In one embodiment of the present invention, a method for label edge routing in a wireless network is provided. The method includes providing a flow between an application of a mobile unit and a serving node. The flow includes an outbound flow from the application. The outbound flow is received at the mobile unit. The flow is classified at the mobile unit.
In another embodiment of the present invention, a method for label edge routing in a wireless network is provided that includes receiving at the serving node an outbound flow from a mobile unit. The outbound flow includes a plurality of outbound packets. Each of the outbound packets includes an outbound label stack comprising at least one label. The outbound label stack is added to the outbound packets by the mobile unit. The outbound packets are forwarded to the network based on the outbound label stacks.
Technical advantages of the present invention include providing an improved method for label edge routing in a wireless network. The label-switched routing may be implemented using multi-protocol label switching (MPLS) or other suitable label switching technology, In a particular embodiment, the wireless device sends information about the flow characteristics of a flow to the serving node when the flow is created. The serving node updates its stored information, assigns labels to the flow, and sends the labels to the wireless device. As a result, the wireless device may perform a content-based flow classification and apply flow-specific labels to a packet that is to be sent to the serving node. Accordingly, the serving node is relieved of the burden of performing these tasks for each packet from the wireless device distributing intelligence.
Other technical advantages of particular embodiments the present invention include the enablement of local configuration of classification parameters and policies at a wireless device, the providing of different Quality of Service (QoS) levels to multiple traffic flows through a wireless device, and the enablement of real-time set-up of flow characteristics by the wireless device.
Another technical advantage of the present invention includes distributing intelligence for label-switched routing across the wireless infrastructure and the wireless devices. This reduces processing power required by the wireless infrastructure, which reduces costs for the operator.
Other technical advantages will be readily apparent to one skilled in the art from the following figures, description, and claims.
For a more complete understanding of the present invention and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, wherein like numerals represent like parts, in which:
The mobile unit 14 may comprise a wireless telephone, a wireless interface terminal, or other suitable mobile device operable to provide wireless communication in the system 10. The servers 18 may comprise an accounting server 18a, a location server 18b, a label server 18c, or any other suitable server 18d for providing services in the system 10.
The mobile units 14 and the servers 18 are coupled to one another and communicate through a network 22, in addition to a wireless infrastructure and serving nodes 24. The network 22 may provide this communication over a plurality of communication links 26. The network 22 may be any interconnection found on any computer network such as a wide area network, the Internet, or any other communications and data exchange systems created by connecting two or more computers.
The communication links 26 may be any type of communication link capable of supporting data transfer. In one embodiment, the communication links 26 may comprise, alone or in combination, Integrated Services Digital Network, Asymmetric Digital Subscriber Line, T1 or T3 communication lines, hard-wire lines, telephone lines or wireless communication. It will be understood that the communication links 26 may comprise other suitable types of data communication links. The communication links 26 may also connect to a plurality of intermediate servers between the network 22 and the mobile units 14 and the servers 18.
The system 10 also comprises at least one home agent 30 for each mobile unit 14, a plurality of packet data serving nodes 24, and a plurality of base stations 38. The home agent 30 comprises a binding table 40 that is operable to store data relating to the mobile unit 14, as described in more detail below. Each serving node 24 is coupled to a base station 38 through a plurality of radio packet (RP) data switch node links 42 or other suitable links. Each RP link 42 provides a logical path for a mobile unit packet session between the base station 38 and the serving node 24. Each base station 38 is operable to provide communication for mobile units 14 within any of a plurality of cells 46 for that base station 38. As used herein, “each” means every one of at least a subset of the identified items. The mobile unit 14 is operable to communicate with the base station 38 through a transceiver 50 in the cell 46 over a radio frequency (RF) link 54 or other suitable wireless link.
According to one embodiment, the link 54 is an RF link that may be based on established technologies or standards, such as IS-54 (TDMA), IS-95 (CDMA), GSM and AMPS, 802.11 based WLAN, or more recent technology, such as CDMA 2000 and W-CDMA or proprietary radio interfaces. In a particular embodiment, the link 54 comprises a code division multiple access (CDMA) link based on a CDMA standard and in which packets are segmented into frames for wireless transmission from the mobile unit 14 to the base station 38 where the frames are re-assembled to reconstitute the packets.
According to the embodiment illustrated in
The system 10 also comprises a core 62 that is coupled to the base station 38 and a subscriber database 66 that is coupled to the core 62. The core 62 is operable to perform authentication and to set up and disconnect calls for mobile units 14 in cells 46 for the corresponding base station 38. The core 62 is also operable to store service level agreements for each user 54 and to provide the agreements to the serving node 24 for service trigger management. The core 62 may comprise a mobile switching center that is operable to provide, in conjunction with the base station 38, switch and soft hand-off functionality for the system 10. In this way, voice, video, data and other information is routed to and from the mobile units 14 and connections are maintained with the mobile units 14 as they move throughout the system 10. The subscriber database 66 is operable to store information relating to mobile units 14 and/or users 54, such as name, address, account number, account type, and any other suitable information.
Each serving node 24 comprises a foreign agent 70 that is operable to provide communication between a mobile unit 14 and an endpoint through the network 22. The endpoint may comprise another mobile unit 14, a standard telephone, a server 18, or other suitable device. The foreign agent 70 provides functionality similar to the home agent 30 when the mobile unit 14 is out of range for communicating with the home agent 30. The foreign agent 70 comprises a binding table 72 that is operable to store data relating to the mobile unit 14.
According to one embodiment, for each mobile unit 14 corresponding to the home agent 30, the binding table 40 comprises a mobile unit identifier, a care of address (COA) for the current foreign agent 70, the internet protocol (IP) address or addresses assigned to the mobile unit 14, and any other suitable tunneling characteristics. Similarly, for each mobile unit 14 corresponding to the foreign agent 70, the binding table 72 comprises a mobile unit identifier, an address for the home agent 30, the IP address or addresses assigned to the mobile unit 14, and any other suitable tunneling characteristics.
The mobile unit 14 and the serving node 24 may communicate data and associated addressing information in-band and may also communicate with each other through out-of-band messaging. As used herein, “out-of-band” means communication of data that may be retrieved without inspecting the contents of the payload data of in-band messages. Thus, out-of-band communication provides a mechanism for communicating data in order to implement functions which may be undefined at the time the in-band messaging parameters are determined.
As described in more detail below in connection with
In addition to being operable to provide communication for mobile units 14 comprising the ability to communicate out-of-band messages, the serving node 24 is also operable to provide communication for standard mobile units that are incapable of communicating with out-of-band messages. Thus, for example, while establishing a connection for either a standard mobile unit or a mobile unit 14, the serving node 24 may identify the connection as out-of-band incapable or as out-of-band capable. In this way, the system 10 may support network communication for either type of mobile unit.
The network 22 connects a number of servers 18 to each other and to the serving node 24. The network 22 also connects the serving node 24, and thus the mobile unit 14, to the public switched telephone network (PSTN) 74 through a gateway 76. Accordingly, the mobile unit 14 may communicate through a serving node 24, the network 22 and the PSTN 74 with standard telephones, clients and computers using modems or digital subscriber line (DSL) connections or other telephony devices 78.
In operation, when a mobile unit 14 is outside the range of its home agent 30 such that communication with the network 22 is provided by a foreign agent 70, the serving node 24 recognizes that the mobile unit 14 is communicating with a transceiver 50 in a cell 46 for the base station 38 corresponding to the serving node 24. Based on this recognition, the foreign agent 70 for the serving node 24 transmits an agent advertisement message (AAM) on the RP link 42 for the mobile unit 14. In this way, only the mobile unit 14 associated with the RP link 42 receives the AAM. The AAM comprises a header, router advertisement information, a mobile advertisement extension and other extensions, as shown in
After receiving the AAM from the foreign agent 70, the mobile unit 14 transmits a registration request message (RReqM) to the foreign agent 70 as a home link directed broadcast message. The RReqM comprises a user identifier, a mobile identifier, a telephone number, or other suitable information from which a home agent 30 may identify the mobile unit 14.
The foreign agent 70 transmits the RReqM throughout the network 22 to identify home agents 30 for the mobile unit 14. Any home agent 30 in the home network for the mobile unit 14 that receives the RReqM from the foreign agent 70 may respond by transmitting a registration reply message (RRepM). The RRepM comprises a home agent address and a code field value indicating a rejection of the request. The foreign agent 70 receives an RRepM from each home agent 30, stores relevant information regarding the home agents 30 in the binding table 72, and transmits these messages to the mobile unit 14 over the RP link 42 for the mobile unit 14.
The mobile unit 14 selects one home agent 30 and transmits an RReqM to the foreign agent 70 that indicates which home agent 30 has been selected. The foreign agent 70 updates the binding table 72 and transmits the RReqM to the selected home agent 30 which assigns an IP address for the mobile unit 14. The foreign agent 70 also notifies the selected home agent 30 of the COA of the foreign agent 70 for forwarding packets to the mobile unit 14.
The selected home agent 30 transmits an RRepM comprising the IP address for the mobile unit 14 to the foreign agent 70. The foreign agent 70 transmits the RRepM to the mobile unit 14 over the RP link 42. The mobile unit 14 retrieves the IP address from the RRepM as its address for communication. At this point, the mobile unit 14 may send messages with the retrieved IP address as a source address and may process messages with the retrieved IP address as a destination address.
The selected home agent 30 notifies the network 22 with a broadcast message that any messages with the IP address of the mobile unit 14 as a destination address are to include a media access control (MAC) address for the home agent 30. The network routers update their routing tables to include the MAC address of the home agent 30 for the IP address of the mobile unit 14. Each message for the mobile unit 14 will then comprise the MAC address of the home agent 30 and the destination IP address of the mobile unit 14. The home agent 30 intercepts each packet destined for the mobile unit 14. Based on the COA of the foreign agent 70, the home agent 30 tunnels the intercepted packets to the foreign agent 70. The foreign agent 70 extracts the original packets and delivers them to the mobile unit 14.
If the mobile unit 14 moves to a cell 46 for a different base station 38 corresponding to a different serving node 24 and foreign agent 70, the home agent 30 updates the COA in the binding table 40 to correspond to the new foreign agent 70. In this way, messages for the mobile unit 14 will be tunneled to the appropriate foreign agent 70 which may then transmit the messages to the mobile unit 14. According to one embodiment, the mobile unit 14 sends an RReqM to the current foreign agent 70 which relays the message to the home agent 30. The home agent 30 updates entries in the binding table 40 with the new COA and sends an RRepM to the mobile unit 14 through the current foreign agent 70. The previous foreign agent 70 removes the information from the binding table 72 after the expiration of a timer.
Each data extension 140 comprises a data type 144 indicating what type of data is included in the data extension 140, a data length 148 indicating the length of the data included in the data extension 140, and a data field 152 that comprises the actual data for the data extension 140. The data type 144 may comprise “application identifier,” “user data,” or any other suitable data type known to both a service provider for the network 22 and the mobile vendors. The data length 148 may comprise the length of the data field 152 in bytes. The format and length of the data field 152 are determined by the data type 144 and data length 148. Data extensions 140 allow variable amounts of information to be included within each discovery message.
The protocol stack 200 also comprises a transport layer 210, an application layer 212, an access layer 214, and an ICMP layer 216. The transport layer 210 is operable to process in-band communications. The application layer 212 comprises one or more applications 222, each of which may be executed in the mobile unit 14 either alone or concurrently with other applications 222. The applications 222 may comprise telephony, video, voice, web browser, or any other suitable applications. The transport layer 210 comprises one or more protocols 220 for the applications 222. For example, the transport layer 210 may comprise a transmission control protocol 220a for packet data applications 222, a user datagram protocol 220b for mobile IP applications 222, or any other suitable protocol 220.
The access layer 214 comprises a service access manager 224 that is operable to manage out-of-band communication for a plurality of applications 222 in the mobile unit 14, and the ICMP layer 216 comprises an ICMP manager 228 that is operable to generate out-of-band messages for the mobile unit 14. The managers 224 and 228, as well as other components in the system 10, comprise logic encoded in media. The logic comprises functional instructions for carrying out program tasks. The media comprises computer disks or other computer-readable media, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), other suitable specific or general purpose processors, transmission media or other suitable media in which logic may be encoded and utilized.
As described below in connection with
The protocol stack 200 also comprises a flow control layer 240 that is operable to provide label-switching functions, along with the service access manager 224, for the mobile unit 14, as described in more detail below in connection with
The flow classifier 244 is operable to access the forwarding information base 248 in order to obtain information for classifying a packet. For a labeled packet, the flow classifier 244 may access the forwarding information base 248 with the label. For an unlabeled packet, the flow classifier 244 may examine the packet contents and generate a key in order to access the forwarding information base 248. The flow classifier 244 is also operable to apply specified label operations, such as push, pop, swap or other suitable label operation, to a packet and to send the packet to the appropriate forwarding queue.
The flow classifier 244 may be implemented in part by logic stored on a computer-processable medium. The logic may be encoded in hardware and/or software instructions stored in a random access memory, a read only memory, or other suitable computer-processable media.
The forwarding information base 248, which comprises any suitable data store, is used by routing logic to determine how to forward packets for a particular flow. A record for each flow is stored in the forwarding information base 248. The record may comprise the interface to which the packets are to be forwarded, the label operations to be applied to the packets, along with label values, the destination MAC address for storage in the MAC header, the IP address or addresses of the mobile unit 14, the forwarding policy to be applied to packets in the flow, and any other suitable information useful for forwarding the packets. The labels may comprise Layer 2 information that may be used in forwarding packets. The labels available for each flow may comprise a routing label, a traffic characteristic information label, a location information label, or any other suitable label.
Because the mobile unit 14 may execute a plurality of applications 222 simultaneously, the vendor-specific extension 112 of the ASM 100 comprises a data extension 140 for an application identifier to identify the application 222 providing the data and a data extension 140 with the corresponding data from the application 222. In addition, the vendor-specific extension 134 of the AAM 120 comprises a data extension 140 for an application identifier to identify the application 222 to receive the data and a data extension 140 with the corresponding data for the application 222. The service access manager 224 is operable to resolve incoming and outgoing messages based on the application identifier for each application 222.
In operation, when an AAM 120 is received the ICMP manager 228 performs an initial parsing of the vendor-specific extension 134. The ICMP manager 228 compares the data type 144 with the service type table 236. If a match is found, the ICMP manager 228 provides the vendor-specific extension 134 to the service access manager 224. The service access manager 224 identifies the appropriate application 222 based on the application identifier in the vendor-specific extension 134 of the AAM 120 and provides the data to the identified application 222.
In addition, when an application 222 provides data for the foreign agent 70 to the service access manager 224, the service access manager 224 provides the data and the application identifier for the application 222 to the ICMP manager 228. The ICMP manager 228 then generates an ASM 100 including the application identifier and the data in the vendor-specific extension 112.
At decisional step 302, the SAM 224 makes a determination regarding whether the mobile unit 14 supports label switching and may be run as a label edge router. If the mobile unit 14 does not support label switching, the method follows the No branch from decisional step 302 and comes to an end. However, if the mobile unit 14 supports label switching, the method follows the Yes branch from decisional step 302 to decisional step 304.
At decisional step 304, the SAM 224 makes a determination regarding whether the serving node 24 supports label switching. If the serving node 24 does not support label switching, the method follows the No branch from decisional step 304 and comes to an end. However, if the serving node 24 supports label switching, the method follows the Yes branch from decisional step 304 to step 306.
At step 306, the SAM 224 generates a label request for the application 222 to the ICMP manager (ICMPM) 228. At step 308, the ICMPM 228 generates an ASM 100 with the label request in the vendor-specific extension 112 and transmits the ASM 100 to the foreign agent 70. At step 310, the foreign agent 70 receives the ASM 100 and extracts the data from the vendor-specific extension 112. At step 312, the foreign agent 70 updates the binding record and sends the label request to the label server 18c through the network 22.
At step 314, the label server 18c allocates a set of labels for the mobile unit 14 and sends a label response comprising the allocated labels to the foreign agent 70 through the network 22. At step 316, the foreign agent 70 associates the label information in the binding record based on the label response from the label server 18c. At step 318, the foreign agent 70 generates an AAM 120 with the label response in the vendor-specific extension 134 and transmits the AAM 120 to the mobile unit 14.
At step 320, the mobile unit 14 receives the AAM 120 from the foreign agent 70 and extracts the data from the vendor specific extension 134. At decisional step 322, the ICMPM 228 determines whether the data types 144 for the data extensions 140 in the vendor-specific extension 134 are valid based on a comparison to data types 144 in the service type table 236. If the data types 144 are not valid, the method follows the No branch from decisional step 322 to step 324. At step 324, the ICMPM 228 discards the data from the vendor-specific extension 134, and the method comes to an end. In this situation, the expiration of a timer at the foreign agent 70 may indicate to the foreign agent 70 that the mobile unit 14 has not responded in a timely manner. The foreign agent 70 may then attempt to re-send the AAM 120.
Returning to decisional step 322, if the data types 144 are valid, the method follows the Yes branch from decisional step 322 to step 326. At step 326, the ICMPM 228 provides the label response to the SAM 224. At step 328, the SAM 224 extracts the label information from the label response and stores the labels allocated by the label server 18c in the forwarding information base 248.
At step 330, the SAM 224 sends a “ready” message to the appropriate application 222. At step 332, the application 222 requests a label assignment from the SAM 224. At step 334, the SAM 224 determines flow characteristics for this particular flow for the application 222 and selects a flow label for the application 222 from the forwarding information base 248.
At step 336, the SAM 224 provides the label assignment to the ICMPM 228. At step 338, the ICMPM 228 generates an ASM 100 with the label assignment in the vendor-specific extension 112 and transmits the ASM 100 to the foreign agent 70. At step 340, the foreign agent 70 receives the ASM 100 and extracts the data from the vendor-specific extension 112.
At decisional step 342, the foreign agent 70 makes a determination regarding whether a label-switched path between the serving node 24 and a network edge router should be established. If a label-switched path should be established, the method follows the Yes branch from decisional step 342 to step 344. At step 344, the foreign agent 70 triggers the establishment of the label-switched path between the serving node 24 and the network edge router. The method then continues to step 346. Returning to decisional step 342, if a label-switched path does not need to be established, the method follows the No branch from decisional step 342 to step 346.
At step 346, the foreign agent 70 updates the binding table 72 and generates an AAM 120 with the selected label in the vendor-specific extension 134. At step 348, the mobile unit 14 receives the AAM 120 and extracts the data from the vendor-specific extension 134. At step 350, the SAM 224 updates the forwarding information base 248, informs the flow classifier 244 of the selected label, and sends the selected label to the appropriate application 222, at which point the method comes to an end. At this point, the application 222 may send and receive label-switched traffic to and from the network 22 through the serving node 24. Also, another application 222 may then request and be provided with a label assignment beginning with step 332.
At step 408, the serving node 24 performs a label swap on the labeled packet based on data retrieved from a forwarding information base in the serving node 24. This results in the replacement of a mobile-side label with a network-side label. The serving node 24 may also apply Quality of Service (QoS) processing at this point. At step 410, the serving node 24 forwards the packet to the network 22. At step 412, the network 22 removes, or pops, the label stack based on data retrieved from a forwarding information base in the network 22. At step 414, the network 22 forwards the packet to the appropriate destination, at which point the method comes to an end.
At step 456, the serving node 24 performs a label swap based on data retrieved from a forwarding information base in the serving node 24. This results in the replacement of a network-side label with a mobile-side label. The serving node 24 may also apply QoS processing at this point. At step 458, the serving node 24 forwards the packet to the mobile unit 14. At step 460, the flow classifier 244 looks up the label for the packet in the forwarding information base 248. At step 462, the flow classifier 244 removes, or pops, the label stack based on the data from the forwarding information base 248. At step 464, the flow classifier 244 forwards the packet to the appropriate application 222, at which point the method comes to an end.
In this way, the mobile unit 14 may differentiate between individual flows from different applications 222 that terminate at or beyond the mobile unit 14. The mobile unit 14 can, therefore, assign labels that may be used by the mobile unit 14, the serving node 24 and the network 22 to provide differentiated QoS levels to each individual flow.
In addition, because each mobile unit 14 provides flow classification and labeling, the processing load is distributed among the mobile units 14. This relieves much of the burden on the resources of the serving node 24 and results in an increased capacity such that the serving node 24 may support a greater number of sessions.
Furthermore, the mobile unit 14 may assign and/or modify the characteristics of individual flows in real-time, as opposed to relying on a network service provider to perform this task. Thus, in accordance with the service level agreement for the mobile unit 14, the mobile unit 14 may modify flow characteristics such as traffic type, data rate type, throughput, latency, burst size, error rate, and any other suitable characteristics for each flow for the mobile unit 14. The mobile unit 14 may also use this capability in order to establish service level agreements with users 54.
Although the present invention has been described with several embodiments, various changes and modifications may be suggested to one skilled in the art. It is intended that the present invention encompasses such changes and modifications as fall within the scope of the appended claims.
Holur, Balaji S., King, Warren T., Derrick, Charles J.
Patent | Priority | Assignee | Title |
9185186, | Dec 28 2011 | Samsung Electronics Co., Ltd. | Method of implementing content-centric network (CCN) using internet protocol (IP)-based network in gateway, and gateway |
9258220, | Jul 05 2011 | NEC Corporation | Communication system, node, control server, communication method and program |
9271261, | Oct 08 2010 | T-MOBILE INNOVATIONS LLC | Wireless geographic routing protocol |
Patent | Priority | Assignee | Title |
5535210, | Jul 29 1994 | Motorola, Inc.; Motorola, Inc | Method and system for resolution of channel access in data transmission systems |
5568478, | Jul 14 1993 | A TECOM GMBH; Ascom Tech AG | System for processing data structures in a node of a communication network |
5586121, | Apr 21 1995 | Hybrid Patents Incorporated | Asymmetric hybrid access system and method |
5610910, | Aug 17 1995 | RPX CLEARINGHOUSE LLC | Access to telecommunications networks in multi-service environment |
5784442, | Feb 02 1996 | Telefonaktiebologet LM Ericsson (publ) | System and method for real-time billing in a radio telecommunications network |
5818845, | Apr 21 1995 | Hybrid Patents Incorporated | Hybrid access system having channel allocation and prioritized polling schemes |
5828666, | Aug 17 1995 | RPX CLEARINGHOUSE LLC | Access to telecommunications networks in multi-service environment |
5991292, | Mar 06 1997 | RPX CLEARINGHOUSE LLC | Network access in multi-service environment |
6005580, | Aug 22 1995 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | Method and apparatus for performing post-process antialiasing of polygon edges |
6075792, | Jun 16 1997 | InterDigital Technology Corporation | CDMA communication system which selectively allocates bandwidth upon demand |
6115370, | May 26 1998 | QUARTERHILL INC ; WI-LAN INC | Method and system for protocols for providing voice, data, and multimedia services in a wireless local loop system |
6327254, | Oct 14 1997 | WSOU Investments, LLC | Method for bandwidth sharing in a multiple access system for communications networks |
6408001, | Oct 21 1998 | Lucent Technologies Inc. | Method for determining label assignments for a router |
6452942, | May 20 1999 | CLUSTER, LLC; Optis Wireless Technology, LLC | System and method for providing wireless local loop access using an access multiplexer |
6480712, | Dec 21 1999 | Sharp Laboratories of America, Inc. | System and method for enhanced text message tracking in a wireless communication network |
6501741, | Jan 28 1998 | Nokia Technologies Oy | Method supporting the quality of service of data transmission |
6564059, | Oct 11 2000 | Lucent Technologies Inc. | Modification of link identifier to include routing label that allows base station message routing to serving processor |
6587457, | Mar 31 1998 | Nokia Mobile Phones Ltd. | Method for connecting data flows |
6608832, | Sep 25 1997 | Telefonaktiebolaget LM Ericsson | Common access between a mobile communications network and an external network with selectable packet-switched and circuit-switched and circuit-switched services |
6621793, | May 22 2000 | Sony Corporation | Application influenced policy |
6665537, | Jan 21 1999 | Qualcomm, Incorporated; QUALCOMM INCORPORATED A DELAWARE CORPORATION | Automatic invocation of mobile IP registration in a wireless communication network |
6680943, | Oct 01 1999 | RPX CLEARINGHOUSE LLC | Establishing bi-directional communication sessions across a communications network |
6690679, | Jun 16 1998 | Nokia Mobile Phones, Ltd. | Method and system for bearer management in a third generation mobile telecommunications system |
6711141, | Jun 07 1999 | NOKIA SOLUTIONS AND NETWORKS OY | Controlling PDP contexts in mobile stations |
6721269, | May 25 1999 | Lucent Technologies, Inc. | Apparatus and method for internet protocol flow ring protection switching |
6731617, | Jul 16 1999 | Apple Inc | Tunneling signaling method and apparatus |
6731639, | Mar 30 2000 | RPX CLEARINGHOUSE LLC | Multi protocol label switching for multiple access segments |
6778496, | Jun 07 2000 | WSOU Investments, LLC | Distributed call admission and load balancing method and apparatus for packet networks |
6957071, | Jul 18 2001 | Cisco Technology, Inc.; Cisco Technology, Inc | Method and system for managing wireless bandwidth resources |
20010027490, | |||
20020064164, | |||
20020067704, | |||
20020105922, | |||
20020122432, | |||
20040032844, | |||
WO9844639, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 19 2001 | HOLUR, BALAJI S | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018724 | /0078 | |
Mar 19 2001 | KING, WARREN T | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018724 | /0078 | |
Mar 19 2001 | DERRICK, CHARLES J | Cisco Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018724 | /0078 | |
Nov 10 2005 | Cisco Technology, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Mar 18 2013 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
May 24 2017 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
May 21 2021 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Nov 24 2012 | 4 years fee payment window open |
May 24 2013 | 6 months grace period start (w surcharge) |
Nov 24 2013 | patent expiry (for year 4) |
Nov 24 2015 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 24 2016 | 8 years fee payment window open |
May 24 2017 | 6 months grace period start (w surcharge) |
Nov 24 2017 | patent expiry (for year 8) |
Nov 24 2019 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 24 2020 | 12 years fee payment window open |
May 24 2021 | 6 months grace period start (w surcharge) |
Nov 24 2021 | patent expiry (for year 12) |
Nov 24 2023 | 2 years to revive unintentionally abandoned end. (for year 12) |