IP Library Granted Patent US 7,912,059
Granted Patent B1
US 7,912,059 · App. 10/361,242 · Granted Mar 22, 2011

Methods, aggregation devices, and computer program products for distinguishing between sub-networks coupled to aggregation device ports by using an independent sub-network identifier domain space for each port

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,912,059
App. No.
10/361,242
Granted
Mar 22, 2011
Kind
B1
Abstract

An aggregation device that connects a plurality of internal sub-networks processes a packet that is destined for one of the plurality of sub-networks. The aggregation device receives the packet and determines an internal sub-network identification value based on the combination of an external sub-network identification value that is in the packet, and a port of the aggregation device to which the one of the plurality of internal sub-networks is connected. The aggregation device may also determine an external sub-network identification value based on an internal sub-network identification value that is associated with a port of the aggregation device to which one of the plurality of internal sub-networks is connected. The external sub-network identification value is stored in the packet and the packet is transmitted on the port of the aggregation device to which the one of the plurality of internal sub-networks is connected.

Claims (119)

1. A method of processing a packet in an aggregation device that connects a plurality of internal sub-networks, comprising:

receiving a packet that is destined for one of the plurality of internal sub-networks; and

determining an internal sub-network identification value based on an external sub-network identification value stored in the packet and a port of the aggregation device to which the one of the plurality of internal sub-networks is connected.

2. The method of claim 1 , wherein determining the internal sub-network identification value comprises:

associating a data structure with the port, the data structure associating external sub-network identification values with internal sub-network identification values.

3. The method of claim 2 , wherein the data structure is a table, and wherein determining the internal sub-network identification value comprises:

using the external sub-network identification value to index the table to obtain the internal sub-network identification value.

4. The method of claim 1 , wherein determining the internal sub-network identification value comprises:

storing internal sub-network identification values in a hash table; and

accessing the hash table using a combination of the port and the external sub-network identification value as a key to obtain the internal sub-network identification value.

5. The method of claim 1 , wherein determining the internal sub-network identification value comprises:

providing a content addressable memory (CAM); and

using a combination of the port and the external sub-network identification value to access a memory location in the CAM to obtain the internal sub-network identification value stored thereat.

6. The method of claim 1 , wherein the plurality of internal sub-networks comprise a plurality of virtual local area networks (VLANs), respectively, and wherein the external sub-network identification value is a VLAN tag value.

7. The method of claim 6 , wherein the plurality of VLANs communicate with the aggregation device using the Ethernet networking standard.

8. The method of claim 7 , wherein receiving the packet comprises:

receiving the packet that is destined for one of the plurality of internal sub-networks, the packet comprising an EtherType protocol value indicating that the packet is to be treated as if it does have a VLAN tag value.

9. The method of claim 1 , wherein the aggregation device is a router.

10. The method of claim 1 , wherein the aggregation device is a switch.

11. A method of processing a packet in an aggregation device that connects a plurality of internal sub-networks, comprising:

determining an external sub-network identification value used in a carrier network based on a port of the aggregation device to which the one of the plurality of internal sub-networks is connected and based on an internal sub-network identification value that is associated with the port;

storing the external sub-network identification value in the packet; and

transmitting the packet on the carrier network.

12. The method of claim 11 , wherein determining the external sub-network identification value comprises:

associating internal sub-network identification values with external sub-network identification values in a data structure.

13. The method of claim 12 , wherein the data structure is a table, and wherein determining the external sub-network identification value comprises:

using the internal sub-network identification value to index the table to obtain the external sub-network identification value.

14. The method of claim 11 , wherein determining the external sub-network identification value comprises:

storing external sub-network identification values in a hash table; and

accessing the hash table using a combination of the port and the internal sub-network identification value as a key to obtain the internal sub-network identification value.

15. The method of claim 11 , wherein determining the external sub-network identification value comprises:

providing a content addressable memory (CAM); and

using a combination of the port and the internal sub-network identification value to access a memory location in the CAM to obtain the external sub-network identification value stored thereat.

16. The method of claim 11 , wherein the plurality of internal sub-networks comprise a plurality of virtual local area networks (VLANs), respectively, and wherein the external sub-network identification value is a VLAN tag value.

17. The method of claim 16 , wherein the plurality of VLANs communicate with the aggregation device using the Ethernet networking standard.

18. The method of claim 17 , further comprising:

setting an EtherType protocol to a value indicating that the packet is to be treated as if it does have a VLAN tag value.

19. The method of claim 11 , wherein the aggregation device is a router.

20. The method of claim 11 , wherein the aggregation device is a switch.

21. An aggregation device that connects a plurality of internal sub-networks, comprising:

means for receiving a packet that is destined for one of the plurality of internal sub-networks; and

means for determining an internal sub-network identification value based on an external sub-network identification value stored in the packet and a port of the aggregation device to which the one of the plurality of internal sub-networks is connected.

22. The aggregation device of claim 21 , wherein the means for determining the internal sub-network identification value comprises:

means for associating a data structure with the port, the data structure associating external sub-network identification values with internal sub-network identification values.

23. The aggregation device of claim 22 , wherein the data structure is a table, and wherein the means for determining the internal sub-network identification value comprises:

means for using the external sub-network identification value to index the table to obtain the internal sub-network identification value.

24. The aggregation device of claim 21 , wherein the means for determining the internal sub-network identification value comprises:

means for storing internal sub-network identification values in a hash table; and

means for accessing the hash table using a combination of the port and the external sub-network identification value as a key to obtain the internal sub-network identification value.

25. The aggregation device of claim 21 , wherein the means for determining the internal sub-network identification value comprises:

means for providing a content addressable memory (CAM); and

means for using a combination of the port and the external sub-network identification value to access a memory location in the CAM to obtain the internal sub-network identification value stored thereat.

26. The aggregation device of claim 21 , wherein the plurality of internal sub-networks comprise a plurality of virtual local area networks (VLANs), respectively, and wherein the external sub-network identification value is a VLAN tag value.

27. The aggregation device of claim 26 , wherein the plurality of VLANs communicate with the aggregation device using the Ethernet networking standard.

28. The aggregation device of claim 27 , wherein the means for receiving the packet comprises:

means for receiving the packet that is destined for one of the plurality of internal sub-networks, the packet comprising an EtherType protocol value indicating that the packet is to be treated as if it does have a VLAN tag value.

29. The aggregation device of claim 21 , wherein the aggregation device is a router.

30. The aggregation device of claim 21 , wherein the aggregation device is a switch.

31. An aggregation device that connects a carrier network to a plurality of internal sub-networks, comprising:

means for determining an external sub-network identification value used in a carrier network based on a port of the aggregation device to which the one of the plurality of internal sub-networks is connected and based on an internal sub-network identification value that is associated with the port;

means for storing the external sub-network identification value in the packet; and

means for transmitting the packet on the carrier network.

32. The aggregation device of claim 31 , wherein the means for determining the external sub-network identification value comprises:

means for associating internal sub-network identification values with external sub-network identification values in a data structure.

33. The aggregation device of claim 32 , wherein the data structure is a table, and wherein the means for determining the external sub-network identification value comprises:

means for using the internal sub-network identification value to index the table to obtain the external sub-network identification value.

34. The aggregation device of claim 31 , wherein the means for determining the external sub-network identification value comprises:

means for storing external sub-network identification values in a hash table; and

means for accessing the hash table using a combination of the port and the internal sub-network identification value as a key to obtain the internal sub-network identification value.

35. The aggregation device of claim 31 , wherein the means for determining the external sub-network identification value comprises:

means for providing a content addressable memory (CAM); and

means for using a combination of the port and the internal sub-network identification value to access a memory location in the CAM to obtain the external sub-network identification value stored thereat.

36. The aggregation device of claim 31 , wherein the plurality of internal sub-networks comprise a plurality of virtual local area networks (VLANs), respectively, and wherein the external sub-network identification value is a VLAN tag value.

37. The aggregation device of claim 36 , wherein the plurality of VLANs communicate with the aggregation device using the Ethernet networking standard.

38. The aggregation device of claim 37 , further comprising:

means for setting an EtherType protocol to a value indicating that the packet is to be treated as if it does have a VLAN tag value.

39. The aggregation device of claim 31 , wherein the aggregation device is a router.

40. The aggregation device of claim 31 , wherein the aggregation device is a switch.

41. A computer program product for processing a packet in an aggregation device that connects a plurality of internal sub-networks, comprising:

a non-transitory computer readable storage medium having computer readable program code embodied therein, the computer readable program code comprising:

computer readable program code configured to receive a packet that is destined for one of the plurality of internal sub-networks; and

computer readable program code configured to determine an internal sub-network identification value based on an external sub-network identification value stored in the packet and a port of the aggregation device to which the one of the plurality of internal sub-networks is connected.

42. The computer program product of claim 41 , wherein the computer readable program code configured to determine the internal sub-network identification value comprises:

computer readable program code configured to associate a data structure with the port, the data structure associating external sub-network identification values with internal sub-network identification values.

43. The computer program product of claim 42 , wherein the data structure is a table, and wherein the computer readable program code configured to determine the internal sub-network identification value comprises:

computer readable program code configured to use the external sub-network identification value to index the table to obtain the internal sub-network identification value.

44. The computer program product of claim 41 , wherein the computer readable program code configured to determine the internal sub-network identification value comprises:

computer readable program code configured to store internal sub-network identification values in a hash table; and

computer readable program code configured to access the hash table using a combination of the port and the external sub-network identification value as a key to obtain the internal sub-network identification value.

45. The computer program product of claim 41 , wherein the computer readable program code configured to determine the internal sub-network identification value comprises:

computer readable program code configured to provide a content addressable memory (CAM); and

computer readable program code configured to use a combination of the port and the external sub-network identification value to access a memory location in the CAM to obtain the internal sub-network identification value stored thereat.

46. The computer program product of claim 41 , wherein the plurality of internal sub-networks comprise a plurality of virtual local area networks (VLANs), respectively, and wherein the external sub-network identification value is a VLAN tag value.

47. The computer program product of claim 46 , wherein the plurality of VLANs communicate with the aggregation device using the Ethernet networking standard.

48. The computer program product of claim 47 , wherein the computer readable program code configured to receiving the packet comprises:

computer readable program code configured to receive the packet that is destined for one of the plurality of internal sub-networks, the packet comprising an EtherType protocol value indicating that the packet is to be treated as if it does have a VLAN tag value.

49. The computer program product of claim 41 , wherein the aggregation device is a router.

50. The computer program product of claim 41 , wherein the aggregation device is a switch.

51. A computer program product for processing a packet in an aggregation device that connects a plurality of internal sub-networks, comprising:

a non-transitory computer readable storage medium having computer readable program code embodied therein, the computer readable program code comprising:

computer readable program code configured to determine an external sub-network identification value used in a carrier network based on a port of the aggregation device to which the one of the plurality of internal sub-networks is connected and based on an internal sub-network identification value that is associated with the port;

computer readable program code configured to store the external sub-network identification value in the packet; and

computer readable program code configured to transmit the packet on the carrier network.

52. The computer program product of claim 51 , wherein the computer readable program code configured to determine the external sub-network identification value comprises:

computer readable program code configured to associate internal sub-network identification values with external sub-network identification values in a data structure.

53. The computer program product of claim 52 , wherein the data structure is a table, and wherein the computer readable program code configured to determine the external sub-network identification value comprises:

computer readable program code configured to use the internal sub-network identification value to index the table to obtain the external sub-network identification value.

54. The computer program product of claim 51 , wherein the computer readable program code configured to determine the external sub-network identification value comprises:

computer readable program code configured to store external sub-network identification values in a hash table; and

computer readable program code configured to access the hash table using a combination of the port and the internal sub-network identification value as a key to obtain the internal sub-network identification value.

55. The computer program product of claim 51 , wherein the computer readable program code configured to determine the external sub-network identification value comprises:

computer readable program code configured to provide a content addressable memory (CAM); and

computer readable program code configured to use a combination of the port and the internal sub-network identification value to access a memory location in the CAM to obtain the external sub-network identification value stored thereat.

56. The computer program product of claim 51 , wherein the plurality of internal sub-networks comprise a plurality of virtual local area networks (VLANs), respectively, and wherein the external sub-network identification value is a VLAN tag value.

57. The computer program product of claim 56 , wherein the plurality of VLANs communicate with the aggregation device using the Ethernet networking standard.

58. The computer program product of claim 57 , further comprising:

computer readable program code configured to set an EtherType protocol to a value indicating that the packet is to be treated as if it does have a VLAN tag value.

59. The computer program product of claim 51 , wherein the aggregation device is a router.

60. The computer program product of claim 51 , wherein the aggregation device is a switch.

Assignments (11)
MERGER Recorded Sep 27, 2023
From: ADVA OPTICAL NETWORKING SE
To: ADTRAN NETWORKS SE
Reel/Frame 065054/0936 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2016
From: OVERTURE NETWORKS, INC.
To: ADVA OPTICAL NETWORKING SE
Reel/Frame 040676/0351 →
RELEASE OF SECURITY INTEREST Recorded Jan 19, 2016
From: SILICON VALLEY BANK
To: OVERTURE NETWORKS, INC.
Reel/Frame 037516/0468 →
RELEASE OF SECURITY INTEREST Recorded Jan 19, 2016
From: SILICON VALLEY BANK
To: OVERTURE NETWORKS, INC.
Reel/Frame 037517/0627 →
SECURITY INTEREST Recorded Jul 14, 2014
From: OVERTURE NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 033302/0706 →
MERGER Recorded Jun 25, 2014
From: HATTERAS NETWORKS, INC.
To: OVERTURE NETWORKS, INC.
Reel/Frame 033174/0809 →
AMENDED AND RESTATED IPSA Recorded Sep 26, 2013
From: HATTERAS NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 031300/0628 →
CORRECTIVE ASSIGNMENT OF RELEASE ORIGINALLY EXECUTED ON MARCH 10, 2011 AND RECORDED ON REEL: 026142 FRAME: 0234 TO CORRECT ASSIGNOR'S NAME FROM HATTERAS NETWORKS, INC. TO HORIZON TECHNOLOGY FUNDING COMPANY V LLC AND ASSIGNEE'S NAME FROM HORIZON TECHNOLOGY FUNDING COMPANY V LLC TO HATTERAS NETWORKS, INC. Recorded Jul 11, 2013
From: HORIZON TECHNOLOGY FUNDING COMPANY V LLC
To: HATTERAS NETWORKS, INC.
Reel/Frame 030845/0433 →
RELEASE Recorded Apr 7, 2011
From: HATTERAS NETWORKS, INC.
To: HORIZON TECHNOLOGY FUNDING COMPPANY V LLC
Reel/Frame 026142/0234 →
SECURITY AGREEMENT Recorded Jan 13, 2009
From: HATTERAS NETWORKS, INC.
To: HORIZON TECHNOLOGY FUNDING COMPANY V LLC
Reel/Frame 022102/0719 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2003
From: SQUIRE, MATTHEW B.
To: HATTERAS NETWORKS
Reel/Frame 013759/0643 →