IP Library Granted Patent US 9,910,703
Granted Patent B2
US 9,910,703 · App. 15/156,480 · Granted Mar 6, 2018

System and method for intelligent timer services

Inventors: Andre Dupont (St-Laurent, CA); Thierry DeCorte (Laval, CA)
Assignee: Accedian Networks Inc.
G06F9/4881G06F1/14G06F9/4825G06F9/4831G06F9/4837
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 9,910,703
App. No.
15/156,480
Granted
Mar 6, 2018
Kind
B2
Abstract

A method is provided for efficiently scheduling timer events within an operating system by allocating a plurality of timers, each of which has an expiry time, to a set of available timer slots. The method defines a timer spread value that denotes the allowed variance of the expiry times of each of the timers, calculates a set of available timer slots for each of the timers based on the timer spread value, and adjusts the expiry times of the timers so as to insert and evenly spread the timers across the set of available timer slots. In one implementation, the set of available timer slots is located in a timer wheel existing within the operating system, and the timer wheel uses a plurality of timer vectors arranged into successively increasing levels, beginning with level zero.

Claims (30)

1. A method of efficiently scheduling timer events within an operating system by allocating a plurality of timers to a set of available timer slots located in a timer wheel existing within the operating system, the timer wheel using a plurality of timer vectors arranged into successively increasing levels, beginning with level zero, each of the plurality of timers having an expiry time, the method comprising:

defining a timer spread value for each of the plurality of timers which is a measure of an allowed variance of the expiry times of each of the plurality of timers;

specifying a timer interval for each of the plurality of timers;

calculating a set of available timer slots for each of the plurality of timers based on the timer spread value;

comparing the timer interval for each of the plurality of timers to each slot in the plurality of timer vectors; and

adjusting the expiry times of each of the plurality of timers so as to insert and spread the plurality of timers across the set of available timer slots.

2. The method of claim 1 , wherein at least one of the plurality of timers is designated as a non-periodic timer.

3. The method of claim 1 , wherein at least one of the plurality of timers is designated as a periodic timer.

4. The method of claim 1 , wherein the timer interval is specified in microseconds.

5. The method of claim 1 , wherein the timer interval is specified in nanoseconds.

6. The method of claim 1 , further comprising converting the timer interval into a number of operating system (OS) ticks as

t _tick=timer_tick/ t

wherein t_tick is the timer interval in number of OS ticks, timer_tick is the timer interval, and t is the OS time period.

7. The method of claim 1 , wherein calculating the set of available timer slots comprises applying a maximum positive spread and a maximum negative spread.

8. The system of claim 1 , wherein at least one of the plurality of timers is designated as a non-periodic timer.

9. The system of claim 1 , wherein at least one of the plurality of timers is designated as a periodic timer.

10. The system of claim 1 , wherein the timer interval is specified in microseconds.

11. The system of claim 1 , wherein the timer interval is specified in nanoseconds.

12. The system of claim 1 , further comprising converting the timer interval into a number of operating system (OS) ticks as

t _tick=timer_tick/ t

wherein t_tick is the timer interval in number of OS ticks, timer_tick is the timer interval, and t is the OS time period.

13. The system of claim 1 , wherein the calculating comprises applying a maximum positive spread and a maximum negative spread.

14. A system for efficiently scheduling timer events within an operating system by allocating a plurality of timers to a set of available timer slots located in a timer wheel existing within the operating system, the timer wheel using a plurality of timer vectors arranged into successively increasing levels, beginning with level zero, each of the timers having an expiry time, the system comprising:

one or more processors; and

one or more modules stored on a memory and executable by the one or more processors, the one or more modules configured to:

define a timer spread value which is a measure of an allowed variance of the expiry times of each of the plurality of timers;

specify a timer interval for each of the plurality of timers;

calculate a set of available timer slots for each of the timers based on the timer spread value;

compare the timer interval for each of the plurality of timers to each slot in the plurality of timer vectors; and

adjust the expiry times of the timers so as to insert and spread the timers across the set of available timer slots.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Oct 10, 2023
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY
To: LES RESEAUX ACCEDIAN INC. / ACCEDIAN NETWORKS INC.
Reel/Frame 065192/0909 →
RELEASE OF SECURITY INTEREST FILED AUGUST 13, 2021 AT REEL/FRAME 057184/0296 Recorded Oct 6, 2023
From: BGC LENDER REP LLC
To: LES RESEAUX ACCEDIAN INC. / ACCEDIAN NETWORKS INC.
Reel/Frame 065178/0452 →
SECURITY INTEREST Recorded Aug 16, 2021
From: LES RESEAUX ACCEDIAN INC. / ACCEDIAN NETWORKS INC.
To: SILICON VALLEY BANK
Reel/Frame 057192/0787 →
SECURITY AGREEMENT Recorded Aug 13, 2021
From: LES RESEAUX ACCEDIAN INC. / ACCEDIAN NETWORKS INC.
To: BGC LENDER REP LLC
Reel/Frame 057184/0296 →
SECURITY INTEREST Recorded Jun 22, 2018
From: LES RESEAUX ACCEDIAN INC. / ACCEDIAN NETWORKS INC.
To: SILICON VALLEY BANK
Reel/Frame 046413/0496 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2016
From: DUPONT, ANDRE; DECORTE, THIERRY
To: ACCEDIAN NETWORKS INC.
Reel/Frame 038615/0419 →
Continuity (3)
Continuation 14691726 · Apr 21, 2015
Continuation 13606089 · Sep 7, 2012
Related Publication 20160259666A1 · Sep 8, 2016