(57)【特許請求の範囲】
【請求項１】
複数のクライアント端末が接続されるファイルサーバ、及び前記ファイルサーバとネットワークを介して接続されるアーカイブサーバを備えるシステムであって、
前記ファイルサーバは、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、前記第１のプロセッサに接続される第１の記憶装置、及び前記第１のプロセッサに接続される第１のネットワークインタフェースを有し、
前記アーカイブサーバは、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、前記第２のプロセッサに接続される第２の記憶装置、及び前記第２のプロセッサに接続される第２のネットワークインタフェースを有し、
前記第１のプロセッサは、
前記複数のクライアント端末の各々が認識可能なデータの格納領域を提供し、
クライアント端末から、第１の格納領域に第１のデータを格納するための追加要求を受信した場合、前記第１の格納領域の属性に基づいて、前記第１のデータを前記第１の記憶装置に格納するか否かを判定し、
前記追加要求を前記アーカイブサーバに送信し、
前記第２のプロセッサは、前記追加要求を受信した場合、前記第２の記憶装置に前記第１のデータを格納することを特徴とするシステム。
【請求項２】
請求項１に記載のシステムであって、
前記第１のプロセッサは、
前記第１の格納領域が前記複数のクライアント端末によって共有されているか否かを判定し、
前記第１の格納領域が前記複数のクライアント端末によって共有されていると判定された場合、前記第１のデータを前記第１の記憶装置に格納し、
前記追加要求を送信した前記クライアント端末以外の複数のクライアント端末に前記第１の記憶装置に格納された前記第１のデータを送信することを特徴とするシステム。
【請求項３】
請求項２に記載のシステムであって、
前記第１のメモリは、前記クライアント端末から受信したアクセス要求をアクセスログとして管理するログ管理情報と、前記第１の記憶装置に格納されるデータのメタデータ以外のデータを削除するスタブ化処理を制御するためのポリシを格納するポリシ管理情報と、を格納し、
前記ポリシ管理情報には、前記スタブ化処理の実行契機を示す第１の条件及び前記スタブ化処理の対象となるデータの選択基準を示す第２の条件から構成されるポリシが格納され、
前記第１のプロセッサは、
前記クライアント端末からアクセス要求を受信した場合、前記アクセス要求を解析することによって、前記クライアント端末の種別を特定し、
前記クライアント端末の種別を含む前記アクセスログを前記ログ管理情報に格納し、
前記ログ管理情報を解析することによって、各データの格納領域に対するクライアント端末の種別毎のアクセス傾向を示すアクセス分析情報を生成し、
前記ポリシ管理情報を参照して、前記第１の条件を満たすか否かを判定し、
前記第１の条件を満たすと判定された場合、前記アクセス分析情報を参照して、前記第１の記憶装置に格納されるデータの中から前記第２の条件に合致するデータを特定し、
前記特定されたデータに対して前記スタブ化処理を実行することを特徴とするシステム。
【請求項４】
請求項３に記載のシステムであって、
前記第１のプロセッサは、
前記第１の記憶装置の空き容量が第１の閾値より小さい場合、前記第１の条件を満たすと判定し、
第１の種別のクライアント端末のアクセス傾向を示す値が閾値より大きい格納領域に格納され、かつ、前記第１の記憶装置に格納されるデータを、前記第２の条件に合致するデータとして特定することを特徴とするシステム。
【請求項５】
請求項４に記載のシステムであって、
前記第１のプロセッサは、
前記クライアント端末から前記第１のデータを更新するための同期要求を受信した場合、前記第１の記憶装置に前記第１のデータが格納されているか否かを判定し、
前記第１の記憶装置に前記第１のデータが格納されていると判定された場合、前記第１のデータを更新し、
前記同期要求を前記アーカイブサーバに送信し、
前記同期要求を送信した前記クライアント端末以外の複数のクライアント端末に、更新された前記第１のデータを送信し、
前記第２のプロセッサは、前記同期要求を受信した場合、前記第２の記憶装置に格納される前記第１のデータを更新することを特徴とするシステム。
【請求項６】
請求項４に記載のシステムであって、
前記第１のプロセッサは、
前記クライアント端末から前記第１のデータを参照するための参照要求を受信した場合、前記第１の記憶装置に前記第１のデータが格納されているか否かを判定し、
前記第１の記憶装置に前記第１のデータが格納されていると判定された場合、前記参照要求を送信した前記クライアント端末に、前記第１の記憶装置に格納される前記第１のデータを送信し、
前記第１の記憶装置に前記第１のデータが格納されていないと判定された場合、前記参照要求を前記アーカイブサーバに送信することによって前記第１のデータを取得し、前記参照要求を送信した前記クライアント端末に、取得した前記第１のデータを送信することを特徴とするシステム。
【請求項７】
複数のクライアント端末が接続されるファイルサーバ、及び前記ファイルサーバとネットワークを介して接続されるアーカイブサーバを備えるシステムにおけるデータ管理方法であって、
前記ファイルサーバは、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、前記第１のプロセッサに接続される第１の記憶装置、及び前記第１のプロセッサに接続される第１のネットワークインタフェースを有し、
前記アーカイブサーバは、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、前記第２のプロセッサに接続される第２の記憶装置、及び前記第２のプロセッサに接続される第２のネットワークインタフェースを有し、
前記データ管理方法は、
前記第１のプロセッサが、前記複数のクライアント端末の各々が認識可能なデータの格納領域を提供する第１のステップと、
前記第１のプロセッサが、クライアント端末から、第１の格納領域に第１のデータを格納するための追加要求を受信した場合、前記第１の格納領域の属性に基づいて、前記第１のデータを前記第１の記憶装置に格納するか否かを判定する第２のステップと、
前記第１のプロセッサが、前記追加要求を前記アーカイブサーバに送信する第３のステップと、
前記第２のプロセッサが、前記追加要求を受信した場合、前記第２の記憶装置に前記第１のデータを格納する第４のステップと、を含むことを特徴とするデータ管理方法。
【請求項８】
請求項７に記載のデータ管理方法であって、
前記第２のステップは、
前記第１のプロセッサが、前記第１の格納領域が前記複数のクライアント端末によって共有されているか否かを判定するステップと、
前記第１の格納領域が前記複数のクライアント端末によって共有されていると判定された場合、前記第１のプロセッサが、前記第１のデータを前記第１の記憶装置に格納するステップと、を含み、
前記第４のステップは、前記第１のプロセッサが、前記追加要求を送信した前記クライアント端末以外の複数のクライアント端末に前記第１の記憶装置に格納された前記第１のデータを送信するステップを含むことを特徴とするデータ管理方法。
【請求項９】
請求項８に記載のデータ管理方法であって、
前記第１のメモリは、前記クライアント端末から受信したアクセス要求をアクセスログとして管理するログ管理情報と、前記第１の記憶装置に格納されるデータのメタデータ以外のデータを削除するスタブ化処理を制御するためのポリシを格納するポリシ管理情報と、を格納し、
前記ポリシ管理情報には、前記スタブ化処理の実行契機を示す第１の条件及び前記スタブ化処理の対象となるデータの選択基準を示す第２の条件から構成されるポリシが格納され、
前記データ管理方法は、
前記第１のプロセッサが、前記クライアント端末からアクセス要求を受信した場合、前記アクセス要求を解析することによって、前記クライアント端末の種別を特定する第５のステップと、
前記第１のプロセッサが、前記クライアント端末の種別を含む前記アクセスログを前記ログ管理情報に格納する第６のステップと、
前記第１のプロセッサが、前記ログ管理情報を解析することによって、各データの格納領域に対するクライアント端末の種別毎のアクセス傾向を示すアクセス分析情報を生成する第７のステップと、
前記第１のプロセッサが、前記ポリシ管理情報を参照して、前記第１の条件を満たすか否かを判定する第８のステップと、
前記第１のプロセッサが、前記第１の条件を満たすと判定された場合、前記アクセス分析情報を参照して、前記第１の記憶装置に格納されるデータの中から前記第２の条件に合致するデータを特定する第９のステップと、
前記第１のプロセッサが、前記特定されたデータに対して前記スタブ化処理を実行する第１０のステップと、を含むことを特徴とするデータ管理方法。
【請求項１０】
請求項９に記載のデータ管理方法であって、
前記第８のステップは、前記第１のプロセッサが、前記第１の記憶装置の空き容量が第１の閾値より小さい場合、前記第１の条件を満たすと判定するステップを含み、
前記第１０のステップは、前記第１のプロセッサが、第１の種別のクライアント端末のアクセス傾向を示す値が閾値より大きい格納領域に格納され、かつ、前記第１の記憶装置に格納されるデータを、前記第２の条件に合致するデータとして特定するステップを含むことを特徴とするデータ管理方法。
【請求項１１】
請求項１０に記載のデータ管理方法であって、
前記第１のプロセッサが、前記クライアント端末から前記第１のデータを更新するための同期要求を受信した場合、前記第１の記憶装置に前記第１のデータが格納されているか否かを判定するステップと、
前記第１の記憶装置に前記第１のデータが格納されていると判定された場合、前記第１のプロセッサが、前記第１のデータを更新するステップと、
前記第１のプロセッサが、前記同期要求を前記アーカイブサーバに送信するステップと、
前記第１のプロセッサが、前記同期要求を送信した前記クライアント端末以外の複数のクライアント端末に、更新された前記第１のデータを送信するステップと、
前記第２のプロセッサが、前記同期要求を受信した場合、前記第２の記憶装置に格納される前記第１のデータを更新するステップと、を含むことを特徴とするデータ管理方法。
【請求項１２】
請求項１０に記載のデータ管理方法であって、
前記第１のプロセッサが、前記クライアント端末から前記第１のデータを参照するための参照要求を受信した場合、前記第１の記憶装置に前記第１のデータが格納されているか否かを判定するステップと、
前記第１の記憶装置に前記第１のデータが格納されていると判定された場合、前記第１のプロセッサが、前記参照要求を送信した前記クライアント端末に、前記第１の記憶装置に格納される前記第１のデータを送信するステップと、
前記第１の記憶装置に前記第１のデータが格納されていないと判定された場合、前記第１のプロセッサが、前記参照要求を前記アーカイブサーバに送信することによって前記第１のデータを取得し、前記参照要求を送信した前記クライアント端末に、取得した前記第１のデータを送信するステップと、を含むことを特徴とするデータ管理方法。
【請求項１３】
複数のクライアント端末から送信されるアクセス要求を受け付け、かつ、ネットワークを介したアクセス対象のデータを格納するアーカイブサーバと接続するファイルサーバであって、
前記ファイルサーバは、プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有し、
前記プロセッサは、
前記複数のクライアント端末の各々が認識可能なデータの格納領域を提供し、
クライアント端末から、第１の格納領域に第１のデータを格納するための追加要求を受信した場合、前記第１の格納領域が前記複数のクライアント端末によって共有されているか否かを判定し、
前記第１の格納領域が前記複数のクライアント端末によって共有されていると判定された場合、前記第１のデータを前記記憶装置に格納し、
前記追加要求を前記アーカイブサーバに送信し、
前記追加要求を送信した前記クライアント端末以外の複数のクライアント端末に前記記憶装置に格納された前記第１のデータを送信することを特徴とするファイルサーバ。
【請求項１４】
請求項１３に記載のファイルサーバであって、
前記メモリは、前記クライアント端末から受信したアクセス要求をアクセスログとして管理するログ管理情報を格納し、
前記プロセッサは、
前記クライアント端末からアクセス要求を受信した場合、前記アクセス要求を解析することによって、前記クライアント端末の種別を特定し、
前記クライアント端末の種別を含む前記アクセスログを前記ログ管理情報に格納し、
前記ログ管理情報を解析することによって、各データの格納領域に対するクライアント端末の種別毎のアクセス傾向を示すアクセス分析情報を生成し、
前記記憶装置の空き容量が第１の閾値より小さいか否かを判定し、
前記記憶装置の空き容量が第１の閾値より小さいと判定された場合、前記アクセス分析情報を参照して、前記記憶装置に格納されるデータの中から、第１の種別のクライアント端末のアクセス傾向を示す値が閾値より大きい格納領域に格納されるデータを特定し、
前記特定されたデータに対して、メタデータ以外のデータを削除するスタブ化処理を実行することを特徴とするファイルサーバ。
【請求項１５】
請求項１４に記載のファイルサーバであって、
前記プロセッサは、
前記クライアント端末から前記第１のデータを更新するための同期要求を受信した場合、前記記憶装置に前記第１のデータが格納されているか否かを判定し、
前記記憶装置に前記第１のデータが格納されていると判定された場合、前記第１のデータを更新し、
前記同期要求を前記アーカイブサーバに送信し、
前記同期要求を送信した前記クライアント端末以外の複数のクライアント端末に、更新された前記第１のデータを送信することを特徴とするファイルサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して複数の端末がアクセス可能なシステムにおけるデータの制御に関する。
【背景技術】
【０００２】
近年、オンプレミス型システムからクラウド型システムへの移行が行われている。例えば、クラウド型システムを用いてストレージシステムを提供するサービスが存在する。当該サービスでは、ユーザは、会社の端末を用いて、ネットワーク経由でストレージシステムにアクセスする。【０００３】
クラウド型システムを利用したストレージシステムの場合、アクセス速度が遅くなるという問題がある。これを解決する手段として特許文献１に記載の技術が知られている。特許文献１には、「リモートの記憶デバイスを管理するリモートのファイルサーバと、ローカルの記憶デバイスを管理するローカルのファイルサーバとが、通信ネットワーク（例えばインターネット）に接続されている。ローカルのファイルサーバが、（Ａ）ローカルの記憶デバイス内のファイルをリモートのファイルサーバにレプリケーションし、（Ｂ）第１の条件が満たされた場合に、レプリケーションされたファイルであるレプリケーション済みファイルを、マイグレーション対象ファイルとして管理する。ローカルのファイルサーバは、（Ｂ）が完了してもマイグレーション対象ファイルをローカルの記憶デバイスから削除せず、第２の条件が満たされた場合に、マイグレーション対象ファイルをローカルの記憶デバイスから削除する。」ことが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１１／１４８４９６号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、原則、全てのファイルがローカルのファイルサーバに格納され、特定の条件を満たす場合にマイグレーション対象のファイルがリモートのファイルサーバにマイグレーションされる。しかし、特許文献１の技術を用いた場合、特定の条件が成立するまでローカルのファイルサーバにファイルが格納されるためローカルのファイルサーバの記憶容量が不足し、また、リモートのファイルサーバを有効に利用できていないという問題がある。【０００６】
本発明は、ファイルへのアクセス速度を低下させることなく、オンプレミス型システム及びクラウド型システムを有効に活用したデータの管理を実現する。
【課題を解決するための手段】
【０００７】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数のクライアント端末が接続されるファイルサーバ、及び前記ファイルサーバとネットワークを介して接続されるアーカイブサーバを備えるシステムであって、前記ファイルサーバは、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、前記第１のプロセッサに接続される第１の記憶装置、及び前記第１のプロセッサに接続される第１のネットワークインタフェースを有し、前記アーカイブサーバは、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、前記第２のプロセッサに接続される第２の記憶装置、及び前記第２のプロセッサに接続される第２のネットワークインタフェースを有し、前記第１のプロセッサは、前記複数のクライアント端末の各々が認識可能なデータの格納領域を提供し、クライアント端末から、第１の格納領域に第１のデータを格納するための追加要求を受信した場合、前記第１の格納領域の属性に基づいて、前記第１のデータを前記第１の記憶装置に格納するか否かを判定し、前記追加要求を前記アーカイブサーバに送信し、前記第２のプロセッサは、前記追加要求を受信した場合、前記第２の記憶装置に前記第１のデータを格納することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ネットワークを介した通信が頻繁に発生するデータがローカルのファイルサーバに自動的に格納される。これによって、ネットワークを介して通信を削減し、かつ、オンプレミス型システム及びクラウド型システムを有効に活用したデータの管理を実現できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】実施例１のシステムのハードウェア構成の一例を示す図である。
【図２】実施例１のシステムのソフトウェア構成の一例を示す図である。
【図３】実施例１のログ管理情報の一例を示す図である。
【図４】実施例１のＨＴＴＰヘッダの一例を示す図である。
【図５Ａ】実施例１のＵｓｅｒ−Ａｇｅｎｔから取得される情報の一例を示す図である。
【図５Ｂ】実施例１のＵｓｅｒ−Ａｇｅｎｔから取得される情報の一例を示す図である。
【図５Ｃ】実施例１のＵｓｅｒ−Ａｇｅｎｔから取得される情報の一例を示す図である。
【図６】実施例１のアクセス分析情報の一例を示す図である。
【図７】実施例１のスタブ化条件情報の一例を示す図である。
【図８】実施例１のデバイス分類情報の一例を示す図である。
【図９】実施例１のファイル作成時におけるシステムの処理の流れを説明するシーケンス図である。
【図１０】実施例１のファイル更新時におけるシステムの処理の流れを説明するシーケンス図である。
【図１１】実施例１のファイル参照時におけるシステムの処理の流れを説明するシーケンス図である。
【図１２Ａ】実施例１のファイルサーバがアクセス要求を受信した場合に実行する処理の一例を示すフローチャートである。
【図１２Ｂ】実施例１のファイルサーバがアクセス要求を受信した場合に実行する処理の一例を示すフローチャートである。
【図１２Ｃ】実施例１のファイルサーバがアクセス要求を受信した場合に実行する処理の一例を示すフローチャートである。
【図１２Ｄ】実施例１のファイルサーバがアクセス要求を受信した場合に実行する処理の一例を示すフローチャートである。
【図１３】実施例１のファイルサーバが実行するスタブ化処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下の説明では、「ＡＡＡ情報」は、データ構造に限定されない情報を示す。なお、データ構造としては、テーブル形式及びＣＳＶ形式等が考えられる。
【００１１】
また、以下の説明では、「ＡＡＡモジュール」は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及びＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサが当該モジュールを実現するプログラムにしたがって動作することによって実現される。なお、モジュールが有する機能の全部又は一部は、ハードウェアを用いて実現してもよい。また、モジュールが有する複数の機能を別々のプログラムを用いて実現してもよい。
【００１２】
以下、本発明の実施例について図面を参照して詳細に説明する。各図において共通の構成には同一の参照符号が付されている。
【実施例１】
【００１３】
図１は、実施例１のシステムのハードウェア構成の一例を示す図である。図２は、実施例１のシステムのソフトウェア構成の一例を示す図である。【００１４】
実施例１のシステムは、拠点１０及びデータセンタ１１から構成される。拠点１０及びデータセンタ１１は、ネットワーク１９０を介して接続される。ネットワーク１９０は、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、及びインターネット等が考えられる。なお、本実施例は、ネットワーク１９０の種別に限定されない。また、本実施例は、ネットワーク１９０の接続方式に限定されず、有線又は無線のいずれでもよい。【００１５】
拠点１０は、オンプレミス型システムに対応するシステムであり、複数のクライアント端末１００、ストレージシステム１１０、及びファイルサーバ１２０を含む。複数のクライアント端末１００、ストレージシステム１１０、及びファイルサーバ１２０は、内部ネットワークを介して接続される。内部ネットワークは、例えば、ＬＡＮ等が考えられる。なお、本実施例は、内部ネットワークの種別及び接続方式に限定されない。【００１６】
データセンタ１１は、クラウド型システムに対応するシステムであり、ゲートウェイサーバ１３０、アーカイブサーバ１４０、及びストレージシステム１５０を含む。ゲートウェイサーバ１３０、アーカイブサーバ１４０、及びストレージシステム１５０は、内部ネットワークを介して接続される。内部ネットワークは、例えば、ＬＡＮ等が考えられる。なお、本実施例は、内部ネットワークの種別及び接続方式に限定されない。【００１７】
クライアント端末１００は、ユーザが使用する端末である。クライアント端末１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、メモリ１０２、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０３、及びＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１０４を有する。【００１８】
ＣＰＵ１０１は、メモリ１０２に格納されるプログラムを実行する。ＣＰＵ１０１は、プログラムにしたがって処理を実行することによって特定の機能を有するモジュールとして動作する。【００１９】
メモリ１０２は、ＣＰＵ１０１が実行するプログラム及び当該プログラムが使用する情報を格納する。また、メモリ１０２は、一時的に使用されるワークエリア等の記憶領域を含む。【００２０】
ＨＤＤ１０３は、データを永続的に格納する。メモリ１０２に格納されるプログラム及び情報は、ＨＤＤ１０３に格納されてよい。この場合、ＣＰＵ１０１が、ＨＤＤ１０３からプログラム及び情報を読み出し、メモリ１０２にプログラム及び情報をロードし、メモリ１０２にロードされたプログラムを実行する。なお、クライアント端末１００は、ＨＤＤ１０３の代わりにＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）及び不揮発性メモリ等の記憶装置を有してもよい。【００２１】
ＮＩＣ１０４は、ネットワークを介して他の装置と接続するためのインタフェースである。【００２２】
メモリ１０２は、ＯＳ２０１及びアプリケーション２０２を実現するプログラムを格納する。【００２３】
ＯＳ２０１は、クライアント端末１００全体を制御する。ＯＳ２０１は、データの格納領域であるディレクトリ（フォルダ）を管理するファイルシステムを含む。アプリケーション２０２は、ストレージシステム１１０、１５０に格納されるデータを用いて所定の処理を実行する。なお、本実施例は、アプリケーション２０２の種類及び処理内容に限定されない。【００２４】
本実施例の拠点１０は、デバイス種別が異なるクライアント端末１００を含む。具体的には、パーソナルコンピュータ及びスマートデバイスの二つのデバイス種別のクライアント端末１００が存在する。なお、スマートデバイスには、スマートフォン及びタブレット端末等が含まれる。【００２５】
ストレージシステム１１０は、クライアント端末１００が使用するデータを格納するローカル側の計算機である。ストレージシステム１１０は、コントローラ１１１、ＨＤＤ１１２、及びＣＨＡ（Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ）１１３を有する。ＨＤＤ１１２は、ＨＤＤ１０３と同様のものである。【００２６】
コントローラ１１１は、図示しないＣＰＵ及びメモリを含み、ストレージシステム１１０全体を制御する。ＣＨＡ１１３は、ファイルサーバ１２０等の外部装置と接続するためのインタフェースである。【００２７】
コントローラ１１１に含まれるメモリには、ストレージシステム１１０全体を制御するＯＳ等のプログラムが格納される。【００２８】
ストレージシステム１１０は、ＨＤＤ１１２を用いてＲＡＩＤボリュームを生成し、さらに、ＲＡＩＤボリュームを分割することによってＬＵ２１０を生成する。ストレージシステム１１０は、クライアント端末１００が使用する記憶領域としてＬＵ２１０を提供する。【００２９】
ファイルサーバ１２０は、複数のクライアント端末１００が使用するデータ（ファイル）を管理する計算機である。ファイルサーバ１２０は、ＣＰＵ１２１、メモリ１２２、ＨＤＤ１２３、ＮＩＣ１２４、及びＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）１２５を有する。【００３０】
ＣＰＵ１２１、メモリ１２２、ＨＤＤ１２３、及びＮＩＣ１２４は、ＣＰＵ１０１、メモリ１０２、ＨＤＤ１０３、及びＮＩＣ１０４と同様のものである。【００３１】
ＨＢＡ１２５は、ストレージシステム１１０等の外部記憶装置と接続するためのインタフェースである。【００３２】
メモリ１２２は、ＯＳ２２１、データムーバモジュール２２２、ファイル共有モジュール２２３、及びＨＴＴＰサーバモジュール２２４を実現するプログラムを格納し、また、ログ管理情報２２５、アクセス分析情報２２６、及びポリシ管理情報２２７を格納する。【００３３】
ＯＳ２２１は、ＯＳ２０１と同様のものである。【００３４】
データムーバモジュール２２２は、拠点１０及びデータセンタ１１間のデータの移動を制御する。【００３５】
ファイル共有モジュール２２３は、ＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）及びＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）等のプロトコルを用いたファイル共有機能を有する。ファイル共有モジュール２２３は、クライアント端末１００がマウント可能なディレクトリ、すなわち、認識可能な記憶領域を提供する。
【００３６】
ＨＴＴＰサーバモジュール２２４は、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に基づいた通信を行う。【００３７】
ログ管理情報２２５は、ファイルに対するアクセスログを格納する。本実施例のログ管理情報２２５は、ＨＴＴＰサーバモジュール２２４によって生成される。ログ管理情報２２５の詳細は、図３を用いて説明する。【００３８】
アクセス分析情報２２６は、データムーバモジュール２２２が実行するログ管理情報２２５の解析処理によって生成される情報である。アクセス分析情報２２６の詳細は、図６を用いて説明する。【００３９】
ポリシ管理情報２２７は、拠点１０に格納されるデータ（ファイル）のスタブ化処理を制御するためのポリシを格納する。ポリシ管理情報２２７は予め設定される情報であり、適宜更新できる。ポリシ管理情報２２７の詳細は、図７を用いて説明する。なお、スタブ化処理は、データの実体部分を記憶装置から削除し、データの格納先の情報に関連するメタデータのみを記憶装置に格納するための処理である。【００４０】
ゲートウェイサーバ１３０は、ネットワークを介してデータ（ファイル）の同期及び共有を実現する計算機である。ゲートウェイサーバ１３０は、ＣＰＵ１３１、メモリ１３２、ＨＤＤ１３３、ＮＩＣ１３４、及びＨＢＡ１３５を有する。ＣＰＵ１３１、メモリ１３２、ＨＤＤ１３３、ＮＩＣ１３４、及びＨＢＡ１３５は、ＣＰＵ１２１、メモリ１２２、ＨＤＤ１２３、ＮＩＣ１２４、及びＨＢＡ１２５と同様のものである。【００４１】
メモリ１３２は、ＯＳ２３１及びＨＴＴＰサーバモジュール２３２を実現するプログラムを格納する。ＯＳ２３１及びＨＴＴＰサーバモジュール２３２は、ＯＳ２２１及びＨＴＴＰサーバモジュール２２４と同様のものである。【００４２】
アーカイブサーバ１４０は、データを格納する計算機であり、ストレージシステム１５０に対するデータの書込処理及びデータの読出処理を実行する。アーカイブサーバ１４０は、ＣＰＵ１４１、メモリ１４２、ＨＤＤ１４３、ＮＩＣ１４４、及びＨＢＡ１４５を有する。ＣＰＵ１４１、メモリ１４２、ＨＤＤ１４３、ＮＩＣ１４４、及びＨＢＡ１４５は、ＣＰＵ１２１、メモリ１２２、ＨＤＤ１２３、ＮＩＣ１２４、及びＨＢＡ１２５と同様のものである。【００４３】
メモリ１４２は、ＯＳ２４１及びアーカイブモジュール２４２を実現するプログラムを格納する。ＯＳ２４１はＯＳ２０１と同様のものである。【００４４】
アーカイブモジュール２４２は、拠点１０から送信されたアクセス要求に基づいて、ストレージシステム１５０に対するアクセスを制御する。【００４５】
ストレージシステム１５０は、クライアント端末１００が使用するデータを格納するリモート側の計算機である。ストレージシステム１５０は、コントローラ１５１、ＨＤＤ１５２、及びＣＨＡ１５３を有する。コントローラ１５１、ＨＤＤ１５２、及びＣＨＡ１５３は、コントローラ１１１、ＨＤＤ１１２、及びＣＨＡ１１３と同様のものである。【００４６】
ストレージシステム１５０は、ストレージシステム１１０と同様にＬＵ２５０を生成し、クライアント端末１００が使用する記憶領域としてＬＵ２５０を提供する。【００４７】
本実施例のデータセンタ１１は、ゲートウェイサーバ１３０、アーカイブサーバ１４０、及びストレージシステム１５０を別々の装置として有しているが、ネットワークを介してデータの書込処理及び読出処理を実現できる装置構成であればよい。例えば、アーカイブサーバ１４０がゲートウェイサーバ１３０及びストレージシステム１５０の機能を有する構成でもよい。【００４８】
図３は、実施例１のログ管理情報２２５の一例を示す図である。図４は、実施例１のＨＴＴＰヘッダの一例を示す図である。図５Ａ、図５Ｂ、及び図５Ｃは、実施例１のＵｓｅｒ−Ａｇｅｎｔから取得される情報の一例を示す図である。【００４９】
ログ管理情報２２５は、日時３０１、アクセス先ＩＰアドレス３０２、要求種別３０３、要求ＵＲＬ３０４、及びヘッダ情報３０５から構成されるエントリを含む。一つエントリが一つのアクセスログに対応する。なお、エントリは、前述した以外のフィールドを含んでもよい。【００５０】
日時３０１は、ファイルサーバ１２０がアクセス要求を受信した日時である。なお、日時３０１には、アクセス要求が発行された日時が格納されてもよい。【００５１】
アクセス先ＩＰアドレス３０２は、アクセス先の装置のＩＰアドレスである。【００５２】
要求種別３０３は、アクセス要求の種別である。例えば、要求種別３０３には、「ＰＵＴ」、「ＰＯＳＴ」、及び「ＧＥＴ」等のＨＴＴＰのメソッドの種別が格納される。【００５３】
要求ＵＲＬ３０４は、アクセス対象のデータ（ファイル）の格納先を示すＵＲＬである。当該ＵＲＬには、データが格納されるディレクトリの名称が含まれる。例えば、図３に示す例では、ＵＲＬにディレクトリ名「ｄｉｒ１」が含まれる。なお、データの格納先を示す情報は、ＵＲＬ以外の情報でもよい。【００５４】
ヘッダ情報３０５は、アクセス要求に含まれるＨＴＴＰヘッダから取得された情報である。本実施例のヘッダ情報３０５は、クライアント端末１００のデバイス種別等を特定するための値を格納するフィールドを含む。具体的には、ヘッダ情報３０５は、デバイス名３０６、ＯＳ３０７、及びブラウザ名３０８を含む。【００５５】
デバイス名３０６は、アクセス要求を発行したクライアント端末１００のデバイス種別である。ＯＳ３０７は、アクセス要求を発行したクライアント端末１００上で稼働するＯＳ２０１の種別である。ブラウザ名３０８は、アクセス要求を発行したクライアント端末１００が要求ＵＲＬ３０４へアクセスするために用いたブラウザの種別である。【００５６】
ここで、図４を用いてＨＴＴＰヘッダについて説明する。ＨＴＴＰヘッダ４００は、Ａｃｃｅｐｔ４０１、Ｒｅｆｅｒｅｒ４０２、Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ４０３、Ｕｓｅｒ−Ａｇｅｎｔ４０４、Ａｃｃｅｐｔ−Ｅｎｃｏｄｉｎｇ４０５、Ｈｏｓｔ４０６、ＤＮＴ４０７、Ｃｏｎｎｅｃｔｉｏｎ４０８、及びＣｏｏｋｉｅ４０９を含む。なお、前述したＨＴＴＰヘッダ４００は、一例として一部のフィールドを示している。【００５７】
Ａｃｃｅｐｔ４０１は、ブラウザが受信可能なデータ形式を示すフィールドである。Ｒｅｆｅｒｅｒ４０２は、現在のページを取得するときに使用されたリンクを含むページの情報（ＵＲＬ）を示すフィールドである。Ａｃｃｅｐｔ−Ｌａｎｇｕａｇｅ４０３は、ブラウザが受信可能な言語を示すフィールドである。Ｕｓｅｒ−Ａｇｅｎｔ４０４は、ブラウザ及びＯＳの種別等の情報を示すフィールドである。Ａｃｃｅｐｔ−Ｅｎｃｏｄｉｎｇ４０５は、ブラウザが受信可能なエンコード方式を示すフィールドである。Ｈｏｓｔ４０６は、リクエスト先のサーバの名称を示すフィールドである。ＤＮＴ４０７は、トラッキングの可否を示すフィールドである。Ｃｏｎｎｅｃｔｉｏｎ４０８は、応答送信後にＴＣＰコネクションを切断するか否か等の通信オプションを示すフィールドである。Ｃｏｏｋｉｅ４０９は、ブラウザに保存されているクッキーデータを示すフィールドである。【００５８】
図５Ａ、図５Ｂ、及び図５Ｃに示すように、Ｕｓｅｒ−Ａｇｅｎｔ４０４には、枠５０１、枠５０２、及び枠５０３に示すような文字列が含まれる。枠５０１は、クライアント端末１００のデバイス種別を表す文字列である。枠５０２は、ＯＳの種別を表す文字列である。また、枠５０３は、ブラウザの種別を表す文字列である。なお、クライアント端末１００がパーソナルコンピュータである場合、Ｕｓｅｒ−Ａｇｅｎｔ４０４には枠５０１が含まれなくてもよい。【００５９】
本実施例では、Ｕｓｅｒ−Ａｇｅｎｔ４０４から取得した値がヘッダ情報３０５に格納される。【００６０】
図６は、実施例１のアクセス分析情報２２６の一例を示す図である。【００６１】
アクセス分析情報２２６は、ディレクトリ６０１、ＰＣアクセス数６０２、スマートデバイスアクセス数６０３、及びスマートデバイス占有率６０４から構成されるエントリを含む。一つのエントリが一つのディレクトリに対応する。なお、エントリは、前述した以外のフィールドを含んでもよい。【００６２】
ディレクトリ６０１は、ディレクトリの名称である。【００６３】
ＰＣアクセス数６０２は、パーソナルコンピュータがディレクトリ６０１に対応するディレクトリに格納されるデータにアクセスした回数である。【００６４】
スマートデバイスアクセス数６０３は、スマートデバイスがディレクトリ６０１に対応するディレクトリに格納されるデータにアクセスした回数である。【００６５】
スマートデバイス占有率６０４は、ディレクトリの全アクセス数のうちスマートデバイスのアクセスが占める割合である。具体的には、式（１）に基づいて算出される値がスマートデバイス占有率６０４に格納される。【００６６】
【数１】
0006591700.tif 000002
【００６７】
図７は、実施例１のスタブ化条件情報２２８の一例を示す図である。【００６８】
スタブ化条件情報２２８は、ＩＤ７０１、スタブ化条件７０２、及びスタブ化対象７０３から構成されるエントリを含む。一つのエントリが一つのポリシに対応する。なお、エントリは、前述した以外のフィールドを含んでもよい。【００６９】
ＩＤ７０１は、スタブ化条件情報２２８に含まれるエントリを一意に識別するための識別情報である。本実施例のＩＤ７０１には、「１」から順に数値が設定される。【００７０】
スタブ化条件７０２は、データのスタブ化処理の実行契機を定義する条件である。本実施例では、ＩＤ７０１が「１」であるポリシから順に適用される。なお、各ポリシは、他のポリシと依存しないように設定されてもよい。【００７１】
スタブ化対象７０３は、スタブ化処理の対象となるデータ（ファイル）を選択するための条件である。本実施例では、ディレクトリ単位にスタブ化処理の対象となるデータ（ファイル）が選択される。また、本実施例では、スマートデバイス占有率６０４の値にしたがって、スタブ化処理の対象となるデータ（ファイル）が選択される。具体的には、スマートデバイス占有率６０４が低いデータ（ファイル）から順にスタブ化処理の対象となるデータ（ファイル）が選択される。【００７２】
スマートデバイスが保持できるデータの容量は、パーソナルコンピュータより小さいため、頻繁にデータ（ファイル）へのアクセスが発生する。また、スマートデバイス占有率６０４の値が大きいディレクトリに格納されるデータ（ファイル）は、スマートデバイスが頻繁にアクセスするデータ（ファイル）であることを示す。したがって、スマートデバイス占有率６０４の値が大きいデータ（ファイル）に対してスタブ化処理が実行された場合、ネットワーク１９０を介した通信量が増大する。そこで、本実施例では、クライアント端末１００のデバイス種別のアクセス傾向に応じて、ファイルサーバ１２０が保持するデータ（ファイル）を選択する。【００７３】
図８は、実施例１のデバイス分類情報２２９の一例を示す図である。【００７４】
デバイス分類情報２２９は、ＩＤ８０１、分類条件８０２、及び種別８０３から構成されるエントリを含む。一つのエントリが一つの分類条件に対応する。なお、エントリは、前述した以外のフィールドを含んでもよい。【００７５】
ＩＤ８０１は、デバイス分類情報２２９に含まれるエントリを一意に識別するための識別情報である。本実施例のＩＤ８０１には、「１」から順に数値が設定される。【００７６】
分類条件８０２は、クライアント端末１００のデバイス種別を分類するための条件である。本実施例の分類条件８０２には、Ｕｓｅｒ−Ａｇｅｎｔ４０４に含まれる文字列が条件として設定される。【００７７】
種別８０３は、分類条件８０２に合致したクライアント端末１００のデバイス種別である。【００７８】
図９は、実施例１のファイル作成時におけるシステムの処理の流れを説明するシーケンス図である。【００７９】
クライアント端末Ａ１００が、グループ共有用のディレクトリに格納するファイルＡを作成し（ステップＳ１０１）、当該ディレクトリへファイルＡを追加するための追加要求をファイルサーバ１２０に送信する（ステップＳ１０２）。追加要求は、ＨＴＴＰにしたがって送信され、また、ファイルＡが含まれる。【００８０】
ファイルサーバ１２０のＨＴＴＰサーバモジュール２２４は、追加要求を受信した場合、アクセスログを取得し（ステップＳ１０３）、ログ管理情報２２５に取得したアクセスログを登録する。具体的には、以下のような処理が実行される。【００８１】
ＨＴＴＰサーバモジュール２２４は、ログ管理情報２２５にエントリを追加し、追加されたエントリの日時３０１に追加要求を受信した日時を設定し、また、要求種別３０３に「ＰＯＳＴ」を設定する。【００８２】
ＨＴＴＰサーバモジュール２２４は、ＩＰヘッダからアクセス先のＩＰアドレスを取得し、追加されたエントリのアクセス先ＩＰアドレス３０２に取得したＩＰアドレスを設定する。また、ＨＴＴＰサーバモジュール２２４は、ＨＴＴＰヘッダのＵｓｅｒ−Ａｇｅｎｔから値を取得し、追加されたエントリのヘッダ情報３０５に取得した値を設定する。以上が、ステップＳ１０３の処理の説明である。【００８３】
ファイルサーバ１２０のＨＴＴＰサーバモジュール２２４は、追加要求をデータムーバモジュール２２２に送信する（ステップＳ１０４）。【００８４】
ファイルサーバ１２０のデータムーバモジュール２２２は、追加要求を受信した場合、ファイルＡの格納先のディレクトリがグループ共有用のディレクトリであるか否かを判定する。ここでは、ファイルＡの格納先のディレクトリは共有用のディレクトリであるため、ファイルサーバ１２０のデータムーバモジュール２２２は、ファイルＡをストレージシステム１１０に格納する（ステップＳ１０５）。【００８５】
ファイルサーバ１２０のデータムーバモジュール２２２は、追加要求をゲートウェイサーバ１３０に送信する（ステップＳ１０６）。【００８６】
ゲートウェイサーバ１３０のＨＴＴＰサーバモジュール２３２は、追加要求を受信した場合、アーカイブサーバ１４０に格納要求を送信する（ステップＳ１０７）。格納要求には、ファイルＡ及び格納先を示す情報等が含まれる。【００８７】
アーカイブサーバ１４０のアーカイブモジュール２４２は、格納要求を受信した場合、ストレージシステム１５０にファイルＡの書込要求を送信することによって、ファイルＡをストレージシステム１５０に格納する（ステップＳ１０８）。また、アーカイブサーバ１４０のアーカイブモジュール２４２は、ゲートウェイサーバ１３０に格納要求の完了通知を送信する（ステップＳ１０９）。【００８８】
ゲートウェイサーバ１３０のＨＴＴＰサーバモジュール２３２は、格納要求の完了通知を受信した場合、追加要求の完了通知をファイルサーバ１２０に送信する（ステップＳ１１０）。【００８９】
ファイルサーバ１２０のデータムーバモジュール２２２は、追加要求の完了通知を受信した場合、ファイルＡの格納先のディレクトリのグループに含まれるクライアント端末１００に、ＨＴＴＰサーバモジュール２２４を介してファイルＡを送信する（ステップＳ１１１）。本実施例では、クライアント端末Ｂ１００及びクライアント端末Ｘ１００にファイルＡが送信される。このように、グループ共有用のディレクトリにデータ（ファイル）を追加した場合、ファイルサーバ１２０が保持するデータ（ファイル）がグループに含まれるクライアント端末１００に送信される。そのため、ファイル共有に伴うネットワーク１９０の負荷を低減することができる。【００９０】
なお、ファイルサーバ１２０が追加要求を受信した場合の処理の詳細は、図１２Ａ及び図１２Ｂを用いて説明する。【００９１】
図１０は、実施例１のファイル更新時におけるシステムの処理の流れを説明するシーケンス図である。【００９２】
クライアント端末Ａ１００は、グループ共有用のディレクトリに格納されるファイルＡを更新する（ステップＳ２０１）。具体的には、クライアント端末Ａ１００は、ＨＤＤ１０３に格納されるファイルＡを更新する。クライアント端末Ａ１００は、同期要求をファイルサーバ１２０に送信する（ステップＳ２０２）。同期要求は、ＨＴＴＰにしたがって送信され、また、更新されたファイルＡを含む。【００９３】
ファイルサーバ１２０のＨＴＴＰサーバモジュール２２４は、同期要求を受信した場合、アクセスログを取得する（ステップＳ２０３）。ステップＳ２０３の処理はステップＳ１０３と同様であるため説明を省略する。なお、要求種別３０３には「ＰＵＴ」が設定される。【００９４】
ファイルサーバ１２０のＨＴＴＰサーバモジュール２２４は、同期要求をデータムーバモジュール２２２に送信する（ステップＳ２０４）。【００９５】
ファイルサーバ１２０のデータムーバモジュール２２２は、同期要求を受信した場合、ストレージシステム１１０にファイルＡが格納されているか否かを判定する。ここでは、ストレージシステム１１０にファイルＡが格納されているものとする。したがって、ファイルサーバ１２０のデータムーバモジュール２２２は、ストレージシステム１１０に格納されるファイルＡを更新する（ステップＳ２０５）。【００９６】
ファイルサーバ１２０のデータムーバモジュール２２２は、同期要求をゲートウェイサーバ１３０に送信する（ステップＳ２０６）。【００９７】
ゲートウェイサーバ１３０のＨＴＴＰサーバモジュール２３２は、同期要求を受信した場合、アーカイブサーバ１４０に同期要求を送信する（ステップＳ２０７）。【００９８】
アーカイブサーバ１４０のアーカイブモジュール２４２は、同期要求を受信した場合、ストレージシステム１５０に更新されたファイルＡの書込要求を送信することによって、更新されたファイルＡをストレージシステム１５０に格納する（ステップＳ２０８）。また、アーカイブサーバ１４０のアーカイブモジュール２４２は、ゲートウェイサーバ１３０に同期要求の完了通知を送信する（ステップＳ２０９）。【００９９】
ゲートウェイサーバ１３０のＨＴＴＰサーバモジュール２３２は、同期要求の完了通知を受信した場合、同期要求の完了通知をファイルサーバ１２０に送信する（ステップＳ２１０）。【０１００】
ファイルサーバ１２０のデータムーバモジュール２２２は、同期要求の完了通知を受信した場合、ファイルＡの格納先のディレクトリのグループに含まれるクライアント端末１００に、ＨＴＴＰサーバモジュール２２４を介してファイルＡを送信する（ステップＳ２１１）。本実施例では、クライアント端末Ｂ１００及びクライアント端末Ｘ１００に更新されたファイルＡが送信される。【０１０１】
なお、ファイルサーバ１２０が同期要求を受信した場合の処理の詳細は、図１２Ａ及び図１２Ｃを用いて説明する。【０１０２】
図１１は、実施例１のファイル参照時におけるシステムの処理の流れを説明するシーケンス図である。【０１０３】
クライアント端末Ａ１００は、ファイルＡを参照するための参照要求をファイルサーバ１２０に送信する（ステップＳ３０１）。参照要求は、ＨＴＴＰにしたがって送信され、ファイルＡの格納先を示すＵＲＬ等が含まれる。【０１０４】
ファイルサーバ１２０のＨＴＴＰサーバモジュール２２４は、参照要求を受信した場合、アクセスログを取得する（ステップＳ３０２）。ステップＳ３０２の処理はステップＳ１０３と同様であるため説明を省略する。なお、要求種別３０３には「ＧＥＴ」が設定される。【０１０５】
ファイルサーバ１２０のＨＴＴＰサーバモジュール２２４は、参照要求をデータムーバモジュール２２２に送信する（ステップＳ３０３）。【０１０６】
ファイルサーバ１２０のデータムーバモジュール２２２は、参照要求を受信した場合、ストレージシステム１１０にファイルＡが格納されているか否かを判定する。判定結果によって、（ケース１）又は（ケース２）のいずれかの処理が実行される。【０１０７】
（ケース１）
ストレージシステム１１０にファイルＡが格納されていない場合、ファイルサーバ１２０のデータムーバモジュール２２２は、ファイルＡを取得するための取得要求をゲートウェイサーバ１３０に送信する（ステップＳ３０４）。ゲートウェイサーバ１３０のＨＴＴＰサーバモジュール２３２は、取得要求を受信した場合、当該取得要求をアーカイブサーバ１４０に転送する（ステップＳ３０５）。アーカイブサーバ１４０のアーカイブモジュール２４２は、ストレージシステム１５０からファイルＡを取得し、取得したファイルＡをゲートウェイサーバ１３０を介してファイルサーバ１２０に送信する（ステップＳ３０６）。ファイルサーバ１２０のデータムーバモジュール２２２は、ファイルＡを受信した場合、ＨＴＴＰサーバモジュール２２４を介して、クライアント端末Ａ１００にファイルＡを送信する（ステップＳ３０７）。【０１０８】
（ケース２）
ストレージシステム１１０にファイルＡが格納されている場合、ファイルサーバ１２０のデータムーバモジュール２２２は、ストレージシステム１１０からファイルＡを読み出す（ステップＳ３０８）。ファイルサーバ１２０のデータムーバモジュール２２２は、ＨＴＴＰサーバモジュール２２４を介して、クライアント端末Ａ１００にファイルＡを送信する（ステップＳ３０９）。【０１０９】
図１２Ａ、図１２Ｂ、図１２Ｃ、及び図１２Ｄは、実施例１のファイルサーバ１２０がアクセス要求を受信した場合に実行する処理の一例を示すフローチャートである。【０１１０】
ファイルサーバ１２０は、クライアント端末１００からアクセス要求を受信した場合（ステップＳ４０１）、当該アクセス要求からアクセスログを取得する（ステップＳ４０２）。【０１１１】
具体的には、ＨＴＴＰサーバモジュール２２４がアクセス要求に対応するアクセスログをログ管理情報２２５に追加する。なお、具体的な処理は、ステップＳ１０３で説明したため説明を省略する。【０１１２】
次に、ファイルサーバ１２０は、アクセス要求が追加要求であるか否かを判定する（ステップＳ４０３）。【０１１３】
具体的には、ＨＴＴＰサーバモジュール２２４がアクセス要求の種別を判別し、その後、データムーバモジュール２２２を呼び出す。このとき、ＨＴＴＰサーバモジュール２２４は、データムーバモジュール２２２にアクセス要求の種別を入力する。これによって、データムーバモジュール２２２は、アクセス要求の種別を判別できる。【０１１４】
アクセス要求が追加要求であると判定された場合、ファイルサーバ１２０は、データ（ファイル）の格納先のディレクトリがグループ共有用のディレクトリであるか否かを判定する（ステップＳ４１１）。【０１１５】
具体的には、データムーバモジュール２２２は、ディレクトリの定義情報を参照し、データ（ファイル）が格納されるディレクトリがグループ共有用のディレクトリであるか否かを判定する。なお、ディレクトリの定義情報は、ファイル共有モジュール２２３及びＯＳ２２１のいずれかによって管理される情報であり、ディレクトリのアクセス権限等に関する情報を含む。【０１１６】
データ（ファイル）が格納されるディレクトリがグループ共有用のディレクトリであると判定された場合、ファイルサーバ１２０は、データ（ファイル）をストレージシステム１１０に保存し（ステップＳ４１２）、ゲートウェイサーバ１３０に追加要求を送信する（ステップＳ４１３）。【０１１７】
具体的には、データムーバモジュール２２２が、ストレージシステム１１０にデータ（ファイル）の格納要求を送信し、また、ゲートウェイサーバ１３０に追加要求を送信する。【０１１８】
ファイルサーバ１２０は、ゲートウェイサーバ１３０から追加要求の完了通知を受信した後（ステップＳ４１４）、データ（ファイル）が格納されるディレクトリのグループに含まれるクライアント端末１００に追加されたデータ（ファイル）を送信する（ステップＳ４１５）。その後、ファイルサーバ１２０は処理を終了する。【０１１９】
ステップＳ４１１において、データ（ファイル）が格納されるディレクトリがグループ共有用のディレクトリではないと判定された場合、ファイルサーバ１２０は、ゲートウェイサーバ１３０に追加要求を送信し（ステップＳ４１６）、また、ゲートウェイサーバ１３０から追加要求の完了通知を受信する（ステップＳ４１７）。その後、ファイルサーバ１２０は処理を終了する。【０１２０】
ステップＳ４０３において、アクセス要求が追加要求でないと判定された場合、ファイルサーバ１２０は、アクセス要求が同期要求であるか否かを判定する（ステップＳ４０４）。【０１２１】
アクセス要求が同期要求であると判定された場合、ファイルサーバ１２０は、更新対象のデータ（ファイル）がストレージシステム１１０に格納されているか否かを判定する（ステップＳ４２１）。【０１２２】
例えば、データムーバモジュール２２２は、ストレージシステム１１０に問合せを行うことによってステップＳ４２１の判定を行う。また、データムーバモジュール２２２がストレージシステム１１０に格納されるデータ（ファイル）のリンク情報を保持する場合には、当該リンク情報に基づいてステップＳ４２１の判定を行う。【０１２３】
なお、データ（ファイル）のメタデータのみが格納される場合、データムーバモジュール２２２は、更新対象のデータ（ファイル）がストレージシステム１１０に格納されていると判定する。【０１２４】
更新対象のデータ（ファイル）がストレージシステム１１０に格納されていると判定された場合、ファイルサーバ１２０は、ストレージシステム１１０に格納されるデータ（ファイル）を更新し（ステップＳ４２２）、同期要求をゲートウェイサーバ１３０に送信する（ステップＳ４２３）。【０１２５】
具体的には、データムーバモジュール２２２が、データ（ファイル）の書込要求をストレージシステム１１０に送信する。なお、データ（ファイル）のメタデータのみが格納される場合、メタデータ及びデータ本体がストレージシステム１１０に保存される。【０１２６】
ファイルサーバ１２０は、ゲートウェイサーバ１３０から同期要求の完了通知を受信した場合（ステップＳ４２４）、当該データ（ファイル）が格納されるディレクトリのグループに含まれるクライアント端末１００に、ストレージシステム１１０に格納される更新されたデータ（ファイル）を送信する（ステップＳ４２５）。その後、ファイルサーバ１２０は処理を終了する。【０１２７】
ステップＳ４２１において、更新対象のデータ（ファイル）がストレージシステム１１０に格納されていないと判定された場合、ファイルサーバ１２０は、同期要求をゲートウェイサーバ１３０に送信し（ステップＳ４２６）、ゲートウェイサーバ１３０から同期要求の完了通知を受信する（ステップＳ４２７）。その後、ファイルサーバ１２０は処理を終了する。【０１２８】
ステップＳ４０４において、アクセス要求が参照要求であると判定された場合、ファイルサーバ１２０は、読出対象のデータ（ファイル）がストレージシステム１１０に格納されているか否かを判定する（ステップＳ４３１）。ステップＳ４３１の処理は、ステップＳ４２１と同様の処理である。ただし、データ（ファイル）のメタデータのみが格納される場合、データムーバモジュール２２２は、読出対象のデータ（ファイル）がストレージシステム１１０に格納されていないと判定する。【０１２９】
読出対象のデータ（ファイル）がストレージシステム１１０に格納されていると判定された場合、ファイルサーバ１２０は、ストレージシステム１１０からデータ（ファイル）を読み出し（ステップＳ４３２）、その後、ステップＳ４３３に進む。【０１３０】
読出対象のデータ（ファイル）がストレージシステム１１０に格納されていないと判定された場合、ファイルサーバ１２０は、読出対象のデータ（ファイル）を取得するための取得要求をゲートウェイサーバ１３０に送信し（ステップＳ４３４）、ゲートウェイサーバ１３０から読出対象のデータ（ファイル）を取得する（ステップＳ４３５）。その後、ファイルサーバ１２０は、ステップＳ４３３に進む。【０１３１】
ステップＳ４３２又はステップＳ４３５の処理が完了した後、ファイルサーバ１２０は、クライアント端末１００に読出対象のデータ（ファイル）を送信する（ステップＳ４３３）。【０１３２】
図１３は、実施例１のファイルサーバ１２０が実行するスタブ化処理の一例を示すフローチャートである。【０１３３】
ファイルサーバ１２０のデータムーバモジュール２２２は、周期的に、スタブ化処理を実行する。なお、本実施例はスタブ化処理の実行契機に限定されない。例えば、アクセス要求を受信した場合、又は、ストレージシステム１１０にデータが格納された場合に、データムーバモジュール２２２がスタブ化処理を実行してもよい。【０１３４】
データムーバモジュール２２２は、ログ管理情報２２５及びデバイス分類情報２２９を用いて、アクセス分析情報２２６を生成する（ステップＳ５０１）。具体的には、以下のような処理が実行される。【０１３５】
（手順１）データムーバモジュール２２２は、アクセス分析情報２２６を初期化する。【０１３６】
（手順２）データムーバモジュール２２２は、ログ管理情報２２５の各エントリを参照し、アクセス先のディレクトリを特定する。データムーバモジュール２２２は、アクセス分析情報２２６に、特定されたディレクトリの数だけエントリを追加し、追加されたエントリのディレクトリ６０１に特定されたディレクトリの名称を設定する。【０１３７】
（手順３）データムーバモジュール２２２は、特定されたディレクトリの中からターゲットディレクトリを選択する。データムーバモジュール２２２は、ログ管理情報２２５の要求ＵＲＬを参照し、アクセス先のディレクトリがターゲットディレクトリであるアクセスログ（エントリ）を取得する。【０１３８】
（手順４）データムーバモジュール２２２は、取得されたエントリのヘッダ情報３０５及びデバイス分類情報２２９に基づいて、デバイス種別毎のアクセス数を算出する。データムーバモジュール２２２は、アクセス分析情報２２６のターゲットディレクトリに対応するエントリのＰＣアクセス数６０２及びスマートデバイスアクセス数６０３に算出されたアクセス数を設定する。また、データムーバモジュール２２２は、ターゲットディレクトリに対応するエントリのスマートデバイス占有率６０４に、式（１）に基づいて算出された値を設定する。【０１３９】
データムーバモジュール２２２は、特定された全てのディレクトリについて（手順３）及び（手順４）の処理を実行する。以上がステップＳ５０１の処理の説明である。【０１４０】
次に、データムーバモジュール２２２は、スタブ化条件情報２２８を読み出し（ステップＳ５０２）、また、変数ｋに初期値「１」を設定する（ステップＳ５０３）。【０１４１】
データムーバモジュール２２２は、ＩＤ７０１が変数ｋに一致するエントリのスタブ化条件７０２を満たすか否かを判定する（ステップＳ５０４）。【０１４２】
ＩＤ７０１が変数ｋに一致するエントリのスタブ化条件７０２を満たさないと判定された場合、データムーバモジュール２２２は、ステップＳ５０６に進む。なお、本実施例では、スタブ化条件７０２を満たさない場合、ＩＤ７０１が変数ｋより大きいスタブ化条件に関する判定処理を行う必要がない。したがって、データムーバモジュール２２２は、ステップＳ５０４の判定結果が「ＮＯ」である場合、処理を終了してもよい。【０１４３】
ＩＤ７０１が変数ｋに一致するエントリのスタブ化条件７０２を満たすと判定された場合、データムーバモジュール２２２は、当該エントリのスタブ化対象７０３に基づいて、スタブ化処理を実行する（ステップＳ５０５）。その後、データムーバモジュール２２２は、ステップＳ５０６に進む。具体的には、以下のような処理が実行される。【０１４４】
データムーバモジュール２２２は、アクセス分析情報２２６及びスタブ化対象７０３に基づいて、スタブ化処理のターゲットディレクトリを特定する。例えば、ＩＤ７０１が「１」のエントリの場合、ディレクトリ「／ｄｉｒ２」がスタブ化処理のターゲットディレクトリとして特定される。【０１４５】
データムーバモジュール２２２は、スタブ化処理のターゲットディレクトリに格納されるファイルのメタデータ以外のデータを削除する。以上がステップＳ５０５の処理の説明である。【０１４６】
ステップＳ５０４の判定結果が「ＮＯ」、又は、ステップＳ５０５の処理が完了した後、データムーバモジュール２２２は、変数ｋに「１」を加算した値を新たな変数ｋに設定する（ステップＳ５０６）。【０１４７】
データムーバモジュール２２２は、変数ｋが閾値ｍａｘ＿ＩＤより大きいか否かを判定する（ステップＳ５０７）。すなわち、スタブ化条件情報２２８の全てのエントリについて処理が完了したか否かが判定される。なお、閾値ｍａｘ＿ＩＤは、スタブ化条件情報２２８に登録されたエントリの数である。【０１４８】
変数ｋが閾値ｍａｘ＿ＩＤ以下であると判定された場合、データムーバモジュール２２２は、ステップＳ５０４に戻り、同様の処理を実行する。【０１４９】
変数ｋが閾値ｍａｘ＿ＩＤより大きいと判定された場合、データムーバモジュール２２２は処理を終了する。【０１５０】
以上で説明したように、ファイルサーバ１２０は、グループ共有のディレクトリに格納されるデータ（ファイル）を自動的にストレージシステム１１０にコピーする。これによって、必要なデータ（ファイル）のみがローカルのストレージシステム１１０に格納されるため、ストレージシステム１１０の容量不足を解消し、また、リモートのストレージシステム１５０を有効に活用できる。また、ファイル共有に伴うネットワークを介した通信量を削減できる。【０１５１】
また、ファイルサーバ１２０は、ディレクトリにアクセスするクライアント端末１００のデバイス種別に基づいて、スタブ化処理の対象となるデータ（ファイル）を特定する。これによって、データへのアクセス性能の低下を抑え、かつ、データ量の増加に伴うローカルのストレージシステム１１０の容量不足を解消できる。【０１５２】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。【０１５３】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるＣＰＵが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。【０１５４】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ等の広範囲のプログラム又はスクリプト言語で実装できる。【０１５５】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるＣＰＵが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。【０１５６】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【図１】
0006591700.tif 000003
【図２】
0006591700.tif 000004
【図３】
0006591700.tif 000005
【図４】
0006591700.tif 000006
【図５Ａ】
0006591700.tif 000007
【図５Ｂ】
0006591700.tif 000008
【図５Ｃ】
0006591700.tif 000009
【図６】
0006591700.tif 000010
【図７】
0006591700.tif 000011
【図８】
0006591700.tif 000012
【図９】
0006591700.tif 000013
【図１０】
0006591700.tif 000014
【図１１】
0006591700.tif 000015
【図１２Ａ】
0006591700.tif 000016
【図１２Ｂ】
0006591700.tif 000017
【図１２Ｃ】
0006591700.tif 000018
【図１２Ｄ】
0006591700.tif 000019
【図１３】
0006591700.tif 000020