JP2012243108A - ファイル管理装置及びその制御プログラム - Google Patents

ファイル管理装置及びその制御プログラム Download PDF

Info

Publication number
JP2012243108A
JP2012243108A JP2011112924A JP2011112924A JP2012243108A JP 2012243108 A JP2012243108 A JP 2012243108A JP 2011112924 A JP2011112924 A JP 2011112924A JP 2011112924 A JP2011112924 A JP 2011112924A JP 2012243108 A JP2012243108 A JP 2012243108A
Authority
JP
Japan
Prior art keywords
file
online storage
upload
file management
unit
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.)
Withdrawn
Application number
JP2011112924A
Other languages
English (en)
Inventor
Satoru Goto
悟 後藤
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.)
Buffalo Inc
Original Assignee
Buffalo Inc
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 Buffalo Inc filed Critical Buffalo Inc
Priority to JP2011112924A priority Critical patent/JP2012243108A/ja
Priority to CN2012101541392A priority patent/CN102841914A/zh
Priority to US13/475,406 priority patent/US20120296970A1/en
Publication of JP2012243108A publication Critical patent/JP2012243108A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/463File

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】更新頻度の高いファイルを取り扱う場合であっても、アップロードに係るトラフィック負荷が増大することを防止できるようにする。
【解決手段】オンラインストレージ300と通信可能に構成されたNAS200は、オンラインストレージ300へアップロードすべきファイルをキャッシュするキャッシュ管理部212と、ファイルがキャッシュされてから所定の保留時間が経過するまでは、当該ファイルが更新される場合であっても、当該ファイルのアップロードを保留するよう制御する制御部214と、を有する。
【選択図】図3

Description

本発明は、オンラインストレージサービスに対応したファイル管理装置及びその制御プログラムに関する。
従来、各種のファイルを保存するために、ユーザの端末装置(以下、「ユーザ端末」と称する)に設けられる記憶装置やユーザ端末に接続される記憶装置などのローカルストレージが用いられている。
近年では、通信技術の発達に伴い、インターネット上に設けられるオンラインストレージにファイルを保存できるオンラインサービス(Webサービス)が提供されている。このようなサービスにおいて、ユーザ端末は、オンラインストレージに対してファイルのアップロードやダウンロードを行う。
また、オンラインストレージについての利便性を高めるために、オンラインストレージを実際には利用しているにも拘わらずその存在を感じさせない利用体験を提供するファイル管理装置が提案されている(特許文献1参照)。
特許文献1に記載のファイル管理装置は、自装置へ保存又は更新されたファイルを自動的にオンラインストレージにアップロードするためのアプリケーションを有する。ユーザに対しては、オンラインストレージにあるファイルが自装置にあると見せるための仮想ファイルを表示する。
特開2010−287104号公報
特許文献1に記載のファイル管理装置は、自装置へファイルが保存又は更新される度に当該ファイルをオンラインストレージへアップロードする構成である。
しかしながら、このような構成とすると、更新頻度の高いファイルを取り扱う場合には、ファイル管理装置からオンラインストレージへアップロードが行われる頻度が高くなり、アップロードに係るトラフィック負荷が増大するという問題がある。
そこで、本発明は、更新頻度の高いファイルを取り扱う場合であっても、アップロードに係るトラフィック負荷が増大することを防止できるファイル管理装置及びその制御プログラムを提供することを目的とする。
上述した課題を解決するために、本発明は以下のような特徴を有している。
まず、本発明に係るファイル管理装置の特徴は、オンラインストレージ(オンラインストレージ300)と通信可能に構成されたファイル管理装置(例えば、NAS200)であって、前記オンラインストレージへアップロードすべきファイルをキャッシュするキャッシュ管理部(キャッシュ管理部212)と、前記ファイルがキャッシュされてから所定の保留時間が経過するまでは、当該ファイルが更新される場合であっても、当該ファイルのアップロードを保留するよう制御する制御部(制御部214)と、を有することを要旨とする。
このようなファイル管理装置によれば、ファイルが更新される度にアップロードを即座に行うのではなく、ファイルがキャッシュされてから所定の保留時間が経過するまではアップロードを保留する制御を行うことによって、更新頻度の高いファイルを取り扱う場合であっても、アップロードに係るトラフィック負荷が増大することを防止できる。
本発明に係るファイル管理装置の他の特徴は、上述した特徴において、前記制御部は、前記キャッシュされているファイルの更新頻度が高いほど、当該ファイルのアップロードを保留する時間を長くすることを要旨とする。
このようなファイル管理装置によれば、更新頻度の高いファイルに対するアップロード保留時間を長くする(延長する)ことができるため、アップロードの頻度を効果的に削減できると共に、更新頻度の高いファイルを適切なタイミングでアップロードすることができる。
本発明に係るファイル管理装置の他の特徴は、上述した特徴において、前記キャッシュ管理部は、ユーザ端末(例えば、PC100)からネットワーク(例えば、LAN10)を介して伝達される前記ファイルをキャッシュすることを要旨とする。
このようなファイル管理装置は、ユーザ端末とは別体であってネットワークに対応したものであり、NASに該当する。これにより、上述した特徴と併せて、更新頻度の高いファイルを取り扱う場合であっても、アップロードに係るトラフィック負荷が増大することを防止できる。
本発明に係るファイル管理装置の他の特徴は、上述した特徴において、前記オンラインストレージへのアップロードに失敗した場合に、当該アップロードに失敗した旨の電子メールを前記ユーザ端末に宛てて送信するメール処理部(メール処理部215)をさらに有することを要旨とする。
このようなファイル管理装置によれば、アップロードの失敗をユーザに通知することができる。特に、上述したようなアップロードを保留する制御を行うと、ユーザがファイルの保存操作を行ってからアップロードが実行されるまでの間に遅延が生じ、アップロードに失敗したことをユーザが気付かないため、メールによる失敗通知が効果的である。
本発明に係るファイル管理装置の他の特徴は、上述した特徴において、前記ファイル管理装置を示すディレクトリの下位ディレクトリとして前記オンラインストレージを示す仮想ローカルディレクトリを配置したディレクトリ構成によりファイル管理を行うファイル管理部(ファイル管理部211)をさらに有することを要旨とする。
このようなファイル管理装置によれば、ディレクトリ構成を変更することでオンラインストレージをローカルストレージと同様に取り扱うことができるため、特許文献1の構成と比較して低コストで構成できる。
本発明に係るファイル管理装置の他の特徴は、上述した特徴において、前記キャッシュ管理部は、前記仮想ローカルディレクトリに対するファイルの保存要求に基づいて当該ファイルをキャッシュすることを要旨とする。
このようなファイル管理装置によれば、仮想ローカルディレクトリに対して保存されるファイルをキャッシュした上で、当該ファイルをオンラインストレージに自動でアップロードすることができる。
本発明に係る制御プログラムの特徴は、オンラインストレージと通信可能に構成されたファイル管理装置に、前記オンラインストレージへアップロードすべきファイルをキャッシュするキャッシュ管理工程と、前記ファイルがキャッシュされてから所定の保留時間が経過するまでは、当該ファイルが更新される場合であっても、当該ファイルのアップロードを保留するよう制御する制御工程と、を実行させることを要旨とする。
本発明に係る制御プログラムの他の特徴は、上述した特徴において、前記制御工程は、前記キャッシュされているファイルの更新頻度が高いほど、当該ファイルのアップロードを保留する時間を長くすることを要旨とする。
本発明に係る制御プログラムの他の特徴は、上述した特徴において、前記キャッシュ管理工程は、ユーザ端末からネットワークを介して伝達される前記ファイルをキャッシュすることを要旨とする。
本発明に係る制御プログラムの他の特徴は、上述した特徴において、前記オンラインストレージへのアップロードに失敗した場合に、当該アップロードに失敗した旨の電子メールを前記ユーザ端末に宛てて送信するメール処理工程をさらに有することを要旨とする。
本発明に係る制御プログラムの他の特徴は、上述した特徴において、前記ファイル管理装置を示すディレクトリの下位ディレクトリとして前記オンラインストレージを示す仮想ローカルディレクトリを配置したディレクトリ構成によりファイル管理を行うファイル管理工程をさらに有することを要旨とする。
本発明に係る制御プログラムの他の特徴は、上述した特徴において、前記キャッシュ管理工程は、前記仮想ローカルディレクトリに対するファイルの保存要求に基づいて当該ファイルをキャッシュすることを要旨とする。
本発明によれば、更新頻度の高いファイルを取り扱う場合であっても、アップロードに係るトラフィック負荷が増大することを防止できるファイル管理装置及びその制御プログラムを提供できる。
本発明の実施形態に係る通信システムの全体構成図である。 本発明の実施形態に係るNASのハードウェア構成図である。 本発明の実施形態に係るNASのソフトウェア構成図である。 本発明の実施形態に係るファイル管理部が管理するディレクトリ構成の具体例を示す図である。 本発明の実施形態に係るNASの動作フローチャートである。 図5のステップS300におけるアップロード処理のフローチャートである。 図5のステップS300におけるダウンロード処理のフローチャートである。
図面を参照して本発明の実施形態を説明する。本実施形態は、NAS(Network Attached Storage)を本発明に係るファイル管理装置とするものである。以下の各実施形態における図面において、同一又は類似の部分には同一又は類似の符号を付す。
(システム構成)
まず、本実施形態に係る通信システムの全体構成を説明する。図1は、本実施形態に係る通信システム1の全体構成図である。
図1に示すように、本実施形態に係る通信システム1は、PC100と、NAS200と、オンラインストレージ300とを有する。本実施形態において、PC100はユーザ端末に相当する。ただし、PC100に代えて、携帯電話端末やネットワーク対応テレビ受信機などをユーザ端末としてもよい。
PC100及びNAS200は、宅内ネットワークなどのLAN(Local Area Network)10に接続されており、LAN10を介して相互に通信を行うことができる。LAN10は、図示を省略するルータなどを介してインターネット20に接続されている。オンラインストレージ300は、インターネット20に接続されている。
PC100は、ユーザによって操作される情報処理装置であり、ネットワーク通信を行うためのネットワーク通信機能と、ユーザI/F(ディスプレイや、キーボード、マウスなど)とを具備する。PC100は、LAN10を介して、NAS200に対するファイルの保存やファイルの読み出しを行う。
NAS200は、ファイル保存・管理に特化したファイルサーバであり、ファイル管理を行うためのファイルシステムや、ネットワーク通信を行うためのネットワーク通信機能を具備する。NAS200は、複数のユーザ端末によって共有されてもよい。
オンラインストレージ300は、ファイル保存を行うことができるWebサービスを提供するものであり、1又は複数のファイルサーバにより構成される。例えば、オンラインストレージ300は、PC100のユーザが当該Webサービスに登録することにより、当該ユーザが利用可能な記憶領域を提供する。本実施形態では、PC100のユーザは、オンラインストレージ300が提供するサービスに登録済みであるものとする。
また、オンラインストレージ300には、サービス提供者によって利用制約が課せられている。本実施形態では、利用制約とは、単位時間内のアクセス回数に上限値が設けられること、及び/又は、単位時間内の通信データ量に上限値が設けられることである。
ここで単位時間とは、例えば、1分又は1時間といった所定長の時間を意味する。また、単位時間内のアクセス回数の上限値とは、例えば1時間内に300回までという上限値であり、単位時間内の通信データ量の上限値とは、例えば、1時間内に1TBまでという上限値である。なお、オンラインストレージ300に対するアクセス回数とは、NAS200においてオンラインストレージ300に対して設けられたAPI(Application Program Interface)の呼び出し回数に相当する。
以下の実施形態の説明においては、単位時間内のアクセス回数に上限値が設けられる利用制約を主として説明する。ただし、後述する「アクセス回数」を「通信データ量」に読み替えることによって、単位時間内の通信データ量に上限値が設けられる利用制約についても同様に適用可能である。
(NASの構成)
次に、NAS200のハードウェア構成を説明する。図2は、NAS200のハードウェア構成図である。
図2に示すように、NAS200は、CPU(Central Processing Unit)210と、メモリ220と、1又は複数のHDD(Hard Disk Drive)230と、LAN I/F240とを有する。CPU210、メモリ220、HDD230、及びLAN I/F240は、バスラインを介して相互に接続されている。
CPU210は、メモリ220に記憶されている制御プログラム(ファームウェア)を実行することで、NAS200の各種機能を制御する。
メモリ220は、フラッシュメモリ及びRAM(Random Access Memory)を含む。フラッシュメモリは、CPU210によって実行される制御プログラムを記憶する。RAMは、フラッシュメモリから読み出された制御プログラムを一時的に記憶するとともに、CPU210の作業領域として使用される。
本実施形態では、メモリ220は、オンラインストレージ300にアップロードすべきファイルや、オンラインストレージ300からダウンロードしたファイルをキャッシュするためのキャッシュ領域を含む。また、メモリ220は、オンラインストレージ300の利用制約の内容(本実施形態では、単位時間内のアクセス回数の上限値)を記憶している。
HDD230は、各種ファイルを記憶するものである。HDD230は、ディスクアレイとして構成されてもよく、RAID(Redundant Arrays of Inexpensive Disks)を構成するようにしてもよい。
LAN I/F240は、LAN10に接続され、LAN10を介して通信を行うように構成される。LAN I/F240は、有線によりLAN10に接続されてもよく、無線によりLAN10に接続されてもよい。本実施形態では、LAN I/F240は、PC100からのファイル保存要求、保存対象ファイル、ファイル更新要求、ファイル読み出し要求などを受信する。
次に、NAS200のソフトウェア構成を説明する。図3は、NAS200のソフトウェア構成図である。
図3に示すように、CPU210は、メモリ220が記憶している制御プログラムを実行することによって、ファイル管理部211、キャッシュ管理部212、アクセス部213、制御部214、及びメール処理部215の各機能部を構成する。
ファイル管理部211は、ファイルシステムに相当するものである。本実施形態では、ファイル管理部211は、NAS200を示すディレクトリの下位ディレクトリとしてオンラインストレージ300を示す仮想ローカルディレクトリを配置したディレクトリ構成によりファイル管理を行う。PC100は、NAS200にアクセスすることによって、当該ディレクトリ構成を閲覧したり、当該ディレクトリ構成に対するファイル操作を行ったりすることができる。当該ディレクトリ構成の具体例については後述する。
キャッシュ管理部212は、オンラインストレージ300にアップロードすべきファイル(保存対象ファイル)や、オンラインストレージ300からダウンロードしたファイルを、メモリ220に設けられているキャッシュ領域にキャッシュする。また、キャッシュ管理部212は、PC100からのファイル更新要求に応じて、キャッシュしているファイルを更新する。
本実施形態では、キャッシュ管理部212は、仮想ローカルディレクトリに対するファイル保存要求があると、ファイル保存要求に対応する保存対象ファイルをキャッシュ領域にキャッシュする。また、キャッシュ管理部212は、当該キャッシュされているファイルに対するファイル更新要求があると、当該ファイルを更新する。
アクセス部213は、オンラインストレージ300に対応して設けられたAPIに相当する。アクセス部213は、オンラインストレージ300へのアップロード又はオンラインストレージ300からのダウンロードの少なくとも一方のアクセス処理を行う。アクセス部213は、オンラインストレージ300へのアップロードを行うアップロード部213Aと、オンラインストレージ300からのダウンロードを行うダウンロード部213Bとを含む。なお、アクセス部213によるオンラインストレージ300へのアクセス処理に必要な情報は、予めメモリ220に記憶されているものとする。
本実施形態では、アップロード部213Aは、制御部214の制御下で、キャッシュ管理部212がキャッシュしているファイルをオンラインストレージ300にアップロードする。また、ダウンロード部213Bは、制御部214の制御下で、ファイル読み出し要求に対応するファイルをオンラインストレージ300からダウンロードする。
制御部214は、アクセス部213による単位時間内のアクセス回数(すなわち、API呼び出し回数)を監視しており、当該単位時間内のアクセス回数に基づいて、メモリ220が記憶している利用制約を満たすように、アクセス部213によるアクセス処理を抑止するためのアクセス抑止制御を行う。本実施形態では、制御部214は、アクセス部213による単位時間内のアクセス回数がアクセス回数閾値を超える場合に、アクセス抑止制御を行う。なお、当該アクセス回数閾値は、利用制約としての単位時間内のアクセス回数の上限値未満に設定されており、メモリ220に予め記憶されているものとする。
制御部214は、アクセス抑止制御として、キャッシュ管理部212によりファイルがキャッシュされてから所定の保留時間(タイムアウト時間)が経過するまでは、当該ファイルが更新される場合であっても、当該ファイルのアップロードを保留する制御を行う。本実施形態では、制御部214は、キャッシュされているファイルの更新頻度が高いほど、当該ファイルのアップロードを保留する時間を長くする。また、制御部214は、アクセス抑止制御として、オンラインストレージ300からのダウンロードを保留して、所定時間経過後に当該ダウンロードをリトライする制御を行う。
メール処理部215は、アップロード部213Aによるオンラインストレージ300へのアップロードに失敗した場合に、当該アップロードに失敗した旨の電子メールをPC100に宛てて送信する。なお、メール処理部215は、アップロードに対してオンラインストレージ300から返信される終了コードに基づいてオンラインストレージ300へのアップロード失敗を検出できる。また、PC100の電子メールアドレスは、メモリ220に予め記憶されているものとする。
次に、ファイル管理部211が管理するディレクトリ構成の具体例を説明する。図4は、ファイル管理部211が管理するディレクトリ構成の具体例を示す図である。
図4に示すように、当該ディレクトリ構成は、NAS200を示すルートディレクトリA〜Cを有し、ルートディレクトリCの下位ディレクトリとしてサブディレクトリC1及びC2を有し、サブディレクトリC2の下位ディレクトリとしてサブディレクトリC21及びC22を有する。
サブディレクトリC21に含まれる各ファイル(コンテンツC21−1〜C21−3)の実体は、NAS200に記憶されている。これに対し、サブディレクトリC22(のサブディレクトリC221)に含まれる各ファイル(コンテンツC221−1〜C221−3)の実体は、オンラインストレージ300に記憶されている。
このように、サブディレクトリC22以下のディレクトリは、NAS200にファイルが存在するように扱っているものの、当該ファイルの実体はオンラインストレージ300に存在しており、仮想的なローカルディレクトリとして構成されている。
なお、このような仮想ローカルディレクトリは、例えばファイルシステムを構築可能なソフトウェアの一つであるFUSE(Filesystem in Userspace)を用いて構成することができる。
(NASの動作)
次に、NAS200の動作を説明する。図5は、NAS200の動作フローチャートである。
図5に示すように、ステップS100において、制御部214は、アクセス部213による単位時間内のアクセス回数(すなわち、API呼び出し回数)を監視(カウント)する。
ステップS200において、制御部214は、アクセス部213による単位時間内のアクセス回数がアクセス回数閾値を超えるか否かを確認する。なお、アクセス回数閾値は利用制約としての単位時間内のアクセス回数の上限値よりも小さい値であるため、アクセス部213による単位時間内のアクセス回数がアクセス回数閾値を超えるということは、アクセス部213による単位時間内のアクセス回数が上限値に近づいているということを意味する。
アクセス部213による単位時間内のアクセス回数がアクセス回数閾値を超えない場合(ステップS200;NO)、制御部214は、処理をステップS100に戻す。これに対し、アクセス部213による単位時間内のアクセス回数がアクセス回数閾値を超える場合(ステップS200;YES)、制御部214は、処理をステップS300に進める。
ここで、アクセス部213による単位時間内のアクセス回数がアクセス回数閾値を超えない場合は、アクセス部213による単位時間内のアクセス回数が上限値に対して余裕があるということを意味するため、キャッシュされるファイルとオンラインストレージ300に記憶されるファイルとが同期するように頻繁にアップロードを行ってもよく、ファイル読み出し要求に対して即座にダウンロードを行ってもよい。
ステップS300において、制御部214は、アクセス抑止制御を行う。以下において、ステップS300の詳細について説明する。
図5のステップS300におけるアップロード処理を説明する。図6は、図5のステップS300におけるアップロード処理のフローチャートである。ここでは、仮想ローカルディレクトリを対象としたアップロード処理を説明する。
図6に示すように、ステップS310において、キャッシュ管理部212は、仮想ローカルディレクトリに対するファイル保存要求に応じて、保存対象ファイルをキャッシュ領域にキャッシュする。
ステップS311において、制御部214は、内部タイマに対してタイムアウト時間の初期値(例えば、15秒)を設定し、当該内部タイマを起動する。
ステップS312において、制御部214は、キャッシュ管理部212がキャッシュしているファイルに対するファイル更新要求があったか否かを確認する。キャッシュ管理部212がキャッシュしているファイルに対するファイル更新要求があった場合(ステップS312;YES)、制御部214は、処理をステップS313に進める。これに対し、キャッシュ管理部212がキャッシュしているファイルに対するファイル更新要求がない場合(ステップS312;NO)、制御部214は、処理をステップS314に進める。
ステップS313において、制御部214は、現在のタイムアウト時間をN倍(例えば、2倍)したものを内部タイマに再設定し、その後、処理をステップS311に戻す。ステップS311においては、N倍されたタイムアウト時間が設定された内部タイマが起動される。
一方、ステップS314において、制御部214は、内部タイマが満了したか否か(タイムアウトしたか否か)を確認する。内部タイマが満了した場合(ステップS314;YES)、制御部214は、処理をステップS315に進める。これに対し、内部タイマが満了していない場合(ステップS314;NO)、制御部214は、処理をステップS312に戻す。ステップS312においては、ファイル更新要求の有無が再度判定される。
ステップS315において、制御部214は、キャッシュ管理部212がキャッシュしているファイルをアップロードするようアップロード部213Aを制御する。
このように、本フローの例においては、ファイルのアップロードが少なくとも15秒(所定の保留時間)は保留され、かつ、その間に当該ファイルのファイル更新を検出した場合には当該ファイルのアップロードがさらに30秒保留される。また、30秒保留している間に当該ファイルのファイル更新を検出した場合には当該ファイルのアップロードがさらに60秒保留される。よって、更新頻度の高いファイルほど、アップロード保留時間を長くすることができる。
なお、上述した制御によってもアップロードに失敗した場合には、上述したように、メール処理部215は、アップロード失敗通知を電子メールにより行う。
次に、図5のステップS300におけるダウンロード処理を説明する。図7は、図5のステップS300におけるダウンロード処理のフローチャートである。ここでは、仮想ローカルディレクトリを対象としたダウンロード処理を説明する。
図7に示すように、ステップS320において、ファイル管理部211は、仮想ローカルディレクトリに対するファイル読み出し要求をPC100から受け付ける。
ステップS321において、制御部214は、ファイル管理部211が受け付けたファイル読み出し要求に対応する読み出し対象ファイルのダウンロードを一旦中止するよう制御する。
ステップS322において、制御部214は、読み出し対象ファイルのダウンロードを一旦中止してから、予め設定されている保留時間が経過するのを待つ。
ステップS323において、制御部214は、保留時間が経過した際に、読み出し対象ファイルをダウンロードするようにダウンロード部213Bを制御する。
(実施形態の効果)
以上説明したように、本実施形態に係るNAS200は、サービス提供者によってオンラインストレージ300に利用制約が課せられている場合であっても、ファイルの保存や読み出しを適切に行うことができる。また、NAS200は、ファイルが更新される度にアップロードを即座に行うのではなく、ファイルがキャッシュされてから所定の保留時間が経過するまではアップロードを保留するアクセス抑止制御を行うことによって、更新頻度の高いファイルを取り扱う場合であっても、アップロードに係るトラフィック負荷が増大することを防止できる。
本実施形態では、NAS200は、アクセス部213による単位時間内のアクセス回数が、利用制約としての上限値未満に設定されたアクセス回数閾値を超える場合に、アクセス抑止制御を行う。これにより、アクセス部213による単位時間内のアクセス回数が利用制約としての上限値を超える手前の段階でアクセス抑止制御を行うことができるため、オンラインストレージ300へのアクセスが不能になることによりファイルの保存や読み出しが不能になるという問題を解決できる。
本実施形態では、NAS200は、キャッシュされているファイルの更新頻度が高いほど、当該ファイルのアップロードを保留する時間を長くする。これにより、更新頻度の高いファイルに対するアップロード保留時間を長くする(延長する)ことができるため、アップロードの頻度を効果的に削減できると共に、更新頻度の高いファイルを適切なタイミングでアップロードすることができる。
本実施形態では、NAS200は、アクセス抑止制御として、オンラインストレージ300からのダウンロードを保留して、所定時間経過後に当該ダウンロードをリトライする制御を行うことによって、オンラインストレージ300の利用制約を満たしつつダウンロードを行うことができる。
本実施形態では、NAS200は、オンラインストレージ300へのアップロードに失敗した場合に、当該アップロードに失敗した旨の電子メールをPC100に宛てて送信することによって、アップロードの失敗をユーザに通知することができる。特に、上述したようなアップロードを保留する制御を行う場合には、ユーザがファイルの保存操作を行ってからアップロードが実行されるまでの間に遅延が生じ、アップロードに失敗したことをユーザが気付かないため、メールによる失敗通知が効果的である。
本実施形態では、NAS200は、NAS200を示すディレクトリの下位ディレクトリとしてオンラインストレージ300を示す仮想ローカルディレクトリを配置したディレクトリ構成によりファイル管理を行う。これにより、ディレクトリ構成を変更することでオンラインストレージ300をローカルストレージと同様に取り扱うことができる。
本実施形態では、NAS200は、仮想ローカルディレクトリに対するファイルの保存又は更新要求に基づいて、当該ファイルをオンラインストレージ300にアップロードする。これにより、仮想ローカルディレクトリに対して保存又は更新されるファイルをオンラインストレージ300に自動でアップロードすることができる。
(その他の実施形態)
上記のように、本発明は実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなる。
例えば、上述した実施形態では、NAS200を本発明に係るファイル管理装置としていたが、NAS200に代えてPC100を本発明に係るファイル管理装置としてもよい。この場合、PC100は、図2に示すハードウェア構成及び図3に示すソフトウェア構成と同様の構成を有し、図5〜図7に示す各フローを実行する。
このように本発明は、ここでは記載していない様々な実施形態等を包含するということを理解すべきである。
1…通信システム、10…LAN、20…インターネット、100…PC、200…NAS、210…CPU、211…ファイル管理部、212…キャッシュ管理部、213…アクセス部、213A…アップロード部、213B…ダウンロード部、214…制御部、215…メール処理部、220…メモリ、230…HDD、240…LAN I/F、300…オンラインストレージ

Claims (12)

  1. オンラインストレージと通信可能に構成されたファイル管理装置であって、
    前記オンラインストレージへアップロードすべきファイルをキャッシュするキャッシュ管理部と、
    前記ファイルがキャッシュされてから所定の保留時間が経過するまでは、当該ファイルが更新される場合であっても、当該ファイルのアップロードを保留するよう制御する制御部と、
    を有することを特徴とするファイル管理装置。
  2. 前記制御部は、前記キャッシュされているファイルの更新頻度が高いほど、当該ファイルのアップロードを保留する時間を長くすることを特徴とする請求項1に記載のファイル管理装置。
  3. 前記キャッシュ管理部は、ユーザ端末からネットワークを介して伝達される前記ファイルをキャッシュすることを特徴とする請求項1又は2に記載のファイル管理装置。
  4. 前記オンラインストレージへのアップロードに失敗した場合に、当該アップロードに失敗した旨の電子メールを前記ユーザ端末に宛てて送信するメール処理部をさらに有することを特徴とする請求項3に記載のファイル管理装置。
  5. 前記ファイル管理装置を示すディレクトリの下位ディレクトリとして前記オンラインストレージを示す仮想ローカルディレクトリを配置したディレクトリ構成によりファイル管理を行うファイル管理部をさらに有することを特徴とする請求項1〜4の何れか一項に記載のファイル管理装置。
  6. 前記キャッシュ管理部は、前記仮想ローカルディレクトリに対するファイルの保存要求に基づいて当該ファイルをキャッシュすることを特徴とする請求項5に記載のファイル管理装置。
  7. オンラインストレージと通信可能に構成されたファイル管理装置に、
    前記オンラインストレージへアップロードすべきファイルをキャッシュするキャッシュ管理工程と、
    前記ファイルがキャッシュされてから所定の保留時間が経過するまでは、当該ファイルが更新される場合であっても、当該ファイルのアップロードを保留するよう制御する制御工程と、
    を実行させることを特徴とする制御プログラム。
  8. 前記制御工程は、前記キャッシュされているファイルの更新頻度が高いほど、当該ファイルのアップロードを保留する時間を長くすることを特徴とする請求項7に記載の制御プログラム。
  9. 前記キャッシュ管理工程は、ユーザ端末からネットワークを介して伝達される前記ファイルをキャッシュすることを特徴とする請求項7又は8に記載の制御プログラム。
  10. 前記オンラインストレージへのアップロードに失敗した場合に、当該アップロードに失敗した旨の電子メールを前記ユーザ端末に宛てて送信するメール処理工程をさらに有することを特徴とする請求項9に記載の制御プログラム。
  11. 前記ファイル管理装置を示すディレクトリの下位ディレクトリとして前記オンラインストレージを示す仮想ローカルディレクトリを配置したディレクトリ構成によりファイル管理を行うファイル管理工程をさらに有することを特徴とする請求項7〜10の何れか一項に記載の制御プログラム。
  12. 前記キャッシュ管理工程は、前記仮想ローカルディレクトリに対するファイルの保存要求に基づいて当該ファイルをキャッシュすることを特徴とする請求項11に記載の制御プログラム。
JP2011112924A 2011-05-19 2011-05-19 ファイル管理装置及びその制御プログラム Withdrawn JP2012243108A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011112924A JP2012243108A (ja) 2011-05-19 2011-05-19 ファイル管理装置及びその制御プログラム
CN2012101541392A CN102841914A (zh) 2011-05-19 2012-05-17 文件管理装置以及文件管理方法
US13/475,406 US20120296970A1 (en) 2011-05-19 2012-05-18 File managing apparatus for managing access to an online storage service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011112924A JP2012243108A (ja) 2011-05-19 2011-05-19 ファイル管理装置及びその制御プログラム

Publications (1)

Publication Number Publication Date
JP2012243108A true JP2012243108A (ja) 2012-12-10

Family

ID=47175755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011112924A Withdrawn JP2012243108A (ja) 2011-05-19 2011-05-19 ファイル管理装置及びその制御プログラム

Country Status (3)

Country Link
US (1) US20120296970A1 (ja)
JP (1) JP2012243108A (ja)
CN (1) CN102841914A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286644B2 (en) * 2013-01-12 2016-03-15 Pro Softnet Corporation Method for sharing multiple data items using a single URL
US10652193B2 (en) * 2014-06-18 2020-05-12 Western Digital Technologies, Inc. Managing and accessing data storage systems

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828823A (en) * 1995-03-01 1998-10-27 Unisys Corporation Method and apparatus for storing computer data after a power failure
JPH11134234A (ja) * 1997-08-26 1999-05-21 Reliatec Ltd バックアップ・リストア方法およびその制御装置,並びにバックアップ・リストアプログラムを記録したコンピュータ読み取り可能な記録媒体
GB2412769B (en) * 2002-05-29 2006-09-13 Flyingspark Ltd Methods and systems for using caches
JP4240930B2 (ja) * 2002-07-15 2009-03-18 株式会社日立製作所 複数ネットワークストレージの仮送想一元化方法及び装置
US20070288268A1 (en) * 2006-05-11 2007-12-13 Weeks Walter L Adaptable Electronic Medical Record System and Method
US8117163B2 (en) * 2006-10-31 2012-02-14 Carbonite, Inc. Backup and restore system for a computer
US8825758B2 (en) * 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US9390102B2 (en) * 2008-09-29 2016-07-12 Oracle International Corporation Client application program interface for network-attached storage system
US8285681B2 (en) * 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US20120166592A1 (en) * 2010-12-22 2012-06-28 Jeremiah Elliot Content Delivery and Caching System

Also Published As

Publication number Publication date
CN102841914A (zh) 2012-12-26
US20120296970A1 (en) 2012-11-22

Similar Documents

Publication Publication Date Title
JP2012243105A (ja) ファイル管理装置及びその制御プログラム
JP5736956B2 (ja) ファイル管理装置及びその制御プログラム
KR101638436B1 (ko) 클라우드 스토리지 및 그의 관리 방법
JP4698756B2 (ja) ウェブベースアプリケーションのオフライン実行
US9032393B1 (en) Architecture for incremental deployment
JP2012243106A (ja) ファイル管理装置及びその制御プログラム
JP2011186783A (ja) スナップショット管理方法、スナップショット管理装置、及びプログラム
EP3584716B1 (en) Storage constrained synchronization of shared content items
US8984162B1 (en) Optimizing performance for routing operations
US9229740B1 (en) Cache-assisted upload proxy
US10560513B2 (en) Small disk support for large cloud-based storage systems
WO2011159514A2 (en) Transparent access mechanism for local and remote data
WO2013043162A1 (en) Peer-to-peer data migration
CN103379115A (zh) 一种本地存储与网络存储的数据同步方法和设备
JP2012243104A (ja) ファイル管理装置及びその制御プログラム
JP2012243108A (ja) ファイル管理装置及びその制御プログラム
US20110282923A1 (en) File management system, method, and recording medium of program
JP2020095588A (ja) 仮想ファイル処理システム及び仮想ファイル処理プログラム
CN110941595A (zh) 一种文件系统访问方法及装置
US9946684B2 (en) Cache management for RDMA data stores
JP5473016B2 (ja) データ共有システム、端末装置、データ共有方法、及びプログラム
KR101977777B1 (ko) 가상 파일 기반의 클라우드 서비스 방법 및 장치
JP6589500B2 (ja) 情報処理端末、共有ファイルシステム、共有ファイル方法および共有ファイルプログラム
Park et al. Lake: Towards highly manageable cluster storage for extremely scalable services
JP6707824B2 (ja) 情報端末、情報処理システムおよびデータ読み込み方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140805