System and method for utilizing asynchronous client server communication objects
DC CAFC- US 7,752,326 B2
- Filed: 10/25/2005
- Issued: 07/06/2010
- Est. Priority Date: 08/20/2001
- Status: Expired due to Fees
First Claim
1. A system for searching at a client for content at a server or other content sources, comprising:
- a communication protocol that provides an asynchronous connection between each of a plurality of clients and a server, and allows each client to send, as part of a user session, a plurality of consecutive query strings to query the server for content;
a requesting client of the plurality of clients, that provides an input field and that transmits to the server within the user session a plurality of queries to retrieve content from the server, wherein each of the plurality of queries are consecutive and form a lengthening query string for retrieving content from the server, and wherein each subsequent one of the plurality of queries extends the lengthening query string by one or more additional characters; and
a server, which is configured to access one or more content sources that store content and that can be accessed by the server to respond to the queries from the clients, wherein the server further includes a unified query and result cache common to the plurality of clients and that stores previously determined results from the content sources, and wherein the server receives the queries from the requesting client, and in response to receiving each of the one or more additional characters in the lengthening query string as they are being entered at the input fieldrecognizes the lengthening query string as an increasingly focused query,automatically matches the increasingly focused query string bothinitially by matching the query string against the previously determined results stored in the unified query cache at the server, andsubsequently, if no matching cache entry was found, by matching the query string against the content sources as retrieved by the server, andasynchronously returns, while the lengthening query string is being formed at the input field at the requesting client, increasingly relevant content to the client, for further use by the client within the same user session.
2 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A session-based client-server asynchronous information search and retrieval system for sending character-by-character or multi-character strings of data to an intelligent server, that can be configured to immediately analyze the lengthening string and return to the client increasingly appropriate search information. Embodiments include integration within an Internet, web or other online environment, including applications for use in interactive database searching, data entry, online searching, online purchasing, music purchasing, people-searching, and other applications. In some implementations the system may be used to provide dynamically focused suggestions, auto-completed text, or other input-related assistance, to the user.
-
Citations
20 Claims
-
1. A system for searching at a client for content at a server or other content sources, comprising:
-
a communication protocol that provides an asynchronous connection between each of a plurality of clients and a server, and allows each client to send, as part of a user session, a plurality of consecutive query strings to query the server for content; a requesting client of the plurality of clients, that provides an input field and that transmits to the server within the user session a plurality of queries to retrieve content from the server, wherein each of the plurality of queries are consecutive and form a lengthening query string for retrieving content from the server, and wherein each subsequent one of the plurality of queries extends the lengthening query string by one or more additional characters; and a server, which is configured to access one or more content sources that store content and that can be accessed by the server to respond to the queries from the clients, wherein the server further includes a unified query and result cache common to the plurality of clients and that stores previously determined results from the content sources, and wherein the server receives the queries from the requesting client, and in response to receiving each of the one or more additional characters in the lengthening query string as they are being entered at the input field recognizes the lengthening query string as an increasingly focused query, automatically matches the increasingly focused query string both initially by matching the query string against the previously determined results stored in the unified query cache at the server, and subsequently, if no matching cache entry was found, by matching the query string against the content sources as retrieved by the server, and asynchronously returns, while the lengthening query string is being formed at the input field at the requesting client, increasingly relevant content to the client, for further use by the client within the same user session. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for searching at a client system for content at a server system, comprising the steps of:
-
providing a communication protocol that provides an asynchronous connection between each of a plurality of clients and a server, and allows each client to send, as part of a user session, a plurality of consecutive query strings to query the server for content; transmitting from a requesting client of the plurality of clients to the server within the user session a plurality of queries to retrieve content from the server, as they are being entered at an input field, wherein each of the plurality of queries are consecutive and form a lengthening query string for retrieving content from the server, and wherein each subsequent one of the plurality of queries extends the lengthening query string by one or more additional characters; and receiving at the server queries from the client, wherein the server is configured to access one or more content sources that store content and that can be accessed by the server to respond to the queries from the clients, wherein the server further includes a unified query and result cache common to the plurality of clients and that stores previously determined results from the content sources, and in response to receiving each of the one or more additional characters in the lengthening query string recognizing the lengthening query string as an increasingly focused query, automatically matching the increasingly focused query string both initially by matching the query string against the previously determined results stored in the unified query cache at the server, and subsequently, if no matching cache entry was found, by matching the query string against the content sources as retrieved by the server, and asynchronously returning, while the lengthening query string is being formed at the input field at the requesting client, increasingly relevant content to the client, for further use by the client within the same user session. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A system for asynchronous providing of information, comprising:
-
a server configured to receive queries from clients for content; a database of content information coupled to the server; a unified query and result cache at the server, and shared by a plurality of clients, that stores previously retrieved content from the database; a communication protocol that provides an asynchronous connection between each of a plurality of clients and the server, and allows each client to send, as part of a user session, a plurality of consecutive query strings to query the server for content, wherein each of the plurality of queries form a lengthening query string for retrieving content from the database, and wherein each subsequent one of the plurality of queries extends the lengthening query string by one or more additional characters; and wherein the server receives queries from a requesting client, and in response to receiving each of the one or more additional characters in the lengthening query string recognizes the lengthening query string as an increasingly focused query, automatically matches the increasingly focused query string both initially by matching the query string against the previously determined results stored in the unified query cache at the server, and subsequently, if no matching cache entry was found, by matching the query string against, and retrieving the content from, the database of content, and asynchronously returns, while the lengthening query string is being formed at an input field at the requesting client, increasingly relevant content to the client, for further use by the client within the same user session. - View Dependent Claims (15, 16, 17)
-
-
18. A system for suggesting database records or content in response to a search request being formed, comprising:
-
a server configured to receive search requests from clients for content, wherein the server includes a unified query and result cache that stores in common previously received search requests from clients to retrieve content; a database of content information coupled to the server; a communication protocol that provides an asynchronous connection between each of a plurality of clients and the server, and allows each client to send, as part of a user session, a plurality of consecutive query strings to query the server for content, wherein each of the plurality of queries form a lengthening query string for retrieving content from the database, and wherein each subsequent one of the plurality of queries extends the lengthening query string by one or more additional characters; and wherein the server, upon receiving a search request for content from a requesting client recognizes the lengthening query string while it is being formed at an input field as an increasingly focused query, matches the increasingly focused query string initially against the previously determined results stored in the unified query cache at the server, and subsequently, if no matching cache entry was found, against the database, while the lengthening query string is being formed at the client, and as the increasingly focused query is being extended, and suggests increasingly appropriate content or search criteria to the requesting client, for further use by the client within the same user session to further define the search request.
-
-
19. A method of suggesting database records or content in response to a search request being formed, comprising the steps of:
-
providing a server configured to receive search requests from clients for content, wherein the server includes a unified query cache that stores in common previously received search requests from clients to retrieve content; providing a database of content information coupled to the server; accepting at the server requests from a client, via a communication protocol that provides an asynchronous connection between each of a plurality of clients and the server, and allows each client to send, as part of a user session, a plurality of consecutive query strings to query the server for content, wherein each of the plurality of queries form a lengthening query string for retrieving content from the database, and wherein each subsequent one of the plurality of queries extends the lengthening query string by one or more additional characters, including upon receiving a search request for content from a requesting client, recognizing the lengthening query string while it is being formed at an input field as an increasingly focused query, matching the increasingly focused query string initially against the previously determined results stored in the unified query cache at the server, and subsequently, if no matching cache entry was found, against the database, while the lengthening query string is being formed at the client, and as the increasingly focused query is being extended, and suggesting increasingly appropriate content or search criteria to the requesting client, for further use by the client within the same user session to further define the search request.
-
-
20. A non-transitory computer readable storage medium including instructions stored thereon, which when read and executed by one or more computers cause the computers to perform the steps comprising:
-
providing a communication protocol that provides an asynchronous connection between each of a plurality of clients and a server, and allows each client to send, as part of a user session, a plurality of consecutive query strings to query the server for content; transmitting from a requesting client of the plurality of clients to the server within the user session a plurality of queries to retrieve content from the server, wherein each of the plurality of queries are consecutive and form a lengthening query string for retrieving content from the server, and wherein each subsequent one of the plurality of queries extends the lengthening query string by one or more additional characters; and receiving at the server queries from the client, wherein the server is configured to access one or more content sources that store content and that can be accessed by the server to respond to the queries from the clients, wherein the server further includes a unified query and result cache common to the plurality of clients and that stores previously determined results from the content sources, and in response to receiving each of the one or more additional characters in the lengthening query string recognizing the lengthening query string while it is being formed at an input field as an increasingly focused query, automatically matching the increasingly focused query string both initially by matching the query string against the previously determined results stored in the unified query cache at the server, and subsequently, if no matching cache entry was found, by matching the query string against the content sources as retrieved by the server, and asynchronously returning, while the lengthening query string is being formed at the requesting client, increasingly relevant content to the client, for further use by the client within the user session.
-
Specification