PUSH MECHANISM FOR EFFICIENTLY SENDING AGGREGATED DATA ITEMS TO CLIENT
First Claim
1. A computer-implemented data communication system, comprising:
- a data component for receiving and aggregating data items from multiple data sources for transmission to a client to which the data items are directed; and
a push component for establishing a communications pipe based on a request/response protocol and pushing the aggregated data items to the client via the communications pipe.
2 Assignments
0 Petitions
Accused Products
Abstract
A server push model for client/server communications. The push architecture operates on top of a non-push (e.g., request/response) protocol (e.g., HTTP) to combine notifications from multiple data sources (e.g., email, text messaging, etc.). The server can be a middle-tier server (or proxy) to which a single web client registers interest in one or more notification types from one or more data sources. The mid-tier server aggregates the notifications from the various data sources and delivers the notifications to the requesting client via a single “push” pipe. The web client then distributes each notification to the appropriate parts of the client user interface. A producer/consumer locking mechanism eliminates blocking threads waiting on a mutual exclusion lock. A notification throttling mechanism distinguishes different types of notifications in order to guarantee that the client is not overloaded with too much information.
-
Citations
20 Claims
-
1. A computer-implemented data communication system, comprising:
-
a data component for receiving and aggregating data items from multiple data sources for transmission to a client to which the data items are directed; and a push component for establishing a communications pipe based on a request/response protocol and pushing the aggregated data items to the client via the communications pipe. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented data communication system, comprising:
-
a data component for receiving and aggregating data items from multiple data sources for transmission to a web client to which the data items are directed; a push component for establishing a communications pipe based on a request/response protocol and pushing the aggregated data items to the client via the communications pipe; and a throttling component for managing push of the aggregated data items via the communications pipe based on item classification by the data sources. - View Dependent Claims (11, 12)
-
-
13. A computer-implemented method of communicating data to a client, comprising:
-
receiving notifications from one or more data sources, the notifications directed to a client; receiving a request for the notifications from the client; processing the notifications into chunks based on a request/response protocol; and pushing the chunks of a holding thread to the client as multiple responses to the request. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification