IP Library Granted Patent US 7,363,531
Granted Patent B2
US 7,363,531 · App. 10/448,731 · Granted Apr 22, 2008

Data synchronization for system controllers

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,363,531
App. No.
10/448,731
Granted
Apr 22, 2008
Kind
B2
Abstract

A system controller module is operable to monitor system operation in a system that can include a further such system controller module. The system controller module can include system controller storage and can be operable to maintain system parameters therein. At least a predetermined part of the system controller storage can include a plurality of domains. A check code (e.g., a pseudo CRC) can be generated for each domain such that equivalence between check codes for a domain in the system controller storage and a corresponding domain in further storage of a further system controller module is indicative of the domains concerned being in synchronism.

Claims (65)

1. A computer system comprising:

a first system controller operable to monitor system operation, the first system controller having first storage associated therewith and being operable to maintain system parameters therein;

a second system controller operable as a spare for the first system controller, the second system controller having second storage associated therewith and being operable to maintain system parameters therein;

wherein at least a predetermined part of each of the first and second storage comprises a plurality of domains, wherein each of the plurality of domains of the first storage corresponds to one of the plurality of domains of the second storage;

wherein a check code is generated for each of the plurality of domains of the first storage and the second storage;

wherein the check code for each of the plurality of domains of the first storage is compared to the check code for the corresponding domain of the second storage to determine whether the corresponding domains are synchronized;

wherein the predetermined part of each of the first and second storage comprises a respective storage device; and

wherein each of the respective storage devices comprises a flash programmable read only memory.

2. The computer system of claim 1 , configured to synchronize the corresponding domains in the first and second storage if the corresponding check codes are not equivalent.

3. The computer system of claim 1 , wherein the predetermined part of each of the first and second storage holds non-volatile configuration information.

4. The computer system of claim 3 , wherein the non-volatile configuration information comprises sequential key/value pairs for a hash table.

5. The computer system of claim 1 , wherein, in addition to the predetermined part, each of the first and second storage comprises a non-volatile memory part, that is synchronized in its entirety when required.

6. The computer system of claim 1 , wherein, in addition to the predetermined part, each of the first and second storage comprises a random access memory part, each of the first and second system controllers maintaining a count of each time that the random access memory part of the first and second storage is updated, the respective counts being compared to confirm synchronization between the random access memory parts.

7. The computer system of claim 1 , wherein the check code is a pseudo cyclic redundancy code.

8. The computer system of claim 1 , wherein the predetermined part of each of the first and second storage is divided into a first domain for a system platform and a further domain for each operating instance supported on the system platform.

9. The computer system of claim 1 , wherein the predetennined part of each of the first and second storage is divided into five domains for a system platform and four domains for respective operating instances.

10. The computer system of claim 1 , wherein the check code is held in the domain concerned.

11. The computer system of claim 1 , wherein the computer system is a computer server comprising at least one system processor.

12. A method of operating a computer system including a first system controller operable to monitor system operation, the first system controller having first storage associated therewith and being operable to maintain system parameters therein, and a second system controller operable as a spare for the first system controller, the second system controller having second storage associated therewith and being operable to maintain system parameters therein, the method comprising:

dividing at least a predetermined part of each of the first and second storage into a plurality of domains, wherein each of the plurality of domains of the first storage corresponds to one of the plurality of domains of the second storage;

computing a check code for each of the plurality of domains of the first storage and the second storage; and

comparing the check code for each of the plurality of domains of the first storage to the check code for the corresponding domain of the second storage to determine whether the corresponding domains are synchronized;

wherein the predetermined part of each of the first and second storage comprises a respective storage device; and

wherein each of the respective storage devices comprises a flash programmable read only memory.

13. The method of claim 12 , further comprising, where as a result of the comparison a mismatch of corresponding check codes is identified, synchronizing the domain corresponding thereto in the first and second storage.

14. The method of claim 12 , wherein the predetermined part of each of the first and second storage holds non-volatile configuration information.

15. The method of claim 14 , wherein the non-volatile configuration information comprises sequential key/value pairs for a hash table.

16. The method of claim 12 , wherein the check code is a pseudo cyclic redundancy code.

17. The method of claim 12 , comprising dividing the predetermined part of each of the first and second storage into a first domain for a system platform and a further domain for each operating instance supported on the system platform.

18. The method of claim 12 , comprising dividing the predetermined part of each of the first and second storage into five domains for a system platform and four domains for respective operating instances.

19. The method of claim 12 , wherein the computer system is a computer server comprising at least one system processor.

20. The method of claim 12 , wherein, the first system controller operates as a main system controller during normal operation and wherein, in the event of the first system controller failing, the second system controller takes over as the main system controller.

21. A computer system comprising:

a first system controller operable to monitor system operation, the first system controller having first storage associated therewith and being operable to maintain system parameters therein;

a second system controller operable as a spare for the first system controller, the second system controller having second storage associated therewith and being operable to maintain system parameters therein;

wherein at least a predetermined part of each of the first and second storage comprises a plurality of domains, wherein each of the plurality of domains of the first storage corresponds to one of the plurality of domains of the second storage;

wherein a check code is generated for each of the plurality of domains of the first storage and the second storage;

wherein the check code for each of the plurality of domains of the first storage is compared to the check code for the corresponding domain of the second storage to determine whether the corresponding domains are synchronized; and

wherein the predetermined part of each of the first and second storage is divided into a first domain for a system platform and a further domain for each operating instance supported on the system platform.

22. A computer system comprising:

a first system controller operable to monitor system operation, the first system controller having first storage associated therewith and being operable to maintain system parameters therein;

a second system controller operable as a spare for the first system controller, the second system controller having second storage associated therewith and being operable to maintain system parameters therein;

wherein at least a predetermined part of each of the first and second storage comprises a plurality of domains, wherein each of the plurality of domains of the first storage corresponds to one of the plurality of domains of the second storage;

wherein a check code is generated for each of the plurality of domains of the first storage and the second storage;

wherein the check code for each of the plurality of domains of the first storage is compared to the check code for the corresponding domain of the second storage to determine whether the corresponding domains are synchronized; and

wherein the predetermined part of each of the first and second storage is divided into five domains for a system platform and four domains for respective operating instances.

23. A computer system comprising:

a first system controller operable to monitor system operation, the first system controller having first storage associated therewith and being operable to maintain system parameters therein;

a second system controller operable as a spare for the first system controller, the second system controller having second storage associated therewith and being operable to maintain system parameters therein;

wherein at least a predetermined part of each of the first and second storage comprises a plurality of domains, wherein each of the plurality of domains of the first storage corresponds to one of the plurality of domains of the second storage;

wherein a check code is generated for each of the plurality of domains of the first storage and the second storage;

wherein the check code for each of the plurality of domains of the first storage is compared to the check code for the corresponding domain of the second storage to determine whether the corresponding domains are synchronized; and

wherein the check code is held in the domain concerned.

24. A method of operating a computer system including a first system controller operable to monitor system operation, the first system controller having first storage associated therewith and being operable to maintain system parameters therein, and a second system controller operable as a spare for the first system controller, the second system controller having second storage associated therewith and being operable to maintain system parameters therein, the method comprising:

dividing at least a predetermined part of each of the first and second storage into a plurality of domains, wherein each of the plurality of domains of the first storage corresponds to one of the plurality of domains of the second storage;

computing a check code for each of the plurality of domains of the first storage and the second storage; and

comparing the check code for each of the plurality of domains of the first storage to the check code for the corresponding domain of the second storage to determine whether the corresponding domains are synchronized;

wherein the predetermined part of each of the first and second storage comprises a respective storage device; and

wherein, in addition to the predetermined part, each of the first and second storage comprises a non-volatile memory part, the method further comprising synchronizing the non-volatile memory part in its entirety when required.

25. A method of operating a computer system including a first system controller operable to monitor system operation, the first system controller having first storage associated therewith and being operable to maintain system parameters therein, and a second system controller operable as a spare for the first system controller, the second system controller having second storage associated therewith and being operable to maintain system parameters therein, the method comprising:

dividing at least a predetermined part of each of the first and second storage into a plurality of domains, wherein each of the plurality of domains of the first storage corresponds to one of the plurality of domains of the second storage;

computing a check code for each of the plurality of domains of the first storage and the second storage; and

comparing the check code for each of the plurality of domains of the first storage to the check code for the corresponding domain of the second storage to determine whether the corresponding domains are synchronized;

wherein the predetermined part of each of the first and second storage comprises a respective storage device; and

wherein, in addition to the predetermined part, each of the first and second storage comprises a random access memory part, each of the first and second system controllers maintaining a count of each time that the random access memory part of the first and second storage is updated, the method further comprising comparing the respective counts to confirm synchronization between the random access memory parts.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded Aug 31, 2016
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 039888/0635 →