This description relates to directing packets among base stations and networks.
Wireless devices such as cellular telephones, laptops, and Personal Digital Assistants (PDAs) are ubiquitous in today's culture of wireless communications and networking. Cellular wireless communications systems are designed to serve multiple wireless-enabled devices distributed over a large geographic area by dividing the area into regions called “cells”. At or near the center of each cell, a network-side access device (e.g., an access point) is located to serve client devices located in the cell and commonly referred to as “access terminals.” An access terminal generally establishes a call, also referred to as a “communication session,” with an access point to communicate with other entities (e.g., servers) in the network. Often the access terminals are mobile while the access points are stationary points of communication like cellular base stations. As wireless networking has moved into homes, businesses, vehicles, and other environments, local wireless access points have proliferated.
In general the disclosure features methods for integrating a relatively large numbers of local wireless access points into, for example, a conventional cellular wireless communications systems, such a system being composed of stationary cellular base stations interfaced to a core network, in such a way that the behavior of the existing system need not be modified to accommodate the added population of local wireless access points. The method makes the access points in the aggregate appear as one or possibly just a few stationary cellular base stations.
In general, one aspect of subject matter described in this specification can be embodied in a method that includes modifying one or more communications protocol packets being passed between one or more portable base stations and a core network, such that the core network considers the portable base stations as a single base station. Other implementations of this aspect include corresponding systems, apparatus, and computer program products.
These and other implementations can optionally include one or more of the following features. The method may further include receiving one packet from one portable base station of a plurality of portable base stations. The first packet may include an identifier that uniquely identifies the portable base station, a handset in communication with the portable base station and a communication session established between the handset and the core network. The method may also include replacing the identifier with another identifier to form another packet that identifies the source of the first packet as an aggregate of portable base stations. The method may also include providing the second packet to the core network, wherein the core network considers the plurality of portable base stations to be the aggregate of portable base stations.
The method may further include receiving a packet from the core network for delivery to a handset in communication with a portable base station that is included in the plurality of portable base stations. The packet may include an identifier that identifies an aggregate of portable base stations, the handset and a communication session between the handset and the core network. The method may also include replacing the identifier with another identifier, which identifies a destination portable base station, to form another packet. The method may also include providing the second packet to the identified destination portable base station.
Replacing one identifier may include inspecting one or more protocol packets passing between the core network and the portable base stations. The method may include storing the first and second identifiers as entries in a table. One or more communication protocol packets may include a data packet, the data packet includes digital content; a voice packet, wherein the voice packet includes audio content; or a control message packet, wherein the control message packet includes commands. One or more communication protocol packet may comply with the Radio Access Network Application Part (RANAP) protocol.
The foregoing method may be implemented as a computer program product comprised of instructions that are stored on one or more machine-readable media, and that are executable on one or more processing devices. The foregoing method may be implemented as an apparatus or system that includes one or more processing devices and memory to store executable instructions to implement the method. A graphical user interface may be generated that is configured to provide a user with access to and at least some control over stored executable instructions to implement the method.
The details of one or more examples are set forth in the accompanying drawings and the description below. Further features, aspects, and advantages are apparent in the description, the drawings, and the claims.
The FAPs 216a-c are in communication with a mobile operator's core network 248 through a wide area network 214. In some implementations, the wide area network 214 may incorporate one or more hardwire and wireless transmission techniques (e.g., wire (copper), optical fiber, radio frequency (microwave), etc.). Along with public communication links (e.g., the Internet), the communication network 114 may use one or more private communication links (e.g., dedicated, T1, T3, E1), or a combination of public and private links. Private communications between the core network 214 and the FAPs 216a-c is facilitated by using a security gateway 246 so that communication through a virtual private network using encrypted tunnels between the FAP access gateways 228a-c and the security gateway 246 may be implemented.
In some network architectures, there is a centrally located RNC, e.g., RNC 210, which communicate the RNs 224a-c in the FAPs. Such an arrangement may suffer from increased communication latencies due to wide area network 214. The increased latency results in long control loops between a centrally located RNC and the RNs 224a-c may result in poor wireless performance. In one embodiment of the FAP the RNC functions 226a-c are joined with the RN functions 224a-c as shown in
In many implementations, the core network 248 may be capable of being connected with a relatively small number of RNCs. For example, the core network 148 may be designed for interacting with a small number of RNCs (e.g. ten RNCS) which in turn control a small number of fixed location base stations (e.g., one hundred base stations in total). As such, the core network 148 may have difficulties recognizing a considerably larger number of FAPs (e.g., thousands of FAPs). In some implementations it may be possible to introduce new functionality to the core network specifically to support a large network of FAPs. For example, messaging protocols or changes to conventional messaging protocols to address FAP-specific functions or more memory capacity for handling a larger number of FAP IP addresses, cell identifiers, RNC identifiers and location area identifiers.
The communication methods and protocols used on interface 362 between the core network 348 and the FAP aggregator 350 are typically equivalent to the communication methods and protocols used by interface 360 between the core network 348 and traditional RNC 310 such that few, if any, changes to the existing core network equipment are needed. However, in some implementations of a FAP aggregator the communication methods and protocols used on interface 364 between the FAP aggregator 350 and the FAPs 316a-c may be different from the communication methods and protocols used on interface 362 between the core network 348 and the FAP aggregator 350. In such implementations the communication methods and protocols used on interface 364 may not conform to one or more standard communication methods and protocols used in conventional cellular networks that include large stationary base stations. However, in one or more embodiments, the communication methods and protocols used by interface 364 between the FAP aggregator 350 and the FAPs 316a-c may be substantially equivalent to the communication methods and protocols used on interface 362 between the core network 348 and the FAP aggregator 350. By maintaining equivalent interfaces, the FAPs are able to use communications protocols that are established and have been tested in cellular networks and the FAP aggregator 350 is able to perform its functions by just altering a few fields in the data passing between the core network and the FAPs, rather than substantially or completely translating the data from one protocol to another., thereby allowing for a relatively simple implementation of the FAP aggregator.
Therefore, one main function of the FAP aggregator is to hide the many-end-point topology of the network of FAPs from the core network 348. The FAP aggregator 350 performs this function by mapping various identifiers used in the core network protocol by interface 362, which are appropriate for a small number of RNCs, to a set of identifiers used by interface 364 which are appropriate for a relatively larger number of RNCs.
In cellular network implementations there typically are different types of communications traffic between the core network and the mobile handset, and each may have a different packet format. For example, there can be control message packets, voice payload packets and data packets. Each packet format may have a different method for encoding RNC addresses and mobile handset identifiers. The FAP aggregator may have different mapping tables for each different type of communications traffic. These mapping tables may be created dynamically from information contained in the control message packets. For example, in
FAP-specific functionality absent from conventional cellular networks can be added to the FAP aggregator by introducing additional messaging protocols between the FAP aggregator and the FAPs.
The FAP device manager 552a-b can provide one central point for the configuration of the whole network of FAPs. Radio parameters such as carrier frequency and scrambling code and mobility parameters such as location area can be coordinated geographically to minimize interference between FAPs. The FAP device manager 552a-b can be used to store a list of authorized mobile handset identifiers for each FAP in a centralized data base. Having a centralized data base of authorized mobile handset identifiers per FAP enables the implementation of centrally controlled mobile handset access policies. For example, in
The connection control protocol assigns an identifier to each communication direction at the beginning of a mobile handset registration or at the beginning of a call from or to a mobile handset. These identifiers are called signaling connection identifiers. The connection control protocol inspection function 606 makes an entry in control path mapping table 610 when the signaling connection identifiers are assigned. The table entry contains the signaling connection identifier for each communication direction, the mobile handset identifier, a transport address for the FAP in communication with the mobile handset and a transport address for the core network. When a mobile handset registration occurs, the connection control protocol inspection function 606 also makes an entry in the handset to FAP association table 618. Transport protocol termination function 604 and transport protocol termination function 614 use control path mapping table 610 to alter the transport addresses in the control message packets. For example, since the core network is effectively in communication with the FAP aggregator as one large RNC, a control message packet from the core network to the FAP will contain the transport address of the FAP aggregator. Transport protocol termination function 614 replaces the transport address of the FAP aggregator with the transport address of the FAP for every control message going to a mobile handset connected to that FAP. In addition to control messages used to initiate and terminate mobile handset calls, there are control messages used for RNC maintenance functions and for handset paging. These messages are addressed to the RNC itself. The connection control protocol inspection function 606 directs these messages to a centralized RNC control function. If the message is a mobile handset page, then the handset to FAP association table 618 is consulted to direct the paging message to the appropriate FAP via control path protocol termination function 614.
The radio access protocol assigns transport addresses to the data path at the beginning of a call from or to a mobile handset. If the call is a circuit switched call (e.g. a voice call) then a circuit data path transport address is assigned to each direction of the call. If the call is a packet switched call (e.g. for web browsing) then a packet data path transport address is assigned to each direction of the call. The radio access protocol inspection function 612 makes an entry in data path mapping table 620 when the data path transport addresses are assigned. In addition, the data path transport address assignment messages themselves are altered so that the core network and the FAP get the correct transport addresses in the radio access protocol messages that they receive. During a circuit switched call the circuit data path address mapping function 622 replaces transport addresses in the packets in each direction with the appropriate transport addresses from data path mapping table 620. During a packet switched call the packet data path address mapping function 624 replaces transport addresses in the packets in each direction with the appropriate transport addresses from data path mapping table 620. In this way, the FAP aggregator and the FAPs function together as a distributed RNC so that core network functions do not need to be altered to accommodate a large network of FAPs.
The exemplary implementation of a FAP aggregator 600 applies to a UMTS cellular network. Other types of cellular networks, such as GSM and CDMA-2000, would use similar techniques to implement the FAP aggregator functions to hide the many-end-point topology of the network of FAPs from the core network, while still retaining the basic core network protocols on the communication links from the FAPs to the wide area network. The functions of control message protocol inspection and control path and data path transport address mapping are applicable to any cellular network.
The FAP aggregator 600 may be implemented as a server or a portion of a server that executes the FAP aggregator stored program. However, one or more other types of computing devices may be implemented individually or in combination with such a server to execute the FAP aggregator functions. To store the program and the mapping table information, the FAP aggregator 600 may include mass media storage devices (e.g., hard drive, CD-ROM, etc.) However, in some implementations, storage may be provided by memory (e.g., random access memory (RAM), dynamic RAM (DRAM), static RAM (SRAM), etc.) individually or in combination with mass media storage devices.
In
In some implementations the basic transport mechanism from the core network to conventional RNCs may not match the basic transport mechanism used by the wide area network. An example of this situation is when the core network is using ATM transport and the wide area network is using IP transport. In such cases the FAP aggregator may be connected to the core network via an ATM to IP gateway. Such gateways are well known in the art. The ATM to IP gateway could, for example, be integrated with the FAP aggregator or it could be a separate device inserted between the core network and the FAP aggregator.
The techniques described herein can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The techniques can be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
Method steps of the techniques described herein can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and apparatus of the invention can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). Modules can refer to portions of the computer program and/or the processor/special circuitry that implements that functionality.
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in special purpose logic circuitry.
To provide for interaction with a user, the techniques described herein can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer (e.g., interact with a user interface element, for example, by clicking a button on such a pointing device). Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
The techniques described herein can be implemented in a distributed computing system that includes a back-end component, e.g., as a data server, and/or a middleware component, e.g., an application server, and/or a front-end component, e.g., a client computer having a graphical user interface and/or a Web browser through which a user can interact with an implementation of the invention, or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet, and include both wired and wireless networks.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact over a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Other implementations are within the scope of the following claims. The techniques described herein can be performed in a different order and still achieve desirable results.
Number | Name | Date | Kind |
---|---|---|---|
6711144 | Kim et al. | Mar 2004 | B1 |
6731618 | Chung et al. | May 2004 | B1 |
6741862 | Chung et al. | May 2004 | B2 |
6781999 | Eyuboglu et al. | Aug 2004 | B2 |
7170871 | Eyuboglu et al. | Jan 2007 | B2 |
7200391 | Chung et al. | Apr 2007 | B2 |
7242958 | Chung et al. | Jul 2007 | B2 |
7277446 | Abi-Nassif et al. | Oct 2007 | B1 |
7299278 | Ch'ng | Nov 2007 | B2 |
7558356 | Pollman et al. | Jul 2009 | B2 |
7558588 | To et al. | Jul 2009 | B2 |
20020196749 | Eyuboglu et al. | Dec 2002 | A1 |
20030100311 | Chung et al. | May 2003 | A1 |
20030203716 | Takahashi et al. | Oct 2003 | A1 |
20040228296 | Lenzini et al. | Nov 2004 | A1 |
20050213555 | Eyuboglu et al. | Sep 2005 | A1 |
20050243749 | Mehrabanzad et al. | Nov 2005 | A1 |
20050245279 | Mehrabanzad et al. | Nov 2005 | A1 |
20060067422 | Chung | Mar 2006 | A1 |
20060067451 | Pollman et al. | Mar 2006 | A1 |
20060126509 | Abi-Nassif | Jun 2006 | A1 |
20060159045 | Ananthaiyer et al. | Jul 2006 | A1 |
20060198336 | Major et al. | Sep 2006 | A1 |
20060240782 | Pollman et al. | Oct 2006 | A1 |
20060291420 | Ng | Dec 2006 | A1 |
20060294241 | Cherian et al. | Dec 2006 | A1 |
20070026884 | Rao | Feb 2007 | A1 |
20070058628 | Rao et al. | Mar 2007 | A1 |
20070077948 | Sharma et al. | Apr 2007 | A1 |
20070097916 | Eyuboglu et al. | May 2007 | A1 |
20070105527 | Nylander et al. | May 2007 | A1 |
20070115896 | To et al. | May 2007 | A1 |
20070140172 | Garg et al. | Jun 2007 | A1 |
20070140184 | Garg et al. | Jun 2007 | A1 |
20070140185 | Garg et al. | Jun 2007 | A1 |
20070140218 | Nair et al. | Jun 2007 | A1 |
20070155329 | Mehrabanzad et al. | Jul 2007 | A1 |
20070178880 | Saito et al. | Aug 2007 | A1 |
20070220573 | Chiussi et al. | Sep 2007 | A1 |
20070230419 | Raman et al. | Oct 2007 | A1 |
20070238442 | Mate et al. | Oct 2007 | A1 |
20070238476 | Raman et al. | Oct 2007 | A1 |
20070242648 | Garg et al. | Oct 2007 | A1 |
20070243872 | Gallagher et al. | Oct 2007 | A1 |
20070248042 | Harikumar et al. | Oct 2007 | A1 |
20070293222 | Vikberg et al. | Dec 2007 | A1 |
20080003988 | Richardson | Jan 2008 | A1 |
20080013488 | Garg et al. | Jan 2008 | A1 |
20080062925 | Mate et al. | Mar 2008 | A1 |
20080065752 | Ch'ng et al. | Mar 2008 | A1 |
20080069020 | Richardson | Mar 2008 | A1 |
20080069028 | Richardson | Mar 2008 | A1 |
20080076398 | Mate et al. | Mar 2008 | A1 |
20080117842 | Rao | May 2008 | A1 |
20080119172 | Rao et al. | May 2008 | A1 |
20080120417 | Harikumar et al. | May 2008 | A1 |
20080132239 | Khetawat et al. | Jun 2008 | A1 |
20080139203 | Ng et al. | Jun 2008 | A1 |
20080146232 | Knisely | Jun 2008 | A1 |
20080151843 | Valmikam et al. | Jun 2008 | A1 |
20080152059 | Suemitsu et al. | Jun 2008 | A1 |
20080159236 | Ch'ng et al. | Jul 2008 | A1 |
20080162924 | Chinitz et al. | Jul 2008 | A1 |
20080162926 | Xiong et al. | Jul 2008 | A1 |
20080253550 | Ch'ng et al. | Oct 2008 | A1 |
20080254792 | Ch'ng | Oct 2008 | A1 |
20080259835 | Venkatachalam et al. | Oct 2008 | A1 |
20090034440 | Samar et al. | Feb 2009 | A1 |
20090082020 | Ch'ng et al. | Mar 2009 | A1 |
20090088155 | Kim | Apr 2009 | A1 |
20090116445 | Samar et al. | May 2009 | A1 |
20090154447 | Humblet | Jun 2009 | A1 |
20090156165 | Raghothaman et al. | Jun 2009 | A1 |
20090156195 | Humblet | Jun 2009 | A1 |
20090156218 | Garg et al. | Jun 2009 | A1 |
20090163202 | Humblet et al. | Jun 2009 | A1 |
20090163216 | Hoang et al. | Jun 2009 | A1 |
20090163238 | Rao et al. | Jun 2009 | A1 |
20090164547 | Ch'ng et al. | Jun 2009 | A1 |
20090168766 | Eyuboglu et al. | Jul 2009 | A1 |
20090168788 | Den et al. | Jul 2009 | A1 |
20090170440 | Eyuboglu et al. | Jul 2009 | A1 |
20090170475 | Ch'Ng et al. | Jul 2009 | A1 |
20090170520 | Jones | Jul 2009 | A1 |
20090170547 | Raghothaman et al. | Jul 2009 | A1 |
20090172169 | Ch'Ng et al. | Jul 2009 | A1 |
20090172397 | Kim | Jul 2009 | A1 |
20100091763 | Thompson | Apr 2010 | A1 |
20110176526 | Jones | Jul 2011 | A1 |
Number | Date | Country |
---|---|---|
1307788 | Aug 2001 | CN |
1555637 | Dec 2004 | CN |
101946556 | Jan 2011 | CN |
1868325 | Dec 2007 | EP |
2452688 | Mar 2009 | GB |
2468260 | Sep 2010 | GB |
2468260 | Aug 2012 | GB |
2406KOLNP2010 | Nov 2011 | IN |
WO9967967 | Dec 1999 | WO |
WO0074402 | Dec 2000 | WO |
WO 2005120101 | Dec 2005 | WO |
WO 2009088708 | Jul 2009 | WO |
Entry |
---|
International Search Report and Written Opinion from PCT application No. PCT/US2008/087659, mailed Mar. 20, 2009 (20 pages). |
International Preliminary Report on Patentability from PCT application No. PCT/US2008/087659, mailed Jul. 15, 2010 (9 pages). |
Amendment filed in corresponding Chinese application No. 200880127209.7 on Apr. 25, 2011 (19 pages). |
Response to Office action from United Kingdom application No. 1011043.5 issued on Jan. 17, 2012, response filed Mar. 14, 2012 (9 pages). |
Indian Publication Notice from Indian application No. 2406/KOLNP/2010A issued Nov. 25, 2011 (1 page). |
Office action from United Kingdom application No. 1011043.5 issued on Mar. 30, 2012 (2 pages). |
Office action from United Kingdom application No. 1011043.5 issued on Jan. 17, 2012 (2 pages). |
USPTO Non Final Office Action in U.S. Appl. No. 13/073,512, dated Jan. 31, 2013, 7 pages. |
Response to Office action from United Kingdom application No. 1011043.5 issued on Mar. 30, 2012, response filed May 21, 2012 (14 pages). |
Examination Report with English translation from Chinese application No. 200880127209.7 issued Oct. 10, 2012 (15 pages). |
Number | Date | Country | |
---|---|---|---|
20090170520 A1 | Jul 2009 | US |