IP Library Granted Patent US 11,636,006
Granted Patent B2
US 11,636,006 · App. 17/583,942 · Granted Apr 25, 2023

System and method for modular construction of executable programs having self-contained program elements

Inventor: Benjamin Hussey (Chicago, IL)
Assignee: Chewy, Inc.
G06F11/0793G06F11/1402G06V30/414G16H20/10
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 11,636,006
App. No.
17/583,942
Granted
Apr 25, 2023
Kind
B2
Abstract

A method for performing a fault tolerant automated sequence of computer implemented tasks including, presenting for selection by a user a plurality of pre-programmed elements, each pre-programmed element being independently executable relative each other pre-programmed element, receiving from the user a selection of one or more of the pre-programmed elements and a sequence for performing each pre-programmed element to form an exemplary routine, creating an instance of the exemplary routine, the instance of the exemplary routine including an instance of each of the selected pre-programmed elements arranged for performance in accordance with the sequence and configured to perform tasks defined by the pre-programmed elements and the sequence, initiating implementation of the instance of the exemplary routine by initiating performance of the instances of the pre-programmed elements in accordance with the sequence, and executing each instance of the pre-programmed elements according to the sequence.

Claims (74)

1. A method for performing a fault tolerant automated sequence of computer implemented tasks comprising:

at a processing server coupled to a database and a storefront server:

render an administrator facing UI at a client device coupled to the processing server;

presenting for selection by a user via the administrator facing UI a plurality of pre-programmed elements, each pre-programmed element being independently executable relative each other pre-programmed element such that an output of any of the pre-programmed elements is not a direct input to any other of the pre-programmed elements;

receiving via the administrator facing UI a selection of two or more of the pre-programmed elements and a sequence for performing each pre-programmed elements in the selection to form an exemplary routine;

receiving from the storefront server an indication of a trigger event corresponding to an input at the customer facing UI, and in response to receiving the indication of a trigger event, automatically creating an instance of the exemplary routine, the instance of the exemplary routine including an instance of each of the selected pre-programmed elements arranged for performance in accordance with the sequence and being configured to perform tasks defined by the pre-programmed elements and the sequence, the instance of the exemplary routine further including a status indicator indicating an execution status of each instance of each of the selected pre-programmed elements, the execution status of each instance of each of the selected pre-programmed elements being initially set to a pending execution status;

at a monitoring server coupled to the processing server and the database, and at a pre-defined interval:

querying the database to identify instances of pre-programmed elements having a pending execution status;

in response to the querying the database, receiving from the database the identity of instances of pre-programmed elements having a pending execution status;

transmitting a request to the processing server to initiate execution of the identified instances of pre-programmed elements according to the sequence; and

at the processing server, automatically executing the identified instances of the pre-programmed elements according to the sequence in response to the request from the monitoring server.

2. The method of claim 1 further comprising:

detecting an error that prevents completion of at least one instance of the pre-programmed elements; and

terminating the execution of the instance of the exemplary routine upon detection of the error without user intervention.

3. The method of claim 2 further comprising:

after the detecting step and before the terminating step, attempting to re-execute at least one instance of the pre-programmed elements associated with the detected error.

4. The method of claim 2 further comprising:

detecting a trigger event that triggers, without user intervention, a re-execution of the instance of at least one of the pre-programmed elements and wherein an error state that prevents the completion of the at least one instance arises after a subsequent trigger event is detected following a pre-selected number of re-executions of the at least one instance of the pre-programmed element.

5. The method of claim 2 further comprising:

defining a retry threshold value for each of the pre-programmed elements; and

after the detecting step and before the terminating step, attempting to re-execute the at least one instance of the pre-programmed elements associated with the detected error in accordance with the retry threshold value.

6. The method of claim 1 further comprising:

during execution of the instance of the pre-programmed element, detecting the absence of prescription authorization data needed to complete the execution;

based on the absence of the prescription authorization, automatically transmitting an authorization form to an authorizing entity;

receiving an authorization facsimile of a completed form in response to the automatic transmitting; and

automatically populating a prescription authorization field based upon the received facsimile.

7. The method of claim 6 further comprising:

receiving a datafile containing optical character recognition data associated with the authorization facsimile.

8. The method of claim 7 further comprising:

automatically storing the datafile containing optical character recognition data in a secure database based upon the automatically populating the prescription authorization field.

9. The method of claim 7 , wherein regular expression matching logic is applied to the datafile containing optical character recognition data to identify data associated with at least one of: owner name, pet name, record identifier for a prescription, clinic name, authorization status, refill authorization data, reason for requiring compound prescription and combinations thereof.

10. The method of claim 1 further comprising:

simultaneously executing one or more instances of instances of pre-programmed elements in parallel.

11. The method claim 1 , wherein at least one pre-programmed element is a long-running pre-programmed element that is programmed to cause other pre-programmed elements within an instance of the exemplary routine in which an instance of the long-running element is included to at least one of: i) pause execution until the long-running element reaches a completion state; ii) delay completion until the long-running element reaches the completion state.

12. The method of claim 1 , wherein each pre-programmed element is fully executable without being directly dependent upon the execution of any other pre-programmed element.

13. The method of claim 1 , wherein a failure to execute one instance of one of the pre-programmed elements does not prevent the execution and completion of another instance of the same pre-programmed element.

14. A system for implementing a fault tolerant automated sequence of computer implemented tasks comprising:

a storefront server configured to cause a customer facing user interface (UI) display to render at one or more customer devices and to receive one or more inputs via the customer facing UI

a database, coupled to the storefront server and configured to store pre-programmed elements that each include an independently executable self-contained unit of computer code configured to perform a specific task; and

a processing server coupled to the database and the storefront server, the processing server having a central processing unit, memory, an input port, and an output port, the processing server being further coupled to a plurality of client devices, the processing server being configured to:

cause the client device to render an administrator facing UI at a client device of the plurality of client devices;

present for selection by a user via the administrator facing UI a plurality of the pre-programmed elements, each pre-programmed element being independently executable relative each other pre-programmed element such that an output of any of the pre-programmed elements is not a direct input to any other of the pre-programmed elements;

receive via the administrator facing UI a selection of Two or more of the pre-programmed elements and a sequence for performing each pre-programmed element in the selection to form an exemplary routine;

receive from the storefront server an indication of a trigger event corresponding to an input at the customer facing UI, and in response to receiving the indication of a trigger event, automatically create an instance of the exemplary routine, the instance of the exemplary routine including an instance of each of the selected pre-programmed elements arranged for performance in accordance with the sequence and being configured to perform tasks defined by the pre-programmed elements and the sequence, the instance of the exemplary routine further including a status indicator indicating an execution status of each instance of each of the selected pre-programmed elements, the execution status of each instance of each of the selected pre-programmed elements being initially set to a pending execution status; and

a monitoring server coupled to the processing server and database, the monitoring server configured to, at a pre-defined interval:

query the database to identify instances of pre-programmed elements having a pending execution status;

in response to the query, receive from the database the identity of instances of pre-programmed elements having a pending execution status; and

transmit a request to the processing server to initiate execution of the identified instances of pre-programmed elements according to the sequence,

wherein the processing server is further configured to automatically execute the identified instances of the pre-programmed elements according to the sequence in response to the request from the monitoring server.

15. The system of claim 14 , wherein the processing server is further configured to:

detect an error that prevents completion of at least one instance of the pre-programmed elements; and

terminate the execution of the associated instance of the exemplary routine upon detection of the error without user intervention.

16. The system of claim 15 , wherein the processing server is further configured to:

after detecting the error and prior to terminating implementation of the instance, attempt to re-implement at least one instance of the pre-programmed elements associated with the detected error.

17. The system of claim 15 , wherein the processing server is further configured to:

detecting a trigger event that triggers, without user intervention, a re-initiation of the instance of at least one of the pre-programmed elements and wherein an error state that prevents the completion of the at least one instance arises after a subsequent trigger event is detected following a pre-selected number of re-initiations of the performance of the at least one instance of the pre-programmed element.

18. The system of claim 15 , wherein the processing server is further configured to:

define a retry threshold value for each of the pre-programmed elements; and

after detecting the error and prior to terminating execution of the instance, attempt to re-execute the at least one instance of the pre-programmed elements associated with the detected error in accordance with the retry threshold value.

19. The system of claim 14 , wherein the processing server is further configured to:

during execution of the instance of the exemplary routine, detect the absence of prescription authorization data needed to complete the execution of the instance of the exemplary routine;

based on the absence of the prescription authorization, automatically transmit an authorization form to an authorizing entity;

receive an authorization facsimile of a completed form in response to the automatic transmitting; and

automatically populate a prescription authorization field in the database based upon the received facsimile.

20. The system of claim 19 , wherein the processing server is further configured to:

receive a datafile containing optical character recognition data associated with the authorization facsimile.

21. The system of claim 20 , wherein the processing server is further configured to:

automatically store the datafile containing optical character recognition data in a secure database based upon the automatically populating the prescription authorization field.

22. The system of claim 20 , wherein regular expression matching logic is applied to the datafile containing optical character recognition data to identify data associated with at least one of: owner name, pet name, record identifier for a prescription, clinic name, authorization status, refill authorization data, reason for requiring compound prescription and combinations thereof.

23. The system of claim 14 , wherein the processing server is further configured to:

simultaneously execute one or more instances of pre-programmed elements in parallel.

24. The system of claim 14 , wherein at least one pre-programmed element is a long-running pre-programmed element that is programmed to cause other pre-programmed elements within an instance of the associated exemplary routine in which an instance of the long-running element is included to at least one of: i) pause execution until the long-running element reaches a completion state; ii) delay completion until the long-running element reaches the completion state.

25. The system of claim 14 , wherein each pre-programmed element is fully executable without being directly dependent upon the execution of any other pre-programmed element.

26. The system of claim 14 , wherein a failure of an execution of one instance of one of the pre-programmed elements does not prevent the execution and completion of another instance of the same pre-programmed element.

Assignments (2)
SECURITY INTEREST Recorded Jun 24, 2026
From: CHEWY, INC.; SMARTPAK EQUINE, LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 075060/0587 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2022
From: HUSSEY, BENJAMIN
To: CHEWY, INC.
Reel/Frame 059759/0464 →
Continuity (2)
Provisional Application 63156205 · Mar 3, 2021
Related Publication 20220283893A1 · Sep 8, 2022