An information processing apparatus includes a controller, a first storage unit, a second storage unit, and a classification unit. The controller stores pieces of information retained in a memory on a nonvolatile storage device and, upon startup, makes the information processing apparatus return to a state before power-down. The first storage unit is part of the nonvolatile storage device and stores some pieces of information among the pieces of information retained in the memory. The second storage unit is part of the nonvolatile storage device and stores pieces of information different from those stored on the first storage unit among the pieces of information retained in the memory. The classification unit classifies the pieces of information retained in the memory. The controller stores the pieces of information retained in the memory on the first storage unit or the second storage unit in accordance with classification performed by the classification unit.
|
22. A method for preserving data, the method comprising:
performing a classification, in response to a request to power-down, in which information retained in a memory is classified as a first type of information or a second type of information different from the first type of information by identifying a process configured to process the information retained in the memory and subsequently determining whether the process satisfies a predetermined condition, the classification being different than the process;
saving the first type of information on a first nonvolatile storage device in accordance with classification of the information; and
saving the second type of information on a second nonvolatile storage device provided separately from the first nonvolatile storage device, in accordance with classification of the information.
21. An information processing apparatus comprising:
a first nonvolatile storage device;
a second nonvolatile storage device different from the first nonvolatile storage device; and
a processing device configured to control storing, among pieces of information retained in a memory, a piece of information that is determined, by performing, in response to a request to power-down, a classification in which the pieces of information are classified by identifying a process configured to process the pieces of information retained in the memory and subsequently determining whether the process satisfies a predetermined condition, to be confidential information on the second nonvolatile storage device, and to control storing a piece of information that is determined not to be confidential information but to be general information on the first nonvolatile storage device,
wherein the classification is different than the process.
1. An information processing apparatus comprising:
a controller configured to control storing pieces of information retained in a memory on a nonvolatile storage device and, upon startup, to make the information processing apparatus return to a state before power-down by using the pieces of information stored on the nonvolatile storage device;
a first storage unit that is part of the nonvolatile storage device and is configured to store at least some pieces of information among the pieces of information retained in the memory;
a second storage unit that is part of the nonvolatile storage device and is configured to store pieces of information different from the pieces of information stored on the first storage unit among the pieces of information retained in the memory; and
a classification unit configured, in response to a request to power-down, to perform a classification in which the pieces of information retained in the memory are classified by identifying a process configured to process the pieces of information retained in the memory and subsequently determining whether the process satisfies a predetermined condition, the classification being different than the process, wherein
the controller is further configured to control storing the pieces of information retained in the memory on the first storage unit or on the second storage unit in accordance with classification performed by the classification unit.
2. The information processing apparatus according to
the classification unit is further configured to classify each piece of information among the pieces of information retained in the memory as confidential information or general information in accordance with the predetermined condition, and
the controller is further configured to control storing the general information on the first storage unit and to control storing the confidential information on the second storage unit.
3. The information processing apparatus according to
the classification unit is further configured to classify each piece of information among the pieces of information retained in the memory as confidential information or general information in accordance with a condition attached to an execution program for processing the piece of information.
4. The information processing apparatus according to
the classification unit is further configured to determine a piece of information among the pieces of information retained in the memory to be confidential information in a case where the piece of information is information obtained by reading a file for which a protective measure is taken.
5. The information processing apparatus according to
the classification unit is further configured to determine a piece of information among the pieces of information retained in the memory to be confidential information in a case where the piece of information is information obtained by reading a file for which a protective measure is taken.
6. The information processing apparatus according to
the classification unit is further configured to classify each piece of information among the pieces of information retained in the memory as confidential information or general information in accordance with the predetermined condition, and
the controller is further configured to divide the confidential information into a plurality of sections, to control storing some of the sections of the confidential information and the general information on the first storage unit, and to control storing remaining sections of the confidential information on the second storage unit.
7. The information processing apparatus according to
the second storage unit is a storage device for which a protective measure for protecting stored information is taken.
8. The information processing apparatus according to
the second storage unit is a storage device for which a protective measure for protecting stored information is taken.
9. The information processing apparatus according to
the second storage unit is a storage device for which a protective measure for protecting stored information is taken.
10. The information processing apparatus according to
11. The information processing apparatus according to
12. The information processing apparatus according to
13. The information processing apparatus according to
14. The information processing apparatus according to
15. The information processing apparatus according to
16. The information processing apparatus according to
17. The information processing apparatus according to
18. The information processing apparatus according to
19. The information processing apparatus according to
20. The information processing apparatus according to
|
This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2015-013762 filed Jan. 27, 2015.
(i) Technical Field
The present invention relates to an information processing apparatus and a method for preserving data.
(ii) Related Art
Some information processing apparatuses have a function called hibernation. Hibernation is a function of saving, upon power-down of an information processing apparatus, information indicating the operation state of the information processing apparatus, such as a memory image, stored in the main memory, on a nonvolatile storage device, and restoring, upon next startup, the operation state of the information processing apparatus to the state before power-down by using the information saved on the nonvolatile storage device. A state where an information processing apparatus is powered down while using the hibernation function (state where information about the operation state of the information processing apparatus before power-down is saved so that, upon next startup, the operation state is restorable to the state before power-down) is called a hibernation state.
On an information processing apparatus that has transitioned to the hibernation state, information about the operation state of the information processing apparatus before power-down (hereinafter referred to as restoration information) is saved on a nonvolatile storage device. Accordingly, information processed by the information processing apparatus before power-down may be obtained from the restoration information saved on the nonvolatile storage device.
According to an aspect of the invention, there is provided an information processing apparatus including a controller, a first storage unit, a second storage unit, and a classification unit. The controller stores pieces of information retained in a memory on a nonvolatile storage device and, upon startup, makes the information processing apparatus return to a state before power-down by using the pieces of information stored on the nonvolatile storage device. The first storage unit is part of the nonvolatile storage device and stores at least some pieces of information among the pieces of information retained in the memory. The second storage unit is part of the nonvolatile storage device and stores pieces of information different from the pieces of information stored on the first storage unit among the pieces of information retained in the memory. The classification unit classifies the pieces of information retained in the memory in accordance with a predetermined condition. In the information processing apparatus, the controller stores the pieces of information retained in the memory on the first storage unit or on the second storage unit in accordance with classification performed by the classification unit.
An exemplary embodiment of the present invention will be described in detail based on the following figures, wherein:
Hereinafter, an exemplary embodiment of the present invention will be described in detail with reference to the attached drawings.
The information processing apparatus according to this exemplary embodiment has a hibernation function (function of transitioning to a hibernation state) in a case of not being used for an extended period. This exemplary embodiment is applicable to personal computers, image forming apparatuses, such as printers and copying machines, and other various information processing apparatuses.
As illustrated in
Note that
The main memory 110 is a volatile memory, and content stored therein is lost upon power-down. As the main memory 110, a random access memory (RAM) is used, for example. In the main memory 110, a program (process) executed by the processing device 140 is retained. The program is stored on an external storage device, such as a magnetic disk device, is copied from the external storage device to the main memory 110, and is executed by the processing device 140. The main memory 110 is also used as a work memory that retains data temporarily generated in the course of an arithmetic process performed by the processing device 140. Information, such as the program code and data, retained in the main memory 110 is preserved on a nonvolatile storage device as restoration information (hibernation image) when the information processing apparatus 100 transitions to the hibernation state.
The first nonvolatile storage device 120 is a storage device on which restoration information obtained from the main memory 110 is saved when the information processing apparatus 100 transitions to the hibernation state, and functions as a first storage unit. As the first nonvolatile storage device 120, a nonvolatile storage device, such as a magnetic disk device (hard disk drive (HDD)), a solid state drive (SSD), or a flash memory, is used, for example. The external storage device that stores the program may be used as the first nonvolatile storage device 120. As described below, restoration information saved on the first nonvolatile storage device 120 is information (hereinafter also referred to as general information) that is determined not to be highly confidential in this exemplary embodiment.
The second nonvolatile storage device 130 is a storage device on which restoration information obtained from the main memory 110 is saved when the information processing apparatus 100 transitions to the hibernation state, and functions as a second storage unit. As the second nonvolatile storage device 130, a nonvolatile storage device, such as a magnetic disk device (HDD), an SSD, or a flash memory, is used, for example. Unlike the first nonvolatile storage device 120, however, the second nonvolatile storage device 130 is provided with a protective unit for maintaining the confidentiality of information stored thereon. Specifically, as the second nonvolatile storage device 130, a nonvolatile storage device for which a measure for increasing security against unauthorized reading is taken, such as a storage device having an encryption function or a password locking function, or an on-board memory (memory directly mounted on a board), is used, for example. By using such a highly secure nonvolatile storage device as the second nonvolatile storage device 130, even if the second nonvolatile storage device 130 is removed without authorization, information stored on the removed second nonvolatile storage device 130 is not read in an unauthorized manner. If the second nonvolatile storage device 130 is an on-board memory, it is difficult to remove the on-board memory. As a matter of course, plural measures for increasing security may be combined and applied to a storage device that implements the second nonvolatile storage device 130. As described below, restoration information saved on the second nonvolatile storage device 130 is information (hereinafter referred to as confidential information) that is determined to be highly confidential in this exemplary embodiment.
The classification unit 141 obtains, when the information processing apparatus 100 transitions to the hibernation state, the program code and data that are used as restoration information from the main memory 110. The classification unit 141 classifies each piece of restoration information (program code and data) that has been obtained as restoration information to be saved on the first nonvolatile storage device 120 or restoration information to be saved on the second nonvolatile storage device 130. Here, the classification unit 141 saves restoration information that includes highly confidential data (confidential information) on the second nonvolatile storage device 130, and saves other restoration information (general information) on the first nonvolatile storage device 120. In other words, the classification unit 141 determines whether restoration information obtained from the main memory 110 is confidential information or general information.
The classification unit 141 determines whether data included in the restoration information obtained from the main memory 110 is highly confidential data by determining whether a process (execution program) for processing the data satisfies any of the specific conditions described below, for example:
(1) the process is locked to the memory;
(2) the process reads a file for which a protective measure is taken; and
(3) the process has a specific privilege relating to data protection.
The condition “the process is locked to the memory” described in (1) corresponds to a function of locking a page in virtual address space allocated to the process to a physical memory (main memory 110). This function is implemented by using a system call, such as “mlock”, that is available in various operating systems (OSs), such as Linux (registered trademark), for example. Data written to the page that is locked to the physical memory is not moved from the physical memory. Accordingly, the data is assumed to be data of high importance, and the classification unit 141 determines the data to be highly confidential data in this exemplary embodiment. This determination is based on a condition attached to the process. It is possible to determine whether the process is locked to the memory by referring to a flag of a management structure of the process or of a page management structure, for example.
The condition “the process reads a file for which a protective measure is taken” described in (2) corresponds to a state where data loaded into the main memory 110 in the process is a file for which some protective measure is taken. Specifically, a file in a file system that is encrypted (encrypted file system), a file read from an encrypted memory device, a file protected by a specific policy of Security-Enhanced Linux (SELinux) used in Linux, and the like are files for which some protective measure is taken. In this exemplary embodiment, the classification unit 141 determines theses files for which a protective measure is taken as highly confidential data. This determination is based on a location where the file is stored before the file is loaded into the main memory 110. Note that the measures described above are merely examples of a protective measure. A file determined to be highly confidential data in this exemplary embodiment is not limited to a file for which any of the above-described specific measures is taken. It is possible to determine whether a protective measure is taken for a file by making an inquiry to a process management module of the information processing apparatus, for example.
In the condition “the process has a specific privilege relating to data protection” described in (3), “specific privilege” is a privilege based on Portable Operating System Interface for Unix (POSIX) capabilities, such as Linux kernel capabilities, for example. In this exemplary embodiment, the classification unit 141 determines data that is loaded into the main memory 110 in a process having such a specific privilege to be highly confidential data. This determination is based on a condition attached to the process. It is possible to determine whether the process has a specific privilege by referring to a flag of a management structure of the process or of a page management structure, for example.
In this exemplary embodiment, data that is loaded into the main memory 110 in a process that satisfies a specific condition as described above is determined to be highly confidential data, and restoration information (confidential information) that includes the highly confidential data is saved on the second nonvolatile storage device 130. Other restoration information (general information) is saved on the first nonvolatile storage device 120. Although examples of the specific condition are listed above, concrete conditions that are applied as the specific condition are not limited to the above-described examples.
The save control unit 142 reads the program code and data from the main memory 110 when the information processing apparatus 100 transitions to the hibernation state, and stores (preserves) the program code and data on a nonvolatile storage device as restoration information. In this exemplary embodiment, the save control unit 142 that functions as the controller saves restoration information that is obtained from the main memory 110 and that is confidential information on the second nonvolatile storage device 130 in accordance with classification performed by the classification unit 141. Further, the save control unit 142 saves restoration information that is obtained from the main memory 110 and that is not confidential information but general information on the first nonvolatile storage device 120.
The return control unit 143 reads, when the information processing apparatus 100 is started up from the hibernation state, restoration information saved on the first nonvolatile storage device 120 and on the second nonvolatile storage device 130, and writes the restoration information to the main memory 110. By the return control unit 143 functioning as the controller, the information processing apparatus 100 returns to the state before a transition to the hibernation state.
As illustrated in
Next, the classification unit 141 of the processing device 140 determines whether the restoration information obtained in step S202 is confidential information (step S203). If the classification unit 141 determines that the restoration information is confidential information (Yes in step S203), the save control unit 142 of the processing device 140 saves the restoration information (confidential information) on the second nonvolatile storage device 130 (step S204). On the other hand, if the classification unit 141 determines that the restoration information is general information (No in step S203), the save control unit 142 saves the restoration information (general information) on the first nonvolatile storage device 120 (step S205).
Next, a modification of this exemplary embodiment will be described.
In the exemplary embodiment described above, the save control unit 142 saves restoration information that is determined by the classification unit 141 to be confidential information on the second nonvolatile storage device 130. Alternatively, the save control unit 142 may split confidential information and save part of the confidential information on the first nonvolatile storage device 120 and the remaining part of the confidential information on the second nonvolatile storage device 130.
In the case of splitting confidential information and saving part of the confidential information on the first nonvolatile storage device 120 and the remaining part of the confidential information on the second nonvolatile storage device 130, for at least the part of the confidential information that is to be saved on the first nonvolatile storage device 120, the save control unit 142 divides the part of the confidential information into sections so as to reduce information content and create an irreversible state. In doing so, it is not possible to restore the confidential information only from the part of the restoration information saved on the first nonvolatile storage device 120. As a result, the confidential information is kept confidential. Note that, for the part of the confidential information to be saved on the first nonvolatile storage device 120, a protective measure, such as encryption or access control using a password, may be taken before the part of the confidential information is stored on the first nonvolatile storage device 120.
Confidential information is split as described above in a case where the confidential information has a large amount of data that exceeds the storage capacity of the second nonvolatile storage device 130 or a predetermined threshold. Part of confidential information may be divided into sections so as to reduce information content and create an irreversible state regardless of the amount of data of the confidential information, the part of the confidential information that becomes irreversible may be saved on the first nonvolatile storage device 120, and the remaining part of the confidential information may be saved on the second nonvolatile storage device 130.
The foregoing description of the exemplary embodiment of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiment was chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6941219, | Sep 30 2003 | Detroit Diesel Corporation | Method for recreating valid calibration data for an engine control module |
7103718, | Sep 03 2002 | SAMSUNG ELECTRONICS CO , LTD | Non-volatile memory module for use in a computer system |
7293173, | Jul 13 1999 | Microsoft Technology Licensing, LLC | Methods and systems for protecting information in paging operating systems |
7669026, | Jul 05 2005 | KYNDRYL, INC | Systems and methods for memory migration |
7869453, | Dec 17 2004 | Maxlinear, Inc | Apparatus and method for data transfer |
8316102, | Jan 21 2005 | Panasonic Corporation | Relay device |
8438377, | Apr 17 2009 | Ricoh Company, Limited | Information processing apparatus, method and computer-readable storage medium that encrypts and decrypts data using a value calculated from operating-state data |
8819446, | Jun 26 2009 | International Business Machines Corporation | Support for secure objects in a computer system |
8904126, | Nov 16 2010 | GOOGLE LLC | System and method for performing a plurality of prescribed data management functions in a manner that reduces redundant access operations to primary storage |
9086971, | Apr 13 2012 | Lapis Semiconductor Co., Ltd. | Semiconductor device, confidential data control system, confidential data control method |
9152182, | Apr 15 2011 | Physical Optics Corporation | Reconfigurable mass data recording method and system |
20050228982, | |||
20090165081, | |||
20110225418, | |||
20120110343, | |||
20140032936, | |||
JP10105504, | |||
JP2005301576, | |||
JP2010267246, | |||
JP2014026374, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jul 03 2015 | TAKESHITA, ATSUSHI | FUJI XEROX CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 036210 | /0660 | |
Jul 29 2015 | Fuji Xerox Co., Ltd. | (assignment on the face of the patent) | / | |||
Apr 01 2021 | FUJI XEROX CO , LTD | FUJIFILM Business Innovation Corp | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 058287 | /0056 |
Date | Maintenance Fee Events |
Aug 10 2022 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 26 2022 | 4 years fee payment window open |
Aug 26 2022 | 6 months grace period start (w surcharge) |
Feb 26 2023 | patent expiry (for year 4) |
Feb 26 2025 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 26 2026 | 8 years fee payment window open |
Aug 26 2026 | 6 months grace period start (w surcharge) |
Feb 26 2027 | patent expiry (for year 8) |
Feb 26 2029 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 26 2030 | 12 years fee payment window open |
Aug 26 2030 | 6 months grace period start (w surcharge) |
Feb 26 2031 | patent expiry (for year 12) |
Feb 26 2033 | 2 years to revive unintentionally abandoned end. (for year 12) |