JP6197597B2 - 情報処理システム、情報処理装置の制御プログラム及び情報処理システムの制御方法 - Google Patents

情報処理システム、情報処理装置の制御プログラム及び情報処理システムの制御方法 Download PDF

Info

Publication number
JP6197597B2
JP6197597B2 JP2013237072A JP2013237072A JP6197597B2 JP 6197597 B2 JP6197597 B2 JP 6197597B2 JP 2013237072 A JP2013237072 A JP 2013237072A JP 2013237072 A JP2013237072 A JP 2013237072A JP 6197597 B2 JP6197597 B2 JP 6197597B2
Authority
JP
Japan
Prior art keywords
data
information processing
processing apparatus
cache
information
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.)
Active
Application number
JP2013237072A
Other languages
English (en)
Other versions
JP2015097345A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013237072A priority Critical patent/JP6197597B2/ja
Priority to US14/522,709 priority patent/US9514315B2/en
Publication of JP2015097345A publication Critical patent/JP2015097345A/ja
Application granted granted Critical
Publication of JP6197597B2 publication Critical patent/JP6197597B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload

Description

この発明は、情報処理システムの制御に関する。
分散ファイルシステムは、複数のサーバ間で、ネットワークを経由してファイルを共有するシステムである。分散ファイルシステムにおいて、各クライアントは、ファイルサーバを経由して、共有しているファイルにアクセスする。そのため、分散ファイルシステムには、システムを利用するクライアントが増えると、ファイルサーバにアクセスが集中してしまうという問題がある。ファイルサーバには、集中するアクセスを処理するため、高い性能が要求される。
しかしながら、性能が高いサーバをシステムに導入することは、コスト削減の観点から好ましくない。そのため、ファイルサーバにかかる負荷を分散することで、ファイルサーバの処理を軽減する技術が知られている。
負荷分散に関する技術の例として、クライアント側のメモリをキャッシュとして使用する事によって、クライアント側の処理を増やし、サーバ負荷のオフロードを図る技術が知られている(例えば非特許文献1を参照)。
負荷分散に関する技術の例として、クライアント側からのコマンド発行により通信を開始する技術が知られている。この技術は、例えば、RDMA(Remote Direct Memory Access)と称される。クライアント側からのコマンド発行により、サーバ側のNICへのコマンド発行に伴う負荷を軽減する技術である(例えば非特許文献2を参照)。
関連する技術として、DMA(Direct Memory Access)を用いて、データ通信をする技術が知られている。ホスト・システムとエンドポイントとの間で、トランザクション指向プロトコルを確立し、エンドポイントが共用メモリ内にアドレス範囲を有するように、共用メモリを設定することが知られている(例えば特許文献1を参照)。
関連する技術として、デバイスの各々が、DMAを使用してメインメモリに対して割り込み要因レジスタの情報を転送することが知られている。主記憶装置はデバイスの各々に対して予め割り当てられたアドレスを有し、デバイスは、割り当てられたアドレスに対してDMAの書き込みを行うことが知られている(例えば特許文献2を参照)。
特開2008−152783号公報 特開平11−312138号公報
Michael D. Dahlin, Randolph Y. Wang, Thomas E. Anderson, David A. Patterson, "Cooperative caching: using remote client memory to improve file system performance" OSDI ’94 Proceedings of the 1st USENIX conference on Operating Systems Design and Implementation, Article No. 19 USENIX Association Berkeley, CA, USA @ 1994 Kostas Magoutis, "The Optimistic Direct Access File System: Design and Network Interface Support", Proceedings of the 1st Workshop on Novel Uses of System Area Networks, 2002
コストの観点から、システムに導入されるサーバは少ない方が好ましい。しかし、サーバ数が少ないシステムであるほど、サーバの処理負荷が大きくなりやすい。
1つの側面において、本発明の目的は、効率的にサーバの負荷を分散することである。
情報処理システムは、クライアント、第1と第2の情報処理装置を有する。第1の情報処理装置は、データと、暗号化に用いる鍵を保持する。第2の情報処理装置は、第1の情報処理装置及びクライアントと、暗号化されていないデータを共有する権限を持たない。第1の情報処理装置は、クライアントからデータの使用要求を受信すると、データと鍵をクライアントに送信する。更に、データを鍵で暗号化した第1の暗号データを生成し、第2の情報処理装置に送信する。クライアントは、データの使用が終了するまで、データに対する処理結果を鍵で暗号化することにより獲られる情報を第2の情報処理装置に送信する。第1の情報処理装置は、クライアントからデータの使用が終了したことを通知されると、第2の情報処理装置がクライアントから受信した最新の情報である第2の暗号データを、第2の情報処理装置から取得し、第2の暗号データを復号化して記憶する。
効率的にサーバの負荷を分散する。
実施形態に係るシステムの例(その1)を説明する図である クライアント、ファイルサーバ、キャッシュサーバのハードウェア構成の例を説明する図である。 実施形態に係る暗号化処理の例を説明する図である。 実施形態に係るシステムの例(その2)を説明する図である キャッシュデータの書き込み処理の例を説明するフローチャートである。 キャッシュデータの読み込み処理の例を説明するフローチャートである。 ファイルデータ変更に伴った鍵の更新処理の例を説明するフローチャートである。 クライアント側のファイルデータ更新に関する処理の例を説明するフローチャートである。 クライアント及びキャッシュサーバ側のファイルデータ更新に関する処理の例を説明するフローチャートである。 GPGPUを備えたシステムの例を説明する図である。 実施形態に係るシステムの例(その3)を説明する図である。 ノード間データ演算機構を用いた処理の例を説明する図である。 ノード間演算装置を用いた暗号化と復号化処理の例を説明するフローチャートである。 消失訂正符号を使用したシステムの例を説明する図である。 消失訂正符号を使用したキャッシュデータの配置例を説明する図である。 消失訂正符号を使用したシステムにおけるデータ転送の例を説明する図である。 転送ルートを選択する処理を説明するフローチャートである。 辞書式の圧縮アルゴリズムによる暗号化の例を説明するフローチャートである。 ノード間で共通なファイルの一部を用いた暗号化の例を説明するフローチャートである。
以下、本実施形態について、図面を参照しながら詳細に説明する。
図1は、実施形態に係るシステムの例(その1)を説明する図である。図1の分散ファイルシステム100は、クライアント110、ファイルサーバ120、ディスク装置130、中継装置140を有する。更に、実施形態に係るシステムは、分散ファイルシステム100から、データの共有が許可されていないキャッシュサーバ300を有する。中継装置140は、クライアント110、ファイルサーバ120、キャッシュサーバ300間の通信を中継する装置である。中継装置140は、スイッチやルータなどで実現される。
ファイルサーバ120は、分散ファイルシステム100内で共有の対象とされるデータを管理するサーバである。分散ファイルシステム100内で共有の対象とされるデータは、ファイルサーバ120に接続されているディスク装置130に保持される。ディスク装置130は、各種データを記憶する記憶装置である。図1の例では、ディスク装置130は1台であるが、複数のディスク装置130がファイルサーバ120に接続されていてもよい。
ディスク装置130は、ファイルデータ131を保持する。ファイルサーバ120のメモリ122は、キャッシュデータ123、秘密鍵124、キャッシュ管理表125を有する。キャッシュデータ123は、ファイルデータ131が使用される際にキャッシュ領域に作成されるデータである。秘密鍵124は、暗号化に用いられる鍵である。キャッシュ管理表125は、キャッシュデータを管理するための情報を備える。
実施形態に係るキャッシュサーバ300は、ファイルサーバ120に対するクライアント110からのアクセスが集中することを回避するために、キャッシュ領域を提供する。
以下に、実施形態に係る分散ファイルシステムの動作を順に説明する。
(A1)クライアント110は、ファイルデータ131を使用するための要求をファイルサーバ120に送信する。
(A2)ファイルサーバ120は、要求されたファイルデータ131のキャッシュであるキャッシュデータ123を、メモリ122のキャッシュ領域に保持する。
(A3)キャッシュサーバ300は、データの共有が許可されていないため、暗号化されていないデータを保持できない。そのため、ファイルサーバ120は、キャッシュデータ123を、秘密鍵124を用いて暗号化する。ファイルサーバ120は、暗号化されたキャッシュデータ302を、キャッシュサーバ300に送信する。キャッシュサーバ300は、暗号化されたキャッシュデータ302を、メモリ301に記憶する。
(A4)ファイルサーバ120は、暗号化されたキャッシュデータ302の識別情報と、暗号化されたキャッシュデータ302を保持するサーバの識別情報とを対応付けて、キャッシュ管理表125に保持させる。
(A5)ファイルサーバ120は、キャッシュデータ123及び秘密鍵124をクライアント110に送信する。クライアント110は、キャッシュデータ123及び秘密鍵124をメモリ111に記憶する。更に、ファイルサーバ120は、暗号化されたキャッシュデータ302を保持するサーバの識別情報をクライアント110に通知する。
(A6)クライアント110のキャッシュデータ123は、クライアント110内で、適宜更新される。クライアント110は、更新後のキャッシュデータ123を暗号化して、キャッシュサーバ300に暗号化されたキャッシュデータ302を送信する。キャッシュサーバ300は、暗号化されたキャッシュデータ302を更新する。
(A7)キャッシュサーバ300は、所定のタイミング又は、クライアント110からの要求によって、ファイルサーバ120に、暗号化されたキャッシュデータ302を送信する。
(A8)ファイルサーバ120は、暗号化されたキャッシュデータ302を復号化し、キャッシュデータ123を更新する。
(A9)所定のタイミングで、ファイルサーバ120は、キャッシュデータ123の更新を、ファイルデータ131にも反映させる。
(A10)クライアント110がキャッシュデータ123の使用を終了すると、クライアント110は、ファイルサーバ120に、処理が終了したことを通知する。ファイルサーバ120は、キャッシュサーバ300から暗号化されたキャッシュデータ302を取得する。ファイルサーバ120は、暗号化されたキャッシュデータ302を、キャッシュサーバ300から削除する。ファイルサーバ120は、暗号化されたキャッシュデータ302を復号化し、ファイルデータ131に反映させる。
(A4)の処理において、キャッシュ管理表125は、更に、暗号化されたキャッシュデータ302の識別情報に対応付けて暗号鍵の識別情報を保持してもよい。(A6)〜(A9)の処理は、繰りかえし実行され得る。(A6)と(A7)の処理は、並列して処理されてもよく、逆の順番で処理されてもよい。(A1)〜(A10)の処理は、各々のサーバ内のCPUによって処理される。
図1を参照して説明したクライアント110は、手順(A5)の処理以降、ファイルデータ131を更新するために、ファイルサーバ120との通信をしない。そのため、クライアント110が複数台の場合でも、ファイルサーバ120にアクセスが集中することにはならない。
実施形態に係るキャッシュサーバ300は、分散ファイルシステム100から暗号化していないデータの共有が許可されていない。そのため、キャッシュサーバ300を追加する場合であっても、キャッシュサーバ300にデータの共有化を行うための設定作業を行わなくてよい。実施形態に係るシステムでは、暗号化していないデータの共有が許可されていないサーバに、暗号化したキャッシュ情報を保持させることで、分散ファイルシステムのデータにアクセスできないサーバのキャッシュ領域を使用することができる。なお、キャッシュサーバ300は、秘密鍵124を保持していないため、暗号化されたキャッシュ情報の中のデータを読み取ることはできない。そのため、分散ファイルシステムのデータのセキュリティは担保される。
実施形態に係るシステムは、一例であり、クライアント110、ファイルサーバ120、ディスク装置130、キャッシュサーバ300の数を限定するものではない。システムは、複数台のクライアント110、ファイルサーバ120、ディスク装置130、キャッシュサーバ300を備えてもよい。
図2は、クライアント、ファイルサーバ、キャッシュサーバのハードウェア構成の例を説明する図である。クライアント、ファイルサーバ、キャッシュサーバは、プロセッサ11、メモリ12、バス13、外部記憶装置14、ネットワーク接続装置15を備える。さらにオプションとして、クライアント、ファイルサーバ、キャッシュサーバは、入力装置16、出力装置17、媒体駆動装置18を備えても良い。クライアント、ファイルサーバ、キャッシュサーバは、例えば、コンピュータなどで実現されることがある。
プロセッサ11は、Central Processing Unit(CPU)を含む任意の処理回路とすることができる。プロセッサ11は、クライアント、ファイルサーバ、キャッシュサーバ内のキャッシュの管理をする。なお、プロセッサ11は、例えば、外部記憶装置14に記憶されたプログラムを実行することができる。メモリ12は、クライアント、ファイルサーバ、キャッシュサーバが使用するデータのキャッシュを記憶する。さらに、メモリ12は、プロセッサ11の動作により得られたデータや、プロセッサ11の処理に用いられるデータも、適宜、記憶する。ネットワーク接続装置15は、他の装置との通信に使用される。
入力装置16は、例えば、ボタン、キーボード、マウス等として実現され、出力装置17は、ディスプレイなどとして実現される。バス13は、プロセッサ11、メモリ12、入力装置16、出力装置17、外部記憶装置14、媒体駆動装置18、ネットワーク接続装置15の間を相互にデータの受け渡しが行えるように接続する。外部記憶装置14は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ11などに提供する。媒体駆動装置18は、メモリ12や外部記憶装置14のデータを可搬記憶媒体19に出力することができ、また、可搬記憶媒体19からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体19は、フロッピイディスク、Magnet−Optical(MO)ディスク、Compact Disc Recordable(CD−R)やDigital Versatile Disk Recordable(DVD−R)を含む、持ち運びが可能な任意の記憶媒体とすることができる。
図3は、実施形態に係る暗号化処理の例を説明する図である。図3において、図1と同じものは、同一の番号を付している。図3のシステムは、図1のようにデータをファイル単位で管理せず、データを複数のブロックに分割して管理している。そのため、図3のシステムの例では、図1のファイルデータ131が、fblock201(201a〜201d)のブロックに分割されてディスク装置130に記憶されている。
クライアント110の要求によって、ファイルサーバ120は、fblock201(201a〜201d)に対応したキャッシュデータであるcblock211(211a〜211d)をメモリ122に保持させる。ファイルサーバ120は、cblock211を秘密鍵であるrblock220を用いて暗号化し、暗号化されたキャッシュデータ310をキャッシュサーバ300に送信する。
秘密鍵であるrblock220は、例えば、fblock201などと同じサイズのランダムなデータである。rblock220は、ファイルデータ131に対して1つ作成される。そのため、図3の例においてrblock220は、fblock201(201a〜201d)に共通して使用される。暗号化は、例えば、cblock211とrblock220との排他的論理和を取るような方法で行われる。
キャッシュ管理表125は、分割されたブロック毎に、暗号化されたキャッシュデータ310と、秘密鍵の識別情報と、暗号化されたキャッシュデータ302を保持するサーバの識別情報とを対応付けて保持する。
秘密鍵は、ランダムなデータを用いなくてもよい。例えば、秘密鍵は、分割されたファイルデータ131の先頭のブロックでもよい。この場合、秘密鍵は、分割されたファイルデータ131の先頭のブロックであるfblock201aとなる。ファイルの一部のデータを秘密鍵として利用するシステムでは、ファイルのデータが変更されると、秘密鍵として設定されたブロックのデータも変更される。すると、ファイルのデータの変更を契機に、秘密鍵を新しく生成する。
ファイルサーバは、ファイルデータに変更があると、変更前の秘密鍵を使用して暗号化をおこなった全サーバに対して、鍵及び暗号化済みデータの無効化を依頼する。この際、ファイルサーバは、キャッシュ管理表125を参照して、無効化を依頼するサーバを選択する。その後、ファイルサーバは、新しい秘密鍵を生成する。新しい秘密鍵は、変更されたファイルデータの先頭ブロックの内容を用いて、使用されていた秘密鍵を更新してもいい。又は、新しい秘密鍵は、変更されたファイルデータの先頭ブロックの内容を用いて、使用されていた秘密鍵とは別に新しく作成してもよい。更に、ファイルサーバは、ファイルデータの変更されたブロックに対応する新しいブロックを、他のノードに対して割り当てる。
ファイルの一部を秘密鍵として利用することで、元のファイルのサイズで、ファイルと秘密鍵を保持することができる。これにより、メモリの所要量や通信量を削減できる。
図4は、実施形態に係るシステムの例(その2)を説明する図である。図4において、図1と同じものは、同一の番号を付している。図4の分散ファイルシステム100は、図1の分散ファイルシステム100から更に、キャッシュサーバ150を備える。キャッシュサーバ150は、分散ファイルシステム100から、データの共有が許可されている。一方、キャッシュサーバ300は、図1の例と同様に、分散ファイルシステム100から、暗号化されていないデータの共有が許可されていない。
以下に、図4の分散ファイルシステムの動作を順に説明する。
(B1)クライアント110は、ファイルデータ131を使用するための要求をファイルサーバ120に送信する。
(B2)ファイルサーバ120は、要求されたファイルデータ131のキャッシュであるキャッシュデータ123を、メモリ122のキャッシュ領域に保持する。更に、ファイルサーバ120は、キャッシュデータ123を、秘密鍵124を用いて暗号化する。ファイルサーバ120は、暗号化したキャッシュデータ302を、メモリ122のキャッシュ領域に保持する。
(B3)ファイルサーバ120は、クライアント110が使用するキャッシュサーバを、キャッシュサーバ150又はキャッシュサーバ300から選択する。ここで、ファイルサーバ120はなるべく負荷を分散できるように、キャッシュサーバを選択する。よって、ファイルサーバ120は、キャッシュサーバ150又はキャッシュサーバ300をランダムに選択してもよい。また、ファイルサーバ120は、キャッシュサーバ150又はキャッシュサーバ300を順番に選択してもよい。
(B3−1)キャッシュサーバ300が選択された場合、ファイルサーバ120は、暗号化されたキャッシュデータ302を、キャッシュサーバ300に送信する。キャッシュサーバ300は、暗号化されたキャッシュデータ302をメモリ301に保持する。キャッシュサーバ300が選択された場合、図1の実施形態で記載した(A4)〜(A10)の処理が実行される。
(B3−2)キャッシュサーバ150が選択された場合、ファイルサーバ120は、キャッシュデータ123を、キャッシュサーバ150に送信する。キャッシュサーバ150は、キャッシュデータ123をメモリ151に保持する。キャッシュサーバ150が選択された場合、以下の(B4)〜(B9)の処理が実行される。
(B4)ファイルサーバ120は、キャッシュデータ123の識別情報と、キャッシュデータ123を保持するサーバの識別情報とを対応付けて、キャッシュ管理表125を保持する。
(B5)ファイルサーバ120は、キャッシュデータ123をクライアント110に送信する。クライアント110は、キャッシュデータ123をメモリ111に保持する。更に、ファイルサーバ120は、キャッシュデータ123を保持するキャッシュサーバの識別情報をクライアント110に通知する。
(B6)クライアント110のキャッシュデータ123は、クライアント110内で、適宜更新される。クライアント110は、キャッシュサーバ150に、更新後のキャッシュデータ123を送信する。キャッシュサーバ150は、保持しているキャッシュデータ123を更新する。
(B7)キャッシュサーバ150は、所定のタイミング又は、クライアント110からの要求によって、ファイルサーバ120に、キャッシュデータ123を送信する。
(B8)所定のタイミングで、ファイルサーバ120は、キャッシュデータ123の更新を、ファイルデータ131にも反映させる。
(B9)クライアント110がキャッシュデータ123の使用を終了すると、クライアント110は、ファイルサーバ120に、処理が終了したことを通知する。ファイルサーバ120は、最新のキャッシュデータ123をキャッシュサーバ150から取得する。ファイルサーバ120は、キャッシュデータ123を、キャッシュサーバ150から削除する。ファイルサーバ120は、キャッシュデータ123の更新を、ファイルデータ131にも反映させる。
(B3)に記載のキャッシュサーバの選択は、一例である。そのため、(B3)の処理は負荷分散の方法を限定するものではない。(B6)〜(B9)の処理は、繰りかえし実行され得る。(B6)と(B7)の処理は、並列して処理されてもよく、逆の順番で処理されてもよい。(B1)〜(B9)の処理は、各々のサーバ内のCPUによって処理される。(B3)の処理で、(B3−1)が選択された場合、クライアント110の更新処理が終了するまで、キャッシュサーバ300は、クライアントでの処理内容を保持するデータが記憶する。(B3−2)が選択された場合、クライアント110の更新処理が終了するまで、キャッシュサーバ150は、クライアントでの処理内容を保持するデータが記憶する。
なお、図1の実施形態で記載した(A5)と、(B5)の処理において、クライアント110には、キャッシュデータ123を保持するキャッシュサーバの識別情報が通知される。ここで、クライアント110は、通知されたキャッシュサーバが、データの共有が許可されていないキャッシュサーバ300であるのか、データの共有が許可されているキャッシュサーバ150であるのかを判定する。クライアント110は、少なくとも、データの共有が許可されているサーバに関する情報を予め保持している。図1の実施形態では、クライアント110は、データの共有が許可されていないキャッシュサーバ300を使用すると判定する。一方、図4の実施形態では、クライアント110は、データの共有が許可されているキャッシュサーバ150を使用すると判定する。
図4のシステムにおけるキャッシュ管理表125は、キャッシュデータ123の識別情報と、キャッシュデータ123を保持するサーバの識別情報とを対応付けた情報を保持する。更に、キャッシュ管理表125は、暗号化されたキャッシュデータ302の識別情報と、暗号化されたキャッシュデータ302を保持するサーバの識別情報と、秘密鍵とを対応づけた情報を保持する。また、キャッシュサーバ150及びクライアント110は、秘密鍵124と暗号化したキャッシュデータ302とを保持してもよい。
図4の実施形態における(B1)〜(B9)の処理では、クライアント110は、ファイルデータ131を更新するために、ファイルサーバ120との通信をしない。そのため、クライアント110が複数台の場合でも、ファイルサーバ120にアクセスが集中することにはならない。
実施形態に係るシステムは、一例であり、クライアント110、ファイルサーバ120、ディスク装置130、キャッシュサーバ150、キャッシュサーバ300の数を限定するものではない。システムは、複数台のクライアント110、ファイルサーバ120、ディスク装置130、キャッシュサーバ150、キャッシュサーバ300を備えてもよい。
図5Aは、キャッシュデータの書き込み処理の例を説明するフローチャートである。ファイルサーバは、キャッシュデータを書き込むキャッシュ領域を、キャッシュサーバから選択する(ステップS101)。ファイルサーバは、書き込み対象となるキャッシュ領域を割り当てる(ステップS102)。ファイルサーバは、書き込みをするキャッシュ領域が、データの共有が許可されているキャッシュサーバかを判定する(ステップS103)。ファイルサーバは、キャッシュデータを秘密鍵で暗号化する(ステップS104、ステップS103でNO)。ファイルサーバは、書き込み先となるサーバにデータを転送する(ステップS105、ステップS103でYES)。ファイルサーバは、キャッシュ管理表を更新する(ステップS106)。
図5Bは、キャッシュデータの読み込み処理の例を説明するフローチャートである。ファイルサーバは、転送されてくるデータのキャッシュ領域を割り当てる(ステップS201)。ファイルサーバは、キャッシュデータの取得する(ステップS202)。ファイルサーバは、取得したキャッシュデータが、データの共有が許可されているキャッシュサーバからの転送かを判定する(ステップS203)。ファイルサーバは、取得したキャッシュデータを秘密鍵で復号化する(ステップS204、ステップS203でNO)。ファイルサーバは、キャッシュデータの読み込み処理を終了する(ステップS203でYES)。
なお、S103やS203における、データの共有が許可されているキャッシュサーバの識別情報は、キャッシュ管理表を参照することで判断される。
図6は、秘密鍵にファイルデータの一部を使ったシステムの処理の例を説明するフローチャートである。秘密鍵にファイルデータの一部を使ったシステムは、図3の暗号化について記載した一例である。ファイルデータのうち、秘密鍵として用いられるブロックを秘密鍵ブロックとし、秘密鍵として用いられていないブロックをデータブロックと称す。
図6Aは、ファイルデータ変更に伴った鍵の更新処理の例を説明するフローチャートである。ファイルサーバは、ファイルデータに変更があったかを判定する(ステップS300)。ファイルサーバは、キャッシュサーバ又はクライアントのキャッシュデータの秘密鍵ブロックを除いたデータブロックに変更があったかを判定する(ステップS301、ステップS300でYES)。ファイルサーバは、キャッシュサーバ又はクライアントから秘密鍵ブロックの修正要求を受信する(ステップS302、ステップS301でNO)。ファイルサーバは、秘密鍵を保持している全サーバに、秘密鍵の無効化依頼を送信する(ステップS303)。ファイルサーバは、修正が要求された秘密鍵を使用している暗号化されたデータを保持している全サーバに、暗号化されたデータの無効化依頼を送信する(ステップS304)。ファイルサーバは、無効化処理が行われる各サーバの処理完了まで待機する(ステップS305)。ファイルサーバは、秘密鍵ブロックのデータを更新する(ステップS306)。ファイルサーバは、メモリ領域に、秘密鍵用の領域を割り当てる(ステップS307)。ファイルサーバは、変更後のデータを使用して、新しい秘密鍵を生成する(ステップS308)。ファイルサーバは、変更前の秘密鍵を保持していた全サーバに、新しい秘密鍵を生成したことを通知する(ステップS309)。
ファイルサーバは、キャッシュサーバ又はクライアントから秘密鍵ブロックの修正要求を受信する(ステップS310、ステップS301でYES)。ファイルサーバは、秘密鍵を保持している全サーバに、キャッシュデータの無効化依頼を送信する(ステップS311)。ファイルサーバは、無効化処理が行われる各サーバの処理完了まで待機する(ステップS312)。ファイルサーバは、新しいブロック領域を、無効化依頼を出した全サーバに割り当てる(ステップS313)。ファイルサーバは、新しいブロック領域に、変更後のデータを書き込む(ステップS314)。ファイルサーバは、無効化依頼を出した全サーバに、キャッシュブロックの更新が完了したことを通知する(ステップS315)。ファイルサーバは、鍵の更新処理を終了する(ステップS300でNO)。
なお、S303、S308、S310、S312などにおける、無効化依頼が出力されるサーバは、キャッシュ管理表を参照することで判断される。
図6Bは、クライアント側のファイルデータ更新に関する処理の例を説明するフローチャートである。クライアントは、秘密鍵ブロックの修正要求を、ファイルサーバに送信する(ステップS401)。クライアントは、データブロックに変更があったかを判定する(ステップS402)。クライアントは、秘密鍵であったデータの変更が完了するのを待つ(ステップS404、ステップS402でNO)。クライアントは、キャッシュブロックの更新が完了する通知を待つ(ステップS403、ステップS402でYES)。
図6Cは、クライアント及びキャッシュサーバ側のファイルデータ更新に関する処理の例を説明するフローチャートである。クライアント又はキャッシュサーバは、暗号化されたキャッシュデータ又は秘密鍵の無効化依頼を受信する(ステップS501)。クライアント又はキャッシュサーバは、メモリ領域内のキャッシュデータや秘密鍵を無効化し、無効化が完了したことを依頼元に通知する(ステップS502)。クライアント又はキャッシュサーバは、秘密鍵の無効化処理があったかを判定する(ステップS503)。クライアント又はキャッシュサーバは、キャッシュデータ内の秘密鍵ブロックに変更があったかを判定する(ステップS504、ステップS503でYES)。クライアント又はキャッシュサーバは、ファイルサーバの新しい秘密鍵領域から新しい秘密鍵を取得する(ステップS505、ステップS504でYES)。クライアント又はキャッシュサーバは、処理を終了する(ステップS503でNO、ステップS504でNO)。
図7は、GPGPUを備えたシステムの例を説明する図である。図7において、図4と同じものは、同一の番号を付している。第2の実施形態に係るクライアント110、キャッシュサーバ150、ファイルサーバ120、キャッシュサーバ300の各々は、GPGPU113とIB−HCA114を有する。
GPGPU(General Purpose Graphics Processing Unit)113は、アクセレレータコアプロセッサである。アクセレレータコアプロセッサは、例えば、大量のデータに対し同一の演算を行うことに適している。そのため、図7のシステムでは、暗号化や復号化の処理を、CPUとは別に実装されているGPGPU113で処理する。IB−HCA(InfiniBand−Host Channel Adapter)114は、GPGPU113に対応した通信装置である。アクセレレータコアプロセッサは、CPUよりも多数のデータに対して同一種類の演算を並列して計算することができるため、暗号化や復号化といった演算処理の高速化に利用できる。
図8は、実施形態に係るシステムの例(その3)を説明する図である。図8において、図4と同じものは、同一の番号を付している。図8のシステムは、図4のシステムに、更に、ノード間データ演算機構160を備える。
ノード間データ演算機構160は、暗号化や復号化の処理を、各サーバに実装されているCPUとは別に処理する。ノード間データ演算機構160を用いた、処理については、図9を用いて説明する。
図9は、ノード間データ演算機構を用いた処理の例を説明する図である。図9のシステムにおける分散ファイルシステム100は、ファイルサーバ120(120a、120b)と、クライアント110と、中継装置140と、ノード間演算装置160を有する。更に、実施形態に係るシステムは、分散ファイルシステム100から、データの共有が許可されていないキャッシュサーバ300(300a、300b)を有する。
ファイルサーバ120aは、キャッシュデータ411(411a〜411d)と秘密鍵412aを保持している。ファイルサーバ120bは、キャッシュデータ411(411b、411d、411e、411f)と秘密鍵412cを保持している。クライアント110は、キャッシュデータ411(411a、411c、411e、411f)と秘密鍵412bを保持している。なお、秘密鍵412aは、キャッシュデータ411aとキャッシュデータ411bの暗号化に用いられる鍵である。秘密鍵412bは、キャッシュデータ411cとキャッシュデータ411eの暗号化に用いられる鍵である。秘密鍵412cは、キャッシュデータ411dとキャッシュデータ411fの暗号化に用いられる鍵である。
一例として、クライアント110が、キャッシュデータ411cを使用する場合の、ノード間演算装置160が行う処理について説明する。図7のシステムにおいて、キャッシュデータ411cは、既に、クライアント110に保持されているものとする。
ファイルサーバ120aは、クライアント110からキャッシュデータ411cを使用する要求を受信する。ファイルサーバ120aは、クライアント110からキャッシュデータ411cの暗号化に用いられる秘密鍵412bを取得する。ファイルサーバ120aは、キャッシュデータ411cを秘密鍵412bによって暗号化処理し、暗号化したキャッシュデータをキャッシュサーバ300aに転送する指示を、ノード間演算装置160に送信する。併せて、ファイルサーバ120aは、キャッシュデータ411cと秘密鍵412bを、ノード間演算装置160に送信する。ノード間演算装置160は、キャッシュデータ411cを秘密鍵412bによって暗号化し、暗号化したキャッシュデータ501cをキャッシュサーバ300aに転送する。ファイルサーバ120aは、暗号化したキャッシュデータ501cを、キャッシュサーバ300aに転送されたことを、クライアント110に通知する。その後の処理は、図1の実施形態の(A6)〜(A10)と同様である。なお、ファイルサーバ120aは、キャッシュ管理表125を用いて、秘密鍵、キャッシュデータ、暗号化されたキャッシュデータを管理する。キャッシュ管理表125は、秘密鍵の識別情報、キャッシュデータを保持しているサーバの識別情報及び、暗号化されたキャッシュデータを保持しているサーバの識別情報を保持する。
次に、ファイルサーバ120aが、暗号化されたキャッシュデータ501cを、キャッシュサーバ300aから取得する処理を説明する。ファイルサーバ120aは、クライアント110に対して秘密鍵412bをノード間演算装置160に送信する要求をだす。併せて、ファイルサーバ120aは、キャッシュサーバ300aに対して暗号化されたキャッシュデータ501cをノード間演算装置160に送信する要求をだす。ファイルサーバ120aは、ノード間演算装置160に対して暗号化されたキャッシュデータ501cを復号化し、復号化したデータを、ファイルサーバ120aに転送する命令を出す。ノード間演算装置160は、暗号化されたキャッシュデータ501cを復号化し、復号化したデータを、ファイルサーバ120aに転送する。
ファイルサーバ120が、自身が保持していないデータを他サーバから取得する場合、ノード間演算装置401などで、タイミングの待ち合わせなどが適宜行われる。また、これらの方法は、各ノードの負荷状況、データの配置状況などによって、適宜使用される。
図10は、ノード間演算装置を用いた暗号化と復号化処理の例を説明するフローチャートである。ファイルサーバは、メモリ領域にデータ領域を割り当てる(ステップS601)。暗号化と復号化処理を行う指示や、各サーバへの指示を、一対多通信で送信する(ステップS602)。各種データ転送及び暗号化と復号化処理の指示に対する応答を待つ(ステップS603)。
<消失訂正符号を使用したシステム>
図11は、消失訂正符号を使用したシステムの例を説明する図である。図11のシステムは、消失訂正符号を使用することで、キャッシュデータの制御におけるデータの損失を防ぐことができる。図11のシステムは、消失訂正符号(Erasure Correcting Code)の冗長シンボルを暗号化されたキャッシュデータとする。図11は、図1や図4の実施形態における暗号化の一例を説明する図である。図11のシステムにおける、サーバ間の通信は、図1や図4と同様である。
図11Aのシステムは、ファイルサーバ601(601a〜601m)と、スイッチ602と、キャッシュサーバ700(700(m+1)〜700(m+k))を有する。
ファイルサーバ601aは、メモリのキャッシュ領域に、date−11〜date−1nを有する。ファイルサーバ601mは、メモリのキャッシュ領域に、date−m1〜date−mnを有する。date−mnにおける、mは、ファイルmを示し、nは、n番目のデータブロックを示す。よって、例えば、date−1nは、ファイルデータ1を複数のブロックに分割したうちの、n番目のデータブロックである。
キャッシュサーバ700(m+1)は、メモリのキャッシュ領域に、code−11〜code−m1を有する。キャッシュサーバ700(m+k)は、メモリのキャッシュ領域に、code−1k〜code−mkを有する。codeは、ファイルサーバ601に記憶されているdateを暗号化したキャッシュデータである。code−mkにおける、mは、ファイルmを示し、kは、k番目の冗長ブロックである。例えば、code−m1は、ファイルデータmの1番目の冗長ブロックである。
code−11〜code−mkで示されるキャッシュデータは、ファイルデータの消失訂正コードの冗長ブロックを用いて算出される。例えば、kを1として、ファイルデータを、a、bの2つのブロックに分割した場合、消失訂正コードの冗長ブロックはビット毎の排他的論理和であり、(a xor b)となる。{a、b、(a xor b)}という3つの組が、元のデータである{a、b}の消失訂正符号である。(a xor b)は、キャッシュデータである。
ある消失訂正符号でのk個の冗長シンボルからなるブロックをk個の異なるキャッシュサーバ700に保持させている。そのため、冗長ブロックは、1サーバの故障でも、あるファイルデータの暗号化されたキャッシュデータのうち1つのデータしか失われない。
図11Bは、消失訂正符号を使用したキャッシュデータの配置例を説明する図である。図11Bにおいて、図11Aと同じものは、同一の番号を付している。
図11Bの例においてファイルサーバ601aは、メモリのキャッシュ領域に、date−11〜date−1nを有する。更に、ファイルサーバ601aは、メモリのキャッシュ領域に、code−11〜code−m1を有する。ファイルサーバ601mは、メモリのキャッシュ領域に、date−m1〜date−mnを有する。更に、ファイルサーバ601mは、メモリのキャッシュ領域に、code−1m〜code−(m−1)mを有する。
キャッシュサーバ700(m+1)は、メモリのキャッシュ領域に、code−1(m+1)〜code−m(m+1)を有する。キャッシュサーバ700(m+k)は、メモリのキャッシュ領域に、code−1(m+k)〜code−m(m+k)を有する。
図11Bのシステムは、1つのファイルをn個に分割し、更に、n個のシンボルに対してk個の冗長シンボルのブロックが配置されている。この冗長ブロックを多重化して配置した場合、使用されるメモリ領域は、元データのサイズの1+k倍である。一方図11Bのように、n+k個のブロックをn+k個のノードに、1つずつ配置してもよい。この場合、メモリ領域は、元データの1+(k/n)倍であり、冗長ブロックを多重化して使用するよりもメモリ使用量は少ない。またファイルサーバ601にも冗長ブロックを配置することで、システム故障への耐性向上を図ることができる。
図11のシステムに使用される消失訂正符号でのシンボルは、データを固定長のビットフィールドに分割した後の各ビットフィールドである。シンボルは、rビットのフィールを、q=2^rとして有限体GF(q)の要素と対応づけて扱われる。また、例えば、素数pと自然数sについて、q´=p^sとして有限体GF(q´)の要素をシンボルと対応付けてもよい。この場合、q´>qの関係となる。
消失訂正符号は、有限体GF(q)を使用して生成することができる。図11のシステムに使用される消失訂正符号は、以下に記載する性質を持つ行列又は行列の列・行ベクトルの組を有する。
GF(q)の要素を使用したn行n+k列の行列で、n+k個の列ベクトルから任意のn個が線形独立。
GF(q)の要素を使用したn行n+k列の行列で、n+k個の行ベクトルから任意のn個が線形独立。
上に示す性質を持つ有限体GF(q)は、n個のシンボルに、k個の冗長シンボルを加えたn+k個のシンボルのうち、任意のn個から元のn個のシンボルが復元可能な行列である。
q個の要素を持つ有限体GF(q)上のn次元ベクトルn+k個からなる集合Tで、任意のn個を取った部分集合Sのベクトルが線形独立になるという性質を持つものであれば、集合Tに対応した消失訂正符号を得ることができる。
集合Tの要素を並べた(n、(n+k))行列をAとする。
Aの先頭のn列からなる正方行列をBとする。
Bの逆行列をCとする。
AにCをかけて得られる行列C*Aを、Dとする。
元のデータをn分割したブロックを並べたベクトルに行列Dをかけることで、消失訂正符号であるn+k個のブロックを得ることができる。Dの先頭n列の単位行列が元のデータのブロックに対応し、残りの列が冗長シンボルに対応している。
図12は、消失訂正符号を使用したシステムにおけるデータ転送の例を説明する図である。図12のシステムは、中継ノード701、送信ノード702、中継ノード703、受信ノード704、中継ノード705、受信ノード706を有する。図12のシステムは、同じキャッシュデータを、2以上のノードに送信し、更に、送信元データのあるノードから送信先ノードまでの経路で3つ以上のバンド幅があるノードを含む場合、消失訂正符号に変換したデータを中継ノードに保持させるという特徴を有する。元データを等しい長さのn個のブロックに分割したn個のブロックの集合を、Sとする。図12のシステムに用いられる消失訂正符号は、Sに全て同じ長さの冗長ブロックk個を加えたn+k個のブロックの集合Tが、Tの中の任意のn個のブロックがあれば元データ全体を復元可能という性質を有する。例えば、n=2、k=1の場合、排他的論理和は元データ全体を復元可能な性質を持つ消失訂正符号となる。
図12のシステム711は、消失訂正符号に変換したデータを中継ノードに保持させた場合の例である。図12の例のa及びbは、送信元となるデータを2等分した後のデータである。中継ノード705は、a、b、(a xor b)の3種類のデータを保持する。なお、図12のシステム711の中継ノード705は、データa及びデータbを共有する権限のないノードである。
送信ノード702は、中継ノード701にデータaを、中継ノード705にデータ(a xor b)を、中継ノード703にデータbを送信する。受信ノード704は、中継ノード701からデータaを受信し、更に、中継ノード705からデータ(a xor b)を受信する。受信ノード704は、受信したデータからデータa及びデータbを取得できる。受信ノード706は、中継ノード703からデータbを受信し、更に、中継ノード705からデータ(a xor b)を受信する。受信ノード706は、受信したデータからデータa及びデータbを取得できる。
図12のシステム712〜システム714は、消失訂正符号を使用しないシステムの例である。図12のシステム712〜システム714の中継ノード705は、データa及びデータbを共有する権限のあるノードである。
図12のシステム712のシステムにおいて、送信ノード702は、中継ノード701にデータaを、中継ノード703にデータbを送信する。受信ノード704は、中継ノード701からデータaを受信し、受信したデータaを、中継ノード705に送信する。一方、受信ノード706は、中継ノード703からデータbを受信し、受信したデータbを、中継ノード705に送信する。中継ノード705は、受信ノード704からデータaを受信し、受信したデータaを受信ノード706に送信する。併せて、中継ノード705は、受信ノード706からデータbを受信し、受信したデータbを受信ノード704に送信する。これらの処理によって、受信ノード704及び受信706は、データa及びデータbを取得できる。
図12のシステム713のシステムにおいて、送信ノード702は、中継ノード701にデータaを、中継ノード703にデータbを、中継ノード705にデータaを送信する。受信ノード704は、中継ノード701からデータaを受信する。受信ノード706は、中継ノード703からデータbを受信し、受信したデータbを、中継ノード705に送信する。中継ノード705は、送信ノード702からデータaを受信し、受信したデータaを受信ノード706に送信する。併せて、中継ノード705は、受信ノード706からデータbを受信し、受信したデータbを受信ノード704に送信する。これらの処理によって、受信ノード704及び受信706は、データa及びデータbを取得できる。
図12のシステム714のシステムにおいて、送信ノード702は、中継ノード701にデータaを、中継ノード703にデータaを、中継ノード705にデータbを送信する。中継ノード705は、送信ノード702からデータbを受信し、受信したデータbを受信ノード704及び受信ノード706に送信する。受信ノード704は、中継ノード701からデータaを、中継ノード705からデータbを受信する。受信ノード706は、中継ノード703からデータaを、中継ノード705からデータbを受信する。これらの処理によって、受信ノード704及び受信706は、データa及びデータbを取得できる。
図12のシステム711の中継ノード705は、図12のシステム712〜システム714と異なり、データa及びデータbを共有する権限のないノードを使用できる。図9のシステム711は、明確に、図12のシステム712とのシステム713よりも高い転送効率を実現している。図9のシステム711及び図9のシステム714では、消失訂正符号を使用したほうがいい環境であるか、又は、送信コストなどを考慮して、最適な転送効率を算出するようにすればよい。
図13は、転送ルートを選択する処理を説明するフローチャートである。送信ノードは、データを共有する権限のないノードを含め、消失訂正符号を使用するか否かに関わらず送信するルートのパターンの情報を収集する(ステップS701)。送信ノードは、パターンから最小コストのパターンを選択する(ステップS702)。送信ノードは、消失訂正符号を使用しないパターンが選択されたかを判定する(ステップS703)。送信ノードは、消失訂正符号を使用しないパターンを使用する(ステップS704、ステップS703でYES)。送信ノードは、消失訂正符号を使用する最小コストのパターンを使用する(ステップS705、ステップS703でNO)。
<辞書式の圧縮アルゴリズムを使用したシステム>
図14は、辞書式の圧縮アルゴリズムによる暗号化の例を説明するフローチャートである。ファイルの一部のブロックの内容を、ファイルの暗号化に用いる方式には、例えば、辞書式と称される圧縮アルゴリズムを用いてもよい。辞書式の圧縮アルゴリズムでは、ファイルの全部または一部のブロックの内容を可逆圧縮し、秘密鍵を取り除いた部分を暗号化したキャッシュデータとする。図14は、図1や図4の実施形態における暗号化の一例説明する図である。そのため、辞書式の圧縮アルゴリズムを用いたシステムにおいて、サーバ間の通信は、図1や図4と同様である。
圧縮だけでは、セキュリティの観点から不十分であるため、ファイルにアクセスする権限のないサーバに暗号化されたキャッシュデータを保持させる場合、圧縮以外の暗号化方法を併用するのが好ましい。
ノードは、暗号化するファイルを辞書式圧縮法で、可逆圧縮する(ステップS801)。ノードは、辞書部分を含むファイルのブロックを、ファイルにアクセスする権限のあるサーバのキャッシュに送信する(ステップS802)。ノードは、圧縮以外の暗号化手段に用いられる秘密鍵を作成するかを判定する(ステップS803)。ノードは、秘密鍵を生成する(ステップS804、ステップS803でYES)。ノードは、生成した秘密鍵を用いてファイルを暗号化する(ステップS805)。ノードは、暗号化されたキャッシュデータを、ファイルへのアクセス権限のないサーバに配置する(ステップS806)。処理を終了する(ステップS806が終了後、ステップS803でNO)。
<ノード間で共通なファイルの一部を用いた暗号を使用したシステム>
図15は、ノード間で共通なファイルの一部を用いた暗号化の例を説明するフローチャートである。図15は、図1や図4の実施形態における暗号化の一例を説明する図である。そのため、ノード間で共通なファイルの一部を暗号かに用いたシステムにおいて、サーバ間の通信は、図1や図4と同様である。共有するファイルにアクセスする権限のあるノードにファイルを配置する場合、秘密鍵として、それらのノード間で共通な別のファイルの一部を用いてもよい。
ファイルデータを保持しているノードは、暗号化したキャッシュデータを送信する先のノード間で、共通のファイルが存在するかを判定する(ステップS901)。ノードは、共通のファイルから1ブロック選択する(ステップS902、ステップS901でYES)。ノードは、選択したブロックを秘密鍵とする(ステップS903)。ノードは、他のファイルに依存しない秘密鍵を生成する(ステップS904、ステップS901でNO)。ノードは、処理を終了する(ステップS903が終了後、及びステップS904終了後)。
なお、図14、図15で説明に用いているノードは、ファイルサーバ、クライアントサーバのどちらでもよい。
100 分散ファイルシステム
110 クライアント
120 ファイルサーバ
123 キャッシュデータ
124 秘密鍵
125 キャッシュ管理表
130 ディスク装置
131 ファイルデータ
140 中継装置
150 キャッシュサーバ
300 キャッシュサーバ
302 暗号化されたキャッシュデータ

Claims (7)

  1. データと、前記データの暗号化に用いられる鍵を保持する第1の情報処理装置と、
    前記データを使用するクライアント装置と、
    前記第1の情報処理装置及び前記クライアント装置と、暗号化されていないデータを共有する権限を持たない第2の情報処理装置と、を有し、
    前記第1の情報処理装置は、
    前記クライアント装置から前記データの使用要求を受信すると、前記データと前記鍵をクライアント装置に送信し、
    前記データを前記鍵で暗号化した第1の暗号データを生成し、前記第1の暗号データを前記第2の情報処理装置に送信し、
    前記クライアント装置は、前記データの使用が終了するまで、前記データに対する処理結果を前記鍵で暗号化することにより得られる情報を、前記第2の情報処理装置に送信し、
    前記第1の情報処理装置は、前記クライアント装置から前記データの使用が終了したことを通知されると、前記第2の情報処理装置が前記クライアント装置から受信した最新の情報である第2の暗号データを、前記第2の情報処理装置から取得し、前記第2の暗号データを復号化して記憶する
    ことを特徴とする情報処理システム。
  2. 前記第1の情報処理装置及び前記クライアント装置と、暗号化されていないデータを共有する権限を持つ第3の情報処理装置を更に有し、
    前記第1の情報処理装置は、前記クライアント装置から前記データの使用要求を受信すると、
    前記第2の情報処理装置と前記第3の情報処理装置のうち、負荷が少ない方の情報処理装置を、前記クライアント装置が前記データの使用が終了するまで通信する情報処理装置である通信対象として指定し、
    前記通信対象の識別情報を前記クライアント装置に通知し、
    前記クライアント装置は、
    受信した前記通信対象の識別情報が前記第2の情報処理装置の識別情報である場合に、前記データの使用が終了するまで、前記データに対する処理結果を前記鍵で暗号化することにより得られる情報を、前記第2の情報処理装置に送信し、
    受信した前記通信対象の識別情報が前記第3の情報処理装置の識別情報である場合に、前記データの使用が終了するまで、前記データに対する処理結果のデータを、前記第3の情報処理装置に送信し、
    ことを特徴とする請求項1記載の情報処理システム。
  3. 前記クライアント装置は、暗号化されていないデータを共有する権限を持つ装置の識別情報を有し、
    受信した前記通信対象の識別情報が、前記権限を持つ装置の識別情報である場合、前記第3の情報処理装置が前記通信対象に指定されたと判定する
    ことを特徴とする請求項2記載の情報処理システム。
  4. データと、前記データの暗号化に用いられる鍵を保持する第1の情報処理装置と、
    前記データを使用するクライアント装置と、
    前記第1の情報処理装置及び前記クライアント装置と、暗号化されていないデータを共有する権限を持たない第2の情報処理装置と、を有する制御処理システムにおいて、
    前記第1の情報処理装置は、
    前記クライアント装置から前記データの使用要求を受信すると、前記データと前記鍵をクライアント装置に送信し、
    前記データを前記鍵で暗号化した第1の暗号データを生成し、前記第1の暗号データを前記第2の情報処理装置に送信し、
    前記クライアント装置は、前記データの使用が終了するまで、前記データに対する処理結果を前記鍵で暗号化することにより得られる情報を、前記第2の情報処理装置に送信し、
    前記第1の情報処理装置は、前記クライアント装置から前記データの使用が終了したことを通知されると、前記第2の情報処理装置が前記クライアント装置から受信した最新の情報である第2の暗号データを、前記第2の情報処理装置から取得し、前記第2の暗号データを復号化して記憶する
    ことを特徴とする情報処理システムの制御方法。
  5. 前記情報処理システムは、前記第1の情報処理装置及び前記クライアント装置と、暗号化されていないデータを共有する権限を持つ第3の情報処理装置を更に有し、
    前記第1の情報処理装置は、前記クライアント装置から前記データの使用要求を受信すると、
    前記第2の情報処理装置と前記第3の情報処理装置のうち、負荷が少ない方の情報処理装置を、前記クライアント装置が前記データの使用が終了するまで通信する情報処理装置である通信対象として指定し、
    前記通信対象の識別情報を前記クライアント装置に通知し、
    前記クライアント装置は、
    受信した前記通信対象の識別情報が前記第2の情報処理装置の識別情報である場合に、前記データの使用が終了するまで、前記データに対する処理結果を前記鍵で暗号化することにより得られる情報を、前記第2の情報処理装置に送信し、
    受信した前記通信対象の識別情報が前記第3の情報処理装置の識別情報である場合に、前記データの使用が終了するまで、前記データに対する処理結果のデータを、前記第3の情報処理装置に送信し、
    ことを特徴とする請求項4記載の情報処理システムの制御方法。
  6. 前記クライアント装置は、暗号化されていないデータを共有する権限を持つ装置の識別情報を有し、
    受信した前記通信対象の識別情報が、前記権限を持つ装置の識別情報である場合、前記第3の情報処理装置が前記通信対象に指定されたと判定する
    ことを特徴とする請求項5記載の情報処理システムの制御方法。
  7. クライアント装置から、データの使用要求を受信し、
    前記データと前記データの暗号化に用いられる鍵を前記クライアント装置に送信し、
    前記データを前記鍵で暗号化した第1の暗号データを生成し、
    前記第1の暗号データを、前記データを共有する権限を持たないキャッシュ装置に送信し、
    前記クライアント装置から前記データの使用が終了したことが通知されると、前記クライアント装置が前記データの使用を終了するまでに、前記データに対する処理結果を前記鍵で暗号化した情報として前記キャッシュ装置に送信した情報のうち、最新の情報である第2の暗号データを、前記キャッシュ装置から取得し、前記第2の暗号データを復号化して記憶する
    処理を情報処理装置に行わせることを特徴とする制御プログラム。
JP2013237072A 2013-11-15 2013-11-15 情報処理システム、情報処理装置の制御プログラム及び情報処理システムの制御方法 Active JP6197597B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013237072A JP6197597B2 (ja) 2013-11-15 2013-11-15 情報処理システム、情報処理装置の制御プログラム及び情報処理システムの制御方法
US14/522,709 US9514315B2 (en) 2013-11-15 2014-10-24 Information processing system and control method of information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013237072A JP6197597B2 (ja) 2013-11-15 2013-11-15 情報処理システム、情報処理装置の制御プログラム及び情報処理システムの制御方法

Publications (2)

Publication Number Publication Date
JP2015097345A JP2015097345A (ja) 2015-05-21
JP6197597B2 true JP6197597B2 (ja) 2017-09-20

Family

ID=53174511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013237072A Active JP6197597B2 (ja) 2013-11-15 2013-11-15 情報処理システム、情報処理装置の制御プログラム及び情報処理システムの制御方法

Country Status (2)

Country Link
US (1) US9514315B2 (ja)
JP (1) JP6197597B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6503945B2 (ja) * 2015-07-13 2019-04-24 富士通株式会社 情報処理装置、並列計算機システム、ファイルサーバ通信プログラム及びファイルサーバ通信方法
US11151266B2 (en) * 2017-12-06 2021-10-19 International Business Machines Corporation Secure data storage and access during transition operations

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH117405A (ja) * 1997-06-17 1999-01-12 Fujitsu Ltd ファイル共有システム
JP4131581B2 (ja) * 1998-01-30 2008-08-13 株式会社東芝 通信データ秘匿制御システム、及び通信データ秘匿制御方法
JPH11312138A (ja) 1998-04-28 1999-11-09 Nec Eng Ltd 割込み制御システム及びその制御方法
CN1296846C (zh) * 1999-08-27 2007-01-24 索尼公司 信息发送系统、发送装置和发送方法与信息接收系统、接收装置和接收方法
JP2002009762A (ja) * 2000-06-26 2002-01-11 Sony Corp 情報処理システム、情報処理方法、および情報処理装置、並びにプログラム提供媒体
US7500243B2 (en) * 2000-08-17 2009-03-03 Sun Microsystems, Inc. Load balancing method and system using multiple load balancing servers
JP4341897B2 (ja) * 2002-08-29 2009-10-14 株式会社日立製作所 記憶装置システム及びデータ複製方法
JP2005159905A (ja) * 2003-11-27 2005-06-16 Ntt Docomo Inc データ保存装置及び通信端末装置
JP2006217283A (ja) * 2005-02-03 2006-08-17 Fujitsu Ltd データ転送方法、データ転送プログラム、情報処理端末装置及び情報システム
US7860930B2 (en) 2006-12-19 2010-12-28 International Business Machines Corporation Communication between host systems using a transaction protocol and shared memories
JP5040859B2 (ja) * 2008-08-28 2012-10-03 富士通株式会社 情報漏洩防止プログラムおよび情報漏洩防止方法
JP2011203900A (ja) * 2010-03-25 2011-10-13 Nomura Research Institute Ltd 情報提供装置
TWI451259B (zh) * 2010-08-26 2014-09-01 Mstar Semiconductor Inc 多埠介面電路與相關省電方法
US8904173B2 (en) * 2010-12-22 2014-12-02 Google Technology Holdings LLC System and method for securely moving content
US9106721B2 (en) * 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices

Also Published As

Publication number Publication date
US20150143114A1 (en) 2015-05-21
US9514315B2 (en) 2016-12-06
JP2015097345A (ja) 2015-05-21

Similar Documents

Publication Publication Date Title
US10467096B2 (en) Securely storing data in a dispersed storage network
Li et al. Secure deduplication with efficient and reliable convergent key management
US10169147B2 (en) End-to-end secure data storage in a dispersed storage network
US10402571B2 (en) Community-based de-duplication for encrypted data
US9483398B2 (en) Partitioning data for storage in a dispersed storage network
US8914669B2 (en) Secure rebuilding of an encoded data slice in a dispersed storage network
WO2012132943A1 (ja) 秘密分散システム、装置及び記憶媒体
US11005663B2 (en) Secure audit scheme in a distributed data storage system
US20170163413A1 (en) System and Method for Content Encryption in a Key/Value Store
CN101103628A (zh) 主机装置、便携式存储装置以及用于更新关于存储在便携式存储装置中的版权对象的元信息的方法
KR20200143197A (ko) 블록체인을 기반으로 데이터의 분산 암호화 관리를 가능하게 하는 데이터 관리 장치 및 그 동작 방법
JP6197597B2 (ja) 情報処理システム、情報処理装置の制御プログラム及び情報処理システムの制御方法
JP6974959B2 (ja) 統合された記憶媒体のための保存データ(dar)暗号化
US20210342318A1 (en) Deduplication of encrypted data
US20240056290A1 (en) Secure distribution and update of encryption keys in cluster storage
US10558412B2 (en) Content delivery network including mobile devices
JP5530025B2 (ja) データ分割装置およびデータ分割プログラム
CN110611674B (zh) 不同计算机系统之间的协议交互方法、系统及存储介质
KR20210127063A (ko) 분산 서비스 환경에서의 사용자 개인키 백업 및 복원 프레임워크
KR102393183B1 (ko) 기업 서버의 로그 데이터 관리 및 처리 방법, 장치 및 시스템
WO2023243141A1 (ja) 連合学習システム及び連合学習方法
JP2011035618A (ja) 秘密分散装置、秘密分散方法、および秘密分散プログラム
US11626986B1 (en) Method and system of rescinding access to blockchain data
JP2007097102A (ja) 通信システム、情報処理装置、及びプログラム
KR20160129318A (ko) 블록기반 협업폴더의 콘텐츠 업로드 및 다운로드 방법과 블록기반 협업폴더의 콘텐츠 암호화 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170707

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: 20170725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170807

R150 Certificate of patent or registration of utility model

Ref document number: 6197597

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150