US2004153575A1PendingUtilityA1
Contacting a computing device outside a local network
Priority: Mar 6, 2001Filed: Jan 20, 2004Published: Aug 5, 2004
Est. expiryMar 6, 2021(expired)· nominal 20-yr term from priority
Inventors:Robert Coggeshall
H04L 61/5092H04L 61/10H04L 61/5014
38
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A facility for communicating between two computing devices is described. The facility determines a first computing device has been connected to a distinguished computer network that is connected to a second level computer network. The facility then utilizes the distinguished computer network and the second level computer network to establish contact with a second computing device that is outside the distinguished computer network.
Claims
exact text as granted — not AI-modified1 . A method for establishing communications between a first node outside of a computer network and a second node within the computer network comprising:
transmitting a message from the first node to a logical target address, the logical target address being among a set of logical addresses reserved for nodes within the network, the logical target address further not being in use by any of the nodes within the network; when the message is received by a receiving node within the network and the receiving node generates an address resolution protocol request requesting a response from any node using the logical target address of the message, determining in the second node that no response to the generated address resolution protocol request is transmitted to the receiving node; in response to so determining:
sending from the second node a response to the generated address resolution protocol request indicating that the second node is using the logical target address of the message;
configuring the second node to receive messages at the logical target address of the message;
receiving the message in the second node from the receiving node at the logical target address of the message; sending a reply to the message from the second node to the first node; receiving the reply in the first node; and in the first node, using the logical target address of the message to communicate with the second node.
2 . The method of claim 1 , further comprising, in the first node, using the logical target address of the message to configure the second node.
3 . A method in a first node within a first network for establishing contact with a second node outside the first network, the first node having a physical address, comprising:
detecting an address resolution request broadcast within the first network, the address resolution request containing a logical target address; determining whether an address resolution response to the detected address resolution request is transmitted from a node in the first network other than the first node; if it is determined that no address resolution response to the detected address resolution request is transmitted from a node in the first network other than the first node:
transmitting an address resolution response to the detected address resolution request containing the physical address of the first node; and
adopting the logical target address contained by the detected address resolution request as the logical address of the first node.
4 . The method of claim 3 wherein the physical address of the first node is an Ethernet address.
5 . The method of claim 3 wherein the physical address of the first node is a media access control address.
6 . The method of claim 3 wherein the logical target address is an Internet protocol address:
7 . The method of claim 3 wherein it is determined that no address resolution response to the detected address resolution request is transmitted from a node in the first network other than the first node if at least a threshold period of time elapses after the address resolution request is detected without a response to the detected address resolution request being detected.
8 . The method of claim 3 wherein it is determined that no address resolution response to the detected address resolution request is transmitted from a node in the first network other than the first node if the detected address resolution request is rebroadcast at least a threshold number of times without a response to the detected address resolution request being detected.
9 . The method of claim 3 , further comprising, in response to detecting an address resolution request broadcast within the first network, causing to be broadcast in the first network a second address resolution request, the second address resolution request containing as its physical source address the physical address of the first node, the second address resolution request containing as its logical target address the logical target address contained in the address resolution request,
and wherein it is determined that no address resolution response to the detected address resolution request is transmitted from a node in the first network other than the first node if at least a threshold period of time elapses after the second address resolution request is broadcast without a response to the second address resolution request being detected.
10 . The method of claim 3 , further comprising, in response to determining that no address resolution response to the detected address resolution request is transmitted from a node in the first network other than the first node, sending a gratuitous address resolution protocol request identifying the first node as the owner of the logical target address contained in the detected address resolution request.
11 . The method of claim 3 , further comprising:
receiving a message containing as its physical target address the physical address of the first node and containing as its logical target address the logical target address contained in the detected address resolution request; and in response to receiving the message, sending a gratuitous address resolution protocol request identifying the first node as the owner of the logical target address contained in the detected address resolution request.
12 . A first node within a first network that contacts a second node outside the first network, comprising:
an address component storing a physical address of the first node; a request detector that detects an address resolution request broadcast within the first network, the address resolution request containing a logical target address; a candidate address identification subsystem that determines whether an address resolution response to the detected address resolution request is transmitted from a node in the first network other than the first node; and an adoption subsystem that, if it is determined by the candidate address identification subsystem that no address resolution response to the detected address resolution request is transmitted from a node in the first network other than the first node, transmits an address resolution response to the detected address resolution request containing the physical address of the first node and adopts the logical target address contained by the detected address resolution request as the logical address of the first node.
13 . A method in a first node outside of a computer network to contact a second node within the computer network, comprising:
transmitting a message to a logical target address, the logical target address being among a set of logical addresses reserved for nodes within the network. the logical target address further not being in use by any of the nodes within the network such that, when the message is received by a receiving node within the network, the receiving node will generate an address resolution protocol request, the generated address resolution protocol request requesting a response from any node using the logical target address of the message; and receiving a reply to the message originating at the second node, the reply signifying that, in response to receiving the generated address resolution protocol request, the second node adopted the logical target address of the message for its use.
14 . The method of claim 13 wherein the transmitted message is a ping packet.
15 . The method of claim 13 , further comprising transmitting a further message to the second node at the logical target address of the message.
16 . The method of claim 13 , further comprising transmitting to the second node one or more configuration instructions for configuring the second node.
17 . The method of claim 13 , further comprising transmitting to the second node one or more configuration instructions for configuring the second node, the transmitted instructions including an instruction to utilize a specified logical address.
18 . A computer-readable medium whose contents cause a first node outside of a computer network to contact a second node within the computer network by:
transmitting a message to a logical target address, the logical target address being among a set of logical addresses reserved for nodes within the network the logical target address further not being in use by any of the nodes within the network such that, when the message is received by a receiving node within the network, the receiving node will generate an address resolution protocol request, the generated address resolution protocol request requesting a response from any node using the logical target address of the message; and receiving a reply to the message originating at the second node, the reply signifying that, in response to receiving the generated address resolution protocol request, the second node adopted the logical target address of the message for its use.
19 . A method in a first node within a first network for establishing contact with a second node outside the first network, comprising:
identifying a first message broadcast within the first network for which no reply is transmitted, the first message including a source address associated with the second node; and in response to identifying the first message, sending a second message to the second node.
20 . The method of claim 19 wherein the second message contains an address associated with the first node.
21 . The method of claim 19 wherein the first message contains a target address, and wherein the method further comprises, subsequent to identifying the first message:
adopting the target address contained by the first message as the address of the first node;
including the target address contained by the first message in the second message as the source address of the second message; and
receiving messages having as their target addresses the target address contained by the first message.
22 . The method of claim 19 wherein the first message is an address resolution protocol request.
23 . The method of claim 22 wherein the second message is an address resolution protocol reply.
24 . The method of claim 19 further comprising:
subsequent to sending the second message, receiving configuration instructions from the second node; and
applying the received configuration instructions.
25 . A method in a first node outside a local area network for contacting a device connected to the local area network, comprising:
transmitting a message to a logical address in the local area network, the logical address being indicated to be unused; and receiving a reply to the message from the device indicating that the device is receiving messages at the logical address.
26 . The method of claim 25 , further comprising transmitting a further message to the device at the logical address.
27 . The method of claim 25 , further comprising transmitting to the device at the logical address one or more configuration instructions for configuring the device.
28 . The method of claim 25 , further comprising transmitting to the device at the logical address one or more configuration instructions for configuring the device, the transmitted instructions including an instruction to utilize a specified logical address.
29 . A method in a first computing device, comprising:
determining that the first computing device has been connected to a distinguished computer network, the distinguished computer network being a first-level computer network that is connected to a second-level computer network; and utilizing the distinguished computer network and the second-level computer network to establish contact with a second computing device that is outside the distinguished computer network.
30 . The method of claim 29 wherein the distinguished computer network is a local area network.
31 . The method of claim 29 wherein the second-level computer network is the Internet.
32 . The method of claim 29 wherein the second-level computer network is a wide area network.
33 . The method of claim 29 , further comprising:
detecting a message sent by the second computing device from an address of the second computing device to an unused address reserved for use by the distinguished computer network; adopting the unused address for use by the first computing device, and responding to the detected message with a message addressed to the address of the second computing device from the adopted address.
34 . The method of claim 29 , further comprising:
monitoring traffic in the distinguished network to identify one or more candidate addresses for a gateway between the distinguished network and one or more other networks; and sending a message to a predetermined address for the second computing device via each of the identified gateway candidate addresses.
35 . The method of claim 34 , further comprising sending one or more stimuli messages to elicit traffic in the distinguished network for monitoring.
36 . One or more generated data signals collectively conveying a message for contacting a node in a network, the message containing as a target address a selected address regarded as being assigned to the network but not assigned to a node in the network,
such that, when the message is transmitted containing the selected address as its target address, a receiving node that receives the message within the network may broadcast an address resolution request for resolving the selected address, and the node may determine that the broadcast address resolution request is unanswered, and the node may in response (a) send its own answer to the broadcast address resolution request indicating that the selected address should resolve to the node and (b) configure itself to receive messages at the selected address.
37 . One or more generated data signals collectively conveying an address resolution request for contacting a device connected to a network, the address resolution request containing a selected address understood to be unassigned within the network and comprising a request to resolve the selected address,
such that, when the address resolution request is broadcast in the network, and the node may determine that the broadcast address resolution request is unanswered. and the node may in response (a) send its own answer to the broadcast address resolution request indicating that the selected address should resolve to the node and (b) configure itself to receive messages at the selected address.
38 . One or more computer memories collectively storing an address resolution request for contacting a device connected to a network, the address resolution request containing a selected address understood to be unassigned within the network and comprising a request to resolve the selected address,
such that, when the address resolution request is broadcast in the network, and the node may determine that the broadcast address resolution request is unanswered, and the node may in response (a) send its own answer to the broadcast address resolution request indicating that the selected address should resolve to the node and (b) configure itself to receive messages at the selected address.
39 . One or more generated data signals collectively conveying an address resolution protocol response used by a node in a network to adopt a logical network address for its own use, the address resolution protocol response resolving the logical network address to a physical network address used by the node, the address resolution protocol response being transmitted by the node after receiving an address resolution protocol request containing the logical network address and determining that no response to the an address resolution protocol request is transmitted by another node in the network,
such that, after the address resolution protocol response is transmitted by the node, messages addressed to the logical network address are delivered to the physical network address used by the node.
40 . The generated data signals of claim 39 wherein the address resolution protocol response is transmitted at a time when the node is not configured to use the logical network address.
41 . One or more computer memories collectively storing an address resolution protocol response used by a node in a network to adopt a logical network address for its own use, the address resolution protocol response resolving the logical network address to a physical network address used by the node, the address resolution protocol response being transmitted by the node after receiving an address resolution protocol request containing the logical network address and determining that no response to the an address resolution protocol request is transmitted by another node in the network,
such that, after the address resolution protocol response is transmitted by the node, messages addressed to the logical network address are delivered to the physical network address used by the node.
42 . One or more computer memories collectively containing a data structure containing information identifying a logical network address for which an address resolution request has been observed and for which no address resolution response has been observed, so that a network node may determine that the identified logical network address is unused and adopt the identified logical network address for its own use.
43 . The computer memories of claim 42 wherein the data structure contains information identifying a plurality of different logical network address for which an address resolution request has been observed and for which no address resolution response has been observed.
44 . The computer memories of claim 42 wherein the data structure further contains an indication of a time at which the identified logical network address will be considered unused if no address resolution response has been observed by that time.
45 . The computer memories of claim 42 wherein the data structure further contains an indication of a number of additional repetitions of the observed address resolution request for the identified logical network address that must be observed before an address resolution response for the identified address is observed for the identified logical network address to be considered unused.
46 . One or more computer memories collectively containing a data structure containing information identifying a logical network address that has been provisionally adopted by a network node,
such that the contents of the data structure may be used in conclusively adopting the identified logical network address.
47 . The computer memories of claim 46 wherein information identifying the logical network address was stored in the data structure in response to observing an address resolution request for the logical network address for which no corresponding address resolution response was observed.
48 . The computer memories of claim 46 wherein information identifying the logical network address was stored in the data structure in response to the network node sending an address resolution response to an observed address resolution request for the logical network address for which no other corresponding address resolution response was observed, and wherein the identified logical network address may be conclusively adopted by the network node when a message addressed to the logical network address is delivered to the network node.
49 . A method in a contacting computing device for establishing contact with a contacted computing device, the contacting computing device being connected to a private network, the contacted computing device being connected to the Internet and having a predetermined protocol address, comprising:
sending out a series of stimulus packets for eliciting network traffic in the private network; in promiscuous mode, monitoring packets traveling in the private network; for each of a plurality of monitored packets, recording physical addresses contained in the monitored packets and recording protocol addresses contained in the monitored packets; selecting for use by the contacting computing device a protocol address not among the recorded protocol addresses; retrieving the predetermined protocol address for the contacted computing device from nonvolatile memory; and for at least a portion of the recorded physical addresses, sending a packet to the predetermined protocol address of the contacted computing device via the recorded physical address, the packet listing the selected protocol address as its source address.
50 . The method of claim 49 , further comprising receiving a response from the contacted computing system at the selected protocol address.
51 . The method of claim 50 wherein the response is a configuration instruction, the method further comprising executing the configuration instruction.
52 . The method of claim 49 wherein one of the monitored packet is a packet explicitly identifying the physical address of a gateway of the private network, and wherein the sending is performed only for the explicitly identified gateway physical address.
53 . The method of claim 49 wherein one or more contacted computer systems collectively have a plurality of predetermined protocol addresses, and wherein packets are sent to each of the plurality of predetermined protocol addresses.
54 . The method of claim 49 wherein, for at least a portion of the monitored packets, the source physical address and destination physical address are recorded.
55 . The method of claim 49 wherein, for at least a portion of the monitored packets, physical addresses contained in the body of the monitored packet are recorded.
56 . A computer-readable medium whose contents cause a contacting computing device for establishing contact with a contacted computing device, the contacting computing device being connected to a private network, the contacted computing device being connected to the Internet and having a predetermined logical address, by:
sending out a series of stimulus packets for eliciting network traffic in the private network; in promiscuous mode, monitoring packets traveling in the private network; for each of a plurality of monitored packets, recording physical addresses contained in the monitored packets and recording logical addresses contained in the monitored packets, selecting for use by the contacting computing device a logical address not among the recorded logical addresses; retrieving the predetermined logical address for the contacted computing device from nonvolatile memory; and for at least a portion of the recorded physical addresses, sending a packet to the predetermined logical address of the contacted computing device via the recorded physical address, the packet listing the selected logical address as its source address.
57 . A method in a contacting computing device for establishing contact with a contacted computing device, the contacting computing device being connected to a private network, the contacted computing device being connected to the Internet and having a predetermined address, comprising:
monitoring traffic in the private network to identify one or more candidate addresses for a gateway between the private network and one or more other networks; and sending a message to the predetermined address for the contacted computing device via each of the identified gateway candidate addresses.
58 . The method of claim 57 wherein the monitoring identifies as gateway candidate addresses any addresses from which a packet is sent or to which a packet is sent.
59 . The method of claim 57 wherein the sent message has contents indicating that the contacting device has been connected to the Internet.
60 . The method of claim 57 wherein the sent message has contents describing aspects of the contacting computing device's connection to the private network.
61 . The method of claim 57 wherein the sent message has contents describing the private network.
62 . The method of claim 57 , further comprising sending one or more stimuli messages to elicit traffic in the private network for monitoring.
63 . The method of claim 57 wherein the monitoring identifies as gateway candidate addresses any addresses from which a packet is sent or to which a packet is sent.
64 . The method of claim 57 , further comprising sending one or more Dynamic Host Configuration Protocol requests to elicit a Dynamic Host Configuration Protocol response containing a gateway address.
65 . The method of claim 64 , wherein the monitoring includes monitoring for a Dynamic Host Configuration Protocol response.
66 . The method of claim 57 , further comprising sending one or more NetBIOS name service queries to elicit a NetBIOS name service response containing a gateway address.
67 . The method of claim 66 , wherein the monitoring includes monitoring for a NetBIOS name service response.
68 . The method of claim 57 , further comprising sending one or more broadcast ping request to elicit a ping response containing a gateway address.
69 . The method of claim 68 , wherein the monitoring includes monitoring for a ping response.
70 . The method of claim 57 , wherein the monitoring includes monitoring for an address resolution protocol request.
71 . The method of claim 57 , wherein the monitoring includes monitoring for an address resolution protocol reply.
72 . The method of claim 57 , wherein the monitoring includes monitoring for a Cisco Discovery Protocol packet.
73 . A contacting computing device for establishing contact with a contacted computing device, the contacted computing device being connected to the Internet and having a predetermined address, comprising:
an interface connecting the contacting computing device to a private network, a monitoring subsystem that monitors traffic in the private network to identify one or more candidate addresses for a gateway between the private network and one or more other networks; and a transmission subsystem that sends a message to the predetermined address for the contacted computing device via each of the identified gateway candidate addresses.Join the waitlist — get patent alerts
Track US2004153575A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.