MANAGING AGGREGATION AND SENDING OF COMMUNICATIONS
First Claim
1. A computer-implemented method for managing network communications between client applications and remote Web services, the method comprising:
- under control of a client communication aggregation manager system that is executing on a mobile client computing device to manage communications to and from a plurality of client applications executing on the mobile client computing device,receiving multiple outgoing request communications over a period of time, each of the request communications being sent from one of the executing client applications to an intended recipient that is one of multiple remote Web services each provided by one of multiple remote server computing systems;
creating multiple request envelopes that are each associated with one of the multiple remote server computing systems, each request envelope able to store multiple communications intended for one or more remote Web services provided by the associated remote server computing system;
for each of the received request communications,identifying one of the created request envelopes that is associated with the remote server computing system providing the remote Web service that is the intended recipient for the request communication; and
adding the request communication to the identified request envelope in such a manner as to aggregate the added request communication with any other request communications that were previously added to the identified request envelope;
after the period of time, automatically determining at least one of the created request envelopes to currently send to the associated remote server computing system for the created request envelope, the determining being based at least in part on whether current conditions satisfy one or more predefined sending criteria, one of the determined created request envelopes storing an aggregation of multiple request communications that are from multiple of the plurality of client applications and that are intended for multiple of a plurality of Web services provided by one of the multiple remote server computing systems, at least some of the multiple request communications of the aggregation being unrelated to at least some other of the multiple request communications of the aggregation; and
sending each of the determined created request envelopes over one or more networks to the associated remote server computing system for the created request envelope; and
under control of a server communication aggregation manager system that is executing on the one remote server computing system to manage communications to and from the plurality of Web services provided by the one server computing system,receiving the one determined request envelope sent by the client communication aggregation manager system executing on the mobile client computing device;
extracting the multiple request communications from the aggregation of the received request envelope; and
forwarding each of the extracted request communications to the Web service provided by the one server computing system that is the intended recipient of the extracted request communication,so that a client computing device may aggregate multiple communications from multiple executing client applications and send the aggregated communications based on current conditions at a time of sending.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for managing communications between client applications and remote recipients, such as remote Web services or other network services. In at least some situations, the techniques include providing client communication management systems on each of multiple client computing devices to manage communications being sent from and/or to one or more client applications executing on the client computing device, and/or providing server communication management systems on each of multiple server computing systems to manage communications being sent from and/or to one or more network services provided by the server computing system. A communication management system on a computing device or system may aggregate communications being sent to one or more remote recipients from one or more local applications or services, and then send a group of multiple aggregated communications together to the remote recipient when the communication management system determines that one or more predefined criteria are satisfied.
-
Citations
35 Claims
-
1. A computer-implemented method for managing network communications between client applications and remote Web services, the method comprising:
-
under control of a client communication aggregation manager system that is executing on a mobile client computing device to manage communications to and from a plurality of client applications executing on the mobile client computing device, receiving multiple outgoing request communications over a period of time, each of the request communications being sent from one of the executing client applications to an intended recipient that is one of multiple remote Web services each provided by one of multiple remote server computing systems; creating multiple request envelopes that are each associated with one of the multiple remote server computing systems, each request envelope able to store multiple communications intended for one or more remote Web services provided by the associated remote server computing system; for each of the received request communications, identifying one of the created request envelopes that is associated with the remote server computing system providing the remote Web service that is the intended recipient for the request communication; and adding the request communication to the identified request envelope in such a manner as to aggregate the added request communication with any other request communications that were previously added to the identified request envelope; after the period of time, automatically determining at least one of the created request envelopes to currently send to the associated remote server computing system for the created request envelope, the determining being based at least in part on whether current conditions satisfy one or more predefined sending criteria, one of the determined created request envelopes storing an aggregation of multiple request communications that are from multiple of the plurality of client applications and that are intended for multiple of a plurality of Web services provided by one of the multiple remote server computing systems, at least some of the multiple request communications of the aggregation being unrelated to at least some other of the multiple request communications of the aggregation; and sending each of the determined created request envelopes over one or more networks to the associated remote server computing system for the created request envelope; and under control of a server communication aggregation manager system that is executing on the one remote server computing system to manage communications to and from the plurality of Web services provided by the one server computing system, receiving the one determined request envelope sent by the client communication aggregation manager system executing on the mobile client computing device; extracting the multiple request communications from the aggregation of the received request envelope; and forwarding each of the extracted request communications to the Web service provided by the one server computing system that is the intended recipient of the extracted request communication, so that a client computing device may aggregate multiple communications from multiple executing client applications and send the aggregated communications based on current conditions at a time of sending. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method for managing communications between client applications and remote network services, the method comprising:
under control of a client computing device, receiving a plurality of outgoing request communications that are each initiated by one or more client applications executing on the client computing device and each intended for a recipient that is a network service remote from the client computing device, the plurality of outgoing request communications including multiple request communications whose intended recipients are one or more network services provided by a remote server computing system; automatically creating a single request communication aggregation that includes the multiple request communications; sending the single created request communication aggregation to the remote server computing system for forwarding of the multiple included request communications to the one or more provided network services; after the sending of the single request communication aggregation, receiving a single reply communication aggregation from the remote server computing system that includes multiple incoming reply communications that are from the one or more provided network services and are each intended for at least one of the one or more executing client applications, the multiple reply communications including one or more reply communications that are each a response to one of the multiple request communications included in the sent single communication aggregation, the multiple reply communications further including one or more other reply communications that are responses to one or more other request communications included in one or more other communication aggregations sent by the client computing device to the remote server computing system; and forwarding each of the multiple incoming reply communications to the at least one executing client application to which the incoming reply communication is intended. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
27. A computer-readable medium whose contents enable a client computing device to manage communications between client applications and remote network services, by performing a method comprising:
under control of a client communication management system of the client computing device, receiving multiple outgoing request communications initiated by one or more client applications executing on the client computing device and intended for one or more recipient network services provided by a remote server computing system; creating a single request communication aggregation that includes the multiple request communications; and sending the single created request communication aggregation to the remote server computing system for forwarding of the multiple included request communications to the one or more provided network services. - View Dependent Claims (28, 29, 30)
-
31. A computing system configured to manage communications between client applications and remote network services, comprising:
-
a memory; and a client communication management system that is configured to automatically manage communications for a client computing device, by; receiving multiple outgoing communications initiated by one or more client applications executing on the client computing device and intended for one or more recipient network services provided by a remote server computing system; sending to the remote server computing system a single created single communication aggregation that includes the multiple received communications; receiving a single communication aggregation from the remote server computing system that includes multiple incoming communications from the one or more provided network services, such that a subset of the multiple incoming communications correspond to one or more of the multiple communications included in the sent single created communication aggregation; and forwarding each of the multiple incoming communications to at least one of the executing client applications to which the incoming communication corresponds. - View Dependent Claims (32, 33, 34)
-
-
35. A computer-readable medium whose contents enable a server computing system to manage communications between client applications and network services, by performing a method comprising:
under control of a server communication management system of the server computing system, receiving a plurality of incoming request communication aggregations that are each sent by one of multiple client computing devices, each of the incoming request communication aggregations including multiple request communications initiated by one or more client applications executing on the client computing device that sent the request communication aggregation, each included request communication intended for at least one of one or more network services provided by the server computing system, the received plurality of incoming request communication aggregations including multiple distinct request communication aggregations from one of the client computing devices; forwarding the multiple request communications of each of the plurality of incoming request communication aggregations to the one or more provided network services to which the multiple request communications are intended; receiving a plurality of outgoing reply communications that are each initiated by one of the one or more provided network services in response to at least one of the forwarded request communications of one of the plurality of incoming request communication aggregations, each outgoing reply communication intended for at least one executing client application on one of the client computing devices; creating a single reply communication aggregation that includes multiple of the received plurality of outgoing reply communications that are intended for one or more executing client applications on the one client computing device, the multiple included reply communications in the reply communication aggregation including at least one reply communication that is a response to one or more request communications included in a first of the multiple request communication aggregations from the one client computing device, and the included reply communications in the reply communication aggregation including at least one other reply communication that is a response to one or more other request communications included in a distinct second of the multiple request communication aggregations from the one client computing device; and sending the single created reply communication aggregation to the one client computing device for forwarding of the multiple included reply communications to the one or more executing client applications on the one client computing device.
Specification