RELATIONSHIP TO EXISTING APPLICATIONSThe present application claims priority from Provisional Patent Application No. 60/596,318 filed Sep. 15, 2005, the content of which is hereby incorporated by reference.
FIELD AND BACKGROUND OF THE INVENTIONThe present invention relates to peer-to-peer networks and, more particularly, but not exclusively, to a battery operated device communicating over a peer-to-peer network.
A communication network includes a transmission and switching fabric that connects a plurality of terminal devices. In a conventional network the intelligence of the network resides within the switching system, which keeps track of all the terminal devices and their addressing. In a peer-to-peer network the network intelligence is distributed among the terminal devices. Each terminal device must publicize its presence and addressing information to its peers of choice and keep track of the presence and addressing of the peers with which it may communicate.
Similarly, three types of application topologies can be defined: mainframe, client-server and peer-to-peer. In a mainframe topology the application is executed by the mainframe and the terminal devices are passive. In a client-server topology a part of the application is executed by the server, and another part is executed by the terminal devices. In a peer-to-peer topology almost all of the application is processed by the terminal devices and a server is commonly available for limited coordination functions.
There is a place for all types of networks and application topologies and each has its advantages and disadvantages. Generally, centralized networks are more robust but distributed networks are faster to establish and to develop. The main advantage of peer-to-peer networks and applications is that they can be established by users, at relatively low cost. While most of the networks are still conventional, peer-to-peer networks are becoming increasingly prevalent. Furthermore, a growing number of services are available only via peer-to-peer networks.
In an increasingly mobile society, cellular handset and other mobile communication devices offer a user the ability to be in contact with others or reachable at all times. Wireless networks, such as cellular networks, are usually conventional networks. However, mobile wireless devices should be capable of communicating over peer-to-peer networks as well.
One problem with mobile wireless devices communicating over peer-to-peer networks is the requirement that the peer device continuously present itself and interrogate the presence of its peers. For a battery-powered device this is a problem, because these operations quickly drain the battery. This frequent communication loads the wireless network and may be costly.
Furthermore, wireless devices tend to lose their radio connection with the network due to electromagnetic screening. This phenomenon is common in basements, tunnels, buildings with metal frames, etc. This not only prevents real-time communication but also adversely affects non-real-time communication, such as messaging, including immediate messaging services, short messaging services, etc., when provided over a peer-to-peer network.
When connecting two or more conventional networks, it is the responsibility of the networks to bridge differences of standards, formats and capabilities between the networks, and to make these differences transparent to the terminal devices. This functionality is usually provided by a bridge or a gateway device that is positioned between the networks to provide conversion services. This is obviously impossible when peer-to-peer networks are involved. A terminal device operating in two or more peer-to-peer networks must be equipped to support the specifications of each of the networks. However, when a peer-to-peer network spans two or more ‘physical’ networks, such as a fixed network and a wireless network, the requirements of the peer-to-peer network may be incompatible with one of the physical networks, typically being the cellular network.
There is thus a widely recognized need for, and it would be highly advantageous to have, a peer-to-peer network, and peer-to-peer devices, devoid of the above limitations.
SUMMARY OF THE INVENTIONAccording to one aspect of the present invention there is provided a network device containing a peer-communication module operative to communicate as a peer in a peer-to-peer network, a terminal-communication module operative to communicate with a user-terminal device, and a proxy module operative to perform peer operations in the peer-to-peer network on behalf of the user-terminal device.
According to another aspect of the present invention there is provided a network device additionally operative to initiate the peer operations.
According to yet another aspect of the present invention there is provided a network device additionally operative to register as a peer in the peer-to-peer network on behalf of the user-terminal device.
According to still another aspect of the present invention there is provided a network device additionally operative to provide call progress functionality on behalf of the user-terminal device.
According to yet another aspect of the present invention there is provided a network device additionally operative to provide the call progress functionality for at least one of incoming calls and outgoing calls.
Also according to another aspect of the present invention there is provided a network device additionally operative to provide ring-back signal to a calling party calling the user-terminal device on behalf of the user-terminal device.
Additionally according to another aspect of the present invention there is provided a network device additionally operative to selectively forward to the user-terminal device information received on behalf of the user-terminal device.
Further according to another aspect of the present invention there is provided a network device additionally operative to selectively forward information on behalf of the user-terminal device according to rules.
Still further according to another aspect of the present invention there is provided a network device additionally operative to receive updates of the rules.
Even further according to another aspect of the present invention there is provided a network device additionally operative to selectively accumulate information on behalf of the user-terminal device.
Even further according to yet another aspect of the present invention there is provided a network device additionally operative to selectively accumulate information on behalf of the user-terminal device according to rules.
Even further according to still another aspect of the present invention there is provided a network device additionally operative to selectively forward the accumulated information to the user-terminal device.
Additionally according to yet another aspect of the present invention there is provided a network device additionally operative to selectively forward the accumulated information to the user-terminal device according to rules.
Additionally according to still another aspect of the present invention there is provided a network device additionally operative to receive updates for the rules.
Also according to another aspect of the present invention there is provided a network device additionally operative to perform peer operations on behalf of the user-terminal device when the user-terminal device is offline.
Also according to still another aspect of the present invention there is provided a network device additionally operative to perform peer operations on behalf of the user-terminal device when the user-terminal device is in stand-by mode.
Also according to yet another aspect of the present invention there is provided a network device wherein the network is an IP (Internet Protocol) network.
According to still another aspect of the present invention there is provided a network device wherein the network is the Internet.
According to yet another aspect of the present invention there is provided a network device additionally operative to perform the peer-to-peer operations on behalf of a plurality of user-terminal devices, wherein the peer-to-peer operations are performed independently of each of the user-terminal devices.
Further according to another aspect of the present invention there is provided a network device containing a peer communication module operative to communicate as a peer in a plurality of peer-to-peer networks, a terminal communication module operative to communicate with a user-terminal device, and at least one proxy module to perform peer operations in the plurality of peer-to-peer networks on behalf of the user-terminal device, wherein the peer operations enable the user-terminal device to access the plurality of peer-to-peer networks as a unified network.
Still further according to another aspect of the present invention there is provided a network device additionally operative to perform the peer-to-peer operations on behalf of a plurality of user-terminal devices, wherein the peer-to-peer operations are performed independently of each of the user-terminal devices.
Even further according to another aspect of the present invention there is provided a network device containing a peer-server communication module operative to communicate with a peer server, and a peer-to-peer communication module operative to perform peer-to-peer communication in a peer-to-peer network, wherein the peer-to-peer communication contains peer operations, and wherein the network device is operative to delegate at least some of the peer operations to the peer server.
Yet according to another aspect of the present invention there is provided a network device wherein the peer-server is operative to communicate as a peer in the peer-to-peer network and to perform peer operations in the peer-to-peer network on behalf of the network device.
Also according to another aspect of the present invention there is provided a network device wherein the peer operations delegated to the peer server contain registration as a peer in the peer-to-peer network.
Additionally according to another aspect of the present invention there is provided a network device additionally operative to selectively receive from the peer-server information received on behalf of the network device.
Additionally according to yet another aspect of the present invention there is provided a network device wherein the peer-to-peer network contains an IP (Internet Protocol) network.
Additionally according to further another aspect of the present invention there is provided a network device wherein the IP network is the Internet.
Further according to yet another aspect of the present invention there is provided a network device additionally being at least one of a portable network device, a mobile network device and a battery operated network device.
Further according to still another aspect of the present invention there is provided a network device additionally operative to communicate with the peer server device via a wireless network.
Still further according to another aspect of the present invention there is provided a network device wherein the wireless network contains at least one of a cellular network a wireless local area network, a wireless metropolitan area network, a personal area network, a WiFi network, a WiMAX network, a Bluetooth network, a Zigbee network and a UWB network.
Even further according to another aspect of the present invention there is provided a method for connecting a user terminal to a peer-to-peer network via a network device, wherein the network device performs peer operations in the peer-to-peer network on behalf of the user terminal.
Also according to another aspect of the present invention there is provided a method for connecting a user terminal to a peer-to-peer network containing the steps of, providing a network device operative to communicate with the user terminal and to communicate as a peer device in the peer-to-peer network, providing the network device with identification parameters of the user terminal as a peer in the peer-to-peer network, and performing peer operations in the peer-to-peer network, by the network device, on behalf of the user terminal, using the identification parameters.
Also according to yet another aspect of the present invention there is provided a method wherein the user terminal is at least one of a portable device, a mobile device and a battery operated device.
Also according to still another aspect of the present invention there is provided a method wherein the peer operations comprise registration as a peer in the peer-to-peer network on behalf of the user terminal.
Additionally according to another aspect of the present invention there is provided a method wherein the peer operations comprise providing call progress functionality on behalf of the user terminal.
Additionally according to still another aspect of the present invention there is provided a method wherein the call progress functionality affects at least one of incoming calls and outgoing calls.
Additionally according to further another aspect of the present invention there is provided a method wherein the call progress functionality contains providing ring-back signal to a calling party calling the user terminal on behalf of the user terminal.
Further according to another aspect of the present invention there is provided a method additionally containing selectively forwarding information received by the network device on behalf of the user terminal to the user terminal.
Further according to yet another aspect of the present invention there is provided a method additionally performing the selective forwarding according to predefined rules.
Further according to still another aspect of the present invention there is provided a method additionally providing updates for the rules.
Even further according to another aspect of the present invention there is provided a method additionally performing selective accumulation of information at the network device on behalf of the user terminal.
Still further according to another aspect of the present invention there is provided a method additionally performing the selective accumulation according to rules.
Still further according to yet another aspect of the present invention there is provided a method additionally performing selective forwarding of the accumulated information to the user-terminal device.
Also according to another aspect of the present invention there is provided a method additionally performing the forwarding of the accumulated information according to rules.
Also according to yet another aspect of the present invention there is provided a method additionally providing updates for the rules.
Also according to still another aspect of the present invention there is provided a method additionally performing the peer operations by the network device when the user-terminal is offline.
Additionally according to another aspect of the present invention there is provided a method additionally performing the peer operations by the network device when the user-terminal device is in stand-by mode.
Additionally according to yet another aspect of the present invention there is provided a method for connecting a user terminal to a plurality of peer-to-peer networks, the method containing the steps of: providing a network device operative to communicate with the user terminal and to communicate as a peer device in the plurality of peer-to-peer networks; providing the network device with identification parameters of the user-terminal as a peer in each of the peer-to-peer networks; and performing peer operations, in each of the peer-to-peer networks, by the network device, on behalf of the user terminal, using the identification parameters, wherein the peer operations enable the user-terminal device to access the plurality of peer-to-peer networks as a unified network.
Additionally, according to still another aspect of the present invention there is provided a method for connecting a plurality of user terminals to a peer-to-peer network, the method containing: providing a network device operative to communicate with the user terminals and to communicate as a peer device in at least one peer-to-peer network, providing the network device with identification parameters of each of the user terminals as a peer in the peer-to-peer network, and performing peer operations, in the peer-to-peer network, by the network device, on behalf of each of the user terminals, using the identification parameters.
Further according to another aspect of the present invention there is provided a computer program product, stored on one or more computer-readable media, containing instructions operative to cause a programmable processor of a network device to communicate as a peer in a peer-to-peer network, to communicate with a user-terminal device, and to perform peer operations in the peer-to-peer network on behalf of the user-terminal device.
Still further according to another aspect of the present invention there is provided a computer program product additionally containing instructions operative to cause the programmable processor of the network device to register as a peer in the peer-to-peer network on behalf of the user-terminal device.
Even further according to another aspect of the present invention there is provided a computer program product additionally containing instructions operative to cause the programmable processor of the network device to provide call progress functionality on behalf of the user-terminal device.
Additionally further according to another aspect of the present invention there is provided a computer program product additionally containing instructions operative to cause the programmable processor of the network device to provide the call progress functionality for at least one of incoming calls and outgoing calls.
Also according to another aspect of the present invention there is provided a computer program product additionally containing instructions operative to cause the programmable processor of the network device to provide a ring-back signal to a calling party calling the user-terminal device on behalf of the user-terminal device.
Also according to yet another aspect of the present invention there is provided a computer program product additionally containing instructions operative to cause the programmable processor of the network device to selectively forward information received on behalf of the user-terminal device to the user-terminal device.
Also according to still another aspect of the present invention there is provided a computer program product additionally containing instructions operative to cause the programmable processor of the network device to selectively forward information on behalf of the user-terminal device according to rules.
Additionally according to another aspect of the present invention there is provided a computer program product additionally containing instructions operative to cause the programmable processor of the network device to receive updates of the rules.
Additionally according to yet another aspect of the present invention there is provided a computer program product additionally containing instructions operative to cause the programmable processor of the network device to selectively accumulate information on behalf of the user-terminal device.
Additionally according to still another aspect of the present invention there is provided a computer program product additionally containing instructions operative to cause the programmable processor of the network device to selectively accumulate information on behalf of the user-terminal device according to rules.
Further according to another aspect of the present invention there is provided a computer program product additionally containing instructions operative to cause the programmable processor of the network device to selectively forward the accumulated information to the user-terminal device.
Further according to yet another aspect of the present invention there is provided a computer program product additionally containing instructions operative to cause the programmable processor of the network device to selectively forward the accumulated information to the user-terminal device according to rules.
Further according to still another aspect of the present invention there is provided a computer program product additionally containing instructions operative to cause the programmable processor of the network device to receive updates of the rules.
Still further according to another aspect of the present invention there is provided a computer program product containing instructions operative to cause the programmable processor of the network device to perform the peer operations on behalf of the user-terminal device when the user-terminal device is offline.
Even further according to another aspect of the present invention there is provided a computer program product containing instructions operative to cause the programmable processor of the network device to perform the peer operations on behalf of the user-terminal device when the user-terminal device is in stand-by mode.
Additionally according to another aspect of the present invention there is provided a computer program product wherein the peer-to-peer network is available over an IP (Internet Protocol) network.
Also according to another aspect of the present invention there is provided a computer program product wherein the peer-to-peer network is available over the Internet.
Also according to yet another aspect of the present invention there is provided a computer program product wherein the network device is operative to communicate with the user-terminal device via a wireless network.
Also according to still another aspect of the present invention there is provided a computer program product wherein the wireless network is one of a cellular network, a wireless local area network, a wireless metropolitan area network, a personal area network, a WiFi network, a WiMAX network, a Bluetooth network, a Zigbee network and a UWB network.
Additionally according to yet another aspect of the present invention there is provided a computer program product, stored on a computer-readable medium, containing instructions operable to cause a programmable processor of a network device to communicate as a peer in a plurality of peer-to-peer networks, to communicate with a user-terminal device, and to perform peer operations in the peer-to-peer networks on behalf of the user-terminal device, wherein the peer operations enable the user-terminal device to access the plurality of peer-to-peer networks as a unified network.
Additionally according to still another aspect of the present invention there is provided a computer program product stored on a computer-readable medium, containing instructions operable to cause a programmable processor of a network device to perform peer-to-peer communication in a peer-to-peer network, and to communicate with a peer server; wherein the peer-to-peer communication contains peer operations, and wherein the computer program product enables the network device to delegate at least some of the peer operations to the peer server.
Further according to another aspect of the present invention there is provided a computer program product wherein the peer operations delegated to the peer server comprise registration as a peer in the peer-to-peer network.
Further according to yet another aspect of the present invention there is provided a computer program product additionally operative to selectively receive from the peer-server information received on behalf of the network device.
Further according to still another aspect of the present invention there is provided a computer program product wherein the network device is operative to communicate with the peer server device via a wireless network
Still further according to another aspect of the present invention there is provided a computer program product wherein the wireless network is one of a cellular network, a wireless local area network, a wireless metropolitan area network, a personal area network, a WiFi network, a WiMAX network, a Bluetooth network, a Zigbee network and a UWB network.
Even further according to another aspect of the present invention there is provided a peer-to-peer communication network containing at least one peer-server and a plurality of peer-devices, wherein at least one of the plurality of peer-devices, being a first peer-device, communicates with at least another one of the plurality of peer-devices, being a second peer device, via at least one of the peer-servers, being a first peer-server, and wherein the first peer-server performs peer operations in the peer-to-peer network on behalf of the first peer-device.
Also according to another aspect of the present invention there is provided a service containing registering a plurality of peer devices at a registration server, and registering at least one peer server at the registration server, wherein at least one of the plurality of peer-devices, being a first peer-device, communicates with at least another one of the plurality of peer-devices, being a second peer device, via at least one of the peer-servers, and wherein the peer-server performs peer operations in the peer-to-peer network on behalf of the first peer-device.
Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The materials, methods, and examples provided herein are illustrative only and are not intended to be limiting. Except to the extend necessary or inherent in the processes themselves, no particular order to steps or stages of methods and processes described in this disclosure, including the figures, is intended or implied. In many cases the order of process steps may vary without changing the purpose or effect of the methods described.
Implementation of the method and system of the present invention involves performing or completing certain selected tasks or steps manually, automatically, or any combination thereof. Moreover, according to actual instrumentation and equipment of preferred embodiments of the method and system of the present invention, several selected steps could be implemented by hardware or by software on any operating system of any firmware or any combination thereof. For example, as hardware, selected steps of the invention could be implemented as a chip or a circuit. As software, selected steps of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system. In any case, selected steps of the method and system of the invention could be described as being performed by a data processor, such as a computing platform for executing a plurality of instructions.
BRIEF DESCRIPTION OF THE DRAWINGSThe invention is herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of the preferred embodiments of the present invention only, and are presented in order to provide what is believed to be the most useful and readily understood description of the principles and conceptual aspects of the invention. In this regard, no attempt is made to show structural details of the invention in more detail than is necessary for a fundamental understanding of the invention; the description taken with the drawings making apparent to those skilled in the art how the several forms of the invention may be embodied in practice.
In the drawings:
FIG. 1 is a simplified block diagram illustrating a peer-to-peer network according to a preferred embodiment of the present invention;
FIG. 2 is a simplified illustration of a plurality of peer-to-peer networks according to a preferred embodiment of the present invention;
FIG. 3 is a simplified illustration of logical connectivity between a mobile terminal device and a plurality of peer-to-peer networks according to a preferred embodiment of the present invention;
FIG. 4 is a simplified illustration of logical connectivity between a mobile peer terminal device and another peer device according to a preferred embodiment of the present invention;
FIG. 5 is a simplified block diagram of a mobile peer device according to a preferred embodiment of the present invention;
FIG. 6 is a simplified block diagram of a peer server according to a preferred embodiment of the present invention;
FIG. 7 is a simplified block diagram of a peer-to-peer coordination server according to a preferred embodiment of the present invention;
FIG. 8 is a simplified flow chart of a peer server start-up message sequence according to a preferred embodiment of the present invention;
FIG. 9 is a simplified flow chart of a mobile peer terminal device start-up message sequence according to a preferred embodiment of the present invention;
FIG. 10 is a simplified state diagram of a peer server according to a preferred embodiment of the present invention;
FIG. 11 is a simplified flow chart of a message sequence between two peer terminal devices according to a preferred embodiment of the present invention;
FIG. 12 is a simplified block diagram of an integrated communication system according to a preferred embodiment of the present invention;
FIG. 13 is a simplified block diagram of a mobile handset communicating over a voice over Internet protocol (VoIP) broadband network according to a preferred embodiment of the present invention; and
FIG. 14 is a simplified flow diagram illustrating an instance of an incoming call into a mobile handset from the public network according to a preferred embodiment of the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTSThe principles and operation of a wireless peer-to-peer network according to the present invention may be better understood with reference to the drawings and accompanying description.
Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of the components set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments or of being practiced or carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein is for the purpose of description and should not be regarded as limiting.
In this document, an element of a drawing that is not described within the scope of the drawing and is labeled with a numeral that has been described in a previous drawing has the same use and description as in the previous drawings. Similarly, an element that is identified in the text by a numeral that does not appear in the drawing described by the text has the same use and description as in the previous drawings where it was described.
The invention integrates mobile wireless networks and wireline and/or fixed wireless networks. The systems and methods disclosed herein offer users the convenience and flexibility of location based routing over a preferred communication network such as wireline telephones, PSTN destinations and broadband communication networks. Such routing of calls and services is done automatically by a mobile handset (mobile terminal device) and its gateway (peer server). The mobile telephone handset may also communicate utilizing a wireless data network associated with the alternate telephone destination, such as communicating Voice-over-IP data and cellular GPRS and UMTS and other data networks.
The invention also provides methods of call management, which include detecting a mobile communication device, such as a mobile handset, via a wireless data network protocol, establishing a communication path with the mobile communication device using the wireless data network protocol, and sending a call-control message to a remote call management module associated with a mobile telecommunications network and associated with the mobile communication device. The mobile communication device is configured to communicate with the mobile telecommunications network and is configured to communicate with a wireless data network using a wireless data network protocol. The call control message can be sent via the PSTN or broadband communication network.
The invention is especially useful with peer-to-peer networks and applications.
A physical network is preferably a collection of physical network devices that are able to communicate between themselves via the physical network connections. Network devices are preferably nodes and terminal devices. A peer-to-peer network is typically a logical network of peers implemented over a physical network. A peer, or a peer device, or a peer terminal device, is typically a terminal device of the physical network, or a software program executed by the terminal device, which participates as a peer in the peer-to-peer network. The physical network can be a combination of networks of various communication standards as long as two peers can communicate directly through the combined network. A peer network is therefore a plurality of terminal devices that can communicate between themselves and that are associated with the peer-to-peer network. It is therefore possible to have several independent peer-to-peer networks implemented over the same physical network (or combination of physical networks). It is also possible for a terminal device to be a peer in several independent peer-to-peer networks.
A typical peer-to-peer network requires each peer device to continuously present itself to other peers, and to continuously interrogate the presence of other peers. Typically the peer-to-peer network has a registration server, also known as a broker, and each peer registers itself with the broker. Typically, each peer has at least one list of peers of interest with which it is willing to communicate. The peer can store this list in its local memory, or in the broker's storage, or both. Each time the peer accesses the network it informs the broker of its availability, current address, and other information that can be useful for the other peers. The peer also retrieves from the broker similar information regarding his peers of interest. The operations involving presenting the peer to the network and interrogating the presence of other peers, as well as other similar operations, are termed herein “peer operations”.
Continuously performing peer operations would quickly drain the battery of a battery operated device, such as a mobile device, a portable cellular telephone, a cellular PDA, etc.
The present invention enables a converged communication services access gateway that provides the benefits of using a mobile device to access multiple communication networks and wireline services over any wireless interfaces. The present invention further provides real-time interaction for voice, data and video communications between one or more wireline and broadband communication service providers (CSP) and a single mobile telephony handset (MTH). On one hand, the present invention manages cascading of multiple communication services and multiple access control rights to gain services offered by the different CSP. On the other hand, the present invention controls a single appearance of MTH and provides gateway services between MTH and multiple CSP.
The present invention performs convergence services by conditionally processing, translating and rendering voice, data and video communications from multiple service providers, multiple communication standards, multiple compressing standards and multiple bearer formats. The present invention preferably includes:
1) a server side software application and middleware that runs on a Personal Computer (PC) or any other type of Access Point (AP);
2) a software application that is running on the mobile devices; and
3) any type of wireless communication interface over cellular channels and wireless channels.
The present invention relates to communication of content of all types including voice video and data between cellular network domains, PSTN networks and broadband networks for the provision of communication services and the management of such services. The communications services are delivered over any communication network including cellular networks, wireline networks, GPRS connections, Bluetooth connections, Wi-Fi connections and the like. The present disclosure relates generally to unified mobile telephone handsets for personal communications usage based on converged wireline and wireless networks.
In an increasingly mobile society, cellular handset and other mobile communication devices offer a user the ability to be in contact with others or reachable at all times. However, users of cellular phones typically have additional wireline phone numbers, PSTN telephony services, at home and at work, and broadband communications services at which they may be reached.
In a typical situation, a caller may attempt one of several numbers in an attempt to reach an individual. For example, a caller may first call a home number and then a cell number or office number. This added effort wastes time and communications resources.
To save time many callers will call a cellular number first. However, receiving a call on a cellular phone may be more expensive than receiving a phone call on the user's wireline phone. Furthermore, the cellular coverage, in general, may not be adequate within buildings for a quality voice session.
Other available communication options such as messaging services for PC-based devices can also cause problems. Such services provide other means for personal communication that is not tied to the PSTN and cellular network at all.
In addition, with the availability of the new telephony alternative, a user may choose to call over less expensive telephony networks using the same mobile handset in order to save money.
The present invention is preferably directed to the provision of an integrated wireless and wireline communications system and methods thereof. The system and methods disclosed herein offer users convenience and flexibility by providing location based routing over the best communication network selected from a group of alternative telephone destinations such as wireline telephones, PSTN destinations and broadband communication networks like Skype. Such routing of calls and services is done automatically by the mobile handset and the telephony gateway application. The mobile telephone handset may also communicate utilizing a wireless data network associated with the alternate telephone destination, such as communicating Voice-over-IP data and cellular GPRS and UMTS and other data networks.
In a further exemplary embodiment, the present invention involves a method of call management. The method includes detecting a mobile handset via a wireless data network protocol, establishing a communication path with the mobile communication device using the wireless data network protocol and sending a call control message to a remote call management module associated with the mobile telecommunications network and associated with the mobile communication device. The mobile communication device is preferably configured to communicate with a mobile telecommunications network and is additionally configured to communicate with a wireless data network using a wireless data network protocol. The call control message is sent via the PSTN or broadband communication network.
Reference is now made toFIG. 1, which is a simplified block diagram illustrating a peer-to-peer network10 according to a preferred embodiment of the present invention.
The peer-to-peer network10 ofFIG. 1 is implemented over two physical networks of which at least one is a wireless network. The physical networks ofFIG. 1 are a fixednetwork11 and awireless network12 interconnected via a network interconnection13.Network devices14 are connected to the fixednetwork11 and to thewireless network12 and participate in the peer-to-peer network10.
The fixednetwork11 can use any communication standard such as Ethernet, IP (Internet Protocol), etc. Thewireless network12 can use any wireless standard such as GSM, CDMA, UMTS, GPRS, Wi-Fi, WiMax, Bluetooth, Zigbee, UWB, etc.
Peer devices15 of the peer-to-peer network10 are distributed over the twophysical networks11 and12.Wireless peer devices16 communicate via awireless access provider17, which typically includes a base station or an access point. In this respectwireless peer devices16 also represent a battery operated device. Thewireless peer device16 is a network device of the type of a terminal device, also termed user-terminal device. Thewireless peer device16 is also named mobile terminal device or mobile peer device as may be relevant to the associated network being a mobile (or wireless) network or a peer-to-peer network.
A peer-to-peernetwork broker server18 is typically connected to the fixednetwork11. Apeer server19 is also typically and preferably connected to the fixednetwork11. Application servers, such asserver20, can also be connected to the network, typically to the fixednetwork11.
It is appreciated thatpeer devices15 are terminal devices of eithernetworks11 and12 and that other terminal devices, which are not peer devices in the peer-to-peer network10, and are not shown inFIG. 1, may also be connected to thenetworks11 and12.
Theterminal devices15 ofFIG. 1 are shown as telephones, however, it is appreciated that theterminal devices15 can be any suitable terminal device, including, but not limited to, a PDA, a desktop computer, a laptop computer, a video player, a music player, an email communicator (such as a Blackberry, available from Research In Motion of Waterloo, Ontario, Canada N2L 3W8), an instant messaging communicator, etc.
Reference is now made toFIG. 2, which is a simplified illustration of a plurality of peer-to-peer networks10 according to a preferred embodiment of the present invention.
As shown inFIG. 2, the peer-to-peer networks are implemented over a plurality ofnetworks21,22,23 and24. In the example ofFIG. 2,networks21 and22 are mobile wireless networks andnetworks23 and24 are wireline networks, or fixed wireless networks. In the example ofFIG. 2, there are three peer-to-peer networks represented by application servers25 (identified with an oval),26 (identified with a rhombus) and27 (identified with a hexagon). FIG.2 also shows a plurality of terminal devices that function aspeer devices15 in the peer-to-peer networks.Terminal devices15 drawn as ovals, such asterminal devices28, participate in the peer-to-peer network served byserver25.Terminal devices15 drawn as rhombuses, such asterminal devices29, participate in the peer-to-peer network served byserver26.Terminal devices15 drawn as hexagons, such asterminal devices30, participate in the peer-to-peer network served byserver27. Aterminal device15 can function as a peer in several peer-to-peer networks, such asterminal devices31 and32.Peer servers19 are connected to thenetworks23 and24 to serve thewireless peer devices16 connected to themobile wireless networks21 and22. Eachwireless peer device16 connected to a mobile wireless network is served by apeer server19. Eachpeer server19 can serve a singlewireless peer device16 or a plurality ofwireless peer devices16. Additionally, acoordination server33 connects to network24. Thecoordination server33 serves all thepeer servers19 and all thepeer devices16 that use thepeer servers19. Thecoordination server33 preferably enablesmobile peer devices16 to register themselves and store their profiles and related information in thecoordination server33. Thecoordination server33 also enables thesemobile peer devices16 and theirrespective peer servers19 to retrieve the respective registration, profile and related information from the coordination server's storage. Thecoordination server33 serves thepeer servers19 and their respective mobileterminal devices16 irrespective of the wireless network they subscribe to and the peer-to-peer network service they subscribe to.
It is appreciated that thecoordination server33 can connect to any network and that the connection to network24 is just an example. Preferably, thecoordination server33 connects to a non-mobile network such asnetworks23 and24.
It is also appreciated that thecoordination server33 can be redundant, mirrored and distributed for enhanced resilience.
It is further appreciated that there can beseveral coordination servers33, each serving its group ofpeer servers19 and their mobileterminal devices16.
Reference is now made toFIG. 3, which is a simplified illustration of logical connectivity between a mobileterminal device16 and a plurality of peer-to-peer networks10 according to a preferred embodiment of the present invention.
As shown inFIG. 3, the mobilewireless peer device16 communicates via thewireless access provider17 of themobile wireless network12, and via thepeer server19 with several peer-to-peer networks10 andservices34.FIG. 3 thus illustrates an integration of wireless, wireline and broadband communication systems. The integrated communications system preferably includes one or moremobile peer devices16, and one or more base stations, which are the wireless access provider(s)17, within thewireless network12. The system's coverage area is preferably provided by the network ofwireless access providers17. Thewireless access providers17 provide a wireless data network like Wi-Fi or Bluetooth to incorporate thepeer device16 with an authenticated two-way communication. Thewireless network12 may also be provided by a cellular provider like GPRS, UMTS or EDGE. The communication interface between thepeer device16 and thewireless access provider17 may be over wireless data protocols, such as the IEEE 802.11x (Wi-Fi) or Bluetooth or cellular network standards, using the unlicensed frequency bands or licensed frequency bands. Thepeer device16 communicates with a peer server application executed by thepeer server19. Thepeer server19 is preferably a personal computer (PC). Alternatively, thepeer server19 is an Internet server available for public use on the Internet network. Thepeer server19 provides universal access into different broadband, PSTN and cellular networks and convergence of several third-party communication applications available via these networks.
Reference is now made toFIG. 4, which is a simplified illustration of a logical connectivity between mobilepeer terminal device16 and anotherpeer device15 according to a preferred embodiment of the present invention.
As shown inFIG. 4, the mobilewireless peer device16, thepeer server19 and thecoordination server33 form a firstlogical network35 and thepeer device15, theapplication server26 and thepeer server19 form a secondlogical network36; the two networks are interconnected by thepeer server19.
It is appreciated that thepeer device15, as well as thepeer server19, thecoordination server33, and theapplication server26, can be connected to any type of network such as a wireline network, a fixed wireless network or a mobile wireless network.
Preferably, the mobilewireless peer device16 and thepeer server19 register at thecoordination server33. Preferably the mobilewireless peer device16 and thepeer device15 register at theapplication server26 to form a peer-to-peer network.
Preferably, the mobilewireless peer device16 communicates with thecoordination server33 to locate itspeer server19. Preferably, thepeer server19 communicates with theapplication server26 and thepeer device15 on behalf of the mobilewireless peer device16 within thelogical network36. By performing peer operations on behalf of the mobilewireless peer device16, thepeer server19 appears to thepeer device15 as the mobilewireless peer device16.
It is appreciated that, preferably, when a mobileterminal device16 connects to the peer-to-peer network10 it communicates and informs thepeer server19 of its availability and thereafter thepeer server19 functions on the network as a proxy for themobile device16.
It is also appreciated that, preferably, when the mobileterminal device16 intends to communicates with another peer device, such aspeer device15, it communicates with thepeer server19 and receives all the required information regarding thetarget peer device15 and then communicates directly with thetarget peer device15.
It is further appreciated that, preferably, when a protocol conversion service, a store and forward service, or another type of mediating service is required, the mobileterminal device16 communicates with thetarget peer device15 via thepeer server19 and thepeer server19 provides the required protocol conversion and mediation service.
Reference is now made toFIG. 5, which is a simplified block diagram of amobile peer device16 according to a preferred embodiment of the present invention.
The mobile peer device16 (identified by numeral37) preferably contains apeer communication module38 and aterminal communication module39. The terminal communication module preferably connects to a physical network, which in this case is thewireless network12. Via thewireless network12 theterminal communication module39 is operative to communicate with other network devices and user-terminal devices, includingwireless access provider17 andpeer server19. Thepeer communication module38 connects to theterminal communication module39 and is operative to communicate as a peer in a plurality of peer-to-peer networks such as peer-to-peer network10. Typically and preferably, thepeer communication module38 communicates with other peer devices, such aspeer devices15 and16.
Thepeer communication module38 is operative to delegate at least some of its peer operations to thepeer server19, and thereafter to use the peer operations performed bypeer server19 on behalf of thepeer communication module38, thus enabling themobile peer device16,37 (being a user-terminal device) to communicate with other peer devices, such aspeer devices15 and16, and with servers such ascoordination server33 andapplication server26.
Reference is now made toFIG. 6, which is a simplified block diagram of apeer server19 according to a preferred embodiment of the present invention.
As shown inFIG. 6, thepeer server19 preferably contains a peer-communication module40, a terminal-communication module41, aproxy module42, a session manager service module43, and one or morenetwork interfacing modules44. An appropriatenetwork interfacing module44, identified bynumeral45, preferably connects to the physical network bearing the peer-to-peer network10 and preferably anotherinterfacing module44, identified bynumeral46, preferably connects to the physical network bearing thewireless network12. The peer-to-peer network10 can be implemented over an IP network, preferably the Internet. Thewireless network12 is typically a cellular network.
The peer-communication module40 preferably communicates over the peer-to-peer network10 withpeer device15, with the peer-to-peernetwork coordination server33 and preferably also with application servers, such asapplication server26. It is appreciated that there can be several peer-communication modules40, each communicating over a different peer-to-peer network10. The terminal-communication module41 preferably communicates over thewireless network12 with the mobileterminal device16. Theproxy module42 performs peer operations in the (one or more) peer-to-peer network(s)10 on behalf of the mobileterminal device16. Theproxy module42 performs the peer operations in each peer-to-peer network10 via the appropriate peer-communication modules40 andnetwork interfacing module44.
When the mobileterminal device16 wishes to communicate with anotherpeer device15 or with anapplication server26 it preferably communicates with theproxy42 to receive the information required to access the destination device.
Theproxy module42 preferably operates the other modules of thepeer server19 and therefore functions performed by theproxy module42 described herein are functions of thepeer server19.
Theproxy module42 is preferably operative to initiate the peer operations even before the mobileterminal device16 is turned on and to maintain the peer operations even when the mobileterminal device16 is in offline mode or disconnected from thewireless network12.
As a part of the peer operations theproxy module42 registers as a peer in the peer-to-peer network on behalf of the mobileterminal device16, which is preferably a user-terminal device. Preferably theproxy module42 registers the mobileterminal device16 with an appropriatepeer coordination server33. Theproxy module42 preferably loads from thepeer coordination server33 information related to the mobileterminal device16 and toother peer devices15. Theproxy module42 collects from the peer-to-peer network10 presence information provided byother peer devices15. According to rules preferably loaded from thecoordination server33, theproxy module42 selectively accumulates this information and selectively forwards the information to the mobileterminal device16. Theproxy module42 preferably communicates with thepeer coordination server33 to receive updates for the accumulation selection rules and for the forwarding selection rules.
The session manager service module43 preferably manages linkage between thepeer server19 and external communication systems and services such as Skype and GoogleTalk, to provide services convergence on behalf of its wirelesspeer terminal device16.
As a part of the peer operations theproxy module42 preferably provides call progress functionality on behalf of the user-terminal device. For example, when apeer device15 calls the mobileterminal device16 theproxy module42 answers the call, informs the mobileterminal device16, and until the mobileterminal device16 answers the call theproxy module42 sends a ring-back signal to thepeer device15 on behalf of the mobileterminal device16. Theproxy module42 provides call progress functionality for both incoming calls and outgoing calls.
It is appreciated that theproxy module42 can serve several mobileterminal devices16 concurrently and independently of each other.
Reference is now made toFIG. 7, which is a simplified block diagram of a peer-to-peer coordination server33 according to a preferred embodiment of the present invention.
As shown inFIG. 7, thecoordination server33 preferably contains abroker server18, a database server47, amessaging server48 and anetwork interface49. Thebroker server18, the database server47, and themessaging server48 preferably communicate with thepeer devices15 and16, with thepeer servers19, and with theapplication server26 over the peer-to-peer network10. The peer-to-peer network10 preferably operates over at least one physical network and thebroker server18, the database server47, and themessaging server48 preferably connect to one of these physical networks via thenetwork interface49. It is appreciated that themessaging server48 is optional. It is appreciated that thebroker server18, the database server47, and themessaging server48 can be preferably incorporated within a single physical server (e.g. computer) or alternatively, distributed within a plurality (two or three) physical servers (computers). It is appreciated that thebroker server18, the database server47, and themessaging server48 can communicate between themselves, preferably within the single physical server, or, alternatively over the peer-to-peer network10.
The function of thebroker server18 includes enabling apeer server19 to identify a firewall between thepeer server19 and the network, and to provide a proxy service to thepeer server19 to communicate through the firewall. Preferably thebroker server18 also provides relay services to other components of thecoordination server33.
The database server47 provides services such as data storage and secured access to information such as user profiles, association of user IDs and peer servers, association of proxy services and peer servers, etc.
Themessaging server48 provides store-and-forward services for various types of contents and protocols.
Reference is now made toFIG. 8, which is a simplified flow chart of apeer server19 start-up message sequence according to a preferred embodiment of the present invention.
The peer server start-up message sequence takes place between thepeer server19 and abroker server18. Thebroker server18 is preferably implemented within a coordination server33 (FIG. 7). The start-up message sequence is initiated by thepeer server19 upon start-up, to publish itself as a peer in the peer-to-peer network10 associated with thebroker server18, and to receive from thebroker server18 the details of the wirelesspeer terminal device16, which thepeer server19 is assigned to serve (seeFIG. 7).
Thepeer server19 performs peer operations on behalf of the wirelesspeer terminal device16. The peer operations includes, but are not limited to, initiating the registration of the wirelesspeer terminal device16, which thepeer server19 is assigned to serve, as a peer in the peer-to-peer network10. It is appreciated that thepeer server19 performs the registration and the following peer operations on behalf of thepeer terminal device16 even before theterminal device16 has initiated communication with thepeer server19. It is appreciated that thepeer server19 performs the registration and the following peer operations on behalf of the associated wirelesspeer terminal device16 even if the wirelesspeer terminal device16 is turned off, is offline, is in stand-by mode, has lost communication due to any kind of communication problems, etc.
The message sequence preferably starts with thepeer server19 sending a publishmessage50 to thebroker server18. Thebroker server18 then sends to the peer server19 a connect message51 acknowledging the publish message. If thepeer server19 does not receive the connect message (element52) within a predefined time frame thepeer server19 preferably concludes that there is a firewall between itself and thebroker server18. Thepeer server19 then preferably reverts to a mode of communication enabling communication via a firewall and sends aconnect message53 to thebroker server18.
After receiving from thebroker server18 the identification and registration information regarding the wirelesspeer terminal device16 associated with thepeer server19, thepeer server19 registers at the peer-to-peer networks10 and the services to which the wirelesspeer terminal device16 subscribes. For example, the terminal device is subscribed to Internet Telephony services such as Skype and GoogleTalk.
Thepeer server19 then performs peer operations associated with these services, such as registration and presence operations, on behalf of the wirelesspeer terminal device16. In order to perform these peer operations thepeer server19 uses access control authorization function for managing access rights and user service policies of these application provider servers. Preferably thebroker server18 provides thepeer server19 with identification parameters of thewireless terminal device16 as a peer in the peer-to-peer networks10 for which the wirelesspeer terminal device16 subscribed. Thepeer server19 then uses the identification parameters to perform peer operations in these peer-to-peer networks10.
Reference is now made toFIG. 9, which is a simplified flow chart of a mobileterminal device16 start-up message sequence according to a preferred embodiment of the present invention.
The mobile terminal device start-up message sequence takes place between the mobileterminal device16 and thepeer server19 with the support of thebroker server18 and a database server47.
The start-up message sequence is initiated by the mobileterminal device16 upon start-up. The mobileterminal device16 preferably sends to the broker server18 amessage54 requesting the details of thepeer server19 that provides peer services to the mobileterminal device16. If thebroker server18 does not know the details of the requested peer server19 (element55) thebroker server18 sends amessage56 to the database server47 requesting the information. The database server47 then responds sendingmessage57 bearing the required information to thebroker server18. Thebroker server18 then sends to the mobile terminal device16 amessage58 bearing the information regarding the requiredpeer server19. The mobileterminal device16 then sends amessage59 requesting connection to thepeer server19. Thepeer server19 sends aconnect response60 to the mobileterminal device16 preferably bearing an acknowledgement message.
If the acknowledgement message is not received at the mobileterminal device16 within a predefined timeout (element61), the mobileterminal device16 concludes that there is a firewall between itself and itspeer server19. The mobileterminal device16 then sends amessage62 to thebroker server18 requesting a relay server. Thebroker server18 responds63 with the information identifying the required relay server. The mobileterminal device16 then re-sends (element64) the connection request message to thepeer server19 via the relay server and receives (element65) the connect response message from thepeer server19 via the relay server.
Reference is now made toFIG. 10, which is a simplified state diagram of apeer server19 according to a preferred embodiment of the present invention.
Thepeer server19 state-machine preferably starts by sending a publishmessage66 to thebroker server18. Thepeer server19 then listens (element67) to thebroker server18. If a response message is received (element68) thepeer server19 proceeds toelement69. If the response message from thebroker server18 is not received thepeer server19 connects to thebroker server18 via a relay server (element70) and then proceeds toelement69.
Inelement69, using information received from thebroker server18, thepeer server19 initiates peer operations on behalf of the wirelesspeer terminal devices16 assigned to it. Typically and preferably thepeer server19 registers to the peer-to-peer networks10 and the services with which the wirelesspeer terminal devices16 are registered. As of registration, thepeer server19 performs peer operations, such as presence functions, on behalf of the wirelesspeer terminal devices16, continuously.
At this time the terminal device may be switched off, or in stand-by mode, or disconnected due to poor communication conditions, or offline. Thepeer server19 then awaits theterminal device16 to assume communications (element71).
When a first message is received from the wireless peer terminal device16 (element72) thepeer server19 processes the message (element73) and then awaits (element74) and processes further commands received from the wirelesspeer terminal device16.
Reference is now made toFIG. 11, which is a simplified flow chart of a message sequence between two wirelesspeer terminal devices16 according to a preferred embodiment of the present invention.
As shown inFIG. 11, a firstterminal device75, which is, for example, a mobileterminal device16, starts the message sequence preferably by sending amessage76 to afirst peer server19, identified herein bynumeral77, that is assigned to perform peer operation on its behalf. In themessage76 the firstterminal device75 requests a connection with a secondterminal device78. In this example, the second terminal device is also a mobileterminal device16, using asecond peer server19, identified herein bynumeral79, to perform peer operation on its behalf.
The process ofFIG. 11 preferably takes place afterpeer servers77 and79 have initiated peer operations on behalf of their respectiveterminal devices75 and78. Both peer servers have registered on behalf of their wirelesspeer terminal devices16 in their respective peer-to-peer networks10. In these preliminary peer operations thepeer servers19 preferably received initial information pertinent to their respective wirelesspeer terminal devices16. Such information contains identification and addressing information regardingother peer devices15 or16 in the relevant peer-to-peer networks10.
Preferably thepeer servers19 also receive instructions and rules according to which thepeer servers19 accumulate information on behalf of their respective wirelesspeer terminal devices16 and rules according to which thepeer servers19 forward information to their respective peers when such information is required by the wirelesspeer terminal devices16.
A terminal device typically and preferably subscribes to several peer-to-peer networks and applications. Preferably, apeer server19 converges the peer operations on behalf of the wirelesspeer terminal device16 it serves. The converged peer operations enable the wirelesspeer terminal devices16 to access the different peer-to-peer networks10 and application servers in a unified manner, preferably so that the wirelesspeer terminal devices16 access the different peer-to-peer networks10 as a single unified network. Typically and preferably, when connecting to the secondterminal device78, the firstterminal device75 does not have to know the connection details such as the type of peer-to-peer network10, the address of the secondterminal device78 in that network, etc.
Preferably thepeer server19 also performs conversion operations on behalf of its wirelesspeer terminal device16. Thepeer server19 preferably performs services convergence, for example, by conditionally processing or rendering content or messages from network bearers according to data received from other network systems, such as thebroker server18. Therefore, the wirelesspeer terminal device16 does not have to know about the communication protocols and content formats. Preferably thepeer server19 performs protocol and format conversion, including compression transcoding, on behalf of the wirelesspeer terminal device16 it serves. Thepeer server19 preferably converts between an external content protocol operative between thepeer server19 and the destination device or service, and an internal content protocol operative between thepeer server19 and the wirelesspeer terminal device16 it serves. Hence, each of theterminal devices75 and78 access their respective peer-to-peer networks10 as a unified network.
Typically and preferably, when the firstterminal device75 requests connection, thefirst peer server77 forwards to the firstterminal device75 information accumulated so far on behalf of the firstterminal device75. The information is preferably selectively forwarded to the firstterminal device75 according to rules preferably previously received from thebroker server18.
Thefirst peer server77 then sends amessage80 to thebroker server18 to receive information regarding the addressing of the targeted secondterminal device78. If thebroker server18 does not have the required information it sends amessage81 to the database server47 requesting the information. The database server47 responds (element82) with the required information and thebroker server18 eventually sends (element83) the information to thepeer server77. In this case, where the target secondterminal device78 is a mobileterminal device16 using apeer server19, the addressing information is the address of thesecond peer server79.
Preferably thepeer server19 contains a workflow manager module for routing messages. The workflow manager now routes the message to the appropriate target terminal device by parsing the message to determine a routing list. In the example ofFIG. 11, the target routing device, from the point of view of thefirst peer server77 is thesecond peer server79.
Thefirst peer server77 sends acall request84 to thesecond peer server79. Thesecond peer server79 receives the call request from thefirst peer server77, sends a call request (ring)85 to the secondterminal device78, and sends a ring-back signal86 to the firstterminal device75. Elements85 (ring),86 and87 are typical call-progress functions in a telephony system.
It is appreciated that in a similar manner thepeer servers77 and79 process other call-progress functions, such as busy and call-not-answered signals, on behalf of their respective wirelesspeer terminal devices16. In the example described in accordance withFIG. 11, thefirst peer server77 processed outgoing-call call-progress signals on behalf of its wirelesspeer terminal device75 and thesecond peer server79 processed incoming-call call-progress signals on behalf of its wirelesspeer terminal device78. It is appreciated that thepeer server19 can also provide routing functions, such as call-forwarding, follow-me, auto-attendant, message reception (voice-mail, email, SMS, etc.) as well as least-cost-routing, etc.
Since both wireless peer servers19 (77 and79), perform peer operations on behalf of their peer terminal devices16 (75 and78), both peerservers77 and79 assume that the other peer device is a terminal device.
Thefirst peer server77forwards87 the ring-back signal to the firstterminal device75 that starts sendingaudio signal88.
As the secondterminal device78 sends acall answer signal89 to the firstterminal device75, thesecond peer server79forwards90 the call answer signal to thefirst peer server77, which stops91 the ring-back signal to the firstterminal device75 and starts forwarding92 theaudio signal88 to thesecond peer server79, which further forwards93 the audio signal to the secondterminal device78.
Simultaneously, after sending thecall answer signal89, the secondterminal device78 starts sendingaudio signal94 to thesecond peer server79, which forwards95 the audio signal to thefirst peer server77, which forwards96 the audio signal to the firstterminal device75.
At this stage, audio signals flow continuously between the two terminal devices, in both directions, via their respective peer devices.
Preferably, each of the peer servers performs service convergence on behalf of itsterminal device75 and78. Such service convergence also includes converting one message, such asmessages92 and94, into a plurality ofmessages93 and95, and vice versa. The plurality ofmessages93 and95 preferably bear different content formats to generate an output message with a different content format. Preferably, the peer servers perform service convergence by using a plurality of messages with differing underlying bearers, such as WiFi, WiMAX, Bluetooth, etc., to provide a single coherent message.
When one of theterminal devices75 and78 wishes to disconnect the call (the secondterminal device78 in the example ofFIG. 11), it sends adisconnect message97 to itspeer server79, which forwards98 the disconnect signal to theother peer server77, which forwards99 the disconnect signal to the otherterminal device75.
It is appreciated that the process described herein in accordance with a typical telephone call can be performed with any other type of communication, such as video transmission, multimedia communication, conferencing, text messaging, voice messaging, video messaging, instant messaging etc.
In another embodiment of the present invention thepeer server19 additionally provides conversion services between the communication standard or protocol used in one network, such asnetwork34 ofFIG. 3, and the network serving the terminal device, particularly a mobile wireless network, such asnetwork12 ofFIG. 3. For example, themobile wireless network12 may impose communication constraints, such as bandwidth constraints, that require the peer server to provide compression conversion betweennetwork34 andnetwork12 ofFIG. 3.
Reference is now made toFIG. 12, which is a simplified block diagram of anintegrated communication system100 according to a preferred embodiment of the present invention.
FIG. 12 illustrates an integrated wireless and wireline orbroadband communication system100. The integrated communications system includes amobile handset101 and apersonal base station102 within awireless detection area103. Thesystem coverage area103 can be provided by an access point that provides a wireless data network like Wi-Fi or Bluetooth to incorporate thehandset101 with authenticated two-way communication. Thesystem coverage area103 may also be provided by a cellular provider like GPRS, UMTS or EDGE. The communication interface between thehandset101 and thepersonal base station102 may be over wireless data protocols, such as the IEEE 802.11x (Wi-Fi) or Bluetooth or cellular network standards, using the unlicensed frequency bands or licensed frequency bands. Thehandset101 communicates with aserver application104 running on a personal PC device or a global server available for public use somewhere on the Internet. Theserver application104 is responsible for converging the many third-party communication applications and for providing universal access into different broadband, PSTN andcellular networks105.
Reference is now made toFIG. 13, which is a simplified block diagram of amobile handset106 communicating over a voice over Internet protocol (VoIP) broadband network according to a preferred embodiment of the present invention.
InFIG. 13 the VoIP network, for examplary purposes only, is provided using Skype software and serve, which is available at http://www.skype.com/. As shown inFIG. 13, amobile handset106, which is preferably a mobileterminal device16, contains a client application software compatible with Skype. The mobile handset uses wireless orcellular RF channels107 that may be Wi-Fi, Bluetooth, GPRS, UMTS, EDGE or the like to interface with aserver application108 and to communicate with other terminals over theSkype broadband network109. Theserver application108 preferably contains aproxy form Skype110 and aSkype client111.
Reference is now made toFIG. 14, which is a simplified flow diagram illustrating an instance of an incoming call into amobile handset106 from the public network according to a preferred embodiment of the present invention.
The public network ofFIG. 14 is preferably a PSTN or a cellular network where the server application (Presence and Tariff) is attached as an add-on to a PBX system.
In one embodiment of the present invention, each service preferably comprises routing information stored at creation of the service and the event dispatcher routes events according to said routing information.
In another embodiment of the present invention, the gateway further comprises a middleware internal communications mechanism and each service comprises a middleware handler for retrieving messages from a channel of the middleware communications mechanism and a handler for placing messages on a channel of the middleware communications mechanism.
In one embodiment of the present invention, at least one service preferably comprises a content protocol converter component.
In another embodiment of the present invention, said component preferably converts between an external content protocol and a content protocol, which is internal to the gateway and is used for processing of content by the gateway between the two interfaces.
In a further embodiment of the present invention, at least one service preferably comprises a logic rule component for processing message content.
In one embodiment of the present invention, the processor preferably comprises a workflow manager for routing messages within the gateway.
In another embodiment of the present invention, the workflow manager preferably routes a message by parsing a message to determine a routing list.
In a further embodiment of the present invention, the workflow manager preferably embeds a routing list within the message.
In a further embodiment of the present invention, the processor preferably performs convergence of services by using a plurality of messages with different content formats to generate an output message with a different content format.
In one embodiment of the present invention, the processor preferably performs convergence of services by using a plurality of messages with differing underlying bearers to provide a single coherent message.
In another embodiment of the present invention, the processor preferably performs convergence of services by conditionally processing and/or rendering the content or the messages from the network bearers according to data received from other network systems.
In a further embodiment of the present invention, a session manager service preferably manages linkages between the gateway and external systems for the convergence of services.
In a further embodiment of the present invention, the gateway preferably receives an input message bearing content of a first format. The gateway converts the content from the first format into an internal format, and then converts the internal format to a second format. The gateway then routes the message to an external system, receives a response from that external system bearing content in a third format. The gateway then converts the content from the third format to the internal format, and generates an output message with the content in a fourth format.
In one embodiment of the present invention, the processor preferably comprises an access control authorization function for managing access rights and user service policies of application provider servers.
In a further embodiment of the present invention, the access control authorization function automatically checks a fresh request for access rights and user service policy against a schema of an existing set of rights.
The present invention preferably provides a gateway having interfaces with application provider servers in the Internet domain and with enablers in the mobile network domain. The gateway, using its various interfaces, enables a wide variety of content download and user service provision to subscribers. Content or user services may be provided by a particular AP (access point) server operating independently or via a web of linked AP servers with very simple setup by virtue of the cascaded access control right mechanism. Another major advantage is the ability to efficiently perform services convergence of content formats to provide the desired content format or service type for the subscriber. This is achieved despite the fact that there are a wide variety of subscriber mobile device capabilities and AP content formats. The fact that the gateway interacts with mobile network enablers in two-way sessions before final delivery to the subscriber provides considerable versatility in service convergence.
It is appreciated that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable sub-combination.
Although the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims. All publications, patents and patent applications mentioned in this specification are herein incorporated in their entirety by reference into the specification, to the same extent as if each individual publication, patent or patent application was specifically and individually indicated to be incorporated herein by reference. In addition, citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the present invention.