System and method for process run-time prediction

US9405573B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9405573-B2
Application numberUS-201414182216-A
CountryUS
Kind codeB2
Filing dateFeb 17, 2014
Priority dateFeb 17, 2014
Publication dateAug 2, 2016
Grant dateAug 2, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Various embodiments provide process run-time prediction for processes running on server computers. In one embodiment, process run-time of a process is determined by building a database with a history of users, command lines and runtime associated with each command line, and comparing the process with stored records of completed processes in the database. In some embodiments, in response to a determination that the time interval of a process is likely to intersect a planned maintenance period on a server computer, a maintenance notification can be sent to a user of the process and therefore allow the affected process to be migrated to unaffected server computer(s).

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: converting a command string of a process into a canonical command string, the process running on a computing device; associating the canonical command string with an entry stored in a database, wherein the database includes a plurality of entries with each entry containing process information of a completed process that ran longer than a predetermined time period, and the database includes one or more maintenance records of the computing device, each maintenance record comprising a date and time and a description of the corresponding maintenance; determining a process run-time estimation of the process based on information stored in the corresponding entry; in response to completion of the process and a determination that the process ran longer than the predetermined time period, updating the corresponding entry stored in the database; determining a time interval that the process is expected to occupy based at least upon the process run-time estimation of the process; comparing the time interval of the process with the one or more maintenance records of the computing device; and in response to determining that the time interval of the process overlaps with a specific maintenance associated with the one or more maintenance records, sending a maintenance notification of the specific maintenance to a user of the process. 2. The computer-implemented method of claim 1 , wherein the corresponding entry contains a command string that either has an exact match or a longest prefix match with the canonical command string. 3. The computer-implemented method of claim 2 , wherein the corresponding entry stored in the database is updated by using a weighted average. 4. The computer-implemented method of claim 2 , further comprising: in response to completion of the process, a determination that the process ran longer than the predetermined time period, and a determination that there is neither exact match nor longest prefix match between the canonical command string and any command string in the plurality of entries, creating a new entry containing process information of the process. 5. The computer-implemented method of claim 1 , wherein each of the plurality entries in the database includes a process database record and a command database record. 6. The computer-implemented method of claim 5 , wherein the process database record comprises a plurality of fields including command, command database link, process identification (ID), user name, process start time, process end time and predicted duration. 7. The computer-implemented method of claim 5 , wherein the command database record comprises a plurality of fields including record identifier, command string, command match runtime, command match samples, command prefix runtime, and command prefix samples. 8. The computer-implemented method of claim 1 , wherein the converting comprises: parsing the command string of the process into a list of words; and converting the list of words into the canonical command string. 9. The computer-implemented method of claim 8 , wherein the converting the list of words into the canonical command string comprises: alphabetically sorting the list of words into a new list; assembling the sorted new list into a canonical word list; and converting the canonical word list into the canonical command string by sequentially appending words of the canonical word list to a string, with a single white-space character to separate two adjacent words. 10. The computer-implemented method of claim 1 , further comprising: dynamically adjusting margins added to the process run-time estimation and the time interval of the process based on historical process information of completed processes. 11. The computer-implemented method of claim 1 , further comprising: in response to a determination that one of the one or more maintenance records has been updated, comparing the updated maintenance record with the time interval of the process; and in response to determining that a particular maintenance of the updated maintenance record overlaps the time interval of the process, sending a maintenance notification of the particular maintenance to a user of the process based on information stored in the corresponding entry. 12. A system, comprising: at least one processor; and memory including instructions that, when executed by the at least one processor, cause the system to: convert a command string of a process into a canonical command string, the process running on the system; associate the canonical command string with an entry stored in a database, wherein the database includes a plurality of entries with each entry containing process information of a completed process that ran longer than a predetermined time period, and the database includes one or more maintenance records of the computing device, each maintenance record comprising a date and time and a description of the corresponding maintenance; determine a process run-time estimation of the process based on information stored in the corresponding entry; in response to completion of the process and a determination that the process ran longer than the predetermined time period, update the corresponding entry stored in the database; determine a time interval that the process is expected to occupy based at least upon the process run-time estimation of the process; compare the time interval of the process with the one or more maintenance records of the computing device; and in response to determining that the time interval of the process overlaps with a specific maintenance associated with the one or more maintenance records, send a maintenance notification of the specific maintenance to a user of the process. 13. The system of claim 12 , wherein the instructions when executed further cause the system to: dynamically adjust margins added to the process run-time estimation and the time interval of the process based on historical process information of completed processes. 14. The system of claim 12 , wherein the instructions when executed further cause the system to: in response to a determination that one of the one or more maintenance records has been updated, compare the updated maintenance record with the time interval of the process; and in response to determining that a particular maintenance of the updated maintenance record overlaps the time interval of the process, send a maintenance notification of the particular maintenance to a user of the process based on information stored in the corresponding entry. 15. The system of claim 12 , wherein the corresponding entry contains a command string that either has an exact match or a longest prefix match with the canonical command string. 16. The system of claim 12 , wherein the corresponding entry stored in the database is updated by using a weighted average. 17. The system of claim 12 , wherein the instructions when executed further cause the system to: in response to completion of the process, a determination that the process ran longer than the predetermined time period, and a determination that there is neither exact match nor longest prefix match between the canonical command string and any command string in the plurality of entries, create a new entry containing process information of the process. 18. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to: convert a command string of a

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9405573B2 cover?
Various embodiments provide process run-time prediction for processes running on server computers. In one embodiment, process run-time of a process is determined by building a database with a history of users, command lines and runtime associated with each command line, and comparing the process with stored records of completed processes in the database. In some embodiments, in response to a de…
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/46. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 02 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).