IP Library Granted Patent US 10,116,526
Granted Patent B2
US 10,116,526 · App. 15/154,733 · Granted Oct 30, 2018

Systems and methods for providing a self-electing service

Inventors: James Lester Memmott (Draper, UT); Gregory Paul Olsen (Lindon, UT); Scot Emery Swan (Mapleton, UT); Mitchell Jay Edgar (Eagle Mountain, UT); Rex Michael McMillan (South Jordan, UT)
Assignee: Ivanti, Inc.
H04L41/5054H04L41/12
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 10,116,526
App. No.
15/154,733
Granted
Oct 30, 2018
Kind
B2
Abstract

A method for a self-electing service by a managed device is described. The method includes configuring the managed device with a service. The service is configured on at least one additional managed device in a network segment. The method also includes determining whether the managed device is selected to provide the service by negotiating with the at least one additional managed device in the network segment based on preconfigured election rules.

Claims (92)

1. A method, comprising:

determining, at a first managed device from a plurality of managed devices in a network segment, an election score for the first managed device using a set of election rules associated with identifying a managed device from the plurality of managed devices to provide a service;

sending, via the first managed device, a multicast message to a set of managed devices from the plurality of managed devices, such that a second managed device from the plurality of managed devices, in response to receiving the multicast message, determines an election score for the second managed device using the set of election rules and sends the election score for the second managed device to the first managed device;

receiving, at the first managed device, the election score for the second managed device;

comparing, at the first managed device, the election score for the first managed device with the election score for the second managed device; and

in response to the election score for the first managed device being equal to the election score for the second managed device:

comparing, at the first managed device, a unique identifier of the first managed device with a unique identifier of the second managed device;

electing, at the first managed device and based on the comparing of the unique identifier of the first managed device with the unique identifier of the second managed device, to provide the service on the network segment; and

configuring, at the first managed device, the first managed device with the service.

2. The method of claim 1 , wherein the election score for the first managed device is based on a capability of the first managed device to provide the service relative to remaining managed devices from the plurality of managed devices.

3. The method of claim 1 , wherein the multicast message is a first multicast message, and the

receiving the election score for the second managed device includes receiving, from the second managed device, a second multicast message including the election score for the second managed device.

4. The method of claim 1 , further comprising, in response to the electing to provide the service:

sending, from the first managed device, a periodic message on a multicast channel to the set of managed devices, the periodic message indicating that the first managed device has elected to provide the service and including the election score of the first managed device such that each managed device from the set of managed devices, upon receiving the periodic message, does not provide the service.

5. The method of claim 1 , further comprising, in response to the electing to provide the service:

receiving, in response to a third managed device joining the network segment, an inquiry message from the third managed device on a multicast channel, the inquiry message indicating that the third managed device can provide the service and inquiring whether a managed device from the plurality of managed devices in the network segment is providing the service; and

sending, from the first managed device and in response to the receiving the inquiry message, a response to the third managed device indicating that the first managed device is providing the service.

6. The method of claim 1 , further comprising:

receiving, in response to a third managed device joining the network segment, a first message from the third managed device and including an election score for the third managed device determined based on the set of election rules;

comparing, at the first managed device, the election score for the first managed device with the election score for the third managed device;

when the election score for the third managed device is greater than a threshold amount from the election score for the first managed device, determining to not provide the service using the first managed device; and

when the election score for the third managed device is (i) greater than the election score for the first managed device and (ii) not greater than the threshold amount from the election score for the first managed device, sending a message to the third managed device indicating that the first managed device is providing the service.

7. The method of claim 1 , further comprising, in response to the electing to provide the service:

receiving an inquiry message on a multicast channel from a third managed device, the inquiry message inquiring whether the service is being provided by a managed device from the plurality of managed devices in the network segment; and

sending, in response to the receiving, an inquiry response message on the multicast channel indicating that the first managed device has elected to provide the service, the inquiry response message including the election score for the first managed device.

8. The method of claim 1 , further comprising:

validating, at the first managed device, a message received from the second managed device based on a cryptographic signature associated with the second managed device,

wherein:

the multicast message includes a cryptographic signature associated with the first managed device,

the sending the multicast message includes sending, from the first managed device and to the second managed device, the multicast message such that the second managed device, in response to receiving the multicast message, (1) validates the multicast message based on the cryptographic signature and (2) sends, in response to the validating, the message to the first managed device,

the receiving the election score for the second managed device includes receiving, from the second managed device, the message including the election score for the second managed device and the cryptographic signature associated with the second managed device, and

the comparing of the election score of the first managed device and the election score of the second managed device occurs in response to the validating of the message received from the second managed device.

9. The method of claim 1 , further comprising, in response to the electing to provide the service:

reporting to an administration server that the first managed device has elected to provide the service;

receiving, at the first managed device, an instruction from the administration server indicating whether the first managed device should start the service; and

in response to the administration server indicating that the first managed device should start the service, providing, at the first managed device, the service.

10. The method of claim 1 , further comprising:

sending, from the first managed device, a status report to an administration server indicating a status of the service.

11. An apparatus, comprising:

a processor of a first managed device configured to be included in a plurality of managed devices in a network segment, the processor configured to:

determine an election score for the first managed device using a set of election rules based on a type of a service, the election score for the first managed device indicating a capability of the first managed device to provide the type of the service relative to remaining managed devices from the plurality of managed devices;

send a first multicast message including the election score for the first managed device to a set of managed devices from the plurality of managed devices, such that each managed device from the set of managed devices, in response to receiving the first multicast message, (1) determines an election score for that managed device using the set of election rules, (2) compares the election score for the first managed device with the election score for that managed device, and (3) determines, based on the comparing of the election score for the first managed device and the election score for that managed device, to not provide the service on the network segment;

receiving, at the first managed device, a second multicast message from a second managed device from the plurality of network devices and including an election score for the second managed device;

in response to the receiving, compare the election score for the first managed device with the election score for the second managed device;

elect, based on the comparing of the election score for the first managed device with the election score for the second managed device, to provide the service on the network segment; and

provision the first managed device with the service; and

memory (1) in electronic communication with the processor and (2) storing the set of election rules.

12. The apparatus of claim 11 , wherein the processor is further configured to, in response to the electing to provide the service:

send a periodic multicast message to the set of managed devices, the periodic multicast message indicating that the first managed device has elected to provide the service and including the election score of the first managed device such that each managed device from the set of managed devices, upon receiving the periodic multicast message, does not provide the service.

13. The apparatus of claim 11 , wherein the processor is further configured to:

receive, in response to a third managed device joining the network segment, an inquiry message from the third managed device on a multicast channel, the inquiry message indicating that the third managed device can provide the service and inquiring whether a managed device other than the third managed device and in the network segment is providing the service; and

send, in response to the receiving the inquiry message, a response to the third managed device indicating that the first managed device is providing the service.

14. The apparatus of claim 11 , wherein the processor is further configured to:

receive, in response to a third managed device joining the network segment, a message from the third managed device and including an election score for the third managed device determined based on the set of election rules;

compare the election score for the first managed device with the election score for the third managed device;

when the election score for the third managed device is greater than a threshold amount from the election score for the first managed device, determining to not provide the service using the first managed device; and

when the election score for the third managed device is (i) greater than the election score for the first managed device and (ii) not greater than the threshold amount from the election score for the first managed device, sending a message to the third managed device indicating that the first managed device is providing the service.

15. The apparatus of claim 11 , wherein the processor is further configured to:

receive an inquiry message on a multicast channel from a third managed device, the inquiry message inquiring whether the service is being provided by a managed device in the network segment; and

send, in response to the receiving the inquiry message, an inquiry response message on the multicast channel indicating that the first managed device has elected to provide the service, the inquiry response message including the election score for the first managed device.

16. The apparatus of claim 11 , wherein the first multicast message includes a cryptographic signature associated with the first managed device so that each managed device from the set of managed devices, in response to receiving the first multicast message, can validate the first multicast message based on the cryptographic signature.

17. The apparatus of claim 11 , wherein the processor is further configured to:

report to an administration server that the first managed device has elected to provide the service;

receive an instruction from the administration server indicating whether the first managed device should start the service; and

in response to the administration server indicating that the first managed device should start the service, provide the service.

18. The apparatus of claim 11 , wherein the processor is further configured to send a status report to an administration server indicating a status of the service.

19. An apparatus, comprising:

a memory storing a set of election rules associated with a service; and

a processor of a first managed device and operatively coupled to the memory, the processor configured to:

determine an election score for the first managed device on a network segment using the set of election rules;

detect that a periodic message indicating that a second managed device has elected to provide the service on the network segment has not been received from the second managed device for an amount of time greater than a predefined amount of time, the first managed device and the second managed device belonging to a plurality of managed devices in the network segment;

in response to the detecting, send a multicast message including the election score for the first managed device to a set of managed devices from the plurality of managed devices and not including the second managed device, such that each managed device from the set of managed devices, in response to receiving the multicast message, determines (1) an election score for that managed device using the set of election rules and (2) whether to send a message to the first managed device indicating that the election score for that managed device is greater than the election score for the first managed device;

in response to not receiving a message from the set of managed devices within a predefined period of time:

elect to provide the service on the network segment; and

send a set of periodic messages indicating that the first managed device has elected to provide the service and including the election score for the first managed device, each periodic message from the set of periodic messages sent a predefined period of time after another periodic message from the set of periodic messages; and

in response to receiving a message from a third managed device from the set of managed devices within the predefined period of time and including an election score for the third managed device:

compare the election score for the first managed device with the election score for the third managed device; and

determine, based on the comparing, to not provide the service using the first managed device.

20. The apparatus of claim 19 , wherein the processor is further configured to:

receive, after the detecting that the periodic message has not been received, a message from the second managed device and including an election score for the second managed device;

compare the election score for the first managed device with the election score for the second managed device;

when the election score for the second managed device is greater than a threshold amount from the election score for the first managed device, determining to not provide the service using the first managed device; and

when the election score for the second managed device is (i) greater than the election score for the first managed device and (ii) not greater than the threshold amount from the election score for the first managed device, sending a message to the second managed device indicating that the first managed device has elected to provide the service.

21. The apparatus of claim 19 , wherein the election score for the first managed device indicates a capability of the first managed device to provide the service relative to remaining managed devices from the plurality of managed devices.

22. The apparatus of claim 19 , wherein the set of election rules is a first set of election rules, and the service is a first service,

the memory storing a second set of election rules associated with a second service and different from the first set of election rules.

23. The apparatus of claim 19 , wherein the processor is further configured to:

receive, after the detecting that the periodic message has not been received, a first message from the second managed device including an election score for the second managed device;

compare the election score for the first managed device with the election score for the second managed device;

in response to the election score for the first managed device being equal to the election score for the second managed device:

compare a unique identifier of the first managed device with a unique identifier of the second managed device; and

elect, at the first managed device and based on the comparing of the unique identifier of the first managed device with the unique identifier of the second managed device, to provide the service on the network segment.

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 2, 2025
From: IVANTI, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071164/0482 →
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; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
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 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 41052/0762 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: CRIMSON CORPORATION
Reel/Frame 054560/0857 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 41459/0387 Recorded Dec 1, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: CRIMSON CORPORATION
Reel/Frame 054637/0161 →
MERGER Recorded Apr 19, 2018
From: CRIMSON CORPORATION
To: IVANTI, INC.
Reel/Frame 045983/0075 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 40183/0506 Recorded Jan 23, 2017
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 041463/0457 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 40182/0345 Recorded Jan 23, 2017
From: JEFFERIES FINANCE LLC
To: CRIMSON CORPORATION
Reel/Frame 041463/0581 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: CRIMSON CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041459/0387 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jan 20, 2017
From: CRIMSON CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041052/0762 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040183/0506 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: CRIMSON CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 040182/0345 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2016
From: MEMMOTT, JAMES LESTER; OLSEN, GREGORY PAUL; SWAN, SCOT EMERY; EDGAR, MITCHELL JAY; MCMILLAN, REX MICHAEL
To: CRIMSON CORPORATION
Reel/Frame 038619/0543 →
Continuity (1)
Related Publication 20170331708A1 · Nov 16, 2017
Cited By (1)
US 12,261,760