System and method for asynchronous client server session communication
DC CAFC- US 8,112,529 B2
- Filed: 08/20/2001
- Issued: 02/07/2012
- Est. Priority Date: 08/20/2001
- Status: Expired due to Fees
First Claim
Patent Images
1. A system for retrieval at a client system of content from a server system, comprising:
- a communication protocol that enables an asynchronous connection over a network between a client system and a server system, and allows the client system to send via the network, and within a session between the client system and the server system, a lengthening string composed of a plurality of consecutively input characters, to query the server system for string-based content, while asynchronously receiving consecutive responses from the server system as the characters are being input;
a content-based cache, at the server system, which stores previous queries and corresponding result sets previously executed by the system, and which includes within its result sets content or other information previously retrieved from the server system or one or more content sources in response to the previous queries;
a client object, in communication with a client software at the client system and with the communication protocol, wherein the client objectreceives, as input, consecutive additional characters from the client software, andwhile each of the consecutive additional characters are being received as input, transmits via the network to a server object at the server system one or more corresponding consecutive queries, within the session between the client system and the server system, to retrieve content from the server system,wherein each of the corresponding consecutive queries lengthens the string by the additional characters, to form a lengthening string for retrieving matching content from the server system; and
a server object, in communication with the server system, and with the client object via the communication protocol, wherein the server objectin response to receiving each of the corresponding consecutive queries that modify the lengthening string,automatically uses the lengthening string to query and retrieve content information from the content-based cache at the server system or from the one or more content sources that matches the lengthening string, andasynchronously returns, while the additional characters are being input and the corresponding consecutive queries are being transmitted and the lengthening string is being modified during the session, consecutive responses containing content information which increasingly matches the lengthening string, to the client object for immediate use by the client system, wherein the server system includes at least one processor.
1 Assignment
Litigations
0 Petitions
Accused Products
Abstract
The invention provides a session-based bi-directional multi-tier client-server asynchronous information database search and retrieval system for sending a character-by-character string of data to an intelligent server that can be configured to immediately analyze the lengthening string character-by-character and return to the client increasingly appropriate database information as the client sends the string.
-
Citations
54 Claims
-
1. A system for retrieval at a client system of content from a server system, comprising:
-
a communication protocol that enables an asynchronous connection over a network between a client system and a server system, and allows the client system to send via the network, and within a session between the client system and the server system, a lengthening string composed of a plurality of consecutively input characters, to query the server system for string-based content, while asynchronously receiving consecutive responses from the server system as the characters are being input; a content-based cache, at the server system, which stores previous queries and corresponding result sets previously executed by the system, and which includes within its result sets content or other information previously retrieved from the server system or one or more content sources in response to the previous queries; a client object, in communication with a client software at the client system and with the communication protocol, wherein the client object receives, as input, consecutive additional characters from the client software, and while each of the consecutive additional characters are being received as input, transmits via the network to a server object at the server system one or more corresponding consecutive queries, within the session between the client system and the server system, to retrieve content from the server system, wherein each of the corresponding consecutive queries lengthens the string by the additional characters, to form a lengthening string for retrieving matching content from the server system; and a server object, in communication with the server system, and with the client object via the communication protocol, wherein the server object in response to receiving each of the corresponding consecutive queries that modify the lengthening string, automatically uses the lengthening string to query and retrieve content information from the content-based cache at the server system or from the one or more content sources that matches the lengthening string, and asynchronously returns, while the additional characters are being input and the corresponding consecutive queries are being transmitted and the lengthening string is being modified during the session, consecutive responses containing content information which increasingly matches the lengthening string, to the client object for immediate use by the client system, wherein the server system includes at least one processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A user interface mechanism, for use with a client application of a content retrieval system, said user interface mechanism indicating one or both of an availability of a session between said client application and a remote content server, and a status of said session, said mechanism comprising:
-
a user interface and input field, in communication with said client application, said input field allows a user to input data for transmission to a remote content server, wherein said input data includes a plurality of single string characters as part of a query, the user interface using at least one processor; a communication protocol that enables an asynchronous connection over a network between the client application and the remote content server, and allows the client application to send, within a session between the client application and the remote content server, a plurality of consecutively input query strings via the network, to query the remote content server for string-based content wherein the client application receives as input, consecutive additional characters from a user, and while each of the consecutive additional characters are being received as input, transmits to a server object at the remote content server one or more corresponding consecutive queries, within the session between the client application and the remote content server, to retrieve content from the remote content server, and while asynchronously receiving consecutive responses from the remote content server as the characters are being input; a server object, in communication with the remote content server and in communication with the client application via the communication protocol, wherein the remote content server includes a content-based cache which stores previously executed queries, and corresponding result sets of content or other information previously retrieved from the remote content server or one or more content sources in response to the previously executed queries, and wherein the server object records, during the session, each of the plurality of corresponding consecutive queries from the client application, and in response to receiving each query as it is being lengthened by one or more additional characters, automatically matches a lengthening query string against the content of the content-based cache or the one or more content sources, and, while the corresponding consecutive queries are being transmitted and the lengthening query string is being modified, asynchronously returns consecutive responses containing content information which increasingly matches the lengthening query string, to the client application for immediate use by the client application; a session connection indicator, said session connection indicator displayed within a first portion of the input field, for indicating the availability of a connection between said client application and said remote content server; and a status indicator, said status indicator displayed within the first or a second portion of the input field, for indicating during said session both the status of increasingly available content at said remote content server for selection by said user at that input field, and that the server object is currently using the lengthening query string against the content of the remote content server to query and retrieve content information from the remote content server. - View Dependent Claims (34, 35, 36)
-
-
37. A method of providing communication at a client of string-based content from a server, comprising the steps of:
-
providing a communication protocol that enables an asynchronous session-based connection over a network between a client object and a server object, and allows the client object to send, within a session between the client object and the server object, a plurality of consecutively input query strings, to query the server for string-based content; providing a content-based cache, at the server, which stores previously executed queries, and corresponding result sets of content or other information previously retrieved from the server or one or more content sources in response to the previously executed queries; receiving as input, consecutive additional characters from a user, and transmitting, via the client object in communication with said client, via the network to the server object one or more corresponding consecutive queries, within the session between the client object and the server object, to retrieve content from the server, wherein the client object receives the additional characters from a user, and, while each of the consecutive additional characters are being received, transmits to a server object at the server a plurality of consecutive queries, within the same session, to retrieve content from the server, wherein each consecutive query lengthens the query string by one or more characters, and forms a lengthening query string for retrieving content from the server; and receiving, via said communication protocol, at the server object each of the plurality of consecutive queries from the client, and in response to receiving each query as it is being lengthened by one or more additional characters, automatically matching lengthening query string against the content of the content-based cache or the one or more content sources, and, while the consecutive queries are being transmitted and the lengthening query string is being modified, asynchronously returning consecutive responses containing content information which increasingly matches the lengthening string, to the client object for immediate use by the client. - View Dependent Claims (38, 39)
-
-
40. A system for session-based retrieval at a client of content from a server, comprising:
-
a communication protocol that enables an asynchronous session over a network between a client and a server, and allows the client system to send, within a session between the client and the server, a plurality of consecutively input query strings, to query the server for content; a content-based cache, at the server, which stores previous queries and corresponding result sets, previously executed by the system, and which includes within its result sets content or other information previously retrieved from the server or one or more content sources in response to the previous queries; one or more content engine objects, in communication with the server object, that are capable of retrieving information from a content source containing string-based data by using a lengthening string as part of a content query and by returning matching data from the content source; a user interface at the client that allows a user to enter a search string; a client object, at the client, wherein the client object receives consecutive additional characters of the search string from the user interface as input while it is being entered by the user, and, while each of the consecutive additional characters are being received, transmits via the network to a server object at the server one or more corresponding consecutive queries, within the same session, to retrieve content from the server system, wherein each consecutive query matches the characters of the search string as it is being entered, to form the lengthening search string for retrieving content from the server; a server object, at the server, wherein the server object records, during the session, each of the plurality of consecutive queries from the client, and in response to receiving the lengthening search string from the client object, automatically matches the lengthening search string against the content of the content-based cache or the one or more content sources, and, while the consecutive queries are being transmitted and the lengthening search string is being modified, asynchronously returns content information which increasingly matches the lengthening search string, to the client object for immediate use by the client; and
wherein the content information is used by the client to immediately update the user interface with options that match the content of the server system, as the user is entering the search string, wherein the server includes at least one processor.
-
-
41. A method of providing session-based communication at a client of string-based content from a server, comprising the steps of:
-
providing a communication protocol that enables an asynchronous session over a network between a client and a server, and allows the client system to send, within a session between the client and the server, a plurality of consecutively input query strings, to query the server for content; providing a content-based cache, at the server, which stores previously executed queries, and corresponding result sets of content or other information previously retrieved from the server or one or more content sources in response to the previously executed queries; providing one or more content engine objects, in communication with the server object, that are capable of retrieving information from a content source containing string-based data by using a lengthening string as part of a content query and by returning matching data from the content source; providing a user interface at the client that allows a user to enter a search string; providing a client object, at the client, wherein the client object receives consecutive additional characters of the search string from the user interface as input while it is being entered by the user, and while each of the consecutive additional characters are being received, transmits via the network to a server object at the server one or more corresponding consecutive queries, within the same session, to retrieve content from the server system, wherein each consecutive query matches the characters of the search string as it is being entered, to form the lengthening search string for retrieving content from the server; providing a server object, at the server, wherein the server object records, during the session, each of the plurality of consecutive queries from the client, and in response to receiving the lengthening search string from the client object, automatically matches the search string against the content of the content-based cache or the one or more content sources, and, while the consecutive queries are being transmitted and the lengthening query string is being modified, asynchronously returns content information which increasingly matches the modified lengthening string, to the client object for immediate use by the client; and wherein the content information is used by the client to immediately update the user interface with options that match the content of the server system, as the user is entering the search string.
-
-
42. A system for providing session-based searching of string-based content from a server, comprising:
-
a user interface at a plurality of clients that allows a user at each of the plurality of clients to enter input as a string of consecutively input queries to query the server for string-based content, wherein each consecutive query lengthens the query string by one or more consecutive additional characters; a communication protocol that transmits over a network, via a client object at each of said clients, to a server object at the server, the plurality of consecutive queries, to retrieve content from the server, wherein each consecutive additional character is immediately transmitted to the server object while the user is entering the additional characters in the user interface, to form a lengthening query string for retrieving content from the server; a content-based cache, at the server, which stores previous queries and corresponding result sets, previously executed by the system, and which includes within its result sets content or other information previously retrieved from the server or one or more content sources in response to the previous queries; and a server object which in response to receiving each query as it is being lengthened by the one or more additional characters, automatically matches the lengthening query string against the content of the content-based cache or the one or more content sources, and, as the user of a particular client is entering queries and, while consecutive queries are being transmitted and the lengthening query string is being modified, asynchronously modifies the user interface by returning server content information which increasingly matches the lengthening query string, to the client object for immediate display to the user, wherein the server includes at least one processor.
-
-
43. A method of providing session-based searching of string-based content from a server, comprising, comprising the steps of:
-
providing a user interface at a plurality of clients that allows a user at each of the plurality of clients to enter input as a string of consecutively input queries to query the server for string-based content, wherein each consecutive query lengthens the query string by one or more consecutive additional characters; providing a content-based cache, at the server, which stores previously executed queries, and corresponding result sets of content or other information previously retrieved from the server or one or more content sources in response to the previously executed queries; transmitting over a network, via a client object at each of said clients, to a server object at the server, the plurality of consecutive queries, to retrieve content from the server, wherein each consecutive additional character is immediately transmitted to the server object while the user is entering the additional characters in the user interface, to form a lengthening query string for retrieving content from the server; and in response to receiving each query as it is being lengthened by the one or more additional characters, automatically matching the lengthening query string against the content of the content-based cache or the one or more content sources, and, as the user of a particular client is entering queries and, while consecutive queries are being transmitted and the lengthening query string is being modified, asynchronously modifying the user interface by returning server content information which increasingly matches the modified lengthening string, to the client object for immediate display to the user.
-
-
44. A system for suggesting data as a response to client requests, comprising:
-
a server configured to receive requests from a plurality of clients for content; a content-based cache, at the server, which stores previous queries and corresponding result sets, previously executed by the system, and which includes within its result sets content or other information previously retrieved from the server or one or more content sources in response to the previous queries; an interface to a plurality of databases or data sources of content information coupled to said server; a communication protocol that provides a session connection between a client and the server, and allows the client to provide a user interface for input of queries, and to send, as part of the same session, a plurality of queries from a user to query the server for content, wherein each one of the plurality of queries are consecutive and together form an increasingly focused query string for retrieving content from the server, and wherein each subsequent one of the plurality of queries extends the query string in the user interface by one or more additional characters; and wherein said server receives each subsequent one of the plurality of queries while it is being entered into the user interface, applies the increasingly focused query string against the content-based cache or the plurality of databases or data sources as it is being extended, and while the user is entering the one or more additional characters, suggests a set of increasingly appropriate content or search criteria from the plurality of databases, to the client, for further use by the client within the same session, wherein the server includes at least one processor.
-
-
45. A method of suggesting data as a response to client requests, comprising the steps of:
-
providing a server configured to receive requests from a plurality of clients for content; providing a content-based cache, at the server, which stores previously executed queries, and corresponding result sets of content or other information previously retrieved from the server or one or more content sources in response to the previously executed queries; providing access to a plurality of databases or data sources of content information coupled to said server; providing a communication protocol that provides a session connection between a client and the server, and allows the client to provide a user interface for input of queries, and to send, as part of the same session, a plurality of queries from a user to query the server for content, wherein each one of the plurality of queries are consecutive and together form an increasingly focused query string for retrieving content from the server, and wherein each subsequent one of the plurality of queries extends the query string in the user interface by one or more additional characters; and receiving, at the server, each subsequent one of the plurality of queries while it is being entered into the user interface, and applying the increasingly focused query string against the content-based cache or the plurality of databases or data sources as it is being extended, and while the user is entering the one or more additional characters, suggesting a set of increasingly appropriate content or search criteria from the plurality of databases, to the client, for further use by the client within the same session.
-
-
46. A system comprising:
-
a client object on a client computer and a server object on a server computer, whereby the client computer and the server computer are linked by a network so that they can exchange information; wherein the client object is linked to an input element in a user interface that allows a user to enter textual information comprising characters and strings to create incremental user input comprising a mutating string of characters; wherein said user input is transmitted by the client object to the server object as one or more consecutive additional characters while said user input is being formed by a specific user during a user session; wherein the server object uses said user input received from the client object to query data from one or more content sources, and, while the consecutive additional characters are being transmitted and the mutating query string is being modified, to return result strings matching said user input asynchronously from said server computer while the input is being formed on the client computer; a content-based cache, at the server computer, which stores previous queries and corresponding result sets, previously executed by the system, and which includes within its result sets content or other information previously retrieved from the server or one or more content sources in response to the previous queries; and wherein the client object displays said results in a display element in the user interface on the client computer. - View Dependent Claims (47, 48, 49, 50, 51, 52)
-
-
53. A system for allowing a user to retrieve content in an online environment, including suggesting possible data matches to the user simultaneously and asynchronously while the user is entering their query string, comprising:
-
a server configured to receive requests from a plurality of clients for string-based content, wherein the server further comprises an interface to one or more databases or data sources of content information; a content-based cache, at the server, which stores previous queries and corresponding result sets, previously executed by the system, and which includes within its result sets content or other information previously retrieved from the server or one or more content sources in response to the previous queries; a client software and graphical user interface at each of the plurality of clients, wherein the client software includes one of a connection or status indicator to indicate the availability of a connection between the client and the server and the status and availability of increasingly available content at the server for selection by a user, and wherein the client software allows the user to enter a query string of consecutively input characters to query the server for content, wherein each consecutive query lengthens the query string by one or more additional characters; a communication protocol that enables an online connection over an Internet network between the client and the server, and allows the client to send via the Internet, within a session between the client and the server, a lengthening string composed of the plurality of consecutively input characters, to query the server for content, while simultaneously and asynchronously receiving consecutive responses from the server while the characters are being input; a client object, in communication with the client software at the client and with the communication protocol, wherein the client object receives, as input, consecutive additional characters from the client software while they are being entered by the user, and while each of the consecutive additional characters are being received, transmits via the Internet to a server object at the server a plurality of consecutive queries, within the same user session, to retrieve content from the server, wherein each consecutive query lengthens the string by the additional characters, to form a lengthening query string for retrieving matching content from the server; and a server object, in communication with the server, and with the client object via the communication protocol, wherein the server object in response to receiving the consecutive queries that form the lengthening query string, and while the consecutive queries are being transmitted and the lengthening query string is being modified, automatically uses the lengthening query string to query and retrieve content information from the content-based cache or the databases or data sources of content information, including checking if the lengthening query string matches any previously stored query results retrieved as the result of a prior query from the same or a different user, and then asynchronously returns, while the additional characters are being input and while the string is being lengthened during the user session, consecutive responses containing increasingly matching data matches to the user as a list of possible data matches that can be immediately selected and used in the client software by the user, wherein the server includes at least one processor.
-
-
54. A system for allowing a user to retrieve content in an online environment, including suggesting possible data matches to the user simultaneously and asynchronously while the user is entering their query string, comprising:
-
a server configured to receive requests from a plurality of clients for string-based content, wherein the server further comprises an interface to one or more databases or data sources of content information; a content-based cache, at the server, which stores previous queries and corresponding result sets, previously executed by the system, and which includes within its result sets content or other information previously retrieved from the server or one or more content sources in response to the previous queries; a client software at each of the plurality of clients, wherein the client software includes a graphical user interface and one of a connection or status indicator to indicate the availability of a connection between the client and the server and the status and availability of increasingly available content at the server for selection by a user, and wherein the client software allows the user to enter, as input, into a query field a query string of consecutively input characters to query the server for content, wherein each consecutive query lengthens the query string by one or more additional characters, and wherein while consecutive characters are being received, the client software transmits via an Internet network to the server a plurality of consecutive queries, within a session between said client and the server, to retrieve content from the server, wherein each consecutive query lengthens the string by the additional characters, to form a lengthening query string for retrieving matching content from the server; a communication protocol that enables an online connection over the Internet between the client and the server, and allows the client to send via the Internet, and within a user session, a lengthening string composed of the plurality of consecutively input characters, to query the server for content, while simultaneously and asynchronously receiving consecutive responses from the server while the characters are being input; and a server software at the server, which in response to receiving the consecutive queries that form the lengthening query string, automatically uses the lengthening query string to query and retrieve content information from the content-based cache or the one or more databases or data sources of content information, including checking if the lengthening query string matches any previously stored query results retrieved as the result of a prior query from the same or a different user, and then asynchronously returning, while the additional characters are being input and while the lengthening query string is being modified during the session, consecutive responses containing increasingly matching data matches to the user as a list of possible data matches, which can be immediately selected and used in the client software by the user, wherein the server includes at least one processor.
-
Specification