IP Library Granted Patent US 10,528,391
Granted Patent B1
US 10,528,391 · App. 15/582,336 · Granted Jan 7, 2020

Execution manager for binary objects operating across private address spaces

Inventors: Reza Fatemi (Mission Viejo, CA); John Driver (Sunnyvale, CA)
Assignee: TIBCO SOFTWARE INC.
G06F9/5016G06F3/064G06F3/0622G06F3/0659G06F3/0673G06F9/445G06F9/448
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 10,528,391
App. No.
15/582,336
Granted
Jan 7, 2020
Kind
B1
Abstract

Techniques are disclosed to operate binary objects across private address spaces. In various embodiments, a shared memory segment is allocated for two 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 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 (37)

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 address spaces, the first comprising a home address space and the second comprising a target address space;

load one or more executable modules in 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 or more of the executable modules to execute;

wherein the target address space is configured to execute the executable module from the shared memory segment;

wherein the target address space uses an asynchronous exit routine to execute the executable module;

wherein a cross-memory post is sent by the target address space to the home address to signal completion of the executable module.

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 an SRB unit of the target address space resumes upon completion of the executable module.

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

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

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

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

8. A method, comprising:

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

loading one or more executable modules in 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 or more of the executable modules to execute;

wherein the target address space is configured to execute the executable module from the shared memory segment;

wherein the target address space uses an asynchronous exit routine to execute the executable module;

wherein a cross-memory post is sent by the target address space to the home address to signal completion of the executable module.

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

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

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

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

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

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

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

loading one or more executable modules in 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 or more of the executable modules to execute;

wherein the target address space is configured to execute the executable module from the shared memory segment;

wherein the target address space uses an asynchronous exit routine to execute the executable module;

wherein a cross-memory post is sent by the target address space to the home address to signal completion of the executable module.

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 →
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 →
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 →
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: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
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 →
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 43540 / FRAME 0846) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061574/0882 →
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 INTEREST Recorded Aug 11, 2017
From: TIBCO SOFTWARE INC., AS GRANTOR
To: JPMORGAN CHASE BANK, N. A., AS COLLATERAL AGENT
Reel/Frame 043540/0846 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2017
From: FATEMI, REZA; DRIVER, JOHN
To: TIBCO SOFTWARE INC.
Reel/Frame 042692/0560 →
Continuity (1)
Provisional Application 62338702 · May 19, 2016