Method and system for peer-to-peer directory services
Abstract
Methods and systems for providing directory services for peer-to-peer systems and applications are provided. Example embodiments provide a Peer-to-Peer Directory System (“PPDS”), which enables applications, especially those using peer-to-peer technology that desire to communicate directly with one another on different peer computer systems, to automatically discover working (current) network addresses for each other even when the network addresses of their respective computer systems change dynamically. The PPDS provides a community-based tracking system, a portion of which is implemented on each computer system that is a member of the community, to mutually track and store the network addresses of the other computer systems to which it has an associated relationship. The PPDS also provides a query mechanism that takes advantage of the relationship paths between the various computer systems to search for a current network address of a designated computer system.
Claims
exact text as granted — not AI-modified1 . A method in a computer system for determining a current network address of a target direct correspondent computer system in a community of correspondent computer systems, the community comprising at least the target direct correspondent computer system and at least one indirect correspondent computer system that is a correspondent of the target direct correspondent computer system, comprising:
receiving and storing network address information associated with a plurality of computer systems in the community of correspondent computer systems, at least one of the computer systems in the community having a dynamically changing network address; retrieving a stored most recent network address information associated with the at least one indirect correspondent computer system; and communicating with the at least one indirect correspondent computer system using the retrieved most recent network address information to automatically determine the current network address for the target direct correspondent computer system.
2 . The method of claim 1 , further comprising receiving a request for a current network address of the target direct correspondent computer system;
3 . The method of claim 1 performed without using an intermediate directory server with a static network address.
4 . The method claim 1 performed in conjunction with using an intermediate directory server with a static network address.
5 . The method of claim 1 wherein the communicating with the at least one indirect correspondent computer system to automatically determine the current network address for the target direct correspondent computer system is performed when it is determined that the target direct correspondent computer system is not accessible using a most recent stored network address for the target direct correspondent computer system.
6 . The method of claim 1 , further comprising:
successfully establishing contact with the target direct correspondent computer system using the automatically determined current network address.
7 . The method of claim 1 wherein the indirect correspondent computer system is greater than two levels of correspondents away from the computer system.
8 . The method of claim 1 , the community of correspondent computer systems having a plurality of correspondent computer systems associated with the target direct correspondent computer system, the at least one indirect correspondent computer system being one of the plurality of correspondent computer systems, wherein the communicating with the at least one indirect correspondent computer system using the retrieved network address information to automatically determine the current network address for the target direct correspondent computer system comprises:
successively attempting to communicate with the plurality of correspondent computer systems associated with the target direct computer system using stored network address information associated with each correspondent computer system until a current network address of the at least one indirect computer system is determined; and communicating with the at least one indirect correspondent computer system using the determined current network address of the at least one indirect computer system to automatically determine the current network address for the target direct correspondent computer system.
9 . The method of claim 8 wherein the successively attempting to communicate with the plurality of correspondent computer systems associated with the target direct computer system recursively attempts to communicate with the plurality of correspondent computer systems associated with the target direct computer system until a current network address of the at least one indirect computer system is determined.
10 . The method of claim 8 wherein the plurality of correspondent computer systems comprises at least one direct correspondent of the target direct correspondent computer system and at least one indirect correspondent of the target direct correspondent.
11 . The method of claim 8 wherein the successively attempting to communicate with the plurality of correspondent computer systems attempts to communicate with at least two levels of indirect correspondent computer systems before the current network address of the at least one indirect computer system is determined.
12 . The method of claim 8 wherein the at least one indirect correspondent computer system is a direct correspondent of the target direct correspondent computer system.
13 . The method of claim 8 wherein the at least one indirect correspondent computer system is an indirect correspondent of the target direct correspondent computer system.
14 . The method of claim 1 wherein the network address information stored with each computer system is a network address.
15 . The method of claim 1 wherein the network address information comprises additional information to the network address.
16 . The method of claim 15 wherein the additional information comprises correspondent information.
17 . The method of claim 15 wherein the additional information comprises an effective time period associated with the network address.
18 . The method of claim 1 wherein the stored network address information includes Internet Protocol (“IP”) network addresses.
19 . The method of claim 1 wherein the stored network address information includes heterogeneous types of network addresses.
20 . The method of claim 19 wherein one of the heterogeneous types of stored the network addresses includes a private LAN address.
21 . The method of claim 1 wherein the all of the network addresses stored as network address information are a homogeneous type of network address.
22 . The method of claim 1 wherein the receiving and storing network address information associated with the plurality of the computer systems in the community of correspondent computer systems comprises:
receiving an indication of a network address for a direct correspondent computer system; and receiving an indication of a network address of and a relationship path to a correspondent of the direct correspondent computer system.
23 . The method of claim 22 wherein the receiving the indication of the network address for the direct correspondent and receiving the indication of the network address of and the relationship path to the correspondent of the direct correspond occur at different times.
24 . The method of claim 22 wherein each indicated relationship path indicates an association between a plurality of correspondent computer systems.
25 . The method of claim 22 wherein the receiving the indication of the network address for the direct correspondent computer system and the indication of the network address of and the relationship path to the correspondent of the direct correspondent computer system is performed for each of a plurality of direct correspondent computer systems of the computer system.
26 . The method of claim 22 wherein the direct correspondent computer system has a direct relationship path to a third correspondent computer system and has an indirect relationship path to a fourth correspondent computer system through the third correspondent computer system, the fourth correspondent computer system being an indirect correspondent of the direct correspondent computer and being a direct correspondent of the third correspondent computer system.
27 . The method of claim 22 wherein the receiving is performed on a periodic basis.
28 . The method of claim 22 wherein the receiving the indication of the network address for the direct correspondent computer system is performed when the network address of the direct correspondent computer system has been updated.
29 . The method of claim 22 , further comprising:
forwarding the received indications to direct correspondent computer systems of the computer system.
30 . The method of claim 1 , further comprising:
determining that the computer system has an updated network address; and forwarding the updated network address to direct correspondent computer systems of the computer system.
31 . The method of claim 1 , further comprising:
receiving an indication that a correspondent computer system is to be no longer accessible; and removing access to the stored network address information associated with the indicated correspondent computer system.
32 . The method of claim 31 wherein the stored network address information that is removed comprises network address information associated with indirect correspondents of the indicated correspondent computer system.
33 . The method of claim 31 , further comprising:
forwarding the indication that the correspondent computer system is to be no longer accessible to a direct correspondent computer system of the computer system.
34 . The method of claim 1 , the receiving and storing network address information associated with each computer system in the community comprising:
initially receiving network address information for a direct correspondent computer system from at least one of an indication from a user, a notification from an application, data associated with an application, stored network information associated with a different correspondent computer system, or a network address received in response to an email inquiry to the direct correspondent computer system.
35 . A computer-readable memory medium containing instructions that control a computer processor to determine a current network address of a target direct correspondent computer system in a community of correspondent computer systems, the community comprising at least the target direct correspondent computer system and at least one indirect correspondent computer system associated with the target direct correspondent computer system by:
receiving and storing network address information associated with a plurality of computer systems in the community of correspondent computer systems, at least one of the computer systems in the community having a dynamic network address; retrieving a stored most recent network address information associated with the at least one indirect correspondent computer system; and communicating with the at least one indirect correspondent computer system using the retrieved most recent network address information to automatically determine the current network address for the target direct correspondent computer system.
36 . The memory medium of claim 35 , wherein the instructions further comprise receiving a request for a current network address of the target direct correspondent computer system.
37 . The memory medium of claim 35 wherein the instructions are executed without using an intermediate directory server with a static network address.
38 . The memory medium of claim 35 wherein the instructions are executed in conjunction with using an intermediate directory server with a static network address.
39 . The memory medium of claim 35 wherein the communicating with the at least one indirect correspondent computer system to automatically determine the current network address for the target direct correspondent computer system is performed when it is determined that the target direct correspondent computer system is not accessible using the most recent stored network address for the target direct correspondent computer system.
40 . The memory medium of claim 35 , further comprising:
successfully establishing contact with the target direct correspondent computer system using the automatically determined current network address.
41 . The memory medium of claim 35 wherein the indirect correspondent computer system is greater than two levels of correspondents from the computer system.
42 . The memory medium of claim 35 , the community of correspondent computer systems having a plurality of correspondent computer systems associated with the target direct correspondent computer system, further containing instructions to control the computer processor by:
successively attempting to communicate with the plurality of correspondent computer systems associated with the target direct correspondent computer system using stored network address information associated with each correspondent computer system until a current network address of the at least one indirect computer system is determined; and communicating with the at least one indirect correspondent computer system using the determined current network address of the at least one indirect computer system to automatically determine the current network address for the target direct correspondent computer system.
43 . The memory medium of claim 42 wherein the successively attempting to communicate with the plurality of correspondent computer systems associated with the target direct computer system recursively attempts to communicate with the plurality of correspondent computer systems associated with the target direct computer system until a current network address of the at least one indirect computer system is determined.
44 . The memory medium of claim 42 wherein the at least one indirect correspondent computer system is a direct correspondent of the target direct correspondent computer system.
45 . The memory medium of claim 42 wherein the at least one indirect correspondent computer system is an indirect correspondent of the target direct correspondent computer system.
46 . The memory medium of claim 35 wherein the network address information stored with each computer system is a network address.
47 . The memory medium of claim 35 wherein the network address information comprises correspondent information.
48 . The memory medium of claim 35 wherein the stored network address information includes Internet Protocol (“IP”) network addresses.
49 . The memory medium of claim 35 wherein the stored network address information includes a private LAN address.
50 . The memory medium of claim 35 wherein the receiving and storing network address information associated with each computer system in the community of correspondent computer systems comprises:
receiving an indication of a network address for a direct correspondent computer system; and receiving an indication of a network address of and a relationship path to a correspondent of the direct correspondent computer system.
51 . The memory medium of claim 50 wherein the receiving the indication of the network address for the direct correspondent and receiving the indication of the network address of and the relationship path to the correspondent of the direct correspond occur at different times.
52 . The memory medium of claim 50 wherein each indicated relationship path indicates an association between a plurality of correspondent computer systems.
53 . The memory medium of claim 50 wherein the receiving is performed on a periodic basis.
54 . The memory medium of claim 50 wherein the receiving the indication of the network address for the direct correspondent computer system is performed when the network address of a direct correspondent computer system has been updated.
55 . The memory medium of claim 50 wherein the receiving the indication of the network address of and the relationship path to a correspondent of the direct correspondent computer system is performed when the network address of the correspondent of the direct correspondent computer system has been updated.
56 . The memory medium of claim 50 , further containing instructions to control the computer processor by:
transmitting the received indications to direct correspondent computer systems of the computer system.
57 . The memory medium of claim 35 , further containing instructions to control the computer processor by:
determining that the computer system has an updated network address; and transmitting the updated network address to direct correspondent computer systems of the computer system.
58 . The memory medium of claim 35 , further containing instructions to control the computer processor by:
receiving an indication that a correspondent computer system is to be no longer accessible; and removing access to the stored network address information associated with the indicated correspondent computer system.
59 . The memory medium of claim 58 , further comprising:
transmitting the indication that the correspondent computer system is to be no longer accessible to a direct correspondent computer system of the computer system.
60 . The memory medium of claim 35 , further containing instructions to control the computer processor by:
initially receiving network address information for a direct correspondent computer system from at least one of an indication from a user, a notification from an application, data associated with an application, stored network information associated with a different correspondent computer system, or a network address received in a message.
61 . A computer system connected to a plurality of correspondent computer systems that communicate over a network, at least one of the correspondent computer systems having a dynamic network address, comprising:
a tracking agent that is structured to
receive and store a network address for the direct correspondent;
receive and store network address information associated with correspondents of the direct correspondent; and
forward the received network address for the direct correspondent to other direct correspondents of the computer system; and
a locating service component that is structured to
receive a request for an operational network address of the direct correspondent of the computer system;
retrieve a stored most recent network address for the direct correspondent along with network address information associated with at least one other correspondent of the computer system; and when it is determined that the retrieved most recent network address for the direct correspondent is no longer operational, successively query for a current network address of the direct correspondent by contacting the correspondents of the computer system using the retrieved network address information until the operational network address is determined.
62 . The system of claim 61 wherein the tracking agent is structured to forward the received network address information associated with correspondents of the direct correspondent to other direct correspondents of the computer system.
63 . The system of claim 61 wherein the locating service component is structured to successively query direct and indirect correspondents of the direct correspondent, recursively searching for correspondents of the direct correspondent to respond until a current address for the direct correspondent is found.
64 . The system of claim 61 wherein the network addresses include at least one of an IP address or a private LAN address.
65 . The system of claim 61 wherein network address for the direct correspondent is received when the network address of the direct correspondent is modified.
66 . The system of claim 61 wherein the tracking agent is further structured to determine when the network address of the computer system changes, and to forward the changed network address of the computer system to the direct correspondent of the computer system.
67 . The system of claim 61 wherein the tracking agent is further structured to receive an indication that one of the correspondent computer systems is no longer accessible, and to remove network address information associated with the indicated correspondent computer system.
68 . The system of claim 61 wherein the initial address for the direct correspondent of the computer system is received from at least one of an indication from a user, a notification from an application, data associated with an application, stored network information associated with a different correspondent computer system, or a network address received in a message.
69 . A peer-to-peer directory service in a network of computer systems, each computer system having a dynamic network address, comprising:
a first one of the computer systems having a network address; a second one of the computer systems having a dynamic network address and that is structured to receive and store a network address of the first computer system and network address information for direct and indirect correspondent computer systems of the first computer system; a third one of the computer systems having a network address and that is structured to,
receive and store the network address of the second computer system and network address information for direct and indirect correspondent computer systems of the second computer system, wherein the direct correspondent computer systems of the second computer system include at least the first computer system; and
use the stored network address information of the third computer system to automatically determine an operational network address of the second computer system by querying at least one of the direct and indirect correspondent computer systems of the second computer system for a current network address of the second computer system.
70 . The directory service of claim 69 , wherein the third computer system is structured to determine the operational network address of the second computer system without using an intermediary directory service having a static network address.
71 . The directory service of claim 69 wherein the indirect correspondent computer systems of the second computer system include at least the direct correspondent computer systems of the first computer system and wherein the third computer system retrieves and uses network address information for the indirect correspondent computer systems of the second computer system to locate the current network address of the second computer system.
72 . The directory service of claim 69 wherein at least one of the dynamic network addresses is an IP address.
73 . The directory service of claim 69 wherein at least one of the dynamic network addresses is a private LAN address.
74 . The directory service of claim 69 wherein the updates to the network address received at a computer system are forwarded to the other computer systems in the network.
75 . The directory service of claim 69 wherein a computer system receives an indication of an initial network address for an associated direct correspondent computer system from at least one of an indication from a user, a notification from an application, data associated with an application, stored network information associated with a different correspondent computer system, or a network address received in response to an email inquiry to the desired direct correspondent computer system.
76 . A method for automatically tracking network addresses in a community of member computer systems that communicate with each other using peer-to-peer technology, comprising:
in each member computer system,
receiving network address information from a first level correspondent computer system of the member computer system including at least an indication of a network address of the first level correspondent and an indication of a network address and a relationship path to at least one correspondent of the first level correspondent;
storing the network address information received from the first level correspondent computer system; and
when an update occurs to a network address of the member computer system, using the received network address information from the first level correspondent computer system to forward the updated network address of the member computer system to the first level correspondent computer system and to correspondent computer systems of the first correspondent computer system so that the network address information is mutually shared among member computer systems of the community.
77 . The method of claim 76 , further comprising:
using the stored indication of the network address and the relationship path for the at least one correspondent of the first level correspondent to search for a current network address for communicating with the first level correspondent computer system.
78 . The method of claim 76 , the forwarding the updated network address of the member computer system comprising:
forwarding the updated network address of the member computer system to each correspondent of the first level correspondent until a determined threshold level of indirection is reached.
79 . The method of claim 76 , the storing the network address information received from the first level correspondent comprising:
storing the network address information for each correspondent of the first level correspondent until a determined threshold level of indirection is reached.
80 . The method of claim 76 , further comprising:
in each member computer system,
forwarding at least a portion of the network address information received from the first level correspondent computer system of the member computer system to other correspondent computer systems of the member computer system.
81 . The method of claim 80 , the forwarding the at least the portion of the network address information received from the first level correspondent computer system comprising:
forwarding at least the portion of the network address information received from the first level correspondent computer system consistent with a determined number of levels of correspondent computer systems.
82 . The method of claim 76 , further comprising:
receiving network address information for an indirect correspondent computer system of the member computer system that is related to the member computer system through at least a first level correspondent computer system of the member computer system, the network address information received for the indirect correspondent computer system including an indication of a network address of the indirect correspondent computer system and an indication of a network address and a relationship path to each direct correspondent and to each indirect correspondent of the indirect correspondent computer system.
83 . The method of claim 82 , further comprising:
forwarding the network address information received for the indirect correspondent computer system and for each direct correspondent and for each indirect correspondent of the indirect correspondent computer system consistent with a determined threshold level of indirection.
84 . The method of claim 76 , further comprising:
in each member computer system,
when indication of a new first level correspondent computer system is received, forwarding network address information, including at least an indication of a network address of the new first level correspondent, to the other first level correspondent computer systems of the member computer system.
85 . The method of claim 84 , further comprising:
in each member computer system,
when indication of a new first level correspondent is received, forwarding network address information for the member computer system to the new first level correspondent computer system.
86 . The method of claim 76 , further comprising:
in each member computer system,
when an update occurs to the network address of the member computer system, forwarding the updated network address of the member computer system to the direct and indirect correspondent computer systems of the member computer system.
87 . The method of claim 76 , further comprising:
forwarding with the updated network address of the member computer system, an effective time associated with the updated network address of the member computer system.
88 . A computer-readable memory medium containing instructions that control a computer processor to automatically track network addresses in a community of member computer systems that communicate with each other using peer-to-peer technology, the computer processor residing in one of the member computer systems, by:
receiving network address information from a first level correspondent computer system of the one of the member computer systems including at least an indication of a network address of the first level correspondent and an indication of a network address and a relationship path to at least one correspondent of the first level correspondent; storing the network address information received from the first level correspondent computer system; and when an update occurs to a network address of the one of the member computer systems using the received network address information from the first level correspondent computer system to forward the updated network address of the one of the member computer systems to the first level correspondent computer system and to correspondent computer systems of the first correspondent computer system so that the network address information is mutually shared among member computer systems of the community.
89 . The memory medium of claim 88 , further comprising instructions that control the computer processor by:
using the stored indication of the network address and the relationship path for the at least one correspondent of the first level correspondent to search for a current network address for communicating with the first level correspondent computer system.
90 . The memory medium of claim 88 , the forwarding the updated network address of the one of the member computer systems, comprising:
forwarding the updated network address of the one of the member computer systems to each correspondent of the first level correspondent until a determined threshold level of indirection is reached.
91 . The memory medium of claim 88 , the storing the network address information received from the first level correspondent comprising:
storing the network address information for each correspondent of the first level correspondent until a determined threshold level of indirection is reached.
92 . The memory medium of claim 88 , further comprising instructions that control the computer processor by:
forwarding at least a portion of the network address information received from the first level correspondent computer system of the one of the member computer systems to other correspondent computer systems of the one of the member computer systems.
93 . The memory medium of claim 92 , wherein the forwarding is performed consistent with a determined number of levels of correspondent computer systems.
94 . The memory medium of claim 88 , further comprising instructions that control the computer processor by:
receiving network address information for an indirect correspondent computer system of the one of the member computer systems that is related to the one of the member computer systems through at least a first level correspondent computer system of the one of the member computer systems, the network address information received for the indirect correspondent computer system including an indication of a network address of the indirect correspondent computer system and an indication of a network address and a relationship path to each direct correspondent and to each indirect correspondent of the indirect correspondent computer system.
95 . The memory medium of claim 88 , further comprising instructions that control the computer processor by:
when indication of a new first level correspondent computer system is received, forwarding network address information, including at least an indication of a network address of the new correspondent, to first level correspondent computer systems of the one of the member computer systems.
96 . The memory medium of claim 95 , further comprising instructions that control the computer processor by:
when indication of a new first level correspondent is received, forwarding network address information for the one of the member computer systems to the new first level correspondent computer system.
97 . The method of claim 88 , further comprising instructions that control the computer processor by:
when an update occurs to the network address of the one of the member computer systems, forwarding the updated network address to the direct and indirect correspondent computer systems of the one of the member computer systems.
98 . The method of claim 88 , further comprising instructions that control the computer processor by:
forwarding with the updated network address of the one of the member computer system, an effective time associated with the updated network address.
99 . A network address tracking system in each of a community of member computer systems that communicate with each other using peer-to-peer technology, comprising:
means for receiving network address information from a first level correspondent computer system of the member computer system including at least an indication of a network address of the first level correspondent and an indication of a network address and a relationship path to at least one correspondent of the first level correspondent; means for storing the network address information received from the first level correspondent computer system; and means for using the received network address information from the first level correspondent computer system to forward an updated network address of the member computer system to the first level correspondent computer system and to correspondent computer system of the first correspondent computer system so that the network address information is mutually shared among member computer systems of the community.
100 . The system of claim 99 , further comprising:
means for using the stored indication of the network address and the relationship path for the at least one correspondent of the first level correspondent to search for a current network address for communicating with the first level correspondent computer system.
101 . The system of claim 99 , the means for using comprising:
means for forwarding the updated network address of the member computer system to each correspondent of the first level correspondent until a determined threshold level of indirection is reached.
102 . The system of claim 99 , further comprising:
means for forwarding at least a portion of the network address information received from the first level correspondent computer system of the member computer system to other correspondent computer systems of the member computer system.
103 . The system of claim 99 , further comprising:
means for forwarding a portion of the network address information when indication of a new first level correspondent computer system is received, including at least an indication of a network address of the new correspondent, to the other first level correspondent computer systems of the member computer system.
104 . The system of claim 99 , further comprising:
means for forwarding a network address of the member computer system to the new first level correspondent computer system.
105 . A software interface expressed as instructions stored in a computer-readable memory medium of a first correspondent computer system for providing a peer-to-peer directory service in a network of correspondent computer systems, comprising:
a tracking portion that, when executed by a computer processor,
receives network address information for at least a second correspondent computer system in the network and network address information for at least one correspondent computer system in the network that communicates with the second correspondent computer system;
stores the received network address information for the at least the second correspondent computer system and the network address information for the at least one other correspondent computer system; and
transmits to at least a third correspondent computer system the received network address information for the at least second correspondent computer system; and
a directory service portion that, when executed by a computer processor,
uses the stored network address information to automatically determine a current network address of the second correspondent computer system.
106 . The software interface of claim 105 wherein the directory service portion is executed by the computer processor in response to a request from a peer-to-peer application for a network address of the second correspondent computer system.
107 . The software interface of claim 105 wherein the tracking portion further is expressed as instructions that, when executed by the computer processor, transmit to the at least the third correspondent computer system the network address information for the at least one other correspondent computer systems.
108 . The software interface of claim 105 wherein the directory service portion, when executed by the computer processor, uses the stored network address information for the at least one other correspondent computer system to automatically determine the current network address of the second correspondent computer system.
109 . The method of claim 30 , further comprising:
forwarding the updated network address to indirect correspondent computer systems of the computer system.
110 . The memory medium of claim 57 , further comprising instructions to control the computer processor by:
forwarding the updated network address to indirect correspondent computer systems of the computer system.
111 . The system of claim 61 wherein the locating service component is further structured to successively query for a current network address of the direct correspondent by contacting the direct and indirect correspondents of the computer system in a determined order, using the retrieved network address information associated with the at least one correspondent of the computer system until the operational network address is determined.
112 . The system of claim 111 wherein the determined order is at least one of correspondent level, a ranking, or a weighting of probable success.
113 . The system of claim 63 wherein the locating service component is further structured to recursively query the direct and indirect correspondents of the direct correspondent in a determined order.
114 . The system of claim 113 wherein the determined order is at least one of correspondent level, a ranking, or a weighting of probable success.
115 . The method of claim 76 , further comprising receiving and storing an indication of a network address and a relationship path to an indirect correspondent of the first level correspondent.
116 . The method of claim 115 , further comprising using the stored indication of the network address and the relationship path to the indirect correspondent of the first level correspondent to search for a current network address for communicating with the first level correspondent computer system.
117 . A method in a computer system for determining a current network address of a target correspondent computer system in a community of correspondent computer systems, comprising:
mutually tracking, communicating, storing, and updating network address information associated with each of the correspondent computer systems in the community, at least one of the computer systems in the community having a dynamically changing network address that is propagated between the correspondent computer systems in the community; and upon receiving a request for the current network address of the target correspondent computer system,
retrieving from the stored network address information a most recent address of the target correspondent computer system and determining whether the retrieved most recent address is current; and
when it is determined that the retrieved most recent address of the target correspondent computer system is not current, using the stored network address information associated with the rest of the correspondent computer systems in the community to directly communicate with one or more of the rest of the correspondent computer systems to automatically determine the current network address of the target correspondent computer system.
118 . The method of claim 117 wherein communication with one or more of the rest of the correspondent computer systems is performed according to a determined order until the current network address of the target correspondent computer system is found or until all of the rest of the correspondent computer systems have been queried.
119 . The method of claim 117 wherein the determined order is at least one of correspondent level, a ranking, or a weighting of probable success.
120 . The method of claim 117 , the network address information including a network address for each direct correspondent of the computer system and a network address and a relationship path for each correspondent of each direct correspondent of the computer system.
121 . The method of claim 117 performed without using an intermediate directory server with a static network address.
122 . The method of claim 117 performed in conjunction with using an intermediate directory server with a static network address.
123 . The method of claim 117 wherein the mutually tracked correspondent computer systems include at least one indirect correspondent of the computer system, and wherein the network address of the at least one indirect correspondent of the computer system is used to automatically determine the current network address of the target computer system.
124 . The method of claim 123 wherein the at least one indirect correspondent of the computer system is greater than two levels of correspondents away from the computer system.
125 . The method of claim 117 wherein the stored network address information includes Internet Protocol (“IP”) network addresses.
126 . The method of claim 117 wherein the stored network address information includes a private local area network (“LAN”) address.
127 . A computer-readable memory medium containing instructions that control a computer processor to determine a current network address of a target correspondent computer system in a community of correspondent computer systems, by:
mutually tracking, communicating, storing, and updating network address information associated with each of the correspondent computer systems in the community, at least one of the computer systems in the community having a dynamically changing network address that is propagated between the correspondent computer systems in the community; and upon receiving a request for the current network address of the target correspondent computer system,
retrieving from the stored network address information a most recent address of the target correspondent computer system and determining whether the retrieved most recent address is current; and
when it is determined that the retrieved most recent address of the target correspondent computer system is not current, using the stored network address information associated with the rest of the correspondent computer systems in the community to directly communicate with one or more of the rest of the correspondent computer systems to automatically determine the current network address of the target correspondent computer system.
128 . The memory medium of claim 127 wherein communication with each of the rest of the correspondent computer systems is performed according to a determined order until the current network address of the target correspondent computer system is found or until all of the rest of the correspondent computer systems have been queried.
129 . The memory medium of claim 127 wherein the determined order is at least one of correspondent level, a ranking, or a weighting of probable success.
130 . The memory medium of claim 127 , the network address information including a network address for each direct correspondent of the computer system and a network address and a relationship path for each correspondent of each direct correspondent of the computer system.
131 . The memory medium of claim 127 wherein the instructions performed without using an intermediate directory server with a static network address.
132 . The memory medium of claim 127 wherein the instructions are performed in conjunction with using an intermediate directory server with a static network address.
133 . The memory medium of claim 127 wherein the mutually tracked correspondent computer systems include at least one indirect correspondent of the computer system, and wherein the network address of the at least one indirect correspondent of the computer system is used to automatically determine the current network address of the target computer system.
134 . The memory medium of claim 133 wherein the at least one indirect correspondent of the computer system is greater than two levels of correspondents away from the computer system.
135 . The memory medium of claim 127 wherein the stored network address information includes Internet Protocol (“IP”) network addresses.
136 . The memory medium of claim 127 wherein the stored network address information includes a private local area network (“LAN”) address.
137 . A computer system connected over a network to a community of correspondent computer systems, at least one of the computer systems in the community having a dynamically changing network address, comprising:
a tracking agent that is structured to
mutually receive, communicate, store, and update network address information associated with each of the correspondent computer systems in the community; and
a directory service component that is structured to
upon receiving a request for a current network address of a target correspondent computer system in the community, retrieve from the stored network address information a most recent address of the target correspondent computer system and determine whether the retrieved most recent address is current; and
when it is determined that the retrieved most recent address of the target correspondent computer system is not current, use the stored network address information associated with the rest of the correspondent computer systems in the community to communicate with one or more of the rest of the correspondent computer systems to automatically determine the current network address of the target correspondent computer system.
138 . The system of claim 137 , the directory service structured to communicate with each of the rest of the correspondent computer systems according to a determined order until the current network address of the target correspondent computer system is found or until all of the rest of the correspondent computer systems have been queried.
139 . The system of claim 137 wherein the determined order is at least one of correspondent level, a ranking, or a weighting of probable success.
140 . The system of claim 137 , the network address information including a network address for each direct correspondent of the computer system and a network address and a relationship path for each correspondent of each direct correspondent of the computer system.
141 . The system of claim 137 wherein the correspondent computer systems include at least one indirect correspondent of the computer system, and wherein the network address of the at least one indirect correspondent of the computer system is used to automatically determine the current network address of the target computer system.
142 . The system of claim 141 wherein the at least one indirect correspondent of the computer system is greater than two levels of correspondents away from the computer system.
143 . The system of claim 137 wherein the stored network address information includes Internet Protocol (“IP”) network addresses.
144 . The system of claim 137 wherein the stored network address information includes a private local area network (“LAN”) address.
145 . A method in a computer system for mutually tracking network addresses in a community of member computer systems that communicate with each other, the computer system having a network address, comprising:
receiving and storing network address information from a plurality of first level correspondents of the computer system, the received network address information of at least one of the plurality of first level correspondents including an indication of a network address of the one of the first level correspondents and an indication of a network address and a relationship path to at least one direct correspondent of the one of the first level correspondents and at least one indirect correspondent of the one of the first level correspondents; determining that the network address of the computer system has changed; and sending updated network address information that includes an updated network address of the computer system to direct and indirect correspondents of the plurality of first level correspondents using the stored network address information.
146 . The method of claim 145 wherein the stored network address information includes Internet Protocol (“IP”) network addresses.
147 . The method of claim 145 wherein the stored network address information includes a private local area network (“LAN”) address.
148 . The method of claim 145 wherein the sending the updated network address information is sent to direct and indirect correspondents of the plurality of first level correspondents until a determined threshold level of indirection is reached.
149 . The method of claim 145 wherein the sending the updated network address information is sent according to a determined order of correspondents.
150 . The method of claim 149 wherein the determined order is at least one of correspondent level, a ranking, or a weighting of probable success.
151 . A computer-readable memory medium containing instructions that control a computer process to mutually tracking network addresses in a community of member computer systems that communicate with each other, the computer processor residing in each one of the member computer systems, by:
receiving and storing network address information from a plurality of first level correspondents of the member computer system, the received network address information of at least one of the plurality of first level correspondents including an indication of a network address of the one of the first level correspondents and an indication of a network address and a relationship path to at least one direct correspondent of the one of the first level correspondents and at least one indirect correspondent of the one of the first level correspondents; determining that the network address of the member omputer system has changed; and sending updated network address information that includes an updated network address of the member computer system to direct and indirect correspondents of the plurality of first level correspondents using the stored network address information.
152 . The memory medium of claim 151 wherein the stored network address information includes Internet Protocol (“IP”) network addresses.
153 . The memory medium of claim 151 wherein the stored network address information includes a private local area network (“LAN”) address.
154 . The memory medium of claim 151 wherein the sending the updated network address information is sent to direct and indirect correspondents of the plurality of first level correspondents until a determined threshold level of indirection is reached.
155 . The memory medium of claim 151 wherein the sending the updated network address information is sent according to a determined order of correspondents.
156 . The memory medium of claim 155 wherein the determined order is at least one of correspondent level, a ranking, or a weighting of probable success.
157 . A tracking system for mutually tracking network addresses in each of a community of member computer systems that communicate with each other, each computer system having a network address, comprising:
a tracking agent that is structured to receive and store network address information from a plurality of first level correspondents of the member computer system, the received network address information of at least one of the plurality of first level correspondents including an indication of a network address of the one of the first level correspondents and an indication of a network address and a relationship path to at least one direct correspondent of the one of the first level correspondents and at least one indirect correspondent of the one of the first level correspondents; and a network address update mechanism that is structured to
determine that the network address of the member computer system has changed; and
send updated network address information that includes an updated network address of the member computer system to direct and indirect correspondents of the plurality of first level correspondents using the stored network address information.
158 . The system of claim 157 wherein the stored network address information includes Internet Protocol (“IP”) network addresses.
159 . The system of claim 157 wherein the stored network address information includes a private local area network (“LAN”) address.
160 . The system of claim 157 wherein the sending the updated network address information is sent to direct and indirect correspondents of the plurality of first level correspondents until a determined threshold level of indirection is reached.
161 . The system of claim 157 wherein the sending the updated network address information is sent according to a determined order of correspondents.
162 . The system of claim 161 wherein the determined order is at least one of correspondent level, a ranking, or a weighting of probable success.Join the waitlist — get patent alerts
Track US2005050227A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.