Abstract:
A method and device are provided for creating and utilizing a database which enables ascribing a plurality of communication addresses to each of a plurality of users&#39; entries comprised therein, and wherein each of the plurality of communication addresses is associated with a different communication application, allowing a user who wishes to communicate with another user while applying a certain communication application, to communicate with that other user who uses a different communication application.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to apparatus and methods for communications, and in particular, to apparatus and methods adapted to enable integration of communications and messaging. 
       BACKGROUND OF THE INVENTION 
       [0002]    The third generation partnership project (3GPP) has defined a relatively new concept known as IMS: IP (Internet Protocol)—based Multimedia Subsystem. The aim of IMS is to allow users such as mobile telephone network operators to provide services to their subscribers as efficiently and effectively as possible. For example, IMS architecture is directed to support the following types of communications: voice, video, instant messaging, “presence” (a user&#39;s availability for contact), location-based services, email and web. 
         [0003]    Today, it is rather common for a user to be registered in a plurality of applications and consequently to operate in one or more networks (associated with the application being used). Users often have different user names in the various applications (typically defined in different formats) and they receive and send messages over a variety of wired and wireless networks via a variety of devices, such as desktop computers, wired phones, wireless devices (e.g., phones and personal digital assistants (“PDAs”)), and more 
         [0004]    Still, one of the problems associated with operating in such an environment is how to proceed towards seamless inter-application operation. 
         [0005]    US 2006291483 describes a mobile telephone gateway and routing device (MPG) that is coupled through an electrical, signaling transmission medium with a mobile telephone operative on a first communication network  5  according to a certain communication protocol, and wherein this gateway enables adding communication capabilities through other network(s) in accordance with another protocol such as Bluetooth or Wi-Fi. Also, several gateway applications are described to facilitate or support communication through the other network in accordance with mobile web protocols and technologies such as Mobile IP, mobile SIP, and mobile VoIP. 
         [0006]    US 2007206563 discloses a mobile application gateway for connecting devices in a cellular network with individual networks, such as enterprise voice and data networks and/or residential networks. 
         [0007]    Our co-pending application published under US 2008/0126510 describes a method for providing a user of a mobile telephone with an indication that a message has been sent to that user via an Internet-based application, irrespective of whether the user is currently actively connected to that application or not. By this method, the message addressed to the user is forwarded towards a first server at which a virtual client entity associated with the user has been previously created, determining whether the user is currently connected to the Internet-based application, and forwarding the message to the user. If the user is not currently connected to that Internet application, the message is stored and the user is provided with an indication of the stored message. 
         [0008]    In our co-pending application published under US 2008/0005289 a method is disclosed for providing a user of a mobile telephone with a capability to use Internet-based applications. The user sends a request to be connected to an Internet-based application. The request is received by a first server, which in return is operative to establish a communication path that extends between the user&#39;s telephone device via the first server to a second server, at which the application resides. Next, a virtual client entity is created at the first server, and is operative to communicate with the both the telephone device and the application residing at the second server. 
       SUMMARY OF THE INVENTION 
       [0009]    It is an object of the present invention to provide means and method to enable a user of a mobile telephone to communicate with another user currently engaged in a different communication network. 
         [0010]    It is yet another object of the present invention to provide methods and devices adapted to provide a user of a communication device with information related to the current availability for communication of members of a group of people irrespective of the communication community at which they are currently operative. 
         [0011]    It is still a further object of the present invention to enable providing a user of a mobile device with an address for communicating with other user(s) wherein that address corresponds to the application that the other user(s) is currently engaged with. 
         [0012]    Other objects of the invention will become apparent as the description of the invention proceeds. 
         [0013]    Thus, in accordance with a preferred embodiment of the present invention there is provided a method for creating a database which enables ascribing a plurality of communication addresses to each of a plurality of users&#39; entries comprised therein, and wherein each of the plurality of communication addresses is associated with a different communication application. 
         [0014]    According to another preferred embodiment of the present invention there is provided a method for establishing a communication session between a first user and at least one of a plurality of contacts associated with said first user, wherein said plurality of contacts are comprised in a database as a plurality of users&#39; entries, wherein each of the plurality of users&#39; entries is represented by at least one communication address associated with at least one corresponding communication application, wherein at least one of the plurality of users&#39; entries is associated with a plurality of addresses and at least two of the plurality of addresses are associated each with a different communication application, and wherein the establishing of the communication session is carried out by selecting at least one out of the plurality of users&#39; entries. 
         [0015]    In accordance with another preferred embodiment of the present invention, the method provided comprises the steps of: 
         [0016]    providing a list of communication addresses identifying contacts associated with the first user; 
         [0017]    determining which of the communication addresses comprised in the list is associated with one or more additional communication addresses; 
         [0018]    determining communication applications that are associated with the one or more additional communication addresses; and 
         [0019]    for each of the contacts of the first user, creating a database entry which comprises all communication addresses associated with the respective contact and the communication applications associated therewith. 
         [0020]    The term “communication address” as used herein and throughout the specification and claims is used to denote an address by which the user is identifiable by an entity providing the communication application service. Such a communication address can be a telephone number, an e-mail address a user name, an instant messaging (“IM”) user address, a SIP address, an IPTV setop box address, a MAC address, any combination thereof, and the like. 
         [0021]    The term “user” as used herein throughout the specification and claims, should be understood to encompass any entity, preferably human, that operates a device for communication such as a mobile telephone, a PDA, a setop box, a personal computer (PC), a remote control of an IPTV which is used to communicate via the setop box, a landline telephone device and the like, preferably a device that comprises a SIP client software and enables connecting its user to and communicating via a communications network. 
         [0022]    In accordance with another embodiment of the invention, the method provided further comprises the steps of: 
         [0023]    receiving a request for communication initiated by the first user which identifies at least one contact with whom the first user wishes to communicate; 
         [0024]    retrieving a plurality of communication addresses associated with the at least one contact, if such addresses, are available; and 
         [0025]    enabling the first user to communicate with the at least one contact via at least one of the communication addresses associated therewith. 
         [0026]    According to yet another preferred embodiment, the step of retrieving communication addresses associated with the, at least one contact further comprises retrieving the status of each of the at least one contact at each of the communication applications associated with the respective communication addresses. 
         [0027]    According to yet another embodiment, the method provided further comprises a step of providing the first user only with one or more communication addresses associated with the at least one contact, if the status of the at least one contact at a communication application associated with a respective communication address is currently defined as being active. For example, the contact&#39;s IM&#39;address in one of the instant messaging communication applications to which the at least one contact has registered, a mobile telephone number if that contact is not characterized as having unavailable status in the telephone application associated with him/her, etc. 
         [0028]    By yet another preferred embodiment, the method provided further comprises the step of selecting at least one communication application through which the first user will communicate with the at least one contact based upon the status information thus retrieved. Thus, the present invention allows that a user who wishes to communicate with another user while he/she himself/herself applies a certain communication application (e.g. calling a telephone number of the other user), may end up by having the communication session carried out with the other user while he/she is using a different communication application (e.g. the session is established when the other user uses a voice over IP application), at which the other user is currently active, or is about to log on. 
         [0029]    In accordance with still another embodiment of the invention, a user who wishes to send a message to the contact, is provided with an option to select the type of the message. Preferably, the type of the message is selected from among a group consisting of: an SMS message, an e-mail, an MMS such as a picture, a video clip, an audio clip, any combination thereof, and the like. 
         [0030]    According to yet another embodiment, the user is provided with the option of communicating with the contact by using more than one communication application. For example while talking with the contact over the phone, the user may also send him/her a picture via a web communication application. 
         [0031]    In accordance with another embodiment, communicating With the contact by using more than one communication application is carried out by using a combination of communication applications. Preferably, if such a combination is used, the use of the real time communication applications is invoked upon delivery of non real time messages to the contact via the non real time communication applications, and more preferably upon receipt of an indication that the non-real time messages have been accepted (e.g. read, noted, etc.) by the contact. 
         [0032]    According to another embodiment of the invention, the step of providing the user with the status of the requested contact comprises: 
         [0033]    forwarding towards a communication network a status information associated with the at least one contact at one or more communication applications at which the at least one contact has been registered; 
         [0034]    storing an indication of the forwarded status information (wherein this indication should be understood by those skilled in the art to encompass also the status information itself); 
         [0035]    updating the stored status information in response to a change occurring in the status of said at least one contact; 
         [0036]    requesting information related to the status of said at least one contact; 
         [0037]    processing said request for information and forwarding it towards a status provisioning apparatus; 
         [0038]    retrieving updated information relating to the current status  3  of said at least one contact; 
         [0039]    forwarding an indication related to said contact current status towards the first user&#39;s device. 
         [0040]    Still preferably, the method further comprises the step of establishing a communication session between the user and the contact in case that the current status of both at the at least one communication application, allows the establishing of such a communication session there between. 
         [0041]    According to another preferred embodiment of this aspect of the invention, the method provided further comprises a step of providing the user with a list of options to enable him/her to define his/her current status, and selecting a current status to be associated with the user from among the options provided. 
         [0042]    By yet another preferred embodiment of this aspect of the invention, the method provided further comprises a step of automatically determining a default user&#39;s current status in accordance with the current status of a communication path. Connecting the at least one first communication device with the communication network. Optionally or in addition, the method provided further comprises initiating a new user status report in response to a change in the current status of the communication path. 
         [0043]    In accordance with another aspect of the present invention, there is provided a gateway apparatus comprising storage means operative to store a database for holding a plurality of communication addresses associated with a plurality of users, where the database comprising one or more addresses associated with each user of the plurality of users and wherein each of plurality of communication addresses is associated with a respective communication application to which said user has registered. 
         [0044]    According to another preferred embodiment, the gateway apparatus further comprises processing means operative to receive one or more communication addresses associated with each of the plurality of users and to enable communication with each of the plurality of users by using at least one of the communication applications associated with a corresponding at least one communication address. 
         [0045]    In accordance with another embodiment of the invention, the processing means further operative to receive a request to establish communication between a user and at least one contact, where the latter is identified by at least one communication address associated with the at least one contact, and to retrieve communication addresses associated with the at least one contact in other communication applications so as to enable the user to communicate with the at least one contact via at least one of the retrieved communication addresses. 
         [0046]    According to yet another preferred embodiment, the processing means is further adapted to retrieve status information which relates of the at least one contact at each of the communication applications associated therewith. 
         [0047]    Preferably, the processing means is further, operative to select at least one communication application through which the user would be enable to communicate with said at least one contact 
         [0048]    By yet another embodiment, the processing means is operative to convey the current status of the contact at each of the communication applications towards the user initiating the request. More preferably, the processing means is operative to screen the contact&#39;s current status at the other communication applications as well, and to provide the user who has initiated the request, only the communication addresses associated with communication applications at which the contact status is currently defined as active (or any other equivalent definition thereof). 
         [0049]    In accordance with another embodiment, upon determining the communication applications at which the contact status is available (e.g. active), the processing means is operative to select at least one communication application through which the user would be able to communicate with the contact. More preferably, the processing means is adapted to identify which of the communication applications associated with the contact cannot be accessed by the user&#39;s communication device, and screen out these communication applications. 
         [0050]    In accordance with still another embodiment of the invention, the gateway apparatus is further adapted to provide the user with an option to determine the type of message(s) to be forwarded towards the contact. Preferably, the type(s) of the message(s) is/are selected from among the group consisting of an SMS message, an e mail, an MMS such as a picture, a video clip, an audio clip, any combination thereof, and the like 
         [0051]    According to yet another embodiment, the gateway apparatus is further adapted to provide the user with an option of communicating with the contact by using more than one communication application, whether such use of communication applications is carried out simultaneously, or not. 
         [0052]    By still another embodiment of the invention, the processing means is further operative to process status information requests initiated by users and to retrieve information about users&#39; current status. 
         [0053]    According to yet another embodiment of the invention, the processing means is further adapted to retrieve capabilities associated with users&#39; devices, and to enable establishing communication sessions between users in accordance with any one or more of the 
         [0054]    capabilities of the users&#39; devices; 
         [0055]    current status of the users in the various communication applications associated with them; and 
         [0056]    type of communication (e.g. message) required. 
         [0057]    In accordance with another embodiment of the invention, the gateway apparatus comprises a message storage means and a message forwarding means so that in case the user opts to leave a message for the at least one contact, e.g. when the contact is not available for establishing a real time (or near real time) communication session with the user, the message storage will store the message thereat and upon determining that the contact has logged on at any of the communication applications associated with that contact, to have the stored message forwarded towards the at least one contact. Preferably, the message is forwarded upon determining that the format of the message is suitable for transfer by the server associated with the communication application at which the contact has logged on. 
         [0058]    By yet another embodiment, the message forwarding means comprises a conversion means to allow converting the message to an appropriate format which can be handled by one or more corresponding servers associated with respective one or more communication application at which the at least one contact has logged on. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0059]    The present invention will be understood and appreciated from the following detailed description, taken in conjunction with the drawings in which:  FIG. 1 —is a simplified block diagram of a system constructed and operative in accordance with the present invention;  FIG. 2 —is another, schematic representation of a system constructed and operative in accordance with the present invention; and 
           [0060]      FIG. 3 —is a schematic flow chart exemplifying a method carried out according to a preferred embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0061]    A better understanding of the present invention is obtained when the following non-limiting detailed description of the following examples is considered in conjunction with the following drawings. 
         [0062]    Let us consider now  FIG. 1  which is an example of a simplified block diagram of system  2 . By this example, mobile telephone  10  comprising client software is able to communicate either with virtual client software  12  such as SIP, IMPS, SIMPLE or any other protocol software that enables establishing a communication session between a plurality of devices, associated with a status request processing apparatus (e.g. T-JAT™ server  16 ) or with its home presence server  14 , where the latter is operative to communicate with TJAT presence server  18 . The two TJAT severs  16  and  18  can also communicate with each other, and TJAT server  16  is further operative to communicate with the appropriate instant message application server, such as ICQ-server  20 . 
         [0063]      FIG. 2  illustrates a schematic representation of system constructed and operative in accordance with a preferred embodiment of the present invention, and the relationship between the different entities. The communication network  40  shown in this FIG. comprises a first gateway  48  that is operative to allow communication with telephone users whether they are provided with SIP software such as a landline telephone  42 ′ or not such as mobile telephone  42 . SIP user  42 ′ can further be connected to the network through a second gateway  46  (being a SIP gateway). Other devices can also be connected to gateway  46  such as IPTV device  44 . A third gateway that is illustrated in this FIG. is the instant messaging gateway  50  which provides among its other functionalities the connectivity to the various IM applications such as AOL, AIM, MSN and the like. At the same time this gateway  50  is also capable of communicating with different users of these applications such as the AIM/MSN telephone user  42 ″, IPTV user  44 ′ and PC user  52 , so that eventually these users can be connected through gateways  46  and  48  to users  42 ,  42 ′ and  44  while gateways  46  and  48  provide the respective users with the capability to be connected by using one or more of the embodiments described herein. 
         [0064]    The architecture illustrated in  FIG. 1  allows seamless access and enable convergence of the application 
         [0065]    Any where, Any Network, and Any Device. For instant messaging (“IM”), this means enabling access to one&#39;s community (ICQ, Messenger, AIM, Enterprise or other), it means access through any network (e.g. fixed, line broadband, WiFi or 3G wireless, etc.) and access from multiple devices (PC, mobile handset, Home Entertainment center, . . . ). 
         [0066]    The, use of the T-JAT system that includes servers  16  and  18 , with it&#39;s browser based solution can enable seamless access to subscriber communities today, enabling all subscribers, even those without the ability to run IMS IM clients on their handsets to access any IM community (ICQ, AIM, Messenger or even IMS SIP based IM), complementing all other IMS IM solutions deployed. 
         [0067]      FIG. 3  is a flow chart of an example demonstrating the use of a method for carrying out the present invention. 
         [0068]    At the first phase a database is created (step  110 ) by receiving (step  100 ) for any user whose communication addresses will be stored at the database stored at a T-JAT gateway server as exemplified above, a list of one or more different communication addresses that are associated with that user and corresponding communication application(s). Typically the various communication addresses (and the respective communication applications) for each user, will be provided by that user or by any other authenticated entity. The term “communication address” as used herein and throughout the specification and claims is typically used to denote a user ID in the corresponding application, but preferably, in order to allow the user to access a desired application through the server where the database is stored, the communication addresses that are associated with communication applications that require the insertion of a user password in order to log in, for these applications the communication address may further comprise the user password. The database is then created (and later on updated) so that each communication address comprises in the database, is grouped with the other communication addresses associated with the same user. Now, let us assume that a first user (whose own contact details are not necessarily included in the database) wishes to establish a communication session with another user (contact) whose various communication addresses are included in the database. The first user transmits a request to communicate with the other user, a request that identifies at least one communication address of the other user, e.g. by calling a telephone number of the other user, sending an IM request, etc, (step  120 ). Such a request may simply be sending an ID of the other user as it appears in the first user&#39;s address book, sending a telephone number of the other user irrespective of the application through which the first user is making the request, sending a telephone number of the other user irrespective of the application (if at all) at which the other user is currently active, or sending any other suitable identification of the other user. The first user&#39;s request reaches his/her service provider which will divert (or re-transmit) it to the T-JAT gateway server. The latter will then initiate a search (step  130 ) to establish if there are any other communications addresses in other communication applications associated with the user whose communication address has been identified in the request. Next, the T-JAT accesses one or more of the communication applications associated with the communication addresses found to relate to the other user (step  140 ), in order to establish at which of the relevant communication applications is the other user currently active (step  150 ). According to one option, the T-JAT gateway server will then convey information to the first user which will allow identifying the possible communication applications for communicating with the other user (step  160 ). In the alternative, the selection of the appropriate communication application for communication between these two users will be done by the T-JAT gateway server itself, by taking into account the communication application which the first user used while sending his/her request to establish the session, compatibility of the formats of the other user&#39;s available applications with that of the application used by the first user, etc. (step  170 ). Once at least one communication application at which the other user is currently active has been selected the first user may be provided with an option to select the type of communication (e.g. sending message, e-mail, voice message, etc.) (step  180 ) where the selection is made from among communications of the types that are suitable for use in the selected communication application. 
         [0069]    Once the type of communication application has been determined and the type of the required communication has been selected, the communication session which may comprise for example a real time dialog, and/or transmission of a message, etc. will be established. 
         [0070]    It will also be appreciated that various 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 combination. 
         [0071]    It is to be understood that the above description only includes some embodiments of the invention and serves for its illustration. Numerous other ways of carrying out the methods provided by the present invention may be devised by a person skilled in the art without departing from the scope of the invention, and are thus encompassed by the present invention.