Patent ID: 8510548

Claim:
A discovery system for discovering encrypted peer-to-peer (EP2P) nodes associated with a particular EP2P network, embodied in one or more non-transitory computer-readable storage media and executable by one or more processors, comprising: said one or more processors; a database including: node information for discovered EP2P nodes associated with the particular EP2P network, wherein the node information for each discovered EP2P node includes an IP address and port number combination, a status, and a relationship; and one or more discovery agents, each discovery agent including: a port scanner module for receiving one or more initial IP addresses, each having a plurality of port numbers, for sending an EP2P connection request associated with the particular EP2P network to each initial IP address and port number combination, for if a response is received from a particular initial IP address and port number combination, determining whether the response is an EP2P connection response associated with the particular EP2P network, for if the response is determined to be an EP2P connection response associated with the particular network, determining that the particular initial IP address and port number combination belongs to an initial EP2P node associated with the particular EP2P network, having an active status, wherein for storing the particular initial IP address and port number combination of the initial EP2P node in the database, and for storing the active status of the initial EP2P node in the database; and a node discovery module for receiving the particular initial IP address and port number combination from the port scanner module, for sending an EP2P discovery request associated with the particular EP2P network to the particular initial IP address and port number combination, for receiving an EP2P discovery response associated with the particular EP2P network from the initial IP address and port number combination, for determining whether the EP2P discovery response includes one or more new IP address and port number combinations, for if the EP2P discovery response includes one or more new IP address and port number combinations, extracting the one or more new IP address and port number combinations from the EP2P discovery response and determining that the one or more new IP address and port number combinations belong to one or more new EP2P nodes associated with the particular EP2P network, each having an unknown status and each having a relationship to the initial EP2P node, wherein for storing the one or more new IP address and port number combinations of the one or more new EP2P nodes in the database, for storing the unknown status of each new EP2P node in the database, and for storing the relationship of each new EP2P node to the initial EP2P node in the database.