(58)【調査した分野】(Int.Cl.,DB名)
前記分割数決定部は、前記オンラインストレージに対する単位時間内のアクセス回数に上限値が設けられている場合に、前記複数の分割ファイルのそれぞれのファイルサイズが前記最大サイズ以下になり、かつ、前記オンラインストレージに対する単位時間内のアクセス回数が前記上限値を超えないように、前記分割数を決定することを特徴とする請求項2に記載のファイル管理装置。
前記ファイル管理部は、前記ファイル管理装置を示すディレクトリの下位ディレクトリとして前記オンラインストレージを示す仮想ローカルディレクトリを配置したディレクトリ構成によりファイル管理を行い、
前記アップロード処理部は、前記仮想ローカルディレクトリに対する前記対象ファイルの保存要求があった場合で、当該対象ファイルのファイルサイズが前記最大サイズを超える場合に、当該対象ファイルを複数の分割ファイルに分割して前記オンラインストレージへアップロードすることを特徴とする請求項1〜5の何れか一項に記載のファイル管理装置。
前記分割数決定工程は、前記オンラインストレージに対する単位時間内のアクセス回数に上限値が設けられている場合に、前記複数の分割ファイルのそれぞれのファイルサイズが前記最大サイズ以下になり、かつ、前記オンラインストレージに対する単位時間内のアクセス回数が前記上限値を超えないように、前記分割数を決定することを特徴とする請求項8に記載の制御プログラム。
前記ファイル管理工程は、前記ファイル管理装置を示すディレクトリの下位ディレクトリとして前記オンラインストレージを示す仮想ローカルディレクトリを配置したディレクトリ構成によりファイル管理を行い、
前記アップロード処理工程は、前記仮想ローカルディレクトリに対する前記対象ファイルの保存要求があった場合で、当該対象ファイルのファイルサイズが前記最大サイズを超える場合に、当該対象ファイルを複数の分割ファイルに分割して前記オンラインストレージへアップロードすることを特徴とする請求項7〜11の何れか一項に記載の制御プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0007】
オンラインストレージには、一部のユーザによるサービスの乱用や過剰な独占を避けるために、サービス提供者によって利用制約が課せられていることがある。
【0008】
従って、特許文献1に記載のファイル管理装置のようにオンラインストレージをローカルストレージと同様に取り扱う構成において、かかる利用制約によってオンラインストレージへのアクセスが不能になると、ファイルの保存や読み出しが不能になるという問題があった。
【0009】
そこで、本発明は、サービス提供者によってオンラインストレージに利用制約が課せられている場合であっても、ファイルの保存や読み出しを適切に行うことができるファイル管理装置及びその制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決するために、本発明は以下のような特徴を有している。
【0011】
まず、本発明に係るファイル管理装置の特徴は、サービス提供者によって利用制約が課せられているオンラインストレージ(オンラインストレージ300)と通信可能に構成されたファイル管理装置(例えば、NAS200)であって、前記オンラインストレージへアップロードすべき対象ファイルのファイルサイズが、前記オンラインストレージで許容される1ファイル当たりの最大サイズを超える場合に、前記対象ファイルを複数の分割ファイルに分割し
、前記複数の分割ファイルをすべて同一の前記オンラインストレージへアップロードするアップロード処理部(アップロード処理部213)と、前記複数の分割ファイルに係る識別情報を前記対象ファイルと関連付けて管理
し、前記ファイル管理装置に対するファイルの保存やファイルの読み出しを行うユーザ端末が前記ファイル管理装置で管理されるディレクトリ構成を閲覧する際には、前記ディレクトリ構成に含まれる前記複数の分割ファイルに係る識別情報と関連付けられて管理された前記対象ファイルの識別情報を表示するファイル管理部(ファイル管理部211)と、
前記
複数の分割ファイルに係る識別情報に基づいて、前記
同一のオンラインストレージから前記複数の分割ファイルをダウンロードした後、当該複数の分割ファイルを結合することによって前記対象ファイルを復元するダウンロード処理部(ダウンロード処理部214)と、を有することを要旨とする。
【0012】
このようなファイル管理装置によれば、オンラインストレージへアップロードすべき対象ファイルのファイルサイズがオンラインストレージで許容される1ファイル当たりの最大サイズ(利用制約)を超える場合であっても、当該対象ファイルをオンラインストレージへアップロードすることができる。また、複数の分割ファイルに係る識別情報を対象ファイルと関連付けて管理することによって、当該管理されている識別情報に基づいて対象ファイルを復元することができる。
【0013】
従って、上述した特徴によれば、サービス提供者によってオンラインストレージに利用制約が課せられている場合であっても、ファイルの保存や読み出しを適切に行うことができる。
【0014】
本発明に係るファイル管理装置の他の特徴は、上述した特徴において、前記アップロード処理部は、前記対象ファイルのファイルサイズと前記最大サイズとに基づいて前記対象ファイルの分割数を決定する分割数決定部(分割数決定部213a)を含み、前記分割数決定部は、前記複数の分割ファイルのそれぞれのファイルサイズが前記最大サイズ以下になるように前記分割数を決定することを要旨とする。
【0015】
このようなファイル管理装置によれば、オンラインストレージへアップロードすべき対象ファイルのファイルサイズがオンラインストレージで許容される1ファイル当たりの最大サイズ(利用制約)を超える場合であっても、より確実に、当該対象ファイルをオンラインストレージへアップロードすることができる。
【0016】
本発明に係るファイル管理装置の他の特徴は、上述した特徴において、前記分割数決定部は、前記オンラインストレージに対する単位時間内のアクセス回数に上限値が設けられている場合に、前記複数の分割ファイルのそれぞれのファイルサイズが前記最大サイズ以下になり、かつ、前記オンラインストレージに対する単位時間内のアクセス回数が前記上限値を超えないように、前記分割数を決定することを要旨とする。
【0017】
このようなファイル管理装置によれば、オンラインストレージへアップロードすべき対象ファイルのファイルサイズがオンラインストレージで許容される1ファイル当たりの最大サイズ(利用制約)を超える場合で、オンラインストレージに対する単位時間内のアクセス回数に上限値(利用制約)が設けられている場合であっても、当該対象ファイルをオンラインストレージへアップロードすることができる。
【0018】
本発明に係るファイル管理装置の他の特徴は、上述した特徴において、前記対象ファイルをユーザ端末(例えば、PC100)からネットワーク(例えば、LAN10)を介して受信する対象ファイル受信部(例えば、LAN I/F240)をさらに有し、前記アップロード処理部は、前記対象ファイル受信部が受信した前記対象ファイルのファイルサイズが前記最大サイズを超える場合に、前記対象ファイルを前記複数の分割ファイルに分割して前記オンラインストレージへアップロードすることを要旨とする。
【0019】
このようなファイル管理装置は、ユーザ端末とは別体であってネットワークに対応したものであり、NASに該当する。これにより、上述した特徴と併せて、サービス提供者によってオンラインストレージに利用制約が課せられている場合であっても、NASによるファイルの保存を適切に行うことができる。
【0020】
本発明に係るファイル管理装置の他の特徴は、上述した特徴において、前記対象ファイルの読み出し要求をユーザ端末(例えば、PC100)からネットワーク(例えば、LAN10)を介して受信する読み出し要求受信部(例えば、LAN I/F240)をさらに有し、前記ダウンロード処理部は、前記読み出し要求受信部が前記読み出し要求を受信した場合に、前記管理されている識別情報に基づいて、前記オンラインストレージから前記複数の分割ファイルをダウンロードした後、当該複数の分割ファイルを結合することによって前記対象ファイルを復元し、かつ、当該復元した対象ファイルを前記ネットワークを介して前記ユーザ端末に転送することを要旨とする。
【0021】
このようなファイル管理装置は、ユーザ端末とは別体であってネットワークに対応したものであり、NASに該当する。これにより、上述した特徴と併せて、サービス提供者によってオンラインストレージに利用制約が課せられている場合であっても、NASによるファイルの読み出しを適切に行うことができる。
【0022】
本発明に係るファイル管理装置の他の特徴は、上述した特徴において、前記ファイル管理部は、前記ファイル管理装置を示すディレクトリの下位ディレクトリとして前記オンラインストレージを示す仮想ローカルディレクトリを配置したディレクトリ構成によりファイル管理を行い、前記アップロード処理部は、前記仮想ローカルディレクトリに対する前記対象ファイルの保存要求があった場合で、当該対象ファイルのファイルサイズが前記最大サイズを超える場合に、当該対象ファイルを複数の分割ファイルに分割して前記オンラインストレージへアップロードすることを要旨とする。
【0023】
このようなファイル管理装置によれば、ディレクトリ構成を変更することでオンラインストレージをローカルストレージと同様に取り扱うことができると共に、サービス提供者によってオンラインストレージに利用制約が課せられている場合であってもファイルの保存や読み出しを適切に行うことができる。
【0024】
本発明に係る制御プログラムの特徴は、サービス提供者によって利用制約が課せられているオンラインストレージと通信可能に構成されたファイル管理装置に、前記オンラインストレージへアップロードすべき対象ファイルのファイルサイズが、前記オンラインストレージで許容される1ファイル当たりの最大サイズを超える場合に、前記対象ファイルを複数の分割ファイルに分割し、
前記複数の分割ファイルをすべて同一の前記オンラインストレージへアップロードするアップロード処理工程と、前記複数の分割ファイルに係る識別情報を前記対象ファイルと関連付けて管理
し、前記ファイル管理装置に対するファイルの保存やファイルの読み出しを行うユーザ端末が前記ファイル管理装置で管理されるディレクトリ構成を閲覧する際には、前記ディレクトリ構成に含まれる前記複数の分割ファイルに係る識別情報と関連付けられて管理された前記対象ファイルの識別情報を表示するファイル管理工程と、前記
複数の分割ファイルに係る識別情報に基づいて、前記
同一のオンラインストレージから前記複数の分割ファイルをダウンロードした後、当該複数の分割ファイルを結合することによって前記対象ファイルを復元するダウンロード処理工程と、を実行させることを要旨とする。
【0025】
本発明に係る制御プログラムの他の特徴は、上述した特徴において、前記アップロード処理工程は、前記対象ファイルのファイルサイズと前記最大サイズとに基づいて前記対象ファイルの分割数を決定する分割数決定工程を含み、前記分割数決定工程は、前記複数の分割ファイルのそれぞれのファイルサイズが前記最大サイズ以下になるように前記分割数を決定することを要旨とする。
【0026】
本発明に係る制御プログラムの他の特徴は、上述した特徴において、前記分割数決定工程は、前記オンラインストレージに対する単位時間内のアクセス回数に上限値が設けられている場合に、前記複数の分割ファイルのそれぞれのファイルサイズが前記最大サイズ以下になり、かつ、前記オンラインストレージに対する単位時間内のアクセス回数が前記上限値を超えないように、前記分割数を決定することを要旨とする。
【0027】
本発明に係る制御プログラムの他の特徴は、上述した特徴において、前記対象ファイルをユーザ端末からネットワークを介して受信する対象ファイル受信工程をさらに有し、前記アップロード処理工程は、前記対象ファイル受信工程で受信した前記対象ファイルのファイルサイズが前記最大サイズを超える場合に、前記対象ファイルを前記複数の分割ファイルに分割して前記オンラインストレージへアップロードすることを要旨とする。
【0028】
本発明に係る制御プログラムの他の特徴は、上述した特徴において、前記対象ファイルの読み出し要求をユーザ端末からネットワークを介して受信する読み出し要求受信工程をさらに有し、前記ダウンロード処理工程は、前記読み出し要求受信工程で前記読み出し要求を受信した場合に、前記管理されている識別情報に基づいて、前記オンラインストレージから前記複数の分割ファイルをダウンロードした後、当該複数の分割ファイルを結合することによって前記対象ファイルを復元し、かつ、当該復元した対象ファイルを前記ネットワークを介して前記ユーザ端末に転送することを要旨とする。
【0029】
本発明に係る制御プログラムの他の特徴は、上述した特徴において、前記ファイル管理工程は、前記ファイル管理装置を示すディレクトリの下位ディレクトリとして前記オンラインストレージを示す仮想ローカルディレクトリを配置したディレクトリ構成によりファイル管理を行い、前記アップロード処理工程は、前記仮想ローカルディレクトリに対する前記対象ファイルの保存要求があった場合で、当該対象ファイルのファイルサイズが前記最大サイズを超える場合に、当該対象ファイルを複数の分割ファイルに分割して前記オンラインストレージへアップロードすることを要旨とする。
【発明の効果】
【0030】
本発明によれば、サービス提供者によってオンラインストレージに利用制約が課せられている場合であっても、ファイルの保存や読み出しを適切に行うことができるファイル管理装置及びその制御プログラムを提供できる。
【発明を実施するための形態】
【0032】
図面を参照して本発明の実施形態を説明する。本実施形態は、NAS(Network Attached Storage)を本発明に係るファイル管理装置とするものである。以下の実施形態における図面において、同一又は類似の部分には同一又は類似の符号を付す。
【0033】
(システム構成)
まず、本実施形態に係る通信システムの全体構成を説明する。
図1は、本実施形態に係る通信システム1の全体構成図である。
【0034】
図1に示すように、本実施形態に係る通信システム1は、PC100と、NAS200と、オンラインストレージ300とを有する。本実施形態において、PC100はユーザ端末に相当する。ただし、PC100に代えて、携帯電話端末やネットワーク対応テレビ受信機などをユーザ端末としてもよい。
【0035】
PC100及びNAS200は、宅内ネットワークなどのLAN(Local Area Network)10に接続されており、LAN10を介して相互に通信を行うことができる。LAN10は、図示を省略するルータなどを介してインターネット20に接続されている。オンラインストレージ300は、インターネット20に接続されている。
【0036】
PC100は、ユーザによって操作される情報処理装置であり、ネットワーク通信を行うためのネットワーク通信機能と、ユーザI/F(ディスプレイや、キーボード、マウスなど)とを具備する。PC100は、LAN10を介して、NAS200に対するファイルの保存やファイルの読み出しを行う。
【0037】
NAS200は、ファイル保存・管理に特化したファイルサーバであり、ファイル管理を行うためのファイルシステムや、ネットワーク通信を行うためのネットワーク通信機能を具備する。NAS200は、複数のユーザ端末によって共有されてもよい。
【0038】
オンラインストレージ300は、ファイル保存を行うことができるWebサービスを提供するものであり、1又は複数のファイルサーバにより構成される。例えば、オンラインストレージ300は、PC100のユーザが当該Webサービスに登録することにより、当該ユーザが利用可能な記憶領域を提供する。本実施形態では、PC100のユーザは、オンラインストレージ300が提供するサービスに登録済みであるものとする。
【0039】
また、オンラインストレージ300には、サービス提供者によって利用制約が課せられている。本実施形態では、利用制約とは、1ファイル当たりのファイルサイズに許容最大サイズが設けられることである。許容最大サイズとは、オンラインストレージ300が保存を許容する1ファイル当たりのファイルサイズの最大サイズであり、例えば、1ファイル当たり最大1GB又は1ファイル当たり最大2GBという最大サイズである。
【0040】
さらに、他の利用制約として、単位時間内のアクセス回数に上限値が設けられていることがある。単位時間内のアクセス回数の上限値とは、例えば1時間内に300回までという上限値である。なお、オンラインストレージ300に対するアクセス回数とは、NAS200においてオンラインストレージ300に対して設けられたAPI(Application Program Interface)の呼び出し回数に相当する。
【0041】
(NASの構成)
次に、NAS200のハードウェア構成を説明する。
図2は、NAS200のハードウェア構成図である。
【0042】
図2に示すように、NAS200は、CPU(Central Processing Unit)210と、メモリ220と、1又は複数のHDD(Hard Disk Drive)230と、LAN I/F240とを有する。CPU210、メモリ220、HDD230、及びLAN I/F240は、バスラインを介して相互に接続されている。
【0043】
CPU210は、メモリ220に記憶されている制御プログラム(ファームウェア)を実行することで、NAS200の各種機能を制御する。
【0044】
メモリ220は、フラッシュメモリ及びRAM(Random Access Memory)を含む。フラッシュメモリは、CPU210によって実行される制御プログラムを記憶する。RAMは、フラッシュメモリから読み出された制御プログラムを一時的に記憶するとともに、CPU210の作業領域として使用される。
【0045】
本実施形態では、メモリ220は、オンラインストレージ300にアップロードすべきファイルや、オンラインストレージ300からダウンロードしたファイルをキャッシュするためのキャッシュ領域を含む。また、メモリ220は、オンラインストレージ300の利用制約の内容(本実施形態では、1ファイル当たりの許容最大サイズや、単位時間内のアクセス回数の上限値)を記憶している。
【0046】
HDD230は、各種ファイルを記憶するものである。HDD230は、ディスクアレイとして構成されてもよく、RAID(Redundant Arrays of Inexpensive Disks)を構成するようにしてもよい。
【0047】
LAN I/F240は、LAN10に接続され、LAN10を介して通信を行うように構成される。LAN I/F240は、有線によりLAN10に接続されてもよく、無線によりLAN10に接続されてもよい。本実施形態では、LAN I/F240は、PC100からのファイル保存要求、保存対象ファイル、ファイル更新要求、ファイル読み出し要求などを受信する受信部に相当する。
【0048】
次に、NAS200のソフトウェア構成を説明する。
図3は、NAS200のソフトウェア構成図である。
【0049】
図3に示すように、CPU210は、メモリ220が記憶している制御プログラムを実行することによって、ファイル管理部211、キャッシュ管理部212、アップロード処理部213、及びダウンロード処理部214の各機能部を構成する。
【0050】
ファイル管理部211は、ファイルシステムに相当するものである。本実施形態では、ファイル管理部211は、NAS200を示すディレクトリの下位ディレクトリとしてオンラインストレージ300を示す仮想ローカルディレクトリを配置したディレクトリ構成によりファイル管理を行う。PC100は、NAS200にアクセスすることによって、当該ディレクトリ構成を閲覧したり、当該ディレクトリ構成に対するファイル操作を行ったりすることができる。当該ディレクトリ構成の具体例については後述する。
【0051】
仮想ローカルディレクトリにより管理されるファイルの実体は、オンラインストレージ300に存在することになる。このため、仮想ローカルディレクトリに対するファイル保存要求があると、後述するように、保存対象ファイルをオンラインストレージ300へアップロードする必要がある。以下においては、仮想ローカルディレクトリに対するファイル保存要求に応じて、保存対象ファイルをオンラインストレージ300へアップロードする構成を主として説明する。
【0052】
キャッシュ管理部212は、保存対象ファイルをメモリ220に設けられているキャッシュ領域にキャッシュする。また、キャッシュ管理部212は、PC100からのファイル更新要求に応じて、キャッシュしている保存対象ファイルを更新する。
【0053】
アップロード処理部213及びダウンロード処理部214は、オンラインストレージ300に対応して設けられたAPIに相当する。なお、アップロード処理部213及びダウンロード処理部214によるオンラインストレージ300へのアクセスに必要な情報(例えば、アドレス情報や認証情報)は、予めメモリ220に記憶されているものとする。
【0054】
アップロード処理部213は、キャッシュ管理部212によりキャッシュされている保存対象ファイルをオンラインストレージ300へアップロードする。なお、アップロード処理部213によるオンラインストレージ300へのアップロードに必要な情報(例えば、アドレス情報や認証情報)は、予めメモリ220に記憶されているものとする。
【0055】
アップロード処理部213は、保存対象ファイルのアップロードに際して、保存対象ファイルのファイルサイズがオンラインストレージ300の許容最大サイズを超えるか否かを確認する。そして、保存対象ファイルのファイルサイズがオンラインストレージ300の許容最大サイズを超える場合には、アップロード処理部213は、保存対象ファイルを複数の分割ファイルに分割してオンラインストレージ300へアップロードする。
【0056】
また、アップロード処理部213は、保存対象ファイルのファイルサイズとオンラインストレージ300の許容最大サイズとに基づいて、保存対象ファイルの分割数を決定する分割数決定部213aを含む。分割数決定部213aは、複数の分割ファイルのそれぞれのファイルサイズが最大サイズ以下になるように保存対象ファイルの分割数を決定する。例えば、オンラインストレージ300の許容最大サイズが1GBであり、保存対象ファイルのファイルサイズが3GBである場合、保存対象ファイルを均等に3分割以上すればよいことになる。
【0057】
さらに、オンラインストレージ300に対する単位時間内のアクセス回数に上限値が設けられている場合には、分割数決定部213aは、アップロード処理部213及びダウンロード処理部214によるオンラインストレージ300に対する単位時間内のアクセス回数(すなわち、API呼び出し回数)を監視する。そして、分割数決定部213aは、複数の分割ファイルのそれぞれのファイルサイズがオンラインストレージ300の許容最大サイズ以下になり、かつ、オンラインストレージ300に対する単位時間内のアクセス回数が上限値を超えないように、保存対象ファイルの分割数を決定する。例えば、アップロード処理部213及びダウンロード処理部214によるオンラインストレージ300に対する単位時間内のアクセス回数が上限値に近づくほど保存対象ファイルの分割数を少なくすることによって、アクセス回数を抑制する。
【0058】
このようにして保存対象ファイルを分割してアップロードする場合、ファイル管理部211は、保存対象ファイルを分割して得られた複数の分割ファイルに対してID(ファイル名)を付与し、各分割ファイルのIDを保存対象ファイルと関連付けて管理する。なお、ファイル管理部211は、PC100がNAS200のディレクトリ構成を閲覧する際には、各分割ファイルのIDを表示するのではなく、各分割ファイルのIDと関連付けられた保存対象ファイルのID(ファイル名)を表示する。これにより、実際のファイルが分割されていることをユーザに意識させないような表示制御を行うことができる。
【0059】
ダウンロード処理部214は、LAN I/F240がPC100からの読み出し要求を受信した場合で、当該読み出し要求が仮想ローカルディレクトリを対象とするものである場合に、ファイル管理部211が管理している情報に基づいて、当該読み出し要求に係る読出し対象ファイルが分割して保存されているか否かを確認する。そして、読出し対象ファイルが分割して保存されている場合には、ダウンロード処理部214は、ファイル管理部211が管理している情報に基づいて、読出し対象ファイルに相当する複数の分割ファイルをオンラインストレージ300からダウンロードした後、当該複数の分割ファイルを結合することによって読み出し対象ファイルを復元し、かつ、当該復元した読み出し対象ファイルをPC100に転送する。
【0060】
次に、ファイル管理部211が管理するディレクトリ構成の具体例を説明する。
図4は、ファイル管理部211が管理するディレクトリ構成の具体例を示す図である。
【0061】
図4に示すように、当該ディレクトリ構成は、NAS200を示すルートディレクトリA〜Cを有し、ルートディレクトリCの下位ディレクトリとしてサブディレクトリC1及びC2を有し、サブディレクトリC2の下位ディレクトリとしてサブディレクトリC21及びC22を有する。
【0062】
サブディレクトリC21に含まれる各ファイル(コンテンツC21−1〜C21−3)の実体は、NAS200に記憶されている。これに対し、サブディレクトリC22(のサブディレクトリC221)に含まれる各ファイル(コンテンツC221−1〜C221−3)の実体は、オンラインストレージ300に記憶されている。
【0063】
このように、サブディレクトリC22以下のディレクトリは、NAS200にファイルが存在するように扱っているものの、当該ファイルの実体はオンラインストレージ300に存在しており、仮想的なローカルディレクトリとして構成されている。
【0064】
なお、このような仮想ローカルディレクトリは、例えばファイルシステムを構築可能なソフトウェアの一つであるFUSE(Filesystem in Userspace)を用いて構成することができる。
【0065】
(NASの動作)
次に、保存対象ファイルを分割してアップロードする際の動作を説明する。
図5は、保存対象ファイルを分割してアップロードする際の動作シーケンス図である。
【0066】
図5に示すように、ステップS11において、PC100は、NAS200が管理しているディレクトリ構成に基づいて、上述した仮想ローカルディレクトリへのファイル保存要求をNAS200に送信する。NAS200は、当該ファイル保存要求を受信する。
【0067】
ステップS12において、NAS200は、ファイル保存要求に対する肯定応答をPC100に送信する。PC100は、当該肯定応答を受信する。
【0068】
ステップS13において、PC100は、NAS200に対して、ファイル保存要求に対応する保存対象ファイルを転送する。NAS200は、当該保存対象ファイルを受信してキャッシュする。
【0069】
なお、NAS200は、ステップS11又はステップS13で受信する情報から、保存対象ファイルのファイルサイズを特定する。
【0070】
ステップS14において、NAS200は、保存対象ファイルのファイルサイズがオンラインストレージ300の許容最大サイズを超えるか否かを確認する。ここでは、保存対象ファイルのファイルサイズがオンラインストレージ300の許容最大サイズを超え、保存対象ファイルの分割が必要と判断したとする。
【0071】
ステップS15において、NAS200は、保存対象ファイルのファイルサイズとオンラインストレージ300の許容最大サイズとに基づいて、複数の分割ファイルのそれぞれのファイルサイズが最大サイズ以下になるように保存対象ファイルの分割数を決定する。なお、オンラインストレージ300に対する単位時間内のアクセス回数に上限値が設けられている場合には、NAS200は、複数の分割ファイルのそれぞれのファイルサイズがオンラインストレージ300の許容最大サイズ以下になり、かつ、オンラインストレージ300に対する単位時間内のアクセス回数が上限値を超えないように、保存対象ファイルの分割数を決定する。
【0072】
ステップS16において、NAS200は、ステップS15で決定した分割数に従って、キャッシュされている保存対象ファイルを分割する。その際、NAS200は、保存対象ファイルを分割して得られた複数の分割ファイルのそれぞれに対してID(ファイル名)を付与する。例えば、分割ファイル#1、分割ファイル#2、…といったIDが付与される。
【0073】
ステップS17において、NAS200は、ステップS16で得られた複数の分割ファイルのそれぞれをオンラインストレージ300にアップロードする。
【0074】
ステップS18において、NAS200は、各分割ファイルのIDを保存対象ファイルと関連付けて管理する。例えば、各分割ファイルのIDからなるグループを保存対象ファイルのID(ファイル名)と関連付けたテーブルを作成してメモリ220に格納する。
【0075】
なお、NAS200は、分割ファイルをアップロードした後、PC100がNAS200のディレクトリ構成を閲覧する際には、各分割ファイルのIDを表示するのではなく、各分割ファイルのIDと関連付けられた保存対象ファイルのID(ファイル名)を表示する。
【0076】
次に、分割してアップロードされたファイルをダウンロードする際の動作を説明する。
図6は、分割してアップロードされたファイルをダウンロードする際の動作シーケンス図である。
【0077】
図6に示すように、PC100は、NAS200が管理しているディレクトリ構成に基づいて、上述した仮想ローカルディレクトリに対するファイル読み出し要求をNAS200に送信する。NAS200は、当該ファイル読み出し要求を受信する。当該ファイル読み出し要求は、読出し対象ファイルのID(ファイル名)を含む。
【0078】
ステップS22において、NAS200は、PC100から受信したファイル読み出し要求に基づいて、読出し対象ファイルが分割してアップロードされたファイルであるか否かを確認する。例えば、当該ファイル読み出し要求に含まれる読出し対象ファイルのIDに対して分割ファイルのIDのグループが関連付けられている場合には、当該読出し対象ファイルが分割してアップロードされたファイルであると判断する。ここでは、当該読出し対象ファイルが分割してアップロードされたファイルであると判断したとする。
【0079】
ステップS23において、NAS200は、メモリ220に格納されているテーブルに基づいて、当該ファイル読み出し要求に含まれる読出し対象ファイルのIDに関連付けられている各分割ファイルのIDを取得する。
【0080】
ステップS24において、NAS200は、ステップS23で取得した各分割ファイルのID毎のファイル取得要求をオンラインストレージ300に送信する。オンラインストレージ300は、各分割ファイルのID毎のファイル取得要求を受信する。
【0081】
ステップS25において、オンラインストレージ300は、ステップS24で受信した各分割ファイルのID毎のファイル取得要求に基づいて、各分割ファイルのIDによって示される各分割ファイルをNAS200に転送する。NAS200は、オンラインストレージ300からの各分割ファイルを受信する。
【0082】
ステップS26において、NAS200は、読出し対象ファイルのIDに関連付けられている全ての分割ファイルを受信したことを確認すると、これらの分割ファイルを順番通りに連結することによって、読出し対象ファイルを復元する。
【0083】
ステップS27において、NAS200は、ステップS26で復元した読出し対象ファイルをPC100に転送する。PC100は、NAS200からの読出し対象ファイルを受信する。
【0084】
(実施形態の効果)
以上説明したように、本実施形態に係るNAS200は、オンラインストレージ300へアップロードすべき対象ファイルのファイルサイズがオンラインストレージ300で許容される1ファイル当たりの最大サイズ(利用制約)を超える場合であっても、当該対象ファイルをオンラインストレージ300へアップロードすることができる。また、複数の分割ファイルに係る識別情報を対象ファイルと関連付けて管理することによって、当該管理されている識別情報に基づいて対象ファイルを復元することができる。
【0085】
また、本実施形態では、複数の分割ファイルのそれぞれのファイルサイズが最大サイズ以下になるように保存対象ファイルの分割数を決定するため、より確実に、当該対象ファイルをオンラインストレージ300へアップロードすることができる。
【0086】
さらに、本実施形態では、オンラインストレージ300に対する単位時間内のアクセス回数が上限値を超えないように分割数を決定するため、オンラインストレージ300に対する単位時間内のアクセス回数に上限値(利用制約)が設けられている場合であっても、より確実に、当該対象ファイルをオンラインストレージ300へアップロードすることができる。
【0087】
本実施形態では、ディレクトリ構成を変更することでオンラインストレージ300をローカルストレージと同様に取り扱うことができると共に、サービス提供者によってオンラインストレージ300に利用制約が課せられている場合であってもファイルの保存や読み出しを適切に行うことができる。
【0088】
(その他の実施形態)
上記のように、本発明は実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなる。
【0089】
例えば、上述した実施形態では、NAS200を本発明に係るファイル管理装置としていたが、NAS200に代えてPC100を本発明に係るファイル管理装置としてもよい。この場合、PC100は、
図2に示すハードウェア構成及び
図3に示すソフトウェア構成と同様の構成を有する。
【0090】
このように本発明は、ここでは記載していない様々な実施形態等を包含するということを理解すべきである。