Claims
- 1. A method of identifying a plurality of nodes on a network, comprising:
receiving at at least one of the plurality of nodes on the network a query posed by a caller node; determining at the at least one of the plurality of nodes on the network an answer to the query; forwarding the answer to the query from the at least one of the plurality of nodes on the network to the caller node; and receiving, at the caller node, the answer to the query from the at least one of the plurality of nodes on the network and maintaining a list of nodes which responded to the query.
- 2. A method as recited in claim 1, further comprising calculating at each of the plurality of nodes on the network a time period to wait before forwarding its respective answer to the query to the caller node.
- 3. A method as recited in claim 2, wherein each of the plurality of nodes on the network forwards the answer to the query to the caller node at different times.
- 4. A method as recited in claim 2, wherein the query posed by the caller node includes a delay constant, each of the plurality of nodes on the network calculating the period of time to wait before forwarding its respective answer to the query by multiplying the delay constant by its own network address.
- 5. A method as recited in claim 1, wherein each of the plurality of nodes on the network are on a subnet, the query posed by the caller node including a subnet mask.
- 6. A method of identifying nodes on a network, comprising:
sending a query from a caller node to a subnet: receiving the query at each of a plurality of nodes on the subnet; sending from each of the plurality of nodes on the subnet a local response to the query to at least one other node on the subnet; receiving, at one of the plurality of nodes on the subnet, the local responses and compiling a list identifying responding nodes; and sending the list of responding nodes to the caller node.
- 7. A method as recited in claim 6, wherein each of the plurality of nodes on the subnet sends its local response at different times.
- 8. A method as recited in claim 7, wherein each of the plurality of nodes on the subnet calculates a period of time to wait prior to sending its local response.
- 9. A method as recited in claim 7, wherein the one of the plurality of nodes on the subnet compiling the list identifying the responding nodes is a node first to respond with a local response to the query.
- 10. A method as recited in claim 9, wherein the node compiling the list identifying the responding nodes calculates a timeout period indicating when a last of the plurality of nodes will send its local response and receives the local responses until the timeout period has expired.
- 11. A method as recited in claim 9, wherein the timeout period is calculated by the node compiling the list identifying the responding nodes by multiplying an address of a node having a highest IP address on the subnet, by a set value.
- 12. A method as recited in claim 11, wherein the set value is sent from the caller node with the query.
- 13. A method as recited in claim 12, wherein the query further comprises a subnet mask.
- 14. A method as recited in claim 6, wherein the query from the caller node includes information identifying which of the plurality of nodes on the subnet is to compile the list of responding nodes.
- 15. A method as recited in claim 14, wherein each of the responding nodes sends its local response to the node identified in the query.
- 16. A method of controlling a node in a network, comprising:
receiving at the node a query from a caller node; determining an answer to the query; calculating a period of time to wait before responding to the query; determining whether the node has a lowest address in the network; if the node does not have the lowest address in the network, waiting the period of time and then responding to the query; if the node does have the lowest address in the network, determining an address of a node having a highest address in the network; determining, based on the highest address in the network, a query timeout period; if the node does have the lowest address in the network, listening for responses to the query from other nodes in the network and preparing a list of responding nodes; and transferring the list of responding nodes to the caller node.
- 17. A method as recited in claim 16, wherein the node determines the period to wait before responding by multiplying its network address by a delay value included with the query from the caller node.
- 18. A method as recited in claim 16, wherein the query from the caller node includes a subnet mask, the node determining whether it has the lowest address in a subnet by referring to the subnet mask.
- 19. A method as recited in claim 18, wherein the address of the node having the highest address in the subnet is determined by referring to the subnet mask.
- 20. A method as recited in claim 19, wherein a query timeout period is calculated by the node by multiplying the highest address in the subnet by a delay value included with the query from the caller node.
- 21. A method of identifying a plurality of nodes on a network, comprising:
receiving at at least one of the plurality of nodes on the network a query posed by a caller node; and monitoring, at a responder node which received the query, responses from other nodes to the query and maintaining a list of nodes which responded to the query.
- 22. The method of claim 21, wherein each node which received the query waits a delay time period unique to the node before responding to the query.
- 23. The method of claim 21 further comprising transmitting from the responder node to the caller node after a query timeout period the list of nodes which responded to the query.
- 24. The method of claim 23, wherein the responder node is the first node to respond to the query.
- 25. The method of claim 23, wherein a selected one of the plurality of nodes is designated within the query to maintain and transmit to the caller node the list of nodes which responded to the query.
- 26. A network, comprising:
a server for posing a query to a plurality of client nodes on the network; and a plurality of client nodes for receiving the query posed by a caller node and for determining an answer to the query, each of the plurality of client nodes forwarding the answer to the query to the caller node, wherein the server receives the answers to the query from the plurality of client nodes and maintains a list of client nodes which responded to the query.
- 27. A network as recited in claim 26, wherein each of the plurality of client nodes calculates a time period to wait before forwarding its respective answer to the query to the server.
- 28. A network as recited in claim 27, wherein each of the plurality of client nodes on the network forwards the answer to the query to the server at different times.
- 29. A network as recited in claim 27, wherein the query posed by the server includes a delay constant, each of the plurality of client nodes on the network calculating the period of time to wait before forwarding its respective answer to the query by multiplying the delay constant by its own network address.
- 30. A method as recited in claim 26, wherein each of the plurality of client nodes on the network are on a subnet, the query posed by the caller node including a subnet mask.
- 31. A system identifying nodes on a network, comprising:
a server for sending a query to a subnet: a plurality of client nodes on the subnet for receiving the query from the server, wherein in response to the query, each of the plurality of client nodes on the subnet sends a local response to the query to at least one other client node on the subnet, the at least one other client node on the subnet receiving the local responses and compiling a list identifying responding nodes, the at least one other client node sending the list identifying the responding nodes to the server.
- 32. A system as recited in claim 31, wherein each of the plurality of client nodes on the subnet sends its local response at different times.
- 33. A system as recited in claim 32, wherein each of the plurality of client nodes on the network calculates a period of time to wait prior to sending its local response.
- 34. A system as recited in claim 32, wherein the at least one other client node on the subnet compiling the list identifying the responding nodes is a node first to respond with a local response to the query.
- 35. A system as recited in claim 34, wherein the node compiling the list identifying the responding client nodes calculates a timeout period indicating when a last of the plurality of client nodes will send its local response and receives the local responses until the timeout period has expired.
- 36. A system as recited in claim 34, wherein the timeout period is calculated by the node compiling the list identifying the responding client nodes by multiplying an address of a node having a highest IP address on the subnet, by a set value.
- 37. A system as recited in claim 36, wherein the set value is sent from the server with the query.
- 38. A system as recited in claim 37, wherein the query further comprises a subnet mask.
- 39. A system as recited in claim 31, wherein the query from the server includes information identifying which of the plurality of client nodes on the subnet is to compile the list of responding nodes.
- 40. A system as recited in claim 39, wherein each of the responding client nodes sends its local response to the client node identified in the query.
- 41. A node for use on a subnet, comprising:
a section for receiving a query from a caller node; a section for determining an answer to the query; a section for calculating a period of time to wait before responding to the query; a section for determining whether the node has a lowest address in the network, wherein if the node does not have the lowest address in the network, waiting the period of time and then responding to the query, and wherein if the node does have the lowest address in the network, a section of the node determines an address of a node having a highest address in the network and based on the highest address in the network, determines a query timeout period and wherein if the node does have the lowest address in the network, a section listens for responses to the query from other nodes in the network and prepares a list of responding nodes; and a section for transferring the list of responding nodes to the caller node.
- 42. A node as recited in claim 41, wherein the node determines the period to wait before responding by multiplying its network address by a delay value included with the query from the caller node.
- 43. A node as recited in claim 41, wherein the query from the caller node includes a subnet mask, the node determining whether it has the lowest address in a subnet by referring to the subnet mask.
- 44. A node as recited in claim 43, wherein the address of the node having the highest address in the subnet is determined by referring to the subnet mask.
- 45. A node as recited in claim 44, wherein a query timeout period is calculated by the node by multiplying the highest address in the subnet by a delay value included with the query from the caller node.
- 46. A computer readable medium having computer executable code for identifying nodes on a network, comprising:
server code for posing a query to a plurality of client nodes on the network; and client code for use by a plurality of client nodes for receiving the query posed by a caller node and for determining an answer to the query, the client code including code instructing each of the plurality of client nodes to forward the answer to the query to the caller node, wherein when a node running the server code receives the answers to the query from the plurality of client nodes a node running the server code maintains a list of client nodes which responded to the query.
- 47. A computer readable medium including computer executable code for identifying nodes on a network, comprising:
server code for use by a server for sending a query to a subnet: client code for use by a plurality of client nodes on the subnet for receiving the query from the server, wherein in response to the query, the client code for each of the plurality of client nodes on the subnet sends a local response to the query to at least one other client node on the subnet, the client code of the at least one other client node on the subnet receiving the local responses and compiling a list identifying responding nodes, the client code of at least one other client node sending the list identifying the responding nodes to the server.
- 48. A computer readable medium including computer executable code to be executed by a node on a subnet, comprising:
code for receiving a query from a caller node; code for determining an answer to the query; code for calculating a period of time to wait before responding to the query; code for determining whether the node has a lowest address in the network, wherein if the node does not have the lowest address in the network, the code directing the node to wait the period of time and then respond to the query, and wherein if the node does have the lowest address in the network, the code directing the node to determine an address of a node having a highest address in the network and based on the highest address in the network determine a query timeout period and wherein if the node does have the lowest address in the network, the code directs the node to listen for responses to the query from other nodes in the network and to prepare a list of responding nodes; and code for transferring the list of responding nodes to the caller node.
- 49. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to identify a plurality of nodes on a network, comprising:
instructions to receive at at least one of the plurality of nodes on the network a query posed by a caller node; and instructions to monitor, at a responder node which received the query, responses from other nodes to the query and maintaining a list of nodes which responded to the query.
- 50. A computer data signal embodied in a transmission medium comprising:
a first segment including receive query code to receive a query sent by a caller node to a plurality of nodes on a network; a second segment including list processing code to monitor responses from other nodes to the query and maintain a list of nodes which responded to the query.
- 51. A network device comprising:
a receiving query section for receiving a query sent by a caller node to a plurality of nodes on a network; and a list processing section for monitoring responses from other nodes to the query and maintaining a list of nodes which responded to the query.
- 52. A network of nodes comprising:
a caller node for sending a Dynamic Query to a plurality of nodes; and at least one responder node comprising
a receiving query section for receiving the Distributed Query sent by the caller node; and a list processing section for monitoring responses from other nodes to the Distributed Query and maintaining a list of nodes which responded to the Distributed Query.
RELATED CASES
[0001] The present disclosure is based on and claims the benefit of Provisional Application Ser. No. 60/249,479 filed Nov. 17, 2000 and entitled Distributed Network Query.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60249479 |
Nov 2000 |
US |