IP Library Granted Patent US 7,689,794
Granted Patent B2
US 7,689,794 · App. 10/970,956 · Granted Mar 30, 2010

System and method for handling memory allocation failures through reserve allocation of event data

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 7,689,794
App. No.
10/970,956
Granted
Mar 30, 2010
Kind
B2
Abstract

Disclosed are systems and methods for reserve allocation of event data. A request event is received. The request event is associated with memory storing request event data. Memory for response event data is allocated from a first pool. The response event data is associated with a response, and the response is associated with the request. Upon failure of the allocation of memory for the response event data, memory is obtained for out-of-memory response event data. The out-of-memory response event data is associated with the response event. The request event is completed using the response event.

Claims (48)

1. A method comprising the steps of:

receiving a request event from a first component, wherein the request event is received via a mechanism other than a function call from the first component, the request event associated with a request event parameter buffer, wherein the request event comprises at least one event associated with a video-on-demand service, the at least one event comprising at least one of new session request data and stream play request data associated with providing the video-on-demand service;

receiving a response event from a second component, wherein the response event is received via a mechanism other than a function call from the second component, the response event associated with the received request event;

allocating a response event parameter buffer from a first pool, wherein the response event parameter buffer is associated with the response;

obtaining, upon failure of the allocation of the response event parameter buffer an out-of-memory indication buffer used to indicate that no memory was allocated for the response event;

associating the out-of-memory indication buffer with the response event; and

completing, upon obtaining the out-of-memory indication buffer and associating the out-of-memory indication buffer with the response event, the request event using the response event and the associated out-of memory buffer to indicate no memory was allocated for the response event, wherein completing the request event comprises sending the response event and the associated out-of-memory buffer to the first component to complete the request event, wherein the request event parameter buffer associated with the response is re-used when sending the response event to the first component.

2. The method of claim 1 , wherein the obtaining further comprises:

allocating the out-of-memory indication buffer from the first pool, wherein the size of the out-of-memory indication buffer is smaller than the size of the response event parameter buffer.

3. The method of claim 1 , further comprising:

allocating memory for a second reserve pool, wherein the second reserve pool is distinct from the first pool.

4. The method of claim 3 , wherein the step of allocating memory for a second reserve pool is performed at system initialization.

5. The method of claim 3 , wherein the step of allocating memory for a second reserve pool is performed in response to a specific request event.

6. The method of claim 3 , wherein the obtaining step further comprises:

allocating the out-of-memory indication buffer from the second reserve pool.

7. The method of claim 6 , wherein the size of the allocation from the second reserve pool is fixed at a minimum necessary to indicate allocation failure.

8. The method of claim 1 , further comprising:

initializing the out-of-memory indication buffer to indicate that the request event failed.

9. The method of claim 1 , further comprising:

initializing the out-of-memory indication buffer to indicate that the memory allocation for the request event parameter buffer failed.

10. A computer readable medium storing a computer program, the computer program comprising:

requester logic comprising:

logic configured to allocate memory for request event data associated with a request event, wherein the request event comprises at least one event associated with a video-on-demand service, wherein the request event data comprises new session request data associated with providing the video-on-demand service, wherein the new session request data comprises a session id data and asset name data, and wherein a type associated with the session id data and the asset name data is encoded by a position within the new session request data;

logic configured to send the request event with the memory storing request event data related to the request event to a first component via a mechanism other than a function call to the first component; and

responder logic comprising:

logic configured to receive the request event, with the memory storing request event data related to the request event, sent from the first component via a mechanism other than a function call from the first component;

logic configured to allocate memory for response event data from a first pool, wherein the response event data is associated with a response, where the response event is associated with the request event;

logic configured to obtain, upon failure of the allocation of memory for the response event data, memory for out-of-memory response event data used to indicate that no memory was allocated for the response event;

logic configured to associate the out-of-memory response event data with the response and to send, upon obtaining the memory for the out-of-memory response event data and associating the out-of-memory response event data with the response, the response event and the out-of-memory response event data completing the request to indicate no memory was allocated for the response event, wherein the memory storing the request event data is re-used when sending the response event completing the request.

11. The computer readable medium of claim 10 , further comprising:

logic configured to allocate memory for a second reserve pool, wherein the second reserve pool is distinct from the first pool.

12. The computer readable medium of claim 11 , wherein the logic configured to allocate memory for the second reserve pool executes at system initialization.

13. The computer readable medium of claim 11 , wherein the logic configured to allocate memory for the second reserve pool executes in response to a specific request event.

14. The computer readable medium of claim 11 , wherein the logic configured to obtain further comprises:

logic configured to allocate the memory for out-of-memory response event data from the second reserve pool.

15. The computer readable medium of claim 11 , further comprising:

logic configured to initialize the memory for out-of-memory response event data to indicate that the request event failed.

16. The computer readable medium of claim 11 , further comprising:

logic configured to initialize the memory for out-of memory response event data to indicate that the memory allocation for the request event parameter buffer failed.

17. A device comprising:

a processor configured to execute instructions from a memory, the instructions comprising:

logic configured to receive an asynchronous response to a request, the response associated with response event data, the request associated with a request event parameter buffer wherein the request comprises a request event comprising at least one event associated with a video-on-demand service, the at least one event comprising at least one of new session request data and stream play request data associated with providing the video-on-demand service;

logic configured to allocate a parameter buffer for the response event data from a first pool;

logic configured to obtain, responsive to a failure of the allocation, an out-of memory indication buffer;

logic configured to associate the out-of-memory indication buffer with the response event data; and

logic configured to complete, upon obtaining the out-of-memory indication buffer and associating the out-of-memory indication buffer with the response event data, the request using the out-of-memory indication buffer, wherein completing the request comprises sending the response event data and the associated out-of-memory indication buffer to complete the request, wherein the request event parameter buffer associated with the request is re-used when sending the response event data.

18. The device of claim 17 , the instructions further comprising:

logic configured to allocate the out-of-memory indication buffer from the first pool, whenever the size of the out-of-memory indication buffer is smaller than the size of the parameter buffer.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE 26 APPLICATION NUMBERS ERRONEOUSLY RECORDED AGAINST ON THE ATTACHED LIST PREVIOUSLY RECORDED AT REEL: 048513 FRAME: 0297. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 18, 2021
From: NDS LIMITED
To: SYNAMEDIA LIMITED
Reel/Frame 056623/0708 →
CHANGE OF NAME Recorded Mar 6, 2019
From: NDS LIMITED
To: SYNAMEDIA LIMITED
Reel/Frame 048513/0297 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2018
From: BEAUMARIS NETWORKS LLC; CISCO SYSTEMS INTERNATIONAL S.A.R.L.; CISCO TECHNOLOGY, INC.; CISCO VIDEO TECHNOLOGIES FRANCE
To: NDS LIMITED
Reel/Frame 047420/0600 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2014
From: SCIENTIFIC-ATLANTA, LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 034300/0001 →
CHANGE OF NAME Recorded Nov 19, 2014
From: SCIENTIFIC-ATLANTA, INC.
To: SCIENTIFIC-ATLANTA, LLC
Reel/Frame 034299/0440 →
CHANGE OF NAME Recorded Jul 27, 2009
From: SCIENTIFIC-ATLANTA, INC.
To: SCIENTIFIC-ATLANTA, LLC
Reel/Frame 023012/0703 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2004
From: ALLEN, ERIC; STALKER, ALTAN; MURRAY, MARK; PORTER, PAUL; DECKER, DAVID
To: SCIENTIFIC-ATLANTA, INC. A CORP. OF GEORGIA
Reel/Frame 015930/0784 →