Abstract:
A gateway (G) interfaces with a packet (IM) network (N) a mobile (GSM) network (N 2 ), a HLR, an IM server (S 1 ) and an SMSC (S 2 ). The gateway (G) has a trajectory database (D) which is dynamically maintained and is accessed to determine in real time the optimum communication paths for messages.

Description:
FIELD OF THE INVENTION 
     The invention relates to messaging. 
     PRIOR ART DISCUSSION 
     U.S. 2012/0165049 (RIM) describes a system in which SMS-only contacts are integrated into an IM environment. 
     U.S. 2008/0148154 (Microsoft) describes a system which guides communication via an integrated communication server. 
     Over the past decade Short Messaging has evolved into a huge success by seamlessly connecting people from all over the world. One of the most important reasons behind this success is the fact that it is based on open, fully standardized technology that is supported by each handset, wherever in the world. The last couple of years have shown the introduction of various proprietary Instant Messaging services that rely on the more open and flexible IP channel for their communication. Given their proprietary nature, these Instant Messaging services are often enriched with features that are not easily implemented within the SMS paradigm, such as photo attachments and group messaging. In addition the transport mechanism of these Instant Message services is mobile IP, where they only consume a very small amount of data that is charged from the subscribers&#39; data bundle, so that consumers experience these services as being virtually free of charge. 
     The fact that Instant Message services are proprietary leads to a situation where users form closed parallel communities. Members of each community can communicate with one another as long as both sender and receiver use the same Instant Messaging service. Users that do not have an Instant Messaging client installed, or that use a different Instant Messaging Service, cannot be reached from within one&#39;s favorite Instant Messaging client. 
     The invention is therefore directed towards providing for improved messaging. 
     SUMMARY OF THE INVENTION 
     According to the invention, there is provided a messaging system comprising:
         an interface for communicating via a packet network;   an interface for communicating via a mobile network;   a messaging server; and   a message service centre;   wherein the system comprises a processor adapted to interwork between the packet and mobile networks for communication of messages, and in which the system comprises:
           a gateway between the messaging server and the message service centre, and   a trajectory database, and the processor is adapted to access said database to determine trajectory data for a message between a particular sender and a particular recipient.   
               

     In one embodiment, the messaging server is an instant messaging server. 
     In one embodiment, the message service centre is an SMSC. 
     In one embodiment, the database includes a timestamp for each stored trajectory. Preferably, the processor is adapted to update the time stamp with each access. In one embodiment, the system is adapted to archive or delete stored trajectories according to age. 
     In one embodiment, the message service centre is adapted to use the trajectory database. Preferably, the message service centre is adapted to attempt a packet network delivery via the messaging server. In one embodiment, the messaging server is adapted to determine that packet network delivery is not possible or likely, and to inform the message service centre accordingly. In one embodiment, the message service centre is adapted to update the trajectory database if it receives a negative acknowledgement from the messaging server. 
     In another aspect, the invention provides a messaging method performed by a messaging system comprising a gateway having interfaces for communicating with a mobile network and a packet or data network, a messaging server, and a message service centre, the method comprising the steps of the system interworking between the mobile and packet networks for message communication by:
         the gateway maintaining a trajectory database, and   the processor accessing the trajectory database to determine trajectory data for a message between a particular sender and a particular recipient.       

     In one embodiment, the system handles a response message sent via the mobile network towards a packet domain, in which:
         a response message is sent from a recipient device B to a sender device A via the service centre,   the service centre queries a trajectory database and discovers that a prior message from the device A in the packet domain to the device B in the mobile network domain was sent earlier,   the service centre uses this information to decide to query a HLR,   from the HLR response the service centre deduces whether or not the device A currently has a mobile data connection,   if the device A has a mobile data connection then the service centre receives the address of the device A&#39;s serving support node,   if the device A does not have a mobile data connection then the service centre receives the address of the device A&#39;s switching centre, and   the service centre responds back to the device A that it has received the device A&#39;s message.       

     In one embodiment, the system performs a delivery into the packet domain via the packet network, in which using a stored trajectory from a device A to a device B the service centre decides to route the message into the packet domain. 
     In one embodiment, the system attaches connectivity information retrieved from a HLR to the message and initiates delivery into the packet domain, when this message arrives in the packet domain, the messaging server uses the device A&#39;s mobile data presence information to decide to keep the message in the packet domain for immediate or short term delivery and to positively acknowledge the message to service centre, and the message is delivered to the device A from which it is positively acknowledged. 
     In one embodiment, the messaging server also uses data indicating the last time it communicated with the device A. 
     Preferably, the method handles an unsuccessful delivery into the packet domain via the packet network. 
     In one embodiment, the messaging server uses data including at least A&#39;s mobile data presence information to decide that delivery over the packet switched network N 1  is not possible or not likely. 
     In one embodiment, the system negatively acknowledges the message to the service centre, the reception of this negative acknowledgement triggers the service centre to remove a stored trajectory for routing from A to B and to commence delivery over the mobile network using a mobile network protocol such as SMS instead. 
     In one embodiment, the system handles a situation in which A decides to submit a message via the mobile network intended for B, despite the fact that the packet network was used for communication with B earlier. 
     In one embodiment, the system performs this interworking if A is not present on the packet network for a prolonged time. 
     In one embodiment, upon message arrival the service centre queries a trajectory database and removes the trajectory from A to B from it in order to optimize interactions between the mobile and packet domains. 
    
    
     
       DETAILED DESCRIPTION OF THE INVENTION 
       Brief Description of the Drawings 
       The invention will be more clearly understood from the following description of some embodiments thereof, given by way of example only with reference to the accompanying drawings in which: 
         FIG. 1  shows submission of an SMS from an IM user A to an SMS user B; 
         FIG. 2  shows delivery of an SMS from an IM user A to an SMS user B; 
         FIG. 3  shows submission of a response SMS from an SMS user B to an IM user A; 
         FIG. 4  shows successful delivery of a response SMS from an SMS user B to an IM user A; 
         FIG. 5  shows fallback to SMS of a response SMS from an SMS user B to an IM user A; 
         FIG. 6  shows submission of an SMS from an IM user A to an SMS user B; and 
         FIG. 7  shows delivery of an SMS from an IM user A to an SMS user B. 
     
    
    
     DESCRIPTION OF THE EMBODIMENTS 
     The invention provides a system with a gateway having processors network architecture, routing logic and functionality to integrate Instant Messaging (IM) services of arbitrary nature with SMS. It allows IM subscribers to communicate over SMS with non-IM users (hereafter referred to as SMS users). It also facilitates the return path when the SMS users respond to messages originating in the IM domain. Also, it caters for situations where IM users are not available over IP for a prolonged time, providing a presence-based fallback to SMS. 
     The architecture is illustrated in  FIGS. 1 to 7 . It consists of the following elements: a packet switched network N 1  (WiFi, GPRS, UMTS, LTE, . . . ), a mobile network N 2  (GSM, CDMA, GPRS, UMTS, LTE, . . . ), an HLR/HSS H (serving the latter), an IM server S 1  (in the packet switched domain), an SMSC S 2 , a gateway G, and a trajectory database D. 
     In addition, mobile users A and B are defined, whereby A has an IM client X installed while B does not have client X installed. The invention allows A to communicate with B from within his client X and B to respond to the message from A from within his SMS client. Both A and B will use only one client, unless A is no longer available in the IM domain for a prolonged time. During installation of the IM client X on A&#39;s mobile device, B&#39;s subscription status is checked on the IM server S 1  where it is found that B is not an IM user and that consequently B is marked as an SMS user within A&#39;s client. For clarity purposes separate drawings are used for message submission phases and message delivery phases. 
       FIG. 1  shows IM device A submitting a message intended for delivery to device B using the IP network N 1  ( 1 ). In this message the recipient device B is marked as an SMS user. The IM server S 1  acknowledges the arrival of the message ( 2 ) and decides on the basis of B&#39;s status as an SMS user to route this message into the operator domain for delivery over SMS ( 3 ). Depending on the existing infrastructure S 1  can use the gateway G for submission of this message to the SMSC S 2  offered by the operator (( 3 ) and then ( 4 )) or access the SMSC S 2  directly (skipping step ( 3 )). For the SMS submission interface a variety of choices exists in the field: Short Message Peer to Peer Protocol (SMPP) [XXX], Uniform Computer Protocol (UCP) [XXX], Mobile Messaging Application Protocol (MMAP) [XXX], Parlay-X [XXX], Mobile Messaging Application Protocol (MMAP) [XXX] and various others. The MSISDN of the device A is put into the originator address of the submission operation and that of B into the recipient address of the submission operation. 
     The SMSC S 2  is equipped with a trajectory database D, where the trajectory A→B is now registered together with a timestamp ( 5 ). The trajectory consists of the A-address (originator of the trajectory) and the B-address (terminator of the trajectory). Both are contained in the message described in step ( 4 ). If the trajectory already exists then only the timestamp is renewed. The presence of a trajectory timestamp in the database D allows for maintenance whereby old entries that haven&#39;t been used for a particular time can be cleared when there is a shortage of resources. Once the registration is acknowledged ( 6 ), the SMSC S 2  acknowledges the arrival and successful processing of the message towards the IM server S 1 , either via the gateway G (( 7 ) and ( 8 )) or directly. 
       FIG. 2  follows directly on  FIG. 1  and illustrates the standard delivery path over the mobile network N 2  of the message submitted earlier. In step ( 1 ) the SMSC S 2  interrogates the HLR H whereupon H responds with the whereabouts of the device B ( 2 ). Once B&#39;s location is known the SMSC S 2  then delivers the message to B ( 3 ) from which the message arrival is acknowledged ( 4 ). After successful delivery the SMSC S 2  will remove the message from its buffers. 
       FIG. 3  illustrates the handling of a response message via the network N 2  towards the IM domain. B responds to A and a message is sent from B to the SMSC S 2  ( 1 ). Upon message arrival the SMSC S 2  queries its trajectory database D ( 2 ) and discovers that a prior message from A in the IM domain to B in the SMS domain was sent earlier ( 3 ). The SMSC S 2  uses this information to decide to query the HLR H ( 4 ). From the response from HLR H ( 5 ) the SMSC S 2  deduces whether or not A currently has a mobile data connection. If A has a mobile data connection then the SMSC S 2  will receive the address of A&#39;s Serving GPRS Support Node (SGSN) in ( 5 ). If A does not have a mobile data connection then the SMSC will receive the address of A&#39;s Mobile Switching Centre (MSC) (MSC) in ( 5 ). Finally, the SMSC S 2  responds back to A that it has received A&#39;s message ( 6 ). 
       FIG. 4  follows directly on  FIG. 3  and illustrates a successful delivery into the IM domain via the packet switched network N 1 . Given the presence of the trajectory A→B in the cache D, the SMSC S 2  decides to route the message into the IM domain. It attaches the retrieved mobile data connectivity information retrieved from H to the message and initiates delivery into the IM domain, either via the gateway G (( 1 ) and ( 2 )) or directly. The exact data structure used to carry A&#39;s data connectivity in the operations ( 1 ) and ( 2 ) is considered an implementation choice and therefore left open. An example is the addition of a vendor-specific optional parameter to a deliver_sm operation of the Short Message Peer-to-Peer Protocol (SMPP). This new optional parameter could indicate mobile data connective in a binary fashion, YES (value 1) or NO (value 0). Once this message arrives in the IM domain, the IM server S 1  uses A&#39;s mobile data presence information (and other factors it deems to be important, such as the last time it communicated with the particular user A) to decide to keep the message in the IM domain for immediate or short term delivery and to positively acknowledge the message to the SMSC S 2  (( 3 ) and ( 4 )). Next, the message is delivered to its intended recipient A ( 5 ) from which it is positively acknowledged ( 6 ). 
       FIG. 5  also follows directly on  FIG. 3  and illustrates an unsuccessful delivery into the IM domain via the packet switched network N 1 . Given the same routing decisions on SMSC S 2 , the IM server S 1  uses A&#39;s mobile data presence information (and other factors it deems to be important, such as the last time it communicated with the particular user A) to decide that delivery over the packet switched network N 1  is not possible or not likely. As a result it negatively acknowledges the message to the SMSC S 2  (( 3 ) and ( 4 )). The reception of this negative acknowledgement triggers SMSC S 2  to remove the trajectory A→B from its database D (( 5 ) and ( 6 )) and to commence delivery over network N 2  using SMS instead (( 7 ), ( 8 ), ( 9 ) and ( 10 )). The reason for this fallback to SMS is to prevent A from being cut-off from communication with B in situations where A is not present on N 1  for a prolonged time, e.g., during holidays abroad or when travelling to more isolated areas. The reason for the removal of the trajectory A→B from the database D is to optimize future communication between A and B and to prevent unnecessary delivery attempts into the IM domain. 
       FIG. 6  illustrates the situation where A decides to submit an SMS via the network N 2  intended for B ( 1 ), despite the fact that he used IM for communication with B earlier. Just like in  FIG. 5 , this describes the situation where A is not present on N 1  for a prolonged time, e.g., during holidays abroad or when travelling to more isolated areas. Upon message arrival the SMSC S 2  queries its trajectory database D ( 2 ) and removes the trajectory A→B from it ( 3 ) in order to optimize interactions between the SMS and the IM domain. Finally, successful message acceptance is signaled back to A ( 4 ). 
       FIG. 7  follows directly on  FIG. 6  and illustrates a successful query of B&#39;s whereabouts in the HLR H by the SMSC S 2  (( 1 ) and ( 2 )) and successful delivery into the SMS domain to B via the network N 2 . 
     It will be appreciated that the invention achieves excellent versatility for message communication between different types of device. It integrates packet network (such as Instant Messaging services) with ubiquitous mobile network services (such as SMS) as a fallback for communicating with users that are not part of a particular community. It provides intelligence in the Instant Messaging domain to choose SMS as a delivery channel based on the Instant Messaging subscription status of the recipient. Also it allows SMS recipients to respond to messages coming from the Instant Messaging domain and to deliver these responses back into this domain so that both users continue to have an open dialogue from a single interface, without either of them being aware of the technology that is used to deliver their messages. It caters for situations where Instant Messaging users are unavailable on IP for a prolonged time (e.g. roaming abroad while on holiday where extra data charges may apply), providing presence-based fallback to SMS. 
     This invention provides these advantages for arbitrary handset hardware, arbitrary handset operating systems, and for arbitrary Instant Messaging clients. 
     The invention is not limited to the embodiments described but may be varied in construction and detail. The gateway may be programmed primarily in software or firmware, and with any suitable number of processors depending on capacity and throughput requirements.