WO2012102831A1 - Procédé pour établir un échange de messages entre des dispositifs mobiles sur une connexion de données - Google Patents

Procédé pour établir un échange de messages entre des dispositifs mobiles sur une connexion de données Download PDF

Info

Publication number
WO2012102831A1
WO2012102831A1 PCT/US2012/000046 US2012000046W WO2012102831A1 WO 2012102831 A1 WO2012102831 A1 WO 2012102831A1 US 2012000046 W US2012000046 W US 2012000046W WO 2012102831 A1 WO2012102831 A1 WO 2012102831A1
Authority
WO
WIPO (PCT)
Prior art keywords
messaging
message
data connection
user
server
Prior art date
Application number
PCT/US2012/000046
Other languages
English (en)
Inventor
Onno Bakker
Original Assignee
Ebuddy Holding B.V.
AHMANN, William, F.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ebuddy Holding B.V., AHMANN, William, F. filed Critical Ebuddy Holding B.V.
Publication of WO2012102831A1 publication Critical patent/WO2012102831A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W68/00User notification, e.g. alerting and paging, for incoming communication, change of service or the like

Definitions

  • Instant messaging requires the use of a client program that hooks up an instant messaging service and differs from e-mail in that conversations are then able to happen in real time.
  • Most services offer a presence information feature, indicating whether people on one's list of contacts are currently online and available to chat. This may be called a contact list.
  • a contact list indicating whether people on one's list of contacts are currently online and available to chat. This may be called a contact list.
  • each letter appeared as it was typed, and when letters were deleted to correct typos this was also seen in real time. This made it more like a telephone conversation than exchanging letters.
  • the other party in the conversation generally only sees each line of text right after a new line is started.
  • Most instant messaging applications also include the ability to set a status message, roughly analogous to the message on a telephone answering machine.
  • FIG. 1 depicts an example of a system for a messaging application over data connection that works between mobile phones.
  • FIG. 2 depicts a flowchart of an example of a method for messaging over a data connection with a mobile device that is effectively offline.
  • FIG: 3 depicts a drawing of an example of a system for initiating messaging over a data connection with an effectively offline client.
  • FIG. 4 depicts a drawing of an example of a system for consenting to messaging over a data connection by an effectively offline client.
  • FIG. 5 depicts a drawing of an example of a system for providing messages over a data connection to clients.
  • FIG. 6 depicts a flowchart of an example of a method of initiating a messaging over a data connection session with an effectively offline messaging target.
  • FIG. 7 depicts a flowchart of an example of a method of responding to a messaging wakeup message to engage in a messaging over a data connection session.
  • FIG. 1 depicts an example of a system for a messaging application over data connection that works between mobile phones.
  • the system 100 includes a network 102, a messaging application server 104, a carrier network 106, a carrier network 108, a messaging device 1 10, a messaging device 1 12, and.
  • the network 102 can include a networked system that includes several computer systems coupled together, such as a local area network (LAN), the Internet, a packet switched telephone network (PSTN), or some other networked system.
  • LAN local area network
  • PSTN packet switched telephone network
  • Internet refers to a network of networks that uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (the web).
  • HTTP hypertext transfer protocol
  • HTML hypertext markup language
  • a web server which is one type of content server, is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the World Wide Web and is coupled to the Internet. Applicable known or convenient physical connections of the Internet and the protocols and communication procedures of the Internet and the web are and/or can be used. However, components that are outside of the control of the system 100 can be considered sources of data received in an applicable known or convenient manner.
  • the messaging application server 104 is coupled to the network 102.
  • the messaging application server 104 can detect a first message from a first user to a second user. If the second user is capable of receiving the first message, then the messaging application server 104 provides the first message to the second user.
  • the second user may not have an active data connection because, for example, the second user has no WiFi signal, is abroad with data roaming disabled because it is expensive, are outside 3G or GPRS coverage, etc.
  • the messaging application server 104 proposes to the first user to send a wakeup SMS message.
  • the first user can then compose the wakeup SMS message, including and codes/commands that make the message a service SMS message.
  • the service SMS message can include some or all of a first message that was not received by the second user due to the absence of an active data connection.
  • the first user can send the service SMS to the second user.
  • the first user can send the SMS message through a connection between the first user's carrier network to the second user's carrier network, and to the second user.
  • the messaging application server 104 can receive the service SMS message from the first user's carrier network and provide it to the second user's carrier network.
  • the service SMS serves as notification that there is a message waiting for the second user at the messaging application server 104, and the second user can open the messaging application in response thereto.
  • the messaging application is opened automatically.
  • the messaging application server 104 when the second user does not have an active data connection, the messaging application server 104 composes a wakeup SMS message, including and codes/commands that make the message a service SMS message.
  • the service SMS message can include some or all of a first message that was not received by the second user due to the absence of an active data connection.
  • the messaging application server 104 sends the composed service SMS message to the first user.
  • the first user can send the service SMS to the second user.
  • the first user can send the SMS message through a connection between the first user's carrier network to the second user's carrier network, and to the second user.
  • the messaging application server 104 can send the service SMS message to the second user's carrier network on behalf of the first user.
  • the messaging application server 104 may or may not send the composed SMS message to the first user (e.g., the messaging application server 104 may send the service SMS message without the first user ever having composed or received the service SMS message).
  • the messaging application server 104 can be implemented as a clientless platform, as a server that is intended to work with application-embedded clients, or in some other applicable manner.
  • the messaging application server 104 can be implemented in a computer system.
  • a computer system will usually include a processor, memory, non-volatile storage, and an interface. Peripheral devices can also be considered part of the computer system.
  • a typical computer system will include at least a processor, memory, and a device (e.g., a bus) coupling the memory to the processor.
  • the processor can include, for example, a general-purpose central processing unit (CPU), such as a microprocessor, or a special-purpose processor, such as a microcontroller.
  • CPU general-purpose central processing unit
  • microcontroller such as a microcontroller
  • the memory can include, by way of example but not limitation, random access memory (RAM), such as dynamic RAM (DRAM) and static RAM (SRAM).
  • RAM random access memory
  • DRAM dynamic RAM
  • SRAM static RAM
  • the memory can be local, remote, or distributed.
  • computer-readable storage medium is intended to include physical media, such as memory.
  • the bus can couple the processor to non-volatile storage.
  • the non-volatile storage is often a magnetic floppy or hard disk, a magnetic-optical disk, an optical disk, a read-only memory (ROM), such as a CD-ROM, EPROM, or EEPROM, a magnetic or optical card, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory during execution of software on the computer system.
  • the non-volatile storage can be local, remote, or distributed. The non-volatile storage is optional because systems can be created with all applicable data available in memory.
  • a software program is assumed to be stored at any known or convenient location (from nonvolatile storage to hardware registers) when the software program is referred to as “implemented in a computer-readable storage medium.”
  • a processor is considered to be “configured to execute a program” when at least one value associated with the program is stored in a register readable by the processor.
  • the bus can also couple the processor to one or more interfaces.
  • the interface can include one or more of a modem or network interface. It will be appreciated that a modem or network interface can be considered to be part of the computer system.
  • the interface can include an analog modem, isdn modem, cable modem, token ring interface, satellite transmission interface (e.g. "direct PC"), or other interfaces for coupling a computer system to other computer systems.
  • the interface can include one or more input and/or output (I/O) devices.
  • the I/O devices can include, by way of example but not limitation, a keyboard, a mouse or other pointing device, disk drives, printers, a scanner, and other I/O devices, including a display device.
  • the display device can include, by way of example but not limitation, a cathode ray tube (CRT), liquid crystal display (LCD), or some other applicable known or convenient display device.
  • the computer system can be controlled by operating system software that includes a file management system, such as a disk operating system.
  • a file management system such as a disk operating system.
  • operating system software with associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Washington, and their associated file management systems.
  • Windows® from Microsoft Corporation of Redmond, Washington
  • Another example of operating system software with its associated file management system software is the Linux operating system and its associated file management system.
  • the file management system is typically stored in the non-volatile storage and causes the processor to execute the various acts required by the operating system to input and output data and to store data in the memory, including storing files on the non-volatile storage.
  • the carrier network 106 is coupled through a data connection to the network 102.
  • the carrier network 106 can be controlled by a common carrier (or local exchange carrier) or a mobile carrier.
  • the carrier network 106 includes a wireless network.
  • Wireless networks will typically include an internetworking unit (IWU) that interconnects wireless devices on the relevant one of the wireless networks with another network, such as a wired LAN.
  • the IWU is sometimes referred to as a wireless access point (WAP).
  • WAP wireless access point
  • a WAP is also defined as a station.
  • a station can be a non-WAP station or a WAP station.
  • the wireless networks can be implemented using any applicable technology, which can differ by network type or in other ways.
  • the wireless networks can be of any appropriate size (e.g., metropolitan area network (MAN), personal area network (PAN), etc.).
  • Broadband wireless MANs may or may not be compliant with IEEE 802.16, which is incorporated by reference.
  • Wireless PANs may or may not be compliant with IEEE 802.15, which is incorporated by reference.
  • the wireless networks can be identifiable by network type (e.g., 2G, 3G, WiFi), service provider, WAP/base station identifier (e.g., WiFi SSID, base station and sector ID), geographic location, or other identification criteria.
  • the carrier network 108 is coupled to the network 102.
  • the carrier network 108 may or may not be under the control of the same entity as the carrier network 106. Indeed, the techniques described in this paper would work even if the carrier network 106 and the carrier network 108 were the same network.
  • the carrier networks 106, 108 may or may not be coupled together via an intermediate network.
  • the intermediate network can include practically any type of communications network, such as, by way of example but not limitation, the Internet, a public switched telephone network (PSTN), or an infrastructure network (e.g., private LAN).
  • Internet refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (the web).
  • HTTP hypertext transfer protocol
  • HTML hypertext markup language
  • the messaging device 1 sends a message from a first user (presumably but not necessarily of the messaging device 110) to a second user (presumably but not necessarily of the messaging device 1 12).
  • the messaging device 110 can be implemented on a mobile device.
  • a messaging application is installed on the messaging device 110.
  • the messaging device 1 10 will at a minimum include a processor, memory (though the memory could be implemented in the processor), a radio, and a radio interface (though the radio interface could be implemented as "part of the radio).
  • at least one input device and at least one output device, including input and output interfaces, will be implemented in the messaging device 110, if applicable.
  • the messaging device 1 10 can be implemented as a station.
  • a station as used herein, may be referred to as a device with a media access control (MAC) address and a physical layer (PHY) interface to the wireless medium that comply with, e.g., the IEEE 802.1 1 standard.
  • MAC media access control
  • PHY physical layer
  • a station can be described as "IEEE 802.1 1 -compliant" when compliance with the IEEE 802.11 standard is intended to be explicit.
  • IEEE 802.1 1 (I.e, a device acts as described in at least a portion of the IEEE 802.1 1 standard.)
  • IEEE 802.1 1TM-2007 (Revision of IEEE Std 802.1 1-1999 ) is incorporated by reference.
  • IEEE 802.1 1 k-2008, IEEE 802.11 n-2009, IEEE 802.1 p-2010, IEEE 802.1 1 r-2008, IEEE 802.1 1w- 2009, and IEEE 802.1 1y-2008 are also incorporated by reference.
  • the messaging device 1 10 may comply with some other standard or no standard at all, and may have different interfaces to a wireless or other medium. It should be noted that not all standards refer to wireless devices as "stations,” but where the term is used in this paper, it should be understood that an analogous unit will be present on all applicable wireless networks. Thus, use of the term “station” should not be construed as limiting the scope of an embodiment that describes wireless devices as stations to a standard that explicitly uses the term, unless such a limitation is appropriate in the context of the discussion.
  • the messaging device 1 receives a message from a first user (presumably but not necessarily of the messaging device 1 10) to a second user (presumably but not necessarily of the messaging device 1 12).
  • the messaging device 1 12 can be implemented on a mobile device as was described above with reference to the messaging device 1 10.
  • an engine includes a dedicated or shared processor and, typically, firmware or software modules that are executed by the processor. Engines will be implemented on each of the components described in the example of FIG. 1 and in other figures to accomplish the described functionality, including networks, which require engines to carry out the network functionality. Depending upon implementation-specific or other considerations, an engine can be centralized or its functionality distributed. An engine can include special purpose hardware, firmware, or software embodied in a computer-readable medium for execution by the processor. As used in this paper, a computer-readable medium is intended to include all mediums that are statutory (e.g., in the United States, under 35 U.S.C.
  • Known statutory computer-readable mediums include hardware (e.g., registers, random access memory (RAM), non-volatile (NV) storage, to name a few), but may or may not be limited to hardware.
  • a datastore includes any organization of data, including tables, comma-separated values (CSV) files, traditional databases (e.g., SQL), structured storage (e.g., NoSQL), or other applicable known or convenient organizational formats.
  • a datastore can be implemented, for example, as software embodied in a physical computer-readable medium on a general- or specific-purpose machine, in firmware, in hardware, in a combination thereof, or in an applicable known or convenient device or system.
  • Datastore-associated components such as database interfaces, can be considered "part of a datastore, part of some other system component, or a combination thereof, though the physical location and other characteristics of datastore-associated components is not critical for an understanding of the techniques described in this paper.
  • Datastores can include data structures.
  • a data structure is associated with a particular way of storing and organizing data in a computer so that it can be used efficiently within a given context.
  • Data structures are generally based on the ability of a computer to fetch and store data at any place in its memory, specified by an address, a bit string that can be itself stored in memory and manipulated by the program.
  • Some data structures are based on computing the addresses of data items with arithmetic operations; while other data structures are based on storing addresses of data items within the structure itself.
  • Many data structures use both principles, sometimes combined in non-trivial ways.
  • the implementation of a data structure usually entails writing a set of procedures that create and manipulate instances of that structure.
  • the messaging device 1 10 sends a first message of a first user via the messaging application server 104.
  • the first message passes over a mobile data connection 114 (e.g., GPRS-, 3G-, HSDPA-compliant, or compliant with some other mobile telephony communications protocol) or a cellular connection 1 16 (e.g., GSM) for voice and SMS to the carrier network 106.
  • the carrier network 106 provides the message over a data connection 120 to the network 102, on which the messaging application server 104 resides. If the messaging device 1 12 has an active data connection, the messaging device 1 10 can send the first message to the messaging device in the usual manner. Alternatives are possible.
  • the messaging device or the messaging applications server 104 can send the message or a notification that a message is available through the carrier network 108 to the messaging device 1 12 via the active data connection.
  • the first message (or subsequent messages) could be sent via a connection 1 18 between operators of the carrier networks 106, 108 by which SMS messages are sent, or the first message (or subsequent messages) could be sent to the messaging application server 104, and then back down to the messaging device 1 12 through the connection 120 to the carrier network 108.
  • the messaging application server 104 may or may not maintain state for the messaging device 112 so that it is aware when the messaging device 1 12 has an active data connection.
  • the messaging device 1 10 could be instructed to send a message over the data connection when the messaging device 1 12 has an active data connection or the messaging device 110 could be instructed to generate a service SMS message as described previously otherwise. Some applications enable participants to see whether contacts are online or offline.
  • the messaging application server 104 does not maintain (or does not share) state, the messaging device 1 10 could attempt to send a message to the messaging device 112, and only generate a service SMS message if the message cannot be delivered over a data connection.
  • the messaging application server 104 prompts the messaging device 1 10 to send the service SMS message, the messaging application server 104 provides a service SMS message for the messaging device 110 to send, the messaging device 1 0 provides a service SMS message for the messaging application server 104 to send on behalf of the messaging device 1 10, the messaging application server 104 generates a service SMS message to send on behalf of the messaging device 110, or the service SMS message is sent to the messaging device 112 in some other way.
  • FIG. 2 depicts a flowchart 200 of an example of a method for messaging over a data connection with a mobile device that is effectively offline. This flowchart and other flowcharts are depicted as serially arranged modules. However, modules of the flowcharts can be reordered, or arranged for parallel execution as appropriate.
  • the flowchart 200 starts at module 202 with first mobile device initiates a data connection with first mobile operator.
  • the first mobile device can open the data connection in a known or convenient manner.
  • the data connection can be associated with an applicable known or convenient protocol (or lack thereof) or applicable known or convenient technology.
  • the flowchart 200 continues to module 204 with messaging application engine on first mobile device generates wakeup SMS message to send to second mobile device.
  • the wakeup SMS message can be designed in such a way as to notify a user of the second mobile device of the message that a user of the first mobile device wants to send over a data connection.
  • the manner in which the messaging application engine on the first mobile device determines to generate a wakeup SMS message can include being informed by a messaging application server that the target of the message is "offline,” does not have an applicable data connection, or the like.
  • the target can be awakened, it may be desirable to ensure that any communication from the messaging application engine on the first mobile device to a user of the first mobile device makes it clear that the offline target is just sleeping, and can (at least potentially) be awakened.
  • the messaging application engine on the first mobile device could become aware that a second mobile device does not have an appropriate data connection after a first message fails in delivery over a data connection.
  • the flowchart 200 continues to decision point 206 where it is determined whether a user of the first mobile device approves that the wakeup SMS message be send to the second mobile device. If it is determined that the user of the first mobile device does not approve the wakeup SMS message be sent to the second mobile device (206-N), the flowchart 200 ends. If on the other hand it is determined that the user of the first mobile device approves the wakeup SMS message be sent to the second mobile device (206-Y), the flowchart continues to module 208.
  • the approval can be obtained by, for example, the messaging application engine prompting a user of the first mobile device to respond appropriately to a query as to whether to send the wakeup SMS message.
  • the approval can be preset on a target-by-target basis, a subset thereof, or for all messaging of the user of the first mobile device; based upon account settings, which may or may not vary depending upon what kind of account a user has; based upon the account settings of a user of the second mobile device; etc.
  • the flowchart 200 continues to module 208 with message transmission engine sends the wakeup SMS message over cellular connection to second mobile device.
  • the message transmission engine can include a radio and other applicable components that facilitate sending of a message over an appropriate channel from the first mobile device to a network (typically, a wireless network). The message is then carried over the applicable communication channel to the destination.
  • the user of the second mobile device will view the message, which will at least in part be displayed on an output device or speaker of the second mobile device.
  • this paper treats the second mobile device as the "destination" of a message that the message may actually be held at a server or other location until the message is uploaded by or downloaded to the second mobile device.
  • the flowchart 200 continues to module 210 with message receive engine on second mobile device receives wakeup SMS message from first mobile device.
  • the message receive engine can include a radio and other applicable components that facilitate receiving a message over an appropriate channel.
  • the second user can receive the wakeup SMS message without having to first initiate an applicable data connection.
  • the flowchart 200 continues to decision point 212 where it is determined whether a user of the second mobile device consents to wakeup by, at least in part, opening a data connection. If it is determined the user of the second mobile device does not consent to wake up (212-N), the flowchart 200 ends. If on the other hand it is determined the user of the second mobile device consents to wake up (212-Y), the flowchart 200 continues to module 214. Consent can be indicated by, for example, the user of the second mobile device clicking on a link, button, or other stimulus detector that indicates the user wishes to open a data connection to initiate messaging.
  • the precise mechanism by which the stimulus detector is implemented can vary depending upon the communication channel used to send the wakeup SMS message (SMS is an acronym that covers more than one technology under its umbrella) or embodiment- or configuration-specific details.
  • SMS is an acronym that covers more than one technology under its umbrella
  • the number of options that the user of the second device has can also vary. For example, it may be desirable to consent to wake up for a message then immediately shut down the data connection (due to, e.g., high data roaming charges when abroad).
  • the messaging application engine on the second mobile device could enable the user of the second mobile device to seamlessly respond to a wakeup SMS message using some other communication channel, such as email.
  • the flowchart 200 continues to module 214 with second mobile device initiates data connection with second mobile operator. For the sake of this example, it is assumed that the data connection initiated is suitable for messaging using a service that enables messaging over a data connection.
  • the flowchart 200 ends at module 216 with second mobile device receives messages over data connection.
  • the message received may or may not have been identified in whole or in part in the wakeup SMS message. Even if the content of the message was included in the wake up SMS message, it may still be desirable to provide the message as an appropriately configured message for the purpose of maintaining a message history and/or to enable the user of the second mobile device to respond or otherwise treat the message as any other message.
  • the first mobile device and second mobile device can communicate via messaging service over a data connection for subsequent messages while the data connection remains open. If the data connection is closed, the flowchart 200 can start over at module 202 (if both data connections are closed) or module 204 (if one data connection is closed).
  • FIG. 3 depicts a drawing 300 of an example of a system for initiating messaging over a data connection with an effectively offline client.
  • the drawing 300 includes a messaging application engine 302, a buddy datastore 304, a message history datastore 306, a messaging wakeup engine 308, an offline communication engine 310, a radio 312, and an offline communication datastore 314.
  • the components depicted in the drawing 300 are implemented on a mobile device.
  • the messaging application engine 302 is coupled to the buddy datastore 304 and the messaging history 306.
  • the messaging application engine 302 facilitates communication in an instant-messaging format over a data connection.
  • the buddy datastore 304 includes contacts or friends that can be communicated with in the instant- messaging format.
  • the messaging history datastore 306 includes previously sent and/or received messages. Other datastores, such as a profile datastore, can also be implemented, but are not shown.
  • the buddy datastore 304 becomes optional because it is not necessary to know the destination of participants in an online chat session.
  • the messaging application engine 302 can facilitate communication in more than one messaging service format.
  • the various messaging applications that the messaging application engine 302 enables can be integrated in some ways. For example, two different messaging applications could share the message history datastore 306 and be presented in a compatible format to a user.
  • the buddy datastore 304 can be a compilation of contact lists or friend lists from various services.
  • the messaging wakeup engine 308 is coupled to the messaging application engine 302 and the offline communication engine 310.
  • the messaging application engine 302 can trigger the messaging wakeup engine 308 to generate a messaging wake-up message for the target.
  • the determination as to whether a messaging target is effectively offline can be made by failing in a message delivery attempt, pinging, receiving such information from a messaging application server (not shown), or in some other applicable way.
  • a messaging target is effectively offline when it is determined that the messaging target does not have an applicable data connection enabling use of a messaging service associated with the messaging application engine 302.
  • the messaging application engine 302 may or may not be able to determine whether a messaging target is unreachable (completely offline).
  • the offline communication engine 310 is coupled to the radio 312 and the offline communication datastore 314.
  • the messaging wakeup message received from the messaging wake-up engine 308 should have a format that is appropriate for the communication channel over which the messaging wakeup message will be sent.
  • the offline communication engine 310 includes an email application engine
  • the messaging wake-up message can be generated in a format that is appropriate for email (either as an email message itself or as an attachment to an email message).
  • the offline communication engine 310 can store the messaging wakeup message in the offline communication datastore 314 in the same way it stores other applicable messages (e.g., in the sent folder of an email application datastore).
  • the messaging wake-up message will typically be encapsulated for transmission by the radio 312 and further encapsulated, de-encapsulated, or re-encapsulated, as appropriate, as it is conveyed over the relevant networks to its destination.
  • a messaging target user
  • the user can elect to open an applicable data connection.
  • consenting to open a data connection automatically results in a message the messaging application engine 302 sent prior to or as part of the messaging wake-up message being provided to the consenting user.
  • FIG. 4 depicts a drawing 400 of an example of a system for consenting to messaging by an effectively offline client.
  • the drawing 400 includes a messaging application engine 402, a buddy datastore 404, a message history datastore 406, a messaging wakeup engine 408, an offline communication engine 410, a radio 412, and an offline communication datastore 414.
  • the components depicted in the drawing 400 are implemented on a mobile device.
  • the example of FIG. 4 is quite similar to the example of FIG. 3. Indeed, in a specific implementation, a single device can have roles reversed such that it requests that an effectively offline device wake up in one instance and can be requested to wake up in another.
  • the radio 412 receives an offline communication message, such as a SMS message, which is provided to the offline communication engine 410 and, if applicable, stored in the offline communication datastore 414. If a user of the offline communication engine 410 responds appropriately to a stimulus detector, such as a link or button in the offline communication message, the messaging wakeup engine 408 opens an applicable data connection. Depending upon the implementation, the messaging application engine 401 can immediately receive a message from the messaging participant that sent the messaging wakeup message, which can be stored in the message history datastore 406, if applicable. If the participant is not known, the participant can also be added to the buddy datastore 404.
  • an offline communication message such as a SMS message
  • FIG. 5 depicts an example of a system 500 for providing instant messages to clients.
  • the system 500 includes a network 502, a server 504, and an Instant Messenger (IM) server 506, and an IM network 508.
  • the server 504 is coupled to the network at least by way of port 80.
  • the two way communication via port 80 is represented in the example of FIG. 5 as an arrow 510.
  • the server 504 is coupled to the IM server 506 via one or more other ports, the two way communication via the other ports is represented in the example of FIG. 5 as an arrow 5 2.
  • the IM server 506 is coupled to the IM network 508 via any known or convenient mechanism. Indeed, the IM server 506 may be thought of as part of the IM network 508.
  • the network 502 couples a plurality of clients 514-1 to 514-N (referred to collectively as clients 514) to the server 504.
  • the server 504 includes an event queue 516.
  • the network 502 may include by way of example but not limitation LAN, WAN, VLAN, WLAN, Internet, cellular network, phone network, radio network, or some other known or convenient network.
  • Internet refers to a network of networks that uses certain protocols, such as TCP/IP, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (the web).
  • HTTP hypertext transfer protocol
  • HTML hypertext markup language
  • the server 504 may include a multiple servers. Indeed, it may be desirable, depending upon details of a particular implementation, to install several servers to cope with the number of simultaneous users the system 500 supports. It may further be desirable, depending upon details of a particular implementation, for the server 504 to have a high CPU throughput, together with large amounts of RAM, to handle a large number of users. It may further be desirable, depending upon details of a particular implementation, to accomplish resource sharing via thread handling where a pool of threads is shared and used by one or more of the clients 514 for client-server communication and between the server 504 and the IM server 506.
  • the server 504 may include one or more of an application server, database server, web server, banners server, and content server, or any combination thereof. To make the most of the techniques described herein, the server 504 should, though is not required to, include at least one application server.
  • the other servers can have supporting roles in, by way of example but not limitation, serving static content or advertising (e.g., banners), storing usage data, or fulfilling some other known or convenient function.
  • the server 504 may act as a proxy server between the clients 514 and the IM server 506.
  • the server 504 receives communications from the clients 514 on http port 80, and responds to the clients 514 on http port 80. Communications from the clients 514 that are bound for the IM network 508, however, must also come through http port 80 to the server 504, and are then forwarded to the IM server 506.
  • the server 504 acts as a carrier of the data from users to the IM network 508 using a mechanism that controls and manages the data (e.g., text messages, display images, emoticons, audio/video streams, etc.) sent between one of the clients 514 and the server 504, and vice versa.
  • the IM server 506 may be any known or convenient IM server that is compatible with IM. Events, messages, or other appropriate data from the IM server 506 are collected in the event queue 516 of the server 504. The events may be collected in association with a variety of protocols including by way of example but not limitation port 1863, port 5050, port 5222, port 5190, etc.
  • the IM network 508 may include one or a combination of networks selected from MSN Messenger, Yahoo! Messenger, AIM AOL, ICQ, QQ, Jabber, Google Talk, IRC, or some other known or convenient IM network.
  • the clients 514 may include any known or convenient device, including by way of example but not limitation, a Web browser, mobile client, PDA, game console, TV box, native application, etc.
  • the clients poll the server 504 for events.
  • the events can be removed from the event queue 516 and translated into text, JavaScript, XML, or some other known or convenient format that one or more of the clients 514 need or expect in order to process data associated with the event.
  • the clients 514 send data to the server 504.
  • the data which may include commands, is processed and translated into corresponding data that will be sent to the appropriate IM network.
  • the appropriate IM network may be determinable based upon the protocol encoded in a message.
  • Messages or actions from the clients 514 are collected over network protocols such as, by way of example but not limitation, HTTP or plain socket connections.
  • the messages or actions are transformed to an appropriate protocol format to be sent over a compliant port from the clients 514 to the server 504, with the IM protocol on the application side.
  • the compliant port is http port 80.
  • any port having similar characteristics to those of a typical port 80 could be used.
  • AJAX Asynchronous JavaScript And XML
  • clients 514 can execute actions and poll for messages or events using only JavaScript.
  • the method is based on using an XMLHttpRequest object to make HTTP requests to the server 504.
  • the server 504 may reply with messages taken from the queue of the corresponding session in XML (or another) format that are parsed and displayed according to the message content.
  • the browser when accessing the server 504 the browser typically uses hidden HTML frames to update information on visible frames.
  • the visible frames display appropriate information while the hidden frames are reloaded in short periods of time.
  • the browser identifies the current messaging session and checks if new events or messages associated with the session are in the event queue 516.
  • the browser makes use of, for example, JavaScript code to update the visible frames and windows with new messages or events keeping the information up to date in the screen. In this way, automatic refreshing can take place in a hidden frame.
  • certain of the clients 514 with browsers may not make use of refreshes.
  • a form of updating the screen without using a refresh technique is to keep one single HTTP socket request alive for the whole period of a messaging session without actually closing the socket connection.
  • information is initially loaded and displayed in one single visible frame.
  • JavaScript code can be injected into the HTML document through the same HTTP socket kept alive and managed by the server 504.
  • the browser can interpret the JavaScript code injected and the corresponding parts of the HTML document and windows will be updated.
  • certain of the clients 514 with browsers may make use of manual refreshes.
  • Some relatively unsophisticated browsers such as WAP and xHTML browsers often available on mobile phones, do not support hidden frames and/or JavaScript (and others may be configured such that they do not support hidden frames and/or JavaScript).
  • the information displayed has to be updated manually by the user. Manual updating enables any mobile phone, PDA, TV Set or any device with a browser to connect to the server 504 and use the messaging platforms made available by the server 504 assuring the communication between the clients 514 and the IM server 506.
  • Message history can be stored by most IM clients on a local computer. For alternative web and mobile-based clients local storage may not be possible.
  • the server 504 may have the capability to store message history from IM conversations done via one or more of the clients 514. The message history can be accessed and searched at any time via the server 504 by one or more of the clients 514
  • FIG. 6 depicts a flowchart 600 of an example of a method of initiating a messaging over a data connection session with an effectively offline messaging target.
  • the flowchart 600 starts at module 602 with first mobile device initiates data connection with first mobile operator. In this way, the first mobile device establishes a data connection appropriate for messaging.
  • the flowchart 600 continues to module 604 with determine messaging target is effectively offline.
  • the messaging target can indicate status to a messaging server (or, alternatively perhaps directly to the first mobile device). If the first mobile device is aware of the status, the first mobile device knows when the messaging target is effectively offline. Whether the messaging target is effectively offline can also be determined by failing an attempted message delivery or being informed of the messaging target's status by an application server that can make such a determination. Presumably, the first mobile device could also conceivably assume that a messaging target is effectively offline after not messaging for some time or in accordance with an algorithm. An application server can propose to a user to send a messaging wakeup message when the application server determines that the messaging target is effectively online.
  • the flowchart 600 continues to module 606 with messaging application engine generates messaging wakeup message.
  • An agent of the user can compose a messaging service message on the user's mobile device, which includes an address of the messaging target, none/some/all of the intended message, codes/commands that make the distinguish the messaging service message from a "normal message.”
  • a messaging application than then ask the user to send the specially composed SMS message.
  • the messaging wakeup message will presumably have a format that varies from the messaging format with which the messaging application engine is associated (because the messaging target is effectively offline).
  • the messaging wakeup message format can be explicit, can be a changeable default, or can be freely entered by a user, perhaps in combination with a relevant engine that is capable of handling the offline communication.
  • the flowchart 600 continues to module 608 with send messaging wakeup message via an offline communication channel.
  • the offline communication channel is SMS sent over a cellular connection.
  • other channels are possible, such as email or voicemail, where a user of the first mobile device records (or uses a stored) message to encourage a messaging target to wake up.
  • the flowchart 600 continues to module 610 with begin messaging with messaging target when messaging target comes online.
  • the messaging target can respond to the messaging wakeup message by selecting an appropriate stimulus detector or responding with a keypad stroke or responding with voice.
  • the mechanism by which the messaging target chooses to come online is not critical to an understanding of the teachings described in this paper.
  • FIG. 7 depicts a flowchart 700 of an example of a method of responding to a messaging wakeup message to engage in a messaging over a data connection session.
  • the flowchart 700 starts at module 702 with second mobile device receives messaging wakeup message on offline channel.
  • the flowchart 700 continues to module 704 with offline messaging engine displays messaging wakeup message.
  • the messaging wakeup message can be displayed as a SMS message.
  • the offline messaging engine can include, for example, a web browser, which can be used to enable access to an online email service.
  • the fact that an email service can be online should not be construed to mean email is sent via other than an offline communication channel.
  • the phrase "offline communication channel" is intended to mean a channel by which messages can be sent over other than a data connection.
  • the flowchart 700 continues to module 706 with messaging application engine receives consent to start messaging.
  • a user can give consent by triggering an appropriate stimulus detector (e.g., clicking a button).
  • the flowchart 700 continues to module 708 with second mobile device opens data connection with second mobile operator.
  • the second mobile operator (of the messaging target) may or may not be the same as the first mobile operator (of the sender of the messaging wakeup message).
  • the flowchart 700 continues to module 710 with begin messaging over data connection with sender of messaging wakeup message.
  • a messaging application works between . mobile phones.
  • An application server can propose to a user to send a messaging wakeup message.
  • a service message is generated at the user's phone and a messaging application asks the user to send the service message to a messaging target.
  • the messaging target is thereby notified that an instant message is waiting in a messaging application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

L'invention concerne une technique pour notifier à une cible de messagerie effectivement hors ligne qu'un participant de messagerie souhaite établir une session de messagerie avec la cible de messagerie, ce qui implique l'envoi d'un message d'activation de messagerie sur un canal de communication hors ligne. Suite au message d'activation de messagerie, la cible de messagerie peut ouvrir un canal de données approprié au moyen d'un opérateur sans fil. L'expéditeur et le destinataire du message d'activation de messagerie peuvent ensuite échanger des messages l'un l'autre dans une session de connexion de données.
PCT/US2012/000046 2011-01-27 2012-01-27 Procédé pour établir un échange de messages entre des dispositifs mobiles sur une connexion de données WO2012102831A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161436961P 2011-01-27 2011-01-27
US61/436,961 2011-01-27

Publications (1)

Publication Number Publication Date
WO2012102831A1 true WO2012102831A1 (fr) 2012-08-02

Family

ID=46581109

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2012/000046 WO2012102831A1 (fr) 2011-01-27 2012-01-27 Procédé pour établir un échange de messages entre des dispositifs mobiles sur une connexion de données

Country Status (1)

Country Link
WO (1) WO2012102831A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106412854A (zh) * 2015-07-30 2017-02-15 北京奇虎科技有限公司 用于基于通讯录进行信息发送的方法及装置
CN114760259A (zh) * 2022-04-27 2022-07-15 深圳小湃科技有限公司 离线消息发送方法、装置、电子设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030088676A1 (en) * 2001-11-02 2003-05-08 General Instruments Corporation Method and apparatus for transferring a communication session
US7042879B2 (en) * 2001-11-02 2006-05-09 General Instrument Corporation Method and apparatus for transferring a communication session
US20080182559A1 (en) * 2001-08-31 2008-07-31 Nokia Corporation Mobile content delivery system
US20100099421A1 (en) * 2008-10-17 2010-04-22 Verizon Corporate Services Group, Inc. Efficient messaging over internet protocol

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080182559A1 (en) * 2001-08-31 2008-07-31 Nokia Corporation Mobile content delivery system
US20030088676A1 (en) * 2001-11-02 2003-05-08 General Instruments Corporation Method and apparatus for transferring a communication session
US7042879B2 (en) * 2001-11-02 2006-05-09 General Instrument Corporation Method and apparatus for transferring a communication session
US20100099421A1 (en) * 2008-10-17 2010-04-22 Verizon Corporate Services Group, Inc. Efficient messaging over internet protocol

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106412854A (zh) * 2015-07-30 2017-02-15 北京奇虎科技有限公司 用于基于通讯录进行信息发送的方法及装置
CN114760259A (zh) * 2022-04-27 2022-07-15 深圳小湃科技有限公司 离线消息发送方法、装置、电子设备及可读存储介质
CN114760259B (zh) * 2022-04-27 2024-01-16 深圳小湃科技有限公司 离线消息发送方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
US11438291B2 (en) Message history display system and method
KR102238205B1 (ko) 엔트리들을 위한 옵트-인 영속성을 갖는 메시지 스레드를 유지하는 장치 및 방법
US9454747B2 (en) Ordering of conversations based on monitored recipient user interaction with corresponding electronic messages
US9560500B2 (en) Method and apparatus for providing mobile device information through a computing device
KR101923533B1 (ko) 범용 플러그 앤 플레이 홈 네트워크 환경에서 캘린더 서비스를 제공하는 방법 및 시스템
US10075403B2 (en) Method and system for managing voice mails in a universal plug and play network environment
WO2012102831A1 (fr) Procédé pour établir un échange de messages entre des dispositifs mobiles sur une connexion de données
CN101860821B (zh) 一种获取多个即时信息的方法和系统
KR101872551B1 (ko) 범용 플러그 앤 플레이 홈 네트워크 환경에서 강화된 이벤트 통지를 제공하는 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12738717

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12738717

Country of ref document: EP

Kind code of ref document: A1