Abstract:
This invention is intended to make it unnecessary to introduce a backup-dedicated unit by utilizing a storage area provided in an existing computer (a POS unit, in particular), to compact, distribute and store backup data by introducing an encoder and a decoder to compact and expand data, and to also introduce a restore mechanism. After a content of a memory M 1  of a POS unit (POS 1 ) is compacted by an encoder C 1 , the content is split, distributed to and backed up in memories M 2  to M 5  of POS units (POS 2  to POS 5 ). If a fault occurs to the memory M 1  of the POS unit (POS 1 ), the respective pieces of data backed up in the POS units (POS 2  to POS 5 ) are combined, decoded by the decoder D 1  and restored in the memory M 1.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to a backup system for backing up data stored in a computer and a restore system therefor. More specifically, the present invention relates to a system for backing up the content of a memory in a POS (Point of Sales) unit, in another POS unit which is connected thereto through a network and a restore system corresponding to this backup system.  
           [0003]    2. Description of the Related Art  
           [0004]    As a conventional POS data backup system, there is known storage medium duplexing. In the duplexing, the same data is stored in two different locations to thereby decentralize fault risk.  
           [0005]    However, the conventional storage medium duplexing system for POS data has the following disadvantages.  
           [0006]    According to the storage medium duplexing, a hardware is added to a system to provide redundancy and thereby enhance the reliability of the system. If so, however, cost is doubled. In addition, if the number of POS terminals increases, cost is disadvantageously pushed up accordingly. Besides, if a hardware which has high reliability is employed and duplexing is performed to prevent a fault which rarely occurs, then cost, labor and the like are sometimes, disadvantageously wasted.  
         SUMMARY OF THE INVENTION  
         [0007]    It is an object of the present invention to make it unnecessary to introduce a backup-dedicated unit by utilizing the storage area of an existing computer (a POS unit, in particular) and to provide a computer data backup system and a restore system therefor which enable compacting, distributing and storing backup data by introducing an encoder and a decoder to compact and expand data and which also introduce a restore mechanism.  
           [0008]    The present invention can improve the fault tolerance of data held by a POS unit in a POS system.  
           [0009]    In FIG. 1, POS units POS 2  to POS 5 , which are connected to each other on a network, store and hold the content of the memory Ml of a POS unit POS 1  which is also connected to the POS 2  to POS 5  on the network, as M 1 - 2  to M 1 - 5  through the network, respectively. Controllers  1  to  5  prepared in the respective units POS 2  to POS 5  control the storage and holding of the content of the memory M 1 .  
           [0010]    Likewise, the content of the memory of the unit POS 2  is distributed to and backed up in the POS 1  and POS 3  to POS 5 . Namely, the content of the memory of one POS is backed up in the memories of the other POS units.  
           [0011]    In this case, if the memory content M 1  is stored as it is in the other memories, efficient storage capacity cannot be ensured. To prevent this, the content M 1  is compacted by an encoder C 1  which operates in the controller  1  and then distributed to the memories of the other POS units as M 1 - 2  to M 1 - 5 , respectively. At this moment, the content M 1  is encoded to satisfy the following expression:  
           Capacity of M 1 &gt;(capacity of M 1 - 2 )+(capacity of M 1 - 3 )+(capacity of M 1 - 4 )+(capacity of M 1 - 5 ).  
           [0012]    By doing so, even if a significant fault occurs to the memory M 1  in the unit POS 1  and the data of the memory M 1  is lost, the distributed data backed up in the other POS 2  to POS 5  can be restored by decoders D 2  to D 5 . Likewise, it is expected to ensure that the reliabilities of the POS 2  to POS 5  enhance.  
           [0013]    As stated above, according to the present invention, the data held in each POS unit is encoded, distributed to a plurality of other POS units and stored and backed up in the plurality of other POS units. Therefore, even if a fault occurs to one POS unit and the data in this POS unit is lost, it is possible to completely restore the data as long as the remaining POS units operate normally. Besides, by encoding the data of the POS unit using the encoder, it is possible to decrease data capacity.  
           [0014]    According to the first aspect of the present invention, there is provided a backup system for backing up data of computers connected to one another, comprising: split means for splitting source data stored in a first computer to a plurality of pieces of split data; and means for storing the respective pieces of split data in a plurality of second computers connected to the first computer.  
           [0015]    The backup system may further comprise means for compacting the source data stored in the first computer, and the split means may split the source data stored in the first computer after being compacted.  
           [0016]    The backup system may further comprise means for compacting the respective pieces of split data, and the respective pieces of split data may be stored in the plurality of second computers, after being compacted.  
           [0017]    In the backup system, each of the first and second computers may be a Point-of-Sales or POS unit.  
           [0018]    According to the second aspect of the present invention, there is provided a restore system for restoring data of a computer, comprising: means for reading a plurality of pieces of split data stored in a plurality of second computers; combining means for combining the plurality of pieces of read split data, and for restoring source data; and means for restoring the source data in a first computer connected to the plurality of second computers.  
           [0019]    In case of the restore system, the plurality of pieces of split data may be obtained by compacting and then splitting the source data, the restore system may further comprise means for expanding the compacted source data, and the compacted source data may be expanded and then restored in the first computer.  
           [0020]    In case of the restore system, the plurality of pieces of split data may be obtained by splitting and then compacting the source data, the restore system may further comprises means for expanding the plurality of pieces of compacted split data, and the plurality of pieces of compacted split data may be individually expanded and then combined.  
           [0021]    In the restore system, each of the first and the second computers may be a Point-Of-Sales or POS unit. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0022]    [0022]FIG. 1 is a block diagram showing the configuration of a backup method and a restore method according to the first embodiment of the present invention;  
         [0023]    [0023]FIG. 2 is the first conceptual view showing an operation for the backup method in the first embodiment of the present invention;  
         [0024]    [0024]FIG. 3 is the second conceptual view showing an operation for the backup method in the first embodiment of the present invention;  
         [0025]    [0025]FIG. 4 is a conceptual view showing an operation for the restore method in the first embodiment of the present invention;  
         [0026]    [0026]FIG. 5 is a flow chart showing the operation for the backup method in the first embodiment of the present invention;  
         [0027]    [0027]FIG. 6 is a flow chart showing the operation for the restore method in the first embodiment of the present invention; and  
         [0028]    [0028]FIG. 7 is a block diagram showing the configuration of a backup method and a restore method according to the second embodiment of the present invention. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0029]    The embodiments of the present invention will be described hereinafter in detail with reference to the drawings.  
         [0030]    [First Embodiment] 
         [0031]    Referring to FIG. 1, five POS units POS 1  to POS 5  connected to one another on a network are shown as the first embodiment of the present invention. Respective POS units include a controller which manages and controls POS data.  
         [0032]    The respective POS units include data storage areas (M 1  to M 5 ) and distributed storage control portions (controllers  1  to  5 ). Each controller n (where n=1, 2, . . . , 5) includes an encoder Cn which compacts data and a decoder Dn which expands the compacted data. Further, each controller n controls data to be distributed to and stored in the other POS units on the network.  
         [0033]    Referring to FIG. 2, a detailed configuration in which the data of the POS unit POS shown in FIG. 1 is distributed to and stored in the POS 2  to POS 5  is shown.  
         [0034]    In FIG. 2, the controller  1  compacts data M 1  held in the POS 1  using the encoder C 1 , and splits the compacted data to data M 1 - 2  to M 1 - 5 . The controller  1  transmits the data M 1 - 2  to M 1 - 5  thus compacted and split to the POS 2  to POS 5  through the network, respectively.  
         [0035]    If the POS unit POS 2  receives the data M 1 - 2 , the controller  2  of the POS 2  stores the data M 1 - 2  in the storage area M 2  of the POS 2 . Likewise, if the POS unit POSn receives the data M 1 -n, the controller n of the POSn stores the data M 1 -n in the storage area Mn of the POSn.  
         [0036]    [0036]FIG. 3 shows a state in which after the data of the POS 2  is reduced in size by an encoder C 2 , the data is split and the split data is stored in the POS 1  and POS 3  to POS 5 .  
         [0037]    Likewise, after the data of the POS 3  is reduced in size by an encoder C 3 , the data is split and the split data is stored in the POS 1 , POS 2 , POS 4  and POS 5 . After the data of the POS 4  is reduced in size by an encoder C 4 , the data is split and the split data is stored in the POS to POS 3  and POS 5 . After the data of the POS 5  is reduced in size by an encoder C 5 , the data is split and the split data is stored in the POS to POS 4 .  
         [0038]    That is, the data of one POS is backed up in the other POSs&#39; on the network. The encoders and decoders are constituted by hardware, software or a combination thereof.  
         [0039]    The distributed storage operation shown in FIG. 1 will next be described with reference to the flow chart shown in FIG. 5.  
         [0040]    Referring to FIG. 5, if data update occurs to the storage area Ml of the POS 1  (in step S 101 ), the controller  1  in the POS 1  detects the update and reduces and splits the data M 1  of the POS 1  to M 1 - 2 , M 1 - 3 , M 1 - 4  and M 1 - 5  using the encoder C 1  in the controller  1  (M 1 →M 1 - 2 , M 1 - 3 , M 1 - 4  and M 1 - 5 ).  
         [0041]    The encoders C 1  to C 5  are designed to satisfy the following expression:  
         Capacity of M 1 &gt;(capacity of M 1 - 2 )+(capacity of M 1 - 3 )+(capacity of M 1 - 4 )+(capacity of M 1 - 5 ).  
         [0042]    In this embodiment, the entire content of the storage area M 1  is compacted to Huffman codes to thereby create data M 1 ′. The data M 1 ′ is then split to M 1 - 2  to M 1 - 5  so that the respective pieces of split data are equal in size (in step S 102 ).  
         [0043]    The controller  1  transmits the split data M 1 - 2 , M 1 - 3 , M 1 - 4  and M 1 - 5  to the POS units POS 2 , POS 3 , POS 4  and POS 5  through the network, respectively (in step S 103 ).  
         [0044]    In the POS unit POS 2  which receives the split data M 1 - 2 , the controller  2  stores the split data M 1 - 2  in the storage area M 2  (in step S 104 ). Likewise, in the POS unit POSn which receives split data M 1 -n, the controller n stores the split data M 1 -n in the storage area Mn (in steps S 105  to S 107 ).  
         [0045]    A data restore processing if a data storage fault occurs to the POS unit POS 1  as shown in FIG. 4 will next be described with reference to the flow chart of FIG. 6.  
         [0046]    If a data fault occurs to the storage area M 1  of the POS 1  (in step S 201 ), the controller  1  detects the fault and notifies the POS 2 , POS 3 , POS 4  and POS 5  other than the POS 1  of the occurrence of the fault (in step S 202 ). Alternatively, the POS 1  to POS 5  may regularly perform polling with respect to one another and thereby check whether the other POS units are normal. If it is impossible to check that the POSn unit is normal and the other POS units cannot receive normal signals, i.e., receive time-out, then the other POS units may determine that a fault occurs to the POSn. The controller  2  of the POS 2  unit, which is notified of the occurrence of a fault to the POS 1  unit, transmits the data M 1 - 2  held in the storage area M 2  of the POS 2  to the controller  1  of the POS 1  (in step S 203 ). Likewise, the controller n of the POSn, which is notified of the occurrence of a fault to the POS 1 , transmits the data M 1 -n in the storage area Mn of the POSn to the controller  1  of the POS 1  (in steps S 204  to S 206 ).  
         [0047]    If receiving the data M 1 - 2  to M 1 - 5 , the controller  1  of the POS 1  combines the data M 1 - 1  to M 1 - 5  to create compact data M 1 ′, expands the compact data M 1 ′ using a decoder D 1  provided in the controller  1 , and thereby restores the data M 1  (in step S 207 ).  
         [0048]    [Second Embodiment] 
         [0049]    The second embodiment of the present invention is equal in basic configuration to the first embodiment. However, the second embodiment is characterized by the location of an encoder and a decoder. FIG. 7 shows the configuration of the second embodiment. In FIG. 7, the encoder and the decoder are integrally provided in a control server  1  on the network. If a distributed storage processing is performed as shown in FIG. 2, the encoder provided in the control server  1  is employed. If a restore processing is performed as shown in FIG. 4, the decoder provided in the control server  1  is employed. In addition, a controller  6  provided in the control server  1  detects a fault which occurs to each POS unit. In this embodiment, it is unnecessary to package an encoder and a decoder in each POS unit. Therefore, if there are many POS units, it is possible to advantageously reduce cost.  
         [0050]    As can be understood, in the second embodiment, the encoder and the decoder are centralized in one location of the control server. Therefore, the second embodiment has an advantage in that it is unnecessary to package a plurality of encoders and decoders in the respective POS units.  
         [0051]    While the backup system for backing up data of each POS unit has been described in the above embodiments, the present invention is not limited thereto but is also applicable to a system in which ordinary computers instead of POS units are connected to one another on the network.  
         [0052]    Moreover, while the data of each POS unit is split after being compacted in the above-stated embodiments, the present invention is not limited thereto. The data of each POS unit may be compacted after being split.  
         [0053]    As stated so far, the present invention exhibits the following advantages.  
         [0054]    The first advantage is as follows. The data stored in each POS unit is distributed to and stored in other POS units on the network. Due to this, even if a storage fault occurs to one POS unit, the data of the POS unit to which the fault occurs can be restored as long as the other POS units operate normally. In addition, since the POS data is distributed to and stored in a plurality of POS units, fault risk can be distributed, as well.  
         [0055]    The second advantage is as follows. The encoder and the decoder based on the principle of Huffman coding are employed to compact data which is to be distributed and stored. Due to this, it is unnecessary to provide so large storage areas necessary for backup. In addition, if the Huffman coding principle is not utilized but a stronger compact algorithm, e.g., a high-rate algorithm is employed, then it is possible to freely change the size of backup data (e.g., M 1 - 2  and M 1 - 3 ) to be held in other POS units. As a result, it is possible to ensure flexibility suited to the design policy of a system which pays attention to the reduction of backup capacity, a system which is required to perform a backup processing at high rate or the like.  
         [0056]    The third advantage is as follows. A memory capacity required for each POS unit to back up the data of the other POS units remains unchanged, irrespective of the number of the POS units. The reason is as follows. If it is assumed that the number of POS units connected to one another on the network is N, it suffices to back up data reduced to 1/(N−1) of the original data for each of (N−1) POS units.