HK1193684A - System and method for optimizing network communication in response to network conditions - Google Patents
System and method for optimizing network communication in response to network conditions Download PDFInfo
- Publication number
- HK1193684A HK1193684A HK14106925.1A HK14106925A HK1193684A HK 1193684 A HK1193684 A HK 1193684A HK 14106925 A HK14106925 A HK 14106925A HK 1193684 A HK1193684 A HK 1193684A
- Authority
- HK
- Hong Kong
- Prior art keywords
- data
- mobile device
- request
- expiration
- Prior art date
Links
Description
The present application is a divisional application of an invention patent application entitled "system and method for optimizing network communications in response to network conditions" filed on 6/2005 by the applicant under application number 200510092384.5.
Technical Field
The present invention relates generally to mobile devices, computer software and communication devices, and more particularly to a system and method for optimizing network communications in response to network conditions.
Background
Generally speaking, mobile devices, such as mobile phones and handheld devices, utilize communication networks to exchange data with other mobile devices and/or computer devices. In typical implementations, the mobile device can transmit and receive data using a wireless communication network and various network protocols. In this embodiment the mobile device may maintain a continuous or semi-continuous wireless connection to allow the user to receive and send e-mail using the mobile device. As computing device processing resources and wireless network communication bandwidth continue to increase, the use of wirelessly enabled mobile devices for receiving/sending email has increased substantially.
Fig. 1 is an illustrative block diagram of a system 100 that facilitates sending email data to a mobile device over a cellular communication network. The system 100 is generally referred to as a "push" data model, in which data, such as email messages, are sent to the customer as if the data were received. With respect to fig. 1, the system 100 includes a plurality of clients 102, such as mobile phones, handheld devices, and the like, that include various manners of wireless (e.g., cellular) transmission capability. As shown in fig. 1, each mobile device 102 is in wireless communication with one of several mobile device operators 104. In general, the mobile device operator 104 is a service provider that maintains radio frequency-based communications with any number of mobile devices 102. Wireless communication between the mobile device 102 and the mobile device operator 104, such as over a cellular communication network, is well known and need not be described in detail.
With continued attention to FIG. 1, each mobile device operator 104 also communicates with a data service provider 106. A typical data service provider 106 may be a server computer configured to communicate messages with identified mobile subscribers. As explained in more detail below, the data service provider 106 monitors incoming data (e.g., email messages) and pushes the data to the corresponding mobile operator 104 for transmission to the selected mobile device 102. The network connection between the data service provider 106 and the mobile operator 104 may be through a wireless communication network and/or a wired communication network. The data service provider 106 also communicates with a number of electronic mail interface computing devices 108. The electronic mail interface computing device 108 generally corresponds to a specially configured computing device that serves as an interface between the local network mail repository 110 and the data service provider 106.
In practice, when updated information, such as a new email, is received at the network mail repository 110, the email interface computing device 108 gets a copy of the mail and forwards a notification to the data service provider 106. The data service provider 106 processes the incoming message notification and identifies the mobile device 102 that is to receive the mail. The data service provider 106 then forwards the notification and/or the mail to the corresponding mobile operator 104, which sends the information to the selected mobile device 102.
In this approach, the mobile device 102 receives notification/data, which has been received by the data service provider 106. While this approach provides for real-time, or substantially real-time, data transfer to the mobile device 102, it requires a number of specialized computing device applications and/or specialized business relationships. For example, in a typical implementation, each local network is required to maintain an electronic mail interface computing device 108 to forward incoming message notifications to the data service provider 106. In addition, the system 100 requires a centralized information collection and distribution center (e.g., data service provider 106) that typically charges a service fee to each mobile device user. Further, this approach requires the data service provider 106 to maintain appropriate communication interfaces, such as specialized software, and specialized business relationships with many mobile operators to allow the data service provider to initiate contact with selected mobile devices 102.
Fig. 2 is an illustrative block diagram of an alternative system 200 that facilitates sending email data to a mobile device over a cellular communication network. The system 200 is generally referred to as a data unstacking model in which data, such as e-mail messages, are sent to a client, such as a mobile device, in response to a request for new data by the client. Similar to system 100 (fig. 1), system 200 includes a plurality of mobile device clients 202 having a plurality of manners of wireless transmission capability (e.g., cellular communication capability). Each mobile device 202 is in wireless communication with one of several mobile device operators 204. However, in this embodiment, the wireless communication connection between the mobile device operator 204 and each mobile device 202 is not a dedicated communication connection for transmitting email messages. Rather, the communication connection is a conventional data transfer communication connection with a wide area network 206, such as the internet. For example, in one general implementation, the wireless-enabled mobile device 202 can transmit data over the internet according to the Transmission Control Protocol (TCP)/Internet Protocol (IP). The mobile device 202 utilizes the network connection 206 to connect directly with the local electronic mail interface computing device 208.
In practice, the mobile device 202 establishes a communication connection with the electronic mail interface computing device 208, typically through a secure data transfer protocol. The mobile device 202 then sends a request to receive updated information (e.g., new email) directly to the email interface computing device 208. If new data for the mobile device user is present, the electronic mail interface computing device 208 generates an appropriate response informing the mobile device 102 to pull the data from the electronic mail interface computing device 208. If there is no new data, the electronic mail interface computing device 208 generates a negative response to the requesting mobile device 202. Once the mobile device request is processed, the connection between the mobile device 202 and the electronic mail interface computing device 208 is terminated.
By allowing a direct communication channel between the mobile device 202 and the electronic mail interface computing device 208 over a network connection, the system 200 alleviates the need for specialized software/computing devices on each local network and on each mobile operator 204. However, conventional systems using a data pop model are deficient in that incoming data cannot be sent while the data is being received. While this deficiency may be reduced by increasing the frequency with which the mobile device 204 generates the above-described data change requests, typical methods of establishing a communication connection between the mobile device 204 and the electronic mail interface computing device 208 consume the energy resources of the mobile device.
Thus, there is a need for a system and method for facilitating communication between computing devices and network applications that sends incoming data notifications while receiving data to alleviate the need for specialized software/computing devices per network.
Disclosure of Invention
A system and method for facilitating communication between a mobile device and a network application is provided. The mobile device transmits a request for data change information including a time out interval. The network application receives the request and measures the time elapsed since the receipt of the data change request. The network application sends a notification to the mobile device client that a time out interval has elapsed or that a network specified time out has occurred. Upon receiving the notification or detecting a network timeout, the mobile client device adjusts the timeout interval for subsequent data change requests.
According to one aspect of the present invention, a method is provided for facilitating communication between a mobile device and a network application. According to the method, a network application obtains a request for a change in data. The request for change of data includes a first set of expiration data for returning a response. The network application monitors the time interval for which a response to the request for change of data is provided. In addition, if the time interval exceeds the expiration period, the network application sends a notification that no data change has occurred.
In accordance with another aspect of the present invention, a method is provided for facilitating communication between a mobile device and a network application. According to the method, a mobile device transmits a first data change request. The first request for change of data includes a first set of expiration data for returning a response. The mobile device then determines an event corresponding to the first request for change of data. The mobile device generates a second set of expiration data for returning a response based on at least one network condition. In addition, the mobile device sends a second data change request. The second request for change of data includes a second set of expiration data for returning a response.
According to a further aspect of the present invention, a system for facilitating data exchange is provided. The system includes one or more client devices for generating a request for a change of data. The request to generate a data change includes a first expiration time period. The system further includes at least one network application for receiving a request for a change in data and sending a notification that no change in data has occurred if a monitoring time period corresponding to the first expiration time period has expired. If the event has occurred, the one or more client devices send a subsequent request for change of data. The subsequent data change request includes a second expiration time period.
According to yet another aspect of the present invention, a method of facilitating communication between a mobile device and a network application is provided. According to the method, the mobile device sends a first request for change of data that includes a first time out interval for returning a reply. The mobile device determines that an event corresponding to the first request for change of data has occurred and associates a set of adjustment conditions with the event corresponding to the first request for change of data. The mobile device generates a second time out interval for returning an acknowledgement by applying a time constant from the set of adjustment conditions. The mobile device then sends a second request for change of data that includes a second time out interval for returning a reply.
According to a further aspect of the present invention, a computer-readable medium having computer-executable elements is provided for facilitating communication between a mobile device and a network application. The computer-executable components include a communication component for sending a data request for a data change to a network application and for receiving an event corresponding to a previous data change request. The request for change of data includes a time out interval for providing a response. The computer-executable components also include a processing component for generating a time out interval for returning a response based on an event corresponding to a previous request for a change of data. The processing element generates the time out interval for the return response by applying a set of adjustment conditions to events corresponding to data change requests previously received by the communication element.
Drawings
The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
FIG. 1 is a block diagram of a system that facilitates sending email data to a mobile device over a cellular communication network in accordance with a data stacking model;
FIG. 2 is a block diagram of a system that facilitates sending email data to a mobile device over a cellular communication network in accordance with a data pull model;
FIG. 3A is a block diagram of the system of FIG. 2 illustrating the generation of a data change request including a time out interval by a mobile device in accordance with an aspect of the present invention;
FIG. 3B is a block diagram of the system of FIG. 2 illustrating the sending of a notification of a data change by a network application in accordance with an aspect of the present invention;
fig. 3C is a block diagram of the system of fig. 2 illustrating the transmission of a time out interval expiration notification by a network application in accordance with an aspect of the present invention.
Fig. 3D is a block diagram of the system of fig. 2 illustrating the handling of a timeout interval expiration by a mobile device in accordance with an aspect of the present invention.
Fig. 4 is a flowchart illustration of a data change request transmission and monitoring procedure performed by a mobile device client in accordance with an aspect of the present invention.
Fig. 5 is a flowchart illustration of a time out interval adjustment subroutine performed by a mobile device client in accordance with an aspect of the present invention.
FIG. 6 is a flowchart illustration of a client data change request handler executed by a network application in accordance with an aspect of the present invention; and
fig. 7 is a block diagram of a system that facilitates sending email to a mobile device over a cellular communication network and a separate notification channel in accordance with an aspect of the subject invention.
Detailed Description
Generally described, the present invention relates to systems and methods for optimizing communications between a client device and a network application. More particularly, the present invention is directed to a system and method for optimizing communications between a mobile device and a network application over a wireless network. The invention will be described with respect to an architecture incorporating a data unstacking model in which a mobile device requests data change information from a network application in the form of an email message. Further, the invention will be described with respect to utilizing a time out interval to maintain a communication connection between a mobile device and a network application. While the invention will be described with respect to mobile devices, wireless communication networks, and/or e-mail transmissions, those skilled in the art will appreciate that the disclosed embodiments are illustrative in nature and should not be construed as limiting.
In an illustrative embodiment of the present invention, a system that performs a pull-off model, such as system 200 (FIG. 2), may be utilized to facilitate the transfer of information between a client, such as mobile device 202, and a network application, such as electronic mail interface computing device 208. The mobile device 202 and the electronic mail interface computing device 208 transmit information over a typical network data connection 206, such as the internet. The connection from the network 206 to the mobile device 202 may be facilitated by the mobile device operator 204 (e.g., a data connection via a wireless communication connection) or by a direct wireless connection to the network (e.g., a bluetooth protocol wireless connection).
In accordance with the present invention, the mobile device issues a data change request to the electronic mail interface computing device 208. The data change request can include a registration request for new data (e.g., a new mail message) that has arrived at the electronic mail interface computing device 208 and a time out interval. The time out interval specifies a time during which the electronic mail interface computing device 208 is required to provide a positive or negative response to a registration request for new data. Unlike conventional data change requests, the electronic mail interface computing device 208 does not provide an immediate response to a data change request if no new data is available. Rather, the electronic mail interface computing device 208 maintains a communication connection with the mobile device 202 until it detects a change in information (e.g., arrival of a new e-mail) or expiration of a time out interval. At the time of each event, the electronic mail interface computing device 208 sends an appropriate response to the mobile device 202. In turn, the mobile device 202 can update the time out interval based on various network conditions and send a subsequent request for change of data with the updated time out interval. By maintaining communication even when no data is received, the electronic mail interface computing device 208 prevents termination of the communication connection with the mobile device 202.
Referring now to fig. 3A-3D, various embodiments for handling client requests with time out intervals in accordance with the present invention will be described. Referring to fig. 3A, the process begins by the client generating a registration request and time out interval on the mobile device. In an illustrative embodiment of the present invention, the registration request may include a registration of the type of information the client wishes to receive and various setting information, such as notification preferences, client authentication information, and the like. As will be described in more detail below, the time out interval may be in the form of a fixed time period, or as a set of conditions that allow the time out interval to be calculated. The time out interval may be a default period set by the mobile device client application, the mobile device operator 204, and the electronic mail interface computing device 208. For example, if no data passes between the mobile device 202 and the electronic mail interface computing device 208 during a mobile device operator-specified time out interval, the mobile device operators 204 may maintain their own time out interval, which may result in a reduced communication connection. Thus, the default time out interval is preferably a value that is less than the time out interval specified by the particular mobile device operator 204 used by the mobile device 202. The registration request and time out interval are sent over the network 206 and received by the electronic mail interface computing device 208 or by a specialized application on the electronic mail interface computing device 208.
Upon making the registration request, the electronic mail interface computing device 208 registers the mobile device client for all requested information received, as authorized. As described above, the electronic mail interface computing device 208 does not automatically send a negative response to the mobile device 202 if no data is currently available for the registered customer. However, because the data change request remains pending, the communication connection is not immediately terminated.
Referring now to FIG. 3B, in one embodiment, the electronic mail interface computing device 208 receives a notification that a data change has occurred that needs to be communicated to the mobile device 202. In an illustrative embodiment of the present invention, the notification may include a notification from an email repository, such as an email server/client, that a user corresponding to the mobile device 202 has received a new email. The electronic mail interface computing device 208 sends a notification to the mobile device 202 over the network 206 that new data is already available. In an illustrative embodiment of the present invention, the notification may include descriptive information or other conditions that may be used by the user and/or the mobile device to determine whether to retrieve the data. If data is to be retrieved, the mobile device 202 sends a data retrieval request to the electronic mail interface computing device 208 in accordance with a conventional and well-known data protocol, such as the Hypertext transfer protocol ("HTTP"), which will not be explained in further detail. Once the data has been retrieved, the process illustrated in fig. 3A may be repeated by transmitting a new data registration request and time out interval by the mobile device 202.
Referring now to FIG. 3C, in another embodiment, the electronic mail interface computing device 208 continues to monitor the period of time elapsed since the last communication of each registered mobile device client. If the electronic mail interface computing device 208 detects that the time out interval has expired for a registered client, it sends a notification to the mobile device 202 that the time out interval has expired and that no new data notification has been received. By sending the time out interval expiration notification, the electronic mail interface computing device 208 prevents the communication connection with the mobile device 202 from being terminated, or dropped, by the mobile device operator 204.
As will be described in greater detail below, upon receiving the time out interval expiration notification, the mobile device 202 may update the previous time out interval. In an illustrative embodiment of the present invention, the mobile device 202 updates the time out interval by measuring or observing one of a variety of network conditions. The mobile device 202 then determines whether the time out interval should be adjusted based on measured, or observed, network conditions. Upon adjusting, or adjusting, the time out interval, the mobile device 202 sends a new registration request with an updated time out interval over the network 206. The electronic mail interface computing device 208 obtains the new request and repeats the registration process and the timeout clock measurement with the updated timeout interval.
Referring now to fig. 3D, in a further embodiment, the mobile device 202 also monitors an expiration time since transmission of a previous registration request. If the mobile device 202 detects the expiration of the time out interval and it has not received a new data notification from the electronic mail interface computing device 208, it assumes that the communication connection has been terminated or dropped. Thus, the mobile device 202 updates the time out interval and sends a registration request with the updated time out interval over the network 206. The electronic mail interface computing device 208 obtains the new request, repeats the registration process and makes a timeout clock measurement with the updated timeout interval. As described above, the mobile device 202 also monitors the updated time out interval associated with the new request.
Referring to FIG. 4, a routine 400 executed by the mobile device 202 to send and monitor data change requests to the electronic mail interface computing device 208 in accordance with the present invention will be described. In block 402, the mobile device sends a registration request and a time out interval to the electronic mail interface computing device 208. In an illustrative embodiment of the present invention, the registration request may correspond to a selection of one or more data types, particular data files, or applications from which the mobile device may wish to receive updated information. For example, the registration may indicate that the user wishes to receive notifications when new emails are received or when a particular file has been updated. The registration request may also correspond to a condition, such as a rule or keyword, for selecting which data to send to the mobile device. The registration request may also include credentials, or other authorization information, that may be needed to receive updated information.
According to an illustrative embodiment of the present invention, the time out interval information may include a fixed expiration period or a specification of the length of time added to the current date. Alternatively, the time out interval information may be specified in accordance with selected conditions that facilitate the generation of a time out period, or expiration period. In block 404, the mobile device 202 starts a timeout clock that measures the time expired since the mobile device 202 transmitted the registration request, or since the electronic mail interface computing device 208 received the registration request. The time of expiration may be measured in any of a variety of ways.
In decision block 406, a test is conducted to determine whether the mobile device 202 has received a data change notification from the electronic mail interface computing device 208. If the mobile device 202 has received the data notification, the mobile device sends a data request to the electronic mail interface computing device 208 in block 408. In an illustrative embodiment of the present invention, the data request corresponds to a request for actual data, such as an HTTP data request, from the electronic mail interface computing device 208. In block 410, the mobile device 202 obtains the requested data from the electronic mail interface computing device 208. The routine 400 then proceeds to block 416 to adjust the previously provided time out interval, as will be described in greater detail below.
Returning to decision block 406, if the mobile device 202 has not received a notification of a change in data from the electronic mail interface computing device 208, at decision block 412, a test is made to determine whether the mobile device has received a notification of expiration of a time out interval from the electronic mail interface computing device 208. If a time out interval expiration notification has been received, the process 400 proceeds to block 416, which will be described in more detail below.
Returning to decision block 412, if the mobile device has not received a time out interval expiration notification from the electronic mail interface computing device 208, at decision block 414, a test is made to determine if the time out interval has expired. As described above, at block 404, the mobile device measures an expiration time since the transmission of the registration request. If the time out interval has not expired, the process 400 returns to decision block 406. Alternatively, if the mobile device 202 detects that the time out interval has expired, it may assume that the electronic mail interface computing device 208 failed to send a time out interval expiration notification and/or that the communication connection with the electronic mail interface computing device 208 has expired.
In an illustrative embodiment of the present invention, the mobile device may also wait an additional period of time to account for possible delays/lags in the transmission of the electronic mail interface computing device 208. Accordingly, the routine 400 then proceeds to block 416 to adjust the previously provided time out interval. Block 416 is explained in more detail with reference to subroutine 500 (fig. 5). Once the time out interval has been adjusted, the process 400 returns to block 402 where the mobile device sends a new registration request with the adjusted time out interval.
Referring alternatively to fig. 5, an illustrative subroutine 500 executed by the mobile device 202 for adjusting the time out interval, corresponding to block 416 (fig. 4), will be described. In an illustrative embodiment of the present invention, the adjustment of the time out interval corresponds to a comparison of a total number of windows of network communication events (e.g., consecutive adjustment events) and a plurality of network confidence thresholds based on the same window value of possible network communication events.
At block 502, the mobile device obtains a current time out interval and one or more threshold network confidence values. In an illustrative embodiment of the present invention, the current time out interval may correspond to a time out interval previously used by the mobile device. Thus, the time out interval may correspond to a default time out interval set by the mobile device 202, the mobile device operator 204, or any other element. In an illustrative embodiment of the invention, the threshold network confidence value corresponds to a maximum threshold value to be used to increase the current time out interval. The threshold value corresponds to the minimum threshold value to be used to reduce the current time out interval. The maximum and minimum thresholds represent a function of the maximum and minimum possible network confidence values for a given window of conditioning events.
In block 504, the mobile device 202 calculates a current network confidence value for the defined adjustment event window. In an illustrative embodiment of the invention, the mobile device 202 may consider any number of events corresponding to network communications. The event may correspond to an internal event specific to the mobile device 202. For example, network events may include, but are not limited to, device battery life, internal measured signal strength, processing resource utilization, user-specified conditions, and the like. The event may also correspond to an external event specific to the interaction of the mobile device 202 and the network 206 and/or the network itself. For example, the event may include a dropped communication connection, a transport error, a transmission speed measurement, a successful receipt of information, an external measurement of signal strength, an external element performance metric, and the like.
In an illustrative embodiment of the invention, each network event may be associated with a numerical value, such as a weight, that reflects the potential impact on the communication connection. In one embodiment, the value for each event may correspond to the binary value "1" for a positive event and the value "-1" for a negative event. In another embodiment, the value of each event may correspond to a range of values from "-1" to "1". In such embodiments, each network event may be summed with a weighting that reflects the severity of the network event relative to other possible events. In yet a further embodiment, the range of values may be all positive values with a higher value reflecting more positive communication connection events.
To calculate the network confidence value, the weighted sum of each event in the window of previous adjustment events is calculated. In an illustrative embodiment of the present invention, the weighting of each event is reduced by the time elapsed since the event occurred. Equation (1) defines the sum as follows:
where n corresponds to a network confidence value;
eja weight corresponding to each network event; and
txcorresponding to a time measurement when a network event occurs.
With continued reference to fig. 5, at decision block 506, a test is conducted to determine whether the calculated network confidence value exceeds a maximum threshold. In one embodiment, where a positive, or greater value, weight indicates a positive event, the time out interval is incremented at block 508 if the calculated network confidence value exceeds the threshold. The routine 500 returns to block 510.
In an illustrative embodiment of the present invention, the time out interval may be increased by a previously defined number of discontinuities. Alternatively, the time out interval may be increased by an amount proportional to the calculated network confidence value. Further, the time out interval may be increased by a schedule that may take into account factors such as repeated positive network events, calculated network confidence values, and the like. For example, the mobile device 202 may only increase the time out interval if a certain number of immediate previous positive events (e.g., a list of 5 positive events) have been tracked. In another example, the mobile device 202 will increase the time out interval by an amount that can be continuously increased according to the number of consecutive positive events. In yet a further example, the mobile device 202 can increase the time out interval to a maximum number when tracking one or more positive events. In an illustrative embodiment of the present invention, the mobile device 202 may limit the time out interval from increasing to a maximum threshold, such as the mobile device operator 204 network time out interval.
If the calculated network confidence value does not exceed the threshold, at decision block 512, a test is made to determine if the calculated network confidence value is below a minimum threshold. In one embodiment, where a negative value, or lower value, weight indicates a negative event, if the calculated network confidence value is below the threshold, the time out interval is decreased in block 514. The subroutine 500 returns to block 516. If, however, at decision block 512, the calculated network confidence value is not below the minimum threshold, the time out interval is not adjusted and the routine 500 returns to block 518.
Similar to block 508, the time out interval may be reduced by a previously defined number of discontinuities. Alternatively, the time out interval may be reduced by an amount proportional to the calculated network confidence value. Further, the time out interval may be reduced by a schedule that may take into account factors such as repeated negative network events, calculated network confidence values, and the like. For example, the mobile device 202 may simply decrease the time out interval if a certain number of immediate previous negative events (e.g., a list of 3 negative events) have been tracked. In another example, the mobile device 202 will decrease the time out interval by an amount that can be continuously increased according to the number of consecutive negative events. In yet a further example, the mobile device 202 can set the time out interval to a minimum number when tracking one or more negative events.
Referring now to FIG. 6, a routine 600 executed by a network application, such as the electronic mail interface computing device 208, for processing a mobile device registration request will be described. At block 602, the electronic mail interface computing device 208 obtains a mobile device registration request that includes a time out interval. At block 604, the electronic mail interface computing device 208 registers the mobile device 202 for the requested data. In an illustrative embodiment of the present invention, this registration may correspond to communicating with any suitable local network element, such as an email server, to allow the email interface computing device 208 to receive notification of new data. Further, the registration may correspond to the calculation of a time out interval if the registration request includes conditions for calculating an appropriate time out interval. In the event that the registration request corresponds to multiple data change requests, the electronic mail interface computing device 208 can maintain a table for tracking conditions under which the mobile client 202 information is forwarded.
At block 606, the electronic mail interface computing device 208 begins a time out interval clock that measures the time elapsed since the receipt/processing of the registration request. In an illustrative embodiment of the present invention, the time out interval clock may correspond to an internal computing device that measures the time elapsed since the receipt of the registration request. Additionally, the timeout clock may correspond to a record of the time of day of the received registration request for comparison with a standard time of day measured by the electronic mail interface computing device 208. Those skilled in the art will appreciate that any number of additional methods may be utilized to calculate, or otherwise track, the time elapsed since the receipt/processing of the registration request.
At decision block 608, a test is conducted to determine whether the electronic mail interface computing device 208 has received a data change notification. In an illustrative embodiment of the present invention, the data change notification may correspond to the receipt of a new email notification from an email server. Additionally, the data change notification may correspond to a notification that a particular data file has been modified, accessed, etc. If a data change notification has been received, at block 610, the electronic mail interface computing device 208 sends a data change notification to the mobile device 202. In an illustrative embodiment of the present invention, the data change notification may comprise a generic message that directs the mobile device 202 to send a data request to the electronic mail interface computing device 208. In addition, the data change notification can include various metadata or descriptive information that allows the mobile device 202 to select whether the device is to send a subsequent data request. For example, the notification may include email message header information that allows the user to preview at least a portion of the message to determine whether he or she would like to retrieve the complete message. In another example, the notification can include a particular condition that allows the mobile device 202 to automatically determine whether to request the changed data. At block 612, the process 600 terminates until the next registration request is received by the electronic mail interface computing device 208.
If, at decision block 608, no notification has been received that the data has changed, at decision block 614, a check is made to determine whether the time elapsed since receipt/processing of the registration request has exceeded a time out interval. If the time out interval has not been exceeded (e.g., expired), the routine 600 returns to decision block 608. If the time out interval has expired, at block 616, the electronic mail interface computing device 208 sends an expired time out interval notification to the mobile device 202. In an illustrative embodiment of the present invention, the expired time out interval notification corresponds to a message that maintains the communication connection and will result in an updated registration request by the mobile device 202. Further, the expired time out interval notification may include additional information, such as network event information or network characteristic information (e.g., available bandwidth, network quality rate, etc.), which may be used to adjust the subsequent time out interval. At block 618, the routine 600 terminates.
Referring now to fig. 7, in an alternative embodiment of the present invention, the present invention may utilize one or more additional communication channels to send a data change notification or a time out interval expiration notification. According to this embodiment, during the data change registration request, the mobile device 202 may include notification preferences for data change notification and/or time out interval expiration notification. In one example, the electronic mail interface computing device 208 can send data to the mobile device operator 204, which can include a specification of which communication channel to utilize to communicate with the mobile device 202. As illustrated in fig. 7, the mobile device operator 204 may send information using a wireless data channel (e.g., an i.p. communication channel) or a short message service ("SMS") data channel.
In an illustrative embodiment of the present invention, the electronic mail interface computing device 208 may utilize various conditions to select which communication channel to utilize. For example, the user may specify preferences based on the time of day or the size of data to be transmitted. In addition, the user may specify cost savings preferences based on usage, data transfer bandwidth, and/or mobile operator instructions. Further, the user may specify preferences based on network conditions, such as available bandwidth or communication channel latency.
While illustrative embodiments of the invention have been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention.
Claims (10)
1. A system, comprising:
a device communicatively connected to an email server, the device configured to send a request for changed data, the request including expiration data defining a time interval for returning a response from the email server to the device;
wherein if the email data has changed prior to expiration of the time interval, the device receives a response from the email server prior to expiration of the time interval period, the response including the changed email data; and
wherein if the time interval expires and the email data has not changed, the device receives a notification from the email server after the time interval expires, the notification indicating that the email data has not changed.
2. The system of claim 1, wherein the device comprises a mobile device.
3. The system of claim 1, wherein the system further comprises the email server.
4. The system of claim 1, wherein the device is further configured to send a second request for changed data after receiving a notification indicating that the email data has not changed, the second request including second expiration data defining a second time interval different from the time interval.
5. The system of claim 4, wherein the second expiration data corresponds to an adjustment to the expiration data based on a set of events related to communications between the device and the email server.
6. The system of claim 5, wherein the adjustment to the expiration data is based at least in part on network conditions.
7. A method for facilitating communications between a mobile device and a web application using an electronic mail interface computing device, the method comprising:
sending a request for a change to data from a mobile device to an electronic mail interface computing device, the request for a change to data including a set of expiration data defining a time interval for a response to be returned from the electronic mail interface computing device to the mobile device;
receiving a response at the mobile device from the electronic mail interface computing device before expiration of the time interval period if the electronic mail data has changed prior to expiration of the time interval, the response including the changed electronic mail data; and
if the time interval expires and the email data has not changed, receiving a notification from the email interface computing device at the mobile device after the time interval expires, the notification indicating that the email data has not changed.
8. The method of claim 7, further comprising:
monitoring, at the mobile device, a time elapsed between a first time of the request for change in data and a second event of receiving the response or the notification; and
sending a second request for a change in data, the second request including a second set of expiration data for returning a response, the second set of expiration data defining a second time interval different from the time interval.
9. The method of claim 8, further comprising generating the second set of expiration data based at least in part on the elapsed time.
10. The method of claim 7, wherein the changed email data includes an email message header that allows at least a portion of the email message to be previewed before the entire email message is received at the mobile device.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US60/577,615 | 2004-06-07 | ||
| US11/096,555 | 2005-04-01 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1193684A true HK1193684A (en) | 2014-09-26 |
| HK1193684B HK1193684B (en) | 2018-03-09 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4806216B2 (en) | System and method for optimizing network communications in response to network conditions | |
| US20070025304A1 (en) | System and method for prioritizing transmission legs for precaching data | |
| EP1423934B1 (en) | Method and system for bit rate adaptation | |
| EP2891276B1 (en) | Method and system for dynamic selection of reliability by data publishing protocol while publishing data | |
| EP2627117A2 (en) | Method and apparatus for controlling traffic transfer rate based on cell capacity in mobile communication system | |
| JP2000115196A (en) | Method and apparatus for dynamically configuring timing parameters for a wireless data device | |
| CN101208969B (en) | System and method for optimizing network communication in response to network conditions | |
| EP1087543A1 (en) | Method of improving user access performance by adjusting power of user probe signal | |
| CN110072254A (en) | A kind of transmission method and its relevant device of data | |
| HK1193684A (en) | System and method for optimizing network communication in response to network conditions | |
| HK1193684B (en) | System and method for optimizing network communication in response to network conditions | |
| KR100450747B1 (en) | Method for multicast Quality of Service(QoS) management and apparatus | |
| US8249000B2 (en) | Controlling the delivery of messages to a mobile client | |
| JP2004215015A (en) | Packet communication device, packet communication device transmission control method, program, information storage medium, and packet communication system | |
| HK1115954A (en) | Method and device for performance optimisation of a data distribution network |