IP Library Granted Patent US 9,612,870
Granted Patent B2
US 9,612,870 · App. 14/829,076 · Granted Apr 4, 2017

Inversion of control for executable extensions in a run-time environment

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,612,870
App. No.
14/829,076
Granted
Apr 4, 2017
Kind
B2
Abstract

A system method and non-transitory computer readable medium implemented as programming on a suitable computing device, the system for inversion of control of executable extensions including a run-time environment configured to push data to one or a plurality of extensions, wherein said one or plurality of extensions are configured to comprise one or a plurality of signatures. Wherein said one or a plurality of extensions are compilable, designable and testable outside of the run-time environment, and wherein the run-time environment may be configured to accept an extension and to push data to that extension as per said one or a plurality of signatures.

Claims (40)

1. A system, comprising a run-time environment including:

an executable extension of a workload and created without having to define a dependency in relation to the workload; and

a processor to execute the run-time environment, wherein the run-time environment is to:

read a signature within the extension, wherein the signature describes first data to be used by the extension without specifying a location of the first data and without specifying how to request the first data;

push the first data from a database to the extension, the extension using the first data to perform a function thereof as coded within the extension without having to pull the first data;

accept a new extension of the workload and created without having to define a dependency in relation to the workload, wherein the new extension is tested independently of the workload and of the run-time environment using a mock data-file or stub to provide second data described in a new signature that is included in the new extension;

read the new signature, wherein the new signature describes second data to be used by the new extension; and

push the second data from the database to the new extension,

wherein the dependencies of the new extension comprise one or more of: the database, a previous operation result, and a file object.

2. The system of claim 1 , wherein the run-time environment is to push one or a plurality of inputs to the extension.

3. The system of claim 1 , wherein the run-time environment is to take one or a plurality of outputs from the extension.

4. The system of claim 1 , wherein the run-time environment is to push one or a plurality of inputs to the new extension.

5. The system of claim 1 , wherein the run-time environment is to take one or a plurality of outputs from the new extension.

6. The system of claim 1 , wherein the new extension is configurable from outside of the new extension rather than being configurable from inside the new extension via code.

7. The system of claim 1 , wherein the run-time environment is to read the new signature, wherein the new signature describes the second data to be used by the new extension.

8. The system of claim 1 , wherein the run-time environment is to push the second data from the database to the new extension.

9. The system of claim 1 , wherein the new extension is dependent on the database in that execution of the new extension within the run-time environment uses data from the database,

and wherein testing of the new extension is achieved independently of the run-time environment without access to the data from the database, via the mock data-file.

10. The system of claim 1 , wherein the new extension is dependent on a result of a previous operation of another extension within the run-time environment,

and wherein testing of the new extension is achieved independently of the run-time environment without access to the result of the previous operation, via the stub.

11. The system of claim 1 , wherein execution of a task within the new extension is decoupled from implementation of the task within the run-time environment, providing for inversion of control of the new extension, the run-time environment taking the control of the new extension from the new extension.

12. The system of claim 11 , wherein in the inversion of control of the new extension, the run-time environment pushes the data from the database to the new extension and the new extension does not pull the data from the database.

13. A method, comprising:

reading a signature within an extension of a workload and created without having to define a dependency in relation to the workload, wherein the signature describes first data to be used by the extension without specifying a location of the first data and without specifying how to request the first data;

pushing the first data from a database to the extension, the extension using the first data to perform a function thereof as coded within the extension without having to pull the first data;

accepting a new extension of the workload, wherein the new extension was created without having to define a dependency in relation to the workload and was tested independently of the workload and of a run-time environment using a mock data-file or stub to provide second data described in a new signature that is included in the new extension;

reading the new signature, wherein the new signature describes the second data to be

used by the new extension; and

pushing the second data from the database to the new extension,

wherein dependencies of the new extension comprise one or more of: the database, a previous operation result, and a file object.

14. The method of claim 13 , wherein the run-time environment comprises a workflow.

15. The method of claim 13 , wherein the run-time environment comprises an integrated development environment.

16. A non-transitory computer readable medium comprising instructions, which when executed in a run-time environment cause a processor to:

read a signature within an extension of a workload that was tested with dependency on the run-time environment, wherein the signature describes first data to be used by the extension without specifying a location of the first data and without specifying how to request the first data;

push the first data from a database to the extension, the extension using the first data to perform a function thereof as coded within the extension without having to pull the first data;

accept a new extension of the workload, wherein the new extension was created without having to define a dependency in relation to the workload and was tested independently of the workload and of the run-time environment;

read the new signature, wherein the new signature describes second data to be used by the new extension; and

push the second data from the database to the new extension,

wherein dependencies of the new extension comprise one or more of: the database, a previous operation result, and a file object.

17. The non-transitory computer readable medium of claim 16 , wherein the new extension was designed and compiled independently of the run-time environment using a mock data-file or stub to provide the second data described in the new signature.

Assignments (8)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2016
From: RASSIN, DMITRY; KIBBAR, AMIR
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 041088/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →