WO2007105624A1 - データに情報を埋め込むための装置 - Google Patents

データに情報を埋め込むための装置 Download PDF

Info

Publication number
WO2007105624A1
WO2007105624A1 PCT/JP2007/054646 JP2007054646W WO2007105624A1 WO 2007105624 A1 WO2007105624 A1 WO 2007105624A1 JP 2007054646 W JP2007054646 W JP 2007054646W WO 2007105624 A1 WO2007105624 A1 WO 2007105624A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
information
block
unit
tape
Prior art date
Application number
PCT/JP2007/054646
Other languages
English (en)
French (fr)
Inventor
Satoshi Tohji
Norikazu Kobayashi
Original Assignee
International Business Machines Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation filed Critical International Business Machines Corporation
Priority to CN200780008472XA priority Critical patent/CN101401163B/zh
Priority to US12/282,165 priority patent/US7978427B2/en
Priority to EP07738131A priority patent/EP2006853A4/en
Priority to JP2008505108A priority patent/JP4808770B2/ja
Publication of WO2007105624A1 publication Critical patent/WO2007105624A1/ja

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers
    • G11B2220/95Serpentine format, wherein a single track or group of tracks traverses the tape plural times from one end to the other
    • G11B2220/956Linear tape open [LTO] format

Definitions

  • the present invention relates to an apparatus for embedding information in data without changing the contents of the data.
  • the quality of digital data (data) recorded on a tape medium such as a magnetic tape does not deteriorate even if the data is copied to another tape medium.
  • the general recording method of data on tape media is a rule that records data in a sequential manner along the direction of movement of the tape media, and the recorded data can be copied in sequence using another tape drive. It is also possible power. In other words, if the data is recorded sequentially and in order, simply copying it onto another tape medium makes it easy to create a copy of the original tape medium.
  • Patent Document 1 when data is divided into a plurality of data sets and recorded on a tape medium, information is embedded in the data by manipulating the distance between the data sets.
  • Patent Document 1 Japanese Unexamined Patent Application Publication No. 2004-145920
  • the technique for embedding information using the distance between data sets as in Patent Document 1 has room for further efficiency by improving the following points. That is, the increase in the amount of information to be embedded is a waste of the recording area as it is.
  • the present invention has been made in view of the circumstances as described above, and an object thereof is to efficiently embed information in data.
  • Another object of the present invention is to embed information while recording data effectively while using a storage area.
  • the information embedding device of the present invention includes an acquisition unit and a processing unit.
  • the acquisition unit acquires information to be embedded.
  • the processing unit repeats a specific process for a block determined based on the information among a plurality of blocks constituting the data, thereby repeating the process for the data determined based on the information. Embed that information.
  • Information can be embedded. If such an information embedding method is employed, other information can be written without affecting the recorded data at all.
  • the present invention can also be regarded as an apparatus for detecting data embedded as described above.
  • the information detection apparatus of the present invention includes an acquisition unit and a specification unit.
  • an acquisition part acquires the result of the specific process with respect to data.
  • the specifying unit specifies the information based on the number of times the specific process is repeated for a predetermined block among a plurality of blocks constituting the data obtained by analyzing the result. .
  • the data written in the recording medium is An example is a process of reading.
  • the embedded information is extracted when the data is read out, and based on this information, it is possible to specify the original tape, and to control and prevent copying.
  • the present invention can be understood as a method for embedding information in data.
  • the method of the present invention includes a step of acquiring information to be embedded, and a specific process for the block determined based on the information among a plurality of blocks constituting the data. And repeating the determined number of times.
  • the present invention can also be understood as a computer program that causes a computer to realize a predetermined function.
  • the computer program according to the present invention is based on a function for acquiring information to be embedded for a computer that performs specific processing on data, and the information among a plurality of blocks constituting the data. This function realizes a function of repeating a specific process for the determined block a predetermined number of times based on the information.
  • FIG. 1 is a diagram showing a configuration of a tape drive 10 to which the present exemplary embodiment is applied.
  • the tape drive 10 includes an interface 11, a buffer 12, and a recording channel 13. Further, it includes a tape 14a, a head 14b, linolees 14c and 14d, a cartridge 14e, a motor 15, and a controller 30.
  • the interface 11 communicates with the host 20.
  • the host 20 receives a command for instructing data writing to the buffer 12 and a command for instructing data writing from the buffer 12 to the tape 14a. These commands are also sent to host 20. Returns a response indicating whether the processing by has succeeded or failed.
  • the noffer 12 is a memory for storing data to be written to the tape 14a.
  • the buffer 12 stores the data sent from the interface 11 in units called data sets.
  • the recording channel 13 is a communication path used for writing data stored in the buffer 12 to the tape 14a.
  • the tape 14a is a tape medium used for recording data, and data passed through the recording channel 13 is written by the head 14b. Further, the tape 14a is repelled by the linole 14c and 14d, and along with the rotation of the linole 14c and 14d, in the longitudinal direction, from the linole 14c force to the linole 14d or from the reel 14d to the reel 14c. Moving.
  • the cartridge 14e may be configured to receive a force reel 14d, which is a container for receiving the reel 14c to which the tape 14a is attached.
  • the motor 15 rotates the reels 14c and 14d.
  • the controller 30 controls the overall operation of the tape drive 10. For example, according to the command received by the interface 11, the writing of data to the tape 14a is controlled. Further, it detects whether the writing of data to the tape 14 a is successful or unsuccessful, and returns the detection result to the host 20 via the interface 11.
  • the tape drive 10 records data on the tape 14a in accordance with the recording method defined as the third generation of LTO (Linear Tape-Open).
  • LTO Linear Tape-Open
  • IBM Hewlett-Packard
  • Seagate Technology currently Quantum
  • LTO user data transferred from the host 20 is first organized into units called data sets. Each data set is a unit called a sub data set. And written in order on the tape 14a.
  • FIG. 2 shows a state from the sub data set to the writing to the tape 14a.
  • the 64 data blocks shown as “Sub Data Set” in Figure 2 correspond to the 64 sub data sets that make up one data set.
  • Each sub-data set is accompanied by ECC (Error Correcting Code) for correcting data errors, although not shown in the figure.
  • ECC Error Correcting Code
  • Each sub-data set has 64 rows, and each row is a 480-byte data string.
  • FIG. 2 also shows a CQ recording image on the tape 14a.
  • the 16 write heads write CQ in order.
  • the combination of the first row of sub-data set 0 and the first row of sub-data set 1 is CQ0 and is recorded on track 0.
  • CQ1 is the sum of the first row of sub data set 2 and the first row of sub data set 3 and is recorded on track 1.
  • CQ2, 3, 4, ... ⁇ 15 are generated from the first row force of sub data set 4, 5,... ⁇ 31 and recorded in tracks 2, 3, 4, ..., 15, respectively. is doing. That is, 16 CQs are generated from the first row of 32 sub-data sets, and these are recorded at the same position in the longitudinal direction of the tape 14a on 16 tracks.
  • a set of CQs having the same recording position in the longitudinal direction on the tape 14a is called a CQ set.
  • CQ is arranged in the order of CQ0, 1, 2, ..., 15 according to the track number. This is for convenience of explanation. Normally, the position of the CQ in the CQ set is randomized.
  • each Codeword Pair has a “Codeword Pair H
  • Figure 3 shows the CQ format.
  • the two Codewor d Pairs that make up one CQ are shown in the figure as ⁇ First Codeword Pair '' and ⁇ Sec
  • Each of these Codeword Pairs has a 10-word Codeword Pair Header.
  • the Codeword Pair Header has a format as shown in the figure. That is, the 4-byte “Codeword Identifier” and 4
  • the Codeword Identifier includes the CQ set.
  • the CQ set is normally written continuously without a gap so that the recorded image force on the tape 14a in FIG. 2 is also divided.
  • the LTO is allowed to repeatedly write the CQ set.
  • the CQ set is written repeatedly until it is written correctly, although there is a standard upper limit on the number of times.
  • the CQ set is written correctly become. Otherwise, the data set itself containing the CQ set will not be written correctly. At this time, an incomplete CQ set continues on the tape 14a.
  • the read operation including Read While Write at the time of writing
  • the incomplete CQ set is sequentially overwritten in a buffer area (not shown) in the controller 30 and finally replaced with the last (which should have been written correctly). Therefore, no matter how many CQ sets exist, including incomplete ones, the last written CQ set will be read.
  • the information to be concealed is embedded by actively using such repetition of the CQ set in the LTO.
  • the rewriting of the CQ set used here was originally specified as an error recanolization method in the LTO.
  • the rewriting of the CQ set used here was originally specified as an error recanolization method in the LTO.
  • some tape drives cannot recognize that CQ set repetition is due to information embedding, and only appears to be CQ set repetition due to an error, and information embedding is not recognized.
  • one data set is recorded on tape 14a as 128 CQ sets from CQ set 0 to CQ set 1 27. That is, the recording images on the tape 14a are CQ set 0, CQ set 1, CQ set 2, CQ set 3,..., CQ set 126, and CQ set 127.
  • the recorded images on tape 14a are CQ set 0, CQ set 1, CQ set 2, CQ set 3, ..., CQ set M (l), CQ set M (2),... ⁇ CQ set M (N),... CQ set 126, CQ set 127.
  • M and N it is possible to specify M and N and embed completely different information from the recorded data in the data, or extract information embedded in the data It becomes.
  • the data sent from the host 20 is stored in the buffer 12 in units of data sets, and the CQ set generated from this data set is stored in another buffer area (not shown). To do.
  • FIG. 4 is a block diagram showing a functional configuration of the controller 30 that controls operations of embedding and extracting information.
  • the controller 30 includes a storage unit 31, an acquisition unit 32, a writing unit 33, a reading unit 34, and a specifying unit 35.
  • the storage unit 31 stores information to be embedded when data is recorded on the tape 14a.
  • at least two sets of integers are stored as information to be embedded.
  • One integer is the number of the CQ set to be repeated, and the other integer power is the number of times that CQ set is repeated.
  • the storage unit 31 can be composed of various recording media such as a semiconductor memory and a magnetic disk.
  • the acquisition unit 32 acquires the information stored in the storage unit 31, and holds it as correspondence information between the CQ set number and the number of times the CQ set is repeated.
  • the writing unit 33 writes the CQ set taken out from the buffer area (not shown) to the tape 14a via the recording channel 13. At that time, the same CQ set is repeated several times based on the information held by the acquisition unit 32.
  • the reading unit 34 reads the data recorded on the tape 14a through the recording channel 13. At that time, analyze which CQ set is written repeatedly.
  • the identifying unit 35 identifies information embedded in the data from the analysis result by the reading unit 34. In addition, based on the comparison result between the specified information and the information stored in the storage unit 31, processing for determining whether or not the read data can be used is performed.
  • the acquisition unit 32 acquires (M, N) from the storage unit 31 and generates correspondence information between the CQ set number and the number of repetitions of the CQ set.
  • CQ set M is written repeatedly N times to embed information, and other CQ sets are written only once unless an error occurs. Therefore, the acquiring unit 32 holds the number of times N for the CQ set number M and the number of times 1 for the CQ set numbers other than M.
  • FIG. 5 is a flowchart showing an operation example of the writing unit 33 in this case.
  • the writing unit 33 takes out a CQ set for a buffer area force (not shown) (step 101). Based on the extracted CQ set number, the number of times this CQ set is written and the upper limit of the number of times this CQ set is written are obtained (step 102).
  • the number of times can be obtained by searching the correspondence information held by the acquisition unit 32 using the CQ set number as a key. Specifically, if CQ set number M is used as a key, number N can be obtained from acquisition unit 32, and if CQ set number other than M is used as a key, number 1 can be obtained from acquisition unit 32. it can.
  • the upper limit value is determined by the writing unit 33 according to the number of times obtained here. Specifically, when the number is N, the upper limit is also N. This is because, even if an error occurs in the Nth write, the CQ set M must end the Nth write without performing the (N + 1) th write. On the other hand, when the number is 1, the upper limit value in the standard is adopted. CQ sets that are not used for information embedding are rewritten only by errors. Therefore, if errors occur continuously, it is only necessary to prevent rewriting exceeding the upper limit value in the standard. Since the number of writes has a standard upper limit, the number N of CQ set M writes must not exceed this standard upper limit. Must be adopted.
  • the writing unit 33 writes the CQ set from which the buffer area force has been extracted in Step 101 to the tape 14a via the recording channel 13 (Step 103).
  • 1 is added to the counter for counting the number of times the CQ set has been written (step 104).
  • the writing unit 33 determines whether or not the CQ set has been correctly written (step 105). In LTO, write is called “Read While Write”.
  • the data written by the read head is read by the read head located immediately behind to verify whether the data was written correctly. In other words, while performing a write operation, a read operation is also performed at the same time. In this way, the controller 30 verifies whether or not the writing has succeeded in CQ units, knows the information for each CQ in real time, and can control the writing operation. Therefore, it is possible to determine whether or not the CQ set can be written correctly.
  • step 105 the case where it is determined in step 105 that the CQ set has been correctly written will be described.
  • the writing unit 33 determines whether or not the number of times acquired in step 102 is reached (step 106). As a result, if the number of times has not been reached, the process returns to step 103. That is, in step 103, the same CQ set is written to the tape 14a again, and in step 104, 1 is added to the counter.
  • step 102 the number of times acquired in step 102 is “1”. Therefore, if the CQ set is written once, the determination result in step 106 is “Yes”, so steps 103 to 105 are not repeated.
  • step 106 If it is determined in step 106 that the counter value has reached the number of times acquired in step 102, the writing unit 33 determines whether or not there is a next CQ set. Step 107). As a result, if there is a next CQ set, the process proceeds to step 101, and if not, the process ends.
  • step 105 the case where it is determined in step 105 that the CQ set cannot be correctly written will be described. That is, it is a case where rewriting due to an error is performed.
  • the writing unit 33 determines whether or not the upper limit value acquired in the value power step 102 of the counter has been reached (step 108). As a result, if the upper limit has not been reached, the process returns to step 103. That is, in step 103, the same CQ set is written to the tape 14a again, in step 104, 1 is added to the counter, and in step 105, it is determined whether or not the data has been written correctly.
  • the repetition of these steps in the processing for CQ set M is a repetition caused by an error. This also constitutes a part of the repetition of the CQ set for embedding information.
  • the writing unit 33 makes a total of the CQ set including the one due to the error. It is possible to write N times.
  • the upper limit value in the standard is obtained. Therefore, if the write error of the CQ set continues, steps 103 to 105 are repeated until the write count reaches the upper limit value in the standard.
  • step 108 If the determination result in step 108 becomes “Yes” before the determination result in step 106 becomes “Yes”, the process proceeds to an existing error recovery procedure.
  • step 108 The case where the judgment result in step 108 is “Yes” is that an error has occurred in the Nth writing of CQ set M.
  • the writing unit 33 stops writing the data set including this CQ set, and writes this data set to another position on the tape 14a again.
  • errors may occur continuously and rewriting due to the error may exceed the upper limit in the standard.
  • the LTO allows the tape 14a to be slightly skipped, avoiding the defective part of the tape 14a, and rewriting the data set itself. Therefore, such an existing error-related procedure is used.
  • FIG. 6 is a flowchart showing the operation of the reading unit 34 in this case.
  • the reading unit 34 reads the CQ set from the tape 14a via the recording channel 13 (step 111). Then, it is determined whether the CQ set has been read correctly (step 112).
  • the process ends there. If it is determined that the CQ set has been read correctly, the CQ set number is identified (step 113). . Then, 1 is added to the counter for the CQ set number (step 11 4). For example, for each CQ set number, set up an area to store the counter that indicates the number of times the CQ set with that number was read, and count up the counter in the area corresponding to the number of the current CQ set.
  • the correspondence between the CQ set number and the number of repetitions of the CQ set can be obtained.
  • the correspondence is passed to the specifying unit 35.
  • the identifying unit 35 obtains the correspondence between the CQ set number and the number of repetitions of the CQ set.
  • some repetitions of CQ sets include those resulting from errors beyond just the purpose of embedding information.
  • the specifying unit 35 can specify the information embedded in the data recorded on the tape 14a based on the set of integers (M, N) stored in the storage unit 31.
  • the specifying unit 35 pays attention to the number of repetitions NO of the CQ set M, and extracts an integer set (M, NO) as embedded information. Then, by determining whether NO matches N, for example, whether or not this data can be used is determined. In other words, if NO matches N, the data is read as it is and transferred to the host 20, and if NO does not match N, the data reading is stopped. As described above, in this embodiment, by writing the CQ set M N times repeatedly, the electronic permeability UM, N) that does not hold the user data itself in the data set can be obtained. It is possible to embed.
  • the acquisition unit 32 acquires (M, Nl, N2) from the storage unit 31, and generates correspondence information between the CQ set number and the CQ set repetition count candidate. That is, CQ set M is written repeatedly N1 times or N2 times to embed information. Other CQ sets are written only once unless an error occurs. Accordingly, the acquisition unit 32 holds the number of times N 1 and N2 for the CQ set number M and the number of times 1 for the CQ set numbers other than M.
  • FIG. 7 is a flowchart showing an operation example of the writing unit 33 in this case.
  • the writing unit 33 takes out a CQ set for a buffer area force (not shown) (step 121). Based on the extracted CQ set number, the number of times this CQ set is written and the upper limit value of the number of times this CQ set is written are obtained (step 122).
  • the number of times can be obtained by searching the correspondence information held by the acquisition unit 32 using the CQ set number as a key. If two times are held, the smaller one is acquired. Specifically, if the CQ set number M is used as a key, the number N1 can be obtained from the acquisition unit 32. If the CQ set number other than M is used as a key, the number 1 can be obtained from the acquisition unit 32. it can.
  • the upper limit value is determined by the writing unit 33 according to the number of times obtained here. Specifically, when the number is N1, the upper limit is also N1. In this operation example, N1 is the first write. If an error occurs, change the number of times and the upper limit to N2. However, this N2 is acquired in step 130 described later, and here, N1 is acquired as the initial value of the number of times and the upper limit value. On the other hand, when the number is 1, the upper limit value in the standard is adopted. Information Not used for embedding! /, CQ sets are rewritten only by errors. Therefore, when errors occur continuously, it is only necessary to prevent rewriting exceeding the upper limit value in the standard. Since there is an upper limit value in the standard for the number of writes in this way, a value that does not exceed the upper limit value in this standard is adopted as the larger value N2 of the number of times the CQ set M is written. There is a need.
  • the writing unit 33 writes the CQ set from which the buffer area force has been extracted in Step 121 to the tape 14a via the recording channel 13 (Step 123). In addition, 1 is added to the counter for counting the number of times the CQ set has been written (step 124).
  • the writing unit 33 determines whether or not the CQ set has been correctly written (step 125).
  • the writing unit 33 determines whether or not the number of times acquired in step 122 is reached (step 126). As a result, if the number of times has not been reached, the process returns to step 123. That is, in step 123, the same CQ set is written to the tape 14a again. In step 124, 1 is added to the counter.
  • step 122 the number of times acquired in step 122 is “1”. Therefore, if the CQ set is written once, the determination result in step 126 is “Yes”, so steps 123 to 125 are not repeated.
  • step 126 the value of the counter has reached the number acquired in step 122. If it is determined, the writing unit 33 determines whether there is a next CQ set (step 127). As a result, if there is a next CQ set, the process proceeds to step 121. If not, the process ends.
  • step 125 the case where it is determined in step 125 that the CQ set could not be correctly written will be described. That is, it is a case where rewriting due to an error is performed.
  • the writing unit 33 determines whether or not the upper limit value acquired in the value power step 122 of the counter has been reached (step 128). As a result, if the upper limit has not been reached, the process returns to step 123. That is, in step 123, the same CQ set is written to the tape 14a again. In step 124, 1 is added to the counter.
  • the repetition of these steps in the processing for CQ set M is a repetition caused by an error. This also constitutes a part of the repetition of the CQ set for embedding information.
  • the writer 33 performs a total of the CQ set including those due to the error. It can be written N1 times.
  • step 128 If it is determined in step 128 that the upper limit has been reached, the writing unit 33 determines whether the number of times and the upper limit can be changed (step 129).
  • Step 1 if it is determined that it can be changed, the number of times and the upper limit value are changed.
  • N1 if the number of times and the upper limit at that time are N1, it is determined that N1 can be changed to N2, and the number of times and the upper limit are set to N2.
  • a determination can be made using, for example, a flag indicating whether or not the number of times and the upper limit have been changed. That is, in the initial state, the flag is set to “0” and the number of times and the upper limit value are changed. Set the flag to "1".
  • step 129 if the flag is set to “0”, it is determined that the number of times and the upper limit value can be changed. If the flag force is set to “l”, the number of times and the upper limit value are changed further. Judge that you can't! ,.
  • the number of times and the upper limit after the change in step 130 can be obtained by searching the correspondence information held by the acquisition unit 32 using the CQ set number as a key. Specifically, the number of times N2 can be obtained by searching using the CQ set number M as a key.
  • step 123 the same CQ set is written to the tape 14a again.
  • step 124 1 is added to the counter. If it is determined in step 125 that the data has been written correctly, it is determined in step 126 whether the counter value has reached the number of times after the change, and if it is determined in step 125 that the power has not been written correctly. In step 128, it is determined whether the counter value has reached the upper limit after the change.
  • step 128 If the determination result in step 128 is "Yes” before the determination result in step 126 is "Yes”, the determination result in step 129 is "No". Therefore, move to the existing error recovery procedure.
  • step 128 The case where the judgment result in step 128 is “Yes” is when an error occurs in the N2nd writing of CQ set M.
  • the writing unit 33 stops writing the data set including the CQ set, and writes the data set to another position on the tape 14a again.
  • the reading unit 34 performs the same operation as shown in FIG. That is, the correspondence between the CQ set number and the number of repetitions of the CQ set is acquired and passed to the specifying unit 35.
  • the specifying unit 35 is embedded in the data recorded on the tape 14a based on the first set of integers (M, N1) and the second set of integers (M, N2) stored in the storage unit 31. Identify the information
  • the specifying unit 35 pays attention to the number of repetitions NO of the CQ set M, and extracts an integer set (M, NO) as embedded information. Then, whether or not this data can be used is determined, for example, by determining whether or not the power of NO matches N1 or N2. That is, if NO matches N1 or N2, the data is read as it is and transferred to the host 20, and if NO matches neither SN1 nor N2, the data reading is stopped.
  • the CQ set M is repeatedly written N1 times. If an error occurs in the N1th writing, the number of repetitions is changed to N2. As a result, the process of embedding electronic transparency without modifying the user data itself in the data set can be performed more efficiently.
  • the data set including the CQ set is rewritten in a larger unit. In this operation example, it is possible to continue the process for embedding information without rewriting the data set.
  • the embedded! /, Information has been described as simply an integer combination (M, N).
  • M integer combination
  • N an operation such as re-reading performed in a normal reading operation may be activated.
  • M and N are composed of prime numbers.
  • the embedded force! / The force that causes the initial force to appear as a set of integers (M, N) or the like as information is not limited to such a form. For example, if the information you want to embed is a string of numbers, perform some operation on it to obtain an integer pair (M, N), then Such processing may be performed.
  • an electronic watermark is applied to any part of the data recorded on the tape 14a (
  • “Volume Serial” for distinguishing the tape and header information for writing information on the tape are often written in the head area of the tape.
  • user data is often separated by a plurality of special symbols called “File Marks”. Therefore, for example, the information may be embedded by the method of the present embodiment only when writing the head area of the tape or the file mark. With this configuration, waste of tape capacity can be reduced as compared with the case where information is embedded in all data sets.
  • the application Normally, when a tape medium is mounted, the application performs a Rewind operation. At this time, the LTO standard drive reads a special data set called FID written in the head area of the tape medium. After the Rewind operation is completed, it is concealed in the data set group following the FID, and based on the information, whether to execute the Read command or Write command that will be issued next is determined. It can be said that it is possible.
  • the File Mark is written as a delimiter of user data.
  • the application searches for data using the file mark as a clue.
  • the data set that includes the File Mark is read sequentially.
  • a data set including header information for each user data following the File Mark is also read.
  • control such as reading prohibition for each user data can be considered.
  • an information embedding method that is sufficiently effective for a tape format such as LTO without copy control is provided.
  • the method of the present embodiment is also much more efficient than the method described in Patent Document 1, for example.
  • the minimum unit for controlling the distance is often 1LPOS.
  • information can be embedded in units of 1 CQ.
  • the data is in blocks and each block can be identified as unique. In other words, it must be numbered.
  • FIG. 8 is a block diagram showing a configuration of a computer system for realizing information embedding by “retransmitting the M-th block N times” in this way.
  • this computer system includes a transmission device 40 and a reception device 50.
  • the transmission device 40 includes a storage unit 41, an acquisition unit 42, and a transmission unit 43.
  • the storage unit 41 stores information to be embedded when transmitting data to the receiving device 50.
  • at least two sets of integers are stored as information to be embedded.
  • One integer is the number of the block to be retransmitted, and another integer is the number of times to repeat the transmission of that block.
  • the storage unit 41 can be configured by various recording media such as a semiconductor memory and a magnetic disk.
  • the acquisition unit 42 acquires the information stored in the storage unit 41, and holds it as correspondence information between the number of the block to be transmitted and the number of times the block transmission is repeated.
  • the transmission unit 43 transmits blocks constituting data to be transmitted to the reception device 50. At that time, the same block is repeated several times based on the information held by the acquisition unit 42.
  • the receiving device 50 includes a storage unit 51, a receiving unit 52, and a specifying unit 53.
  • the storage unit 51 stores information that should be embedded in the transmitted data. It is.
  • the storage unit 51 can be composed of various recording media such as a semiconductor memory and a magnetic disk.
  • the receiving unit 52 receives data transmitted by the transmission device 40. At that time, it analyzes which block is written and how many times.
  • the identifying unit 53 identifies the information embedded in the data from the analysis result by the receiving unit 52. Further, based on the comparison result between the specified information and the information stored in the storage unit 51, a process for determining whether or not the received data can be used is performed.
  • the computer system embeds information in the data by performing the same operation as that of the controller 30.
  • the acquisition unit 42 acquires information stored in the storage unit 41, and then the transmission unit 43 is the same as that shown in the flowchart shown in FIG. 5 or FIG. Perform the action. Specifically, in Fig. 5 or Fig. 7, replace “CQ Set” with “Block” and replace “Write” and “Can you write” with “Send” and “Can you send?" This is a flow of operation by the transmission unit 43.
  • the receiving unit 52 performs an operation similar to that shown in the flowchart shown in FIG. Specifically, in FIG. 6, “CQ set” is read as “block”, and “read” and “read?” Are read as “receive” and “received?” Respectively. This is a flow of operation by the receiving unit 52.
  • the specifying unit 35 specifies information embedded in the received data, and determines whether or not the received data can be used based on a comparison between the information and the information stored in the storage unit 51.
  • this embodiment can be regarded as “performing N times for the Mth block” in consideration of general data processing.
  • FIG. 9 is a block diagram showing a functional configuration of the data processing device 60 for realizing information embedding by performing “processing N times for the Mth block”.
  • the data processing device 60 includes a storage unit 61, an acquisition unit 62, a processing unit 63, a result acquisition unit 64, and a specification unit 65.
  • the storage unit 61 stores information to be embedded when performing predetermined processing on data.
  • the information to be embedded at least two sets of integers are stored. Yes. One integer is the number of the block to be iterated, and the other integer is the number of times the process is repeated for that block.
  • the storage unit 61 can be composed of various recording media such as a semiconductor memory and a magnetic disk.
  • the acquisition unit 62 acquires information stored in the storage unit 61 and stores it as correspondence information between the block number and the number of times the block is repeated.
  • the processing unit 63 performs predetermined processing on the given data. At that time, the same block is repeated several times based on the information held by the acquisition unit 62.
  • the result acquisition unit 64 acquires the result of the processing by the processing unit 63. At that time, it analyzes how many times processing is repeated for which block.
  • the identification unit 65 identifies the information embedded in the data from the analysis result obtained by the result acquisition unit 64. Further, based on the comparison result between the specified information and the information stored in the storage unit 61, a process for determining whether or not the process result can be used is performed.
  • the data processing device 60 embeds information in the data by performing the same operation as the controller 30.
  • the acquisition unit 62 acquires information stored in the storage unit 61, and then performs the same operation as that shown in the flowchart shown in FIG. 5 or FIG. Specifically, in Fig. 5 or Fig. 7, "CQ set” is read as “Block”, and “Write”, "Can you write? J” are read as “Process” and “Can you process?" This is an operation flow by the processing unit 63.
  • the result acquisition unit 64 performs the same operation as that shown in the flowchart shown in FIG. Specifically, in Figure 6, “CQ Set” is read as “Block”, and “Read” and “Can you read?” Are read as “Acquire Result” and “Has Result Obtained” respectively.
  • the actual flow of operations by the result acquisition unit 64 is as follows. Thereafter, the identifying unit 65 identifies information embedded in the received data, and determines whether or not the received data can be used based on a comparison between the information and the information stored in the storage unit 61. To do.
  • the information stored in the storage unit 61 may be given from an external host via a communication interface, or conversely, may be notified to an external host via a communication interface.
  • the information may be generated and given by a predetermined method outside the data processing device 60, or may be generated by a predetermined method inside the data processing device 60.
  • the present invention may be realized entirely by hardware, or may be realized entirely by software. It can also be realized by both hardware and software. Further, the present invention can be realized as a computer, a data processing system, and a computer program. This computer program may be stored and provided on a computer readable medium.
  • the medium may be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (apparatus or equipment), or a propagation medium.
  • Computer-readable media include semiconductors, solid state storage devices, magnetic tape, removable computer diskettes, and random access memory (RA).
  • FIG. 1 is a block diagram showing a configuration of a tape drive to which an embodiment of the present invention is applied.
  • FIG. 2 is a diagram showing a state from sub-data set to writing to tape in LTO which is a premise of the embodiment of the present invention.
  • FIG. 3 is a diagram showing a CQ format in LTO which is a premise of the embodiment of the present invention.
  • FIG. 4 is a diagram showing a functional configuration of a controller in the embodiment of the present invention.
  • FIG. 5 is a flowchart showing a first operation example of a writing unit in the controller of the embodiment of the present invention.
  • FIG. 6 is a flowchart showing an operation example of a reading unit in the controller according to the embodiment of the present invention.
  • FIG. 7 shows a second operation example of the writing unit in the controller according to the embodiment of the present invention. It is a flowchart.
  • FIG. 8 is a diagram showing another configuration example of the embodiment of the present invention.
  • FIG. 9 is a diagram showing another configuration example of the embodiment of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】データを記録する際に、記憶領域を有効に利用しつつ、情報を埋め込む。 【解決手段】テープドライブにおけるコントローラ30は、埋め込みたい情報を記憶する記憶部31と、記憶部31に記憶された情報を取得する取得部32と、取得された情報に基づいて決定されたCQセットを、その情報に基づいて決定された回数繰り返して書き込む書込み部33と、情報が埋め込まれたデータを読み出す読出し部34と、読み出したデータに埋め込まれた情報を特定し、その情報と記憶部31に記憶された情報との比較に基づいて、読み出したデータの利用可否の決定等を行う特定部35とを備えている。

Description

明 細 書
データに情報を埋め込むための装置
技術分野
[0001] 本発明は、データの内容に変更を加えることなくデータに情報を埋め込むための装 置等に関する。
背景技術
[0002] 磁気テープ等のテープ媒体に記録されたデジタルデータ (データ)の品質は、その データが他のテープ媒体にコピーされたとしても落ちることはない。ところが、データ が記録されたテープ媒体がオリジナルのものである力コピーされたものであるかを識 別することは、現状でも困難である。一般的なテープ媒体におけるデータの記録方 式は、テープ媒体の進行方向に沿ってシーケンシャルに並べて記録する規定となつ ており、記録されたデータを順に他のテープドライブを利用してコピーすることが可能 だ力もである。つまり、データがシーケンシャルに順序良く記録されている場合、これ を単純に他のテープ媒体に写し取ることで、オリジナルのテープ媒体のコピーが容易 に作成できてしまうのである。
[0003] こうした事情から、データが記録されたテープ媒体がオリジナルである力コピーであ るかを識別できるようにする技術が望まれている。ここで、テープ媒体に記録されるデ ータの中には、その内容を改変できないものも多い。従って、データの内容に変更を 加えることなぐテープ媒体がオリジナルである力コピーであるかを識別するための情 報を埋め込む手法が提案されている (例えば、特許文献 1参照)。具体的には、この特 許文献 1では、データを複数のデータセットに分割してテープ媒体に記録する際に、 データセット間の距離を操作することで、データに情報を埋め込んで 、る。
[0004] 特許文献 1:特開 2004— 145920号公報
発明の開示
発明が解決しょうとする課題
[0005] し力しながら、特許文献 1のような、データセット間の距離を用いて情報を埋め込む 手法には、次の点を改善することで、更なる効率ィ匕の余地がある。 即ち、埋め込む情報の量的増加が、そのまま記録領域の無駄となるという点である
[0006] 本発明は、以上のような事情に鑑みてなされたものであって、その目的は、データ への情報の埋め込みを効率ィ匕することにある。
また、本発明の他の目的は、データを記録する際に、記憶領域を有効に利用しつ つ、情報を埋め込むことにある。
課題を解決するための手段
[0007] かかる目的のもと、本発明では、データを構成するブロックの繰り返しを利用して、 データに情報を埋め込むようにしている。即ち、本発明の情報埋め込み装置は、取 得部と、処理部とを含んでいる。このうち、取得部は、埋め込み対象の情報を取得す る。また、処理部は、データを構成する複数のブロックのうちのその情報に基づいて 決定されたブロックに対し、特定の処理を、その情報に基づいて決定された回数繰り 返すことにより、そのデータにその情報を埋め込む。
[0008] ここで、特定の処理としては、第一に、データを記録媒体へ書き込む処理が挙げら れる。その場合、特に、ブロックとして、 LTOのテープフォーマットに規定されている C Q(Codeword Quad)セットを採用し、特定の CQセットを特定回数書き直すことにより、 情
報を埋め込むことができる。このような情報の埋め込み手法を採用すれば、記録され るデータには全く影響を与えずに、別な情報を書き込むことが可能となる。
また、特定の処理としては、第二に、データをネットワークを介して送信する処理も 考えられる。
[0009] また、本発明は、上記のようにして埋め込まれたデータを検出する装置として捉える こともできる。その場合、本発明の情報検出装置は、取得部と、特定部とを含んでい る。このうち、取得部は、データに対する特定の処理の結果を取得する。また、特定 部は、その結果を解析することで得られる、データを構成する複数のブロックのうちの 所定のブロックに対して特定の処理が繰り返された回数に基づいて、その情報を特 定する。
[0010] ここで、結果を取得する処理としては、第一に、記録媒体へ書き込まれたデータを 読み出す処理が挙げられる。その場合、データの読み出し時に、埋め込まれた情報 が抽出され、これに基づいて、オリジナルテープの特定や、コピー制御や防止も可能 となる。
また、結果を取得する処理としては、第二に、データをネットワークを介して受信す る処理も考えられる。
[0011] 更に、本発明は、データに情報を埋め込むための方法として捉えることもできる。そ の場合、本発明の方法は、埋め込み対象の情報を取得するステップと、データを構 成する複数のブロックのうちのその情報に基づいて決定されたブロックに対し、特定 の処理を、その情報に基づ 、て決定された回数繰り返すステップとを含んで 、る。
[0012] 一方、本発明は、コンピュータに所定の機能を実現させるコンピュータプログラムと して捉えることもできる。その場合、本発明のコンピュータプログラムは、データに対し て特定の処理を行うコンピュータに対し、埋め込み対象の情報を取得する機能と、デ ータを構成する複数のブロックのうちのその情報に基づいて決定されたブロックに対 し、特定の処理を、その情報に基づいて決定された回数繰り返す機能とを実現させ るものである。
発明の効果
[0013] 本発明によれば、データへの情報の埋め込みを効率ィ匕することが可能となる。
発明を実施するための最良の形態
[0014] 以下、添付図面を参照して、本発明を実施するための最良の形態 (以下、「実施の 形態
」と 、う)につ!/、て詳細に説明する。
図 1は、本実施の形態が適用されるテープドライブ 10の構成を示した図である。こ のテープドライブ 10は、インタフェース 11と、バッファ 12と、記録チャネル 13とを含む 。また、テープ 14aと、ヘッド 14bと、リーノレ 14c及び 14dと、カートリッジ 14eと、モータ 15と、コントローラ 30とを含む。
[0015] このうち、インタフェース 11は、ホスト 20との通信を行う。例えば、ホスト 20力ら、バッ ファ 12へのデータの書込みを指示するコマンドや、バッファ 12からテープ 14aへのデ ータの書込みを指示するコマンドを受け取る。また、ホスト 20に対し、これらのコマンド による処理が成功したのか失敗したのかの応答を返す。
ノ ッファ 12は、テープ 14aに書き込むべきデータを蓄積するメモリである。例えば、 DRAM(Dynamic Random Access Memory)によって構成される。また、バッファ 12は 、インタフェース 11から送られたデータを、データセットと呼ばれる単位で格納してい る。
記録チャネル 13は、バッファ 12に蓄積されたデータをテープ 14aに書き出すため に用いられる通信経路である。
[0016] テープ 14aは、データを記録するために用いられるテープ媒体であり、記録チヤネ ル 13を介して渡されたデータがヘッド 14bによって書き込まれる。また、テープ 14aは 、リーノレ 14c及び 14dに卷力れ、これらの回転に伴!ヽ、リーノレ 14c力らリーノレ 14dの方 向へ、又は、リール 14dカゝらリール 14cの方向へ、長手方向に移動する。カートリッジ 14eは、テープ 14aが卷きつけてあるリール 14cを収容する容器である力 リール 14d を収容するものを設けてもょ 、。
また、モータ 15は、リール 14c及び 14dを回転させる。尚、図では、 1つの矩形でモ ータ 15を表している力 モータ 15としては、リール 14c及び 14dの各々に 1つずつ、 合計 2個設けるのが好ま 、。
[0017] 一方、コントローラ 30は、テープドライブ 10の全体動作を制御する。例えば、インタ フェース 11で受け付けたコマンドに従って、データのテープ 14aへの書込みを制御 する。また、データのテープ 14aへの書込みが成功したのか失敗したのかを検出し、 その検出結果をインタフェース 11を介してホスト 20に返す。
ところで、本実施の形態において、テープドライブ 10は、 LTO(Linear Tape-Open) の第 3世代として規定されて 、る記録方式に従って、テープ 14aにデータを記録する ものとする。尚、 LTOとは、 IBM,ヒューレットパッカード、シーゲイトテクノロジ( 現カンタム)の 3社が共同で策定したテープフォーマットの規格である。
[0018] そこで、まず、 LTOの第 3世代として規定されている記録方式について説明してお
<o
LTOでは、ホスト 20から転送されたユーザデータは、まず、データセットと呼ばれる 単位にまとめられる。そして、各データセットは、更にサブデータセットと呼ばれる単位 に分けられ、テープ 14aに順序良く書き込まれる。
図 2は、サブデータセットからテープ 14aへの書込みまでの様子を示した図である。 図 2に「Sub Data Set」として示した 64個のデータの塊が、 1つのデータセットを構 成する 64個のサブデータセットに相当する。尚、各サブデータセットには、図では明 示していないが、データの誤りを訂正するための ECC(Error Correcting Code)が付 カロされている。また、各サブデータセットは、 64行力もなり、各行は 480バイ トのデータ列である。
そして、この各行力 図 2に「Codeword Pair」として示したデータ単位
に相当する。この Codeword Pairは、 2つずつまとめられて「Codewo
rd Quad(CQ)」を構成し、この単位でテープ 14aに書き込まれる。
[0019] また、図 2は、テープ 14a上の CQの記録イメージについても示している。 LTOの第 3世代の場合、テープ 14a上には、記録領域として 16本のトラックがあり、 16本の書 込みヘッドが、 CQを順に書き込んでいく。
ここで、図 2では、サブデータセット 0の 1行目とサブデータセット 1の 1行目とを合わ せたものを CQ0とし、トラック 0に記録している。また、サブデータセット 2の 1行目とサ ブデータセット 3の 1行目とを合わせたものを CQ1とし、トラック 1に記録している。以 下同様に、サブデータセット 4、 5、…ゝ 31の 1行目力ら CQ2、 3、 4、…ゝ 15を生成し、 それぞれを、トラック 2、 3、 4、 · · ·、 15に記録している。つまり、 32個のサブデータセッ トの 1行目から 16個の CQが生成され、これらが、 16個のトラック上の、テープ 14aの 長手方向における同じ位置に記録されるのである。このようなテープ 14a上の長手方 向における記録位置が同じ CQの集合は、 CQセットと呼ばれる。
尚、図では、 CQセット 0内で、 CQは、トラック番号に応じて、順序良く CQ0、 1、 2、 · · ·、 15と配置されている力 これは、説明の便宜のためであり、通常、 CQセット内の CQの位置はランダマイズされる。
[0020] 以上により、 LTOの第 3世代において、 1つのデータセットから 4096(= 64 X
64)個の Codeword Pairが生成され、これが、 2048(=4096 ÷ 2)個の CQとなり、 1 28(= 2048 + 16)個の CQセットとなる。そこで、図でも、テープ 14a上に、 CQセット 0 力も CQセット 127までが記録されている様子を示している。尚、以下の説明では、 C Qセット Nの「N」のことを、「CQセット番号」と呼ぶこととする。
[0021] また、図 2には示さなかったが、 2つの Codeword Pairをまとめて 1つの
CQとする際に、各 Codeword Pairには、「Codeword Pair H
eader」が付カ卩される。そして、 CQは、この Codeword Pair Headerにより区別する ことが可能となる。そこで、 Codeword Pair Headerを含む CQのフォーマットについ ても説明しておく。
図 3は、 CQのフォーマットを示した図である。 1つの CQを構成する 2つの Codewor d Pairを、図では、「First Codeword Pair」、「Sec
ond Codeword Pair」と表記している。そして、これらの Codeword Pairのそれぞれ に、 10ノ ィ卜の Codeword Pair Header力付
加されている。
[0022] そして、この Codeword Pair Headerは、図示するようなフォーマットを有している 。即ち、 4バイトの「Codeword Identifier」と、 4
バイトの「Write Pass」と、 2バイトの「Header Parity」とを含んでいる。このうち、 Co deword Identifierの中には、 CQセットの
絶対的な書込み回数のカウンタである ACN(Absolute CQ Sequence Number)に加え 、 C
Qセットを識別するための情報も含まれている。つまり、この情報を参照することにより 、テープ 14aから読み出された CQが何番目の CQであるかを正確に知ることができる ようになつている。因みに、 Write Passは、データセットの単位での書き直し があった場合に、それらを区別するための情報であり、 Header Parityは、
Codeword Pair Headerについてのパリティデータである。
[0023] 以上が、 LTOの第 3世代として規定されている一般的なテープフォーマットである。
つまり、図 2のテープ 14a上の記録イメージ力らも分力るように、通常、 CQセットは、 隙間なく連続して書き込まれる。し力しながら、テープ 14a上の欠陥等によって CQセ ットを書き込めな力つた場合、 LTOでは、その CQセットを繰り返し書き込むことが許さ れている。この場合、 CQセットは、回数に規格上の上限はあるものの、正しく書き込 めるまで繰り返し書き込まれる。そして、最終的には、 CQセットは正しく書かれること になる。そうでないと、その CQセットを含むデータセット自体が正しく書かれたことに ならないからである。このとき、テープ 14a上には、不完全な CQセットが連続する。し かし、読出し動作 (書込み時の Read While Writeも含む)は、最後の CQセットは正 しく書けているものとして行われる。即ち、不完全な CQセットは、コントローラ 30内の 図示しないバッファ領域で、順次上書きされて行き、最終的には、最後の (正しく書け ているはずの) CQセットに置き換わる。従って、 CQセットが不完全なものを含めて幾 つ存在したとしても、最後に書き込まれた CQセットが読み出されることになるのである
[0024] そこで、本実施の形態では、 LTOにおけるこのような CQセットの繰り返しを積極的 に利用して、秘匿したい情報を埋め込む。即ち、特定の CQセットを特定の回数繰り 返し書き込むことで、データの内容には変更を加えずに情報を埋め込むのである。 尚、前述のように、ここで利用する CQセットの書き直しは、 LTOにおいて、本来、ェ ラーリカノ リの手法として規定されたものである。し力しながら、エラーが発生していな い場合にこれを積極的に利用して CQセットを繰り返し記録しても、規格上何ら問題と はならない。また、 CQセットの繰り返しが情報埋め込みのためであると認識できない テープドライブによっては、エラーに起因する CQセットの繰り返しに見えるだけであり 、情報の埋め込みが認識されることはない。
[0025] まず、このような CQセットの書き直しを利用した情報の埋め込みについて、具体例 を用いて概略を説明する。
CQセットの書き直しがない場合、 1つのデータセットは、 CQセット 0から CQセット 1 27までの 128個の CQセットとしてテープ 14aに記録される。即ち、テープ 14a上の記 録イメージは、 CQセット 0、 CQセット 1、 CQセット 2、 CQセット 3、…ゝ CQセット 126、 CQセット 127となる。
[0026] 一方、例えば、 CQセット 100で書き直しが 2回発生したとする。この場合、 CQセット 100については、 2個の不完全な CQセットと、それに続く 1個の正しい CQセットとが テープ 14aに記録されることになる。即ち、テープ 14a上の記録イメージは、 CQセット 0、 CQセット 1、 CQセット 2、 CQセット 3、…ゝ CQセット 99、 CQセット 100、 CQセット 1 00、 CQセット 100、 CQセット 101、…ゝ CQセット 126、 CQセット 127となる。但し、テ ープ 14aからのデータの読出し時には、最後に書かれた CQセット 100が選択される
[0027] ここで、 CQセット Mを N回繰り返して書き込むことを考える。この場合、テープ 14a 上の記録イメージは、 CQセット 0、 CQセット 1、 CQセット 2、 CQセット 3、 · ··、 CQセッ ト M(l)、 CQセット M(2)、…ゝ CQセット M(N)、…ゝ CQセット 126、 CQセット 127とな る。つまり、このような記録を行うことにより、 Mと Nを指定して、記録されるデータとは 全く別な情報をそのデータに埋め込んだり、データに埋め込まれた情報を抽出したり することが可能となる。
[0028] 以下、 CQセットの書き直しを利用した情報の埋め込み及び抽出について、具体的 に説明する。尚、ホスト 20から送られたデータは、データセットの単位でバッファ 12に 記憶されており、このデータセットから生成される CQセットは、図示しない別のバッフ ァ領域に記憶されて 、るものとする。
図 4は、情報の埋め込み及び抽出の動作を制御するコントローラ 30の機能構成を 示したブロック図である。
図示するように、コントローラ 30は、記憶部 31と、取得部 32と、書込み部 33と、読 出し部 34と、特定部 35とを備えている。
[0029] このうち、記憶部 31は、テープ 14aにデータを記録する際に埋め込みたい情報を 記憶する。ここで、埋め込みたい情報としては、少なくとも 2つの整数の組を記憶して いる。そのうちの 1つの整数が、繰り返しの対象となる CQセットの番号であり、別の整 数力 その CQセットを繰り返す回数である。尚、この記憶部 31は、半導体メモリや、 磁気ディスク等、種々の記録媒体によって構成することができる。
取得部 32は、記憶部 31に記憶された情報を取得し、 CQセットの番号と CQセットを 繰り返す回数との対応情報として保持する。
書込み部 33は、図示しないバッファ領域から取り出した CQセットを、記録チャネル 13を介してテープ 14aに書き込む。また、その際、取得部 32が保持する情報に基づ いて、同じ CQセットを何回か繰り返す。
読出し部 34は、テープ 14aに記録されたデータを、記録チャネル 13を介して読み 出す。また、その際、どの CQセットが何回繰り返して書かれているかを解析する。 特定部 35は、読出し部 34による解析結果から、データに埋め込まれていた情報を 特定する。また、特定された情報と、記憶部 31に記憶された情報との比較結果に基 づいて、読み出したデータの利用の可否を決定する処理等も行う。
[0030] 次に、本実施の形態におけるコントローラ 30の動作例について詳細に説明する。
[第 1の動作例]
この第 1の動作例では、(M, N)という整数の組力 記憶部 31に記憶されているもの とする。そして、取得部 32が、記憶部 31から (M, N)を取得し、 CQセット番号と CQセ ットの繰り返し回数との対応情報を生成しておく。即ち、 CQセット Mは、情報を埋め 込むために、 N回繰り返し書き込まれる力 それ以外の CQセットは、エラーが発生し ない限り、 1回だけ書き込まれる。従って、取得部 32は、 CQセット番号 Mに対しては 回数 Nを、 M以外の CQセット番号に対しては回数 1を対応付けて保持しておく。
[0031] 取得部 32がこのような対応情報を保持すると、書込み部 33が動作を開始する。
図 5は、この場合の書込み部 33の動作例を示したフローチャートである。 まず、書込み部 33は、図示しないバッファ領域力も CQセットを取り出す (ステップ 101)。そして、この取り出した CQセットの番号に基づいて、この CQセットを書き 込む回数と、この CQセットの書き込み回数の上限値とを求める (ステップ 102)。
[0032] ここで、回数は、取得部 32が保持する対応情報を、 CQセット番号をキーとして検索 することにより得ることができる。具体的には、 CQセット番号 Mをキーとすれば、取得 部 32から回数 Nを得ることができ、 M以外の CQセット番号をキーとすれば、取得部 3 2から回数 1を得ることができる。
また、上限値は、書込み部 33が、ここで得た回数に応じて決定する。具体的には、 回数が Nのときは、上限値も Nとする。 CQセット Mは、 N回目の書込みでエラーが発 生しても、(N+ 1)回目の書込みを行わず、 N回目で書込みを終了しなければならな いからである。これに対し、回数が 1のときは、規格上の上限値を採用する。情報埋め 込みのために用いられない CQセットは、エラーによってのみ書き直しが行われる。従 つて、エラーが連続して発生する場合は、規格上の上限値以上の書き直しが行われ ないようにすればよいからである。尚、このように書込み回数には規格上の上限値が あることから、 CQセット Mを書き込む回数 Nとしては、この規格上の上限値を超えな い数値を採用する必要がある。
[0033] 次に、書込み部 33は、ステップ 101でバッファ領域力も取り出した CQセットを、記 録チャネル 13を介してテープ 14aに書き込む (ステップ 103)。また、 CQセットを書き 込んだ回数を数えるためのカウンタに 1を加算する (ステップ 104)。
そして、書込み部 33は、 CQセットを正しく書き込めた力どうかを判定する (ステツ プ 105)。 LTOでは、「Read While Write」と呼ばれるように、書込
みヘッドで書かれたデータを、すぐ後ろに位置する読出しヘッドで読み出すことで、 そのデータが正しく書かれたかどうかを検証している。つまり、書込み動作を行いなが ら、同時に読出し動作も行っているのである。このように、コントローラ 30は、書込み が成功したかどうかを CQ単位で検証し、その CQごとの情報をリアルタイムで知り、書 込み動作を制御できるようになつている。従って、ここで CQセットを正しく書き込めた 力どうかを判定することができるのである。
[0034] ここでは、まず、ステップ 105で CQセットを正しく書き込めたと判定された場合につ いて説明する。
この場合、書込み部 33は、カウンタの値力 ステップ 102で取得した回数に達して いるかどうかを判定する (ステップ 106)。その結果、回数に達していなければ、ステツ プ 103に戻る。つまり、ステップ 103で、同じ CQセットを再度テープ 14aに書き込み、 ステップ 104で、カウンタに 1を加算し、ステップ 105で、正しく書き込めたかどうかを 判定する。
[0035] 尚、 CQセット Mに対する処理におけるこれらのステップの繰り返しは、情報を埋め 込むための CQセットの繰り返しに相当する。即ち、書込み部 33は、 CQセット Mを N 回書き込まなければならないので、ステップ 106で書込み回数が N回に達するまで、 これらのステップは繰り返される。
一方、 CQセット M以外の CQセットに対する処理において、ステップ 102で取得し た回数は「1」である。従って、 CQセットが 1回書き込まれれば、ステップ 106での判 定結果は「Yes」となるので、ステップ 103〜 105の繰り返しは起こらない。
[0036] そして、ステップ 106で、カウンタの値力 ステップ 102で取得した回数に達している と判定された場合、書込み部 33は、次の CQセットがあるかどうかを判定する (ス テツプ 107)。その結果、次の CQセットがあれば、ステップ 101へ進み、なければ 、処理を終了する。
[0037] 次に、ステップ 105で CQセットを正しく書き込めなかったと判定された場合につい て説明する。即ち、エラーに起因する書き直しを行う場合である。
この場合、書込み部 33は、カウンタの値力 ステップ 102で取得した上限値に達し ているかどうかを判定する (ステップ 108)。その結果、上限値に達していなければ、ス テツプ 103に戻る。つまり、ステップ 103で、同じ CQセットを再度テープ 14aに書き込 み、ステップ 104で、カウンタに 1を加算し、ステップ 105で、正しく書き込めたかどう かを判定する。
[0038] 尚、 CQセット Mに対する処理におけるこれらのステップの繰り返しは、エラーに起 因する繰り返しではある力 これも、情報を埋め込むための CQセットの繰り返しの一 部を構成する。即ち、情報埋め込みのための CQセットの書き直しの最中に、エラー に起因する CQセットの書き直しが起こることも考慮し、書込み部 33が、 CQセットを、 エラーに起因するものも含めてトータルで N回書き込むことができるようにしているの である。 一方、 CQセット M以外の CQセットに対する処理において、ステップ 102で は規格上の上限値を取得している。従って、 CQセットの書込みエラーが連続すれば 、書込み回数が規格上の上限値に達するまで、ステップ 103〜105は繰り返される。
[0039] そして、ステップ 106での判定結果が「Yes」になるよりも前に、ステップ 108での判 定結果が「Yes」になった場合は、既存のエラーリカノ リ手順に移行する。
尚、ステップ 108での判定結果が「Yes」になる場合とは、 CQセット Mの N回目の書 込みでエラーが発生した場合である。このような場合、書込み部 33は、この CQセット を含むデータセットの書込みを中止し、テープ 14a上の別の位置に再度このデータ セットの書込みを行う。例えば、品質の悪いテープを用いた場合、エラーが連続して 発生し、エラーに起因する書き直しが規格上の上限を超えてしまうこともあり得る。か 力る事態に備えて、 LTOでは、テープ 14aを少し空送りし、テープ 14aの欠陥部分を 避けて、データセット自体を書き直すことが許されている。そこで、このような既存のェ ラーリカノくリ手順を用いるのである。
[0040] このように、 CQセット Mを N回繰り返して書き込むことができるまで、既存のエラーリ 力バリ手順であるデータセットの書き直しを続ければ、与えられた (M, N)を確実に埋 め込むことが保証される。勿論、通常のエラーリカノリ手順で書き直すのであるから、 データの読出し時には何ら問題とはならない。
[0041] 次に、このような書込み部 33の動作に対応する読出し部 34の動作について説明 する。
図 6は、この場合の読出し部 34の動作を示したフローチャートである。
まず、読出し部 34は、テープ 14aから記録チャネル 13を介して CQセットを読み出 す (ステップ 111)。そして、 CQセットを正しく読み出せたかどうかを判定する (ス テツプ 112)。
ここで、 CQセットを正しく読み出せな力つたと判定された場合は、そこで処理を終了 するが、正しく読み出せたと判定された場合は、その CQセットの番号を特定する (ス ップ 113)。そして、その CQセットの番号に対するカウンタに 1を加算する (ステップ 11 4)。例えば、 CQセットの番号ごとに、その番号の CQセットを読み出した回数を 示すカウンタを格納する領域を設けておき、今回の CQセットの番号に対応する領域 におけるカウンタをカウントアップすればょ 、。
[0042] この処理を全ての CQセットについて行うことにより、 CQセット番号と CQセットの繰り 返し回数との対応が得られる。そして、その対応は、特定部 35に渡される。これ〖こより 、特定部 35は、 CQセット番号と CQセットの繰り返し回数との対応を取得することにな る。勿論、 CQセットの繰り返しの中には、情報の埋め込みを目的とするものだけでは なぐエラーに起因するものも含まれる。しかし、特定部 35は、記憶部 31に記憶され た整数の組 (M, N)に基づいて、テープ 14aに記録されたデータに埋め込まれた情 報を特定することができる。
具体的には、特定部 35は、 CQセット Mの繰り返し回数 NOに着目し、整数の組 (M , NO)を、埋め込まれた情報として抽出する。そして、 NOが Nと一致するかどうかを 判定することにより、例えば、このデータの利用の可否を決定する。即ち、 NOが Nと 一致すれば、データをそのまま読み出してホスト 20に転送し、 NOが Nと一致しなけれ ば、データの読み出しを中止する。 [0043] このように、本実施の形態では、 CQセット Mを N回繰り返して書き込むことにより、 データセット内のユーザデータ自体には全く手をカ卩えることなぐ電子透力 UM, N) を埋め込むことが可能となって 、る。
[0044] [第 2の動作例]
第 1の動作例では、 CQセット Mの N回目の書込みが失敗した場合、既存のエラーリ カノリ手順に従い、データセットを書き直すようにした。ところが、第 1の整数の組 (M, N1)が何らかの要因で実現できなつた場合に、第 2の整数の組 (M, N2)を実現する よ
うに、急遽動作を変更することも考えられる (但し、 N1 <N2)。
そこで、この第 2の動作例では、(M, N1)という第 1の整数の組と、 (M, N2)という第 2の整数の組と力 記憶部 31に記憶されているものとする。そして、取得部 32が、記 憶部 31から (M, Nl, N2)を取得し、 CQセット番号と CQセットの繰り返し回数の候補 との対応情報を生成しておく。即ち、 CQセット Mは、情報を埋め込むために、 N1回 又は N2回繰り返し書き込まれる力 それ以外の CQセットは、エラーが発生しない限 り、 1回だけ書き込まれる。従って、取得部 32は、 CQセット番号 Mに対しては回数 N 1及び N2を、 M以外の CQセット番号に対しては回数 1を対応付けて保持しておく。
[0045] 取得部 32がこのような対応情報を保持すると、書込み部 33が動作を開始する。
図 7は、この場合の書込み部 33の動作例を示したフローチャートである。 まず、書込み部 33は、図示しないバッファ領域力も CQセットを取り出す (ステップ 121)。そして、この取り出した CQセットの番号に基づいて、この CQセットを書き 込む回数と、この CQセットの書き込み回数の上限値とを求める (ステップ 122)。
[0046] ここで、回数は、取得部 32が保持する対応情報を、 CQセット番号をキーとして検索 すること〖こより得ることができる。尚、回数が 2つ保持されている場合は、そのうちの小 さい方を取得する。具体的には、 CQセット番号 Mをキーとすれば、取得部 32から回 数 N1を得ることができ、 M以外の CQセット番号をキーとすれば、取得部 32から回数 1を得ることができる。
[0047] また、上限値は、書込み部 33が、ここで得た回数に応じて決定する。具体的には、 回数が N1のときは、上限値も N1とする。尚、本動作例では、 N1回目の書込みでェ ラーが発生した場合、回数及び上限値を N2に変更する。但し、この N2については、 後述するステップ 130で取得することとし、ここでは、回数及び上限値の初期値として 、 N1を取得する。これに対し、回数が 1のときは、規格上の上限値を採用する。情報 埋め込みのために用いられな!/、CQセットは、エラーによってのみ書き直しが行われ る。従って、エラーが連続して発生する場合は、規格上の上限値以上の書き直しが 行われないようにすればよいからである。尚、このように書込み回数には規格上の上 限値があることから、 CQセット Mを書き込む回数のうち大きい方の値 N2としては、こ の規格上の上限値を超えない数値を採用する必要がある。
[0048] 次に、書込み部 33は、ステップ 121でバッファ領域力も取り出した CQセットを、記 録チャネル 13を介してテープ 14aに書き込む (ステップ 123)。また、 CQセットを書き 込んだ回数を数えるためのカウンタに 1を加算する (ステップ 124)。
そして、書込み部 33は、 CQセットを正しく書き込めた力どうかを判定する (ステツ プ 125)。
[0049] ここでは、まず、ステップ 125で CQセットを正しく書き込めたと判定された場合につ いて説明する。
この場合、書込み部 33は、カウンタの値力 ステップ 122で取得した回数に達して いるかどうかを判定する (ステップ 126)。その結果、回数に達していなければ、ステツ プ 123に戻る。つまり、ステップ 123で、同じ CQセットを再度テープ 14aに書き込み、 ステップ 124で、カウンタに 1を加算し、ステップ 125で、正しく書き込めたかどうかを 判定する。
[0050] 尚、 CQセット Mに対する処理におけるこれらのステップの繰り返しは、情報を埋め 込むための CQセットの繰り返しに相当する。即ち、書込み部 33は、 CQセット Mを N 1回書き込まなければならないので、ステップ 126で書込み回数が N1回に達するま で、これらのステップは繰り返される。
一方、 CQセット M以外の CQセットに対する処理において、ステップ 122で取得し た回数は「1」である。従って、 CQセットが 1回書き込まれれば、ステップ 126での判 定結果は「Yes」となるので、ステップ 123〜 125の繰り返しは起こらな 、。
[0051] そして、ステップ 126で、カウンタの値力 ステップ 122で取得した回数に達している と判定された場合、書込み部 33は、次の CQセットがあるかどうかを判定する (ス テツプ 127)。その結果、次の CQセットがあれば、ステップ 121へ進み、なければ 、処理を終了する。
[0052] 次に、ステップ 125で CQセットを正しく書き込めなかったと判定された場合につい て説明する。即ち、エラーに起因する書き直しを行う場合である。
この場合、書込み部 33は、カウンタの値力 ステップ 122で取得した上限値に達し ているかどうかを判定する (ステップ 128)。その結果、上限値に達していなければ、ス テツプ 123に戻る。つまり、ステップ 123で、同じ CQセットを再度テープ 14aに書き込 み、ステップ 124で、カウンタに 1を加算し、ステップ 125で、正しく書き込めたかどう かを判定する。
[0053] 尚、 CQセット Mに対する処理におけるこれらのステップの繰り返しは、エラーに起 因する繰り返しではある力 これも、情報を埋め込むための CQセットの繰り返しの一 部を構成する。即ち、情報埋め込みのための CQセットの書き直しの最中に、エラー に起因する CQセットの書き直しが起こることも考慮し、書込み部 33が、 CQセットを、 エラーに起因するものも含めてトータルで N1回書き込むことができるようにしている のである。
一方、 CQセット M以外の CQセットに対する処理において、ステップ 122では規格 上の上限値を取得している。従って、 CQセットの書込みエラーが連続すれば、書込 み回数が規格上の上限値に達するまで、ステップ 123〜125は繰り返される。
[0054] また、ステップ 128で上限値に達したと判定された場合、書込み部 33は、回数及び 上限値を変更可能であるかどうかを判定する (ステップ 129)。
その結果、変更可能であると判定されれば、回数及び上限値を変更する (ステップ 1
3
0)。
具体的には、 CQセット Mに対する処理で、その時の回数及び上限値が N1であれ ば、 N1を N2に変更可能であると判定し、回数及び上限値を N2とする。このような判 定は、例えば、回数及び上限値を変更したかどうかを示すフラグを用いて行うことが できる。即ち、初期状態ではフラグを「0」に設定しておき、回数及び上限値を変更し た場合に、フラグを「1」に設定する。そして、ステップ 129では、フラグが「0」に設定さ れていれば、回数及び上限値を変更できると判定し、フラグ力 「l」に設定されていれ ば、回数及び上限値をこれ以上変更できな!、と判定するようにすればよ!、。
[0055] 一方、 CQセット M以外の CQセットに対する処理では、常に変更できないと判定す る。規格上の上限値は、これ以上大きくすることはできないからである。例えば、上記 のように、フラグを用いてこのような判定を行う場合、初期状態でフラグを「1」に設定し ておけばよい。
尚、ステップ 130での変更の後の回数及び上限値は、取得部 32が保持する対応 情報を、 CQセット番号をキーとして検索することにより得ることができる。具体的には 、 CQセット番号 Mをキーとして検索することにより、回数 N2を得ることができる。
[0056] そして、回数及び上限値が変更されると、処理は、ステップ 123に戻る。つまり、ステ ップ 123で、同じ CQセットを再度テープ 14aに書き込み、ステップ 124で、カウンタに 1を加算し、ステップ 125で、正しく書き込めた力どうかを判定する。また、ステップ 12 5で正しく書き込めたと判定された場合は、ステップ 126で、カウンタの値が変更後の 回数に達したかどうかを判定し、ステップ 125で正しく書き込めな力つたと判定された 場合は、ステップ 128で、カウンタの値が変更後の上限値に達したかどうかを判定す る。
[0057] そして、ステップ 126での判定結果が「Yes」になるよりも前に、ステップ 128での判 定結果が「Yes」になった場合は、ステップ 129での判定結果が「No」となるので、既 存のエラーリカノくリ手順に移行する。
尚、ステップ 128での判定結果が「Yes」になる場合とは、 CQセット Mの N2回目の 書込みでエラーが発生した場合である。このような場合、書込み部 33は、この CQセ ットを含むデータセットの書込みを中止し、テープ 14a上の別の位置に再度このデー タセットの書込みを行う。
[0058] 次に、このような書込み部 33の動作に対応する読出し部 34の動作について説明 する。
この場合、読出し部 34は、図 6に示したのと同様の動作を行う。即ち、 CQセット番 号と CQセットの繰り返し回数との対応を取得し、特定部 35に受け渡す。これにより、 特定部 35は、記憶部 31に記憶された第 1の整数の組 (M, N1)と、第 2の整数の組( M, N2)とに基づいて、テープ 14aに記録されたデータに埋め込まれた情報を特定 す
ることになる。
具体的には、特定部 35は、 CQセット Mの繰り返し回数 NOに着目し、整数の組 (M , NO)を、埋め込まれた情報として抽出する。そして、 NOが N1又は N2と一致する 力どうかを判定することにより、例えば、このデータの利用の可否を決定する。即ち、 NOが N1又は N2と一致すれば、データをそのまま読み出してホスト 20に転送し、 NO 力 SN1にも N2にも一致しなければ、データの読み出しを中止する。
[0059] このように、本実施の形態では、 CQセット Mを N1回繰り返して書き込み、仮に、 N1 回目の書込みでエラーが発生した場合は、繰り返し回数を N2に変更するようにした 。これにより、データセット内のユーザデータ自体には全く手を加えることなぐ電子透 力 を埋め込む処理がさらに効率良く行えるようになった。つまり、第 1の動作例では 、最初に指定された回数の CQセットの繰り返しが行えない場合、その CQセットを含 むデータセットと 、う大きな単位で書き直しを行うようにしたが、この第 2の動作例では 、データセットの書き直しを行わなくても、継続して情報埋め込みのための処理を行う ことができるのである。
[0060] ところで、本実施の形態では、埋め込みた!/、情報を、単に整数の組み合わせ (M, N)として説明した。し力しながら、この整数の組み合わせについて一定の制限を設け れば、 M、 Nを抽出する際に偶発的なエラーが発生しても、それを検知することがで きる。そして、そのような場合は、通常の読出し動作で行われる再読出し等の動作を 起動すればよい。つまり、あり得ない M, Nの検出を、通常の読出し動作におけるエラ 一の 1つとして追加しておけばよいのである。尚、ここで整数の組み合わせについて 設けることの可能な一定の制限とは、 M, Nを素数で構成するといつたことが考えられ る。
[0061] また、本実施の形態では、埋め込みた!/、情報として、最初力も整数の組 (M, N)等 を登場させた力 このような形態に限らない。例えば、埋め込みたい情報が数字の列 である場合に、これに対し何らかの演算を行い、整数の組 (M, N)を得た後、上記の ような処理を行うようにしてもよい。
[0062] 更に、本実施の形態では、テープ 14aに記録されたデータのどの部分に電子透か し(
M, N)を埋め込むかについては詳しく述べな力つた。そこで、以下、この点に関する 構
成例を説明する。
例えば、多くのバックアップアプリケーションでは、テープの先頭領域に、テープを 区別するための「Volume Serial」や、テープ上の情報を記すためのヘッダ情 報が書き込まれていることが多い。一方、ユーザデータは、複数の「File Mark 」と呼ばれる特別な記号で区切られることが多い。従って、例えば、このテープの先頭 領域や、 File Markを書き込む場合に限って、本実施の形態の手法により情報を埋 め込むようにしてもよい。このように構成すれば、全てのデータセットに情報を埋め込 む場合に比べ、テープ容量の無駄を軽減することができる。
[0063] 通常、アプリケーションは、テープ媒体がマウントされると、 Rewind動作を行う。この とき、 LTO規格ドライブは、テープ媒体の先頭領域に書かれている FIDと呼ばれる特 別なデータセットを読み出す。 Rewind動作が完了した後、 FIDに続くデータセット群 に秘匿されて 、た情報に基づ 、て、次に発行されるであろう Readコマンドや Writeコ マンドの実行を許可するかどうかを決定することが可能であると言える。
[0064] また、 File Markは、ユーザデータの区切り記号として書き込まれて 、ること
が多い。従って、アプリケーションは、 File Markを手がかりに、データの検索 等を行うことになる。つまり、まず、 File Markが含まれるデータセットが順に 読み込まれることになる。そのとき、 File Markに続くユーザデータごとのへッ ダ情報を含むデータセットも読まれることになる。ここで、それらのデータセット群の C Qセット情報から、秘匿された情報を取得し、この情報に基づいて、以後のユーザデ ータの読み出しを許可するかどうかを決定することも可能である。また、その際、ユー ザデータごとの読み出し禁止等の制御も視野に入れることができる。
[0065] 以上述べたように、本実施の形態によれば、記録されるデータは全く変更すること なぐあるパターンを埋め込むことで、テープの識別が可能となる。即ち、通常の方法 でテープをコピーした場合、この埋め込んだあるパターンが無くなるので、そのテー プがオリジナルのものではないことが検出できる。或いは、テープをコピーしょうとした 場合に、このパターンを検出してコピーを阻止することも可能となる。
[0066] 近年、コンピュータシステムに対して、高いセキュリティを維持することが求められて いる。ところが、 LTOは、オープンな規格であるため、カートリッジメモリのような規格と して公開された場所に、秘匿したい情報を格納することは危険であり、また、そのコピ 一も容易である。これに対して、本実施の形態によれば、コピー制御がない LTOのよ うなテープフォーマットに十分有効な情報埋め込み手法が提供される。
[0067] し力も、本実施の形態の手法は、例えば、特許文献 1に記載されて 、るような手法と 比べると、格段に効率の良いものである。特許文献 1のように、データセット間の距離 を用いて情報を埋め込むようにした場合は、次のような点で更なる効率ィ匕の余地があ る。
通常、データセット間の距離を利用して情報を埋め込む場合、距離を制御する最 小単位を 1LPOSとすること力多い。これに対し、本実施の形態では、理論的には、 1 CQ単位で情報を埋め込むことができる。例えば、 LTOの第 3世代として規定される テープフォーマットでは、 ICQは、 1データセット長の 128分の 1である。つまり、 1デ ータセットを、最小約 10LPOS程度とすると、特許文献 1に比べ、約 13(= 128÷ 1 0)倍効率が良いと言える。
[0068] 尚、以上では、 LTOで規定されたテープフォーマットに従ってテープ媒体にデータ を記録する際に、 M番目の CQセットを N回繰り返すことで情報を埋め込むことについ て述べてきた。しかしながら、 LTOで規定されたテープフォーマットに拘らなければ、 情報を埋め込む際に繰り返すデータの単位としては、如何なる単位を採用してもよい 。即ち、本実施の形態は、データが複数のブロックから構成される場合に、 M番目の ブロックを N回繰り返して書き込むものと捉えることもできる。
[0069] また、これまでは、データを記録する際に、「M番目のブロックを N回繰り返して書き 込む」ことで電子透かし (M, N)を埋め込むことにつ!/、て述べてきた。
しかしながら、「M番目のブロックを N回繰り返して書き込む」を、コンピュータ間での データの送受信で考えた場合には、「M番目のブロックを N回再送する」と読み替え ることちでさる。
[0070] 但し、このような読み替えが可能となるのは、次のような条件を満たす場合と考えら れる。
1.通信プロトコルによる双方向通信を行っていること (携帯電話用、シリアル、 SCS
1.ファイバチャネル等)。
2.データはブロック化されており、各ブロックは唯一のものとして特定できること。つま り、ナンバリングされていること。
3.データ転送中に不具合があれば、再送するためのプロトコルが存在し、特定のブ ロックを再度転送することができること。
4.データの受信側で、その特定のブロックが何回再送されたのかが確実に分力るこ と。
[0071] 図 8は、このように「M回目のブロックを N回再送する」ことによる情報の埋め込みを 実現するためのコンピュータシステムの構成を示したブロック図である。
図示するように、このコンピュータシステムは、送信装置 40と、受信装置 50とを含ん でいる。
そして、送信装置 40は、記憶部 41と、取得部 42と、送信部 43とを含む。 このうち、記憶部 41は、受信装置 50にデータを送信する際に埋め込みたい情報を 記憶する。ここで、埋め込みたい情報としては、少なくとも 2つの整数の組を記憶して いる。そのうちの 1つの整数が、再送の対象となるブロックの番号であり、別の整数が 、そのブロックの送信を繰り返す回数である。尚、この記憶部 41は、半導体メモリや、 磁気ディスク等、種々の記録媒体によって構成することができる。
取得部 42は、記憶部 41に記憶された情報を取得し、送信するブロックの番号とブ ロックの送信を繰り返す回数との対応情報として保持する。
送信部 43は、送信すべきデータを構成するブロックを受信装置 50に対して送信す る。また、その際、取得部 42が保持する情報に基づいて、同じブロックを何回力繰り 返す。
[0072] また、受信装置 50は、記憶部 51と、受信部 52と、特定部 53とを含む。
このうち、記憶部 51は、送信されるデータに埋め込まれているはずの情報が記憶さ れている。尚、この記憶部 51は、半導体メモリや、磁気ディスク等、種々の記録媒体 によって構成することができる。
受信部 52は、送信装置 40によって送信されたデータを受信する。また、その際、ど のブロックが何回繰り返して書かれているかを解析する。
特定部 53は、受信部 52による解析結果から、データに埋め込まれていた情報を特 定する。また、特定された情報と、記憶部 51に記憶された情報との比較結果に基づ V、て、受信したデータの利用の可否を決定する処理等も行う。
[0073] そして、このコンピュータシステムは、コントローラ 30と同様の動作を行うことにより、 データに情報を埋め込む。
即ち、送信装置 40では、まず、取得部 42が、記憶部 41に記憶された情報を取得し 、次に、送信部 43が、図 5又は図 7に示したフローチャートに示したのと同様の動作 を行う。具体的には、図 5又は図 7において、「CQセット」を「ブロック」に読み替え、「 書き込む」、「書けた?」をそれぞれ「送信する」、「送信できた?」に読み替えたもの 力 送信部 43による動作の流れである。
また、受信装置 50では、まず、受信部 52が、図 6に示したフローチャートに示した のと同様の動作を行う。具体的には、図 6において、「CQセット」を「ブロック」に読み 替え、「読み出す」、「読み出せた?」をそれぞれ「受信する」、「受信できた?」に読み 替えたものが、受信部 52による動作の流れである。その後、特定部 35は、受信した データに埋め込まれた情報を特定し、その情報と記憶部 51に記憶された情報との比 較に基づいて、受信したデータの利用の可否等を決定する。
[0074] 更に、本実施の形態は、一般のデータ処理を考えると、「M番目のブロックに対し N 回処理を行う」ものと捉えることもできる。
図 9は、「M番目のブロックに対し N回処理を行う」ことによる情報の埋め込みを実現 するためのデータ処理装置 60の機能構成を示したブロック図である。
図示するように、このデータ処理装置 60は、記憶部 61と、取得部 62と、処理部 63 と、結果取得部 64と、特定部 65とを備えている。
[0075] このうち、記憶部 61は、データに対し所定の処理を行う際に埋め込みたい情報を 記憶する。ここで、埋め込みたい情報としては、少なくとも 2つの整数の組を記憶して いる。そのうちの 1つの整数が、繰り返し処理の対象となるブロックの番号であり、別の 整数が、そのブロックに対し処理を繰り返す回数である。尚、この記憶部 61は、半導 体メモリや、磁気ディスク等、種々の記録媒体によって構成することができる。
取得部 62は、記憶部 61に記憶された情報を取得し、ブロックの番号とブロックを繰 り返す回数との対応情報として保持する。
処理部 63は、与えられたデータに対し所定の処理を施す。また、その際、取得部 6 2が保持する情報に基づいて、同じブロックを何回力繰り返す。
結果取得部 64は、処理部 63による処理の結果を取得する。また、その際、どのブ ロックに対して何回処理が繰り返されているかを解析する。
特定部 65は、結果取得部 64による解析結果から、データに埋め込まれていた情報 を特定する。また、特定された情報と、記憶部 61に記憶された情報との比較結果に 基づ 、て、処理結果の利用の可否を決定する処理等も行う。
そして、データ処理装置 60は、コントローラ 30と同様の動作を行うことにより、デー タに情報を埋め込む。
即ち、まず、取得部 62が、記憶部 61に記憶された情報を取得し、次に、処理部 63 1S 図 5又は図 7に示したフローチャートに示したのと同様の動作を行う。具体的には 、図 5又は図 7において、「CQセット」を「ブロック」に読み替え、「書き込む」、「書けた ? Jをそれぞれ「処理する」、「処理できた?」に読み替えたものが、処理部 63による 動作の流れである。
また、結果取得部 64が、図 6に示したフローチャートに示したのと同様の動作を行う 。具体的には、図 6において、「CQセット」を「ブロック」に読み替え、「読み出す」、「読 み出せた?」をそれぞれ「結果を取得する」、「結果を取得できた?」に読み替えたも のが、結果取得部 64による動作の流れである。その後、特定部 65は、受信したデー タに埋め込まれた情報を特定し、その情報と記憶部 61に記憶された情報との比較に 基づ 、て、受信したデータの利用の可否等を決定する。
尚、記憶部 61に記憶される情報は、例えば、外部のホストより通信インタフェースを 経由して与えてもよぐ或いは、逆に、通信インタフェースを経由して外部のホストに 知らせてもよい。 また、その情報は、データ処理装置 60の外部で所定の方法で生成され、与えられ てもよく、或いは、データ処理装置 60の内部で所定の方法で生成してもよい。
[0077] ここで、本発明は、全てハードウェアで実現してもよ 、し、全てソフトウェアで実現し てもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。 また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして 実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能 な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、 電磁的、赤外線又は半導体システム (装置又は機器)、或いは、伝搬媒体が考えられ る。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶 装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ( RA
M)、リードオンリーメモリ (ROM)、リジッド磁気ディスク、及び光ディスクが例示さ れる。現時点における光ディスクの例には、コンパクトディスク—リードオンリーメモリ( CD-ROM),コンパクトディスク一リード/ライト (CD— R/W)及び DVDが含まれる。 図面の簡単な説明
[0078] [図 1]本発明の実施の形態が適用されるテープドライブの構成を示したブロック図で ある。
[図 2]本発明の実施の形態の前提となる LTOにおけるサブデータセットからテープへ の書込みまでの様子を示した図である。
[図 3]本発明の実施の形態の前提となる LTOにおける CQのフォーマットについて示 した図である。
[図 4]本発明の実施の形態におけるコントローラの機能構成について示した図である
[図 5]本発明の実施の形態のコントローラにおける書込み部の第 1の動作例を示した フローチャートである。
[図 6]本発明の実施の形態のコントローラにおける読出し部の動作例を示したフロー チャートである。
[図 7]本発明の実施の形態のコントローラにおける書込み部の第 2の動作例を示した フローチャートである。
圆 8]本発明の実施の形態の別の構成例について示した図である。
圆 9]本発明の実施の形態の別の構成例について示した図である。
符号の説明
10···テープドライブ、 11···インタフェース、 12···バッファ、 13···記録チヤネノレ、 14a …テープ、 14b…ヘッド、 14c, 14d…リール、 ^…カートリッジ、 15···モータ、 30 …コントローラ

Claims

請求の範囲
[1] データに情報を埋め込むための装置であって、
埋め込み対象の情報を取得する取得部と、
前記データを構成する複数のブロックのうちの前記情報に基づいて決定されたプロ ックに対し、特定の処理を、前記情報に基づいて決定された回数繰り返すことにより、 当該データに当該情報を埋め込む処理部と
を含む、装置。
[2] 前記特定の処理は、前記データを記録媒体へ書き込む処理である、請求項 1記載 の装置。
[3] 前記ブロックは、 LTO(Linear Tape- Open)における CQ(Codeword Quad)セットであ る、請求項 2記載の装置。
[4] 前記特定の処理は、前記データをネットワークを介して送信する処理である、請求 項 1記載の装置。
[5] 前記処理部は、前記決定されたブロックに対する前記特定の処理が、前記決定さ れた回数における最後の回に失敗した場合に、前記データの当該ブロックを含む部 分に対する当該特定の処理を無効化する、請求項 1記載の装置。
[6] 前記処理部は、前記決定されたブロックに対する前記特定の処理が、前記決定さ れた回数における最後の回に失敗した場合に、当該ブロックに対する当該特定の処 理を、所定の回数、更に繰り返す、請求項 1記載の装置。
[7] データに埋め込まれた情報を検出するための装置であって、
前記データに対する特定の処理の結果を取得する取得部と、
前記結果を解析することで得られる、前記データを構成する複数のブロックのうちの 所定のブロックに対して前記特定の処理が繰り返された回数に基づいて、前記情報 を特定する特定部と
を含む、装置。
[8] 前記結果を取得する処理は、記録媒体へ書き込まれた前記データを読み出す処 理である、請求項 7記載の装置。
[9] 前記ブロックは、 LTO(Linear Tape- Open)における CQ(Codeword Quad)セットであ る、請求項 7記載の装置。
[10] 前記結果を取得する処理は、ネットワークを介して送信された前記データを受信す る処理である、請求項 7記載の装置。
[11] データに情報を埋め込むための方法であって、
埋め込み対象の情報を取得するステップと、
前記データを構成する複数のブロックのうちの前記情報に基づいて決定されたプロ ックに対し、特定の処理を、前記情報に基づいて決定された回数繰り返すステップと を含む、方法。
[12] 前記データに対する前記特定の処理の結果を取得するステップと、
前記結果を解析することで得られる、前記決定されたブロックに対して前記特定の 処理が繰り返された回数に基づ!/、て、前記情報を特定するステップと
を含む、請求項 11記載の方法。
[13] データに対して特定の処理を行うコンピュータに対し、
埋め込み対象の情報を取得する機能と、
前記データを構成する複数のブロックのうちの前記情報に基づいて決定されたプロ ックに対し、前記特定の処理を、前記情報に基づいて決定された回数繰り返す機能 と
を実現させる、プログラム。
PCT/JP2007/054646 2006-03-10 2007-03-09 データに情報を埋め込むための装置 WO2007105624A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN200780008472XA CN101401163B (zh) 2006-03-10 2007-03-09 用于在数据中嵌入信息的方法和装置
US12/282,165 US7978427B2 (en) 2006-03-10 2007-03-09 Device for embedding information into data
EP07738131A EP2006853A4 (en) 2006-03-10 2007-03-09 DEVICE FOR INTEGRATING INFORMATION INTO DATA
JP2008505108A JP4808770B2 (ja) 2006-03-10 2007-03-09 データに情報を埋め込むための装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006066108 2006-03-10
JP2006-066108 2006-03-10

Publications (1)

Publication Number Publication Date
WO2007105624A1 true WO2007105624A1 (ja) 2007-09-20

Family

ID=38509447

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/054646 WO2007105624A1 (ja) 2006-03-10 2007-03-09 データに情報を埋め込むための装置

Country Status (6)

Country Link
US (1) US7978427B2 (ja)
EP (1) EP2006853A4 (ja)
JP (1) JP4808770B2 (ja)
CN (1) CN101401163B (ja)
TW (1) TWI415118B (ja)
WO (1) WO2007105624A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011111406A1 (ja) * 2010-03-12 2011-09-15 日立マクセル株式会社 磁気テープ装置、データ記録方法、データ再生方法
JP2014078312A (ja) * 2013-12-20 2014-05-01 Hitachi Maxell Ltd 磁気テープ装置、データ記録方法、磁気テープ

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4956366B2 (ja) * 2007-10-16 2012-06-20 キヤノン株式会社 画像処理装置
US9007709B2 (en) * 2013-07-15 2015-04-14 International Business Machines Corporation Optimum tape layout selection for improved error correction capability
US9720615B2 (en) 2015-09-29 2017-08-01 International Business Machines Corporation Writing data to sequential storage medium
JP6536475B2 (ja) * 2016-05-11 2019-07-03 富士通株式会社 テープ装置、制御装置および制御プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004005800A (ja) * 2002-05-30 2004-01-08 Sony Corp ディスク記録装置及びディスク再生装置
US20040083332A1 (en) * 2002-10-22 2004-04-29 International Business Machines Corp. Water marking in a data interval gap

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1258914B (de) 1966-02-04 1968-01-18 Telefunken Patent Verfahren zum Anschluss von Teilnehmerstellen an eine Fernsprechvermittlungsanlage mit Waehlerbetrieb ueber eine Traegerfrequenzstrecke
CN1111990A (zh) 1994-05-20 1995-11-22 姜少华 含有天然温泉微量元素及植物提取液的沐浴液
US6044485A (en) * 1997-01-03 2000-03-28 Ericsson Inc. Transmitter method and transmission system using adaptive coding based on channel characteristics
JP4046930B2 (ja) 2000-06-19 2008-02-13 日本放送協会 コピー回数制御機能付き記録装置
PL353622A1 (en) * 2000-08-14 2003-12-01 Koninklije Philips Electronics N.V.Koninklije Philips Electronics N.V. Method of device for adding or extracting a secondary information signal to/from a rll code sequence
US6731444B2 (en) * 2000-09-28 2004-05-04 Seagate Technology Llc Head-disc assembly with embedded product identification code
AUPR970601A0 (en) * 2001-12-21 2002-01-24 Canon Kabushiki Kaisha Encoding information in a watermark
JP3780510B2 (ja) * 2002-05-28 2006-05-31 日本電信電話株式会社 多重電子透かし処理方法、多重電子透かし処理装置、並びに多重電子透かし処理プログラム及びその処理プログラムを記録した記憶媒体
JPWO2004051650A1 (ja) * 2002-11-29 2006-04-06 富士通株式会社 データ記録再生装置及び、データ記録再生方法
JP4174009B2 (ja) * 2003-05-30 2008-10-29 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ記録装置、テープ障害検出システム、テープ障害検出方法、プログラム、及び記録媒体
JP4287435B2 (ja) 2004-01-07 2009-07-01 パナソニック株式会社 サーバ、機器登録システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004005800A (ja) * 2002-05-30 2004-01-08 Sony Corp ディスク記録装置及びディスク再生装置
US20040083332A1 (en) * 2002-10-22 2004-04-29 International Business Machines Corp. Water marking in a data interval gap
JP2004145920A (ja) 2002-10-22 2004-05-20 Internatl Business Mach Corp <Ibm> 記憶装置、記憶装置を制御するプログラム、記憶装置の制御方法、及び記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011111406A1 (ja) * 2010-03-12 2011-09-15 日立マクセル株式会社 磁気テープ装置、データ記録方法、データ再生方法
JP2011192335A (ja) * 2010-03-12 2011-09-29 Hitachi Maxell Ltd 磁気テープ装置、データ記録方法、データ再生方法
JP2014078312A (ja) * 2013-12-20 2014-05-01 Hitachi Maxell Ltd 磁気テープ装置、データ記録方法、磁気テープ

Also Published As

Publication number Publication date
EP2006853A4 (en) 2009-04-08
JPWO2007105624A1 (ja) 2009-07-30
TW200813992A (en) 2008-03-16
EP2006853A2 (en) 2008-12-24
US20090153990A1 (en) 2009-06-18
US7978427B2 (en) 2011-07-12
TWI415118B (zh) 2013-11-11
CN101401163B (zh) 2013-04-24
EP2006853A9 (en) 2009-07-22
CN101401163A (zh) 2009-04-01
JP4808770B2 (ja) 2011-11-02

Similar Documents

Publication Publication Date Title
US6898297B2 (en) Digital watermark embedding method, digital watermark extracting method, recording medium, image recording device, and image replaying device
JP4808770B2 (ja) データに情報を埋め込むための装置
JP2002149499A5 (ja)
US10009574B2 (en) Transferring multiple records including video data to/from host
KR20000071178A (ko) 파일기록방법, 데이터 기록장치, 기록매체 관리방법, 파일의 취급방법, 수신데이터를 기록매체에 기입하는 방법 및 프로그램 기록매체
KR100391740B1 (ko) 재생 오류의 처리 방법 및 이를 이용한 디스크 장치
KR920010432A (ko) 다중 헤드 기억장치에서 데이타를 회복시키기 위한 방법 및 시스템
JP5179596B2 (ja) テープ記録装置におけるデータの上書き制御方法、上書き制御プログラム、及びテープ記録装置
JP5064531B2 (ja) データ記録装置およびデータ再生装置
US5499147A (en) Rotary head recording and reproduction apparatus with memory and method of operation which compares a reproduced signal with an original signal
US20060259975A1 (en) Method and system for protecting digital media from illegal copying
JP2019075628A (ja) 記録装置
US7046464B2 (en) Data recording method and data recording/reproducing device, recording medium
JP2002237139A (ja) データ記録再生装置
JPH0785608A (ja) 記憶装置
JP3653281B2 (ja) 信号記録方法及びこれを用いた装置
JPH11328930A (ja) カセット管理方法とデータ記録装置
JP3925259B2 (ja) 記録媒体、記録方法、記録装置
JP2779540B2 (ja) 磁気テープ装置
JPH1127611A (ja) 画像データ記録再生装置および画像データ記録方法
JP2005056519A (ja) ストリーム系コマンドを使用する場合の読取処理方法及び媒体記憶装置
JPH08115572A (ja) 記録再生装置
JPH10199163A (ja) ディジタル信号再生装置及びディジタル信号記録再生装置
JPS6284468A (ja) スチルビデオフロツピ−装置
JP2003100035A (ja) データ記録装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07738131

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12282165

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2008505108

Country of ref document: JP

Ref document number: 200780008472.X

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007738131

Country of ref document: EP