IP Library Granted Patent US 8,027,346
Granted Patent B1
US 8,027,346 · App. 12/128,874 · Granted Sep 27, 2011

Method and system for scheduler dominated merge of state changes

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,027,346
App. No.
12/128,874
Granted
Sep 27, 2011
Kind
B1
Abstract

A method and system schedule data for dequeuing in a communication network. The communication network includes an eligible scheduling node, a scheduling context structure, and an existence of data structure. In response to determining that an eligible scheduling node does not contain at least one child identifier in the scheduling context structure, an eligible child is selected for dequeue from the existence of data structure. At least one eligible child from the existence of data structure is absorbed into the scheduling context structure. The at least one eligible child includes the child selected for dequeue. Absorbing a child includes removing the child identifier from the existence of data queue and adding the child identifier to the scheduling context structure.

Claims (86)

1. A method for scheduling data for dequeuing in a communication network having a hierarchy of interacting scheduling nodes including a child scheduling node and parent scheduling node, the child scheduling node being an eligible scheduling node, the eligible scheduling node having a scheduling context structure, an existence of data structure, and a data queue associated therewith, the method comprising:

responsive to determining that the eligible scheduling node does not contain at least one child identifier in the scheduling context structure and that an eligible child exists in the existence of data structure:

forwarding a message from the eligible scheduling node to the parent scheduling node, the message indicating the existence of an eligible child in the existence of data structure; and

and after forwarding the message, absorbing at least one eligible child from the existence of data structure into the scheduling context structure, absorbing the at least one eligible child including:

removing the child identifier from the existence of data structure; and

adding the child identifier to the scheduling context structure.

2. The method of claim 1 , further comprising:

responsive to determining that the eligible scheduling node contains at least one child identifier in the scheduling context structure:

selecting for dequeuing an eligible child from the scheduling context structure.

3. The method of claim 2 , further responsive to determining that the eligible scheduling node contains at least one child identifier in the scheduling context structure:

determining whether the eligible scheduling node contains at least one child identifier in the existence of data structure; and

responsive to determining that the eligible scheduling node contains at least one child identifier in the existence of data structure:

absorbing at least one eligible child from the existence of data structure into the scheduling context structure.

4. A method for scheduling data for dequeuing in a communication network having a hierarchy of interacting scheduling nodes including a child scheduling node and a parent scheduling node, the method comprising:

determining that one of the child scheduling node and a data queue is eligible for dequeuing;

setting an eligibility state for the one of the child scheduling node and the data queue to eligible;

determining whether an existence of data structure of the parent scheduling node for the one of the child scheduling node and the data queue is empty; and

responsive to determining that the existence of data structure of the parent scheduling node for the one of the child scheduling node and the data queue is not empty, adding an identifier for the one of the child scheduling node and a data queue to the existence of data structure of the parent scheduling node.

5. The method of claim 4 , further comprising:

responsive to determining that the existence of data structure of the parent scheduling node for the one of the child scheduling node and the data queue is empty:

adding an identifier for the one of the child scheduling node and the data queue to the existence of data structure of the parent scheduling node;

determining an eligibility state of the parent scheduling node before and after adding the child identifier, wherein the eligibility state is eligible when:

a child identifier is present in at least one of the existence of data structure of the parent scheduling node and a scheduling context structure of the parent scheduling node; and

the parent scheduling node is otherwise enabled for dequeuing; and

responsive to determining that the eligibility state of the parent scheduling node has changed from ineligible to eligible for dequeuing, setting the eligibility state for the parent scheduling node to eligible.

6. The method of claim 5 , further comprising:

responsive to setting the eligibility state of the parent scheduling node to eligible:

determining whether the eligible parent scheduling node has at least one ancestor scheduling node; and

responsive to determining that the eligible parent scheduling node has at least one ancestor scheduling node:

adding an identifier for the eligible parent scheduling node to an existence of data structure for each ancestor scheduling node of the at least one ancestor scheduling nodes; and

evaluating and propagating an eligibility state for each ancestor scheduling node of the at least one ancestor scheduling nodes.

7. The method of claim 5 , further comprising responsive to a request to the eligible parent scheduling node for data dequeue, selecting an eligible child for data dequeuing.

8. The method of claim 7 , further comprising:

determining whether the eligible parent scheduling node contains at least one child identifier in the scheduling context structure of the eligible parent scheduling node; and

responsive to determining that the eligible parent scheduling node does not contain at least one child identifier in the scheduling context structure of the eligible parent scheduling node:

selecting for dequeue one of a child node and a data queue with an identifier in the existence of data structure of the eligible parent scheduling node; and

absorbing a child identifier for at least one of an eligible child node and an eligible data queue from the existence of data structure of the eligible parent scheduling node into the scheduling context structure of the eligible parent scheduling node, wherein the at least one of an eligible child node and an eligible data queue includes the one of a child node and a data queue selected for dequeue, and wherein absorbing includes:

removing the child identifier for the at least one of an eligible child node and an eligible data queue from the existence of data structure of the eligible parent scheduling node; and

adding at least one corresponding child identifier to the scheduling context structure.

9. The method of claim 7 , further comprising:

determining whether the eligible parent scheduling node contains at least one child identifier in the scheduling context structure; and

responsive to determining that the eligible parent scheduling node contains at least one child identifier in the scheduling context structure of the eligible parent scheduling node:

selecting for dequeuing an eligible child from the scheduling context structure of the eligible parent scheduling node.

10. The method of claim 9 , further responsive to determining that the eligible parent scheduling node contains at least one child identifier in the scheduling context structure of the eligible parent scheduling node:

determining whether the eligible parent scheduling node contains at least one child identifier in the existence of data structure of the eligible parent scheduling node; and

responsive to determining that the eligible parent scheduling node contains at least one child identifier in the existence of data structure of the eligible parent scheduling node:

absorbing the child identifier for at least one eligible child from the existence of data structure of the eligible parent scheduling node into the scheduling context structure of the eligible parent scheduling node.

11. A system for scheduling data for dequeuing in a communication network having a hierarchy of interacting scheduling nodes including a child scheduling node and a parent scheduling node, the system comprising:

at least one data queue containing data for dequeuing;

at least one child communicatively coupled to the at least one data queue, the at least one child being one of a data queue and a child scheduling node;

at least one parent scheduling node communicatively coupled to the at least one child, the at least one parent scheduling node including:

a scheduling context structure; and

an existence of data structure; and

an eligibility updater communicatively coupled to the at least one data queue, the at least one child, and the at least one parent scheduling node, the eligibility updater operable to:

determine an eligibility state for a child;

responsive to determining that the eligibility state is eligible, set an eligibility state for the child to eligible; and

responsive to determining that the existence of data structure of the parent scheduling node is not empty, appending an identifier for the eligible child to the existence of data structure.

12. The system of claim 11 , wherein responsive to determining that the existence of data structure of a parent scheduling node of the child is empty, the eligibility updater is further operable to:

add an identifier for the eligible child to the existence of data structure of the parent scheduling node;

determine an eligibility state for the parent scheduling node; and

responsive to determining that the parent scheduling node is eligible, set an eligibility state for the parent scheduling node to eligible.

13. The system of claim 11 , further comprising:

at least one ancestor scheduling node communicatively coupled to the at least one parent scheduling node and the eligibility updater; and

wherein the eligibility updater is further operable to:

add an identifier for the at least one parent scheduling node to an existence of data structure for the at least one ancestor scheduling node;

determine an eligibility state for the at least one ancestor scheduling node; and

responsive to determining that the at least one ancestor scheduling node is eligible, set an eligibility state for the at least one ancestor scheduling node to eligible.

14. The system of claim 11 , wherein the at least one parent scheduling node upon selection by its ancestor is operable to:

select an eligible child from the at least one child for dequeuing.

15. The system of claim 14 , wherein the at least one parent scheduling node is further operable to:

determine whether the scheduling context structure contains at least one child identifier; and

responsive to determining that the scheduling context structure does not contain at least one child identifier:

select for dequeuing an eligible child from the existence of data structure;

absorb at least one eligible child from the existence of data structure into the scheduling context structure, wherein the at least one eligible child includes the child node selected for dequeuing, and wherein absorb includes:

removing the at least one child identifier for the at least one eligible child from the existence of data structure; and

adding the at least one child identifier to the scheduler context structure.

16. The system of claim 14 , wherein the at least one parent scheduling node is further operable to:

determine whether the scheduling context structure contains at least one child identifier; and

responsive to determining that the scheduling context structure contains at least one child identifier:

select an eligible child node from the scheduling context structure for dequeuing;

determine whether the existence of data structure contains at least one child identifier for at least one eligible child; and

responsive to determining that the existence of data structure contains at least one child identifier for at least one eligible child:

absorb at least one child of the at least one eligible child from the existence of data structure into the scheduling context structure.

17. The system of claim 14 , wherein:

the scheduling context structure stores data for child nodes and data queues that the at least one parent scheduling node knows to be eligible for dequeuing; and

the existence of data structure stores data for child nodes and data queues not currently known to the at least one parent scheduling node.

Assignments (23)
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2018
From: CITICORP USA, INC.
To: AVAYA, INC.; SIERRA HOLDINGS CORP.
Reel/Frame 045045/0564 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 023892/0500 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.
Reel/Frame 044891/0564 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST, NA
To: AVAYA INC.
Reel/Frame 044892/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Feb 22, 2011
From: AVAYA INC., A DELAWARE CORPORATION
To: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE
Reel/Frame 025863/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2010
From: NORTEL NETWORKS LIMITED
To: AVAYA INC.
Reel/Frame 023998/0878 →
SECURITY AGREEMENT Recorded Feb 5, 2010
From: AVAYA INC.
To: CITICORP USA, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 023905/0001 →
SECURITY AGREEMENT Recorded Feb 4, 2010
From: AVAYA INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 023892/0500 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2008
From: VENABLES, BRADLEY D.; STUART, DAVID G.
To: NORTEL NETWORKS LIMITED
Reel/Frame 021014/0314 →