IP Library Granted Patent US 8,219,723
Granted Patent B2
US 8,219,723 · App. 13/275,581 · Granted Jul 10, 2012

Systems and methods for using a shared buffer construct in performance of concurrent data-driven tasks

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 8,219,723
App. No.
13/275,581
Granted
Jul 10, 2012
Kind
B2
Abstract

Disclosed herein are techniques to execute tasks with a computing device. A first task is initiated to perform an operation of the first task. A buffer construct that represents a region of memory accessible to the operation of the first task is created. A second task is initiated to perform of an operation of the second task that is configured to be timed to initiate in response to the buffer construct being communicated to the second task from the first task.

Claims (36)

1. A method for performing multiple data-driven tasks, the method comprising:

executing, with a computing device, tasks that include a first task and a second task;

performing an operation of the first task;

creating a buffer construct that represents a region of memory accessible to the operation of the first task; and

performing an operation of the second task that is configured to be timed to initiate in response to the buffer construct being communicated to the second task from the first task.

2. A method according to claim 1 , in which the first task initiates the step of creating the buffer construct.

3. A method according to claim 1 , in which the operation of the first task and the operation of the second task comprise direct memory access operations.

4. A method according to claim 1 , in which the tasks comprise concurrent tasks.

5. A method according to claim 1 , in which the buffer construct includes state information that enables the buffer construct to be assigned to the first task while the first task has pending direct memory access operations accessing the region of memory.

6. A method according to claim 1 , further comprising:

communicating the buffer construct to the second task in response to completion of the operation of the first task.

7. A method according to claim 1 , in which the buffer construct includes state information, and further comprising:

switching the state information in response to performance of a direct memory operation.

8. A method according to claim 1 , in which the buffer construct includes state information, and further comprising:

switching the state information in response to completion of a direct memory operation.

9. A method according to claim 1 , further comprising:

accessing the region of memory with direct memory operations initiated by a task that controls the buffer construct while precluding other direct memory operations from accessing the region of memory.

10. A method according to claim 1 , in which the region of memory includes a region of an external memory.

11. A computer-readable medium carrying instructions thereon, the instructions comprising:

instructions to execute, with a computing device, tasks that include a first task and a second task;

instructions to perform an operation of the first task;

instructions to create a buffer construct that represents a region of memory accessible to the operation of the first task; and

instructions to perform of an operation of the second task that is configured to be timed to initiate in response to the buffer construct being communicated to the second task from the first task.

12. A computer-readable medium according to claim 11 , in which the operation of the first task includes an operation to create the buffer construct.

13. A computer-readable medium according to claim 11 , in which the operation of the first task and the operation of the second task comprise direct memory access operations.

14. A computer-readable medium according to claim 11 , in which the tasks comprise concurrent tasks.

15. A computer-readable medium according to claim 11 , in which the buffer construct includes state information that enables the buffer construct to be assigned to the first task while the first task has pending direct memory access operations accessing the region of memory.

16. A computer-readable medium according to claim 11 , further comprising:

instructions to communicate the buffer construct to the second task in response to completion of the operation of the first task.

17. A computer-readable medium according to claim 11 , in which the buffer construct includes state information, and further comprising:

instructions to switch the state information in response to performance of a direct memory operation.

18. A computer-readable medium according to claim 11 , in which the buffer construct includes state information, and further comprising:

instructions to switch the state information in response to completion of a direct memory operation.

19. A computer-readable medium according to claim 11 , further comprising:

instructions to access the region of memory with direct memory operations initiated by a task that controls the buffer construct while precluding other direct memory operations from accessing the region of memory.

20. A computer-readable medium according to claim 11 , in which the region of memory includes a region of an external memory.

Assignments (2)
MERGER Recorded Dec 29, 2015
From: CALOS FUND LIMITED LIABILITY COMPANY
To: OL SECURITY LIMITED LIABILITY COMPANY
Reel/Frame 037373/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2012
From: THE SKEET PRACTICE, LLC
To: CALOS FUND LIMITED LIABILITY COMPANY
Reel/Frame 027645/0541 →