IP Library Granted Patent US 7,886,175
Granted Patent B1
US 7,886,175 · App. 12/042,558 · Granted Feb 8, 2011

Delaying one-shot signal objects

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,886,175
App. No.
12/042,558
Granted
Feb 8, 2011
Kind
B1
Abstract

A device may include a processor to execute a thread. The processor may be further configured to execute a set of wrappers that are called from within the thread to invoke a set of one-shot signal objects to generate delayed signals. Each of the set of wrappers may be configured to detect whether different ones of one-shot signal objects that were invoked from within the thread have generated signals at periodic time intervals, determine a delay to be used for invoking one of the set of one-shot signal objects, and invoke the one of the set of one-shot signal object to generate one of the delayed signals based on the delay when the different ones of one-shot signal objects have generated signals at periodic time intervals. The processor may be further configured to receive the delayed signals generated from the set of one-shot signal objects over a time period.

Claims (66)

1. A device comprising:

a processor to:

execute a thread;

execute a plurality of wrappers that are called from within the thread to invoke a plurality of one-shot signal objects to generate delayed signals, each of the plurality of wrappers configured to:

detect whether different ones of one-shot signal objects that were invoked from within the thread have generated signals at periodic time intervals,

determine a delay to be used for invoking one of the plurality of one-shot signal objects,

invoke the one of the plurality of one-shot signal object to generate one of the delayed signals based on the delay when the different ones of one-shot signal objects have generated signals at periodic time intervals; and

receive the delayed signals generated from the plurality of one-shot signal objects over a time period.

2. The device of claim 1 , where the device includes a router, a switch, or a server device.

3. The device of claim 1 , where the wrapper is further configured to:

receive a reference to a delay object used to determine the delay.

4. The device of claim 3 , where the delay object includes is configured to determine the delay based on:

a uniform probability distribution function; or

a Gaussian probability distribution function.

5. The device of claim 1 , where the processor is further configured to:

use callback objects to respond to the received delayed signals.

6. The device of claim 1 , where the wrapper is further configured to:

access a signal information object that is used to detect whether the different ones of one-shot signal objects have generated signals at periodic time intervals, the signal information object including information about the signals.

7. The device of claim 6 , where the signal information object further includes at least one of:

a state context;

an identifier of a thread in which the one of the plurality of one-shot signal object generates the one of the delays signals;

an identifier of a thread that includes a callback object;

a thread identifier used to identify the signal information object; or

an effective instruction pointer register value used to uniquely identify the signal information object.

8. The device of claim 6 , where the wrapper is further configured to:

detect if the device suffers from a processing overload based on information in the signal information object.

9. The device of claim 8 , where the wrapper is further configured to:

withhold invoking the one of the plurality of one-shot signal objects when the device suffers from the processing overload.

10. The device of claim 1 , where one or more of the one-shot signal objects includes:

a one-shot timer; or

an event generator.

11. The device of claim 1 , where the wrapper is further configured to:

receive a length of time for the one of the plurality of one-shot signal objects to wait before generating the one of the delayed signals.

12. The device of claim 1 , where the delayed signals include at least one of:

a software signal;

an event object; or

a network message.

13. The device of claim 1 , where the one of the plurality of one-shot signal objects includes:

a component for sending a keep-alive response to the device when the one of the plurality of one-shot signal objects is invoked.

14. A computer-readable memory, comprising:

computer-executable instructions for invoking a plurality of one-shot signal objects, the instructions for invoking the plurality of one-shot signal objects including:

instructions for detecting whether signals are periodically sent from different one-shot signal objects;

instructions for generating a delay when the signals are periodically being sent from the different one-shot signal objects;

instructions for determining a time at which one of the plurality of one-shot signal objects is to generate a signal based on the delay;

instructions for calling the one of the plurality of one-shot signal objects and conveying the time at which the one of the plurality of one-shot signal objects is to generate the signal; and

instructions for receiving the signal that is sent from the one of the plurality of one-shot signal objects in response to being called.

15. The computer-readable memory of claim 14 , where the one-shot signal object includes:

an object hosted on a virtual device or a remote network device.

16. The computer-readable memory of claim 14 , where the instructions for detecting whether signals are periodically being sent include:

instructions for measuring a distance between local maxima of a function that maps time to numbers of signals that are generated from the different one-shot signal objects, the function derived from statistics that are collected about the signals.

17. The computer-readable memory of claim 16 , further comprising:

instructions for dynamically allocating memory for storing the statistics.

18. The computer-readable memory of claim 14 , where the instructions for detecting whether signals are periodically being sent include:

instructions for recording statistics related to the one-shot signal object; and

instructions for using the statistics to determine whether the signals are periodically sent from different one-shot signal objects.

19. The computer-readable memory of claim 14 , further comprising:

instructions for conveying to the one of the plurality of one-shot signal objects a reference to a callback object that responds to the signal.

20. A device comprising:

means for allocating memory for a signal information object;

means for recording information related to signals that are generated from one-shot signal objects in the signal information object;

means for deciding whether the signals are periodically overloading the device based on the recorded information;

means for determining a delay when the device is overloaded by the signals;

means for providing the determined delay to a one-shot signal object;

means for calling the one-shot signal object;

means for receiving a signal from the one-shot signal object in response to the call; and

means for responding to the signal from the one-shot signal object.

Assignments (16)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY 14633493 WHICH WAS ENTERED INCORRECTLY AS 14633793 PREVIOUSLY RECORDED ON REEL 71176 FRAME 315. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST LIEN NEWCO SECURITY AGREEMENT. Recorded Nov 10, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 073818/0515 →
FIRST LIEN NEWCO SECURITY AGREEMENT Recorded May 5, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0315 →
SECURITY INTEREST Recorded May 3, 2025
From: PULSE SECURE LLC
To: ALTER DOMUS (US) LLC
Reel/Frame 071165/0027 →
NOTICE OF SUCCESSION OF AGENCY FOR SECURITY INTEREST AT REEL/FRAME 054665/0873 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071123/0386 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; IVANTI, INC.; MOBILEIRON, INC.; IVANTI US LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 054665/0062 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 053638-0220 Recorded Dec 1, 2020
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: PULSE SECURE, LLC
Reel/Frame 054559/0368 →
SECURITY INTEREST Recorded Aug 29, 2020
From: PULSE SECURE, LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 053638/0220 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 042380/0859 Recorded Aug 29, 2020
From: CERBERUS BUSINESS FINANCE, LLC, AS AGENT
To: PULSE SECURE, LLC
Reel/Frame 053638/0259 →
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2020
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC; SMOBILE SYSTEMS, INC.
Reel/Frame 053271/0307 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL 037338, FRAME 0408 Recorded May 1, 2017
From: US BANK NATIONAL ASSOCIATION
To: PULSE SECURE, LLC
Reel/Frame 042381/0568 →
GRANT OF SECURITY INTEREST PATENTS Recorded May 1, 2017
From: PULSE SECURE, LLC
To: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGENT
Reel/Frame 042380/0859 →
SECURITY INTEREST Recorded Dec 21, 2015
From: PULSE SECURE, LLC
To: U.S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037338/0408 →
SECURITY INTEREST Recorded Dec 30, 2014
From: PULSE SECURE, LLC; SMOBILE SYSTEMS, INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 034713/0950 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2014
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC
Reel/Frame 034045/0717 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2008
From: VENABLE, JEFFREY C, SR.
To: JUNIPER NETWORKS, INC.
Reel/Frame 020602/0988 →