(57)【要約】  データ転送に要する時間を短くすること、およびチェックアウト時またはデータ持出の承認時からユーザがデータを利用可能になるまでの時間を短縮することを目的とする。  転送を要求するデータを複数の部分データに分割し、当該部分データのハッシュ値を送信することで各部分データの所有の有無を複数の送信装置に問合せ、各部分データを所有する送信装置の中で最も受信装置に近い送信装置から当該部分データを転送する。またチェックイン中やワークフローの案件が未承認の状態で事前に送信装置から受信装置にデータを転送し、受信装置のユーザがアクセスできない状態で格納しておき、チェックアウト後や当該案件が承認済の状態になったら直ぐアクセス権限を付与する。
2015011840.tif 000002
【特許請求の範囲】
【請求項１】
データ受信装置と複数のデータ送信装置とが互いにネットワークで接続された差分データ転送システムであって、
データ受信装置は、
ファイルと、前記ファイルのファイル識別子と、前記ファイルの分割データと、前記分割データの識別子およびハッシュ値とを対応付けたファイル構成情報とを記憶する受信装置記憶部と、
複数のデータ送信装置から最新ファイルを記憶している旨の通知を受信し、または前記通知を行ったデータ送信装置の中から前記データ受信装置に最短距離にあるデータ送信装置に対して前記最新ファイルと前記受信装置記憶部が記憶するファイルとの差分となる分割データの要求を送信し、または前記最短距離にあるデータ送信装置から前記差分となる分割データを受信する受信装置通信部と、
前記最新ファイルのファイル構成情報と、前記受信装置記憶部が記憶するファイル構成情報とに基づいて、前記差分となる分割データの識別子およびハッシュ値を含む差分ハッシュ情報を生成して前記複数のデータ送信装置に送信する差分データ生成部と、
前記最新ファイルを記憶している旨を受信したデータ送信装置の中で前記データ受信装置に最短距離にあるデータ送信装置を特定する経路選択部と、
前記受信装置記憶部が記憶する分割データと、前記最短距離にあるデータ送信装置から受信した前記差分となる分割データとに基づいて、最新のファイルを復元する復元部と、を備え、
前記複数のデータ送信装置のそれぞれは、
前記ファイルの識別子と、前記ファイルの分割データと、前記分割データの識別子とを対応付けて記憶する送信装置記憶部と、
前記データ受信装置から前記差分ハッシュ情報と前記最新ファイルの識別子を受信し、または前記最新ファイルを記憶していると判定された場合に、前記差分となる分割データおよびその旨を前記データ受信装置に送信する送信装置通信部と、
前記データ受信装置から受信した前記最新ファイルの識別子に基づいて、自身が記憶するファイルが最新であるか否かを判定する判定部と、
を備えることを特徴とする差分データ転送システム。
【請求項２】
最新ファイルを管理するデータ管理装置であって、前記最新ファイルのファイル識別子と、前記最新ファイルのファイル構成情報とを記憶する管理装置記憶部と、前記データ受信装置から受信した前記最新ファイルの送信要求に基づいて、前記最新ファイルのファイル構成情報を取得して前記データ受信装置に送信する管理装置通信部と、を備え、前記データ受信装置および前記データ送信装置にネットワークを介して接続されたデータ管理装置をさらに備え、
前記データ受信装置は、
前記受信装置通信部が、前記データ管理装置に前記識別子を送信して最新バージョンのファイルの送信要求を行い、または前記最新ファイルのファイル構成情報およびその識別子を前記データ管理装置から受信する、
ことを特徴とする請求項１に記載の差分データ転送システム。
【請求項３】
前記データ送信装置のそれぞれは、
前記判定部が、自身が記憶するファイルが最新でないと判定した場合には、そのファイルの分割データを生成し、生成した前記分割データのハッシュ値と、前記データ受信装置から受信した差分ハッシュ情報に含まれるハッシュ値とに基づいて、前記差分ハッシュ情報に含まれるハッシュ値と同じハッシュ値を含む分割データの差分ハッシュ情報を前記データ受信装置に送信し、
前記データ受信装置は、
前記経路選択部が、前記差分ハッシュ情報に含まれるハッシュ値と同じハッシュ値を含む分割データの差分ハッシュ情報を受信したデータ送信装置の中で、前記データ受信装置に最短距離にあるデータ送信装置を特定し、
前記復元部は、前記受信装置記憶部が記憶する分割データと、最短距離にあるデータ送信装置から受信した前記差分ハッシュ情報で示される分割データとに基づいて、最新のファイルを復元する、
ことを特徴とする請求項１または２に記載の差分データ転送システム。
【請求項４】
前記データ送信装置は、
前記判定部が、前記送信装置記憶部に記憶されているファイルを更新する際に排他制御してデータ受信装置からのアクセスを不可として前記ファイルを更新し、最後に更新した際に前記ファイルのファイル構成情報と前記ファイル識別子とを前記管理サーバに送信し、
前記データ受信装置は、
前記差分データ生成部が、前記データ送信装置に前記差分となる分割データの送信要求を行い、
前記受信装置通信部が、前記データ送信装置が前記ファイルを更新する都度前記差分となる分割データを受信し、または最後に更新された前記ファイルのファイル識別子を前記データ管理装置から受信し、
前記データ管理装置は、
前記前記管理装置通信部が、前記データ送信装置から受信した最後に更新した際に前記ファイルのファイル構成情報と前記ファイル識別子とを前記管理装置記憶部に記憶し、前記最後に更新された前記ファイルのファイル識別子を前記データ受信装置に送信する、
ことを特徴とする請求項１または２に記載の差分データ転送システム。
【請求項５】
前記データ送信装置は、
前記送信装置通信部が、ユーザからの指示を受けて前記送信装置記憶部に記憶されている承認申請対象ファイルを前記データ管理装置に送信し、または前記承認申請対象ファイルに対する承認情報を前記データ管理装置に送信し、
前記データ受信装置は、
前記受信装置通信部が、ユーザからの指示を受けて承認前の前記承認申請対象ファイルのダウンロード要求を前記データ管理装置に送信し、または前記データ管理装置から前記承認前の前記承認申請対象ファイルの前記分割データが暗号化された暗号化分割データを前記データ管理装置から受信し、または前記承認後の前記承認申請対象ファイルのファイル識別子を送信し、または前記データ管理装置から前記ファイル識別子と前記暗号カギに対応する復号鍵とを受信し、
前記データ管理装置は、
前記管理装置通信部が、前記データ送信装置から受信した前記承認申請対象ファイルの分割データを暗号化して前記データ受信装置に送信し、前記データ送信装置から前記承認申請対象ファイルの承認を受信した場合に、承認された前記承認申請対象ファイルのファイル識別子と前記復号鍵とを前記データ受信装置に送信する、
ことを特徴とする請求項１または２に記載の差分データ転送システム。
【請求項６】
前記データ管理装置は、
あらかじめ前記管理装置記憶部が記憶する持ち出しが禁止されているファイルに、前記データ受信装置から受信した前記承認申請対象ファイルが含まれているか否かを判定し、前記持ち出しが禁止されているファイルに前記承認申請対象ファイルが含まれていると判定した場合、前記データ受信装置への前記承認前の承認申請対象ファイルの送信をブロックするデータ管理部をさらに備える、
ことを特徴とする請求項５に記載の差分データ転送システム。
【請求項７】
前記データ管理装置は、
前記データ管理部が、前記承認前の承認申請対象ファイルの送信を承認された場合であっても、前記承認前の承認申請対象ファイルの分割データのハッシュ値が、あらかじめ前記管理装置記憶部が記憶する前記データ受信装置への送信が承認されたファイルの分割データのハッシュ値に含まれていない分割データの数または比率を判定し、前記分割データの数または比率が所定の閾値を超えた場合、前記データ受信装置に警告を送信して前記承認前の承認申請対象ファイルの送信をブロックする、
ことを特徴とする請求項６に記載の差分データ転送システム。
【請求項８】
互いにネットワークで接続されたデータ受信装置と複数のデータ送信装置との間で行われる差分データ転送方法であって、
データ受信装置から、最新ファイルのファイル構成情報と、受信装置記憶部が記憶するファイル構成情報とに基づいて、前記最新ファイルと前記受信装置記憶部が記憶するファイルとの差分となる分割データの識別子およびハッシュ値を含む差分ハッシュ情報を生成して複数のデータ送信装置に送信する第１ステップと、
前記データ受信装置から前記差分ハッシュ情報と前記最新ファイルの識別子を受信する第２ステップと、
前記データ受信装置から受信した前記最新ファイルの識別子に基づいて、自身が記憶するファイルが最新であるか否かを判定する第３ステップと、
前記最新ファイルを記憶していると判定された場合に、前記差分となる分割データおよびその旨を前記データ受信装置に送信する第４ステップと、
前記複数のデータ送信装置から最新ファイルを記憶している旨の通知を受信する第５ステップと、
前記最新ファイルを記憶している旨を受信したデータ送信装置の中で前記データ受信装置に最短距離にあるデータ送信装置を特定する第６ステップと、
前記通知を行ったデータ送信装置の中から前記データ受信装置に最短距離にあるデータ送信装置に対して前記最新ファイルと前記受信装置記憶部が記憶するファイルとの差分となる分割データの要求を送信する第７ステップと、
前記最短距離にあるデータ送信装置から前記差分となる分割データを受信する第８ステップと、
前記受信装置記憶部が記憶する分割データと、前記最短距離にあるデータ送信装置から受信した前記差分となる分割データとに基づいて、最新のファイルを復元する第９ステップと、
を含むことを特徴とする差分データ転送方法。
【請求項９】
最新ファイルを管理するデータ管理装置にファイルの識別子を送信して最新バージョンのファイルの送信要求を行うステップと、
前記データ受信装置から受信した前記最新ファイルの送信要求に基づいて、管理装置記憶部が記憶する前記最新ファイルのファイル構成情報を取得して前記データ受信装置に送信するステップと、
前記最新ファイルのファイル構成情報およびその識別子を前記データ管理装置から受信するステップと、
をさらに含み、これらの各ステップを行って前記第１ステップを実行する、
ことを特徴とする請求項８に記載の差分データ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の拠点間でデータを共有するシステムおよび方法に関するものである。
【背景技術】
【０００２】
データをクライアント側でチャンクとよばれる数キロバイトの単位に分割し、サーバが所有していない新規チャンクのみを転送する方式を適用した場合、クライアントが転送しようとしているチャンクの中身が、サーバで所有しているチャンクの中身と少しでも異なっている場合、ハッシュ値が一致しないため、クライアントは当該チャンクの中身をすべて転送する必要がある。特許文献１ではこの無駄を解決すべく、クライアント側でチャンクをさらに分割して、一致していない部分を絞り込んで転送する方式を提案している。なお、以下で述べる特徴量については特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】WO2012/005016
【発明の概要】
【発明が解決しようとする課題】
【０００４】
データをクライアント側でチャンクとよばれる数キロバイトの単位に分割し、サーバが所有していない新規チャンクのみを転送する方式を適用した場合、データを更新した装置から差分のチャンクを転送する必要があるため、データを送受信する装置間のネットワークの距離が離れている場合はデータ転送時間が増大してしまう。特にグローバルに分散した拠点間でデータを転送する場合にはこの問題を避けることができない。他の従来技術の方式でも、同様にデータを更新した装置からデータを転送する必要がある。【０００５】
また、データの同時更新による不整合を防ぐために排他制御を行う場合に、チェックアウトしてから他の装置にデータを転送するとデータ転送に時間がかかる。同様にワークフローでデータ持出を管理する場合に、データ持出が承認されてから他の装置にデータを転送するとデータ転送に時間がかかる。【０００６】
そこで、本発明は、データ転送に要する時間を短くすること、およびチェックアウト時またはデータ持出の承認時からユーザがデータを利用可能になるまでの時間を短縮することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかる差分データ転送システムは、データ受信装置と複数のデータ送信装置とが互いにネットワークで接続された差分データ転送システムであって、データ受信装置は、ファイルと、前記ファイルのファイル識別子と、前記ファイルの分割データと、前記分割データの識別子およびハッシュ値とを対応付けたファイル構成情報とを記憶する受信装置記憶部と、複数のデータ送信装置から最新ファイルを記憶している旨の通知を受信し、または前記通知を行ったデータ送信装置の中から前記データ受信装置に最短距離にあるデータ送信装置に対して前記最新ファイルと前記受信装置記憶部が記憶するファイルとの差分となる分割データの要求を送信し、または前記最短距離にあるデータ送信装置から前記差分となる分割データを受信する受信装置通信部と、前記最新ファイルのファイル構成情報と、前記受信装置記憶部が記憶するファイル構成情報とに基づいて、前記差分となる分割データの識別子およびハッシュ値を含む差分ハッシュ情報を生成して前記複数のデータ送信装置に送信する差分データ生成部と、前記最新ファイルを記憶している旨を受信したデータ送信装置の中で前記データ受信装置に最短距離にあるデータ送信装置を特定する経路選択部と、前記受信装置記憶部が記憶する分割データと、前記最短距離にあるデータ送信装置から受信した前記差分となる分割データとに基づいて、最新のファイルを復元する復元部と、を備え、前記複数のデータ送信装置のそれぞれは、前記ファイルの識別子と、前記ファイルの分割データと、前記分割データの識別子とを対応付けて記憶する送信装置記憶部と、前記データ受信装置から前記差分ハッシュ情報と前記最新ファイルの識別子を受信し、または前記最新ファイルを記憶していると判定された場合に、前記差分となる分割データおよびその旨を前記データ受信装置に送信する送信装置通信部と、前記データ受信装置から受信した前記最新ファイルの識別子に基づいて、自身が記憶するファイルが最新であるか否かを判定する判定部と、を備えることを特徴とする差分データ転送システムとして構成される。【０００８】
また、本発明は、差分データ転送方法としても把握される。
【発明の効果】
【０００９】
本発明によれば、データ転送に要する時間を短くすること、およびチェックアウト時またはデータ持出の承認時からユーザがデータを利用可能になるまでの時間を短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】差分データ転送システムの概略を示した説明図である。
【図２】実施例１の装置間のデータフローの概要を示した説明図である。
【図３】データ受信装置の概略構成を例示するブロック図である。
【図４】最新データ管理装置の概略構成を例示するブロック図である。
【図５】データ送信装置の概略構成を例示するブロック図である。
【図６】データ受信装置と最新データ管理装置のデータ転送処理を例示するシーケンス図である。
【図７】データ受信装置とデータ送信装置のデータ転送処理（前半）を例示するシーケンス図である。
【図８】データ受信装置とデータ送信装置のデータ転送処理（後半）を例示するシーケンス図である。
【図９】ファイル識別子を例示する図である。
【図１０】バージョン管理テーブルを例示する図である。
【図１１】ハッシュ管理テーブルを例示する図である。
【図１２】ストレージに格納したチャンクを例示する図である。
【図１３】ファイル構成情報を例示する図である。
【図１４】比較する二つのファイル構成情報と差分ハッシュ値および重複ハッシュ値を例示する図である。
【図１５】実施例２の装置間のデータフローの概要を示した説明図である。
【図１６】チャンキングおよびハッシュ値算出を例示する図である。
【図１７】ロック管理情報を例示する図である。
【図１８】ファイル構成出力処理を例示するシーケンス図である。
【図１９】実施例３の装置間のデータフローの概要を示した説明図である。
【図２０】データ持出管理ワークフローの申請案件情報を例示する図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本発明にかかる差分データ転送システムおよび差分データ転送方法の実施の形態を詳細に説明する。
【００１２】
図１は、本実施の形態における差分データ転送システムの概略を例示する図である。図示するように、差分データ転送システムは、データ受信装置20と、n台のデータ送信装置40-1〜40-nと、最新データ管理装置30を備え、これらがネットワーク10を介して相互に情報を送受信できるよう設計されている。データ送信装置40-1〜40-nはすべて同じ構成をとる。以下、任意の一つをデータ送信装置40と呼ぶ。なお、以下では、データ送信装置40と最新データ管理装置30とを物理的に２つの筺体に分けた前提で説明しているが、一つのデータ送信装置40が最新データ管理装置30を備えていてもよい。また、各装置が送信側と受信側のどちらの役割にもなるのが一般的な構成であるが、説明を分かりやすくするために、データ受信に必要な機能を有する装置をデータ受信装置20、データ送信に必要な機能を有する装置をデータ送信装置40として区別して説明する。
【００１３】
なお、以下ではファイルを分割して得られるデータをチャンクとよび区別することにする。チャンクの実体はバイト列からなるデータに過ぎないため、以下で説明する実施の形態は、チャンクをデータと読み替えても正しく動作する。本実施形態では、最新データ管理装置30は、データ受信装置20から受信するハッシュ値とデータ受信装置20が要求する最新のファイルのハッシュ値を比較して差分データを特定し、差分データのチャンクを所有しているデータ送信装置40-1〜40-nの中でデータ受信装置20に最も近いデータ送信装置40から当該チャンクを送信させることによりデータ転送の高速化を図る。また、以下ではファイルの最新バージョンを最新データ管理装置30が管理している前提で説明しているが、データ受信装置20やデータ送信装置40が管理していてもよい。
【実施例１】
【００１４】
図２を用いて本実施形態における装置間のデータフローの概要を説明する。データ受信装置20が古いバージョンのファイル200を保持しており、当該ファイル200の最新バージョンのファイル400の部分データであるチャンクをデータ送信装置40からデータ受信装置20に転送する場合の例で説明する。【００１５】
まずデータ受信装置20は、ファイル200の最新バージョンを確認するために、ファイル200を示すファイル識別子204を最新データ管理装置30へ送信する。ファイル識別子204の例を図９に示す。この例では、そのファイルが作成されたプロジェクトを識別するためのプロジェクトIDとファイル名とそのファイルのバージョンの組合せによりファイルを特定する。図９に示す例では、ファイル２００のファイル名はF1.txtであり、そのバージョンが002であることを示している。また、そのファイル200は、プロジェクトIDがP00001であるプロジェクトで作成されたものであることを示している。【００１６】
次に、最新データ管理装置30は、受信したファイル識別子204に対応する最新のファイル400のハッシュ値302を含むファイル構成情報303とファイル識別子404をデータ受信装置20に送信する。ハッシュ値302、ファイル構成情報303の具体的な内容については後述する。【００１７】
次にデータ受信装置20は、差分データのチャンクを保持しているか否かを問い合わせるために、上述したファイル構成情報303に含まれるチャンクと保有しているファイルとの差分となるチャンクとそのチャンクのハッシュ値から構成される差分ハッシュ情報225を複数のデータ送信装置40-1〜40-nに送信する。【００１８】
それぞれのデータ送信装置40は、データ受信装置20から受信した差分ハッシュ情報225と、保有しているファイルのチャンクのハッシュ値を比較して、保有しているチャンクと、差分ハッシュ情報225に含まれるチャンク識別子のチャンクとハッシュ値を含む差分ハッシュ情報425をデータ受信装置20に送信する。【００１９】
次にデータ受信装置20は、差分ハッシュ情報425を受け取ったデータ送信装置40のなかから最も近いものを特定し、そのデータ送信装置40に、差分のチャンクの転送を要求するために、ファイル識別子404と上述した差分ハッシュ情報225を送信する。次に、当該差分ハッシュ情報225を受信したデータ送信装置40は当該情報に含まれているハッシュ値432に対応するチャンクをデータ受信装置20に送信する。【００２０】
最後に、データ送信装置40-1〜40-nからチャンクを受信したデータ受信装置20は当該チャンクと予め保有していたチャンク202からファイル400を復元する。以上の方式によりネットワーク上でやり取りするデータの転送時間が短縮できる。【００２１】
図３は、データ受信装置20の概略構成を例示するブロック図である。図示するように、データ受信装置20は、CPU210、メモリ212、ストレージ214、ユーザインターフェース216、通信インターフェース218、差分データ受信部290および設定部280を備え、これらが内部バス219を介して相互に情報を送受信できるように設計されている。差分データ受信部290は、チャンキング部240、ハッシュ値算出部250、ハッシュ比較部220、経路選択部230、ファイル復元部260を備え、内部バス219を介して単体でCPU210などと相互に情報を送受信することができる。【００２２】
まずは汎用的な構成要素について説明する。CPU210は、様々な数値計算や情報処理、機器制御などを行う中央処理装置である。メモリ212は、CPU210が直接読み書きできるRAMやROMなどの半導体記憶装置である。ストレージ214は、コンピュータ内でデータやプログラムを記憶するハードディスクや磁気テープ、フラッシュメモリ等の装置である。当該装置はデータ送信装置40から受信するファイルなどを格納する。【００２３】
ユーザインターフェース216は、ディスプレイやマウス、キーボード等、ユーザに処理結果を出力し、かつユーザの指示を受け付けてデータ送信装置40の各構成要素に反映させるための装置である。【００２４】
通信インターフェース218は、データ送信装置40の各構成要素のネットワーク10を介したデータの送受信を制御するための装置である。相手方と認証して通信路を確立したり、処理が完了した後や、一定時間を経過しても相手方が何の応答しなかった場合などに通信路を切断したりなどの制御をおこなう。【００２５】
本実施例特有の構成要素は、差分データ受信部290、これを構成するチャンキング部240、ハッシュ値算出部250、ハッシュ比較部220、経路選択部230、ファイル復元部260である。これらのうち従来のデータ転送装置にはない最も特徴的な構成要素は、経路選択部230である。【００２６】
差分データ受信部290は、ストレージ214に格納されているファイルの最新バージョンの取得指示を、ユーザインターフェース216を介してユーザから受け取る。差分データ受信部290は、チャンキング部240、ハッシュ値算出部250、ハッシュ比較部220、経路選択部230、ファイル復元部260などを制御して、通信インターフェース218を介してハッシュ値222およびチャンク242を送受信し、メモリ212またはストレージ214に格納する。データ転送処理の一連の動作フローについては後で図６を用いて説明する。【００２７】
チャンキング部240は、ストレージ214に格納されているファイルを読み取ってチャンクに分割し、メモリ212またはストレージ214に一時的に格納する。【００２８】
ハッシュ値算出部250は、メモリ212またはストレージ214に格納されているファイルやチャンクを読み取り、ハッシュ値を算出し、メモリ212またはストレージ214に出力する装置である。ハッシュ値を導出するハッシュ関数として、例えばMD5やSHA-1などが知られている。【００２９】
設定部280は、最新データ管理装置30やデータ送信装置40からの応答を待つ待機時間の上限や、チャンキングなどの処理に必要なパラメータを設定する。これらのパラメータはユーザインターフェース216を介してユーザによって設定され、チャンキング部240、ハッシュ値算出部250などに反映される。【００３０】
なお、差分データ受信部290、これを構成するチャンキング部240、ハッシュ値算出部250、ハッシュ比較部220、経路選択部230、およびファイル復元部260については、それぞれの各部が単体で処理を実行してもよいし、それぞれの装置はプログラムのみを具備し、CPU210が当該プログラムをメモリ212に読み込んで実行してもよい。【００３１】
図４は、最新データ管理装置30の概略構成を例示するブロック図である。図示するように最新データ管理装置30は、CPU310、メモリ312、ストレージ314、ユーザインターフェース316、通信インターフェース318、および最新データ管理部390を備え、これらが内部バス319を介して相互に情報を送受信できるように設計されている。【００３２】
汎用的な構成要素であるCPU310、メモリ312、ストレージ314、ユーザインターフェース316、通信インターフェース318については、図３と同様の機能を有するので説明を割愛する。本実施例特有で従来のデータ転送装置にはない特徴的な構成要素は、最新データ管理部390である。【００３３】
最新データ管理部390は、通信インターフェース318を介してデータ受信装置20からファイル識別子204を受信してメモリ312に一時的に格納し、当該ファイル識別子204に対応するファイルを構成するチャンクのハッシュ値をストレージ314から取得し、メモリ312、ストレージ314に一時的に格納し、通信インターフェース318を介してデータ受信装置20に送信するための装置である。この一連の処理の動作フローについては後で図６を用いて説明する。【００３４】
図５は、データ送信装置40の概略構成を例示するブロック図である。図示するようにデータ送信装置40は、CPU410、メモリ412、ストレージ414、ユーザインターフェース416、通信インターフェース418、および差分データ送信部490を備え、これらが内部バス419を介して相互に情報を送受信できるように設計されている。差分データ送信部490は、チャンキング部450、ハッシュ値算出部420、ハッシュ比較部430、およびチャンク送信部440を備え、内部バス419を介して単体でCPU310などと相互に情報を送受信することができる。【００３５】
汎用的な構成要素であるCPU410、メモリ412、ストレージ414、ユーザインターフェース416、通信インターフェース418については、図３と同様の機能を有するので説明を割愛する。本実施例特有で従来のデータ転送装置にはない特徴的な構成要素は、差分データ送信部490、これを構成するチャンキング部450、ハッシュ値算出部420、ハッシュ比較部430、およびチャンク送信部440である。【００３６】
差分データ送信部490は、通信インターフェース418を介してデータ受信装置20とハッシュ値および重複ハッシュ値406およびチャンク401を送受信するための装置である。この一連の処理の動作フローについては後で図６を用いて説明する。なお、差分データ送信部490、これを構成するチャンキング部450、ハッシュ値算出部420、ハッシュ比較部430、およびチャンク送信部440については、それぞれの装置が単体で処理を実行してもよいし、それぞれの装置はプログラムのみを具備し、CPU410が当該プログラムをメモリ412に読み込んで実行してもよい。【００３７】
図６と図７および図８を用いて、データ受信装置20、最新データ管理装置30、およびデータ送信装置40の代表的なデータ転送処理を例示する。図３の差分データ受信部290と図４の最新データ管理部390、および図５の差分データ送信部490とが、以下の手順でネットワーク10を介したデータ転送を行う。差分データ受信部290、最新データ管理部390、および差分データ送信部490は、それぞれ通信インターフェース218、通信インターフェース318、通信インターフェース418を介して相互にデータ転送を行うが、ここでは説明を簡潔にするために、通信インターフェースの処理の記載は省略する。【００３８】
まず、データ受信装置20のユーザインターフェース216が、ユーザから最新バージョンを要求するファイル200の選択を受け付ける（S600）。データ受信装置20の差分データ受信部290は、当該ファイル200が最新であるかどうかを確認するために当該ファイル200のファイル識別子204を最新データ管理装置30に送信する（S601）。ファイル識別子204の例を図９に示す。【００３９】
最新データ管理装置30の最新データ管理部390は、データ受信装置20から受信したファイル識別子204に対応するファイル200の最新バージョンをバージョン管理テーブルで参照し、最新バージョンを示すファイル識別子304を取得する。次に、最新データ管理部390は、当該ファイル識別子304を検索キーとしてハッシュ管理テーブル307からファイル構成情報303によって構成されるファイルのチャンクのハッシュ値を取得する（S602）。
バージョン管理テーブルの例を図１０に示す。図１０の例の場合は、プロジェクトIDとファイル名が一致するレコードのバージョンの値を参照することにより最新バージョンを確認できる。例えば、ファイル名F1.txtで識別されるファイルの最新バージョンは003であることが分かる。【００４０】
また、ハッシュ管理テーブル307の例を図１１に示す。図１１に示すように、ハッシュ管理テーブル307は、ファイル識別子と、そのファイル識別子によって識別されるファイルを分割したチャンクのチャンク識別子と、そのチャンクのハッシュ値とが対応付けて記憶されている。例えば、図１１では、F1.txtによって識別されるバージョン002のファイルは、チャンク識別子001および002によって識別される２つのチャンクに分割されて管理され、各チャンクのハッシュ値が、それぞれM9LA7EU2F、EPJVU884WEであることを示している。【００４１】
また、ファイル構成情報の例を図１３に示す。図１３に示すように、ファイル構成情報は、ファイルごとに、上述したチャンク識別子とハッシュ値とが対応付けて記憶されている。図１３では、例えば、チャンク識別子001で識別されるチャンクのハッシュ値はM9LA7EU2Fであることを示している。また、図１３の例で示されるファイルは、チャンク識別子001〜005の５つのチャンクによって構成されていることを示している。最新データ管理部390は、ファイルが最新の状態に更新される都度、ファイル識別子をキーとしてハッシュ管理テーブル307にアクセスし、データ受信装置20から受信したファイルを構成するチャンクのハッシュ値をハッシュ管理テーブル307に格納するとともに、ファイル構成情報を格納する。【００４２】
S601が終了すると、データ受信装置20のチャンキング部240とハッシュ値算出部250は、図１８に示すファイル構成出力処理を実行する（S603）。チャンキング部240は、ファイル200を複数のチャンク202とよばれる部分データに分割する（チャンキング）。ハッシュ値算出部250は、当該チャンク202のハッシュ値208を算出する。【００４３】
図１８は、ファイル構成出力処理の処理手順を示すフローチャートである。図１８に示すように、チャンキング部240は、S601で送信したファイル識別子が示すファイル200をストレージ214やメモリ212から取得し（S1800）、そのファイル200に対して上述したチャンキング処理を実行する（S1801）。そして、チャンキング部240は、分割したそれぞれのチャンクにチャンク識別子に関連付けて出力する（S1802）。【００４４】
ハッシュ値算出部250は、ストレージ214やメモリ212に記憶された各チャンクのハッシュ値を算出し（S1803）、図１３に示したようなファイル構成情報を生成する（S1804）。このS1804の処理が終了すると、ファイル構成出力処理が終了する。【００４５】
図１６にチャンキングの結果、ファイル200をチャンク202-1〜202-4の4つのチャンク202に分割し、チャンク202-1〜202-4からハッシュ値208-1〜208-4を算出した例を示す。図１６では、チャンキング部240がファイル200を４つのチャンクに分割し、ハッシュ値算出部250がそれぞれのチャンクのハッシュ値を算出していることがわかる。続いて、図６に戻って、S604以降の処理について説明する。【００４６】
データ受信装置20の差分データ受信部290は、ステップS603で得られるチャンク202とファイル構成情報203とファイル識別子204をメモリ212またはストレージ214に一時的に格納する（S604）。ここでチャンク202をストレージ214に格納する例を、図１２に示す。この例ではファイル識別子204を名称とするフォルダにチャンク識別子をチャンク202のファイル名として格納する。図１２では、ファイル名P00001_F1.txt_002で識別されるファイルが４つのチャンクに分割され、ストレージ214に格納されていることがわかる。なお、ステップS603およびステップS604の処理は、ステップS600の前に行っていてもよい。【００４７】
S602の処理が終了すると、最新データ管理装置30の最新データ管理部390は、ステップ（S602）で取得したファイル構成情報303とファイル識別子304をデータ受信装置20に送信する（S605）。データ受信装置20の差分データ受信部290は、最新データ管理装置30から受信したファイル構成情報303とファイル識別子304をメモリ212またはストレージ214に一時的に格納する（S606）。【００４８】
データ受信装置20の差分データ受信部290のハッシュ比較部220は、最新データ管理装置30から受信し、メモリ212またはストレージ214に格納したファイル構成情報303と、ハッシュ値算出部250がファイル構成出力処理で生成し、メモリ212またはストレージ214に格納したファイル構成情報203とを入力値としてハッシュ比較処理を実行し、重複ハッシュ情報226と差分ハッシュ情報226を生成する（S607）。ハッシュ比較処理は図１４を用いて後で説明する。差分ハッシュ情報226に含まれるハッシュ値222はファイル200と最新バージョンのファイル400との差分データのチャンクのハッシュ値を意味する。【００４９】
続いて、図７に進み、データ受信装置20の差分データ受信部290は、前記差分のチャンクの保有の有無を問い合わせるために、前記差分ハッシュ情報226と前記ファイル識別子304を複数のデータ送信装置40-1〜40-nに送信する（S701）。【００５０】
データ送信装置40の差分データ送信部490は、データ受信装置20から受信した差分ハッシュ情報226とファイル識別子304を取得し、当該ファイル識別子304が示す最新バージョンのファイル400を保有しているか否かを判定し、その結果を確認する（S702）。データ送信装置40の差分データ送信部490は、確認の結果、最新バージョンのファイル400を保有している場合はステップS708へ、保有していない場合はステップS704へ進む（S703）。【００５１】
差分データ送信部490のチャンキング部450は、ファイル識別子304が示す最新バージョンのファイルに類似するファイル400を特定し、当該ファイル400を入力値としてチャンキング処理を実行し、保有ファイルのチャンク452を生成する（S704）。例えば、チャンキング部450は、ファイル識別子のうち、プロジェクトIDおよびファイル名が同じであってバージョンが異なるファイル、あるいはファイル名が同じであって、プロジェクトIDおよびバージョンが異なるファイルを類似するファイルとして特定する。【００５２】
差分データ送信部490のハッシュ値算出部420は、前記保有ファイルのチャンク452を入力値としてハッシュ値算出処理を実行し、保有ファイルのチャンク452のハッシュ値454を算出する。次に当該ハッシュ値454から図１３に示したようなファイル構成情報403を生成する（S705）。【００５３】
差分データ送信部490のハッシュ比較部430は、ステップS705で生成したファイル構成情報403とステップS702で取得した差分ハッシュ情報226を入力値としてハッシュ比較処理を実行し、差分ハッシュ情報425を生成する（S706）。例えば、プロジェクトIDが異なる場合であっても最新バージョンと内容が同じであれば差分ハッシュ情報425は差分ハッシュ情報226と同じものとなる一方、最新バージョンと内容が異なる場合には、そのハッシュ値は、最新バージョンのファイルの差分ハッシュ情報226に含まれるハッシュ値とは異なる値となる。差分データ送信部490のチャンク送信部440は、当該差分ハッシュ情報425をデータ受信装置20に送信する（S707）。【００５４】
一方、S703で最新バージョンのファイル400を保有している場合、差分データ送信部490のチャンク送信部440は、その旨を通知する（S708）。差分データ送信部490のチャンク送信部440は、そのファイルのファイル構成情報403については既に最新データ管理装置30から取得しているため、その旨のみ通知している。【００５５】
データ受信装置20の差分データ受信部290は、データ送信装置40から受信した差分ハッシュ情報425を当該データを送信したデータ受信装置の名称と共にメモリ212またはストレージ214に一時的に格納する（S709）。【００５６】
データ受信装置20の差分データ受信部290は、ステップS704で差分ハッシュ情報226を送信した全てのデータ送信装置40-1〜40-nから重複ハッシュ情報426を受信した場合、またはタイムアウトになった場合にステップS800に進み、それ以外の場合は待機して、他のデータ送信装置40のステップS709の処理を繰り返す（S710）。【００５７】
そして、図８に進み、データ受信装置20の差分データ受信部290の経路選択部230は、S607で生成された差分ハッシュ情報226に含まれるハッシュ値222ごとに、ステップS709でメモリ212またはストレージ214に一時的に格納した差分ハッシュ情報425に含まれる差分ハッシュ値の中で、そのハッシュ値222と値が同一であるハッシュ値432を検索し、対応するデータ受信装置の名称のリストを取得する（S801）。【００５８】
差分データ受信部290の経路選択部230は、S801で検索したハッシュ値222ごとに、その値に対応するチャンクの転送を要求する要求先として、データ受信装置の名称のリストの中から、データ受信装置20と各データ受信装置のネットワーク距離が最短であるデータ受信装置を選択する（S802）。差分データ受信部290の経路選択部230は、ネットワーク距離が最短であるか否かの判断を、例えば、IPアドレスを確認することによって行う。【００５９】
差分データ受信部290の経路選択部230は、差分のチャンクを要求するために、選択したデータ送信装置40に対して、そのハッシュ値222と対応するチャンク識別子を送信する（S803）。差分データ送信部490のチャンク送信部440は、データ受信装置20から受信したハッシュ値222に対応するチャンクとチャンク識別子の組合せをデータ受信装置20に送信する（S804）。【００６０】
差分データ受信部290のファイル復元部260は、データ送信装置40から受信したチャンクを、受信したチャンク識別子207をキーにしてストレージ214に一時的に格納する（S805）。ここで要求した全てのチャンク424を受信するまで当該処理を継続し、完了したらステップS806の処理に進む。【００６１】
差分データ受信部290のファイル復元部260は、ステップS607でメモリ212またはストレージ214に一時的に格納したファイル構成情報303を読み出すとともに、ステップS805でストレージ214に格納したチャンク424、およびステップS603でストレージ214に格納したチャンク202を読み出し、そのファイル構成情報303に含まれるチャンク識別子の順にチャンクを結合して最新バージョンのファイル400を復元する（S806）。【００６２】
次に、図１４を用いてハッシュ比較処理の例を説明する。図１４の（A）は保有しているファイルのファイル構成情報203であり、図１４の（B）は差分の有無を確認する対象となるファイルのファイル構成情報303である。図１４の（C）はハッシュ比較処理で得られる差分ハッシュ値と対応するチャンク識別子からなる差分ハッシュ情報である。図１４の（D）はハッシュ比較処理で得られる重複ハッシュ値と対応するチャンク識別子からなる重複ハッシュ情報である。【００６３】
ハッシュ比較処理では、まずファイル構成情報303のハッシュ値について当該ハッシュ値と値が一致するものがファイル構成情報203にあるか検索し、一致するものがある場合は当該レコードを重複ハッシュ値に分類し、一致するものがない場合は当該レコードを差分ハッシュ値に分類する。例えば図１４の（B）のハッシュ値「AAAA」と「BBBB」と「CCCC」はそれぞれ図１４の（A）の１レコード目から３レコード目に存在するため図１４の（D）に示すように重複ハッシュ値に分類する。反対に図１４の（B）のハッシュ値「XXXX」と「YYYY」はそれぞれ図１４の（A）のどのレコードにも存在しないためそのような差となったレコードを図１４の（C）に示すように重複ハッシュ値に分類する。【００６４】
以上、図１〜図１７を用いて、本実施例のシステム構成及びデータ転送方式について説明した。本実施例によって、チャンクを有する複数のデータ送信装置の中でネットワーク距離が最短であるデータ送信装置からチャンクを取得できるようになるため、従来方式と比較してよりデータ転送の総時間を短縮することができる。また、データを転送するネットワークの距離が短くなることでデータ転送時間を短縮できる。またデータ転送処理が複数の装置に分散され、さらにデータが転送される経路も分散されることにより、単位データサイズあたりの利用可能な通信帯域が相対的に大きくなり、トータルのデータ転送時間が短縮できる。【００６５】
なお、本実施例では、最新のバージョンをデータ受信装置20が取得する場合について説明しているが、ユーザ所望の特定のバージョン（例えば、最新よりも1つ前のサイクルのファイルのバージョン）が指定され、そのバージョンのファイルのファイル構成情報や差分ハッシュ情報を受信し、復元してもよい。
【実施例２】
【００６６】
次に、実施例１の最新データ管理装置30においてファイル更新のロックを管理し、最新データを常に同期するためにデータ送信装置40が更新データをデータ受信装置20に配信する場合の実施の形態を図面に基づいて詳細に説明する。【００６７】
図１５を用いて本実施形態における装置間のデータフローの概要を説明する。まず初めにデータ送信装置40がチェックインして（ファイルを排他制御してロックして）ファイルを更新するために、更新するファイル400のファイル識別子404を最新データ管理装置30に送信する。【００６８】
次に最新データ管理装置30がチェックインを通知するために、そのファイル識別子404をデータ受信装置20に送信する。データ受信装置20のユーザは、この通知により、そのファイルがロックされたことがわかる。【００６９】
次にデータ受信装置20は、暫定的に差分のチャンクの転送を要求するために、送信されたファイル識別子404とデータ受信装置20が現在所有しているファイル識別子が示すファイルのファイル構成情報203をデータ送信装置40に送信する。【００７０】
次に、データ送信装置40が差分のチャンクと更新後のファイル構成情報403をデータ受信装置20に送信する。ここでデータ送信装置40がファイル400を更新するたびに、更新に対応する差分データのチャンクとファイル構成情報403をデータ受信装置20に送信する処理を繰り返す。データ受信装置20では、差分データのチャンクとファイル構成情報403をデータ送信装置40から受信すると、実施例１の場合のように、S805およびS806と同様の処理を繰り返す。【００７１】
次に、データ送信装置40がファイルの更新を終了してチェックアウトするために最新データ管理装置30に、更新終了時点の最新のファイル識別子404と更新後のファイル構成情報403を最新データ管理装置30に送信する。最後に、データ送信装置40がチェックアウトを通知するためにファイル識別子404をデータ受信装置20に送信する。【００７２】
図１５を用いて、データ受信装置20、最新データ管理装置30、およびデータ送信装置40の代表的なデータ転送処理を例示する。本実施形態における処理フローは、チェックイン、差分データ転送、チェックアウトの３つから構成する。初めにチェックインの処理フローを説明する。【００７３】
まず、ユーザがデータ送信装置40のユーザインターフェース416を介してファイル400に対してチェックインを指示し、ユーザインタフェース416がその指示を受け付けると、データ送信装置40は、当該ファイル400のファイル識別子404を最新データ管理装置30に送信する。【００７４】
最新データ管理装置30の最新データ管理部390は、メモリ312またはストレージ314に格納しているロック管理情報を参照して、受信したファイル識別子404のロック有無を確認し、ロック状態（locked）であればロック状態（locked）であることをデータ送信装置40に送信する。非ロック状態（unlocked）であればロック管理情報の当該レコードのロック有無およびユーザIDをそれぞれロック状態（locked）とチェックインを要求しているユーザIDの値で更新し、ファイル識別子404のバージョンを暫定的に新しいバージョンに更新したファイル識別子304をデータ送信装置40に送信する。【００７５】
図１７にロック管理情報の例を示す。ロック有無の値が「locked」の場合はチェックイン中でファイル識別子が示すファイルがロックされていることを意味する。図１７では、ファイル名F1.txtのバージョン002のファイルはロックされておらず、ファイル名F1.txtのバージョン003のファイルはユーザU0001によってロックされていることを示している。【００７６】
次に最新データ管理装置30の最新データ管理部390は、チェックインを通知するために全てのデータ受信装置20にファイル識別子404を送信する。データ受信装置20の差分データ受信部290では、受信したファイル識別子404に対応するファイル200をデータ受信装置20のユーザが更新できないように、アクセスを制限する。【００７７】
次に、差分データ転送の処理フローを説明する。ユーザがデータ送信装置40のユーザインターフェース416を介してファイル400を更新すると、データ送信装置40の差分データ送信部490は、ファイル識別子404を引数として図１８に示すファイル構成出力処理を実行して、更新後のファイル構成情報403を生成する。またファイル構成情報403の更新前後を比較し、ハッシュ値が異なる更新後のチャンクとファイル識別子404と更新後のファイル構成情報403をデータ受信装置20に送信する。【００７８】
次にデータ受信装置20の差分データ受信部290は、ファイル識別子404と更新後のチャンクと更新後のファイル構成情報403を受信し、当該ファイル構成情報403に基づいて受信したチャンクと所有していたチャンクをファイル識別子404に対応付けてメモリ212またはストレージ214に格納する。上記の差分データ転送の処理フローは、ユーザがデータ送信装置40のユーザインターフェース416を介してファイル400を更新する度に実行する。【００７９】
次に、チェックアウトの処理フローを説明する。次に、ユーザがデータ送信装置40のユーザインターフェース416を介してファイル400に対してチェックアウトを指示すると、データ送信装置40の差分データ送信部490はファイル識別子404とファイル構成情報403を最新データ管理装置30に送信する。【００８０】
最新データ管理装置30の最新データ管理部390は、メモリ312またはストレージ314に格納しているロック管理情報において、受信したファイル識別子404に対応するレコードのロック有無の値を非ロック状態（unlocked）に更新する。【００８１】
次に最新データ管理装置30の最新データ管理部390は、チェックアウトを通知するためにデータ送信装置40から受信した最新のファイル識別子404をデータ受信装置20に送信する。これにより他受信装置20のユーザはファイルの最新のバージョンがわかる。最後にデータ受信装置20は、受信したファイル識別子404が示すファイルのロックを解除し、データ受信装置20のユーザが当該ファイルを更新できる状態にする。【００８２】
このように、実施例２では、更新されるファイルを排他制御した後、更新されたファイルの差分チャンクをその都度データ受信装置20に送信して更新しておく一方、最終的に更新された際のファイル構成情報を最新データ管理装置に送信し、排他制御を解除するので、一度にファイルを更新して排他制御を解除する場合に比べて、排他制御を解除してからユーザがデータを利用可能になるまでの時間を短縮できる。
【実施例３】
【００８３】
次に、実施例１の最新データ管理装置30においてデータ持出管理ワークフローを管理し、ワークフローのステータスに連動してデータ転送する場合の実施の形態を図面に基づいて詳細に説明する。【００８４】
本実施形態の最新データ管理装置30はデータ送信装置40と同様にチャンキング部350、ハッシュ値算出部320、ハッシュ比較部330、チャンク送信部340を含む差分データ送信部390を有し、各データ受信装置20、およびデータ送信装置40が所有するファイルのハッシュ値をストレージ314に有する。【００８５】
図１９を用いて本実施形態におけるデータ受信装置20、最新データ管理装置30、およびデータ送信装置40の代表的なデータ転送処理を例示する。本実施形態は、データ持出申請、暗号データ転送、データ持出承認、データ復号化の４つの処理フローから構成する。【００８６】
はじめにデータ持出申請の処理フローを説明する。ファイル400の持出の承認を得るために、ユーザがデータ送信装置40のWebブラウザを介してデータ持出管理ワークフローの申請案件情報とファイル400を最新データ管理装置30に送信する。図２０に申請案件情報の例を示す。図２０では、例えば、申請案件を識別するための申請案件IDがW00001の案件は、申請者user-1によって申請され、ファイル識別子F00001によって識別されるファイルを、転送先Site_Bに転送することを示している。また、現段階では、その申請は、申請者user-2によって承認済みの状態であることを示している。【００８７】
次に最新データ管理装置30のワークフロー管理部は、受信した当該申請案件情報とファイル400をメモリ312またはストレージ314に格納する。当該申請案件情報を格納する際、当該データのステータスの値を「未承認」にする。また、ワークフロー管理部は、当該ファイル400を入力として図１８に示すファイル構成出力処理を実行して、ファイル構成情報403を生成する。【００８８】
ここで、ワークフロー管理部は、事前に登録されているデータ持出禁止情報(例えば、持ち出しが禁止されているファイルと、そのファイルに含まれるチャンクと、そのチャンクのハッシュ値とを対応付けた情報)のハッシュ値が前記ファイル構成情報403に含まれていないか検索し、含まれている場合は前記申請案件情報に警告フラグまたは警告メッセージを追加してデータ転送（例えば、データ受信装置20への送信）をブロックする。【００８９】
あるいは、ワークフロー管理部は、前記ファイル構成情報403に含まれているハッシュ値が事前に登録されているデータ転送を承認されたデータ（ファイルに含まれるチャンク）のハッシュ値のリストに含まれているかを確認し、含まれていないハッシュ値の数またはその比率が予め設定している値を超えた場合は前記申請案件情報に警告フラグまたは警告メッセージを追加してデータ転送をブロックすることとしてもよい。すなわち、ワークフロー管理部が、承認前の承認申請対象ファイルの送信を承認された場合であっても、承認前の承認申請対象ファイルの分割データのハッシュ値が、あらかじめ記憶するデータ受信装置20への送信が承認されたファイルの分割データのハッシュ値に含まれていない分割データの数または比率を判定し、その分割データの数または比率が所定の閾値を超えた場合、データ受信装置20に警告を送信して承認前の承認申請対象ファイルの送信をブロックすることも可能である。【００９０】
次に、ワークフロー管理部は、当該ファイル400に対して暗号鍵を生成し、一時的にメモリ312またはストレージ314に格納する。【００９１】
次に、ワークフロー管理部は、生成したファイル構成情報403とデータ受信装置20が保有しているファイルに含まれるチャンクのハッシュ値を比較し、実施例１、２の場合と同様の差分ハッシュ情報を生成する。そして、最新データ管理部390は、当該差分ハッシュ情報に対応するチャンクを前記暗号鍵で暗号化した暗号化チャンクを生成する。そして当該暗号鍵と当該暗号チャンクを一時的にメモリ312またはストレージ314に格納する。暗号化チャンクを生成する理由は、申請案件情報に含まれるファイル（ファイル識別子によって識別されるファイル）が未承認の状態の場合には、その案件に対して承認者が検討途中であり、承認、未承認の理由等、データ受信装置20を使用する他のユーザに開示されては困る情報が記録されている場合があるためである。したがって、ワークフロー管理部は、未承認の状態にあるファイル全体、またはその部分（申請時と異なる部分。すなわち、差分ハッシュ情報に含まれるチャンク）について暗号化する。【００９２】
次に、暗号データ転送の処理フローを説明する。データ受信装置20の差分データ受信部は、未配信のファイルのダウンロードを要求するため、定期的にユーザID（例えば、図２０に示した申請案件情報の申請者以外のユーザ）を最新データ管理装置30に送信する。【００９３】
次に、最新データ管理装置30は、最新データ管理部390が、受信した前記ユーザIDに対応する未配信のデータの有無を確認し、未配信のファイルがある場合は、当該ファイルを示すファイル識別子304と上述した暗号化チャンクをデータ受信装置20に送信する。未配信のデータの確認については、例えば、ユーザIDと、ファイル識別子と、そのファイルの配信日時とを対応付けたテーブルを記憶しておき、ファイルを配信した場合にその配信日時を書込み、配信日時が書き込まれている場合には、そのファイルは配信済みであると判断する。この段階では、データ受信装置20のユーザは、一部が暗号化された状態のファイルを受信することとなる。【００９４】
次に、データ持出承認の処理フローを説明する。データ持出管理ワークフローの案件を処理するために、ワークフローの承認権限を持つユーザがデータ送信装置40のWebブラウザを介してデータ持出管理ワークフローの申請案件情報とファイル400を参照し、当該申請案件情報の申請案件IDと承認アクションを最新データ管理装置30に送信する。次に最新データ管理装置30のワークフロー管理部は、受信した前記申請案件IDの申請案件情報のステータスを「承認済」に更新する。【００９５】
次に、データ復号化の処理フローを説明する。データ受信装置20の差分データ受信部は、暗号データ転送の処理フローで受信した暗号化チャンクの復号化に必要な暗号鍵を取得するために、前記ファイル識別子304を最新データ管理装置30に送信する。【００９６】
次に最新データ管理装置30の差分データ送信部は、受信した前記ファイル識別子304に対応する申請案件情報のステータスを確認し、ステータスが既に「承認済」になっている場合は、対応する暗号鍵をデータ受信装置20に送信する。【００９７】
最後に、データ受信装置20の差分データ受信部は、受信した前記暗号鍵で一時的にメモリ212またはストレージ214に格納している前記の暗号化チャンクを復号化し、復号化したチャンクをメモリ212またはストレージ214に格納する。そしてメモリ212またはストレージ214に格納している前記ファイル構成情報403に基づいてチャンクを結合し、ファイル400を復元する。【００９８】
このように、実施例３では、承認が必要なファイルが未承認の状態であっても、ユーザから要求があった場合にはその一部を暗号化して送信しておき、その後承認がなされた後、暗号化した部分のデータおよび暗号化された部分のデータを復号化するための鍵を送信し、その部分のみを復号化するので、例えば、承認が下りて初めて要求されたデータを送信する場合に比べて、ユーザがデータを利用可能になるまでの時間を短縮できる。
【符号の説明】
【００９９】
10：ネットワーク
20：データ受信装置
30：最新データ管理装置
40、40-1〜40-n：データ送信装置
200、400：ファイル
202、202-1〜202-4、401：チャンク
203、303、403：ファイル構成情報
204、304、404：ファイル識別子
210、310、410：CPU
212、312、412：メモリ
214、314、414：ストレージ
216、316、416：ユーザインターフェース
218、318、418：通信インターフェース
219、319、419：内部バス
220、430：ハッシュ比較部
230：経路選択部
240、450：チャンキング部
250、420：ハッシュ値算出部
260：ファイル復元部
280：設定部
290：差分データ受信部
302：バージョン管理テーブル
307：ハッシュ管理テーブル
380：持出禁止情報管理部
385：持出禁止情報
409：ファイル構成変更情報
440：チャンク送信部
490：差分データ送信部。
【図１】
2015011840.tif 000003
【図２】
2015011840.tif 000004
【図３】
2015011840.tif 000005
【図４】
2015011840.tif 000006
【図５】
2015011840.tif 000007
【図６】
2015011840.tif 000008
【図７】
2015011840.tif 000009
【図８】
2015011840.tif 000010
【図９】
2015011840.tif 000011
【図１０】
2015011840.tif 000012
【図１１】
2015011840.tif 000013
【図１２】
2015011840.tif 000014
【図１３】
2015011840.tif 000015
【図１４】
2015011840.tif 000016
【図１５】
2015011840.tif 000017
【図１６】
2015011840.tif 000018
【図１７】
2015011840.tif 000019
【図１８】
2015011840.tif 000020
【図１９】
2015011840.tif 000021
【図２０】
2015011840.tif 000022
【手続補正書】
【提出日】平成27年9月25日(2015.9.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ受信装置と複数のデータ送信装置とが互いにネットワークで接続された差分データ転送システムであって、
データ受信装置は、
ファイルと、前記ファイルのファイル識別子と、前記ファイルの分割データと、前記分割データの識別子およびハッシュ値とを対応付けたファイル構成情報とを記憶する受信装置記憶部と、
複数のデータ送信装置から最新ファイルを記憶している旨の通知を受信し、または前記通知を行ったデータ送信装置の中から前記データ受信装置に最短距離にあるデータ送信装置に対して前記最新ファイルと前記受信装置記憶部が記憶するファイルとの差分となる分割データの要求を送信し、または前記最短距離にあるデータ送信装置から前記差分となる分割データを受信する受信装置通信部と、
前記最新ファイルのファイル構成情報と、前記受信装置記憶部が記憶するファイル構成情報とに基づいて、前記差分となる分割データの識別子およびハッシュ値を含む差分ハッシュ情報を生成して前記複数のデータ送信装置に送信する差分データ生成部と、
前記最新ファイルを記憶している旨を受信したデータ送信装置の中で前記データ受信装置に最短距離にあるデータ送信装置を特定する経路選択部と、
前記受信装置記憶部が記憶する分割データと、前記最短距離にあるデータ送信装置から受信した前記差分となる分割データとに基づいて、最新のファイルを復元する復元部と、を備え、
前記複数のデータ送信装置のそれぞれは、
前記ファイルの識別子と、前記ファイルの分割データと、前記分割データの識別子とを対応付けて記憶する送信装置記憶部と、
前記データ受信装置から前記差分ハッシュ情報と前記最新ファイルの識別子を受信し、または前記最新ファイルを記憶していると判定された場合に、前記差分となる分割データおよびその旨を前記データ受信装置に送信する送信装置通信部と、
前記データ受信装置から受信した前記最新ファイルの識別子に基づいて、自身が記憶するファイルが最新であるか否かを判定する判定部と、
を備えることを特徴とする差分データ転送システム。
【請求項２】
最新ファイルを管理するデータ管理装置であって、前記最新ファイルのファイル識別子と、前記最新ファイルのファイル構成情報とを記憶する管理装置記憶部と、前記データ受信装置から受信した前記最新ファイルの送信要求に基づいて、前記最新ファイルのファイル構成情報を取得して前記データ受信装置に送信する管理装置通信部と、を備え、前記データ受信装置および前記データ送信装置にネットワークを介して接続されたデータ管理装置をさらに備え、
前記データ受信装置は、
前記受信装置通信部が、前記データ管理装置に前記識別子を送信して最新バージョンのファイルの送信要求を行い、または前記最新ファイルのファイル構成情報およびその識別子を前記データ管理装置から受信する、
ことを特徴とする請求項１に記載の差分データ転送システム。
【請求項３】
前記データ送信装置のそれぞれは、
前記判定部が、自身が記憶するファイルが最新でないと判定した場合には、そのファイルの分割データを生成し、生成した前記分割データのハッシュ値と、前記データ受信装置から受信した差分ハッシュ情報に含まれるハッシュ値とに基づいて、前記差分ハッシュ情報に含まれるハッシュ値と同じハッシュ値を含む分割データの差分ハッシュ情報を前記データ受信装置に送信し、
前記データ受信装置は、
前記経路選択部が、前記差分ハッシュ情報に含まれるハッシュ値と同じハッシュ値を含む分割データの差分ハッシュ情報を受信したデータ送信装置の中で、前記データ受信装置に最短距離にあるデータ送信装置を特定し、
前記復元部は、前記受信装置記憶部が記憶する分割データと、最短距離にあるデータ送信装置から受信した前記差分ハッシュ情報で示される分割データとに基づいて、最新のファイルを復元する、
ことを特徴とする請求項１または２に記載の差分データ転送システム。
【請求項４】
前記データ送信装置は、
前記判定部が、前記送信装置記憶部に記憶されているファイルを更新する際に排他制御してデータ受信装置からのアクセスを不可として前記ファイルを更新し、最後に更新した際に前記ファイルのファイル構成情報と前記ファイル識別子とを前記データ管理装置に送信し、
前記データ受信装置は、
前記差分データ生成部が、前記データ送信装置に前記差分となる分割データの送信要求を行い、
前記受信装置通信部が、前記データ送信装置が前記ファイルを更新する都度前記差分となる分割データを受信し、または最後に更新された前記ファイルのファイル識別子を前記データ管理装置から受信し、
前記データ管理装置は、
前記管理装置通信部が、前記データ送信装置から受信した最後に更新した際に前記ファイルのファイル構成情報と前記ファイル識別子とを前記管理装置記憶部に記憶し、前記最後に更新された前記ファイルのファイル識別子を前記データ受信装置に送信する、
ことを特徴とする請求項２に記載の差分データ転送システム。
【請求項５】
前記データ送信装置は、
前記送信装置通信部が、ユーザからの指示を受けて前記送信装置記憶部に記憶されている承認申請対象ファイルを前記データ管理装置に送信し、または前記承認申請対象ファイルに対する承認情報を前記データ管理装置に送信し、
前記データ受信装置は、
前記受信装置通信部が、ユーザからの指示を受けて承認前の前記承認申請対象ファイルのダウンロード要求を前記データ管理装置に送信し、または前記データ管理装置から前記承認前の前記承認申請対象ファイルの前記分割データが暗号化された暗号化分割データを前記データ管理装置から受信し、または承認後の前記承認申請対象ファイルのファイル識別子を送信し、または前記データ管理装置から前記ファイル識別子と暗号カギに対応する復号鍵とを受信し、
前記データ管理装置は、
前記管理装置通信部が、前記データ送信装置から受信した前記承認申請対象ファイルの分割データを暗号化して前記データ受信装置に送信し、前記データ送信装置から前記承認申請対象ファイルの承認を受信した場合に、承認された前記承認申請対象ファイルのファイル識別子と前記復号鍵とを前記データ受信装置に送信する、
ことを特徴とする請求項１または２に記載の差分データ転送システム。
【請求項６】
前記データ管理装置は、
あらかじめ前記管理装置記憶部が記憶する持ち出しが禁止されているファイルに、前記データ受信装置から受信した前記承認申請対象ファイルが含まれているか否かを判定し、前記持ち出しが禁止されているファイルに前記承認申請対象ファイルが含まれていると判定した場合、前記データ受信装置への前記承認前の承認申請対象ファイルの送信をブロックするデータ管理部をさらに備える、
ことを特徴とする請求項５に記載の差分データ転送システム。
【請求項７】
前記データ管理装置は、
前記データ管理部が、前記承認前の承認申請対象ファイルの送信を承認された場合であっても、前記承認前の承認申請対象ファイルの分割データのハッシュ値が、あらかじめ前記管理装置記憶部が記憶する前記データ受信装置への送信が承認されたファイルの分割データのハッシュ値に含まれていない分割データの数または比率を判定し、前記分割データの数または比率が所定の閾値を超えた場合、前記データ受信装置に警告を送信して前記承認前の承認申請対象ファイルの送信をブロックする、
ことを特徴とする請求項６に記載の差分データ転送システム。
【請求項８】
互いにネットワークで接続されたデータ受信装置と複数のデータ送信装置との間で行われる差分データ転送方法であって、
データ受信装置から、最新ファイルのファイル構成情報と、受信装置記憶部が記憶するファイル構成情報とに基づいて、前記最新ファイルと前記受信装置記憶部が記憶するファイルとの差分となる分割データの識別子およびハッシュ値を含む差分ハッシュ情報を生成して複数のデータ送信装置に送信する第１ステップと、
前記データ受信装置から前記差分ハッシュ情報と前記最新ファイルの識別子を受信する第２ステップと、
前記データ受信装置から受信した前記最新ファイルの識別子に基づいて、自身が記憶するファイルが最新であるか否かを判定する第３ステップと、
前記最新ファイルを記憶していると判定された場合に、前記差分となる分割データおよびその旨を前記データ受信装置に送信する第４ステップと、
前記複数のデータ送信装置から最新ファイルを記憶している旨の通知を受信する第５ステップと、
前記最新ファイルを記憶している旨を受信したデータ送信装置の中で前記データ受信装置に最短距離にあるデータ送信装置を特定する第６ステップと、
前記通知を行ったデータ送信装置の中から前記データ受信装置に最短距離にあるデータ送信装置に対して前記最新ファイルと前記受信装置記憶部が記憶するファイルとの差分となる分割データの要求を送信する第７ステップと、
前記最短距離にあるデータ送信装置から前記差分となる分割データを受信する第８ステップと、
前記受信装置記憶部が記憶する分割データと、前記最短距離にあるデータ送信装置から受信した前記差分となる分割データとに基づいて、最新のファイルを復元する第９ステップと、
を含むことを特徴とする差分データ転送方法。
【請求項９】
最新ファイルを管理するデータ管理装置にファイルの識別子を送信して最新バージョンのファイルの送信要求を行うステップと、
前記データ受信装置から受信した前記最新ファイルの送信要求に基づいて、管理装置記憶部が記憶する前記最新ファイルのファイル構成情報を取得して前記データ受信装置に送信するステップと、
前記最新ファイルのファイル構成情報およびその識別子を前記データ管理装置から受信するステップと、
をさらに含み、これらの各ステップを行って前記第１ステップを実行する、
ことを特徴とする請求項８に記載の差分データ転送方法。
【手続補正書】
【提出日】平成28年8月26日(2016.8.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ受信装置と複数のデータ送信装置とデータ管理装置とが互いにネットワークで接続された差分データ転送システムであって、
前記データ送信装置は、
ユーザからの指示を受けて送信装置記憶部に記憶されている承認申請対象ファイルを前記データ管理装置に送信し、または前記承認申請対象ファイルに対する承認情報を前記データ管理装置に送信する送信装置通信部を備え、
前記データ受信装置は、
ユーザからの指示を受けて承認前の前記承認申請対象ファイルのダウンロード要求を前記データ管理装置に送信し、または前記データ管理装置から前記承認前の前記承認申請対象ファイルの前記分割データが暗号化された暗号化分割データを前記データ管理装置から受信し、または承認後の前記承認申請対象ファイルのファイル識別子を送信し、または前記データ管理装置から前記ファイル識別子と暗号カギに対応する復号鍵とを受信する受信装置通信部を備え、
前記データ管理装置は、
あらかじめ管理装置記憶部が記憶する持ち出しが禁止されているファイルに、前記データ受信装置から受信した前記承認申請対象ファイルが含まれているか否かを判定するデータ管理部と、
前記データ送信装置から受信した前記承認申請対象ファイルの分割データを暗号化して前記データ受信装置に送信し、前記データ送信装置から前記承認申請対象ファイルの承認を受信した場合に、承認された前記承認申請対象ファイルのファイル識別子と前記復号鍵とを前記データ受信装置に送信する管理装置通信部と、を備え、
前記データ管理部は、前記承認前の承認申請対象ファイルの送信を承認された場合であっても、前記承認前の承認申請対象ファイルの分割データのハッシュ値が、あらかじめ記憶する前記データ受信装置への送信が承認されたファイルの分割データのハッシュ値に含まれていない分割データの数または比率を判定し、前記分割データの数または比率が所定の閾値を超えた場合、前記データ受信装置に警告を送信して前記承認前の承認申請対象ファイルの送信をブロックする、
ことを特徴とする差分データ転送システム。
【請求項２】
前記データ受信装置は、
前記受信装置記憶部が、ファイルと、前記ファイルのファイル識別子と、前記ファイルの分割データと、前記分割データの識別子およびハッシュ値とを対応付けたファイル構成情報とを記憶し、
前記受信装置通信部が、前記複数のデータ送信装置から最新ファイルを記憶している旨の通知を受信し、または前記通知を行ったデータ送信装置の中から前記データ受信装置に最短距離にあるデータ送信装置に対して前記最新ファイルと前記受信装置記憶部が記憶するファイルとの差分となる分割データの要求を送信し、または前記最短距離にあるデータ送信装置から前記差分となる分割データを受信し、
前記最新ファイルのファイル構成情報と、前記受信装置記憶部が記憶するファイル構成情報とに基づいて、前記差分となる分割データの識別子およびハッシュ値を含む差分ハッシュ情報を生成して前記複数のデータ送信装置に送信する差分データ生成部と、
前記最新ファイルを記憶している旨を受信したデータ送信装置の中で前記データ受信装置に最短距離にあるデータ送信装置を特定する経路選択部と、
前記受信装置記憶部が記憶する分割データと、前記最短距離にあるデータ送信装置から受信した前記差分となる分割データとに基づいて、最新のファイルを復元する復元部と、
を備え、
前記複数のデータ送信装置のそれぞれは、
前記送信装置記憶部が、前記ファイルの識別子と、前記ファイルの分割データと、前記分割データの識別子とを対応付けて記憶し、
前記送信装置通信が、前記データ受信装置から前記差分ハッシュ情報と前記最新ファイルの識別子を受信し、または前記最新ファイルを記憶していると判定された場合に、前記差分となる分割データおよびその旨を前記データ受信装置に送信し、
前記データ受信装置から受信した前記最新ファイルの識別子に基づいて、自身が記憶するファイルが最新であるか否かを判定する判定部と、
を備えることを特徴とする請求項１に記載の差分データ転送システム。
【請求項３】
前記データ管理装置は、最新ファイルを管理する装置であって、前記最新ファイルのファイル識別子と、前記最新ファイルのファイル構成情報とを記憶する管理装置記憶部と、前記データ受信装置から受信した前記最新ファイルの送信要求に基づいて、前記最新ファイルのファイル構成情報を取得して前記データ受信装置に送信する管理装置通信部と、を備え、前記データ受信装置および前記データ送信装置にネットワークを介して接続され、
前記データ受信装置は、前記受信装置通信部が、前記データ管理装置に前記識別子を送信して最新バージョンのファイルの送信要求を行い、または前記最新ファイルのファイル構成情報およびその識別子を前記データ管理装置から受信する、
ことを特徴とする請求項２に記載の差分データ転送システム。
【請求項４】
前記データ送信装置のそれぞれは、
前記判定部が、自身が記憶するファイルが最新でないと判定した場合には、そのファイルの分割データを生成し、生成した前記分割データのハッシュ値と、前記データ受信装置から受信した差分ハッシュ情報に含まれるハッシュ値とに基づいて、前記差分ハッシュ情報に含まれるハッシュ値と同じハッシュ値を含む分割データの差分ハッシュ情報を前記データ受信装置に送信し、
前記データ受信装置は、
前記経路選択部が、前記差分ハッシュ情報に含まれるハッシュ値と同じハッシュ値を含む分割データの差分ハッシュ情報を受信したデータ送信装置の中で、前記データ受信装置に最短距離にあるデータ送信装置を特定し、
前記復元部は、前記受信装置記憶部が記憶する分割データと、最短距離にあるデータ送信装置から受信した前記差分ハッシュ情報で示される分割データとに基づいて、最新のファイルを復元する、
ことを特徴とする請求項２または３に記載の差分データ転送システム。
【請求項５】
前記データ送信装置は、
前記判定部が、前記送信装置記憶部に記憶されているファイルを更新する際に排他制御してデータ受信装置からのアクセスを不可として前記ファイルを更新し、最後に更新した際に前記ファイルのファイル構成情報と前記ファイル識別子とを前記データ管理装置に送信し、
前記データ受信装置は、
前記差分データ生成部が、前記データ送信装置に前記差分となる分割データの送信要求を行い、
前記受信装置通信部が、前記データ送信装置が前記ファイルを更新する都度前記差分となる分割データを受信し、または最後に更新された前記ファイルのファイル識別子を前記データ管理装置から受信し、
前記データ管理装置は、
前記管理装置通信部が、前記データ送信装置から受信した最後に更新した際に前記ファイルのファイル構成情報と前記ファイル識別子とを前記管理装置記憶部に記憶し、前記最後に更新された前記ファイルのファイル識別子を前記データ受信装置に送信する、
ことを特徴とする請求項３に記載の差分データ転送システム。
【請求項６】
前記データ管理装置の前記データ管理部は、前記持ち出しが禁止されているファイルに前記承認申請対象ファイルが含まれていると判定した場合、前記データ受信装置への前記承認前の承認申請対象ファイルの送信をブロックする、
ことを特徴とする請求項１に記載の差分データ転送システム。
【請求項７】
互いにネットワークで接続されたデータ受信装置と複数のデータ送信装置とデータ管理装置との間で行われる差分データ転送方法であって、
前記データ送信装置が、ユーザからの指示を受けて送信装置記憶部に記憶されている承認申請対象ファイルを前記データ管理装置に送信する第１のステップと、
前記データ受信装置が、ユーザからの指示を受けて承認前の前記承認申請対象ファイルのダウンロード要求を前記データ管理装置に送信する第２のステップと、
前記データ管理装置は、あらかじめ管理装置記憶部が記憶する持ち出しが禁止されているファイルに、前記データ受信装置から受信した前記承認申請対象ファイルが含まれているか否かを判定し、前記データ送信装置から受信した前記承認申請対象ファイルの分割データを暗号化して前記データ受信装置に送信する第３のステップと、
前記データ送信装置が、前記承認申請対象ファイルに対する承認情報を前記データ管理装置に送信する第４のステップと、
前記データ受信装置が、前記承認前の前記承認申請対象ファイルの前記分割データが暗号化された暗号化分割データを前記データ管理装置から受信し、承認後の前記承認申請対象ファイルのファイル識別子を送信する第５のステップと、
前記データ管理装置は、前記データ送信装置から受信した前記承認申請対象ファイルの分割データを暗号化して前記データ受信装置に送信し、前記データ送信装置から前記承認申請対象ファイルの承認を受信した場合に、承認された前記承認申請対象ファイルのファイル識別子と前記復号鍵とを前記データ受信装置に送信する第６のステップと、
前記データ受信装置が、前記データ管理装置から前記ファイル識別子と暗号カギに対応する復号鍵とを受信する第７のステップと、を含み、
前記第６のステップにおいて、前記承認前の承認申請対象ファイルの送信を承認された場合であっても、前記承認前の承認申請対象ファイルの分割データのハッシュ値が、あらかじめ記憶する前記データ受信装置への送信が承認されたファイルの分割データのハッシュ値に含まれていない分割データの数または比率を判定し、前記分割データの数または比率が所定の閾値を超えた場合、前記データ受信装置に警告を送信して前記承認前の承認申請対象ファイルの送信をブロックする、
ことを特徴とする差分データ転送方法。
【手続補正書】
【提出日】平成28年11月4日(2016.11.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ受信装置と複数のデータ送信装置とデータ管理装置とが互いにネットワークで接続された差分データ転送システムであって、
前記データ送信装置は、
ユーザからの指示を受けて送信装置記憶部に記憶されている承認申請対象ファイルを前記データ管理装置に送信し、または前記承認申請対象ファイルに対する承認情報を前記データ管理装置に送信する送信装置通信部を備え、
前記データ受信装置は、
ユーザからの指示を受けて承認前の前記承認申請対象ファイルのダウンロード要求を前記データ管理装置に送信し、または前記データ管理装置から前記承認前の前記承認申請対象ファイルの前記分割データが暗号化された暗号化分割データを前記データ管理装置から受信し、または承認後の前記承認申請対象ファイルのファイル識別子を送信し、または前記データ管理装置から前記ファイル識別子と暗号カギに対応する復号鍵とを受信する受信装置通信部を備え、
前記データ管理装置は、
あらかじめ管理装置記憶部が記憶する持ち出しが禁止されているファイルに、前記データ受信装置から受信した前記承認申請対象ファイルが含まれているか否かを判定するデータ管理部と、
前記データ送信装置から受信した前記承認申請対象ファイルの分割データを暗号化して前記データ受信装置に送信し、前記データ送信装置から前記承認申請対象ファイルの承認を受信した場合に、承認された前記承認申請対象ファイルのファイル識別子と前記復号鍵とを前記データ受信装置に送信する管理装置通信部と、を備え、
前記データ管理部は、前記承認前の承認申請対象ファイルの送信を承認された場合であっても、前記承認前の承認申請対象ファイルの分割データのハッシュ値が、あらかじめ記憶する前記データ受信装置への送信が承認されたファイルの分割データのハッシュ値に含まれていない分割データの数または比率を判定し、前記分割データの数または比率が所定の閾値を超えた場合、前記データ受信装置に警告を送信して前記承認前の承認申請対象ファイルの送信をブロックする、
ことを特徴とする差分データ転送システム。
【請求項２】
前記データ受信装置は、
受信装置記憶部が、ファイルと、前記ファイルのファイル識別子と、前記ファイルの分割データと、前記分割データの識別子およびハッシュ値とを対応付けたファイル構成情報とを記憶し、
前記受信装置通信部が、前記複数のデータ送信装置から最新ファイルを記憶している旨の通知を受信し、または前記通知を行ったデータ送信装置の中から前記データ受信装置に最短距離にあるデータ送信装置に対して前記最新ファイルと前記受信装置記憶部が記憶するファイルとの差分となる分割データの要求を送信し、または前記最短距離にあるデータ送信装置から前記差分となる分割データを受信し、
前記最新ファイルのファイル構成情報と、前記受信装置記憶部が記憶するファイル構成情報とに基づいて、前記差分となる分割データの識別子およびハッシュ値を含む差分ハッシュ情報を生成して前記複数のデータ送信装置に送信する差分データ生成部と、
前記最新ファイルを記憶している旨を受信したデータ送信装置の中で前記データ受信装置に最短距離にあるデータ送信装置を特定する経路選択部と、
前記受信装置記憶部が記憶する分割データと、前記最短距離にあるデータ送信装置から受信した前記差分となる分割データとに基づいて、最新のファイルを復元する復元部と、
を備え、
前記複数のデータ送信装置のそれぞれは、
前記送信装置記憶部が、前記ファイルの識別子と、前記ファイルの分割データと、前記分割データの識別子とを対応付けて記憶し、
前記送信装置通信部が、前記データ受信装置から前記差分ハッシュ情報と前記最新ファイルの識別子を受信し、または前記最新ファイルを記憶していると判定された場合に、前記差分となる分割データおよびその旨を前記データ受信装置に送信し、
前記データ受信装置から受信した前記最新ファイルの識別子に基づいて、自身が記憶するファイルが最新であるか否かを判定する判定部と、
を備えることを特徴とする請求項１に記載の差分データ転送システム。
【請求項３】
前記データ管理装置は、最新ファイルを管理する装置であって、前記最新ファイルのファイル識別子と、前記最新ファイルのファイル構成情報とを記憶する管理装置記憶部と、
前記データ受信装置から受信した前記最新ファイルの送信要求に基づいて、前記最新ファイルのファイル構成情報を取得して前記データ受信装置に送信する管理装置通信部と、を備え、前記データ受信装置および前記データ送信装置にネットワークを介して接続され、
前記データ受信装置は、前記受信装置通信部が、前記データ管理装置に前記識別子を送信して最新バージョンのファイルの送信要求を行い、または前記最新ファイルのファイル構成情報およびその識別子を前記データ管理装置から受信する、
ことを特徴とする請求項２に記載の差分データ転送システム。
【請求項４】
前記データ送信装置のそれぞれは、
前記判定部が、自身が記憶するファイルが最新でないと判定した場合には、そのファイルの分割データを生成し、生成した前記分割データのハッシュ値と、前記データ受信装置から受信した差分ハッシュ情報に含まれるハッシュ値とに基づいて、前記差分ハッシュ情報に含まれるハッシュ値と同じハッシュ値を含む分割データの差分ハッシュ情報を前記データ受信装置に送信し、
前記データ受信装置は、
前記経路選択部が、前記差分ハッシュ情報に含まれるハッシュ値と同じハッシュ値を含む分割データの差分ハッシュ情報を受信したデータ送信装置の中で、前記データ受信装置に最短距離にあるデータ送信装置を特定し、
前記復元部は、前記受信装置記憶部が記憶する分割データと、最短距離にあるデータ送信装置から受信した前記差分ハッシュ情報で示される分割データとに基づいて、最新のファイルを復元する、
ことを特徴とする請求項２または３に記載の差分データ転送システム。
【請求項５】
前記データ送信装置は、
前記判定部が、前記送信装置記憶部に記憶されているファイルを更新する際に排他制御してデータ受信装置からのアクセスを不可として前記ファイルを更新し、最後に更新した際に前記ファイルのファイル構成情報と前記ファイル識別子とを前記データ管理装置に送信し、
前記データ受信装置は、
前記差分データ生成部が、前記データ送信装置に前記差分となる分割データの送信要求を行い、
前記受信装置通信部が、前記データ送信装置が前記ファイルを更新する都度前記差分となる分割データを受信し、または最後に更新された前記ファイルのファイル識別子を前記データ管理装置から受信し、
前記データ管理装置は、
前記管理装置通信部が、前記データ送信装置から受信した最後に更新した際に前記ファイルのファイル構成情報と前記ファイル識別子とを前記管理装置記憶部に記憶し、前記最後に更新された前記ファイルのファイル識別子を前記データ受信装置に送信する、
ことを特徴とする請求項３に記載の差分データ転送システム。
【請求項６】
前記データ管理装置の前記データ管理部は、前記持ち出しが禁止されているファイルに前記承認申請対象ファイルが含まれていると判定した場合、前記データ受信装置への前記承認前の承認申請対象ファイルの送信をブロックする、
ことを特徴とする請求項１に記載の差分データ転送システム。
【請求項７】
互いにネットワークで接続されたデータ受信装置と複数のデータ送信装置とデータ管理装置との間で行われる差分データ転送方法であって、
前記データ送信装置が、ユーザからの指示を受けて送信装置記憶部に記憶されている承認申請対象ファイルを前記データ管理装置に送信する第１のステップと、
前記データ受信装置が、ユーザからの指示を受けて承認前の前記承認申請対象ファイルのダウンロード要求を前記データ管理装置に送信する第２のステップと、
前記データ管理装置は、あらかじめ管理装置記憶部が記憶する持ち出しが禁止されているファイルに、前記データ受信装置から受信した前記承認申請対象ファイルが含まれているか否かを判定し、前記データ送信装置から受信した前記承認申請対象ファイルの分割データを暗号化して前記データ受信装置に送信する第３のステップと、
前記データ送信装置が、前記承認申請対象ファイルに対する承認情報を前記データ管理装置に送信する第４のステップと、
前記データ受信装置が、前記承認前の前記承認申請対象ファイルの前記分割データが暗号化された暗号化分割データを前記データ管理装置から受信し、承認後の前記承認申請対象ファイルのファイル識別子を送信する第５のステップと、
前記データ管理装置は、前記データ送信装置から受信した前記承認申請対象ファイルの分割データを暗号化して前記データ受信装置に送信し、前記データ送信装置から前記承認申請対象ファイルの承認を受信した場合に、承認された前記承認申請対象ファイルのファイル識別子と復号鍵とを前記データ受信装置に送信する第６のステップと、
前記データ受信装置が、前記データ管理装置から前記ファイル識別子と暗号カギに対応する復号鍵とを受信する第７のステップと、を含み、
前記第６のステップにおいて、前記承認前の承認申請対象ファイルの送信を承認された場合であっても、前記承認前の承認申請対象ファイルの分割データのハッシュ値が、あらかじめ記憶する前記データ受信装置への送信が承認されたファイルの分割データのハッシュ値に含まれていない分割データの数または比率を判定し、前記分割データの数または比率が所定の閾値を超えた場合、前記データ受信装置に警告を送信して前記承認前の承認申請対象ファイルの送信をブロックする、
ことを特徴とする差分データ転送方法。
【国際調査報告】
2015011840.tif 000023
2015011840.tif 000024
2015011840.tif 000025
2015011840.tif 000026