Contacting a computing device outside a local network
AssigneeWatchGuard Technologies, Inc.
InventorRobert Coggeshall
Life of this patent
Estimating the term…
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.
Claims73
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Dependencies are inferred from the claim text.