IP Library Granted Patent US 7,783,778
Granted Patent B2
US 7,783,778 · App. 10/950,150 · Granted Aug 24, 2010

Model-based method and apparatus for determining virtual private network topologies

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,783,778
App. No.
10/950,150
Granted
Aug 24, 2010
Kind
B2
Abstract

A method and apparatus for determining and identifying types of Virtual Private Networks is disclosed. The method comprises the steps of representing the network by a model containing a plurality of object classes, evaluating an import/export relationship of a first one and a second one of the object classes and identifying the network type based on the evaluated relationship.

Claims (84)

1. A method for determining a type of Virtual Private Network (VPN) comprising the steps of: representing the network by a model containing a plurality of object classes; evaluating an import/export relationship of a first one and a second one of the object classes; and identifying the network type based on the evaluated relationship; wherein the first object class is a RouteTarget; and

wherein the step of evaluating an import/export relationship comprises the step of:

determining

Im( R 1 )=Ex( R 2 ); and

Ex( R 1 )\Im( R 1 )=Im( R 2 )\Ex( R 2 ); and

Ex( R 1 )≠Im( R 2 ) OR

Ex( R 1 )∩Im( R 1 )≠Empty set.

2. The method as recited in claim 1 , wherein the VPN network object classes are selected from the group consisting of: configuration non-specific representation of types of managed components associated with elements of the network and configuration non-specific representations of relationships among the types of managed components.

3. The method as recited in claim 2 , wherein the first and second object classes are configuration non specific representations of types of managed components.

4. The method as recited in claim 3 , wherein the configuration non-specific representations of types of managed components are selected from the group consisting of: RouteTarget, VRF, and VPN.

5. The method as recited in claim 2 , wherein the relationships amongst the types of managed components is selected from the and consisting of: ImportedBy/Imports, ExportedBy/Exports, VPNPeer, HubsOf, SpokesOf, SendsTo/ReceivesFrom.

6. The method as recited in claim 1 , wherein the type of VPN is selected from the group consisting of: Full-Mesh, Partial-Mesh, Hub-and-Spoke, and Spoke-and-Spoke.

7. The method as recited in claim 1 , wherein the step of evaluating an import/export relationship comprises the step of:

determining;

Im( R )=Ex( R )

wherein: Im(R) is the set of second object classes imported by the first object class; and

Ex(R) is the set of second object classes exported by the first object class.

8. The method as recited in claim 1 , further comprising the step of determining spoke elements, wherein said step of determining spoke elements comprises the step of: determining Ex(R.sub.1)\.Im(R.sub.1).

9. The method as recited in claim 8 , wherein the VPN hub elements are the remaining members of the set of second managed components.

10. The method as recited in claim 1 , further comprising the step of:

storing the determined type of network.

11. The method as recited in claim 1 , further comprising the step of:

displaying the type of network.

12. The method as recited in claim 11 , further comprising the step of: displaying members of the network type.

13. The method as recited in claim 1 , wherein the step of evaluating an import/export relationship further comprises the step of: excluding from evaluation RouteTargets associated with a Full-Mesh Network.

14. The method as recited in claim 1 , wherein the step of evaluating an import/export relationship further comprises the step of: evaluating only RouteTargets that are exported by at least one second object class that is in the import set of a selected RouteTarget.

15. An apparatus for determining a type of Virtual Private Network (VPN) represented by a model containing a plurality of object classes, the apparatus comprising:

a processor in communication with a memory, said processor executing code for:

evaluating an import/export relationship of a first one and a second one of the object classes;

identifying the network type based on the evaluated relationship;

determining:

Im( R )=Ex( R )

wherein: Im(R) is the set of second object classes imported by the first object class; and Ex(R) is the set of second object classes exported by the first object class; and

determining:

Im( R 1 )=Ex( R 2 ); and

Ex( R 1 )\Im( R 1 )=Im( R 2 )\Ex( R 2 ); and

Ex( R 1 )≠Im( R 2 ) OR

Ex( R 1 )∩·Im( R 1 )≠Null Set.

16. The apparatus as recited in claim 15 , wherein the VPN network object classes are selected from the group consisting of: configuration non-specific representation of types of managed components associated with elements of the network and configuration non-specific representations of relationships among the types of managed components.

17. The apparatus as recited in claim 16 , wherein the first and second object classes are configuration non specific representations of types of managed components.

18. The apparatus as recited in claim 17 , wherein the configuration non-specific representations of types of managed components are selected from the group consisting of: RouteTarget, VRF, and VPN.

19. The apparatus as recited in claim 18 , wherein the relationships amongst the types of managed components is selected from the group consisting of: ImportedBy/Imports, ExportedBy/Exports, VPNPeer, HubsOf, SpokesOf, and SendsTo/ReceivesFrom.

20. The apparatus as recited in claim 15 , wherein the type of VPN is selected from the group consisting of: Full-Mesh, Partial-Mesh, Hub-and-Spoke, and Spoke-and-Spoke.

21. The apparatus as recited in claim 15 , wherein the processor further executing code for determining: Ex(R.sub.1)\.Im(R.sub.1).

22. The apparatus as recited in claim 21 , wherein the VPN hub elements are the remaining members of the set of second managed components.

23. The apparatus as recited in claim 15 , wherein the processor further executing code for:

storing the determined type of network.

24. The apparatus as recited in claim 15 , wherein the processor further executing code for:

displaying the type of network.

25. The apparatus as recited in claim 15 , wherein the processor further executing code for: displaying members of the network type.

26. The apparatus as recited in claim 15 , wherein the processor further executing code for: excluding from evaluation RouteTargets associated with a Full-Mesh Network.

27. The apparatus as recited in claim 15 , wherein the processor further executing code for: evaluating only RouteTargets that are exported by at least one second managed component that is in the imported set of a selected RouteTarget.

28. The apparatus as recited in claim 15 , further comprising an:

Input/output device in communication with the processor and the memory.

29. The apparatus as recited in claim 15 , wherein the code is stored in the memory.

30. The apparatus as recited in claim 15 , wherein the first object class is a RouteTarget.

31. A computer readable medium contain code thereon, the code suitable for determining a type of Virtual Private Network (VPN), which is represented as a model containing a plurality of object classes wherein the first object class is a RouteTargets, by providing instructions to a computing system for executing the steps of:

evaluating an import/export relationship of a first one and a second one of the object classes;

identifying the network type based on the evaluated relationship; and

determining

Im( R 1 )=Ex( R 2 ); and

Ex( R 1 )\·Im( R 1 )=Im( R 2 )\·Ex( R 2 ); and

Ex( R 1 )≠Im( R 2 ) OR

Ex( R 1 )∩Im( R 1 )≠Empty set.

32. The computer readable medium as recited in claim 31 , wherein the VPN network object classes are selected from the group consisting of: configuration non-specific representation of types of managed components associated with elements of the network and configuration non-specific representations of relationships among the types of managed components.

33. The computer readable medium as recited in claim 32 , wherein the first and second object classes are configuration non specific representations of types of managed components.

34. The computer readable medium as recited in claim 33 , wherein the configuration non-specific representations of types of managed components are selected from the group consisting of: RouteTargets, VRF, and VPN.

35. The computer-read medium as recited in claim 32 , wherein the relationships amongst the types of managed components is selected from the group consisting of: ImportedBy/Imports, ExportedBy/Exports, VPNPeer, HubsOf, SpokesOf, and SendsTo/ReceivesFrom.

36. The computer readable medium as recited in claim 31 , wherein the type of VPN is selected from the group consisting of: Full-Mesh, Partial-Mesh, Hub-and-Spoke, and Spoke-and-Spoke.

37. The computer readable medium as recited in claim 31 , wherein the code further providing instructions to a computing system for executing the step of:

determining

Im( R )=Ex( R )

wherein: Im(R) is the set of second object classes imported by the first object class; and

Ex(R) is the set of second object classes exported by the first object class.

38. The computer readable medium as recited in claim 31 , wherein the code further providing instructions to a computing system for executing the step of: determining Ex(R.sub.1) \.Im(R.sub.1).

39. The computer readable medium as recited in claim 31 , wherein the VPN hub elements are the remaining members of the set of second managed components.

40. The computer readable medium as recited in claim 31 , wherein the code further providing instructions to a computing system for executing the step of:

storing the determined type of network.

41. The computer readable medium as recited in claim 31 , wherein the code further providing instructions to a computing system for executing the step of:

displaying the type of network.

42. The computer readable medium as recited in claim 31 , wherein the code further providing instructions to a computing system for executing the step of:

displaying members of the network type.

43. The computer readable medium as recited in claim 31 , wherein the code further providing instructions to a computing system for executing the step of: excluding from evaluation RouteTargets associated with a Full-Mesh Network.

44. The computer readable medium as recited in claim 31 , wherein the code further providing instructions to a computing system for executing the step of: evaluating only RouteTargets that are exported by at least one second object class that is in the imported set of a selected RouteTarget.

Assignments (10)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 10/962,301 PREVIOUSLY RECORDED ON REEL 015918 FRAME 0565. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER DOCUMENT. Recorded Apr 29, 2020
From: SYSTEM MANAGEMENT ARTS INCORPORATED
To: EMC CORPORATION
Reel/Frame 052522/0656 →
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 →