# Patent

## Title
Modular implementation of a protocol in a network device

## Abstract

A system includes a gateway node that contains modular cards that separately implement control and data planes of a network protocol. The separate data and control cards provide for improved system reliability and improved flexibility in managing bandwidth. Control or data cards can be added to the gateway node as needed based on system load.

## Background
RELATED APPLICATION
This application is a continuation of U.S. patent application Ser. No. 10/374,712, filed Feb. 27, 2003, which is incorporated herein by reference.


BACKGROUND OF THE INVENTION
A. Field of the Invention
The present invention relates generally to communication networks, and more particularly, to implementing routing protocols in a wireless network.
B. Description of Related Art
Global System for Mobile Communications (GSM) is a leading digital wireless communications standard. A basic GSM network is designed for voice traffic. GPRS (General Packet Radio Service) is an enhancement to GSM that allows GSM operators to provide packet data services to their wireless subscribers.
Before GPRS, the radio capacity in a wireless network was conventionally used for calls and data transmission within the GSM network in a rather inefficient manner. For data transmission, the entire channel was occupied and was often insufficiently used. Through GPRS, more than one user may share the same channel, allowing for a more efficient allocation of channel resources. Additionally, a GPRS mobile phone may use several channels for data transfer, thus facilitating greater transfer speeds. Through GPRS, a mobile phone user could simultaneously make a call and receive an email message.
A GPRS network uses a number of protocols, one of which is the GPRS tunnel protocol (GTP). GTP is a protocol designed to tunnel user data and signaling information between nodes in a GPRS network. The GTP protocol includes a call-setup (signaling/control plane) component and a bearer traffic (data plane) component. Conventionally, the control plane component and the data plane component of the GTP protocol are handled by nodes in the GPRS network using a single integrated unit to handle processing for both the call setup and bearer traffic components of the protocol. This technique may lack flexibility and scalability.
Thus, it would be desirable to handle traffic in a GPRS network in a manner that is both flexible and modular from the standpoint of the GPRS network nodes.
SUMMARY OF THE INVENTION
Systems and methods consistent with principles of the invention include a router that supports removable cards, including separate cards for handling call setup/control functions and packet forwarding functions under protocols such as GTP.
One aspect of the invention is directed to a device for implementing a network protocol. The device includes a first type of interface card and a second type of interface card. The first type of interface card is configured to perform functions related to establishing communication sessions under the network protocol. The second type of interface card performs functions related to data transfer in a communication session established by the first type of interface card.
Another aspect of the invention is directed to a method. The method includes receiving a request that a call be completed in a network, the request being processed by a master control card in a gateway node. The method further includes transferring the request to a slave control card in the gateway node and initiating, by the slave control card, a communication session with a destination device. The method still further includes transferring the communication session to a data card in the gateway node when the communication session is initiated and forwarding data of the communication session via the data card.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate the invention and, together with the description, explain the invention. In the drawings,
FIG. 1 is a diagram illustrating an exemplary network consistent with principles of the invention;
FIG. 2 is a diagram illustrating the GGSN shown in FIG. 1 in additional detail;
FIG. 3 is a flow chart illustrating call setup and data transfer consistent with principles of the invention; and
FIG. 4 is a diagram illustrating a portion of the network of FIG. 1 relating to the call setup and data transfer illustrated in FIG. 3.



DETAILED DESCRIPTION
The following detailed description of the invention refers to the accompanying drawings. The same reference numbers may be used in different drawings to identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims and equivalents.
A router at a gateway GPRS support node (GGSN) includes a number of removable cards. The cards may include, in addition to media cards that physically connect to an external network, separate cards for handling call setup/control functions and packet forwarding functions under GTP. The cards are interchangeable and can be added and removed as needed.
Exemplary Network
FIG. 1 is a diagram illustrating an exemplary network 100 consistent with principles of the invention. Network 100 includes end-users 101A and 101B that communicate wirelessly with base stations 102A and 102B (collectively referred to as end-users 101 and base stations 102, respectively). End-users 101 may include any device that communicates wirelessly, such as, for example, wireless phones, personal digital assistants, or notebook computers. With any of these devices, users may communicate using wireless voice and/or data services.
Information received at base stations 102 may be forwarded through a number of network elements, including base transceiver stations (BTSs) 103 and base station controller (BSC) 104. BTSs 103 may be transceivers that receive and broadcast information via base stations 102. BSC 104 may be a packet-based device that connects BTSs 103 to a mobile switching center (MSC) 105, which may further connect to a network such as a public switched telephone network (PSTN) 110. In this manner, through MSC 105, end-users 101 can communicate with users on the PSTN 110.
BSC 104 may additionally connect to a serving GPRS support (SGSN) node 106 via an IP network 111. SGSN 106 can be thought of as a packet-switched mobile switching center. SGSN 106 delivers packets to end-users 101 within its service area. SGSN 106 may obtain profile data of GPRS end-users, detect new end-users in a given service area, process registration of new end-users, and keep a record of the location of an end-user user with a service area. Thus, in general, SGSN 106 performs mobility management functions for the mobile end-users within its service area.
GGSN 107 acts as an interface from SGSNs to external IP networks such as the public Internet 113, other mobile service provider's GPRS services, or private enterprise or corporate networks 114. GGSN 107 may maintain routing information that is necessary to tunnel protocol data units to SGSN 106, under, for example, GTP.
Additional details of the implementation of BTSs 103, BSC 104, MSC 105, and SGSN 106 will not be described further herein, as these elements are generally well known in the art.
GGSN 107
FIG. 2 is a diagram illustrating GGSN 107 in additional detail consistent with principles of the invention. GGSN 107 may be generally structured in a manner similar to a router. GGSN 107 may include one or more packet forwarding engines (PFEs) 204A, 204B . . . 204C (collectively referred to as PFEs 204) and a routing engine 202. In general, GGSN 107 receives one or more data streams from a physical link, processes the data streams to determine destination information, and transmits the data streams out on links in accordance with the destination information.
Routing engine 202 performs high-level management functions for GGSN 107. For example, routing engine 202 communicates with external networks and systems, such as networks 113 and 114, connected to GGSN 107 to exchange information regarding network topology. Routing engine 202 may create routing tables based on network topology information and create forwarding tables based on the routing tables and forwards the forwarding tables to PFEs 204. PFEs 204 may use the forwarding tables to perform route lookup for incoming packets (or other structured data units). Routing engine 202 also performs other general control and monitoring functions for GGSN 107.
One of PFEs 204, PFE 204B, is shown in FIG. 2 in detail. As shown, PFE 204B may contain flexible port concentrators (FPCs) 205A, 205B . . . 205C that have slots that hold one or more physical interface cards (PICs) 206A-206F in physical slots. PICs 206 may be modular and replaceable elements within FPCs 205. In one implementation, PICs 206 may also be hot-swappable, meaning that they may be inserted and removed while GGSN 107 is operating. Any one of PICs 206A-206F may be inserted in a slot of any of FPCs 205A-205C.
PICs 206 may perform a number of different functions. PICs 206E and 206F, for example, may be transport media cards that physically receive and transmit data on a network (connection not shown), such as network 112, 113, or 114 (FIG. 1). Each PIC 206E and 206F may be designed to communicate with one of many types of transport media, such as optical fiber or Ethernet cable. The transmitted and received data may be formatted according to one of several protocols, such as the synchronous optical network (SONET) standard, an asynchronous transfer mode (ATM) technology, or Ethernet. Different PICs 206E and 206F are designed to handle different types of transport media. For example, PIC 206E may be an interface for an optical link while PIC 206F may be an interface for an Ethernet link.
PICs 206A-206D may not be media cards. Instead, consistent with principles of the invention, these PICs may be interface cards designed to handle the processing for a transmission protocol, such as GTP. In this manner, PICs 206A-206D may augment the traditional routing functions of routing engine 202 and PFEs 204A-204C by allowing these elements to function as a GGSN.
PICs 206A-206D may include separate PICs for handling control functions and data delivery in GTP. These PICs are illustrated in FIG. 2 as GGSN control PICs 206A and 206B and GGSN data PICs 206C and 206D. In general, control PICs 206A and 206B handle call setup. Data PICs 206C and 206D handle packet forwarding once a call session has been setup by one of control PICs 206A and 206B.
FIG. 3 is a flow chart illustrating call setup and data transfer in GGSN 107 consistent with principles of the invention. In the example shown in FIG. 3, an end-user 101 initiates a call from a mobile phone requesting data, such as a corporate (enterprise) network, such as one of corporate networks 114. A salesman away from the office may, for example, remotely check a company email account via a cell phone. The call is initially transferred through BTS 103, BSC 104, and IP network 111 to SGSN 106.
SGSN 106, upon receiving the call, requests a GTP connection with GGSN 107 (Acts 301 and 302). At GGSN 107, the request is received at one of media PICs 206E and 206F, and transferred to one of control PICs 206A and 206B by one of PFEs 204 (Act 303). In one implementation, one of the control PICs 206A and 206B, such as control PIC 206A, is designated as a “master” control PIC. The master control PIC 206A receives all initial connection requests form SGSN 106.
Master control PIC 206A may then forward the received request to one of the other “slave” control PICs, such as control PIC 206B (Act 304). The slave control PIC 206B may then communicate with designated servers in corporate network 114 to establish that a mobile user/device is attempting to initiate a connection (Act 305). One of ordinary skill in the art will recognize that the slave control PIC may communicate with networks other than a corporate network. The use of a master control PIC and slave control PICs allows the master control PIC to efficiently balance incoming requests among the available slave control PICs. Corporate network 114 may include RADIUS (remote authentication dial-in user service) and DHCP (dynamic host configuration protocol) servers. RADIUS and DHCP servers are well known in the art. In general, a RADIUS server implements a client/server protocol through which the mobile end-user is authenticated to corporate network 114. The DHCP protocol dynamically assigns IP addresses to connecting mobile devices. Address assignment mechanisms other than DHCP may also be used.
When slave control PIC 206B finishes authentication and address assignment with the corporate network 114, it transfers the session setup information to one of data PICs 206C and 206D (Acts 306 and 307). The data PIC then validates the setup request and determines whether adequate resources are available for the request (Acts 308 and 309). If adequate resources are available, the data PIC accepts the setup request and informs the slave control PIC that it has accepted the setup request (Act 310). The slave control PIC may respond to the SGSN from which the request came informing it of the successful request (Act 311). If adequate resources are not available, the data PIC informs the slave control PIC of the lack of resources (Act 312). The slave control PIC may respond to the SGSN from which the request came informing it of the lack of resources (Act 313).
Assuming a successful request, the data PIC (i.e., PIC 206C or 206D) handles packet forwarding during the communication session between the end-user 101 and corporate network 114 (Act 313). More particularly, the selected data PIC may receive data from media cards 206E and 206F, reformat header information for the data (e.g., encapsulation/decapsulation), as appropriate, and transmit the data to an output one of the media cards 206E and 206F.
Although end-users 101 have been described as communicating with a corporate network 114, in other implementations, end-users 101 may communicate with other computing devices or networks.
FIG. 4 is a diagram illustrating a portion of network 100 relating to the call setup procedure illustrated in FIG. 3. The call session established with corporate network 114 is illustrated as GTP tunnel 401. Data PIC 206C or 206D on GGSN 107 forwards packets between SGSN 106 and corporate network 114. A DHCP server 402 and RADIUS server 403 are also shown in corporate network 114.
In GGSN 107, as described above, because the forwarding plane is implemented by data PICs that are separate from the control PICs, heavy forwarding activity will have minimal impact on call setup. If additional control or data PICs are required by GGSN 107, network administrators can simply add them to FPCs 205. Routing engine 202 may maintain a table that describes the state and the type of each of PICs 206. Accordingly, when a PIC is added or removed, routing engine 202 may update its internal table to reflect the change. Routing engine 202 may also forward the PIC change information to the control PICs.
Although a single SGSN 106 is shown in FIG. 1, in actual operation, GGSN 107 may communicate with multiple SGSNs in network 100.
CONCLUSION
A GGSN is described herein that includes components of a high-speed router that are adapted to establish communication sessions under GTP. The GGSN includes modular cards that separately implement control and data planes of GTP. The separate data and control cards provide for improved system reliability and improved flexibility in managing bandwidth.
Although the GGSN described above was primarily described as implementing the GTP protocol, other protocols could be similarly implemented.
The foregoing description of preferred embodiments of the invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.
Moreover, while a series of acts has been presented with respect to FIG. 3, the order of the acts may be different in other implementations consistent with principles of the invention. In particular, non-dependent acts may be implemented in parallel. Additionally, lines with arrows are used in the figures to generally illustrate the flow of data. In practice, embodiments consistent with the principles of the invention may send data on these lines in both directions.
No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used.
The scope of the invention is defined by the claims and their equivalents.

## Claims

1. A device comprising:
a first type of interface card to receive a request for a communication session;
a second type of interface card, different from the first type of interface card, to:
receive information, associated with the communication session, from the first type of interface card, and
handle data transfer related to the communication session based on the information;

a first element that includes a plurality of physical slots for receiving the first type of interface card and the second type of interface card,
the first type of interface card and the second type of interface card being independently insertable into any of the plurality of physical slots; and
a second element, different than the first element, to:
create a routing table based on network topology information,
create a forwarding table based on the routing table, and
forward the forwarding table to the first element.

2. The device of claim 1, where the device includes a gateway General Packet Radio Service support node (GGSN).

3. The device of claim 1, where the device includes a network device.

4. The device of claim 1, where the first element includes a plurality of flexible port concentrators, and
where the plurality of physical slots are included in the plurality of flexible port concentrators.

5. The device of claim 1, where the first type of interface card performs control plane processing in General Packet Radio Service Tunneling Protocol (GTP), and
where the second type of interface card performs data plane processing in GTP.

6. The device of claim 1, where the device further includes:
a third type of interface card, different from the first type of interface card and the second type of interface card, where the third type of interface card includes a transport media card that receives and transmits data on a network.

7. The device of claim 6, where the transport media card formats data based on one or more of:
a synchronous optical network (SONET) standard,
or
an Ethernet standard.

8. The device of claim 6, where the first type of interface card, the second type of interface card, and the third type of interface card are hot-swappable.

9. A method comprising:
receiving, by a first card in a first network device and from a second network device different than the first network device, a request to establish a communication session with a third network device, in a network, different than the first network device and the second network device;
communicating, by a second card in the first network device and based on receiving information associated with the request from the first card, with the third network device to authenticate a user associated with the second network device, the second card being different than the first card;
transmitting, by the second card to a third card in the first network device, session setup information associated with the communication session, the third card being different than the first card and the second card;
determining, by the third card and based receiving the session setup information, whether resources are available for the request;
forwarding, via the third card, data associated with the communication session based on a result of determining whether the resources are available for the request; and
transmitting, by the second card and to the second network device, information indicating whether the resources are available for the request,
where the first card and the second card are independently insertable into any of a plurality of slots in the first network device.

10. The method of claim 9, where the second network device includes a serving node.

11. The method of claim 9, where the first card and the second card are hot-swappable.

12. The method of claim 9, further comprising:
validating, by the third card, the request prior to determining whether the resources are available for the request; and
transmitting, by the third card and to the second card, information indicating whether the third card has accepted the request, based on determining whether the resources are available for the request.

13. The method of claim 9, where the first network device includes a gateway GPRS support node (GGSN), and
where the second network device includes a serving General Packet Radio Service (GPRS) support node (SGSN).

14. The method of claim 9, further comprising:
performing, by the first card, control plane functions in General Packet Radio Service Tunneling Protocol (GTP) for calls received by the second network device; and
performing, by the second card, data plane functions in GTP for communication sessions associated with the calls.

15. The method of claim 9, further comprising:
formatting, by the third card, the data, associated with the communication sessions, based on one or more of:
a synchronous optical network (SONET) standard, or
an Ethernet standard.

16. A system comprising:
a gateway node coupled to at least one serving node via a packet network, the gateway node including a plurality of physical slots to receive:
at least one first interface card to perform control plane functions in General Packet Radio Service Tunneling Protocol (GTP) for wireless calls received by the at least one serving node, and
at least one second interface card, different from the at least one first interface card, to receive information relating to communication sessions, associated with the wireless calls, from the at least one first interface card and to perform data plane functions in GTP for the communication sessions,
where the at least one first interface card and the at least one second interface card are independently insertable into any of the plurality of physical slots.

17. The system of claim 16, where the serving node includes a serving General Packet Radio Service (GPRS) support node (SGSN), and
where the gateway node includes a gateway GPRS support node (GGSN).

18. The system of claim 16, further comprising:
at least one third interface card, different from the at least one first interface card and the at least one second interface card, to receive and transmit data associated with the communication sessions.

19. The system of claim 18, where the at least one third interface card is to format the data based on one or more of:
a synchronous optical network (SONET) standard, or
an Ethernet standard.

20. The system of claim 18, where the at least one first interface card, the at least one second interface card, and the at least one third interface card are hot-swappable.