IP Library Granted Patent US 8,589,539
Granted Patent B2
US 8,589,539 · App. 12/989,601 · Granted Nov 19, 2013

Multipeer

Inventors: Raghupathy Sivakumar (Alpharetta, GA); Aravind Velayutham (Atlanta, GA); Zhenyun Zhuang (Atlanta, GA)
Assignee: EMC Corporation
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 8,589,539
App. No.
12/989,601
Filed
Jul 11, 2011
Granted
Nov 19, 2013
Kind
B2
Art Unit
2453
USPC
709/224
Abstract

Provided are methods and systems for creating an optimal set of reflector peers, comprising detecting a plurality of reflector peers, retrieving a plurality of static metrics from each of the plurality of reflector peers, ranking the plurality of reflector peers based on the plurality of static metrics, selecting a top predetermined number of peers from each static metric, establishing the selected reflector peers as the optimal set of reflector peers, determining dynamic metric for each of the plurality of reflector peers, and adjusting the optimal set of reflector peers based on the dynamic metric.

Claims (88)

1. A method for creating an optimal set of reflector peers, comprising:

detecting a plurality of reflector peers;

generating a combined metric construction factor for two or more reflector peers of the plurality of reflector peers, wherein generating a combined metric construction factor comprises receiving, for the two or more reflector peers, one or more of a servicing load metric, a link capacity metric, a proximity metric, an Internet Service Provider (ISP) metric, a Network Address Translator (NAT) metric, and a cache correlation metric, and wherein generating a combined metric construction factor comprises normalizing one or more of the servicing load metric, link capacity metric, proximity metric, ISP metric, NAT metric, and cache correlation metric according to V ij ′=V ij /Max j , wherein the value of metric j of peer i is denoted by V ij and Max j is the maximum value of all peers for metric j;

selecting a pre-determined number of reflector peers based on the generated combined metric construction factor; and

establishing the selected reflector peers as the optimal set of reflector peers.

2. The method of claim 1 , wherein generating a combined metric construction factor for each of the plurality of reflector peers comprises performing initial peer assignment on the plurality of reflector peers.

3. The method of claim 2 , wherein performing initial peer assignment on the plurality of reflector peers comprises:

ranking the plurality of reflector peers based on one or more of the servicing load metric, link capacity metric, proximity metric, ISP metric, and NAT metric;

selecting a top predetermined number of peers from each of the one or more metrics; and

establishing the selected reflector peers as the optimal set of reflector peers.

4. The method of claim 1 , wherein retrieving a servicing load metric comprises determining a number of peers served by each peer.

5. The method of claim 1 , wherein retrieving a link capacity metric comprises actively probing to determine a minimum link capacity of two peers away from each peer.

6. The method of claim 1 , wherein retrieving a proximity metric comprises determining an Internet Protocol (IP) address for the two or more reflector peers of the plurality of reflector peers and correlating each IP address with an IP address geo-location database to determine a physical location for the two or more reflector peers of the plurality of reflector peers.

7. The method of claim 1 , wherein retrieving an Internet Service Provider (ISP) metric comprises actively probing to determine a route taken by data packets and extracting ISP information.

8. The method of claim 1 , wherein retrieving a NAT metric comprises:

determining whether each of the two or more reflector peers is behind a NAT device; and

if a peer is behind a NAT device, determining a number of peers behind the NAT device.

9. The method of claim 1 , wherein generating a combined metric construction factor comprises:

applying a weight to each normalized metric value; and

for each of the plurality of reflector peers, adding the weighted normalized metric values associated with that peer.

10. The method of claim 1 , wherein the cache correlation metric is determined based on receipt of one data packet.

11. The method of claim 1 , wherein the cache correlation metric is determined based on a receipt of a plurality of data packets, wherein the cache correlation metric is updated according to Cor cur — i =e*Cor old — i +(1−e)*Cor cur — i , where in Cor cur — i represents a current cache correlation metric, Cor old — i represents a previous cache correlation metric, and e represents a weighting factor, Cor cur — i =1 if a current packet is correlated between two reflector peers, otherwise Cor cur — i =0.

12. The method of claim 1 , wherein the method is periodically repeated.

13. The method of claim 1 , wherein the method is repeated based on the occurrence of a network event.

14. The method of claim 13 , wherein the network event comprises one or more of, network performance levels dropping below a threshold, offline reflector peers, data transmissions occurring primarily between a subset of the set of optimal reflector peers, and network performance levels increasing beyond a threshold.

15. A system for creating an optimal set of reflector peers, comprising:

a plurality of reflector processors, wherein one of the plurality of reflector processors is configured for

detecting a plurality of reflector processors;

generating a combined metric construction factor for two or more reflector processors of the plurality of reflector processors, wherein generating a combined metric construction factor comprises receiving, for the two or more reflector processors, one or more of a servicing load metric, a link capacity metric, a proximity metric, an Internet Service Provider (ISP) metric, a Network Address Translator (NAT) metric, and a cache correlation metric, and wherein generating a combined metric construction factor comprises normalizing one or more of the servicing load metric, link capacity metric, proximity metric, ISP metric, NAT metric, and cache correlation metric according to V ij ′=V ij /Max j , wherein the value of metric j of peer i is denoted by V ij and Max j is the maximum value of all peers for metric j.

selecting a pre-determined number of reflector processors based on the generated combined metric construction factor; and

establishing the selected reflector processors as the optimal set of reflector peers.

16. A system for creating an optimal set of reflector peers, comprising:

a plurality of reflector processors, wherein one of the plurality of reflector processors is configured for

detecting a plurality of reflector processors;

retrieving one or more of a servicing load metric, a link capacity metric, a proximity metric, and an Internet Service Provider (ISP) metric for two or more of the plurality of reflector processors;

determining a cache correlation metric for the two or more of the plurality of reflector processors;

normalizing one or more of the metrics according to V ij ′=V ij /Max j , wherein the value of metric j of peer i is denoted by V ij and Max j is the maximum value of all peers for metric j;

ranking the two or more of the plurality of reflector processors based on one or more of the normalized metrics;

selecting a top predetermined number of processors from each of the one or more metrics; and

establishing the selected reflector processors as the optimal set of reflector peers.

17. A method for creating an optimal set of reflector peers, comprising:

detecting a plurality of reflector peers;

retrieving one or more of a servicing load metric, a link capacity metric, a proximity metric, and an Internet Service Provider (ISP) metric for two or more of the plurality of reflector peers;

determining a cache correlation metric for the two or more of the plurality of reflector peers;

normalizing one or more of the metrics according to V ij ′=V ij /Max j , wherein the value of metric j of peer i is denoted by V ij and Max j is the maximum value of all peers for metric j;

ranking the two or more of the plurality of reflector peers based on one or more of the normalized metrics;

selecting a top predetermined number of peers from each of the one or more metrics; and

establishing the selected reflector peers as the optimal set of reflector peers.

18. The method of claim 17 , wherein retrieving a servicing load metric comprises determining a number of peers served by each peer.

19. The method of claim 17 , wherein retrieving a link capacity metric comprises actively probing to determine a minimum link capacity of two peers away from each peer.

20. The method of claim 17 , wherein retrieving a proximity metric comprises determining an Internet Protocol (IP) address for each the plurality of reflector peers and correlating each IP address with an IP address geo-location database to determine a physical location for each of the plurality of reflector peers.

21. The method of claim 17 , wherein retrieving an Internet Service Provider (ISP) metric comprises actively probing to determine a route taken by data packets and extracting ISP information.

22. The method of claim 17 , wherein the cache correlation metric is determined based on receipt of a plurality of data packets, wherein the cache correlation metric is updated according to Cor cur — i =e*Cor old — i +(1−e)*Cor cur — i , wherein Cor cur — i represents a current cache correlation metric, Cor old — i represents a previous cache correlation metric, and e represents a weighting factor, Cor cur i =1 if a current packet is correlated between two reflector peers, otherwise Cor cur — i =0.

23. The method of claim 17 , further comprising determining a NAT metric and ranking the plurality of reflector peers based on one or more of the servicing load metric, link capacity metric, proximity metric, ISP metric, cache correlation metric, and NAT metric.

24. The method of claim 23 , wherein retrieving a NAT metric for each of the plurality of peers comprises:

determining whether each peer is behind a NAT device; and

if a peer is behind a NAT device, determining a number of peers behind the NAT device.

25. The method of claim 17 , further comprising:

generating a combined metric construction factor for each of the plurality of reflector peers; and

adjusting the optimal set of reflector peers based on the combined metric construction factor.

26. The method of claim 25 , wherein generating a combined metric construction factor for each of the plurality of reflector peers comprises:

applying a weight to each normalized metric value; and

for each of the plurality of reflector peers, adding the weighted normalized metric values associated with that peer.

27. The method of claim 17 , wherein the method is periodically repeated.

28. The method of claim 17 , wherein the method is repeated based on the occurrence of a network event.

29. The method of claim 28 , wherein the network event comprises one or more of, network performance levels dropping below a threshold, offline reflector peers, data transmissions occurring primarily between a subset of the set of optimal reflector peers, and network performance levels increasing beyond a threshold.

30. A system for creating an optimal set of reflector peers, comprising:

a plurality of reflector processors, wherein one of the plurality of reflector processors is configured for

detecting a plurality of reflector processors;

receiving, for two or more reflector processors of the plurality of reflector processors, one or more of a servicing load metric, a link capacity metric, a proximity metric, an Internet Service Provider (ISP) metric, and a Network Address Translator (NAT) metric;

ranking the plurality of reflector processors based on one or more of the servicing load metric, link capacity metric, proximity metric, ISP metric, and NAT metric;

selecting a top predetermined number of processors based on one or more of the metrics;

establishing the selected reflector processors as the optimal set of reflector peers;

determining a cache correlation metric for the two or more reflector processors of the plurality of reflector processors, wherein the cache correlation metric is determined according to Cor cur — i =e*Cor old — i +(1−e)*Cor cur — i , wherein Cor cur — i represents a current cache correlation metric, Cor old — i represents a previous cache correlation metric, and e represents a weighting factor, Cor cur — i =1 if a current packet is correlated between two reflector peers, otherwise Cor cur — i =0; and

adjusting the optimal set of reflector peers based on the cache correlation metric.

31. A method for creating an optimal set of reflector peers, comprising:

detecting a plurality of reflector peers;

receiving, for two or more reflector peers of the plurality of reflector peers, one or more of a servicing load metric, a link capacity metric, a proximity metric, an Internet Service Provider (ISP) metric, and a Network Address Translator (NAT) metric;

ranking the plurality of reflector peers based on one or more of the servicing load metric, link capacity metric, proximity metric, ISP metric, and NAT metric;

selecting a top predetermined number of peers based on one or more of the metrics;

establishing the selected reflector peers as the optimal set of reflector peers;

determining a cache correlation metric for the two or more reflector peers of the plurality of reflector peers, wherein the cache correlation metric is determined according to Cor cur — i =e*Cor old — i +(1−e)*Cor cur — i , wherein Cor cur — i represents a current cache correlation metric, Cor old — i represents a previous cache correlation metric, and e represents a weighting factor, Cor cur — i =1 if a current packet is correlated between two reflector peers, otherwise Cor cur — i =0; and

adjusting the optimal set of reflector peers based on the cache correlation metric.

32. The method of claim 31 , further comprising:

determining a combined metric construction factor for the two or more reflector peers of the plurality of reflector peers based on the servicing load metric, link capacity metric, proximity metric, ISP metric, cache correlation metric, and NAT metric; and

adjusting the optimal set of reflector peers based on the combined metric construction factors.

33. The method of claim 31 , wherein the method is repeated based on the occurrence of a network event.

34. The method of claim 33 , wherein the network event comprises one or more of, network performance levels dropping below a threshold, offline reflector peers, data transmissions occurring primarily between a subset of the set of optimal reflector peers, and network performance levels increasing beyond a threshold.

Assignments (11)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2011
From: SIVAKUMAR, RAGHUPATHY; VELAYUTHAM, ARAVIND; ZHUANG, ZHENYUN
To: ASANKYA NETWORKS, INC.
Reel/Frame 026530/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2011
From: ASANKYA, INC.
To: EMC CORPORATION
Reel/Frame 026421/0935 →
Continuity (2)
Provisional Application 61125482 · Apr 25, 2008
Related Publication 20110264792A1 · Oct 27, 2011