IP Library Granted Patent US 7,240,247
Granted Patent B2
US 7,240,247 · App. 10/133,625 · Granted Jul 3, 2007

Providing a chain of tokenized error and state information for a call stack

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,240,247
App. No.
10/133,625
Granted
Jul 3, 2007
Kind
B2
Abstract

An arrangement is provided for generating an error chain in a call stack. A function is invoked to perform a functionality. If an error occurs during performing the first function, errors including the ones contained in an error chain, created based on at least one context specific error state and represented by an error tokan, and the error, occurred during said performing the functionality, are processed. The function then returns to another function that invokes it either with a new token error token representing a new error chain containing the error occurred and the errors contained in the error chain or with an error status. If the function does not error, it returns a normal status to the other function that invokes it.

Claims (89)

1. A method, comprising:

performing a first function; and

generating, if said performing of the first function is in error, a context specific error state; and

generating an error chain, the error chain being generated based on the context specific error state and represented by an error token,

wherein the error token includes a fingerprint and an error buffer index pointing at an address where the context specific error state is stored in the error chain.

2. The method according to claim 1 , wherein the context specific error state includes at least one of:

programmatic error information; or

human readable error information.

3. The method according to claim 2 , wherein the programmatic error information includes at least one of:

local error state;

global error state; or

fatal error state.

4. The method according to claim 1 , wherein the error chain represented by the error token is passed to a calling function, the calling function having invoked the first function.

5. The method according to claim 4 ,

further including generating, by the calling function, a new context specific error state;

transmitting the new context specific error state and the error token; and

appending the new context specific error state to the error chain to generate an appended error chain.

6. The method according to claim 5 , wherein said appending includes:

storing the new context specific error state in a new element; and

linking the new element to the error chain to create the appended error chain.

7. The method according to claim 5 , further including

generating a new error token which represents the appended error chain; and

transmitting the new error token.

8. A method, comprising:

receiving a request to append an existing error chain; and

appending the existing error chain, the existing error chain represented by an error token received with the request, using a context specific error state received with the request to generate the appended error chain represented by a new error token,

wherein said appending the existing error chain includes:

identifying an existing element in the existing error chain using the error token;

verifying the validity of the existing element based on a fingerprint of the error token and a fingerprint contained in the existing element; and

locating an available element for appending the existing error chain, the available element having an associated new fingerprint.

9. The method of claim 8 , further including

incorporating, upon a success of said verifying, the context specific error state in the available element; and

connecting the available element to the existing element of the error chain to generate the appended error chain.

10. The method according to claim 9 ,

further including generating the new error token with the new associated fingerprint and an error buffer index corresponding to the location of the available element to represent the appended error chain; and

returning the new error token.

11. The method according to claim 10 , wherein said connecting the available element to the existing error chain includes storing the error token in the available element.

12. The method according to claim 11 , wherein said retrieving an existing error chain includes:

identifying an error element leading to the existing error chain using the error token;

retrieving the existing error chain; and

returning the retrieved error chain.

13. An error chaining mechanism, comprising:

an error buffer for hosting at least one error chain;

an error chain management mechanism for managing, according to a request, the at least one error chain hosted in the error buffer, the at least one error chain being represented by corresponding error tokens;

a request processing mechanism for processing the request to determine the requested operation to be performed on the at least one error chain; and

an error token generation mechanism for generating an error token wherein the error token includes at least one of a fingerprint and an error buffer index pointing at an address where a context specific error state is stored in the at least one error chain.

14. An error chaining mechanism, comprising:

an error buffer for hosting at least one error chain;

an error chain management mechanism for managing, according to a request, the at least one error chain hosted in the error buffer, the at least one error chain be represented by corresponding error tokens;

a request processing mechanism for processing the request to determine the requested operation to be performed on the at least one error chain; and

an error token generation mechanism for generating an error token wherein the error token includes at least one of a fingerprint and error buffer index, the error chain management mechanism further including:

a fingerprint verification mechanism for verifying validity of an error chain element prior to appending the error chain element to the at least one error chain; and

an error chaining mechanism for linking the error chain element to the at least one error chain to generate a new error chain that contains the error chain element.

15. A machine-accessible medium encoded with data, the data, when accessed, causing a computing device to:

perform a first function;

generate, if said performing of the first function is in error, a context specific error state; and

generate an error chain, the error chain being generated based on the context specific error state and represented by an error token, wherein the error token includes:

a fingerprint and an error buffer index pointing at the address where the context specific error state is stored in the error chain.

16. The machine-accessible medium according to claim 15 , wherein the context specific error state includes at least one of:

programmatic error information; or

human readable error information.

17. The medium according to claim 16 , wherein

the programmatic error information includes at least one of:

local error state;

global error state; or fatal error state.

18. The medium according to claim 15 , wherein the data when accessed, causes the computing device to pass the error chain represented by the error token to a calling function, the calling function having invoked the first function.

19. The medium according to claim 18 , wherein the data, when accessed, causes the computing device to

generate, by the calling function, a new context specific error state;

transmit the new context specific error state and the error token; and

appending the new context specific error state to the error chain to generate an appended error chain.

20. A machine-accessible medium encoded with data, the data, when accessed, causes a computing device to:

receive a request to initiate an error chain from a first function;

initialize a new error chain based on a context specific error state received together with the request;

allocate an error buffer for the new error chain wherein the error buffer includes at least one element;

issue, upon successfully allocating the error buffer, a fingerprint corresponding to an element of the new error chain;

store the context specific error state in the element;

generate a new error token representing the element with the fingerprint and an error buffer index corresponding to the location of the element; and

return the new error token.

21. The medium according to claim 20 , wherein the data, when accessed, causes the computing device to:

generate, by a calling function which called the first function, a new context specific error state;

receive the new context specific error state and the error token;

identify an existing element in the existing error chain using the error token;

locate an available element for appending the existing error chain, the available element having an associated new fingerprint; and

verify the validity of the existing element based on a fingerprint of the error token and a fingerprint contained in the existing element;

generating the new error token with the associated new fingerprint and an error buffer index corresponding to the location of the available element to represent an appended error chain; and

returning the new error token.

22. The medium according to claim 21 , wherein the data, when accessed, causes the computing device to:

incorporate, upon a success of said verifying, the context specific error state in the available element; and

connect the available element to the existing element of the error chain to generate the appended error chain.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 4, 2013
From: INTEL CORPORATION
To: MICRON TECHNOLOGY, INC.
Reel/Frame 030747/0001 →