IP Library Granted Patent US 12,062,001
Granted Patent B2
US 12,062,001 · App. 17/005,640 · Granted Aug 13, 2024

Automated workflows enabling selective interaction with users

Inventors: Richard Gardner (Leesburg, VA); Clayton Myers (Oak Hill, VA); Andrew Smith (Oakton, VA)
Assignee: MicroStrategy Incorporated
G06Q10/0633G06F16/9035G06F16/958G06F8/65
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,062,001
App. No.
17/005,640
Granted
Aug 13, 2024
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for automated workflows enabling selective interaction with users. In some implementations, a workflow module indicating a set of operations to be performed by one or more computers is accessed, where the workflow module specifies rules that instruct one or more actions to be selectively performed based on detection of one or more conditions. The occurrence of a particular condition specified by the workflow module is detected, where the workflow module is configured to initiate a communication when the particular condition occurs. In response to detecting the occurrence of the particular condition, a user is identified based on data of the workflow module, a communication corresponding to the particular condition is generated, and communication with the identified user is initiated to provide the generated message.

Claims (51)

1. A method performed by one or more computers, the method comprising:

receiving, by the one or more computers, a workflow module over a communication network, wherein the workflow module is a distributable package comprising executable or interpretable instructions configured to monitor operation of a server environment and selectively alter operation of the server environment after detection of a particular condition occurs for the server environment, and wherein the workflow module specifies that one or more operations of the workflow to be performed that are dependent on a second condition being satisfied after the detection of the particular condition of the server environment, the workflow module being provided from a library of workflow modules comprising workflow modules to monitor and manage operation of server environments;

after receiving the workflow module of the communication network, performing, by the one or more computers, operations specified by the received workflow module including a set of operations to determine and evaluate a state of a particular server environment, the received workflow module specifying rules that instruct one or more actions to be selectively performed based on detection of one or more conditions based on the state of the particular server environment;

detecting, by the one or more computers and as part of performance of the set of operations of the received workflow module, the occurrence at the particular server environment of the particular condition specified by the received workflow module;

in response to detecting the occurrence of the particular condition specified by the received workflow module:

causing, by the one or more computers and based on the received workflow module, a change to a user interface to present one or more interactive user interface elements; and

monitoring, by the one or more computers, to determine whether the second condition has been satisfied; and

in response to determining based on the monitoring that the second condition has been satisfied, altering, by the one or more computers, operation of the server environment by performing the one or more operations of the workflow that are dependent on the second condition being satisfied.

2. The method of claim 1 , wherein the particular condition is that a performance measure for the operations of the workflow module is below a threshold level.

3. The method of claim 1 , wherein the particular condition is that a performance measure for the one or more computers is below a threshold level.

4. The method of claim 1 , wherein the workflow module is configured to run periodically or on an ongoing basis to detect and address one or more aspects of operation of a computer system.

5. The method of claim 1 , wherein the workflow module is editable by a user to alter (i) the particular condition, (ii) a type of interaction with the user, or (iii) a set of users with which that communication is initiated.

6. The method of claim 1 , wherein the workflow module is editable by a user to insert or remove, in the set of operations, an element configured to cause the one or more computers to initiate communication with a user based on data generated by the workflow module.

7. The method of claim 6 , wherein the set of operations is a sequence of multiple operations;

wherein the element is a breakpoint element that is insertable into the sequence of operations such that running the workflow module causes the one or more computers to:

perform first operations occurring in the sequence of operations before the breakpoint element; and

after performing the first operations:

initiate communication with a user before performing second operations that occur after the breakpoint element in the sequence of operations; and

pausing or cancelling processing of the second operations.

8. The method of claim 1 , wherein the workflow module includes a rule configured to require approval of a user before proceeding with at least a portion of the set of operations; and

wherein the method further comprises, based on the rule, pausing execution of the set of operations of the workflow module in response to detecting the occurrence of the particular condition.

9. The method of claim 1 , wherein the workflow module includes a rule that specifies a predetermined amount of time to wait for approval to be received from a user;

wherein the method further comprises:

pausing the operations of the workflow for predetermined amount of time; and

after the end of the predetermined amount of time, resuming execution of the operations in the set of operations.

10. The method of claim 1 , further comprising:

accessing data from a database system indicating a set of users and their permission levels;

selecting a proper subset of the users such that each user in the proper subset has at least a minimum permission level; and

initiating communication with one or more of the users in the selected subset in response to detecting the particular condition.

11. The method of claim 1 , wherein the workflow module specifies different types or levels of user interaction to be initiated depending on one or more conditions detected; or wherein the workflow module specifies different users to communicate with depending on one or more conditions detected interaction with different users.

12. The method of claim 1 , wherein detecting the occurrence of the particular condition comprises executing an operation specified by the workflow module that causes the one or more computers to obtain information through a third-party application programming interface (API).

13. The method of claim 1 , wherein the workflow module includes (i) a first set of operations configured to detect whether the particular condition is satisfied, and (ii) a second set of operations triggered in response to detection of the particular condition, wherein the second set of operations are configured to alter server environment settings selectively depending on whether the second condition is satisfied.

14. A system comprising:

one or more computers; and

one or more computer-readable media storing instructions that, when executed, cause the one or more computers to perform operations comprising:

receiving, by the one or more computers, a workflow module over a communication network, wherein the workflow module is a distributable package comprising executable or interpretable instructions configured to monitor operation of a server environment and selectively alter operation of the server environment after detection of a particular condition occurs for the server environment, and wherein the workflow module specifies that one or more operations of the workflow to be performed that are dependent on a second condition being satisfied after the detection of the particular condition of the server environment, the workflow module being provided from a library of workflow modules comprising workflow modules to monitor and manage operation of server environments;

after receiving the workflow module of the communication network, performing, by the one or more computers, operations specified by the received workflow module including a set of operations to determine and evaluate a state of a particular server environment, the received workflow module specifying rules that instruct one or more actions to be selectively performed based on detection of one or more conditions based on the state of the particular server environment;

detecting, by the one or more computers and as part of performance of the set of operations of the received workflow module, the occurrence at the particular server environment of the particular condition specified by the received workflow module;

in response to detecting the occurrence of the particular condition specified by the received workflow module:

causing, by the one or more computers and based on the received workflow module, a change to a user interface to present one or more interactive user interface elements; and

monitoring, by the one or more computers, to determine whether the second condition has been satisfied; and

in response to determining based on the monitoring that the second condition has been satisfied, altering, by the one or more computers, operation of the server environment by performing the one or more operations of the workflow that are dependent on the second condition being satisfied.

15. The system of claim 14 , wherein the particular condition is that a performance measure for the operations of the workflow module is below a threshold level.

16. One or more non-transitory computer-readable media storing instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:

receiving, by the one or more computers, a workflow module over a communication network, wherein the workflow module is a distributable package comprising executable or interpretable instructions configured to monitor operation of a server environment and selectively alter operation of the server environment after detection of a particular condition occurs for the server environment, and wherein the workflow module specifies that one or more operations of the workflow to be performed that are dependent on a second condition being satisfied after the detection of the particular condition of the server environment, the workflow module being provided from a library of workflow modules comprising workflow modules to monitor and manage operation of server environments;

after receiving the workflow module of the communication network, performing, by the one or more computers, operations specified by the received workflow module including a set of operations to determine and evaluate a state of a particular server environment, the received workflow module specifying rules that instruct one or more actions to be selectively performed based on detection of one or more conditions based on the state of the particular server environment;

detecting, by the one or more computers and as part of performance of the set of operations of the received workflow module, the occurrence at the particular server environment of the particular condition specified by the received workflow module;

in response to detecting the occurrence of the particular condition specified by the received workflow module:

causing, by the one or more computers and based on the received workflow module, a change to a user interface to present one or more interactive user interface elements; and

monitoring, by the one or more computers, to determine whether the second condition has been satisfied; and

in response to determining based on the monitoring that the second condition has been satisfied, altering, by the one or more computers, operation of the server environment by performing the one or more operations of the workflow that are dependent on the second condition being satisfied.

Assignments (4)
CHANGE OF NAME Recorded Sep 19, 2025
From: MICROSTRATEGY INCORPORATED
To: STRATEGY INC
Reel/Frame 072974/0529 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT REEL/FRAME: 056647/0687, REEL/FRAME: 057435/0023, REEL/FRAME: 059256/0247, REEL/FRAME: 062794/0255 AND REEL/FRAME: 066663/0713 Recorded Sep 26, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS SUCCESSOR IN INTEREST TO U.S. BANK NATIONAL ASSOCIATION, IN ITS CAPACITY AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
Reel/Frame 069065/0539 →
SECURITY INTEREST Recorded Jun 22, 2021
From: MICROSTRATEGY INCORPORATED
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 056647/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2020
From: GARDNER, RICHARD; MYERS, CLAYTON; SMITH, ANDREW
To: MICROSTRATEGY INCORPORATED
Reel/Frame 054142/0606 →
Continuity (2)
Provisional Application 62894315 · Aug 30, 2019
Related Publication 20210065078A1 · Mar 4, 2021