CA2517526A1 - Method and system for communicating message notifications to mobile devices - Google Patents

Method and system for communicating message notifications to mobile devices Download PDF

Info

Publication number
CA2517526A1
CA2517526A1 CA002517526A CA2517526A CA2517526A1 CA 2517526 A1 CA2517526 A1 CA 2517526A1 CA 002517526 A CA002517526 A CA 002517526A CA 2517526 A CA2517526 A CA 2517526A CA 2517526 A1 CA2517526 A1 CA 2517526A1
Authority
CA
Canada
Prior art keywords
cir
server
client
connection
channel
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
CA002517526A
Other languages
French (fr)
Inventor
Alain Caron
Sylvain Legault
Haraldur Thorkelsson
Teresa Hunkeler
Jean Regnier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oz Communications Inc
Original Assignee
Oz Communications 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 Oz Communications Inc filed Critical Oz Communications Inc
Priority to CA002517526A priority Critical patent/CA2517526A1/en
Priority to PCT/CA2006/001416 priority patent/WO2007025373A1/en
Priority to CA2621298A priority patent/CA2621298C/en
Priority to EP06790595A priority patent/EP1920625A1/en
Priority to US12/065,287 priority patent/US9408240B2/en
Publication of CA2517526A1 publication Critical patent/CA2517526A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup of transport tunnels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W68/00User notification, e.g. alerting and paging, for incoming communication, change of service or the like
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless

Abstract

There is disclosed system and method for choosing between different CIR
channels in a mobile communications system when there are multiple CIR
channels amongst which to choose. Additionally, there is disclosed a system and method for exploiting the usage pattern which is exhibited when TCP is being used as the sole or primary transport mechanism for CIR messages in order to significantly increase the number of concurrent TCP connections that a given server can support.

Description

TITLE OF THE INVENTION
Method and System for Communicating Message Notifications to Mobile Devices FIELD OF THE INVENTION
The present invention relates to a method and system for communicating message notifications to mobile devices.
BACKGROUND TO THE INVENTION
As known in the art, end to end communications in a telecommunications network (for example between a client and server) are typically carried out via a transport mechanism. Data passed to the transport mechanism from one end system, such as a client, is relayed to the other end system, such as a server, via the underlying network infrastructure which remains largely transparent to the end systems. In mobile systems the client is typically resident in the mobile handset or device while the server is typically resident at a fixed location, separated from the mobile handset by at least one wireless network and perhaps a plurality of ground networks.
In a network, the client/server model provides a convenient way to interconnect programs that are distributed efficiently across different locations.
Typically in the usual client/server model, one server (sometimes called a daemon) is activated and awaits client requests. As a result, connections in the client/server model are established by the client requesting opening of a connection with the server. This causes difficulties in implementations such as mobile communications where, in order to allow for the use of devices with limited capabilities, many mobile devices are equipped to operate solely as clients. As a result, a data channel between client and server can only be initiated by the mobile device. In order to overcome this limitation, the prior art reveals providing a Communication Initiation Request (CIR) channel where by a server can request the client to initiate such a connection.
One such prior art implementation is disclosed in the OMA Wireless Village (WV) standard, see Open Mobile Alliance OMA-IMPS-WV-CSP-Transport-V1 2-20050125-A Client-Server Protocol Transport Bindings Approved Version 1.2 - 25 Jan 2005 which is herein incorporated in its entirety by reference (hereinafter the OMA StandardJ. In the above standard the transport binding is logically divided into two channels: (1 ) a bidirectional data channel via which the exchange of Client-Server Protocol (CSP) primitives between client and server is carried out and (2) a unidirectional CIR channel from server to client which is used to activate the data channel whenever the data channel is not established, or in the event communication has been halted in the data channel and needs to be reactivated. A variety of transport mechanisms/methods have been proposed for the CIR Channel:
~ WAP push over SMS;
~ WAP push over UDP/IP;
~ Standalone SMS;
~ Standalone UDP/IP;
~ Standalone TCP/IP; and ~ Standalone HTTP.
In the OMA Standard, in order to initiate a transaction, the server sends a CIR
message through the CIR channel to the client in order to request an immediate CSP PollingRequest message from the client to the server on the data channel. A transaction request is then inserted by the server into the response part of the poll request. The CIR channel is also used to establish the data channel when the channel is not available. For instance, if a TCP/IP
connection for the data channel has been disconnected the CIR channel is used to reestablish the channel connection to the server A given client/mobile handset or device may implement one or more of the above transport mechanisms/methods. Each mobile handset or device provides information to the servers) concerning its configuration, etc., during a setup or login stage and therefore each server is typically aware of what features are available on the mobile handset or device which can be taken advantage of. In the event that only a single transport mechanism/method is available no selection must be made between the type of transport mechanism/method which is to be used for a particular transmission.
However, as each mobile handset or device typically implements a number of these mechanisms/methods, one draw back of such prior art devices is that there is no mechanism to select between the different mechanisms/methods.
Additionally, one of the transport mechanisms/methods for CIR defined in the OMA Standard is TCP-CIR. TCP is a well-known protocol that many mobile devices support. TCP may also be more easily usable in certain mobile networks than other Internet Protocols such as UDP due, for instance, to security measures implemented in firewalls and other network elements. For these reasons, certain mobile devices support only TCP for CIR. TCP is a widely used protocol and a comprehensive body of literature exists describing methods and best practices to build TCP servers that can achieve high capacity and effectiveness. For example, the document www.keqel.com/c10k.html, the entirety of which is incorporated herein by reference, provides an extensive overview of these methods and best practices, including thread management, synchronous/asynchronous I/O calls and selection of appropriate methods for socket calls. In addition, this document identifies several useful references.
TCP was developed primarily for the use with fixed ground networks and as a result, servers implementing these methods and best practices make the fundamental assumption that the usage pattern of TCP is driven by Internet-type services such as web browsing using HTTP over TCP. In this type of usage, each TCP connection is set up for a short duration, during which it is intensely used. Typically, a given server in such an environment will have a capacity of approximately 10,000 concurrent TCP connections. However, in a mobile environment, the use of TCP as a single CIR requires each mobile handset or device to open the TCP connection to the server, and then requires the mobile handset or device and the server to maintain the TCP
connection established for a duration that may be extremely long, on the order of several hours or days. During the time which the TCP connection is established, the connection is largely dormant, except for short periods of activity. When a large number of mobile devices using only TCP for CIR are deployed, the server is required to support a very large number of concurrent TCP connections. This is an atypical usage of TCP connections, which are usually kept open only for a short duration while there is a transfer of data ongoing and then closed. Keeping such long duration TCP connections open requires management both on the mobile device and on the server side.
SUMMARY OF THE INVENTION
The present invention addresses the above and other drawbacks by providing a system and method for choosing between different CIR channels when there are multiple CIR channels amongst which to choose.
Additionally, there is disclosed a system and method for exploiting the usage pattern which is exhibited when TCP is being used as the sole or primary transport mechanism for CIR in order to significantly increase the number of concurrent TCP connections that a given server can support.
BRIEF DESCRIPTION OF THE FIGURES
Figure 1 provides a schematic diagram of a mobile communications systems in accordance with an illustrative embodiment of the present invention;
Figure 2 provides a conceptual model of client-server communications in accordance with an illustrative embodiment of the present invention;
Figure 3 is a flow chart of a method for selecting a CIR channel in accordance with an illustrative embodiment of the present invention;
Figure 4 is a diagrammatic representation of the use of TCP protocol by the OMA standard in accordance with an illustrative embodiment of the present invention;
Figure 5 is a flow chart of a TCP CIR channel monitoring process in accordance with an illustrative embodiment of the present invention; and Figure 6 is a flow chart of a TCP CIR channel monitoring process in accordance with an alternative illustrative embodiment of the present invention.
DETAILED DESCRIPTION OF THE ILLUSTRATIVE EMBODIMENTS
Referring now to Figure 1, an illustrative embodiment of a mobile communications system, generally referred to using the reference numeral 10 will now be described. The system 10 is comprised of one or more ground end systems 12 comprised of a server 14 and a plurality of mobile end systems 16 each comprised of at least one client 18. The ground end systems 12 and the mobile end systems 16 are interconnected by at least one wireless RF network 20 and typically a plurality of interconnected ground networks as in 22. In order to gain access to the wireless RF network 20, each mobile end system 16 is equipped with an antenna 24, and as a result is able to relay data and eventually other communications signals to a second antenna 26 attached to the ground networks) 22.
Still referring to Figure 1, the server 14 and client 18 are typically software applications running on their respective end systems ~12, 16 which take advantage of the wireless RF network 20 and interconnected ground networks as in 22 to communicate with one another. Referring now to Figure 2, each server as in 14 or client as in 18 typically has access to the underlying communications networks 20, 22 via protocol stacks as in 28, 30. As known in the art, use of such protocol stacks as in 28, 30 (also known as a layered architecture) provide distinct advantages in terms of transparency, interoperability and expandability. Each of the protocol stacks as in 28, 30 are divided into a plurality of layers as in 32. Although a protocol stack can have many layers, in order to provide "end to end" communications, such as those provided by the TCP/IP model, four layers are used with the upper most, or transport, layer as in 34, 36 being the only layer typically accessible by the either the server 14 or client 18. Additionally, as known in the art, a client wishing to establish a connection with a server 14 requests this establishment from ifs respective transport layer 36 using one or more predefined commands typically referred to as primitives. Based on the information provided in the primitives, the transport layer 36 communicates with its peer transport layer 34 and establishes a logical path 38 through which data can flow, thereby allowing the client 18 to communicate with the server 14 and vice versa.
Still referring to Figure 2, note that additional network devices, such as routers 40 or the like, may be necessary to support communication between a particular pair of peer transports layers as in 34, 36.
As discussed above, data communications between server 14 and client 18 are typically initiated by the client 18. However, for some applications, for example Instant Messaging, a server 14 may wish to establish communications with the client. In order to do this, the OMA Standard provides for a dedicated CIR channel 42 between server 14 and client 18 reserved solely for the transfer of CIRs. This channel may be implemented in a number of different ways depending on the capabilities of the server 14 and, in particular, the client 18 located in the mobile handset or device. For example, if the server 14 and client 18 support TCP/IP, the dedicated CIR
channel 42 can be provided by a dedicated TCP/IP connection between peer transport layers 34, 36. This TCP/IP connection would typically be set up during a login procedure and remain alive for as long as a data path is available between the client 18 and server 18. Alternatively, if UDP is supported, UDP can be used to provide the dedicated CIR channel. A similar case arises with both SMS or HTTP which both can be used to provide the dedicated CIR channel in particular implementations. Similarly, on a WAP
equipped mobile handset or device WAP push over SMS or UDP/IP as bearer can be used, again depending on the capabilities of the mobile handset or device.
As discussed above, in the prior art OMA Standard the capabilities of the client 18 and server 14 are exchanged as part of a login procedure and part of the information exchanged includes CIR capabilities. This gives an indication to the server 14 which CIR channels are supported by the client 18, and an indication to the client 18 which CIR channels may be used by the server 18.
As discussed above, the possible transport bindings that are currently foreseen for supporting the CIR channel as indicated in the OMA Standard are:
~ WAP push over SMS as bearer ~ WAP push over UDP/IP as bearer ~ Standalone SMS binding ~ Standalone UDP/IP binding ~ Standalone TCP/IP binding ~ Standalone HTTP binding Of note is that there are different trade-offs to consider when choosing a particular CIR channel/method, including latency of a particular method, cost for a particular network, or features supported by the mobile handset or device.
Also as discussed above, at the beginning of the session (or login) the client 18 supplies the server 14 with a list of supported CIR channels or methods.
The server 18 may choose to use only a particular CIR channel for the duration of the session. However, using only a particular CIR channel or method does not take advantage of the redundancy or other advantages supported by the simultaneous use of a plurality of different CIR channels: In order to do this, a dynamic selection of the CIR channel to be used during a session is provided for.
An example of a method allowing the server 14 to choose a CIR channel during a session is shown in Figure 3. When the server has a CIR to send to the client 18, the server 14 determines if the preferred method of sending the CIR is supported by the client 18 and the mobile handset or device. In the example, the preferred method is UDP. Provided the client 18 supports the chosen CIR channel, an attempt is made to use that CIR channel. This CIR
channel may not be usable (for example, due to a connection that is not established or the like). If the first CIR channel chosen is not successful, the next preferred CIR channel is attempted, until all available CIR channels have been exhausted. Waiting for the client to poll using an HTTP is illustratively the last alternative. Note that the order of selecting the CIR channel as shown in Figure 3 is only illustrative and is not intended to otherwise limit the manner in which a CIR channel may be selected. The order in which the CIR channels are attempted is configurable per deployment, as different networks may have conditions that prioritise the selection of one method over another.
Referring back to Figure 2, in the event that a client 18 has available CIR
channels based on both SMS and TCPIIP, the following method of selecting between them may be used between the client 18 and server 14. This method ensures that the network is used efficiently for CIR and that the user has minimal delays in receiving messages while using the application.
When the user opens an application requiring a CIR channel, for example an Instant Messaging application or the like, the client 18 sets up a dedicated TCP/IP CIR channel. This CIR channel is maintained for a period of time, typically for at least as long as the user is using the application, although it should be noted that a user can be logged onto a the server 14 without the application actively running on the handset. If the user shuts down the application, or the application is automatically closed, the TCP-CIR channel is closed by the client 18. If the server 14 has detected that a CIR must be sent to the client 18, it tries first to use the TCP-CIR channel. If there is no TCP-CIR channel established, the server 18 sends the CIR using the SMS CIR
channel. When the mobile handset or device receives the CIR via SMS, if the mobile handset or device is capable of launching the application, the application (for example, an Instant Messaging client) is then started, and a TCP CIR channel is established. In this manner, the SMS CIR channel may be used to "wake-up" both the application and the TCP CIR channel. Note that typically SMS would only be used if the application in question was not running and no TCP CIR channel is available.
The OMA Standard provides no mechanism for allowing the client to indicate its preference of CIR channels to use. Additionally, in the case of a particular limitation in the mobile device or client in terms of supported CIR channels here is no way to signal this to this server. An example of this is if the client prefers to use a TCP CIR channel even though an SMS CIR channel is also available. To allow for the client 18 to indicate its preference to the server 14, when the client 18 provides the list of supported CIR channels to the server 14 at login, the client 18 additionally indicates a preferred order in which the server 14 should attempt to use these CIR channels.
As stated above, the communication model used in the OMA Standard uses two channels: a mandatory data channel in which all the exchange of data is carried, and an optional CIR channel which serves to activate the data channel when it is not established and data needs to be communicated. The following discussion focuses on the CIR channel when TCP/IP is used as the underlying transport protocol.

As discussed above, the TCP CIR channel is a push-type connection-oriented channel, the purpose of which is to carry CIRs from the server 14 to the client 18. Once established, a TCP CIR connection serves only two purposes: to convey communication initiation requests from the server 14 to the client 18 10 and to verify that the connection is still alive.
The TCP CIR channel defined in the OMA Standard describes a well defined and predictable use of TCP protocol between the client 18 and the server 14.
This usage is outlined in Figure 4, and can be described as follows:
ClR establishment: This is the initial phase during which the client and server establish the TCP CIR channel (labelled as "1" in Figure 4). The procedure is as follows:
~ The client 18 initiates the TCP connection to provide a TCP CIR channel between client 18 and server 14;
~ the server 14 responds to the client 18 by establishing the TCP
connection;
~ immediately upon receiving the response from the server 14 confirming that the TCP connection has been established, the client 18 sends the authentication message "HELD" with the Session ID as a parameter; and ~ upon receiving the "HELD" message from the client, the server replies to the client with an "OK" message, at which point the TCP CiR channel is established.
CIR usage: This is the phase during which the client 18 and server 14 use the CIR channel, and starts once the CIR channel has been established (labelled as "2" in Figure 4). During this phase, the TCP CIR channel is used only for two purposes:
~ Communication of CIR messages (labelled as "2a" in Figure 4).
~ The server 14 communicates a CIR when it wants to notify the client 18 that it should poll the server; and ~ the client 18 does not respond to the CIR over the TCP CIR channel.
Rather, the client 18 is then expected to originate a PollingRequest message over the data channel (note that the PollingRequest message is not directly relevant for purpose of the TCP CIR channel discussion, and is only outlined here to facilitate a better understanding of the role of the CIR channel and the data channel in the OMA standard).
~ Keepalive: it is possible that the TCP CIR channel may be closed, for example if it has been inactive for a long duration or due to network problems. To prevent this from happening or to be able to recover, the client 14 illustratively implements a keepalive mechanism enabling it to verify periodically a TCP CIR channel to the server 14 is still open. This mechanism is as follows (labelled as "2b" in Figure 4):
~ The client 18 sends a "PING" message over the TCP CIR channel;
~ the server 14 responds to the "PING" message with the "OK" message;
and ~ if a delay of several seconds (typically 30) between sending a "PING"
and receiving a corresponding "OK" expires, the TCP CIR channel is re-established, for example using the method as described hereinabove.
CIR feardown: This is the closing phase during which the client or the server closes the TCP connection (labelled as "3" in Figure 4).
The CIR establishment and teardown phases are relatively short. However, it is important to note that the TCP CIR channel makes particular uses of the TCP protocol during the CIR usage phase, notably:
~ Once the TCP CIR is established, the CIR channel may be held up for a very long duration, on the order of several hours or days;
~ the transactions carried over the TCP CIR connection are very short, consisting of the exchange of only one or two messages, and are infrequent;
~ only three specific messages may be exchanged ("PING" from the client to the server, and "CIR" and "OK" from the server to the client);
~ the three messages are relatively short, and can be transmitted within single TCP socket read/write operations; and ~ the client can tolerate a delay of several seconds between initiating a message and receiving its response (e.g., 30 seconds).
The method described below implements a two-state process for each TCP
CIR channel between server 14 and one of the plurality of clients 14 to establish and maintain the TCP CIR channels. In the first state, the TCP CIR
channel is established. In the second state, the TCP CIR channel is monitored to detect and serve incoming or outgoing messages. This monitoring exploits the specific use of the TCP protocol for TCP CIR channel purposes.
Figure 5 depicts this two-state process. The process is initiated in state 1 by a client 18 requesting a TCP CIR channel (at the point labelled "1" in Figure 5).
This request is received by the server 14, and is initially served by a Conventional Connection Server (CCS). The CCS acts as a conventional socket server and waits for new connections by listening to a well-known TCP
port. When a new request arrives, the CCS assigns to it a new port, and puts the new connection in a NewConnectionList. The server 14 also responds to the client 18, providing the port that it assigned to the server 14. The client 18 receives this message, and replies with the "HELD" message. When the CCS
receives the "HELD" message, it replies to the client with the "OK" message, and moves the connection from the NewConnectionList to the SIowConnectionList. At this point, the TCP CIR channel is established and the process transits from state 1 to state 2 (at the point labelled "2" in Figure 5).
In state two, the Slow Connection Server (SCS) handles the TCP CIR
channel. The SCS carries two main activities:
~ For outgoing messages, transmitting CIR messages) to the client 18 when requested to do so by the server 14; and ~ for incoming messages, detecting the arrival of "PING" messages, and subsequently replying with "OK" messages.
In addition, the SCS may also close the TCP CIR channel and free its resources when requested by the server 14 or upon detecting that the client 18 has closed the connection.
The SCS can transmit CIRs to the client 18 via the CIR channel at any time, as requested by the server 14.
For incoming messages, the SCS inspects periodically the socket for the port assigned to the channel. This period (referred to as X in Figure 5) is configurable and can be of several seconds (typically 5 to 10 seconds). The SCS only acts upon finding that data has been received (the "PING"
message).
In addition to the two-state process previously described, the approach may be extended to situations in which TCP connections are established and maintained between a mobile device and a server for a very long duration, and during which the connections are used only sporadically while they are established. The TCP CIR channel is one specific occurrence of this usage pattern. However, the usage pattern considered hereinbelow is more generic, and is characterised by:

~ An initial period during which there is activity to set up the TCP
connection, and to make an initial use of it, the initial use justifying the establishment of the connection and wherein the initial period of activity is of a short duration compared to the overall duration of the connection;
~ a subsequent period of long duration during which the TCP connection is dormant (meaning that no messages are exchanged), except for short periods during which there is activity (meaning exchange of messages);
~ a final period of short duration during which the TCP connection is closed;
and ~ clients that can tolerate a delay of several seconds between initiating a message and receiving its response.
The method described in more detail hereinbelow implements a similar two-state process as described hereinabove. However, as opposed to the preceding section where the process progresses from state 1 to state 2, the process here oscillates between states 1 and 2 as a function of the activity of the TCP connection.
Figure 6 depicts an illustrative embodiment of this modified process. The process is again initiated in state 1 by a client making a request for a TCP
connection (at the point labelled "1" in Figure 6). This request is received by the server, and is initially served by a CCS, similar as to described hereinabove. The connection stays in state 1 until it is established. Once established, the connection is put in the ActiveConnectionList. The connection remains in state 1, and in the ActiveConnectionList, for as long as it is being actively used.
Upon completion of the initial activity period, the connection becomes inactive (dormant). This event is detected by the CCS through the inactivity period exceeding a configurable inactivity threshold. When this event arises, the process moves the management of the connection to the SCS, thereby proceeding from state 1 to state 2 (at the point labelled "2" in Figure 6).
The connection is then moved from the ActiveConnectionList to the SIowConnectionList.
Similarly as before, the SCS carries out two main activities:

~ monitoring server-side initiated activity on the connection, triggering a message to be sent from the client to the server; and ~ monitoring client-side initiated activity on the connection, triggering an incoming message to be fetched.
Similar as to described hereinabove, the SCS inspects periodically the socket for the port assigned to the connection to detect new messages. This period (reference X in Figure 6) is configurable and can be of several seconds (typically, X= 5 to 10 seconds).
When the SCS detects activity, either incoming or outgoing, it declares that the connection has become active again. The SCS then moves the connection from the SIowConnectionList to the ActiveConnectionList. The process then moves back to state 1, and the TCP activity is handled by the CCS.
When the period of activity expires, the client once again becomes inactive.
This event is detected by the inactivity timer, which then moves the connection back to the SCS. This process repeats itself on an ongoing basis as the client becomes active and inactive.
In this modified process, both the CCS and the SCS may close the TCP CIR
connection and free the resources when requested by the server or upon detecting that the client has closed the connection.
Although the present invention has been described hereinabove by way of illustrative embodiments thereof, these embodiments can be modified at will without departing from the spirit and nature of the subject invention.

Claims (8)

WHAT IS CLAIMED IS:
1. A method for transmitting a CIR message from a server to a mobile client, said client supporting a plurality of CIR channels, the method comprising the steps of:
at a login step, providing the server with the CIR channels supported by the client; and at a subsequent CIR message transmission step:
selecting one of the plurality of CIR channels attempting to transmit the CIR message via said selected CIR
channel;
wherein if the CIR message cannot be transmitted by said selected CIR channel, said selecting and attempting steps are repeated using a different one of the plurality of CIR channels until transmission of said CIR message via all of the plurality of CIR channels has been attempted.
2. The method of Claim 1, wherein said providing step further comprises indicating to the server an order in which said plurality of CIR
channels are to be selected.
3. The method of Claim 1, wherein the plurality of CIR channels are selected form the group consisting of a TCP CIR channel, UDP CIR
channel, HTTP CIR channel, SMS CIR channel, WAP push over SMS as bearer CIR channel, and WAP push over UDP/IP as CIR bearer channel.
4. The method of Claim 1, wherein the plurality of CIR channels comprises a TCP CIR channel and wherein the TCP CIR channel is a preferred selected CIR channel.
5. A method for establishing and maintaining a TCP connection for the transmission of messages between a server and client, the method comprising the steps of:
providing a conventional connection server and a slow connection server in the server;
receiving a connection request from the client at the server;
establishing a connection between the client and said conventional connection server; and transferring said established connection to said slow connection server in the server, wherein said slow connection server receives and transmits the messages.
6. The method of Claim 5, wherein said establishment step comprises assigning a port address to the client and transmitting said port address to the client and said transferring step comprises providing said port address to said slow connection server.
7. The method of Claim 5, wherein the messages comprise PING
messages transmitted from client to server and further wherein when said slow connection server receives a PING message within a predetermined time period, said slow connection server responds by transmitting an OK
message to the client.
8. A method for establishing and maintaining a TCP connection for the transmission of messages between a server and client, the method comprising the steps of:
providing a conventional connection server and a slow connection server in the server;
receiving a connection request from the client at the server;
establishing a connection between the client and said conventional connection server;

on expiration of a predetermined inactivity period, transferring said established connection to said slow connection server;
on reception of a message transferred from the client:
if said established connection has been transferred to said slow connection server, first transferring said established connection back to said conventional connection server;
and receiving said message at said conventional connection server from the client; and on reception of a message for transfer to the client:
if said established connection has been transferred to said slow connection server, first transferring said established connection back to said conventional connection server;
and transmitting the message from said conventional connection server to the client.
CA002517526A 2005-08-30 2005-08-30 Method and system for communicating message notifications to mobile devices Abandoned CA2517526A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CA002517526A CA2517526A1 (en) 2005-08-30 2005-08-30 Method and system for communicating message notifications to mobile devices
PCT/CA2006/001416 WO2007025373A1 (en) 2005-08-30 2006-08-30 Method and system for communicating message notifications to mobile devices
CA2621298A CA2621298C (en) 2005-08-30 2006-08-30 Method and system for communicating message notifications to mobile devices
EP06790595A EP1920625A1 (en) 2005-08-30 2006-08-30 Method and system for communicating message notifications to mobile devices
US12/065,287 US9408240B2 (en) 2005-08-30 2006-08-30 Method and system for communicating message notifications to mobile devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002517526A CA2517526A1 (en) 2005-08-30 2005-08-30 Method and system for communicating message notifications to mobile devices

Publications (1)

Publication Number Publication Date
CA2517526A1 true CA2517526A1 (en) 2007-02-28

Family

ID=37806495

Family Applications (2)

Application Number Title Priority Date Filing Date
CA002517526A Abandoned CA2517526A1 (en) 2005-08-30 2005-08-30 Method and system for communicating message notifications to mobile devices
CA2621298A Expired - Fee Related CA2621298C (en) 2005-08-30 2006-08-30 Method and system for communicating message notifications to mobile devices

Family Applications After (1)

Application Number Title Priority Date Filing Date
CA2621298A Expired - Fee Related CA2621298C (en) 2005-08-30 2006-08-30 Method and system for communicating message notifications to mobile devices

Country Status (4)

Country Link
US (1) US9408240B2 (en)
EP (1) EP1920625A1 (en)
CA (2) CA2517526A1 (en)
WO (1) WO2007025373A1 (en)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7305700B2 (en) 2002-01-08 2007-12-04 Seven Networks, Inc. Secure transport for mobile communication network
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US8468126B2 (en) 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7441271B2 (en) 2004-10-20 2008-10-21 Seven Networks Method and apparatus for intercepting events in a communication system
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
FI117152B (en) 2004-12-03 2006-06-30 Seven Networks Internat Oy E-mail service provisioning method for mobile terminal, involves using domain part and further parameters to generate new parameter set in list of setting parameter sets, if provisioning of e-mail service is successful
US8351419B2 (en) 2005-01-19 2013-01-08 Qualcomm Iskoot, Inc. Local access to a mobile network
US8756328B2 (en) 2005-01-19 2014-06-17 Qualcomm Connected Experiences, Inc. Caller-callee association of a plurality of networked devices with direct dial through thin client
US8856359B2 (en) * 2005-06-29 2014-10-07 Qualcomm Connected Experiences, Inc. Caller-callee association of a plurality of networked devices
US7877703B1 (en) 2005-03-14 2011-01-25 Seven Networks, Inc. Intelligent rendering of information in a limited display environment
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US9479604B2 (en) * 2006-01-30 2016-10-25 Qualcomm Incorporated System and method for dynamic phone book and network content links in a mobile device
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
GB2459216B (en) * 2006-12-18 2011-06-22 Ericsson Telefon Ab L M Method and apparatus for establishing a session
US9232076B2 (en) 2007-01-08 2016-01-05 Qualcomm Incorporated Methods and systems of providing status message calling
US9088641B2 (en) 2007-01-09 2015-07-21 Qualcomm Incorporated Method and system for transmitting audio data between computing devices
US9100501B2 (en) 2007-02-12 2015-08-04 Qualcomm Incorporated Methods and systems for performing authentication and authorization in a user-device environment
US20080244023A1 (en) * 2007-03-29 2008-10-02 Iskoot Inc. Methods and systems for performing server-based mobile chat
US7917633B1 (en) * 2007-04-17 2011-03-29 Glance Networks, Inc. Method and apparatus for reconnecting to a remote viewing session
US20090190738A1 (en) * 2007-05-30 2009-07-30 Iskoot, Inc. Methods and systems for propagating information across a network
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8391848B2 (en) 2007-06-07 2013-03-05 Qualcomm Iskoot, Inc. Telecommunication call support for mobile devices with presence features
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8825815B2 (en) * 2008-01-08 2014-09-02 Amdocs Software Systems Limited System and method for client synchronization for a communication device
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US9002329B2 (en) 2008-02-27 2015-04-07 Qualcomm Connected Experiences, Inc. Mobile communication in a network-device environment
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US9077630B2 (en) 2010-07-26 2015-07-07 Seven Networks, Inc. Distributed implementation of dynamic wireless traffic policy
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
JP5676762B2 (en) 2010-07-26 2015-02-25 セブン ネットワークス インコーポレイテッド Mobile application traffic optimization
US9043433B2 (en) 2010-07-26 2015-05-26 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US8166164B1 (en) 2010-11-01 2012-04-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
WO2012061430A2 (en) * 2010-11-01 2012-05-10 Michael Luna Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
WO2012060996A2 (en) 2010-11-01 2012-05-10 Michael Luna Caching adapted for mobile application behavior and network conditions
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
CN102076065B (en) * 2010-11-19 2013-04-24 华为终端有限公司 Method and device of data interaction
EP2636268B1 (en) 2010-11-22 2019-02-27 Seven Networks, LLC Optimization of resource polling intervals to satisfy mobile device requests
CN103404193B (en) 2010-11-22 2018-06-05 七网络有限责任公司 The connection that adjustment data transmission is established with the transmission being optimized for through wireless network
EP2661697B1 (en) 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
US9084105B2 (en) 2011-04-19 2015-07-14 Seven Networks, Inc. Device resources sharing for network resource conservation
EP2621144B1 (en) * 2011-04-27 2014-06-25 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
EP2702500B1 (en) 2011-04-27 2017-07-19 Seven Networks, LLC Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US9239800B2 (en) 2011-07-27 2016-01-19 Seven Networks, Llc Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
WO2013086214A1 (en) 2011-12-06 2013-06-13 Seven Networks, Inc. A system of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
WO2013086447A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
EP2788889A4 (en) 2011-12-07 2015-08-12 Seven Networks Inc Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
WO2013090834A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
WO2013090212A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
EP2801236A4 (en) 2012-01-05 2015-10-21 Seven Networks Inc Detection and management of user interactions with foreground applications on a mobile device in distributed caching
US9203864B2 (en) 2012-02-02 2015-12-01 Seven Networks, Llc Dynamic categorization of applications for network access in a mobile network
WO2013116852A1 (en) 2012-02-03 2013-08-08 Seven Networks, Inc. User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
WO2013155208A1 (en) 2012-04-10 2013-10-17 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
US9351331B2 (en) * 2012-04-18 2016-05-24 Qualcomm Incorporated Invasive socket manager
WO2014011216A1 (en) 2012-07-13 2014-01-16 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
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US9307493B2 (en) 2012-12-20 2016-04-05 Seven Networks, Llc Systems and methods for application management of mobile device radio state promotion and demotion
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
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
US9326185B2 (en) 2013-03-11 2016-04-26 Seven Networks, Llc Mobile network congestion recognition for optimization of mobile traffic
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
CN110324391B (en) * 2018-03-30 2022-03-25 武汉斗鱼网络科技有限公司 Bullet screen server connection method, client and readable storage medium
CN115834300A (en) * 2022-11-16 2023-03-21 山东大学 Minimum cost-based dynamic threshold channel estimation method and system
US11956204B1 (en) * 2022-12-23 2024-04-09 Plume Design, Inc. IPv4-in-IPv6 relaying systems and methods to preserve IPv4 public addresses

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020022453A1 (en) 2000-03-31 2002-02-21 Horia Balog Dynamic protocol selection and routing of content to mobile devices
US7007092B2 (en) * 2000-10-05 2006-02-28 Juniper Networks, Inc. Connection management system and method
US7152111B2 (en) * 2002-08-15 2006-12-19 Digi International Inc. Method and apparatus for a client connection manager
GB2398204B (en) * 2003-02-04 2006-08-02 Vodafone Plc Setting communication types for a communication session
US7477675B2 (en) * 2004-09-30 2009-01-13 Kyocera Corporation Data communication apparatus

Also Published As

Publication number Publication date
CA2621298C (en) 2017-03-21
US20080263170A1 (en) 2008-10-23
EP1920625A1 (en) 2008-05-14
WO2007025373A1 (en) 2007-03-08
US9408240B2 (en) 2016-08-02
CA2621298A1 (en) 2007-03-08

Similar Documents

Publication Publication Date Title
CA2517526A1 (en) Method and system for communicating message notifications to mobile devices
US9473925B2 (en) Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
EP2803244B1 (en) Methods and apparatus for establishing a tunneled direct link setup (tdls) session between devices in a wireless network
US20030126213A1 (en) Establishing direct instant messaging communication between wireless devices
EP3370387B1 (en) Two-sided acceleration transmission method and system for wireless network
EP3257280B1 (en) Preserving s1-ap ue contexts on sctp failover
EP2627119B1 (en) Method and device for delayed release of temporary block flow
EP1318633B1 (en) Mobile/portable terminal and PDP context management method used therefor in constantly-on state
US10666769B2 (en) Network system and method for establishing data link by using relay node
CN101124736A (en) System and method for network-assisted connection in a wireless environment
JP6983218B2 (en) Efficient forwarding of encapsulated media traffic over the datagram-based transport layer
KR20080107989A (en) Method and system for managing resource consumption by transport control protocol connections
US9001746B2 (en) Network-initiated data transfer in a mobile network
CN115118524B (en) Interface equipment and free intercommunication data transparent transmission method, system and device of Internet of things
KR20040088497A (en) Method and apparatus for avoiding duplicate negotiations during communication establishment
CN105743852B (en) Method and system for realizing Socket connection maintaining communication across network gate through http
CA2790409A1 (en) Method and apparatus for detecting active and orphan session-based connections
KR101692654B1 (en) Content delivery method
CN107529229A (en) The method of data transfer, apparatus and system
US20100299418A1 (en) Configuration and administrative control over notification processing in oma dm
GB2513426A (en) Method and apparatus for network communication
WO2010059088A1 (en) Method and arrangements in a communication network
Takasugi et al. Seamless service platform for following a user's movement in a dynamic network environment
CN100464547C (en) A method for implementing information transmission between equipments of different communication protocols
EP1593230B1 (en) Terminating a session in a network

Legal Events

Date Code Title Description
FZDE Dead