Claims
- 1. A method for discovering at least one computing object by an address space arbitrator (ASA) object in communication with an acquisition authority object (and/or person) in a logical network on a public medium, comprising:
discovering at least a serial number for the computing object including:
sending at least one request message; and receiving at least one response message in response to said at least one request message, wherein said discovering is one of (A) initiated by the ASA object on a periodic basis and (B) initiated by the acquisition authority object when a computing object of the at least one computing object is instantiated on the public medium.
- 2. A method according to claim 1, wherein said sending at least one request message includes targeting un-acquired computing objects using a range of device serial number digests.
- 3. A method according to claim 2, wherein said targeting includes:
setting a range of device serial number digests to cover the whole address space allocated by the ASA; sending a request message for each address in the range; and counting the number of valid response messages received for the range.
- 4. A method according to claim 3, wherein said counting occurs only for a pre-set time period before it is assumed that no more replies are forthcoming.
- 5. A method according to claim 3, wherein the whole address space includes a range of serial number digests.
- 6. A method according to claim 3, further including:
if the count is greater than a first threshold, reducing the spread of the range; recalculating the endpoints of the range using the reduced spread; and repeating said sending of the request message for each address in the range.
- 7. A method according to claim 3, further including:
If the count is less than a second threshold, increasing the spread of the range; recalculating the endpoints of the range using the increased spread; and repeating said sending of the request message for each address in the range.
- 8. A method according to claim 4, wherein the pre-set period of time is calculated to be greater than the time of a data link backoff mechanism with timeout that determines when to stop waiting for a response message plus the transmission time for a response message.
- 9. A method according to claim 6, wherein said counting occurs only for a pre-set time period before it is assumed that no more replies are forthcoming and wherein the first threshold is calculated to be greater than one and less than the maximum number of response messages that can physically be transmitted in the pre-set period of time.
- 10. A method according to claim 7, wherein said counting occurs only for a pre-set time period before it is assumed that no more replies are forthcoming and wherein the second threshold is calculated to be less than the minimum number of response messages that can physically be transmitted in the pre-set period of time.
- 11. A method according to claim 1, wherein said discovering includes, for each of the at least one computing objects, discovering the serial number of the computing object, an encryption nonce, a membership lease and a presence lease.
- 12. A method according to claim 1, further including, after said discovering, retrieving human-readable information about each of the at least one computing device to provide additional information about the object being acquired.
- 13. A method according to claim 1, wherein when said discovering includes discovering already acquired devices on the logical network, in place of said setting the range of device serial number digests to cover the whole address space allocated by the ASA, said setting includes, for the type of physical network, setting the range from the lowest existing address for an object to the highest existing address for an object.
- 14. At least one of an operating system, driver code, an application programming interface, a tool kit and a processing device for providing the method of discovering of claim 1.
- 15. A modulated data signal carrying computer executable instructions for performing the method of claim 1.
- 16. A computing device comprising means for performing the method of claim 1.
- 17. An address space arbitrator (ASA) object for the management of a logical network and for keeping a logical network secure, even though the underlying physical network is a shared media, comprising:
a discovery component that discovers at least one serial number for at least one computing object in the logical network by sending at least one request message and receiving at least one response message in response to said at least one request message, wherein said discovering is one of initiated by the ASA object on a periodic basis and initiated by an acquisition authority object when a computing object of the at least one computing object is instantiated on the public medium.
- 18. An ASA object according to claim 17, wherein said discovery component targets a range of device serial number digests to cover the whole address space allocated by the ASA, sends a request message for each address in the range and counts the number of valid response messages received for the range.
- 19. An ASA object according to claim 18, wherein said counting occurs only for a pre-set time period before it is assumed that no more replies are forthcoming, wherein the pre-set period of time is calculated to be greater than the time of a data link backoff mechanism that determines when to stop waiting for a response message plus the transmission time for a response message.
- 20. An ASA object according to claim 18, wherein if the count is greater than a first threshold, the discovery component reduces the spread of the range, recalculates the endpoints of the range using the reduced spread and repeats said sending of a request message for each address in the range, wherein the first threshold is calculated to be greater than one and less than the maximum number of response messages that can physically be transmitted in the pre-set period of time.
- 21. An ASA object according to claim 18, wherein if the count is less than a second threshold, the discovery component increases the spread of the range, recalculates the endpoints of the range using the increased spread and repeats said sending of a request message for each address in the range, wherein the second threshold is calculated to be less than the minimum number of response messages that can physically be transmitted in the pre-set period of time.
- 22. An ASA object according to claim 17, w herein said discovery component collects, for each of the at least one computing objects, information including the serial number of the computing object, an encryption nonce, a membership lease and a presence lease.
- 23. An ASA object according to claim 17, wherein said discovery component optionally retrieves human-readable information about each of the at least one computing device.
- 24. An ASA object according to claim 17, wherein when said discovery component is used to discover already acquired devices on the logical network, in place of setting the range of device serial number digests to cover the whole address space allocated by the ASA, setting includes, for the type of physical network, setting the range from the lowest address for an existing object to the highest address for an existing object.
- 25. A method for acquiring at least one computing object by an address space arbitrator (ASA) object communicatively coupled to an acquisition authority object in a logical network on a public medium, comprising:
at the request of the acquisition authority object, assigning a node identification (ID) to a computing object of the at least one computing object by sending at least one request message utilizing information collected by the ASA object in a discovery process and information provided by the acquisition authority object; and acquiring the computing object into the logical network.
- 26. A method according to claim 25, wherein the assigning includes assigning node IDs in an order that is correlated to the presence lease of the computing object relative to the presence leases of other computing objects on the logical network without a priori knowledge of the presence leases of other computing objects.
- 27. A method according to claim 25, wherein the information collected by the ASA object in the discovery process includes a private ownership key, a nonce, a presence lease membership lease and at least one of an object serial number and a digest of an object serial number.
- 28. A method according to claim 25, wherein the information provided by the acquisition authority object includes the computing object's serial number digest and its Private Ownership Key (POK).
- 29. A method according to claim 25, wherein the information provided by the acquisition authority object includes the computing object's serial number digest and its Device Acquisition Key (DAK).
- 30. A method according to claim 29, wherein the DAK includes the computing object's POK and serial number digest and a 16-bit check code.
- 31. A method according to claim 25, wherein said assigning includes:
comparing the computing object's presence lease to a slow presence time out variable for the logical network.
- 32. A method according to claim 31, wherein if the computing object's presence lease is less than the slow presence time out variable, further including assigning a node ID that is in the range of node IDs for fast computing objects.
- 33. A method according to claim 31, wherein if the computing object's presence lease is greater than or equal to the slow presence time out variable, further including assigning a node ID that is in the range of node IDs for slow computing objects.
- 34. A method according to claim 25, further including reducing a range of free node IDs.
- 35. A method according to claim 34, wherein said reducing the range of free node IDs includes establishing a range of free IDs, the range of free IDs being between the first node of lesser or equal presence lease to at least one free node ID and the first node of greater presence lease after the at least one free node ID.
- 36. A method according to claim 35, wherein said reducing the range of free node IDs further includes choosing a node ID, calculated such that its ratio in the range is the ratio of the device's presence lease per the range of presence leases.
- 37. A method according to claim 25, wherein said acquiring includes sending an encrypted net assign message including a network key, AP variables for the logical network and its assigned node ID.
- 38. A method according to claim 37, wherein the encrypted net assign message is encrypted with the device's private ownership key and encryption nonce.
- 39. A method according to claim 38, wherein said acquiring further includes waiting for a pre-set time period allowing the computing object to retrieve the network time, and sign on the logical network.
- 40. A method according to claim 39, wherein said acquiring further includes sending an expunge node request message to the computing object and waiting for an expunge node response message.
- 41. A method according to claim 40, wherein said acquiring further includes, if a matching expunge node response message is not received within a predetermined amount of time, retrying the sending of an announce request message targeting the computing object by its computing object serial number to verify its presence on the physical network and to update the encryption nonce.
- 42. A method according to claim 40, wherein said acquiring further includes, if a matching announce response message is not received within a predetermined amount of time or the number of retries is at a ceiling, abandoning the acquisition.
- 43. At least one of an operating system, driver code, an application programming interface, a tool kit and a processing device for providing the method of acquiring of claim 25.
- 44. A modulated data signal carrying computer executable instructions for performing the method of claim 25.
- 45. A computing device comprising means for performing the method of claim 25.
- 46. An address space arbitrator (ASA) object communicatively coupled to an acquisition authority object (and/or person) for the management of a logical network and for keeping a logical network secure, even though the underlying physical network is a shared media, comprising:
an acquisition component that assigns a node identification (ID) to a computing object of at least one computing object on the logical network by sending at least one request message utilizing information collected by the ASA object in a discovery process and information provided by the acquisition authority object; and acquiring the computing object into the logical network.
- 47. An ASA object according to claim 46, wherein the acquisition component assigns node IDs in an order that is correlated to the presence lease of the computing object relative to the presence leases of other computing objects on the logical network without a priori knowledge of the presence leases of other computing objects.
- 48. An ASA object according to claim 46, wherein the information collected by the ASA object in the discovery process includes a private ownership key, a nonce, a presence lease membership lease and at least one of an object serial number and a digest of an object serial number.
- 49. An ASA object according to claim 46, wherein the information provided by the acquisition authority object includes the computing object's serial number digest and its Private Ownership Key (POK).
- 50. An ASA object according to claim 46, wherein said acquisition component compares the computing object's presence lease to a slow presence time out variable for the logical network.
- 51. An ASA object according to claim 50, wherein if the computing object's presence lease is less than the slow presence time out variable, further including assigning a node ID that is in the range of node IDs for fast computing objects and if the computing object's presence lease is greater than or equal to the slow presence time out variable, further including assigning a node ID that is in the range of node IDs for slow computing objects.
- 52. An ASA object according to claim 46, wherein the acquisition component reduces the range of free node IDs.
- 53. An ASA object according to claim 52, wherein the acquisition component reduces the range of free node IDs by establishing a range of free IDs, the range of free IDs being between the first node of lesser or equal presence lease to at least one free node ID and the first node of greater presence lease after the at least one free node ID and by choosing a node ID, calculated such that its ratio in the range is the ratio of the device's presence lease per the range of presence leases.
- 54. An ASA object according to claim 46, wherein said acquisition component acquires the computing object by sending an encrypted net assign message including a network key, AP variables for the logical network and its assigned node ID.
- 55. An ASA object according to claim 54, wherein the encrypted net assign message is encrypted with the device's private ownership key and encryption nonce.
- 56. An ASA object according to claim 55, wherein said acquisition component waits for a pre-set time period allowing the computing object to retrieve the network time, and sign on the logical network.
- 57. An ASA object according to claim 56, wherein said acquisition component sends at least one of a ping request and an expunge node request message to the computing object and waits for at least one of a ping response and an expunge node response message, respectively.
- 58. An ASA object according to claim 57, wherein, if a matching expunge node response message is not received within a predetermined amount of time, said acquisition component resends an announce request message targeting the computing object by its computing object serial number to verify its presence on the physical network and to update the encryption nonce.
- 59. An ASA object according to claim 57, wherein, if a matching announce response message is not received within a predetermined amount of time or the number of retries is at a ceiling, the acquisition component abandons the acquisition.
- 60. A method for maintaining at least one computing object by an address space arbitrator (ASA) object in a logical network on a public medium, comprising:
renewing the logical network key when the existing logical network key compromises security; and optimizing at least one application protocol (AP) variable based on at least one condition of the physical network and sending the at least one AP variable to at least one computing object on the logical network.
- 61. A method according to claim 60, wherein said sending of the at least one AP variable to the at least one computing object includes sending an encrypted AP variable message to a computing object the network ID, a source node ID, a destination node ID and the network time.
- 62. A method according to claim 60, wherein said renewing the logical network key includes renewing the logical network key periodically based upon when a counter associated with a nonce wraps around.
- 63. A method according to claim 60, wherein said renewing includes:
generating a cryptographically safe random number to be used as the new key; and for each computing object on the logical network, sending an encrypted net key assign message including the new network key and verifying that the computing object received and processed.
- 64. A method according to claim 63, wherein said verifying includes checking that the encryption nonce of the computing object has been incremented by using an announce request message and announce response message exchange.
- 65. A method according to claim 60, wherein said renewing includes:
sending a net key commit message, encrypted with the old network key, which causes all computing objects on the logical network to roll over to the new network key.
- 66. A method according to claim 65, wherein said renewing include sending the net key commit message a plurality of times.
- 67. A method according to claim 66, wherein said renewing includes:
for any computing object that did not roll over to the new network key, detecting that the computing object did not roll over and updating the computing object to the new network key using a net assign message.
- 68. A method according to claim 67, wherein said detecting includes detecting that a computing object did not roll over because a message associated with the computing object comes through to the ASA as encrypted with the wrong network key.
- 69. A method according to claim 60, wherein said optimizing includes lowering network traffic due to a large number of computing objects on the logical network by at least one of (A) optimizing presence AP variables such that the total traffic generated by presence keep alives is lower, (B) increasing slow and fast time outs and (C) adjusting the address space cut off between fast and slow presence devices such that it corresponds to the first node with a presence lease of equal or greater value.
- 70. A method according to claim 60, Wherein said optimizing includes analyzing the test path information collected by the ASA to correct adverse computing object-specific transmission conditions, by retrieving information about weak transmitter nodes and optimizing data link-related transmission AP variables.
- 71. A method according to claim 60, wherein said sending of the at least one AP variable to at least one computing object on the logical network includes:
segmenting the address space in groups of consecutive node identifications (IDs) such that each group of at least one node (a) has the same AP variables values and (b) includes at most a predetermined number of nodes; for each group of nodes, sending a write variables request message targeting the group, with a payload that includes the updated at least one AP variable value for the group; and after the request, at least one of (A) waiting for either all qualifying write variables response messages to come back or (B) waiting for a time out period to expire.
- 72. A method according to claim 71, further including retrying the transaction for a computing object for which a correct write variables response was not received.
- 73. At least one of an operating system, driver code, an application programming interface, a tool kit and a processing device for providing the method of maintenance of claim 60.
- 74. A modulated data signal carrying computer executable instructions for performing the method of claim 60.
- 75. A computing device comprising means for performing the method of claim 60.
- 76. An address space arbitrator (ASA) object for the management of a logical network and for keeping a logical network secure, even though the underlying physical network is a shared media, comprising:
a maintenance component that renews the logical network key when the existing logical network key compromises security and optimizes at least one application protocol (AP) variable based on at least one condition of the physical network and sends the at least one AP variable to at least one computing object on the logical network.
- 77. An ASA object according to claim 76, wherein the maintenance component sends at least one AP variable to the at least one computing object includes by sending to a computing object an encrypted AP variable message the network ID, a source node ID, a destination node ID and the network time.
- 78. An ASA object according to claim 76, wherein the maintenance component renews the logical network key by periodically renewing the logical network key based upon when a counter associated with a nonce wraps around.
- 79. An ASA object according to claim 76, wherein the renewing by the maintenance component includes:
generating a cryptographically safe random number to be used as the new key; and for each computing object on the logical network, sending an encrypted net key assign message including the new network key and verifying that the computing object received and processed.
- 80. An ASA object according to claim 79, wherein said verifying by the maintenance component includes checking that the encryption nonce of the computing object has been incremented by using an announce request message and announce response message exchange.
- 81. An ASA object according to claim 76, wherein the maintenance component sends a net key commit message, encrypted with the old network key, which causes all computing objects on the logical network to roll over to the new network key.
- 82. An ASA object according to claim 81, wherein the maintenance component sends the net key commit message a plurality of times.
- 83. An ASA object according to claim 82, wherein, for any computing object that did not roll over to the new network key, the maintenance component detects that a computing object did not roll over to the new network key and updates the computing object to the new network key using a net assign message.
- 84. An ASA object according to claim 83, wherein the maintenance component detects that a computing object did not roll over because a message associated with the computing object comes through to the ASA encrypted with the wrong network key.
- 85. An ASA object according to claim 76, wherein the optimizing includes lowering network traffic due to a large number of computing objects on the logical network by at least one of (A) optimizing presence AP variables such that the total traffic generated by presence keep alives is lower, (B) increasing slow and fast time outs and (C) adjusting the address space cut off between fast and slow presence devices such that it corresponds to the first node with a presence lease of equal or greater value.
- 86. An ASA object according to claim 76, wherein the optimizing includes analyzing the test path information collected by the ASA to correct adverse computing object-specific transmission conditions, by retrieving information about weak transmitter nodes and optimizing data link-related transmission AP variables.
- 87. An ASA object according to claim 76, wherein the sending of the at least one AP variable to at least one computing object on the logical network includes
segmenting the address space in groups of consecutive node identifications (IDs) such that each group of at least one node (a) has the same AP variables values and (b) includes at most a predetermined number of nodes; for each group of nodes, sending a write variables request message targeting the group, with a payload that includes the updated at least one AP variable value for the group; and after the request, at least one of (A) waiting for either all qualifying write variables response messages to come back or (B) waiting for a time out period to expire.
- 88. An ASA object according to claim 87, further including retrying the transaction for a computing object for which a correct write variables response was not received.
- 89. A computing device comprising an address space arbitrator (ASA) object communicatively coupled to an acquisition authority object, the ASA object for management of at least one computing object in a logical network on a public medium, the ASA object comprising:
a discovery component that discovers at least one serial number for at least one computing object in the logical network by sending at least one request message and receiving at least one response message in response to said at least one request message; an acquisition component that assigns a node identification (ID) to a computing object of the at least one computing object on the logical network by sending at least one request message utilizing information collected by the discovery component process and information provided by the acquisition authority object and acquires the computing object into the logical network; and a maintenance component that renews a logical network key when the existing logical network key compromises security and optimizes at least one application protocol (AP) variable based on at least one condition of the physical network and sends the at least one AP variable to at least one computing object on the logical network.
- 90. A computer readable medium comprising computer executable instructions for discovering at least one computing object by an address space arbitrator (ASA) object in communication with an acquisition authority object in a logical network on a public medium, comprising:
means for discovering at least a serial number for the computing object including:
means for sending at least one request message; and means for receiving at least one response message in response to said at least one request message, wherein said means for discovering is one of (A) initiated by the ASA object on a periodic basis and (B) initiated by the acquisition authority object when a computing object of the at least one computing object is instantiated on the public medium.
- 91. A computer readable medium comprising computer executable instructions for acquiring at least one computing object by an address space arbitrator (ASA) object communicatively coupled to an acquisition authority object in a logical network on a public medium, comprising:
means for assigning at the request of the acquisition authority object a node identification (ID) to a computing object of the at least one computing object by sending at least one request message utilizing information collected by the ASA object in a discovery process and information provided by the acquisition authority object; and means for acquiring the computing object into the logical network.
- 92. A computer readable medium comprising computer executable instructions for maintaining at least one computing object by an address space arbitrator (ASA) object in a logical network on a public medium, comprising:
means for renewing the logical network key when the existing logical network key compromises security; and means for optimizing at least one application protocol (AP) variable based on at least one condition of the physical network and sending the at least one AP variable to at least one computing object on the logical network.
RELATED APPLICATIONS
[0001] The present invention is related to commonly assigned copending U.S. patent application Ser. No. 09/556,279 (the '279 application), filed Apr. 24, 2000, entitled “System for Networked Component Address and Logical Network Formation and Maintenance,” commonly assigned copending U.S. patent application Ser. No. 10/251,457 (the '457 application), filed Sep. 19, 2002, entitled “Systems and Methods for Providing Automatic Network Optimization with Application Variables” and commonly assigned copending U.S. patent application Ser. No. 10/251,370 (the '370 application), filed Sep. 19, 2002, entitled “Systems and Methods for Providing Presence Tracking in a Distributed Computing System,” all of which are hereby incorporated by reference in their entirety.