IP Library Granted Patent US 7,389,410
Granted Patent B1
US 7,389,410 · App. 11/180,800 · Granted Jun 17, 2008

Automatically deriving order of initialization for computing services across multiple computing systems

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,389,410
App. No.
11/180,800
Granted
Jun 17, 2008
Kind
B1
Abstract

Automated derivation of an initialization ordering for computing services distributed across multiple computing systems. The initialization ordering is derived by monitoring initialization times for the computing services for one or more prior initializations of the computing services. Initialization dependencies of the computing services are then estimated based on the time of their initialization. The entire initialization ordering is then derived based on the estimated initialization dependencies.

Claims (47)

1. A computer-implemented method for deriving an initialization order for a plurality of computing services provided by at least one computing system, the method comprising:

identifying at least one prior initialization of each of the plurality of computing services;

monitoring at least one initialization timestamp generated during the prior initialization of each of the plurality of computing services;

estimating, based on the initialization timestamp, at least one initialization dependency for each of the plurality of computing services; and

deriving, based on the estimated initialization dependency, an initialization order for the plurality of computing services provided by the at least one computing system.

2. A computer-implemented method in accordance with claim 1 , further comprising:

initializing the plurality of computing services in the initialization order.

3. A computer-implemented method in accordance with claim 1 , wherein the at least one computing system comprises a plurality of computing systems, and the method further comprises deriving a proper boot order for the plurality of computing systems based on the initialization order for the plurality of computing services.

4. A computer-implemented method in accordance with claim 3 , further comprising rebooting the plurality of computing systems in the proper boot order.

5. A computer-implemented method in accordance with claim 1 , wherein the plurality of computing services are each software applications.

6. A computer-implemented method in accordance with claim 1 , wherein the at least one prior initialization comprises a plurality of prior initializations.

7. A computer-implemented method in accordance with claim 1 , wherein estimating the at least one initialization dependency comprises:

for multiple pairs of initializations of a pair of computing services, estimating a sequential time-based correlation for at least one pair of initializations of the pair of computing services; and

estimating that the pair of computing services having pairs of initializations with higher sequential time-based correlation have an initialization dependency.

8. A computer-implemented method in accordance with claim 7 , wherein estimating the sequential time-based correlation comprises:

weighting the correlation with a time-dependency function so that the correlation tends to be lower if a period of time between initializations of the pair of computing services is within a time period that is less than a time period associated with a maximum suggested correlation, and also tends to be lower if the period of time between the initializations of the pair of computing services is longer than the time period associated with the maximum suggested correlation.

9. A computer-implemented method in accordance with claim 1 , wherein monitoring at least one initialization timestamp comprises:

monitoring at least one initialization event log for the at least one computing system; and

filtering the initialization event log for events related to initialization of the plurality of computing services.

10. A computer-implemented method in accordance with claim 9 , wherein the at least one computing system comprises a plurality of computing systems, and monitoring the at least one initialization timestamp comprises evaluating time entries in event logs of each of the plurality of computing systems in light of time differentials between the plurality of computing systems.

11. A computer-implemented method in accordance with claim 1 , wherein the initialization order is a first initialization order, the plurality of computing services is a first plurality of computing services, the at least one computing system is a first plurality of computing systems, and the at least one initialization dependency are first one or more initialization dependencies, the method further comprising:

monitoring at least one initialization timestamp generated during the prior initialization of each of a second plurality of computing services provided by a second plurality of computing systems;

estimating, based on the initialization timestamp of the second plurality of computing services, second one or more initialization dependencies for each of the second plurality of computing services; and

deriving, based on the estimated second one or more initialization dependencies, a second initialization order for the second plurality of computing services of the second plurality of computing systems.

12. A computer-implemented method in accordance with claim 11 , wherein the first initialization order is different from the second initialization order.

13. A computer-implemented method in accordance with claim 11 , wherein the first plurality of computing services is different from the second plurality of computing services.

14. A computer-implemented method in accordance with claim 11 , wherein the first plurality of computing systems is different from the second plurality of computing systems.

15. A computer-implemented method in accordance with claim 1 , wherein each of the at least one prior initialization of each of the plurality of computing services is the most recent prior initialization of each computing service.

16. A computer-implemented method in accordance with claim 1 , wherein each of the at least one prior initialization of each of the plurality of the computing services is not the most recent prior initialization of each computing service.

17. A computer program product comprising one or more computer-readable storage media having thereon computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method for deriving an initialization order for a plurality of computing services provided by at least one computing system, the method comprising:

identifying at least one prior initialization of each of the plurality of computing services;

monitoring at least one initialization timestamp generated during the prior initialization of each of the plurality of computing services;

estimating, based on the initialization timestamp, at least one initialization dependency for each of the plurality of computing services; and

deriving, based on the estimated initialization dependency, an initialization order for the plurality of computing services provided by the at least one computing system.

18. A computer program product in accordance with claim 17 , wherein the one or more computer-readable media are physical media.

19. A computing system comprising:

one or more processors;

one or more computer-readable storage media having thereon computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method for deriving an initialization order for a plurality of computing services provided by at least one computing system, the method comprising:

identifying at least one prior initialization of each of the plurality of computing services;

monitoring at least one initialization timestamp generated during the prior initialization of each of the plurality of computing services;

estimating, based on the initialization timestamp, at least one initialization dependency for each of the plurality of computing services; and

deriving, based on the estimated initialization dependency, an initialization order for the plurality of computing services provided by the at least one computing system.

20. A computing system comprising:

a mechanism for identifying at least one prior initialization of each of a plurality of computing services;

a mechanism for monitoring at least one initialization timestamp generated during the prior initialization of each of the plurality of computing services;

a mechanism for estimating, based on the initialization timestamp, at least one initialization dependency for each of the plurality of computing services; and

a mechanism for deriving, based on the estimated initialization dependency, an initialization order for the plurality of computing services.

Assignments (3)
CHANGE OF NAME Recorded Feb 14, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 051935/0228 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2005
From: HARDMAN, MR. DANIEL H.
To: SYMANTEC CORPORATION
Reel/Frame 016364/0916 →