IP Library Granted Patent US 11,601,432
Granted Patent B2
US 11,601,432 · App. 17/194,132 · Granted Mar 7, 2023

Rolling security platform

Inventor: Robert Pike (Woodinville, WA)
Assignee: Cyemptive Technologies, Inc.
H04L63/10G06F9/5077G06F21/57G06F21/6218H04L63/0846H04L63/102H04L63/108H04L63/1408H04L63/1416H04L63/1425H04L63/1441H04L63/1466H04L63/20H04L67/148H04L63/0263H04L67/01
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 11,601,432
App. No.
17/194,132
Granted
Mar 7, 2023
Kind
B2
Abstract

A method of rolling security for a system that includes multiple server groups, such as a first server group of one or more servers and a second server group of one or more servers. The method includes repeatedly initiating rebuilding of the first server group of one or more servers. The method also includes repeatedly initiating rebuilding of the second server group of one or more servers. The rebuilding of the first server group of one or more servers is staggered in time from the rebuilding of the second server group of one or more servers. The servers may be physical servers or virtual machines. Rolling security may also be applied to software containers, computing devices within a data center, and computing devices outside of a datacenter.

Claims (48)

1. A computer implemented method to generate rolling timing information, comprising:

monitoring, using one or more processors a first plurality of application sessions on a first server group and a second plurality of application sessions on a second server group;

determining, using the one or more processors based on monitoring the first plurality of application sessions, a first plurality of durations for the first plurality of application sessions, and, based on monitoring the second plurality of application sessions, a second plurality of durations for the second plurality of application sessions;

determining, using the one or more processors based on the first plurality of durations, a first rebuild interval for the first server group;

determining, using the one or more processors based on the second plurality of durations, a second rebuild interval for the second server group;

generating, using the one or more processors, rolling timing information indicating rebuild timings for the first server group based on the first rebuild interval and rebuild timings for the second server group based on the second rebuild interval, wherein the rebuilt timings for the first server group and the second server group are staggered; and

causing the first server group to be rebuilt and the second server group to be rebuilt based on the rolling timing information.

2. The method of claim 1 , wherein determining the first rebuild interval for the first server group comprises:

calculating a statistical measure based on the first plurality of durations of the first plurality of application sessions; and

determining the first rebuild interval by applying a multiplier to the statistical measure.

3. The method of claim 2 , wherein the statistical measure is one of an average duration and a maximum duration.

4. The method of claim 1 , wherein causing the first server group to be rebuilt comprises causing the first server group to enter a shutdown preparation mode from a normal operation mode.

5. The method of claim 4 , wherein generating rolling timing information comprises generating a maximum duration of the normal operation mode.

6. The method of claim 4 , wherein causing the first server group to enter a shutdown preparation mode comprises transmitting a shutdown preparation initiation command to one or more load balancers, wherein the shutdown preparation initiation command comprises an identifier of the first server group.

7. The method of claim 1 , wherein causing the first server group to be rebuilt and the second server group to be rebuilt comprises determining that the first server group has been rebuilt before initializing a rebuild of the second server group.

8. A non-transitory computer readable medium comprising stored instructions, the instructions when executed by one or more processors cause the one or more processors to:

monitor a first plurality of application sessions on a first server group and a second plurality of application sessions on a second server group;

determine, based on monitoring the first plurality of application sessions, a first plurality of durations for the first plurality of application sessions, and, based on monitoring the second plurality of application sessions, a second plurality of durations for the second plurality of application sessions;

determine, based on the first plurality of durations, a first rebuild interval for the first server group;

determine, based on the second plurality of durations, a second rebuild interval for the second server group;

generate rolling timing information indicating rebuild timings for the first server group based on the first rebuild interval and rebuild timings for the second server group based on the second rebuild interval, wherein the rebuilt timings for the first server group and the second server group are staggered; and

cause the first server group to be rebuilt and the second server group to be rebuilt based on the rolling timing information.

9. The non-transitory computer readable medium of claim 8 , wherein the instructions that cause the one or more processors to determine the first rebuild interval for the first server group comprise further instructions to cause the one or more processors to:

calculate a statistical measure based on the first plurality of durations of the first plurality of application sessions; and

determine the first rebuild interval by applying a multiplier to the statistical measure.

10. The non-transitory computer readable medium of claim 9 , wherein the statistical measure is one of an average duration and a maximum duration.

11. The non-transitory computer readable medium of claim 8 , wherein the instructions that cause the one or more processors to rebuild the first server group comprise further instructions that cause the one or more processors to cause the first server group to enter the shutdown preparation mode from the normal operation mode.

12. The non-transitory computer readable medium of claim 11 , wherein the instructions that cause the one or more processors to generate rolling timing information, comprise further instructions that cause the one or more processors to generate a maximum duration of the normal operation mode.

13. The non-transitory computer readable medium of claim 12 , wherein the instructions to cause the first server group to enter the shutdown preparation mode, comprise further instructions that cause the one or more processors to execute a shutdown preparation initiation command to one or more load balancers, wherein the shutdown preparation initiation command comprises an identifier of the first server group.

14. The non-transitory computer readable medium of claim 8 , wherein the instructions to cause the first server group to be rebuilt and the second server group to be rebuilt comprise further instructions that when executed by the one or more processors determines whether the first server group has been rebuilt before initializing a rebuild of the second server group.

15. A system to generate rolling timing information, comprising:

a first server group of servers;

a second server group of servers, each server in the first server group and second server group including software that includes an operating system and an application that supports user sessions;

one or more processors; and

a non-transitory computer readable medium storing instructions, the instructions when executed by the one or more processors cause the one or more processors to:

monitor a first plurality of application sessions on a first server group and a second plurality of application sessions on a second server group;

determine, based on monitoring the first plurality of application sessions, a first plurality of durations for the first plurality of application sessions, and, based on monitoring the second plurality of application sessions, a second plurality of durations for the second plurality of application sessions;

determine, based on the first plurality of durations, a first rebuild interval for the first server group;

determine, based on the second plurality of durations, a second rebuild interval for the second server group;

generate rolling timing information indicating rebuild timings for the first server group based on the first rebuild interval and rebuild timings for the second server group based on the second rebuild interval, wherein the rebuilt timings for the first server group and the second server group are staggered; and

cause the first server group to be rebuilt and the second server group to be rebuilt based on the rolling timing information.

16. The system of claim 15 , wherein the instructions that cause the one or more processors to determine the first rebuild interval for the first server group, cause the one or more processors to:

calculate a statistical measure based on the first plurality of durations of the first plurality of application sessions; and

determine the first rebuild interval by applying a multiplier to the statistical measure.

17. The system of claim 16 , wherein the statistical measure is one of an average duration and a maximum duration.

18. The system of claim 15 , wherein the instructions that cause the one or more processors to rebuild the first server group, cause the one or more processors to cause the first server group to enter the shutdown preparation mode from the normal operation mode.

19. The system of claim 18 , wherein generating rolling timing information comprises generating a maximum duration of the normal operation mode.

20. The system of claim 18 , wherein the instructions that cause the first server group to enter a shutdown preparation mode, cause the one or more processors to transmit a shutdown preparation initiation command to one or more load balancers, wherein the shutdown preparation initiation command comprises an identifier of the first server group.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2022
From: PIKE, ROBERT
To: ENZOO, INC.
Reel/Frame 059406/0269 →
CHANGE OF NAME Recorded Mar 26, 2022
From: ENZOO, INC.
To: CYEMPTIVE TECHNOLOGIES, INC.
Reel/Frame 060182/0645 →
Continuity (5)
Continuation 16820618 · Mar 16, 2020
Continuation 15875894 · Jan 19, 2018
Continuation 14857775 · Sep 17, 2015
Provisional Application 62105685 · Jan 20, 2015
Related Publication 20210194880A1 · Jun 24, 2021