Peer-to-peer network communication
AssigneeMicrosoft Corporation
InventorJohn Miller
Life of this patent
Estimating the term…
Abstract
In a typical peer-to-peer network, any user of the peer-to-peer network may request a lookup of a key and its associated value. To limit access to a stored key-value pair, a user node may generate a registration message for a key-value pair. The value may include the payload to be stored at the storage node, and an access list containing one or more retrieval identifiers indicating one or more users authorized to access the payload. In some cases, the registration message may also include an encrypted payload which is encrypted with a group key. The group key may be included in the registration message, and may be encrypted with an encryption key which is known by the authorized user.
Claims20
One or more computer-readable media having stored thereon a registration message data structure comprising:
- a) a first data field containing data representing a registration key;
- b) a second data field, associated with the first data field, containing data representing a payload encrypted with a group key;
- c) a third data field, associated with the second data field, containing data representing a first retrieval identifier indicating a first user authorized to access the payload;
- and
- d) a fourth data field containing data representing the group key.
One or more computer-readable media having stored thereon a data structure comprising:
- a) a key-value pair comprising a first registration key, a payload, and a first retrieval identifier stored in a range of memory addresses in the media, the first registration key being stored in a first region in the range of memory addresses, the payload being stored in a second region in the range of memory addresses, and the first retrieval identifier being stored in a third region in the range of memory addresses;
- b) a lookup message stored in a fourth region in the range of memory addresses, the lookup message including a second registration key and a second retrieval identifier, wherein a predetermined data processing operation includes comparing the first retrieval identifier with the second retrieval identifier and comparing the first registration key with the second registration key;
- and
- c) a node identifier stored in a fifth region in the range of memory addresses, the node identifier uniquely identifying a first node in a peer-to-peer network and being similar to the first registration key.
One or more computer-readable media having computer-executable components comprising:
- a) a registration module for receiving a registration message comprising a first registration key, a payload, a first retrieval identifier, and a group key, the group key being suitable for decrypting the payload;
- and
- b) a lookup module for receiving a lookup message, the lookup message comprising a second registration key and a second retrieval identifier, the lookup module being for validating the lookup message by determining if the second retrieval identifier matches the first retrieval identifier and if the first registration key matches the second registration key, the lookup module being for sending the payload to a node of a peer-to-peer network associated with the second retrieval identifier if the lookup message is validated.
Dependencies are inferred from the claim text.