IP Library Granted Patent US 8,149,698
Granted Patent B1
US 8,149,698 · App. 11/651,427 · Granted Apr 3, 2012

Providing a schedule for active events to be processed by a processor

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,149,698
App. No.
11/651,427
Granted
Apr 3, 2012
Kind
B1
Abstract

A switch that interconnects networks provides a scheduling algorithm that determines a number of active events to be processed by a processor in the switch. The active events involve processing of bearer traffic. A schedule tailored to the number of active events is generated. In response to a change affecting the schedule, the schedule is modified. The active events are processed by the processor according to the modified schedule.

Claims (53)

1. A scheduling method for use by a switch that interconnects networks, comprising:

identifying, by the switch, a plurality of active events to be processed by a processor in the switch, wherein at least some of the active events involve encoding bearer traffic using a specified encoding rate;

generating an initial schedule tailored to the plurality of active events, wherein generating the initial schedule comprises:

identifying target delivery times for the active events,

determining activation times for the active events based on the identified target delivery times,

determining, based on the activation times and target delivery times, whether overlap of processing of the active events will occur, and

in response to determining that overlap of processing of the active events will occur, shifting the activation time of at least one of the active events to avoid the overlap in the initial schedule; and

shifting each of the active events earlier by a common predefined time margin to form an updated schedule such that the activation times in the updated schedule for the corresponding active events are earlier than corresponding activation times in the initial schedule by the common predefined time margin to accommodate for the possibility of occurrence of an un-scheduled control event after generation of the initial schedule, wherein shifting by the common predefined time margin is performed prior to occurrence of the un-scheduled control event, wherein the un-scheduled control event comprises a request to change the specified encoding rate, and wherein the request to change the specified encoding rate is received after the initial schedule is generated.

2. The method of claim 1 , further comprising repeating the determining whether overlap and shifting the activation time steps for all of the active events in a particular order, wherein shifting the activation time comprises shifting the activation time backwardly to an earlier time.

3. The method of claim 1 , further comprising:

in response to a change affecting the updated schedule, modifying the updated schedule; and

processing the active events by the processor according to the modified schedule,

wherein the change comprises at least one of: (1) receiving another active event to be processed by the processor, the other active event involving processing of bearer traffic; and (2) dropping one of the active events currently processed by the processor.

4. The method of claim 1 , wherein the switch comprises a media gateway, and the processor comprises a digital signal processor (DSP), and wherein generating the initial schedule and forming the updated schedule are also performed by the DSP.

5. The method of claim 1 , wherein processing the bearer traffic comprises at least one of encoding the bearer traffic and decoding the bearer traffic, and wherein the bearer traffic is communicated between a radio access network and a fixed network through the switch.

6. The method of claim 1 , wherein generating the initial schedule comprises generating the initial schedule that further specifies a time block for a placeholder event to accommodate a future scheduled event.

7. The method of claim 1 , wherein shifting each of the active events by the common predefined time margin is performed to accommodate the un-scheduled control event within each of plural periodic intervals.

8. The method of claim 1 , further comprising:

in response to a change affecting the updated schedule, modifying the updated schedule;

processing the active events by the processor according to the modified schedule; and

selecting a transition time instant at which processing of active events by the processor is performed according to the modified schedule rather than the updated schedule.

9. The method of claim 8 , wherein selecting the transition time instant comprises:

for each of the active events, determining a window between an initiating time instant for a corresponding event in the modified schedule and an initiating time instant for the corresponding event in the updated schedule; and

assigning cost factors to the corresponding windows,

wherein selecting the transition time instant is based on the assigned cost factors.

10. The method of claim 9 , wherein selecting the transition time instant further comprises:

computing a total cost for each of plural possible time instants,

wherein selecting the transition time instant comprises selecting the possible transition time instant associated with a minimum cost factor value.

11. The method of claim 1 , further comprising:

upon occurrence of the un-scheduled control event, processing the un-scheduled control event after completion of one of the active events in the updated schedule but before a start of another one of the active events in the updated schedule.

12. A media gateway for interconnection between networks, comprising:

a communication interface configured to receive a request to change a specified encoding rate; and

a digital signal processor (DSP) configured to:

identify active processing threads to be processed by the DSP, wherein at least some of the active processing threads are associated with encoding bearer traffic using the specified encoding rate;

produce an initial schedule that specifies activation time instants for activation of the active processing threads by the DSP; and

modify the initial schedule by shifting the activation time instants earlier by a common predefined time margin to allow for the possibility of occurrence of an un-scheduled control event after generation of the initial schedule, wherein the initial schedule is modified prior to occurrence of the un-scheduled control event, wherein the un-scheduled control event comprises the request to change the specified encoding rate, and wherein the request to change the specified encoding rate is received after the initial schedule is generated.

13. The media gateway of claim 12 , wherein the active processing threads comprise processing threads to apply signal processing of bearer traffic to be communicated between the networks.

14. The media gateway of claim 13 , wherein the bearer traffic comprises bearer traffic to be communicated between a radio access network and a fixed network.

15. The media gateway of claim 13 wherein the common predefined time margin allows for processing of the un-scheduled control event without delaying the scheduled active processing threads past delivery time instants specified by the initial schedule.

16. The media gateway of claim 12 , wherein the specified activation time instants also include an activation time instant for a placeholder event, the placeholder event to provide a placeholder for a future scheduled event.

17. The media gateway of claim 12 , wherein the time instants are shifted earlier by shifting each of the time instants earlier by the common predefined time margin.

18. The media gateway of claim 17 , wherein the DSP is configured to further:

upon occurrence of the un-scheduled control event, process the un-scheduled control event after completion of one of the processing threads in the modified initial schedule but before a start of another of the processing threads in the modified initial schedule.

19. An article comprising at least a non-transitory storage medium containing instructions that when executed cause a processor to:

identify a plurality of active events to be processed by the processor, wherein at least some of the active events involve encoding bearer traffic using a specified codec to be communicated between different networks;

generate an initial schedule tailored to the plurality of active events, wherein generating the initial schedule comprises:

identifying target delivery times for the active events,

determining activation times for the active events based on the identified target delivery times,

determining, based on the activation times and target delivery times, whether overlap of processing of the active events will occur, and

in response to determining that overlap of processing of the active events will occur, shifting the activation time of at least one of the active events to avoid the overlap in the initial schedule; and

shifting each of the active events earlier by a common predefined time margin to form an updated schedule such that the activation times in the updated schedule for the corresponding active events are earlier than corresponding activation times in the initial schedule by the common predefined time margin to accommodate for the possibility of occurrence of an un-scheduled control event after generation of the initial schedule, wherein shifting by the common predefined time margin is performed prior to occurrence of the un-scheduled control event, wherein the un-scheduled control event comprises a request to change the specified encoding rate, and wherein the request to change the specified encoding rate is received after the initial schedule is generated.

20. The article of claim 19 , wherein the instructions when executed cause the processor to further:

upon occurrence of the un-scheduled control event, process the un-scheduled control event after completion of one of the active events in the updated schedule but before a start of another one of the active events in the updated schedule.

Assignments (16)
SHORT-FORM PATENTS SECURITY AGREEMENT Recorded Sep 5, 2024
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 068857/0290 →
MERGER AND CHANGE OF NAME Recorded Jul 19, 2024
From: GENBAND US LLC; RIBBON COMMUNICATION OPERATING COMPANY, INC.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 068462/0379 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2024
From: CITIZENS BANK, N.A.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 067822/0433 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 044978/0801 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058949/0497 →
SECURITY INTEREST Recorded Mar 3, 2020
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052076/0905 →
SECURITY INTEREST Recorded Jan 2, 2018
From: GENBAND US LLC; SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 044978/0801 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Dec 29, 2017
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: GENBAND US LLC
Reel/Frame 044986/0303 →
CORRECTIVE ASSIGNMENT TO CORRECT PATENT NO. 6381239 PREVIOUSLY RECORDED AT REEL: 039269 FRAME: 0234. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Jan 3, 2017
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 041422/0080 →
RELEASE AND REASSIGNMENT OF PATENTS Recorded Jul 7, 2016
From: COMERICA BANK, AS AGENT
To: GENBAND US LLC
Reel/Frame 039280/0467 →
PATENT SECURITY AGREEMENT Recorded Jul 6, 2016
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 039269/0234 →
RELEASE OF SECURITY INTEREST Recorded Jan 10, 2014
From: ONE EQUITY PARTNERS III, L.P., AS COLLATERAL AGENT
To: GENBAND US LLC
Reel/Frame 031968/0955 →
SECURITY AGREEMENT Recorded Nov 9, 2010
From: GENBAND US LLC
To: COMERICA BANK
Reel/Frame 025333/0054 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2010
From: NORTEL NETWORKS LIMITED
To: GENBAND US LLC
Reel/Frame 024879/0475 →
PATENT SECURITY AGREEMENT Recorded Jun 18, 2010
From: GENBAND US LLC
To: ONE EQUITY PARTNERS III, L.P., AS COLLATERAL AGENT
Reel/Frame 024555/0809 →
CHANGE OF NAME Recorded Jun 2, 2010
From: GENBAND INC.
To: GENBAND US LLC
Reel/Frame 024468/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2007
From: CHU, CHUNG CHEUNG; KONFORTI, DJORDJE; RABIPOUR, RAFI; YEP, CHRISTY
To: NORTEL NETWORKS LIMITED
Reel/Frame 018985/0913 →