Data collection and distribution management
First Claim
1. A computer implemented method, comprising:
- executing computer instructions on a data collector computer system to perform the steps of;
receiving, from a client device, an electronic request for data from a data provider, wherein the request includes one or more characteristics of the client device;
identifying, as a function of the one or more characteristics of the client device, a data set to be returned to the client in fulfillment of the request;
assigning a value to each of the one or more characteristics of the client device, and limiting a size of the data set in relation to a simple average of the values;
determining whether a cache of the data collector contains data sufficient to create the data set;
collecting, in response to determining that the cache does not contain data sufficient to create the data set, data from the data provider that is sufficient to create the data set;
providing the data set from the data provider to the client device;
creating, in response to receiving the electronic request from the client device, a time stamp;
determining that an amount of time since the time stamp was created has exceeded a threshold;
clearing, in response to the threshold being exceeded, the data set from the cache of the data collector; and
stopping, in response to the data set being cleared from the cache of the data collector, querying data from the data provider for updating the data set.
1 Assignment
0 Petitions
Accused Products
Abstract
According to embodiments of the invention, a method, a computer readable storage medium, and a computer system for data collection and distribution are provided. The method may include receiving an electronic request for data from a data provider, wherein the request includes one or more characteristics of the client device. The method may also include identifying, as a function of the characteristics of the client device, a data set to be returned to the client in fulfillment of the request. The method may also include determining whether a cache of the data collector contains data sufficient to create the data set. The method may also include collecting, in response to determining that the cache does not contain data sufficient to create the data set, data from the data provider that is sufficient to create the data set. The method may also include providing the data set to the client device.
-
Citations
7 Claims
-
1. A computer implemented method, comprising:
executing computer instructions on a data collector computer system to perform the steps of; receiving, from a client device, an electronic request for data from a data provider, wherein the request includes one or more characteristics of the client device; identifying, as a function of the one or more characteristics of the client device, a data set to be returned to the client in fulfillment of the request; assigning a value to each of the one or more characteristics of the client device, and limiting a size of the data set in relation to a simple average of the values; determining whether a cache of the data collector contains data sufficient to create the data set; collecting, in response to determining that the cache does not contain data sufficient to create the data set, data from the data provider that is sufficient to create the data set; providing the data set from the data provider to the client device; creating, in response to receiving the electronic request from the client device, a time stamp; determining that an amount of time since the time stamp was created has exceeded a threshold; clearing, in response to the threshold being exceeded, the data set from the cache of the data collector; and stopping, in response to the data set being cleared from the cache of the data collector, querying data from the data provider for updating the data set.
-
2. A non-transitory computer readable storage medium having instructions stored thereon which, when executed, cause a processor to perform the following operations:
-
creating a time stamp in response to receiving a first electronic request; receiving, from a client device, a second electronic request for data from a data provider, wherein the second request includes one or more characteristics of the client device; identifying, as a function of the one or more characteristics of the client device, a data set to be returned to the client device in fulfillment of the second request; creating, in response to receiving the second electronic request, a second timestamp; determining, in response to receiving the second electronic request from the client device, that an amount of time since the time stamp was created has not exceeded a threshold; checking, in response to determining the amount of time since the time stamp was created has not exceeded the threshold, a cache of a data collector; determining, based on the checking the cache of the data collector, that the cache of the data collector contains data sufficient to create the data set; collecting, in response to determining that the cache does contain data sufficient to create the data set, data from the cache of the data collector that is sufficient to create the data set; providing the data set to the client device; replacing the timestamp with the second timestamp; receiving, from a second client device and after replacing the timestamp with the second timestamp, a third electronic request for data from the data provider, wherein the third request includes one or more characteristics of the second client device; identifying, as a function of the one or more characteristics of the second client device, that the data set is to be returned to the second client device in fulfillment of the third request; creating, in response to receiving the third electronic request, a third timestamp; determining, in response to receiving the third electronic request from the second client device, that an amount of time since the second timestamp was created has not exceeded the threshold; rechecking, in response to determining the amount of time since the second time stamp was created has not exceeded the threshold, the cache of the data collector; re-determining, based on the rechecking the cache of the data collector, that the cache of the data collector contains data sufficient to create the data set; re-collecting, in response to re-determining that the cache does contain data sufficient to create the data set, the data from the cache of the data collector that is sufficient to create the data set; providing the data set to the second client device; and replacing the second timestamp with the third timestamp. - View Dependent Claims (3, 4, 5, 6)
-
-
7. A computer system including a processor and a memory encoded with instructions, wherein the instructions when executed on the processor perform the following operations:
-
determining, using a logon/logoff mechanism, that a first client device is logged on; receiving, by a data collector, while the first client device is logged on, and from the first client device, a first electronic request for data from a data provider, wherein the first electronic request includes one or more characteristics of the first client device; classifying, in response to receiving the first electronic request, the first client device into a first client type based on the one or more characteristics of the first client device; incrementing, in response to the first client device being logged on and in response to classifying the first client device into a first client type, a first counter; identifying, as a function of the first client type and in response to receiving the first electronic request, that a first data set is to be returned to the first client device in fulfillment of the first electronic request; determining, in response to identifying that the first data set is to be returned to the first client device in fulfillment of the first electronic request, that the cache of the data collector contains data sufficient to create the first data set; providing, in response to determining that the cache of the data collector contains data sufficient to create the first data set and in response to receiving the first electronic request, the first data set to the first client device from the cache; determining, using the logon/logoff mechanism and after providing the first data set to the first client device, that the first client device is logged off; decrementing, in response to determining the first client device is logged off, the first counter, wherein decrementing, in response to determining the first client device is logged off, the first counter does not result in the first counter being zero; determining, based on the first counter not being zero, that the first client type has an active logon; determining, using the logon/logoff mechanism, that a second client device is logged on; receiving, by the data collector, while the second client device is logged on, and from the second client device, a second electronic request for data from the data provider, wherein the second electronic request includes one or more characteristics of the second client device; classifying, in response to receiving the second electronic request, the second client device into a second client type based on the one or more characteristics of the second client device; incrementing, in response to the second client device being logged on and in response to classifying the second client device into a second client type, a second counter; identifying, as a function of the second client type and in response to receiving the second electronic request, that a second data set is to be returned to the second client device in fulfillment of the second electronic request; determining, in response to identifying that the second data set is to be returned to the second client device in fulfillment of the second electronic request, that the cache of the data collector does not contain data sufficient to create the second data set; collecting, in response to determining that the cache of the data collector does not contain data sufficient to create the second data set, data from the data provider that is sufficient to create the second data set; providing, based on the collected data and in response to receiving the second electronic request, the second data set to the second client device; determining, using the logon/logoff mechanism and after providing the second data set to the second client device, that the second client device is logged off; decrementing, in response to determining the second client device is logged off, the second counter, wherein decrementing, in response to determining the second client device is logged off, the second counter results in the second counter being zero; determining, based on the second counter being zero, that the second client type does not have an active logon; removing, based on the second client type not having an active logon, the second data set from the cache of the data collector; determining, using the logon/logoff mechanism, that a third client device is logged on; receiving, by the data collector, while the third client device is logged on, after the first client device is logged off, and from the third client device, a third electronic request for data from the data provider, wherein the third electronic request includes one or more characteristics of the third client device; classifying the third client device into the first client type based on the one or more characteristics of the third client device; incrementing, in response to the third client device being logged on and in response to classifying the third client device into the first client type, the first counter; identifying, as a function of the first client type and in response to receiving the third electronic request, that the first data set is to be returned to the third client device in fulfillment of the third electronic request; determining, in response to identifying that the first data set is to be returned to the third client device in fulfillment of the third electronic request, that the cache of the data collector contains data sufficient to create the first data set; providing, in response to determining that the cache of the data collector contains data sufficient to create the first data set and in response to receiving the third electronic request, the first data set to the third client device from the cache; determining, using the logon/logoff mechanism and after providing the first data set to the third client device, that the third client device is logged off; decrementing, in response to determining the third client device is logged off, the first counter, wherein decrementing, in response to determining the third client device is logged off, the first counter results in the first counter being zero; determining, based on the first counter being zero, that the first client type does not have an active logon; and removing, based on the first client type not having an active logon, the first data set from the cache of the data collector.
-
Specification