Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method comprising: at a computer server having one or more processors and memory storing programs to be executed by the one or more processors: receiving a first webpage request initiated by a client device, the webpage request including a first element and a second element, the first element belonging to a first dataset including a first plurality of elements and the second element belonging to a second dataset including a second plurality of elements; in response to the first webpage request, generating a first set of combinations including the second plurality of combinations between the first element and each element of the second dataset and a second set of combinations including the first plurality of combinations between the second element and each element of the first dataset, respectively; identifying, from the first plurality of combinations and the second plurality of combinations, a duplicate of a combination of the first element and the second element; removing the duplicate combination of the first element and the second element from the first set of combinations and the second set of combinations to obtain a reduced, combined set of combinations; querying a cache for application data associated with each combination from the combined set to identify a first subset of combinations from the combined set of combinations that have been stored in the cache and a second subset of combinations that are not in the cache and identified as cache miss; retrieving, from an application database, application data associated with each combination from the second subset of combinations of the cache miss identified by the querying and storing the retrieved application data in the cache; generating a first response using application data associated with a respective combination of the first element and the second element and stored in the cache; returning the first response to the client device; after returning the first response to the client device: receiving a second webpage request initiated by the client device, the webpage request including the first element and a third element, the third element belonging to the second dataset; in response to the second webpage request, querying the cache for application data associated with a respective combination of the first element and the third element; and generating a second response using the application data associated with the combination of the first element and the third element and stored in the cache; and returning the second response to the client device.
2. The method of claim 1 , further comprising: after returning the second response to the client device: generating a third set of combinations including the first plurality of combinations between the third element and each element of the first dataset; querying the cache for application data associated with each of the third set of combinations to identify a third subset of combinations from the third set that have been stored in the cache and a fourth subset of combinations that are not in the cache and identified as cache miss; and retrieving, from the application database, application data associated with each combination from the fourth subset of combinations of the cache miss identified by the querying and storing the retrieved application data in the cache.
3. The method of claim 1 , further comprising: setting a respective timer for application data associated with each of the first and second sets of combinations of elements and stored in the cache; and deleting the application data associated with a combination of elements from the cache when the corresponding timer indicates that the application data has not been used for responding to a webpage request for at least a predefined amount of time.
4. The method of claim 3 , further comprising: resetting a timer for the application data associated with a combination of elements when the application data is used for responding to a webpage request.
5. The method of claim 1 , wherein the first element is a menu option of a first menu in the webpage and the second element is a menu option of a second menu in the webpage.
6. The method of claim 1 , wherein the application data associated with the combination of the first element and the second element is retrieved from the application database in response to the first webpage request.
7. The method of claim 1 , wherein the application data associated with the combination of the first element and the second element is retrieved from the application database in response to another webpage request that does not include one of the first element and the second element before the first webpage request.
8. The method of claim 1 , wherein the first element is itself a combination of multiple sub-elements belonging to respective sub-datasets, and the step of generating the second set of combinations between the second element and respective elements of the first dataset further comprises: generating respective sub-combinations by iteratively combining respective sub-elements of each of the sub-datasets; and generating the second set of combinations by combining the second element with each of the respective sub-combinations.
9. A computer server, comprising: one or more processors; memory including non-transitory computer readable medium; and one or more programs modules stored in the memory and configured for execution by the one or more processors, the one or more program modules further including instructions for: receiving a first webpage request initiated by a client device, the webpage request including a first element and a second element, the first element belonging to a first dataset including a first plurality of elements and the second element belonging to a second dataset including a second plurality of elements; in response to the first webpage request, generating a first set of combinations including the second plurality of combinations between the first element and each element of the second dataset and a second set of combinations including the first plurality of combinations between the second element and each element of the first dataset, respectively; identifying, from the first plurality of combinations and the second plurality of combinations, a duplicate of a combination of the first element and the second element; removing the duplicate combination of the first element and the second element from the first set of combinations and the second set of combinations to obtain a reduced, combined set of combinations; querying a cache for application data associated with each combination from the combined set to identify a first subset of combinations from the combined set of combinations that have been stored in the cache and a second subset of combinations that are not in the cache and identified as cache miss; retrieving, from an application database, application data associated with each combination from the second subset of combinations of the cache miss identified by the querying and storing the retrieved application data in the cache; generating a first response using application data associated with a respective combination of the first element and the second element and stored in the cache; returning the first response to the client device; after returning the first response to the client device: receiving a second webpage request initiated by the client device, the webpage request including the first element and a third element, the third element belonging to the second dataset; in response to the second webpage request, querying the cache for application data associated with a respective combination of the first element and the third element; and generating a second response using the application data associated with the combination of the first element and the third element and stored in the cache; and returning the second response to the client device.
10. The computer server of claim 9 , wherein the one or more program modules further include instructions for: setting a respective timer for application data associated with each of the first and second sets of combinations of elements and stored in the cache; and deleting the application data associated with a combination of elements from the cache when the corresponding timer indicates that the application data has not been used for responding to a webpage request for at least a predefined amount of time.
11. The computer server of claim 9 , wherein the first element is a menu option of a first menu in the webpage and the second element is a menu option of a second menu in the webpage.
12. The computer server of claim 9 , wherein the application data associated with the combination of the first element and the second element is retrieved from the application database in response to the first webpage request.
13. The computer server of claim 9 , wherein the application data associated with the combination of the first element and the second element is retrieved from the application database in response to another webpage request that does not include one of the first element and the second element before the first webpage request.
14. A non-transitory computer readable storage medium having stored therein one or more instructions, which, when executed by a computer server, cause the computer server to perform the following instructions: receiving a first webpage request initiated by a client device, the webpage request including a first element and a second element, the first element belonging to a first dataset including a first plurality of elements and the second element belonging to a second dataset including a second plurality of elements; in response to the first webpage request, generating a first set of combinations including the second plurality of combinations between the first element and each element of the second dataset and a second set of combinations including the first plurality of combinations between the second element and each element of the first dataset, respectively; identifying, from the first plurality of combinations and the second plurality of combinations, a duplicate of a combination of the first element and the second element; removing the duplicate combination of the first element and the second element from the first set of combinations and the second set of combinations to obtain a reduced, combined set of combinations; querying a cache for application data associated with each combination from the combined set to identify a first subset of combinations from the combined set of combinations that have been stored in the cache and a second subset of combinations that are not in the cache and identified as cache miss; retrieving, from an application database, application data associated with each combination from the second subset of combinations of the cache miss identified by the querying and storing the retrieved application data in the cache; generating a first response using application data associated with a respective combination of the first element and the second element and stored in the cache; returning the first response to the client device; after returning the first response to the client device: receiving a second webpage request initiated by the client device, the webpage request including the first element and a third element, the third element belonging to the second dataset: in response to the second webpage request, querying the cache for application data associated with a respective combination of the first element and the third element; and generating a second response using the application data associated with the combination of the first element and the third element and stored in the cache; and returning the second response to the client device.
15. The non-transitory computer readable storage medium of claim 14 , wherein the instructions include instructions for: setting a respective timer for application data associated with each of the first and second sets of combinations of elements and stored in the cache; and deleting the application data associated with a combination of elements from the cache when the corresponding timer indicates that the application data has not been used for responding to a webpage request for at least a predefined amount of time.
16. The non-transitory computer readable storage medium of claim 14 , wherein the first element is a menu option of a first menu in the webpage and the second element is a menu option of a second menu in the webpage.
17. The non-transitory computer readable storage medium of claim 14 , wherein the application data associated with the combination of the first element and the second element is retrieved from the application database in response to the first webpage request.
18. The non-transitory computer readable storage medium of claim 14 , wherein the application data associated with the combination of the first element and the second element is retrieved from the application database in response to another webpage request that does not include one of the first element and the second element before the first webpage request.
Unknown
April 23, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.