System and method for providing state capture and restoration to an I/O system
First Claim
1. A method for providing a user-defined configuration state to an I/O system, wherein the I/O system comprises a computer;
- a network bus coupled to the computer, and a module bank coupled to the network bus, wherein the module bank comprises a communication module and one or more I/O modules coupled to the communication module, the method comprising;
configuring the module bank with a state;
the computer sending a state capture command to the communication module in response to user input;
the communication module capturing the state of the communication module and said one or more I/O modules in response to said state capture command, wherein said capturing includes storing the captured state information in a memory within the communication module;
wherein said captured state information is useable to restore the state of the module bank in response to an event.
1 Assignment
0 Petitions
Accused Products
Abstract
A modular distributed I/O system includes a computer coupled to module banks through a network bus. A module bank includes a communication module, terminal bases, and I/O modules. The adjoined terminal bases form a local bus mastered by the communication module. The I/O modules connect to the local bus through terminal bases. I/O modules are pluriform and programmable. The communication module maintains a memory image of the configuration state of each I/O module resident in the module bank. A memory image persists when an I/O module is removed from its terminal base. The memory image is used to configure a new I/O module which is inserted into the same terminal base. The communication module monitors for communication failure on the network bus, and is configured to capture the state of the module bank and automatically restore this captured state after a power-loss event. The terminal bases realize a local bus which includes a parallel bus, a serial bus, and an address assignment bus. Each terminal base receives a value from a preceding terminal base, increments this value, and asserts the increment value to a succeeding terminal base. Each terminal base is automatically assigned an physical proximity address. An I/O module controls read/write access to its register space by a semaphore mechanism which supports multi-threaded processing. The I/O module latches an ungranted semaphore request and assumes a self-exclusion state upon releasing the semaphore wherein the semaphore is reserved for the communication module.
81 Citations
21 Claims
-
1. A method for providing a user-defined configuration state to an I/O system, wherein the I/O system comprises a computer;
- a network bus coupled to the computer, and a module bank coupled to the network bus, wherein the module bank comprises a communication module and one or more I/O modules coupled to the communication module, the method comprising;
configuring the module bank with a state;
the computer sending a state capture command to the communication module in response to user input;
the communication module capturing the state of the communication module and said one or more I/O modules in response to said state capture command, wherein said capturing includes storing the captured state information in a memory within the communication module;
wherein said captured state information is useable to restore the state of the module bank in response to an event. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
said event occurring in the I/O system;
the communication module configuring said one or more I/O modules with said captured state information in response to said event.
- a network bus coupled to the computer, and a module bank coupled to the network bus, wherein the module bank comprises a communication module and one or more I/O modules coupled to the communication module, the method comprising;
-
3. The method of claim 2, further comprising:
-
configuring the communication module to perform state restoration in response to said event prior to said event occurring in the I/O system;
wherein the communication module configuring said one or more I/O modules with said captured state information is performed in response to said event and in response to said configuring the communication module to perform state restoration.
-
-
4. The method of claim 3, wherein said configuring the communication module to perform state restoration comprises the computer sending a restoration enable command to the communication module in response to user input;
wherein said restoration enable command operates to enable the communication module to perform state restoration in response to an event.
-
5. The method of claim 4, wherein the communication module configuring said one or more I/O modules with said captured state information includes:
-
determining if the communication module is enabled for state restoration; and
determining if the communication module stores captured state information.
-
-
6. The method of claim 2, wherein, for each respective I/O module, the communication module configuring said one or more I/O modules with said captured state information includes:
-
determining if said captured state information includes module state information compatible with said respective I/O module;
providing said module state information to said respective I/O in response to determining that said captured state information includes module state information compatible with said respective I/O module.
-
-
7. The method of claim 6, further comprising:
-
accessing default settings of the respective module in response to determining that said captured state information does not include module state information compatible with said respective I/O module;
configuring said respective module with said default settings after said accessing.
-
-
8. The method of claim 2, wherein said captured state information includes module state information corresponding to respective positions of one or more of said I/O modules in said module bank;
-
wherein, for each respective I/O module, the communication module configuring said one or more I/O modules with said captured state information includes;
determining if said module state information corresponding to said respective position of said respective I/O module is compatible with said respective I/O module located in said respective position of said module bank;
providing said module state information for said respective ,/O module to said respective I/O module in response to determining that said module state information corresponding to said respective position of said respective o/n module is compatible with said respective 5/O module located in said respective position of said module bank.
-
-
9. The method of claim 1, wherein said event comprises a power up event.
-
10. The method of claim 9, wherein said power up event occurs in response to a loss of power to one or more of the computer or the module bank.
-
11. The method of claim 1, wherein said capturing includes storing the captured state information in a non-volatile memory within the communication module.
-
12. The method of claim 1 further comprising said computer sending one or more commands to said communication module to update one or more components of said captured state information.
-
13. The method of claim 12, where in said one or more commands are issued in response to user input to said computer.
-
14. An I/O system which provides a user-defined configuration state, the I/O system comprising:
-
a computer;
a network bus coupled to the computer;
a module bank coupled to the network bus, wherein the module bank comprises a communication module and one or more I/O modules coupled to the communication module, wherein the module bank is configured with a state;
wherein the computer is operable to send a state capture command to the communication module in response to user input;
wherein the communication module is operable to capture the state of the communication module and said one or more I/O modules in response to said state capture command, wherein the communication module includes a memory for storing the captured state information;
wherein said captured state information is useable to restore the state of the module bank in response to an event. - View Dependent Claims (15, 16, 17, 18, 19)
wherein the communication module is operable to configure said one or more I/O modules with said captured state information in response to said event. -
16. The I/O system of claim 15,
wherein the communication module is user-configurable to perform state restoration in response to said event; wherein the communication module is operable to configure said one or more I/O modules with said captured state information in response to said event and in response to the communication module being configured to perform state restoration.
-
17. The I/O system of claim 15, wherein, for each respective I/O module, in order to configure said one or more I/O modules, the communication module is operable to determine if said captured state information includes module state information compatible with said respective I/O module and provide said module state information for said respective I/O module to said respective I/O module in response to determining that said captured state information includes module state information compatible with said respective I/O module.
-
18. The I/O system of claim 14, wherein said computer is configured to send one or more commands to said communication module to update one or more components of said captured state information.
-
19. The I/O system of claim 18, wherein said one or more commands are issued in response to user input supplied to said computer.
-
-
20. A method for providing a user-defined configuration state to an I/O system, wherein the I/O system comprises a computer;
- a network bus coupled to the computer, and a module bank coupled to the network bus, wherein the module bank comprises a communication module and one or more I/O modules coupled to the communication module, the method comprising;
configuring the module bank with a state;
the computer sending a state capture command to the communication module in response to user input;
the communication module capturing the state of the communication module and said one or more I/O modules in response to said state capture command, wherein said capturing includes storing the captured state information in a memory within the communication module;
wherein said captured state information is useable to restore the state of the module bank in response to an event;
said event occurring in the I/O system;
the communication module configuring said one or more I/O modules with said captured state information in response to said event;
wherein said captured state information includes module state information corresponding to respective positions of one or more of said I/O modules in said module bank;
wherein, for each respective I/O module, the communication module configuring said one or more I/O modules with said captured state information includes;
determining if said module state information corresponding to said respective position of said respective I/O module is compatible with said respective I/O module located in said respective position of said module bank; and
providing said module state information for said respective I/O module to said respective I/O module in response to determining that said module state information corresponding to said respective position of said respective I/O module is compatible with said respective I/O module located in said respective position of said module bank.
- a network bus coupled to the computer, and a module bank coupled to the network bus, wherein the module bank comprises a communication module and one or more I/O modules coupled to the communication module, the method comprising;
-
21. An I/O system which provides a user-defined configuration state, the I/O system comprising:
-
a computer;
a network bus coupled to the computer;
a module bank coupled to the network bus, wherein the module bank comprises a communication module and one or more I/O modules coupled to the communication module, wherein the module bank is configured with a state;
wherein the computer is operable to send a state capture command to the communication module in response to user input;
wherein the communication module is operable to capture the state of the communication module and said one or more I/O modules in response to said state capture command, wherein the communication module includes a memory for storing the captured state information;
wherein said captured state information is useable to restore the state of the module bank in response to an event;
wherein the communication module is operable to configure said one or more I/O modules with said captured state information in response to said event;
wherein, for each respective I/O module, in order to configure said one or more I/O modules, the communication module is operable to determine if said captured state information includes module state information compatible with said respective I/O module and provide said module state information for said respective I/O module to said respective I/O module in response to determining that said captured state information includes module state information compatible with said respective I/O module.
-
Specification