Metasearch infrastructure with incremental updates
First Claim
Patent Images
1. A computer-implemented method comprising:
- receiving, from a client, at a server system operated by a first party, a first client request for hotel data that satisfies one or more criteria, wherein the first client request includes a first plurality of hotel identifiers, each of which uniquely identifies a different hotel from a plurality of hotels;
identifying a mapping that maps a first set of identifiers to a second set of identifiers that were established by one or more other parties, each of which is different than the first party and stores specific hotel information in association with an identifier in the second set of identifiers;
using the mapping to identify a second plurality of hotel identifiers based on the first plurality of hotel identifiers, wherein each hotel identifier in the second plurality of hotel identifiers (a) uniquely identifies a different hotel from the plurality of hotels;
(b) was established by a second party that is different than the first party; and
(c) is different than the corresponding hotel identifier in the first plurality of hotel identifiers;
in response to receiving the first client request, generating a plurality of requests, each of which includes a different subset of the second plurality of hotel identifiers and requests a different set of data from a first source that is (1) remote relative to the server system and (2) operated by the second party that is different than the first party that operates the server system;
sending the plurality of requests over a network from the server system to the first source of the second party;
after sending the plurality of requests to the first source, receiving, at the server system, a plurality of responses from the first source;
sending, from the server system, to the client, data from the plurality of responses;
wherein the method is performed by one or more computing devices.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are provided for a metasearch infrastructure. The metasearch infrastructure supports one or more of the following: hotel matching, backend support of user queries, frontend support for user queries, a cache layer that groups or organizes cached data in storage based on hotel location, scoring and ranking on the client side, experiments and rankers, duplicate booking prevention, blacklisting hotels, and indexing that utilizes a document-independent data structure to store index values.
-
Citations
22 Claims
-
1. A computer-implemented method comprising:
-
receiving, from a client, at a server system operated by a first party, a first client request for hotel data that satisfies one or more criteria, wherein the first client request includes a first plurality of hotel identifiers, each of which uniquely identifies a different hotel from a plurality of hotels; identifying a mapping that maps a first set of identifiers to a second set of identifiers that were established by one or more other parties, each of which is different than the first party and stores specific hotel information in association with an identifier in the second set of identifiers; using the mapping to identify a second plurality of hotel identifiers based on the first plurality of hotel identifiers, wherein each hotel identifier in the second plurality of hotel identifiers (a) uniquely identifies a different hotel from the plurality of hotels;
(b) was established by a second party that is different than the first party; and
(c) is different than the corresponding hotel identifier in the first plurality of hotel identifiers;in response to receiving the first client request, generating a plurality of requests, each of which includes a different subset of the second plurality of hotel identifiers and requests a different set of data from a first source that is (1) remote relative to the server system and (2) operated by the second party that is different than the first party that operates the server system; sending the plurality of requests over a network from the server system to the first source of the second party; after sending the plurality of requests to the first source, receiving, at the server system, a plurality of responses from the first source; sending, from the server system, to the client, data from the plurality of responses; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16)
-
-
8. A method comprising:
-
receiving, from a client, at a server system operated by a first party, a first client request for first data; in response to receiving the first client request for the first data; generating, at the server system, a key and associating the key with the first client request, and generating a plurality of requests, each of which requests a different set of data from a first source that is (1) remote relative to the server system and (2) operated by a second party that is different than the first party; sending the key from the server system to the client; sending, from the server system, the plurality of requests over a network to the first source; after sending the plurality of requests to the first source, receiving a plurality of responses from the first source; sending, to the client, data from the plurality of responses; receiving, from the client, at the server system, a second client request that includes the key; in response to receiving the second client request that includes the key, determining, at the server system, based on the key, which data associated with the first client request has not yet been received from the first source; wherein the method is performed by one or more computing devices. - View Dependent Claims (17, 19, 20)
-
-
9. A method comprising:
-
sending, over a network, from a server system, to a first source, one or more requests to determine a latency or speed associated with the first source; receiving, from the first source, at the server system, one or more replies to the one or more requests; determining, by the server system, based on the one or more replies, the latency or speed associated with the first source; receiving, from a client, at the server system that is operated by a first party, a first client request for first data; in response to receiving the first client request, generating a plurality of requests, each of which requests a different set of data from the first source that is (1) remote relative to the server system and (2) is operated by a second party that is different than the first party; wherein generating the plurality of requests comprises, based on the latency or speed, determining, by the server system, a size of multiple requests of the plurality of requests that are sent to the first source; sending the plurality of requests over the network from the server system to the first source; after sending the plurality of requests from the server system to the first source, receiving a plurality of responses from the first source; sending, from the server system, to the client, data from the plurality of responses; wherein the method is performed by one or more computing devices. - View Dependent Claims (18, 21, 22)
-
Specification