Source: http://www.google.com/patents/US7574627?dq=6,757,710
Timestamp: 2015-04-02 03:43:34
Document Index: 105212157

Matched Legal Cases: ['art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604', 'art 604']

Patent US7574627 - Memory dump method, memory dump program and computer system - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA technique for identifying a fundamental cause of a system fault in a system in which a plurality of OSs run on one computer. In a system in which each of a plurality of operating systems executes a process by time-sharing hardware of one computer, a plurality of related OSs are stored in advance in...http://www.google.com/patents/US7574627?utm_source=gb-gplus-sharePatent US7574627 - Memory dump method, memory dump program and computer systemAdvanced Patent SearchPublication numberUS7574627 B2Publication typeGrantApplication numberUS 11/647,600Publication dateAug 11, 2009Filing dateDec 29, 2006Priority dateFeb 22, 2006Fee statusPaidAlso published asCN101025701A, US20070220350Publication number11647600, 647600, US 7574627 B2, US 7574627B2, US-B2-7574627, US7574627 B2, US7574627B2InventorsKatsuhisa Ogasawara, Yumiko Sugita, Hirofumi NagasukaOriginal AssigneeHitachi, Ltd.Export CitationBiBTeX, EndNote, RefManPatent Citations (6), Referenced by (6), Classifications (8), Legal Events (3) External Links: USPTO, USPTO Assignment, EspacenetMemory dump method, memory dump program and computer system
As a technique for meeting the above demand, a memory dump may be performed when a fault in a computer system makes it difficult to continue running the OS. Here, �memory dump� means that information stored in an instruction execution unit, a memory, and the like, of the computer system at the time of occurrence of the fault in the computer system is saved as fault information, in secondary storage. An administrator or the like analyzes the contents of the memory dump to specify and correct the cause of the fault and to restart the computer system.
FIG. 4 shows an example of a configuration of the CPU register table 142. The CPU register table 142 includes a virtual computer 401, a virtual CPU 402, a save register 403, and the like. A virtual computer 401, a virtual CPU 402, a save register 403, and the like are associated with each other. A virtual computer 401 indicates a virtual computer controlled by the virtual computer control unit 211. A virtual CPU 402 is a virtual CPU that is made to look like a physical CPU for the OS executed by the corresponding virtual computer 401. The save register 403 is data read from registers (not shown) of the CPU 111, namely, data that are used by the associated virtual computer 401 for its processing and saved by the virtual computer control unit 211, when the virtual computer control unit 211 allocates the CPU 111 to a virtual computer other than the associated virtual computer 401 in question, in a time sharing operation. Hereinafter, data stored in the registers of the CPU 111 will be referred to as register information also. For example, where the virtual computer control unit 211 allocates the CPU 111 to the virtual computer a 202, and then to the virtual computer b 203 after the virtual computer a 202 has performed processing by the virtual CPU �CPUaa�, then the register information that has been used by the virtual computer a 202 is stored in the save register 403 associated with the virtual computer 401 �virtual computer a� and the virtual CPU 402 �CPUaa� in the CPU register table 142 exemplified in FIG. 4. In cases where, after the allocation of the CPU 111 to the virtual computer b 203, the CPU 111 is allocated again to the virtual computer a 202 and the virtual computer a 202 is to perform its processing by the virtual CPU �CPUaa�, then the virtual computer control unit 211 reads the data stored in the save register 403 associated with the virtual computer 401 �virtual computer a� and the virtual CPU 402 �CPUaa�, and makes the virtual computer a 202 resume its processing.
In FIG. 6, the dump execution OS table 156 includes faulty OSs 601 on the vertical axis, and dump execution OSs 602, an automatic setting flag 603, and the like, on the horizontal axis. A faulty OS 601 is associated with an automatic setting flag 603. The faulty OSs 601 and the dump execution OSs 602 are operating systems executed independently by respective virtual computers realized by the computer 100. A matrix part 604 defined by the faulty OSs 601 and the dump execution OSs 602 indicates whether memory dump of an operating system indicated by a dump execution OS 602 is performed or not when a fault occurs in an operating system indicated by a faulty OS 601. In the example shown in FIG. 6, �Yes� in the matrix part 604 indicates that memory dump of the operating system indicated by the dump execution OS 602 concerned is performed. Further, �No� in the matrix part 604 indicates that a memory dump of the operating system indicated by the dump execution OS 602 concerned is not performed. An automatic setting flag 603 indicates whether the matrix part 604 defined by the faulty OS 601 and the dump execution OSs 602, associated with the automatic setting flag 603, are automatically changed when the OSs related to the faulty OS 601 are changed. In the example shown in FIG. 6, an automatic setting flag 603 �ON� indicates that the matrix part 604 is changed automatically, while an automatic setting flag 603 �OFF� indicates that the matrix part 604 is not changed automatically.
Here, it is assumed that information in the dump execution OS table 156 has been set in advance. However, information in the dump execution OS table 156 may be set, deleted, or changed in accordance with information inputted through the input unit 114 or the communication interface 116. Further, in cases where an automatic setting flag 603 is �ON� in the dump execution OS table 156, the matrix part 604 is automatically generated or updated each time when the related OS table 155 is generated or updated. An example of this operation will be described later.
In FIG. 7, the dump execution policy table 157 includes a dump execution OS designation 701, a validity flag 702, and the like. A dump execution OS designation 701, a validity flag 702, and the like, are associated with each other. A dump execution OS designation 701 indicates a method of designating a dump execution OS. In the present embodiment, dump execution methods include a method of reading from the dump execution OS table 156 and a method of manual designation. A validity flag 702 indicates whether the method indicated by the corresponding dump execution OS designation 701 is valid or not. In the example shown in FIG. 7, a validity flag 702 �Yes� indicates that the method indicated by the corresponding dump execution OS designation 701 is valid, while a validity flag 702 �No� indicates that the method indicated by the corresponding dump execution OS designation 701 is invalid.
Next, with respect to the active OS in the combination selected in S802, the change unit 212 judges whether automatic change of the dump execution OS table is set (S803). To that end, the change unit 212 refers in the dump execution OS table 156 to the automatic setting flag 603 associated with a faulty OS 601 matching the active OS in the combination selected in S802, and judges whether the flag 603 is �ON� or not. When the automatic setting flag 603 is found to be �ON� as a result of the judgment, then the change unit 212 judges that automatic change of the dump execution OS table is set with respect to the active OS in the combination selected in S802.
When the judgment in S803 shows that automatic change of the dump execution OS table is set with respect to the active OS in the combination selected in S802, the change unit 212 acquires OSs operating in cooperation with the active OS in the combination selected in S802, and updates the matrix part 604 and the like of the dump execution OS table 156 (S804). To that end, for example, the change unit 212 reads related OS or OSs 502 associated with an active OS 501 matching the active OS selected in S802, from the related OS table 155. Next, in the matrix part 604 of the dump execution OS table 156, the change unit 212 changes an element defined by a faulty OS 601 matching the active OS in the combination selected in S802 and a dump execution OS 602 matching the active OS in the combination selected in S802 into �Yes�. Further, in the matrix part 604 of the dump execution OS table 156, the change unit 212 changes an element defined by the faulty OS 601 matching the active OS in the combination selected in S802 and the dump execution OS 602 matching the read related OS into �Yes�. In cases where a plurality of related OSs 502 associated with the active OS 501 matching the active OS in the combination selected in S802 have been read from the related OS table 155, the change unit 212 performs this processing for each related OS 502.
For example, a case will be described where, in the process of S802, a combination of the active OS �OSa� and the related OSs �OSb� and �OSc� is selected from the related OS table 155 exemplified in FIG. 5. In this case, referring to the dump execution OS table 156 exemplified in FIG. 6, it is found that the automatic setting flag 603 associated with the faulty OS 601 �OSa� is �ON�. Accordingly, the change unit 212 judges that automatic change of the dump execution OS table is set. The change unit 212 reads the related OSs 502 �OSb� and �OSc� associated with the active OS 501 �OSa� from the dump execution OS table 156 exemplified in FIG. 6. Next, in the matrix part 604 of the dump execution OS table 156, the change unit 212 changes the element defined by the faulty OS 601 �OSa� and the dump execution OS 602 �OSa� into �Yes�. Further, in the matrix part 604 of the dump execution OS table 156, the change unit 212 changes the element defined by the faulty OS 601 �OSa� and the dump execution OS 602 �OSb� into �Yes�. Further, in the matrix part 604 of the dump execution OS table 156, the change unit 212 changes the element defined by the faulty OS 601 �OSa� and the dump execution OS 602 �OSc� into �Yes�.
As an example, a detailed description will be given of an operation in cases where a fault occurs when �OSb� performs processing by the virtual CPU �CPUbb�. In such cases, the virtual computer executing �OSb� is the virtual computer b 203. Accordingly, the fault detection unit 213 reads the register information for performing processing by the virtual CPU �CPUbb� from the registers of the CPU 111, and saves the read register information to the save register 403 associated with the virtual computer 401 �virtual computer b� and the virtual CPU 402 �CPUbb� in the CPU register table 142 exemplified in FIG. 4.
In FIG. 11, the dump execution unit 214 first judges whether the manual designation is valid or not in the dump execution policy table 157 (S1101). For example, to that end, the dump execution unit 214 refers to the dump execution policy table 157 and judges whether the validity flag 702 corresponding to the dump execution OS designation 701 �manual designation� is �Yes�. In cases where the validity flag 702 in question is �Yes�, the dump execution unit 214 judges that the manual designation in the dump execution policy table 157 is valid.
Next, the dump execution unit 214 resumes the time sharing allocation of the CPU 111 to virtual computers of OSs that are not the dump execution OS or OSs received in S1102 and not designated as the dump execution OSs for the faulty OS in the dump execution OS table 156, to resume the processing by those OSs (S1103). For example, to that end, the dump execution unit 214 selects one of the virtual computers realized on the computer 100, and judges whether the OS executed by this virtual computer matches at least one of the dump execution OS or OSs received in S1102. When this judgment indicates a match, then the dump execution unit 214 selects another among the virtual computers realized on the computer 100, and performs the same judgment. On the other hand, when this judgment does not indicate a match, then the dump execution unit 214 refers to the dump execution OS table 156, and judges in the matrix part 604 whether an element defined by a faulty OS 601 matching the faulty OS in question and a dump execution OS 602 matching the OS executed by the selected virtual computer is �No�. When the judgment shows that the element in question of the matrix part 604 is �No�, the dump execution unit 214 instructs the virtual computer control unit 211 to resume the time sharing allocation of the CPU 111 to the selected virtual computer. In accordance with the instruction, the virtual computer control unit 211 resumes the time sharing allocation of the CPU 111. This operation is same as one for a virtual computer of the conventional technology, and its description is omitted. Further, when the above judgment shows that the element in question of the matrix part 604 is �Yes�, the dump execution unit 214 selects another among the virtual computers realized on the computer 100, and performs the same judgment. The dump execution unit 214 performs this processing for all the virtual computers realized on the computer 100.
As an example, a detailed description will be given of an operation in the case where the faulty OS is �OSb�, and �OSa� is received in S1102. The dump execution unit 214 first selects the virtual computer a 202. The OS executed by the virtual computer a 202 is �OSa�, which matches the dump execution OS �OSa� received in S1102. Thus, the dump execution unit 214 selects the virtual computer b 203. The OS executed by the virtual computer b 203 is �OSb�, which does not match the dump execution OS �OSa� received in S1102. In the matrix part 604 of the dump execution OS table 156 exemplified in FIG. 6, the element defined by the faulty OS 601 �OSb� and the dump execution OS 602 �OSb� is �Yes�. As a result, the dump execution unit 214 does not give an instruction to resume the time sharing allocation of the CPU 111 to the selected virtual computer b 203. Next, the dump execution unit 214 selects the virtual computer c 204. The OS executed by the virtual computer c 204 is �OSc�, which does not match the dump execution OS �OSa� received in S1102. In the matrix part 604 of the dump execution OS table 156 exemplified in FIG. 6, the element defined by the faulty OS 601 �OSb� and the dump execution OS 602 �OSc� is �No�. As a result, the dump execution unit 214 gives an instruction to resume the time sharing allocation of the CPU 111 to the selected virtual computer c 204.
As an example, a detailed description will be given of an operation in cases where the faulty OS is �OSb� and �OSb� is selected in S1104. The virtual computer executing �OSb� is the virtual computer b 203. As page addresses associated with the virtual computer 311 �virtual computer b�, the dump execution unit 214 reads the virtual page address 312 �bbb� and its actual page address 313 �BBB� and the virtual page address 312 �bbbbbb� and its actual page address 313 �BBBBBB� from the memory management table 141 exemplified in FIG. 3B. Next, the dump execution unit 214 reads data in the area indicated by the actual page address 313 �BBB� from the memory 112, and stores the read data in association with information indicating �OSb� in a prescribed area of the storage unit 113. Further, the dump execution unit 214 reads data in the area indicated by the actual page address 313 �BBBBBB� from the memory 112, and stores the read data in association with the information indicating �OSb� in a prescribed area of the storage unit 113. Further, the dump execution unit 214 reads data stored in the save register 403 associated with the virtual computer 401 �virtual computer b� from the CPU register table 142 exemplified in FIG. 4, and stores the read data in the storage unit 113, in association with the information indicating �OSb� and the like.
On the other hand, when the result of the judgment in S1108 shows non-existence of an unselected OS, the dump execution unit 214 judges whether an instruction to end the dump execution processing has been received or not (S1109). This instruction may be received together with the dump execution OS or OSs in S1102, for example, or may be inputted through the input unit 114 or the communication interface 116 at any time. In cases where the instruction is received together with the dump execution OS or OSs in S1102, it is possible to receive an instruction on whether a dump should be performed only with respect to the designated OS or with respect to OSs other than the designated OS also, through radio buttons as exemplified in the screen 1201 of FIG. 12 mentioned above. In that case, when �Dump should be performed with respect to only the designated OS� is selected, then the dump execution unit 214 judges that a dump execution processing end instruction has been received. On the other hand, when �Dump should be performed also with respect to OSs other than the designated OS� is selected, then the dump execution unit 214 judges that a dump execution processing end instruction has not been received. Further, the administrator or the like may give an instruction to end the dump execution processing through the input unit 114 or the input unit of the information processing apparatus 120 at any time after designating the dump execution OS. In accordance with the instruction, the computer 100 or the information processing apparatus 120 issues a predetermined command such as an interruption command. When the predetermined command has been issued, the dump execution unit 214 judges that a dump execution processing end instruction has been received.
When the judgment in S1101 shows that the manual designation in the dump execution policy table 157 is not valid, or when the judgment in S1109 shows that a dump execution processing end instruction has not been received, then the dump execution unit 214 resumes the time sharing allocation of the CPU 111 to the OSs other than the dump execution OS or OSs, and resumes the processing by those OSs (S1110). For example, to that end, the dump execution unit 214 first selects one virtual computer among the virtual computers realized on the computer 100. Next, the dump execution unit 214 refers to the dump execution OS table 156 and judges in the matrix part 604 whether the element defined by a faulty OS 601 matching the faulty OS and a dump execution OS 602 matching the OS executed by the selected virtual computer is �No�. When the judgment shows that the above element of the matrix part 604 is �No�, the dump execution unit 214 instructs the virtual computer control unit 211 to resume the time sharing allocation of the CPU 111 to the selected virtual computer. According to the instruction, the virtual computer control unit 211 resumes the time sharing allocation of the CPU 111 to the selected virtual computer. This operation is the same as an operation in the conventional virtual computer technology, and its description is omitted. On the other hand, if the above judgment shows that the element of the matrix part 604 is �Yes�, the dump execution unit 214 selects another one among the virtual computers realized on the computer 100, and performs the same judgment. The dump execution unit 214 performs this processing for all the virtual computers realized on the computer 100.
As an example, a detailed description will be given of an operation in the case where the faulty OS is �OSb�. The dump execution unit 214 first selects the virtual computer a 202. The OS executed by the virtual computer a 202 is �OSa�. In the matrix part 604 of the dump execution OS table 156 exemplified in FIG. 6, the element defined by the faulty OS 601 �OSb� and the dump execution OS 602 �OSa� is �Yes�. Accordingly, the dump execution unit 214 does not give an instruction to resume the time sharing allocation of the CPU 111 to the selected virtual computer a 202. Next, the dump execution unit 214 selects the virtual computer b 203. The OS executed by the virtual computer b 203 is �OSb�. In the matrix part 604 of the dump execution OS table 156 exemplified in FIG. 6, the element defined by the faulty OS 601 �OSb� and the dump execution OS 602 �OSb� is �Yes�. Accordingly, the dump execution unit 214 does not give an instruction to resume the time sharing allocation of the CPU 111 to the selected virtual computer b 203. Next, the dump execution unit 214 selects the virtual computer c 204. The OS executed by the virtual computer c 204 is �OSc�. In the matrix part 604 of the dump execution OS table 156 exemplified in FIG. 6, the element defined by the faulty OS 601 �OSb� and the dump execution OS 602 �OSc� is �No�. Accordingly, the dump execution unit 214 gives an instruction to resume the time sharing allocation of the CPU 111 to the selected virtual computer c 204.
Next, the dump execution unit 214 judges whether the automatic acquisition is valid or not in the dump execution policy table 157 (S1111). For example, to that end, the dump execution unit 214 refers to the dump execution policy table 157, and judges whether the validity flag 702 corresponding to the dump execution OS designation 701 �dump execution OS table� is �Yes� or not. If the validity flag 702 in question is �Yes�, the dump execution unit 214 judges that the automatic acquisition in the dump execution policy table 157 is valid.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS6845470 *Feb 27, 2002Jan 18, 2005International Business Machines CorporationMethod and system to identify a memory corruption source within a multiprocessor systemUS6892383Jun 8, 2000May 10, 2005International Business Machines CorporationHypervisor function setsUS7490203 *May 12, 2005Feb 10, 2009International Business Machines CorporationMethod for dumping data in processing systems to a shared storageUS20030204780 *Apr 25, 2002Oct 30, 2003International Business Machines CorporationHandling multiple operating system capabilities in a logical partition data processing systemUS20080115012 *Nov 15, 2006May 15, 2008International Business Machines CorporationMethod and infrastructure for detecting and/or servicing a failing/failed operating system instanceJP2005122334A Title not available* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS7685474 *Mar 16, 2007Mar 23, 2010Symantec CorporationFailsafe computer support assistant using a support virtual machineUS8010506 *Nov 20, 2008Aug 30, 2011Fujitsu LimitedInformation processing system and network logging information processing methodUS8375386 *Jun 29, 2005Feb 12, 2013Microsoft CorporationFailure management for a virtualized computing environmentUS8707305Feb 8, 2013Apr 22, 2014Microsoft CorporationFailure management for a virtualized computing environmentUS8762790Sep 7, 2011Jun 24, 2014International Business Machines CorporationEnhanced dump data collection from hardware fail modesUS20070006226 *Jun 29, 2005Jan 4, 2007Microsoft CorporationFailure management for a virtualized computing environment* Cited by examinerClassifications U.S. Classification714/38.11International ClassificationG06F11/00Cooperative ClassificationG06F11/3476, G06F11/0712, G06F11/0778European ClassificationG06F11/07P4D, G06F11/07P1B, G06F11/34T4Legal EventsDateCodeEventDescriptionJan 16, 2013FPAYFee paymentYear of fee payment: 4Oct 31, 2007ASAssignmentOwner name: HITACHI, LTD., JAPANFree format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED ON REEL 019137 FRAME 0625;ASSIGNORS:OGASAWARA, KATSUHISA;SUGITA, YUMIKO;NAGASUKA, HIROFUMI;REEL/FRAME:020042/0810;SIGNING DATES FROM 20070118 TO 20070119Apr 2, 2007ASAssignmentOwner name: HITACHI, LTD., JAPANFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:OGASAWARA, KATSUHISA;SUGITA, YUMIKO;NAGASUKA, HIROFUMI;REEL/FRAME:019137/0625;SIGNING DATES FROM 20070118 TO 20070119RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services