IP Library Granted Patent US 7,586,920
Granted Patent B2
US 7,586,920 · App. 10/857,349 · Granted Sep 8, 2009

Merging multiple data flows in a passive optical network

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,586,920
App. No.
10/857,349
Granted
Sep 8, 2009
Kind
B2
Abstract

The disclosure is directed to techniques for merging multiple data flows in a Passive Optical Network (PON). The PON comprises an interface module and a plurality of network nodes connected to the interface module via an optical fiber link. Each of the network nodes further serves client devices. The client devices request multiple data flows, requiring the interface module to serve multiple data flows to a network node for delivery to the devices. The interface module merges received data flows to permit multiple flows to be processed by a single segmentation and reassembly (SAR) engine, reducing hardware cost and complexity within the node. However, subunits associated with different data flows within a merged data flow are not interleaved with one another. Instead, the subunits associated with an original unit of information are transmitted contiguously within the merged data flow, facilitating identification and reassembly of the subunits for a particular microflow.

Claims (122)

1. A method comprising:

receiving in a network node a set of first information subunits and a set of second information subunits, each of the first information subunits including a first identifier that identifies a first flow associated with the first subunits, and each of the second information subunits including a second identifier that identifies a second flow associated with the second subunits;

converting in the network node the first and second identifiers to a common identifier; and

reassembling in the network node the first information subunits to form a first unit of information, and reassembling the second information subunits to form a second unit of information.

2. The method of claim 1 , wherein receiving a set of first information subunits and a set of second information subunits comprises:

applying a filter to identify subunits including the first identifier and subunits including the second identifier; and

selectively receiving the set of first information subunits and the set of second information subunits based on the application of the filter.

3. The method of claim 1 , further comprising:

storing the first unit of information and the second unit of information in an output queue; and

transmitting the first unit of information and the second unit of information stored in the output queue to one or more downstream devices that requested the first and second units of information.

4. The method of claim 1 , wherein the first and second units of information include higher level identifiers for identification of the first and second flows independently of the first and second identifiers.

5. The method of claim 1 , wherein reassembling the first and second information subunits comprises reassembling the first and second information subunits using a segmentation and reassembly (SAR) engine compliant with ATM Adaptation Layer 5 (AAL 5).

6. The method of claim 1 , wherein reassembling the first and second information subunits comprises reassembling the first and second information subunits using a single segmentation and reassembly engine compliant with ATM Adaptation Layer 5 (AAL 5).

7. The method of claim 1 , wherein each of the first identifier, the second identifier, and the common identifier comprises a Virtual Channel Identifier (VCI) and a Virtual Path Identifier (VPI).

8. The method of claim 1 , wherein the first unit of information is an MPEG-2 packet, an IEEE 802.3 Ethernet frame, or an IETF-defined IP packet, and the information subunits include ATM cells.

9. The method of claim 1 , further comprising transmitting the subunits of each of the units of information via a passive optical network (PON), wherein the network node is a PON network node.

10. A method comprising:

assigning an identifier to a unit of information, wherein the identifier identifies a flow associated with the unit of information;

segmenting the unit of information into a plurality of subunits;

appending the identifier to each of the plurality of subunits to form a bounded unit;

transmitting single subunits forming part of the bounded unit contiguously, such that subunits of different bounded units are not interleaved;

receiving in a network node the bounded unit;

converting in the network node the identifier of each of the subunits into a common identifier; and

reassembling in the network node the plurality of subunits to form the unit of information.

11. The method of claim 10 , further comprising storing the bounded unit in a common output queue so as not to interleave subunits of the bounded unit with subunits of other bounded units.

12. The method of claim 10 , wherein segmenting the unit of information comprises segmenting each of the units of information using a segmentation and reassembly (SAR) engine compliant with ATM Adaptation Layer 5 (AAL 5).

13. The method of claim 10 , wherein each of an identifier and a common identifier comprises a Virtual Channel Identifier (VCI) and a Virtual Path Identifier (VPI).

14. The method of claim 10 , wherein receiving the bounded unit comprises

applying a filter to the bounded unit; and

selectively receiving the bounded unit based on the application of the filter to the bounded unit.

15. The method of claim 10 , further comprising:

storing the reassembled unit of information in an output queue; and

transmitting the reassembled unit of information stored in the output queue to one or more downstream devices that requested the reassembled unit of information.

16. The method of claim 10 , wherein the reassembled units of information include higher level identifiers for identification of the flows independently of the identifier.

17. The method of claim 10 , wherein reassembling the plurality of subunits comprises reassembling the plurality of subunits using a segmentation and reassembly (SAR) engine compliant with ATM Adaptation Layer 5 (AAL 5).

18. The method of claim 10 , wherein the unit of information is an MPFG-2 packet, an IEEE 802.3 Ethernet frame, or an IETF-defined IP packet, and the plurality of subunits include ATM cells.

19. The method of claim 10 , further comprising transmitting the subunits of each of the units of information via a passive optical network (PON), wherein the network node is a PON network node.

20. A passive optical network node comprising:

a filter module to selectively receive a set of first information subunits and a set of second information subunits, each of the first subunits including a first identifier that identifies a first flow associated with the first subunits, and each of the second subunits including a second identifier that identifies a second flow associated with the second subunits;

a conversion module to convert the first and second identifiers of each of the first and second subunits into a common identifier; and

a reassembly engine to reassemble the first subunits of information to form a first unit of information, and reassemble the second subunits of information to form a second unit of information.

21. The passive optical network node of claim 20 , further comprising an output queue to store the first unit of information and the second unit of information for transmission to one or more devices that requested the first and second units of information.

22. The passive optical network node of claim 20 , wherein the first and second units of information include higher level identifiers for identification of the flows independently of the first and second identifiers.

23. The passive optical network node of claim 22 , wherein the higher level identifiers include media access control (MAC) addresses, MPEG-2 programmer identifiers (PID), or IETF IP addresses.

24. The passive optical network node of claim 20 , wherein the reassembly module includes a segmentation and reassembly (SAR) engine compliant with ATM Adaptation Layer 5 (AAL 5).

25. The passive optical network node of claim 20 , wherein each of the first identifier, the second identifier, and the common identifier comprises a Virtual Channel Identifier (VCI) and a Virtual Path Identifier (VPI).

26. The passive optical network node of claim 20 , wherein the first unit of information is an MPEG-2 packet, an IEEE 802.3 Ethernet frame, or an IETF-defined IP packet, and the information subunits include ATM cells.

27. The network node of claim 20 , wherein each of the first identifier, the second identifier, and the common identifier comprises a Virtual Channel Identifier (VCI) and a Virtual Path Identifier (VPI).

28. A passive optical network comprising:

an interface module configured to:

assign a first identifier to a first unit of information and a second identifier to a second unit of information, wherein the identifiers identify flows associated with the respective units of information;

segment each of the units of information into a plurality of subunits;

append the respective identifier for each of the units of information to each of the corresponding subunits; and

transmit the subunits for each of the units of information over a network contiguously such that the subunits for the first unit of information are not interleaved with the subunits for the second unit of information; and

a plurality of network nodes, each of the network nodes being configured to:

receive a set of first information subunits and a set of second information subunits, each of the first subunits including a first identifier that identifies a first flow associated with the first subunits, and each of the second subunits including a second identifier that identifies a second flow associated with the second subunits;

convert the first and second identifier of each of the first and second subunits into a common identifier; and

reassemble the first subunits of information to form a first unit of information, and reassemble the second subunits of information to form a second unit of information.

29. A network node comprising:

means for receiving a set of first information subunits and a set of second information subunits, each of the first information subunits including a first identifier that identifies a first flow associated with the first subunits, and each of the second information subunits including a second identifier that identifies a second how associated with the second subunits;

means for converting the first and second identifiers to a common identifier; and

means for reassembling the first information subunits to form a first unit of information, and reassembling the second information subunits to form a second unit of information.

30. The network node of claim 29 , wherein the means for receiving a set of first information subunits and a set of second information subunits comprises:

means for applying a filter to identify subunits including the first identifier and subunits including the second identifier; and

means for selectively receiving the set of first information subunits and the set of second information subunits based on the application of the filter.

31. The network node of claim 29 , wherein the first and second units of information include higher level identifiers for identification of the first and second flows independently of the first and second identifiers.

32. The network node of claim 29 , wherein the means for reassembling the first and second information subunits comprises means for reassembling the first and second information subunits using a single a segmentation and reassembly engine compliant with ATM Adaptation Layer 5 (AAL 5).

33. A network system comprising:

means for assigning an identifier to a unit of information, wherein the identifier identifies a flow associated with the unit of information;

means for segmenting the unit of information into a plurality of subunits;

means for appending the identifier to each of the plurality of subunits to form a bounded unit;

means for transmitting single subunits forming part of the bounded unit contiguously, such that subunits of different bounded units are not interleaved;

means for receiving in a network node the bounded unit;

means for converting in the network node the identifier of each of the subunits into a common identifier; and

means for reassembling in the network node the plurality of subunits to form the unit of information.

34. A method comprising:

assigning a first flow identifier to a first unit of information and a second flow identifier to a second unit of information, wherein the first and second flow identifiers are different and identify flows associated with the respective units of information, and wherein each of the first and second flow identifiers comprises a Virtual Channel Identifier (VCI) and a Virtual Path Identifier (VPI);

segmenting each of the units of information into a plurality of subunits using a first segmentation and reassembly (SAR) engine compliant with ATM Adaptation Layer 5 (AAL 5);

appending the respective identifier for each of the units of information to each of the corresponding subunits;

storing the subunits in a common output queue such that the subunits for the first unit of information are not interleaved with the subunits for the second unit of information;

transmitting the subunits of each of the units of information stored in the common output queue via a passive optical network contiguously such that the subunits for the first information are not interleaved with the subunits for the second unit of information;

identifying transmitted first subunits including the first flow identifier and transmitted second subunits including the second flow identifier;

selectively receiving the identified first and second subunits;

converting the first and second flow identifiers for the received first and second subunits to a common flow identifier, wherein the common flow identifier comprises a Virtual Channel Identifier (VCI) and a Virtual Path Identifier (VPI);

reassembling the first subunits to form the first unit of information, and reassembling the second subunits to form the second unit of information using a second segmentation and reassembly (SAR) engine compliant with ATM Adaptation Layer 5 (AAL 5); and

sending the first and second units of information to one or more devices, wherein the first and second units of information include higher level identifiers for identification of the first and second flows independently of the first and second flow identifiers.

35. A passive optical network comprising:

an assignment module to assign a first flow identifier to a first unit of information and a second flow identifier to a second unit of information, wherein the flow identifiers are different and identify flows associated with the respective units of information, and wherein each of the first and second flow identifiers comprises a Virtual Channel Identifier (VCI) and a Virtual Path Identifier (VPI);

a segmentation module to segment each of the units of information into a plurality of subunits, and incorporate the respective identifier for each of the units of information in each of the corresponding subunits, wherein the segmentation module includes a first segmentation and reassembly (SAR) engine compliant with ATM Adaptation Layer 5 (AAL 5);

an output queue to store the subunits such that the subunits for the first unit of information are not interleaved with the subunits for the second unit of information;

a transmitter coupled to an optical fiber link in a passive optical network (PON) to transmit the subunits of information stored in the common output queue over the PON contiguously such that the subunits for the first unit of information are not interleaved with the subunits for the second unit of information;

a filter module to selectively receive the first information subunits and the second information subunits, each of the first subunits including the first flow identifier that identifies the first flow associated with the first subunits, and each of the second subunits including the second flow identifier that identities the second flow associated with the second subunits;

a conversion module to convert the first and second flow identifiers of each of the first and second subunits into a common flow identifier, wherein the common flow identifier comprises a Virtual Channel Identifier (VCI) and a Virtual Path Identifier (VPI);

a reassembly engine to reassemble the first subunits of information to form a first unit of information, and reassemble the second subunits of information to form a second unit of information, wherein the reassembly module includes a second segmentation and reassembly (SAR) engine compliant with ATM Adaptation Layer 5 (AAL 5);

an output queue to store the first unit of information and the second unit of information for transmission to one or more devices that requested the first and second units of information, wherein the first and second units of information include higher level identifiers for identification of the flows independently of the first and second identifiers.

36. A network node comprising:

a filter module to selectively receive a set of first information subunits and a set of second information subunits, each of the first subunits including a first identifier that identifies a first flow associated with the first subunits, and each of the second subunits including a second identifier that identifies a second flow associated with the second subunits;

a conversion module to convert the first and second identifiers of each of the first and second subunits into a common identifier; and

a reassembly engine to reassemble the first subunits of information to form a first unit of information, and reassemble the second subunits of information to form a second unit of information.

37. The network node of claim 36 , further comprising an output queue to store the first unit of information and the second unit of information for transmission to one or more devices that requested the first and second units of information.

38. The network node of claim 36 , wherein the first and second units of information include higher level identifiers for identification of the flows independently of the first and second identifiers.

39. The network node of claim 38 , wherein the higher level identifiers include media access control (MAC) addresses, MPEG-2 programmer identifiers (PID), or IETF IP addresses.

40. The network node of claim 36 , wherein the reassembly module includes a segmentation and reassembly (SAR) engine compliant with ATM Adaptation Layer 5 (AAL 5).

41. A network comprising:

an interface module configured to:

assign a first identifier to a first unit of information and a second identifier to a second unit of information, wherein the identifiers identify flows associated with the respective units of information;

segment each of the units of information into a plurality of subunits;

append the respective identifier for each of the units of information to each of the corresponding subunits; and

transmit the subunits for each of the units of information over a network contiguously such that the subunits for the first unit of information are not interleaved with the subunits for the second unit of information; and

a plurality of nodes, each of the network nodes being configured to:

receive a set of first information subunits and a set of second information subunits, each of the first subunits including a first identifier that identities a first flow associated with the first subunits, and each of the second subunits including a second identifier that identifies a second flow associated with the second subunits;

convert the first and second identifier of each of the first and second subunits into a common identifier; and

reassemble the first subunits of information to form a first unit of information, and reassemble the second subunits of information to form a second unit of information.

42. A network comprising:

an assignment module to assign a first how identifier to a first unit of information and a second flow identifier to a second unit of information, wherein the flow identifiers are different and identify flows associated with the respective units of information, and wherein each of the first and second flow identifiers comprises a Virtual Channel Identifier (VCI) and a Virtual Path Identifier (VPI);

a segmentation module to segment each of the units of information into a plurality of subunits, and incorporate the respective identifier for each of the units of information in each of the corresponding subunits, wherein the segmentation module includes a first segmentation and reassembly (SAR) engine compliant with ATM Adaptation Layer 5 (AAL 5);

an output queue to store the subunits such that the subunits for the first unit of information are not interleaved with the subunits for the second unit of information;

a transmitter coupled to an optical fiber link in a passive optical network (PON) to transmit the subunits of information stored in the common output queue over the PON contiguously such that the subunits for the first unit of information are not interleaved with the subunits for the second unit of information;

a filter module to selectively receive the first information subunits and the second information subunits, each of the first subunits including the first flow identifier that identifies the first flow associated with the first subunits, and each of the second subunits including the second flow identifier that identifies the second flow associated with the second subunits;

a conversion module to convert the first and second flow identifiers of each of the first and second subunits into a common flow identifier, wherein the common flow identifier comprises a Virtual Channel Identifier (VCI) and a Virtual Path Identifier (VPI);

a reassembly engine to reassemble the first subunits of information to form a first unit of information, and reassemble the second subunits of information to form a second unit of information, wherein the reassembly module includes a second segmentation and reassembly (SAR) engine compliant with ATM Adaptation Layer 5 (AAL 5);

an output queue to store the first unit of information and the second unit of information for transmission to one or more devices that requested the first and second units of information, wherein the first and second units of information include higher level identifiers for identification of the flows independently of the first and second identifiers.

Assignments (20)
RELEASE OF SECURITY INTEREST Recorded May 11, 2022
From: BANK OF AMERICA, N.A.
To: CALIX, INC.
Reel/Frame 059929/0453 →
RELEASE OF SECURITY INTEREST Recorded Apr 18, 2022
From: BANK OF AMERICA, N.A.
To: CALIX, INC.
Reel/Frame 059802/0579 →
SECURITY INTEREST Recorded Jan 28, 2020
From: CALIX, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 051719/0348 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Jan 27, 2020
From: SILICON VALLEY BANK
To: CALIX, INC.
Reel/Frame 051714/0883 →
SECURITY INTEREST Recorded Aug 9, 2017
From: CALIX, INC.
To: SILICON VALLEY BANK
Reel/Frame 043495/0424 →
RELEASE OF SECURITY INTEREST Recorded Aug 9, 2017
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT FOR LENDERS
To: CALIX, INC.
Reel/Frame 043494/0549 →
RELEASE OF SECURITY INTEREST Recorded Jul 30, 2013
From: SILICON VALLEY BANK
To: CALIX NETWORKS, INC.
Reel/Frame 030906/0224 →
SECURITY AGREEMENT Recorded Jul 29, 2013
From: CALIX, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030899/0597 →
CHANGE OF NAME Recorded May 14, 2010
From: CALIX NETWORKS, INC.
To: CALIX, INC.
Reel/Frame 024492/0841 →
RELEASE OF SECURITY INTEREST Recorded Nov 6, 2009
From: WHITE OAK GLOBAL ADVISORS, LLC
To: CALIX NETWORKS, INC.
Reel/Frame 023471/0944 →
SECURITY AGREEMENT Recorded Aug 29, 2008
From: CALIX NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 021462/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2008
From: CALIX NETWORKS, INC.
To: WHITE OAK GLOBAL ADVISORS, LLC
Reel/Frame 021371/0500 →
RELEASE OF SECURITY INTEREST Recorded Jan 4, 2008
From: GREATER BAY VENTURE BANKING, A DIVISION OF GREATER BAY BANK N.A.
To: CALIX NETWORKS, INC.
Reel/Frame 020317/0209 →
SECURITY AGREEMENT Recorded May 14, 2007
From: CALIX NETWORKS, INC.
To: GREATER BAY VENTURE BANKING, A DIVISION OF GREATER BAY BANK N.A.
Reel/Frame 019287/0059 →
MERGER Recorded Mar 9, 2007
From: OPTICAL SOLUTIONS, INC.
To: CALIX NETWORKS, INC.
Reel/Frame 019009/0826 →
RELEASE OF SECURITY INTEREST Recorded Apr 17, 2006
From: SILICON VALLEY BANK
To: OPTICAL SOLUTIONS, INC.
Reel/Frame 017783/0365 →
TERMINATION OF SECURITY INTEREST Recorded Feb 10, 2006
From: PARTNERS FOR GROWTH, L.P.
To: OPTICAL SOLUTIONS, INC.
Reel/Frame 017145/0865 →
SECURITY AGREEMENT Recorded Aug 3, 2005
From: OPTICAL SOLUTIONS, INC.
To: PARTNERS FOR GROWTH, L.P.
Reel/Frame 016345/0458 →
SECURITY INTEREST Recorded Dec 10, 2004
From: OPTICAL SOLUTIONS, INC.
To: SILICON VALLEY BANK
Reel/Frame 016059/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2004
From: BUTLER, DUANE M.; CONNER, MIKE; BERNARD, CHRISTOPHER T.; KOCH, CHRISTOPHER D.
To: OPTICAL SOLUTIONS, INC.
Reel/Frame 015837/0406 →