JP2010198383A - ストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラム - Google Patents

ストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラム Download PDF

Info

Publication number
JP2010198383A
JP2010198383A JP2009043171A JP2009043171A JP2010198383A JP 2010198383 A JP2010198383 A JP 2010198383A JP 2009043171 A JP2009043171 A JP 2009043171A JP 2009043171 A JP2009043171 A JP 2009043171A JP 2010198383 A JP2010198383 A JP 2010198383A
Authority
JP
Japan
Prior art keywords
software
content
version
meta information
service
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.)
Pending
Application number
JP2009043171A
Other languages
English (en)
Inventor
Hiroyuki Miura
宏之 三浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009043171A priority Critical patent/JP2010198383A/ja
Priority to US12/709,611 priority patent/US20100218177A1/en
Publication of JP2010198383A publication Critical patent/JP2010198383A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】短い運用停止時間でコンテンツ管理ソフトウェアをバージョンアップすることができるストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラムを提供すること。
【解決手段】コンテンツ管理ソフトウェアがバージョンアップされる場合に、構成定義テーブルを更新せず、現にインストールされているコンテンツ管理ソフトウェアを残したままにして、新バージョンのコンテンツ管理ソフトウェアをインストールし、既存のコンテンツが新バージョンによって管理されるように、運用中に徐々に構成定義テーブルを更新する。
【選択図】図1

Description

本発明は、ストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラムに関する。
近年、改変しないデータ(「フィックスコンテンツ」と呼ばれる)を長期的に保存することに適したオブジェクトアクセス型ストレージ(以下、「CAS:Content Aware Storage」という)と呼ばれるストレージ装置がある。CASは、SAN(Storage Area Network)や、NAS(Network Attached Storage)と異なるアクセス方式を採用する。
図11を用いて具体的に説明する。図11は、CASのアクセス方式を説明するための図である。図11に示すように、SANは、ブロックアクセス型のアクセス方式によりデータアクセスを行い、NASは、ファイルアクセス型のアクセス方式によりデータアクセスを行う。一方、CASは、コンテンツオブジェクトアクセス型のアクセス方式を採用しており、コンテンツと呼ばれる単位でデータアクセスを行う。
コンテンツとは、データ(例えば、画像データ等)と、かかるデータの属性(例えば、サイズや更新日時等)とをパッケージ化した情報である。CASは、各コンテンツにID(以下、「コンテンツID」という)を付与して、コンテンツIDを用いて各コンテンツにアクセスを行う。
ここで、従来のCASの構成について説明する。図12は、従来のCASの構成を示す図である。図12に示すように、従来のCAS900は、記憶装置910と、コンテンツ管理ソフトウェア920とを有する。記憶装置910は、コンテンツを記憶する装置であり、図12に示した例では、磁気ディスク911と、磁気テープ912aおよび912bとを有する。
コンテンツ管理ソフトウェア920は、記憶装置910へのアクセス制御を行い、構成定義記憶部930と、コンテンツ管理サービス940とを有する。構成定義記憶部930は、コンテンツの構成に関する各種情報を記憶する記憶デバイスであり、コンテンツ管理テーブル931と、業務ポリシーテーブル932と、ID用シリアルナンバ933とを有する。コンテンツ管理テーブル931は、コンテンツIDに対応付けて、コンテンツの業務ポリシーを特定するための業務ポリシーIDや、格納位置、格納日時、所有者名等を記憶する。なお、ここで言う「業務ポリシー」とは、コンテンツの管理条件などを示し、例えば、コンテンツを二重化して記憶装置910に記憶させるか否かといった情報である。業務ポリシーテーブル932は、業務ポリシーIDに対応付けて、業務ポリシーを記憶する。ID用シリアルナンバ933は、新たなコンテンツにコンテンツIDを割り振る番号を記憶する。
コンテンツ管理サービス940は、上位装置である業務サーバ10内のAPI(Application Program Interface)11から、リード要求やライト要求を受け付けた場合に、記憶装置910に対するアクセス制御を行う。例えば、コンテンツ管理サービス940は、リード要求を受け付けた場合、リード要求に含まれるコンテンツIDと、構成定義記憶部930に記憶されている各種情報を用いて、記憶装置910からコンテンツを取得し、取得したコンテンツを業務サーバ10へ送信する。
このように、従来のCASは、コンテンツIDを用いてコンテンツを管理する。このため、CASは、プラットフォームへの依存性を小さくしており、コンテンツを長期的に保存することに適している。
特開2004−199247号公報 特開2005−222392号公報
ところで、CASは、長期的に用いられるストレージ装置であるため、運用後に、新しい規格のディスク媒体を追加するといった機能追加が行われる場合がある。このような機能追加が発生した場合、新機能に対応するためにコンテンツ管理ソフトウェアをバージョンアップすることが多い。
しかしながら、上述した従来のCASには、コンテンツ管理ソフトウェアをバージョンアップする場合に、業務サーバやCASを長時間停止させる場合があるという問題があった。かかる問題点を明確にするために、図12に示したCAS900を例に挙げて、コンテンツ管理ソフトウェア920をバージョンアップする手順について説明する。
コンテンツ管理ソフトウェア920をバージョンアップする場合、まず、業務サーバ10の運用を停止する。続いて、CAS900のコンテンツ管理サービス940を停止する。続いて、現にインストールされているコンテンツ管理ソフトウェア920をアンインストールした後に、新バージョンのコンテンツ管理ソフトウェアをインストールする。続いて、コンテンツ管理テーブル931と業務ポリシーテーブル932とを、新バージョンのコンテンツ管理ソフトウェアに対応する形式に更新する。そして、コンテンツ管理サービスを起動した後に、業務サーバ10の運用を再開する。これにより、CAS900は、業務サーバ10に対して、新バージョンのコンテンツ管理ソフトウェアを用いたサービスを提供することが可能になる。
このように、コンテンツ管理ソフトウェアをバージョンアップする場合に、CAS900を用いた運用が停止してしまっていた。また、上述したバージョンアップ作業において、コンテンツ管理テーブル931等を更新する処理は、長時間要することが多かった。これは、近年のストレージ装置は大容量化しており多数のコンテンツを記憶するため、コンテンツ管理テーブル931のサイズも大きくなっているからである。このため、コンテンツ管理ソフトウェアをバージョンアップする場合、運用停止時間が長くなっていた。
開示の技術は、上述した従来技術による問題点を解消するためになされたものであり、短い運用停止時間でコンテンツ管理ソフトウェアをバージョンアップすることができるストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本願に開示するストレージ装置は、記憶装置へのアクセス制御を行うソフトウェアのバージョン毎に、前記記憶装置に記憶されているデータに関する属性情報を異なるメタ情報テーブルに保持し、前記ソフトウェアをバージョン毎に保持するソフトウェア保持部と、既にインストールされているソフトウェアである現ソフトウェアと異なるバージョンのソフトウェアである他のソフトウェアをインストールする旨の操作を受け付けた場合に、前記現ソフトウェアを残したままにして、前記他のソフトウェアをインストールするための処理を実行するソフトウェア更新手段と、前記ソフトウェア更新手段によって前記他のソフトウェアがインストールされた場合に、当該のストレージ装置の運用中に、前記現ソフトウェアのバージョンに対応するメタ情報テーブルを、前記他のソフトウェアのバージョンに対応するメタ情報テーブルの形式に更新するテーブル更新手段とを備えたことを要件とする。
なお、本願に開示するストレージ装置の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも、他の態様として有効である。
本願に開示したストレージ装置によれば、短い運用停止時間でコンテンツ管理ソフトウェアをバージョンアップすることができるという効果を奏する。
図1は、実施例に係るストレージ装置の構成を示す図である。 図2は、サービスバージョン対応テーブルの一例を示す図である。 図3は、IDテーブルの一例を示す図である。 図4は、業務ポリシーテーブルの一例を示す図である。 図5−1は、コンテンツメタ情報テーブルの一例を示す図である。 図5−2は、コンテンツメタ情報テーブルの一例を示す図である。 図6は、コンテンツメタ情報テーブルの一例を示す図である。 図7は、コンテンツメタ情報テーブルの一例を示す図である。 図8は、実施例に係るストレージ装置によるコンテンツ管理ソフトウェアのメンテナンス手順を示すフローチャートである。 図9は、実施例に係るストレージ装置によるリード処理手順を示すフローチャートである。 図10は、実施例に係るストレージ装置によるライト処理手順を示すフローチャートである。 図11は、CASのアクセス方式を説明するための図である。 図12は、従来のCASの構成を示す図である。
以下に、本願に開示するストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により本願に開示するストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラムが限定されるものではない。なお、以下の実施例では、ストレージ装置としてCASを例に挙げて説明するが、本願に開示するストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラムは、コンテンツ管理ソフトウェアを用いてコンテンツを管理する他のストレージ装置にも適用することができる。
まず、本実施例に係るストレージ装置100について説明する。本実施例に係るストレージ装置100は、CASであるものとする。ストレージ装置100は、複数のバージョンのコンテンツ管理ソフトウェアを保持することが可能である。そして、ストレージ装置100は、複数のバージョンのコンテンツ管理ソフトウェアによって実現されるサービスを提供する。なお、ここで言う「コンテンツ管理ソフトウェアによって実現されるサービス」とは、例えば、業務サーバから受け付けたリード要求やライト要求に応答して、リード処理やライト処理を行い、処理結果を業務サーバへ送信することを示す。
すなわち、ストレージ装置100は、例えば、バージョンV11のコンテンツ管理ソフトウェアによって実現されるサービスを提供したり、バージョンV12のコンテンツ管理ソフトウェアによって実現されるサービスを提供したりすることができる。以下では、「コンテンツ管理ソフトウェアによって実現されるサービス」を単に「サービス」と呼ぶことがある。また、以下では、バージョンNのコンテンツ管理ソフトウェアによって実現されるサービスを単に「バージョンNのサービス」と呼ぶことがある。
また、ストレージ装置100は、コンテンツに関する各種情報を記憶する構成定義テーブルを保持する。構成定義テーブルは、コンテンツの属性や、コンテンツが管理されているコンテンツ管理ソフトウェアのバージョン等を記憶する。
そして、本実施例におけるストレージ装置100は、構成定義テーブルを複数のテーブルに分けて保持する。具体的には、ストレージ装置100は、構成定義テーブルを、バージョンアップによって更新を要するテーブルと、バージョンアップによって更新を要しないテーブルとに分けて保持する。このように構成定義テーブルを分けて保持する理由は、1個の構成定義テーブルのサイズを小さくすることにより、後述する構成定義テーブル更新処理を短い時間で終了させるためである。
また、ストレージ装置100は、バージョンアップによって更新を要するテーブルを、少なくともバージョン毎に分けて保持する。このようにテーブルを分けて保持する理由は、上述した理由と同様に構成定義テーブル更新処理に係る時間を短くするためである。また、他の理由として、コンテンツ管理ソフトウェアのバージョンによって、扱う項目が異なる場合があるからである。例えば、バージョンV11のコンテンツ管理ソフトウェアでは扱わなかった項目であっても、新しいバージョンV12では、機能追加に伴って新しい項目を扱う場合がある。すなわち、ストレージ装置100は、例えば、バージョンV11とV12のコンテンツ管理ソフトウェアを保持している場合、構成定義テーブルを、バージョンV11に対応する構成定義テーブルと、バージョンV12に対応する構成定義テーブルとに分けて保持する。
このような構成の下、ストレージ装置100は、コンテンツ管理ソフトウェアをバージョンアップする旨の操作を受け付けた場合に、現にインストールされているコンテンツ管理ソフトウェアを残したままにして、新しいバージョンのコンテンツ管理ソフトウェアを所定の記憶部に記憶させる。
このとき、ストレージ装置100は、旧バージョンのコンテンツ管理ソフトウェアに対応する構成定義テーブルを更新しない。本来、新バージョンのコンテンツ管理ソフトウェアがインストールされた場合、既存のコンテンツを最新バージョンのコンテンツ管理ソフトウェアによって管理させるために、構成定義テーブルを更新する。しかし、本実施例におけるストレージ装置100は、コンテンツ管理ソフトウェアがインストールされたタイミングでは構成定義テーブルを更新せずに、運用中に、構成定義テーブル更新処理を行う。
具体的には、ストレージ装置100は、運用中に、業務サーバからリード要求を受け付けた場合に、リード対象のコンテンツが管理されているコンテンツ管理ソフトウェアのバージョンを特定する。そして、ストレージ装置100は、特定したバージョンのサービスによってコンテンツを読み出し、読み出したコンテンツを業務サーバへ送信する。
このとき、ストレージ装置100は、読み出したコンテンツが最新バージョン以外の旧バージョンのコンテンツ管理ソフトウェアによって管理されている場合に、かかるコンテンツに関する情報を記憶する構成定義テーブルを、最新バージョンに対応する構成定義テーブルに更新する。上述したように、ストレージ装置100は、構成定義テーブルを細分化して保持しているので、かかる構成定義テーブルの更新処理を短時間で終了させることができる。
また、ストレージ装置100は、業務サーバからコンテンツを書き込むライト要求を受け付けた場合に、最新バージョンのサービスによってライト処理を行う。具体的には、ストレージ装置100は、最新バージョンのコンテンツ管理ソフトウェアに対応する構成定義テーブルに、受け付けたコンテンツに関する各種情報を記憶させる。そして、ストレージ装置100は、受け付けたコンテンツを記憶装置に記憶させる。
このように、本実施例に係るストレージ装置100は、コンテンツ管理ソフトウェアがバージョンアップされる場合に、現にインストールされているコンテンツ管理ソフトウェアを残したままにして、複数のバージョンのコンテンツ管理ソフトウェアを保持する。また、本実施例に係るストレージ装置100は、コンテンツ管理ソフトウェアがインストールされる場合に、構成定義テーブルを更新する処理を行わない。これにより、本実施例に係るストレージ装置100は、コンテンツ管理ソフトウェアのバージョンアップにかかる時間を短くすることができる。
また、本実施例に係るストレージ装置100は、旧バージョンのコンテンツ管理ソフトウェアによって管理されているコンテンツに対するリード要求を受け付けた場合に、かかるコンテンツに関する各種情報が記憶されている構成定義テーブルを、最新バージョンに対応する構成定義テーブルに更新する。これにより、ストレージ装置100は、既存のコンテンツを、徐々に最新バージョンのコンテンツ管理ソフトウェアによって管理させることができる。
また、本実施例に係るストレージ装置100は、構成定義テーブルを、バージョンアップによって更新を要するテーブルと、バージョンアップによって更新を要しないテーブルとに分け、さらに、各テーブルをバージョン毎に分けて保持する。これにより、ストレージ装置100は、前述した構成定義テーブルの更新処理を短時間で終了させることができる。その結果、ストレージ装置100は、運用中に構成定義テーブルの更新処理を行う場合であっても、かかる更新処理に用いられるCPUやメモリの資源を低減することができる。
また、本実施例に係るストレージ装置100は、ライト要求を受け付けた場合、最新バージョンのサービスによってライト処理を行う。これにより、ストレージ装置100は、新規コンテンツを最新バージョンのコンテンツ管理ソフトウェアによって管理させることができる。
以上のように、本実施例に係るストレージ装置100は、短い運用停止時間でコンテンツ管理ソフトウェアをバージョンアップすることができるとともに、保持するコンテンツを徐々に最新バージョンのコンテンツ管理ソフトウェアに対応させることができる。その結果、ストレージ装置100は、コンテンツ管理ソフトウェアのバージョンアップ時における運用への影響を低減することができる。
次に、本実施例に係るストレージ装置100の構成について説明する。図1は、本実施例に係るストレージ装置100の構成を示す図である。図1に示すように、ストレージ装置100は、記憶装置910と、コンテンツ管理ソフトウェア120とを有する。記憶装置910は、図12に示した記憶装置910と同様である。
コンテンツ管理ソフトウェア120は、記憶装置910へのアクセスに関するサービスを提供する。具体的には、コンテンツ管理ソフトウェア120は、バージョンの異なるサービスを提供することができ、プロキシサービス121と、構成定義記憶部130と、コンテンツ管理サービス140とを有する。
プロキシサービス121は、上位装置である業務サーバ10内のAPI11から、データのリード要求やライト要求を受け付けた場合に、かかる要求を所定のバッファに格納して、バッファに格納した要求をコンテンツ管理サービス140へ送信する。
具体的には、プロキシサービス121は、コンテンツ管理サービス140が起動中である場合、バッファに格納した要求をコンテンツ管理サービス140へ送信する。一方、プロキシサービス121は、コンテンツ管理サービス140が停止中である場合、バッファに格納した要求をコンテンツ管理サービス140へ送信しない。そして、プロキシサービス121は、コンテンツ管理サービス140が起動した後に、バッファから要求をキューイングしてコンテンツ管理サービス140へ送信する。
構成定義記憶部130は、コンテンツの構成に関する各種情報を記憶する記憶デバイスである。構成定義記憶部130が有する各テーブルは、サービスバージョン対応テーブル130aと、コアテーブル群131と、コンテンツメタ情報テーブル群132とに分けられる。
サービスバージョン対応テーブル130aは、ストレージ装置100が提供可能なサービスと、かかるサービスのバージョンとを対応付けて記憶する。サービスバージョン対応テーブル130aの一例を図2に示す。図2に示すように、サービスバージョン対応テーブル130aは、サービスID、バージョンといった項目を有する。「サービスID」は、サービスを識別するための識別情報を示す。「バージョン」は、対応するサービスIDによって示されるサービスのバージョンを示す。
すなわち、図2に示したサービスバージョン対応テーブル130aの1行目は、サービスID「001」によって示されるサービスのバージョンが「3.00」であることを示している。また、図2に示したサービスバージョン対応テーブル130aの2行目は、サービスID「002」によって示されるサービスのバージョンが「2.20」であることを示している。なお、図2では、上の行に示したサービスほど、新しいバージョンであることを示している。すなわち、図2の例では、ストレージ装置100が提供可能なサービスのうち、最新バージョンのサービスが「3.00」であることを示している。
なお、以下の説明において、最新のバージョンは「3.00」であり、最新のバージョンより1世代前のバージョンは「2.20」であり、最新のバージョンより2世代前のバージョンは「2.10」であるものとする。
コアテーブル群131は、コンテンツ管理ソフトウェアがバージョンアップされる場合に更新を要しないテーブル群である。図1に示した例では、コアテーブル群131は、IDテーブル131aと、業務ポリシーテーブル131bとを含む。
IDテーブル131aは、コンテンツをコンテンツIDによって管理するための情報を記憶する。IDテーブル131aの一例を図3に示す。図3に示すように、IDテーブル131aは、コンテンツID、業務ポリシーID、格納位置といった項目を有する。
「コンテンツID」は、コンテンツを識別するための識別情報を示す。「業務ポリシーID」は、対応するコンテンツIDによって示されるコンテンツの業務ポリシーを識別するための識別情報を示す。「格納位置」は、対応するコンテンツIDによって示されるコンテンツが格納されている位置(デバイス名やパス名等)を示す。
すなわち、図3に示したIDテーブル131aの1行目は、コンテンツID「A20081201111111G01」によって示されるコンテンツの業務ポリシーIDが「G01」であり、かかるコンテンツが「/AAA/aaa」に格納されていることを示している。また、図3に示したIDテーブル131aの4行目は、コンテンツID「B20081204444444G03」によって示されるコンテンツの業務ポリシーIDが「G03」であり、かかるコンテンツが「/BBB/bbb」に格納されていることを示している。
なお、コンテンツIDは、少なくとも「業務サーバ識別子」と、「コンテンツ格納日付」と、「業務ポリシーID」とに関する情報を含むように命名されることが好ましい。業務サーバ識別子とは、コンテンツを格納するように要求した業務サーバを識別するための識別情報である。また、コンテンツ格納日付とは、コンテンツが記憶装置910に格納された日時(年月日時分秒)である。例えば、図3の1行目に示したコンテンツID「A20081201111111G01」は、業務サーバ識別子「A」と、コンテンツ格納日「20081201111111」と、業務ポリシーID「G01」との組合せによって命名されている。コンテンツIDがこのように命名される理由については、後に説明する。
業務ポリシーテーブル131bは、業務ポリシーID毎に、コンテンツの業務ポリシー(管理条件)に関する各種情報を記憶する。業務ポリシーテーブル131bの一例を図4に示す。図4に示すように、業務ポリシーテーブル131bは、業務ポリシーID、削除不可期間、コピーフラグ、コピータイミング、管理者アドレス、通知イベントといった項目を有する。
「業務ポリシーID」は、図3に示した業務ポリシーIDに対応し、業務ポリシーを識別するための識別情報を示す。「削除不可期間」は、コンテンツを記憶装置910に保持する期間を示す。なお、図4に示した例では、削除不可期間の単位は日数であるものとする。「コピーフラグ」は、コンテンツを二重化して格納するか否かを示す。なお、図4において、コピーフラグが「0」である場合、コンテンツを二重化して格納しないことを示し、コピーフラグが「1」である場合、コンテンツを二重化して格納することを示すものとする。
「コピータイミング」は、コンテンツを格納するタイミングと同期して二重化するか否かを示す。なお、図4において、コピータイミングが「0」である場合、コンテンツを格納するタイミングと非同期に二重化することを示し、コピータイミングが「1」である場合、コンテンツを格納するタイミングと同期して二重化することを示すものとする。
「管理者アドレス」は、コンテンツの管理者への連絡先を示し、例えば、メールアドレスである。なお、ここで言う「コンテンツの管理者」とは、例えば、コンテンツを格納することを要求した業務サーバの管理者である。「通知イベント」は、ストレージ装置100において各種イベント(コンテンツの格納エラーや、システム停止予告など)が発生した場合に、コンテンツの管理者に対してイベント内容を通知するか否かを示す。なお、図4において、通知イベントが「0」である場合、管理者に対してイベント内容を通知しないことを示し、通知イベントが「1」である場合、管理者に対してイベント内容を通知することを示すものとする。
すなわち、図4に示した業務ポリシーテーブル131bの1行目は、業務ポリシーID「G01」によって示される業務ポリシーでは、コンテンツを保持する期間が「4000日」であることを示している。さらに、図4に示した業務ポリシーテーブル131bの1行目は、コンテンツを格納するタイミングと同期して二重化処理を行い、ストレージ装置100において各種イベントが発生した場合には、管理者に対してイベント内容を通知することを示している。
コンテンツメタ情報テーブル群132は、コンテンツ管理ソフトウェアがバージョンアップされる場合に更新を要するテーブル群である。図1に示した例では、コンテンツメタ情報テーブル群132は、コンテンツメタ情報テーブル132−0、132−1、・・・、132−nを含む。
コンテンツメタ情報テーブル132−0、132−1、・・・、132−nは、少なくともバージョン毎に異なるテーブルに分別され、コンテンツに関するメタ情報(ユーザ情報などの属性)を記憶する。図1に示した例では、コンテンツメタ情報テーブル132−0は、ストレージ装置100にインストールされているコンテンツ管理ソフトウェアの最新バージョン(本実施例では、バージョン「3.00」)に対応するテーブルであるものとする。また、コンテンツメタ情報テーブル132−1は、ストレージ装置100にインストールされているコンテンツ管理ソフトウェアのうち、最新バージョンより1世代前のバージョン(本実施例では、バージョン「2.20」)に対応するテーブルであるものとする。また、コンテンツメタ情報テーブル132−nは、ストレージ装置100にインストールされているコンテンツ管理ソフトウェアのうち、最新バージョンよりn世代前のバージョンに対応するテーブルであるものとする。
また、それぞれのコンテンツメタ情報テーブル132−0、132−1、・・・、132−nは、所定の単位にさらに分別される。例えば、コンテンツメタ情報テーブル132−0、132−1、・・・、132−nは、コンテンツを格納した年月毎に分別されたり、コンテンツを格納した業務サーバ毎に分別されたり、コンテンツの業務ポリシー毎に分別されたりする。また、例えば、コンテンツメタ情報テーブル132−0、132−1、・・・、132−nは、前述したコンテンツ格納年月と、業務サーバと、業務ポリシーとの組合せ毎に分別されたりする。なお、以下の説明では、ストレージ装置100は、コンテンツメタ情報テーブル132−0等を、コンテンツを格納した年月毎に分別して保持するものとする。
図5−1、図5−2、図6および図7を用いて、コンテンツメタ情報テーブル132−0、132−1、・・・、132−nについて具体的に説明する。図5−1および図5−2は、コンテンツメタ情報テーブル132−0の一例を示す図である。すなわち、図5−1および図5−2は、ストレージ装置100にインストールされているコンテンツ管理ソフトウェアの最新バージョン(本実施例では、バージョン「3.00」)に対応するコンテンツメタ情報テーブルである。図5−1と図5−2との違いは、コンテンツ格納日である。具体的には、図5−1に示したコンテンツメタ情報テーブル132−0は、2008年12月に格納されたコンテンツに関するメタ情報を記憶し、図5−2に示したコンテンツメタ情報テーブル132−0は、2008年11月に格納されたコンテンツに関するメタ情報を記憶する。
図5−1および図5−2に示すように、コンテンツメタ情報テーブル132−0は、コンテンツID、バージョン、格納日時、業務サーバ名、所有者名、分類、ハッシュ値といった項目を有する。「コンテンツID」は、図3に示したコンテンツIDに対応する。「バージョン」は、図2に示したバージョンに対応する。「格納日時」は、対応するコンテンツIDによって示されるコンテンツが記憶装置910に格納された日時(年月日時分秒)を示す。
「業務サーバ名」は、コンテンツを格納するように要求した業務サーバの名称を示す。「所有者名」は、コンテンツの所有者の名称を示す。「分類」は、コンテンツの種類を示し、例えば、音声ファイルを示す「mp3」や、動画ファイルを示す「mpeg」といった情報に該当する。「ハッシュ値」は、コンテンツのハッシュ値を示す。なお、かかるハッシュ値は、例えば、ストレージ装置100によって同一のコンテンツを記憶装置910に記憶させない制御が行われる場合などに用いられる。
図5−1および図5−2に示したように、ストレージ装置100は、同一のバージョンに対応するコンテンツメタ情報テーブルであっても、コンテンツが格納された年月などによって別のテーブルに分けて管理する。
図6は、コンテンツメタ情報テーブル132−1の一例を示す図である。すなわち、図6は、1世代前のバージョン(本実施例では、バージョン「2.20」)に対応するコンテンツメタ情報テーブルである。図6に例示したコンテンツメタ情報テーブル132−1は、図5−1および図5−2に示したコンテンツメタ情報テーブル132−0と比較して、項目「ハッシュ値」を有しない。
これは、バージョン「2.20」までのサービスでは、コンテンツのハッシュ値を管理しないが、バージョン「3.00」のサービスでは、コンテンツのハッシュ値を管理することを意味している。すなわち、バージョン「3.00」のサービスに、上述したような同一のコンテンツを格納させないための制御を行う機能が追加されたことを意味している。このように、バージョンアップされることによりサービスに機能追加がなされると、管理情報も変わる可能性がある。
図7は、コンテンツメタ情報テーブル132−nの一例を示す図である。すなわち、図7は、n世代前のバージョン(本実施例では、バージョン「1.00」)に対応するコンテンツメタ情報テーブルである。図7に例示したコンテンツメタ情報テーブル132−nは、図6に示したコンテンツメタ情報テーブル132−1と比較して、項目「分類」を有しない。
なお、図示することを省略したが、本実施例におけるストレージ装置100は、コンテンツメタ情報テーブル132−1および132−nについても、コンテンツメタ情報テーブル132−0と同様に、コンテンツが格納された年月毎に異なるテーブルに分けて保持する。
図1の説明に戻って、コンテンツ管理サービス140は、プロキシサービス121からリード要求やライト要求を受け付けた場合に、記憶装置910に対するアクセス制御を行う。具体的には、コンテンツ管理サービス140は、統合用サービス141と、バージョンサービス142−0、142−1、・・・、142−nといったサービスによってアクセス制御を行う。
統合用サービス141は、プロキシサービス121からリード要求やライト要求を受け付けて、バージョンサービス142−0、142−1、・・・、142−nに対して、アクセス制御を行わせる。ここで、リード要求を受け付けた場合と、ライト要求を受け付けた場合とに分けて、統合用サービス141による処理について説明する。
まず、リード要求を受け付けた場合における統合用サービス141による処理について説明する。統合用サービス141は、プロキシサービス121からリード要求を受け付けた場合、コンテンツIDに含まれる「コンテンツ格納年月日」などの情報に基づいて、リード対象のコンテンツに関する情報が記憶されているコンテンツメタ情報テーブルを絞り込む。
続いて、統合用サービス141は、絞り込んだコンテンツメタ情報テーブルから、リード対象のコンテンツに対応するバージョンを取得する。続いて、統合用サービス141は、取得したバージョンに対応するサービスIDをサービスバージョン対応テーブル130aから取得する。そして、統合用サービス141は、取得したサービスIDによって示されるバージョンサービス142−0、142−1、・・・、142−nのいずれかのサービスに対して、リード処理を行うように指示する。
続いて、統合用サービス141は、サービスバージョン対応テーブル130aから取得したバージョンが最新バージョンであるか否かを判定する。バージョンが最新でない場合、統合用サービス141は、コンテンツメタ情報テーブル更新処理を行う。具体的には、統合用サービス141は、リード対象のコンテンツに関する情報を記憶するコンテンツメタ情報テーブル132−1、・・・、132−nのいずれかを、最新バージョンに対応するコンテンツメタ情報テーブル132−0に更新する。
このとき、統合用サービス141は、移行先のコンテンツメタ情報テーブル132−0が存在しない場合、コンテンツメタ情報テーブル132−0を新たに生成する。このようなケースが発生する例としては、移行元のコンテンツの格納年月に対応するコンテンツメタ情報テーブル132−0が存在しない場合などである。一方、統合用サービス141は、移行先のコンテンツメタ情報テーブル132−0が存在する場合、かかるコンテンツメタ情報テーブル132−0に、移行元のコンテンツメタ情報テーブル(132−1など)に記憶されている各種情報を移行する。
また、統合用サービス141は、移行先のコンテンツメタ情報テーブル132−0が、移行元のコンテンツメタ情報テーブル(132−1等)と異なる項目を有する場合、かかる項目に記憶させる情報を生成する。例えば、コンテンツメタ情報テーブル132−1に記憶されている情報を、コンテンツメタ情報テーブル132−0に移行する場合、統合用サービス141は、各コンテンツのハッシュ値を算出した上で、移行処理を行う。
なお、ストレージ装置100は、バージョン間で異なる項目を所定の記憶部に保持しておいてもよい。例えば、ストレージ装置100は、バージョン「2.20」と「3.00」との項目差が「ハッシュ値」であり、バージョン「1.00」と「3.00」との項目差が「ハッシュ値」および「分類」であるといった情報を保持してもよい。これにより、統合用サービス141は、コンテンツメタ情報テーブル更新処理を行う場合に、生成すべき項目を認識することができる。
そして、統合用サービス141は、コンテンツメタ情報テーブル更新処理によって、旧バージョンに対応するコンテンツメタ情報テーブルに記憶される情報が存在しなくなった場合、かかる旧バージョンのコンテンツ管理ソフトウェアをアンインストール(削除)する。
上述した統合用サービス141による処理について、2個の例を挙げて説明する。以下に示す例において、サービスバージョン対応テーブル130aは、図2に示した状態であるものとする。また、コンテンツメタ情報テーブル132−0、132−1および132−nは、それぞれ図5−1、図5−2、図6および図7に示した状態であるものとする。
まず、1個目の例として、統合用サービス141が、コンテンツID「A20081201111111G01」を含むリード要求を受け付けた場合について説明する。かかる場合、統合用サービス141は、コンテンツIDからコンテンツ格納年月「200812」を抽出する。続いて、統合用サービス141は、検索対象のテーブルを、2008年12月に格納されたコンテンツを管理するコンテンツメタ情報テーブル132−0(図5−1)に絞り込む。そして、統合用サービス141は、コンテンツメタ情報テーブル132−0から、コンテンツID「A20081201111111G01」に対応するバージョン「3.00」を取得する。
このように、コンテンツIDが、「業務サーバ識別子」や「コンテンツ格納日付」等の情報を含むように命名されることにより、統合用サービス141は、コンテンツIDに含まれる情報に基づいて、検索対象のコンテンツメタ情報テーブルを絞り込むことができる。その結果、統合用サービス141は、検索対象のコンテンツメタ情報テーブルを絞り込む処理を高速に行うことができる。
なお、コンテンツメタ情報テーブル132−0等が、業務サーバや、業務ポリシー毎に分けられている場合、統合用サービス141は、コンテンツIDに含まれる「業務サーバ識別子」や「業務ポリシーID」に基づいて、検索対象のコンテンツメタ情報テーブルを絞り込む。
続いて、統合用サービス141は、サービスバージョン対応テーブル130aから、バージョン「3.00」に対応するサービスID「001」を取得する。続いて、統合用サービス141は、取得したサービスID「001」によって示されるバージョンサービス142−0に対して、リード処理を行うように指示する。そして、統合用サービス141は、サービスバージョン対応テーブル130aから取得したバージョン「3.00」が最新バージョンであるので処理を終了する。
次に、2個目の例として、統合用サービス141が、コンテンツID「A20081001111111G01」を含むリード要求を受け付けた場合について説明する。かかる場合、統合用サービス141は、コンテンツIDからコンテンツ格納年月「200810」を抽出し、検索対象のテーブルを、図6に示したコンテンツメタ情報テーブル132−1に絞り込む。そして、統合用サービス141は、コンテンツメタ情報テーブル132−1から、コンテンツID「A20081001111111G01」に対応するバージョン「2.20」を取得する。
続いて、統合用サービス141は、サービスバージョン対応テーブル130aから、バージョン「2.20」に対応するサービスID「002」を取得する。続いて、統合用サービス141は、取得したサービスID「002」によって示されるバージョンサービス142−1に対して、リード処理を行うように指示する。
続いて、統合用サービス141は、サービスバージョン対応テーブル130aから取得したバージョン「2.20」が最新バージョンではないので、コンテンツメタ情報テーブル132−1を、最新バージョンに対応するコンテンツメタ情報テーブルに更新する。ここで、本実施例では、コンテンツメタ情報テーブルは、格納年月毎に分別される。また、図5−1、図5−2および図6に示すように、コンテンツメタ情報テーブル132−0の格納年月と、コンテンツメタ情報テーブル132−1の格納年月とは異なる。したがって、統合用サービス141は、コンテンツメタ情報テーブル132−1に記憶されている情報を、既存のコンテンツメタ情報テーブル132−0に移行することはできない。
そこで、統合用サービス141は、コンテンツメタ情報テーブル132−0を新たに生成する。続いて、統合用サービス141は、コンテンツメタ情報テーブル132−1に記憶されているコンテンツのハッシュ値を算出する。そして、統合用サービス141は、算出したハッシュ値とともに、コンテンツメタ情報テーブル132−1に記憶されている各種情報を、新たに生成したコンテンツメタ情報テーブル132−0へ移行する。
続いて、統合用サービス141は、バージョン「2.20」に対応するコンテンツメタ情報テーブル132−1に記憶されている情報が存在するか否かを判定する。コンテンツメタ情報テーブル132−1に記憶されている情報が存在しない場合、バージョン「2.20」のサービスが用いられることはなくなるので、統合用サービス141は、バージョン「2.20」のコンテンツ管理ソフトウェアをアンインストール(削除)する。
次に、ライト要求を受け付けた場合における統合用サービス141による処理について説明する。統合用サービス141は、プロキシサービス121からライト要求を受け付けた場合、バージョンが最新であるバージョンサービス142−0に対して、ライト処理を行うように指示する。
バージョンサービス142−0、142−1、・・・、142−nは、統合用サービス141からの指示に従って、リード処理やライト処理を実行するサービスを提供する。なお、図1に示した例では、バージョンサービス142−0は、最新バージョンのサービスであり、バージョンサービス142−1は、最新バージョンより1世代前のバージョンのサービスであり、バージョンサービス142−nは、最新バージョンよりn世代前のバージョンのサービスであるものとする。
ここで、バージョンサービス142−0、142−1、・・・、142−n(以下、「バージョンサービス142−0等」と呼ぶ)による処理について、リード処理と、ライト処理とに分けて具体的に説明する。
まず、バージョンサービス142−0等によるリード処理について説明する。バージョンサービス142−0等は、統合用サービス141からリード処理を実行する旨の指示を受け付けた場合に、IDテーブル131aから、リード要求に含まれるコンテンツIDに対応付けて記憶されている業務ポリシーIDと格納位置とを取得する。
続いて、バージョンサービス142−0等は、取得した業務ポリシーIDをキーにして、業務ポリシーテーブル131bから削除不可期間等の各種情報を取得する。バージョンサービス142−0等は、取得した情報に基づいて、例えば、イベントが発生した場合に管理者へ通知する処理を行うか否かを判断したりする。
続いて、バージョンサービス142−0等は、リード要求に含まれるコンテンツIDをキーにして、コンテンツメタ情報テーブル132−0、132−1、・・・、132−nから業務サーバ名等のメタ情報を取得する。このとき、バージョンサービス142−0等は、それぞれ対応するコンテンツメタ情報テーブル132−0、132−1、・・・、132−nから各種情報を取得する。例えば、最新バージョンのバージョンサービス142−0は、最新バージョンに対応するコンテンツメタ情報テーブル132−0からメタ情報を取得する。また、例えば、1世代前のバージョンサービス142−1は、1世代前のバージョンに対応するコンテンツメタ情報テーブル132−1からメタ情報を取得する。
バージョンサービス142−0等は、コンテンツメタ情報テーブル132−0等から取得したメタ情報に基づいて、所定の処理を行う。ここで言う「所定の処理」とは、例えば、所有者名を用いてアクセス権限があるか否かを確認する処理などである。なお、このような処理は、バージョンサービス142−0等のバージョンによって異なる可能性がある。例えば、バージョンサービス142−0は、ハッシュ値を用いた各種制御を行う場合があるが、バージョンサービス142−1は、ハッシュ値を用いた制御を行わない場合がある。
そして、バージョンサービス142−0等は、IDテーブル131aから取得した格納位置に基づいて、記憶装置910からコンテンツを取得し、取得したコンテンツを業務サーバ10へ送信する。
次に、バージョンサービス142−0等によるライト処理について説明する。バージョンサービス142−0、142−1、・・・、142−nのうち、ライト処理を行うのは、バージョンサービス142−0である。これは、統合用サービス141が、最新バージョンのバージョンサービス142−0に対して、ライト処理を実行するように指示するからである。
バージョンサービス142−0は、ライト処理を実行する旨の指示を受け付けた場合に、ライト要求に含まれるコンテンツを記憶装置910に記憶させる。続いて、バージョンサービス142−0は、格納したコンテンツにコンテンツIDを払い出す。具体的には、バージョンサービス142−0は、上述したように、少なくとも「業務サーバ識別子」「コンテンツ格納日付」「業務ポリシーID」を含むコンテンツIDを払い出す。
続いて、バージョンサービス142−0は、ライト要求に含まれるコンテンツに関するメタ情報をコンテンツメタ情報テーブル132−0に記憶させる。なお、本実施例のようにコンテンツメタ情報テーブル132−0が格納月別に分けられている場合、バージョンサービス142−0は、コンテンツを格納する年月に対応するコンテンツメタ情報テーブル132−0にメタ情報を記憶させる。
そして、バージョンサービス142−0は、払い出したコンテンツIDと、格納したコンテンツの業務ポリシーIDと、コンテンツを格納した位置とをIDテーブル131aに記憶させるとともに、コンテンツIDを業務サーバ10へ送信する。
次に、図8を用いて、上述してきたストレージ装置100に対してコンテンツ管理ソフトウェアをインストールする手順について説明する。図8は、本実施例に係るストレージ装置100によるコンテンツ管理ソフトウェアのメンテナンス手順を示すフローチャートである。
図8に示すように、ストレージ装置100は、コンテンツ管理ソフトウェアをインストールする旨の操作を受け付けた場合(ステップS101肯定)、コンテンツ管理サービス140を停止させる(ステップS102)。
続いて、ストレージ装置100は、旧バージョンのコンテンツ管理ソフトウェアを残したままにして、新バージョンのコンテンツ管理ソフトウェアをインストールする(ステップS103)。続いて、ストレージ装置100は、サービスバージョン対応テーブル130aを更新する(ステップS104)。例えば、バージョン「4.00」のコンテンツ管理ソフトウェアがインストールされる場合、ストレージ装置100は、サービスバージョン対応テーブル130aに、所定のサービスIDとバージョン「4.00」との組合せのレコードを追加する。
続いて、ストレージ装置100は、インストールしたコンテンツ管理ソフトウェアに対応するコンテンツメタ情報テーブルを生成する(ステップS105)。ここで生成されるコンテンツメタ情報テーブルには、レコードが存在しない。これは、本実施例に係るストレージ装置100は、コンテンツ管理ソフトウェアのインストール時に、コンテンツメタ情報テーブルを更新する処理を行わないからである。
そして、ストレージ装置100は、コンテンツ管理サービス140を起動させる(ステップS106)。このように、本実施例に係るストレージ装置100は、コンテンツメタ情報テーブルを更新することなく、新バージョンのコンテンツ管理ソフトウェアをインストールするので、インストール処理にかかる時間を短くすることができる。さらに、本実施例に係るストレージ装置100は、コンテンツ管理ソフトウェアのインストール中であっても、プロキシサービス121によって、業務サーバ10からのリード要求やライト要求を受け付けるので、ストレージ装置100を用いた運用を停止させないことができる。
次に、本実施例に係るストレージ装置100によるリード処理手順について説明する。図9は、本実施例に係るストレージ装置100によるリード処理手順を示すフローチャートである。
図9に示すように、プロキシサービス121によってリード要求が受け付けられた場合(ステップS201肯定)、統合用サービス141は、リード要求に含まれるコンテンツIDによって示されるコンテンツを管理しているサービスのバージョンを特定する(ステップS202)。具体的には、統合用サービス141は、コンテンツIDを用いて、コンテンツメタ情報テーブル132−0、132−1、・・・、132−nから、バージョンを取得する。
続いて、統合用サービス141は、サービスバージョン対応テーブル130aから、ステップS202において特定したバージョンに対応付けて記憶されているサービスIDを取得する。そして、統合用サービス141は、取得したサービスIDによって示されるバージョンサービス142−0、142−1、・・・、142−nのいずれかのサービスに対して、リード処理を実行するように指示する。
統合用サービス141から指示を受け付けたバージョンサービス142−0等は、IDテーブル131aから、コンテンツIDに対応付けて記憶されている業務ポリシーIDと格納位置とを取得する。続いて、バージョンサービス142−0等は、業務ポリシーテーブル131bから、取得した業務ポリシーIDに対応付けて記憶されている各種情報を取得する(ステップS203)。
続いて、バージョンサービス142−0等は、コンテンツメタ情報テーブル132−0、132−1、・・・、132−nから、コンテンツIDに対応付けて記憶されているメタ情報を取得する(ステップS204)。バージョンサービス142−0等は、取得したメタ情報に基づいて、アクセス権限チェック等の処理を行う。
続いて、バージョンサービス142−0等は、コンテンツIDに対応付けてIDテーブル131aに記憶されている格納位置に基づいて、記憶装置910からコンテンツを取得し、取得したコンテンツを業務サーバ10へ送信する(ステップS205)。
続いて、統合用サービス141は、ステップS202において特定したバージョンが最新バージョンでない場合(ステップS206肯定)、コンテンツメタ情報テーブル更新処理を行う(ステップS207)。例えば、リード要求に含まれるコンテンツIDが「A20081001111111G01」である場合、バージョンサービス142−0等は、図6に例示したコンテンツメタ情報テーブル132−1から各種情報を取得する。かかる場合、統合用サービス141は、コンテンツメタ情報テーブル132−1を、図5−1または図5−2に示したような最新バージョンに対応するコンテンツメタ情報テーブルの形式に更新する。このとき、統合用サービス141は、更新後のコンテンツメタ情報テーブルのバージョンを、最新バージョン(本実施例では「3.00」)の情報に更新する。
そして、統合用サービス141は、コンテンツメタ情報テーブル更新処理によって、所定の旧バージョンに対応するコンテンツメタ情報テーブルが存在しなくなった場合、かかる所定の旧バージョンのコンテンツ管理ソフトウェアをアンインストールする。
次に、本実施例に係るストレージ装置100によるライト処理手順について説明する。図10は、本実施例に係るストレージ装置100によるライト処理手順を示すフローチャートである。
図10に示すように、プロキシサービス121によってライト要求が受け付けられた場合(ステップS301肯定)、統合用サービス141は、バージョンが最新であるバージョンサービス142−0に対して、ライト処理を実行するように指示する。
統合用サービス141から指示を受け付けたバージョンサービス142−0は、ライト要求に含まれるコンテンツを記憶装置910に記憶させる(ステップS302)。続いて、バージョンサービス142−0は、格納したコンテンツにコンテンツIDを払い出す(ステップS303)。続いて、バージョンサービス142−0は、コンテンツに関するメタ情報をコンテンツメタ情報テーブル132−0に記憶させる(ステップS304)。
そして、バージョンサービス142−0は、払い出したコンテンツIDを用いてIDテーブル131aにレコードを追加するとともに、コンテンツIDを業務サーバ10へ送信する(ステップS305)。
上述してきたように、本実施例に係るストレージ装置100は、コンテンツ管理ソフトウェアがバージョンアップされる場合に、現にインストールされているコンテンツ管理ソフトウェアを残したままにして、複数のバージョンのコンテンツ管理ソフトウェアを保持する。また、本実施例に係るストレージ装置100は、コンテンツ管理ソフトウェアがインストールされる場合に、構成定義テーブルを更新する処理を行わない。また、本実施例に係るストレージ装置100は、旧バージョンのコンテンツ管理ソフトウェアによって管理されているコンテンツに対するリード要求を受け付けた場合に、かかるコンテンツに関するメタ情報が記憶されているコンテンツメタ情報テーブルを、最新バージョンに対応するコンテンツメタ情報テーブルに更新する。
このようなことから、本実施例に係るストレージ装置100は、短い運用停止時間でコンテンツ管理ソフトウェアをバージョンアップすることができるとともに、保持するコンテンツを徐々に最新バージョンのコンテンツ管理ソフトウェアに対応させることができる。
なお、上記実施例では、コンテンツ管理ソフトウェアがインストールされたタイミングではコンテンツメタ情報テーブルを更新せず、リード要求を受け付けた場合に更新処理を行う例を示した。しかし、ストレージ装置100は、コンテンツ管理ソフトウェアがインストールされたタイミングで、特定のコンテンツメタ情報テーブルについては更新してもよい。
例えば、ストレージ装置100は、コンテンツ管理ソフトウェアのインストール時に、直近にアクセスされたコンテンツメタ情報テーブルを、最新バージョンに対応するコンテンツメタ情報テーブルに更新してもよい。これは、直近にアクセスされたコンテンツは、再度アクセスされる可能性が高いからである。これにより、直近にアクセスされたコンテンツメタ情報テーブルについては、運用中に更新処理を行わないようにすることができるとともに、コンテンツメタ情報テーブルの更新処理を、コンテンツ管理ソフトウェアのインストール時と、運用時とに分散させることができる。
また、上記実施例では、リード要求に含まれるコンテンツIDが記憶されているコンテンツメタ情報テーブルを、最新バージョンに対応するコンテンツメタ情報テーブルに更新する例を示した。しかし、ストレージ装置100は、他のコンテンツメタ情報テーブルも同時に更新してもよい。
例えば、コンテンツC11のメタ情報がコンテンツメタ情報テーブルM11に記憶されており、コンテンツC12のメタ情報がコンテンツメタ情報テーブルM12に記憶されているものとする。そして、コンテンツC11とコンテンツC12との間には密接な関係があるものとする。ここで言う「密接な関係」とは、例えば、コンテンツC11とコンテンツC12と相互に関連するコンテンツであり、コンテンツC11に対するリード要求を受け付けた場合には、コンテンツC12に対するリード要求も受け付ける可能性が高い場合などを示す。このような場合、ストレージ装置100は、コンテンツC11に対するリード要求を受け付けた場合に、コンテンツメタ情報テーブルM11だけでなく、コンテンツメタ情報テーブルM12についても、最新バージョンに対応するコンテンツメタ情報テーブルに更新してもよい。
また、上記実施例では、コンテンツメタ情報テーブルから情報を検索する処理効率を向上させるために、コンテンツIDに、少なくとも「業務サーバ識別子」と、「コンテンツ格納日付」と、「業務ポリシーID」とに関する情報を含む例を示した。しかし、コンテンツIDは、コンテンツを一意に識別できる情報であればよく、上記「業務サーバ識別子」等の情報を含まなくてもよい。コンテンツIDに「業務サーバ識別子」等の情報を含めない場合、統合用サービス141は、検索対象のコンテンツメタ情報テーブルを絞り込むことなく、バージョンを取得する。また、かかる場合、ストレージ装置100は、一意に識別できるコンテンツIDを払い出すために、図12に示したようなID用シリアルナンバ933を保持する。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
10 業務サーバ
11 API
100 ストレージ装置
120 コンテンツ管理ソフトウェア
121 プロキシサービス
130 構成定義記憶部
130a サービスバージョン対応テーブル
131 コアテーブル群
131a IDテーブル
131b 業務ポリシーテーブル
132 コンテンツメタ情報テーブル群
132−0〜132−n コンテンツメタ情報テーブル
140 コンテンツ管理サービス
141 統合用サービス
142−0〜142−n バージョンサービス
910 記憶装置
911 磁気ディスク
912a、912b 磁気テープ
931 コンテンツ管理テーブル
932 業務ポリシーテーブル
933 ID用シリアルナンバ
940 コンテンツ管理サービス

Claims (6)

  1. 記憶装置へのアクセス制御を行うソフトウェアのバージョン毎に、前記記憶装置に記憶されているデータに関する属性情報を異なるメタ情報テーブルに保持し、
    前記ソフトウェアをバージョン毎に保持するソフトウェア保持部と、
    既にインストールされているソフトウェアである現ソフトウェアと異なるバージョンのソフトウェアである他のソフトウェアをインストールする旨の操作を受け付けた場合に、前記現ソフトウェアを残したままにして、前記他のソフトウェアをインストールするための処理を実行するソフトウェア更新手段と、
    前記ソフトウェア更新手段によって前記他のソフトウェアがインストールされた場合に、当該のストレージ装置の運用中に、前記現ソフトウェアのバージョンに対応するメタ情報テーブルを、前記他のソフトウェアのバージョンに対応するメタ情報テーブルの形式に更新するテーブル更新手段と
    を備えたことを特徴とするストレージ装置。
  2. 上位装置から前記記憶装置に対するリード要求を受け付けた場合に、リード対象のデータを管理するソフトウェアのバージョンを特定する特定手段と、
    前記ソフトウェア保持部に保持されているソフトウェアのうち、前記特定手段によって特定されたバージョンに対応するソフトウェアを用いて、前記リード要求によって要求されているデータを前記記憶装置から取得するリード手段とをさらに備え、
    前記テーブル更新手段は、前記特定手段によって特定されたバージョンが最新のバージョンでない場合に、前記リード手段によって取得されたデータに関する属性情報を記憶するメタ情報テーブルを、最新のバージョンのソフトウェアに対応するメタ情報テーブルの形式に更新することを特徴とする請求項1に記載のストレージ装置。
  3. 前記テーブル更新手段によってデータメタ情報テーブルが更新されることにより、対応するメタ情報テーブルが存在しなくなったバージョンのソフトウェアを削除する削除手段をさらに備えたことを特徴とする請求項2に記載のストレージ装置。
  4. 前記上位装置から前記記憶装置に対するライト要求を受け付けた場合に、前記ソフトウェア保持部に保持されているソフトウェアのうち、最新のバージョンに対応するソフトウェアを用いて、前記ライト要求に含まれるデータを前記記憶装置に記憶させるライト手段をさらに備えたことを特徴とする請求項1〜3のいずれか一つに記載のストレージ装置。
  5. 記憶装置へのアクセス制御を行うソフトウェアを有するストレージ装置による前記ソフトウェアを更新するソフトウェア更新方法であって、
    前記ストレージ装置が、
    既にインストールされているソフトウェアである現ソフトウェアと異なるバージョンのソフトウェアである他のソフトウェアをインストールする旨の操作を受け付けた場合に、前記現ソフトウェアを残したままにして、前記他のソフトウェアをインストールするための処理を実行するソフトウェア更新工程と、
    前記ソフトウェア更新工程によって前記他のソフトウェアがインストールされた場合に、前記ストレージ装置の運用中に、前記ソフトウェアのバージョン毎にデータの属性情報を記憶するメタ情報テーブルを、前記他のソフトウェアのバージョンに対応するメタ情報テーブルの形式に更新するテーブル更新工程と
    を含んだことを特徴とするソフトウェア更新方法。
  6. 記憶装置へのアクセス制御を行うソフトウェアを有するストレージ装置による前記ソフトウェアを更新するソフトウェア更新プログラムであって、
    既にインストールされているソフトウェアである現ソフトウェアと異なるバージョンのソフトウェアである他のソフトウェアをインストールする旨の操作を受け付けた場合に、前記現ソフトウェアを残したままにして、前記他のソフトウェアをインストールするための処理を実行するソフトウェア更新手順と、
    前記ソフトウェア更新手順によって前記他のソフトウェアがインストールされた場合に、前記ストレージ装置の運用中に、前記ソフトウェアのバージョン毎にデータの属性情報を記憶するメタ情報テーブルを、前記他のソフトウェアのバージョンに対応するメタ情報テーブルの形式に更新するテーブル更新手順と
    を含んだことを特徴とするソフトウェア更新プログラム。
JP2009043171A 2009-02-25 2009-02-25 ストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラム Pending JP2010198383A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009043171A JP2010198383A (ja) 2009-02-25 2009-02-25 ストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラム
US12/709,611 US20100218177A1 (en) 2009-02-25 2010-02-22 Storage apparatus and software upgrade method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009043171A JP2010198383A (ja) 2009-02-25 2009-02-25 ストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラム

Publications (1)

Publication Number Publication Date
JP2010198383A true JP2010198383A (ja) 2010-09-09

Family

ID=42632037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009043171A Pending JP2010198383A (ja) 2009-02-25 2009-02-25 ストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラム

Country Status (2)

Country Link
US (1) US20100218177A1 (ja)
JP (1) JP2010198383A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190107A (ja) * 2011-03-09 2012-10-04 Fujitsu Frontech Ltd 文書管理装置、文書管理システム、文書管理プログラム、および文書管理方法
WO2016111673A1 (en) * 2015-01-05 2016-07-14 Hewlett Packard Enterprise Development Lp Multi-tenant upgrading

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108734B2 (en) * 2009-11-02 2012-01-31 International Business Machines Corporation Intelligent rolling upgrade for data storage systems
JP5874200B2 (ja) * 2011-05-27 2016-03-02 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
KR101889761B1 (ko) * 2011-06-09 2018-09-21 삼성전자주식회사 컨텐츠 이름 기반의 네트워크 장치 및 컨텐츠 보호 방법
US8893116B2 (en) * 2012-01-15 2014-11-18 Microsoft Corporation Installation engine and package format for parallelizable, reliable installations
US9383986B2 (en) * 2013-06-18 2016-07-05 Disney Enterprises, Inc. Safe low cost web services software deployments
US9177034B2 (en) * 2013-08-13 2015-11-03 Datadirect Networks, Inc. Searchable data in an object storage system
US9535685B1 (en) * 2015-03-24 2017-01-03 EMC IP Holding Company LLC Smartly identifying a version of a software application for installation
CN104994164A (zh) * 2015-07-08 2015-10-21 浪潮(北京)电子信息产业有限公司 一种统计目录信息的方法和装置
US10776023B2 (en) * 2016-11-07 2020-09-15 Gaea LLC Data storage device with configurable policy-based storage device behavior
US11379433B2 (en) * 2018-05-25 2022-07-05 Microsoft Technology Licensing, Llc Persistent version storage for relational database management system
US11532013B2 (en) * 2019-06-17 2022-12-20 Optimizely, Inc. Optimized simultaneous use of content experimentation and content caching
US11875376B2 (en) 2019-06-17 2024-01-16 Optimizely North America Inc. Minimizing impact of experimental content delivery on computing devices
CN111506592B (zh) * 2020-04-21 2023-12-26 腾讯云计算(长沙)有限责任公司 一种数据库的升级方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004199247A (ja) * 2002-12-17 2004-07-15 Hitachi Communication Technologies Ltd プログラム更新方法
JP2007515002A (ja) * 2003-11-26 2007-06-07 ヴェリタス・オペレーティング・コーポレーション 拡張可能なファイルシステムメタデータの作成及びファイルシステムコンテンツ処理のためのシステムと方法
JP2007305122A (ja) * 2006-05-11 2007-11-22 Hitachi Ltd コンテンツ・アドレッサブルストレージを交換するシステムと方法
JP2008257682A (ja) * 2007-03-30 2008-10-23 Hitachi Ltd ユニファイドストレージシステムのための方法および装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004199247A (ja) * 2002-12-17 2004-07-15 Hitachi Communication Technologies Ltd プログラム更新方法
JP2007515002A (ja) * 2003-11-26 2007-06-07 ヴェリタス・オペレーティング・コーポレーション 拡張可能なファイルシステムメタデータの作成及びファイルシステムコンテンツ処理のためのシステムと方法
JP2007305122A (ja) * 2006-05-11 2007-11-22 Hitachi Ltd コンテンツ・アドレッサブルストレージを交換するシステムと方法
JP2008257682A (ja) * 2007-03-30 2008-10-23 Hitachi Ltd ユニファイドストレージシステムのための方法および装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012190107A (ja) * 2011-03-09 2012-10-04 Fujitsu Frontech Ltd 文書管理装置、文書管理システム、文書管理プログラム、および文書管理方法
WO2016111673A1 (en) * 2015-01-05 2016-07-14 Hewlett Packard Enterprise Development Lp Multi-tenant upgrading
US10338910B2 (en) 2015-01-05 2019-07-02 Entit Software Llc Multi-tenant upgrading

Also Published As

Publication number Publication date
US20100218177A1 (en) 2010-08-26

Similar Documents

Publication Publication Date Title
JP2010198383A (ja) ストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラム
JP5082310B2 (ja) データ移行装置及びプログラム
US20190220266A1 (en) Upgrading Bundled Applications In A Distributed Computing System
US7958210B2 (en) Update management method and update management unit
CN102667772B (zh) 文件级分级存储管理***、方法和设备
JP5869661B2 (ja) ネットワークストレージシステムにリンクされるローカルストレージ
JP5369807B2 (ja) ストレージ装置
US11029932B2 (en) Hydration of applications
US20110209134A1 (en) Information processing apparatus
CN112596762A (zh) 一种滚动升级方法及装置
JPWO2012108175A1 (ja) データベース更新通知方法
US20140122661A1 (en) Computer system and file server migration method
JPWO2012101983A1 (ja) ストレージシステム
US8082230B1 (en) System and method for mounting a file system on multiple host computers
US9135116B1 (en) Cloud enabled filesystems provided by an agent which interfaces with a file system on a data source device
US11176089B2 (en) Systems and methods for implementing dynamic file systems
US11977559B2 (en) Providing instant and distributed access to a source blob via copy-on-read blobs and link blobs
US20170039110A1 (en) Computer
JP2011159242A (ja) ストレージ装置およびデータ格納制御方法
JP2007193408A (ja) 文書管理システムにおけるディスク運用制御方法
JP2013025655A (ja) ログファイル管理モジュールおよびログファイル管理方法
CN114077587A (zh) 基于规则引擎的业务处理方法、规则引擎、介质和设备
JP2016099659A (ja) 管理装置、ストレージシステム、ストレージ管理方法、及びプログラム
JP6676203B2 (ja) 管理装置、ストレージシステム、ストレージ管理方法、及びプログラム
JP5477027B2 (ja) ストレージ装置、ストレージ装置制御方法およびストレージ装置制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110726