Claims
- 1. In a computing device, a method of dynamically configuring the computing device for peer networking, comprising:
on introduction of the computing device on a network, obtaining a dynamically assigned address for the computing device; utilizing a naming protocol to resolve device names of other computing devices present on the network; utilizing a discovery protocol to discover other computing devices present on the network by device type or capability; and utilizing a device description protocol to obtain data descriptive of a protocol for invoking operational function of the other computing devices, whereby the computing device automatically self-configures to establish a communications connection with another computing device present on the network and interact with said other computing device using the described protocol for invoking said other computing device's operational functions.
- 2. A computer-readable data-carrying media having encoded thereon a software program executable on a computing device for dynamic self-bootstrapping of the computing device for peer networking, the software program comprising:
an addressing module for obtaining a device address for the computing device on a network supporting peer networking; a naming module for resolving a name of another computing device on the network and establishing a communications connection with such other computing device; a discovery module for discovering other computing devices on the network by device type or capability, and establishing a communications connection with a desired such other computing device; and a description module for obtaining descriptive data from the other computing device to which a communications connection is established, such descriptive data defining a protocol for invocation of operational functions of the other computing device; whereby the computing device automatically self-configures to control the operational functions of the other computing device.
- 3. A process of automatically introducing a computing device into an ad hoc network of other computing devices, the process having an address phase, an announce phase, a discovery phase, a discovery response phase, and a device description phase, the process comprising:
at the address phase, selecting by the computing device an address from a reserved range of addresses, pinging the selected address on the ad hoc network, and assigning the selected address to the computing device if there is no response to said pinging the selected address; at the announce phase, sending a multi-cast message by the computing device to said other computing devices on the ad hoc network announcing the address assigned to the computing device; at the discovery phase, listening by the computing device for a discovery message from a discovery client among said other computing devices; at the discovery response phase, upon receiving a discovery message specifying a device type of the computing device and having a discovery message identifier, sending a response message by the computing device identifying the address assigned to the computing device and the discovery message identifier; at the device description phase, responding by the computing device to a description request from another computer device on the ad hoc network with a description message defining computing device-specific protocol of data messages for interacting with the computing device to control operational functions of the computing device.
- 4. The process of claim 3 wherein the description message further contains presentation data defining a user interface to be presented on said other description-requesting computing device for a user to control operational functions of the computing device from the description-requesting computing device.
- 5. The process of claim 4 wherein the description message further contains a link to style sheet data for defining separate views of the presentation data on the description-requesting computing device.
- 6. The process of claim 3 wherein the description message is formatted according to a mark-up language.
- 7. The process of claim 3 wherein the response message comprises a link to the description message.
- 8. The process of claim 3 wherein the response message comprises a device type identifier of the computing device.
- 9. The process of claim 3 wherein the computing device has a predetermined name, said sending a multi-cast message at the announce phase further comprising sending the predetermined name in the multi-cast message.
- 10. The process of claim 3 wherein said listening for a discovery message from a discovery client at the discovery phase comprises listening for the discovery message sent via multi-cast from the discovery client.
- 11. A computer-readable data-carrying medium having encoded thereon a computer-executable software program for automatically introducing a computing device into an ad hoc network, the software program comprising:
an addressing module operating upon introduction of a computing device to the ad hoc network to select an address from a predetermined range of addresses, to ping the selected address on the ad hoc network, and absent any response to said pinging the selected address to assign the selected address to the computing device; an announce module operating after the computing device has an assigned address to send an announcement message via multi-cast on the ad hoc network, where the announcement message specifies the computing device's assign ed address; a discovery module operating after the announcement message is sent to listen for a discovery message sent from a discovery client via multi-cast on the ad hoc network relating to a device type of the computing device, the discovery message having a message identifier; a discovery response module operating upon receipt of the discovery message to send a response message identifying the assigned address of the computing device and the message identifier; and a description module operating upon receipt of a description request message to send a description message defining a protocol for interaction via data messages by another computing device on the ad hoc network with the computing device to operate the computing device.
- 12. The computer-readable data-carrying medium of claim 11 wherein the description message further contains presentation data defining a user interface to be presented on said other computing device for a user to control operation of the computing device from the other computing device.
- 13. The computer-readable data-carrying medium of claim 12 wherein the description message further contains a link to style sheet data for defining separate views of the presentation data on the description-requesting computing device.
- 14. The computer-readable data-carrying medium of claim 11 wherein the description message is formatted according to a mark-up language.
- 15. The computer-readable data-carrying medium of claim 11 wherein the response message comprises a link to the description message.
- 16. The computer-readable data-carrying medium of claim 11 wherein the response message comprises a device type identifier of the computing device.
- 17. The computer-readable data-carrying medium of claim 11 wherein the computing device has a predetermined name, and the announcement message contains the predetermined name.
- 18. A dynamically self-bootstrapping computing device comprising:
addressing means for self-assigning an address for the computing device on an ad hoc network by selecting an address from a reserved range of addresses, pinging the selected address on the ad hoc network, and absent response to said pinging assigning the selected address to the computing device; announcing means for multi-casting an announcement message on a multi-cast communications channel of the ad hoc network informing of the computing device's assigned address; discovery means for listening on the multi-cast communications channel of the ad hoc network for a discovery message sent from a discovery client inquiring for a device type of the computing device; discovery response means for sending a response message responsive to the discovery message identifying the computing device; and description means responsive to a description request received by the computing device on the ad hoc network for sending a description message defining interaction via data messaging with the computing device to remotely operate the computing device over the ad hoc network.
- 19. The dynamically self-bootstrapping computing device of claim 18 wherein the description message further contains presentation data defining a user interface for remote presenting on another computing device for remotely operating the computing device over the ad hoc network.
- 20. The dynamically self-bootstrapping computing device of claim 19 wherein the description message further contains a link to style sheet data for defining separate views of the presentation data on said other computing device.
- 21. The dynamically self-bootstrapping computing device of claim 18 wherein the description message is formatted according to a mark-up language.
- 22. The dynamically self-bootstrapping computing device of claim 18 wherein the response message comprises a link to the description message.
- 23. The dynamically self-bootstrapping computing device of claim 18 wherein the response message comprises a device type identifier of the computing device.
- 24. The dynamically self-bootstrapping computing device of claim 18 wherein the computing device has a predetermined name, and the announcement message contains the predetermined name.
RELATED APPLICATION DATA
[0001] This application is based on provisional application number 60/139,137 filed Jun. 11, 1999, and provisional application number 60/160,235 filed Oct. 18, 1999.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60139137 |
Jun 1999 |
US |
|
60160235 |
Oct 1999 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09496318 |
Feb 2000 |
US |
Child |
09811236 |
Mar 2001 |
US |