IP Library › Granted Patent US 11,941,462
Granted Patent B2
US 11,941,462 · App. 17/388,341 · Granted Mar 26, 2024

System and method for processing data of any external services through API controlled universal computing elements

Inventor: Oleksandr Vityaz (Dnipropetrovsk, UA)
Assignee: Middleware, Inc.
G06F9/546G06F9/4498G06F9/547G06Q10/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,941,462
App. No.
17/388,341
Granted
Mar 26, 2024
Kind
B2
Abstract

Disclosed herein are systems and methods for multi-system connectivity and automation via universal computing elements. Universal computing elements may comprise an object queue, one or more counters, and a function operating on parameters of objects in the object queue. Universal computing elements may be interconnected into processes of arbitrary complexity. Universal computing elements may facilitate modular and scalable business process development, including application programming interface and database connectivity.

Claims (109)

1. A non-transitory computer readable medium storing a computer program comprising computer code, the computer program comprising:

one or more objects, each object comprising one or more parameters; and

at least one process, each process comprising:

a plurality of universal computing elements (UCEs), each universal computing element (UCE) comprising:

a queue;

one or more counters; and

a function,

wherein:

the queue is configured to accept objects from at least one of an application programming interface, another UCE, and another process,

the queue is further configured to hold each accepted object as a queued object until the queued object is released by application of the function,

each of the one or more counters is configured to represent a status of at least one of the queue and the queued objects,

the function is applied to each queued object based upon at least one of at least one of the one or more counters, and at least one of the one or more parameters of that queued object, and

the function comprises at least one of an interconnection identifying one of the plurality of UCEs, and an end node function, the interconnection configured to set one of the one or more parameters of a queued object to which the function is applied to the identified one of the plurality of UCEs,

the computer program comprising computer instructions to perform the following operations:

accepting, by a queue of a first UCE, an object;

applying, by the first UCE, the function of the first UCE to the object, the function comprising an interconnection, the interconnection identifying a second UCE; and

releasing, by the queue of the first UCE, the object to a queue of the second UCE.

2. The computer program of claim 1 , further comprising a dashboard configured to display one or more metrics, each of the one or more metrics derived from one of the one or more counters of one of the plurality of UCEs.

3. The computer program of claim 2 , further comprising a data visualization element configured to display graphical data based on the metric.

4. The computer program of claim 1 , wherein the plurality of UCEs comprises at least three universal computing elements, one of which comprises a start node, and one of which comprises an end node.

5. The computer program of claim 1 , wherein the function of at least one of the plurality of UCEs comprises a plurality of interconnections.

6. The computer program of claim 1 , wherein the one or more counters comprise a counter configured to represent the number of objects in the queue, and a counter for each object in the queue representing that object's time of entry into the queue.

7. The computer program of claim 1 , wherein the function of at least one of the plurality of UCEs further comprises at least one of:

applying a conditional, the conditional comprising at least one of a comparison operator, a logical operator, and a regular expression,

copying an object in this process to another process,

modifying an object in another process,

an application programming interface call,

a database call,

a call to another process,

establishing a queue for use by another process,

setting at least one of the one or more parameters of an object in this process,

executing code,

a mathematical operation,

a delay,

a call to a code versioning repository,

waiting for a response,

replying to another process,

getting an object from a queue established in another process,

setting a state,

handling error states,

issuing an alert,

a generator of randomness, and

a timer.

8. The computer program of claim 7 , wherein the at least one process comprises a first process comprising a first UCE the function of which is at least one of calling a second process and establishing a queue for use by a second process, the first process further comprising a second UCE the function of which is waiting for a response from the second process.

9. The computer program of claim 1 , wherein the at least one process comprises a first process comprising a first UCE, the function of which is to communicate with a second process, and a second UCE, the function of which is to await communication back from the second process.

10. The computer program of claim 1 , further comprising a user interface that enables drag-and-drop creation, selection, interconnection, and modification of universal computing elements in a process.

11. The computer program of claim 10 , wherein the user interface further comprises a visual mapping of each of the process' UCEs and of each interconnection among the process' UCEs.

12. The computer program of claim 10 , wherein the user interface further comprises display of pertinent data and inputs upon selecting a UCE of the process.

13. The computer program of claim 10 , wherein the user interface further comprises automatically creating and interconnecting a second, error handling UCE upon the creation of a first UCE.

14. The computer program of claim 10 , further comprising a library configured to store and present templates, each template comprising a preconfigured collection of UCEs.

15. A method performed by a platform, the platform comprising:

one or more objects, each object comprising one or more parameters; and

a plurality of processes, each process comprising:

a plurality of universal computing elements (UCEs), each universal computing element (UCE) comprising:

a queue;

one or more counters; and

a function, and

at least one interconnection between each UCE and at least one other UCE, wherein:

the one or more objects comprises a first object and a second object,

the plurality of processes comprises a first process and a second process, and

the plurality of UCEs comprises a first UCE of the first process (UCE-1.1), a second UCE of the first process (UCE-1.2), a first UCE of the second process (UCE-2.1), a second UCE of the second process (UCE-2.2), and a third UCE of the second process (UCE-2.3),

the method comprising:

receiving, by UCE-1.1, from at least one of an application programming interface, another UCE, and another process, the first object;

transmitting, by UCE-1.1, information comprising at least one of the one or more parameters of the first object to UCE-2.1;

creating, by UCE-2.1, the second object, the second object comprising the at least one of the one or more parameters of the first object;

receiving, by UCE-2.2, the second object;

transmitting, by UCE-2.2, a request to an application programming interface (API);

setting, by UCE-2.2, at least one of the one or more parameters of the second object based on at least one of a successful response from the API, an error response from the API, and a lack of response from the API;

receiving, by UCE-2.3, the second object;

transmitting, by UCE-2.3, information comprising the at least one of the one or more parameters of the second object to UCE-1.2;

receiving, by UCE-1.2, the first object; and

setting, by UCE-1.2, at least one of the one or more parameters of the first object based on the information comprising the at least one of the one or more parameters of the second object.

16. The method of claim 15 :

wherein the plurality of UCEs further comprises an additional UCE (UCE-A), further wherein the function of UCE-A comprises at least one of:

applying a conditional, the conditional comprising at least one of a comparison operator, a logical operator, and a regular expression,

copying an object in this process to another process,

modifying an object in another process,

an application programming interface call,

a database call,

a call to another process,

establishing a queue for use by another process,

setting at least one of the one or more parameters of an object in this process,

executing code,

a mathematical operation,

a delay,

a call to a code versioning repository,

waiting for a response,

replying to another process,

getting an object from a queue established in another process,

setting a state,

handling error states,

issuing an alert,

a generator of randomness, and

a timer,

further comprising setting, by UCE-A, at least one of the one or more parameters of at least one of the first object and the second object.

17. The method of claim 15 :

wherein the second process further comprises an error handling loop for UCE-2.2, the error handling loop comprising an outbound interconnection from UCE-2.2 to a conditional UCE, an outbound interconnection from the conditional UCE to a delay UCE, and an outbound interconnection from the delay UCE to UCE-2.2,

further wherein the setting, by UCE-2.2, of at least one of the one or more parameters of the second object is based on at least one of an error response from the API and a lack of response from the API, and

further comprising receiving, by the conditional UCE, the second object.

18. A system comprising:

at least one process, each process comprising:

a plurality of universal computing elements (UCEs), each universal computing element (UCE) comprising:

a queue configured accept an object from at least one of an application programming interface, another UCE, and another process, the object comprising one or more parameters;

one or more counters, each counter configured to represent a status of at least one of the queue and the object; and

a function applied to at least one of the counter and the object, the function comprising at least one of an interconnection identifying one of the plurality of UCEs and an end node function, the interconnection configured to set one of the one or more parameters to which the function is applied to the identified one of the plurality of UCEs; and

one or more interconnections, the one or more interconnections comprising at least one interconnection between each UCE and at least one other UCE; and

a processor coupled to a memory element storing executable instructions, the processor executing instructions to configure the system to process objects through each UCE's queue by applying each UCE's function to each such object based upon at least one of at least one of the one or more counters and at least one of the one or more parameters of each such object, the processor further executing instructions to pass objects among the plurality of UCEs according to the one or more interconnections.

19. The system of claim 18 , wherein the at least one process comprises a first process comprising a first UCE, the function of which is to communicate with a second process, and a second UCE, the function of which is to await communication back from the second process.

20. The system of claim 18 , further comprising a user interface that enables drag-and-drop creation, selection, interconnection, and modification of universal computing elements in a process.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2024
From: MIDDLEWARE, INC.
To: COREZOID, INC.
Reel/Frame 067669/0361 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: VITYAZ, OLEKSANDR
To: MIDDLEWARE, INC.
Reel/Frame 057019/0540 →
Continuity (10)
Continuation In Part 16252075 · Jan 18, 2019
Continuation In Part 15268802 · Sep 19, 2016
Continuation In Part 15077626 · Mar 22, 2016
Continuation In Part 16027926 · Jul 5, 2018
Continuation In Part 15268802 · Sep 19, 2016
Continuation In Part 15077626 · Mar 22, 2016
Provisional Application 63213114 · Jun 21, 2021
Provisional Application 62221124 · Sep 21, 2015
Provisional Application 62137079 · Mar 23, 2015
Related Publication 20210357277A1 · Nov 18, 2021
Cited By (1)
US 12,657,076