IP Library Granted Patent US 12,289,502
Granted Patent B2
US 12,289,502 · App. 17/684,984 · Granted Apr 29, 2025

Multiple core software forwarding

Inventors: Adam Levy (Pardes Hana-Karkur, IL); Pavlo Shcherbyna (Kyiv, UA); Alex Muller (Pardes Hana-Karkur, IL); Vladyslav Buslov (Kiev, UA); Victoria Sinitsky (Haifa, IL); Michael W. Patrick (Assonet, MA); Nitin Sasi Kumar (San Ramon, CA); Anton Grichina (Kyiv, UA)
Assignee: Harmonic, Inc.
H04N21/6118H04L67/1038H04N21/6168H04B1/707H04L65/611
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 12,289,502
App. No.
17/684,984
Granted
Apr 29, 2025
Kind
B2
Abstract

Approaches for processing packets transmitted within a Passive Optical Network (PON) using executable software. Processing packets within a PON may be performed by classifying one or more packets, of a plurality of received packets, to a particular PON system component, and then processing the one or more packets classified to the same PON system component on a single physical or virtual processor. The one or more packets may be forwarded between a sequence of one or more software stages. The software stages may each be configured to execute on separate logical cores or on a single logical core.

Claims (38)

1. A non-transitory computer-readable storage medium that stores one or more sequences of instructions for processing packets transmitted within a Passive Optical Network (PON), which when executed, cause:

classifying one or more packets, of a plurality of received packets, to a particular PON system component; and

processing the one or more packets classified to the same PON system component on a single physical or virtual processor, wherein the one or more packets classified to the same PON system component are forwarded between a sequence of one or more software stages which are each executed on the single physical or virtual processor.

2. The non-transitory computer-readable storage medium of claim 1 , wherein at least one of the one or more software stages is implemented by a single operating system thread.

3. The non-transitory computer-readable storage medium of claim 1 , wherein the plurality of received packets are distributed in a load-balancing manner amongst a set of entities responsible for classifying the plurality of received packets to a particular PON system component.

4. The non-transitory computer-readable storage medium of claim 3 , wherein execution of the one or more sequences of instructions further cause:

after an operational stage in which the plurality of received packets are distributed in a load-balancing manner amongst a set of entities responsible for classifying the plurality of received packets to a particular PON system component, the set of entities classifying the one or more packets to a particular PON system component in a classification stage.

5. The non-transitory computer-readable storage medium of claim 1 , wherein a separate traffic management stage enqueues downstream packets and schedules the downstream packets for transmission.

6. The non-transitory computer-readable storage medium of claim 1 , wherein all packets classified to a service flow in the same PON port are processed by the same instance of a traffic management stage.

7. The non-transitory computer-readable storage medium of claim 1 , wherein the one or more packets classified to the same PON system component are forwarded between a sequence of one or more software stages that each be configured to execute on separate logical cores.

8. The non-transitory computer-readable storage medium of claim 1 , wherein the plurality of received packets are downstream packets.

9. The non-transitory computer-readable storage medium of claim 1 , wherein the plurality of received packets are upstream packets.

10. The non-transitory computer-readable storage medium of claim 1 , wherein said sequence of one or more software stages includes an Upstream Packet Processor (USPP) stage.

11. An apparatus for processing packets transmitted within a Passive Optical Network (PON), comprising:

two or more processors; and

one or more non-transitory computer-readable storage mediums storing one or more sequences of instructions, which when executed, cause:

classifying one or more packets, of a plurality of received packets, to a particular PON system component; and

processing the one or more packets classified to the same PON system component on a single physical or virtual processor of said apparatus, wherein the one or more packets classified to the same PON system component are forwarded between a sequence of one or more software stages which are each executed on the single single physical or virtual processor.

12. The apparatus of claim 11 , wherein the plurality of received packets are distributed in a load-balancing manner amongst a set of entities responsible for classifying the plurality of received packets to a particular PON system component.

13. The apparatus of claim 11 , wherein a separate traffic management stage enqueues downstream packets and schedules the downstream packets for transmission.

14. The apparatus of claim 11 , wherein all packets classified to a service flow in the same PON port are processed by the same instance of a traffic management stage.

15. The apparatus of claim 11 , wherein the one or more packets classified to the same PON system component are forwarded between a sequence of one or more software stages that each be configured to execute on separate logical cores.

16. The apparatus of claim 11 , wherein the plurality of received packets are downstream packets.

17. The apparatus of claim 11 , wherein the plurality of received packets are upstream packets.

18. The apparatus of claim 11 , wherein said sequence of one or more software stages includes an Upstream Packet Processor (USPP) stage.

19. A method for processing packets transmitted within a Passive Optical Network (PON), comprising:

classifying one or more packets, of a plurality of received packets, to a particular PON system component; and

processing the one or more packets classified to the same PON system component on a single physical or virtual processor, wherein said one or more packets classified to the same PON system component are forwarded between a sequence of one or more software stages which are each executed on the single physical or virtual processor.

20. The method of claim 19 , wherein at least one of the one or more software stages is implemented by a single operating system thread.

21. The method of claim 19 , wherein the plurality of received packets are distributed in a load-balancing manner amongst a set of entities responsible for classifying the plurality of received packets to a particular PON system component.

22. The method of claim 21 , further comprising:

after an operational stage in which the plurality of received packets are distributed in a load-balancing manner amongst a set of entities responsible for classifying the plurality of received packets to a particular PON system component, the set of entities classifying the one or more packets to a particular PON system component in a classification stage.

23. The method of claim 19 , wherein a separate traffic management stage enqueues downstream packets and schedules the downstream packets for transmission.

24. The method of claim 19 , wherein all packets classified to a service flow in the same PON port are processed by the same instance of a traffic management stage.

25. The method of claim 19 , wherein the one or more packets classified to the same PON system component are forwarded between a sequence of one or more software stages that each be configured to execute on separate logical cores.

26. The method of claim 19 , wherein the plurality of received packets are downstream packets.

27. The method of claim 19 , wherein the plurality of received packets are upstream packets.

28. The method of claim 19 , wherein said sequence of one or more software stages includes an Upstream Packet Processor (USPP) stage.

Assignments (2)
SECURITY INTEREST Recorded Dec 21, 2023
From: HARMONIC INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 066090/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2022
From: LEVY, ADAM; SHCHERBYNA, PAVLO; MULLER, ALEX; BUSLOV, VLADYSLAV; SINITSKY, VICTORIA; PATRICK, MICHAEL W.; KUMAR, NITIN SASI; GRICHINA, ANTON
To: HARMONIC, INC.
Reel/Frame 059702/0679 →
Continuity (4)
Continuation In Part 17556733 · Dec 20, 2021
Continuation 15644823 · Jul 10, 2017
Provisional Application 62360848 · Jul 11, 2016
Related Publication 20220224989A1 · Jul 14, 2022
References Cited (18)
US 7643753B2 · Weitz · 2010 [cited by examiner]
US 8397238B2 · Venkumahanti et al. · 2013 [cited by applicant]
US 9258237B1 · Smith · 2016 [cited by examiner]
US 9465619B1 · Rottenstreich · 2016 [cited by examiner]
US 11212590B2 · Levy · 2021 [cited by applicant]
US 20090285233A1 · Al-Banna · 2009 [cited by applicant]
US 20100005500A1 · Cloonan et al. · 2010 [cited by applicant]
US 20110099393A1 · Tran et al. · 2011 [cited by applicant]
US 20110185263A1 · Chapman et al. · 2011 [cited by applicant]
US 20110302416A1 · Hoshen et al. · 2011 [cited by applicant]
US 20110318002A1 · Sitton · 2011 [cited by examiner]
US 20130128885A1 · Kardashov et al. · 2013 [cited by applicant]
US 20130209104A1 · Sitton · 2013 [cited by examiner]
US 20140317450A1 · Hess et al. · 2014 [cited by applicant]
US 20150092531A1 · Bernstein et al. · 2015 [cited by applicant]
US 20170187632A1 · Ko · 2017 [cited by examiner]
US 20170302379A1 · Bernard · 2017 [cited by examiner]
KR 100652017B1 · 2006 [cited by applicant]