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

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

Info

Publication number
JP4808770B2
JP4808770B2 JP2008505108A JP2008505108A JP4808770B2 JP 4808770 B2 JP4808770 B2 JP 4808770B2 JP 2008505108 A JP2008505108 A JP 2008505108A JP 2008505108 A JP2008505108 A JP 2008505108A JP 4808770 B2 JP4808770 B2 JP 4808770B2
Authority
JP
Japan
Prior art keywords
data
information
block
determined
result
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2008505108A
Other languages
English (en)
Other versions
JPWO2007105624A1 (ja
Inventor
敬 田路
則和 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 Corp filed Critical International Business Machines Corp
Priority to JP2008505108A priority Critical patent/JP4808770B2/ja
Publication of JPWO2007105624A1 publication Critical patent/JPWO2007105624A1/ja
Application granted granted Critical
Publication of JP4808770B2 publication Critical patent/JP4808770B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

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

Description

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

Claims (13)

  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. データに対して特定の処理を行うコンピュータに対し、
    埋め込み対象の情報を取得する機能と、
    前記データを構成する複数のブロックのうちの前記情報に基づいて決定されたブロックに対し、前記特定の処理が失敗した場合に行われる当該特定の処理の再実行を、当該特定の処理が失敗しなくても、前記情報に基づいて決定された回数繰り返し行い、当該決定された回数における最後の回の当該特定の処理の結果を当該決定されたブロックの処理結果とする機能と
    を実現させる、プログラム。
JP2008505108A 2006-03-10 2007-03-09 データに情報を埋め込むための装置 Expired - Fee Related JP4808770B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (4)

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

Publications (2)

Publication Number Publication Date
JPWO2007105624A1 JPWO2007105624A1 (ja) 2009-07-30
JP4808770B2 true JP4808770B2 (ja) 2011-11-02

Family

ID=38509447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008505108A Expired - Fee Related JP4808770B2 (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)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4956366B2 (ja) * 2007-10-16 2012-06-20 キヤノン株式会社 画像処理装置
JP5480678B2 (ja) * 2010-03-12 2014-04-23 日立マクセル株式会社 磁気テープ装置、データ再生方法
US9007709B2 (en) * 2013-07-15 2015-04-14 International Business Machines Corporation Optimum tape layout selection for improved error correction capability
JP5766266B2 (ja) * 2013-12-20 2015-08-19 日立マクセル株式会社 磁気テープ装置、データ記録方法、磁気テープ
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348324A (ja) * 2002-05-28 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> 多重電子透かし処理方法、多重電子透かし処理装置、並びに多重電子透かし処理プログラム及びその処理プログラムを記録した記憶媒体
JP2004005800A (ja) * 2002-05-30 2004-01-08 Sony Corp ディスク記録装置及びディスク再生装置
JP2004145920A (ja) * 2002-10-22 2004-05-20 Internatl Business Mach Corp <Ibm> 記憶装置、記憶装置を制御するプログラム、記憶装置の制御方法、及び記録媒体
JP2004355748A (ja) * 2003-05-30 2004-12-16 Internatl Business Mach Corp <Ibm> テープ記録装置、テープ障害検出システム、テープ障害検出方法、プログラム、及び記録媒体

Family Cites Families (9)

* 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 日本放送協会 コピー回数制御機能付き記録装置
AU784369B2 (en) 2000-08-14 2006-03-16 Koninklijke Philips Electronics N.V. Method of device for adding or extracting a secondary information signal to/from a RLL code sequence
SG100714A1 (en) * 2000-09-28 2003-12-26 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
EP1566804A4 (en) 2002-11-29 2008-04-16 Fujitsu Ltd DATA COLLECTION AND REPRODUCTION DEVICE AND DATA COLLECTION AND REPRODUCTION METHOD
JP4287435B2 (ja) * 2004-01-07 2009-07-01 パナソニック株式会社 サーバ、機器登録システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348324A (ja) * 2002-05-28 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> 多重電子透かし処理方法、多重電子透かし処理装置、並びに多重電子透かし処理プログラム及びその処理プログラムを記録した記憶媒体
JP2004005800A (ja) * 2002-05-30 2004-01-08 Sony Corp ディスク記録装置及びディスク再生装置
JP2004145920A (ja) * 2002-10-22 2004-05-20 Internatl Business Mach Corp <Ibm> 記憶装置、記憶装置を制御するプログラム、記憶装置の制御方法、及び記録媒体
JP2004355748A (ja) * 2003-05-30 2004-12-16 Internatl Business Mach Corp <Ibm> テープ記録装置、テープ障害検出システム、テープ障害検出方法、プログラム、及び記録媒体

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4808770B2 (ja) データに情報を埋め込むための装置
JP2001043636A (ja) データ回復方法およびデータ記憶装置
US20200382754A1 (en) Automatic video file repair method and system
US6282040B1 (en) Write pass identifier
US10009574B2 (en) Transferring multiple records including video data to/from host
KR20000071178A (ko) 파일기록방법, 데이터 기록장치, 기록매체 관리방법, 파일의 취급방법, 수신데이터를 기록매체에 기입하는 방법 및 프로그램 기록매체
EP0936618A2 (en) Write pass identifier
KR920010432A (ko) 다중 헤드 기억장치에서 데이타를 회복시키기 위한 방법 및 시스템
JP5179596B2 (ja) テープ記録装置におけるデータの上書き制御方法、上書き制御プログラム、及びテープ記録装置
KR100391740B1 (ko) 재생 오류의 처리 방법 및 이를 이용한 디스크 장치
US8130460B2 (en) Apparatus and method for writing data on a tape medium
CN101159158B (zh) 检测数据块中的损坏的方法和系统
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
JP2009176410A (ja) データ処理方法およびデータ保存装置
US7120849B2 (en) Data storage medium having link zone and apparatus and method for recording/reproducing data on/from the data storage medium
JPH05234258A (ja) 互いにトラック密度の異なる記憶システムの間で利用可能な誤り制御式のボリューム・シリアル識別情報の識別方式
JP2019075628A (ja) 記録装置
US7046464B2 (en) Data recording method and data recording/reproducing device, recording medium
JP2000000045U (ja) ディジタル信号再生装置
JP2002237139A (ja) データ記録再生装置
JPH11328930A (ja) カセット管理方法とデータ記録装置
JP3653281B2 (ja) 信号記録方法及びこれを用いた装置
JP2779540B2 (ja) 磁気テープ装置
JPH1127611A (ja) 画像データ記録再生装置および画像データ記録方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20110511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110809

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20110809

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110817

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees