Persistent context-based behavior injection or testing of a computing system
First Claim
1. A method, including steps of performing a set of program instructions using a computing device, said program instructions including one or more breakout lines;
- maintaining a set of context information regarding one or more operations in progress by said computing device;
injecting a behavior in response to at least one of said breakout lines, conditionally in response to at least a portion of said context information;
wherein said instructions include a plurality of independent software components; and
said context information is preserved across transfers of control within computing device between instructions for different ones of said software components.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention provides a method and system for persistent context-based behavior injection in a computing system, such as in a redundant storage system or another system having a layered or modular architecture. Behaviors that are injected can be specified to have triggering conditions, such that the behavior is not injected unless the conditions are true. Triggering conditions may include a selected ordering of conditions and a selected context for each behavior. In a system having a layered architecture, behavior injection might be used to evaluate correct responses in the face of cascaded errors in a specific context or thread, other errors that are related by context, concurrent errors, or multiple errors. Behavior injection uses non-volatile memory to preserve persistence of filter context information across possible system errors, for reporting of the results of behavior injection, and to preserve information across recovery from system errors. Multiple behavior injection threads are also provided. Behavior injection can also be performed in a logically distributed system or from a logically remote system.
34 Citations
30 Claims
-
1. A method, including steps of performing a set of program instructions using a computing device, said program instructions including one or more breakout lines;
- maintaining a set of context information regarding one or more operations in progress by said computing device;
injecting a behavior in response to at least one of said breakout lines, conditionally in response to at least a portion of said context information;
wherein said instructions include a plurality of independent software components; and
said context information is preserved across transfers of control within computing device between instructions for different ones of said software components. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
- maintaining a set of context information regarding one or more operations in progress by said computing device;
-
17. A method, including steps of
performing a set of program instructions using a computing device, said program instructions including one or more breakout lines; -
maintaining a set of context information regarding one or more operations in progress by said computing device; injecting a behavior in response to at least one of said breakout lines conditionally in response to at least a portion of said context information; wherein said steps of injecting are responsive to a plurality of behavior injection filters, each said behavior injection filter including at least one associated condition and at least one associated behavior for injection; and said context information includes a set of trigger information for a first one of said behavior injection filters, said trigger information indicative of whether said first behavior injection filter has been triggered within said context; and including steps of injecting a second behavior in response to said trigger information and in response to a change in said context information.
-
-
18. A method, including steps of
performing a set of program instructions using a computing device said program instructions including one or more breakout lines; -
maintaining a set of context information regarding one or more operations in progress by said computing device; injecting a behavior in response to at least one of said breakout lines conditionally in response to at least a portion of said context information; wherein said steps of injecting are responsive to a plurality of behavior injection filters, each said behavior injection filter including at least one associated condition and at least one associated behavior for injection; said context information includes a set of trigger information for a first one of said behavior injection filters, said trigger information indicative of whether said first behavior injection filter has been triggered within said context; said sequence of instructions includes one or more scope update lines, said scope update lines being indicative of a change in said context information; and including steps of injecting a second behavior in response to said trigger information and in response to at least one of said scope update lines.
-
-
19. Apparatus including
a computing device having a set of program instructions, said program instructions including one or more breakout lines; -
a storage medium accessible by said computing device, said storage medium having a set of context information regarding one or more operations in progress by said computing device; wherein said computing device includes an instruction responsive to at least one of said breakout lines, said instruction causing a behavior to be injected in response to said one breakout line, conditionally in response to at least a portion of said context information; wherein said instructions include a plurality of independent software components; and said computing device includes an instruction preserving said context information across transfers of control within said computing device between instructions for different ones of said software components. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. Apparatus, including
a computing device having a set of program instructions, said program instructions including one or more breakout lines; -
a storage medium accessible by said computing device said storage medium having a set of context information regarding one or more operations in progress by said computing device; wherein said computing device includes an instruction responsive to at least one of said breakout lines, said instruction causing a behavior to be injected in response to said one breakout line, conditionally in response to at least a portion of said context information; and including a plurality of behavior injection filters, each said behavior injection filter including at least one associated condition and at least one associated behavior for injection; wherein said context information includes a set of trigger information for a first one of said behavior injection filters, said trigger information indicative of whether said first behavior injection filter has been triggered within said context; and said computing device includes an instruction responsive to said trigger information, said instruction causing a second behavior to be injected in response to a change in said context information.
-
-
30. Apparatus including
a computing device having a set of program instructions, said program instructions including one or more breakout lines; -
a storage medium accessible by said computing device, said storage medium having a set of context information regarding one or more operations in progress by said computing device; wherein said computing device includes an instruction responsive to at least one of said breakout lines, said instruction causing a behavior to be injected in response to said one breakout line, conditionally in response to at least a portion of said context information; and including a plurality of behavior injection filters, each said behavior injection filter including at least one associated condition and at least one associated behavior for injection; wherein said context information includes a set of trigger information for a first one of said behavior injection filters, said trigger information indicative of whether said first behavior injection filter has been triggered within said context; said sequence of instructions includes one or more scope update lines, said scope update lines being indicative of a change in said context information; and said computing device includes an instruction responsive to said trigger information, said instruction causing a second behavior to be injected in response to at least one of said scope update lines.
-
Specification