US20080120350A1 - System and Method for Management of End User Computing Devices - Google Patents

System and Method for Management of End User Computing Devices Download PDF

Info

Publication number
US20080120350A1
US20080120350A1 US12/023,425 US2342508A US2008120350A1 US 20080120350 A1 US20080120350 A1 US 20080120350A1 US 2342508 A US2342508 A US 2342508A US 2008120350 A1 US2008120350 A1 US 2008120350A1
Authority
US
United States
Prior art keywords
files
collection
usage
client
operating system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/023,425
Inventor
Joseph Grabowski
Dhaval Patel
Thomas Sturgeon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Persystent Tech Corp
Original Assignee
Persystent Tech Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Persystent Tech Corp filed Critical Persystent Tech Corp
Priority to US12/023,425 priority Critical patent/US20080120350A1/en
Assigned to PERSYSTENT TECHNOLOGY CORPORATION reassignment PERSYSTENT TECHNOLOGY CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GRABOWSKI, JOSEPH D., PATEL, DHAVAL, STURGEON, THOMAS A.
Publication of US20080120350A1 publication Critical patent/US20080120350A1/en
Assigned to VELOCITY FINANCIAL GROUP INC., ITS SUCCESSORS AND ASSIGNS reassignment VELOCITY FINANCIAL GROUP INC., ITS SUCCESSORS AND ASSIGNS SECURITY AGREEMENT Assignors: PERSYSTENT TECHNOLOGY CORPORATION
Assigned to COMERICA BANK reassignment COMERICA BANK SECURITY AGREEMENT Assignors: PERSYSTENT TECHNOLOGY CORPORATION
Assigned to PERSYSTENT TECHNOLOGY CORPORATION reassignment PERSYSTENT TECHNOLOGY CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: COMERICA BANK
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Definitions

  • the present invention relates generally to systems and methods for providing improved maintenance of computing systems. More particularly, the present invention relates to a system and method for providing improved support and maintenance functions for end user computer systems.
  • One of these tasks relates to repairs of lost, damaged, or modified files, which render the computer system in a state where it cannot achieve its purpose in the context of the organization for which it exists. Such repairs often require the application of additional software, a knowledgeable technician, or even a group of technicians to work on the computer system. Repairs and maintenance consume valuable resources, including time, office resources, and human resources.
  • a preferred embodiment of the invention is a method for managing end user computing devices.
  • the method includes the following steps. First, a reference collection of files associated with an operating system of a client is created. Preferably, the reference collection of files includes application binary files and configuration data files. Second, the reference collection is stored on a server, which is in communication with the client. The reference collection may also be stored on a hidden cache of the client. Third, attributes of application binary files and configuration data files of the client are compared against the reference collection during a reboot cycle of the client. Fourth, stored instructions and files are ensured that they are capable of bringing the operating system of the client to a usable state.
  • FIG. 1 is a schematic diagram showing an exemplary architecture of an embodiment of the invention.
  • FIG. 2 is a schematic diagram showing an exemplary architecture of client-resident components of a system according to an embodiment of the invention.
  • FIGS. 3A and 3B are collectively a schematic diagram showing examples of the capture of plug-and-play or hardware usage-pattern data using a hardware differential data countdown according to one embodiment of the invention.
  • IDMS intelligent desktop management solution
  • IDMS delivers the following functions. First, IDMS recovers client computers which have crashed. The client computers could crash due to a number of reasons. For example, client computers could crash due to operating system failure, application crashes, or crashes due to viruses or hacking. To recover his system, all a user needs to do is reboot his computer. IDMS takes care of the repair and does it automatically and transparently. No other action on the part of the user or from technical support is required.
  • IDMS works on networked computers (clients) that become standalone. For example, IDMS can work on notebook computers that are taken on business trips. When a networked client computer is not connected to a network and a problem is experienced, the auto-repair process does not require any type of network connection or access to any other system. All that is required is a reboot of the computer. IDMS provides the only known method that can resolve problems of this type without any involvement of the support line, technical support personnel, or the end-user (other than initiating a reboot on the device).
  • IDMS helps quarantine and minimize damage from viruses and hacker attacks.
  • IDMS provides an easy way for users to rapidly recover from viruses or damage from hacker attacks while enabling the organization to prevent broader impacts to shared computing resources. Common viruses that attack operating system and application files can be easily contained by simply asking users to reboot and immediately run their anti-virus software and/or delete the offending e-mail/file.
  • IDMS provides advanced deployment of applications, operating systems and update capabilities over the network, from the server to the client. For example, a migration from Windows 2000 to Windows XP can be executed in fewer than 10 minutes. It is noted that IDMS deploys software in a way that it does not diminish the system's workings in the context of the organization, structure, or operating environment in which it exists. There are a number of existing products that can deploy an operating, but do so in a manner that ignores context and the ramifications of future maintenance and self-repairing. An architecture of IDMS enables network administrators to add incremental items to software images previously built and deployed to clients. This eliminates the need to create an entirely new image for each combination or permutation of the device's context (as is required by many competitor's deployment solutions).
  • IDMS accomplishes all of this by creating and maintaining a “persistent image” on the client device.
  • the concept of a persistent image means that the computer is able to automatically repair itself and return to a stable operating environment after something disrupts, deletes or damages key files that control the essential functions that the user depends upon.
  • a disruption often occurs due to user error. Sometimes it can result from addition of new software that causes conflicts with the pre-existing software. And, increasingly, the disruption can come from malicious actions by computer hackers and the effects of computer viruses.
  • Having a persistent image means that a PC—or any other computer device—can be restored to normal operation immediately by simply powering off and back on. Every time the device boots, IDMS executes a pre-boot sequence that automatically repairs any damage that has occurred since the previous boot.
  • IDMS is focused on providing auto-repair functionality as its core purpose, it also offers broader management capabilities. For instance, because it uses its own method for system imaging and software deployment, it eliminates the need for other products.
  • IDMS offers important assistance in the security and disaster recovery arenas. IDMS ensures that no permanent harm is done when key system operations are temporarily disrupted, whether by natural disaster, hardware failure, software crashes, viruses, or hacker attacks.
  • IDMS has been successfully adapted to work on desktop and portable PCs running Windows 9x, NT4.0, Windows 2000, Windows XP, and Linux.
  • IDMS can be adapted to work on a Windows CE version to support the Compaq iPAQ and other CE-based systems, including CE-based embedded systems.
  • IDMS provides two client product types.
  • the first client product type is a Single O/S, which allows a user to manage one operating system or one image per client.
  • the second client product type is a Multi-O/S, which allows up to four different operating systems or images per client.
  • the Multi-O/S allows the user to switch from one operating system to another with a simple reboot. It also allows multiple images of the same O/S on one client where more than one person might use a single machine (e.g., schools or other training environments).
  • This version is also a huge time-saver in a QA environment where technicians are testing software against several operating systems and require a stable image for each test.
  • IDMS detects and self-repairs problem files or registry settings. This means that, by simply rebooting the PC, an end-user can automatically resolve O/S or application file corruption, thereby eliminating calls to the helpdesk.
  • an IT administrator creates a “perfect image” of the 0/S and application files to be automatically self-repaired and supported by IDMS. This image is then compressed with a reversible algorithm and a MD5 hash is generated for the entire compressed image. The image and associated checksum are then stored on both a server and in a local cache (hidden partition) on the local client disk drive.
  • the automatic self-repair of files is done by comparing the hard disk content with the content of an image stored on the local cache partition (or the server), and then restoring only the files that need to be restored.
  • the “perfect image” and the unique profile of the machine type automatically adapt over time to conditions unknown or unforeseen by the IT administrator, creating not only a self-repair capability, but a self-managing feature as well.
  • IDMS has the following feature/function capabilities:
  • IDMS offers the following OS Specific features:
  • IDMS offers the following network features:
  • IDMS offers the following miscellaneous features:
  • IDMS automatically restores the client's machine based on one of the following selectable lock down modes:
  • FIG. 1 is a schematic diagram showing an exemplary architecture of an embodiment of IDMS.
  • System 100 of the invention includes server-resident components 102 and client-resident components 104 (see FIG. 2 ).
  • server-resident components 102 which resides at server 400 , include client profile data 110 , client usage pattern data 120 , and reference collection data 130 .
  • Client-resident components 104 residing at client 500 which is one of clients 101 , 103 , 105 , 107 , 109 , and 111 , are illustrated in FIG. 2 and is discussed below.
  • Server 400 stores or indexes the storage of client profile data 110 .
  • Server 400 also includes client usage pattern data 120 , which is coupled to each client profile data 110 .
  • Client usage pattern data 120 is also coupled to reference collection data 130 .
  • server 400 is in communication with one or more target machines 101 , 103 , 105 , 107 , 109 , and nth target machine 111 (collectively client 500 ).
  • Client 500 receives from or transmits to server 400 instructions and usage-pattern data.
  • the instructions and usage-pattern data are exchanged according to the instructions given to client-resident components 104 .
  • Client-resident components 104 include code in the native instruction set of server 400 , which is loaded into a client machine's memory.
  • the memory can be a physical memory, a paged memory on a secondary storage, or scripts interpreted into machine instructions by another client-resident component.
  • server 400 may represent server 400 .
  • FIG. 2 is a schematic diagram showing an exemplary architecture of client-resident components 104 of system 100 .
  • Examples of the sequence of client-resident components 104 are as follows: Upon each reboot or restart of client 500 , a client script is transmitted from server 400 via network 200 . The client script becomes run client script process 207 as a pre-boot program, where client profile data 110 is loaded from server 400 to direct the decisions and actions of run client script process 207 .
  • Run client script process 207 initiates the capture of usage pattern information process 208 , which references client profile data store 210 .
  • Run client script process 207 preferably captures usage-pattern data from a target machine's secondary storage device 211 , or alternatively, other storage media.
  • FIG. 3A and FIG. 3B An exemplary embodiment for capturing usage-pattern data is illustrated in FIG. 3A and FIG. 3B .
  • Usage data related to heterogeneous hardware is captured in process 208 using a hardware differential detection method, in which the client script 207 replaces the target operating systems shell with a program.
  • the program then functions as a timer to run for a set period of time. When the timer expires, the program triggers a reboot or restart of the target operating system.
  • a timed interval allows the target operating system to run plug-and-play and hardware/software configuration routines for the individual target computer. After a reboot or restart, these changes are detected and stored as part of the target machine's unique profile on server 400 and/or a server surrogate (not shown) (such as a hidden cache of executable instructions and data on a target machine's hard drive).
  • client script 207 replaces the target operating system shell with a program that runs after process 216 .
  • Client script 207 can be configured to function as the timeout.
  • the program can do the following: (1) scan the operating system's process table and memory structures to detect, for example, the signatures associated with a running plug-and-play or hardware configuration process; (2) store the changes associated with the plug-and-play and hardware configuration process in a local or networked repository; and (3) reboot or restart the system once the process is complete.
  • the following is a representation of the code to substitute the countdown timer as the operating system shell, according to one embodiment of client script 207 .
  • Another example of the means for capturing usage-pattern data is by implementing the following pseudo-code [p-code] algorithm in process 208 :
  • Another method for capturing usage-pattern data related to heterogeneous hardware in process 208 can be embodied in a hardware differential detection method where the client script 207 replaces the target operating system shell with a program.
  • This program runs concurrently and continuously with the target operating system, after process 216 .
  • the program can actually scan the operating system's process table and memory structures to detect the signatures associated with a running plug-and-play or hardware configuration process. If changes are detected, the program can store the changes associated with the plug-and-play and hardware configuration process in a local or networked repository.
  • An example of such repositories includes the operating system vendor's database of configuration data. Once storage operations are complete, the program can trigger a reboot or restart or re-initialization of the system.
  • usage-pattern data can be captured (to ensure that the system will be restored in a usable state consistent with its actual uses) when client script 207 replaces or extends the target operating system's shell to capture and restore the operating system's native emergency recovery data and stores this data in a local or networked repository.
  • client script 207 replaces or extends the target operating system's shell or environment to include executable instructions.
  • the instructions enable the capture and analysis in process 208 of, for example, a human interface device (e.g., keyboard, handwriting recognition device, voice-recognition device, a moue or another pointing device) and video information.
  • client script 207 can monitor, for example, user actions.
  • client script 207 can capture signature data files that indicate the tasks and activities occurring on the system.
  • the analysis can include detection of user activities and, preferably, automatically schedule the installation of tools to make user tasks more efficient.
  • run client script process 207 can control process 208 .
  • the control can be done through a filter configuration file or database, indicating data or structures to be added, removed, or omitted from control during the usage-pattern data capture process 208 .
  • the usage-pattern data is passed from capture usage pattern information process 208 to parse stored usage-pattern information process 209 , which analyzes, sorts and packages usage-pattern data for storage and/or sets flags or passes the data through a network of rules to generate a list of actions.
  • parse stored usage-pattern information process 209 passes parsed usage-pattern data to store usage-pattern data process 213 .
  • the size and configuration of the secondary storage device is stored upon the initial deployment of the target system, and then subsequently compared at each reboot or restart to detect a hard drive reconfiguration or malfunction.
  • Parse usage pattern information 209 preferably includes functions that compare information from the target machine against previous trend information and against rules to distinguish data indicating significant events or changes to the target operating system.
  • store usage-pattern data process 213 stores the parsed usage-pattern data in the usage-pattern data repository store 212 .
  • Store usage-pattern data process 213 also initiates repair target machine process 214 .
  • Repair target machine process 214 reads and applies reference data from reference collection data store 130 ( FIG. 1 ) to the target machine's secondary storage device 211 , rendering the target machine's secondary storage device 211 to a known clean state without usage-pattern data.
  • repair target machine process 214 then initiates reapply usage pattern information process 215 .
  • Reapply usage pattern information process 215 recalls usage pattern data for the target machine from the usage-pattern data repository store 212 , then applies the usage pattern to the target machine's secondary storage device 211 , thus rendering the target machine's secondary storage device 211 to a state where all reference data and usage-pattern data on the target machine's secondary storage media 211 are ensured to be in a usable state which corresponds to the target machine's actual uses.
  • script 207 can control process 215 by reading client profile data 210 related to the use of configuration data that controls the repair or restoration applications through the use of a timeout function.
  • a hash is computed from the number of seconds since the Unix epoch (Jan. 1, 1970). The hash represents specific second or tick when an application is to be disabled and removed from the healing or repair function in process 215 .
  • the hash is compared to the system time and triggered actions are taken. The specific actions taken may depend selection of modes and methods to restore usage-pattern data.
  • Process 215 includes a selection of restoration modes for usage-pattern data. Such modes include a mode where all usage-pattern data is omitted and process 216 is activated without restoring usage-pattern data. In another mode, some usage-pattern data is reapplied and other data is omitted. In another mode, all usage-pattern data is reapplied during process 215 , the mode being set by reading client profile data 210 .
  • process 215 includes a method of statistically sampling a selection of usage-pattern data as compared against target machine's secondary storage device 211 to ascertain a confidence interval (set by client profile 210 ) that the target machine's secondary storage device 211 is in a state consistent with its actual uses. This occurs without performing a one-to-one check of all tuples containing usage-pattern data checkpoints.
  • process 215 includes a method of recording the time/date stamp of several passes of control to process 216 . If greater than n control passes occur within a set time interval (both n and the interval provided by client profile 210 ), a signal is sent to the server 100 indicating abnormal operation or user action.
  • client information process 215 initiates a boot to the target machine's main operating system process 216 , terminating all control and influence of the system from the target machine. In this way the target machine is rendered in a usable state that corresponds to its actual dynamic uses.
  • One embodiment of the invention is a method for the automated repair of static operating system, application binary files, and configuration data files at pre-operating system boot stage.
  • the method includes the following steps. First, attributes of the files against a reference collection of such files accessible on a server are compared. The reference collection can be stored on the server in a hard drive or a data schema. The comparison can be performed during at least one reboot or restart cycle. Second, a collection of dynamic operating system binary files, configuration data files, file system structures, and hardware system attributes unique to the configuration and use of the system on the server are created and restored for subsequent pre-operating system repair operations. This ensures the system's stored instructions and flies are capable of bringing the system to a usable state which corresponds to its normal (i.e., actual) uses.
  • the system includes an automatic client process component.
  • the client process component is loaded dynamically from a server. This client process can be dependent or independent on the target operating system.
  • the client process can be read from a network or from a local server emulation.
  • the client process component is executable on one or more of the set of client computer systems.
  • the client process component includes a process or set of processes for determining the state of the machine via execution script data from the system server component.
  • the client process script also compares the state of the client against the known good state of the reference collection, detecting and storing usage pattern information data and structures and the merging of the known good state and the usage pattern information to render the client capable of bringing the system to the desired state.
  • a system of the invention includes a component that provides a graphical user interface for use by the user to create the ideal reference collection of data.
  • the component also monitors the client processes' automated actions and provides the user with configurable options to set the behavior of the system.
  • the graphical user interface is replaced with a text interface.
  • the graphical user interface may interact with the user through the use of natural language or speech processing or via changes in the physiological state of the user.
  • a system of the invention includes a parser component.
  • the parser component parse ASCII format, Unicode or encoded or raw Binary data structures representing captured reference collection information or usage pattern information stored as user profiles, filesystem folders or directories, text configuration files, configuration databases or registry data. Parsing activities include packing and unpacking data, compressing or decompressing data, decomposing data into smaller units, composing larger units of data, comparing the meaning, parameters or magnitude of the data, evaluating conditional relations between the data, aggregating data, or separating data. Parsing prepares the data for interpretation.
  • a system of the invention includes a repository of the reference collection and usage pattern information as archives of files, filesystem structures, text configuration files, configuration databases or registry data.
  • the invention provides methods for modifying the behavior of the system. For example, configuration data specific to system behavior can be modified.
  • Another embodiment of the invention provides a system that operates a DOS-compatible client system with one or more computers running either a non-DOS or DOS-based operating system or a system configured to receive boot instructions from sources including but not limited to, removable media, fixed media, virtual media, network sources or affixed in any other way by any other device.
  • the present invention provides a system having a central processing unit and random access memory.
  • the system includes a computer-usable medium having computer-readable code means embodied in the medium for software for the automated repair of static operating system and application binary files and configuration data files at pre-operating system boot or re-initialization stage.
  • the central processing unit and the random access memory are used to compare attributes of the files against a reference collection.
  • the reference collection includes such files stored on a server during each reboot or restart cycle while creating and restoring a collection of dynamic operating system binary files, configuration data files, file system structures and hardware system attributes unique to the configuration and use of the system.
  • the files and attributes are stored on a server for subsequent pre-operating system repair or maintenance, operations ensuring the system's stored instructions and files are capable of bringing the system to a usable state which corresponds to its actual dynamic uses.
  • An embodiment of the invention includes means for causing a computer to establish communication to the server process and managing the creation, manipulation, storage and restoration of the collection of dynamic operating system binary files, configuration data files, file system structures and hardware system attributes unique to the configuration and use of the system on a server for subsequent pre-operating system repair operations ensuring the system's stored instructions and files are capable of bringing the system to a usable state which corresponds to its actual dynamic uses.
  • Another embodiment of the invention includes a computer-readable program code as a means for causing a computer to modify server and system configuration data to control the collection of dynamic operating system binary files, configuration data files, file system structures and hardware system attributes unique to the configuration and use of the system on a server for subsequent pre-operating system repair operations ensuring the system's stored instructions and files are capable of bringing the system to a usable state which corresponds to its actual dynamic uses.
  • the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the present invention.

Abstract

A system and method is provided for the repair of operating system and application binary files and configuration data files at pre-operating system boot stage by comparing attributes of the files against a reference collection of such files stored on a server during each reboot or restart cycle while creating and restoring a collection of dynamic operating system binary files, configuration data files, file system structures and hardware system attributes unique to the configuration and use of the system on a server for subsequent pre-operating system repair operations.

Description

    CROSS REFERENCE TO RELATED APPLICATION
  • This application is a divisional application of co-pending U.S. patent application Ser. No. 10/290,240, filed Nov. 8, 2002, which claims the benefit of U.S. Provisional Patent Application No. 60/331,192, filed Nov. 9, 2001, both of which are incorporated by reference in their entirety.
  • FIELD OF INVENTION
  • The present invention relates generally to systems and methods for providing improved maintenance of computing systems. More particularly, the present invention relates to a system and method for providing improved support and maintenance functions for end user computer systems.
  • BACKGROUND OF INVENTION
  • There are many tasks associated with managing a computer system. Such tasks are required regardless of whether the computer system is a network of interconnected computers or a standalone computing system. Moreover, such tasks are required regardless of whether the computer system includes equipment associated with remote and wireless applications.
  • One of these tasks relates to repairs of lost, damaged, or modified files, which render the computer system in a state where it cannot achieve its purpose in the context of the organization for which it exists. Such repairs often require the application of additional software, a knowledgeable technician, or even a group of technicians to work on the computer system. Repairs and maintenance consume valuable resources, including time, office resources, and human resources.
  • Alternative means for implementing repairs on computer systems, other than allocating technicians to the repair system, are often difficult to implement, costly and potentially destructive to user data. Known support and maintenance systems do not take into account changes to the computer system since its initial installation, its last period of maintenance, or changes to the system due to user, network, or peripheral initiated events.
  • Moreover, known software-based techniques for providing maintenance and repairs typically require the target operating system to be functioning, which may be impossible if, as is often the case, the target operating system is not functioning. In that situation, effecting repairs is very difficult. Also, if the target operating system was running when a problem occurred, files or data that needed to be repaired or updated might be locked, thus preventing maintenance. Another problem occurs when the target operating system requires the use of non-optimized methods of network and storage access. This would slow activities related to deployment, update, and repair.
  • Accordingly, there is a need for a product to address both existing and emerging challenges in the management of end user computing devices. More specifically, there is a need for a system and method that restores (self-repairs) a computer system in the event of software failure due to user error, introduction of virus, system crash, or other problem. The product should provide dramatic improvements for IT managers in terms of cost reduction and user satisfaction while allowing them to apply their efforts to more strategic and value-added initiatives by minimizing support calls and stabilizing their environment.
  • SUMMARY OF THE INVENTION
  • The present invention provides a method that satisfies a need of many computer users to better manage their computing devices. A preferred embodiment of the invention is a method for managing end user computing devices. The method includes the following steps. First, a reference collection of files associated with an operating system of a client is created. Preferably, the reference collection of files includes application binary files and configuration data files. Second, the reference collection is stored on a server, which is in communication with the client. The reference collection may also be stored on a hidden cache of the client. Third, attributes of application binary files and configuration data files of the client are compared against the reference collection during a reboot cycle of the client. Fourth, stored instructions and files are ensured that they are capable of bringing the operating system of the client to a usable state.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic diagram showing an exemplary architecture of an embodiment of the invention.
  • FIG. 2 is a schematic diagram showing an exemplary architecture of client-resident components of a system according to an embodiment of the invention.
  • FIGS. 3A and 3B are collectively a schematic diagram showing examples of the capture of plug-and-play or hardware usage-pattern data using a hardware differential data countdown according to one embodiment of the invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • Preferred embodiments of the invention is described below and schematically illustrated in the drawings. The description and drawings are only for the purpose of illustration and as an aid to understanding the invention. The description and drawings provided herein are not intended as a definition of the limits of the invention.
  • The preferred embodiment of the invention is an intelligent desktop management solution, which is hereinafter referred to as “IDMS”). IDMS provides a simple, transparent, and non-disruptive approach to user support.
  • IDMS delivers the following functions. First, IDMS recovers client computers which have crashed. The client computers could crash due to a number of reasons. For example, client computers could crash due to operating system failure, application crashes, or crashes due to viruses or hacking. To recover his system, all a user needs to do is reboot his computer. IDMS takes care of the repair and does it automatically and transparently. No other action on the part of the user or from technical support is required.
  • Second, IDMS works on networked computers (clients) that become standalone. For example, IDMS can work on notebook computers that are taken on business trips. When a networked client computer is not connected to a network and a problem is experienced, the auto-repair process does not require any type of network connection or access to any other system. All that is required is a reboot of the computer. IDMS provides the only known method that can resolve problems of this type without any involvement of the support line, technical support personnel, or the end-user (other than initiating a reboot on the device).
  • Third, IDMS helps quarantine and minimize damage from viruses and hacker attacks. IDMS provides an easy way for users to rapidly recover from viruses or damage from hacker attacks while enabling the organization to prevent broader impacts to shared computing resources. Common viruses that attack operating system and application files can be easily contained by simply asking users to reboot and immediately run their anti-virus software and/or delete the offending e-mail/file.
  • Fourth, IDMS provides advanced deployment of applications, operating systems and update capabilities over the network, from the server to the client. For example, a migration from Windows 2000 to Windows XP can be executed in fewer than 10 minutes. It is noted that IDMS deploys software in a way that it does not diminish the system's workings in the context of the organization, structure, or operating environment in which it exists. There are a number of existing products that can deploy an operating, but do so in a manner that ignores context and the ramifications of future maintenance and self-repairing. An architecture of IDMS enables network administrators to add incremental items to software images previously built and deployed to clients. This eliminates the need to create an entirely new image for each combination or permutation of the device's context (as is required by many competitor's deployment solutions).
  • IDMS accomplishes all of this by creating and maintaining a “persistent image” on the client device. The concept of a persistent image means that the computer is able to automatically repair itself and return to a stable operating environment after something disrupts, deletes or damages key files that control the essential functions that the user depends upon. A disruption often occurs due to user error. Sometimes it can result from addition of new software that causes conflicts with the pre-existing software. And, increasingly, the disruption can come from malicious actions by computer hackers and the effects of computer viruses. Having a persistent image means that a PC—or any other computer device—can be restored to normal operation immediately by simply powering off and back on. Every time the device boots, IDMS executes a pre-boot sequence that automatically repairs any damage that has occurred since the previous boot.
  • While IDMS is focused on providing auto-repair functionality as its core purpose, it also offers broader management capabilities. For instance, because it uses its own method for system imaging and software deployment, it eliminates the need for other products.
  • Moreover, IDMS offers important assistance in the security and disaster recovery arenas. IDMS ensures that no permanent harm is done when key system operations are temporarily disrupted, whether by natural disaster, hardware failure, software crashes, viruses, or hacker attacks.
  • IDMS has been successfully adapted to work on desktop and portable PCs running Windows 9x, NT4.0, Windows 2000, Windows XP, and Linux. In addition, IDMS can be adapted to work on a Windows CE version to support the Compaq iPAQ and other CE-based systems, including CE-based embedded systems.
  • IDMS provides two client product types. The first client product type is a Single O/S, which allows a user to manage one operating system or one image per client. The second client product type is a Multi-O/S, which allows up to four different operating systems or images per client. The Multi-O/S allows the user to switch from one operating system to another with a simple reboot. It also allows multiple images of the same O/S on one client where more than one person might use a single machine (e.g., schools or other training environments). This version is also a huge time-saver in a QA environment where technicians are testing software against several operating systems and require a stable image for each test.
  • During pre-boot, IDMS detects and self-repairs problem files or registry settings. This means that, by simply rebooting the PC, an end-user can automatically resolve O/S or application file corruption, thereby eliminating calls to the helpdesk. To implement this capability, an IT administrator creates a “perfect image” of the 0/S and application files to be automatically self-repaired and supported by IDMS. This image is then compressed with a reversible algorithm and a MD5 hash is generated for the entire compressed image. The image and associated checksum are then stored on both a server and in a local cache (hidden partition) on the local client disk drive. Each time the client device is rebooted, the automatic self-repair of files is done by comparing the hard disk content with the content of an image stored on the local cache partition (or the server), and then restoring only the files that need to be restored. Most importantly, the “perfect image” and the unique profile of the machine type automatically adapt over time to conditions unknown or unforeseen by the IT administrator, creating not only a self-repair capability, but a self-managing feature as well.
  • This is accomplished by comparing each file of the O/S and applications to the files in the “perfect image”. If there is a corrupted file, a missing file or an entire set of missing files, those damaged or missing files are simply replaced as the system is loading. The result is that when systems become unstable, the users need only to reboot their PCs. This ensures that every time the PC is rebooted it has a healthy 0/S and application set available so that the user can be productive. Often, a user won't even realize there was a problem because his system always reboots to a healthy environment.
  • IDMS has the following feature/function capabilities:
      • Enable Server-Based Image Multicasting by using mTFTP to push software images from the IDMS server to the workstation, reducing the demand on network bandwidth and eliminating visits to the desktop or other user device;
      • Compress image files by 50% on average to further reduce network traffic;
      • Streamline the deployment of operating systems, application updates, and user settings to desktop and mobile workforces;
      • Allow IT managers to remotely image any Windows workstation. The central console can also be used to quickly deploy whole application packages or specific PC changes such as registry changes or desktop settings;
      • Accelerate migration to Windows 2000 and Windows XP™;
      • Enable customized deployment of software or operating systems to a specific department or groups;
      • Allow three levels of O/S and application management and security;
      • Support multiple partitions, with up to four Operating Systems on the same unit;
      • Self-repair the most critical files—including NTDetect, NTLDR, and NT Registry settings, or any other corrupted system or application file;
      • Maintain user data and custom settings after an automatic self-repair operation;
      • Fully Support laptop users with intelligent capabilities while they are disconnected from the network; and
      • Take full advantage of Intel's pre-boot execution environment (PXE) technology to further automate the deployment of 0/S and application images.
      • A preferred IDMS server of has the following minimum requirements:
      • Pentium III (minimum) processor, 5 12 MB RAM (If more than 250 concurrent users, scale as appropriate);
      • Disk Storage requirements are based on the number of base images and packages;
      • Network Operating System Windows NT, Windows 2000 Server, or Linux; and
      • DHCP Server installed locally or on another server available on the network remotely.
      • A preferred IDMS client has the following minimum requirements:
      • Personal computer 300 MHz, 6 GB hard disk, 64 MB RAM;
      • PXE-enabled network adapter or PXE boot diskette; and
      • A DHCP server installed on the network is required.
      • In addition, IDMS is adapted to offer the following core features:
      • The IDMS management platform includes a virtual machine (VM) for executing compiled programs (i.e. scripts), a graphical interface to interact with the user, utilization of low-level hard disk access for imaging/restoring/auto-repairing/customizing operating systems and finally a network interface through the PXE boot-rom;
      • Management tasks can be performed either interactively (with GUI wizards, or by entering commands at the interactive prompt), or in scripts containing command line statements;
      • Powerful but easy-to-use programming language (e.g., Rembo-C, the syntax of which is similar to JavaScript and PHP);
      • Virtual machine (VM) executing Rembo-C compiled epodes (RBX), e.g., the Virtual Machine is multi-threaded, and supports structured exception handlers;
      • On-the-fly compiler to interactively compile Rembo-C statements into VM opcodes;
      • Hard-disk buffering engine (like smartdrive); and
      • Utilizes the capability of performing file operation on un-partitioned space on the local hard disk to store local copies of files and IDMS data sets transferred from the server, in order to speed-up subsequent accesses to the same file (This feature dramatically improves performance when restoring the same operating system disk image several times on the same computer. Leaving some un partitions space on the hard disk for the local cache partition is strongly recommended when IDMS is used to restore an operating system every day, or at every boot (OS failure prevention by preemptive OS restoration)).
      • Preferably, IDMS provides the following graphical interface features:
      • Hypertext-based graphical user interface, with a visual programming language-like event handlers for executing IDMS statements when an action is triggered by the user;
      • 16 bits display (32768 colors) or 256 colors video mode, all standard VESA modes supported;
      • Pointing devices, including, but not limited to Serial, USB, PS/2 mice supported (including wheel mice);
      • All the graphical interface objects are mapped to abstract variables/objects or Document Object Model Constructs or interface element object hierarchy, so that any object on the screen can be modified interactively or in scripts; and
      • 256 colors PCX image format support. A variety of graphics formats can be used to create display elements, including PCX, JPEG, PNG or future formats as available.
      • Preferably, IDMS offers the following file system features:
      • File-based support for FAT12, FAT16, BIGDOS, FAT32, EXT2FS, LINUXSWAP, NTFS (NT4.0) and NTFS (Win2K);
      • NTFS limitations (1 DMS cannot decrypt files encrypted with Win2K encryption keys, and cannot access NTFS compressed files);
      • On the fly partitioning Rembo-C functions;
      • File-based functions (to read, write, copy, delete, rename, move files and directories);
      • Auto-repairing;
      • Guaranteed application availability on every desktop that proactively corrects file and configuration related issues before the end user knows there's a problem; and
      • Repair of deleted files, overwritten DLL's, incorrect file versions, corrupted registries and more (Auto-repairing runs during pre-boot so even critical boot files are protected. Unlike similar auto-repairing technologies, IDMS replaces the necessary files, without overwriting the entire application or user data).
      • Preferably, IDMS offers the following OS deployment:
      • Utilization of Image Creation and Image restoration of operating system disk images (An image corresponds to a collection of files, with no requirement on the source used to build the image, i.e., a user can create an image containing 50% of NTFS files and 50% of FAT16 files);
      • Compressed partition images (Images can be browsed directly from the IDMS client);
      • Support for partition image size of 100 GB;
      • Utilization of Virtual images (A Virtual lineage is an exact copy of a file system's structure, but without copying the files content. A user can remove a directory in a virtual image without actually removing the directory on the disk. Virtual images are useful for pruning unwanted files/directories on image creation, and for merging images together on restoration (e.g. to restore a base image+a software image));
      • Unlimited differential imaging (create a differential of images, and restore combinations of base+differential images);
      • File based cloning, allowing auto-repairing operations (Auto-repairing is done by comparing the hard-disk content with the content of an image stored on the server (or the local cache partition), and restore only the files that need to be restored. In auto-repairing mode, a NT workstation can be restored to a safe state in less than 10 seconds); and
      • Unlimited post-configuration (The low-level file system access implemented in IDMS, combined with the Rembo-C programming language makes OS configuration very easy).
  • Preferably, IDMS offers the following OS Specific features:
      • Utilization of Low-level access to NT registry files (Windows NT4.0 & 2000) from IDMS (The Windows Registry is handled as a file system, thus making possible to create basic images and differential images of the registry as for hard disk images. This is a very useful feature for software deployment);
      • Compatible with Microsoft's System Preparation Tool (SysPrep);
      • SD (NT's system identifier) re-generation functions; and
      • Linux kernel boot module (like LILO), including support for large initial ram disk.
  • Preferably, IDMS offers the following network features:
      • Proprietary IP implementation, designed for performance, with UDP based proprietary protocols;
      • NETfs, unicast file transfer protocol used to transfer files from and to the IDMS server;
      • Utilization of MCAST, multicast file transfer protocol (server to clients), using adaptive timeouts and windows (about 5-10 times faster than MTFTP, a standard protocol for multicast file transfers) or any type of broadcast protocol;
      • The MCAST protocol does not require any kind of synchronization between the clients—soft synchronization (Therefore, no manual intervention is required to rollout hundreds of PCs if MCAST is combined with Wake-On Lan (power-on computers remotely));
      • The FAST protocol, unicast window-based protocol, used to send files to the server;
      • Communications between the server and the client are encrypted using strong encryption standards;
      • All protocols are failure-prone: they will reconnect to a server even if the server was restarted;
      • Backup servers are supported: the clients can switch to the backup server in the middle of a transfer if the primary 1 DMS server has failed;
      • Access to TCP services through a special tunneling mechanism;
      • SMTP support (send emails with IDMS); and
      • Complete (read and write) database access, using ODBC.
  • Preferably, IDMS offers the following miscellaneous features:
      • Remote Console: IDMS client display can be controlled from a remote location with an IDMS Remote Console application (Communications between the IDMS client and the Remote Console are compressed and encrypted);
      • Authentication: Windows NT, Unix (passwd), NIS/NIS+, and RADIUS (for any other server) authentication protocols are supported by IDMS to authenticate a user (e.g. to grant access to the computer based on the identity of the user);
      • Hardware detection: IDMS can detect ISA PnP and PCI devices, and provides full access to DM1 (SMBIOS) and CMOS through Rembo-C functions; and
      • CD-Rom and Floppy mode: IDMS can be started from a floppy disk or a CD-Rom in places where PXE remote-boot is not available (The CD-Rom image can be customized to contain specific partition images or IDMS scripts).
  • Preferably, during pre-boot, IDMS automatically restores the client's machine based on one of the following selectable lock down modes:
      • Mode 1—Full Lock-Down—Restore base image and incremental(s) but do not preserve user's desktop settings, data in My Documents, or any applications that are not installed with IDMS. Note: During the auto-heal process data located in private folders (i.e. c:\work) remains intact.
      • Mode 2—No Lock-Down—Restore base image and incremental(s) but preserve user's desktop settings, data in My Documents, and any applications that are not installed with TDMS.
      • Mode 3—Semi Lock-Down—Restore base image and incremental(s) but preserve user's desktop settings, data in My Documents and do not preserve any applications that are not installed with IDMS.
  • FIG. 1 is a schematic diagram showing an exemplary architecture of an embodiment of IDMS. System 100 of the invention includes server-resident components 102 and client-resident components 104 (see FIG. 2). As shown in FIG. 1, server-resident components 102, which resides at server 400, include client profile data 110, client usage pattern data 120, and reference collection data 130. Client-resident components 104 residing at client 500, which is one of clients 101, 103, 105, 107, 109, and 111, are illustrated in FIG. 2 and is discussed below.
  • Server 400 stores or indexes the storage of client profile data 110. Server 400 also includes client usage pattern data 120, which is coupled to each client profile data 110.
  • Client usage pattern data 120 is also coupled to reference collection data 130. Via network 200, server 400 is in communication with one or more target machines 101, 103, 105, 107, 109, and nth target machine 111 (collectively client 500). Client 500 receives from or transmits to server 400 instructions and usage-pattern data. The instructions and usage-pattern data are exchanged according to the instructions given to client-resident components 104.
  • Client-resident components 104 include code in the native instruction set of server 400, which is loaded into a client machine's memory. The memory can be a physical memory, a paged memory on a secondary storage, or scripts interpreted into machine instructions by another client-resident component. Although only one server is depicted in FIG. 1, two or more servers may represent server 400.
  • FIG. 2 is a schematic diagram showing an exemplary architecture of client-resident components 104 of system 100. Examples of the sequence of client-resident components 104 are as follows: Upon each reboot or restart of client 500, a client script is transmitted from server 400 via network 200. The client script becomes run client script process 207 as a pre-boot program, where client profile data 110 is loaded from server 400 to direct the decisions and actions of run client script process 207.
  • Run client script process 207 initiates the capture of usage pattern information process 208, which references client profile data store 210. Run client script process 207 preferably captures usage-pattern data from a target machine's secondary storage device 211, or alternatively, other storage media.
  • An exemplary embodiment for capturing usage-pattern data is illustrated in FIG. 3A and FIG. 3B. Usage data related to heterogeneous hardware is captured in process 208 using a hardware differential detection method, in which the client script 207 replaces the target operating systems shell with a program. The program then functions as a timer to run for a set period of time. When the timer expires, the program triggers a reboot or restart of the target operating system. In one embodiment, a timed interval allows the target operating system to run plug-and-play and hardware/software configuration routines for the individual target computer. After a reboot or restart, these changes are detected and stored as part of the target machine's unique profile on server 400 and/or a server surrogate (not shown) (such as a hidden cache of executable instructions and data on a target machine's hard drive).
  • Another example of capturing usage-pattern data related to heterogeneous hardware in process 208 uses a hardware differential detection method. Here, client script 207 replaces the target operating system shell with a program that runs after process 216. Client script 207 can be configured to function as the timeout. Alternatively, the program can do the following: (1) scan the operating system's process table and memory structures to detect, for example, the signatures associated with a running plug-and-play or hardware configuration process; (2) store the changes associated with the plug-and-play and hardware configuration process in a local or networked repository; and (3) reboot or restart the system once the process is complete.
  • The following is a representation of the code to substitute the countdown timer as the operating system shell, according to one embodiment of client script 207.
    /****** invention/reboot
    * NAME
    * reboot.c -- Program to insert reboot or restart code into Windows
    NT/2000
    *
    * INPUTS
    * None
    * BUGS
    * None
    ******
    */
    /****v* reboot /msgs
    * NAME
    * msgs
    * DESCRIPTION
    * Displays what is being done on the user desktop
    * NOTES
    * None
    ******
    */
    str msgs;
    /****f* reboot/message
    * NAME
    * message
    * DESCRIPTION
    * Displays the messages on the user desktop
    * SYNOPSIS
    * message(str msg)
    * INPUTS
    * msg - a string which contains what is being done
    * RETURN VALUE
    * None
    ******
    */
    void message(str msg){
    // Output a message to the user
    printf(“%s”,msg);
    }
    /****f* reboot/ForceReboot
    * NAME
    * ForceReboot or restart
    * DESCRIPTION
    * Makes Computer reboot or restart again if it is w2k or win nt
    writes shutdown.exe into registry
    * SYNOPSIS
    * ForceReboot (void)
    * INPUTS
    * None
    * RETURN VALUE
    * None
    ******
    */
    void ForceReboot (void) {
    if(TestFile(”c:/WINNT”)) {
    Copy(”server//global/plugins/shutdown.exe”, “c: /”);
    if(TestFile(”c://WINNT/system32/config/SOFTWARE”)) {
    OpenHive (“reg”,
    “c:/WINNT/system32/config/SOFTWARE”);
    str msgs = “Creating Unicode File of shutdown.exe”;
    message (msgs);
    WriteUniToReg (“_reg/Microsoft/Windows
    NT/CurrentVersion/Winlogon/Shell.unicode”, “c:\\shutdown.exe /R /T:60
    \“Completing invention Operations\” /L”);
    CloseHive (“_reg”);
    }
    else {
    //Halt on failure and issue a message
    CriticalError(”Cannot open or modify the registry”);
    for(;;) { )
    }
    }
    else if(TestFile (“c:/WINDOWS”)) {
    if(TestFile(“server//utilities/shutdown.exe”)){
    Log(”\nCopying shutdown.exe to the Win9x
    workstation.\n”);
    Copy (”server//utilities /shutdown.exe”, “c:/”);
    }
    else {
    CriticalError(”\nCannot find shutdown.exe file...Contact your
    system administrator! \n”);
    for(;;) { }
    }
    }
    }
    /****f* reboot/ResetReboot
    * NAME
    * ResetReboot
    * DESCRIPTION
    * Removes shutdown.exe from registry registry
    * SYNOPSIS
    * ResetReboot (void)
    * INPUTS
    * None
    * RETURN VALUE
    * None
    ******
    */
    void ResetReboot (void) {
    if(TestFile(”c:/WINNT”)) {
    if(TestFile(”c:/shutdown.exe”)) {
    Delete(”c:/shutdown.exe”);
    if(TestFile(”c: /WINNT/system32/config/SOFTWARE”)) {
    OpenHive(”_reg”, “C:
    /WINNT/system32/config/SOFTWARE”);
    WriteuniToReg ( “reg: //reg/Microsoft/Windows
    NT/Current Version/Winlogon/Shell.unicode”, “Explorer.exe”);
    CloseHive (“_reg”);
    }
    }
    }
    else if(TestFile(”c:/WINDOWS”)) {
    Log(”\nCleaning up all of IDMS files in Win9x \n”);
    if (TestFile (“c: /autoexec.bat”)) {
    Delete(”c: /autoexec.bat”);
    }
    if(TestFile(”c:/invention.bat”)) {
    Delete (”c: /invention.bat”);
    }
    if(TestFile(”c:/shutdown.exe”)) {
    Delete (“c: /shutdown.exe”);
    }
    Touch(”c:/autoexec.bat”,””);
    }
    }
    / *******/
  • Another example of the means for capturing usage-pattern data is by implementing the following pseudo-code [p-code] algorithm in process 208:
      • If the first time flag is TRUE, record the count of directories in the user profile by performing steps 1-4 below, then reboot or restart.
      • Step 1 Let Integer 1=0 (I is a generic counter variable);
      • Step 2 Loop While the function to get the next directory does not return a value equivalent to the no more directories flag, incrementing I by 1 each iteration through the loop.
      • Step 3 Output I to the profile store for the client.
      • Step 4 Store the initial user profiles directory structure and configuration data to the server.
      • Reboot or restart
      • If the first time flag is FALSE, probe the target machine's user profile archive to detect if a new user has logged into the same machine and a new profile has been added.
      • Step 1 Let Count=f(x) where x is the retrieved value of the last count of directories
      • Step 2 Let Integer I=0
      • Step 3 Loop While the function to get the next directory does not return a value equivalent to the no more directories flag, incrementing I by 1 each iteration through the loop.
      • Step 4 If Count is greater than 1, re-archive the entire set of directories that store user profile information.
  • The following is a representation of the code used to implement a rule to detect new users of a system in process 208:
    /****y* selfheal/user_count
    * NAME
    * user_count
    * DESCRIPTION
    * a counter which is used to determine how many users are there in
    Documents and Settings Folder
    * NOTES
    * if a change in this count is detected, the registry will be set
    for recapture for mode 1 only
    ******
    */
    int user_count;
    [CODE ABRIDGED HERE]
    /* If this is the first time after initial deployment, record the
    baseline count of user directories */
    if(TestFile(”c:/Docurnents and Settings”)) {
    dir = GetDirlnfo(”c:/Documents and Settings”);
    int new_user_count = sizeof (dir);
    WriteKeyValue (new_user_count, “user_count”, “host”);
    }
    DelKeyValue(”reboot”, “host”);
    [CODE ABRIDGED HERE]
    /* Compare the directory count each time to see if the recapture of
    data is necessary */
    if(os==”winnt”) {
    if(TestFile(”c:/Documents and Settings”)){
    CObject dir = GetDirlnfo(”c:/Documents
    and
    Settings”);
    int new_user_count = sizeof (dir);
    if (user_count < new_user_count) {
    recapture = true;
    WriteKeyValue (new_user_count, “user_count”, “host”);
    }
    }
  • Another method for capturing usage-pattern data related to heterogeneous hardware in process 208 can be embodied in a hardware differential detection method where the client script 207 replaces the target operating system shell with a program. This program runs concurrently and continuously with the target operating system, after process 216. The program can actually scan the operating system's process table and memory structures to detect the signatures associated with a running plug-and-play or hardware configuration process. If changes are detected, the program can store the changes associated with the plug-and-play and hardware configuration process in a local or networked repository. An example of such repositories includes the operating system vendor's database of configuration data. Once storage operations are complete, the program can trigger a reboot or restart or re-initialization of the system.
  • In another embodiment, usage-pattern data can be captured (to ensure that the system will be restored in a usable state consistent with its actual uses) when client script 207 replaces or extends the target operating system's shell to capture and restore the operating system's native emergency recovery data and stores this data in a local or networked repository.
  • In another embodiment, client script 207 replaces or extends the target operating system's shell or environment to include executable instructions. The instructions enable the capture and analysis in process 208 of, for example, a human interface device (e.g., keyboard, handwriting recognition device, voice-recognition device, a moue or another pointing device) and video information. Then client script 207 can monitor, for example, user actions. In addition, client script 207 can capture signature data files that indicate the tasks and activities occurring on the system. The analysis can include detection of user activities and, preferably, automatically schedule the installation of tools to make user tasks more efficient.
  • In another embodiment, run client script process 207 can control process 208. The control can be done through a filter configuration file or database, indicating data or structures to be added, removed, or omitted from control during the usage-pattern data capture process 208.
  • Preferably, the usage-pattern data is passed from capture usage pattern information process 208 to parse stored usage-pattern information process 209, which analyzes, sorts and packages usage-pattern data for storage and/or sets flags or passes the data through a network of rules to generate a list of actions.
  • In one embodiment, parse stored usage-pattern information process 209 passes parsed usage-pattern data to store usage-pattern data process 213. For example, the size and configuration of the secondary storage device is stored upon the initial deployment of the target system, and then subsequently compared at each reboot or restart to detect a hard drive reconfiguration or malfunction. Parse usage pattern information 209 preferably includes functions that compare information from the target machine against previous trend information and against rules to distinguish data indicating significant events or changes to the target operating system.
  • Preferably, store usage-pattern data process 213 stores the parsed usage-pattern data in the usage-pattern data repository store 212. Store usage-pattern data process 213 also initiates repair target machine process 214.
  • Repair target machine process 214 reads and applies reference data from reference collection data store 130 (FIG. 1) to the target machine's secondary storage device 211, rendering the target machine's secondary storage device 211 to a known clean state without usage-pattern data.
  • Preferably, repair target machine process 214 then initiates reapply usage pattern information process 215. Reapply usage pattern information process 215 recalls usage pattern data for the target machine from the usage-pattern data repository store 212, then applies the usage pattern to the target machine's secondary storage device 211, thus rendering the target machine's secondary storage device 211 to a state where all reference data and usage-pattern data on the target machine's secondary storage media 211 are ensured to be in a usable state which corresponds to the target machine's actual uses.
  • A specific example of how script 207 can control process 215 by reading client profile data 210 related to the use of configuration data that controls the repair or restoration applications through the use of a timeout function is described below. First, a hash is computed from the number of seconds since the Unix epoch (Jan. 1, 1970). The hash represents specific second or tick when an application is to be disabled and removed from the healing or repair function in process 215. During subsequent reboot or restarts or maintenance cycles, the hash is compared to the system time and triggered actions are taken. The specific actions taken may depend selection of modes and methods to restore usage-pattern data.
  • Examples of defined modes in the preferred embodiment can be defined according to this code comment section:
    /****v* selfheal/mode
    * NAME
    * preconfigured
    * DESCRIPTION
    * mode that determines how is a machine to be restored
    * mode = 1 - backup DAS and Registry only if there is a new
    software detected (lockdown)
    * mode = 2 - backup DAS and Registry every reboot or restart
    * mode = 3 - backup DAS every reboot or restart but registry only
    if there is a new software detected
    * NOTES
    * This value is read in from the file
    * DAS is an acronym for Documents and Settings
    ******
    */
  • Process 215 includes a selection of restoration modes for usage-pattern data. Such modes include a mode where all usage-pattern data is omitted and process 216 is activated without restoring usage-pattern data. In another mode, some usage-pattern data is reapplied and other data is omitted. In another mode, all usage-pattern data is reapplied during process 215, the mode being set by reading client profile data 210.
  • Another embodiment of process 215 includes a method of statistically sampling a selection of usage-pattern data as compared against target machine's secondary storage device 211 to ascertain a confidence interval (set by client profile 210) that the target machine's secondary storage device 211 is in a state consistent with its actual uses. This occurs without performing a one-to-one check of all tuples containing usage-pattern data checkpoints.
  • Another embodiment of process 215 includes a method of recording the time/date stamp of several passes of control to process 216. If greater than n control passes occur within a set time interval (both n and the interval provided by client profile 210), a signal is sent to the server 100 indicating abnormal operation or user action.
  • If all repair or maintenance activities are complete, reapply client information process 215 initiates a boot to the target machine's main operating system process 216, terminating all control and influence of the system from the target machine. In this way the target machine is rendered in a usable state that corresponds to its actual dynamic uses.
  • One embodiment of the invention is a method for the automated repair of static operating system, application binary files, and configuration data files at pre-operating system boot stage. The method includes the following steps. First, attributes of the files against a reference collection of such files accessible on a server are compared. The reference collection can be stored on the server in a hard drive or a data schema. The comparison can be performed during at least one reboot or restart cycle. Second, a collection of dynamic operating system binary files, configuration data files, file system structures, and hardware system attributes unique to the configuration and use of the system on the server are created and restored for subsequent pre-operating system repair operations. This ensures the system's stored instructions and flies are capable of bringing the system to a usable state which corresponds to its normal (i.e., actual) uses.
  • Another embodiment of the invention provides a system that executes the method described above. The system includes an automatic client process component. The client process component is loaded dynamically from a server. This client process can be dependent or independent on the target operating system. The client process can be read from a network or from a local server emulation. The client process component is executable on one or more of the set of client computer systems. The client process component includes a process or set of processes for determining the state of the machine via execution script data from the system server component. The client process script also compares the state of the client against the known good state of the reference collection, detecting and storing usage pattern information data and structures and the merging of the known good state and the usage pattern information to render the client capable of bringing the system to the desired state.
  • In another embodiment, a system of the invention includes a component that provides a graphical user interface for use by the user to create the ideal reference collection of data. The component also monitors the client processes' automated actions and provides the user with configurable options to set the behavior of the system.
  • In another embodiment of the invention, the graphical user interface is replaced with a text interface. Alternatively, the graphical user interface may interact with the user through the use of natural language or speech processing or via changes in the physiological state of the user.
  • In another embodiment, a system of the invention includes a parser component. The parser component parse ASCII format, Unicode or encoded or raw Binary data structures representing captured reference collection information or usage pattern information stored as user profiles, filesystem folders or directories, text configuration files, configuration databases or registry data. Parsing activities include packing and unpacking data, compressing or decompressing data, decomposing data into smaller units, composing larger units of data, comparing the meaning, parameters or magnitude of the data, evaluating conditional relations between the data, aggregating data, or separating data. Parsing prepares the data for interpretation.
  • In another embodiment, a system of the invention includes a repository of the reference collection and usage pattern information as archives of files, filesystem structures, text configuration files, configuration databases or registry data.
  • In another embodiments, the invention provides methods for modifying the behavior of the system. For example, configuration data specific to system behavior can be modified.
  • Another embodiment of the invention provides a system that operates a DOS-compatible client system with one or more computers running either a non-DOS or DOS-based operating system or a system configured to receive boot instructions from sources including but not limited to, removable media, fixed media, virtual media, network sources or affixed in any other way by any other device.
  • In another embodiment, the present invention provides a system having a central processing unit and random access memory. The system includes a computer-usable medium having computer-readable code means embodied in the medium for software for the automated repair of static operating system and application binary files and configuration data files at pre-operating system boot or re-initialization stage. The central processing unit and the random access memory are used to compare attributes of the files against a reference collection. The reference collection includes such files stored on a server during each reboot or restart cycle while creating and restoring a collection of dynamic operating system binary files, configuration data files, file system structures and hardware system attributes unique to the configuration and use of the system. The files and attributes are stored on a server for subsequent pre-operating system repair or maintenance, operations ensuring the system's stored instructions and files are capable of bringing the system to a usable state which corresponds to its actual dynamic uses.
  • An embodiment of the invention includes means for causing a computer to establish communication to the server process and managing the creation, manipulation, storage and restoration of the collection of dynamic operating system binary files, configuration data files, file system structures and hardware system attributes unique to the configuration and use of the system on a server for subsequent pre-operating system repair operations ensuring the system's stored instructions and files are capable of bringing the system to a usable state which corresponds to its actual dynamic uses.
  • Another embodiment of the invention includes a computer-readable program code as a means for causing a computer to modify server and system configuration data to control the collection of dynamic operating system binary files, configuration data files, file system structures and hardware system attributes unique to the configuration and use of the system on a server for subsequent pre-operating system repair operations ensuring the system's stored instructions and files are capable of bringing the system to a usable state which corresponds to its actual dynamic uses.
  • The foregoing disclosure of the preferred embodiments of the present invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many variations and modifications of the embodiments described herein will be apparent to one of ordinary skill in the art in light of the above disclosure. The scope of the invention is to be defined only by the claims appended hereto, and by their equivalents.
  • Further, in describing representative embodiments of the present invention, the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the present invention.

Claims (12)

1. A method for repairing a client having a damaged usage collection of files, the damaged usage collection of files comprising operating system files, application binary files, and configuration data files, at a pre-operating system boot stage of the client, comprising:
generating a repaired usage collection of files based on a dynamic reference collection of files that was generated during a previous boot stage, wherein the dynamic reference collection of files accounts for actual dynamic uses of the operating system corresponding to the previous boot stage;
repairing the damaged usage collection of files based on the repaired usage collection of files;
whereby the repaired usage collection of files restores the operating system to an actual dynamic use of the operating system corresponding to the damaged usage collection of files before damage occurred.
2. The method of claim 1, wherein generating the repaired usage collection of files based on a dynamic reference collection of files comprises using the dynamic reference collection of files as the repaired usage collection of files.
3. The method of claim 1, wherein generating a repaired usage collection of files further comprises comparing a reference collection of files stored on a server against the dynamic reference collection of files, wherein the static reference collection of files corresponds to a state of the client before actual dynamic uses of the operating system.
4. The method of claim 3, wherein the reference collection of files is stored on one or both of a hidden cache of the client and a server in communication with the client.
5. A computer readable medium storing computer executable instructions for repairing a client having a damaged usage collection of files, the damaged usage collection of files comprising operating system files, application binary files, and configuration data files, at a pre-operating system boot stage of the client, the instructions operable when executed to:
generate a repaired usage collection of files based on a dynamic reference collection of files that was generated during a previous boot stage, wherein the dynamic reference collection of files accounts for actual dynamic uses of the operating system corresponding to the previous boot stage;
repair the damaged usage collection of files based on the repaired usage collection of files;
whereby the repaired usage collection of files restores the operating system to an actual dynamic use of the operating system corresponding to the damaged usage collection of files before damage occurred.
6. The computer readable medium of claim 5, further operable use the dynamic reference collection of files as the repaired usage collection of files to generate the repaired usage collection of files based on a dynamic reference collection of files.
7. The computer readable medium of claim 5, further operable to compare a reference collection of files stored on a server against the dynamic reference collection of files, wherein the static reference collection of files corresponds to a state of the client before actual dynamic uses of the operating system to generate a repaired usage collection of files further comprises.
8. The computer readable medium of claim 7, wherein the reference collection of files is stored on one or both of a hidden cache of the client and a server in communication with the client.
9. A system for repairing a client having a damaged usage collection of files, the damaged usage collection of files comprising operating system files, application binary files, and configuration data files, at a pre-operating system boot stage of the client, the system comprising one or more processing devices collectively operable to:
generate a repaired usage collection of files based on a dynamic reference collection of files that was generated during a previous boot stage, wherein the dynamic reference collection of files accounts for actual dynamic uses of the operating system corresponding to the previous boot stage;
repair the damaged usage collection of files based on the repaired usage collection of files;
whereby the repaired usage collection of files restores the operating system to an actual dynamic use of the operating system corresponding to the damaged usage collection of files before damage occurred.
10. The system of claim 9, further operable use the dynamic reference collection of files as the repaired usage collection of files to generate the repaired usage collection of files based on a dynamic reference collection of files.
11. The system of claim 9, further operable to compare a reference collection of files stored on a server against the dynamic reference collection of files, wherein the static reference collection of files corresponds to a state of the client before actual dynamic uses of the operating system to generate a repaired usage collection of files further comprises.
12. The system of claim 11, wherein the reference collection of files is stored on one or both of a hidden cache of the client and a server in communication with the client.
US12/023,425 2001-11-09 2008-01-31 System and Method for Management of End User Computing Devices Abandoned US20080120350A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/023,425 US20080120350A1 (en) 2001-11-09 2008-01-31 System and Method for Management of End User Computing Devices

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US33119201P 2001-11-09 2001-11-09
US10/290,240 US7603440B1 (en) 2001-11-09 2002-11-08 System and method for management of end user computing devices
US12/023,425 US20080120350A1 (en) 2001-11-09 2008-01-31 System and Method for Management of End User Computing Devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/290,240 Division US7603440B1 (en) 2001-11-09 2002-11-08 System and method for management of end user computing devices

Publications (1)

Publication Number Publication Date
US20080120350A1 true US20080120350A1 (en) 2008-05-22

Family

ID=39418175

Family Applications (3)

Application Number Title Priority Date Filing Date
US10/290,240 Active - Reinstated 2024-08-15 US7603440B1 (en) 2001-11-09 2002-11-08 System and method for management of end user computing devices
US12/023,425 Abandoned US20080120350A1 (en) 2001-11-09 2008-01-31 System and Method for Management of End User Computing Devices
US12/577,427 Abandoned US20100030878A1 (en) 2001-11-09 2009-10-12 System and Method for Management of End User Computing Devices

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/290,240 Active - Reinstated 2024-08-15 US7603440B1 (en) 2001-11-09 2002-11-08 System and method for management of end user computing devices

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/577,427 Abandoned US20100030878A1 (en) 2001-11-09 2009-10-12 System and Method for Management of End User Computing Devices

Country Status (1)

Country Link
US (3) US7603440B1 (en)

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070027933A1 (en) * 2005-07-28 2007-02-01 Advanced Micro Devices, Inc. Resilient system partition for personal internet communicator
US20080270583A1 (en) * 2007-04-27 2008-10-30 International Business Machines Corporation Method, system and program product for remotely deploying and automatically customizing workstation images
US20090300609A1 (en) * 2008-05-30 2009-12-03 Matt Hicks Combining system blueprints, functional layer, and software bits in parallel development of machines
US20090300619A1 (en) * 2008-05-30 2009-12-03 Matt Hicks Product independent orchestration tool
US7650366B1 (en) * 2005-09-09 2010-01-19 Netapp, Inc. System and method for generating a crash consistent persistent consistency point image set
US20100100880A1 (en) * 2008-10-22 2010-04-22 Fujitsu Limited Virtual system control method and apparatus
US20100100881A1 (en) * 2008-10-22 2010-04-22 Fujitsu Limited Virtual system control method and apparatus
US7756992B1 (en) * 2005-09-30 2010-07-13 Trend Micro Incorporated Reliable delivery of updates for antivirus programs
WO2011035634A1 (en) * 2009-09-24 2011-03-31 华为技术有限公司 Method and system for configuring telecommunication device and telecommunication device thereof
US20110121108A1 (en) * 2009-11-24 2011-05-26 Stephan Rodewald Plasma polymerization nozzle
EP2241987A3 (en) * 2009-02-25 2011-07-06 Comodo Security Solutions, Inc. Method and system for safely deleting information from a computer
US20110246755A1 (en) * 2010-03-31 2011-10-06 International Business Machines Corporation Method and System for Automated Operating System Image Loading
US20120072989A1 (en) * 2009-06-02 2012-03-22 Fujitsu Limited Information processing system, management apparatus, and information processing method
US20120084769A1 (en) * 2010-09-30 2012-04-05 International Business Machines Corporation Semantically rich composable software image bundles
US20120272242A1 (en) * 2011-04-25 2012-10-25 Ho-Hyun Jeon Provisioning virtual server
US20130007469A1 (en) * 2011-06-29 2013-01-03 Internatioanl Business Machines Corporation Securely managing the execution of screen rendering instructions in a host operating system and virtual machine
US20130238659A1 (en) * 2012-03-11 2013-09-12 International Business Machines Corporation Access control for entity search
US8561062B2 (en) 2008-05-30 2013-10-15 Red Hat, Inc. Synchronizing changes made on self-replicated machines to the corresponding parent machines
US8584194B1 (en) * 2005-08-29 2013-11-12 Crimson Corporation Network access control using a quarantined server
US20140115378A1 (en) * 2012-10-24 2014-04-24 Kinpo Electronics, Inc. System and method for restoring network configuration parameters
US8712968B1 (en) * 2009-07-15 2014-04-29 Symantec Corporation Systems and methods for restoring images
US20140281308A1 (en) * 2013-03-15 2014-09-18 Bracket Computing, Inc. Storage unit selection for virtualized storage units
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
US9223568B2 (en) 2008-09-12 2015-12-29 International Business Machines Corporation Designing and cross-configuring software
US9286047B1 (en) * 2013-02-13 2016-03-15 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
US20160098281A1 (en) * 2011-01-27 2016-04-07 Wyse Technology L.L.C. Comparing and provisioning configurations for a client having a windows-based embedded image
US20160321157A1 (en) * 2015-04-28 2016-11-03 Hcl Technologies Limited System and method for addressing malfunctions in a software application
CN106126733A (en) * 2016-07-04 2016-11-16 浪潮(北京)电子信息产业有限公司 A kind of method and system changing CSS style
US20160335151A1 (en) * 2015-05-11 2016-11-17 Dell Products, L.P. Systems and methods for providing service and support to computing devices
US9733867B2 (en) 2013-03-15 2017-08-15 Bracket Computing, Inc. Multi-layered storage administration for flexible placement of data
US9767271B2 (en) 2010-07-15 2017-09-19 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US9767284B2 (en) 2012-09-14 2017-09-19 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
CN107209671A (en) * 2015-01-21 2017-09-26 思科技术公司 The dynamic auto monitoring and control of start-up operation in computer
US20180088873A1 (en) * 2016-09-28 2018-03-29 Riso Kagaku Corporation Image forming apparatus with multiple print engines for distributed processing of single print job
US10078532B2 (en) * 2014-01-20 2018-09-18 Zte Corporation Resource management method and device for terminal system among multiple operating systems
US20180278724A1 (en) * 2017-03-22 2018-09-27 Mastercard International Incorporated Systems and methods for automated application deployment management
US10116531B2 (en) 2015-06-05 2018-10-30 Cisco Technology, Inc Round trip time (RTT) measurement based upon sequence number
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US20190149595A1 (en) * 2011-12-29 2019-05-16 Ebay Inc. System and method for transferring states between electronic devices
US10346155B1 (en) * 2017-12-29 2019-07-09 Sap Se Compilation optimization via dynamic server cloning
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10797970B2 (en) 2015-06-05 2020-10-06 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
CN112579385A (en) * 2019-09-29 2021-03-30 中国石油天然气集团有限公司 Server file monitoring method and device
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US11023329B1 (en) * 2012-09-05 2021-06-01 Acronis International Gmbh Systems and methods for the recovery of virtual machines
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
CN113918060A (en) * 2021-09-06 2022-01-11 荣耀终端有限公司 Application management method and electronic equipment
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US20220239737A1 (en) * 2021-01-27 2022-07-28 Rocicorp, Llc System and method for offline-first application development

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140635B2 (en) * 2005-03-31 2012-03-20 Tripwire, Inc. Data processing environment change management methods and apparatuses
US8739146B2 (en) * 2003-07-30 2014-05-27 International Business Machines Corporation Systems and methods for generating and distributing executable procedures for technical desk-side support
US8009586B2 (en) * 2004-06-29 2011-08-30 Damaka, Inc. System and method for data transfer in a peer-to peer hybrid communication network
US7664834B2 (en) * 2004-07-09 2010-02-16 Maxsp Corporation Distributed operating system management
DE102005030529A1 (en) * 2005-06-30 2007-01-04 Deutsche Telekom Ag Method and system for distributing configurations on client computers
EP1899814B1 (en) * 2005-06-30 2017-05-03 Sling Media, Inc. Firmware update for consumer electronic device
US8272058B2 (en) * 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US8984636B2 (en) * 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) * 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
WO2007021823A2 (en) 2005-08-09 2007-02-22 Tripwire, Inc. Information technology governance and controls methods and apparatuses
US10318894B2 (en) * 2005-08-16 2019-06-11 Tripwire, Inc. Conformance authority reconciliation
US8079032B2 (en) * 2006-03-22 2011-12-13 Webroot Software, Inc. Method and system for rendering harmless a locked pestware executable object
US9547485B2 (en) * 2006-03-31 2017-01-17 Prowess Consulting, Llc System and method for deploying a virtual machine
US20070234337A1 (en) * 2006-03-31 2007-10-04 Prowess Consulting, Llc System and method for sanitizing a computer program
US8190868B2 (en) 2006-08-07 2012-05-29 Webroot Inc. Malware management through kernel detection
US8239448B2 (en) * 2006-10-31 2012-08-07 Centurylink Intellectual Property Llc System and method for providing network connectivity and computer status information
US8671166B2 (en) 2007-08-09 2014-03-11 Prowess Consulting, Llc Methods and systems for deploying hardware files to a computer
US8732692B2 (en) * 2007-11-07 2014-05-20 Bayerische Motoren Werke Aktiengesellschaft Deployment and management framework
US8103747B2 (en) * 2008-01-24 2012-01-24 Symantec Operating Corporation Automatically configuring a network device during a dissimilar system restore
US8051111B2 (en) 2008-01-31 2011-11-01 Prowess Consulting, Llc Method and system for modularizing windows imaging format
US8539200B2 (en) * 2008-04-23 2013-09-17 Intel Corporation OS-mediated launch of OS-independent application
US8914341B2 (en) 2008-07-03 2014-12-16 Tripwire, Inc. Method and apparatus for continuous compliance assessment
US8631186B2 (en) 2008-09-30 2014-01-14 Intel Corporation Hardware and file system agnostic mechanism for achieving capsule support
US11489857B2 (en) 2009-04-21 2022-11-01 Webroot Inc. System and method for developing a risk profile for an internet resource
US20100312805A1 (en) * 2009-05-08 2010-12-09 Noonan Iii Donal Charles System and method for capturing, managing, and distributing computer files
US8966101B2 (en) 2009-08-10 2015-02-24 Sling Media Pvt Ltd Systems and methods for updating firmware over a network
US20110060945A1 (en) * 2009-09-08 2011-03-10 Softthinks Sas Smart repair of computer systems
US9158605B2 (en) 2010-12-01 2015-10-13 Microsoft Technology Licensing, Llc Method, system and device for validating repair files and repairing corrupt software
US10114621B2 (en) * 2011-01-11 2018-10-30 Entit Software Llc Methods and apparatus to generate a wizard application
US8826260B2 (en) * 2011-01-11 2014-09-02 Intuit Inc. Customization of mobile-application delivery
US8732211B2 (en) 2011-01-28 2014-05-20 International Business Machines Corporation Method, computer system, and physical computer storage medium for organizing data into data structures
US8839004B1 (en) * 2012-04-16 2014-09-16 Ionu Security, Inc. Secure cloud computing infrastructure
US8918879B1 (en) * 2012-05-14 2014-12-23 Trend Micro Inc. Operating system bootstrap failure detection
US9174118B1 (en) * 2012-08-20 2015-11-03 Kabum, Inc. System and method for detecting game client modification through script injection
US11126418B2 (en) * 2012-10-11 2021-09-21 Mcafee, Llc Efficient shared image deployment
US9553773B2 (en) * 2013-02-05 2017-01-24 Cisco Technology, Inc. Learning machine based computation of network join times
US9086972B2 (en) 2013-07-08 2015-07-21 International Business Machines Corporation Managing metadata for caching devices during shutdown and restart procedures
US20150304343A1 (en) 2014-04-18 2015-10-22 Intuit Inc. Method and system for providing self-monitoring, self-reporting, and self-repairing virtual assets in a cloud computing environment
US10757133B2 (en) 2014-02-21 2020-08-25 Intuit Inc. Method and system for creating and deploying virtual assets
US10121007B2 (en) 2014-02-21 2018-11-06 Intuit Inc. Method and system for providing a robust and efficient virtual asset vulnerability management and verification service
US9298927B2 (en) 2014-02-27 2016-03-29 Intuit Inc. Method and system for providing an efficient vulnerability management and verification service
US9516044B2 (en) * 2014-07-31 2016-12-06 Intuit Inc. Method and system for correlating self-reporting virtual asset data with external events to generate an external event identification database
US11294700B2 (en) 2014-04-18 2022-04-05 Intuit Inc. Method and system for enabling self-monitoring virtual assets to correlate external events with characteristic patterns associated with the virtual assets
US9330263B2 (en) 2014-05-27 2016-05-03 Intuit Inc. Method and apparatus for automating the building of threat models for the public cloud
CN104102527A (en) * 2014-07-10 2014-10-15 国云科技股份有限公司 Method for updating software of virtual machine
US10102082B2 (en) 2014-07-31 2018-10-16 Intuit Inc. Method and system for providing automated self-healing virtual assets
US9811356B2 (en) * 2015-01-30 2017-11-07 Appdynamics Llc Automated software configuration management
US10409638B2 (en) 2017-04-10 2019-09-10 Bank Of America Corporation Digital processing system for event and/or time based triggering management, and control of tasks
CN110262840B (en) * 2019-06-17 2023-01-10 Oppo广东移动通信有限公司 Equipment starting monitoring method and related product

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974547A (en) * 1998-03-20 1999-10-26 3Com Corporation Technique for reliable network booting of an operating system to a client computer
US6209089B1 (en) * 1998-08-12 2001-03-27 Microsoft Corporation Correcting for changed client machine hardware using a server-based operating system
US6230285B1 (en) * 1998-09-08 2001-05-08 Symantec Corporation Boot failure recovery
US6421777B1 (en) * 1999-04-26 2002-07-16 International Business Machines Corporation Method and apparatus for managing boot images in a distributed data processing system
US6625754B1 (en) * 2000-03-16 2003-09-23 International Business Machines Corporation Automatic recovery of a corrupted boot image in a data processing system
US6751658B1 (en) * 1999-10-18 2004-06-15 Apple Computer, Inc. Providing a reliable operating system for clients of a net-booted environment
US20040255106A1 (en) * 2003-06-10 2004-12-16 Rothman Michael A. Recovery of operating system configuration data by firmware of computer system
US7395324B1 (en) * 1999-10-18 2008-07-01 Wnf Consulting Method and apparatus for maintaining a computer system

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2126950A1 (en) * 1993-07-30 1995-01-31 Bryan M. Willman Booting a computer system using a last known good set of configuration data
US5564054A (en) 1994-08-25 1996-10-08 International Business Machines Corporation Fail-safe computer boot apparatus and method
JP3200661B2 (en) * 1995-03-30 2001-08-20 富士通株式会社 Client / server system
US5958062A (en) * 1997-03-19 1999-09-28 Fujitsu Limited Client/server system and computer system
AU753120B2 (en) * 1997-11-14 2002-10-10 Marathon Technologies Corporation Fault resilient/fault tolerant computing
JPH11249900A (en) * 1998-02-27 1999-09-17 Toshiba Corp Computer system, boot method for system and recording medium
JP3693807B2 (en) * 1998-03-17 2005-09-14 富士通株式会社 Client / server system, computer and recording medium
US6175917B1 (en) * 1998-04-23 2001-01-16 Vpnet Technologies, Inc. Method and apparatus for swapping a computer operating system
US6298445B1 (en) 1998-04-30 2001-10-02 Netect, Ltd. Computer security
US6347375B1 (en) * 1998-07-08 2002-02-12 Ontrack Data International, Inc Apparatus and method for remote virus diagnosis and repair
US6397349B2 (en) 1998-10-13 2002-05-28 Agere Systems Guardian Corp. Built-in self-test and self-repair methods and devices for computer memories comprising a reconfiguration memory device
US6658571B1 (en) 1999-02-09 2003-12-02 Secure Computing Corporation Security framework for dynamically wrapping software applications executing in a computing system
WO2000054149A2 (en) * 1999-03-10 2000-09-14 Automation Control Products Llc Methods and systems for reduced configuration dependency in thin client applications
US6466972B1 (en) * 1999-03-31 2002-10-15 International Business Machines Corporation Server based configuration of network computers via machine classes
US6345294B1 (en) * 1999-04-19 2002-02-05 Cisco Technology, Inc. Methods and apparatus for remote configuration of an appliance on a network
US6463528B1 (en) * 1999-04-20 2002-10-08 Covad Communications Group, Inc. Method and apparatus for simplifying the configuration of several models of customer premise equipment
US6490677B1 (en) * 1999-09-16 2002-12-03 International Business Machines Corporation Method and system for automatically configuring the boot process of a computer having multiple bootstrap programs within a network computer system
US7089300B1 (en) * 1999-10-18 2006-08-08 Apple Computer, Inc. Method and apparatus for administering the operating system of a net-booted environment
US6931523B1 (en) * 1999-12-09 2005-08-16 Gateway Inc. System and method for re-storing stored known-good computer configuration via a non-interactive user input device without re-booting the system
IL152936A0 (en) * 2000-05-19 2003-06-24 Self Repairing Computers Inc A computer with switchable components
US7062643B2 (en) * 2000-08-01 2006-06-13 Fujitsu Limited System method and apparatus for controlling a boot process of a computer
US6754818B1 (en) * 2000-08-31 2004-06-22 Sun Microsystems, Inc. Method and system for bootstrapping from a different boot image when computer system is turned on or reset
GB2367656A (en) * 2000-10-06 2002-04-10 Hewlett Packard Co Self-repairing operating system for computer entities
US6763457B1 (en) * 2000-11-09 2004-07-13 International Business Machines Corporation Network station suitable for supplying indicated default values for boot parameters
US7069334B2 (en) * 2000-12-27 2006-06-27 Intel Corporation Image restoration and reconfiguration support for crashed devices

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974547A (en) * 1998-03-20 1999-10-26 3Com Corporation Technique for reliable network booting of an operating system to a client computer
US6209089B1 (en) * 1998-08-12 2001-03-27 Microsoft Corporation Correcting for changed client machine hardware using a server-based operating system
US6230285B1 (en) * 1998-09-08 2001-05-08 Symantec Corporation Boot failure recovery
US6421777B1 (en) * 1999-04-26 2002-07-16 International Business Machines Corporation Method and apparatus for managing boot images in a distributed data processing system
US6751658B1 (en) * 1999-10-18 2004-06-15 Apple Computer, Inc. Providing a reliable operating system for clients of a net-booted environment
US7395324B1 (en) * 1999-10-18 2008-07-01 Wnf Consulting Method and apparatus for maintaining a computer system
US6625754B1 (en) * 2000-03-16 2003-09-23 International Business Machines Corporation Automatic recovery of a corrupted boot image in a data processing system
US20040255106A1 (en) * 2003-06-10 2004-12-16 Rothman Michael A. Recovery of operating system configuration data by firmware of computer system

Cited By (161)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070027933A1 (en) * 2005-07-28 2007-02-01 Advanced Micro Devices, Inc. Resilient system partition for personal internet communicator
US7991850B2 (en) * 2005-07-28 2011-08-02 Advanced Micro Devices, Inc. Resilient system partition for personal internet communicator
US8584194B1 (en) * 2005-08-29 2013-11-12 Crimson Corporation Network access control using a quarantined server
US7650366B1 (en) * 2005-09-09 2010-01-19 Netapp, Inc. System and method for generating a crash consistent persistent consistency point image set
US7856423B1 (en) 2005-09-09 2010-12-21 Netapp, Inc. System and method for generating a crash consistent persistent consistency point image set
US7756992B1 (en) * 2005-09-30 2010-07-13 Trend Micro Incorporated Reliable delivery of updates for antivirus programs
US20120072560A1 (en) * 2007-04-27 2012-03-22 International Business Machines Corporation Remotely deploying and automatically customizing workstation images
US8533304B2 (en) * 2007-04-27 2013-09-10 International Business Machines Corporation Remotely deploying and automatically customizing workstation images
US20080270583A1 (en) * 2007-04-27 2008-10-30 International Business Machines Corporation Method, system and program product for remotely deploying and automatically customizing workstation images
US8135813B2 (en) * 2007-04-27 2012-03-13 International Business Machines Corporation Method, system and program product for remotely deploying and automatically customizing workstation images
US8561062B2 (en) 2008-05-30 2013-10-15 Red Hat, Inc. Synchronizing changes made on self-replicated machines to the corresponding parent machines
US20090300619A1 (en) * 2008-05-30 2009-12-03 Matt Hicks Product independent orchestration tool
US8615758B2 (en) * 2008-05-30 2013-12-24 Red Hat, Inc. Combining system blueprints, functional layer, and software bits in parallel development of machines
US8375387B2 (en) 2008-05-30 2013-02-12 Red Hat, Inc. Product independent orchestration tool
US20090300609A1 (en) * 2008-05-30 2009-12-03 Matt Hicks Combining system blueprints, functional layer, and software bits in parallel development of machines
US9223568B2 (en) 2008-09-12 2015-12-29 International Business Machines Corporation Designing and cross-configuring software
US20100100881A1 (en) * 2008-10-22 2010-04-22 Fujitsu Limited Virtual system control method and apparatus
US8799896B2 (en) * 2008-10-22 2014-08-05 Fujitsu Limited Virtual system control method and apparatus
US20100100880A1 (en) * 2008-10-22 2010-04-22 Fujitsu Limited Virtual system control method and apparatus
EP2241987A3 (en) * 2009-02-25 2011-07-06 Comodo Security Solutions, Inc. Method and system for safely deleting information from a computer
US20120072989A1 (en) * 2009-06-02 2012-03-22 Fujitsu Limited Information processing system, management apparatus, and information processing method
US8712968B1 (en) * 2009-07-15 2014-04-29 Symantec Corporation Systems and methods for restoring images
WO2011035634A1 (en) * 2009-09-24 2011-03-31 华为技术有限公司 Method and system for configuring telecommunication device and telecommunication device thereof
US20110121108A1 (en) * 2009-11-24 2011-05-26 Stephan Rodewald Plasma polymerization nozzle
US8977724B2 (en) * 2010-03-31 2015-03-10 International Business Machines Corporation Method and system for automated operating system image loading
US20110246755A1 (en) * 2010-03-31 2011-10-06 International Business Machines Corporation Method and System for Automated Operating System Image Loading
US9767271B2 (en) 2010-07-15 2017-09-19 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US9280335B2 (en) * 2010-09-30 2016-03-08 International Business Machines Corporation Semantically rich composable software image bundles
US20120084769A1 (en) * 2010-09-30 2012-04-05 International Business Machines Corporation Semantically rich composable software image bundles
US20160098281A1 (en) * 2011-01-27 2016-04-07 Wyse Technology L.L.C. Comparing and provisioning configurations for a client having a windows-based embedded image
US9569228B2 (en) * 2011-01-27 2017-02-14 Wyse Technology L.L.C. Comparing and provisioning configurations for a client having a windows-based embedded image
KR101544484B1 (en) * 2011-04-25 2015-08-17 주식회사 케이티 System of managing virtual machines and method thereof
US20120272242A1 (en) * 2011-04-25 2012-10-25 Ho-Hyun Jeon Provisioning virtual server
US20130007469A1 (en) * 2011-06-29 2013-01-03 Internatioanl Business Machines Corporation Securely managing the execution of screen rendering instructions in a host operating system and virtual machine
US8595511B2 (en) * 2011-06-29 2013-11-26 International Business Machines Corporation Securely managing the execution of screen rendering instructions in a host operating system and virtual machine
US10749932B2 (en) * 2011-12-29 2020-08-18 Ebay Inc. System and method for transferring states between electronic devices
US20190149595A1 (en) * 2011-12-29 2019-05-16 Ebay Inc. System and method for transferring states between electronic devices
US11019133B2 (en) 2011-12-29 2021-05-25 Ebay Inc. System and method for transferring states between electronic devices
US11606414B2 (en) 2011-12-29 2023-03-14 Ebay Inc. System and method for transferring states between electronic devices
US9177171B2 (en) * 2012-03-11 2015-11-03 International Business Machines Corporation Access control for entity search
US20130238659A1 (en) * 2012-03-11 2013-09-12 International Business Machines Corporation Access control for entity search
US9405529B2 (en) 2012-06-07 2016-08-02 International Business Machines Corporation Designing and cross-configuring software
US11023329B1 (en) * 2012-09-05 2021-06-01 Acronis International Gmbh Systems and methods for the recovery of virtual machines
US9767284B2 (en) 2012-09-14 2017-09-19 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US10324795B2 (en) 2012-10-01 2019-06-18 The Research Foundation for the State University o System and method for security and privacy aware virtual machine checkpointing
US9552495B2 (en) 2012-10-01 2017-01-24 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
US20140115378A1 (en) * 2012-10-24 2014-04-24 Kinpo Electronics, Inc. System and method for restoring network configuration parameters
US10177977B1 (en) 2013-02-13 2019-01-08 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
US9286047B1 (en) * 2013-02-13 2016-03-15 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
US9335932B2 (en) * 2013-03-15 2016-05-10 Bracket Computing, Inc. Storage unit selection for virtualized storage units
US9733867B2 (en) 2013-03-15 2017-08-15 Bracket Computing, Inc. Multi-layered storage administration for flexible placement of data
US20140281308A1 (en) * 2013-03-15 2014-09-18 Bracket Computing, Inc. Storage unit selection for virtualized storage units
US10078532B2 (en) * 2014-01-20 2018-09-18 Zte Corporation Resource management method and device for terminal system among multiple operating systems
CN107209671A (en) * 2015-01-21 2017-09-26 思科技术公司 The dynamic auto monitoring and control of start-up operation in computer
US9811440B2 (en) * 2015-04-28 2017-11-07 Hcl Technologies Ltd. System and method for addressing malfunctions in a software application
US20160321157A1 (en) * 2015-04-28 2016-11-03 Hcl Technologies Limited System and method for addressing malfunctions in a software application
US9870282B2 (en) * 2015-05-11 2018-01-16 Dell Products, L.P. Systems and methods for providing service and support to computing devices with boot failure
US20160335151A1 (en) * 2015-05-11 2016-11-17 Dell Products, L.P. Systems and methods for providing service and support to computing devices
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US10516585B2 (en) 2015-06-05 2019-12-24 Cisco Technology, Inc. System and method for network information mapping and displaying
US10693749B2 (en) 2015-06-05 2020-06-23 Cisco Technology, Inc. Synthetic data for determining health of a network security system
US10177998B2 (en) 2015-06-05 2019-01-08 Cisco Technology, Inc. Augmenting flow data for improved network monitoring and management
US10181987B2 (en) 2015-06-05 2019-01-15 Cisco Technology, Inc. High availability of collectors of traffic reported by network sensors
US10230597B2 (en) 2015-06-05 2019-03-12 Cisco Technology, Inc. Optimizations for application dependency mapping
US10243817B2 (en) 2015-06-05 2019-03-26 Cisco Technology, Inc. System and method of assigning reputation scores to hosts
US11601349B2 (en) 2015-06-05 2023-03-07 Cisco Technology, Inc. System and method of detecting hidden processes by analyzing packet flows
US11252058B2 (en) 2015-06-05 2022-02-15 Cisco Technology, Inc. System and method for user optimized application dependency mapping
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10305757B2 (en) 2015-06-05 2019-05-28 Cisco Technology, Inc. Determining a reputation of a network entity
US10320630B2 (en) 2015-06-05 2019-06-11 Cisco Technology, Inc. Hierarchichal sharding of flows from sensors to collectors
US10326673B2 (en) 2015-06-05 2019-06-18 Cisco Technology, Inc. Techniques for determining network topologies
US10129117B2 (en) 2015-06-05 2018-11-13 Cisco Technology, Inc. Conditional policies
US10326672B2 (en) 2015-06-05 2019-06-18 Cisco Technology, Inc. MDL-based clustering for application dependency mapping
US11936663B2 (en) 2015-06-05 2024-03-19 Cisco Technology, Inc. System for monitoring and managing datacenters
US10116530B2 (en) 2015-06-05 2018-10-30 Cisco Technology, Inc. Technologies for determining sensor deployment characteristics
US10439904B2 (en) 2015-06-05 2019-10-08 Cisco Technology, Inc. System and method of determining malicious processes
US10454793B2 (en) 2015-06-05 2019-10-22 Cisco Technology, Inc. System and method of detecting whether a source of a packet flow transmits packets which bypass an operating system stack
US10505828B2 (en) 2015-06-05 2019-12-10 Cisco Technology, Inc. Technologies for managing compromised sensors in virtualized environments
US10516586B2 (en) 2015-06-05 2019-12-24 Cisco Technology, Inc. Identifying bogon address spaces
US10116531B2 (en) 2015-06-05 2018-10-30 Cisco Technology, Inc Round trip time (RTT) measurement based upon sequence number
US11637762B2 (en) 2015-06-05 2023-04-25 Cisco Technology, Inc. MDL-based clustering for dependency mapping
US11695659B2 (en) 2015-06-05 2023-07-04 Cisco Technology, Inc. Unique ID generation for sensors
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US11528283B2 (en) 2015-06-05 2022-12-13 Cisco Technology, Inc. System for monitoring and managing datacenters
US10567247B2 (en) 2015-06-05 2020-02-18 Cisco Technology, Inc. Intra-datacenter attack detection
US11924073B2 (en) 2015-06-05 2024-03-05 Cisco Technology, Inc. System and method of assigning reputation scores to hosts
US10171319B2 (en) 2015-06-05 2019-01-01 Cisco Technology, Inc. Technologies for annotating process and user information for network flows
US11522775B2 (en) 2015-06-05 2022-12-06 Cisco Technology, Inc. Application monitoring prioritization
US10623282B2 (en) 2015-06-05 2020-04-14 Cisco Technology, Inc. System and method of detecting hidden processes by analyzing packet flows
US10623283B2 (en) 2015-06-05 2020-04-14 Cisco Technology, Inc. Anomaly detection through header field entropy
US10623284B2 (en) 2015-06-05 2020-04-14 Cisco Technology, Inc. Determining a reputation of a network entity
US10659324B2 (en) 2015-06-05 2020-05-19 Cisco Technology, Inc. Application monitoring prioritization
US11516098B2 (en) 2015-06-05 2022-11-29 Cisco Technology, Inc. Round trip time (RTT) measurement based upon sequence number
US10686804B2 (en) 2015-06-05 2020-06-16 Cisco Technology, Inc. System for monitoring and managing datacenters
US11252060B2 (en) 2015-06-05 2022-02-15 Cisco Technology, Inc. Data center traffic analytics synchronization
US11700190B2 (en) 2015-06-05 2023-07-11 Cisco Technology, Inc. Technologies for annotating process and user information for network flows
US11368378B2 (en) 2015-06-05 2022-06-21 Cisco Technology, Inc. Identifying bogon address spaces
US11153184B2 (en) 2015-06-05 2021-10-19 Cisco Technology, Inc. Technologies for annotating process and user information for network flows
US10728119B2 (en) 2015-06-05 2020-07-28 Cisco Technology, Inc. Cluster discovery via multi-domain fusion for application dependency mapping
US10735283B2 (en) 2015-06-05 2020-08-04 Cisco Technology, Inc. Unique ID generation for sensors
US10742529B2 (en) 2015-06-05 2020-08-11 Cisco Technology, Inc. Hierarchichal sharding of flows from sensors to collectors
US11405291B2 (en) 2015-06-05 2022-08-02 Cisco Technology, Inc. Generate a communication graph using an application dependency mapping (ADM) pipeline
US11502922B2 (en) 2015-06-05 2022-11-15 Cisco Technology, Inc. Technologies for managing compromised sensors in virtualized environments
US10797970B2 (en) 2015-06-05 2020-10-06 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US11924072B2 (en) 2015-06-05 2024-03-05 Cisco Technology, Inc. Technologies for annotating process and user information for network flows
US11902121B2 (en) 2015-06-05 2024-02-13 Cisco Technology, Inc. System and method of detecting whether a source of a packet flow transmits packets which bypass an operating system stack
US10862776B2 (en) 2015-06-05 2020-12-08 Cisco Technology, Inc. System and method of spoof detection
US11496377B2 (en) 2015-06-05 2022-11-08 Cisco Technology, Inc. Anomaly detection through header field entropy
US10904116B2 (en) 2015-06-05 2021-01-26 Cisco Technology, Inc. Policy utilization analysis
US11902120B2 (en) 2015-06-05 2024-02-13 Cisco Technology, Inc. Synthetic data for determining health of a network security system
US10917319B2 (en) 2015-06-05 2021-02-09 Cisco Technology, Inc. MDL-based clustering for dependency mapping
US11902122B2 (en) 2015-06-05 2024-02-13 Cisco Technology, Inc. Application monitoring prioritization
US11431592B2 (en) 2015-06-05 2022-08-30 Cisco Technology, Inc. System and method of detecting whether a source of a packet flow transmits packets which bypass an operating system stack
US10979322B2 (en) 2015-06-05 2021-04-13 Cisco Technology, Inc. Techniques for determining network anomalies in data center networks
US11894996B2 (en) 2015-06-05 2024-02-06 Cisco Technology, Inc. Technologies for annotating process and user information for network flows
US11128552B2 (en) 2015-06-05 2021-09-21 Cisco Technology, Inc. Round trip time (RTT) measurement based upon sequence number
US11121948B2 (en) 2015-06-05 2021-09-14 Cisco Technology, Inc. Auto update of sensor configuration
US11477097B2 (en) 2015-06-05 2022-10-18 Cisco Technology, Inc. Hierarchichal sharding of flows from sensors to collectors
US11102093B2 (en) 2015-06-05 2021-08-24 Cisco Technology, Inc. System and method of assigning reputation scores to hosts
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
CN106126733A (en) * 2016-07-04 2016-11-16 浪潮(北京)电子信息产业有限公司 A kind of method and system changing CSS style
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US11283712B2 (en) 2016-07-21 2022-03-22 Cisco Technology, Inc. System and method of providing segment routing as a service
US20180088873A1 (en) * 2016-09-28 2018-03-29 Riso Kagaku Corporation Image forming apparatus with multiple print engines for distributed processing of single print job
US10082986B2 (en) * 2016-09-28 2018-09-25 Riso Kagaku Corporation Image forming apparatus with multiple print engines for distributed processing of single print job
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US20180278724A1 (en) * 2017-03-22 2018-09-27 Mastercard International Incorporated Systems and methods for automated application deployment management
US10715637B2 (en) * 2017-03-22 2020-07-14 Mastercard International Incorporated Systems and methods for automated application deployment management
US11088929B2 (en) 2017-03-23 2021-08-10 Cisco Technology, Inc. Predicting application and network performance
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US11252038B2 (en) 2017-03-24 2022-02-15 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US11146454B2 (en) 2017-03-27 2021-10-12 Cisco Technology, Inc. Intent driven network policy platform
US11509535B2 (en) 2017-03-27 2022-11-22 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US11863921B2 (en) 2017-03-28 2024-01-02 Cisco Technology, Inc. Application performance monitoring and management platform with anomalous flowlet resolution
US11683618B2 (en) 2017-03-28 2023-06-20 Cisco Technology, Inc. Application performance monitoring and management platform with anomalous flowlet resolution
US11202132B2 (en) 2017-03-28 2021-12-14 Cisco Technology, Inc. Application performance monitoring and management platform with anomalous flowlet resolution
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US11044170B2 (en) 2017-10-23 2021-06-22 Cisco Technology, Inc. Network migration assistant
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US10904071B2 (en) 2017-10-27 2021-01-26 Cisco Technology, Inc. System and method for network root cause analysis
US10346155B1 (en) * 2017-12-29 2019-07-09 Sap Se Compilation optimization via dynamic server cloning
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US11750653B2 (en) 2018-01-04 2023-09-05 Cisco Technology, Inc. Network intrusion counter-intelligence
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
CN112579385A (en) * 2019-09-29 2021-03-30 中国石油天然气集团有限公司 Server file monitoring method and device
US11582302B2 (en) * 2021-01-27 2023-02-14 Rocicorp, Llc System and method for offline-first application development
US11785083B2 (en) 2021-01-27 2023-10-10 Rocicorp, Llc System and method for offline-first application development
US20220239737A1 (en) * 2021-01-27 2022-07-28 Rocicorp, Llc System and method for offline-first application development
CN113918060A (en) * 2021-09-06 2022-01-11 荣耀终端有限公司 Application management method and electronic equipment

Also Published As

Publication number Publication date
US20100030878A1 (en) 2010-02-04
US7603440B1 (en) 2009-10-13

Similar Documents

Publication Publication Date Title
US7603440B1 (en) System and method for management of end user computing devices
US11907254B2 (en) Provisioning and managing replicated data instances
US9378121B2 (en) Item-level restoration and verification of image level
US8332689B2 (en) Systems, methods, and computer program products for instant recovery of image level backups
US10194321B2 (en) Periodic mobile forensics
RU2483349C2 (en) Staged, lightweight backup system
US8407189B2 (en) Finding and fixing stability problems in personal computer systems
US20080215796A1 (en) Virtual Appliance Management
US7480793B1 (en) Dynamically configuring the environment of a recovery OS from an installed OS
CN105204902B (en) A kind of the security patch upgrade method and device of virtual machine
CN112579361A (en) Backup data reconstruction method, device, equipment and storage medium
US20210382795A1 (en) Automated creation of variable data storage environments for application testing
WO2002099642A1 (en) A computer with fault-tolerant booting
Shaik PostgreSQL Configuration
Shaik PostgreSQL Configuration: Best Practices for Performance and Security
EP1390849A1 (en) A computer with fault-tolerant booting

Legal Events

Date Code Title Description
AS Assignment

Owner name: PERSYSTENT TECHNOLOGY CORPORATION, FLORIDA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GRABOWSKI, JOSEPH D.;PATEL, DHAVAL;STURGEON, THOMAS A.;REEL/FRAME:020615/0365

Effective date: 20021230

AS Assignment

Owner name: VELOCITY FINANCIAL GROUP INC., ITS SUCCESSORS AND

Free format text: SECURITY AGREEMENT;ASSIGNOR:PERSYSTENT TECHNOLOGY CORPORATION;REEL/FRAME:021463/0881

Effective date: 20080826

AS Assignment

Owner name: COMERICA BANK, CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:PERSYSTENT TECHNOLOGY CORPORATION;REEL/FRAME:021485/0385

Effective date: 20080826

AS Assignment

Owner name: PERSYSTENT TECHNOLOGY CORPORATION, FLORIDA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:COMERICA BANK;REEL/FRAME:022503/0096

Effective date: 20090403

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION