Method and system for multi-tiered search over a high latency network
First Claim
Patent Images
1. A computer implemented method comprising:
- executing, by a computing device, a search against a client cache included in the computing device;
rendering, by the computing device, results from the search against the client cache on a client user interface (UI) included in the computing device;
providing, by the computing device, a request to an application server that is remote from the computing device and the application server;
(i) executes the search against data sources remotely coupled to the computing device over a network connection (ii) stores, in a server cache, results from the search against the data sources remotely coupled to the computing device and (iii) returns the results from the search against the data sources remotely coupled to the computing device;
receiving, by the computing device, the returned results from the search against the data sources remotely coupled to the computing device;
updating, by the computing device, the client cache and the client UI with the returned results from the search against the data sources remotely coupled to the computing device;
receiving, by the computing device, (i) a request by a user for a refresh of the server cache and/or (ii) a request by a user for a refresh of the server cache on a periodic basis, wherein the refresh of the server cache comprises re-executing a search against the data sources remotely coupled to the computing device over the network connection and refreshing the server cache based on the re-executed search against the data sources remotely coupled to the computing device over the network connection;
after receiving, by the application server, the request by a user for a refresh of the server cache on a periodic basis, refreshing, by the application server, the server cache with information from the data sources at an interval specified by the user by re-executing a search against the data sources remotely coupled to the computing device over the network connection and refreshing the server cache based on the re-executed search against the data sources remotely coupled to the computing device over the network connection; and
providing, to the application server, (i) the request by a user for a refresh of the server cache and/or (ii) the request by a user for a refresh of the server cache on a periodic basis.
3 Assignments
0 Petitions
Accused Products
Abstract
A computer implemented method and system include executing a search against both a client cache associated with a client and data sources remotely coupled to the client over a network connection. Results from the search against the client cache are rendered on a client UI. The client cache and the client UI are updated with the results from the search against the data sources.
-
Citations
24 Claims
-
1. A computer implemented method comprising:
-
executing, by a computing device, a search against a client cache included in the computing device; rendering, by the computing device, results from the search against the client cache on a client user interface (UI) included in the computing device; providing, by the computing device, a request to an application server that is remote from the computing device and the application server;
(i) executes the search against data sources remotely coupled to the computing device over a network connection (ii) stores, in a server cache, results from the search against the data sources remotely coupled to the computing device and (iii) returns the results from the search against the data sources remotely coupled to the computing device;receiving, by the computing device, the returned results from the search against the data sources remotely coupled to the computing device; updating, by the computing device, the client cache and the client UI with the returned results from the search against the data sources remotely coupled to the computing device; receiving, by the computing device, (i) a request by a user for a refresh of the server cache and/or (ii) a request by a user for a refresh of the server cache on a periodic basis, wherein the refresh of the server cache comprises re-executing a search against the data sources remotely coupled to the computing device over the network connection and refreshing the server cache based on the re-executed search against the data sources remotely coupled to the computing device over the network connection; after receiving, by the application server, the request by a user for a refresh of the server cache on a periodic basis, refreshing, by the application server, the server cache with information from the data sources at an interval specified by the user by re-executing a search against the data sources remotely coupled to the computing device over the network connection and refreshing the server cache based on the re-executed search against the data sources remotely coupled to the computing device over the network connection; and providing, to the application server, (i) the request by a user for a refresh of the server cache and/or (ii) the request by a user for a refresh of the server cache on a periodic basis. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory machine-accessible medium that provides instructions that, if executed by a machine, will cause the machine to perform a method comprising:
-
executing a search against a cache included in a computing device; providing a request, to an application server that is remote from the computing device and the application server;
(i) executes the search against a data source remotely coupled to the computing device over a network connection, (ii) stores, in a server cache, results from the search against the data source remotely coupled to the computing device and (iii) returns the results from the search against the data source remotely coupled to the computing device;rendering results from the search against the cache on a user interface (UI); receiving the returned results from the search against the data source; updating the cache and the UI with the results from the search against the data source; receiving (i) a request by a user for a refresh of the server cache and/or (ii) a request by a user for a refresh of the server cache on a periodic basis includes receiving a request by a user for a refresh of the server cache on a periodic basis, wherein the refresh of the server cache comprises re-executing a search against the data source remotely coupled to the computing device over the network connection and refreshing the server cache based on the re-executed search against the data source remotely coupled to the computing device over the network connection; opening the network connection with the application server; closing the network connection at a predetermined time in the absence of network activity with the application server; reestablishing the network connection upon indication of a user; and providing, to the application server, (i) the request by a user for a refresh of the server cache and/or (ii) the request by a user for a refresh of the server cache on a periodic basis includes providing, to the application server, the request by a user for a refresh of the server cache on a periodic basis. - View Dependent Claims (15, 16)
-
-
17. A computing device comprising:
-
a cache against which a search is performed; a user interface, coupled to the cache, to render results of the search; the computing device to provide a request, to perform the search against a data source remotely coupled to the computing device over the network connection, to an application server that is remote from the server and that;
(i) executes the search against the data source remotely coupled to the computing device over the network connection (ii) stores, in a server cache, results from the search against the data source remotely coupled to the computing device and (iii) returns the results from the search against the data source remotely coupled to the computing device;wherein the cache and the user interface are updated with the results of the search against the data source; the computing device to receive (i) a request by a user for a refresh of the server cache and/or (ii) a request by a user for a refresh of the server cache on a periodic basis, wherein the refresh of the server cache comprises re-executing a search against the data source remotely coupled to the computing device over the network connection and refreshing the server cache based on the re-executed search against the data source remotely coupled to the computing device over the network connection, and to provide, to the application server, (i) the request by a user for a refresh of the server cache and/or (ii) the request by a user for a refresh of the server cache on a periodic basis; and after receiving, by the application server, the request by a user for a refresh of the server cache on a periodic basis, refreshing, by the application server, the server cache with information from the data sources when a duration since a prior refresh exceeds a predetermined maximum time by re-executing a search against the data sources remotely coupled to the computing device over the network connection and refreshing the server cache based on the re-executed search against the data sources remotely coupled to the computing device over the network connection. - View Dependent Claims (18)
-
-
19. A computer implemented method comprising:
-
receiving, by a server, a request from a client that is remote from the server and the server;
(i) executes a search against a client cache included in the client, (ii) renders results from the search against the client cache on a client user interface (UI) included in the client, (iii) provides a request to execute the search against data sources remotely coupled to the client over a network connection and (iv) updates the client cache and the client UI with results from the search against data sources remotely coupled to the client over the network connection;providing, by the server, a request to execute the search against the data sources remotely coupled to the client over the network connection; receiving, by the server, the results from the search against the data sources remotely coupled to the client over the network connection; storing, by the server, the results in a server cache; returning, by the server, the results to the client; receiving, by the server, (i) a request by a user of the client for a refresh of the server cache and/or (ii) a request by a user of the client or an administrator for a refresh of the server cache on a periodic basis, wherein the refresh of the server cache comprises re-executing a search against the data sources remotely coupled to the client over the network connection and refreshing the server cache based on the re-executed search against the data sources remotely coupled to the client over the network connection; and after receiving, by the server, the request by a user for a refresh of the server cache on a periodic basis, refreshing, by the server, the server cache with information from the data sources when a duration since a prior refresh exceeds a predetermined maximum time by re-executing a search against the data sources remotely coupled to the computing device over the network connection and refreshing the server cache based on the re-executed search against the data sources remotely coupled to the computing device over the network connection.
-
-
20. A non-transitory machine-accessible medium that provides instructions that, if executed by a machine, will cause the machine to perform a method comprising:
-
receiving, by a server, a request from a client that is remote from the server and the server;
(i) executes a search against a client cache included in the client, (ii) renders results from the search against the client cache on a client user interface included in the client, (iii) provides a request to execute the search against data sources remotely coupled to the client over a network connection and (iv) updates the client cache and the client UI with results from the search against data sources remotely coupled to the client over the network connection;providing, by the server, a request to execute the search against the data sources remotely coupled to the client over the network connection; receiving, by the server, the results from the search against the data sources remotely coupled to the client over the network connection; storing, by the server, the results in a server cache; returning, by the server, the results to the client; receiving, by the server, (i) a request by a user of the client for a refresh of the server cache and/or (ii) a request by a user of the client or an administrator for a refresh of the server cache on a periodic basis, wherein the refresh of the server cache comprises re-executing a search against the data sources remotely coupled to the client over the network connection and refreshing the server cache based on the re-executed search against the data sources remotely coupled to the client over the network connection; and after receiving, by the server, the request by a user for a refresh of the server cache on a periodic basis, refreshing, by the server, the server cache with information from the data sources when a duration since a prior refresh exceeds a predetermined maximum time by re-executing a search against the data sources remotely coupled to the computing device over the network connection and refreshing the server cache based on the re-executed search against the data sources remotely coupled to the computing device over the network connection.
-
-
21. A computing device comprising:
-
a server to receive a request from a client that is remote from the server and the server;
(i) executes a search against a client cache included in the client, (ii) renders results from the search against the client cache on a user interface (UI) included in the client, (iii) provides a request to execute the search against data sources remotely coupled to the client over a network connection and (iv) updates the client cache and the client UI with results from the search against data sources remotely coupled to the client over the network connection;the server further to provide a request to execute the search against the data sources remotely coupled to the client over the network connection, receive the results from the search against the data sources remotely coupled to the client over the network connection, store the results in a server cache and return the results to the client; the server further to receive (i) a request by a user of the client for a refresh of the server cache and/or (ii) a request by a user of the client or an administrator for a refresh of the server cache on a periodic basis, wherein the refresh of the server cache comprises re-executing a search against the data sources remotely coupled to the client over the network connection and refreshing the server cache based on the re-executed search against the data sources remotely coupled to the client over the network connection; and after receiving, by the server, the request by a user for a refresh of the server cache on a periodic basis, refreshing, by the server, the server cache with information from the data sources when a duration since a prior refresh exceeds a predetermined maximum time by re-executing a search against the data sources remotely coupled to the computing device over the network connection and refreshing the server cache based on the re-executed search against the data sources remotely coupled to the computing device over the network connection.
-
-
22. A computing device comprising:
-
a server to receive a request from a client, the server (i) executes a search against a client cache associated with the client, (ii) renders results from the search against the client cache on a client user interface (UI) and (iii) updates the client cache and the client UI with results from a search against data sources remotely coupled to the client over a network connection; the server further to provide a request to execute the search against the data sources remotely coupled to the client over the network connection, determine whether results from the search against the data sources includes a number of records that is less than or equal to a size of the client cache, and return all of the records to the client if the number of records is less than or equal to the size of the client cache; and receiving, by the server, a request by a user for a refresh of the server cache on a periodic basis, refreshing, by the server, the server cache with information from the data sources when a duration since a prior refresh exceeds a predetermined maximum time by re-executing a search against the data sources remotely coupled to the computing device over the network connection and refreshing the server cache based on the re-executed search against the data sources remotely coupled to the computing device over the network connection. - View Dependent Claims (23, 24)
-
Specification