US 7,617,184 B2
Scalable hierarchical data-driven navigation system and method for information retrieval
Adam Ferrari, Cambridge, Mass. (US); David Gourley, Boston, Mass. (US); Keith Johnson, Cambridge, Mass. (US); Frederick Knabe, Boston, Mass. (US); Andrew Lau, Cambridge, Mass. (US); Vinay Mohta, Cambridge, Mass. (US); Daniel Tunkelang, Cambridge, Mass. (US); and John Walter, Boston, Mass. (US)
Assigned to Endeca Technologies, Inc., Cambridge, Mass. (US)
Filed on Sep. 21, 2001, as Appl. No. 9/961,131.
Application 09/961131 is a continuation in part of application No. 09/573305, filed on May 18, 2000, granted, now 7,035,864.
Prior Publication US 2002/0051020 A1, May 02, 2002
Int. Cl. G06F 17/30 (2006.01)
U.S. Cl. 707—3  [707/6; 707/10; 707/102] 42 Claims
OG exemplary drawing
 
1. A method for presenting materials corresponding to a navigation state, the method comprising:
receiving a user selection of an expression of attribute-value pairs;
producing a plurality of refinement options and a plurality of ancestors by processing, in each server of a plurality of servers, the expression of attribute-value pairs to produce at least one refinement option and at least one ancestor;
combining the plurality of refinement options and plurality of ancestors to form combined refinement options, the combined refinement options including at least one refinement navigation state;
determining the navigation state associated with the expression of attribute-value pairs;
providing materials associated with the navigation state; and providing the combined refinement options,
wherein the combining comprises: taking a union of the plurality of refinement options, determining a set of ancestors for each refinement option of the plurality of refinement options, from the plurality of ancestors produced in the plurality of servers, to form sets of ancestors, computing an intersection of all of the sets of ancestors, and computing the combined refinement options based on terms in the intersection of all sets of ancestors, including identifying at least two related terms among the plurality of refinement options, and computing, for the at least two related terms, a least common ancestor of the related terms, and
wherein a first server of the plurality of servers acts as a master server and some of the plurality of servers act as slave servers, the method further comprising the master server distributing a request for a navigation state to a plurality of slave servers, the slave servers computing navigation states for requests and returning results to the master server, and the master server combining the results from the slave servers to obtain a navigation state corresponding to the request, wherein the combining of the results is based on the combining of the plurality of refinement options and plurality of ancestors.