1. Field of the Invention
The present invention relates in general to the field of information handling systems, and more specifically, to a method and apparatus for generating scripts for the management of manual tasks, operations or processes.
2. Description of the Related Art
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes, thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is processed, stored or communicated, an how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservation, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information, and may include one or more computer systems, data storage systems, and networking systems.
The ongoing management of these systems can become problematic as they proliferate in number and the business operations they are used in become more complex. Exacerbating the situation is the fact that not all operations and/or processes can be completely automated and may require one or more manual actions by a human operator. Some of these operators may possess less than optimal qualifications and/or speak different languages, further complicating the situation. While there are some standardized languages for process management, there is no common grammar between automated and manual operations and/or processes. For example, Business Process Execution Language (BPEL), Orchestration, and similar automation approaches have neither a grammar for manual steps, nor formalized hooks between manual steps and automated steps.
Currently, manual steps are not formalized by a grammar capable of driving operations and/or processes such as auditing, validation, integration with automated steps, remote access, or reusable scripts. There is a need, therefore, for a system and method for implementing grammar-driven scripts for the optimization of manual operations and/or processes. In particular, there is a need for a system and method that can implement such scripts based on known cost-reduction capabilities, quality metrics, task localities, completion times, and/or policies, coupled with the ability to leverage remote expertise, such as subject matter experts.
In accordance with the present invention, a system and method is disclosed for a grammar-driven approach to operations and integration, combined with a run-time engine and/or environment. The present invention makes it possible to reduce the staffing required to perform manual tasks, operations, and/or processes in information technology (IT) operations, data centers, or other operations that require one or more manual actions by human operators.
In the present invention, a process management protocol is implemented based on grammar, such as that used in the flexible construct of a sentence. The Manual Operations Grammar, described in more detail hereinbelow, allows local or remote Subject Matter Experts (SMEs) to formalize manual steps for a task, process and/or operation, in an unambiguous, reusable, and auditable manner. Furthermore, the present invention makes it possible to integrate these steps with automated tasks, processes and/or operations.
In one embodiment of the invention, a remote SME lab has a local break-fix staff install boot CDs in a plurality of information handling systems (e.g., servers), then remotely and automatically continue the validation and set-up of each system. In various embodiments of the invention, many associated elements of the method are “grammar driven,” including the integration between manual and automated tasks, processes and/or operations. These tasks, processes and/or operations can include security access levels, audit sign-off, reporting of time stamps, audits, and success/failure events, as well as task dependencies potentially affecting allowable optimizations.
Those of skill in the art will understand that many such embodiments and variations of the invention are possible including, but not limited to, those described hereinabove.
The present invention may be better understood, and its numerous objects, features and advantages made apparent to those skilled in the art by referencing the accompanying drawings. The use of the same reference number throughout the several figures designates a like or similar element.
For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence or data for business, scientific, control or other purposes. For example an information handling system may be a personal computer, a network storage device, or any other suitable device and may vary in size, shape performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, read only memory (ROM), and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
As was discussed above, the ongoing management of these systems can become problematic as they proliferate in number and the business operations they are used in become more complex. In particular, the management of information handling systems in some environments is complicated by the fact that there is no common grammar for use in process management languages to integrate automated and manual operations and/or processes.
The present invention provides a method and system wherein a management process can be implemented based on the flexible construct of a sentence. Those of skill in the art will recognize that sentences are flexible because language recognizes cohesion. For example, there may be no obvious similarity or function between elements of a sentence, yet they can be interchangeably combined, based on rules of grammar. The Manual Operations Grammar, described in more detail hereinbelow, allows local or remote Subject Matter Experts (SMEs) to use grammar to formalize manual steps for a task, process and/or operation and to integrate these steps with automated tasks, processes and/or operations. These tasks, processes and/or operations can include security access levels, audit sign-off, reporting of time stamps, audits, and success/failure events, as well as task dependencies potentially affecting allowable optimizations.
In one implementation of this embodiment of the invention, automated tasks, operations, and/or processes, representing a unified and automated management system, are entered in by an auto systems input 202 that can be implemented using an information handling system. In various embodiment of the invention, these same automated tasks, operations, and/or processes, can be represented by high-level scripts.
In step 206, predetermined gaps in the automated management system are identified, and hooks for manual operations are established and defined. In step 208, a task plan is built by merging and/or integrating a plurality of automated scripts and/or tasks with a plurality of manual scripts/tasks. In one embodiment of the invention, a human operator can perform the actions in this step locally.
In various embodiments of the invention, a remote human operator such as a subject matter expert (SME) using the remote SME information handling system 210, can access a library 214 containing scripts for both automated and manual operations, as well as mapping and late binding information which can be used in conjunction with an editor 212 to perform these same steps. The resulting script becomes a sequence of automated and manual tasks with late binding, which allows linking to, and/or invocation of, current versions of validations, best practices, and policies. Once the automated script portions of the task plan have been verified, manual tasks can be added, which can then be verified for proper operation.
Upon verification, the resulting script can be subdivided into tasks and runtime hooks for manual operations can be added. In various embodiments of the invention, metadata tags may be added to the scripts including, but not limited to, dependency tasks (e.g., for optimization passes on task grammar), estimated time to complete, and predetermined skill required (e.g., for who and sign-off). In addition, metadata tags may be added for launch schedule (e.g., time, recurrence frequency such as daily, weekly, etc., or launch event), and priority levels (e.g., urgent problem management, cost-benefit change management, low priority maintenance, etc.). Upon completion and successful validation, the resulting script can be added to the library 214.
In Step 216, the task plan can be optimized by an optimizer module 218. In one embodiment of the invention, a hybrid dependency graph can be generated, providing a topological sort of all fixed dependencies between tasks. In other embodiments of the invention, large-scale automated management systems may require a pre-pass at script-level, followed by task-levels within scripts. Optimization passes can be based on an optimal match based on fixed criteria (e.g., physicals, regulations, staff skills, max staffing) and/or weighted policies (cost, staff, off-peak, time).
In one embodiment of the invention, the optimizer 218 comprises a dependency engine that is operable to optimize the sequence of operations, allowing manual operations to be combined when feasible. These manual operations can then be performed in large blocks, thereby optimizing the use of human operators performing manual operations. As an example, optimization choices can include references to physical resources, time (e.g., three 5-minute tasks combined to create a worthwhile task block), recurrence level (e.g., daily, weekly, etc.), and priority level.
In step 220, the task plan can be reviewed by displaying scripts, mappings, binding info etc., and if required, manually overridden for out-of-band errors, advanced knowledge of the execution environment, or other possible error situations. Those of skill in the art will appreciate that automated or manual matches to existing manual scripts can allow skipping some or all of the steps and sub-steps comprising step 208 and step 216, but late binding steps as described in step 220 cannot be omitted. In step 222, the task plan is executed by queuing the highest-priority, non-blockable task list, which is defined as a trade-off between automated and manual operations. In step 224, the tasks are personalized (e.g., skill, language, localization, etc.) before they are presented as a manual task list 228 on the display of an information handling system 226 used by a human operator 230.
The human operator 230 then executes the tasks, operations and/or processes listed in the manual task list 228 and sign-off information 232 is entered as input 234 to an information handling system 226. The entered sign-off information 232 is audited in step 236 before being verified in step 242. In step 242, the verified and reported task plan can be presented for re-execution in step 222, presented as automated system output to an information handling system (e.g., as input to another system) 240, or stored as reported history 215, which can be presented and/or reviewed by a SME using a remote SME information handling system 210. As an example, reporting can include but is not limited to, the tracking of manual and automation metrics, estimated time versus defined time-per-tasks, signoff auditing, as well as failure, warning, and message logs.
Next, a first sequence of manual operations 320, comprised of a first manual operation 322, through N number of manual operations 306, is initiated, in accordance with scripts previously retrieved from sequence library 316. As will be apparent to those of skill in the art, the root Manual Operations Grammar unit called by an operations control system or subject matter expert (SME), is in the form of a script, implementing syntax as illustrated in the samples hereinbelow.
Sample 1:
Sample 2:
Sample 3:
Sample 4:
Prior to execution of the first manual sequence 320, late binding script references 326, which allow linking to and/or invocation of, current versions of physicals (e.g., current CD version), validations, best practices, and policies, are accessed from sequence library 316. Concurrently, the operations control system may request a time stamp 328, 330, whenever a late binding script reference is associated with each manual operation 322, 324 of the first manual sequence 320. In step 332, the post validator process is executed to check the validity of the scripts comprising the first manual sequence 320.
If, in step 334, validity checks are verified to be successful, a verification time stamp may be generated in step 340, before proceeding to the second automated sequence 342, comprised of a third automated operation 344 and a fourth automated operation 346. If, in step 334, validity checks fail, and are verified to not be successful, binding script references can be called 336 from sequence library 316 and associated with a failure time stamp 338.
Those of skill in the art will realize that various embodiments of the invention are not limited to integration of automated and manual task lists, the sample grammar as illustrated hereinabove, or maintenance of information handling systems. Furthermore, the grammar-driven integration described herein can enable manual tasks, processes and/or operations for IT desktops, field ready units, service installations (e.g., phone, cable), or any series of tasks, operations and/or processes that may include the management of manual actions by human operators. Skilled practitioners in the art will recognize that many other embodiments and variations of the present invention are possible. In addition, each of the referenced components in this embodiment of the invention may be comprised of a plurality of components, each interacting with the other in a distributed environment. Furthermore, other embodiments of the invention may expand on the referenced embodiment to extend the scale and reach of the system's implementation.
At a minimum, the present invention provides a system and method for a grammar-driven approach to operations and integration, combined with a run-time engine and/or environment, which can reduce the staffing required to perform manual tasks, operations, and/or processes in information technology (IT) operations, data centers, or other operations environments that use information handling systems requiring one or more manual actions by human operators. Furthermore, human operator staff may not require as much skill, or a common native language when using an implementation of various embodiments of the invention. In addition, implementation of the invention can enable cost reductions that include staffing, training, automated reporting, service times, mean time to recovery (MTTR), and off-peak utilization. Similarly, use of the invention can facilitate quality improvements that include removing ambiguity, task-based sign-off, improved error rates, auditability, complete reporting, shortened service times, enhanced safety, and mean time to recover (MTTR).