(57)【要約】【課題】クラウドコンピューティングで提供されるストレージ上に仮想テープファイルを格納する際における料金の最適化を図りうる、仮想テープ管理装置、仮想テープ管理方法、及びプログラムを提供する。【解決手段】仮想テープ管理装置１は、複数の仮想テープファイルで構築された仮想テープボリューム２１をクラウドストレージ２上で管理するための装置である。仮想テープ管理装置１は、仮想テープファイルそれぞれ毎に、設定ルールに沿って、仮想テープファイルの格納のためにクラウドストレージ２上で確保すべき格納領域のサイズを決定する、ファイルサイズ判断部１４と、クラウドストレージ２上に、仮想テープファイルそれぞれ毎に、決定されたサイズで格納領域を確保し、確保した格納領域に、仮想テープファイルを格納する、仮想テープ管理部１２とを備えている。【選択図】図１
2019008373.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想テープファイルで構築された仮想テープボリュームをクラウドストレージ上で管理するための装置であって、
設定ルールに沿って、前記仮想テープボリュームを前記クラウドストレージに格納する際の前記仮想テープファイルのサイズを決定する、ファイルサイズ判断部と、
決定された前記サイズでバッファメモリを確保し、確保した前記バッファメモリに、前記仮想テープボリュームのデータを書き込み、そして、書き込んだデータのデータ量が前記バッファメモリのサイズに到達した場合に、前記バッファメモリに格納されている前記データを前記クラウドストレージに格納する、仮想テープ管理部と、
を備えている、ことを特徴とする仮想テープ管理装置。
【請求項２】
前記ファイルサイズ判断部が、
前記仮想テープボリュームの属性を特定し、特定した属性に応じて設定されたルールに沿って、前記仮想テープファイルのサイズを決定する、
請求項１に記載の仮想テープ管理装置。
【請求項３】
前記ファイルサイズ判断部が、
前記クラウドストレージに設定されている処理毎の料金と、前記複数の仮想テープファイルそれぞれの使用状況及びそのサイズとに基づくルールに沿って、前記仮想テープボリュームを前記クラウドストレージに格納する際の前記仮想テープファイルのサイズを決定する、
請求項１に記載の仮想テープ管理装置。
【請求項４】
前記仮想テープ管理部が、
ホストから位置づけが指示された場合に、
現在のブロックの位置がいずれかの前記仮想テープファイルの途中であるかどうかを判定し、途中である場合に、途中であると判定された前記仮想テープファイルを構成するブロックを、前記ホストに送信済のブロックと、前記ホストに未送信のブロックとに分け、更に、
前記ホストに送信済のブロックを、全てのブロックが前記ホストに送信済となっている別の前記仮想テープファイルに結合し、
前記ホストに未送信のブロックのみで新たな前記仮想テープファイルを生成する、
請求項１から３のいずれかに記載の仮想テープ管理装置。
【請求項５】
複数の仮想テープファイルで構築された仮想テープボリュームをクラウドストレージ上で管理するための方法であって、
（ａ）設定ルールに沿って、前記仮想テープボリュームを前記クラウドストレージに格納する際の前記仮想テープファイルのサイズを決定する、ステップと、
（ｂ）決定された前記サイズでバッファメモリを確保し、確保した前記バッファメモリに、前記仮想テープボリュームのデータを書き込み、そして、書き込んだデータのデータ量が前記バッファメモリのサイズに到達した場合に、前記バッファメモリに格納されている前記データを前記クラウドストレージに格納する、ステップと、
を有する、ことを特徴とする仮想テープ管理方法。
【請求項６】
コンピュータによって、複数の仮想テープファイルで構築された仮想テープボリュームをクラウドストレージ上で管理するためのプログラムであって、
前記コンピュータに、
（ａ）設定ルールに沿って、前記仮想テープボリュームを前記クラウドストレージに格納する際の前記仮想テープファイルのサイズを決定する、ステップと、
（ｂ）決定された前記サイズでバッファメモリを確保し、確保した前記バッファメモリに、前記仮想テープボリュームのデータを書き込み、そして、書き込んだデータのデータ量が前記バッファメモリのサイズに到達した場合に、前記バッファメモリに格納されている前記データを前記クラウドストレージに格納する、ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想テープボリュームを管理するための、仮想テープ管理装置、及び仮想テープ管理方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【０００２】
近年、Gateway VTL（Virtual Tape Library）と呼ばれるアプリケーションによる仮想テープライブラリが提供されている。Gateway VTLは、従来の磁気テープ装置のホストインターフェースを持つアプリケーションをクライアント側サーバで起動できるようにし、仮想テープデータをクラウドコンピューティングで提供されるストレージに保存できるようにしたものである。Gateway VTLによれば、現存する仮想テープライブラリと異なり、ハードウェアの導入、管理、保守コスト無しにアプリケーションの起動のみで、従来のバックアップアプリケーションを運用することができる。
【０００３】
具体的には、特許文献１は、Gateway VTLを実現する仮想テープライブラリシステムを開示している。特許文献１に開示されたシステムでは、バックアップアプリケーションから受信したデータ（ブロック）は、データを利用するクライアント側サーバのメモリに最適なサイズ（特許文献１では512MB）のメガブロックとしてまとめられる。このメガブロックは、仮想テープボリュームとも呼ばれ、ストレージへの書き出し、読み出しの単位となる。
【０００４】
この構成でメガブロックが、クラウド上のオブジェクトストレージ（本明細書においては「クラウドストレージ」とも表記される）に保存される場合は、メガブロックは、例えば、図１７に示すように、複数の仮想テープファイルに分けて保存される。図１７は、従来からの仮想テープファイルの一例を示す図である。
【０００５】
具体的には、図１７の例では、仮想テープを構成する複数のブロック（#1〜#n）は、５個を１組として、各仮想テープファイルに分けられて記録される。また、この場合、仮想テープ中のいずれかのブロックを部分的に読み出すには、読み出し対象となるブロックが書き込まれている仮想テープファイル全部を読み出す必要がある。たとえば、図１７において、ユーザデータ#7のみを読み出す場合でも、仮想テープファイル#2を全て読み出す必要がある。
【０００６】
ところで、このような仮想テープファイルが保存されるオブジェクトストレージは、クラウドコンピューティングにおけるストレージの利用形態の一つである。クラウドコンピューティングは、ネットワーク、サーバ、ストレージ、アプリケーションなどのコンピュータ資源を、ユーザがオンデマンドで利用できるようにすることをいう。
【０００７】
また、オブジェクトストレージでは、データはユニークな識別子で識別され、フラットな名前空間で管理される。そして、オブジェクトストレージは、クライアントからのHTTPベースでのリクエストに応じてデータの生成、読み出し、更新及び削除を実行する。また、ユーザが、クラウドコンピューティングでオブジェクトストレージを使用する場合、一般的には、ユーザに対しては、処理の度に、データ量に応じた課金が行なわれる。
【０００８】
従って、図１７の説明で述べたように、ユーザがデータ#7のみを読み出す場合は、仮想テープファイル#2を全て読み出す必要があるので、課金は仮想テープファイル#2のサイズに対してなされる。このため、#6、#8〜#10の分だけ余計な読み出しやネットワーク転送による課金が発生してしまう。
【０００９】
図１８は、オブジェクトストレージで課される料金体系の一例を示す図である。図１８に示すように、書き込みリクエスト料金は、容量にかかわらず１つのファイルをクラウドストレージに格納する際に課される料金である。読み出しリクエスト料金は、同様に１つのファイルをクラウドストレージから取得する際にかかる料金である。ストレージ料金は、クラウドストレージに格納されているデータ容量にかかる料金である。データ読み出し料金は、クラウドストレージからの読み出しデータ容量にかかる料金である。
【００１０】
ここで、仮想テープファイルのサイズと図１８に示す料金体系との関係について説明する。例えば、図１８の例では、仮想テープサイズが1GBで、仮想テープファイルが512MBの場合、1MBのブロックを読み出してもデータ転送料金が512MB分（約7.5円）かかってしまう。一方、仮想テープファイルのサイズが256MBであるとすれば、同じ条件でもデータ転送料金は約3.8円となるので、データ転送料金は削減される。
【００１１】
また、仮想テープファイルのサイズが256MBであるとすれば、1GB全体の読み書きに必要なリクエスト回数は２回から4回へと倍増する。しかし、図２の例では、リクエスト回数が2回増えることによる料金の上昇は0.01円未満であるので、リクエスト回数増による課金への影響は小さいと言える。なお、仮想テープファイルのサイズを小さくし過ぎると、読み書きリクエスト回数の課金への影響は大きくなると考えられる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特表２０１６−５０６５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
このように、仮想テープファイルのサイズを小さくすればデータの読み出し及び転送にかかる料金は削減されるが、その一方でファイルの読み書きに伴うリクエスト回数が増加し、それにかかる料金が増加してしまう。つまり、仮想テープファイルを、クラウドコンピューティング上のオブジェクトストレージに格納する場合は、仮想テープファイルのサイズによって料金が大きく変化してしまうことから、オブジェクトストレージの使用にかかる料金を最適化する必要がある。
【００１４】
本発明の目的の一例は、上記問題を解消し、クラウドコンピューティングで提供されるストレージ上に仮想テープファイルを格納する際における料金の最適化を図りうる、仮想テープ管理装置、仮想テープ管理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、本発明の一側面における仮想テープ管理装置は、複数の仮想テープファイルで構築された仮想テープボリュームをクラウドストレージ上で管理するための装置であって、
設定ルールに沿って、前記仮想テープボリュームを前記クラウドストレージに格納する際の前記仮想テープファイルのサイズを決定する、ファイルサイズ判断部と、
決定された前記サイズでバッファメモリを確保し、確保した前記バッファメモリに、前記仮想テープボリュームのデータを書き込み、そして、書き込んだデータのデータ量が前記バッファメモリのサイズに到達した場合に、前記バッファメモリに格納されている前記データを前記クラウドストレージに格納する、仮想テープ管理部と、
を備えている、ことを特徴とする。
【００１６】
また、上記目的を達成するため、本発明の一側面における仮想テープ管理方法は、複数の仮想テープファイルで構築された仮想テープボリュームをクラウドストレージ上で管理するための方法であって、
（ａ）設定ルールに沿って、前記仮想テープボリュームを前記クラウドストレージに格納する際の前記仮想テープファイルのサイズを決定する、ステップと、
（ｂ）決定された前記サイズでバッファメモリを確保し、確保した前記バッファメモリに、前記仮想テープボリュームのデータを書き込み、そして、書き込んだデータのデータ量が前記バッファメモリのサイズに到達した場合に、前記バッファメモリに格納されている前記データを前記クラウドストレージに格納する、ステップと、
を有する、ことを特徴とする。
【００１７】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、複数の仮想テープファイルで構築された仮想テープボリュームをクラウドストレージ上で管理するためのプログラムであって、
前記コンピュータに、
（ａ）設定ルールに沿って、前記仮想テープボリュームを前記クラウドストレージに格納する際の前記仮想テープファイルのサイズを決定する、ステップと、
（ｂ）決定された前記サイズでバッファメモリを確保し、確保した前記バッファメモリに、前記仮想テープボリュームのデータを書き込み、そして、書き込んだデータのデータ量が前記バッファメモリのサイズに到達した場合に、前記バッファメモリに格納されている前記データを前記クラウドストレージに格納する、ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１８】
以上のように、本発明によれば、クラウドコンピューティングで提供されるストレージ上に仮想テープファイルを格納する際における料金の最適化を図ることができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、本発明の実施の形態１における仮想テープ管理装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態１における仮想テープ管理装置の具体的構成を示すブロック図である。
【図３】図３は、本発明の実施の形態１で用いられる仮想テープ属性テーブルの一例を示す図である。
【図４】図４は、本発明の実施の形態１で用いられるファイルサイズテーブルの一例を示す図である。
【図５】図５は、本発明の実施の形態１における仮想テープ管理装置のマウント処理時の動作を示すフロー図である。
【図６】図６は、本発明の実施の形態１における仮想テープ管理装置の書込処理時の動作を示すフロー図である。
【図７】図７は、本発明の実施の形態１における仮想テープ管理装置のデマウント処理時の動作を示すフロー図である。
【図８】図８は、本発明の実施の形態１における仮想テープ管理装置によるコスト削減効果を示す図である。
【図９】図９は、本発明の実施の形態２における仮想テープ管理装置の具体的構成を示すブロック図である。
【図１０】図１０は、本発明の実施の形態２で用いられるクラウド料金テーブルの一例を示す図である。
【図１１】図１１は、本発明の実施の形態２で用いられる仮想テープテーブルの一例を示す図である。
【図１２】図１２は、本発明の実施の形態２における仮想テープ管理装置のマウント処理時の動作を示すフロー図である。
【図１３】図１３は、本発明の実施の形態２における仮想テープ管理装置によるコスト削減効果を示す図である。
【図１４】図１４は、本発明の実施の形態３における仮想テープ管理装置の機能を説明する図である。
【図１５】図１５は、本発明の実施の形態３における仮想テープ管理装置の位置づけ処理時の動作を示すフロー図である。
【図１６】図１６は、本発明の実施の形態１〜３における仮想テープ管理装置を実現するコンピュータの一例を示すブロック図である。
【図１７】図１７は、従来からの仮想テープファイルの一例を示す図である。
【図１８】図１８は、オブジェクトストレージで課される料金体系の一例を示す図である。
【発明を実施するための形態】
【００２０】
（実施の形態１）
以下、本発明の実施の形態１における、仮想テープ管理装置、仮想テープ管理方法、及びプログラムについて、図１〜図８を参照しながら説明する。
【００２１】
［装置構成］
最初に、本実施の形態１における仮想テープ管理装置の概略構成について説明する。図１は、本発明の実施の形態１における仮想テープ管理装置の概略構成を示すブロック図である。
【００２２】
図１に示す、本実施の形態１における仮想テープ管理装置１は、複数の仮想テープファイルで構築された仮想テープボリューム２１をクラウドストレージ２上で管理するための装置である。図１に示すように、仮想テープ管理装置１は、ファイルサイズ判断部１４と、仮想テープ管理部１２とを備えている。
【００２３】
ファイルサイズ判断部１４は、設定ルールに沿って、仮想テープボリューム２１をクラウドストレージ２に格納する際の仮想テープファイルのサイズを決定する。
【００２４】
仮想テープ管理部１２は、決定されたサイズでバッファメモリ１２１を確保し、確保したバッファメモリ１２１に、仮想テープボリューム２１のデータを書き込む。また、仮想テープ管理部１２は、書き込んだデータのデータ量がバッファメモリ１２１のサイズに到達した場合に、バッファメモリ１２１に格納されているデータをクラウドストレージ２に格納する。
【００２５】
このように、本実施の形態では、仮想テープボリューム２１を構成する各仮想テープファイルサイズは、設定ルールに沿って決定される。このため、仮想テープファイルのサイズを小さくして、データの読み出し及び転送にかかる料金は削減されたが、逆に、ファイルの読み書きに伴うリクエスト回数が増えて、それにかかる料金が増加してしまう、といった事態の発生は抑制される。本実施の形態によれば、クラウドストレージ上に仮想テープボリューム２１を格納する際における料金の最適化を図ることが可能となる。
【００２６】
続いて、図２を用いて、本実施の形態１における仮想テープ管理装置１の構成をより具体的に説明する。図２は、本発明の実施の形態１における仮想テープ管理装置の具体的構成を示すブロック図である。
【００２７】
図２に示すように、本実施の形態１では、仮想テープ管理装置１は、上述のファイルサイズ判断部１４及び仮想テープ管理部１２に加えて、ホストコマンド処理部１１と、仮想テープ属性テーブル１３と、ファイルサイズテーブル１４１とを備えている。また、仮想テープ管理装置１は、ネットワークを介して、上位装置３及び管理端末４に接続されている。
【００２８】
上位装置３は、仮想テープ管理装置１に対して命令を発行して、クラウドストレージ２に格納されている仮想テープボリューム２１の読み出し及び書き込みを行なう装置である。
【００２９】
管理端末４は、仮想テープ管理装置１の管理者が使用する端末装置である。管理者は、管理端末４を介して、仮想テープ属性テーブル１３の参照及び更新を行なうことができる。
【００３０】
仮想テープボリューム２１は、磁気テープをエミュレーションしてえられたデータ集合であり、図１７で示した仮想テープボリュームと同様のものである。仮想テープボリューム２１は、図１７の例と同様に、複数の仮想テープファイルから構成され、クラウドストレージ２に格納される。以降の説明では、仮想テープファイルは、「ファイル」と略す。また、クラウドストレージ２は、クラウドコンピューティングで提供されるストレージであり、インターネットを介して、仮想テープ管理装置１に接続されている。
【００３１】
ホストコマンド処理部１１は、上位装置３からのマウント命令、デマウント命令、書き込み命令、読み出し命令、位置づけ命令を受け付ける。また、ホストコマンド処理部１１は、命令を受け付けると、仮想テープ管理部１２に対して、受け付けた命令に応じて指示を行なう。
【００３２】
仮想テープ管理部１２は、ホストコマンド処理部１１から指示を受けると、受けた指示に応じて、仮想テープボリューム２１に対して、アクセス有効化（マウント）、アクセス無効化（デマウント）、データの格納、データの読み出し、データ位置の位置づけを実行する。また、仮想テープ管理部１２は、仮想テープボリューム２１に記録されるデータと、その実体であるファイルとの関係を管理している。
【００３３】
仮想テープ管理部１２は、本実施の形態では、対象となる仮想テープボリューム２１を指定して、ファイルサイズ判断部１４に、指定した仮想テープボリューム２１に対応する仮想テープファイルのサイズを決定するように指示する。そして、サイズが決定されると、仮想テープ管理部１２は、仮想テープ管理装置１上に、決定されたサイズでバッファメモリ１２１を確保し、確保したバッファメモリ１２１に、仮想テープボリュームのデータを格納する。
【００３４】
ファイルサイズ判断部１４は、本実施の形態では、仮想テープボリューム２１の属性を特定し、特定した属性に応じて、設定されたルールに沿って、各仮想テープファイルの格納のためにクラウドストレージ２上で確保すべき格納領域のサイズ（以下、単に「ファイルサイズ」とも表記する。）を決定する。
【００３５】
具体的には、ファイルサイズ判断部１４は、まず、仮想テープ属性テーブル１３を用いて、各仮想テープボリューム２１の属性を特定する。図３は、本発明の実施の形態１で用いられる仮想テープ属性テーブルの一例を示す図である。図３に示すように、仮想テープ属性テーブル１３は、仮想テープＩＤ１３１と属性１３２とで構成されている。
【００３６】
仮想テープＩＤ１３１は、仮想テープ管理装置１で扱う複数の仮想テープボリューム２１を一意に特定することが可能な識別情報である。属性１３２は、仮想テープＩＤ１３１に対応する仮想テープボリューム２１の用途を分類するものである。本実施の形態では、属性１３２としては、Backup用と、Archive用との二種類が用意されている。また、管理者は、管理端末４を用いて、これらの属性を更新することができる。
【００３７】
また、ファイルサイズ判断部１４は、ファイルサイズテーブル１４１を備えている。図４は、本発明の実施の形態１で用いられるファイルサイズテーブルの一例を示す図である。図４に示すように、ファイルサイズテーブル１４１は、仮想テープボリューム２１の属性１４１１と、属性に対応するファイルサイズ１４１２とで構成されている。ファイルサイズ１４１２は、仮想テープボリューム２１の分割サイズ、つまり、仮想テープボリューム２１を構成する仮想テープファイルのサイズである。
【００３８】
ファイルサイズ判断部１４は、仮想テープ管理部１２から、仮想テープＩＤを引数としたファイルサイズ要求を受けると、仮想テープ属性テーブル１３から、指示された仮想テープＩＤに対応する属性１３２を入手する。そして、ファイルサイズ判断部１４は、入手した属性に応じたファイルサイズを、ファイルサイズテーブル１４１を参照して決定し、仮想テープ管理部１２に応答する。
【００３９】
ところで、Backup用途で記録されたデータを読み出す局面は、データの復元であり、仮想テープに記録された全てのデータを読み出す傾向がある。このため、ファイルサイズが大きく設定されていても、読み捨てられるデータは発生しない。従って、Backup用途で記録されたデータについては、ファイルサイズを大きくして、読み書きによるリクエスト数を減らす方向で、コスト削減が可能である。
【００４０】
一方Archive用途では、仮想テープに記録されたデータを部分的に読み出す傾向があるため、Backupの場合と比較してファイルサイズを細かく分割することで、読み出しデータ量削減によるコスト削減が可能である。図４の例では、Backup用とArchive用とで、100MB、10MBとファイルサイズが変えられている。
【００４１】
［装置動作］
次に、本実施の形態１における仮想テープ管理装置１の動作について図５〜図７を用いて説明する。以下の説明においては、適宜図１〜図４を参酌する。また、本実施の形態１では、仮想テープ管理装置１を動作させることによって、仮想テープ管理方法が実施される。よって、本実施の形態１における仮想テープ管理方法の説明は、以下の仮想テープ管理装置１の動作説明に代える。
【００４２】
最初に、図５を用いて、仮想テープ管理装置１による仮想テープボリューム２１のマウント動作について説明する。図５は、本発明の実施の形態１における仮想テープ管理装置のマウント処理時の動作を示すフロー図である。なお、マウントとは、上位装置３からの指示によって、仮想テープボリューム２１を読み書き可能な状態にすることをいう。また、本実施の形態１において、データの読み出し動作、データ位置の位置づけ動作については、公知の動作と同様であるため、本案文では説明を省略する。
【００４３】
図５に示すように、最初に、ホストコマンド処理部１１が、上位装置３から、マウント命令を受け付け、これを仮想テープ管理部１２に入力する（ステップＳ６０１）。これにより、仮想テープ管理部１２は、仮想テープボリューム２１のマウント命令を受け付ける。
【００４４】
また、ステップＳ６０１では、仮想テープ管理部１２は、ファイルサイズ判断部１４に、マウント対象となっている仮想テープボリューム２１の仮想テープＩＤを引数として、仮想テープファイルのファイルサイズを問い合わせる。
【００４５】
次に、問い合わせを受けたファイルサイズ判断部１４は、仮想テープボリューム２１の仮想テープＩＤに基づいて、仮想テープ属性テーブル１３から対応する属性１３２を取得し、ファイルサイズテーブル１４１から属性に対応するファイルサイズ１４１２を決定する（ステップＳ６０２）。また、ファイルサイズ判断部１４は、決定したファイルサイズを仮想テープ管理部１２に応答する。
【００４６】
次に、仮想テープ管理部１２は、仮想テープ管理装置１において、ステップＳ６０２で決定されたファイルサイズ分のバッファメモリ１２１を確保する（ステップＳ６０３）。
【００４７】
そして、仮想テープ管理部１２は、マウント対象となる仮想テープボリューム２１を読み書き可能状態に遷移させる（ステップＳ６０４）。
【００４８】
続いて、図６を用いて、仮想テープ管理装置１による仮想テープボリューム２１のクラウドストレージ２への書き込む動作について説明する。図６は、本発明の実施の形態１における仮想テープ管理装置の書込処理時の動作を示すフロー図である。
【００４９】
図６に示すように、最初に、ホストコマンド処理部１１が、上位装置３から、書き込み対象となる仮想テープボリューム２１のマウント先への書き込み命令と、書き込み対象となるデータとを受け付ける（ステップＳ７０１）。また、ホストコマンド処理部１１は、これらを仮想テープ管理部１２に入力する。
【００５０】
次に、仮想テープ管理部１２は、入力された書き込み対象となるデータを、ステップＳ６０３で確保したバッファメモリ１２１に追加する（ステップＳ７０２）。また、仮想テープ管理部１２は、バッファメモリ１２１に書き込まれたデータのデータ量の合計がバッファメモリのサイズに到達したかどうかを判断する（ステップＳ７０３）。
【００５１】
ステップＳ７０３の判定の結果、書き込んだデータのデータ量の合計がバッファメモリのサイズに到達していなかった場合、即ち、バッファメモリに次のデータを格納する余裕がある場合は（ステップＳ７０３：Ｎｏ）、仮想テープ管理部１２は、バッファメモリ内のデータを保持した状態で書き込み処理を終了する。
【００５２】
一方、ステップＳ７０３の判定の結果、書き込んだデータのデータ量がバッファメモリのサイズに到達している場合、即ち、バッファメモリが一杯になった場合は（ステップＳ７０３：Ｙｅｓ）、仮想テープ管理部１２は、バッファメモリに格納したデータを仮想テープボリューム２１に関連するファイルとして構築して、クラウドストレージ２に出力する（ステップＳ７０４）。
【００５３】
最後に、図７を用いて、仮想テープ管理装置１による仮想テープボリューム２１のデマウント動作について説明する。図７は、本発明の実施の形態１における仮想テープ管理装置のデマウント処理時の動作を示すフロー図である。なお、デマウントとは、上位装置３から指示によって、仮想テープボリューム２１の読み書きを不可能な状態にすることをいう。
【００５４】
図７に示すように、ホストコマンド処理部１１は、上位装置３から、仮想テープボリューム２１のデマウント命令を受け付ける（ステップＳ８０１）。また、ホストコマンド処理部１１は、受け付けたデマウント命令を、仮想テープ管理部１２に入力する。
【００５５】
次に、仮想テープ管理部１２は、命令対象となった仮想テープボリューム２１を、読み込み不可能な状態に遷移させる（ステップＳ８０２）。その後、仮想テープ管理部１２は、ステップＳ６０３で確保したバッファメモリを解放して（ステップＳ８０３）、処理を終了する。
【００５６】
［実施の形態１における効果］
以上のように、本実施の形態では、各仮想テープファイルの使用用途に応じて、クラウドストレージ２上に確保するバッファメモリのサイズが設定される。このため、本実施の形態によれば、無駄となるデータ読み出し量を抑えて、読み出しの際の料金コストを抑えることが出来る。
【００５７】
ここで、図８を用いて、実施の形態１における効果を説明する。図８は、本発明の実施の形態１における仮想テープ管理装置によるコスト削減効果を示す図である。図８に示すように、図１８に示した料金体系の下では、クラウドストレージ上に、1GBのデータを記録して、その内100MBの読み出しを行った場合、背景技術の欄で示した仮想テープファイルのファイルサイズ(512MB)ではおよそ11.5円となる。これに対して、本実施の形態１(Archive用途)では、仮想テープファイルのファイルサイズは10MBとなるので、料金は5.6円となり、約5.9円の料金コスト削減の効果が得られることになる。
【００５８】
［プログラム］
本実施の形態１におけるプログラムは、コンピュータに、図５に示すステップＳ６０１〜Ｓ６０４を少なくとも実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態１における仮想テープ管理装置１と仮想テープ管理方法とを実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、ホストコマンド処理部１１、仮想テープ管理部１２、及びファイルサイズ判断部１４として機能し、処理を行なう。
【００５９】
また、本実施の形態１では、仮想テープ属性テーブル１３、バッファメモリ１２１、及びファイルサイズテーブル１４１は、コンピュータに備えられたハードディスク、メモリ等の記憶装置に、これらを構成するデータファイルを格納することによって、又はこのデータファイルが格納された記録媒体をコンピュータと接続された読取装置に搭載することによって実現できる。
【００６０】
また、本実施の形態１におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、ホストコマンド処理部１１、仮想テープ管理部１２、及びファイルサイズ判断部１４のいずれかとして機能しても良い。また、仮想テープ属性テーブル１３、バッファメモリ１２１、及びファイルサイズテーブル１４１は、本実施の形態１におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていても良い。
【００６１】
（実施の形態２）
次に、本発明の実施の形態２における、仮想テープ管理装置、仮想テープ管理方法、及びプログラムについて、図９〜図１３を参照しながら説明する。
【００６２】
［装置構成］
最初に、本実施の形態２における仮想テープ管理装置の概略構成について説明する。図９は、本発明の実施の形態２における仮想テープ管理装置の具体的構成を示すブロック図である。
【００６３】
図９に示すように、本実施の形態２における仮想テープ管理装置５は、図１及び図２に示した実施の形態１における仮想テープ管理装置１と同様に、ホストコマンド処理部１１と、仮想テープ管理部１２と、ファイルサイズ判断部１４２とを備えている。
【００６４】
但し、本実施の形態２では、ファイルサイズ判断部１４２における機能が、実施の形態１で示したファイルサイズ判断部１４と異なっている。本実施の形態２では、ファイルサイズ判断部１４２は、クラウドストレージ２に設定されている処理毎の料金と、各仮想テープファイルの使用状況及びそのサイズとに基づくルールに沿って仮想テープファイル毎に、クラウドストレージ２上で確保すべきファイルサイズを決定する。このため、本実施の形態２における仮想テープ管理装置５は、クラウド料金テーブル１４３と、仮想テープテーブル１４４とを備えている。以下、実施の形態１との相違点を中心に説明する。
【００６５】
まず、上述した実施の形態１では、ファイルサイズにかかる料金よりもリクエスト回数にかかる料金の重みが小さいため、ファイルサイズを小さくすることにより料金低減の効果を得ていた。これに対して、本実施の形態２では、クラウドストレージ２の料金体系を判断基準としてファイルサイズを決定することで、より料金の低減化を図っている。
【００６６】
ファイルサイズ判断部１４２は、本実施の形態２では、クラウド料金テーブル１４３と仮想テープテーブル１４４とを用いて、ファイルサイズを決定する。図１０は、本発明の実施の形態２で用いられるクラウド料金テーブルの一例を示す図である。図１１は、本発明の実施の形態２で用いられる仮想テープテーブルの一例を示す図である。
【００６７】
図１０に示すように、クラウド料金テーブル１４３は、単位書き込みリクエスト回数料金１４２１と、単位読み込みリクエスト回数料金１４２２と、単位ストレージ料金１４２３と、単位データ読み出し料金１４２４とを記録している。
【００６８】
図１１に示すように、仮想テープテーブル１４４は、仮想テープＩＤ１４４１と、読出率１４４２と、サイズ１４４３とで構成されている。仮想テープＩＤ１４４１は、仮想テープＩＤ１３１と同様のものであり、仮想テープ管理装置５で扱う複数の仮想テープボリューム２１を一意に特定することが可能な識別情報である。
【００６９】
読出率１４４２は、仮想テープボリューム全体のうち、ホストに読み出される割合を示す。サイズ１４４３は仮想テープボリューム２１の全サイズである。また、本実施の形態２でも、実施の形態１と同様に、管理者は、管理端末４を用いて、これらの値を更新することができる。
【００７０】
ここで、ファイルサイズ判断部１４２による、このクラウド料金テーブル１４３と仮想テープテーブル１４４とを用いたファイルサイズの決定処理について、以下に具体的に説明する。
【００７１】
ここで、各パラメータを以下のように設定すると、上位装置３による読み出しサイズＲは、以下の数１及び数２によって表される。
仮想テープボリュームのサイズ(GB)： V
上位装置読出率(%)： r
上位装置読み出しサイズ(GB)： R
仮想テープファイルのサイズ(GB)：f(0＜ f ≦ V)
仮想テープファイル読み出し回数:x(x=0,1,2,・・・)
とすると、上位装置読み出しサイズは以下の式で表される。
【００７２】
【数１】
2019008373.tif 000003
【００７３】
【数２】
2019008373.tif 000004
【００７４】
また、クラウドストレージ２全体にかかる料金は、図１０に示したクラウド料金テーブル１４３から求められる。書き込み時にかかる料金は、書き込みリクエスト回数にかかる料金Mwcと、ストレージ容量にかかる料金Mwsとの和であり、下記の数３から求められる。
【００７５】
【数３】
2019008373.tif 000005
【００７６】
また、同様に読み出し時にかかる料金は、読み出しリクエスト回数にかかる料金Mrcと、ストレージ容量にかかる料金Mrsとの和であり、下記の数４から求められる。
【００７７】
【数４】
2019008373.tif 000006
【００７８】
従って、全体の料金M(x,f)は、下記の数５の通りとなる。
【００７９】
【数５】
2019008373.tif 000007
【００８０】
ここで、上記数５で得られる全体の料金を最小にするx,fを求める。本実施の形態２において、読み出される回数は高々1回であると仮定し、x=1に固定する。この場合、Mはfの式で表され、M(x,f)を最小値とするf（Mの極小値）は下記の数６で求められる。
【００８１】
【数６】
2019008373.tif 000008
【００８２】
上記数６で得られた値が、R(=Vr)よりも大きい場合は、上記数６の値が最小のファイルサイズになり、Rよりも小さい場合は、最小のファイルサイズfは、下記の数７及び数８から求めることができる。
【００８３】
【数７】
2019008373.tif 000009
【００８４】
【数８】
2019008373.tif 000010
【００８５】
以上から、本実施の形態２では、ファイルサイズ判断部１４２は、仮想テープテーブル１４４からホスト読出率rを読み出し、クラウド料金テーブル１４３から各種料金を読み出し、上記の数７及び数８を使用して、最適なファイルサイズfを計算する。
【００８６】
［装置動作］
次に、本実施の形態２における仮想テープ管理装置５の動作について図１２を用いて説明する。以下の説明においては、適宜図９〜図１１を参酌する。また、本実施の形態２では、仮想テープ管理装置５を動作させることによって、仮想テープ管理方法が実施される。よって、本実施の形態２における仮想テープ管理方法の説明は、以下の仮想テープ管理装置５の動作説明に代える。
【００８７】
本実施の形態２は、実施の形態１とは、仮想テープボリューム２１のマウント動作において異なっている。以下、図１２を用いて、仮想テープ管理装置５による仮想テープボリューム２１のマウント動作について説明する。図１２は、本発明の実施の形態２における仮想テープ管理装置のマウント処理時の動作を示すフロー図である。
【００８８】
図１２に示すように、最初に、ホストコマンド処理部１１が、上位装置３から、マウント命令を受け付け、これを仮想テープ管理部１２に入力する（ステップＳ１３０１）。これにより、仮想テープ管理部１２は、仮想テープボリューム２１のマウント命令を受け付ける。
【００８９】
また、ステップＳ１３０１では、仮想テープ管理部１２は、ファイルサイズ判断部１４２に、マウント対象となっている仮想テープボリューム２１の仮想テープＩＤを引数として、これらのファイルサイズを問い合わせる。
【００９０】
次に、ファイルサイズ判断部１４２は、仮想テープフボリューム毎に、仮想テープテーブル１４４とクラウド料金テーブル１４３とを用いて、仮想テーブルファイルのファイルサイズを決定する（ステップＳ１３０２）。また、ファイルサイズ判断部１４２は、決定したファイルサイズを、仮想テープ管理部１２に応答する。
【００９１】
具体的には、ファイルサイズ判断部１４２は、まず、仮想テープＩＤに基づいて、仮想テープテーブル１４４から対応する読出率及びサイズを読み出す。そして、ファイルサイズ判断部１４２は、読み出した読出率及びサイズと、クラウド料金テーブル１４３と、上述の数１〜数８とを用いて、からファイルサイズを計算し、仮想テープ管理部１２に応答する。
【００９２】
次に、仮想テープ管理部１２は、仮想テープ管理装置５において、ステップＳ１３０２で決定されたファイルサイズ分のバッファメモリ１２１を確保する（ステップＳ１３０３）。
【００９３】
そして、仮想テープ管理部１２は、マウント対象となる仮想テープボリューム２１を読み書き可能状態に遷移させる（ステップＳ１３０４）。
【００９４】
［実施の形態２における効果］
図１３は、本発明の実施の形態２における仮想テープ管理装置によるコスト削減効果を示す図である。クラウド料金テーブル１４３が、図１３に示す料金体系である場合において、サイズ1GB、読出率5%（50MB）のアーカイブ属性の仮想テープボリューム２１があるとする。この場合、上記数６によれば、ファイルサイズは下記の数９に示す通りとなる。
【００９５】
【数９】
2019008373.tif 000011
【００９６】
従って、本実施の形態２における結果と、実施の形態１にてArchive属性に設定した結果とは、図１３に示す通りとなる。図１３に示すように、実施の形態１では、14.5円となるが、本実施の形態２では4.3円となり、本実施の形態２によれば、10.2円の料金削減効果が得られることになる。以上のように、本実施の形態２によれば、クラウド料金と仮想テープサイズ、読出率を与えることで、最適な仮想テープボリューム２１のファイルサイズを得ることができ、クラウドストレージの利用料金を抑えることができる。
【００９７】
［プログラム］
本実施の形態２におけるプログラムは、コンピュータに、図１２に示すステップＳ１３０１〜Ｓ１３０４を少なくとも実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態２における仮想テープ管理装置５と仮想テープ管理方法とを実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、ホストコマンド処理部１１、仮想テープ管理部１２、及びファイルサイズ判断部１４２として機能し、処理を行なう。
【００９８】
また、本実施の形態２では、バッファメモリ１２１、クラウド料金テーブル１４３、及び仮想テープテーブル１４４は、コンピュータに備えられたハードディスク、メモリ等の記憶装置に、これらを構成するデータファイルを格納することによって、又はこのデータファイルが格納された記録媒体をコンピュータと接続された読取装置に搭載することによって実現できる。
【００９９】
また、本実施の形態２におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、ホストコマンド処理部１１、仮想テープ管理部１２、及びファイルサイズ判断部１４２のいずれかとして機能しても良い。また、バッファメモリ１２１、クラウド料金テーブル１４３、及び仮想テープテーブル１４４は、本実施の形態２におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていても良い。
【０１００】
（実施の形態３）
次に、本発明の実施の形態３における、仮想テープ管理装置、仮想テープ管理方法、及びプログラムについて、図１４及び図１５を参照しながら説明する。また、本実施の形態３における仮想テープ管理装置は、図９に示した実施の形態２における仮想テープ管理装置５と同様の構成を有している。よって、以下の説明では、適宜図９を参照する。
【０１０１】
ところで、上述した実施の形態２では、ホストによる読出率が想定どおりであれば最適なファイルサイズを導くことが可能であるが、読出率を定めることができない場合では、その効果を十分に得ることができない可能性がある。
【０１０２】
一方、アーカイブ用途で仮想テープファイルに記録されたデータの読み出しパターンは、毎回似たような傾向がある。そこで、本実施の形態では、アーカイブ用途の読み出し特性を利用する。具体的には、本実施の形態３における仮想テープ管理装置は、ホストが実際に読み出したデータサイズを元に仮想テープファイルのファイルサイズを最適化する。これにより、さらなる料金低減が可能となる。以下、実施の形態２との相違点を中心に説明する。
【０１０３】
本実施の形態３においては、仮想テープ管理部１２は、実施の形態２で述べた機能に加え、仮想テープボリューム２１を構成する仮想テープファイルを分割する機能と、仮想テープファイルを統合する機能とを有する。仮想テープ管理部１２は、ホストコマンド処理部１１が上位装置３から位置づけ命令を受け付けると、これらの機能を用いて、構成ファイルの分割及び統合を実行する。
【０１０４】
図１４は、本発明の実施の形態３における仮想テープ管理装置の機能を説明する図である。具体的には、図１４に示すように、仮想テープ管理部１２は、本実施の形態２では、ホストである上位装置３から位置づけが指示されると、まず、仮想テープファイルを構成するブロック中の現在のブロックの位置がいずれかの仮想テープファイルの途中であるかどうかを判定する。そして、仮想テープ管理部１２は、途中である場合に、途中であると判定された仮想テープファイルを構成するブロックを、上位装置３に送信済のブロックと、上位装置３に未送信のブロックとに分ける。更に、仮想テープ管理部１２は、上位装置３に送信済のブロックを、全てのブロックが上位装置３に送信済となっている別の仮想テープファイルに結合する。また、仮想テープ管理部１２は、上位装置３に未送信のブロックのみで新たな仮想テープファイルを生成する。
【０１０５】
ここで、本実施の形態３における仮想テープ管理装置の動作について図１５を用いて説明する。図１５は、本発明の実施の形態３における仮想テープ管理装置の位置づけ処理時の動作を示すフロー図である。本実施の形態３では、仮想テープ管理装置を動作させることによって、仮想テープ管理方法が実施される。よって、本実施の形態３における仮想テープ管理方法の説明は、以下の仮想テープ管理装置の動作説明に代える。なお、本実施の形態３において、データの書き込み動作、データの読み出し動作、マウント動作、デマウント動作は、実施の形態２と同様であるため、説明は省略する。また、以下に記述するブロック#xは図１５に図示したものである。
【０１０６】
図１５に示すように、最初に、ホストコマンド処理部１１が、上位装置３から、仮想テープボリューム２１に対する位置づけ命令を受け付け、これを仮想テープ管理部１２に入力する（ステップＳ１７００）。
【０１０７】
次に、仮想テープ管理部１２は、仮想テープボリューム２１の現在のブロック位置情報から、現在のブロックの位置が仮想テープファイルの途中かどうかを判定する（ステップＳ１７０１）。
【０１０８】
ステップＳ１７０１の判定の結果、途中でない場合は、仮想テープ管理部１２は、ステップＳ１７０３を実行する。一方、ステップＳ１７０１の判定の結果、図１４の例のように途中である場合（現在のブロック位置がブロック#8である場合）は、仮想テープ管理部１２は、上位装置３に送信していないブロック#8〜#10のみで構成される仮想テープファイル#2（１６０３）を、仮想テープファイル#2（１６０１）から新たに作成する（ステップＳ１７０２）。
【０１０９】
次に、ステップＳ１７０３において、仮想テープ管理部１２は、上位装置３へ送信済みのブロック#1〜#7のみで構成される、新たな仮想テープファイル#1（１６０２）を、元の仮想テープファイル#1（１６００）及び元の仮想テープファイル#2（１６０１）から作成する（ステップＳ１７０３）。
【０１１０】
次に、仮想テープ管理部１２は、仮想テープファイル#1（１６０２）及び仮想テープファイル#2（１６０３）を仮想テープボリューム２１の構成ファイルとしてクラウドストレージ２へ書き込む（ステップＳ１７０４）。
【０１１１】
次に、仮想テープ管理部１２は、以前の構成ファイルであった元の仮想テープファイル#1（１６００）と元の仮想テープファイル#2（１６０１）とをクラウドストレージ２から削除する（ステップＳ１７０５）。
【０１１２】
最後に、仮想テープ管理部１２は、上位装置３から指示されたブロックへ位置づけを行い（ステップＳ１７０６）、処理を終了する。
【０１１３】
［実施の形態３における効果］
以上により、本実施の形態３では、実際に読み出したデータ量に合わせて、仮想テープボリューム２１を構成するファイルサイズが変更される。このため、次に同じパターンの読み出しが行われた際に、仮想テープボリューム２１から最適なファイルサイズでデータが得られるようになるため、クラウドストレージ２の利用料金が抑制されることとなる。
【０１１４】
［プログラム］
本実施の形態３におけるプログラムは、コンピュータに、図１５に示すステップＳ１７００〜Ｓ１７０６を少なくとも実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態３における仮想テープ管理装置と仮想テープ管理方法とを実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、ホストコマンド処理部、仮想テープ管理部、及びファイルサイズ判断部として機能し、処理を行なう。
【０１１５】
また、本実施の形態３では、バッファメモリ、クラウド料金テーブル、及び仮想テープテーブルは、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって、又はこのデータファイルが格納された記録媒体をコンピュータと接続された読取装置に搭載することによって実現できる。
【０１１６】
また、本実施の形態３におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、ホストコマンド処理部、仮想テープ管理部、及びファイルサイズ判断部のいずれかとして機能しても良い。また、バッファメモリ、クラウド料金テーブル、及び仮想テープテーブルは、本実施の形態３におけるプログラムを実行するコンピュータとは別のコンピュータ上に構築されていても良い。
【０１１７】
（物理構成）
ここで、実施の形態１〜３におけるプログラムを実行することによって、仮想テープ管理装置を実現するコンピュータについて図を用いて説明する。図１６は、本発明の実施の形態１〜３における仮想テープ管理装置を実現するコンピュータの一例を示すブロック図である。
【０１１８】
図１６に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１０９を介して、互いにデータ通信可能に接続される。
【０１１９】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【０１２０】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【０１２１】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【０１２２】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体が挙げられる。
【０１２３】
なお、本実施の形態１〜３における仮想テープ管理装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、仮想テープ管理装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【０１２４】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１２）によって表現することができるが、以下の記載に限定されるものではない。
【０１２５】
（付記１）
複数の仮想テープファイルで構築された仮想テープボリュームをクラウドストレージ上で管理するための装置であって、
設定ルールに沿って、前記仮想テープボリュームを前記クラウドストレージに格納する際の前記仮想テープファイルのサイズを決定する、ファイルサイズ判断部と、
決定された前記サイズでバッファメモリを確保し、確保した前記バッファメモリに、前記仮想テープボリュームのデータを書き込み、そして、書き込んだデータのデータ量が前記バッファメモリのサイズに到達した場合に、前記バッファメモリに格納されている前記データを前記クラウドストレージに格納する、仮想テープ管理部と、
を備えている、ことを特徴とする仮想テープ管理装置。
【０１２６】
（付記２）
前記ファイルサイズ判断部が、
前記仮想テープボリュームの属性を特定し、特定した属性に応じて設定されたルールに沿って、前記仮想テープファイルのサイズを決定する、
付記１に記載の仮想テープ管理装置。
【０１２７】
（付記３）
前記ファイルサイズ判断部が、
前記クラウドストレージに設定されている処理毎の料金と、前記複数の仮想テープファイルそれぞれの使用状況及びそのサイズとに基づくルールに沿って、前記仮想テープボリュームを前記クラウドストレージに格納する際の前記仮想テープファイルのサイズを決定する、
付記１に記載の仮想テープ管理装置。
【０１２８】
（付記４）
前記仮想テープ管理部が、
ホストから位置づけが指示された場合に、
現在のブロックの位置がいずれかの前記仮想テープファイルの途中であるかどうかを判定し、途中である場合に、途中であると判定された前記仮想テープファイルを構成するブロックを、前記ホストに送信済のブロックと、前記ホストに未送信のブロックとに分け、更に、
前記ホストに送信済のブロックを、全てのブロックが前記ホストに送信済となっている別の前記仮想テープファイルに結合し、
前記ホストに未送信のブロックのみで新たな前記仮想テープファイルを生成する、
付記１から３のいずれかに記載の仮想テープ管理装置。
【０１２９】
（付記５）
複数の仮想テープファイルで構築された仮想テープボリュームをクラウドストレージ上で管理するための方法であって、
（ａ）設定ルールに沿って、前記仮想テープボリュームを前記クラウドストレージに格納する際の前記仮想テープファイルのサイズを決定する、ステップと、
（ｂ）決定された前記サイズでバッファメモリを確保し、確保した前記バッファメモリに、前記仮想テープボリュームのデータを書き込み、そして、書き込んだデータのデータ量が前記バッファメモリのサイズに到達した場合に、前記バッファメモリに格納されている前記データを前記クラウドストレージに格納する、ステップと、
を有する、ことを特徴とする仮想テープ管理方法。
【０１３０】
（付記６）
前記（ｂ）のステップにおいて、
前記仮想テープボリュームの属性を特定し、特定した属性に応じて設定されたルールに沿って、前記仮想テープファイルのサイズを決定する、
付記５に記載の仮想テープ管理方法。
【０１３１】
（付記７）
前記（ｂ）のステップにおいて、
前記クラウドストレージに設定されている処理毎の料金と、前記複数の仮想テープファイルそれぞれの使用状況及びそのサイズとに基づくルールに沿って、前記仮想テープボリュームを前記クラウドストレージに格納する際の前記仮想テープファイルのサイズを決定する、
付記５に記載の仮想テープ管理方法。
【０１３２】
（付記８）
（ｃ）ホストから位置づけが指示された場合に、
現在のブロックの位置がいずれかの前記仮想テープファイルの途中であるかどうかを判定し、途中である場合に、途中であると判定された前記仮想テープファイルを構成するブロックを、前記ホストに送信済のブロックと、前記ホストに未送信のブロックとに分け、更に、
前記ホストに送信済のブロックを、全てのブロックが前記ホストに送信済となっている別の前記仮想テープファイルに結合し、
前記ホストに未送信のブロックのみで新たな前記仮想テープファイルを生成する、ステップを、更に有する、
付記５から７のいずれかに記載の仮想テープ管理方法。
【０１３３】
（付記９）
コンピュータによって、複数の仮想テープファイルで構築された仮想テープボリュームをクラウドストレージ上で管理するためのプログラムであって、
前記コンピュータに、
（ａ）設定ルールに沿って、前記仮想テープボリュームを前記クラウドストレージに格納する際の前記仮想テープファイルのサイズを決定する、ステップと、
（ｂ）決定された前記サイズでバッファメモリを確保し、確保した前記バッファメモリに、前記仮想テープボリュームのデータを書き込み、そして、書き込んだデータのデータ量が前記バッファメモリのサイズに到達した場合に、前記バッファメモリに格納されている前記データを前記クラウドストレージに格納する、ステップと、
を実行させるプログラム。
【０１３４】
（付記１０）
前記（ｂ）のステップにおいて、
前記仮想テープボリュームの属性を特定し、特定した属性に応じて設定されたルールに沿って、前記仮想テープファイルのサイズを決定する、
付記９に記載のプログラム。
【０１３５】
（付記１１）
前記（ｂ）のステップにおいて、
前記クラウドストレージに設定されている処理毎の料金と、前記複数の仮想テープファイルそれぞれの使用状況及びそのサイズとに基づくルールに沿って、前記仮想テープボリュームを前記クラウドストレージに格納する際の前記仮想テープファイルのサイズを決定する、
付記９に記載のプログラム。
【０１３６】
（付記１２）
前記コンピュータに、
（ｃ）ホストから位置づけが指示された場合に、
現在のブロックの位置がいずれかの前記仮想テープファイルの途中であるかどうかを判定し、途中である場合に、途中であると判定された前記仮想テープファイルを構成するブロックを、前記ホストに送信済のブロックと、前記ホストに未送信のブロックとに分け、更に、
前記ホストに送信済のブロックを、全てのブロックが前記ホストに送信済となっている別の前記仮想テープファイルに結合し、
前記ホストに未送信のブロックのみで新たな前記仮想テープファイルを生成する、ステップを、更に実行させる、
付記９から１１のいずれかに記載のプログラム。
【産業上の利用可能性】
【０１３７】
以上のように、本発明によれば、クラウドコンピューティングで提供されるストレージ上に仮想テープファイルを格納する際における料金の最適化を図ることができる。本発明は、仮想テープライブラリを提供するシステムに有用である。
【符号の説明】
【０１３８】
１  仮想テープ管理装置（実施の形態１）
２  クラウドストレージ
３  上位装置
４  端末装置
５  仮想テープ管理装置（実施の形態２）
１１  ホストコマンド処理部
１２  仮想テープ管理部
１３  仮想テープ属性テーブル
１４  ファイルサイズ判断部
１０９  バス
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１４１  ファイルサイズテーブル
１４２  ファイルサイズ判断部
１４３  クラウド料金テーブル
１４４  仮想テープテーブル
【図１】
2019008373.tif 000012
【図２】
2019008373.tif 000013
【図３】
2019008373.tif 000014
【図４】
2019008373.tif 000015
【図５】
2019008373.tif 000016
【図６】
2019008373.tif 000017
【図７】
2019008373.tif 000018
【図８】
2019008373.tif 000019
【図９】
2019008373.tif 000020
【図１０】
2019008373.tif 000021
【図１１】
2019008373.tif 000022
【図１２】
2019008373.tif 000023
【図１３】
2019008373.tif 000024
【図１４】
2019008373.tif 000025
【図１５】
2019008373.tif 000026
【図１６】
2019008373.tif 000027
【図１７】
2019008373.tif 000028
【図１８】
2019008373.tif 000029