IP Library Granted Patent US 11,216,372
Granted Patent B2
US 11,216,372 · App. 16/706,326 · Granted Jan 4, 2022

Execution manager for binary objects operating across private address spaces

Inventors: Reza Fatemi (Mission Viejo, CA); John Driver (Sunnyvale, CA)
Assignee: TIBCO SOFTWARE INC.
G06F12/0646G06F9/4881G06F9/5016G06F2212/1041
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,216,372
App. No.
16/706,326
Granted
Jan 4, 2022
Kind
B2
Abstract

Techniques are disclosed to operate binary objects across private address spaces. In various embodiments, a private shared memory segment is allocated for two non-privileged address spaces, the first comprising a home address space and the second comprising a target address space. One or more executable modules are loaded in a private address space of the home address space. One or more program call routines and an environment to schedule system request blocks (SRB) are built in the home address space. The environment to schedule system request blocks is configured to be used to schedule an SRB into the target address space, the SRB comprising information configured to cause the target address space to cause an associated one of the executable modules to execute.

Claims (34)

1. A system, comprising:

a memory; and

a processor coupled to the memory and configured to:

allocate a shared memory segment of the memory for two non-privileged address spaces, the first comprising a home address space and the second comprising a target address space;

load one or more executable modules in a private address space of the home address space; and

build in the home address space one or more program call routines and an environment to schedule system request blocks;

wherein the environment to schedule system request blocks is configured to be used to schedule an SRB into the target address space, the SRB comprising information configured to cause the target address space to cause an associated one of the executable modules to execute.

2. The system of claim 1 , wherein the processor is further configured to identify a task control block (TCB) associated with the target address space.

3. The system of claim 1 , wherein the target address space is configured to execute the executable module from the shared memory segment.

4. The system of claim 3 , wherein the target address space uses an asynchronous exit routine to execute the executable module.

5. The system of claim 4 , wherein an SRB unit of the target address space resumes upon completion of the executable module.

6. The system of claim 4 , wherein a cross-memory post is sent by the target address space to the home address to signal completion of the executable module.

7. The system of claim 1 , wherein the executable module comprises a function.

8. The system of claim 1 , wherein the executable module provides shared access to a file or other stored object.

9. The system of claim 1 , wherein the executable module provides managed access to a specialty engine.

10. The system of claim 1 , wherein the target address space executes the executable code via an API or other service call.

11. A method, comprising:

allocating a shared memory segment of the memory for two non-privileged address spaces, the first comprising a home address space and the second comprising a target address space;

loading one or more executable modules in a private address space of the home address space; and

building in the home address space one or more program call routines and an environment to schedule system request blocks;

wherein the environment to schedule system request blocks is configured to be used to schedule an SRB into the target address space, the SRB comprising information configured to cause the target address space to cause an associated one of the executable modules to execute.

12. The method of claim 11 , further comprising identifying a task control block (TCB) associated with the target address space.

13. The method of claim 11 , wherein the target address space is configured to execute the executable module from the shared memory segment.

14. The method of claim 13 , wherein the target address space uses an asynchronous exit routine to execute the executable module.

15. The method of claim 14 , wherein an SRB unit of the target address space resumes upon completion of the executable module.

16. The method of claim 14 , wherein a cross-memory post is sent by the target address space to the home address to signal completion of the executable module.

17. The method of claim 11 , wherein the executable module comprises a function.

18. The method of claim 11 , wherein the executable module provides shared access to a file or other stored object.

19. The method of claim 11 , wherein the executable module provides managed access to a specialty engine.

20. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

allocating a shared memory segment of the memory for two non-privileged address spaces, the first comprising a home address space and the second comprising a target address space;

loading one or more executable modules in a private address space of the home address space; and

building in the home address space one or more program call routines and an environment to schedule system request blocks;

wherein the environment to schedule system request blocks is configured to be used to schedule an SRB into the target address space, the SRB comprising information configured to cause the target address space to cause an associated one of the executable modules to execute.

Assignments (15)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
RELEASE REEL 052115 / FRAME 0318 Recorded Oct 3, 2022
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: TIBCO SOFTWARE INC.
Reel/Frame 061588/0511 →
RELEASE (REEL 052096 / FRAME 0061) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061575/0900 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2021
From: FATEMI, REZA; DRIVER, JOHN
To: TIBCO SOFTWARE INC.
Reel/Frame 057554/0477 →
RELEASE (REEL 054275 / FRAME 0975) Recorded May 7, 2021
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 056176/0398 →
SECURITY AGREEMENT Recorded Nov 2, 2020
From: TIBCO SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054275/0975 →
SECURITY AGREEMENT Recorded Mar 6, 2020
From: TIBCO SOFTWARE INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 052115/0318 →
SECURITY AGREEMENT Recorded Mar 5, 2020
From: TIBCO SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 052096/0061 →
Continuity (3)
Continuation In Part 15582336 · Apr 28, 2017
Provisional Application 62338702 · May 19, 2016
Related Publication 20200110699A1 · Apr 9, 2020