説明

デジタルデータ蓄積装置、デジタルデータ蓄積方法、蓄積用データ送信装置、蓄積用データ通信システム及び蓄積用データ通信方法

【課題】 デジタルデータ蓄積装置が、複数のデジタルデータを効率良く蓄積することができるようにする。
【解決手段】 本発明は、複数のデジタルデータを蓄積するデジタルデータ蓄積装置に関する。そして、各デジタルデータを構成するデータ部分毎に蓄積しているデータ蓄積手段と、蓄積対象のデジタルデータに対し、全て又はそのデータ部分がデータ蓄積手段に蓄積されているデータ部分と同一であるか否かを判別する蓄積有無判別手段と、蓄積対象のデジタルデータにおける、データ蓄積手段に蓄積されているデータ部分と同一でないデータ部分を、データ蓄積手段に蓄積させるデータ書込手段と、各デジタルデータについて、そのデータ部分がデータ蓄積手段のどの位置に蓄積されているかの管理情報を形成して管理するデータ管理手段とを有することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はデジタルデータ蓄積装置、デジタルデータ蓄積方法、蓄積用データ送信装置、蓄積用データ通信システム及び蓄積用データ通信方法に関し、例えば、配信される複数のデジタルデータを効率良く蓄積しようとしたものである。
【背景技術】
【0002】
近年、映像や音楽などのデジタル化が進み、大容量のデジタルデータを蓄積する機会が急速に増加している。特に、デジタル放送の録画や音楽のダウンロードなどでは、MPEGなどの圧縮技術でデータの効率化を行っているが、圧縮後であっても総データ量が多いため、蓄積装置のリソースを圧迫する要因となっている。一方、これらのデジタルデータは、複数の場所への配信や、複数回の配布など、同一のデジタルデータ(データ部分)が複数蓄積される機会が多く、非効率である。
【0003】
従来、この種のデジタルデータ蓄積装置では、特許文献1に記載されているように、ファイル単位での効率的な蓄積方法を用いている。特許文献1に記載の方法では、新たに蓄積するファイルと同一のファイルが既に保管されている場合には、保管済みファイルの蓄積データを参照するための情報だけを記憶し、実際のデータを新たに蓄積しないものであった。
【特許文献1】特開2002−329084号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の方法では、ファイル単位でしかデータの管理を行うことができないため、ファイル単位ではなく、一部のデジタルデータを新たに保管する際にそのデータの部分が既に蓄積されていても、全てのデータを蓄積する必要があるという課題があった。
【0005】
そのため、複数のデジタルデータを効率良く蓄積することができるデジタルデータ蓄積装置やデジタルデータ蓄積方法、デジタルデータ蓄積装置において、複数のデジタルデータを効率良く蓄積させることを可能とする蓄積用データ送信装置、蓄積用データ通信システム及び蓄積用データ通信方法が望まれている。
【課題を解決するための手段】
【0006】
第1の本発明は、複数のデジタルデータを蓄積するデジタルデータ蓄積装置において、(1)上記各デジタルデータを構成するデータ部分毎に蓄積しているデータ蓄積手段と、(2)蓄積対象のデジタルデータに対し、全て又はそのデータ部分が上記データ蓄積手段に蓄積されているデータ部分と同一であるか否かを判別する蓄積有無判別手段と、(3)蓄積対象のデジタルデータにおける、上記データ蓄積手段に蓄積されているデータ部分と同一でないデータ部分を、上記データ蓄積手段に蓄積させるデータ書込手段と、(4)上記各デジタルデータについて、そのデータ部分が上記データ蓄積手段のどの位置に蓄積されているかの管理情報を形成して管理するデータ管理手段とを有することを特徴とする。
【0007】
第2の本発明は、第1の本発明のデジタルデータ蓄積装置において、当該デジタルデータ蓄積装置に対向する蓄積用データ送信装置が、蓄積対象のデジタルデータの送信に先立って、蓄積対象のデジタルデータを1又は複数に分割したデータ部分毎に算出したハッシュ値を送信するものであって、上記蓄積有無判別手段が、(2−1)上記データ蓄積手段に蓄積されている各データ部分のハッシュ値を管理するハッシュ値管理部と、(2−2)上記蓄積用データ送信装置から受信したハッシュ値と、上記ハッシュ値管理部が管理するハッシュ値との照合により、蓄積対象のデジタルデータのうちの、上記データ蓄積手段に蓄積されているデータ部分と同一のデータ部分と同一でないデータ部分とを判別するハッシュ値判別部と、(2−3)蓄積対象のデジタルデータのうちの、上記データ蓄積手段に蓄積されているデータ部分と同一でないデータ部分の送信を上記蓄積用データ送信装置に要求して取り込むデータ部分要求・受信部とを有することを特徴とする。
【0008】
第3の本発明は、第2の本発明のデジタルデータ蓄積装置に対向する蓄積用データ送信装置であって、(1)上記デジタルデータ蓄積装置に蓄積させる蓄積対象のデジタルデータを、1又は複数に分割し、分割したデータ部分毎に算出されたハッシュ値を、上記蓄積対象のデジタルデータの送信に先立って上記デジタルデータ蓄積装置に送信するハッシュ値送信手段と、(2)蓄積対象のデジタルデータのうち、上記デジタルデータ蓄積装置から要求されたデータ部分を上記デジタルデータ蓄積装置に送信する要求データ部分送信手段とを有することを特徴とする。
【0009】
第4の本発明の蓄積用データ通信システムは、第3の本発明の蓄積用データ送信装置と第2の本発明のデジタルデータ蓄積装置とを有することを特徴とする。
【0010】
第5の本発明は、複数のデジタルデータをデータ蓄積手段に蓄積するデジタルデータ蓄積方法において、(1)上記各デジタルデータを構成するデータ部分毎に蓄積させるデータ蓄積ステップと、(2)蓄積対象のデジタルデータに対し、全て又はそのデータ部分が上記データ蓄積手段に蓄積されているデータ部分と同一であるか否かを判別する蓄積有無判別ステップと、(3)蓄積対象のデジタルデータにおける、上記データ蓄積手段に蓄積されているデータ部分と同一でないデータ部分を、上記データ蓄積手段に蓄積させるデータ書込ステップと、(4)上記各デジタルデータについて、そのデータ部分が上記データ蓄積手段のどの位置に蓄積されているかの管理情報を形成して管理するデータ管理ステップとを有することを特徴とする。
【0011】
第6の本発明は、蓄積用データ送信装置からデジタルデータ蓄積装置へ蓄積対象のデジタルデータの情報を与える蓄積用データ通信方法において、上記蓄積用データ送信装置が、ハッシュ値送信手段及び要求データ部分送信手段を備えると共に、上記デジタルデータ蓄積装置が、データ蓄積手段、ハッシュ値管理部、ハッシュ値判別部、データ部分要求・受信部及びデータ書込手段を備え、(1)上記ハッシュ値送信手段が、上記デジタルデータ蓄積装置に蓄積させる蓄積対象のデジタルデータを、1又は複数に分割し、分割したデータ部分毎に算出されたハッシュ値を、上記蓄積対象のデジタルデータの送信に先立って上記デジタルデータ蓄積装置に送信し、(2)上記ハッシュ値判別部が、上記蓄積用データ送信装置から受信したハッシュ値と、上記データ蓄積手段に蓄積されている各データ部分のハッシュ値を管理する上記ハッシュ値管理部が管理するハッシュ値との照合により、蓄積対象のデジタルデータのうちの、上記データ蓄積手段に蓄積されているデータ部分と同一のデータ部分と同一でないデータ部分とを判別し、(3)上記データ部分要求・受信部が、蓄積対象のデジタルデータのうちの、上記データ蓄積手段に蓄積されているデータ部分と同一でないデータ部分の送信を上記蓄積用データ送信装置に要求し、(4)上記要求データ部分送信手段が、蓄積対象のデジタルデータのうち、上記デジタルデータ蓄積装置から要求されたデータ部分を上記デジタルデータ蓄積装置に送信し、(5)上記データ部分要求・受信部が要求したデータ部分を取り込み、(6)上記データ書込手段が、上記データ部分要求・受信部が取り込んだデータ部分を上記データ蓄積手段に蓄積させることを特徴とする。
【発明の効果】
【0012】
本発明によれば、デジタルデータ蓄積装置が、複数のデジタルデータを効率良く蓄積することができるようになる。
【発明を実施するための最良の形態】
【0013】
(A)第1の実施形態
以下、本発明によるデジタルデータ蓄積装置及び方法の第1の実施形態を、図面を参照しながら詳述する。第1の実施形態は、デジタルデータ蓄積装置及び方法だけに特徴を有するものである。
【0014】
(A−1)第1の実施形態の構成
図1は、第1の実施形態に係るデジタルデータ蓄積装置の要部構成を示すブロック図である。第1の実施形態のデジタルデータ蓄積装置10は、例えば、その一部構成が、CPU、及び、CPUが実行するソフトウェアで構成されていても良い(なお、複数のCPUによる並列処理で処理する構成であっても良い)が、機能的には、図1で表すことができる。
【0015】
図1において、第1の実施形態のデジタルデータ蓄積装置10は、データ受信部11、データ制御部12及びデータ蓄積部13を有する。データ制御部12は、データ判別部20、データ管理・処理部21及びデータ書込部22を有する。
【0016】
第1の実施形態に係るデジタルデータ蓄積装置10は、例えば、デジタル放送用やインターネットテレビ用のセットトップボックス(STB)等の端末側機器だけでなく、配信サーバやネットワークディスクレコーダ等のセンター側機器に組み込まれて利用されるものである。このデジタルデータ蓄積装置10は、受信したデジタルデータを、できるだけ重複蓄積することなく蓄積しようとしたものである。なお、デジタルデータ蓄積装置10は、例えば、パソコン、携帯電話、PDAなどの単なる情報処理装置であっても良い。
【0017】
データ受信部11は、データ蓄積部13に保管するためのデー夕を受信して、データ制御部12に与えるものである。例えば、蓄積対象データ(蓄積用データ)を含むパケットが到来する場合であれば、データ受信部11は、パケットのペイロードに含まれている蓄積対象データを取り出してデータ制御部12に与えるものである。また、今回到来した蓄積対象データの識別情報(データID、データの通し番号など)をも、データ制御部12に与えるものである。
【0018】
データ制御部12は、データ受信部11から与えられた蓄積対象データの全て又は一部が、既に、データ蓄積部13に蓄積されているか否かを確認し、蓄積対象データの蓄積されていないデータ部分をデータ蓄積部13に追加して蓄積させ、蓄積対象データの既に蓄積されているデータ部分についてはその蓄積データ部分を、今回の蓄積対象データの一部として蓄積したように管理情報などを処理するものである。
【0019】
データ制御部12におけるデータ判別部20は、データ受信部11から与えられた蓄積対象データの全て又は一部が、既に、データ蓄積部13に蓄積されているか否かを判別(確認)する部分である。データ判別部20は、例えば、蓄積対象データを最小単位に分割し、最小単位のデータ部分毎に、データ蓄積部13の蓄積データと照合することにより、データ蓄積部13に蓄積されているか否かの判別を行う。
【0020】
ここで、データ判別部20が同一か否かを判別する最小単位はファイルの単位ではなく、それより小さな単位であれば良い。最小単位は、データ(データ部分)として意味を持つように定めても良く、単純に、長さなどで定めるようにしても良い。例えば、蓄積対象データがMPEGデータにおける映像データであれば、トランスポートストリーム(Transport Streem;TS)のパケットを、判別する最小単位とするようにしても良い。また例えば、トランスポートストリームにおけるトランスポートパケットのヘッダの先頭バイトは、必ずsync byteという特定の値(0x47)を有するので、この先頭バイトから始まる188バイトの全ての情報が同一の場合を、データ部分の同一と扱うように定めても良い。さらに、タイムスタンプなどに基づいて、所定時間のデータを最小単位とするようにしても良い。
【0021】
また、データ蓄積部13に、異なるコンテンツのような複数種類のデジタルデータを混在して蓄積させる場合には、データ判別部20は、蓄積対象データの識別情報(特に、データID)に基づき、同一種類のデジタルデータについて、既にデータが蓄積されているか否かを判別するようにすれば良い。但し、コンテンツのバージョンアップのような場合には(バージョンが異なると異なるコンテンツとして扱う場合)、既にデータが蓄積されているか否かの判別対象に、異なる種類のデジタルデータを含めるようにしても良い。
【0022】
データ判別部20は、データ蓄積部13に蓄積されていない蓄積対象データの部分(全てのこともあり得る)はデータ書込部22に与え、データ蓄積部13に蓄積されている蓄積対象データの部分については、蓄積されているエリアの情報などをデータ管理・処理部21に与えるものである。
【0023】
データ管理・処理部21は、データ受信部11から与えられた蓄積対象データをどのように蓄積しているかの情報(図2参照)を管理している。データ管理・処理部21は、例えば、内部にRAMなどでなるバッファメモリを有して所定の情報を管理するものであっても良く、データ蓄積部13の一部エリアを利用して所定の情報を管理するものであっても良い。
【0024】
データ管理・処理部21は、データ判別部20若しくはデータ書込部22から与えられた蓄積エリア情報などに基づいて、データ受信部11から与えられた蓄積対象データについての管理情報の追加などを行うものである(図2参照)。
【0025】
データ書込部22は、データ蓄積部13の各エリアの使用、未使用を管理しており、データ管理・処理部21から書き込むデータが与えられると、データ蓄積部13における書き込むエリアを定めて書き込み、そのエリア情報をデータ管理・処理部21に返信するものである。
【0026】
なお、上記とは異なり、データ管理・処理部21がデータ蓄積部13の各エリアの使用・未使用を管理し、データ蓄積部13に蓄積されていない蓄積対象データの部分の書込エリアを定めて、データ書込部22に通知して書込みを実行させるようにしても良い。
【0027】
データ蓄積部13は、例えば、ハードディスク装置や光ディスク装置などの大容量記憶装置が該当し、デジタルデータを保存(蓄積)するものである。なお、上述したデータ書込部22は、データ蓄積部13の装置構成に応じたものとなっている。
【0028】
図1では、第1の実施形態の特徴から離れるので省略しているが、データ蓄積部13に蓄積されているデジタルデータを読み出して出力するための構成も、デジタルデータ蓄積装置に設けられている。
【0029】
(A−2)第1の実施形態の動作
次に、第1の実施形態のデジタルデータ蓄積装置における蓄積動作を、図1に加え、図2をも参照しながら説明する。
【0030】
外部から到来した蓄積対象データは、データ受信部11によって受信されてデータ制御部12に与えられる。
【0031】
データ制御部12においては、データ判別部20によって、データ受信部11から与えられた蓄積対象データと、データ蓄積部13に既に蓄積されているデジタルデータと同一の部分があるか否かが判別される。
【0032】
同一の部分があると、その同一部分についてのデータ蓄積部13における格納エリアの情報などがデータ判別部20からデータ管理・処理部22に与えられる。データ蓄積部13に蓄積されていない蓄積対象データにおける部分のデータは、データ判別部20からデータ書込部22に与えられ、データ書込部22によって、データ蓄積部13で未使用のエリアに書込まれる。蓄積されたエリアの情報は、データ書込部22からデータ管理・処理部22に与えられる。データ管理・処理部22においては、既に蓄積されている部分についてはデータ判別部20からのエリア情報に基づき、新規な部分については、データ書込部22からのエリア情報に基づき、今回の蓄積対象データについての管理情報を生成する。
【0033】
例えば、データ蓄積部13に蓄積されていないデータ部分X1と、データ蓄積部13に蓄積されている部分と同一のデータ部分X2とが混在した蓄積対象データXが到来し、データ受信部11によって受信されたとする。なお、蓄積対象データXにおいて、データ部分X1の方が先頭側である。
【0034】
先頭側のデータ部分X1は、データ蓄積部13に同一のデータが蓄積されていないため、データ書込部22に与えられ、データ蓄積部13における未使用のエリアに書き込まれる。図2は、位置PBから、データ部分X1のサイズと等しいサイズLB分のエリアに書込まれた場合を示している(なお、未使用エリアの配置状況によっては複数のエリアに分かれて格納されることもあり得る)。位置PBやサイズLBの情報は、データ管理・処理部22に与えられる。その結果、データ管理・処理部22は、今回到来した蓄積対象データXの先頭側の部分X1については、開始位置PB、サイズLBを管理情報に含める。
【0035】
蓄積対象データXの後半側のデータ部分X2は、データ蓄積部13に蓄積されている部分と同一である。そのため、データ判別部20によって、同一のデータがデータ蓄積部13に蓄積されていると判別され、同一のデータが蓄積されているエリアを特定する、位置PA、サイズLAが、データ判別部20からデータ管理・処理部22に与えられる。その結果、データ管理・処理部22は、今回到来した蓄積対象データXについての後半側の部分X2については、開始位置PA、サイズLAを管理情報に含める。
【0036】
なお、図2は、データ蓄積部13におけるデータの管理を、データの開始位置とサイズとで行うものを示したが、他の方法で管理しても良い。例えば、データの開始位置と終了位置とで管理するようにしても良い。また、データ蓄積部13におけるブロック単位で蓄積する場合、ブロックIDの情報などで管理するようにしても良い。
【0037】
例えば、データ蓄積部13に蓄積されているデジタルデータを順次読み出す動作が実行され、データXが読出し対象となると、データ管理部21の管理情報(図2参照)に従い、データ蓄積部13の位置PBからサイズLB分だけ読み出した後、続いて、位置PAからサイズLA分だけ読み出して、これらの部分データX1及びX2の連続を、データXとして出力する。
【0038】
(A−3)第1の実施形態の効果
第1の実施形態によれば、蓄積対象データについて、一部でも同一のデータが既に蓄積されていれば、蓄積されている部分については新たに書込んで蓄積することを実行しないので、デジタルデータの効率的な蓄積(保管)を行うことができる。
【0039】
また、従来のようなファイル単位ではなく、より小さい単位での管理が可能となるため、蓄積対象データについて、同一データが既に蓄積されている頻度が高くなり、この点からも、効率よくデータを蓄積(保管)することができるということができる。
【0040】
(B)第2の実施形態
次に、本発明によるデジタルデータ蓄積装置、デジタルデータ蓄積方法、蓄積用データ送信装置、蓄積用データ通信システム及び蓄積用データ通信方法の第2の実施形態を、図面を参照しながら詳述する。
【0041】
(B−1)第2の実施形態の構成
図3は、第2の実施形態に係る蓄積用データ通信システムの全体構成を示すブロック図である。
【0042】
図3において、第2の実施形態の蓄積用データ通信システム1は、蓄積用データ送信装置30及びデジタルデータ蓄積装置50を備え、これら蓄積用データ送信装置30及びデジタルデータ蓄積装置50が任意のネットワークを介して接続されるものである。
【0043】
例えば、蓄積用データ送信装置30がコンテンツ配信装置に設けられ、デジタルデータ蓄積装置50が、コンテンツが配信される端末に設けられる。
【0044】
蓄積用データ送信装置30及びデジタルデータ蓄積装置50との設置関係については、例えば、以下のような設置例1及び設置例2が考えられる。
【0045】
設置例1の場合は、例えば、蓄積用データ送信装置30がコンテンツ配信装置に設けられ、デジタルデータ蓄積装置50が、コンテンツが配信される端末に設けられる。ここで、蓄積用データ送信装置30は、例えば、サーバクラスの情報処理装置に搭載されても良い。
【0046】
設置例2の場合は、例えば、蓄積用データ送信装置30が、コンテンツが配信される端末に設けられ、デジタルデータ蓄積装置50がコンテンツ配信装置に設けられる。
【0047】
設置例1の場合も設置例2の場合も、蓄積用データ送信装置30は、一部がソフトウェアによって構成されているものであるが、機能的には、デジタルデータ保管部31、データ読出制御部32、ハッシュ値送信部33、要求受信部34及びデータ送信部35を有する。ここで、蓄積用データ送信装置30がデジタルデータを送信するデジタルデータ蓄積装置50が複数存在する場合には、データ読出制御部32、ハッシュ値送信部33、要求受信部34及びデータ送信部35は、デジタルデータ蓄積装置50の数に等しいだけ存在するように動作する。なお、以下では、通信に供するデジタルデータ蓄積装置50が1個であるとして説明する。
【0048】
データ読出制御部32は、保管データ管理部40、データ読出部41、ハッシュ値演算部42及び送信データ判別部43を有する。
【0049】
蓄積用データ送信装置30は、デジタルデータ蓄積装置50に蓄積させるデジタルデータを送信させるものである。蓄積用データ送信装置30は、複数のデジタルデータを順次送信するものである。蓄積用データ送信装置30は、各デジタルデータの送信時には、デジタルデータの送信に先立って、そのデジタルデータを複数に分割したデータ部分毎に算出したハッシュ値を送信し、そのハッシュ値を受信したデジタルデータ蓄積装置50から要求されたデータ部分(全ての部分の送信要求もあり、また、全ての部分の送信不要のこともある)をデータ蓄積装置50に送信するものである。
【0050】
デジタルデータ保管部31は、設置例1の場合[蓄積用データ送信装置30:コンテンツ配信装置側、デジタルデータ蓄積装置50:端末側]、例えば、ハードディスク装置や光ディスク装置などの大容量記憶装置が該当し、デジタルデータ蓄積装置50に送信するデジタルデータを保存しているものである。
【0051】
また、デジタルデータ保管部31は、設置例2の場合[蓄積用データ送信装置30:端末側、デジタルデータ蓄積装置50:コンテンツ配信装置側]、例えば、ハードディスク装置や光ディスク装置などの大容量記憶装置が該当し、デジタルデータ蓄積装置50に送信するデジタルデータを保存しているものである。また、デジタルデータ保管部31は、蓄積用データ送信装置30が小規模な装置の場合、一時的にデータを格納するキャッシュを用いて、デジタルデータ蓄積装置50に送信するデジタルデータを保存しても良い。
【0052】
データ読出制御部32は、デジタルデータ保管部31に保存されているデジタルデータを順次取り出し、そのデジタルデータを複数に分割したデータ部分毎にハッシュ値を得て、ハッシュ値送信部33からデジタルデータ蓄積装置50に送信させたり、要求受信部34が受信したデジタルデータ蓄積装置50からの要求に基づいて、送信対象のデジタルデータのうち、実際に送信するデータ部分を判別したり、その判別の結果、認識したデータ部分をデジタルデータ蓄積装置50に送信したりするものである。
【0053】
ここで、1つのデジタルデータを複数のデータ部分に分割する方法は任意であって良い。例えば、デジタルデータがコンテンツに関係するものであって、タイムスタンプを含むものであれば、タイムスタンプに基づいて、複数のデータ部分に分割するようにしても良い。また例えば、デジタルデータが、Iフレーム(強制リフレッシュによるか否かは問わない)を適宜含む動画像に係るMPEGデータであれば、Iフレームから次のIフレームの直前までを1つのデータ部分にするように、複数のデータ部分に分割するようにしても良い。
【0054】
ハッシュ値送信部33は、データ読出制御部32から与えられたハッシュ値をデジタルデータ蓄積装置50に送信するものである。
【0055】
要求受信部34は、デジタルデータ蓄積装置50が送信した要求を受信し、データ読出制御部32に与えるものである。ここで、要求は、送信が必要なデータ部分と送信が不要なデータ部分とを区別できる情報となっている。
【0056】
データ送信部35は、データ読出制御部32から与えられたデータ部分をデジタルデータ蓄積装置50に送信するものである。
【0057】
データ読出制御部32における保管データ管理部40は、デジタルデータ保管部31に保管されているデジタルデータの連続性や、デジタルデータ蓄積装置50にそのうちのどのデジタルデータまでを送信したかの情報を管理するものであり、また、次に読み出す送信対象のデジタルデータをデータ読出部41に通知するものである。
【0058】
データ読出部41は、デジタルデータ保管部31から、デジタルデータ蓄積装置50へ次に送信しようとするデジタルデータを読み出すものである。
【0059】
ハッシュ値演算部42は、デジタルデータ保管部31から読み出したデジタルデータをバッファリングし、複数(1個の場合もあり得る)のデータ部分に分割し、分割した各データ部分毎にハッシュ値を演算し、得られたハッシュ値をハッシュ値送信部33から送信させるものである。なお、図3では、ハッシュ値をその都度演算するものを示したが、ハッシュ値も予め演算して保管しておき、それを取り出して送信するようにしても良い。
【0060】
送信データ判別部43は、要求受信部34から与えられた要求に基づき、送信対象のデジタルデータのうち、実際に送信するデータ部分を判別し、ハッシュ値演算部42にバッファリングされているデジタルデータのうち、該当するデータ部分を、データ送信部35に与えさせてデジタルデータ蓄積装置50に送信させるものである。送信データ判別部43は、かかる送信指示後、又は、送信させるデータ部分が皆無と判別した後、保管データ管理部40に今回のデジタルデータの送信処理の終了を通知するものである。
【0061】
第2の実施形態のデジタルデータ蓄積装置50は、ハッシュ値受信部51、データ書込制御部52、要求送信部53、データ受信部54及びデータ蓄積部55を有する。
【0062】
データ書込制御部52は、ハッシュ値管理部60、ハッシュ値判別部61、データ管理部62及びデータ書込部63を有する。
【0063】
第2の実施形態のデジタルデータ蓄積装置50は、デジタルデータ(データ部分)が送信される前に送信されてくるハッシュ値に基づき、そのデジタルデータのデータ部分と等しいデータ部分がデータ蓄積部55に既に蓄積されているか否かを判別し、データ蓄積部54に蓄積されていないデータ部分だけの送信を蓄積用データ送信装置30に要求し、受信したデータ部分だけを追加してデータ蓄積部55に蓄積させると共に、データ蓄積部55からの読出時にも全てのデジタルデータが不足なく読み出せるように蓄積デジタルデータの管理を行うものである。デジタルデータ蓄積装置50は、機能的には、上述した各部でなる。
【0064】
ハッシュ値受信部51は、蓄積用データ送信装置30から与えられたハッシュ値を受信し、データ書込制御部52に与えるものである。
【0065】
データ書込制御部52は、内部管理しているハッシュ値と、受信したハッシュ値との照合を通じて、送信必要なデータ部分と送信不要なデータ部分とを判別し、その結果を送信要求部53に与えるものである。また、データ書込制御部52は、データ受信部54が受信したデータ部分をデータ蓄積部55に書き込むものである。さらに、データ書込制御部52は、データ蓄積部55に蓄積されている複数のデータ部分でなるデジタルデータの情報や、データ蓄積部55に蓄積されている各データ部分についてのハッシュ値などを管理しているものである。
【0066】
要求送信部53は、ハッシュ値の照合により定まった送信必要なデータ部分の送信を求める要求を、蓄積用データ送信装置30に送信させるものである。
【0067】
データ受信部54は、蓄積用データ送信装置30が送信したデータ部分を受信し、データ書込制御部52に与えるものである。
【0068】
データ蓄積部55は、データ書込制御部52によってデータ部分が書き込まれるものである。あるデジタルデータの受信処理が完了したときには、それまで送信されてきたデジタルデータに共通するデータ部分が1つずつ、データ蓄積部55に蓄積されているようになされている。
【0069】
データ書込制御部52におけるハッシュ値管理部60は、データ蓄積部55に蓄積されている各データ部分についてのハッシュ値を、そのデータ部分の特定情報に対応付けて管理しているものである(図4参照)。データ部分の特定情報は任意に定めて良い。例えば、自動的にデータ部分に通し番号を付与して通し番号をデータ部分の特定情報として用いるようにしても良く(この場合、後述するデータ管理部62も通し番号で管理することになる)、また例えば、データ蓄積部55におけるデータ部分が記憶されている開始位置(開始アドレス)をデータ部分の特定情報として用いるようにしても良い(以下では、後者であるとして説明する)。
【0070】
ハッシュ値判別部61は、ハッシュ値管理部60が管理しているハッシュ値と、受信したハッシュ値との照合を通じて、送信必要なデータ部分と送信不要なデータ部分とを判別し、その結果を送信要求部53に与えるものである。ハッシュ値判別部61は、受信したハッシュ値が、ハッシュ値管理部60が管理しているハッシュ値と一致した場合には、その受信したハッシュ値に係るデータ部分を送信不要なデータ部分と判別し、受信したハッシュ値が、ハッシュ値管理部60が管理しているいずれのハッシュ値とも一致しない場合には、その受信したハッシュ値に係るデータ部分を送信必要なデータ部分と判別する。
【0071】
データ管理部62は、各デジタルデータに係るデータ部分が、データ蓄積部55におけるどこに記憶されているかの情報を管理しているものである(図4参照)。例えば、あるデジタルデータに対し、一部のデータ部分しか送信されてこない場合であれば、送信されてこないデータ部分については、ハッシュ値管理部60の管理内容と、過去に受信処理が完了している他のデジタルデータについての管理情報とから、今回のデジタルデータの管理情報に含める内容を決定し、送信されてきたデータ部分については、データ蓄積部55の書込位置などに基づいて、今回の管理情報に含める内容を決定する。データ管理部62は、データ蓄積部55における各メモリエリアの使用、未使用を管理しており、データ受信部54が受信したデータ部分のデータ蓄積部55における書き込むエリアを定めるものであり、そのエリア情報をハッシュ値管理部60及びデータ書込部63に与えるものである。
【0072】
データ書込部63は、データ受信部54が受信したデータ部分を、データ管理部62によって指示されたデータ蓄積部55のメモリエリアに書き込むものである。なお、データ書込部63がデータ蓄積部55における各メモリエリアの使用、未使用を管理し、受信したデータ部分の書込みエリアを定めるようにしても良い。この場合には、書込みエリアの情報がデータ書込部63から、ハッシュ値管理部60及びデータ管理部62に与えられることとなる。
【0073】
図3では、第2の実施形態の特徴から離れるので省略しているが、データ蓄積部55に蓄積されているデジタルデータを読み出して出力するための構成も、デジタルデータ蓄積装置50に設けられている。
【0074】
(B−2)第2の実施形態の動作
次に、第2の実施形態の蓄積用データ通信システム1の動作(蓄積用データ通信方法)を、図3に加え、図4をも参照しながら説明する。以下では、デジタルデータ蓄積装置50側の動作を中心に説明する。
【0075】
蓄積用データ送信装置30は、デジタルデータ保管部31に保管されているデジタルデータのうち、未送信のデジタルデータが新たな送信対象になると、データ読出制御部32がそのデジタルデータを読出し、そのデジタルデータを複数のデータ部分に分割し、分割したデータ部分毎にハッシュ値を算出してデジタルデータ蓄積装置50に送信する。
【0076】
このようなハッシュ値が到来したデジタルデータ蓄積装置50においては、ハッシュ値受信部51がハッシュ値を受信してデータ書込制御部52に与える。データ書込制御部52のハッシュ値判別部61は、受信したハッシュ値と同一のハッシュ値がハッシュ値管理部60で管理されているか否かを判別し、その判別結果を要求送信部53及びデータ管理部62に与える。例えば、ハッシュ値が5個送られてきた場合、5個中何番目のハッシュ値と同一のハッシュ値がハッシュ値管理部60で管理されているという判別結果がハッシュ値判別部61から出力される。
【0077】
要求送信部53は、ハッシュ値管理部60で管理されているハッシュ値と不一致の受信したハッシュ値に対応するデータ部分の送信を求める要求を蓄積用データ送信装置30に送信する。蓄積用データ送信装置30は、今回の送信対象のデジタルデータにつき、その要求された1又は複数の(全てのこともあり得る)データ部分だけをデジタルデータ蓄積装置50に送信する。
【0078】
デジタルデータ蓄積装置50におけるデータ受信部54がこのようなデータ部分を受信し、データ書込制御部52に与える。データ書込制御部52のデータ管理部62は、受信したデータ部分を蓄積させる、データ蓄積部63におけるメモリエリアを定めてデータ書込部63に書込みを指示し、データ書込部63は、データ蓄積部63の指示されたメモリエリアに受信したデータ部分を書き込む。
【0079】
データ管理部62は、今回の蓄積対象のデジタルデータについて、受信したのは1又は複数のデータ部分であるが、蓄積対象のデジタルデータの全てのデータ部分を含むように管理情報を形成する。ハッシュ値判別部61の判別結果から、送信されてこないことになったデータ部分については、そのデータ部分を要素とする過去のデジタルデータの管理情報を参照して管理情報に含める内容を決定し、送信されてきたデータ部分については、自己が定めた書き込むメモリエリアの情報に基づいて、管理情報に含める内容を決定する(図4参照)。
【0080】
ハッシュ値管理部60は、データ管理部62から与えられたメモリエリアに関する情報を識別情報として、ハッシュ値受信部51が受信していた、受信したデータ部分に対応するハッシュ値を追加して管理(登録)するようにする。ハッシュ値管理部60は、予め受信していたハッシュ値を管理するのではなく、受信したデータ部分からハッシュ値を算出し、算出したハッシュ値を管理(登録)するようにしても良い。
【0081】
なお、受信したデータ部分からハッシュ値を計算し、ハッシュ値管理部60で管理されているハッシュ値に一致していないことを再度確認した上で、データ蓄積部55に書き込むようにしても良い。
【0082】
図3では明確に示していないが、データ部分の書込みや、データ管理部62やハッシュ値管理部60での追加や更新などが終了したときには、蓄積用データ送信装置30に対し、今回の蓄積対象のデジタルデータに対する一連の蓄積処理が終了した旨を通知するようにしても良い。
【0083】
例えば、図4に示すように、データ蓄積部55にデジタルデータY1に係る3つのデータ部分D1〜D3がそれぞれ、開始位置PD1〜PD3から同一サイズ(データ長)L分だけ蓄積されているとする。このとき、データ管理部62には、デジタルデータY1に関し、データ部分D1については開始位置PD1、サイズL、次位置PD2が登録され、データ部分D2については開始位置PD2、サイズL、次位置PD3が登録され、データ部分D3については開始位置PD3、サイズL、次位置なし(NULL)が登録されている。また、ハッシュ値管理部60では、開始位置PD1に対応付けてデータ部分D1のハッシュ値HS1が登録され、開始位置PD2に対応付けてデータ部分D2のハッシュ値HS2が登録され、開始位置PD3に対応付けてデータ部分D3のハッシュ値HS3が登録されている。
【0084】
このような状態のときにおいて、蓄積用データ送信装置30が次に送信しようとするデジタルデータY2が、データ部分D2と同じデータ部分、データ部分D3と同じデータ部分、及び、データ蓄積部55に同じデータ部分が蓄積されていないデータ部分D4とでなるものであったとする。
【0085】
蓄積用データ送信装置30は、デジタルデータY2の送信に先立ち、デジタルデータY2を構成するデータ部分D2、D3、D4についてのハッシュ値HS2、HS3、HS4をデジタルデータ蓄積装置50へ送信する。デジタルデータ蓄積装置50においては、受信したハッシュ値HS2、HS3、HS4を、ハッシュ値管理部60で管理されているハッシュ値と照合する。その結果、受信したハッシュ値HS2、HS3、HS4のうち、HS2及びHS3がハッシュ値管理部60で管理されていること、言い換えると、ハッシュ値HS2及びHS3に対応するデータ部分D2、D3がデータ蓄積部55に蓄積されていることが分かる。そのため、デジタルデータ蓄積装置50は、ハッシュ値管理部60で管理されていないハッシュ値HS4に対応するデータ部分D4の送信を蓄積用データ送信装置30に要求する。
【0086】
データ部分D4を受信したデジタルデータ蓄積装置50は、データ蓄積部55の未使用のエリアの中から、データ部分D4を蓄積させるメモリエリアを定め、そのメモリエリアにデータ部分D4を書き込む。図4は、位置PD4を開始位置とし、データ部分D4のサイズL分だけ書き込まれた場合を示している。
【0087】
デジタルデータ蓄積装置50のデータ管理部62は、ハッシュ値管理部60で管理されているハッシュ値に一致した、受信したハッシュ値HS2及びHS3については、ハッシュ値管理部60から、識別情報としてその開始位置情報PD2及びPD3を得、この開始位置情報PD2及びPD3に基づいて、過去に受信処理したデジタルデータの管理情報を検索する。データ管理部62は、過去に受信処理したデジタルデータY1に関し、開始位置情報PD2、PD3を有する行があるので、今回の受信対象のデジタルデータY2におけるデータ部分D2、D3の管理情報として、その行の情報を流用する。但し、今回の受信対象のデジタルデータY2がデータ部分D2、D3、D4で構成されているため、デジタルデータY2の管理情報におけるデータ部分D3の次位置は、過去に受信処理したデジタルデータY1の情報とは異なる。また、データ管理部62は、受信したデータ部分D4については、自己が書込メモリエリア(開始位置PD4及びサイズL)を定めたので、その決定情報に基づいて管理情報を生成する。これにより、図4に示すようなデジタルデータY2についての管理情報が完成する。
【0088】
デジタルデータ蓄積装置50のハッシュ値管理部60は、図4に示すように、データ蓄積部55に新たに書き込まれたデータ部分D4の開始位置PD4に、そのハッシュ値HS4を対応付けた情報を追加登録する。
【0089】
なお、図4は、1個のデータ部分がデータ蓄積部55における連続したメモリエリアに蓄積される場合を示しているが、1個のデータ部分が、データ蓄積部55における複数箇所のメモリエリアに分散して蓄積されるようにしても良い。この場合、例えば、分散して蓄積された先頭側の蓄積開始にハッシュ値を対応付けるようにすれば良い。
【0090】
図3では、データ蓄積部55からのデジタルデータの読出構成の図示を省略しているが、読出動作は、例えば、以下のようになされる。
【0091】
例えば、データ蓄積部55に蓄積されているデジタルデータを順次読み出す動作が実行され、データY1が読出し対象となると、データ管理部62の管理情報(図4参照)に従い、データ蓄積部55の位置PD1からサイズL分だけ(すなわちデータ部分D1)読み出した後、続いて、位置PD2からサイズL分だけ(すなわちデータ部分D2)読み出し、さらに、位置PD3からサイズL分だけ(すなわちデータ部分D3)読み出して、これらのデータ部分D1〜D3の連続を、デジタルデータY1として出力する。また、データY2が読出し対象となると、データ管理部62の管理情報(図4参照)に従い、データ蓄積部55の位置PD2からサイズL分だけ(すなわちデータ部分D2)読み出した後、続いて、位置PD3からサイズL分だけ(すなわちデータ部分D3)読み出し、さらに、位置PD4からサイズL分だけ(すなわちデータ部分D4)読み出して、これらのデータ部分D2〜D4の連続を、デジタルデータY2として出力する。
【0092】
なお、このようなデータ部分の読出時にもハッシュ値を計算し、ハッシュ値管理部60に管理されているハッシュ値と照合し、データ蓄積部55に蓄積されているうちに、データ部分が破壊されていないことを確認するようにしても良い。
【0093】
(B−3)第2の実施形態の効果
第2の実施形態によれば、蓄積用データ送信装置が、デジタルデータの送信に先立って、そのデジタルデータを複数に分割したデータ部分毎に算出したハッシュ値を送信し、デジタルデータ蓄積装置が、受信したハッシュ値に基づき、そのハッシュ値に対応するデータ部分がデータ蓄積部に既に蓄積されているか否かを判別し、データ蓄積部に蓄積されていないデータ部分だけを蓄積用データ送信装置から送信させてデータ蓄積部に蓄積させるようにしたので、データ蓄積部に蓄積されている部分についてはデータ部分の伝送や、新たに書込み(蓄積)が必要ないため、デジタルデータの効率的な蓄積(保管)を行うことができる。
【0094】
また、従来例のようにファイル単位ではなく、より小さいデータ単位での管理が可能となるため、同一データ部分が蓄積されている頻度が高くなり、さらに効率よく蓄積させることができる。
【0095】
(C)他の実施形態
上記各実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
【0096】
上記第2の実施形態においては、ハッシュ値管理部に管理されているハッシュ値と同一の受信したハッシュ値が1個だけの場合でも、対応するデータ部分の送信や新規蓄積を中止するものを示したが、ハッシュ値の転送中での誤りを考慮した措置を講じるようにしても良い。例えば、受信した連続する2以上のハッシュ値がハッシュ値管理部に管理されているハッシュ値と同一の場合を同一と判別するようにしても良い。また例えば、デジタルデータ蓄積装置がハッシュ値管理部に管理されているハッシュ値と同一と判断した受信ハッシュ値を、蓄積用データ送信装置に送り返し、蓄積用データ送信装置が伝送によってハッシュ値に誤りが混入されていないことを確認するようにしても良い。蓄積用データ送信装置が伝送によってハッシュ値に誤りが混入されたと判断した場合には、そのデータ部分をもデジタルデータ蓄積装置に送信するようにしても良い。
【0097】
上記第1の実施形態では、ハッシュ値を利用せずデジタルデータを直ちにデジタルデータ蓄積装置に送信し、受信したデジタルデータに基づいて新規に蓄積する部分データを削減するものを示し、上記第2の実施形態では、デジタルデータの送信に先立って、そのデジタルデータを複数に分割したデータ部分毎に算出したハッシュ値を送信することを通じて、デジタルデータ蓄積装置に送信するデータ部分を削減して、新規に蓄積するデータ部分を削減するものを示したが、以下のように、これら実施形態の技術思想の中間的な技術思想を、デジタルデータ蓄積装置に適用するようにしても良い。
【0098】
すなわち、蓄積用データ送信装置からデジタルデータ蓄積装置へはデジタルデータだけを送信し、デジタルデータ蓄積装置が、受信したデジタルデータを複数に分割したデータ部分毎にハッシュ値を算出し、算出したハッシュ値と、ハッシュ値管理部に管理されているハッシュ値とを照合することを通じて、算出した各ハッシュ値に対応するデータ部分がデータ蓄積部に既に蓄積されているか否かを判別し、蓄積されていないデータ部分だけを追加蓄積させるようにしても良い。
【0099】
上記第2の実施形態においては、ハッシュ値管理部とデータ管理部とを別個に設けたものを示したが、これらを融合するようにしても良い。例えば、第2の実施形態におけるハッシュ値管理部を省略し、データ管理部の各行にハッシュ値をも格納するようにしても良い。
【0100】
上記各実施形態とは異なり、蓄積用データ送信装置及びデジタルデータ蓄積装置間の通信に、暗号化や圧縮化などを適用するようにしても良い。
【0101】
上記第2の実施形態においては、「ハッシュ値」、「デジタルデータ(データ部分)」、「要求」の通信に供するネットワークや通信回線が同じ場合を示したが、データ種類によって、ネットワークや通信回線が異なっていても良い。
【図面の簡単な説明】
【0102】
【図1】第1の実施形態に係るデジタルデータ蓄積装置の要部構成を示すブロック図である。
【図2】第1の実施形態に係るデジタルデータ蓄積装置の動作の説明図である。
【図3】第2の実施形態に係る蓄積用データ通信システムの全体構成を示すブロック図である。
【図4】第2の実施形態に係る蓄積データ通信システムの動作の説明図である。
【符号の説明】
【0103】
10…デジタルデータ蓄積装置、11…データ受信部、12…データ制御部、13…データ蓄積部、20…データ判別部、21…データ管理・処理部、22…データ蓄積部、
1…蓄積用データ通信システム、
30…蓄積用データ送信装置、31…デジタルデータ保管部、32…データ読出制御部、33…ハッシュ値送信部、34…要求受信部、35…データ送信部、40…保管データ管理部、41…データ読出部、42…ハッシュ値演算部、43…送信データ判別部、
50…デジタルデータ蓄積装置、51…ハッシュ値受信部、52…データ書込制御部、53…要求送信部、54…データ受信部、55…データ蓄積部、60…ハッシュ値管理部、61…ハッシュ値判別部、62…データ管理部、63…データ書込部。

【特許請求の範囲】
【請求項1】
複数のデジタルデータを蓄積するデジタルデータ蓄積装置において、
上記各デジタルデータを構成するデータ部分毎に蓄積しているデータ蓄積手段と、
蓄積対象のデジタルデータに対し、全て又はそのデータ部分が上記データ蓄積手段に蓄積されているデータ部分と同一であるか否かを判別する蓄積有無判別手段と、
蓄積対象のデジタルデータにおける、上記データ蓄積手段に蓄積されているデータ部分と同一でないデータ部分を、上記データ蓄積手段に蓄積させるデータ書込手段と、
上記各デジタルデータについて、そのデータ部分が上記データ蓄積手段のどの位置に蓄積されているかの管理情報を形成して管理するデータ管理手段と
を有することを特徴とするデジタルデータ蓄積装置。
【請求項2】
当該デジタルデータ蓄積装置に対向する蓄積用データ送信装置は、蓄積対象のデジタルデータの送信に先立って、蓄積対象のデジタルデータを1又は複数に分割したデータ部分毎に算出したハッシュ値を送信するものであり、
上記蓄積有無判別手段が、
上記データ蓄積手段に蓄積されている各データ部分のハッシュ値を管理するハッシュ値管理部と、
上記蓄積用データ送信装置から受信したハッシュ値と、上記ハッシュ値管理部が管理するハッシュ値との照合により、蓄積対象のデジタルデータのうちの、上記データ蓄積手段に蓄積されているデータ部分と同一のデータ部分と同一でないデータ部分とを判別するハッシュ値判別部と、
蓄積対象のデジタルデータのうちの、上記データ蓄積手段に蓄積されているデータ部分と同一でないデータ部分の送信を上記蓄積用データ送信装置に要求して取り込むデータ部分要求・受信部とを有する
ことを特徴とする請求項1に記載のデジタルデータ蓄積装置。
【請求項3】
請求項2に記載のデジタルデータ蓄積装置に対向する蓄積用データ送信装置であって、
上記デジタルデータ蓄積装置に蓄積させる蓄積対象のデジタルデータを、1又は複数に分割し、分割したデータ部分毎に算出されたハッシュ値を、上記蓄積対象のデジタルデータの送信に先立って上記デジタルデータ蓄積装置に送信するハッシュ値送信手段と、
蓄積対象のデジタルデータのうち、上記デジタルデータ蓄積装置から要求されたデータ部分を上記デジタルデータ蓄積装置に送信する要求データ部分送信手段と
を有することを特徴とする蓄積用データ送信装置。
【請求項4】
請求項3に記載の蓄積用データ送信装置と請求項2に記載のデジタルデータ蓄積装置とを有することを特徴とする蓄積用データ通信システム。
【請求項5】
複数のデジタルデータをデータ蓄積手段に蓄積するデジタルデータ蓄積方法において、
上記各デジタルデータを構成するデータ部分毎に蓄積させるデータ蓄積ステップと、
蓄積対象のデジタルデータに対し、全て又はそのデータ部分が上記データ蓄積手段に蓄積されているデータ部分と同一であるか否かを判別する蓄積有無判別ステップと、
蓄積対象のデジタルデータにおける、上記データ蓄積手段に蓄積されているデータ部分と同一でないデータ部分を、上記データ蓄積手段に蓄積させるデータ書込ステップと、
上記各デジタルデータについて、そのデータ部分が上記データ蓄積手段のどの位置に蓄積されているかの管理情報を形成して管理するデータ管理ステップと
を有することを特徴とするデジタルデータ蓄積方法。
【請求項6】
蓄積用データ送信装置からデジタルデータ蓄積装置へ蓄積対象のデジタルデータの情報を与える蓄積用データ通信方法において、
上記蓄積用データ送信装置が、ハッシュ値送信手段及び要求データ部分送信手段を備えると共に、上記デジタルデータ蓄積装置が、データ蓄積手段、ハッシュ値管理部、ハッシュ値判別部、データ部分要求・受信部及びデータ書込手段を備え、
上記ハッシュ値送信手段が、上記デジタルデータ蓄積装置に蓄積させる蓄積対象のデジタルデータを、1又は複数に分割し、分割したデータ部分毎に算出されたハッシュ値を、上記蓄積対象のデジタルデータの送信に先立って上記デジタルデータ蓄積装置に送信し、
上記ハッシュ値判別部が、上記蓄積用データ送信装置から受信したハッシュ値と、上記データ蓄積手段に蓄積されている各データ部分のハッシュ値を管理する上記ハッシュ値管理部が管理するハッシュ値との照合により、蓄積対象のデジタルデータのうちの、上記データ蓄積手段に蓄積されているデータ部分と同一のデータ部分と同一でないデータ部分とを判別し、
上記データ部分要求・受信部が、蓄積対象のデジタルデータのうちの、上記データ蓄積手段に蓄積されているデータ部分と同一でないデータ部分の送信を上記蓄積用データ送信装置に要求し、
上記要求データ部分送信手段が、蓄積対象のデジタルデータのうち、上記デジタルデータ蓄積装置から要求されたデータ部分を上記デジタルデータ蓄積装置に送信し、
上記データ部分要求・受信部が要求したデータ部分を取り込み、
上記データ書込手段が、上記データ部分要求・受信部が取り込んだデータ部分を上記データ蓄積手段に蓄積させる
ことを特徴とする蓄積用データ通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2009−181648(P2009−181648A)
【公開日】平成21年8月13日(2009.8.13)
【国際特許分類】
【出願番号】特願2008−20814(P2008−20814)
【出願日】平成20年1月31日(2008.1.31)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】