1. A system comprising:
a memory; and
a processor configured to:
receive a multiple passenger, multiple route query;
search for sequences of flight segments and fares usable with the sequences of flight segments for airline tickets, in response to the multiple passenger, multiple route query, and with the multiple passenger, multiple route query involving different passenger groups taking different, but related routes, wherein each of the routes has an origin and a destination, and wherein at least one of the routes for one of the passenger groups has at least one intermediate stop between the origin and destination of that route; and
determine individual solutions for each of a plurality of the different passenger groups including flight segments between the origin and the destination for each of the routes, with at least two of the routes for at least two of the different passenger groups including at least one common flight segment that includes, as an origin or destination of the common flight segment, the at least one intermediate stop.
2. The system of claim 1, wherein the system is configured to:
execute a multiple passenger, multiple route process to process multiple passenger, multiple route queries and produce multiple passenger, multiple route answers.
3. The system of claim 2 wherein the multiple passenger, multiple route process combines the individual solutions for a plurality of the passenger groups into a set of potential joint solutions, and the system further comprises:
the processor is configured to produce a factored representation of the set of potential joint solutions.
4. The system of claim 3 wherein the factored representation of the set of potential joint solutions is an ANDOR Directed Acyclic Graph.
5. The system of claim 3 wherein solutions are enumerated from the factored representation.
6. The system of claim 3 wherein solutions are enumerated from the factored representation in an order determined by a joint travel preference function.
7. The system of claim 2 wherein the multiple passenger, multiple route process groups individual solutions from an individual query into sets of individual solutions for evaluating the individual solutions with respect to joint travel requirements.
8. The system of claim 1 further comprising:
a server that receives the multiple passenger, multiple route query and sends multiple, individual queries to a travel planning system and combines solutions received from execution of the multiple, individual queries by the travel planning system, producing answers for the multiple passenger, multiple route query.
9. The system of claim 8 wherein a client system sends the multiple passenger, multiple route query to the server that decomposes the multiple passenger, multiple route query into individual queries.
10. The system of claim 8 wherein the server combines the individual solutions for each of a plurality of the different passenger groups into potential joint solutions by matching each individual solution in sets of individual solutions with other individual solutions in the sets of individual solutions to provide a set of potential joint solutions.
11. The system of claim 8 wherein the server filters the individual solutions by joint travel requirements into potential joint solutions.
12. The system of claim 1 wherein the multiple passenger, multiple route query includes fields that allow user-specified joint travel requirements pertaining to flights for multiple passenger groups.
13. The system of claim 1 wherein a client system sends the multiple passenger, multiple route query directly to the system.
14. The system of claim 1 wherein a combination of individual queries for each passenger group comprises a set of joint travel requirements.
15. The system of claim 1 wherein an individual query for each of the different passenger groups is expressed as a set of information for each passenger group, the set comprising a set of joint travel requirements and a specification of how to choose among solutions received from the system.
16. A system for processing a multiple passenger, multiple route query, the system comprising:
a travel planning system that searches one or more databases for sequences of flight segments and fares usable with the sequences of flight segments for airline tickets in response to the multiple passenger, multiple route query, the travel planning system, comprising:
a server computer system configured to:
search for sequences of flight segments and fares usable with the sequences of flight segments for airline tickets, in response to the multiple passenger, multiple route query, and with the multiple passenger, multiple route query involving different passenger groups taking different, but related routes, wherein each of the routes has an origin and a destination, and wherein at least one of the routes for one of the passenger groups has at least one intermediate stop between the origin and destination of that route; and
determine individual solutions for each of a plurality of the different passenger groups including flight segments between the origin and the destination for each route, with at least two of the routes for at least two of the different passenger groups including at least one common flight segment that includes as an origin or destination of the common flight segment the at least one intermediate stop.
17. The system of claim 16 wherein a client sends a multiple passenger, multiple route query to the server and wherein the server produces multiple, individual queries from the multiple passenger, multiple route query.
18. The system of claim 17 wherein the server combines the individual solutions for each of a plurality of the different passenger groups into potential joint solutions, and the system is further configured to produce a factored representation of the set of potential joint solutions.
19. The system of claim 18 wherein solutions are enumerated from the factored representation.
20. The system of claim 19 wherein solutions are enumerated from the factored representation in an order determined by a joint travel preference function.
21. The system of claim 17 wherein the server combines the individual solutions for each of a plurality of the different passenger groups into potential joint solutions by matching each individual solution in sets of individual solutions with other individual solutions in the sets of individual solutions to provide a list of potential joint solutions.
22. The system of claim 17 wherein the server combines the individual solutions for each of a plurality of the different passenger groups into potential joint solutions by filtering the individual solutions by joint travel requirements.
23. The system of claim 16 wherein the travel planning system comprises a scheduling process and a faring process that produces travel solutions comprising priced itineraries.
24. The system of claim 16 wherein the multiple passenger, multiple route query includes a set of information for each passenger group, the set comprising an individual query and a set of joint travel requirements.
25. The system of claim 16 wherein the multiple passenger, multiple route query includes a set of information for each passenger group, the set comprising an individual query, a set of joint travel requirements, and a specification of how to choose among solutions received from the travel planning system.
26. A computer implemented method executed over a computer network for processing a multiple passenger, multiple route query, the method comprising:
searching by a computer for airline tickets in response to queries; and
determining by the computer answers that satisfy the queries, with the queries involving different passengers taking different, but related routes and the routes of different passenger groups sharing at least one common flight sequence that involves an intermediate stop between origins and destinations of the routes.
27. The method of claim 26 further comprising:
sending multiple, individual queries to a travel planning system by a server; and
combining, on the server, solutions received from execution of the multiple, individual queries by the travel planning system, to determine the answers for the multiple passenger, multiple route query.
28. The method of claim 27 further comprising:
sending the multiple passenger, multiple route query to the server from a client.
29. The method of claim 27 wherein combining comprises:
matching each individual solution in lists of individual solutions with other individual solutions in the lists of individual solutions to provide a list of potential joint solutions.
30. The method of claim 27 wherein combining comprises:
filtering the individual solutions by joint travel requirements.
31. The method of claim 27 wherein combining comprises:
producing a factored representation of a set of joint solutions.
32. The method of claim 26 wherein the multiple passenger, multiple route query relates to joint planning of trips for multiple passenger groups.
33. The method of claim 26 further comprising:
sending the multiple passenger, multiple route query by a client directly to a travel planning system.
34. A computer program product comprising instructions embodied on a tangible, non-transitory computer-readable media, the instructions operable when executed to cause a computing system to perform operations comprising:
receiving a multiple passenger, multiple route query;
searching for sequences of flight segments and fares usable with the sequences of flight segments for airline tickets, in response to the multiple passenger, multiple route query, and with the multiple passenger, multiple route query involving different passenger groups taking different, but related routes, wherein each of the routes has an origin and a destination, and wherein at least one of the routes for one of the passenger groups has at least one intermediate stop between the origin and destination of that route; and
determining individual solutions for each of a plurality of the different passenger groups including flight segments between the origin and the destination for each of the routes, with at least two of the routes for at least two of the different passenger groups including at least one common flight segment that includes, as an origin or destination of the common flight segment the at least one intermediate stop.
35. The computer program product of claim 34, wherein the instructions are operable when executed to cause a computing system to:
execute a multiple passenger, multiple route process to process multiple passenger, multiple route queries and produce multiple passenger, multiple route answers.
36. The computer program product of claim 35 wherein the multiple passenger, multiple route process combines the individual solutions for a plurality of the passenger groups into a set of potential joint solutions, and the computer program product further comprises instructions operable when executed to cause a computing system to produce a factored representation of the set of potential joint solutions.
37. The computer program product of claim 36 wherein the factored representation of the set of potential joint solutions is an ANDOR Directed Acyclic Graph.
38. The computer program product of claim 36 wherein solutions are enumerated from the factored representation.
39. The computer program product of claim 36 wherein solutions are enumerated from the factored representation in an order determined by a joint travel preference function.
40. The computer program product of claim 35 wherein the multiple passenger, multiple route process groups individual solutions from an individual query into sets of individual solutions for evaluating the individual solutions with respect to joint travel requirements.
41. The computer program product of claim 34 further comprising:
a server that receives the multiple passenger, multiple route query and sends multiple, individual queries to a travel planning system and combines solutions received from execution of the multiple, individual queries by the travel planning system, producing answers for the multiple passenger, multiple route query.
42. The computer program product of claim 41 wherein a client system sends the multiple passenger, multiple route query to the server that decomposes the multiple passenger, multiple route query into individual queries.
43. The computer program product of claim 41 wherein the server combines the individual solutions for each of a plurality of the different passenger groups into potential joint solutions by matching each individual solution in sets of individual solutions with other individual solutions in the sets of individual solutions to provide a set of potential joint solutions.
44. The computer program product of claim 41 wherein the server filters the individual solutions by joint travel requirements into potential joint solutions.
45. The computer program product of claim 34 wherein the multiple passenger, multiple route query includes fields that allow user-specified joint travel requirements pertaining to flights for multiple passengers groups.
46. The computer program product of claim 34 wherein a client system sends the multiple passenger, multiple route query directly to the computing system.
47. The computer program product of claim 34 wherein a combination of individual queries for each passenger group comprises a set of joint travel requirements.
48. The computer program product of claim 34 wherein an individual query for each of the different passenger groups is expressed as a set of information for each passenger group, the set comprising a set of joint travel requirements and a specification of how to choose among solutions received from the system.
49. A computer implemented method comprising:
searching for airline tickets in a travel planning system in response to queries;
sending by a server multiple, individual queries to the travel planning system; and
combining solutions received from execution of the multiple, individual queries by the travel planning system to provide answers for a multiple passenger, multiple route query with the answers comprising flight segments with at least two routes for at least two different passenger groups including at least one common flight segment that includes an intermediate stop for one of the at least two routes.
50. The method of claim 49 wherein the travel planning system comprises:
scheduling and faring to produce travel solutions comprising priced itineraries.
51. The method of claim 49 further comprising:
sending a multiple passenger, multiple route query to the server from a client.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A hard disk drive comprising:
a logic core to control selection of an operation mode of the hard disk drive, the operation mode including a low power mode and an active mode;
a communication interface in communication with the logic core; and
a module to generate a first signal and a second signal, the logic core responsive to the first signal to maintain configuration information for the communication interface during the low power mode, the second signal being used to keep the communication interface active during the low power mode.
2. The hard disk drive of claim 1 wherein the logic core stores data defining a device identifier and data defining a configuration for the hard disk drive during the low power mode.
3. The hard disk drive of claim 2 wherein the communication interface comprises a Universal Serial Bus (USB) interface and wherein the logic core stores data defining a USB device identifier and a USB configuration.
4. The hard disk drive of claim 1 wherein substantially all circuits of the hard disk drive are powered down during the low power mode with the exception of the logic core, the communication interface, and the module.
5. The hard disk drive of claim 1 wherein the module comprises a voltage regulator configurable between an active configuration for the active mode and a low power configuration for the lower power mode.
6. The hard disk drive of claim 5 wherein the low power mode includes a linear open loop mode.
7. The hard disk drive of claim 1 wherein the module comprises a bandgap regulator that is used to generate the second signal.
8. The hard disk drive of claim 1 wherein the module comprises a regulator dedicated to operation of the communication interface.
9. The hard disk drive of claim 1 further comprising a motor controller having a spindle core circuit and a voice coil motor circuit, wherein the motor controller is powered down in the low power mode.
10. The hard disk drive of claim 1 wherein the hard disk drive has a standby current of less than about 500 microamps in the low power mode.
11. A hard disk drive comprising:
means for controlling selection of an operation mode of the hard disk drive, the operation mode including a low power mode and an active mode;
means for external communication which is in communication with the means for controlling;
module means for generating a first signal and a second signal, the means for controlling responsive to the first signal to maintain configuration information for the means for external communication during the low power mode, the second signal for keeping the means for external communication active during the low power mode.
12. The hard disk drive of claim 11 wherein the means for controlling includes means for storing data defining a device identifier and data defining a configuration for the hard disk drive during the low power mode.
13. The hard disk drive of claim 12 wherein the means for external communication comprises a Universal Serial Bus (USB) interface and wherein the means for controlling includes means for storing data defining a USB device identifier and a USB configuration.
14. The hard disk drive of claim 13 wherein the means for controlling stores data defining a USB device identifier and data defining a USB configuration for the hard disk drive during the low power mode.
15. The hard disk drive of claim 11 wherein substantially all circuits of the hard disk drive are powered down during the low power mode, with the exception of the means for controlling, the means for external communication, and the module means.
16. The hard disk drive of claim 11 wherein the module means comprises a voltage regulator configurable between an active configuration for the active mode and a low power configuration for the lower power mode.
17. The hard disk drive of claim 16 wherein the low power mode includes a linear open loop mode.
18. The hard disk drive of claim 11 wherein the module means comprises a bandgap regulator to generate the second signal.
19. The hard disk drive of claim 11 wherein the module means comprises a regulator dedicated to operation of the means for external communication.
20. The hard disk drive of claim 11 further comprising a motor controller including a spindle core circuit and a voice coil motor circuit, wherein the motor controller is powered down in the low power mode.
21. A low power method for a hard disk drive, the method comprising:
engaging the hard disk drive in a low power mode;
maintaining the availability of configuration information for external communication during the low power mode; and
keeping circuitry to be used for external communication in an active state during the low power mode.
22. The method of claim 21 further comprising:
storing data defining a USB device identifier and storing data defining a USB configuration for the hard disk drive during the low power mode.
23. The method of claim 22 further comprising powering down substantially all other operations of the hard disk drive during the low power mode.
24. The method of claim 21 wherein keeping the circuitry to be used for external communication in an active state comprises switching the circuitry from an active configuration in an active mode to a low power configuration in the lower power mode.
25. The method of claim 21 wherein the low power configuration includes a linear mode.
26. A hard disk drive having a selectable low power mode, the hard disk drive comprising:
a Universal Serial Bus (USB) interface; and
a system on a chip (SoC) core configured to maintain the availability of configuration data for the USB interface and keep the USB interface in an active state when the hard disk drive is in the low power mode,
wherein the configuration data is available in the lower power mode as if the hard disk drive is in an active mode.
27. The hard disk drive of claim 26 wherein the SoC core comprises logic to direct the hard disk drive to enter the low power mode from the active mode.
28. The hard disk drive of claim 26 further comprising a SoC regulator to generate a SoC regulating signal, the SoC core remaining in an active state in response to the SoC regulating signal when the hard disk drive is in the low power mode.
29. The hard disk drive of claim 28 wherein the SoC regulator operates in a linear mode when the hard disk drive is in the low power mode.
30. The hard disk drive of claim 28 further comprising a USB regulator to generate a USB regulating signal, the USB interface remaining in the active state in response to the USB regulating signal when the hard disk drive is in the low power mode.
31. A hard disk drive having a selectable low power mode, the hard disk drive comprising:
a Universal Serial Bus (USB) interface; and
system on a chip (SoC) core means for maintaining the availability of configuration data for the USB interface and for keeping the USB interface in an active state when the hard disk drive is in the low power mode,
wherein the configuration data is available in the low power mode as if the hard disk drive is in an active mode.
32. The hard disk drive of claim 31 wherein the SoC core means comprises means for directing the hard disk drive to enter the low power mode from the active mode.
33. The hard disk drive of claim 31 further comprising a SoC regulating means for generating a SoC regulating signal, the SoC core means remaining in an active state in response to the SoC regulating signal when the hard disk drive is in the low power mode.
34. The hard disk drive of claim 33 wherein the SoC regulating means operates in a linear mode when the hard disk drive is in the low power mode.
35. The hard disk drive of claim 33 further comprising USB regulating means for generating a USB regulating signal, the USB interface remaining in the active state in response to the USB regulating signal when the hard disk drive is in the low power mode.
36. A low power mode entry method for a hard disk drive, the method comprising:
activating an enable signal to enter a low power mode;
switching a regulator from a switching mode to a linear mode of operation to generate a first regulated signal in the low power mode; and
in response to the first regulated signal, maintaining availability of configuration information for a communication interface to enable external communication with the hard disk drive in the low power mode.
37. The method of claim 36 further comprising:
generating a second regulated signal; and
in response to the second regulated signal, maintaining the communication interface in the active state in the low power mode.
38. The method of claim 37 further comprising:
receiving a wakeup signal; and
in response to the wakeup signal, switching the regulator from the linear mode to the switching mode of operation to generate the first regulated signal.
39. A hard disk drive having a low power mode of operation and an active mode of operation, the hard disk drive comprising:
a system on a chip (SoC) including
an SoC core to issue a low power mode entry command to initiate entry to the low power mode from the active mode;
a Universal Serial Bus (USB) interface in communication with the SoC core;
a motor controller including
a first regulator to generate a first signal, the SoC core responsive to the first signal to maintain configuration information for the USB interface during the low power mode, and
a second regulator to generate a second signal to keep the USB interface active during the low power mode; and
a signal path in communication with the SoC and the motor controller to convey the low power mode entry command from the SoC core to the motor controller.
40. The hard disk drive of claim 39 wherein
the SoC core is operative to communicate a serial data enable signal on the signal path after issuing the low power mode entry command to enter the low power mode; and
in response to the serial data enable signal, the motor controller is operative to switch the first regulator from a switching mode to a linear mode of operation to generate a regulated signal, the regulated signal being supplied to the SoC core to maintain configuration data for the USB interface to enable external communication in the low power mode.