IP Library Granted Patent US 7,127,416
Granted Patent B1
US 7,127,416 · App. 09/884,393 · Granted Oct 24, 2006

Distributed processing of sorted search results in an electronic commerce system and method

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,127,416
App. No.
09/884,393
Granted
Oct 24, 2006
Kind
B1
Abstract

An electronic commerce system ( 10 ) includes a server ( 40 ) operating on one or more computers that communicates a search query for one or more products to one or more seller databases ( 32 ) that contain product data. Each seller database ( 32 ) generates local search results that are responsive to the search query. The server ( 40 ) also communicates one or more sorting parameters to the seller databases ( 32 ). The sorting parameters direct each seller database ( 32 ) to sort local search results generated at each seller database ( 32 ) according to the sorting parameters in response to the search query. In addition, the server ( 40 ) receives sorted local search results from one or more of the seller databases ( 32 ) and merges the sorted local search results received from the seller databases ( 32 ) to generate merged search results. Furthermore, the server ( 40 ) sorts the merged search results according to the sorting parameters and communicates the sorted merged search results to a user.

Claims (136)

1. A computer-implemented electronic commerce system comprising one or more computer systems each comprising one or more processing units and one or more memory units, the electronic commerce system further comprising computer-executable instructions stored in memory to:

communicate a search query for one or more products to one or more seller databases that contain product data, each seller database operable to generate local search results responsive to the search query;

communicate one or more sorting parameters to the seller databases, the sorting parameters directing each seller database to sort the local search results generated at each seller database in response to the search query such that the sorted local search results are pre-sorted prior to being communicated to the one or more computer systems;

receive sorted local search results from one or more of the seller databases, the sorted local search results having been pre-sorted by the one or more seller databases prior to being communicated to the one or more computer systems;

if the received sorted local search results comprise sorted local search results received from more than one of the seller databases:

merge the sorted local search results received from the seller databases to generate merged search results;

sort the merged search results according to the sorting parameters;

communicate the sorted merged search results to a user; and

carry out an electronic commerce transaction for at least one of the products represented in the sorted merged search results; and

if the received sorted local search results comprise sorted local search results received from a single one of the seller databases, communicate the sorted local search results received from the single one of the seller databases to a user and carry out an electronic commerce transaction for at least one of the products represented in the sorted local search results.

2. The system of claim 1 , wherein the sorting parameters further direct each seller database to initially communicate no more than a specified number of sorted local search results in response to the search query and direct the one or more computer systems to initially communicate no more than the specified number of merged search results to the user.

3. The system of claim 2 , wherein the one or more computer systems are further operable to:

initially communicate no more than the specified number of sorted merged search results to the user;

receive a request for additional search results from the user;

determine that all of the sorted merged search results have been communicated to the user;

request additional sorted local search results from the seller databases;

receive no more than the specified number of additional sorted local search results from one or more of the seller databases, the sorting parameters directing that each seller database communicate no more than the specified number of sorted local search results at a time;

merge the additional sorted local search results received from the seller databases to generate additional merged search results;

sort the additional merged search results according to the sorting parameters; and communicate the additional sorted merged search results to the user.

4. The system of claim 2 , wherein the number of merged search results is less than or equal to the product of the specified number and the number of seller databases to which the search query is communicated.

5. The system of claim 1 , wherein the one or more computer systems are further operable to:

receive a request from the user for a specified number of search results to be initially communicated to the user; and

initially communicate no more than the specified number of sorted merged search results to the user.

6. The system of claim 5 , wherein the one or more computer systems are further operable to communicate a sorting parameter directing each seller database to initially communicate no more than the specified number of sorted local search results in response to the search query.

7. The system of claim 1 , wherein the sorting parameters are selected from the group consisting of product attributes, product attribute values, seller attributes, and seller attribute values.

8. A computer-implemented method for processing search results in an electronic commerce system, the method performed using one or more computer systems each comprising one or more processing units and one or more memory units, the method comprising:

using the one or more computer systems, communicating a search query for one or more products to one or more seller databases that contain product data, each seller database operable to generate local search results responsive to the search query;

using the one or more computer systems, communicating one or more sorting parameters to the seller databases, the sorting parameters directing each seller database to sort the local search results generated at each seller database in response to the search query such that the sorted local search results are pre-sorted prior to being communicated from each seller database;

using the one or more computer systems, receiving sorted local search results from one or more of the seller databases, the sorted local search results having been pre-sorted by the one or more seller databases prior to being communicated to the one or more computer systems; executing computer-readable instructions for processing said search results, said instructions determining:

if the received sorted local search results comprise sorted local search results received from more than one of the seller databases:

using the one or more computer systems, merging the sorted local search results received from the seller databases to generate merged search results;

using the one or more computer systems, sorting the merged search results according to the sorting parameters;

using the one or more computer systems, communicating the sorted merged search results to a user; and

using the one or more computer systems, carrying out an electronic commerce transaction for at least one of the products represented in the sorted merged search results; and

if the received sorted local search results comprise sorted local search results received from a single one of the seller databases:

using the one or more computer systems, communicating the sorted local search results received from the single one of the seller databases to a user; and

using the one or more computer systems, carrying out an electronic commerce transaction for at least one of the products represented in the sorted local search results.

9. The method of claim 8 , wherein the sorting parameters further direct each seller database to initially communicate no more than a specified number of sorted local search results in response to the search query and direct that no more than the specified number of merged search results to be initially communicated to the user.

10. The method of claim 9 , further comprising:

initially communicating no more than the specified number of sorted merged search results to the user;

receiving a request for additional search results from the user;

determining that all of the sorted merged search results have been communicated to the user;

requesting additional sorted local search results from the seller databases;

receiving no more than the specified number of additional sorted local search results from one or more of the seller databases, the sorting parameters directing that each seller database communicate no more than the specified number of sorted local search results at a time;

merging the additional sorted local search results received from the seller databases to generate additional merged search results;

sorting the additional merged search results according to the sorting parameters; and communicating the additional sorted merged search results to the user.

11. The method of claim 9 , wherein the number of merged search results is less than or equal to the product of the specified number and the number of seller databases to which the search query is communicated.

12. The method of claim 8 , further comprising:

receiving a request from the user for a specified number of search results to be initially communicated to the user; and

initially communicating no more than the specified number of sorted merged search results to the user.

13. The method of claim 12 , further comprising communicating a sorting parameter directing each seller database to initially communicate no more than the specified number of sorted local search results in response to the search query.

14. The method of claim 8 , wherein the sorting parameters are selected from the group consisting of product attributes, product attribute values, seller attributes, and seller attribute values.

15. Software for processing search results in an electronic commerce system, the software embodied in a computer-readable medium and when executed operable to:

communicate a search query for one or more products to one or more seller databases that contain product data, each seller database operable to generate local search results responsive to the search query;

communicate one or more sorting parameters to the seller databases, the sorting parameters directing each seller database to sort the local search results generated at each seller database in response to the search query such that the sorted local search results are pre-sorted prior to being communicated to the one or more computer systems;

receive sorted local search results from one or more of the seller databases, the sorted local search results having been pre-sorted by the one or more seller databases prior to being communicated from each seller database;

if the received sorted local search results comprise sorted local search results received from more than one of the seller databases:

merge the sorted local search results received from the seller databases to generate merged search results;

sort the merged search results according to the sorting parameters;

and communicate the sorted merged search results to a user; and

carry out an electronic commerce transaction for at least one of the products represented in the sorted merged search results; and

if the received sorted local search results comprise sorted local search results received from a single one of the seller databases:

communicate the sorted local search results received from the single one of the seller databases to a user; and

carry out an electronic commerce transaction for at least one of the products represented in the sorted local search results.

16. The software of claim 15 , wherein the sorting parameters further direct each seller database to initially communicate no more than a specified number of sorted local search results in response to the search query and direct that no more than the specified number of merged search results to be initially communicated to the user.

17. The software of claim 16 , further operable to:

initially communicate no more than the specified number of sorted merged search results to the user;

receive a request for additional search results from the user;

determine that all of the sorted merged search results have been communicated to the user;

request additional sorted local search results from the seller databases;

receive no more than the specified number of additional sorted local search results from one or more of the seller databases, the sorting parameters directing that each seller database communicate no more than the specified number of sorted local search results at a time;

merge the additional sorted local search results received from the seller databases to generate additional merged search results;

sort the additional merged search results according to the sorting parameters; and communicate the additional sorted merged search results to the user.

18. The software of claim 16 , wherein the number of merged search results is less than or equal to the product of the specified number and the number of seller databases to which the search query is communicated.

19. The software of claim 15 , further operable to:

receive a request from the user for a specified number of search results to be initially communicated to the user; and

initially communicate no more than the specified number of sorted merged search results to the user.

20. The software of claim 19 , further operable to communicate a sorting parameter directing each seller database to initially communicate no more than the specified number of sorted local search results in response to the search query.

21. The software of claim 15 , wherein the sorting parameters are selected from the group consisting of product attributes, product attribute values, seller attributes, and seller attribute values.

22. A computer-implemented system for processing search results in an electronic commerce system, comprising:

computer-implemented means for communicating a search query for one or more products to one or more seller databases that contain product data, each seller database operable to generate local search results responsive to the search query;

computer-implemented means for communicating one or more sorting parameters to the seller databases, the sorting parameters directing each seller database to sort the local search results generated at each seller database in response to the search query such that the sorted local search results are pre-sorted prior to being communicated to the one or more computer systems;

computer-implemented means for receiving sorted local search results from one or more of the seller databases, the sorted local search results having been pre-sorted by the one or more seller databases prior to being communicated to the one or more computer systems;

if the received sorted local search results comprise sorted local search results received from more than one of the seller databases:

computer-implemented means for merging the sorted local search results received from the seller databases to generate merged search results;

computer-implemented means for sorting the merged search results according to the sorting parameters;

computer-implemented means for communicating the sorted merged search results to a user; and

computer-implemented means for carrying out an electronic commerce transaction for at least one of the products represented in the sorted merged search results;

if the received sorted local search results comprise sorted local search results received from a single one of the seller databases:

computer-implemented means for communicating the sorted local search results received from the single one of the seller databases to a user; and

computer-implemented means for carrying out an electronic commerce transaction for at least one of the products represented in the sorted local search results.

23. A computer-implemented electronic commerce system comprising one or more computer systems each comprising one or more processing units and one or more memory units, the electronic commerce system further comprising computer-executable instructions stored in memory to:

communicate a search query for one or more products to a plurality of seller databases that contain product data, each seller database operable to generate local search results responsive to the search query;

communicate one or more sorting parameters to the plurality of seller databases, the sorting parameters directing each seller database to sort the local search results generated at each seller database in response to the search query such that the sorted local search results are presorted prior to being communicated to the one or more computer systems, the sorting parameters further directing each seller database to initially communicate no more than a specified number of sorted local search results in response to the search query and directing the server to initially communicate no more than a specified number of merged search results to the user;

receive sorted local search results from two or more of the plurality of seller databases, the sorted local search results having been pre-sorted by the two or more seller databases prior to being communicated to the one or more computer systems

merge the sorted local search results received from the two or more seller databases to generate merged search results, the number of merged search results being less than or equal to the product of the specified number and the number of seller databases to which the search query is communicated;

sort the merged search results according to the sorting parameters;

initially communicate no more than the specified number of sorted merged search results to a user;

receive a request for additional search results from the user;

determine that all of the sorted merged search results have been communicated to the user;

request additional sorted local search results from the plurality of seller databases;

receive no more than the specified number of additional sorted local search results from two or more of the seller databases, the sorted local search results having been presorted by the two or more seller databases prior to being communicated to the one or more computer systems, the sorting parameters directing that each seller database communicate no more than the specified number of sorted local search results at a time;

merge the additional sorted local search results received from the two or more seller databases to generate additional merged search results, the number of merged search results being less than or equal to the product of the specified number and the number of seller databases to which the search query is communicated;

sort the additional merged search results according to the sorting parameters;

communicate the additional sorted merged search results to the user; and

carry out an electronic commerce transaction for at least one of the products represented in the sorted local search results and the additional merged search results.

24. A computer-implemented method for processing search results in an electronic commerce system, the method performed using one or more computer systems each comprising one or more processing units and one or more memory units, the method comprising:

using the one or more computer systems, communicating a search query for one or more products to a plurality of seller databases that contain product data, each seller database operable to generate local search results responsive to the search query;

using the one or more computer systems, communicating one or more sorting parameters to the plurality of seller databases, the sorting parameters directing each seller database to sort the local search results generated at each seller database in response to the search query such that the sorted local search results are pre-sorted prior to being communicated to the one or more computer systems, the sorting parameters further directing each seller database to initially communicate no more than a specified number of sorted local search results in response to the search query and directing that no more than a specified number of merged search results to be initially communicated to the user;

using the one or more computer systems, receiving sorted local search results from two or more of the plurality of seller databases, the sorted local search results having been presorted by the two or more seller databases prior to being communicated to the one or more computer systems:

using the one or more computer systems, merging the sorted local search results received from the two or more seller databases to generate merged search results, the number of merged search results being less than or equal to the product of the specified number and the number of seller databases to which the search query is communicated;

using the one or more computer systems, sorting the merged search results according to the sorting parameters;

using the one or more computer systems, initially communicating no more than the specified number of sorted merged search results to a user;

using the one or more computer systems, receiving a request for additional search results from the user;

using the one or more computer systems, determining that all of the sorted merged search results have been communicated to the user;

using the one or more computer systems, requesting additional sorted local search results from the plurality of seller databases;

using the one or more computer systems, receiving no more than the specified number of additional sorted local search results from two or more of the seller databases, the sorted local search results having been pre-sorted by the two or more seller databases prior to being communicated to the one or more computer systems, the sorting parameters directing that each seller database communicate no more than the specified number of sorted local search results at a time;

using the one or more computer systems, merging the additional sorted local search results received from the two or more seller databases to generate additional merged search results, the number of merged search results being less than or equal to the product of the specified number and the number of seller databases to which the search query is communicated;

using the one or more computer systems, sorting the additional merged search results according to the sorting parameters; and

using the one or more computer systems, communicating the additional sorted merged search results to the user; and

carry out an electronic commerce transaction for at least one of the products represented in the sorted local search results and the additional merged search results.

25. Software for processing search results in an electronic commerce system, the software embodied in a computer-readable medium and when executed operable to:

communicate a search query for one or more products to a plurality of seller databases that contain product data, each seller database operable to generate local search results responsive to the search query;

communicate one or more sorting parameters to the seller databases, the sorting parameters directing each seller database to sort the local search results generated at each seller database in response to the search query such that the sorted local search results are pre-sorted prior to being communicated to the one or more computer systems, the sorting parameters further directing each seller database to initially communicate no more than a specified number of sorted local search results in response to the search query and directing that no more than a specified number of merged search results to be initially communicated to the user;

receive sorted local search results from two or more of the seller databases, the sorted local search results having been pre-sorted by the two or more seller databases prior to being communicated to the one or more computer systems

merge the sorted local search results received from the two or more seller databases to generate merged search results, the number of merged search results being less than or equal to the product of the specified number and the number of seller databases to which the search query is communicated;

sort the merged search results according to the sorting parameters;

initially communicate no more than the specified number of sorted merged search results to a user;

receive a request for additional search results from the user;

determine that all of the sorted merged search results have been communicated to the user;

request additional sorted local search results from the plurality of seller databases;

receive no more than the specified number of additional sorted local search results from two or more of the plurality of seller databases, the sorted local search results having been pre-sorted by the two or more seller databases prior to being communicated to the one or more computer systems, the sorting parameters directing that each seller database communicate no more than the specified number of sorted local search results at a time;

merge the additional sorted local search results received from the two or more seller databases to generate additional merged search results, the number of merged search results being less than or equal to the product of the specified number and the number of seller databases to which the search query is communicated;

sort the additional merged search results according to the sorting parameters; and

communicate the additional sorted merged search results to the user; and

carry out an electronic commerce transaction for at least one of the products represented in the sorted merged search results and the additional merged search results.

Assignments (18)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053383/0117) Recorded Nov 3, 2021
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BLUE YONDER GROUP, INC.
Reel/Frame 058794/0776 →
RELEASE OF SECURITY INTEREST Recorded Sep 16, 2021
From: JPMORGAN CHASE BANK, N.A.
To: BLUE YONDER GROUP, INC.; BLUE YONDER, INC.; JDA SOFTWARE SERVICES, INC.; I2 TECHNOLOGIES INTERNATIONAL SERVICES, LLC; MANUGISTICS SERVICES, INC.; MANUGISTICS HOLDINGS DELAWARE II, INC.; REDPRAIRIE COLLABORATIVE FLOWCASTING GROUP, LLC; JDA SOFTWARE RUSSIA HOLDINGS, INC.; REDPRAIRIE SERVICES CORPORATION; BY BOND FINANCE, INC.; BY NETHERLANDS HOLDING, INC.; BY BENELUX HOLDING, INC.
Reel/Frame 057724/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REEL 026468 FRAME NUMBER FROM 0199 TO 0119 PREVIOUSLY RECORDED ON REEL 055136 FRAME 0623. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECTION ASSIGNMENT. Recorded Apr 19, 2021
From: I2 TECHNOLOGIES US, INC.
To: JDA TECHNOLOGIES US, INC.
Reel/Frame 056813/0110 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE CONVEYING AND RECEIVING PARTIES TO INCLUDE A PERIOD AFTER THE TERM INC PREVIOUSLY RECORDED AT REEL: 026740 FRAME: 0676. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 8, 2021
From: JDA TECHNOLOGIES US, INC.
To: JDA SOFTWARE GROUP, INC.
Reel/Frame 055257/0747 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE CONVEYING AND RECEIVING PARTIES TO INCLUDE A PERIOD AFTER THE TERM INC PREVIOUSLY RECORDED ON REEL 026468 FRAME 0199. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME FROM I2 TECHNOLOGIES US, INC. TO JDA TECHNOLOGIES US, INC.. Recorded Dec 12, 2020
From: I2 TECHNOLOGIES US, INC.
To: JDA TECHNOLOGIES US, INC.
Reel/Frame 055136/0623 →
SECURITY AGREEMENT Recorded Aug 3, 2020
From: BLUE YONDER GROUP, INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 053383/0117 →
CHANGE OF NAME Recorded Apr 14, 2020
From: JDA SOFTWARE GROUP, INC.
To: BLUE YONDER GROUP, INC.
Reel/Frame 052392/0720 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 29556/0809 Recorded Oct 12, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: JDA SOFTWARE GROUP, INC.
Reel/Frame 040337/0356 →
SECURITY AGREEMENT Recorded Oct 12, 2016
From: RP CROWN PARENT, LLC; RP CROWN HOLDING LLC; JDA SOFTWARE GROUP, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 040326/0449 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 29556/0697 Recorded Oct 12, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: JDA SOFTWARE GROUP, INC.
Reel/Frame 040337/0053 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 2, 2013
From: JDA SOFTWARE GROUP, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 029556/0697 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 2, 2013
From: JDA SOFTWARE GROUP, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 029556/0809 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Dec 21, 2012
From: WELLS FARGO CAPITAL FINANCE, LLC
To: JDA TECHNOLOGIES US, INC.
Reel/Frame 029529/0812 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2011
From: JDA TECHNOLOGIES US, INC.
To: JDA SOFTWARE GROUP, INC.
Reel/Frame 026740/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2011
From: I2 TECHNOLOGIES US, INC
To: JDA TECHNOLOGIES US, INC
Reel/Frame 026468/0119 →
PATENT SECURITY AGREEMENT Recorded Apr 4, 2011
From: JDA TECHNOLOGIES US, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 026072/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2001
From: I2 TECHNOLOGIES, INC.
To: I2 TECHNOLOGIES US, INC.
Reel/Frame 012033/0588 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2001
From: TENORIO, MANOEL
To: I2 TECHNOLOGIES, INC.
Reel/Frame 011930/0481 →