IP Library Granted Patent US 7,721,110
Granted Patent B2
US 7,721,110 · App. 09/921,543 · Granted May 18, 2010

System and method for secure and verified sharing of resources in a peer-to-peer network environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,721,110
App. No.
09/921,543
Granted
May 18, 2010
Kind
B2
Abstract

A system and method for secure and verified sharing of resources in a peer-to-peer network environment to facilitate efficient use of bandwidth are disclosed. The method for securely sharing resources over a peer-to-peer network generally comprises broadcasting a request by a requesting peer for a resource over the peer-to-peer network where the resource is identified with a resource version identifier, receiving a response from a responding peer on the peer-to-peer network indicating that the responding peer has the requested resource, retrieving the requested resource from the responding peer, and verifying the retrieved resource by ensuring the retrieved resource contains the version identifier embedded therein. Preferably, the verifying also includes verifying a digital signature, such as a 1024-bit VeriSign digital certificate, of the retrieved resource to ensure integrity of the retrieved resource.

Claims (47)

1. A method for securely sharing resources over a peer-to-peer network, comprising:

broadcasting a single request to a plurality of peers by a requesting peer for a resource over the peer-to-peer network wherein the request contains an identification of the resource and the resource identification contains a resource version identifier;

receiving a response from a responding peer on the peer-to-peer network indicating that the responding peer has the requested resource;

retrieving the requested resource from the responding peer;

periodically broadcasting a single progress message including progress information to the plurality of peers indicating that the requested resource is in the process of being retrieved;

verifying the retrieved resource by ensuring the retrieved resource contains the version identifier embedded therein; and

informing a service server on the responding peer that a local copy of the retrieved resource now exists;

wherein a file name of the retrieved resource indicates a version of the retrieved resource, a file added to the retrieved resource specifies an original name of the retrieved resource, and the original name is utilized to verify the file name of the retrieved resource.

2. The method for securely sharing resources over a peer-to-peer network of claim 1 , wherein said verifying the retrieved resource further comprises verifying a digital signature of the retrieved resource to ensure integrity of the retrieved resource.

3. The method for securely sharing resources over a peer-to-peer network of claim 2 , wherein said digital signature is a 1024-bit VeriSign digital certificate.

4. The method for securely sharing resources over a peer-to-peer network of claim 1 , further comprising installing said resource.

5. The method for securely sharing resources over a peer-to-peer network of claim 1 , further comprising retrieving a catalog containing a listing of resources.

6. The method for securely sharing resources over a peer-to-peer network of claim 5 , further comprising comparing the listing of resources with resources installed at the requesting peer to determine which resources are to be requested over the peer-to-peer network.

7. The method for securely sharing resources over a peer-to-peer network of claim 6 , further comprising requesting each resource to be requested in a separate transaction such that each resource to be requested may be retrieved from a same or different responding peer.

8. The method for securely sharing resources over a peer-to-peer network of claim 1 , wherein the responding peer scans a list of local aliased copies to determine if the responding peer has a local version of the requested resource.

9. The method for securely sharing resources over a peer-to-peer network of claim 1 , wherein the responding peer waits a predetermined period of time before responding that the responding resource has the requested resource.

10. The method for securely sharing resources over a peer-to-peer network of claim 9 , wherein the predetermined period of time is randomly generated between 0 and 2000 milliseconds.

11. The method for securely sharing resources over a peer-to-peer network of claim 1 , wherein, after receiving the response, the requesting peer broadcasts a message to the plurality of peers that the requested resource has been found.

12. A product updating service, comprising:

automatically downloading a catalog containing a current listing of resources for a product at a predetermined time, each resource being identified by a resource version identifier;

comparing the listing of resources in the catalog with resources installed at a node of a peer-to-peer network to determine which resources are to be requested over the peer-to-peer network;

requesting each resource to be requested in a separate transaction over the peer-to-peer network, the request being made via a single broadcasted request to a plurality of peers;

retrieving each resource to be requested in the peer-to-peer network and the Internet;

periodically broadcasting, for each requested resource, a single progress message including progress information to the plurality of peers indicating that the requested resource is in the process of being retrieved;

verifying each retrieved resource by ensuring the retrieved resource contains the version identifier embedded therein; and

informing a service server on the responding peer that a local copy of each retrieved resource now exists;

wherein the product updating service is operable such that, for each retrieved resource, a file name of the retrieved resource indicates a version of the retrieved resource, a file added to the retrieved resource specifies an original name of the retrieved resource, and the original name is utilized to verify the file name of the retrieved resource.

13. The product updating service of claim 12 , wherein said verifying each retrieved resource further comprises verifying a digital signature of each retrieved resource to ensure integrity of the retrieved resource.

14. The product updating service of claim 13 , wherein said digital signature is a 1024-bit VeriSign digital certificate.

15. The product updating service of claim 12 , further comprising installing each of the retrieved resources.

16. The product updating service of claim 12 , wherein each resource is digitally signed with a digital signature.

17. The product updating service of claim 16 , wherein said digital signature is a 1024-bit VeriSign digital certificate.

18. A computer program product, comprising:

computer code that broadcasts a single request to a plurality of peers by a requesting peer for a resource over a peer-to-peer network wherein the request contains an identification of the resource and the resource identification contains a resource version identifier;

computer code that receives a response from a responding peer on the peer-to-peer network indicating that the responding peer has the requested resource;

computer code that retrieves the requested resource from the responding peer;

computer code that periodically broadcasts a single progress message including progress information to the plurality of peers indicating that the requested resource is in the process of being retrieved;

computer code that verifies the retrieved resource by ensuring the retrieved resource contains the version identifier embedded therein;

computer code that informs a service server on the responding peer that a local copy of the retrieved resource now exists; and

a computer readable medium that stores said computer codes;

wherein the computer program product is operable such that a file name of the retrieved resource indicates a version of the retrieved resource, a file added to the retrieved resource specifies an original name of the retrieved resource, and the original name is utilized to verify the file name of the retrieved resource.

19. The computer program product of claim 18 , wherein said computer code that verifies the retrieved resource further comprises computer code that verifies a digital signature of the retrieved resource to ensure integrity of the retrieved resource.

20. The computer program product of claim 19 , wherein said digital signature is a 1024-bit VeriSign digital certificate.

21. The computer program product of claim 18 , further comprising computer code that installs said resource.

22. The computer program product of claim 18 , further comprising computer code that retrieves a catalog containing a listing of resources.

23. The computer program product of claim 22 , further comprising computer code that compares the listing of resources with resources installed at the requesting peer to determine which resources are to be requested over the peer-to-peer network.

24. The computer program product of claim 23 , further comprising computer code that requests each resource to be requested in a separate transaction such that each resource to be requested may be retrieved from a same or different responding peer.

Assignments (11)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
MERGER Recorded Jun 23, 2005
From: NETWORKS ASSOCIATES TECHNOLOGY, INC.
To: MCAFEE, INC.
Reel/Frame 016646/0513 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2001
From: KOUZNETSOV, VICTOR; VIGUE, CHARLES L.; FALLENSTEDT, MARTIN; MELCHIONE, DANIEL
To: NETWORKS ASSOCIATES TECHNOLOGY, INC.
Reel/Frame 012073/0208 →