1. A communication apparatus that works as a sub-device and wirelessly transmitsreceives encrypted device identification data and encrypted communication data tofrom a plurality of communication apparatuses that works as main-devices, the communication apparatus working as the sub-device comprising:
a storage unit that stores therein connection information that includes an encryption key and device identification data, the encryption key being used to encrypt information to be transmitted;
a detecting unit that detects a main device connectable to the sub-device;
a specifying unit that specifies, when the detecting unit detects a first main-device and a second main-device as main devices connectable to the sub-device, the first main-device as a target main-device to be connected from among the first main-device and the second main-device based on priority information about the first main-device and the second main-device; and
a communicating unit that wirelessly communicates with the target main-device by using the connection information corresponding to the target main-device in the storage unit, wherein
when the detecting unit detects a third main-device connectable to the sub-device while the communicating unit is communicating with the first main-device, the specifying unit re-specifies a target main-device to be connected from among the main-devices connectable to the sub-device based on the priority.
2. The communication apparatus according to claim 1, wherein when the sub-device is disconnected from the first main-device, the specifying unit specifies the target main-device from among the main-devices connectable to the sub-device detected by the detecting unit based on the priority.
3. The communication apparatus according to claim 1, further comprising:
a first storing control unit that stores connection log-data in the storage unit, the connection log-data indicative of a log of connection with each of the main-devices; and
a first priority storing unit that calculates the priority from the connection log-data in the storage unit and stores calculated priority in the storage unit in associated with the connection log-data, wherein
the specifying unit specifies the target main-device based on the priority in the storage unit.
4. The communication apparatus according to claim 3, wherein
the connection log-data includes at least one from among items including frequency of previous connection, amount of data to be transferred at previous connection, elapsed time since a first connection, elapsed time since a latest connection, and type of application that is used at previous connection,
the first priority storing unit calculates the priority from at least one item of the connection log-data as a priority parameter and stores the calculated priority in the storage unit, and
the specifying unit specifies the target main-device based on the priority in the storage unit.
5. The communication apparatus according to claim 4, further comprising a receiving unit that receives a command from a user, wherein
when the receiving unit receives a setting command to specify at least one item of the connection log-data as the priority parameter, the first priority storing unit calculates the priority from specified priority parameter and stores the calculated priority in the storage unit.
6. The communication apparatus according to claim 1, further comprising a second priority storing unit that calculates the priority from the device identification data in the connection information and stores calculated priority in the storage unit, wherein
the specifying unit specifies the target main-device based on the priority in the storage unit.
7. The communication apparatus according to claim 1, wherein when the detecting unit detects the third main-device connectable to the sub-device while the communicating unit is communicating with the first main-device, the specifying unit re-specifies the target main-device by comparing the priority of the first main-device and the priority of the main-devices connectable to the sub-device detected by the detecting unit.
8. The communication apparatus according to claim 1, further comprising:
a receiving unit that receives a command from a user; and
a second storing control unit that updates, when the receiving unit receives a setting command to set a switching mode to ONOFF, a switch flag stored in the storage unit to ONOFF based on the setting command, wherein
when the switch flag is ON, the specifying unit re-specifies the target main-device to be connected.
9. The communication apparatus according to claim 1, further comprising a receiving unit that receives a command from a user, wherein when the receiving unit receives a switch command to switch to another main-device while the communicating unit is communicating with the first main-device,
the detecting unit detects a main-device connectable to the sub-device other than the first main-device, and
the specifying unit re-specifies, if the detecting unit detects a plurality of main-devices connectable to the sub-device other than the first main-device, the target main-device to be connected from among the main-devices detected by the detecting unit based on the priority.
10. The communication apparatus according to claim 1, further comprising:
a receiving unit that receives a command from a user; and
a third storing control unit that updates, when the receiving unit receives a setting command to set a value indicative of the priority, the value indicative of the priority stored in the storage unit based on the setting command.
11. The communication apparatus according to claim 1, wherein when the sub-device is disconnected from the first main-device and the specifying unit re-specifies the target main-device to be connected, the communicating unit communicates with the target main-device to be connected re-specified by the specifying unit.
12. A communication method of communicating between a communication apparatus that works as a sub-device and wirelessly transmitsreceives encrypted device identification data and encrypted communication data tofrom a plurality of communication apparatuses that works as main-devices, the communication apparatus working as the sub-device performing:
detecting a main device connectable to the sub-device;
specifying, when a first main-device and a second main-device are detected at the detecting as main devices connectable to the sub-device, the first main-device as a target main-device to be connected from among the first main-device and the second main-device based on priority information about the first main-device and the second main-device; and
establishing wirelessly communication with the target main-device by using the connection information corresponding to the target main-device stored in a storage unit, wherein
when a third main-device connectable to the sub-device is detected at the detecting while the communicating unit is communicating with the first main-device, the specifying includes re-specifies a target main-device to be connected from among the main-devices connectable to the sub-device based on the priority.
13. The communication method according to claim 12, wherein when the sub-device is disconnected from the first main-device, the specifying includes specifying the target main-device from among the main-devices connectable to the sub-device detected at the detecting based on the priority.
14. The communication method according to claim 12, further comprising:
storing connection log-data in the storage unit, the connection log-data indicative of a log of connection with each of the main-devices; and
calculating the priority from the connection log-data in the storage unit, and storing calculated priority in the storage unit in associated with the connection log-data, wherein
the specifying includes specifying the target main-device based on the priority in the storage unit.
15. The communication method according to claim 14, wherein
the connection log-data includes at least one from among items including frequency of previous connection, amount of data to be transferred at previous connection, elapsed time since a first connection, elapsed time since a latest connection, and type of application that is used at previous connection,
the calculating includes calculating the priority from at least one item of the connection log-data as a priority parameter and storing the calculated priority in the storage unit, and
the specifying includes specifying the target main-device based on the priority in the storage unit.
16. The communication method according to claim 15, further comprising receiving a command from a user, wherein
when the command received at the receiving is a setting command to specify at least one item of the connection log-data as the priority parameter, the calculates includes calculating the priority from specified priority parameter and storing the calculated priority in the storage unit.
17. The communication method according to claim 12, further comprising calculates the priority from the device identification data in the connection information and storing calculated priority in the storage unit, wherein
the specifying includes specifying the target main-device based on the priority in the storage unit.
18. The communication method according to claim 12, wherein the third main-device connectable to the sub-device is detected at the detecting while the communicating unit is communicating with the first main-device, the specifying includes re-specifies the target main-device by comparing the priority of the first main-device and the priority of the main-devices connectable to the sub-device detected at the detecting unit.
19. The communication method according to claim 12, further comprising:
receiving a command from a user; and
updating, when the command received at the receiving is a setting command to set a switching mode to ONOFF, a switch flag stored in the storage unit to ONOFF based on the setting command, wherein
when the switch flag is ON, the specifying includes re-specifies the target main-device to be connected.
20. The communication method according to claim 12, further comprising receives a command from a user, wherein when the command received at the receiving is a switch command to switch to another main-device while the communicating unit is communicating with the first main-device,
the detecting includes detecting a main-device connectable to the sub-device other than the first main-device, and
the specifying includes re-specifies, a plurality of main-devices connectable to the sub-device other than the first main-device is detected at the detecting, the target main-device to be connected from among the main-devices detected at the detecting based on the priority.
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 computer-implemented method of optimizing a machine-learned ranking algorithm, comprising:
a. implementing the algorithm as a sequence of decision trees involving decision nodes based on threshold values of features;
b. analyzing the threshold feature values to determine threshold intervals for each feature;
c. grouping the decision trees according to the feature used in a root decision node;
d. coalescing the decision trees within each group to form a coalesced group tree for each group; and
e. coalescing the coalesced group trees to form a coalesced tree that implements the algorithm.
2. The computer-implemented method of claim 1, wherein coalescing proceeds by traversing the first decision tree of a group, updating values stored in leaf nodes of the first decision tree and incorporating portions of other decision trees.
3. The computer-implemented method of claim 1, further comprising trimming the coalesced tree to form a coalesced trimmed tree.
4. A ranking optimization module for optimizing a machine-learned ranking algorithm implemented as a sequence of decision trees involving decision nodes based on threshold values of features, comprising:
a. a grouping element configured to group the decision trees according to the feature used in a root decision node;
b. an interval determination element configured to analyze the threshold feature values to determine threshold intervals for each feature; and
c. a coalescing element configured to coalesce the decision trees within each group to produce a coalesced group tree for each group and to coalesce the coalesced group trees to produce a coalesced tree that implements the algorithm.
5. The ranking optimization module of claim 4, wherein coalescing proceeds by traversing the first decision tree of a group, updating values stored in leaf nodes of the first decision tree and incorporating portions of other decision trees to produce a coalesced group tree for the group.
6. The ranking optimization module of claim 4, wherein the machine-learned ranking algorithm is embodied in a software library.
7. The ranking optimization module of claim 4, wherein the coalesced tree produced is embodied in a software library.
8. The ranking optimization module of claim 4, further comprising a trimming element configured to reduce the size of the coalesced tree
9. The ranking optimization module of claim 4, wherein trimming proceeds by eliminating zero-valued nodes.
10. The ranking optimization module of claim 4, wherein the coalesced tree produced algorithm is embodied in computer-readable code.
11. A system for providing results ranked by an optimized machine-learned ranking algorithm, comprising:
a. retrieval module for selecting a document set based on an action by a user;
b. ranking module for ranking the document set based on a machine-learned ranking algorithm optimized via decision-tree coalescing to form a ranked results set;
c. serving module configured to serve a portion of the ranked results set to the user.
12. The system of claim 11, wherein the ranking module is complied from a machine-learned ranking library.
13. The system of claim 12, wherein the ranking module is optimized during compilation.
14. The system of claim 11, wherein the ranking module is complied from an optimized machine-learned ranking library optimized via decision-tree coalescing prior to compilation.
15. The system of claim 11, wherein the ranked results set is web documents and the user action is entry of a search query.
16. The system of claim 11, wherein the ranked results set is advertisements.
17. The system of claim 11, wherein the decision-tree coalescing occurs asynchronously relative to the action by the user.