US20070256050A1 - Bi-Directional Communication Between Change Management Tool and Implementation Tools - Google Patents

Bi-Directional Communication Between Change Management Tool and Implementation Tools Download PDF

Info

Publication number
US20070256050A1
US20070256050A1 US11/741,709 US74170907A US2007256050A1 US 20070256050 A1 US20070256050 A1 US 20070256050A1 US 74170907 A US74170907 A US 74170907A US 2007256050 A1 US2007256050 A1 US 2007256050A1
Authority
US
United States
Prior art keywords
task
change
tasks
implementation
act
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.)
Granted
Application number
US11/741,709
Other versions
US8887133B2 (en
Inventor
Kia Behnia
Douglas Mueller
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.)
BMC Software Inc
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US11/741,709 priority Critical patent/US8887133B2/en
Assigned to BMC SOFTWARE, INC. reassignment BMC SOFTWARE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BEHNIA, KIA, MUELLER, DOUGLAS
Publication of US20070256050A1 publication Critical patent/US20070256050A1/en
Assigned to CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT reassignment CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: BLADELOGIC, INC., BMC SOFTWARE, INC.
Priority to US14/535,030 priority patent/US9152413B2/en
Application granted granted Critical
Publication of US8887133B2 publication Critical patent/US8887133B2/en
Priority to US14/872,869 priority patent/US11132192B2/en
Assigned to CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT reassignment CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BLADELOGIC, INC., BMC SOFTWARE, INC.
Assigned to BMC ACQUISITION L.L.C., BMC SOFTWARE, INC., BLADELOGIC, INC. reassignment BMC ACQUISITION L.L.C. RELEASE OF PATENTS Assignors: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Assigned to THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT reassignment THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BLADELOGIC, INC., BMC SOFTWARE, INC.
Assigned to THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT reassignment THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BLADELOGIC, INC., BMC SOFTWARE, INC.
Assigned to ALTER DOMUS (US) LLC reassignment ALTER DOMUS (US) LLC GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Assignors: BLADELOGIC, INC., BMC SOFTWARE, INC.
Assigned to BLADELOGIC, INC., BMC SOFTWARE, INC. reassignment BLADELOGIC, INC. TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Assignors: ALTER DOMUS (US) LLC
Assigned to GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT reassignment GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Assignors: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Definitions

  • the subject matter of the present disclosure relates to bi-directional communication between a change management tool and implementation tools in an Information Technology Infrastructure.
  • the tool may be the Remedy Change Management 7.0 by BMC Software, Inc. After performing the change/release, these individuals would manually update the status of the change (e.g., via a configuration management tool) in a piece wise fashion to indicate that the change was implemented. If needed for compliance purposes, one or more individuals could then manually verify the changes. While this approach may provide some control during the planning of a change, it provides no assistance for automating changes or for verifying that approved changes were made.
  • FIG. 1 shows a tool 100 according to the prior art for implementing changes in an IT infrastructure.
  • the tool 100 is generally manual and operates in a piece-wise fashion as discussed earlier.
  • the tool 100 receives a change request 102 that can involve software distribution, software patch management, hardware parameter adjustments, adding a new user, or other type of change to the hardware and software components of the IT infrastructure.
  • administrators can review the change request 102 , approve the request, and plan its implementation.
  • a number of implementation actions 110 / 115 are sent to various implementation tools 160 / 165 in the IT infrastructure.
  • one change request 102 can generate numerous individual implementation actions 110 / 115 for numerous implementation tools 160 / 165 .
  • Each implementation tool 160 / 165 then performs the requested action 162 and registers a response 164 either manually or automatically.
  • each implementation tool 160 / 165 performs its implementation action 110 / 115 without any knowledge of why the action is performed.
  • each implementation tool 160 / 165 has no knowledge of any other tool being used or what its actual role is in solving the original change request 102 .
  • the implementation tools 160 / 165 may have their own login or access criteria, thereby hindering any automation of the change process in the infrastructure.
  • the subject matter of the present disclosure is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.
  • the change management tool is used to configure tasks to implement a change to the configuration of an IT infrastructure using implementation tools deployed on the infrastructure.
  • the change management tool assigns tag information to the change.
  • the tag information preferably includes a first identifier (e.g., a Change ID) associated with the requested change and includes second identifiers (e.g., Task IDs) associated with each of the tasks configured to implement the change.
  • the change management tool manually or automatically sends task instructions to the implementation tools to perform the tasks.
  • the task instructions include the identifiers and other task-related information to implement the task.
  • the implementation tools send responses to the change management tool, which receives implementation results in the responses.
  • each response includes the identifiers along with the implementation result.
  • the change management tool maps/associates each implementation result to the tasks and other requirements associated with the configuration change.
  • the mapped/associated results can then be made available for subsequent processing to meet various purposes.
  • the associated results can be available to a user or to another software application.
  • the user can assess the status (e.g., success or failure) of the configuration change across the multiple tasks and implementation tools.
  • the user or the change management tool can test, interpret, check, etc. the results so that further decisions related to the change process can be made.
  • the change management tool can use the associated results to determining which subsequent task to perform in implementing the change. For example, if implementation of given task returns a specific result, conditions or qualifications configured in the change management tool may indicate that one subsequent task should follow rather than another in order to implement the change request.
  • the change management tool can use the associated results as inputs for subsequent tasks that are to be performed in implementing the change.
  • FIG. 1 illustrates a tool and associated components according to the prior art for implementing a change to an IT infrastructure.
  • FIG. 2 illustrates one embodiment of a change management tool having a task management tool and associated components for implementing a configuration change to an IT infrastructure.
  • FIG. 3 illustrates a process of how the disclosed change management tool can be used to manage the configuration change to the IT infrastructure.
  • FIG. 4 illustrates an example of how task template forms can be grouped and arranged in a workflow using the task management tool.
  • FIGS. 5A-5D illustrate views of a task template form of the task management tool.
  • FIGS. 6A-6D illustrate views of a task group template form of the task management tool.
  • FIGS. 7 illustrates a process for configuring bi-directional communication between the change management, task management, and implementation tools.
  • FIG. 8A illustrates a registry form for registering an implementation tool for bi-directional communication with the change management tool.
  • FIG. 8B illustrates a return code form for configuring return codes received from registered implementation tools.
  • FIG. 8C illustrates an integration form for configuring an interface between an implementation tool and the change management tool.
  • the data communicated from the change management tool (which may also be referred to as a release management tool) to an implementation tool may include, but is not limited to: a change/release identifier (associated with an approved change/release operation); a task identifier (associated with a task to implement part of the change/release); configuration information on where the change needs to be implemented (e.g., applications, systems, groups of systems, groups of applications, or devices); the criticality or priority of the change/release; and one or more methods to automatically invoke an implementation tool.
  • data communicated to the change management tool from an implementation tool may include, but is not limited to: one or more methods to automatically invoke the change management tool; a task identifier (associated with the task to implement a part of the change); a change/release identifier (associated with the approved change/release operation); configuration information on where the change needs to be implemented (e.g., applications, systems, groups of systems, groups of applications, or devices); task status; and additional details (e.g., implementation time, cost, etc.).
  • a task identifier associated with the task to implement a part of the change
  • a change/release identifier associated with the approved change/release operation
  • configuration information on where the change needs to be implemented e.g., applications, systems, groups of systems, groups of applications, or devices
  • task status e.g., implementation time, cost, etc.
  • FIG. 2 shows a change management tool 200 according to one embodiment relative to a plurality of implementation tools 260 / 265 .
  • the implementation tools 260 / 265 are distributed across an IT infrastructure for implementing changes to various software components, hardware components, and other aspects of the infrastructure's configuration.
  • the implementation tools 260 / 265 may be software tools for performing actions (manually or automatically) to implement a change to the infrastructure's configuration.
  • Some typical examples of the types of changes that may be made to the infrastructure's configuration include releases of software packages, deployment of software patches, management of software licenses, updating policies, and other changes/releases.
  • a consistent and controlled process is used to make such changes.
  • the change management tool 200 provides a “closed loop” approach to implement configuration changes.
  • the change management tool 200 automatically transfers information between stages of operation to maintain the integrity of the configuration change.
  • the change management tool 200 can track whether changes to the configuration are made successfully by verifying the implementation of software-related and other tasks required to make the change.
  • verification of the tasks by the change management tool 200 also provides administrators with audit trails of the changes made to the configuration.
  • the change management tool 200 includes a database 220 .
  • the database 220 is a configuration management database (“CMDB”) in accordance with the Information Technology Infrastructure Library (“ITIL”) standard.
  • CMDB configuration management database
  • ITIL Information Technology Infrastructure Library
  • Such a database 220 is well known in the art and generally stores configuration information related to rules, policies, and resources (software, hardware, etc.) of the IT infrastructure.
  • the change management tool 200 includes a task management tool 210 . Although illustrated as part of the change management tool 200 , the task management tool 210 may actually be a separate application capable of operating in conjunction with the change management tool 200 .
  • the task management tool 210 is used to manage the various tasks required to implement a requested change to the infrastructure's configuration.
  • FIG. 3 shows a process 300 of using the change management tool 200 and task management tool 210 to manage a change to the infrastructure's configuration.
  • the change management tool 200 receives a change request 202 and generates a unique identifier for that request (e.g., a Change ID) (Block 305 ).
  • a change request 202 involves a request to release and install the latest version of a software application on systems of the infrastructure.
  • a user may submit a service request to install the latest version of the software application on one or more systems.
  • the change request 202 can include, but may not be limited to, a request to distribute software, manage a software patch, adjust a hardware parameter, configure new user information, or perform some other type of change to the hardware or software configuration of the IT infrastructure.
  • the tag information 270 includes the unique identifier for the change request 202 (e.g., Change ID) and includes unique identifiers for each of the configured tasks (e.g., Task IDs), among other information disclosed herein.
  • the identifiers can generally be character strings of a global unique identifier (GUID).
  • GUID global unique identifier
  • the tag information 270 is used in the bi-directional communication between the change management tool 200 and the implementation tools 260 / 265 . To achieve the communication, the tag information 270 can comprise any suitable data structure, protocol, and standard known in the art for communicating information between software tools and hardware components of an IT infrastructure.
  • the tasks can be policy-based, deployment-based, or verification-based.
  • Policy-based tasks include tasks for deploying applications and data, deploying patches, harvesting licenses when maximum limits have been exceeded, and enforcing the removal of unauthorized applications.
  • Deployment-based tasks include tasks for deploying software or data and executing one-time jobs, commands, and scripts.
  • Verification-based tasks include tasks to verify compliance for policy-based tasks based on a target, package, or both.
  • Each change request 202 can require multiple tasks of different types with each task being essential to the successful implementation of the change.
  • the change request 202 may require various implementation tools 260 / 265 throughout the IT infrastructure to implement the multiple tasks.
  • the multiple tasks may need to be performed in a defined sequence or workflow.
  • the task management tool 210 has a graphical user interface (GUI) 212 having a plurality of task template forms 214 and other forms that allow users to configure the various tasks and input information consistently.
  • GUI graphical user interface
  • the template forms 214 contain fields for the input and output of information and variables used during the change management process. Some of the template forms 214 may have a variable structure so that information can be exchanged automatically between the forms 214 .
  • the task template forms 214 can be grouped together and related by associations and workflows.
  • the task management tool 210 allows users to collect together individual task template forms 214 as a group, define associations between task template forms 214 or groups of task template forms 214 , define a workflow or sequencing scheme for implementing the various task templates forms 214 and groups, and define dependencies between the associated task template forms 214 and groups.
  • the task management tool 210 communicates task instructions 230 / 235 to targeted implementation tools 260 / 265 deployed across the infrastructure (Block 215 ).
  • the task instructions 230 / 235 include task-related information for the targeted implementation tool 260 / 265 to perform the task.
  • the task instructions 230 / 235 also include tag information 273 (e.g., Change ID, Task ID, etc.) for identification, tracking, auditing, and other purposes disclosed herein. This tag information 273 comes from the tag information 270 generated automatically and manually when the tasks are configured and planned. In generally, the tag information 273 for each task instruction 230 / 235 may or may not be the same depending on the particular tasks, designated implementation tools, and other factors.
  • the task management tool 210 sends out the various task instructions 230 / 235 using an interface 216 configured between the task management tool 210 and the implementation tools 260 / 265 .
  • This interface 216 can automatically launch and/or can be manually activated in some embodiments so that task instructions 230 / 235 can be implemented automatically or manually based on the IT infrastructure and various required tasks.
  • the task management tool 210 can send different types of tasks (e.g., policy, deployment, and verification tasks) in a specified sequence according to a desired workflow (See e.g., FIG. 4 ).
  • the implementation tools 260 / 265 Upon receiving the task instructions 230 / 235 , the implementation tools 260 / 265 then perform the requested actions 262 of these tasks (Block 320 ). Because the implementation tools 260 / 265 are preconfigured for integration with the change management tool 200 , the interface and communication of the task instructions 230 / 235 to the implementation tools 260 / 265 can be performed with seamless authentication. In this way, the implementation tool 260 / 265 can launch the requested actions 262 without requiring additional authentication or user intervention (such as entry of a user ID and password).
  • Each implementation tool 260 also registers a response 264 for the performed action 262 .
  • the response 264 can indicate whether the action 230 / 235 has succeeded or failed or the response may be some variable or other parameter.
  • the implementation tools 260 / 265 send results 240 / 245 back to the change management tool 200 , which logs the various results 240 / 245 (Block 325 ).
  • the results 240 / 245 include details or results that may indicate whether implementation of the task has resulted in completion, error, failure, or other variable.
  • the results 240 / 245 can include a return code value or some other indication of whether implementation of the requested task was successful or not.
  • the results 240 / 245 include tag information 274 (e.g., Change ID and Task ID) used for tracking, verification, and auditing. Because the identifiers are included in the results 240 / 245 , the change management tool 200 is better able to match and track the implementation of the change request 202 and all of the various tasks and subtasks associated with it across the IT infrastructure. Based on the tagged results 240 / 245 it receives, the change management tool 200 can then verify the implementation of the change request 202 and perform other reporting functions.
  • tag information 274 e.g., Change ID and Task ID
  • each implementation tool 260 / 265 can automatically respond, or the change management tool 200 can query or “ping” the implementation tool 260 / 265 using tag information (e.g., Change and Task IDs) to get specific results or response codes.
  • tag information e.g., Change and Task IDs
  • the implementation tool 260 / 265 can also deliver results to a third party application. After that, the change management tool 200 can query that application for the results using tag information for identification.
  • the implementation tool 260 can communicate its result 240 directly back to the task management tool 210 with information about the implementation identified by the associated tag information 274 .
  • This form of returning results may be suitable for web-based interactions between the task management tool 210 and the implementation tool 260 that may be a third party application and not already configured to communicate directly with the configuration management database 220 .
  • the implementation tool 265 can communicate information in a result 245 directly to the configuration management database 220 or some other third party application.
  • This form of returning results may be suited for automated implementation tools 265 configured to auto-launch and communicate directly with the configuration management database 220 using a required format, protocol, etc.
  • Subsequent interactions 250 made at arbitrary or regular intervals between the task management tool 210 and the configuration management database 220 can be used to exchange implementation details and other information identified by the tag information 275 so that tasks and the change request 202 can be updated.
  • a review stage administrators use the change management tool 200 to review whether the change request 202 was indeed completed and can test, interpret, check, etc. the implementation results so that further decisions related to the change process can be made (Block 330 ). Because information regarding the task identifier, target, and packages has been automatically returned to the configuration management tool 200 in tag information 274 , the tool 200 can automatically verify the status of the task whenever a result 240 / 245 is received. If the task is successful, the tool 200 can mark the task as closed. In the review stage, the administrators can also analyze key performance indicators (KPIs), how many incidents were eliminated by the change request 202 , and the accuracy of the configuration management database 220 .
  • KPIs key performance indicators
  • the change management tool 200 can use the returned implementation results to drive subsequent processing steps to implement the change (Block 335 ). Two forms of driving subsequent processing are discussed below. It will be appreciated that the change management tool 200 can use these and other forms of subsequent processing based on returned implementation results.
  • the change management tool 200 can use the returned results to determine what subsequent tasks to perform in order to implement the change request 202 . If, for example, implementation of given task returns a specific result, conditions or qualifications configured in the change management tool 200 may automatically indicate that a particular task (as opposed to some other task) should subsequently be performed to implement the change.
  • the change management tool 200 can use the implemented result of a given task as input for a subsequent task to be performed in implementing the change.
  • a first task may require an implementation tool to look up information about a machine assigned to a particular user (e.g., obtain a network address from the configuration management database 220 ). Then, that information can be used in a subsequent task to install a given piece of software on the identified machine.
  • the tag information 270 in various forms ( 273 , 274 , 275 , and 276 ) facilitates the bidirectional communication between the change management tool 200 , task management tool 210 , and the implementation tools 260 .
  • the tag information 270 may be multi-part and at least include unique identifiers, such as Change ID and Task ID.
  • the tag information 270 may also include time stamps and information about target machines.
  • the tag information 270 can identify an overall process, a subtask of that process, and a location in the configuration management database 220 so that the implementation tool 260 / 265 can provide data to the configuration management database 220 for the IT infrastructure.
  • the tag information 270 can include information to eliminate the need for the change management tool 200 to mediate all activities of each implementation tool 260 / 265 to make changes.
  • the tag information 270 can include login and authentication information to allow the implementation tools 260 / 265 to execute the actions 262 of the task without the need for user intervention.
  • any such login and authentication information of this nature is encrypted so that the tag information 270 itself or any part of it may be encrypted using techniques known in the art.
  • the tag information 270 can include access information so that the implementation tools 260 / 265 can access third party data to accomplish a task and can also include command line instructions or the like. In this way, the implementation tool 260 / 265 can access a database (e.g., configuration management database 220 ) to identify required data needed to accomplish some implementation task.
  • a database e.g., configuration management database 220
  • FIG. 4 shows an example of how tasks can be arranged in a group 400 and a workflow 410 .
  • a Task Group Template A is shown having a plurality of grouped template forms ( 1 , 2 , 3 A-B, and 4 ) associated with it.
  • FIG. 4 is simplified and that arrangements, groupings, and workflows between tasks as configured by the template forms may be more or less complex than depicted.
  • multiple workflows and groupings may be simultaneously used and executed to implement a particular change and that multiple pieces of information, variables, and data can be configured for exchange between the various tasks, groups, etc.
  • the various task templates can be executed in a particular order by associating and arranging the task templates as a workflow 410 .
  • the workflow 410 follows the order of F 1 to F 3 .
  • the task of template 1 is executed first, then the task of template 2 , and so on.
  • Some features of the workflow 410 can be based on conditions or qualifications that can drive subsequent processing steps in implementing the change.
  • task template 2 can be configured to determine what subsequent task to implement next (e.g., either template 3 A or 3 B). Therefore, after the task associated with task template 2 is implemented and the implementation result returned for it, conditions or qualifications configured in the task template 2 can determine based on the particular implementation result returned whether the workflow proceeds next to the task of template 3 A or that of template 3 B.
  • the various task templates can also be set up to exchange variables and other data with the task group template A, with a variable pool, with each other, and with other tasks and groups. For example, after the task associated with task template 3 A is implemented and the implementation result returned for it, the implementation result can be used as input in performing the subsequent tasks of template 4 to implement the change. Likewise, implementation results, variables, and other data resulting from performance of the task in template 1 can thereafter be used in performing the task in template 3 B, for example, by configuring the templates to exchange data with a variable pool 420 .
  • FIG. 5A shows a task template form 500 that administrators can use to configure the components of a task.
  • the user can create two distinct types of tasks. One type is a manual task where a person or other manual means performs a task's action manually. The other type of task is an automatic task where an automatic action or predefined instruction is executed at run time.
  • the administrator can use the form 500 to create an automatic action that runs by itself, to define a specified action that must be accomplished manually, to enter data for mapping/associating input variables, and to input data that is written from the task to another task or task group in the form of an output variable.
  • an administrator can input commands for the task. These commands may be preconfigured or user-created and are stored as components associated with the interface ( 216 ) of the change management tool ( 200 ).
  • the commands can include static values and parameters and can include command lines that will execute at runtime, such as launch or details commands.
  • Some other tabs of the task template form 500 allow the user to classify a task and input assignments, completion, financials, usage, and system information for the task.
  • FIGS. 5B-5C show input and output tabs 510 and 520 of the task template form 500 of FIG. 5A .
  • administrators can map/associate input and output variables that can be exchanged between the tasks and between the task and the pool of variables.
  • implementation results e.g., details about the success or failure of the task's implementation
  • the administrator uses the input and output tabs 510 and 520 to map/associate disparate input formats (e.g., variables from returned results 240 / 245 ) to a more consistent reporting output format for the task management tool 210 .
  • variable mappings/associations under these tabs 510 / 520 enable data to be passed into and out of fields when the task is executed at runtime.
  • the variables can be user-defined or predefined, and the user can map existing variables to or from fields in the task template form. During execution, a pool of fields is made available in the task template form for variable usage so that variables can be mapped to and from the various fields defined for the task.
  • FIG. 5D shows the automatic tab 530 of the task template form 500 of FIG. 5A .
  • the administrator can define automatic commands for automatic types of tasks.
  • Some of the automatic commands that can be configured include adding/deleting fields in a task template form, checking for approval to perform a task, copying a field from another task template form, setting up compliance parameters, and performing other automatic actions.
  • FIG. 6A shows a task group template form 600 for administrators to create a group of tasks.
  • This form 600 includes many similar features available with the individual task template form 500 of FIG. 5A .
  • the task group template form 600 has tabs for mapping/associating input and output variables that enable data to be passed into and out of fields when the task group is executed.
  • the administrator can define the task group by associating various individual task template forms and other task group template forms together to be contained in the group such that they constitute a certain action. Once various tasks and groups are associated together, the administrator then establishes how the associated tasks in the group relate to one another by creating a workflow.
  • the administrator can construct a workflow that will determine the sequence in which grouped tasks are generated at runtime. If the task group contains other task groups, these may already have a workflow established within their configuration.
  • the group's flow consists of one or more flow relationship records.
  • Each flow relationship record consists of a task group or task template form, called a predecessor, linked to another task group or task template form, called a successor.
  • These records can be arranged to produce a number of possible flow relationships. For example, two tasks can be started at the same time by marking them both as Start. Tasks or task groups can occur simultaneously by linking the same predecessor to more than one successor. In addition, more than one task or task group can be completed before a successor can start by linking two or more predecessors to the same successor.
  • a change request 202 may involve multiple tasks to be performed to implement the change and the multiple tasks can be grouped together
  • the task management tool 210 is able to determine whether the tasks, group, and change has been successfully completed.
  • a task group may be determined complete only once all of the individual tasks and groups that it contains have run. When a task group is complete, its status is evaluated as either succeeding or failing, although other conditions can be used. By default, the task group is considered successful when all the task groups or tasks that it contains have a status of Success. If any do not have a status of Success, the task group can be given a status of Failed or Canceled.
  • administrators can specify evaluations to determine whether a task group is complete or successful.
  • the administrator can define operations on variables gathered from associated task groups and individual tasks. These operations are built into evaluation statements to evaluate the resulting status of the tasks. Some possible operations on the variables can include determining minimum, maximum, sum, average, count, etc., and these operations can be applied to variables in the fields from the individual task and task group template forms from which data is to be collected. Result fields then stores the results of the expressions that are then made available to the administrators.
  • the administrator can then construct conditions or qualifications that can drive the change process and that can determined when a task or group is done or completed.
  • the conditions or qualification can be built from the results fields of the various expressions in the operations tab 630 .
  • the change process can be configured to determine what subsequent tasks are to be performed in implementing the change and what information is to be exchanged.
  • each implementation tool 260 / 265 has to be registered to accept task instructions 230 / 235 and associated tag information 273 (e.g., Change and Task IDs) from the change management tool 200 , to know what to do with the task instructions and tag information, to know how to respond to the task instructions and tag information, and to use additional parameters.
  • tag information 273 e.g., Change and Task IDs
  • each registered implementation tool 260 / 265 may be provided its own unique identifier (e.g., Registry ID) that can be added to the tag information and used to identify implementation tools 260 / 265 and to track responses from the various implementation tools.
  • FIG. 7 shows a process 700 in flowchart form for initially configuring the bi-directional communication.
  • the administrator first registers various implementation tools 260 / 265 to interface with the change management tool 200 and the task management tool 210 (Block 705 ). Then, the administrator configures how the various implementation results and details (e.g., return codes) received from the registered implementation tools 260 / 265 will map to desired status details (e.g., success or failure) at the change management level within the change management tool 200 (Block 710 ). Finally, the administrator configures the integrations between the change management tool 200 and the implementation tools 260 / 265 so that they will be able to interface in bi-directional communication during the change management process (Block 715 ).
  • various implementation results and details e.g., return codes
  • desired status details e.g., success or failure
  • FIG. 8A shows a registry form 800 for registering an implementation tool ( 260 / 265 ) for use with the change management tool ( 200 ).
  • the administrator can register a name, description, and status (active or inactive) of the implementation tool (i. e., application).
  • the change management tool 200 For each tool registered, the change management tool 200 generates a unique identifier (e.g., a Registry ID).
  • the administrator can define what forms (template, instance) are to be associated with the implementation tool and can define connection information for communicating with the implementation tool, such as whether the connection is local or remote.
  • the administrator can also associate various elements, such as templates 214 , interface forms, instance forms, etc., with the implementation tool.
  • the registered information becomes a means for the task management tool 210 to recognize the implementation tool 260 / 265 , to set the configuration settings such as mode of connection (local or remote), and to use this information to establish the context for the features of the task management tool 210 that will be used for the associated implementation tool 260 / 265 .
  • the administrator configures how various return code values from registered implementation tools 260 / 265 will map to information for the various task forms of the GUI 212 defined for a change request.
  • the return code values from a given implementation tool 260 / 265 may not be very useful for determining status of a change request or task and whether the overall change request and its subtasks are complete.
  • the administrator can specify how the status and reasons for a given task should be mapped to/associated with a particular return code received from an implementation tool 260 / 265 .
  • FIG. 8B shows a return code form 810 for configuring how return codes from implementation tools 260 / 265 map to desired status information at the management tools ( 200 , 210 ).
  • the administrator can select one of the registered implementation tools (i.e., application name) and input a return code value that would be returned from this selected tool.
  • the administrator can select a template form (e.g., task or group template forms) to associate with the return code, a corresponding status that the return code will map to on the selected form, a corresponding status reason that will be provided on the selected form, and an indication of whether the entered return code is active or not.
  • the implementation tool returns the specific return code value
  • the corresponding status and status reason are mapped on the task template form. For example, a return code value of Error from an implementation tool 260 / 265 could be mapped to indicate a status of Pending and a status reason of Error on a task template form.
  • FIG. 8C shows an integration form 820 for configuring an interface between an implementation tool ( 260 / 265 ) and the management tools ( 200 / 210 ).
  • the administrator can select a registered implementation tool (i. e., application name) for integration with the change and task management tools ( 200 / 210 ).
  • the administrator can associate one or more template forms ( 214 ) with the selected implementation tool ( 260 / 265 ) by associating a primary form, a template form, and a relationship form with that selected tool, for example.
  • the administrator can indicate the integration as being active or inactive and can indicate options for the integration, such as whether to use a particular size view, group assignments, individual assignments, and notifications.
  • the administrator can define what fields to include for a task when a task template form is opened and can define other details for inputting, viewing, and relating information between tasks and the implementation tool.
  • a change request 202 can be configured to have various elements of information grouped and associated together and arranged in workflows.
  • the tag information e.g., Change ID, Task IDs, Registry IDs, access information, log-in and authentication information, and any other information
  • the tag information e.g., Change ID, Task IDs, Registry IDs, access information, log-in and authentication information, and any other information
  • Acts in accordance with the disclosed change and task management techniques may be performed by a programmable control device executing instructions organized into one or more program modules.
  • a programmable control device may be a single computer processor, a special purpose processor, a plurality of processors coupled by a communications link or a custom designed state machine.
  • Storage devices suitable for tangibly embodying program instructions include, but are not limited to: magnetic disks (fixed, floppy, and removable) and tape; optical media such as CD-ROMs and digital video disks (“DVDs”); and semiconductor memory devices such as Electrically Programmable Read-Only Memory (“EPROM”), Electrically Erasable Programmable Read-Only Memory (“EEPROM”), Programmable Gate Arrays and flash devices.
  • EPROM Electrically Programmable Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory

Abstract

An automated change management method and system has a change tool that associates a first identifier with each request to change the configuration of an Information Technology infrastructure. Tasks are configured to implement the change, and the change tool associates a second identifier with each of the tasks. The change tool sends task instructions to implementation tools to perform the tasks where each of the task instructions includes the first and second identifiers. The change tool receives responses to the task instructions where each response includes the first and second identifiers and an implementation result. The change tool maps/associates each of the implementation results to the associated change request and task based on the first and second identifiers. The associated results can be made available to a user for review, interpretation, etc. and can be used to drive subsequent processing by other task in the change process.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This is a non-provisional of U.S. Provisional Application Ser. No. 60/745,872, filed 28 Apr. 2006, and entitled “Bi-directional Communication Between Change/Release Process Tools and Implementation Tools,” which is incorporated herein by reference in its entirety and to which priority is claimed.
  • FIELD OF THE DISCLOSURE
  • The subject matter of the present disclosure relates to bi-directional communication between a change management tool and implementation tools in an Information Technology Infrastructure.
  • BACKGROUND OF THE DISCLOSURE
  • Today many organizations implement solutions to manage the process of requesting, planning, and implementing changes to their Information Technology (“IT”) infrastructure. Sometimes, multiple, related changes must be made to software and/or hardware components of the infrastructure. Such changes can also be referred to as “releases.” Traditionally, organizations use multiple tools to implement such changes and/or issue new releases in a piece-wise fashion where each tool is used to implement its part independently. One problem with this piece-wise approach is that often the operations to institute the multiple changes across the existing infrastructure involve dependent and related changes that need to be planned, approved, and implemented in a coordinated way. Complicating the implementation of such changes are the compliance concerns over verification of the changes across multiple toolsets.
  • In one prior art approach, organizations use a tool to handle the request for a change, plan the change using the tool, and then individually assign the tasks associated with the change/release to a group of individuals that actually perform, or implement, the desired changes. As one example, the tool may be the Remedy Change Management 7.0 by BMC Software, Inc. After performing the change/release, these individuals would manually update the status of the change (e.g., via a configuration management tool) in a piece wise fashion to indicate that the change was implemented. If needed for compliance purposes, one or more individuals could then manually verify the changes. While this approach may provide some control during the planning of a change, it provides no assistance for automating changes or for verifying that approved changes were made.
  • FIG. 1 shows a tool 100 according to the prior art for implementing changes in an IT infrastructure. The tool 100 is generally manual and operates in a piece-wise fashion as discussed earlier. For example, the tool 100 receives a change request 102 that can involve software distribution, software patch management, hardware parameter adjustments, adding a new user, or other type of change to the hardware and software components of the IT infrastructure. Using the tool 100, administrators can review the change request 102, approve the request, and plan its implementation. Once ready to implement, a number of implementation actions 110/115 are sent to various implementation tools 160/165 in the IT infrastructure. Typically, one change request 102 can generate numerous individual implementation actions 110/115 for numerous implementation tools 160/165. Each implementation tool 160/165 then performs the requested action 162 and registers a response 164 either manually or automatically.
  • In this prior art approach, each implementation tool 160/165 performs its implementation action 110/115 without any knowledge of why the action is performed. Thus, each implementation tool 160/165 has no knowledge of any other tool being used or what its actual role is in solving the original change request 102. In addition, the implementation tools 160/165 may have their own login or access criteria, thereby hindering any automation of the change process in the infrastructure.
  • In another prior art approach, overall process management is abandoned in favor of using multiple, distinct tools. One problem with this approach is that one change is often related to, or has dependencies upon, other changes. Managing the change process with a single tool can only take into account those changes under control of that tool. For example, imagine the case where a complex application (e.g., a customer billing system) needs to be updated—a process that will require changes to a number of different application and database components. Even if the application and database updates where closely coordinated and automated, there is no guarantee that they would not conflict with a change being administered elsewhere in the system at the same time (e.g., to a networking device).
  • The subject matter of the present disclosure is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.
  • SUMMARY OF THE DISCLOSURE
  • Systems and methods for conducting bi-directional communication between a change management tool and implementation tools in an IT infrastructure are disclosed. The change management tool is used to configure tasks to implement a change to the configuration of an IT infrastructure using implementation tools deployed on the infrastructure. In configuring the change, the change management tool assigns tag information to the change. To facilitate bi-directional communication and tracking, the tag information preferably includes a first identifier (e.g., a Change ID) associated with the requested change and includes second identifiers (e.g., Task IDs) associated with each of the tasks configured to implement the change.
  • Once the tasks are configured, the change management tool manually or automatically sends task instructions to the implementation tools to perform the tasks. The task instructions include the identifiers and other task-related information to implement the task. After implementing or failing to implement its task, the implementation tools send responses to the change management tool, which receives implementation results in the responses. To facilitate the bi-directional communication and tracking, each response includes the identifiers along with the implementation result. Using the configuration based on the identifiers, the change management tool maps/associates each implementation result to the tasks and other requirements associated with the configuration change.
  • The mapped/associated results can then be made available for subsequent processing to meet various purposes. For example, the associated results can be available to a user or to another software application. In a basic form, the user can assess the status (e.g., success or failure) of the configuration change across the multiple tasks and implementation tools. In other more sophisticated forms, the user or the change management tool can test, interpret, check, etc. the results so that further decisions related to the change process can be made. In another form of subsequent processing, the change management tool can use the associated results to determining which subsequent task to perform in implementing the change. For example, if implementation of given task returns a specific result, conditions or qualifications configured in the change management tool may indicate that one subsequent task should follow rather than another in order to implement the change request. In yet another for of subsequent processing, the change management tool can use the associated results as inputs for subsequent tasks that are to be performed in implementing the change.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates a tool and associated components according to the prior art for implementing a change to an IT infrastructure.
  • FIG. 2 illustrates one embodiment of a change management tool having a task management tool and associated components for implementing a configuration change to an IT infrastructure.
  • FIG. 3 illustrates a process of how the disclosed change management tool can be used to manage the configuration change to the IT infrastructure.
  • FIG. 4 illustrates an example of how task template forms can be grouped and arranged in a workflow using the task management tool.
  • FIGS. 5A-5D illustrate views of a task template form of the task management tool.
  • FIGS. 6A-6D illustrate views of a task group template form of the task management tool.
  • FIGS. 7 illustrates a process for configuring bi-directional communication between the change management, task management, and implementation tools.
  • FIG. 8A illustrates a registry form for registering an implementation tool for bi-directional communication with the change management tool.
  • FIG. 8B illustrates a return code form for configuring return codes received from registered implementation tools.
  • FIG. 8C illustrates an integration form for configuring an interface between an implementation tool and the change management tool.
  • DETAILED DESCRIPTION
  • In accordance with the invention, bi-directional communication is provided between a change management tool and implementation tools. The data communicated from the change management tool (which may also be referred to as a release management tool) to an implementation tool may include, but is not limited to: a change/release identifier (associated with an approved change/release operation); a task identifier (associated with a task to implement part of the change/release); configuration information on where the change needs to be implemented (e.g., applications, systems, groups of systems, groups of applications, or devices); the criticality or priority of the change/release; and one or more methods to automatically invoke an implementation tool. Similarly, data communicated to the change management tool from an implementation tool may include, but is not limited to: one or more methods to automatically invoke the change management tool; a task identifier (associated with the task to implement a part of the change); a change/release identifier (associated with the approved change/release operation); configuration information on where the change needs to be implemented (e.g., applications, systems, groups of systems, groups of applications, or devices); task status; and additional details (e.g., implementation time, cost, etc.). Coordinating change/release and implementation operations using the disclosed bidirectional communication provides a great deal of automation with respect to scheduling, authorizing, implementing, and verifying proposed changes across the IT infrastructure.
  • FIG. 2 shows a change management tool 200 according to one embodiment relative to a plurality of implementation tools 260/265. The implementation tools 260/265 are distributed across an IT infrastructure for implementing changes to various software components, hardware components, and other aspects of the infrastructure's configuration. Thus, in the context of the present disclosure, the implementation tools 260/265 may be software tools for performing actions (manually or automatically) to implement a change to the infrastructure's configuration. Some typical examples of the types of changes that may be made to the infrastructure's configuration include releases of software packages, deployment of software patches, management of software licenses, updating policies, and other changes/releases. Preferably, a consistent and controlled process is used to make such changes.
  • To achieve such consistency and control, the change management tool 200 provides a “closed loop” approach to implement configuration changes. In this closed loop, the change management tool 200 automatically transfers information between stages of operation to maintain the integrity of the configuration change. In addition, the change management tool 200 can track whether changes to the configuration are made successfully by verifying the implementation of software-related and other tasks required to make the change. Finally, verification of the tasks by the change management tool 200 also provides administrators with audit trails of the changes made to the configuration.
  • To help store the configuration of the infrastructure, the change management tool 200 includes a database 220. In one embodiment, the database 220 is a configuration management database (“CMDB”) in accordance with the Information Technology Infrastructure Library (“ITIL”) standard. Such a database 220 is well known in the art and generally stores configuration information related to rules, policies, and resources (software, hardware, etc.) of the IT infrastructure.
  • To help handle configuration changes, the change management tool 200 includes a task management tool 210. Although illustrated as part of the change management tool 200, the task management tool 210 may actually be a separate application capable of operating in conjunction with the change management tool 200. The task management tool 210 is used to manage the various tasks required to implement a requested change to the infrastructure's configuration.
  • FIG. 3 shows a process 300 of using the change management tool 200 and task management tool 210 to manage a change to the infrastructure's configuration. During use, the change management tool 200 receives a change request 202 and generates a unique identifier for that request (e.g., a Change ID) (Block 305). One typical example of a change request 202 involves a request to release and install the latest version of a software application on systems of the infrastructure. In such an example, a user may submit a service request to install the latest version of the software application on one or more systems. More generally, the change request 202 can include, but may not be limited to, a request to distribute software, manage a software patch, adjust a hardware parameter, configure new user information, or perform some other type of change to the hardware or software configuration of the IT infrastructure.
  • In a subsequent stage, administrators use the task management tool 210 to configure and plan various tasks to implement the change request 202 and to generate tag information 270 for those various tasks (Block 310). The tag information 270, for example, includes the unique identifier for the change request 202 (e.g., Change ID) and includes unique identifiers for each of the configured tasks (e.g., Task IDs), among other information disclosed herein. The identifiers can generally be character strings of a global unique identifier (GUID). As will be discussed below, the tag information 270 is used in the bi-directional communication between the change management tool 200 and the implementation tools 260/265. To achieve the communication, the tag information 270 can comprise any suitable data structure, protocol, and standard known in the art for communicating information between software tools and hardware components of an IT infrastructure.
  • In general, the tasks can be policy-based, deployment-based, or verification-based. Policy-based tasks include tasks for deploying applications and data, deploying patches, harvesting licenses when maximum limits have been exceeded, and enforcing the removal of unauthorized applications. Deployment-based tasks include tasks for deploying software or data and executing one-time jobs, commands, and scripts. Verification-based tasks include tasks to verify compliance for policy-based tasks based on a target, package, or both. Each change request 202 can require multiple tasks of different types with each task being essential to the successful implementation of the change. In addition, the change request 202 may require various implementation tools 260/265 throughout the IT infrastructure to implement the multiple tasks. Moreover, the multiple tasks may need to be performed in a defined sequence or workflow.
  • To facilitate management of the tasks, the task management tool 210 has a graphical user interface (GUI) 212 having a plurality of task template forms 214 and other forms that allow users to configure the various tasks and input information consistently. The template forms 214 contain fields for the input and output of information and variables used during the change management process. Some of the template forms 214 may have a variable structure so that information can be exchanged automatically between the forms 214. In addition, the task template forms 214 can be grouped together and related by associations and workflows. To do this, the task management tool 210 allows users to collect together individual task template forms 214 as a group, define associations between task template forms 214 or groups of task template forms 214, define a workflow or sequencing scheme for implementing the various task templates forms 214 and groups, and define dependencies between the associated task template forms 214 and groups.
  • In the next stage, the task management tool 210 communicates task instructions 230/235 to targeted implementation tools 260/265 deployed across the infrastructure (Block 215). The task instructions 230/235 include task-related information for the targeted implementation tool 260/265 to perform the task. The task instructions 230/235 also include tag information 273 (e.g., Change ID, Task ID, etc.) for identification, tracking, auditing, and other purposes disclosed herein. This tag information 273 comes from the tag information 270 generated automatically and manually when the tasks are configured and planned. In generally, the tag information 273 for each task instruction 230/235 may or may not be the same depending on the particular tasks, designated implementation tools, and other factors.
  • The task management tool 210 sends out the various task instructions 230/235 using an interface 216 configured between the task management tool 210 and the implementation tools 260/265. This interface 216 can automatically launch and/or can be manually activated in some embodiments so that task instructions 230/235 can be implemented automatically or manually based on the IT infrastructure and various required tasks. When communicating the task instructions 230/235, the task management tool 210 can send different types of tasks (e.g., policy, deployment, and verification tasks) in a specified sequence according to a desired workflow (See e.g., FIG. 4).
  • Upon receiving the task instructions 230/235, the implementation tools 260/265 then perform the requested actions 262 of these tasks (Block 320). Because the implementation tools 260/265 are preconfigured for integration with the change management tool 200, the interface and communication of the task instructions 230/235 to the implementation tools 260/265 can be performed with seamless authentication. In this way, the implementation tool 260/265 can launch the requested actions 262 without requiring additional authentication or user intervention (such as entry of a user ID and password).
  • Each implementation tool 260 also registers a response 264 for the performed action 262. For example, the response 264 can indicate whether the action 230/235 has succeeded or failed or the response may be some variable or other parameter. Once the response 264 is registered, the implementation tools 260/265 send results 240/245 back to the change management tool 200, which logs the various results 240/245 (Block 325). The results 240/245 include details or results that may indicate whether implementation of the task has resulted in completion, error, failure, or other variable. For example, the results 240/245 can include a return code value or some other indication of whether implementation of the requested task was successful or not. Furthermore, the results 240/245 include tag information 274 (e.g., Change ID and Task ID) used for tracking, verification, and auditing. Because the identifiers are included in the results 240/245, the change management tool 200 is better able to match and track the implementation of the change request 202 and all of the various tasks and subtasks associated with it across the IT infrastructure. Based on the tagged results 240/245 it receives, the change management tool 200 can then verify the implementation of the change request 202 and perform other reporting functions.
  • To return results, each implementation tool 260/265 can automatically respond, or the change management tool 200 can query or “ping” the implementation tool 260/265 using tag information (e.g., Change and Task IDs) to get specific results or response codes. The implementation tool 260/265 can also deliver results to a third party application. After that, the change management tool 200 can query that application for the results using tag information for identification.
  • In returning results, for example, the implementation tool 260 can communicate its result 240 directly back to the task management tool 210 with information about the implementation identified by the associated tag information 274. This form of returning results may be suitable for web-based interactions between the task management tool 210 and the implementation tool 260 that may be a third party application and not already configured to communicate directly with the configuration management database 220.
  • Alternatively, the implementation tool 265 can communicate information in a result 245 directly to the configuration management database 220 or some other third party application. This form of returning results may be suited for automated implementation tools 265 configured to auto-launch and communicate directly with the configuration management database 220 using a required format, protocol, etc. Subsequent interactions 250 made at arbitrary or regular intervals between the task management tool 210 and the configuration management database 220 can be used to exchange implementation details and other information identified by the tag information 275 so that tasks and the change request 202 can be updated.
  • In a review stage, administrators use the change management tool 200 to review whether the change request 202 was indeed completed and can test, interpret, check, etc. the implementation results so that further decisions related to the change process can be made (Block 330). Because information regarding the task identifier, target, and packages has been automatically returned to the configuration management tool 200 in tag information 274, the tool 200 can automatically verify the status of the task whenever a result 240/245 is received. If the task is successful, the tool 200 can mark the task as closed. In the review stage, the administrators can also analyze key performance indicators (KPIs), how many incidents were eliminated by the change request 202, and the accuracy of the configuration management database 220.
  • In addition to making implementation results available for review and other like purposes, the change management tool 200 can use the returned implementation results to drive subsequent processing steps to implement the change (Block 335). Two forms of driving subsequent processing are discussed below. It will be appreciated that the change management tool 200 can use these and other forms of subsequent processing based on returned implementation results.
  • In one form of subsequent processing, the change management tool 200 can use the returned results to determine what subsequent tasks to perform in order to implement the change request 202. If, for example, implementation of given task returns a specific result, conditions or qualifications configured in the change management tool 200 may automatically indicate that a particular task (as opposed to some other task) should subsequently be performed to implement the change.
  • In another form of subsequent processing, the change management tool 200 can use the implemented result of a given task as input for a subsequent task to be performed in implementing the change. For example, a first task may require an implementation tool to look up information about a machine assigned to a particular user (e.g., obtain a network address from the configuration management database 220). Then, that information can be used in a subsequent task to install a given piece of software on the identified machine.
  • As discussed above, the tag information 270 in various forms (273, 274, 275, and 276) facilitates the bidirectional communication between the change management tool 200, task management tool 210, and the implementation tools 260. The tag information 270 may be multi-part and at least include unique identifiers, such as Change ID and Task ID. The tag information 270 may also include time stamps and information about target machines. In addition, the tag information 270 can identify an overall process, a subtask of that process, and a location in the configuration management database 220 so that the implementation tool 260/265 can provide data to the configuration management database 220 for the IT infrastructure.
  • Additionally, the tag information 270 can include information to eliminate the need for the change management tool 200 to mediate all activities of each implementation tool 260/265 to make changes. For example, the tag information 270 can include login and authentication information to allow the implementation tools 260/265 to execute the actions 262 of the task without the need for user intervention. Preferably, any such login and authentication information of this nature is encrypted so that the tag information 270 itself or any part of it may be encrypted using techniques known in the art. The tag information 270 can include access information so that the implementation tools 260/265 can access third party data to accomplish a task and can also include command line instructions or the like. In this way, the implementation tool 260/265 can access a database (e.g., configuration management database 220) to identify required data needed to accomplish some implementation task.
  • As noted previously, a given change request 202 may involve a number of tasks. Therefore, the task implementation tool 210 allows administrators to group the tasks together and build a workflow and execution scheme for those tasks. FIG. 4 shows an example of how tasks can be arranged in a group 400 and a workflow 410. In this example, a Task Group Template A is shown having a plurality of grouped template forms (1, 2, 3A-B, and 4) associated with it. It will be appreciated that the example represented in FIG. 4 is simplified and that arrangements, groupings, and workflows between tasks as configured by the template forms may be more or less complex than depicted. In addition, it will be appreciated that multiple workflows and groupings may be simultaneously used and executed to implement a particular change and that multiple pieces of information, variables, and data can be configured for exchange between the various tasks, groups, etc.
  • As shown, the various task templates can be executed in a particular order by associating and arranging the task templates as a workflow 410. In this example, the workflow 410 follows the order of F1 to F3. Thus, the task of template 1 is executed first, then the task of template 2, and so on. Some features of the workflow 410 can be based on conditions or qualifications that can drive subsequent processing steps in implementing the change. For example, task template 2 can be configured to determine what subsequent task to implement next (e.g., either template 3A or 3B). Therefore, after the task associated with task template 2 is implemented and the implementation result returned for it, conditions or qualifications configured in the task template 2 can determine based on the particular implementation result returned whether the workflow proceeds next to the task of template 3A or that of template 3B.
  • The various task templates can also be set up to exchange variables and other data with the task group template A, with a variable pool, with each other, and with other tasks and groups. For example, after the task associated with task template 3A is implemented and the implementation result returned for it, the implementation result can be used as input in performing the subsequent tasks of template 4 to implement the change. Likewise, implementation results, variables, and other data resulting from performance of the task in template 1 can thereafter be used in performing the task in template 3B, for example, by configuring the templates to exchange data with a variable pool 420.
  • In the present embodiment, administrators use the GUI 212 and task template forms 214 of the task management tool 210 to configure the tasks group them together, make associations between them, and build the workflow of tasks. FIG. 5A, for example, shows a task template form 500 that administrators can use to configure the components of a task. In general, the user can create two distinct types of tasks. One type is a manual task where a person or other manual means performs a task's action manually. The other type of task is an automatic task where an automatic action or predefined instruction is executed at run time. Thus, the administrator can use the form 500 to create an automatic action that runs by itself, to define a specified action that must be accomplished manually, to enter data for mapping/associating input variables, and to input data that is written from the task to another task or task group in the form of an output variable.
  • As shown under the General tab of the form 500, an administrator can input commands for the task. These commands may be preconfigured or user-created and are stored as components associated with the interface (216) of the change management tool (200). The commands can include static values and parameters and can include command lines that will execute at runtime, such as launch or details commands. Some other tabs of the task template form 500 allow the user to classify a task and input assignments, completion, financials, usage, and system information for the task.
  • FIGS. 5B-5C show input and output tabs 510 and 520 of the task template form 500 of FIG. 5A. In these tabs 510/520, administrators can map/associate input and output variables that can be exchanged between the tasks and between the task and the pool of variables. Because implementation results (e.g., details about the success or failure of the task's implementation) can come from various disparate implementation tools 260/265, the administrator uses the input and output tabs 510 and 520 to map/associate disparate input formats (e.g., variables from returned results 240/245) to a more consistent reporting output format for the task management tool 210. The variable mappings/associations under these tabs 510/520 enable data to be passed into and out of fields when the task is executed at runtime. To define the mappings/associations, the variables can be user-defined or predefined, and the user can map existing variables to or from fields in the task template form. During execution, a pool of fields is made available in the task template form for variable usage so that variables can be mapped to and from the various fields defined for the task.
  • FIG. 5D shows the automatic tab 530 of the task template form 500 of FIG. 5A. In this tab 530, the administrator can define automatic commands for automatic types of tasks. Some of the automatic commands that can be configured include adding/deleting fields in a task template form, checking for approval to perform a task, copying a field from another task template form, setting up compliance parameters, and performing other automatic actions.
  • As mentioned previously, tasks can be grouped together and associated into workflows. FIG. 6A shows a task group template form 600 for administrators to create a group of tasks. This form 600 includes many similar features available with the individual task template form 500 of FIG. 5A. For example, the task group template form 600 has tabs for mapping/associating input and output variables that enable data to be passed into and out of fields when the task group is executed.
  • As shown in the association tab 610 of FIG. 6B, the administrator can define the task group by associating various individual task template forms and other task group template forms together to be contained in the group such that they constitute a certain action. Once various tasks and groups are associated together, the administrator then establishes how the associated tasks in the group relate to one another by creating a workflow.
  • Using the flow tab 620 of FIG. 6C, the administrator can construct a workflow that will determine the sequence in which grouped tasks are generated at runtime. If the task group contains other task groups, these may already have a workflow established within their configuration. As shown in the flow relationship table, the group's flow consists of one or more flow relationship records. Each flow relationship record consists of a task group or task template form, called a predecessor, linked to another task group or task template form, called a successor. These records can be arranged to produce a number of possible flow relationships. For example, two tasks can be started at the same time by marking them both as Start. Tasks or task groups can occur simultaneously by linking the same predecessor to more than one successor. In addition, more than one task or task group can be completed before a successor can start by linking two or more predecessors to the same successor.
  • Because a change request 202 may involve multiple tasks to be performed to implement the change and the multiple tasks can be grouped together, the task management tool 210 is able to determine whether the tasks, group, and change has been successfully completed. By default, a task group may be determined complete only once all of the individual tasks and groups that it contains have run. When a task group is complete, its status is evaluated as either succeeding or failing, although other conditions can be used. By default, the task group is considered successful when all the task groups or tasks that it contains have a status of Success. If any do not have a status of Success, the task group can be given a status of Failed or Canceled.
  • As opposed to the above default evaluations of status, administrators can specify evaluations to determine whether a task group is complete or successful. In the operations tab 630 of FIG. 6D, for example, the administrator can define operations on variables gathered from associated task groups and individual tasks. These operations are built into evaluation statements to evaluate the resulting status of the tasks. Some possible operations on the variables can include determining minimum, maximum, sum, average, count, etc., and these operations can be applied to variables in the fields from the individual task and task group template forms from which data is to be collected. Result fields then stores the results of the expressions that are then made available to the administrators.
  • In the completions tab, the administrator can then construct conditions or qualifications that can drive the change process and that can determined when a task or group is done or completed. For example, the conditions or qualification can be built from the results fields of the various expressions in the operations tab 630. Based on the conditions or qualifications, the change process can be configured to determine what subsequent tasks are to be performed in implementing the change and what information is to be exchanged.
  • To facilitate the bidirectional communication between the change management tool 200 and the implementation tools 260/265, each implementation tool 260/265 has to be registered to accept task instructions 230/235 and associated tag information 273 (e.g., Change and Task IDs) from the change management tool 200, to know what to do with the task instructions and tag information, to know how to respond to the task instructions and tag information, and to use additional parameters. In addition, once registered, each registered implementation tool 260/265 may be provided its own unique identifier (e.g., Registry ID) that can be added to the tag information and used to identify implementation tools 260/265 and to track responses from the various implementation tools.
  • FIG. 7 shows a process 700 in flowchart form for initially configuring the bi-directional communication. The administrator first registers various implementation tools 260/265 to interface with the change management tool 200 and the task management tool 210 (Block 705). Then, the administrator configures how the various implementation results and details (e.g., return codes) received from the registered implementation tools 260/265 will map to desired status details (e.g., success or failure) at the change management level within the change management tool 200 (Block 710). Finally, the administrator configures the integrations between the change management tool 200 and the implementation tools 260/265 so that they will be able to interface in bi-directional communication during the change management process (Block 715).
  • To register an implementation tool 260/265 under the acts of Block 705, the administrator performs the registration process using a registry form of the GUI 212 so the implementation tool 260/265 can be recognized by the interface 216. FIG. 8A shows a registry form 800 for registering an implementation tool (260/265) for use with the change management tool (200). As generally shown, the administrator can register a name, description, and status (active or inactive) of the implementation tool (i. e., application). For each tool registered, the change management tool 200 generates a unique identifier (e.g., a Registry ID). In various fields, the administrator can define what forms (template, instance) are to be associated with the implementation tool and can define connection information for communicating with the implementation tool, such as whether the connection is local or remote. The administrator can also associate various elements, such as templates 214, interface forms, instance forms, etc., with the implementation tool. In this way, the registered information becomes a means for the task management tool 210 to recognize the implementation tool 260/265, to set the configuration settings such as mode of connection (local or remote), and to use this information to establish the context for the features of the task management tool 210 that will be used for the associated implementation tool 260/265.
  • To configure return code mapping/association under the acts of Block 710 of FIG. 7, the administrator configures how various return code values from registered implementation tools 260/265 will map to information for the various task forms of the GUI 212 defined for a change request. On there own, the return code values from a given implementation tool 260/265 may not be very useful for determining status of a change request or task and whether the overall change request and its subtasks are complete. Thus, by configuring the mapping/association of return codes, the administrator can specify how the status and reasons for a given task should be mapped to/associated with a particular return code received from an implementation tool 260/265.
  • FIG. 8B shows a return code form 810 for configuring how return codes from implementation tools 260/265 map to desired status information at the management tools (200, 210). As generally shown, the administrator can select one of the registered implementation tools (i.e., application name) and input a return code value that would be returned from this selected tool. Then, the administrator can select a template form (e.g., task or group template forms) to associate with the return code, a corresponding status that the return code will map to on the selected form, a corresponding status reason that will be provided on the selected form, and an indication of whether the entered return code is active or not. At runtime when the implementation tool returns the specific return code value, the corresponding status and status reason are mapped on the task template form. For example, a return code value of Error from an implementation tool 260/265 could be mapped to indicate a status of Pending and a status reason of Error on a task template form.
  • To integrate the tools under the acts of Block 715 of FIG. 7, the administrator configures the template forms 214 of the task management tool 210 to integrate with the registered implementations tools 260/265. FIG. 8C shows an integration form 820 for configuring an interface between an implementation tool (260/265) and the management tools (200/210). As generally shown, the administrator can select a registered implementation tool (i. e., application name) for integration with the change and task management tools (200/210). The administrator can associate one or more template forms (214) with the selected implementation tool (260/265) by associating a primary form, a template form, and a relationship form with that selected tool, for example. In addition, the administrator can indicate the integration as being active or inactive and can indicate options for the integration, such as whether to use a particular size view, group assignments, individual assignments, and notifications. Finally, the administrator can define what fields to include for a task when a task template form is opened and can define other details for inputting, viewing, and relating information between tasks and the implementation tool.
  • As shown by the various template forms 214 and other components of the GUI 212 of the task management tool 210 in FIGS. 5A-5D, 6A-6D, and 8A-8C, a change request 202 can be configured to have various elements of information grouped and associated together and arranged in workflows. The tag information (e.g., Change ID, Task IDs, Registry IDs, access information, log-in and authentication information, and any other information) for the task instructions 230/235 to implement the change request 202 is used pervasively throughout the implementation of the change in the configuration so that the change process involves a closed loop where changes involving multiple tasks can be implemented and verified effectively in the IT infrastructure.
  • Acts in accordance with the disclosed change and task management techniques may be performed by a programmable control device executing instructions organized into one or more program modules. A programmable control device may be a single computer processor, a special purpose processor, a plurality of processors coupled by a communications link or a custom designed state machine. Storage devices suitable for tangibly embodying program instructions include, but are not limited to: magnetic disks (fixed, floppy, and removable) and tape; optical media such as CD-ROMs and digital video disks (“DVDs”); and semiconductor memory devices such as Electrically Programmable Read-Only Memory (“EPROM”), Electrically Erasable Programmable Read-Only Memory (“EEPROM”), Programmable Gate Arrays and flash devices.
  • The foregoing description of preferred and other embodiments is not intended to limit or restrict the scope or applicability of the inventive concepts conceived of by the Applicants. In exchange for disclosing the inventive concepts contained herein, the Applicants desire all patent rights afforded by the appended claims. Therefore, it is intended that the appended claims include all modifications and alterations to the full extent that they come within the scope of the following claims or the equivalents thereof.

Claims (47)

1. An automated change management method, comprising:
associating a first identifier with a change request, the change request specifying a change to a configuration of an information technology infrastructure;
sending task instructions to one or more implementation tools to perform tasks to implement the change, the task instructions sent to each implementation tool including the first identifier;
receiving a response from at least one of the implementation tools in response to the task instructions sent to that implementation tool, the received response including the first identifier and a result;
associating the result to the change request based on the first identifier; and
making the associated result available for subsequent processing.
2. The method of claim 1, wherein the act of making the associated result available for subsequent processing comprises determining at least one subsequent task to implement the change based the associated result.
3. The method of claim 1, wherein the act of making the associated result available for subsequent processing comprises using the associated result as input for at least one subsequent task to implement the change.
4. The method of claim 1, wherein making the associated result available for subsequent processing comprises making the associated result available via a user interface.
5. The method of claim 1, further comprising registering a plurality of implementation tools to handle task instructions having identifiers.
6. The method of claim 5, wherein the act of registering comprising assigning a third identifier to identify each registered implementation tool, wherein each response further includes the third identifier.
7. The method of claim 5, wherein the act of registering comprises configuring a plurality of status details to map to a plurality of results received from each registered implementation tool.
8. The method of claim 7, wherein the act of associating the result to the change request comprises determining a status of the change request based on at least one of the status details mapped from the associated result.
9. The method of claim 7, wherein the act of registering comprises configuring an interface between each registered implementation tool and at least one of a plurality of templates for configuring tasks.
10. The method of claim 1, wherein the task instruction comprises one or more of a command line, log-in information, authentication information, information to access another component of the infrastructure, information to notify a discovery tool, and an automatic action to be performed.
11. The method of claim 1, further comprising configuring the tasks to implement the change.
12. The method of claim 11, wherein the act of configuring comprises associating a plurality of the tasks into a group.
13. The method of claim 11, wherein the act of configuring comprises arranging the tasks into a workflow.
14. The method of claim 13, wherein the act of sending task instructions comprises sending the task instructions so that the one or more implementation tools perform the tasks according to the workflow.
15. The method of claim 1, wherein each task instruction comprises a second identifier associated with its corresponding task.
16. The method of claim 15, wherein the response comprises the second identifier associated with the corresponding task.
17. The method of claim 16, wherein the act of associating the result to the change request comprises associating the result to the corresponding task of the change request based on the first and second identifiers.
18. The method of claim 1, further comprising determining whether the change request has been successful based on the associated result.
19. The method of claim 1, wherein the act of receiving a response comprises querying a configuration management database for information pertaining to the response, the query using the first identifier.
20. The method of claim 1, wherein the act of receiving a response comprises receiving the response automatically from the at least one implementation tool.
21. The method of claim 1, wherein the act of receiving a response comprises querying the at least one implementation tool for the response, the query using the first identifier.
22. A program storage device, readable by a programmable control device, comprising instructions stored on the program storage device for causing the programmable control device to perform a method according to claim 1.
23. An automated change management method, comprising:
receiving change requests specifying changes to an information technology infrastructure's configuration;
associating first identifiers with the change requests;
configuring tasks to implement the changes;
associating second identifiers with the tasks;
sending task instructions to implementation tools to perform the tasks, each task instruction including one of the first identifiers and one of the second identifiers;
receiving responses to the task instructions, each response including a result, one of the first second identifiers, and one of the second identifiers;
associating each result to the corresponding change request and task based on the first and second identifiers; and
making the associated results available for subsequent processing.
24. The method of claim 23, wherein the act of making the associated results available for subsequent processing comprises determining at least one subsequent task to implement one of the changes based on at least one of the associated results.
25. The method of claim 23, wherein the act of making the associated results available for subsequent processing comprises using at least one of the associated results as input for at least one subsequent task to implement one of the changes.
26. The method of claim 23, wherein making the associated results available for subsequent processing comprises making the associated results available via a user interface.
27. The method of claim 23, further comprising registering a plurality of implementation tools to handle task instructions having identifiers.
28. The method of claim 27, wherein the act of registering comprising assigning a third identifier to identify each registered implementation tool, wherein each response further comprises one of the third identifiers for the corresponding implementation tool.
29. The method of claim 27, wherein the act of registering comprises configuring for each registered implementation tool a plurality of status details to map to a plurality of results.
30. The method of claim 29, wherein the act of associating each result to the corresponding change request and task comprises determining a status of the corresponding change request or the task based on at least one of the status details mapped to the associated result.
31. The method of claim 29, wherein the act of registering comprises configuring an interface between each registered implementation tool and at least one of a plurality of templates for configuring tasks.
32. The method of claim 23, wherein the task instruction comprises one or more of a command line, log-in information, authentication information, information to access another component of the infrastructure, information to notify a discovery tool, and an automatic action to be performed.
33. The method of claim 23, wherein the act of configuring tasks comprises associating a plurality of the tasks into a group.
34. The method of claim 23, wherein the act of configuring tasks comprises arranging the tasks into a workflow.
35. The method of claim 34, wherein the act of sending task instructions to implementation tools comprises sending the task instructions so that the implementation tools perform the tasks according to the workflow.
36. The method of claim 23, further comprising determining whether at least one of the changes has been successful based on the associated results.
37. The method of claim 23, wherein the act of receiving responses comprises querying a configuration management database for information pertaining to the responses, each query using at least one of the identifiers.
38. The method of claim 23, wherein the act of receiving responses comprises receiving the responses automatically from the implementation tools.
39. The method of claim 23, wherein the act of receiving responses comprises querying the implementation tools for the responses, each query using at least one of the identifiers.
40. A program storage device, readable by a programmable control device, comprising instructions stored on the program storage device for causing the programmable control device to perform a method according to claim 23.
41. An automated change management method, comprising:
associating tag information with a change request, the change request specifying a change to a configuration of an information technology infrastructure;
sending a task instruction and at least a portion of the tag information to an implementation tool to perform one or more tasks to satisfy at least a portion of the change request;
receiving a response form the implementation tool in response to the task instruction, the response including the portion of the tag information and a result;
associating the result with the change request based on the portion of the tag information; and
making the associated result available for subsequent processing.
42. The method of claim 41, wherein the tag information comprises an identifier associated with the change request.
43. The method of claim 41, wherein the tag information comprises one or more identifiers associated with the one or more tasks.
44. The method of claim 41, wherein the tag information comprises a first identifier associated with one or more second identifiers.
45. The method of claim 41, wherein the tag information comprises an identifier associated with the implementation tool.
46. The method of claim 41, wherein the portion of the tag information associated with the task instruction comprises an identifier associated with the change request.
47. The method of claim 41, wherein the portion of the tag information associated with the task instruction comprises one or more identifiers associated with each of the one or more tasks.
US11/741,709 2006-04-28 2007-04-27 Bi-directional communication between change management tool and implementation tools Active 2032-02-04 US8887133B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/741,709 US8887133B2 (en) 2006-04-28 2007-04-27 Bi-directional communication between change management tool and implementation tools
US14/535,030 US9152413B2 (en) 2006-04-28 2014-11-06 Bi-directional communication between change management tool and implementation tools
US14/872,869 US11132192B2 (en) 2006-04-28 2015-10-01 Bi-directional communication between change management tool and implementation tools

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US74587206P 2006-04-28 2006-04-28
US11/741,709 US8887133B2 (en) 2006-04-28 2007-04-27 Bi-directional communication between change management tool and implementation tools

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/535,030 Continuation US9152413B2 (en) 2006-04-28 2014-11-06 Bi-directional communication between change management tool and implementation tools

Publications (2)

Publication Number Publication Date
US20070256050A1 true US20070256050A1 (en) 2007-11-01
US8887133B2 US8887133B2 (en) 2014-11-11

Family

ID=38649753

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/741,709 Active 2032-02-04 US8887133B2 (en) 2006-04-28 2007-04-27 Bi-directional communication between change management tool and implementation tools
US14/535,030 Active US9152413B2 (en) 2006-04-28 2014-11-06 Bi-directional communication between change management tool and implementation tools
US14/872,869 Active US11132192B2 (en) 2006-04-28 2015-10-01 Bi-directional communication between change management tool and implementation tools

Family Applications After (2)

Application Number Title Priority Date Filing Date
US14/535,030 Active US9152413B2 (en) 2006-04-28 2014-11-06 Bi-directional communication between change management tool and implementation tools
US14/872,869 Active US11132192B2 (en) 2006-04-28 2015-10-01 Bi-directional communication between change management tool and implementation tools

Country Status (1)

Country Link
US (3) US8887133B2 (en)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070203952A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Configuration management database state model
US20070300224A1 (en) * 2006-06-22 2007-12-27 Vijay Kumar Aggarwal Method and apparatus to modify a task within a set of tasks
US20080195453A1 (en) * 2007-02-14 2008-08-14 Simon Smith Organisational Representational System
US20090034016A1 (en) * 2007-08-01 2009-02-05 Silverbrook Research Pty Ltd Method of Conferring Interactivity on Previously Printed Graphic Images
US20110099158A1 (en) * 2009-10-28 2011-04-28 Computer Associates Think, Inc. System and method for automatically detecting, reporting, and tracking conflicts in a change management system
US20110191383A1 (en) * 2010-02-01 2011-08-04 Oracle International Corporation Orchestration of business processes using templates
US20110218921A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Notify/inquire fulfillment systems before processing change requests for adjusting long running order management fulfillment processes in a distributed order orchestration system
US20110218813A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Correlating and mapping original orders with new orders for adjusting long running order management fulfillment processes
US20110218924A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Distributed order orchestration system for adjusting long running order management fulfillment processes with delta attributes
US20110218922A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Cost of change for adjusting long running order management fulfillment processes for a distributed order orchestration sytem
US20110218923A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Task layer service patterns for adjusting long running order management fulfillment processes for a distributed order orchestration system
US20110219218A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Distributed order orchestration system with rollback checkpoints for adjusting long running order management fulfillment processes
US20110218927A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Compensation patterns for adjusting long running order management fulfillment processes in an distributed order orchestration system
US20110218842A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Distributed order orchestration system with rules engine
US20110218926A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Saving order process state for adjusting long running order management fulfillment processes in a distributed order orchestration system
US20110218925A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Change management framework in distributed order orchestration system
US20120221689A1 (en) * 2009-11-10 2012-08-30 Yan Qian Control method and system for remote configuration
US20120297331A1 (en) * 2011-05-19 2012-11-22 Sumathi Chutkay Systems and methods for intelligent decision support
US20130185701A1 (en) * 2012-01-18 2013-07-18 Sap Ag Centralized, object-level change tracking
US8762322B2 (en) 2012-05-22 2014-06-24 Oracle International Corporation Distributed order orchestration system with extensible flex field support
US20140380265A1 (en) * 2013-06-25 2014-12-25 Sap Ag Software change process orchestration
US20150370540A1 (en) * 2014-06-20 2015-12-24 Asset S.R.L. Method of developing an application for execution in a workflow management system and apparatus to assist with generation of an application for execution in a workflow management system
US9658901B2 (en) 2010-11-12 2017-05-23 Oracle International Corporation Event-based orchestration in distributed order orchestration system
US9672560B2 (en) 2012-06-28 2017-06-06 Oracle International Corporation Distributed order orchestration system that transforms sales products to fulfillment products
US20190053020A1 (en) * 2016-07-25 2019-02-14 Symbol Technologies, Llc Systems and methods of deploying location tracking tags
CN110020765A (en) * 2018-11-05 2019-07-16 阿里巴巴集团控股有限公司 A kind of switching method and apparatus of operation flow
US10552769B2 (en) 2012-01-27 2020-02-04 Oracle International Corporation Status management framework in a distributed order orchestration system
US20200159595A1 (en) * 2008-06-02 2020-05-21 Microsoft Technology Licensing, Llc Composable and cancelable dataflow continuation passing

Families Citing this family (271)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2449534A1 (en) * 2003-11-14 2005-05-14 Ibm Canada Limited - Ibm Canada Limitee On-demand software module deployment
US7657871B2 (en) 2005-07-22 2010-02-02 Sbc Knowledge Ventures, L.P. Method and system of managing configuration profiles of a plurality of deployed network elements
US8887133B2 (en) 2006-04-28 2014-11-11 Bmc Software, Inc. Bi-directional communication between change management tool and implementation tools
US20080183690A1 (en) * 2007-01-26 2008-07-31 Ramachandran Puthukode G Method for providing assistance in making change decisions in a configurable managed environment
DE102011077218B4 (en) 2011-06-08 2023-12-14 Servicenow, Inc. Access to data stored in a cloud
US8914406B1 (en) 2012-02-01 2014-12-16 Vorstack, Inc. Scalable network security with fast response protocol
US9710644B2 (en) 2012-02-01 2017-07-18 Servicenow, Inc. Techniques for sharing network security event information
US11416325B2 (en) 2012-03-13 2022-08-16 Servicenow, Inc. Machine-learning and deep-learning techniques for predictive ticketing in information technology systems
US9942342B2 (en) 2014-06-09 2018-04-10 Skygiraffe, Inc. System and method for providing database content on a client device
US9853863B1 (en) 2014-10-08 2017-12-26 Servicenow, Inc. Collision detection using state management of configuration items
US10437824B2 (en) 2015-01-23 2019-10-08 Attivio, Inc. Querying across a composite join of multiple database tables using a search engine index
US9742625B2 (en) 2015-08-12 2017-08-22 Servicenow, Inc. Automated electronic computing and communication system event analysis and management
US10181984B1 (en) 2015-08-24 2019-01-15 Servicenow, Inc. Post incident review
US10819594B2 (en) 2015-11-02 2020-10-27 Servicenow, Inc. System and method for generating a graphical display region indicative of conditions of a computing infrastructure
US10454752B2 (en) 2015-11-02 2019-10-22 Servicenow, Inc. System and method for processing alerts indicative of conditions of a computing infrastructure
AU2016367922B2 (en) 2015-12-11 2019-08-08 Servicenow, Inc. Computer network threat assessment
US9659391B1 (en) 2016-03-31 2017-05-23 Servicenow, Inc. Request resolution shaper in a networked system architecture
US10015186B1 (en) 2016-04-12 2018-07-03 Servicenow, Inc. Method and apparatus for reducing security risk in a networked computer system architecture
WO2017184872A1 (en) 2016-04-20 2017-10-26 Servicenow, Inc. Visualization of chat task record, linking messaging, and record keeping
US10417395B2 (en) 2016-04-21 2019-09-17 Servicenow, Inc. Application usage analytics for licensing analysis
US10270885B2 (en) 2016-05-13 2019-04-23 Servicenow, Inc. System and method for deploying resources within a computing infrastructure
US10353549B2 (en) 2016-05-13 2019-07-16 Servicenow, Inc. Predictive watch face interface
US10826875B1 (en) 2016-07-22 2020-11-03 Servicenow, Inc. System and method for securely communicating requests
US10963634B2 (en) 2016-08-04 2021-03-30 Servicenow, Inc. Cross-platform classification of machine-generated textual data
US10387385B1 (en) 2016-09-29 2019-08-20 Servicenow, Inc. System and method for batch database modification
US11080588B2 (en) 2016-10-17 2021-08-03 Servicenow, Inc. Machine learning with partial inversion
US10270646B2 (en) 2016-10-24 2019-04-23 Servicenow, Inc. System and method for resolving master node failures within node clusters
US10354215B2 (en) 2016-10-26 2019-07-16 Servicenow, Inc. System and method for service modeling
US11048853B2 (en) 2016-10-31 2021-06-29 Servicenow, Inc. System and method for resource presentation
US10430170B2 (en) 2016-10-31 2019-10-01 Servicenow, Inc. System and method for creating and deploying a release package
US10547519B2 (en) 2016-11-02 2020-01-28 Servicenow, Inc. System and method of associating metadata with computing resources across multiple providers
US10447526B2 (en) 2016-11-02 2019-10-15 Servicenow, Inc. Network event grouping
US10817524B2 (en) 2017-04-10 2020-10-27 Servicenow, Inc. Systems and methods for querying time series data
US11044143B2 (en) 2017-04-17 2021-06-22 Servicenow, Inc. System for processing events using event rules
US10516565B2 (en) 2017-04-18 2019-12-24 Servicenow, Inc. Transformation and transmission of event messages
US11640434B2 (en) 2017-04-19 2023-05-02 Servicenow, Inc. Identifying resolutions based on recorded actions
US10242037B2 (en) 2017-04-20 2019-03-26 Servicenow, Inc. Index suggestion engine for relational databases
US10620996B2 (en) 2017-04-26 2020-04-14 Servicenow, Inc. Batching asynchronous web requests
US10921959B2 (en) 2017-05-01 2021-02-16 Servicenow, Inc. Customer service management workspace
US10728324B2 (en) 2017-05-01 2020-07-28 Servicenow, Inc. Selective server-side execution of client-side scripts
US10333960B2 (en) 2017-05-03 2019-06-25 Servicenow, Inc. Aggregating network security data for export
US10936613B2 (en) 2017-05-03 2021-03-02 Servicenow, Inc. Table-per-partition
US10776732B2 (en) 2017-05-04 2020-09-15 Servicenow, Inc. Dynamic multi-factor ranking for task prioritization
US10949807B2 (en) 2017-05-04 2021-03-16 Servicenow, Inc. Model building architecture and smart routing of work items
US10977575B2 (en) 2017-05-04 2021-04-13 Servicenow, Inc. Machine learning auto completion of fields
US10355913B2 (en) 2017-05-04 2019-07-16 Servicenow, Inc. Operational analytics in managed networks
US10541961B2 (en) 2017-05-05 2020-01-21 Servicenow, Inc. System and method for automating actions in distributed computing
US10936968B2 (en) 2017-05-05 2021-03-02 Servicenow, Inc. Ticket routing
US10419304B2 (en) 2017-05-05 2019-09-17 Servicenow, Inc. Indicator value aggregation in a multi-instance computing environment
US11163747B2 (en) 2017-05-05 2021-11-02 Servicenow, Inc. Time series data forecasting
US10949903B2 (en) 2017-05-05 2021-03-16 Servicenow, Inc. System, computer-readable medium, and method for blueprint-based cloud management
US10650056B2 (en) 2017-05-05 2020-05-12 Servicenow, Inc. Template-based faceted search experience
US11620571B2 (en) 2017-05-05 2023-04-04 Servicenow, Inc. Machine learning with distributed training
US10447553B2 (en) 2017-05-05 2019-10-15 Servicenow, Inc. Systems and methods for service-aware mapping of a system infrastructure
US10706226B2 (en) 2017-05-05 2020-07-07 Servicenow, Inc. Graphical user interface for inter-party communication with automatic scoring
US10354257B2 (en) 2017-05-05 2019-07-16 Servicenow, Inc. Identifying clusters for service management operations
US10484358B2 (en) 2017-05-05 2019-11-19 Servicenow, Inc. Single sign-on user interface improvements
US10956013B2 (en) 2017-05-05 2021-03-23 Servicenow, Inc. User interface for automated flows within a cloud based developmental platform
US10915515B2 (en) 2017-05-05 2021-02-09 Servicenow, Inc. Database performance tuning framework
US10042618B1 (en) 2017-05-05 2018-08-07 Servicenow, Inc. Integration application creator design
US10789575B2 (en) 2017-05-05 2020-09-29 Servicenow, Inc. User interface for timesheet reporting
US11087256B2 (en) 2017-05-05 2021-08-10 Servicenow, Inc. Graphical user interface for discovering consumption of services
US10620930B2 (en) 2017-05-05 2020-04-14 Servicenow, Inc. Software asset management
US11468389B2 (en) 2017-05-05 2022-10-11 Servicenow, Inc. Systems and methods for analytics, predictions, and reporting
US10275241B2 (en) 2017-05-05 2019-04-30 Servicenow, Inc. Hybrid development systems and methods
US10832189B2 (en) 2017-05-05 2020-11-10 Servicenow, Inc. Systems and methods for dynamically scheduling tasks across an enterprise
US10938586B2 (en) 2017-05-06 2021-03-02 Servicenow, Inc. Systems for peer-to-peer knowledge sharing platform
US10673715B2 (en) 2017-07-20 2020-06-02 Servicenow, Inc. Splitting network discovery payloads based on degree of relationships between nodes
US10708139B2 (en) 2017-08-01 2020-07-07 Servicenow, Inc. Automatic grouping of similar applications and devices on a network map
US10705875B2 (en) 2017-08-09 2020-07-07 Servicenow, Inc. Systems and methods for recomputing services
US11012305B2 (en) 2017-08-09 2021-05-18 Servicenow, Inc. Systems and methods for service mapping
US10824642B2 (en) 2017-08-10 2020-11-03 Servicenow, Inc. Data synchronization architecture
US11132613B2 (en) 2017-08-10 2021-09-28 Servicenow, Inc. Traffic based discovery noise reduction architecture
US10719611B2 (en) 2017-09-27 2020-07-21 Servicenow, Inc. Static security scanner for applications in a remote network management platform
US10558920B2 (en) 2017-10-02 2020-02-11 Servicenow, Inc. Machine learning classification with confidence thresholds
US10911314B2 (en) 2017-10-02 2021-02-02 Servicenow, Inc. Systems and methods for determining entry points for mapping a network
US10402581B2 (en) 2017-10-03 2019-09-03 Servicenow, Inc. Searching for encrypted data within cloud based platform
US11093617B2 (en) 2017-10-04 2021-08-17 Servicenow, Inc. Automated vulnerability grouping
US20190102841A1 (en) 2017-10-04 2019-04-04 Servicenow, Inc. Mapping engine configurations with task managed workflows and grid user interfaces
US11057276B2 (en) 2017-10-04 2021-07-06 Servicenow, Inc. Bulk service mapping
US10547501B2 (en) 2017-10-04 2020-01-28 Servicenow, Inc. Self-monitoring
US10621313B2 (en) 2017-10-04 2020-04-14 Servicenow, Inc. Distribution and enforcement of per-feature-set software application licensing
US11238082B2 (en) 2017-10-04 2022-02-01 Servicenow, Inc. Text analysis of unstructured data
US10740726B2 (en) 2017-10-05 2020-08-11 Servicenow, Inc. Systems and methods for providing message templates in an enterprise system
US10585912B2 (en) 2017-10-10 2020-03-10 Servicenow, Inc. Visualizing time metric database
US10795885B2 (en) 2017-11-15 2020-10-06 Servicenow, Inc. Predictive query improvement
US10728345B2 (en) 2017-11-16 2020-07-28 Servicenow, Inc. Field service management mobile offline synchronization
US10732948B2 (en) * 2017-12-01 2020-08-04 Jpmorgan Chase Bank, N.A. System and method for implementing automated deployment
US11062088B2 (en) 2017-12-12 2021-07-13 International Business Machines Corporation Contextual automation of information technology change services
US11023461B2 (en) 2018-01-19 2021-06-01 Servicenow, Inc. Query translation
US10740568B2 (en) 2018-01-24 2020-08-11 Servicenow, Inc. Contextual communication and service interface
US11880557B2 (en) 2018-01-29 2024-01-23 Servicenow, Inc. Distributed editing and versioning for graphical service maps of a managed network
US10609163B2 (en) 2018-02-26 2020-03-31 Servicenow, Inc. Proxy application supporting multiple collaboration channels
US10826776B2 (en) 2018-02-26 2020-11-03 Servicenow, Inc. Integrated continual improvement management
US10783316B2 (en) 2018-02-26 2020-09-22 Servicenow, Inc. Bundled scripts for web content delivery
US11128542B2 (en) 2018-02-26 2021-09-21 Servicenow, Inc. Interactive user interface to visually display the impact of configuration changes on a managed network
US11200538B2 (en) 2018-02-27 2021-12-14 Servicenow, Inc. System and method for a unified incident management interface
US10542124B2 (en) 2018-02-27 2020-01-21 Servicenow, Inc. Systems and methods of rate limiting for a representational state transfer (REST) application programming interface (API)
US10990929B2 (en) 2018-02-27 2021-04-27 Servicenow, Inc. Systems and methods for generating and transmitting targeted data within an enterprise
US10719375B2 (en) 2018-03-13 2020-07-21 Servicenow, Inc. Systems and method for event parsing
US10606955B2 (en) 2018-03-15 2020-03-31 Servicenow, Inc. Incident matching with vector-based natural language processing
US11232224B2 (en) 2018-03-15 2022-01-25 Servicenow, Inc. Database encryption
US10740566B2 (en) 2018-03-23 2020-08-11 Servicenow, Inc. Method and system for automated intent mining, classification and disposition
US11520992B2 (en) 2018-03-23 2022-12-06 Servicenow, Inc. Hybrid learning system for natural language understanding
US10497366B2 (en) 2018-03-23 2019-12-03 Servicenow, Inc. Hybrid learning system for natural language understanding
US10728340B2 (en) 2018-03-29 2020-07-28 Servicenow, Inc. Internet of things (IOT) platform for device configuration management and support
US10761903B2 (en) 2018-03-29 2020-09-01 Servicenow, Inc. Management instrumentation and discovery (MID) server support for executing automated flows within a cloud based system
US10819560B2 (en) 2018-03-29 2020-10-27 Servicenow, Inc. Alert management system and method of using alert context-based alert rules
US10819581B2 (en) 2018-04-05 2020-10-27 Servicenow, Inc. Performance analytics content gallery
US11551105B2 (en) 2018-04-20 2023-01-10 Servicenow, Inc. Knowledge management using machine learning model trained on incident-knowledge relationship fingerprints
US10558671B2 (en) 2018-05-01 2020-02-11 Servicenow, Inc. Modified representational state transfer (REST) application programming interface (API) including a customized GraphQL framework
US10943201B2 (en) 2018-05-02 2021-03-09 Servicenow, Inc. Digital fingerprint analysis
US10783060B2 (en) 2018-05-02 2020-09-22 Servicenow, Inc. Post-upgrade debugging in a remote network management platform
US10719359B2 (en) 2018-05-02 2020-07-21 Servicenow, Inc. Periodic task execution in an automated context
US11086610B2 (en) 2018-05-04 2021-08-10 Servicenow, Inc. Instance upgrade techniques
US11086950B2 (en) 2018-05-04 2021-08-10 Servicenow, Inc. System and method for task generation to address article feedback
US11373124B2 (en) 2018-05-04 2022-06-28 Servicenow, Inc. System and method for a control based project scheduling mode
US11036751B2 (en) 2018-05-07 2021-06-15 Servicenow, Inc. Advanced insights explorer
US20190340562A1 (en) * 2018-05-07 2019-11-07 Servicenow, Inc. Systems and method for project management portal
US10936980B2 (en) 2018-05-07 2021-03-02 Servicenow, Inc. Graphical user interface for enterprise project portfolio management utilizing normalized project attributes mapped to a common framework
US10944654B2 (en) 2018-06-06 2021-03-09 Servicenow, Inc. Discovery and mapping of containerized software applications
US10826682B2 (en) 2018-07-03 2020-11-03 Servicenow, Inc. Multi-instance architecture supporting trusted blockchain-based network
US10817809B2 (en) 2018-07-27 2020-10-27 Servicenow, Inc. Systems and methods for customizable route optimization
US11140046B2 (en) 2018-08-08 2021-10-05 Servicenow, Inc. Offline updates for native mobile applications
US11663515B2 (en) 2018-08-09 2023-05-30 Servicenow, Inc. Machine learning classification with model quality prediction
US11288250B2 (en) 2018-08-09 2022-03-29 Servicenow, Inc. Partial discovery of cloud-based resources
US10826942B2 (en) 2018-08-10 2020-11-03 Servicenow, Inc. Creating security incident records using a remote network management platform
US10929790B2 (en) 2018-08-29 2021-02-23 Servicenow, Inc. Dynamic agent management for multiple queues
US11061949B2 (en) 2018-09-05 2021-07-13 Servicenow, Inc. User interface for contextual search
US10992544B2 (en) 2018-09-07 2021-04-27 Servicenow, Inc. Identification and display of configuration item information
US11182377B2 (en) 2018-09-07 2021-11-23 Servicenow, Inc. System and graphical user interface for record lifecycle improvement
US10810262B2 (en) 2018-09-17 2020-10-20 Servicenow, Inc. System and method for dashboard selection
US20200090052A1 (en) 2018-09-17 2020-03-19 Servicenow, Inc. Decision tables and enterprise rules for object linking within an application platform as a service environment
US10970048B2 (en) 2018-09-17 2021-04-06 Servicenow, Inc. System and method for workflow application programming interfaces (APIS)
US11089053B2 (en) 2018-09-17 2021-08-10 Servicenow, Inc. Phishing attempt search interface
US11182746B2 (en) 2018-09-17 2021-11-23 Servicenow, Inc. Systems and methods for integrating third-party services with a client instance
US10831589B2 (en) 2018-09-17 2020-11-10 Servicenow, Inc. Service portal diagnosis system providing issue resolution steps
US11423069B2 (en) 2018-09-19 2022-08-23 Servicenow, Inc. Data structures for efficient storage and updating of paragraph vectors
US11574235B2 (en) 2018-09-19 2023-02-07 Servicenow, Inc. Machine learning worker node architecture
US11238230B2 (en) 2018-09-19 2022-02-01 Servicenow, Inc. Persistent word vector input to multiple machine learning models
US10459962B1 (en) 2018-09-19 2019-10-29 Servicenow, Inc. Selectively generating word vector and paragraph vector representations of fields for machine learning
US11249992B2 (en) 2018-09-21 2022-02-15 Servicenow, Inc. Parsing of user queries in a remote network management platform using extended context-free grammar rules
US11429650B2 (en) 2018-09-21 2022-08-30 Servicenow, Inc. Parsing of user queries in a remote network management platform using linguistic matching
US11061890B2 (en) 2018-10-04 2021-07-13 Servicenow, Inc. Automated identification of hardware and software components relevant to incident reports
US11063946B2 (en) 2018-10-24 2021-07-13 Servicenow, Inc. Feedback framework
US10613899B1 (en) 2018-11-09 2020-04-07 Servicenow, Inc. Lock scheduling using machine learning
US11625655B2 (en) 2018-11-14 2023-04-11 Servicenow, Inc. Workflows with rule-based assignments
US11240271B2 (en) 2018-11-14 2022-02-01 Servicenow, Inc. Distributed detection of security threats in a remote network management platform
US11120049B2 (en) 2018-11-19 2021-09-14 Servicenow, Inc. Concurrent data imports
US10715402B2 (en) 2018-11-27 2020-07-14 Servicenow, Inc. Systems and methods for enhanced monitoring of a distributed computing system
US11513823B2 (en) 2018-12-18 2022-11-29 Servicenow, Inc. Chat interface for resource management
US10846111B2 (en) 2018-12-18 2020-11-24 Servicenow, Inc. Customer service management
US11307832B2 (en) 2018-12-27 2022-04-19 Servicenow, Inc. System and method for interfacing incident and continuous integration systems
US11068140B2 (en) 2019-01-04 2021-07-20 Servicenow, Inc. Intelligent overflow menu
US11137258B2 (en) 2019-01-07 2021-10-05 Servicenow, Inc. Systems and methods for comprehensive routing
US11363030B2 (en) 2019-01-08 2022-06-14 Servicenow, Inc. Systems and methods for categorized hierarchical view and modification of user accessibility to information technology item
US11108647B2 (en) 2019-01-14 2021-08-31 Servicenow, Inc. Service mapping based on discovered keywords
US11392563B2 (en) 2019-01-15 2022-07-19 Servicenow, Inc. Efficient compression of workflow state representations
US11070435B2 (en) 2019-01-16 2021-07-20 Servicenow, Inc. Service model re-computation based on configuration item change type
US11410101B2 (en) 2019-01-16 2022-08-09 Servicenow, Inc. Efficient analysis of user-related data for determining usage of enterprise resource systems
US11537936B2 (en) 2019-01-17 2022-12-27 Servicenow, Inc. Data set generation for testing of machine learning pipelines
US10931774B2 (en) 2019-01-17 2021-02-23 Servicenow, Inc. Discovery and service mapping of application programming interface proxies
US10805189B2 (en) 2019-01-22 2020-10-13 Servicenow, Inc. Systems and method for shared visualization library
US11233747B2 (en) 2019-01-23 2022-01-25 Servicenow, Inc. Systems and methods for acquiring server resources at schedule time
US10911320B2 (en) 2019-01-23 2021-02-02 Servicenow, Inc. Guided interface for configuring key performance indicators
US11163791B2 (en) 2019-01-23 2021-11-02 Servicenow, Inc. Transformation configuration in instance data replication with bi-directional replication support
US11308429B2 (en) 2019-01-23 2022-04-19 Servicenow, Inc. Enterprise data mining systems
US11500874B2 (en) 2019-01-23 2022-11-15 Servicenow, Inc. Systems and methods for linking metric data to resources
US11106525B2 (en) 2019-02-04 2021-08-31 Servicenow, Inc. Systems and methods for classifying and predicting the cause of information technology incidents using machine learning
US11409844B2 (en) 2019-02-11 2022-08-09 Servicenow, Inc. Systems and methods for license management in a domain-separated architecture
US11520863B2 (en) 2019-02-27 2022-12-06 Servicenow, Inc. Systems and methods for importing software license metric data into a configuration management database (CMDB)
US10819587B2 (en) 2019-03-04 2020-10-27 Servicenow, Inc. Methods and systems for analysis of process performance
US11593461B2 (en) 2019-03-11 2023-02-28 Servicenow, Inc. Systems and methods for third-party library management
US10949070B2 (en) 2019-03-13 2021-03-16 Servicenow, Inc. Customizable mobile application for event management
US11461288B2 (en) 2019-03-14 2022-10-04 Servicenow, Inc. Systems and methods for database management system (DBMS) discovery
US11043204B2 (en) 2019-03-18 2021-06-22 Servicenow, Inc. Adaptable audio notifications
US11379560B2 (en) 2019-03-18 2022-07-05 ServiceNow Inc. Systems and methods for license analysis
US11222290B2 (en) 2019-03-18 2022-01-11 Servicenow, Inc. Intelligent capability extraction and assignment
US10452360B1 (en) 2019-03-19 2019-10-22 Servicenow, Inc. Workflow support for dynamic action input
US11138530B2 (en) 2019-03-19 2021-10-05 Servicenow, Inc. Action determination for case management
US11442899B2 (en) 2019-03-19 2022-09-13 Servicenow, Inc. Systems and methods for improved application programing interface (API) retry handling
US10678418B1 (en) 2019-03-19 2020-06-09 Servicenow, Inc. Graphical user interfaces for defining complex data objects
US10521195B1 (en) 2019-03-19 2019-12-31 Servicenow, Inc. Guided definition of an application programming interface action for a workflow
US11223581B2 (en) 2019-03-19 2022-01-11 Servicenow, Inc. Virtual agent portal integration of two frameworks
US10929107B2 (en) 2019-03-19 2021-02-23 Servicenow, Inc. Workflow support for dynamic action output
US11790176B2 (en) 2019-03-19 2023-10-17 Servicenow, Inc. Systems and methods for a virtual agent in a cloud computing environment
US10599786B1 (en) 2019-03-19 2020-03-24 Servicenow, Inc. Dynamic translation
US11423910B2 (en) 2019-03-19 2022-08-23 Servicenow, Inc. Systems and method for third party natural language understanding service integration
US11100075B2 (en) * 2019-03-19 2021-08-24 Servicenow, Inc. Graphical user interfaces for incorporating complex data objects into a workflow
US11151325B2 (en) 2019-03-22 2021-10-19 Servicenow, Inc. Determining semantic similarity of texts based on sub-sections thereof
US11115471B2 (en) 2019-03-28 2021-09-07 Servicenow, Inc. Identifying and mitigating configuration item flapping
US11258865B2 (en) 2019-03-28 2022-02-22 Servicenow, Inc. Automated integration with cloud-based services
US11080490B2 (en) 2019-03-28 2021-08-03 Servicenow, Inc. Pre-training of virtual chat interfaces
US10739983B1 (en) 2019-04-10 2020-08-11 Servicenow, Inc. Configuration and management of swimlanes in a graphical user interface
US10924344B2 (en) 2019-04-11 2021-02-16 Servicenow, Inc. Discovery and mapping of cloud-based resource modifications
US11263201B2 (en) 2019-04-12 2022-03-01 Servicenow, Inc. Interface for supporting integration with cloud-based service providers
US11226978B2 (en) 2019-04-23 2022-01-18 Servicenow, Inc. Systems and methods for dynamic creation of schemas
US11112929B2 (en) 2019-05-02 2021-09-07 Servicenow, Inc. Personalized graphical user interfaces for enterprise-related actions
US11403370B2 (en) 2019-05-02 2022-08-02 Servicenow, Inc. Automatically detecting misuse of licensed software
US11204903B2 (en) 2019-05-02 2021-12-21 Servicenow, Inc. Determination and reconciliation of software used by a managed network
US11157273B2 (en) 2019-05-02 2021-10-26 Servicenow, Inc. Scaled agile framework program board
US10764124B1 (en) 2019-05-02 2020-09-01 Servicenow, Inc. Intelligent export and import of service representations
US10747757B1 (en) 2019-05-02 2020-08-18 Servicenow, Inc. Graphical query builder for multi-modal search
US10686647B1 (en) 2019-05-02 2020-06-16 Servicenow, Inc. Descriptor architecture for a remote network management platform
US11520622B2 (en) 2019-05-03 2022-12-06 Servicenow, Inc. Active queue management in a multi-node computing environment
US11431824B2 (en) 2019-05-03 2022-08-30 Servicenow, Inc. Server-side control over navigation mode in web application
US11651032B2 (en) 2019-05-03 2023-05-16 Servicenow, Inc. Determining semantic content of textual clusters
US11586659B2 (en) 2019-05-03 2023-02-21 Servicenow, Inc. Clustering and dynamic re-clustering of similar textual documents
US11481474B2 (en) 2019-05-03 2022-10-25 Servicenow, Inc. Discovery and allocation of entitlements to virtualized applications
US11080241B2 (en) 2019-05-03 2021-08-03 Servicenow, Inc. Document collaboration
US10997002B2 (en) 2019-05-03 2021-05-04 Servicenow, Inc. Quick actions
US11082289B2 (en) 2019-05-03 2021-08-03 Servicenow, Inc. Alert intelligence integration
US11133992B2 (en) 2019-05-03 2021-09-28 Servicenow, Inc. Detection and notification of anomalies in shared computer networks
US11374970B2 (en) 2019-05-07 2022-06-28 Servicenow, Inc. Phishing attempt categorization/aggregation interface
US11044184B2 (en) 2019-05-28 2021-06-22 Servicenow, Inc. Data packet loss detection
US11032381B2 (en) 2019-06-19 2021-06-08 Servicenow, Inc. Discovery and storage of resource tags
US10698595B1 (en) 2019-06-28 2020-06-30 Servicenow, Inc. Support for swimlanes in a mobile graphical user interface
US11205052B2 (en) 2019-07-02 2021-12-21 Servicenow, Inc. Deriving multiple meaning representations for an utterance in a natural language understanding (NLU) framework
US11410061B2 (en) 2019-07-02 2022-08-09 Servicenow, Inc. Dynamic anomaly reporting
US11487945B2 (en) 2019-07-02 2022-11-01 Servicenow, Inc. Predictive similarity scoring subsystem in a natural language understanding (NLU) framework
US11115432B2 (en) 2019-07-08 2021-09-07 Servicenow, Inc. Multi-application recommendation engine for a remote network management platform
US11016979B2 (en) 2019-08-05 2021-05-25 Servicenow, Inc. Systems and method for domain separation of service catalog
US11232410B2 (en) 2019-08-07 2022-01-25 Servicenow, Inc. On-call scheduling and enhanced contact preference management
US11256391B2 (en) 2019-08-12 2022-02-22 Servicenow, Inc. Mobile user interface for displaying heterogeneous items interleaved by common data type
US11520621B2 (en) 2019-08-26 2022-12-06 Servicenow, Inc. Computational instance batching and automation orchestration based on resource usage and availability
US11423155B2 (en) 2019-08-28 2022-08-23 Servicenow, Inc. Software vulnerability detection in managed networks
US11205047B2 (en) 2019-09-05 2021-12-21 Servicenow, Inc. Hierarchical search for improved search relevance
US11379562B2 (en) 2019-09-09 2022-07-05 Servicenow, Inc. Remote software usage monitoring and entitlement analysis
US11290357B2 (en) 2019-09-10 2022-03-29 Servicenow, Inc. Automated document summaries using highlighting
US10938657B1 (en) 2019-09-13 2021-03-02 Servicenow, Inc. Enhancing discovery patterns with shell command exit status
US11507442B2 (en) 2019-09-17 2022-11-22 Servicenow, Inc. Method and system for determining maturity level of a cloud computing service
US11140042B2 (en) 2019-09-18 2021-10-05 Servicenow, Inc. Dictionary-based service mapping
US11157241B2 (en) 2019-09-18 2021-10-26 Servicenow, Inc. Codeless specification of software as a service integrations
US11507644B2 (en) 2019-10-02 2022-11-22 Servicenow, Inc. Discovery and classification of software application suites
US11086879B2 (en) 2019-10-02 2021-08-10 Servicenow, Inc. Pipelineable and parallelizable streaming parsers for querying structured data-interchange information
US11461673B2 (en) 2019-10-07 2022-10-04 Servicenow, Inc. Shared machine learning model for application discovery
US11449496B2 (en) 2019-10-25 2022-09-20 Servicenow, Inc. Enhanced natural language processing with semantic shortcuts
US11122145B2 (en) 2019-10-31 2021-09-14 Servicenow, Inc. Time series data analysis
US11468238B2 (en) 2019-11-06 2022-10-11 ServiceNow Inc. Data processing systems and methods
US11481417B2 (en) 2019-11-06 2022-10-25 Servicenow, Inc. Generation and utilization of vector indexes for data processing systems and methods
US11429631B2 (en) 2019-11-06 2022-08-30 Servicenow, Inc. Memory-efficient programmatic transformation of structured data
US11531683B2 (en) 2019-11-06 2022-12-20 Servicenow, Inc. Unified application programming interface for transformation of structured data
US11455357B2 (en) 2019-11-06 2022-09-27 Servicenow, Inc. Data processing systems and methods
US11188530B2 (en) 2019-11-25 2021-11-30 Servicenow, Inc. Metadata-based translation of natural language queries into database queries
US11099903B2 (en) 2019-12-05 2021-08-24 Servicenow, Inc. System and method for determining and tracking cloud capacity metrics
US11652790B2 (en) 2019-12-06 2023-05-16 Servicenow, Inc. Quarantine for cloud-based services
US11423124B2 (en) 2019-12-20 2022-08-23 Servicenow, Inc. Systems and methods for asset management
US11258860B2 (en) 2019-12-24 2022-02-22 Servicenow, Inc. System and method for bot detection and classification
US11507692B2 (en) 2019-12-31 2022-11-22 Servicenow, Inc. System and method for improved anonymized data repositories
US11188553B2 (en) 2019-12-31 2021-11-30 Servicenow, Inc. System and method for importation of configuration item (CI) data into a configuration management database (CMDB)
US11275790B2 (en) 2019-12-31 2022-03-15 Servicenow, Inc. Enhanced phrase scoring for textual search
US11418395B2 (en) 2020-01-08 2022-08-16 Servicenow, Inc. Systems and methods for an enhanced framework for a distributed computing system
US11140223B2 (en) 2020-01-14 2021-10-05 Servicenow, Inc. Systems and methods for synchronizing data between hub and spoke environments
US11487411B2 (en) 2020-02-20 2022-11-01 Servicenow, Inc. Context-driven group pill in a user interface
US11385916B2 (en) 2020-03-16 2022-07-12 Servicenow, Inc. Dynamic translation of graphical user interfaces
US11068130B1 (en) 2020-03-16 2021-07-20 Servicenow, Inc. Automatic restructuring of graphical user interface components based on user interaction
US11580312B2 (en) 2020-03-16 2023-02-14 Servicenow, Inc. Machine translation of chat sessions
US11288608B2 (en) 2020-04-14 2022-03-29 Servicenow, Inc. Systems and method for a project management portal
US11301267B2 (en) 2020-05-22 2022-04-12 Servicenow, Inc. Automated task management techniques
US11636104B2 (en) 2020-07-28 2023-04-25 Servicenow, Inc. Analytics center having a natural language query (NLQ) interface
US11190623B1 (en) 2020-08-26 2021-11-30 Servicenow, Inc. System and method for a data interchange hub
US11784962B2 (en) 2020-09-01 2023-10-10 Servicenow, Inc. Systems and methods for collaborative chat with non-native chat platforms
US11474845B2 (en) 2020-09-09 2022-10-18 Servicenow, Inc. System and method for versioned script management
US11296926B1 (en) 2021-01-07 2022-04-05 Servicenow, Inc. Systems and methods for ranked visualization of events
US11599645B2 (en) 2021-01-07 2023-03-07 Servicenow, Inc. Systems and methods for predicting cybersecurity vulnerabilities
US11838374B2 (en) 2021-02-12 2023-12-05 Servicenow, Inc. Remote network management infrastructure for cloud-based deployments
US11374813B1 (en) * 2021-04-23 2022-06-28 Verizon Patent And Licensing Inc. Software defined network device exposure to third parties
US11768831B2 (en) 2021-05-10 2023-09-26 Servicenow, Inc. Systems and methods for translating natural language queries into a constrained domain-specific language
US11522943B1 (en) 2022-02-02 2022-12-06 Servicenow, Inc. System and method for deferring data retrieval
US11777815B1 (en) 2022-03-02 2023-10-03 Servicenow, Inc. Techniques for dynamically configuring service availability
US11949561B2 (en) 2022-07-19 2024-04-02 Servicenow, Inc. Automated preventative controls in digital workflow

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050022156A1 (en) * 2003-07-22 2005-01-27 Joerg Schwan Management of changes to objects
US6996601B1 (en) * 2001-07-26 2006-02-07 Sprint Communications Company L.P. Process for managing change within an enterprise
US7051092B2 (en) * 1999-12-30 2006-05-23 International Business Machines Corporation Request scheduler for automated software configuration
US7254831B2 (en) * 2002-12-04 2007-08-07 Microsoft Corporation Sharing a sign-in among software applications having secured features
US7735086B2 (en) * 2004-02-27 2010-06-08 International Business Machines Corporation Methods and arrangements for planning and scheduling change management requests in computing systems

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0541875A1 (en) * 1991-11-15 1993-05-19 International Business Machines Corporation Method for facilitating the configuration of programs
US20020082895A1 (en) * 2000-12-22 2002-06-27 Budka Phyllis R. Method, apparatus and article for project management
US7337124B2 (en) * 2001-08-29 2008-02-26 International Business Machines Corporation Method and system for a quality software management process
US20060179431A1 (en) * 2003-03-19 2006-08-10 Unisys Corporation Rules-based deployment of computing components
EP1612692A1 (en) * 2003-04-10 2006-01-04 Matsushita Electric Industrial Co., Ltd. Password change system
JP3889726B2 (en) * 2003-06-27 2007-03-07 株式会社東芝 Scheduling method and information processing system
US7484212B2 (en) * 2004-02-27 2009-01-27 International Business Machines Corporation Methods and arrangements for automated change plan construction and impact analysis
US7689990B2 (en) * 2005-03-25 2010-03-30 International Business Machines Corporation Method, system and program for managing executable tasks
US8863137B2 (en) * 2005-09-23 2014-10-14 International Business Machines Corporation Systems and methods for automated provisioning of managed computing resources
US8887133B2 (en) 2006-04-28 2014-11-11 Bmc Software, Inc. Bi-directional communication between change management tool and implementation tools

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051092B2 (en) * 1999-12-30 2006-05-23 International Business Machines Corporation Request scheduler for automated software configuration
US6996601B1 (en) * 2001-07-26 2006-02-07 Sprint Communications Company L.P. Process for managing change within an enterprise
US7254831B2 (en) * 2002-12-04 2007-08-07 Microsoft Corporation Sharing a sign-in among software applications having secured features
US20050022156A1 (en) * 2003-07-22 2005-01-27 Joerg Schwan Management of changes to objects
US7735086B2 (en) * 2004-02-27 2010-06-08 International Business Machines Corporation Methods and arrangements for planning and scheduling change management requests in computing systems

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7756828B2 (en) * 2006-02-28 2010-07-13 Microsoft Corporation Configuration management database state model
US20070203952A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation Configuration management database state model
US8146083B2 (en) * 2006-06-22 2012-03-27 International Business Machines Corporation Method and apparatus to modify a task within a set of tasks
US20070300224A1 (en) * 2006-06-22 2007-12-27 Vijay Kumar Aggarwal Method and apparatus to modify a task within a set of tasks
US20080195453A1 (en) * 2007-02-14 2008-08-14 Simon Smith Organisational Representational System
US20090034016A1 (en) * 2007-08-01 2009-02-05 Silverbrook Research Pty Ltd Method of Conferring Interactivity on Previously Printed Graphic Images
US10970130B2 (en) * 2008-06-02 2021-04-06 Microsoft Technology Licensing, Llc Composable and cancelable dataflow continuation passing
US20200159595A1 (en) * 2008-06-02 2020-05-21 Microsoft Technology Licensing, Llc Composable and cancelable dataflow continuation passing
US20110099158A1 (en) * 2009-10-28 2011-04-28 Computer Associates Think, Inc. System and method for automatically detecting, reporting, and tracking conflicts in a change management system
US8219541B2 (en) * 2009-10-28 2012-07-10 Ca, Inc. System and method for automatically detecting, reporting, and tracking conflicts in a change management system
US8984483B2 (en) * 2009-11-10 2015-03-17 Zte Corporation Control method and system for remote configuration
US20120221689A1 (en) * 2009-11-10 2012-08-30 Yan Qian Control method and system for remote configuration
US20110191383A1 (en) * 2010-02-01 2011-08-04 Oracle International Corporation Orchestration of business processes using templates
US8402064B2 (en) 2010-02-01 2013-03-19 Oracle International Corporation Orchestration of business processes using templates
US20110218925A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Change management framework in distributed order orchestration system
US20110218924A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Distributed order orchestration system for adjusting long running order management fulfillment processes with delta attributes
US9904898B2 (en) 2010-03-05 2018-02-27 Oracle International Corporation Distributed order orchestration system with rules engine
US20110218842A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Distributed order orchestration system with rules engine
US20110218927A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Compensation patterns for adjusting long running order management fulfillment processes in an distributed order orchestration system
US20110219218A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Distributed order orchestration system with rollback checkpoints for adjusting long running order management fulfillment processes
US10061464B2 (en) 2010-03-05 2018-08-28 Oracle International Corporation Distributed order orchestration system with rollback checkpoints for adjusting long running order management fulfillment processes
US20110218923A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Task layer service patterns for adjusting long running order management fulfillment processes for a distributed order orchestration system
US20110218922A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Cost of change for adjusting long running order management fulfillment processes for a distributed order orchestration sytem
US20110218926A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Saving order process state for adjusting long running order management fulfillment processes in a distributed order orchestration system
US8793262B2 (en) 2010-03-05 2014-07-29 Oracle International Corporation Correlating and mapping original orders with new orders for adjusting long running order management fulfillment processes
US10789562B2 (en) 2010-03-05 2020-09-29 Oracle International Corporation Compensation patterns for adjusting long running order management fulfillment processes in an distributed order orchestration system
US20110218813A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Correlating and mapping original orders with new orders for adjusting long running order management fulfillment processes
US20110218921A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Notify/inquire fulfillment systems before processing change requests for adjusting long running order management fulfillment processes in a distributed order orchestration system
US10395205B2 (en) 2010-03-05 2019-08-27 Oracle International Corporation Cost of change for adjusting long running order management fulfillment processes for a distributed order orchestration system
US9269075B2 (en) 2010-03-05 2016-02-23 Oracle International Corporation Distributed order orchestration system for adjusting long running order management fulfillment processes with delta attributes
US9658901B2 (en) 2010-11-12 2017-05-23 Oracle International Corporation Event-based orchestration in distributed order orchestration system
US20120297331A1 (en) * 2011-05-19 2012-11-22 Sumathi Chutkay Systems and methods for intelligent decision support
US20130185701A1 (en) * 2012-01-18 2013-07-18 Sap Ag Centralized, object-level change tracking
US8832653B2 (en) * 2012-01-18 2014-09-09 Sap Ag Centralized, object-level change tracking
US10552769B2 (en) 2012-01-27 2020-02-04 Oracle International Corporation Status management framework in a distributed order orchestration system
US8762322B2 (en) 2012-05-22 2014-06-24 Oracle International Corporation Distributed order orchestration system with extensible flex field support
US9672560B2 (en) 2012-06-28 2017-06-06 Oracle International Corporation Distributed order orchestration system that transforms sales products to fulfillment products
US10191733B2 (en) * 2013-06-25 2019-01-29 Sap Se Software change process orchestration in a runtime environment
US20140380265A1 (en) * 2013-06-25 2014-12-25 Sap Ag Software change process orchestration
US9977654B2 (en) * 2014-06-20 2018-05-22 Asset, S.r.L. Method of developing an application for execution in a workflow management system and apparatus to assist with generation of an application for execution in a workflow management system
US20150370540A1 (en) * 2014-06-20 2015-12-24 Asset S.R.L. Method of developing an application for execution in a workflow management system and apparatus to assist with generation of an application for execution in a workflow management system
US20190053020A1 (en) * 2016-07-25 2019-02-14 Symbol Technologies, Llc Systems and methods of deploying location tracking tags
US10805769B2 (en) * 2016-07-25 2020-10-13 Symbol Technologies, Llc Systems and methods of deploying location tracking tags
CN110020765A (en) * 2018-11-05 2019-07-16 阿里巴巴集团控股有限公司 A kind of switching method and apparatus of operation flow

Also Published As

Publication number Publication date
US8887133B2 (en) 2014-11-11
US9152413B2 (en) 2015-10-06
US20160019059A1 (en) 2016-01-21
US20150067643A1 (en) 2015-03-05
US11132192B2 (en) 2021-09-28

Similar Documents

Publication Publication Date Title
US11132192B2 (en) Bi-directional communication between change management tool and implementation tools
US9137106B2 (en) Systems and methods for private cloud computing
US7251787B2 (en) Method and apparatus for an integrated process modeller
US9912666B2 (en) Access management for controlling access to computer resources
US20050060662A1 (en) Process for creating service action data structures
US20080215358A1 (en) Method, system, and storage medium for implementing business process modules
CN108351771B (en) Maintaining control over restricted data during deployment to a cloud computing environment
US9298713B2 (en) Executor for software configuration automation
US20150066572A1 (en) Identity and access management
US20050043979A1 (en) Process for executing approval workflows and fulfillment workflows
CN108351807B (en) Event management to maintain control of restricted data in a cloud computing environment
US20090150887A1 (en) Process Aware Change Management
US8655757B1 (en) System and method for assigning a unique asset identity
JP2006313545A (en) Method, system, and computer program for managing automatic resource provisioning by workload scheduler
US20050044099A1 (en) Process for creating an information services catalog
Lindquist et al. IBM service management architecture
US11841838B1 (en) Data schema compacting operation when performing a data schema mapping operation
AU2013203291B2 (en) Systems and methods for private cloud computing
US20240073091A1 (en) Metadata-aware templating engine for assigning internet protocol address space in an organization
US10235678B1 (en) System and method for managing distributed offerings
US8725610B1 (en) System and method for managing privacy for offerings
US10657586B1 (en) System and method for dynamic offering deployment
CN117350699A (en) Automatic connection method and device for operation and maintenance flow platform and automation platform
Sabharwal et al. Workload Automation Using HWA

Legal Events

Date Code Title Description
AS Assignment

Owner name: BMC SOFTWARE, INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BEHNIA, KIA;MUELLER, DOUGLAS;REEL/FRAME:019563/0150;SIGNING DATES FROM 20070601 TO 20070701

Owner name: BMC SOFTWARE, INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BEHNIA, KIA;MUELLER, DOUGLAS;SIGNING DATES FROM 20070601 TO 20070701;REEL/FRAME:019563/0150

AS Assignment

Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: SECURITY AGREEMENT;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:031204/0225

Effective date: 20130910

Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLAT

Free format text: SECURITY AGREEMENT;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:031204/0225

Effective date: 20130910

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

AS Assignment

Owner name: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:047185/0744

Effective date: 20181002

Owner name: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLA

Free format text: SECURITY INTEREST;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:047185/0744

Effective date: 20181002

AS Assignment

Owner name: BLADELOGIC, INC., TEXAS

Free format text: RELEASE OF PATENTS;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:047198/0468

Effective date: 20181002

Owner name: BMC SOFTWARE, INC., TEXAS

Free format text: RELEASE OF PATENTS;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:047198/0468

Effective date: 20181002

Owner name: BMC ACQUISITION L.L.C., TEXAS

Free format text: RELEASE OF PATENTS;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:047198/0468

Effective date: 20181002

AS Assignment

Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT, TEXAS

Free format text: SECURITY INTEREST;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:052844/0646

Effective date: 20200601

Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT, TEXAS

Free format text: SECURITY INTEREST;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:052854/0139

Effective date: 20200601

AS Assignment

Owner name: ALTER DOMUS (US) LLC, ILLINOIS

Free format text: GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS;ASSIGNORS:BMC SOFTWARE, INC.;BLADELOGIC, INC.;REEL/FRAME:057683/0582

Effective date: 20210930

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

AS Assignment

Owner name: BLADELOGIC, INC., TEXAS

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:ALTER DOMUS (US) LLC;REEL/FRAME:066567/0283

Effective date: 20240131

Owner name: BMC SOFTWARE, INC., TEXAS

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:ALTER DOMUS (US) LLC;REEL/FRAME:066567/0283

Effective date: 20240131

AS Assignment

Owner name: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT, NEW YORK

Free format text: OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT;REEL/FRAME:066729/0889

Effective date: 20240229