IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0105060
(2002-03-22)
|
발명자
/ 주소 |
- Schoenthal, Scott
- Viswanathan, Srinivasan
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
4 인용 특허 :
23 |
초록
▼
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 th
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.
대표청구항
▼
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 r
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. A method as in claim 1, including steps of reporting a result of said steps of injecting.3. A method as in claim 1, including steps of reporting a result of said steps of injecting; andaltering said program instructions in response to a result of said steps of reporting, and producing an altered set of said program instructions which complies with developer expectations with regard to said injected behaviors.4. A method as in claim 1, wherein a result of said injecting steps includes a simulation of a set of cascaded errors.5. A method as in claim 1, wherein a result of said injecting steps includes a simulation of a set of concurrent errors in response to multiple requests received by said computing device.6. A method as in claim 1, wherein a result of said injecting steps includes a simulation of a correct behavior.7. A method as in claim 1, wherein a result of said injecting steps includes at least one of: altering a system variable, causing a system panic, causing a system reboot, modifying contents of system memory.8. A method as in claim 1, whereinsaid computing device includes a redundant data storage system; andsaid context information includes information regarding a file server request.9. A method as in claim 1, wherein said context information includes at least one of:a request received by said computing device;a set of behaviors already injected in response to at least one said breakout line.10. A method as in claim 1, whereinsaid computing device performs multiple threads of said instructions concurrently; andsaid context information for a first said thread is responsive to at least one operation in progress in a second said thread.11. A method as in claim 1, whereinsaid set of program instructions are maintained on a first said computing device; andsaid steps of injecting are performed at least in part at a second said computing device different from said first computing device.12. A method as in claim 1, wherein said steps of injecting are responsive to one or more behavior injection filters, each said behavior injection filter including at least one associated condition and at least one associated behavior for injection.13. A method as in claim 1, including a non-volatile memory, said nonvolatile memory including sufficient information to preserve persistence of said context information across a system reboot.14. A method as in claim 13, wherein said injected behavior includes a system reboot.15. A method as in claim 1, wherein said context information is updated in response to said transfers of control.16. A method as in claim 1, whereinsaid software components are disposed in an architecture having a first and second layer;said context information is incremented in response to transfers of control from said first to said second layer; andsaid context information is decremented in response to transfers of control from said second to said first layer.17. A method, including steps ofperforming 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;whereinsaid 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; andsaid 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 ofinjecting a second behavior in response to said trigger information and in response to a change in said context information.18. A method, including steps ofperforming 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;whereinsaid 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 includinga 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;whereinsaid instructions include a plurality of independent software components; andsaid 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.20. Apparatus as in claim 19, wherein said storage medium includes a result of said steps of injecting.21. Apparatus as in claim 19, whereinsaid computing device includes a redundant data storage system; andsaid context information includes information regarding a file server request.22. Apparatus as in claim 19, wherein said context information includes at least one of:a request received by said computing device;a set of behaviors already injected in response to at least one said breakout line.23. Apparatus as in claim 19, whereinsaid computing device includes multiple concurrent threads of said instructions; andsaid context information for a first said thread includes information regarding at least one operation in progress in a second said thread.24. Apparatus as in claim 19, whereinsaid set of program instructions are maintained on a first said computing device; andsaid instruction causing a behavior to be injected causes at least one additional instruction to be performed at least in part at a second said computing device different from said first computing device.25. Apparatus as in claim 19, including one or more behavior injection filters, each said behavior injection filter including at least one associated condition and at least one associated behavior for injection.26. Apparatus as in claim 19, including a non-volatile memory, said nonvolatile memory including sufficient information to preserve persistence of said context information across a system reboot.27. Apparatus as in claim 19, wherein said computing device includes an instruction updating said context information in response to said transfers of control.28. Apparatus as in claim 19, whereinsaid software components are disposed in an architecture having a first and second layer;said computing device includes an instruction incrementing said context information in response to transfers of control from said first to said second layer; andsaid computing device includes an instruction decrementing said context information in response to transfers of control from said second to said first layer.29. Apparatus, includinga 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;whereinsaid 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; andsaid 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 includinga 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;whereinsaid 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; andsaid 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.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.