WO2011158067A1 - Method and apparatus for simulating regularly transmitted messages - Google Patents

Method and apparatus for simulating regularly transmitted messages Download PDF

Info

Publication number
WO2011158067A1
WO2011158067A1 PCT/IB2010/052748 IB2010052748W WO2011158067A1 WO 2011158067 A1 WO2011158067 A1 WO 2011158067A1 IB 2010052748 W IB2010052748 W IB 2010052748W WO 2011158067 A1 WO2011158067 A1 WO 2011158067A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
network
response
pattern
user terminal
Prior art date
Application number
PCT/IB2010/052748
Other languages
French (fr)
Inventor
Jukka Tapio Ranta
Original Assignee
Nokia Corporation
Nokia Inc.
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 Nokia Corporation, Nokia Inc. filed Critical Nokia Corporation
Priority to PCT/IB2010/052748 priority Critical patent/WO2011158067A1/en
Publication of WO2011158067A1 publication Critical patent/WO2011158067A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • 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/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated 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/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable

Definitions

  • Embodiments of the present invention relate generally to network communication and, more particularly, to the simulation of regularly transmitted messages.
  • Mobile terminals may execute one or more applications that may frequently request network access. For example, some applications that execute upon mobile terminals may initiate contact with the network every minute or every few minutes.
  • Applications that may initiate contact with the network on a frequent and repeat basis may include always-on applications, one example of which is a presence application which requires persistent connections and repeated network paging in order to regularly update the status of the users of the presence application.
  • a presence application which requires persistent connections and repeated network paging in order to regularly update the status of the users of the presence application.
  • Another example of an always-on application is a SkypeTM application that repeatedly transmits stay-alive or heartbeat messages to the network.
  • Other applications that may require repeated network access include e-mail services, instant messaging, location services, weather widgets and the like.
  • the applications that require repeated network access may repeatedly send and receive relatively small packets of data, such as data packets that are less than one kilobyte in size.
  • the data that is transmitted between these applications and a network is oftentimes merely a placeholder and does not convey substantive information, but is, instead, merely intended to allow the application to determine if new or additional data is available from the network and/or to maintain the connection in an active or live state.
  • the applications may send messages to and receive messages from the network frequently, such as every minute or every few minutes, such that the cumulative effect of the repeated signaling is substantially more significant than any individual exchange of messages.
  • the messages transmitted and received by these applications are not generally coordinated or otherwise synchronized, but, instead, these applications typically operate independently of one another, thereby further increasing the number of individual messages transmitted to and received from the network.
  • the user terminal may return to the idle state between instances in which messages are being transmitted or received.
  • the transition at the user terminal to and from the idle state may necessitate a substantial amount of paging, thereby making potentially excessive use of the system paging channel capacity or the random access channel.
  • a method, apparatus, and computer program product are provided according to example embodiments of the present invention for handling regularly-occurring messages in such a manner that the resources of the user terminal and the network are conserved, while still providing appropriate message flow for the applications executing upon the user terminal that require information from the network.
  • the method, apparatus and computer program product of some example embodiments of the present invention may recognize the repeated messages exchanged between the user terminal and the network and then configure the user terminal and a network node in such a manner as to continue to provide the applications executing upon the user terminal with a comparable level of information from the network which conserving the power expended by the user terminal and the load placed upon the network.
  • a method for detecting a message pattern and causing a description of the message pattern to be provided to a network.
  • the message pattern may include a description of a message, a time interval at which the message is to be provided to the network and optionally the response to the message.
  • the message pattern may include a pair of messages including a message to be provided to the network and a response to be received from the network.
  • the message pattern may include a repeating sequence of several messages and corresponding responses.
  • the method may cause a response to the message to be provided consistent with the message pattern without having provided the respective message to the network and without receipt of the response to the message from the network.
  • the method of one embodiment may also cause a representation of the message to be provided to the network in an instance in which the message differs from the message pattern.
  • the method of one embodiment may also receive a response from the network that differs from the message pattern and may then cause a representation of the response from a network to be provided in response to the message.
  • the method of one example embodiment may also terminate the message pattern by no longer causing the response to the message to be provided consistent with the message pattern.
  • An apparatus includes at least one processor and at least one memory including computer program code with the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least detect a message pattern and cause a description of the message pattern to be provided to a network.
  • the message pattern may include a description of a message, a time interval at which the message is to be provided to the network and optionally the response to the message.
  • the message pattern may include a pair of messages including a message to be provided to the network and a response to be received from the network.
  • the message pattern may include a repeating sequence of several messages and corresponding responses.
  • the at least one memory and the computer code may also be configured to, with the at least one processor, cause the apparatus to cause, in response to a subsequent request for transmission of a message to the network in which the message is consistent with the message pattern, a response to the message to be provided consistent with the message pattern without having provided the respective message to the network and without receipt of the response to the message from the network.
  • the at least one memory and the computer code may also be configured to, with the at least one processor, cause the apparatus to cause a representation of the message to be provided to the network in an instance in which the message differs from the message pattern.
  • the at least one memory and the computer code may also be configured to, with the at least one processor, cause the apparatus to receive a response from the network that differs from the message pattern and to then cause a representation of the response from a network to be provided in response to the message.
  • the at least one memory and computer code of one example embodiment may also be configured to, with the at least one processor, cause the apparatus to terminate the message pattern by no longer causing the response to the message to be provided consistent with the message pattern.
  • a computer program product comprises at least one computer-readable storage medium having computer-readable program code portions stored therein with the computer-readable program code portions comprising program code instructions for detecting a message pattern and program code instructions for causing a description of the message pattern to be provided to a network.
  • the message pattern may include a description of a message, a time interval at which the message is to be provided to the network and optionally the response to the message.
  • the message pattern may include a pair of messages including a message to be provided to the network and a response to be received from the network.
  • the message pattern may include a repeating sequence of several messages and corresponding responses.
  • the computer-readable program code portions may also include program code instructions for causing, in response to a subsequent request for transmission of a message to the network in which the message is consistent with the message pattern, a response to the message to be provided consistent with the message pattern without having provided the respective message to the network and without receipt of the response to the message from the network.
  • the computer-readable program code portions of one embodiment may also include program code instructions for causing a representation of the message to be provided to the network in an instance in which the message differs from the message pattern.
  • the computer-readable program code portions of one embodiment may also include program code instructions for receiving a response from the network that differs from the message pattern and then causing a representation of the response from a network to be provided in response to the message.
  • An apparatus including means for detecting a message pattern and means for causing a description of the message pattern to be provided to a network.
  • the message pattern may include a description of a message, a time interval at which the message is to be provided to the network and optionally the response to the message.
  • the message pattern may include a pair of messages including a message to be provided to the network and a response to be received from the network.
  • the message pattern may include a repeating sequence of several messages and corresponding responses.
  • the apparatus may also include means for causing, in response to a subsequent request for transmission of a message to the network in which the message is consistent with the message pattern, a response to the message to be provided consistent with the message pattern without having provided the respective message to the network and without receipt of the response to the message from the network.
  • the apparatus of one embodiment may also include means for causing a representation of the message to be provided to the network in an instance in which the message differs from the message pattern.
  • the apparatus of one embodiment may also include means for receiving a response from the network that differs from the message pattern and may then causing a representation of the response from a network to be provided in response to the message.
  • the apparatus of one example embodiment may also include means for terminating the message pattern by no longer causing the response to the message to be provided consistent with the message pattern.
  • a method is provided in accordance with another embodiment of the present invention for receiving a description of a message pattern and for causing a message to be provided via a network in a manner consistent with the message pattern, but without receipt of the respective message from a user terminal.
  • the message pattern may include a description of the message, a time interval at which the message is to be provided to the network and optionally the response to the message.
  • the message pattern may include a pair of messages including a message to be received from the user terminal and a message to be provided to the user terminal.
  • the message pattern of an alternative embodiment may include a repeating sequence of several messages and corresponding responses.
  • the method of this embodiment may also receive a response to the message from the network that is not provided to the user terminal in instances in which the response is consistent with the message pattern.
  • the method of one embodiment may also include providing the user terminal with the response to the message that is received from the network in an instance in which the response differs from the message pattern.
  • the method of another embodiment may receive from the user terminal a representation of the message in an instance in which the message differs from the message pattern.
  • the method of one example embodiment may also terminate the message pattern in response to a termination message from the user terminal.
  • the method of another example embodiment may terminate the message pattern by causing a termination message to be transmitted to the user terminal.
  • An apparatus is provided according to another embodiment of the present invention that includes at least one processor and at least one memory including computer program code with the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least receive a description of a message pattern and to cause a message to be provided via a network in a manner consistent with the message pattern, but without receipt of the respective message from a user terminal.
  • the message pattern may include a description of the message, a time interval at which the message is to be provided to the network and optionally the response to the message.
  • the message pattern may include a pair of messages including a message to be received from the user terminal and a message to be provided to the user terminal.
  • the message pattern of an alternative embodiment may include a repeating sequence of several messages and corresponding responses.
  • the at least one memory and the computer program code of this embodiment may also be configured to, with the at least one processor, cause the apparatus to receive a response to the message from the network that is not provided to the user terminal in instances in which the response is consistent
  • the at least one memory and the computer program code of one embodiment may also be configured to, with the at least one processor, cause the apparatus to provide the user terminal with the response to the message that is received from the network in an instance in which the response differs from the message pattern.
  • the at least one memory and the computer program code of another embodiment may also be configured to, with the at least one processor, cause the apparatus to receive from the user terminal a representation of the message in an instance in which the message differs from the message pattern.
  • the at least one memory and the computer program code of an example embodiment may also be configured to, with the at least one processor, cause the apparatus to terminate the message pattern in response to a termination message from the user terminal.
  • the at least one memory and the computer program code of another example embodiment may also be configured to, with the at least one processor, cause the apparatus to terminate the message pattern by causing a termination message to be transmitted to the user terminal.
  • a computer program product comprises at least one computer-readable storage medium having computer-readable program code portions stored therein with the computer-readable program code portions comprising program code instructions for receiving a description of a message pattern and for causing a message to be provided via a network in a manner consistent with the message pattern, but without receipt of the respective message from a user terminal.
  • the message pattern may include a description of the message, a time interval at which the message is to be provided to the network and optionally the response to the message.
  • the message pattern may include a pair of messages including a message to be received from the user terminal and a message to be provided to the user terminal.
  • the message pattern of an alternative embodiment may include a repeating sequence of several messages and corresponding responses.
  • the computer- readable program code portions of this embodiment may also include program code instructions for receiving a response to the message from the network that is not provided to the user terminal in instances in which the response is consistent with the message pattern.
  • the computer-readable program code portions of one embodiment may also include program code instructions for providing the user terminal with the response to the message that is received from the network in an instance in which the response differs from the message pattern.
  • the computer-readable program code portions of another embodiment may include program code instructions for receiving from the user terminal a representation of the message in an instance in which the message differs from the message pattern.
  • the computer-readable program code portions of one example embodiment may also include program code instructions for terminating the message pattern in response to a termination message from the user terminal.
  • the computer- readable program code portions of another example embodiment may also include program code instructions for terminating the message pattern by causing a termination message to be transmitted to the user terminal.
  • An apparatus in accordance with another embodiment of the present invention that includes means for receiving a description of a message pattern and means for causing a message to be provided via a network in a manner consistent with the message pattern, but without receipt of the respective message from a user terminal.
  • the message pattern may include a description of the message, a time interval at which the message is to be provided to the network and optionally the response to the message.
  • the message pattern may include a pair of messages including a message to be received from the user terminal and a message to be provided to the user terminal.
  • the message pattern of an alternative embodiment may include a repeating sequence of several messages and corresponding responses.
  • the apparatus of this embodiment may also include means for receiving a response to the message from the network that is not provided to the user terminal in instances in which the response is consistent with the message pattern.
  • the apparatus of one embodiment may also include means for providing the user terminal with the response to the message that is received from the network in an instance in which the response differs from the message pattern.
  • the apparatus of another embodiment may include means for receiving from the user terminal a representation of the message in an instance in which the message differs from the message pattern.
  • the apparatus of one example embodiment may also include means for terminating the message pattern in response to a termination message from the user terminal.
  • the apparatus of another example embodiment may include means for terminating the message pattern by causing a termination message to be transmitted to the user terminal.
  • Figure 1 is a block diagram of a system according to an example embodiment of the present invention.
  • Figure 2 is a signaling flow diagram illustrating signal flow between a user terminal, a network node and a server;
  • Figure 3 is a block diagram of a user terminal in accordance with an example embodiment of the present invention.
  • Figure 4 is a block diagram of a network node in accordance with an example embodiment of the present invention.
  • Figure 5 is a flow chart illustrating operations performed by a user terminal in accordance with an example embodiment of the present invention
  • Figure 6 is a flow chart illustrating operations performed by a network node in accordance with an example embodiment of the present invention.
  • Figures 7a and 7b are signaling flow diagrams depicting messages exchanged between a user terminal, a network node and a server in accordance with an example embodiment of the present invention.
  • circuitry refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present.
  • This definition of 'circuitry' applies to all uses of this term herein, including in any claims.
  • the term 'circuitry' also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware.
  • the term 'circuitry' as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
  • Figure 1 illustrates a block diagram of a system for simulating regularly transmitted messages between a user terminal 10 and a network node 100 according to an example embodiment of the present invention.
  • the system may include one or more user terminals and one or more network nodes.
  • the system further comprises a network 102.
  • the network may comprise one or more wireline networks, one or more wireless networks, or some combination thereof.
  • the network comprises a public land mobile network (e.g., a cellular network), such as may be implemented by a network operator (e.g. a cellular access provider).
  • the network may operate in accordance with universal terrestrial radio access network (UTRAN) standards, evolved UTRAN (E-UTRAN) standards, GSM (Global System for Mobile communications) EDGE (Enhanced Data GSM Environment) radio access network (GERAN) standards and/or the like.
  • UTRAN universal terrestrial radio access network
  • E-UTRAN evolved UTRAN
  • GSM Global System for Mobile communications
  • EDGE Enhanced Data GSM Environment radio access network
  • the network node 100 may comprise any network entity configured to
  • the network node may comprise, for example, a base station (BS), such as an eNode B (eNB) in
  • BS base station
  • eNB eNode B
  • the network node may be configured to provide access to the network 102 for the user terminal.
  • the network node 100 and the user terminal 10 may establish connections for various purposes, such as for the exchange of data, to support a voice call, to support an emergency call or the like.
  • the user terminal may be embodied in various forms including a desktop computer, laptop computer, mobile computer, mobile phone, mobile communication device, game device, digital camera/camcorder, audio/video player, television device, radio receiver, digital video recorder, positioning device, any combination thereof, and/or the like.
  • the user terminal is one example of a mobile terminal, such as that illustrated in Figure 2.
  • a variety of messages may be exchanged between the user terminal 10 and the network 102 via the network node 100.
  • applications executed by the user terminal may repeatedly request the transmission of messages to the network and may await the receipt of responsive messages from the network. At least some of these applications may be known as always-on applications.
  • an e-mail application executed by the user terminal may repeatedly request that messages be transmitted to a server 104 in communication with the network in order to determine if any new e-mail is available for the user.
  • the system of Figure 1 also depicts a server in communication with the network, such as via the Internet, for responding to inquiries from the user terminal and for providing responses thereto.
  • the server may be configured to support a wide variety of applications include presence applications, instant messaging applications, location tracking applications, weather widgets and the like. Additionally, while a single server is depicted in Figure 1 , the system may include any number of servers in other embodiments.
  • the e-mail application executed by the user terminal may transmit a message to the radio access portion of the user terminal inquiring as to whether any new e-mail is available.
  • the radio access portion of the user terminal may, in turn, transmit a message to the network node 100 similarly inquiring as to whether any new e-mail is available for the user.
  • the network node may, in turn, transmit a message to the e-mail server inquiring as to whether any new e-mail is available for the user.
  • the e-mail server will respond to the network node indicating that no new e-mail is available for the user.
  • the network node may, in turn, transmit a response to the radio access portion of the user terminal indicating that no new e-mail is available for the user and the radio access portion of the user terminal may then advise the application executing upon the user terminal that no new e-mail is available for the user.
  • This messaging sequence may be repeated at a predefined frequency, such as every few minutes, thereby consuming at least some of the limited power available to the user terminal and correspondingly increasing the network load by repeatedly utilizing the network resources.
  • the method sequence may be repeated at the predefined frequency until either a different message is transmitted by the application or a different response is provided by the server, neither of which generally occurs very regularly.
  • the consumption of the resources of the user terminal 10 and the network may be exacerbated in instances in which multiple applications executing upon the user terminal may repeatedly request network access, typically in an independent or uncoordinated fashion.
  • Some techniques have been developed in order to bundle the requests from different applications and to then transmit these bundled messages during a single, active connection. These techniques may reduce the amount of signaling related to connection set up and release. However, these techniques are generally only applicable to applications that have been specifically designed to support the bundling technique. In many instances, however, it would be desirable that the manner in which messages are transmitted between a user terminal application and the network is transparent to the application such that the application need not be specifically configured to adapt to the particular communication technique. As such, it would be desirable to provide an improved technique for handling the repeated message transmission and reception by applications executing on a user terminal, such as an always-on application, that conserves the resources of the user terminal and the network and, in one
  • embodiment is transparent to the applications.
  • Figure 3 illustrates a block diagram of one embodiment of a user terminal 10, that is, a mobile terminal, which cooperates with the network node 100 to simulate regularly transmitted messages in accordance with an example embodiment of the present invention.
  • a mobile terminal which cooperates with the network node 100 to simulate regularly transmitted messages in accordance with an example embodiment of the present invention.
  • the mobile terminal illustrated and hereinafter described is merely illustrative of one type of user terminal that may implement and/or benefit from example embodiments of the present invention and, therefore, should not be taken to limit the scope of the present invention.
  • While one embodiment of the user terminal is illustrated and will be hereinafter described for purposes of example, other types of electronic devices, such as mobile telephones, mobile computers, portable digital assistants (PDAs), pagers, laptop computers, desktop computers, gaming devices, televisions, and other types of electronic systems, may employ embodiments of the present invention.
  • PDAs portable digital assistants
  • pagers pagers
  • laptop computers desktop computers
  • gaming devices televisions, and other types of electronic systems
  • the user terminal 10 may include an antenna 12 (or multiple antennas).
  • the user terminal may also include a processor 20 configured to provide signals to and receive signals from the transmitter and receiver, respectively.
  • the processor may, for example, be embodied as various means including circuitry, one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof. Accordingly, although illustrated in Figure 3 as a single processor, in some embodiments the processor comprises a plurality of processors.
  • the signals sent and received by the processor may include signaling information in accordance with an air interface standard of an applicable cellular system, and/or any number of different wireline or wireless networking techniques, comprising but not limited to Wireless-Fidelity (Wi-Fi), wireless local access network (WLAN) techniques such as Institute of Electrical and Electronics Engineers (IEEE) 802.11 , 802.16, and/or the like.
  • these signals may include speech data, user generated data, user requested data, and/or the like.
  • the signals may also include messages and corresponding responses exchanged with the network on a repeated basis, such as by always-on applications executed by the processor.
  • the user terminal 10 may be capable of operating with one or more air interface standards, communication protocols, modulation types, access types, and/or the like. More particularly, the user terminal may be capable of operating in accordance with various first generation (1G), second generation (2G), 2.5G, third-generation (3G) communication protocols, fourth-generation (4G) communication protocols, Internet Protocol Multimedia Subsystem (IMS) communication protocols (e.g., session initiation protocol (SIP)), and/or the like. For example, the user terminal may be capable of operating in accordance with 2G wireless communication protocols IS-136 (Time Division Multiple Access (TDMA)), Global System for Mobile communications (GSM), IS-95 (Code Division Multiple Access (CDMA)), and/or the like.
  • TDMA Time Division Multiple Access
  • GSM Global System for Mobile communications
  • CDMA Code Division Multiple Access
  • the user terminal may be capable of operating in accordance with 2.5G wireless communication protocols General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), and/or the like. Further, for example, the user terminal may be capable of operating in accordance with 3G wireless communication protocols such as Universal Mobile
  • the user terminal may be additionally capable of operating in accordance with 3.9G wireless communication protocols such as LTE, LTE-Advanced or E-UTRAN and/or the like. Additionally, for example, the user terminal may be capable of operating in accordance with fourth- generation (4G) wireless communication protocols and/or the like as well as similar wireless communication protocols that may be developed in the future.
  • 4G wireless communication protocols such as LTE, LTE-Advanced or E-UTRAN and/or the like.
  • NAMPS Narrow-band Advanced Mobile Phone System
  • TACS Total Access Communication System
  • user terminals 10 may also benefit from embodiments of this invention, as should dual or higher mode phones (e.g., digital/analog or TDMA/CDMA/analog phones). Additionally, the user terminal may be capable of operating according to Wireless Fidelity (Wi-Fi) or Worldwide Interoperability for Wi-Fi.
  • Wi-Fi Wireless Fidelity
  • WiMAX Microwave Access
  • the processor 20 may comprise circuitry for implementing audio/video and logic functions of the user terminal 10.
  • the processor may comprise a digital signal processor device, a microprocessor device, an analog-to-digital converter, a digital-to-analog converter, and/or the like. Control and signal processing functions of the user terminal may be allocated between these devices according to their respective capabilities.
  • the processor may additionally comprise an internal voice coder (VC) 20a, an internal data modem (DM) 20b, and/or the like.
  • the processor may comprise functionality to operate one or more software programs, e.g., applications such as always-on applications, which may be stored in memory.
  • the processor may be capable of operating a connectivity program, such as a web browser.
  • the connectivity program may allow the user terminal to transmit and receive web content, such as location-based content, according to a protocol, such as Wireless Application Protocol (WAP), hypertext transfer protocol (HTTP), and/or the like.
  • WAP Wireless Application Protocol
  • HTTP hypertext transfer protocol
  • the user terminal may be capable of using a Transmission Control Protocol/Internet Protocol (TCP/IP) to transmit and receive web content across the internet or other networks.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • the user terminal 10 may also comprise a user interface including, for example, an earphone or speaker 24, a ringer 22, a microphone 26, a display 28, a user input interface, and/or the like, which may be operationally coupled to the processor 20.
  • the processor may comprise user interface circuitry configured to control at least some functions of one or more elements of the user interface, such as, for example, the speaker, the ringer, the microphone, the display, and/or the like.
  • the processor and/or user interface circuitry comprising the processor may be configured to control one or more functions of one or more elements of the user interface through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor (e.g., volatile memory 40, non-volatile memory 42, and/or the like).
  • the user terminal may comprise a battery for powering various circuits related to the user terminal, for example, a circuit to provide mechanical vibration as a detectable output.
  • the user input interface may comprise devices allowing the user terminal to receive data, such as a keypad 30, a touch display (not shown), a joystick (not shown), and/or other input device.
  • the keypad may comprise numeric (0-9), alphabetical (a-z) and related keys (#, *), and/or other keys for operating the user terminal.
  • the user terminal 10 may comprise memory, such as one or more subscriber identity modules (SIMs) 38, universal SIMs (USIMs), removable user identity modules (R- UIMs), and/or the like, which may store information elements related to a mobile subscriber.
  • SIMs subscriber identity modules
  • USIMs universal SIMs
  • R- UIMs removable user identity modules
  • the mobile terminal may include volatile memory 40 and/or nonvolatile memory 42.
  • volatile memory may include Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off-chip cache memory, and/or the like.
  • RAM Random Access Memory
  • Non-volatile memory which may be embedded and/or removable, may include, for example, read-only memory, flash memory, magnetic storage devices (e.g., hard disks, floppy disk drives, magnetic tape, etc.), optical disc drives and/or media, nonvolatile random access memory (NVRAM), and/or the like. Like volatile memory, nonvolatile memory may include a cache area for temporary storage of data.
  • the memories may store one or more software programs, instructions, pieces of information, data, and/or the like which may be used by the user terminal for performing functions of the user terminal. For example, the memories may store instructions which, when executed by the processor 20, cause the processor to perform the functions described herein.
  • the memories may also comprise an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying the user terminal.
  • IMEI international mobile equipment identification
  • a block diagram of a network node 100 such as a base station, e.g., an eNB, an access point or the like, is provided according to an example embodiment of the invention.
  • the network node may include various means, such as a processor 120, memory 122 and communication interface 124 for performing the various functions herein described.
  • These means of the network node as described herein may be embodied as, for example, circuitry, hardware elements (for example, a suitably programmed processor, combinational logic circuit, and/or the like), a computer program product comprising computer-readable program instructions (for example, software or firmware) stored on a computer-readable medium (for example, memory 122) that is executable by a suitably configured processing device (for example, the processor 120), or some combination thereof.
  • the processor 120 may, for example, be embodied as various means including one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more
  • coprocessors one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC or FPGA, or some combination thereof.
  • the processor comprises a plurality of processors.
  • the plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functionalities of the network node 100 as described herein.
  • the processor is configured to execute instructions stored in the memory 122 or otherwise accessible to the processor. These instructions, when executed by the processor, may cause the network node to perform one or more of the functionalities of the network node as described herein.
  • the processor may comprise an entity capable of performing operations according to embodiments of the present invention while configured accordingly.
  • the processor when the processor is embodied as an ASIC, FPGA or the like, the processor may comprise specifically configured hardware for conducting one or more operations described herein.
  • the processor when the processor is embodied as an executor of instructions, such as may be stored in the memory, the instructions may specifically configure the processor to perform one or more algorithms and operations described herein.
  • the memory 122 may comprise, for example, volatile memory, non-volatile memory, or some combination thereof. Although illustrated in Figure 4 as a single memory, the memory may comprise a plurality of memories.
  • the memory may comprise, for example, a hard disk, random access memory, cache memory, flash memory, a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD-ROM), an optical disc, circuitry configured to store information, or some combination thereof.
  • the memory may be configured to store information, data, applications, instructions, and/or the like for enabling the network node 100 to carry out various functions in accordance with example embodiments of the present invention.
  • the memory is configured to buffer input data for processing by the processor 120.
  • the memory is configured to store program instructions for execution by the processor.
  • the memory may store information in the form of static and/or dynamic information.
  • the communication interface 124 may be embodied as any device or means embodied in circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (for example, the memory 122) and executed by a processing device (for example, the processor 120), or a combination thereof that is configured to receive and/or transmit data from/to another entity, such as over a network 102.
  • the communication interface is at least partially embodied as or otherwise controlled by the processor.
  • the communication interface may be in communication with the processor, such as via a bus.
  • the communication interface may include, for example, an antenna, a transmitter, a receiver, a transceiver and/or supporting hardware or software for enabling communications with one or more computing devices or entities over the network.
  • the communication interface may be configured to receive and/or transmit data using any protocol that may be used for communications between the network node 100 and one or more other computing devices over the network, such as the server 104 or other service provider, network access point, and/or the like.
  • the communication interface may additionally be in communication with the memory, such as via a bus.
  • the user terminal 10 includes means, such as the processor 20, configured to detect a message pattern as shown in operation 200 of Figure 5.
  • the message pattern is generally defined by a message transmitted from the user terminal to the network node 100 on a regular basis, such as at an established time interval.
  • the message pattern may also include a response from the network node to the user terminal, but in other embodiments no response is expected from the network node.
  • the processor of the user terminal may be configured to detect a message pattern based upon the issuance of a predefined number of the same messages by the user terminal to the network node with the messages issued at a particular frequency, such as every minute, every 90 seconds, or the like.
  • the processor of the user terminal may be configured to require any number of these same messages to be detected prior to identifying a message pattern
  • the processor of the illustrated embodiment is configured to identify the message pattern following the exchange of two identical message sequences between the user terminal and the network node.
  • the processor 20 of the user terminal 10 may be configured to detect a message pattern based upon the exchange of a pair of messages, one message being transmitted from the user terminal to the network node 100 and a response being transmitted from the network node to the user terminal
  • the processor of other embodiments may be configured to detect more complex message patterns.
  • the processor of the user terminal may be configured to detect a message pattern comprised of a sequence of several messages that is repeated at a predefined time interval.
  • the processor of one embodiment may also be configured to detect a message pattern that includes the exchange of messages that are identical with the exception of a sequence number that is included within the messages and that is incremented each time that a pair of messages is exchanged.
  • the processor of one embodiment may recognize the sequence of messages as a message pattern. More generally, the processor of one embodiment may detect a message pattern in which at least portions of the messages follow a predefined rule such that even though the portions of the messages may change, the manner in which the portions of the messages change is predefined in accordance with the rule such that the resulting exchange of messages may be identified by the processor as a message pattern.
  • the messages that are transmitted by the user terminal 10 may be any of a wide variety of messages that may originate in a correspondingly wide variety of manners.
  • the user terminal of one embodiment includes one or more applications, such as one or more always-on applications, such as a presence application, a SkypeTM application, an e-mail application, an instant messaging application, a location tracking application, a weather widget application or the like, that is stored in memory, such as non-volatile memory 42, and executed by the processor 20 so as to repeatedly issue a request for transmission of a message via the network 102 to the server 104.
  • a presence application may request that a message be transmitted to the network to update the presence of the user and to obtain updated presence information for other parties.
  • Other applications such as the SkypeTM application, may repeatedly request the transmission of a keep-alive, or heartbeat, message to the network to maintain connectivity.
  • Other applications such as location services and weather widgets, may repeatedly request the transmission of a message to the network in order to obtain any updated location or weather information. These requests for transmission of a message to the network may be issued by the application at a predefined frequency, such as every minute, every few minutes or the like.
  • the user terminal may include means, such as a processor, for causing a description of the message pattern to be provided to the network 102, as shown in operation 202 of Figure 5.
  • the processor may cause a description of the message pattern that includes the time interval, the message that is regularly provided by the user terminal to the network node 100, and any response that is regularly provided from the network node to the user terminal.
  • the processor may recognize subsequent requests for the transmission of a message to the network 102 that is consistent with the message pattern, as shown in operation 204 of Figure 5.
  • the message pattern that has been detected by the processor includes the definition of the message that is regularly transmitted from the user terminal to the network node.
  • the processor of this embodiment may be configured to identify requests, such as from an application being executed by the processor, for the
  • the user terminal such as the processor, is configured not to transmit the message to the network node, thereby conserving the power of the user terminal and the network resources.
  • the user terminal may include means, such as a processor, configured to cause a representation of the message to be provided to the network. See operation 206 of Figure 5.
  • the user terminal 10 may include means, such as a processor 20, for determining if a response has been received from the network 102, such as shown in operation 208 of Figure 5.
  • a response has been received from the network 102, such as shown in operation 208 of Figure 5.
  • the network node may behave as if the message had been transmitted by the user terminal and received by the network node since the network node has previously been advised of the message pattern and is configured to operate in accordance with the message pattern, that is, is configured to operate as though the message defined by the message pattern is repeatedly transmitted at the predefined time interval even though the message itself is not transmitted by the user terminal.
  • the network node may determine if a response to the message (that is, the message that forms a portion of the message pattern) is appropriate and, if so, may determine if the response is consistent with the response, if any, that constitutes a portion of the message pattern.
  • the network node 100 is configured to not transmit the response such that the user terminal 10 similarly does not receive a response from the network node. Conversely, if the response from the network node is inconsistent or different from that defined by the message pattern, the network node may transmit and the user terminal, such as a processor 20, may receive the response. In instances in which the user terminal, such as a processor, receives a response from the network, the user terminal may include means, such as the processor, to provide the response to the application that initially requested transmission of the message that generated the response, as shown in operation 210 of Figure 5.
  • the user terminal may include means, such as the processor, to provide a response to the application that initially requested transmission of the message to the network that is consistent with the response defined by the message pattern. See operation 212 of Figure 5.
  • This response may be a predefined substantive response or may be a nullity, such as the absence of a response, as defined by the message pattern.
  • the application that initially requested the transmission of the message receives the same response as it would have if the message and response would have been transmitted between the user terminal and the network node as a result of the reliance upon the predefined message pattern.
  • resources of the user terminal and the network may be conserved by avoiding repetition of the same message pattern.
  • the foregoing process may be repeated by the user terminal 10 until terminated, for example, by means, such as the processor 20, of the user terminal.
  • the process may be expressly terminated by the user terminal or by the network node 100, such as by means of a termination message.
  • the user terminal and the network node may no longer rely upon the message pattern, but may, instead, exchange messages in a conventional manner until another message pattern is identified and defined between the user terminal and the network node.
  • the process may be terminated in an instance in which the application requests the transmission of a different message than that defined by the message pattern and/or in an instance in which the network node provides a response that is different than that defined by the message pattern, such as shown in operation 210 of Figure 5.
  • the request or the response may effectively serve as a termination message.
  • the process may be terminated additionally or alternatively be terminated due to a network error or any other error.
  • the network node may send a termination message to the user terminal to inform the user terminal that the process is no longer active such that the user terminal does not unnecessarily wait for the next message in accordance with the message pattern from the network node.
  • the network node 100 may include means, such as the processor 120, for initially receiving a description of the message pattern from the user terminal as shown at operation 300 of Figure 6.
  • the message pattern defines a message that is repeatedly and regularly transmitted from the user terminal to the network node as well as the time interval at which the message is transmitted as well as any response regularly transmitted from the network node to the user terminal.
  • the network node such as processor, may conduct operations as though the network node was repeatedly receiving the message from the user terminal at the predefined time interval even though the network node of this embodiment does not, in fact, receive the message from the user terminal once the message pattern is defined.
  • the network node 100 may include means, such as processor 120, for providing a message consistent with the message pattern. See operation 302 of Figure 6.
  • the network node may be configured to cause a predefined message to be provided to the server 104 via the network 102 in response to the receipt of a message from the user terminal 10, such as by forwarding the message received from the user terminal to the server.
  • the network node such as the processor, may be configured to continue to provide the same message to the server (at the predefined time interval) as that which would have been provided in instances in which the user terminal transmitted the message set forth by the message pattern to the network node. Based upon the message provided to the server, the network node may receive a response from the server. See operation 304 of Figure 6.
  • the network node 100 such as processor 120
  • the network node may include means, such as the processor, for determining if the response that otherwise would be provided to the user terminal is consistent with the message pattern. See operation 306 of Figure 6.
  • the network node such as the processor, may determine if the response that otherwise would be provided to the user terminal is identical to the response included within the message pattern.
  • the network node such as the processor, may determine if the response that otherwise would be provided is a null response (and therefore consistent with the message pattern), such as the lack of a response.
  • the network node, such as the processor, of this embodiment may avoid transmission of any response to the user terminal, thereby advantageously conserving the resources of the user terminal and the network.
  • the network node may include means, such as the processor, for causing the response to be provided to the user terminal, as shown in operation 308 of Figure 6.
  • the foregoing process of the network node 100 may continue until the message pattern is terminated.
  • the message pattern may be expressly terminated by the user terminal and/or the network node.
  • the network node may include means, such as the processor 120, for initiating the express termination.
  • the message pattern may be terminated by the receipt of a message from the user terminal that is different than the message defined by the message pattern and/or in an instance in which the response to be provided to the user terminal is different than the response that is defined by the message pattern, such as shown at operation 308. In either instance, the message or the response from the user terminal effectively serves as a termination message.
  • the message pattern may additionally or alternatively be terminated due to a network error or any other error.
  • the network node may include means, such as the processor, for sending a termination message to the user terminal to inform the user terminal that the process is no longer active such that the user terminal does not unnecessarily wait for the next message in accordance with the message pattern from the network node.
  • the network node may await receipt of the description of another message pattern prior to repeating the foregoing process.
  • an e-mail application that repeatedly polls an e-mail server to identify any new e-mail messages that have arrived for the user is one example of an application that may establish a message pattern between the user terminal 10 and the network node 100 with an example embodiment of the present invention permitting the network communications to be reduced between the user terminal and the network node so as to save resources of the user terminal and the network while still updating the user terminal of any new e-mail messages for the user.
  • the e-mail application stored in memory, such as non-volatile memory 42, and executed by the processor 20 of the user terminal may initially request that the radio access portion of the user terminal, such as the processor 20, transmitter 14 and/or receiver 16, transmit a message requesting whether there is any new e-mail.
  • the processor may, in turn, cause the message inquiring as to whether there is any new e-mail to be transmitted to the network node and the network node may, in turn, relay the message to the server 104.
  • the server 104 may determine if any new e-mail is available. In most instances, no additional e-mail is available and the server may accordingly transmit a message indicating that no new e-mail is available to the network node 100.
  • the network node may in turn, forward the message to the radio access portion of the user terminal 10 which, in turn, may provide the response to the application, as shown in Figure 7a.
  • This message sequence may be repeated at a predefined interval.
  • the user terminal such as a processor 20, may detect a message sequence and may define the message sequence in terms of the message transmitted by the user terminal to the network node, the time interval or period at which the message is transmitted and any response from the network node to the user terminal.
  • the user terminal such as the processor, is configured to identify the message pattern following two identical message sequences, although other embodiments may require different numbers of identical message sequences before identifying the message pattern.
  • the user terminal such as the processor 20, may interpret the lack of a response from the network node as representing the response that is predefined by the message pattern and may, in turn, provide the response that is predefined by the message pattern to the application. This process may continue until the message pattern is terminated or until a different message and/or response is transmitted.
  • the e-mail server may eventually issue a different response indicating that a new e-mail message is available, thereby effectively terminating the message pattern.
  • the network node 100 such as the processor 120, may cause the response to be transmitted to the radio access portion of the user terminal 10 and, in turn, to the application.
  • the user terminal and the network node may then exchange messages and responses as in a conventional manner until the user terminal, such as the processor 20, again detects a message pattern.
  • the message pattern may then again be defined and provided to the network node with subsequent exchanges between the user terminal and the network node being prevented or avoided so long as those exchanges would be consistent with the message pattern, as shown in Figure 7b.
  • the processor of the user terminal may be configured to cause the message to be transmitted to the network node which, in turn, provides an appropriate message to the server, such as by forwarding the message from the user terminal.
  • the transmission of a message from the user terminal to the network node that is different than that defined by the message pattern may also serve to terminate the message pattern such that a conventional exchange of messages between the user terminal and the network node may be necessitated until another message pattern is detected by the user terminal.
  • the establishment of a message pattern and the avoidance of the repeated transmission of the same messages and responses between the user terminal 10 and the network node 100 may conserve resources of the user terminal and the network 102.
  • the definition of a message pattern may permit a network node and a server 104 to communicate in a conventional manner such that any change in circumstances can be appropriately and timely identified to the user terminal.
  • the user terminal may continue to appropriately communicate with an application executing thereon even though the user terminal does not repeatedly communicate with the network node, but, instead, relies upon the continuation of the message pattern until such time that the message pattern is terminated.
  • FIGS 5 and 6 are flowcharts of an apparatus, method, and computer program product according to example embodiments of the invention.
  • each block of the flowchart, and combinations of blocks in the flowchart may be implemented by various means, such as hardware and/or a computer program product comprising one or more computer-readable mediums having computer readable program instructions stored thereon.
  • one or more of the procedures described herein may be embodied by computer program instructions of a computer program product.
  • the computer program product that is performed by the user terminal 10 may be stored by one or more memory devices 40, 42 of the user terminal and executed by the processor 20 of the user terminal, while the computer program product that is performed by the network node 100 may be stored by one or more memory devices 122 of the network node and executed by the processor 120 of the network node.
  • the computer program instructions comprising the computer program product(s) which embody the procedures described above may be stored by memory devices of a plurality of computing devices, such as the network node and the user terminal.
  • any such computer program product may be loaded onto a computer or other programmable apparatus to produce a machine, such that the computer program product including the instructions which execute on the computer or other programmable apparatus creates means for implementing the functions specified in the flowchart block(s).
  • the computer program product may comprise one or more computer-readable memories on which the computer program instructions may be stored such that the one or more computer-readable memories can direct a computer or other programmable apparatus to function in a particular manner, such that the computer program product comprises an article of manufacture which implements the function specified in the flowchart block(s).
  • the computer program instructions of one or more computer program products may also be loaded onto a computer or other programmable apparatus (e.g., the network node and the user terminal) to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus implement the functions specified in the flowchart block(s).
  • a computer or other programmable apparatus e.g., the network node and the user terminal
  • blocks of the flowchart support combinations of means for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowchart, may be implemented by special purpose hardware-based computer systems which perform the specified functions or combinations of special purpose hardware and computer program product(s).
  • any suitable means for carrying out each of the functions described above may be employed to carry out embodiments of the invention.
  • suitably configured processors 20, 120 of the user terminal 10 and the network node 100, respectively may provide means for performing their respective functions, as shown in Figures 5 and 6 and described above.
  • all or a portion of the operations, such as shown in Figures 5 and 6, may be configured by and operate under control of a computer program product.
  • the computer program product for performing the methods of embodiments of the invention includes a computer-readable storage medium, such as the non-volatile storage medium, and computer-readable program code portions, such as a series of computer instructions, embodied in the computer-readable storage medium.

Abstract

A method, apparatus and computer program product are provided for detecting a message pattern and providing its description to a network. In response to a request for transmission of a message that is consistent with the message pattern, a response to the message is provided consistent with the message pattern without having provided the respective message to the network and without receipt of the response to the message from the network. A method, apparatus and computer program product is also provided for receiving a description of a message pattern and for providing a message via a network in a manner consistent with the message pattern, but without receipt of the respective message from a user terminal. A response to the message may also be received from the network that is not provided to the user terminal in instances in which the response is consistent with the message pattern.

Description

METHOD AND APPARATUS FOR SIMULATING REGULARLY TRANSMITTED
MESSAGES
TECHNOLOGICAL FIELD
Embodiments of the present invention relate generally to network communication and, more particularly, to the simulation of regularly transmitted messages. BACKGROUND
Mobile terminals may execute one or more applications that may frequently request network access. For example, some applications that execute upon mobile terminals may initiate contact with the network every minute or every few minutes.
Applications that may initiate contact with the network on a frequent and repeat basis may include always-on applications, one example of which is a presence application which requires persistent connections and repeated network paging in order to regularly update the status of the users of the presence application. Another example of an always-on application is a Skype™ application that repeatedly transmits stay-alive or heartbeat messages to the network. Other applications that may require repeated network access include e-mail services, instant messaging, location services, weather widgets and the like.
The applications that require repeated network access may repeatedly send and receive relatively small packets of data, such as data packets that are less than one kilobyte in size. The data that is transmitted between these applications and a network is oftentimes merely a placeholder and does not convey substantive information, but is, instead, merely intended to allow the application to determine if new or additional data is available from the network and/or to maintain the connection in an active or live state. While the amount of data that is sent and received by these applications is relatively small, the applications may send messages to and receive messages from the network frequently, such as every minute or every few minutes, such that the cumulative effect of the repeated signaling is substantially more significant than any individual exchange of messages. Additionally, the messages transmitted and received by these applications are not generally coordinated or otherwise synchronized, but, instead, these applications typically operate independently of one another, thereby further increasing the number of individual messages transmitted to and received from the network.
The repeated transmission of data packets by these applications may
disadvantageously increase the rate at which the user terminal consumes power. Indeed, in instances in which the user terminal is maintained in the active state, the user terminal may consume excessive amounts of energy in order to repeatedly transmit and receive messages on behalf of these applications. Additionally, the repeated transmission and reception of the messages for these applications may correspondingly consume a disproportionately large share of the radio channel resources and similarly increase the network load. These issues may be exacerbated in instances in which the user terminal is moving from cell to cell as the maintenance of the user terminal in the active state in order to support the transmission and reception of messages for these applications will require the user terminal to be repeatedly handed over, thereby requiring a substantial amount of handover signaling so as to further increase the load upon the network and to correspondingly consume additional radio channel resources.
As an alternative to continually remaining in the active state in order to support the transmission and reception of messages for these applications, the user terminal may return to the idle state between instances in which messages are being transmitted or received. As a result of the repeated transmission and reception of the messages for these applications at a relatively high frequency, however, the transition at the user terminal to and from the idle state may necessitate a substantial amount of paging, thereby making potentially excessive use of the system paging channel capacity or the random access channel. BRIEF SUMMARY
A method, apparatus, and computer program product are provided according to example embodiments of the present invention for handling regularly-occurring messages in such a manner that the resources of the user terminal and the network are conserved, while still providing appropriate message flow for the applications executing upon the user terminal that require information from the network. For example, the method, apparatus and computer program product of some example embodiments of the present invention may recognize the repeated messages exchanged between the user terminal and the network and then configure the user terminal and a network node in such a manner as to continue to provide the applications executing upon the user terminal with a comparable level of information from the network which conserving the power expended by the user terminal and the load placed upon the network. A method is provided according to one embodiment of the present invention for detecting a message pattern and causing a description of the message pattern to be provided to a network. The message pattern may include a description of a message, a time interval at which the message is to be provided to the network and optionally the response to the message. In one embodiment, the message pattern may include a pair of messages including a message to be provided to the network and a response to be received from the network. Alternatively, the message pattern may include a repeating sequence of several messages and corresponding responses. In response to a subsequent request for transmission of a message to the network in which the message is consistent with the message pattern, the method may cause a response to the message to be provided consistent with the message pattern without having provided the respective message to the network and without receipt of the response to the message from the network.
The method of one embodiment may also cause a representation of the message to be provided to the network in an instance in which the message differs from the message pattern. The method of one embodiment may also receive a response from the network that differs from the message pattern and may then cause a representation of the response from a network to be provided in response to the message. The method of one example embodiment may also terminate the message pattern by no longer causing the response to the message to be provided consistent with the message pattern.
An apparatus is provided according to one embodiment of the present invention that includes at least one processor and at least one memory including computer program code with the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least detect a message pattern and cause a description of the message pattern to be provided to a network. The message pattern may include a description of a message, a time interval at which the message is to be provided to the network and optionally the response to the message. In one embodiment, the message pattern may include a pair of messages including a message to be provided to the network and a response to be received from the network.
Alternatively, the message pattern may include a repeating sequence of several messages and corresponding responses. The at least one memory and the computer code may also be configured to, with the at least one processor, cause the apparatus to cause, in response to a subsequent request for transmission of a message to the network in which the message is consistent with the message pattern, a response to the message to be provided consistent with the message pattern without having provided the respective message to the network and without receipt of the response to the message from the network. The at least one memory and the computer code may also be configured to, with the at least one processor, cause the apparatus to cause a representation of the message to be provided to the network in an instance in which the message differs from the message pattern. In one embodiment, the at least one memory and the computer code may also be configured to, with the at least one processor, cause the apparatus to receive a response from the network that differs from the message pattern and to then cause a representation of the response from a network to be provided in response to the message. The at least one memory and computer code of one example embodiment may also be configured to, with the at least one processor, cause the apparatus to terminate the message pattern by no longer causing the response to the message to be provided consistent with the message pattern.
In one embodiment of the present invention, a computer program product is provided that comprises at least one computer-readable storage medium having computer-readable program code portions stored therein with the computer-readable program code portions comprising program code instructions for detecting a message pattern and program code instructions for causing a description of the message pattern to be provided to a network. The message pattern may include a description of a message, a time interval at which the message is to be provided to the network and optionally the response to the message. In one embodiment, the message pattern may include a pair of messages including a message to be provided to the network and a response to be received from the network. Alternatively, the message pattern may include a repeating sequence of several messages and corresponding responses. The computer-readable program code portions may also include program code instructions for causing, in response to a subsequent request for transmission of a message to the network in which the message is consistent with the message pattern, a response to the message to be provided consistent with the message pattern without having provided the respective message to the network and without receipt of the response to the message from the network.
The computer-readable program code portions of one embodiment may also include program code instructions for causing a representation of the message to be provided to the network in an instance in which the message differs from the message pattern. The computer-readable program code portions of one embodiment may also include program code instructions for receiving a response from the network that differs from the message pattern and then causing a representation of the response from a network to be provided in response to the message. The computer program product of one example
embodiment may also include program code instructions for terminating the message pattern by no longer causing the response to the message to be provided consistent with the message pattern. An apparatus is provided according to one embodiment of the present invention including means for detecting a message pattern and means for causing a description of the message pattern to be provided to a network. The message pattern may include a description of a message, a time interval at which the message is to be provided to the network and optionally the response to the message. In one embodiment, the message pattern may include a pair of messages including a message to be provided to the network and a response to be received from the network.
Alternatively, the message pattern may include a repeating sequence of several messages and corresponding responses. The apparatus may also include means for causing, in response to a subsequent request for transmission of a message to the network in which the message is consistent with the message pattern, a response to the message to be provided consistent with the message pattern without having provided the respective message to the network and without receipt of the response to the message from the network.
The apparatus of one embodiment may also include means for causing a representation of the message to be provided to the network in an instance in which the message differs from the message pattern. The apparatus of one embodiment may also include means for receiving a response from the network that differs from the message pattern and may then causing a representation of the response from a network to be provided in response to the message. The apparatus of one example embodiment may also include means for terminating the message pattern by no longer causing the response to the message to be provided consistent with the message pattern.
A method is provided in accordance with another embodiment of the present invention for receiving a description of a message pattern and for causing a message to be provided via a network in a manner consistent with the message pattern, but without receipt of the respective message from a user terminal. The message pattern may include a description of the message, a time interval at which the message is to be provided to the network and optionally the response to the message. The message pattern may include a pair of messages including a message to be received from the user terminal and a message to be provided to the user terminal. The message pattern of an alternative embodiment may include a repeating sequence of several messages and corresponding responses. The method of this embodiment may also receive a response to the message from the network that is not provided to the user terminal in instances in which the response is consistent with the message pattern. The method of one embodiment may also include providing the user terminal with the response to the message that is received from the network in an instance in which the response differs from the message pattern. The method of another embodiment may receive from the user terminal a representation of the message in an instance in which the message differs from the message pattern. The method of one example embodiment may also terminate the message pattern in response to a termination message from the user terminal. The method of another example embodiment may terminate the message pattern by causing a termination message to be transmitted to the user terminal.
An apparatus is provided according to another embodiment of the present invention that includes at least one processor and at least one memory including computer program code with the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least receive a description of a message pattern and to cause a message to be provided via a network in a manner consistent with the message pattern, but without receipt of the respective message from a user terminal. The message pattern may include a description of the message, a time interval at which the message is to be provided to the network and optionally the response to the message. The message pattern may include a pair of messages including a message to be received from the user terminal and a message to be provided to the user terminal. The message pattern of an alternative embodiment may include a repeating sequence of several messages and corresponding responses. The at least one memory and the computer program code of this embodiment may also be configured to, with the at least one processor, cause the apparatus to receive a response to the message from the network that is not provided to the user terminal in instances in which the response is consistent with the message pattern.
The at least one memory and the computer program code of one embodiment may also be configured to, with the at least one processor, cause the apparatus to provide the user terminal with the response to the message that is received from the network in an instance in which the response differs from the message pattern. The at least one memory and the computer program code of another embodiment may also be configured to, with the at least one processor, cause the apparatus to receive from the user terminal a representation of the message in an instance in which the message differs from the message pattern. The at least one memory and the computer program code of an example embodiment may also be configured to, with the at least one processor, cause the apparatus to terminate the message pattern in response to a termination message from the user terminal. The at least one memory and the computer program code of another example embodiment may also be configured to, with the at least one processor, cause the apparatus to terminate the message pattern by causing a termination message to be transmitted to the user terminal. In another embodiment of the present invention, a computer program product is provided that comprises at least one computer-readable storage medium having computer-readable program code portions stored therein with the computer-readable program code portions comprising program code instructions for receiving a description of a message pattern and for causing a message to be provided via a network in a manner consistent with the message pattern, but without receipt of the respective message from a user terminal. The message pattern may include a description of the message, a time interval at which the message is to be provided to the network and optionally the response to the message. The message pattern may include a pair of messages including a message to be received from the user terminal and a message to be provided to the user terminal. The message pattern of an alternative embodiment may include a repeating sequence of several messages and corresponding responses. The computer- readable program code portions of this embodiment may also include program code instructions for receiving a response to the message from the network that is not provided to the user terminal in instances in which the response is consistent with the message pattern.
The computer-readable program code portions of one embodiment may also include program code instructions for providing the user terminal with the response to the message that is received from the network in an instance in which the response differs from the message pattern. The computer-readable program code portions of another embodiment may include program code instructions for receiving from the user terminal a representation of the message in an instance in which the message differs from the message pattern. The computer-readable program code portions of one example embodiment may also include program code instructions for terminating the message pattern in response to a termination message from the user terminal. The computer- readable program code portions of another example embodiment may also include program code instructions for terminating the message pattern by causing a termination message to be transmitted to the user terminal.
An apparatus is provided in accordance with another embodiment of the present invention that includes means for receiving a description of a message pattern and means for causing a message to be provided via a network in a manner consistent with the message pattern, but without receipt of the respective message from a user terminal. The message pattern may include a description of the message, a time interval at which the message is to be provided to the network and optionally the response to the message. The message pattern may include a pair of messages including a message to be received from the user terminal and a message to be provided to the user terminal. The message pattern of an alternative embodiment may include a repeating sequence of several messages and corresponding responses. The apparatus of this embodiment may also include means for receiving a response to the message from the network that is not provided to the user terminal in instances in which the response is consistent with the message pattern.
The apparatus of one embodiment may also include means for providing the user terminal with the response to the message that is received from the network in an instance in which the response differs from the message pattern. The apparatus of another embodiment may include means for receiving from the user terminal a representation of the message in an instance in which the message differs from the message pattern. The apparatus of one example embodiment may also include means for terminating the message pattern in response to a termination message from the user terminal. The apparatus of another example embodiment may include means for terminating the message pattern by causing a termination message to be transmitted to the user terminal.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
Having thus described embodiments of the present invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Figure 1 is a block diagram of a system according to an example embodiment of the present invention;
Figure 2 is a signaling flow diagram illustrating signal flow between a user terminal, a network node and a server;
Figure 3 is a block diagram of a user terminal in accordance with an example embodiment of the present invention;
Figure 4 is a block diagram of a network node in accordance with an example embodiment of the present invention;
Figure 5 is a flow chart illustrating operations performed by a user terminal in accordance with an example embodiment of the present invention;
Figure 6 is a flow chart illustrating operations performed by a network node in accordance with an example embodiment of the present invention; and
Figures 7a and 7b are signaling flow diagrams depicting messages exchanged between a user terminal, a network node and a server in accordance with an example embodiment of the present invention. DETAILED DESCRIPTION
Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms "data," "content," "information" and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
Additionally, as used herein, the term 'circuitry' refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of 'circuitry' applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term 'circuitry' also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware. As another example, the term 'circuitry' as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
As defined herein a "computer-readable storage medium," which refers to a non- transitory, physical storage medium (e.g., volatile or non-volatile memory device), can be differentiated from a "computer-readable transmission medium," which refers to an electromagnetic signal.
Figure 1 illustrates a block diagram of a system for simulating regularly transmitted messages between a user terminal 10 and a network node 100 according to an example embodiment of the present invention. Although Figure 1 only depicts a single user terminal and a single network node, the system may include one or more user terminals and one or more network nodes. In at least some embodiments, the system further comprises a network 102. The network may comprise one or more wireline networks, one or more wireless networks, or some combination thereof. In one embodiment, the network comprises a public land mobile network (e.g., a cellular network), such as may be implemented by a network operator (e.g. a cellular access provider). The network may operate in accordance with universal terrestrial radio access network (UTRAN) standards, evolved UTRAN (E-UTRAN) standards, GSM (Global System for Mobile communications) EDGE (Enhanced Data GSM Environment) radio access network (GERAN) standards and/or the like. It will be appreciated, however, that where references herein are made to a network standard and/or terminology particular to a network standard, the references are provided merely by way of example and not by way of limitation.
The network node 100 may comprise any network entity configured to
communicate with a user terminal 10, such as to support the establishment of a connection with the user terminal to the network node. In this regard, the network node may comprise, for example, a base station (BS), such as an eNode B (eNB) in
accordance with the E-UTRAN standard. As such, in some embodiments, the network node may be configured to provide access to the network 102 for the user terminal.
In operation, the network node 100 and the user terminal 10 may establish connections for various purposes, such as for the exchange of data, to support a voice call, to support an emergency call or the like. The user terminal may be embodied in various forms including a desktop computer, laptop computer, mobile computer, mobile phone, mobile communication device, game device, digital camera/camcorder, audio/video player, television device, radio receiver, digital video recorder, positioning device, any combination thereof, and/or the like. In an exemplary embodiment, the user terminal is one example of a mobile terminal, such as that illustrated in Figure 2.
A variety of messages may be exchanged between the user terminal 10 and the network 102 via the network node 100. For example, applications executed by the user terminal may repeatedly request the transmission of messages to the network and may await the receipt of responsive messages from the network. At least some of these applications may be known as always-on applications. For example, an e-mail application executed by the user terminal may repeatedly request that messages be transmitted to a server 104 in communication with the network in order to determine if any new e-mail is available for the user. As such, the system of Figure 1 also depicts a server in communication with the network, such as via the Internet, for responding to inquiries from the user terminal and for providing responses thereto. While an e-mail server is mentioned below and described below, the server may be configured to support a wide variety of applications include presence applications, instant messaging applications, location tracking applications, weather widgets and the like. Additionally, while a single server is depicted in Figure 1 , the system may include any number of servers in other embodiments.
Returning to the example embodiment in which the user terminal 10 is configured to communicate with the server 104 to support an e-mail application and as shown in Figure 2, the e-mail application executed by the user terminal may transmit a message to the radio access portion of the user terminal inquiring as to whether any new e-mail is available. The radio access portion of the user terminal may, in turn, transmit a message to the network node 100 similarly inquiring as to whether any new e-mail is available for the user. The network node may, in turn, transmit a message to the e-mail server inquiring as to whether any new e-mail is available for the user. On most occasions, the e-mail server will respond to the network node indicating that no new e-mail is available for the user. In this instance, the network node may, in turn, transmit a response to the radio access portion of the user terminal indicating that no new e-mail is available for the user and the radio access portion of the user terminal may then advise the application executing upon the user terminal that no new e-mail is available for the user. This messaging sequence may be repeated at a predefined frequency, such as every few minutes, thereby consuming at least some of the limited power available to the user terminal and correspondingly increasing the network load by repeatedly utilizing the network resources. As illustrated in Figure 2, the method sequence may be repeated at the predefined frequency until either a different message is transmitted by the application or a different response is provided by the server, neither of which generally occurs very regularly.
As noted above, the consumption of the resources of the user terminal 10 and the network may be exacerbated in instances in which multiple applications executing upon the user terminal may repeatedly request network access, typically in an independent or uncoordinated fashion. Some techniques have been developed in order to bundle the requests from different applications and to then transmit these bundled messages during a single, active connection. These techniques may reduce the amount of signaling related to connection set up and release. However, these techniques are generally only applicable to applications that have been specifically designed to support the bundling technique. In many instances, however, it would be desirable that the manner in which messages are transmitted between a user terminal application and the network is transparent to the application such that the application need not be specifically configured to adapt to the particular communication technique. As such, it would be desirable to provide an improved technique for handling the repeated message transmission and reception by applications executing on a user terminal, such as an always-on application, that conserves the resources of the user terminal and the network and, in one
embodiment, is transparent to the applications.
In this regard, Figure 3 illustrates a block diagram of one embodiment of a user terminal 10, that is, a mobile terminal, which cooperates with the network node 100 to simulate regularly transmitted messages in accordance with an example embodiment of the present invention. It should be understood, however, that the mobile terminal illustrated and hereinafter described is merely illustrative of one type of user terminal that may implement and/or benefit from example embodiments of the present invention and, therefore, should not be taken to limit the scope of the present invention. While one embodiment of the user terminal is illustrated and will be hereinafter described for purposes of example, other types of electronic devices, such as mobile telephones, mobile computers, portable digital assistants (PDAs), pagers, laptop computers, desktop computers, gaming devices, televisions, and other types of electronic systems, may employ embodiments of the present invention.
As shown, the user terminal 10 may include an antenna 12 (or multiple antennas
12) in communication with a transmitter 14 and a receiver 16. The user terminal may also include a processor 20 configured to provide signals to and receive signals from the transmitter and receiver, respectively. The processor may, for example, be embodied as various means including circuitry, one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof. Accordingly, although illustrated in Figure 3 as a single processor, in some embodiments the processor comprises a plurality of processors. The signals sent and received by the processor may include signaling information in accordance with an air interface standard of an applicable cellular system, and/or any number of different wireline or wireless networking techniques, comprising but not limited to Wireless-Fidelity (Wi-Fi), wireless local access network (WLAN) techniques such as Institute of Electrical and Electronics Engineers (IEEE) 802.11 , 802.16, and/or the like. In addition, these signals may include speech data, user generated data, user requested data, and/or the like. As described below, the signals may also include messages and corresponding responses exchanged with the network on a repeated basis, such as by always-on applications executed by the processor.
The user terminal 10 may be capable of operating with one or more air interface standards, communication protocols, modulation types, access types, and/or the like. More particularly, the user terminal may be capable of operating in accordance with various first generation (1G), second generation (2G), 2.5G, third-generation (3G) communication protocols, fourth-generation (4G) communication protocols, Internet Protocol Multimedia Subsystem (IMS) communication protocols (e.g., session initiation protocol (SIP)), and/or the like. For example, the user terminal may be capable of operating in accordance with 2G wireless communication protocols IS-136 (Time Division Multiple Access (TDMA)), Global System for Mobile communications (GSM), IS-95 (Code Division Multiple Access (CDMA)), and/or the like. Also, for example, the user terminal may be capable of operating in accordance with 2.5G wireless communication protocols General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), and/or the like. Further, for example, the user terminal may be capable of operating in accordance with 3G wireless communication protocols such as Universal Mobile
Telecommunications System (UMTS), Code Division Multiple Access 2000 (CDMA2000), Wideband Code Division Multiple Access (WCDMA), Time Division-Synchronous Code Division Multiple Access (TD-SCDMA), and/or the like. The user terminal may be additionally capable of operating in accordance with 3.9G wireless communication protocols such as LTE, LTE-Advanced or E-UTRAN and/or the like. Additionally, for example, the user terminal may be capable of operating in accordance with fourth- generation (4G) wireless communication protocols and/or the like as well as similar wireless communication protocols that may be developed in the future.
Some Narrow-band Advanced Mobile Phone System (NAMPS), as well as Total Access Communication System (TACS), user terminals 10 may also benefit from embodiments of this invention, as should dual or higher mode phones (e.g., digital/analog or TDMA/CDMA/analog phones). Additionally, the user terminal may be capable of operating according to Wireless Fidelity (Wi-Fi) or Worldwide Interoperability for
Microwave Access (WiMAX) protocols.
It is understood that the processor 20 may comprise circuitry for implementing audio/video and logic functions of the user terminal 10. For example, the processor may comprise a digital signal processor device, a microprocessor device, an analog-to-digital converter, a digital-to-analog converter, and/or the like. Control and signal processing functions of the user terminal may be allocated between these devices according to their respective capabilities. The processor may additionally comprise an internal voice coder (VC) 20a, an internal data modem (DM) 20b, and/or the like. Further, the processor may comprise functionality to operate one or more software programs, e.g., applications such as always-on applications, which may be stored in memory. For example, the processor may be capable of operating a connectivity program, such as a web browser. The connectivity program may allow the user terminal to transmit and receive web content, such as location-based content, according to a protocol, such as Wireless Application Protocol (WAP), hypertext transfer protocol (HTTP), and/or the like. The user terminal may be capable of using a Transmission Control Protocol/Internet Protocol (TCP/IP) to transmit and receive web content across the internet or other networks.
The user terminal 10 may also comprise a user interface including, for example, an earphone or speaker 24, a ringer 22, a microphone 26, a display 28, a user input interface, and/or the like, which may be operationally coupled to the processor 20. In this regard, the processor may comprise user interface circuitry configured to control at least some functions of one or more elements of the user interface, such as, for example, the speaker, the ringer, the microphone, the display, and/or the like. The processor and/or user interface circuitry comprising the processor may be configured to control one or more functions of one or more elements of the user interface through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor (e.g., volatile memory 40, non-volatile memory 42, and/or the like). Although not shown, the user terminal may comprise a battery for powering various circuits related to the user terminal, for example, a circuit to provide mechanical vibration as a detectable output. The user input interface may comprise devices allowing the user terminal to receive data, such as a keypad 30, a touch display (not shown), a joystick (not shown), and/or other input device. In embodiments including a keypad, the keypad may comprise numeric (0-9), alphabetical (a-z) and related keys (#, *), and/or other keys for operating the user terminal.
The user terminal 10 may comprise memory, such as one or more subscriber identity modules (SIMs) 38, universal SIMs (USIMs), removable user identity modules (R- UIMs), and/or the like, which may store information elements related to a mobile subscriber. In addition to the SIM, the user terminal may comprise other removable and/or fixed memory. The mobile terminal may include volatile memory 40 and/or nonvolatile memory 42. For example, volatile memory may include Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off-chip cache memory, and/or the like. Non-volatile memory, which may be embedded and/or removable, may include, for example, read-only memory, flash memory, magnetic storage devices (e.g., hard disks, floppy disk drives, magnetic tape, etc.), optical disc drives and/or media, nonvolatile random access memory (NVRAM), and/or the like. Like volatile memory, nonvolatile memory may include a cache area for temporary storage of data. The memories may store one or more software programs, instructions, pieces of information, data, and/or the like which may be used by the user terminal for performing functions of the user terminal. For example, the memories may store instructions which, when executed by the processor 20, cause the processor to perform the functions described herein. The memories may also comprise an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying the user terminal.
Referring now to Figure 4, a block diagram of a network node 100, such as a base station, e.g., an eNB, an access point or the like, is provided according to an example embodiment of the invention. In the example embodiment illustrated in Figure 4, the network node may include various means, such as a processor 120, memory 122 and communication interface 124 for performing the various functions herein described. These means of the network node as described herein may be embodied as, for example, circuitry, hardware elements (for example, a suitably programmed processor, combinational logic circuit, and/or the like), a computer program product comprising computer-readable program instructions (for example, software or firmware) stored on a computer-readable medium (for example, memory 122) that is executable by a suitably configured processing device (for example, the processor 120), or some combination thereof.
The processor 120 may, for example, be embodied as various means including one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more
coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC or FPGA, or some combination thereof.
Accordingly, although illustrated in Figure 4 as a single processor, in some embodiments the processor comprises a plurality of processors. The plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functionalities of the network node 100 as described herein. In an example embodiment, the processor is configured to execute instructions stored in the memory 122 or otherwise accessible to the processor. These instructions, when executed by the processor, may cause the network node to perform one or more of the functionalities of the network node as described herein. As such, whether configured by hardware or software methods, or by a combination thereof, the processor may comprise an entity capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when the processor is embodied as an ASIC, FPGA or the like, the processor may comprise specifically configured hardware for conducting one or more operations described herein. Alternatively, as another example, when the processor is embodied as an executor of instructions, such as may be stored in the memory, the instructions may specifically configure the processor to perform one or more algorithms and operations described herein. The memory 122 may comprise, for example, volatile memory, non-volatile memory, or some combination thereof. Although illustrated in Figure 4 as a single memory, the memory may comprise a plurality of memories. In various embodiments, the memory may comprise, for example, a hard disk, random access memory, cache memory, flash memory, a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD-ROM), an optical disc, circuitry configured to store information, or some combination thereof. The memory may be configured to store information, data, applications, instructions, and/or the like for enabling the network node 100 to carry out various functions in accordance with example embodiments of the present invention. For example, in at least some embodiments, the memory is configured to buffer input data for processing by the processor 120. Additionally or alternatively, in at least some embodiments, the memory is configured to store program instructions for execution by the processor. The memory may store information in the form of static and/or dynamic information.
The communication interface 124 may be embodied as any device or means embodied in circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (for example, the memory 122) and executed by a processing device (for example, the processor 120), or a combination thereof that is configured to receive and/or transmit data from/to another entity, such as over a network 102. In at least one embodiment, the communication interface is at least partially embodied as or otherwise controlled by the processor. In this regard, the communication interface may be in communication with the processor, such as via a bus. The communication interface may include, for example, an antenna, a transmitter, a receiver, a transceiver and/or supporting hardware or software for enabling communications with one or more computing devices or entities over the network. The communication interface may be configured to receive and/or transmit data using any protocol that may be used for communications between the network node 100 and one or more other computing devices over the network, such as the server 104 or other service provider, network access point, and/or the like. The communication interface may additionally be in communication with the memory, such as via a bus.
In accordance with an example embodiment of the present invention, the user terminal 10 includes means, such as the processor 20, configured to detect a message pattern as shown in operation 200 of Figure 5. The message pattern is generally defined by a message transmitted from the user terminal to the network node 100 on a regular basis, such as at an established time interval. In some instances, the message pattern may also include a response from the network node to the user terminal, but in other embodiments no response is expected from the network node. The processor of the user terminal may be configured to detect a message pattern based upon the issuance of a predefined number of the same messages by the user terminal to the network node with the messages issued at a particular frequency, such as every minute, every 90 seconds, or the like. Although the processor of the user terminal may be configured to require any number of these same messages to be detected prior to identifying a message pattern, the processor of the illustrated embodiment is configured to identify the message pattern following the exchange of two identical message sequences between the user terminal and the network node.
While the processor 20 of the user terminal 10 may be configured to detect a message pattern based upon the exchange of a pair of messages, one message being transmitted from the user terminal to the network node 100 and a response being transmitted from the network node to the user terminal, the processor of other embodiments may be configured to detect more complex message patterns. For example, the processor of the user terminal may be configured to detect a message pattern comprised of a sequence of several messages that is repeated at a predefined time interval. The processor of one embodiment may also be configured to detect a message pattern that includes the exchange of messages that are identical with the exception of a sequence number that is included within the messages and that is incremented each time that a pair of messages is exchanged. Thus, even though the messages are not identical as a result of the incremental increase in the sequence number, the processor of one embodiment may recognize the sequence of messages as a message pattern. More generally, the processor of one embodiment may detect a message pattern in which at least portions of the messages follow a predefined rule such that even though the portions of the messages may change, the manner in which the portions of the messages change is predefined in accordance with the rule such that the resulting exchange of messages may be identified by the processor as a message pattern.
The messages that are transmitted by the user terminal 10 may be any of a wide variety of messages that may originate in a correspondingly wide variety of manners. However, the user terminal of one embodiment includes one or more applications, such as one or more always-on applications, such as a presence application, a Skype™ application, an e-mail application, an instant messaging application, a location tracking application, a weather widget application or the like, that is stored in memory, such as non-volatile memory 42, and executed by the processor 20 so as to repeatedly issue a request for transmission of a message via the network 102 to the server 104. For example, a presence application may request that a message be transmitted to the network to update the presence of the user and to obtain updated presence information for other parties. Other applications, such as the Skype™ application, may repeatedly request the transmission of a keep-alive, or heartbeat, message to the network to maintain connectivity. Other applications, such as location services and weather widgets, may repeatedly request the transmission of a message to the network in order to obtain any updated location or weather information. These requests for transmission of a message to the network may be issued by the application at a predefined frequency, such as every minute, every few minutes or the like.
Once the user terminal 10, such as the processor 20, has detected a message pattern, the user terminal may include means, such as a processor, for causing a description of the message pattern to be provided to the network 102, as shown in operation 202 of Figure 5. For example, the processor may cause a description of the message pattern that includes the time interval, the message that is regularly provided by the user terminal to the network node 100, and any response that is regularly provided from the network node to the user terminal. Thereafter, the processor may recognize subsequent requests for the transmission of a message to the network 102 that is consistent with the message pattern, as shown in operation 204 of Figure 5. In this regard, the message pattern that has been detected by the processor includes the definition of the message that is regularly transmitted from the user terminal to the network node. As such, the processor of this embodiment may be configured to identify requests, such as from an application being executed by the processor, for the
transmission of the same message that constitutes at least a portion of the message pattern. In instances in which the requests for transmission of a message to the network involves the requested transmission of the same message that forms a portion of the message pattern, the user terminal, such as the processor, is configured not to transmit the message to the network node, thereby conserving the power of the user terminal and the network resources. Alternatively, if the message for which transmission to the network has been requested is inconsistent with the message pattern, such as by being a different message than that included in the message pattern, the user terminal may include means, such as a processor, configured to cause a representation of the message to be provided to the network. See operation 206 of Figure 5.
The user terminal 10 may include means, such as a processor 20, for determining if a response has been received from the network 102, such as shown in operation 208 of Figure 5. As noted above, in instances in which the message that is requested to be transmitted to the network is consistent with the message pattern, the message is not transmitted to the network node 100. However, as described below, the network node may behave as if the message had been transmitted by the user terminal and received by the network node since the network node has previously been advised of the message pattern and is configured to operate in accordance with the message pattern, that is, is configured to operate as though the message defined by the message pattern is repeatedly transmitted at the predefined time interval even though the message itself is not transmitted by the user terminal. As such, the network node may determine if a response to the message (that is, the message that forms a portion of the message pattern) is appropriate and, if so, may determine if the response is consistent with the response, if any, that constitutes a portion of the message pattern.
If the appropriate response is consistent with the message pattern, the network node 100 is configured to not transmit the response such that the user terminal 10 similarly does not receive a response from the network node. Conversely, if the response from the network node is inconsistent or different from that defined by the message pattern, the network node may transmit and the user terminal, such as a processor 20, may receive the response. In instances in which the user terminal, such as a processor, receives a response from the network, the user terminal may include means, such as the processor, to provide the response to the application that initially requested transmission of the message that generated the response, as shown in operation 210 of Figure 5. Alternatively, in an instance in which no response is received from the network node, the user terminal may include means, such as the processor, to provide a response to the application that initially requested transmission of the message to the network that is consistent with the response defined by the message pattern. See operation 212 of Figure 5. This response may be a predefined substantive response or may be a nullity, such as the absence of a response, as defined by the message pattern. In either instance, the application that initially requested the transmission of the message receives the same response as it would have if the message and response would have been transmitted between the user terminal and the network node as a result of the reliance upon the predefined message pattern. Notably, however, resources of the user terminal and the network may be conserved by avoiding repetition of the same message pattern.
The foregoing process may be repeated by the user terminal 10 until terminated, for example, by means, such as the processor 20, of the user terminal. As shown in operation 214 of Figure 5, the process may be expressly terminated by the user terminal or by the network node 100, such as by means of a termination message. Following termination, the user terminal and the network node may no longer rely upon the message pattern, but may, instead, exchange messages in a conventional manner until another message pattern is identified and defined between the user terminal and the network node. Alternatively, the process may be terminated in an instance in which the application requests the transmission of a different message than that defined by the message pattern and/or in an instance in which the network node provides a response that is different than that defined by the message pattern, such as shown in operation 210 of Figure 5. In this instance, the request or the response may effectively serve as a termination message. Still further, the process may be terminated additionally or alternatively be terminated due to a network error or any other error. In a situation in which the process is terminated due to an error, the network node may send a termination message to the user terminal to inform the user terminal that the process is no longer active such that the user terminal does not unnecessarily wait for the next message in accordance with the message pattern from the network node.
Consistent with the description provided above in conjunction with the user terminal 10, the network node 100, such as a base station, may include means, such as the processor 120, for initially receiving a description of the message pattern from the user terminal as shown at operation 300 of Figure 6. As described above, the message pattern defines a message that is repeatedly and regularly transmitted from the user terminal to the network node as well as the time interval at which the message is transmitted as well as any response regularly transmitted from the network node to the user terminal. Once the message pattern has been defined for the network node, the network node, such as processor, may conduct operations as though the network node was repeatedly receiving the message from the user terminal at the predefined time interval even though the network node of this embodiment does not, in fact, receive the message from the user terminal once the message pattern is defined.
More particularly, the network node 100 may include means, such as processor 120, for providing a message consistent with the message pattern. See operation 302 of Figure 6. In this regard, the network node may be configured to cause a predefined message to be provided to the server 104 via the network 102 in response to the receipt of a message from the user terminal 10, such as by forwarding the message received from the user terminal to the server. In accordance with an example embodiment in which the message pattern is defined and the network node no longer receives the message from the user terminal, the network node, such as the processor, may be configured to continue to provide the same message to the server (at the predefined time interval) as that which would have been provided in instances in which the user terminal transmitted the message set forth by the message pattern to the network node. Based upon the message provided to the server, the network node may receive a response from the server. See operation 304 of Figure 6.
In the absence of the definition of the message pattern, the response from the server 104 would, in turn, cause the network node 100, such as processor 120, to provide a corresponding response, such as the same response, to the user terminal 10. In accordance with an example embodiment, however, the network node may include means, such as the processor, for determining if the response that otherwise would be provided to the user terminal is consistent with the message pattern. See operation 306 of Figure 6. For example, in instances in which the message pattern defines a particular response, the network node, such as the processor, may determine if the response that otherwise would be provided to the user terminal is identical to the response included within the message pattern. Alternatively, in instances in which the message pattern does not identify a response, the network node, such as the processor, may determine if the response that otherwise would be provided is a null response (and therefore consistent with the message pattern), such as the lack of a response. In instances in which the response that otherwise would have been provided by the network node is consistent with the message pattern, the network node, such as the processor, of this embodiment may avoid transmission of any response to the user terminal, thereby advantageously conserving the resources of the user terminal and the network.
However, in an instance in which the response that otherwise would be provided by the network node is inconsistent with, that is different than, the response that is defined by the message pattern, the network node may include means, such as the processor, for causing the response to be provided to the user terminal, as shown in operation 308 of Figure 6.
Like the process of the user terminal 10 described above in conjunction with Figure 5, the foregoing process of the network node 100 may continue until the message pattern is terminated. For example, the message pattern may be expressly terminated by the user terminal and/or the network node. In instances in which the network node terminates the message pattern, the network node may include means, such as the processor 120, for initiating the express termination. Alternatively, the message pattern may be terminated by the receipt of a message from the user terminal that is different than the message defined by the message pattern and/or in an instance in which the response to be provided to the user terminal is different than the response that is defined by the message pattern, such as shown at operation 308. In either instance, the message or the response from the user terminal effectively serves as a termination message. As noted above, the message pattern may additionally or alternatively be terminated due to a network error or any other error. In a situation in which the process is terminated due to an error, the network node may include means, such as the processor, for sending a termination message to the user terminal to inform the user terminal that the process is no longer active such that the user terminal does not unnecessarily wait for the next message in accordance with the message pattern from the network node. Once terminated, the network node may await receipt of the description of another message pattern prior to repeating the foregoing process. Although example embodiments of the present invention may be employed in a variety of applications, an e-mail application that repeatedly polls an e-mail server to identify any new e-mail messages that have arrived for the user is one example of an application that may establish a message pattern between the user terminal 10 and the network node 100 with an example embodiment of the present invention permitting the network communications to be reduced between the user terminal and the network node so as to save resources of the user terminal and the network while still updating the user terminal of any new e-mail messages for the user. As shown in Figure 7a, the e-mail application stored in memory, such as non-volatile memory 42, and executed by the processor 20 of the user terminal may initially request that the radio access portion of the user terminal, such as the processor 20, transmitter 14 and/or receiver 16, transmit a message requesting whether there is any new e-mail. The processor may, in turn, cause the message inquiring as to whether there is any new e-mail to be transmitted to the network node and the network node may, in turn, relay the message to the server 104.
In this example embodiment, the server 104 may determine if any new e-mail is available. In most instances, no additional e-mail is available and the server may accordingly transmit a message indicating that no new e-mail is available to the network node 100. The network node may in turn, forward the message to the radio access portion of the user terminal 10 which, in turn, may provide the response to the application, as shown in Figure 7a. This message sequence may be repeated at a predefined interval. In accordance with an example embodiment of the present invention, the user terminal, such as a processor 20, may detect a message sequence and may define the message sequence in terms of the message transmitted by the user terminal to the network node, the time interval or period at which the message is transmitted and any response from the network node to the user terminal. In the example illustrated in Figure 7a, the user terminal, such as the processor, is configured to identify the message pattern following two identical message sequences, although other embodiments may require different numbers of identical message sequences before identifying the message pattern.
Once the message pattern has been detected and provided to the network node
100 as shown in Figure 7a, subsequent requests by the e-mail application to transmit an inquiry to the e-mail server regarding whether new e-mail is available for the user will not be transmitted between the user terminal 10 and the network 102 so as to conserve resources of the user terminal and the network. However, the network node, having been apprised of the message pattern, will continue to communicate with the server 104 in the same manner and at the same frequency. So long as the server continues to provide a response that is consistent with the message pattern, that is, that no new e-mail is available for the user, the network node will similarly not transmit the response to the user terminal so as to further conserve the resources of the user terminal and the network. As a result of the definition of the message pattern, the user terminal, such as the processor 20, may interpret the lack of a response from the network node as representing the response that is predefined by the message pattern and may, in turn, provide the response that is predefined by the message pattern to the application. This process may continue until the message pattern is terminated or until a different message and/or response is transmitted.
As shown in Figure 7a, for example, the e-mail server may eventually issue a different response indicating that a new e-mail message is available, thereby effectively terminating the message pattern. Since the response from the server 104 is different than that included within the message pattern, the network node 100, such as the processor 120, may cause the response to be transmitted to the radio access portion of the user terminal 10 and, in turn, to the application. As a result of the termination of the message pattern, the user terminal and the network node may then exchange messages and responses as in a conventional manner until the user terminal, such as the processor 20, again detects a message pattern. The message pattern may then again be defined and provided to the network node with subsequent exchanges between the user terminal and the network node being prevented or avoided so long as those exchanges would be consistent with the message pattern, as shown in Figure 7b. In instances in which the application executed by the processor of the user terminal requests the transmission of a message that is inconsistent with, that is, different than, the message included within the message pattern, the processor of the user terminal may be configured to cause the message to be transmitted to the network node which, in turn, provides an appropriate message to the server, such as by forwarding the message from the user terminal. As shown in Figure 7b, the transmission of a message from the user terminal to the network node that is different than that defined by the message pattern may also serve to terminate the message pattern such that a conventional exchange of messages between the user terminal and the network node may be necessitated until another message pattern is detected by the user terminal.
As described above, the establishment of a message pattern and the avoidance of the repeated transmission of the same messages and responses between the user terminal 10 and the network node 100 may conserve resources of the user terminal and the network 102. However, the definition of a message pattern may permit a network node and a server 104 to communicate in a conventional manner such that any change in circumstances can be appropriately and timely identified to the user terminal. Similarly, the user terminal may continue to appropriately communicate with an application executing thereon even though the user terminal does not repeatedly communicate with the network node, but, instead, relies upon the continuation of the message pattern until such time that the message pattern is terminated.
As described above Figures 5 and 6 are flowcharts of an apparatus, method, and computer program product according to example embodiments of the invention. As also described above, each block of the flowchart, and combinations of blocks in the flowchart, may be implemented by various means, such as hardware and/or a computer program product comprising one or more computer-readable mediums having computer readable program instructions stored thereon. For example, one or more of the procedures described herein may be embodied by computer program instructions of a computer program product. In this regard, the computer program product that is performed by the user terminal 10 may be stored by one or more memory devices 40, 42 of the user terminal and executed by the processor 20 of the user terminal, while the computer program product that is performed by the network node 100 may be stored by one or more memory devices 122 of the network node and executed by the processor 120 of the network node. In some embodiments, the computer program instructions comprising the computer program product(s) which embody the procedures described above may be stored by memory devices of a plurality of computing devices, such as the network node and the user terminal. As will be appreciated, any such computer program product may be loaded onto a computer or other programmable apparatus to produce a machine, such that the computer program product including the instructions which execute on the computer or other programmable apparatus creates means for implementing the functions specified in the flowchart block(s). Further, the computer program product may comprise one or more computer-readable memories on which the computer program instructions may be stored such that the one or more computer-readable memories can direct a computer or other programmable apparatus to function in a particular manner, such that the computer program product comprises an article of manufacture which implements the function specified in the flowchart block(s). The computer program instructions of one or more computer program products may also be loaded onto a computer or other programmable apparatus (e.g., the network node and the user terminal) to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus implement the functions specified in the flowchart block(s).
Accordingly, blocks of the flowchart support combinations of means for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowchart, may be implemented by special purpose hardware-based computer systems which perform the specified functions or combinations of special purpose hardware and computer program product(s).
The above described functions may be carried out in many ways. For example, any suitable means for carrying out each of the functions described above may be employed to carry out embodiments of the invention. In one embodiment, suitably configured processors 20, 120 of the user terminal 10 and the network node 100, respectively, may provide means for performing their respective functions, as shown in Figures 5 and 6 and described above. In another embodiment, all or a portion of the operations, such as shown in Figures 5 and 6, may be configured by and operate under control of a computer program product. The computer program product for performing the methods of embodiments of the invention includes a computer-readable storage medium, such as the non-volatile storage medium, and computer-readable program code portions, such as a series of computer instructions, embodied in the computer-readable storage medium.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these embodiments pertain having the benefit of the teachings presented in the foregoing description and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. For example, the definition of a single message pattern at any one instant in time was described above, other embodiments of the method, apparatus and computer program product may recognize two or more message patterns that are concurrently and independently exchanged by the user terminal 10 and the network node 100 such that the user terminal and the network node may simultaneously simulate each of the multiple message patterns in the manner described above. Moreover, although the foregoing descriptions and the associated drawings describe exemplary embodiments in the context of certain exemplary combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions other than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims

042933/390380 WO 2011/158067 PCT/IB2010/052748 THAT WHICH IS CLAIMED:
1. A method comprising:
detecting a message pattern;
causing a description of the message pattern to be provided to a network; and in response to a subsequent request for transmission of a message to the network in which the message is consistent with the message pattern, causing a response to the message to be provided consistent with the message pattern without having provided the respective message to the network and without receipt of the response to the message from the network.
2. A method according to Claim 1 wherein the message pattern comprises a description of the message and a time interval at which the message is to be provided to the network.
3. A method according to Claim 2 wherein the message pattern further comprises the response to the message to be provided by the network.
4. A method according to any one of Claims 1 -3 further comprising causing a representation of the message to be provided to the network in an instance in which the message differs from the message pattern.
5. A method according to any of Claim 1-4 further comprising:
receiving a response from the network that differs from the message pattern; and causing a representation of the response from the network to be provided in response to the message.
6. A method according to any of Claims 1-5 wherein the message pattern comprises a pair of messages comprising a message to be provided to the network and a response to be received from the network.
7. A method according to any of Claims 1-6 wherein the message pattern comprises a repeating sequence of several messages and corresponding responses.
8. A method according to any of Claims 1-7 further comprising terminating the message pattern by no longer causing the response to the message to be provided consistent with the message pattern.
9. An apparatus comprising:
at least one processor; and 042933/390380
WO 2011/158067 PCT/IB2010/052748 at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following:
detect a message pattern;
cause a description of the message pattern to be provided to a network; and in response to a subsequent request for transmission of a message to the network in which the message is consistent with the message pattern, cause a response to the message to be provided consistent with the message pattern without having provided the respective message to the network and without receipt of the response to the message from the network.
10. An apparatus according to Claim 9 wherein the message pattern comprises a description of the message and a time interval at which the message is to be provided to the network.
11. An apparatus according to Claim 10 wherein the message pattern further comprises the response to the message to be provided by the network.
12. An apparatus according to any one of Claims 9-11 wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus to cause a representation of the message to be provided to the network in an instance in which the message differs from the message pattern.
13. An apparatus according to any of Claim 9-12 wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus to: receive a response from the network that differs from the message pattern; and cause a representation of the response from the network to be provided in response to the message.
14. An apparatus according to any of Claims 9-13 wherein the message pattern comprises a pair of messages comprising a message to be provided to the network and a response to be received from the network.
15. An apparatus according to any of Claims 9-14 wherein the message pattern comprises a repeating sequence of several messages and corresponding responses.
16. An apparatus according to any of Claims 9-15 wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus to terminate the message pattern by no longer causing the response to the message to be provided consistent with the message pattern.
17. A computer program product comprising at least one computer-readable storage medium having computer-readable program code portions stored therein, the computer- readable program code portions comprising:
program code instructions for detecting a message pattern;
program code instructions for causing a description of the message pattern to be provided to a network; and
program code instructions for, in response to a subsequent request for transmission of a message to the network in which the message is consistent with the message pattern, causing a response to the message to be provided consistent with the message pattern without having provided the respective message to the network and without receipt of the response to the message from the network.
18. A computer program product according to Claim 17 wherein the message pattern comprises a description of the message and a time interval at which the message is to be provided to the network.
19. A computer program product according to Claim 18 wherein the message pattern further comprises the response to the message to be provided by the network.
20. A computer program product according to any one of Claims 17-19 wherein the computer-readable program code portions further comprise program code instructions for causing a representation of the message to be provided to the network in an instance in which the message differs from the message pattern.
21. A computer program product according to any of Claim 17-20 wherein the computer-readable program code portions further comprise:
program code instructions for receiving a response from the network that differs from the message pattern; and
program code instructions for causing a representation of the response from the network to be provided in response to the message.
22. A computer program product according to any of Claims 17-21 wherein the message pattern comprises a pair of messages comprising a message to be provided to the network and a response to be received from the network.
23. A computer program product according to any of Claims 17-22 wherein the message pattern comprises a repeating sequence of several messages and
corresponding responses.
24. A computer program product according to any of Claims 17-23 wherein the computer-readable program code portions further comprise program code instructions for terminating the message pattern by no longer causing the response to the message to be provided consistent with the message pattern.
25. An apparatus comprising:
means for detecting a message pattern;
means for causing a description of the message pattern to be provided to a network; and
means for, in response to a subsequent request for transmission of a message to the network in which the message is consistent with the message pattern, causing a response to the message to be provided consistent with the message pattern without having provided the respective message to the network and without receipt of the response to the message from the network.
26. An apparatus according to Claim 25 wherein the message pattern comprises a description of the message and a time interval at which the message is to be provided to the network.
27. An apparatus according to Claim 26 wherein the message pattern further comprises the response to the message to be provided by the network.
28. An apparatus according to any one of Claims 25-27 further comprising means for causing a representation of the message to be provided to the network in an instance in which the message differs from the message pattern.
29. An apparatus according to any of Claim 25-28 further comprising:
means for receiving a response from the network that differs from the message pattern; and
means for causing a representation of the response from the network to be provided in response to the message.
30. An apparatus according to any of Claims 25-29 wherein the message pattern comprises a pair of messages comprising a message to be provided to the network and a response to be received from the network.
31. An apparatus according to any of Claims 25-30 wherein the message pattern comprises a repeating sequence of several messages and corresponding responses.
32. An apparatus according to any of Claims 25-31 further comprising means for terminating the message pattern by no longer causing the response to the message to be provided consistent with the message pattern.
33. A method comprising:
receiving a description of a message pattern;
causing a message to be provided via a network in a manner consistent with the message pattern but without receipt of the respective message from a user terminal; and receiving a response to the message from the network that is not provided to the user terminal in an instance in which the response is consistent with the message pattern.
34. A method according to Claim 33 wherein the message pattern comprises a description of the message and a time interval at which the message is to be provided to the network.
35. A method according to Claim 34 wherein the message pattern further comprises the response to the message.
36. A method according to any one of Claims 33-35 further comprising causing the user terminal to be provided with the response to the message that is received from the network in an instance in which the response differs from the message pattern.
37. A method according to any of Claims 33-36 further comprising receiving from the user terminal a representation of the message in an instance in which the message differs from the message pattern.
38. A method according to any of Claims 33-37 wherein the message pattern comprises a pair of messages comprising a message to be received from the user terminal and a response to be provided to the user terminal.
39. A method according to any of Claims 33-38 wherein the message pattern comprises a repeating sequence of several messages and corresponding responses.
40. A method according to any of Claims 33-39 further comprising terminating the message pattern in response to a termination message from the user terminal.
41. A method according to any of Claims 33-39 further comprising terminating the message pattern by causing a termination message to be transmitted to the user terminal.
42. An apparatus comprising:
at least one processor; and
at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following:
receive a description of a message pattern;
cause a message to be provided via a network in a manner consistent with the message pattern but without receipt of the respective message from a user terminal; and receive a response to the message from the network that is not provided to the user terminal in an instance in which the response is consistent with the message pattern.
43. An apparatus according to Claim 42 wherein the message pattern comprises a description of the message and a time interval at which the message is to be provided to the network.
44. An apparatus according to Claim 43 wherein the message pattern further comprises the response to the message.
45. An apparatus according to any one of Claims 42-44 wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus to cause the user terminal to be provided with the response to the message that is received from the network in an instance in which the response differs from the message pattern.
46. An apparatus according to any of Claims 42-45 wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus to receive from the user terminal a representation of the message in an instance in which the message differs from the message pattern.
47. An apparatus according to any of Claims 42-46 wherein the message pattern comprises a pair of messages comprising a message to be received from the user terminal and a response to be provided to the user terminal.
48. An apparatus according to any of Claims 42-47 wherein the message pattern comprises a repeating sequence of several messages and corresponding responses. 047933/390380
WO 2011/158067 PCT/IB2010/052748
49. An apparatus according to any of Claims 42-48 wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus to terminate the message pattern in response to a termination message from the user terminal.
50. An apparatus according to any of Claims 42-48 wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus to terminate the message pattern by causing a termination message to be transmitted to the user terminal.
51. A computer program product comprising at least one computer-readable storage medium having computer-readable program code portions stored therein, the computer- readable program code portions comprising:
program code instructions for receiving a description of a message pattern;
program code instructions for causing a message to be provided via a network in a manner consistent with the message pattern but without receipt of the respective message from a user terminal; and
program code instructions for receiving a response to the message from the network that is not provided to the user terminal in an instance in which the response is consistent with the message pattern.
52. A computer program product according to Claim 51 wherein the message pattern comprises a description of the message and a time interval at which the message is to be provided to the network.
53. A computer program product according to Claim 52 wherein the message pattern further comprises the response to the message.
54. A computer program product according to any one of Claims 51-53 wherein the computer-readable program code portions further comprise program code instructions for causing the user terminal to be provided with the response to the message that is received from the network in an instance in which the response differs from the message pattern.
55. A computer program product according to any of Claims 51-54 wherein the computer-readable program code portions further comprise program code instructions for receiving from the user terminal a representation of the message in an instance in which the message differs from the message pattern.
56. A computer program product according to any of Claims 51 -55 wherein the message pattern comprises a pair of messages comprising a message to be received from the user terminal and a response to be provided to the user terminal.
57. A computer program product according to any of Claims 51-56 wherein the message pattern comprises a repeating sequence of several messages and
corresponding responses.
58. A computer program product according to any of Claims 51-57 wherein the computer-readable program code portions further comprise program code instructions for terminating the message pattern in response to a termination message from the user terminal.
59. A computer program product according to any of Claims 51-57 wherein the computer-readable program code portions further comprise program code instructions for terminating the message pattern by causing a termination message to be transmitted to the user terminal.
60. An apparatus comprising:
means for receiving a description of a message pattern;
means for causing a message to be provided via a network in a manner consistent with the message pattern but without receipt of the respective message from a user terminal; and
means for receiving a response to the message from the network that is not provided to the user terminal in an instance in which the response is consistent with the message pattern.
61. An apparatus according to Claim 60 wherein the message pattern comprises a description of the message and a time interval at which the message is to be provided to the network.
62. An apparatus according to Claim 61 wherein the message pattern further comprises the response to the message.
63. An apparatus according to any one of Claims 60-62 further comprising means for causing the user terminal to be provided with the response to the message that is received from the network in an instance in which the response differs from the message pattern.
64. An apparatus according to any of Claims 60-63 further comprising means for receiving from the user terminal a representation of the message in an instance in which the message differs from the message pattern.
65. An apparatus according to any of Claims 60-64 wherein the message pattern comprises a pair of messages comprising a message to be received from the user terminal and a response to be provided to the user terminal.
66. An apparatus according to any of Claims 60-65 wherein the message pattern comprises a repeating sequence of several messages and corresponding responses.
67. An apparatus according to any of Claims 60-66 further comprising means for terminating the message pattern in response to a termination message from the user terminal.
68. An apparatus according to any of Claims 60-66 further comprising means for terminating the message pattern by causing a termination message to be transmitted to the user terminal.
PCT/IB2010/052748 2010-06-17 2010-06-17 Method and apparatus for simulating regularly transmitted messages WO2011158067A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IB2010/052748 WO2011158067A1 (en) 2010-06-17 2010-06-17 Method and apparatus for simulating regularly transmitted messages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2010/052748 WO2011158067A1 (en) 2010-06-17 2010-06-17 Method and apparatus for simulating regularly transmitted messages

Publications (1)

Publication Number Publication Date
WO2011158067A1 true WO2011158067A1 (en) 2011-12-22

Family

ID=45347693

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2010/052748 WO2011158067A1 (en) 2010-06-17 2010-06-17 Method and apparatus for simulating regularly transmitted messages

Country Status (1)

Country Link
WO (1) WO2011158067A1 (en)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2503077A (en) * 2012-04-09 2013-12-18 Seven Networks Inc Management of a network connection without heartbeat messages
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US8761756B2 (en) 2005-06-21 2014-06-24 Seven Networks International Oy Maintaining an IP connection in a mobile network
US8774844B2 (en) 2007-06-01 2014-07-08 Seven Networks, Inc. Integrated messaging
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US8782222B2 (en) 2010-11-01 2014-07-15 Seven Networks Timing of keep-alive messages used in a system for mobile network resource conservation and optimization
US8799410B2 (en) 2008-01-28 2014-08-05 Seven Networks, Inc. System and method of a relay server for managing communications and notification between a mobile device and a web access server
US8811952B2 (en) 2002-01-08 2014-08-19 Seven Networks, Inc. Mobile device power management in data synchronization over a mobile network with or without a trigger notification
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US8832228B2 (en) 2011-04-27 2014-09-09 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
US8839412B1 (en) 2005-04-21 2014-09-16 Seven Networks, Inc. Flexible real-time inbox access
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US8868753B2 (en) 2011-12-06 2014-10-21 Seven Networks, Inc. System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
CN104137641A (en) * 2013-01-31 2014-11-05 华为技术有限公司 Method, permanent online controller and device for keeping application online
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9021021B2 (en) 2011-12-14 2015-04-28 Seven Networks, Inc. Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system
US9043433B2 (en) 2010-07-26 2015-05-26 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9084105B2 (en) 2011-04-19 2015-07-14 Seven Networks, Inc. Device resources sharing for network resource conservation
US9173128B2 (en) 2011-12-07 2015-10-27 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007083000A1 (en) * 2006-01-20 2007-07-26 Teliasonera Ab Method for maintaining connection in telecommunications system and telecommunications system
WO2008004109A1 (en) * 2006-06-30 2008-01-10 Nokia Corporation Dynamically adapting radio and mobility management timers depending on keep alive message pattern of mobile terminal
US20080059582A1 (en) * 2006-09-06 2008-03-06 Nokia Corporation Mobile network optimized method for keeping an application IP connection always on
WO2008115778A1 (en) * 2007-03-19 2008-09-25 Intel Corporation Keep-alive handling in a wireless network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007083000A1 (en) * 2006-01-20 2007-07-26 Teliasonera Ab Method for maintaining connection in telecommunications system and telecommunications system
WO2008004109A1 (en) * 2006-06-30 2008-01-10 Nokia Corporation Dynamically adapting radio and mobility management timers depending on keep alive message pattern of mobile terminal
US20080059582A1 (en) * 2006-09-06 2008-03-06 Nokia Corporation Mobile network optimized method for keeping an application IP connection always on
WO2008115778A1 (en) * 2007-03-19 2008-09-25 Intel Corporation Keep-alive handling in a wireless network

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8811952B2 (en) 2002-01-08 2014-08-19 Seven Networks, Inc. Mobile device power management in data synchronization over a mobile network with or without a trigger notification
US8839412B1 (en) 2005-04-21 2014-09-16 Seven Networks, Inc. Flexible real-time inbox access
US8761756B2 (en) 2005-06-21 2014-06-24 Seven Networks International Oy Maintaining an IP connection in a mobile network
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8774844B2 (en) 2007-06-01 2014-07-08 Seven Networks, Inc. Integrated messaging
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US8799410B2 (en) 2008-01-28 2014-08-05 Seven Networks, Inc. System and method of a relay server for managing communications and notification between a mobile device and a web access server
US8838744B2 (en) 2008-01-28 2014-09-16 Seven Networks, Inc. Web-based access to data objects
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US9043433B2 (en) 2010-07-26 2015-05-26 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US9049179B2 (en) 2010-07-26 2015-06-02 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8782222B2 (en) 2010-11-01 2014-07-15 Seven Networks Timing of keep-alive messages used in a system for mobile network resource conservation and optimization
US9084105B2 (en) 2011-04-19 2015-07-14 Seven Networks, Inc. Device resources sharing for network resource conservation
US8832228B2 (en) 2011-04-27 2014-09-09 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
US8868753B2 (en) 2011-12-06 2014-10-21 Seven Networks, Inc. System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
US8977755B2 (en) 2011-12-06 2015-03-10 Seven Networks, Inc. Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9173128B2 (en) 2011-12-07 2015-10-27 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9208123B2 (en) 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
US9021021B2 (en) 2011-12-14 2015-04-28 Seven Networks, Inc. Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system
GB2503077A (en) * 2012-04-09 2013-12-18 Seven Networks Inc Management of a network connection without heartbeat messages
GB2503077B (en) * 2012-04-09 2014-09-17 Seven Networks Inc A method and system for management of a virtual network connection without heartbeat messages
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
EP2848028A4 (en) * 2012-04-09 2016-01-06 Seven Networks Llc A method and system for management of a virtual network connection without heartbeat messages
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
CN104137641A (en) * 2013-01-31 2014-11-05 华为技术有限公司 Method, permanent online controller and device for keeping application online
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network

Similar Documents

Publication Publication Date Title
WO2011158067A1 (en) Method and apparatus for simulating regularly transmitted messages
EP2713641B1 (en) Method for receiving data, method for transmitting data, mobile terminal, and server
US9923735B2 (en) Systems, methods, and apparatuses for handling a legacy circuit switched communication
CN102647667B (en) Group management method and PUSH server
JP2023516456A (en) Addition of per-user device control to the wireless intelligent controller's E2 policy
WO2016110077A1 (en) Method, device and system for implementing broadband trunking service
KR20120110128A (en) An ussd transport method and device
US11172460B2 (en) User location monitoring in mobile edge environment
KR102433075B1 (en) Advertise a scalable performance feature set for user equipment (UE)
WO2021164763A1 (en) Mode switching method and device
TWI554127B (en) Method and apparatus for cellular communication
KR20170032395A (en) Distributed implementation of self-organizing tracking areas
US9693265B2 (en) Method and apparatus for mobile terminal mobility
WO2021160096A1 (en) Private network subscription information update method and apparatus
WO2018214762A1 (en) Method and apparatus for acquiring paging parameter
JP2018504074A (en) Voice switching method and apparatus
EP2842356B1 (en) Updating subscription information
JP2017525251A (en) Offloading wireless node authentication with core network
US20210243657A1 (en) Communication method, core network device, access network device, terminal device, and communication system
JP2023554356A (en) Relay communication method and device
CN111108785B (en) Network slice specific paging cycle for wireless networks
US20220046576A1 (en) Apparatus, method and computer program for performing radio access notification area update
WO2024022163A1 (en) Positioning method, terminal and network device
WO2022268012A1 (en) Resource processing method and apparatus, electronic device, and storage medium
US11653307B2 (en) Modifying idle mode DRX on wireless devices

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: 10853162

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: 10853162

Country of ref document: EP

Kind code of ref document: A1