IP Library Granted Patent US 9,288,265
Granted Patent B2
US 9,288,265 · App. 14/460,017 · Granted Mar 15, 2016

Systems and methods for performing memory management in a distributed 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,288,265
App. No.
14/460,017
Granted
Mar 15, 2016
Kind
B2
Abstract

Systems and methods for performing memory management among a plurality of devices in a network are described. In one implementation, the method for performing memory management comprises obtaining memory requirements for execution of an application. The memory requirements indicate memory space needed for executing the application. Further, the method comprises creating at least one memory pool, based on the memory requirements, by aggregating physical memories of the plurality of devices. Further, the method comprises executing the application in the at least one memory pool using semaphores and a mutex application programming interface (API).

Claims (47)

1. A method for performing memory management among a plurality of devices in a network, the method comprising:

obtaining, by a processor, memory requirements for execution of an application, wherein the memory requirements indicate memory space needed for executing the application;

creating, by the processor, at least one memory pool, based on the memory requirements, by aggregating physical memories of the plurality of devices; and

executing, by the processor, the application in the at least one memory pool using semaphores and a mutex application programming interface (API).

2. The method of claim 1 , wherein the executing further comprising:

loading application data into the at least one memory pool for execution;

configuring, by the processor, access policies for distributed access of the application data using the semaphores and the mutex API;

executing, by the processor, the application in the at least one memory pool based on the access policies;

monitoring, by the processor, execution of the application to track an execution status; and

releasing, by the processor, the at least one memory pools upon completion of the execution.

3. The method of claim 1 further comprises assigning, by the processor, a unique identifier (ID) to each of the at least one memory pool.

4. The method of claim 1 further comprises:

monitoring, by the processor, state definitions of each the plurality of devices; and

updating, by the processor, a state snapshot upon detecting a change in the state definitions, wherein the state snapshot comprises an execution status and a current state of the plurality of devices.

5. The method of claim 1 further comprises performing, by the processor, a recovery based on a state snapshot comprising an execution status and a current state of the plurality of devices.

6. A memory management computing apparatus comprising:

one or more hardware processors; and

a memory storing instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations comprising:

obtaining memory requirements for execution of an application, wherein the memory requirements indicate memory space needed for executing the application;

creating at least one memory pool, based on the memory requirements, by aggregating physical memories of the plurality of devices; and

executing the application in the at least one memory pool using semaphores and a mutex application programming interface (API).

7. The apparatus according to claim 6 , wherein the instructions, on execution, further cause the one or more hardware processors to perform operations comprising:

loading application data into the at least one memory pool for execution;

configuring access policies for distributed access of the application data using the semaphores and the mutex API;

executing the application in the at least one memory pool based on the access policies;

monitoring execution of the application to track an execution status; and

releasing the at least one memory pools upon completion of the execution.

8. The apparatus according to claim 6 , wherein the instructions, on execution, further cause the processor to perform operations comprise assigning a unique identifier (ID) to each of the at least one memory pool.

9. The apparatus according to claim 6 , wherein the instructions, on execution, further cause the processor to perform operations comprise:

monitoring state definitions of each the plurality of devices; and

updating a state snapshot upon detecting a change in the state definitions, wherein the state snapshot comprises an execution status and a current state of the plurality of devices.

10. The apparatus according to claim 6 , wherein the instructions, on execution, further cause the processor to perform operation comprising performing a recovery based on a state snapshot comprising an execution status and a current state of the plurality of devices.

11. A non-transitory computer-readable medium storing instructions for performing memory management among a plurality of devices in a network, wherein upon execution of the instructions by one or more hardware processors, the hardware processors perform operations comprising:

obtaining memory requirements for execution of an application, wherein the memory requirements indicate memory space needed for executing the application;

creating at least one memory pool, based on the memory requirements, by aggregating physical memories of the plurality of devices; and

executing the application in the at least one memory pool using semaphores and a mutex application programming interface (API).

12. The non-transitory computer-readable medium according to claim 11 , wherein the operations further comprise:

loading application data into the at least one memory pool for execution;

configuring access policies for distributed access of the application data using the semaphores and the mutex API;

executing the application in the at least one memory pool based on the access policies;

monitoring execution of the application to track an execution status; and

releasing the at least one memory pools upon completion of the execution.

13. The non-transitory computer-readable medium according to claim 11 , wherein the operations further comprise assigning a unique identifier (ID) to each of the at least one memory pool.

14. The non-transitory computer-readable medium according to claim 11 , wherein the operations further comprise:

monitoring state definitions of each the plurality of devices; and

updating a state snapshot upon detecting a change in the state definitions, wherein the state snapshot comprises an execution status and a current state of the plurality of devices.

15. The non-transitory computer-readable medium according to claim 11 , wherein the operations further comprise performing a recovery based on a state snapshot comprising an execution status and a current state of the plurality of devices.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2023
From: IP3 2021, SERIES 600 OF ALLIED SECURITY TRUST I
To: PALO ALTO NETWORKS, INC.
Reel/Frame 065165/0940 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2021
From: WIPRO LIMITED
To: IP3 2021, SERIES 600 OF ALLIED SECURITY TRUST I
Reel/Frame 058601/0445 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2014
From: SUMAN, ABHISHEK
To: WIPRO LIMITED
Reel/Frame 033547/0762 →