A typical wireless router or gateway provides an interface between two networks or two segments within a network. The wireless router typically includes a wireless interface (such as a wireless LAN or WAN interface) and one or more wired interfaces (such as an Ethernet interface). In one such case, the wireless router determines where to send information received through one of the interfaces, for example sending information received through the wired interface to a destination in a wireless network accessible through the wireless interface. Systems on either side of the router can use the connection provided by the router to communicate with one another. The systems communicating through the wireless router use compatible applications. The wireless router controls routing the information, but typically does not provide conversion of the data for incompatible applications.
The present invention provides methods and apparatus for implementing a network gateway supporting one or more service interfaces. In one implementation, a wireless gateway includes: a local network interface; a wireless interface; a controller connected to said local network interface and to said wireless interface; and one or more service interfaces connected to said local network interface and to said wireless interface; wherein each service interface provides data conversion between two services.
In another implementation, a method of network communication using a gateway includes: receiving a session request to open a network session from a client through a first interface of a gateway, wherein said session request indicates a communication service; selecting a network service that matches said communication service; and sending a service request to a network server through a second interface, wherein said network server supports said selected network service; wherein said selected network service has a corresponding service interface that provides data conversion between said selected network service and said communication service.
The present invention provides methods and apparatus for implementing a network gateway supporting one or more service interfaces. In one implementation, a wireless gateway includes two or more network interfaces and one or more service interfaces. The wireless gateway establishes a connection for devices connected to the network interfaces. The wireless gateway selects and uses a service interface to support communication between applications running on the respective devices.
In one example of one implementation, a wireless gateway is connected to a desktop computer through a network cable. The wireless gateway includes an antenna and wireless interface to support communication with a wireless network. A user of the computer activates a VoIP (Voice over IP) application to place a voice call to a recipient through the wireless network. The computer passes a request to open a VoIP session to the wireless gateway. The wireless gateway determines the available network services and selects a preferred network service. In this example, the wireless gateway determines that services for a circuit switched voice call and a circuit switched data call transporting an SIP call are both available, and selects the circuit switched voice call service for cost. The wireless gateway selects a service interface for protocol conversion between the VoIP application on the computer and the circuit switched voice call service of the wireless network. The wireless gateway opens a connection with the wireless network and to the recipient through the wireless network using the circuit switched voice call service. Once the connection is open, the VoIP application on the computer and the recipient can communicate through the wireless gateway. The selected service interface of the wireless gateway provides protocol conversion and transcoding to support sending data between the two participants of the session (e.g., using vocoders, such as G.729 and cellular telephony vocoders as appropriate for the selected service interface).
In this way, the computer and the recipient can communicate through the wireless gateway without using the same communication application or protocol. The service interface of the wireless gateway provides the conversion.
After opening a session between the user terminal 225 and a network service 205 through the gateway 215, the user terminal 225 and network service 205 send data to each other through the gateway 215. In sending data from the user terminal 225 to the network service 205, the user terminal 225 uses the application layer to generate data to send. The user terminal 225 uses the middleware layer to prepare the data for transmission (e.g., using TCP/IP for addressing and packetizing). The user terminal 225 uses the physical interface layer to send the data to the LAN interface 220. The LAN interface 220 passes the data to the gateway 215.
The gateway 215 uses the routing layer to determine the recipient of the received data. The gateway 215 uses the gateway services layer to process the data according to the determined recipient and matching protocol. For example, when the application layer of the user terminal 225 does not match the application layer of the network service 205 for the intended recipient (as established when the session was opened), the gateway 215 uses a service interface of the gateway service layer to convert data from one protocol or format to another. The gateway 205 uses the routing layer again to prepare the data for the public network interface 210 and then sends the data to the public network interface 210. The public network interface 210 passes the data to the network service 205.
The network service 205 uses the physical interface layer to receive the data from the physical network interface 210. The network service 205 uses the middleware layer to access the data (e.g., using TCP/IP to de-packetize the data). The network service 205 uses the application layer to process the received data. In one implementation, the network service 205 passes the data to a recipient (such as a client terminal of the network service 205). In another implementation, the network service 205 provides data processed by the middleware to a client terminal that includes the application layer.
The network service 205, gateway 215, and user terminal 225 use a similar process (in the reverse order) to send data from the network service 205 to the user terminal 225.
The gateway 300 includes an RJ-45 connection 325 and a LAN interface 330 to support a local wired connection. The RJ-45 325 connection and the LAN interface 330 are configured to support the LAN connection of the gateway 300. The LAN interface 330 operates similarly to typical LAN interfaces in routers or gateways. For sending signals, the LAN interface 330 provides signals to the RJ-45 connection 325. For receiving signals, the RJ-45 connection 325 provides a signal received from the LAN connection to the LAN interface 330 and on to a service interface, as described below.
The gateway 300 includes an antenna 335 and a wireless interface 340 to support a wireless connection. The antenna 335 and the wireless interface 340 are configured to support the air interface of the wireless connection. The wireless interface 340 provides support for sending and receiving signals through a wireless air interface, such as a CDMA interface. In one implementation, the wireless interface is a hardware subsystem of the controller or alternatively is a separate subsystem or component of the gateway 300. In one implementation, the wireless interface 340 is a typical radio interface supporting an air interface and includes: radio frequency (RF) components, a duplexer, a low noise amplifier (LNA), a bandpass filter (BPF), an isolator, and a power amplifier. The wireless interface 340 operates similarly to typical radio interfaces in wireless routers, handsets, or terminals supporting the air interface of the wireless interface 340. For sending signals, the wireless interface 340 provides modulated signals to the antenna 335. For receiving signals, the antenna 335 provides a signal received from the wireless connection to the wireless interface 340 and on to a service interface, as described below.
In other implementations, different local connections and interfaces can be provided to support different types or numbers of connections (e.g., an RJ-11 connection, an IEEE 802.3 connection, a 10/100 base-T Ethernet connection). Similarly, different or additional wireless interfaces can be provided (e.g., other cellular telephone network interfaces, PCS, or wireless telephony or data network interfaces).
The gateway 300 includes a collection of one or more service interfaces 345 to facilitate communication across the LAN and wireless connections. In one implementation, the service interfaces 345 are implemented as one or more interface components. In another implementation, the service interfaces 345 are included within the controller 305 (e.g., as software components). The LAN interface 330, the wireless interface 340, and the service interfaces 345 are interconnected, such as across a common bus.
In
As described above, a service interface provides protocol conversion and transcoding between two types of services. Similar data services on different platforms may operate differently. For example, while a LAN VoIP service and a WAN circuit switched service can both operate to provide wireless communication, the services operate differently. The LAN VoIP to WAN circuit service interface 350 provides compatibility between a LAN VoIP service and a WAN circuit switched service. Using this service interface, a user terminal connected to the wireless gateway 300 can interact with a WAN circuit switched service accessible through the wireless interface of the gateway 300. The independent services use the service interfaces of the gateway 300 to communicate.
In one example, a local terminal supports an SIP voice call (Session Initiation Protocol) service and an H.323 voice call service. Network services for voice calls available through a wireless connection include: a circuit switched voice call service, a circuit switched data call transporting an SIP call service, a circuit switched data call transporting H.323 call service, a packet switched data access with SIP call service, and a packet switched data access with H.323 call service. A wireless gateway providing service interfaces supporting communication between all of the services includes service interfaces for each of the combinations of these voice services, including: an SIP voice to circuit switched voice service interface, an SIP voice to circuit switched data transporting SIP service, etc. Alternatively, the wireless gateway provides service interfaces for a subset of these combinations.
In another implementation, a local terminal and gateway support one or more services other than voice services, such as an e-mail service. For example, a local terminal supports a POP/SMTP e-mail client service. The network services include: an Internet POP/SMTP e-mail server, a cellular telephone network SMS service (Short Message Service), and a WAP browser based web mail server. The gateway provides service interfaces for some or all of the combinations of the services between the local terminal and the network services.
Initially, a client or user terminal (e.g., a computer system or VoIP terminal) is connected to a wireless gateway, such as the wireless gateway 300 shown in
The client sends a session request to the wireless gateway, block 405. The client generates the session request to request the initiation of a communication session for a particular application or data service. The session request indicates the selected application or data service. In one example, the session request indicates a request to set up an SIP voice call.
The wireless gateway determines a matching network service, block 410. The wireless gateway decodes the received session request and determines the application indicated by the session request. The wireless gateway determines which network services are available, such as through status information received from the network. In one implementation, the wireless gateway maintains a table of network services provided by the network and the current status of each network service. If multiple network services are available, the wireless gateway uses selection parameters to select a network service, such as service quality, cost, reliability, preferences set by a user of the gateway, or preferences provided by the client or network service. The wireless gateway selects a service interface corresponding to the application of the session request and the selected network service. For example, the wireless gateway determines that a voice circuit switched call service is available through the network and selects a voice SIP to voice circuit switch service interface. In one implementation, if the application matches an available network service and a service interface is not needed (e.g., the protocols are the same), the wireless gateway relays the data for communication without conversion.
The wireless gateway sends a service request to the network, block 415. The service request indicates the selected network service and requests initiation of the network service from the service provider. In one implementation, the service request does not indicate the application of the user terminal for the session request, and so the network service provider is not informed of the application with which the network service will communicate. Similarly, in one implementation the wireless gateway does not indicate the specific network service to the user terminal. The wireless gateway sends the service request to the network through the antenna and wireless interface.
After receiving confirmation that the network service will be provided, the wireless gateway establishes a connection between the client and the network service, block 420. The network service sends a confirmation to the wireless gateway along with any connection information or session information needed to establish the connection and open the indicated session. The wireless gateway sets up the connection to the network. The wireless gateway prepares for communication across the connection, such as by activating transcoding components of the selected service interface. The wireless gateway sends a session confirmation to the client to indicate that the network service has accepted the initiation request and to inform the client of the network connection and session information established by the network service and the wireless gateway. The client begins the communication session in the application or data service of the client.
Once the session has begun, the wireless gateway provides conversion and transcoding of data to communicate between the client and the network service, block 425. In one implementation, the wireless gateway uses the selected service interface to provide conversions of control protocols, traffic (pay-load) data codings, both, or none, as appropriate. For data received from the client to be sent to the network service, the wireless gateway uses the selected service interface to transcode data and convert from the protocol of the application of the client to the protocol of the network service. Similarly, for data received from the network service to be transferred to the client, the wireless cable uses the selected service interface for transcoding and protocol conversion from the protocol of the network service to the protocol of the application of the client.
The various implementations of the invention are realized in electronic hardware, computer software, or combinations of these technologies. Some implementations include one or more computer programs executed by a programmable processor or computer. For example, referring to
The computer programs include executable code that is usually stored in a persistent storage medium and then copied into memory at run-time. The processor executes the code by retrieving program instructions from memory in a prescribed order. When executing the program code, the computer receives data from the input and/or storage devices, performs operations on the data, and then delivers the resulting data to the output and/or storage devices.
Various illustrative implementations of the present invention have been described. However, one of ordinary skill in the art will see that additional implementations are also possible and within the scope of the present invention. For example, while the above description focuses on implementations using voice call services, the gateway can support other services as well, such as email applications, web browsers, or media players. In another alternative implementation, the gateway does not include a wide area wireless interface, but instead includes a local or personal wireless interface (e.g., Wi-Fi, Bluetooth, UWB, etc.), or does not include a radio interface.
Accordingly, the present invention is not limited to only those implementations described above.
This application claims the benefit of U.S. Provisional Application No. 60/456625, filed Mar. 21, 2003, the disclosure of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60456625 | Mar 2003 | US |