IP Library Granted Patent US 9,929,916
Granted Patent B1
US 9,929,916 · App. 14/187,958 · Granted Mar 27, 2018

Achieving stateful application software service behavior in distributed stateless systems

Inventors: Ashok R. Subramanian (Cambridge, MA); Samuel Provencher (Waltham, MA); Edward Campbell (Hudson, NH)
Assignee: Aspen Technology, Inc.
H04L41/22G06F3/0484
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 9,929,916
App. No.
14/187,958
Granted
Mar 27, 2018
Kind
B1
Abstract

A resource manager service, system, apparatus and method manages resources for a user group of at least one user by utilizing a resource adapter. The resource adapter serves as a smart proxy to mimic the user of a desktop software application preserving the interaction model with the application. Embodiments of the invention allow integration of desktop software in a distributed enterprise system, as a service, without requiring non-trivial modifications to the application code or to alter its workflows in any material way. A resource manager service, system, apparatus and method treat instances of the resource adapters, smart proxies, as finite but reusable resources that can be allocated and “bound” to a given user for an unspecified duration.

Claims (36)

1. A computer-implemented method of managing process plant resources for a user group of at least one user comprising:

allocating and registering one or more resource adapters with a digital resource manager during initialization, the registering placing each allocated and registered resource adapter into a first resource pool at the digital resource manager, the first resource pool being a ready pool that indicates that an allocated and registered resource adapter is available not currently in use, wherein each allocated and registered resource adapter controls a coupled enterprise application instance, and the digital resource manager is executed by a processor;

contacting the digital resource manager with a request for assignment of an enterprise application instance coupled to one of the allocated and registered resource adapters in the first resource pool, the request made through a user interface by a given user of the user group, wherein the digital resource manager determines availability of the allocated and registered resource adapter in the first resource pool;

upon determining an available allocated and registered resource adapter, generating a binding identification and communicating a binding notification from the digital resource manager to activate the allocated and registered resource adapter to run the assigned enterprise application instance, the allocated and registered resource adapter, as activated, being an activated resource adapter, the digital resource manager moving the activated resource adapter to a second resource pool at the digital resource manager, the second resource pool being a bound pool that indicates that the activated resource adapter is now in use; and

upon termination of the assigned enterprise application instance, moving the activated resource adapter to a third resource pool, the third resource pool being a dead pool that indicates that the activated resource adapter is removed or defunct; and

monitoring, by the activated resource adapter, both the activated resource adapter itself and the assigned enterprise application instance, the activated resource adapter performing one or more of terminating, restarting, or repairing the assigned enterprise application instance asynchronously with respect to the digital resource manager obtaining a new application instance.

2. The method of claim 1 wherein activating the available allocated and registered resource adapter employs a resource agent, wherein the resource agent runs locally on a service platform server.

3. The method of claim 1 further comprising providing service access to the given user of the user group by requests made through a user interface to the activated resource adapter, wherein the activated resource adapter receives requests and publishes events, responses, heartbeat messages and notifications on behalf of itself and the coupled enterprise application instance.

4. The method of claim 3 wherein the digital resource manager uses the published information to determine the availability of the activated resource adapter coupled to the enterprise application instance.

5. The method of claim 1 wherein the digital resource manager is a computer-based service.

6. A computer system for managing resources for a user group of at least one user comprising:

a resource manager service executed by a processor; and

one or more resource adapters coupled to respective enterprise application instances, the resource manager service allocating and registering the one or more resource adapters during initialization, the registering placing each allocated and registered resource adapter into a first resource pool by the resource manager service, the first resource pool being a ready pool that indicates that an allocated and registered resource adapter is available not currently in use, wherein each allocated and registered resource adapter controls the respective coupled enterprise application instance;

for a subject enterprise application instance, the resource manager service receiving a request for assignment of an enterprise application instance coupled to one of the allocated and registered resource adapters in the first resource pool, the request made through a user interface by a given user of the user group, wherein the resource manager service determines availability of the allocated and registered resource adapter in the first resource pool by the resource manager service;

upon determining an available allocated and registered resource adapter, the resource manager service generating a binding identification and communicating a binding notification from the resource manager service to activate the allocated and registered resource adapter to run the assigned enterprise application instance, the allocated and registered resource adapter, as activated, being an activated resource adapter, the resource manager service moving the activated resource adapter to a second resource pool, the second resource pool being a bound pool that indicates that the activated resource adapter is now in use; and

upon termination of the assigned enterprise application instance, moving the activated resource adapter to a third resource pool, the third resource pool being a dead pool that indicates that the activated resource adapter is removed or defunct; and

the activated resource adapter monitoring both the activated resource adapter itself and the assigned enterprise application instance, the activated resource adapter performing one or more of terminating, restarting, or repairing the assigned enterprise application instance asynchronously with respect to the digital resource manager obtaining a new application instance.

7. A system of claim 6 wherein activating the available allocated and registered resource adapter employs a resource agent, wherein the resource agent runs locally on a service platform server.

8. A computer program product providing method of managing resources for a user group of at least one user comprising:

a non-transitory computer useable medium having a computer readable program;

wherein the computer readable program when executed on a computer causes one or more computers to:

provide a digital resource manager;

allocate and register one or more resource adapters with the digital resource manager during initialization, the registering placing each allocated and registered resource adapter into a first resource pool at the digital resource manager, the first resource pool being a ready pool that indicates that an allocated and registered resource adapter is available not currently in use, wherein each allocated and registered resource adapter controls a coupled enterprise application instance;

contact the digital resource manager with a request for assignment of an enterprise application instance coupled to one of the allocated and registered resource adapters in the first resource pool, the request made through a user interface by a given user of the user group, wherein the digital resource manager determines availability of an allocated and registered resource adapter in the first resource pool;

upon determining an available allocated and registered resource adapter, generate a binding identification and communicating a binding notification from the digital resource manager to activate the allocated and registered resource adapter to run the assigned enterprise application instance, the allocated and registered resource adapter, as activated, being an activated resource adapter, the digital resource manager moving the activated resource adapter to a second resource pool at the digital resource manager, the second resource pool being a bound pool that indicates that the activated resource adapter is now in use; and

upon termination of the assigned enterprise application instance, move the activated resource adapter to a third resource pool, the third resource pool being a dead pool that indicates that the activated resource adapter is removed or defunct; and

monitor, by the activated resource adapter, both the activated resource adapter itself and the assigned enterprise application instance, the activated resource adapter performing one or more of terminating, restarting, or repairing the assigned enterprise application instance asynchronously with respect to the digital resource manager obtaining a new application instance.

9. The product of claim 8 wherein activating the available allocated and registered resource adapter employs a resource agent, wherein the resource agent runs locally on a service platform server.

10. The product of claim 8 wherein the digital resource manager is a service executable on a processor.

11. The method of claim 1 further comprising detecting a switchover event through the digital resource manager, the digital resource manager identifying the assigned enterprise application instance as an application instance identified for removal.

12. The method of claim 11 further comprising the activated resource adapter detecting an additional switchover event and terminating the assigned enterprise application instance in response to said detecting the additional switchover event.

13. The method of claim 1 , further comprising the activated resource adapter intercommunicating with both the assigned enterprise application instance and the digital resource manager.

14. The method of claim 12 , further comprising the activated resource adapter intercommunicating with both the assigned enterprise application instance and the digital resource manager.

15. The method of claim 1 wherein the digital resource manager service includes a live plant data service and a simulation modeling service.

16. The method of claim 1 wherein the computer responsively displays to the given user simulation data of the simulation modeling service, and plant data of the live plant data service.

17. The method of claim 1 wherein the simulation data and plant data are displayed in a side-by-side manner.

Assignments (5)
SECURITY INTEREST Recorded Jul 18, 2024
From: ASPENTECH CORPORATION; ASPEN PARADIGM HOLDING LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 068424/0341 →
CHANGE OF NAME Recorded Jul 29, 2022
From: ASPEN TECHNOLOGY, INC.
To: ASPENTECH CORPORATION
Reel/Frame 061006/0171 →
SECURITY INTEREST Recorded Mar 2, 2016
From: ASPEN TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037974/0786 →
CERTIFICATE OF AMENDMENT/ADDRESS CHANGE Recorded Mar 12, 2015
From: ASPEN TECHNOLOGY, INC.
To: ASPEN TECHNOLOGY, INC.
Reel/Frame 035190/0794 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2014
From: SUBRAMANIAN, ASHOK R.; PROVENCHER, SAMUEL; CAMPBELL, EDWARD
To: ASPEN TECHNOLOGY, INC.
Reel/Frame 032989/0856 →
Continuity (2)
Continuation In Part 13931715 · Jun 28, 2013
Continuation In Part 13875680 · May 2, 2013