JP6330528B2 - データ分割制御プログラム、データ分割制御方法、及び、データ分割制御装置 - Google Patents

データ分割制御プログラム、データ分割制御方法、及び、データ分割制御装置 Download PDF

Info

Publication number
JP6330528B2
JP6330528B2 JP2014138314A JP2014138314A JP6330528B2 JP 6330528 B2 JP6330528 B2 JP 6330528B2 JP 2014138314 A JP2014138314 A JP 2014138314A JP 2014138314 A JP2014138314 A JP 2014138314A JP 6330528 B2 JP6330528 B2 JP 6330528B2
Authority
JP
Japan
Prior art keywords
data
storage device
access
division
division ratio
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.)
Active
Application number
JP2014138314A
Other languages
English (en)
Other versions
JP2016018225A (ja
Inventor
和典 岩佐
和典 岩佐
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 JP2014138314A priority Critical patent/JP6330528B2/ja
Priority to US14/749,031 priority patent/US20160004455A1/en
Publication of JP2016018225A publication Critical patent/JP2016018225A/ja
Application granted granted Critical
Publication of JP6330528B2 publication Critical patent/JP6330528B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ分割制御プログラム、データ分割制御方法、及び、データ分割制御装置に関する。
コンピュータシステムのデータ量は、増大の傾向にある。コンピュータが利用するデータは、コンピュータシステムの内部の記憶装置に格納される。一方、増大するデータ量を記憶するため、コンピュータが利用するデータを、コンピュータシステムの外部の記憶装置に格納させる技術がある。
また、これらの記憶装置からのデータの漏えいに対する対策として、データを複数の記憶装置に分割して格納することで、データの秘匿性を高める技術がある(例えば、特許文献1)。
特開2008−97591号公報
前述のデータをコンピュータシステム内の記憶装置と外の記憶装置とに分割して格納する場合、所定の分割比率で、データを分割する。一方、コンピュータシステム内の記憶装置に格納されたデータの方が、データに対するアクセス性能(読み書きの速度)は高い。
しかしながら、データのサイズや外部の記憶装置の容量が変動することから、適切な分割比率を設定することは難しい場合がある。
1つの側面では、本発明は、データの秘匿性を維持しながら、アクセス速度の向上を図ることができるデータ分割制御プログラム、データ分割制御方法、及び、データ分割制御装置を提供することを目的とする。
第1の態様では、第1記憶装置と第2記憶装置とに分割して記憶された複数のデータのいずれかのアクセスが行われた場合に、前記複数のデータそれぞれのアクセス状況を取得し、前記アクセス状況と、前記第1の記憶装置の空き容量とに基づいて、前記アクセスの対象データの分割比率を算出し、前記算出した分割比率にしたがって前記対象データを分割して、前記第1の記憶装置と前記第2の記憶装置とに記憶する、処理をコンピュータに実行させる。
第1の側面によれば、データの秘匿性を維持しながら、アクセス速度の向上を図ることができる。
本実施の形態例における情報処理ステムの構成の一例を示す図である。 図1の統合ストレージサーバのハードウェア構成を説明する図である。 本実施の形態例における統合ストレージサーバのソフトウェアモジュールの構成図を説明する図である。 図3に示した更新履歴の一例を示す図である。 図3に示したアクセスランキング情報の一例を示す図である。 データの分割処理の概要を説明する図である。 本実施の形態例における統合ストレージサーバのデータの分割比率の算出処理を説明する図である。 分割比率が固定の場合と、データごとに分割比率を算出する場合の、ローカルストレージ領域の状態を説明する第1の図である。 分割比率が固定の場合と、データごとに分割比率を算出する場合の、ローカルストレージ領域の状態を説明する第2の図である。 分割比率が固定の場合と、データごとに分割比率を算出する場合の、ローカルストレージ領域の状態を説明する第3の図である。 本実施の形態例における統合ストレージサーバの暗号化分割モジュール(図3)のデータの更新処理を説明する第1のフローチャート図である。 暗号化分割モジュールのデータの更新処理を説明する第2のフローチャート図である。 更新対象データの分割比率の算出処理を説明する第1のフローチャート図である。 更新対象データの分割比率の算出処理を説明する第2のフローチャート図である。 更新対象のデータID以外のデータIDの更新処理を説明するフローチャート図である。 暗号化分割モジュールのデータの参照処理を説明する第1のフローチャート図である。 暗号化分割モジュールのデータの参照処理を説明する第2のフローチャート図である。 具体例におけるストレージのアクセスタイムと、分割比率の上限値及び下限値を説明する図である。 具体例におけるローカルストレージ領域の情報、及び、データのサイズを説明する図である。 データ「Data5」の更新処理を行った場合におけるアクセスランキング情報を示す図である。 データ「Data5」の更新処理後のローカルストレージの情報、及び、データのサイズを説明する図である。 データ「Data5」のアクセスタイムを説明する図である。 分割比率が固定の場合と、データごとに分割比率を算出する場合におけるローカルストレージ領域の平均利用効率を説明する図である。 分割比率が固定の場合と、データごとに分割比率を算出する場合における平均アクセス時間を説明する図である。
以下、図面にしたがって本発明の実施の形態を説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
[情報処理システム]
図1は、本実施の形態例における情報処理ステムの構成の一例を示す図である。図1の情報処理システムは、クライアント装置40、アプリケーションサーバ20、ウェブサーバ30、統合ストレージサーバ10、クラウドストレージサーバ70、ローカルストレージサーバ60を有する。図1の例において、クライアント装置40は、例えば、パーソナルコンピュータや携帯端末等である。また、この例では、クライアント装置40が1つの場合を例示するが、複数のクライアント装置40がウェブサーバ30に接続していてもよい。
図1の統合ストレージサーバ(データ分割制御装置)10は、パブリックエリアネットワーク(インターネット)50を介して、クラウドストレージサーバ(第2の記憶装置)70と接続する。また、図1の統合ストレージサーバ10は、ローカルエリアネットワーク51を介して、ローカルストレージサーバ(第1の記憶装置)60と接続する。また、クラウドストレージサーバ70は、クラウドストレージ装置72を、ローカルストレージサーバ60は、ローカルストレージ装置62を備える。また、クライアント装置40とウェブサーバ30は、ローカルエリアのインターネット52を介して接続する。
なお、図1の例では、クラウドストレージサーバ70は、1つのクラウドストレージ装置72を備えるが、この例に限定されるものではない。クラウドストレージサーバ70は、複数のクラウドストレージ装置72を備えていてもよい。ローカルストレージサーバ60も同様にして、複数のローカルストレージ装置62を備えていてもよい。
アプリケーションサーバ20、ウェブサーバ30、クラウドストレージサーバ70、ローカルストレージサーバ60は、同様にして、CPU(Central Processing Unit:CPU)、メモリ等のハードウェア構成を有する。統合ストレージサーバ10のハードウェア構成については、図2にしたがって後述する。
図1のアプリケーションサーバ20、ウェブサーバ30、及び、統合ストレージサーバ10は、連携して動作する。ウェブサーバ30は、HTTP(Hypertext Transfer Protocol)に基づくクライアント装置40からのサービスの要求を受け付け、例えば、ユーザの認証処理等を行う。ユーザの認証に成功した場合、ウェブサーバ30は、サービス要求をアプリケーションサーバ20に通知する。
アプリケーションサーバ20は、ウェブサーバ30からのサービス要求に応答して、アプリケーションによる所定の処理を行う。また、アプリケーションサーバ20は、処理結果に応じて、データのアクセス要求を統合ストレージサーバ10に出力する。データのアクセス要求とは、例えば、統合ストレージサーバ10が管理するデータの更新や、データの参照、データの削除、及び、新たなデータの書き込み処理の要求等である。即ち、統合ストレージサーバ10は、データベースサーバに該当する。
クラウドストレージサーバ70は、パブリックエリアネットワーク50を介して受信したアクセス要求を認証し、クラウドストレージ装置72へのアクセス処理を行う。また、ローカルストレージサーバ60は、ローカルエリアネットワーク51を介して受信したアクセス要求を認証し、ローカルストレージ装置62へのアクセス処理を行う。
統合ストレージサーバ10は、管理対象のデータを、秘密分散法にしたがって、クラウドストレージサーバ70のクラウドストレージ装置72、及び、ローカルストレージサーバ60のローカルストレージ装置62に分散して、記憶する。秘密分散法では、暗号化されたデータを複数の分散情報に分ける。これにより、データを復元するためには、分割されたうちの所定の数の分散情報が必要となる。図1の例では、クラウドストレージ装置72、ローカルストレージ装置62のいずれかに記憶されたデータだけでは、データの復号化が行えない。したがって、データの秘匿性と復元性とを実現することが可能になる。
アプリケーションサーバ20から、例えば、データの更新要求を受信した場合、クラウドストレージサーバ70のクラウドストレージ装置72、及び、ローカルストレージサーバ60のローカルストレージ装置62のそれぞれに記憶されたデータを更新する。具体的に、統合ストレージサーバ10は、パブリックエリアネットワーク50を介して、クラウドストレージ装置72に記憶されたデータを更新するとともに、ローカルエリアネットワーク51を介して、ローカルストレージ装置62に記憶されたデータを更新する。
同様にして、統合ストレージサーバ10は、アプリケーションサーバ20から、例えば、データの参照要求を受信した場合、クラウドストレージサーバ70のクラウドストレージ装置72、及び、ローカルストレージサーバ60のローカルストレージ装置62のそれぞれに記憶されたデータを読み出す。そして、統合ストレージサーバ10は、読み出したデータを結合し、アプリケーションサーバ20に出力する。データの新規書き込み要求、及び、データの削除要求を受信した場合の処理も同様である。
また、前述したとおり、統合ストレージサーバ10は、パブリックエリアネットワーク(インターネット)50を介して、クラウドストレージサーバ70にアクセスする。また、統合ストレージサーバ10は、ローカルエリアネットワーク51を介して、ローカルストレージサーバ60にアクセスする。したがって、統合ストレージサーバ10は、クラウドストレージ装置72より、ローカルストレージ装置62により高速にアクセス可能である。
[統合ストレージサーバのハードウェア構成]
図2は、図1に示した統合ストレージサーバ10のハードウェア構成を説明する図である。図2に示す統合ストレージサーバ10は、例えば、CPU(Central Processing Unit:CPU)101、メモリ102を有する。統合ストレージサーバ10は、さらに、ローカルエリアネットワーク用のNIC(Network Interface Card:NIC)103、パブリックエリアネット用のNIC(Network Interface Card:NIC)104を有する。各部は、バス106を介して相互に接続する。また、メモリ102は、RAM(Random Access Memory:RAM)201や不揮発性メモリ202等を備える。
CPU101は、バス106を介してメモリ102等と接続すると共に、統合ストレージサーバ10全体の制御を行う。ローカルエリアネットワーク用のNIC104は、ローカルエリアネットワーク51を介して、図1に示したアプリケーションサーバ20等の情報処理装置との通信を制御する。パブリックエリアネットワーク用のNIC105は、パブリックエリアネットワーク(外部環境のインターネット)50を介して、図1に示したクラウドストレージサーバ70等の情報処理装置との通信を制御する。
メモリ102のRAM201は、CPU101が処理を行うデータ等を記憶する。メモリ102の不揮発性メモリ202は、CPU101が実行するOS(Operating System)のプログラムを格納する領域(図示せず)や、本実施の形態例における統合ストレージ管理プログラムを格納する領域210を備える。また、不揮発性メモリ202は、管理情報データベースを格納する領域230、及び、暗号・復号化キーを格納する領域240を備える。不揮発性メモリ202は、HDD(Hard disk drive)、不揮発性半導体メモリ等によって構成される。
統合ストレージ管理プログラム格納領域210の統合ストレージ管理プログラム(以下、統合ストレージ管理プログラム210と称する)は、CPU101の実行によって、本実施の形態例における統合ストレージ管理処理を実現する。統合ストレージ管理処理は、クラウドストレージ装置72(図1)及びローカルストレージ装置62(図1)に記憶されたデータの両方を統合して管理するとともに、記憶されたデータに対するアクセスを制御する処理を示す。
また、管理情報データベース格納領域230の管理情報データベース(以下、管理情報データベース230と称する)は、統合ストレージ管理プログラム210が参照する情報を有する。また、暗号・復号化キー格納領域240の暗号・復号化キー(以下、暗号・復号化キー240と称する)は、統合ストレージ管理プログラム210が、秘密分散法にしたがって、アクセス対象のデータを暗号化、または、復号化するための鍵である。
[統合ストレージサーバのソフトウェアモジュール構成]
図3は、図1に示した統合ストレージサーバ10のソフトウェアモジュールの構成図を説明する図である。統合ストレージ管理プログラム210(図2)は、ストレージアクセスモジュール220と、暗号化分割モジュール221とを有する。
また、管理情報データベース230(図2)は、保管場所管理用データ231、更新履歴データ232、アクセスランキング情報233を格納する。保管場所管理用データ231は、例えば、ローカルストレージサーバ60、及び、クラウドストレージサーバ70における、管理対象のデータが記憶されているアドレス情報を有する。
また、更新履歴データ232は、発生した更新処理の履歴情報である。更新履歴データ232の詳細は、図4にしたがって後述する。また、アクセスランキング情報233は、データそれぞれについて、参照回数、更新回数に基づいたアクセスランキングを有する情報である。アクセスランキング情報233の詳細は、図5にしたがって後述する。
ストレージアクセスモジュール220は、アプリケーションサーバ20からのデータのアクセス要求に応答して、保管場所管理用データ231を参照し、対象のデータが保管されたアドレス情報を取得する。そして、ストレージアクセスモジュール220は、暗号化分割モジュール221に、取得したアドレス情報を通知する。
暗号化分割モジュール221は、対象のデータが保管されたアドレス情報に基づいて、データへのアクセス処理を行う。例えば、アクセス要求がデータの更新要求である場合、暗号化分割モジュール221は、暗号・復号化キー240の暗号化キーを使用して、更新対象データの暗号化処理を行う。また、暗号化分割モジュール221は、アクセスランキング情報233、及び、更新履歴データ232等を参照し、更新対象データの分割比率を算出する。分割比率は、データの全体サイズにおける、ローカルストレージ装置62に記憶するデータサイズの割合である。
そして、暗号化分割モジュール221は、暗号化したデータを、分割比率に基づいて分割する。ストレージアクセスモジュール220は、分割比率にしたがって分割されたデータを、クラウドストレージ装置72、及び、ローカルストレージ装置62に記憶する。
[更新履歴データ]
図4は、図3に示した更新履歴データ232の一例を示す図である。前述したとおり、更新履歴データ232は、更新処理の履歴情報である。図4の更新履歴データ232は、更新処理が行われたアクセス日時と、更新対象のデータID(identification:ID)の情報とを有する。
統合ストレージサーバ10は、管理対象のデータに、データを一意に識別するデータIDを付与する。本実施の形態例におけるデータとは、例えば、リレーショナルデータベースのテーブルである。ただし、この例に限定されるものではなく、データはテーブル以外のデータであってもよい。
図4の更新履歴データ232は、アクセス日時「YYYY/MM/DD 20:15:20」に、データID「Data3」の更新処理が行われたことを示す。また、更新履歴データ232は、その後、アクセス日時「YYYY/MM/DD 20:30:11」に、データID「Data4」の更新処理が行われ、さらに、アクセス日時「YYYY/MM/DD 20:30:45」に、データID「Data1」の更新処理が行われたことを示す。つまり、図4の更新履歴データ232によると、「Data3」、「Data4」、「Data1」の順に、更新処理が行われている。
暗号化分割モジュール221は、データへのアクセス処理が発生したときに、更新履歴データ232を更新する。また、図4の例では、更新履歴データ232を示すが、統合ストレージサーバ10は、さらに、参照履歴データを有していてもよい。
[アクセスランキング情報]
図5は、図3に示したアクセスランキング情報233の一例を示す図である。図5のアクセスランキング情報233は、ローカルストレージサーバ60及びクラウドストレージサーバ70に、既に記憶しているデータのそれぞれについて情報を有する。アクセスランキング情報233は、データそれぞれについて、データID(identification:ID)、データ名、データサイズ、アクセスカウント、アクセスランキング、分割比率の情報を有する。
データIDは、図4で説明したデータIDと同一である。データ名は、データの名前である。データのサイズは、クラウドストレージ装置72、及び、ローカルストレージ装置62に記憶されているデータ全体のサイズである。アクセスカウントは、データに対する更新処理、及び、参照処理が発生した回数である。
アクセスランキングは、所定の期間におけるアクセスカウントに基づいて算出される、データ間のランキングである。この例において、アクセスランキングが値「1」に近づくほどアクセス頻度が高いことを示し、値「9」に近づくほどアクセス頻度が低いことを示す。
分割比率は、前述したとおり、データの全体サイズにおける、ローカルストレージ装置62に記憶するデータサイズの割合である。図5の分割比率は、前回、データの更新処理が行われたときに算出された分割比率を示す。
具体的に、「ID=0」の「Data1」のサイズは、「10」MB(megabyte:MB)であって、アクセスカウントは「25」回である。また、「Data1」のアクセスランキングは「9」であって、分割比率は「0.1」である。つまり、「Data1」は、アクセス頻度が相対的に低い。したがって、分割比率は小さく、「Data1」の1割のデータがローカルストレージ装置62に、9割のデータがクラウドストレージ装置72に記憶されている。
同様にして、「ID=1」の「Data2」のサイズは、「20」MBであって、アクセスカウントは「28」回である。また、「Data2」のアクセスランキングは「6」であって、分割比率は「0.1」である。したがって、「Data2」は、「Data1」に対してアクセス頻度が高いものの、分割比率は「Data1」と同様である。
他のデータ(Data3〜Data10)についても同様である。このように、アクセスランキング情報233は、ローカルストレージ装置62及びクラウドストレージ装置72に記憶しているデータそれぞれについて、分割前のサイズ、アクセスランキング、及び、既に適用されている分割比率の情報を有する。
ここで、図1〜図3に示した統合ストレージサーバ10が行うデータの分割処理の概要を、図6にしたがって、説明する。
[データの分割処理の概要]
図6は、データの分割処理の概要を説明する図である。図6において、統合ストレージサーバ10のストレージインターフェースは、図3で説明したストレージアクセスモジュール220(以下、ストレージインターフェース220と称する)に対応する。
また、クラウドストレージサーバ70(図1)のストレージインターフェース71は、クラウドストレージ領域へのアクセスを制御するモジュールである。クラウドストレージ領域は、図1のクラウドストレージ装置72の領域(以下、クラウドストレージ領域72と称する)を示す。また、ローカルストレージサーバ60(図1)のストレージインターフェース61は、ローカルストレージ領域へのアクセスを制御するモジュールである。ローカルストレージ領域は、図1のローカルストレージ装置62の領域(以下、ローカルストレージ領域62と称する)を示す。
図6のアプリケーションサーバ20(図1)で動作するアプリケーションプログラム21は、例えば、統合ストレージサーバ10に更新対象のデータを出力する。統合ストレージサーバ10のストレージインターフェース220及び暗号化分割モジュール221は、入力された更新対象のデータを暗号化し、分割比率Xにしたがって、データd60とデータd70に分割する。
ローカルストレージ領域62に記憶するデータd60は、暗号化された更新対象データのサイズに分割比率Xを乗算したサイズ「D×X」のデータである。統合ストレージサーバ10のストレージインターフェース220は、ストレージインターフェース61を介して、データd60をローカルストレージ領域62に記憶させる。
また、クラウドストレージ領域72に記憶するデータd70は、暗号化された更新対象データのサイズに(1−分割比率X)を乗算したサイズ「D×(1−X)」のデータである。統合ストレージサーバ10のストレージインターフェース220は、ストレージインターフェース71を介して、データd70をクラウドストレージ領域72に記憶させる。
このように、本実施の形態例における統合ストレージサーバ10は、データを暗号化し、暗号化したデータを分割する。そして、統合ストレージサーバ10は、分割したデータを異なるストレージ領域62、72に記憶する。いずれかのストレージ領域に記憶されたデータだけでは、データの復号化が行えないため、データの秘匿性と復元性とを実現することが可能になる。
データの分割するための分割比率Xをシステムの設計時に、予め、設定する場合は、将来、保存されるデータ量や、将来保存されるデータのアクセス頻度を運用開始前に予測する必要があり、適切な分割比率を出すのは容易ではない。したがって、設計工程において、すべてのデータに対して適切な分割比率Xを設定するには、大幅な工数がかかる。
また、仮に、分割比率を設定した場合でも、運用の予定外の変更や、利用方法の大幅な変更などの発生により、データのサイズやアクセス頻度が変化する場合がある。このような場合、運用の当初、適切であった分割比率が、運用の途中に不適切になる場合がある。
また、図1で前述したとおり、ローカルストレージサーバ60へのアクセス速度は、クラウドストレージサーバ70へのアクセス速度よりも、高速である。したがって、分割比率Xを大きな値にすることによって、ローカルストレージ領域62に記憶するデータのサイズの割合を大きくすることができる。これにより、データのアクセス速度を大幅に向上させることが可能になる。
しかしながら、分割比率Xを大きくした場合、データのアクセス速度が向上するものの、ローカルストレージ領域62に記憶するデータのサイズが大きくなる。これにより、複数のデータが記憶される場合、ローカルストレージ領域62に記憶可能な容量の制限に達してしまうことがある。即ち、ローカルストレージ領域62の空き容量がボトルネックとなり、データアクセス速度の要求に対応できなくなることがある。
一方、分割比率Xを小さくする場合、クラウドストレージ領域72に記憶するデータのサイズが大きくなる。この場合、クラウドストレージ領域72に記憶するときのネットワークの帯域がボトルネックとなり、データのアクセス速度の要求に対応できなくなることがある。
したがって、本実施の形態例における統合ストレージサーバ10は、データの更新処理ごとに、更新対象データの分割比率Xを算出し、暗号化した更新対象データを分割し、クラウドストレージ領域72とローカルストレージ領域62とに記憶する。これにより、統合ストレージサーバ10は、更新対象のデータ単位に、適切な分割比率Xを算出可能になる。また、設計工程において、適切な分割比率Xを設定する工数がかからない。
このために、統合ストレージサーバ10は、ローカルストレージ領域62の空き容量と、データのアクセス状況とに基づいて、更新対象のデータごとの分割比率Xを算出する。これにより、統合ストレージサーバ10は、ローカルストレージ領域の容量の範囲で、アクセス頻度の高いデータほど、大きな分割比率Xを算出することができる。したがって、統合ストレージサーバ10は、ローカルストレージ領域62の容量を効率的に利用しながら、データのアクセス速度の向上を図ることができる。
また、統合ストレージサーバ10は、データのアクセス状況を考慮して、データの更新処理ごとに分割比率Xを算出する。つまり、データのアクセス状況の変化に連動して分割比率Xを算出することから、運用が変化した場合であっても、変化に応じた分割比率Xを算出することが可能になる。
次に、図7にしたがって、分割比率Xの算出処理を説明する。
[分割比率Xの算出処理]
図7は、本実施の形態例における統合ストレージサーバ10のデータの分割比率の算出処理の概要を説明する図である。前述したとおり、本実施の形態例における統合ストレージサーバ10は、データの更新ごとに、更新対象データの分割比率Xを算出する。
図7は、ローカルストレージ領域62の空き領域のサイズ「S」と、更新対象データが使用可能なローカルストレージ領域62の空き容量「AC」とを示す。統合ストレージサーバ10は、次の式1にしたがって、更新対象データの分割比率Xを算出する。即ち、式1に示すように、統合ストレージサーバ10は、更新対象データが使用可能なローカルストレージ領域62の空き容量「AC」を、更新対象データのサイズ「D」にしたがって除算することによって、分割比率Xを算出する。
X=AC/D…式1
次に、式1における更新対象データが使用可能なローカルストレージ領域62の空き容量「AC」を説明する。統合ストレージサーバ10は、次の式2にしたがって、更新対象データを記憶可能な空き容量「AC」を算出する。
AC=S−R+DS…式2
式2における値「S」は、図7に示す、ローカルストレージ領域62の空き領域のサイズである。また、値「DS」は、更新対象のデータIDのデータであって、既にローカルストレージ領域62に記憶されているデータのサイズを示す。データの更新処理によって、ローカルストレージ領域62に既に記憶されているデータは、上書きされる。したがって、統合ストレージサーバ10は、更新処理によって上書きされるサイズ「DS」を、更新対象データを記憶可能な空き容量「AC」に加算する。
また、値「R」は、リザーブ領域のサイズである。リザーブ領域は、ローカルストレージ領域62に記憶されているデータのうち、更新対象データ以外のデータの更新時のために確保しておく領域を示す。言い換えると、リザーブ領域は、更新対象データ以外のデータが、将来の更新時に適切な分割比率にしたがって記憶された場合に使用するローカルストレージ領域62の容量を示す。
リザーブ領域は、主に、図7に示す、アクセス頻度が高いデータのためのリザーブ領域のサイズ「SH」と、アクセス頻度が低いデータのためのリザーブ領域のサイズ「SL」によって構成される。サイズ「SH」は、アクセス頻度が高いデータの更新時のために確保する、ローカルストレージ領域62の容量を示す。また、サイズ「SL」は、アクセス頻度が低いデータの更新時のために確保する、最小限のローカルストレージ領域62の容量を示す。リザーブ領域のサイズ「R」については、フローチャート図13、図14にしたがって後述する。
式2に戻り、統合ストレージサーバ10は、ローカルストレージ領域62の空き容量「S」から、将来の更新時に使用するために確保するリザーブ領域のサイズ「R」を減算し、更新対象のデータIDのローカルストレージ領域62に記憶されているデータサイズ「DS」を加算する。これにより、統合ストレージサーバ10は、更新対象データを記憶可能なローカルストレージ領域62の空き容量「AC」を算出する。
そして、統合ストレージサーバ10は、更新対象データが使用可能なローカルストレージ領域62の空き容量「AC」を、更新対象データのサイズ「D」にしたがって除算することによって、分割比率Xを算出する。
このように、統合ストレージサーバ10は、ローカルストレージの空き容量「S」と、ローカルストレージ領域62のアクセス状況に応じたリザーブ領域のサイズ「R(SH、SL)」を考慮し、分割比率Xを算出する。つまり、統合ストレージサーバ10は、各データがアクセス状況に応じて利用すると想定されるローカルストレージ領域62を確保した上で、更新対象データの分割比率を算出する。これにより、将来の更新処理で使用するローカルストレージ領域62が確保される。
したがって、統合ストレージサーバ10は、データの更新処理時に、ローカルストレージ領域62の容量が不足することを抑制することができる。これにより、ローカルストレージ領域62の容量が不足したことに起因して記憶されているデータの分割比率を再設定する必要がなくなる。したがって、統合ストレージサーバ10は、データのアクセス速度が劣化することを抑制することができる。
また、統合ストレージサーバ10は、アクセス状況に応じたリザーブ領域のサイズ「R(SH、SL)」を考慮し、分割比率Xを算出する。これにより、統合ストレージサーバ10は、アクセス頻度がより高いデータが、より多くのローカルストレージ領域62を使用できるように分割比率Xを算出する。したがって、更新処理が先に行われたデータによって、ローカルストレージ領域62が占有されてしまうことを抑制する。また、統合ストレージサーバ10は、アクセス頻度がより低いデータが、最小限の分割比率にしたがってローカルストレージ領域62を使用できるように、分割比率Xを算出する。
これにより、統合ストレージサーバ10は、各データの分割比率Xを、ローカルストレージ領域62の容量の範囲内で、データのアクセス状況に応じた最適な値にすることができる。したがって、統合ストレージサーバ10は、ローカルストレージ領域62の空き容量と、データのアクセス状況に基づいて、データの秘匿性を維持しながら、アクセス速度の向上を図ることができる。
次に、分割比率が固定の場合と、本実施の形態例のようにデータごとに分割比率を算出する場合とにおける実施例を説明する。
[実施例]
図8は、分割比率が固定の場合と、データごとに分割比率を算出する場合の、ローカルストレージ領域62の状態を説明する第1の例を示す図である。図8は、ローカルストレージ領域62の容量が多い場合を示す。この例において、ローカルストレージ領域62の容量は「200GB(gigabyte:GB)」であって、そのうち、「10GB」が使用済みの領域である。つまり、ローカルストレージ領域62の空き容量は、「190GB」である。また、この例では、暗号化された「10GB」のデータを4つ記憶する場合を示す。
図8の(A)は、分割比率が固定の場合におけるローカルストレージ領域62の状態を説明する図である。この例における、分割比率は、「0.5」である。したがって、統合ストレージサーバ10は、ローカルストレージ領域62、クラウドストレージ領域72それぞれに「5GB」のデータを記憶する。「10GB」のデータを4つ記憶する場合、ローカルストレージ領域62には「20(=5×4)GB」のデータが記憶される。この場合、ローカルストレージ領域62の空き容量が十分であるにも関わらず、ローカルストレージ領域62には、5割のデータしか記憶されていない。
また、図8の(B)は、分割比率がデータごとに算出される場合におけるローカルストレージ領域62の状態を説明する図である。統合ストレージサーバ10は、図7で示した分割比率の算出方法にしたがって、データごとの分割比率を算出する。この場合、ローカルストレージ領域62の空き容量は、十分である。したがって、統合ストレージサーバ10は、データごとに、最大の分割比率「0.9」を算出する。統合ストレージサーバ10は、ローカルストレージ領域62に「9GB」のデータを、クラウドストレージ領域72に「1GB」のデータを記憶する。
「10GB」のデータを4つ記憶する場合、ローカルストレージ領域62には「36(=9×4)GB」のデータが記憶される。この場合、ローカルストレージ領域62の空き容量が十分であるため、統合ストレージサーバ10は、最大の分割比率「0.9」を算出する。ローカルストレージ領域62に記憶されているデータの割合が多いため、統合ストレージサーバ10は、高速に、データにアクセスすることができる。
このように、本実施の形態例における統合ストレージサーバ10は、ローカルストレージ領域62の空き容量を考慮して、データの分割比率Xを算出する。したがって、ローカルストレージ領域62をより効率的に使用できるとともに、データのアクセス速度の向上を図ることができる。ローカルストレージ領域62をより効率的に使用可能になることによって、ハードウェア資産を有効に活用することが可能になる。
図9は、分割比率が固定の場合と、データごとに分割比率を算出する場合の、ローカルストレージ領域62の状態を説明する第2の例を示す図である。図9は、ローカルストレージ領域62の容量が少ない場合を示す。この例において、ローカルストレージ領域62の容量は「30GB」であって、そのうち、「10GB」が使用済みの領域である。つまり、ローカルストレージ領域62の空き容量は、「20GB」である。図8と同様にして、暗号化された「10GB」のデータを4つ記憶する場合を示す。また、各データのアクセス頻度は、異なる。
図9の(A)は、分割比率が固定の場合におけるローカルストレージ領域62の状態を説明する図である。この例における、分割比率は、「0.5」である。図8の(A)と同様にして、統合ストレージサーバ10は、ローカルストレージ領域62、クラウドストレージ領域72それぞれに「5GB」のデータを記憶する。アクセス頻度に関わらず、データの分割比率は一定である。したがって、アクセス頻度が高いデータと、アクセス頻度が低いデータとの分割比率は、同一の値になってしまう。
図9の(B)は、分割比率がデータごとに算出される場合におけるローカルストレージ領域62の状態を説明する図である。本実施の形態例における統合ストレージサーバ10は、データのアクセス頻度を考慮して、データの分割比率Xを算出する。
この場合、統合ストレージサーバ10は、アクセス頻度が高いデータについて、大きい分割比率「0.9」を、アクセス頻度が低いデータについて、小さい分割比率「0.1」を算出する。統合ストレージサーバ10は、分割比率「0.9」にしたがって、ローカルストレージ領域62に「9GB」のデータを、クラウドストレージ領域72に「1GB」のデータを記憶する。また、統合ストレージサーバ10は、暗号化データを、分割比率「0.1」にしたがって、ローカルストレージ領域62に「1GB」のデータを、クラウドストレージ領域72に「9GB」のデータを記憶する。
このように、本実施の形態例における統合ストレージサーバ10は、データのアクセス頻度を考慮して、各データの分割比率Xを算出する。したがって、統合ストレージサーバ10は、アクセス頻度の高いデータには大きい分割比率を、アクセス頻度が低いデータには小さい分割比率を算出する。これにより、アクセス頻度の高いデータの、ローカルストレージ領域62に記憶する割合が高くなる。したがって、統合ストレージサーバ10は、アクセス頻度の高いデータのアクセス速度を向上させることができる。
図10は、分割比率が固定の場合と、データごとに分割比率を算出する場合の、ローカルストレージ領域62の状態を説明する第3の例を示す図である。図10は、ローカルストレージ領域62の容量が不足する場合を示す。この例において、ローカルストレージ領域62の容量は「20GB」であって、そのうち、「10GB」が使用済みの領域である。つまり、ローカルストレージ領域62の空き容量は、「10GB」である。図8と同様にして、暗号化された「10GB」のデータを4つ記憶する場合を示す。また、各データのアクセス頻度は、異なる。
図10の(A)は、分割比率が固定の場合におけるローカルストレージ領域62の状態を説明する図である。この例における、分割比率は、「0.5」である。図8の(A)と同様にして、統合ストレージサーバ10は、ローカルストレージ領域62、クラウドストレージ領域72それぞれに「5GB」のデータを記憶する。ただし、ローカルストレージ領域62の空き容量が「10GB」であるため、統合ストレージサーバ10は、2つのデータを記憶できない。
図10の(B)は、分割比率がデータごとに算出される場合におけるローカルストレージ領域62の状態を説明する図である。本実施の形態例における統合ストレージサーバ10は、ローカルストレージ領域62の空き容量、及び、データのアクセス頻度を考慮して、データの分割比率Xを算出する。
この場合、統合ストレージサーバ10は、アクセス頻度が最も高いデータについて、分割比率「0.3」を算出する。また、統合ストレージサーバ10は、アクセス頻度が最も高いデータ以外のデータについて、分割比率「0.1」を算出する。これにより、ローカルストレージ領域62の使用領域は「10GB」となる。したがって、統合ストレージサーバ10は、4つのデータすべてを記憶することができる。
このように、本実施の形態例における統合ストレージサーバ10は、ローカルストレージ領域62の空き容量と、各データのアクセス状況に基づいて、データの分割比率を算出する。したがって、図10の(B)に示すように、ローカルストレージ領域62の空き容量が少ない場合であっても、ローカルストレージ領域62の空き容量の範囲で、分割比率を算出することが可能になる。
さらに、図10の(B)に示すように、ローカルストレージ領域62の空き容量の範囲で、アクセス頻度の高いデータの分割比率を大きくし、アクセス頻度の高いデータのアクセス速度向上を図ることが可能になる。したがって、本実施の形態例における統合ストレージサーバ10は、ローカルストレージ領域62の容量が限られているという条件の下、アクセス速度の向上を図ることができる。
また、統合ストレージサーバ10は、データ更新時に取得可能な情報に基づいて分割比率を算出するため、分割比率の変更のためのオーバーヘッドを抑えることができる。
次に、データの更新処理を、フローチャート図11〜図15にしたがって説明する。データの参照処理については、フローチャート図16、図17にしたがって説明する。
[データの更新処理]
図11は、本実施の形態例における統合ストレージサーバ10の暗号化分割モジュール221(図3)のデータの更新処理を説明する第1のフローチャート図である。
S31:暗号化分割モジュール221は、アプリケーションサーバ20で動作するアプリケーション(図1)から、データの更新依頼を受け付ける。このとき、暗号化分割モジュール221は、更新対象のデータIDと、更新対象データとを取得する。
S32:暗号化分割モジュール221は、管理情報データベース230の保管場所管理用データ231(図3)を参照して、指定されたデータIDに対応するデータの保管場所を取得する。データは、クラウドストレージサーバ70と、ローカルストレージサーバ60とに分割して記憶されている。例えば、データの保管場所は、データの一部が記憶される、クラウドストレージ領域72及びローカルストレージ領域62上のアドレスを示す。
S33:暗号化分割モジュール221は、更新対象データを暗号化する暗号化キー240を、不揮発性メモリ202(図2)から読み出す。
S34:暗号化分割モジュール221は、読み出した暗号化キー240にしたがって、更新対象データを暗号化する。
暗号化分割モジュール221は、例えば、ステップS35〜S36、ステップS37〜S39、ステップS40〜S41、ステップS42〜S43の処理を並列に行う。
S35:暗号化分割モジュール221は、管理情報データベース230の更新履歴データ232を参照して、前回、更新処理を行ったデータIDを取得する。取得した情報は、後述する図12のステップS51で使用される。
S36:暗号化分割モジュール221は、今回の更新対象のデータIDを、更新履歴データ232に保存する。
S37:暗号化分割モジュール221は、管理情報データベース230のアクセスランキング情報233を参照し、更新前の各データIDのアクセスランキングを取得する。取得した情報は、後述する図12のステップS52で使用される。
S38:暗号化分割モジュール221は、更新対象のデータIDのアクセスカウントをインクリメントする。そして、暗号化分割モジュール221は、アクセスカウントをアクセスランキング情報233(図5)に更新する。
S39:暗号化分割モジュール221は、更新された各データIDのアクセスカウント(参照回数+更新回数)に基づいて、更新対象のデータIDのアクセスランキングを算出する。そして、暗号化分割モジュール221は、アクセスランキングをアクセスランキング情報233(図5)に更新する。
S40:暗号化分割モジュール221は、更新対象のデータIDの更新前のデータのサイズを取得する。暗号化分割モジュール221は、アクセスランキング情報233の項目「サイズ」を参照し、更新対象のデータIDの更新前のデータのサイズを取得する。取得した情報は、後述する図12のステップS53で使用される。
S41:暗号化分割モジュール221は、更新対象のデータIDの更新後のデータ(即ち、更新対象データ)のサイズを取得する。なお、更新対象データのサイズは、暗号化後の更新対象データのサイズである。
S42:暗号化分割モジュール221は、ローカルストレージ領域62の容量が変化した場合に、変更前のローカルストレージ領域62の容量を取得する。例えば、ストレージ装置の故障や、ストレージ装置の追加によって、運用の途中で、ローカルストレージ領域62の容量が変化することがある。
S43:暗号化分割モジュール221は、ローカルストレージ領域62の容量が変化した場合に、変更後のローカルストレージ領域62の容量を取得する。前述したとおり、運用の途中で、ローカルストレージ領域62の容量が変化することがある。したがって、暗号化分割モジュール221は、分割比率Xを算出するたびに、ローカルストレージ領域62の容量を取得する。続く処理については、図12のフローチャート図にしたがって説明する。
図12は、暗号化分割モジュール221のデータの更新処理を説明する第2のフローチャート図である。暗号化分割モジュール221は、ステップS51〜S55にしたがって、更新対象のデータIDの分割比率の算出処理を省略可能なケースを判定する。
S51:暗号化分割モジュール221は、更新対象のデータIDが、前回の更新処理の対象のデータID(ステップS35)と同一であるか否かを判定する。つまり、暗号化分割モジュール221は、連続して、同一のデータIDの更新処理を行っているか否かを判定する。
S52:連続して、同一のデータIDの更新処理を行っている場合(S51のYES)、暗号化分割モジュール221は、さらに、更新対象のデータIDのアクセスランキングが変化したか否かを判定する。具体的に、暗号化分割モジュール221は、更新前の、更新対象のデータIDのアクセスランキング(ステップS37)と、更新後の、更新対象のデータIDのアクセスランキング(ステップS39)とを比較する。
S53:更新対象のデータIDのアクセスランキングが変化していない場合(S52のYES)、暗号化分割モジュール221は、さらに、更新前後のデータのサイズが同一であるか否かを判定する。具体的に、暗号化分割モジュール221は、更新対象のデータIDの更新前のデータサイズ(ステップS40)と、更新対象データのサイズ(ステップS41)とを比較する。
S54:更新前後のデータのサイズが同一である場合(S53のYES)、暗号化分割モジュール221は、さらに、ローカルストレージ領域62の容量(ステップS42、S43)が同一であるか否かを判定する。
S55:ローカルストレージ領域62の容量が変更されていない場合(S54のYES)、暗号化分割モジュール221は、分割比率の算出処理を省略する。暗号化分割モジュール221は、更新対象のデータIDの前回の分割比率を取得し、今回の更新処理の分割比率として使用する。
ステップS51〜S55に示すように、連続して同一のデータIDの更新処理を行っており、更新対象のデータIDのアクセスランキング、データIDのデータのサイズ、ローカルストレージ領域62の容量が同一の場合、分割比率の算出処理が省略される。この場合、たとえ、分割比率を算出しても、更新対象のデータIDの前回の分割比率と、同一の値となる。したがって、暗号化分割モジュール221は、分割比率の算出処理を省略する(S55)。
分割比率の算出処理を省略することによって、暗号化分割モジュール221は、CPU101の負荷を抑えることができる。また、分割比率の算出処理を省略することによって、暗号化分割モジュール221は、データ更新処理を高速に行うことができる。
なお、暗号化分割モジュール221は、更新対象のデータIDのアクセスランキング、データIDのデータのサイズ、ローカルストレージ領域62の容量が同一であっても、前回、異なるデータIDの更新処理を行っている場合は、分割比率を算出する。この場合、更新対象のデータID以外のアクセスランキングが変化している場合があるため、暗号化分割モジュール221が算出する分割比率は、更新対象のデータIDの前回の分割比率と異なる場合がある。したがって、暗号化分割モジュール221は、分割比率を算出し直す。
一方、連続して同一のデータIDの更新処理を行っていない場合、または、更新対象のデータIDのアクセスランキングが変化した場合、または、更新前後のデータのサイズが同一ではない場合、または、ローカルストレージ領域62の容量が変更された場合、暗号化分割モジュール221は、更新対象データの分割比率を算出する。
S56:暗号化分割モジュール221は、更新対象データの分割比率を算出する。処理の詳細は、図13、図14のフローチャート図にしたがって後述する。
S57:ステップS34で暗号化した更新対象データを、算出した分割比率にしたがって分割する。
S58:暗号化分割モジュール221は、分割比率Xにしたがって分割した、クラウドストレージ領域72に記憶する更新対象データを、クラウドストレージ領域72に記憶する。
S59:暗号化分割モジュール221は、分割比率Xにしたがって分割した、ローカルストレージ領域62に記憶する更新対象データを、ローカルストレージ領域62に記憶する。
[分割比の算出処理(図12のS56)]
図13は、更新対象データの分割比率の算出処理を説明する第1のフローチャート図である。
S61:暗号化分割モジュール221は、管理情報データベース230のアクセスランキング情報233を参照し、データIDそれぞれのアクセスランキングを取得する。
S62:暗号化分割モジュール221は、変数n、変数「SH」、変数「SL」を、値「0」に初期化する。
S63:暗号化分割モジュール221は、n番目のデータが、ローカルストレージ及びクラウドストレージ領域72に記憶されているか否かを判定する。n番目のデータが、ローカルストレージ及びクラウドストレージ領域72に記憶されていない場合(S63のNO)、暗号化分割モジュール221は、リザーブ領域のサイズ「SH」、「SL」の算出処理を終了する。
S64:暗号化分割モジュール221は、n番目のデータが記憶されている場合(S63のYES)、n番目のデータのアクセスランキングが、更新対象のデータIDのアクセスランキングと同じか高いかを判定する。
S65:n番目のデータが更新対象のデータIDより、アクセスランキングが同じか上位の場合(S64のYES)、暗号化分割モジュール221は、式3にしたがって、リザーブ領域のサイズ「SH」を計算する。
SH=SH+(n番目のデータサイズ)×Dmax−(n番目のデータのうち、ローカルストレージ領域62に記憶されているデータのサイズ)…式3
式3におけるリザーブ領域のサイズ「SH」は、データを最大分割比率「Dmax」で分割すると仮定した場合に確保すべき、ローカルストレージ領域62の容量を示す。分割比率「Dmax」は、分割比率の上限値である。本実施の形態例では、分割比率Dmaxは、例えば、値「0.9」である。
より具体的に、暗号化分割モジュール221は、更新対象のデータIDよりアクセスランキングが同じか上位のデータIDのデータサイズに分割比率の上限値「Dmax」を乗算する(「(データサイズ)×Dmax」)。これにより、暗号化分割モジュール221は、データを最大の分割比率「Dmax」にしたがって分割すると仮定した場合のサイズを算出する。
そして、暗号化分割モジュール221は、算出した乗算値と、既に、ローカルストレージ領域62に記憶されているデータサイズとの差を算出する(「(データサイズ)×Dmax−(ローカルストレージ領域62に記憶されているデータのサイズ)」)。これにより、暗号化分割モジュール221は、データを最大の分割比率「Dmax」にしたがって分割すると仮定した場合に、追加して確保すべきローカルストレージ領域62のサイズ「SH」を算出する。
暗号化分割モジュール221は、更新対象のデータIDよりアクセスランキングが同じか上位のデータIDすべてに対して、値「SH」を算出し、累計することによって、最終的な値「SH」を算出する。値「SH」は、更新対象のデータIDとアクセスランキングが同じか上位のデータIDの分割比率が分割比率「Dmax」に対して小さいほど、より大きな値になる。
S66:一方、n番目のデータが更新対象のデータIDより、アクセスランキングが下位の場合(S64のNO)、暗号化分割モジュール221は、式4にしたがって、リザーブ領域のサイズ「SL」を計算する。
SL=SL+(n番目のデータサイズ)×Dmin−(n番目のデータのうち、ローカルストレージ領域62に記憶されているデータのサイズ)…式4
式4におけるリザーブ領域のサイズ「SL」は、データを最大分割比率「Dmin」で分割すると仮定した場合に不要となる、ローカルストレージ領域62の容量を示す。分割比率「Dmin」は、分割比率の下限値である。本実施の形態例では、分割比率Dminは、例えば、値「0.1」である。
より具体的に、暗号化分割モジュール221は、更新対象のデータIDよりアクセスランキングが下位のデータIDのデータサイズに分割比率の下限値「Dmin」を乗算する(「(データサイズ)×Dmin」)。これにより、暗号化分割モジュール221は、データを最小の分割比率「Dmin」にしたがって分割すると仮定した場合のサイズを算出する。
そして、暗号化分割モジュール221は、算出した乗算値と、既に、ローカルストレージ領域62に記憶されているデータサイズとの差を算出する(「(データサイズ)×Dmin−(ローカルストレージ領域62に記憶されているデータのサイズ)」)。これにより、暗号化分割モジュール221は、データを最大の分割比率「Dmin」にしたがって分割すると仮定した場合に、不要となるローカルストレージ領域62のサイズ「SL」を算出する。
暗号化分割モジュール221は、更新対象のデータIDよりアクセスランキングが下位のデータIDすべてに対して、値「SL」を算出し、累計することによって、最終的な値「SL」を算出する。値「SL」は、更新対象のデータIDとアクセスランキングが下位のデータIDの分割比率が分割比率「Dmin」に対して大きいほど、大幅なマイナス値になる。
S67:ステップS65、S66の後、暗号化分割モジュール221は、変数「n」の値をインクリメントする。そして、暗号化分割モジュール221は、ステップS63に遷移し、再び、n番目のデータが、ローカルストレージ及びクラウドストレージ領域72に記憶されているか否かを判定する。n番目のデータが、ローカルストレージ及びクラウドストレージ領域72に記憶されていない場合(S63のNO)、暗号化分割モジュール221は、算出したリザーブ領域のサイズ「SH」、「SL」にしたがって、分割比率を算出する。
次に、算出したリザーブ領域のサイズ「SH」、「SL」にしたがって分割比率を算出する処理について、図14のフローチャート図にしたがって説明する。
図14は、更新対象データの分割比率の算出処理を説明する第2のフローチャート図である。
S71:暗号化分割モジュール221は、式5にしたがって、リザーブ領域の合計サイズ「R」を算出する。
R=SH+SL−D×Dmax…式5
式5における変数Dは、更新対象データのサイズを示す。値「D×Dmax」は、更新対象データ用の、リザーブ領域のサイズ「SH」を示す。ステップS65で算出したリザーブ領域「SH」には、更新対象データのリザーブ領域のサイズも含まれる。したがって、暗号化分割モジュール221は、リザーブ領域の合計サイズ「R」から、更新対象データ用のリザーブ領域のサイズ「D×Dmax」を減算して除外しておく。
S72:暗号化分割モジュール221は、リザーブ領域の合計サイズRがマイナス値か否かを判定する。例えば、更新対象データのデータIDより、アクセスランキングが下位のデータIDの分割比率が大きい値である場合、リザーブ領域の合計サイズ「R」がマイナス値になり得る。
S73:リザーブ領域の合計サイズ「R」がマイナス値である場合(S72のYES)、暗号化分割モジュール221は、リザーブ領域の合計サイズRを値「0」に設定する。リザーブ領域の合計サイズRがマイナス値の場合、確保しておく領域が必要ないことを示すため、暗号化分割モジュール221は、リザーブ領域の合計サイズRを値「0」にリセットする。
S74:暗号化分割モジュール221は、図7で前述した、式2(AC=S−R+DS)にしたがって、更新対象データが使用可能なローカルストレージ領域62の空き容量「AC」を算出する。
図7で前述したとおり、暗号化分割モジュール221は、ローカルストレージ領域62の空き容量Sに、更新対象データが使用中のローカルストレージ領域62のサイズ「DS」を加算した値から、リザーブ領域の合計サイズ「R」を減算することで、値「AC」を算出する。
S75:暗号化分割モジュール221は、図7で前述した、式1(X=AC/D)にしたがって、分割比率を算出する。暗号化分割モジュール221は、更新対象データが使用可能なローカルストレージ領域62の空き容量「AC」を、更新対象データのサイズ「D」にしたがって除算することによって、更新対象データの分割比率「X」を算出する。
S76:暗号化分割モジュール221は、ステップS75で算出した分割比率「X」が、分割比率の下限値「Dmin」より小さいか否かを判定する。
S77:算出した分割比率「X」が、分割比率の下限値「Dmin」より小さい場合(S76のYES)、更新対象データを分割比率の下限値「Dmin」にしたがって分割した場合でも、ローカルストレージ領域62に記憶できない場合を示す。つまり、ローカルストレージ領域62の空き容量が不足している場合を示す。したがって、暗号化分割モジュール221は、更新対象のデータID以外のデータIDの更新処理を行う。これにより、暗号化分割モジュール221は、ローカルストレージ領域62の空き容量を増加させる。処理の詳細については、図15のフローチャート図にしたがって後述する。
S78:暗号化分割モジュール221は、更新対象データの分割比率を、分割比率の下限値「Dmin」に設定する。暗号化分割モジュール221は、ステップS77にしたがって、ローカルストレージ領域62の空き容量を増加させたことにより、分割比率Xを下限値「Dmin」に設定可能になる。
S79:暗号化分割モジュール221は、算出した分割比率「X」が、分割比率の下限値「Dmin」以上である場合(S76のNO)、算出した分割比率「X」が、分割比率の上限値「Dmax」より大きいか否かを判定する。
S80:算出した分割比率「X」が、分割比率の上限値「Dmax」より大きい場合(S79のYES)、更新対象データを分割比率の上限値「Dmax」にしたがって分割可能な場合を示す。つまり、ローカルストレージ領域62の空き容量が、充分に足りている場合を示す。したがって、暗号化分割モジュール221は、更新対象データの分割比率を、分割比率の上限値「Dmax」に設定する。
したがって、算出した分割比率「X」が、分割比率の下限値「Dmin」以上であって、分割比率の上限値「Dmax」以下の場合、暗号化分割モジュール221は、算出した分割比率「X」を更新対象データの分割比率として設定する。
このように、暗号化分割モジュール221は、式1で算出した分割比率「X」が、上限値「Dmax」を超える場合は、値「Dmax」を分割比率「X」とする。または、暗号化分割モジュール221は、式1で算出した分割比率「X」が、上限値「Dmin」を下回る場合は、値「Dmin」を分割比率「X」とする。これにより、データがいずれかのストレージ装置のみに記憶されることが回避され、データの秘匿性が維持される。また、分割比率の上限値と下限値が設けられることにより、データの秘匿性を保証する最小限の比率が確保される。
図15は、図14における更新対象のデータID以外のデータIDの更新処理(S77)を説明するフローチャート図である。図14のフローチャート図で説明したとおり、暗号化分割モジュール221は、ローカルストレージ領域62の空き容量が不足していることにより、更新対象のデータID以外のデータIDの更新処理を行う。
なお、この例では、暗号化分割モジュール221は、算出した分割比率「X」が、分割比率の下限値「Dmin」より小さい場合に(図14のS76のYES)、図15のフローチャート図の処理を行う。しかしながら、この例に限定されるものではない。暗号化分割モジュール221は、ローカルストレージ領域62の容量が基準値を下回ったときに、図15のフローチャート図の処理を行ってもよい。
S81:暗号化分割モジュール221は、更新対象のデータID以外のデータIDのうち、分割比率が最大のデータIDを選択する。分割比率が最大のデータIDが複数ある場合、暗号化分割モジュール221は、分割比率が最大のデータIDのうち、データサイズが大きいデータIDを選択する。
S82:暗号化分割モジュール221は、選択したデータIDの更新処理を行う。具体的に、暗号化分割モジュール221は、後述する図16、図17のフローチャート図にしたがって、選択したデータIDの参照処理を行い、選択したデータIDのデータを取得する。そして、暗号化分割モジュール221は、図11〜図14のフローチャート図にしたがって、取得したデータを更新対象データとして、選択したデータIDの更新処理を行う。
これにより、選択したデータIDの分割比率が算出され、算出された分割比率にしたがってクラウドストレージ領域72及びローカルストレージ領域62に記憶される。分割比率の再計算が行われることにより、算出された分割比率が、算出前の分割比率に対して小さくなることがある。
また、分割比率の算出処理は、データの更新処理時にしか行われない。したがって、長い期間、更新処理が行われないデータIDは、アクセスランキングが低いにも関わらず、分割比率は大きい値に設定されていることがある。データIDの分割比率が再計算されることによって、算出される分割比率は、算出前の分割比率に対して小さくなることがある。
この場合、算出した分割比率にしたがって、データIDのデータをローカルストレージ及びクラウドストレージ領域72に記憶し直すことにより、ローカルストレージ領域62の空き容量が大きくなる。
S83:暗号化分割モジュール221は、ローカルストレージ領域62の空き容量が、更新対象データを分割比率の下限値「Dmin」にしたがって分割した場合のローカルストレージを使用サイズ「D×Dmin」よりも大きいか否かを判定する。つまり、暗号化分割モジュール221は、更新対象データを分割比率「Dmin」にしたがって分割する場合に使用する、ローカルストレージ領域62の容量を確保したか否かを判定する。
S84:ローカルストレージ領域62の容量を確保できていない場合(S83のNO)、暗号化分割モジュール221は、次に分割比率が大きく、データサイズが大きいデータIDを選択する。そして、暗号化分割モジュール221は、ステップS82に遷移し、同様にして、選択したデータIDの更新処理を行う。
このように、暗号化分割モジュール221は、更新対象のデータID以外のデータIDの更新処理を行う。これにより、暗号化分割モジュール221は、更新対象データを分割比率「Dmin」にしたがって分割する場合に使用する、ローカルストレージ領域62の容量を確保することができる。ローカルストレージ領域62の容量を確保できた場合(S83のYES)、暗号化分割モジュール221は、前述したとおり、図14のステップS78の処理に遷移する。
図15のフローチャート図では、分割比率が大きいデータIDの順に更新処理を行う。ただし、この例に限定されるものではない。例えば、暗号化分割モジュール221は、長期間、更新処理が行われていないデータIDから順に、更新処理を行ってもよい。または、暗号化分割モジュール221は、例えば、更新対象のデータID以外のすべてのデータIDに対して、更新処理を行ってもよい。
[データの参照処理]
図11〜図15で説明してきたとおり、暗号化分割モジュール221は、データ更新処理の発生時に、分割比率の算出、及び、分割比率に基づくデータの分割を行う。しかしながら、データの更新処理時のみに、分割比率を算出すると、繰り返し参照されるデータの分割比率が更新されない。
繰り返し参照されるデータは、アクセス頻度が高いため、分割比率を高く設定することによりアクセス速度を向上することが望ましい。しかしながら、データの参照処理時には、分割比率が算出されないことから、分割比率が小さいままとなり、アクセス速度が向上しない。したがって、暗号化分割モジュール221は、データの参照回数が基準回数を超えた場合に、参照したデータに基づいて、データの更新処理を行う。
図16は、暗号化分割モジュール221のデータの参照処理を説明する第1のフローチャート図である。
S11:暗号化分割モジュール221は、アプリケーションからデータの読み出し依頼を受け付ける。このとき、暗号化分割モジュール221は、読み出し対象のデータIDを取得する。
S12:暗号化分割モジュール221は、管理情報データベース230の保管場所管理用データ231(図3)を参照して、指定されたデータIDに対応するデータのアドレスを取得する。
S13:暗号化分割モジュール221は、取得した保管場所に基づいて、ローカルストレージサーバ60からデータを取得する。
S14:ステップS13と並列して、暗号化分割モジュール221は、取得した保管場所に基づいて、クラウドストレージサーバ70からデータを取得する。
S15:暗号化分割モジュール221は、ローカルストレージサーバ70から取得したデータ(S13)と、クラウドストレージサーバ70から取得したデータ(S14)とを結合する。
S16:暗号化分割モジュール221は、データIDの復号化キー240を、不揮発性メモリ202(図2)から読み出す。
S17:暗号化分割モジュール221は、ステップS15で結合したデータIDのデータを、ステップS16で読み出した復号化キー240にしたがって復号化する。
S18:暗号化分割モジュール221は、復号化したデータをアプリケーションに出力する。続く処理については、図17のフローチャート図にしたがって説明する。
図17は、暗号化分割モジュール221のデータの参照処理を説明する第2のフローチャート図である。
S21:暗号化分割モジュール221は、データIDの参照回数をインクリメントする。
S22:暗号化分割モジュール221は、データIDのデータの参照回数が基準数の倍数に達したか否かを判定する。基準数は、任意の回数である。
S23:データIDの参照回数が基準数の倍数に達した場合(S22のYES)、暗号化分割モジュール221は、参照処理にしたがって読み出したデータに基づいて更新処理を行う。つまり、暗号化分割モジュール221は、データIDのデータを参照処理の基準数に1回、当該データIDの更新処理を行う。
このように、暗号化分割モジュール221は、データの参照処理時に、データの参照回数が基準数を超えた場合に、当該データの更新処理を行う。これにより、暗号化分割モジュール221は、当該データIDの分割比率を算出し、分割比率にしたがって分割したデータをローカルストレージサーバ60及びクラウドストレージサーバ70に記憶する。
これにより、暗号化分割モジュール221は、繰り返し、参照処理が行われるデータの分割比率を適切な分割比率にすることができる。暗号化分割モジュール221は、例えば、参照回数の多いデータIDの分割比率を大きい値に設定することができる。これにより、暗号化分割モジュール221は、当該データのアクセス速度を向上させることができる。
なお、暗号化分割モジュール221は、新規のデータの書き込み時には、分割比率の下限値「Dmin」にしたがって分割し、クラウドストレージ領域72及びローカルストレージ領域62に記憶する。または、暗号化分割モジュール221は、新規のデータの書き込み時に、予め設定した任意の分割比率にしたがって分割し、クラウドストレージ領域72及びローカルストレージ領域62に記憶する。
[具体例]
図18は、具体例におけるストレージのアクセスタイムと、分割比率の上限値及び下限値を説明する図である。図18によると、本実施の形態例において、分割比率の上限値「Dmax」は値「0.9」に、下限値「Dmin」は、値「0.1」に設定される。また、本実施の形態例において、クラウドストレージサーバ70に記憶されたデータのアクセスタイムは、「8.3(milli second:ms/megabyte:MB)」である。また、ローカルストレージサーバ60に記憶されるデータのアクセスタイムは、「167(ms/MB)」である。
図19は、具体例におけるローカルストレージ領域62の情報、及び、データのサイズを説明する図である。図19によると、本実施の形態例において、ローカルストレージ領域62及びクラウドストレージ領域72に記憶する複数のデータのトータルサイズは、「300MB」である。また、ローカルストレージ領域62の容量は、「100MB」である。つまり、この例において、ローカルストレージ領域62の容量の3倍のサイズのデータが、ローカルストレージ及びクラウドストレージ領域72に記憶される。
また、図19によると、この時点のローカルストレージ領域62の使用率は、「54.8%」である。つまり、この時点で、ローカルストレージ領域62における、「45.2%」の領域にデータが記憶されておらず、使用効率が高くないことを示す。
次に、図18、図19に示した状態において、データ「Data5」の更新処理を行う場合を説明する。
図20は、データ「Data5」の更新処理を行った場合におけるアクセスランキング情報233−1を示す図である。図20のアクセスランキング情報233−1は、図5に示すアクセスランキング情報233に対して、データ「Data5」のアクセスカウント、アクセスランキング、分割比率が更新された情報である。
具体的に、図20のアクセスランキング情報233−1は、図5のアクセスランキング情報233に対して、データID「4」のデータ「Data5」のアクセスカウントが値「33」から値「34」に更新されている。また、アクセスランキング情報233−1において、データ「Data5」のアクセスカウントが値「34」に更新されたことから、データ「Data5」のアクセスランキングが値「3」から値「2」に更新されている。つまり、アクセスランキングが高くなっている。
暗号化分割モジュール221は、更新されたアクセスランキング情報233−1にしたがって、データ「Data5」の分割比率を算出する(図13、図14)。アクセスランキング情報233−1によると、データ「Data5」の更新後のアクセスランキング「2」とランキングが同一か上位のデータは、データ「Data3」「Data8」である。したがって、暗号化分割モジュール221は、データ「Data3」「Data5」「Data8」のリザーブ領域のサイズ「SH」を算出する(図13のS65)。また、暗号化分割モジュール221は、データ「Data1」「Data2」「Data4」〜「Data7」「Data9」「Data10」のリザーブ領域のサイズ「SL」を算出する(図13のS66)。
そして、暗号化分割モジュール221は、ローカルストレージ領域62の空き容量と、算出したリザーブ領域の合計サイズ「R」と、データ「Data5」のローカルストレージ領域62に記憶されているサイズ「DS」にしたがって、値「AC」を算出する(図14のS71〜S74)。そして、暗号化分割モジュール221は、算出した値「AC」をデータ「Data5」のサイズ「D」で除算することによって、分割比率Xを算出する(図14のS75)。この場合、算出される分割比率は、「0.9」である。
図5のアクセスランキング情報233によると、データ「Data5」の前回の分割比率は「0.1」である。データ「Data5」の更新処理が行われたことにより、データ「Data5」のアクセスランキングが上がり、分割比率が「0.1」から「0.9」に増加している。
なお、図4に示す更新履歴データ232に基づく場合、前回、更新されたデータのデータIDは、データID「Data3」である(図12のS51のNO)。したがって、この場合、連続して同一のデータを更新する場合に当たらない。したがって、この場合は、分割比率の算出処理を省略する場合に当たらない。
図21は、データ「Data5」の更新処理後のローカルストレージの情報、及び、データのサイズを説明する図である。図21によると、ローカルストレージの使用率は、「78.8%」である。つまり、データ「Data5」の更新処理によって、ローカルストレージの使用率は、「54.8%」から「78.8%」に変化している。したがって、ローカルストレージの使用率が100%に近づき、より効率的に、ローカルストレージが使用されていることを示す。
図22は、データ「Data5」のアクセスタイムを説明する図である。図18で説明したとおり、クラウドストレージサーバに記憶されたデータのアクセスタイムは、「8.3(ms/MB)」である。また、ローカルストレージサーバに記憶されるデータのアクセスタイムは、「167(ms/MB)」である。
前述したとおり、データ「Data5」の更新時に、データ「Data5」の分割比率は、値「0.1」から値「0.9」に更新されている。分割比率が値「0.1」から値「0.9」に増加することにより、データ「Data5」のアクセスタイムは、「4533.9ms」から「725.1ms」に向上している。
このように、暗号化分割モジュール221は、データごとに、データのサイズやローカルストレージ領域62の空き容量に基づいて分割比率を算出するため、ローカルストレージ領域62の使用率を向上させることができる。また、暗号化分割モジュール221は、さらに、データのアクセス状況に基づいて分割比率を算出するため、データのアクセス速度を向上させることができる。
[平均利用効率、平均アクセス時間]
次に、分割比率が固定の場合と、データごとに分割比率を算出する場合におけるローカルストレージ領域62の平均利用効率、及び、平均アクセス時間を説明する。
図23は、分割比率が固定の場合と、データごとに分割比率を算出する場合におけるローカルストレージ領域62の平均利用効率を説明する図である。利用効率が100%に近いほど、利用効率がよいことを表す。利用効率の平均値は、データ更新処理を300回行う1セットを10回実行した場合における平均値である。
図23の列R1は、データのアクセス傾向がない場合における、利用効率の平均値を示す。また、データのアクセス傾向とは、記憶されているデータごとのアクセス頻度のパターンの傾向を示す。また、列R1は、更新対象データのサイズが一定の場合、更新対象データが増加する場合、及び、更新対象データが増減する場合におけるローカルストレージ領域62の平均利用効率を有する。
また、図23の列R2は、データのアクセス傾向が一定の場合における、平均利用効率を示す。列R2は、列R1と同様にして、更新対象データのサイズが一定の場合、更新対象データが増加する場合、及び、更新対象データが増減する場合におけるローカルストレージ領域62の平均利用効率を有する。同様にして、図23の列R3は、データのアクセス傾向が変化する場合における平均利用効率を示す。
図23によると、特に、更新対象データのサイズが増加する場合、及び、更新対象データのサイズが増減する場合に(Y1)、分割比率が固定である場合に対して、ローカルストレージの平均利用効率が100%に近い。つまり、更新対象データのサイズが変化する場合(Y1)、データの分割比率が固定である場合に対して、ローカルストレージの平均利用効率が大きく向上している。
前述したとおり、本実施の形態例におけるデータは、例えば、データベースのテーブルである。例えば、テーブルは、テキスト情報や、バイナリ情報等も含む。したがって、同一のデータIDであっても、データのサイズの変動が発生する。
図24は、分割比率が固定の場合と、データごとに分割比率を算出する場合における平均アクセス時間を説明する図である。平均アクセス時間は、データアクセスにかかる時間の平均値である。平均アクセス時間が小さいほど、アクセス速度が高いことを示す。平均アクセス時間は、データ更新処理を300回行う1セットを10回実行した場合における平均値である。
図24の列R1〜R3のアクセス傾向は、図23と同様である。また、図24の各列R1〜R3は、図23と同様にして、更新対象データのサイズが一定の場合、更新対象データが増加する場合、及び、更新対象データが増減する場合における平均アクセス時間を有する。
図24によると、更新対象データのサイズが一定の場合も含み、分割比率をデータごとに算出する場合、分割比率が固定である場合に対して、平均アクセス時間が小さくなる。つまり、分割比率をデータごとに算出する場合、分割比率が固定である場合に対して、アクセス速度が向上することを示す。また、図24によると、データのアクセス傾向が固定の場合に(R2)、平均アクセス時間が大きく向上している。
このように、本実施の形態例における統合ストレージサーバ10によると、ローカルストレージ領域62の利用効率が大きく向上するとともに、各データのアクセス速度が大幅に向上する。これにより、ハードウェア資源を効率的に利用可能になる。また、データを異なるストレージに分割して記憶する場合であっても、アクセス速度が低下することを抑制することが可能になる。
以上のように、本実施の形態例における統合ストレージサーバ10は、第1記憶装置と第2記憶装置とに分割して記憶された複数のデータのいずれかにアクセスが行われた場合に、複数のデータそれぞれのアクセス状況を取得する。また、統合ストレージサーバ10は、アクセス状況と、第1の記憶装置の空き容量とに基づいて、アクセスの対象データの分割比率を算出する。そして、統合ストレージサーバ10は、算出した分割比率にしたがって対象データを分割して、第1の記憶装置と第2の記憶装置とに記憶する。第1の記憶装置は、ローカルストレージ領域62に、第2に記憶装置は、クラウドストレージ領域72に対応する。
これにより、統合ストレージサーバ10は、ローカルストレージ領域の容量の範囲で、アクセス頻度の高いデータほど、大きな分割比率Xを算出することができる。したがって、統合ストレージサーバ10は、ローカルストレージ領域62の容量を効率的に利用しながら、データのアクセス速度向上を図ることができる。
また、統合ストレージサーバ10は、データの更新処理時に、ローカルストレージ領域62の容量が不足することを抑制することができる。これにより、ローカルストレージ領域62の容量が不足したことに起因して記憶されているデータの分割比率を再設定する必要がなくなる。したがって、統合ストレージサーバ10は、データのアクセス速度が劣化することを抑制することができる。
また、統合ストレージサーバ10は、データのアクセス状況を考慮して、データの更新処理ごとに分割比率Xを算出する。つまり、データのアクセス状況の変化に連動して分割比率Xを算出することから、運用が変化した場合であっても、変化に応じた分割比率Xを算出することが可能になる。
また、本実施の形態例における統合ストレージサーバ10は、第1の記憶装置の第1の空き容量から、以降のアクセスに応じて対象データ以外のデータが使用する容量を減算した第2の空き容量に基づいて、対象データの分割比率を算出する。
これにより、統合ストレージサーバ10は、各データがアクセス状況に応じて利用すると想定されるローカルストレージ領域62を確保した上で、更新対象データの分割比率を算出する。これにより、将来の更新処理で使用するローカルストレージ領域62が確保されるため、データの更新処理時に、ローカルストレージ領域62の容量が不足することを抑制することができる。したがって、ローカルストレージ領域62の容量が不足したことに起因して記憶されているデータの分割比率を再設定する必要がなくなる。したがって、統合ストレージサーバ10は、データのアクセス速度が劣化することを抑制することができる。
また、本実施の形態例における統合ストレージサーバ10は、アクセス状況と、複数のデータそれぞれのサイズとに基づいて、第2の空き容量を算出する。これにより、統合ストレージサーバ10は、各データの分割比率Xを、ローカルストレージ領域62の容量の範囲内で、データのアクセス状況に応じた最適な値にすることができる。したがって、統合ストレージサーバ10は、ローカルストレージ領域62の空き容量と、データのアクセス状況に基づいて、データの秘匿性を維持しながら、アクセス速度の向上を図ることができる。
また、本実施の形態例における統合ストレージサーバ10において、アクセス状況は、基準期間における複数のデータのアクセス頻度である。また、統合ストレージサーバ10は、対象データよりアクセス頻度が同じか高い複数のデータを、第1の記憶装置に記憶する比率の上限値である第1の分割比率に基づいて分割する。そして、統合ストレージサーバ10は、対象データよりアクセス頻度が低い複数のデータを、第1の記憶装置に記憶する比率の下限値である第2の分割比率に基づいて分割する。そして、統合ストレージサーバ10は、分割した場合に使用する第1の記憶装置の容量に基づいて、第2の空き容量を算出する。
これにより、統合ストレージサーバ10は、アクセス頻度がより高いデータが、より多くのローカルストレージ領域62を使用できるように分割比率Xを算出することができる。したがって、更新処理が先に行われたデータによって、ローカルストレージ領域62が占有されてしまうことを抑制する。また、統合ストレージサーバ10は、アクセス頻度がより低いデータが、最小限の分割比率にしたがってローカルストレージ領域62を使用できるように、分割比率Xを算出する。
また、本実施の形態例における統合ストレージサーバ10において、アクセスはデータの更新である。これにより、統合ストレージサーバ10は、データの更新ごとに分割比率を算出することにより、更新対象のデータ単位に、適切な分割比率Xを算出可能になる。
また、本実施の形態例における統合ストレージサーバ10において、アクセスは、データの参照をさらに含む。そして、統合ストレージサーバ10は、複数のデータのいずれかの参照が行われた場合に、参照の対象データの参照回数を取得し、参照回数が基準回数に達した場合に、対象データの分割比率を算出する。そして、統合ストレージサーバ10は、算出した分割比率にしたがって対象データを分割して、第1の記憶装置と第2の記憶装置とに記憶する。
これにより、統合ストレージサーバ10は、繰り返し、参照処理が行われるデータの分割比率を適切な分割比率にすることができる。したがって、統合ストレージサーバ10は、参照回数の多いデータのアクセス速度の向上を図ることができる。
また、本実施の形態例における統合ストレージサーバ10は、設定された、第1の記憶装置に記憶する比率の下限値である第2の分割比率以上であって、設定された、第1の記憶装置に記憶する比率の上限値である第1の分割比率以下の分割比率を算出する。これにより、データがいずれかのストレージ装置のみに記憶されることが回避され、データの秘匿性が維持される。したがって、分割比率の上限値と下限値が設けられることにより、データの秘匿性を保証する最小限の比率が確保される。
また、本実施の形態例における統合ストレージサーバ10は、前回のアクセスと、対象データ、対象データのアクセス状況及びサイズ、第1の記憶装置の空き容量が同一である場合に、前回の分割比率を取得する。そして、統合ストレージサーバ10は、前回の分割比率にしたがって対象データを分割して、第1の記憶装置と第2の記憶装置とに記憶する。これにより、統合ストレージサーバ10は、分割比率の算出処理が不要な場合については、分割比率の算出処理を省略することができる。したがって、統合ストレージサーバ10は、処理の負荷を抑えることができる。
また、本実施の形態例における統合ストレージサーバ10は、第1の記憶装置の空き容量が基準値以下である場合に、対象データ以外のデータの分割比率を算出する。そして、統合ストレージサーバ10は、算出した分割比率にしたがって対象データ以外のデータを分割して、第1の記憶装置と第2の記憶装置とに記憶する。
これにより、対象データ以外のデータの分割比率の再計算が行われることにより、算出された分割比率が、算出前の分割比率に対して小さくなることがある。したがって、統合ストレージサーバ10は、算出した分割比率にしたがって、データIDのデータをローカルストレージ及びクラウドストレージ領域72に記憶し直すことにより、ローカルストレージ領域62の空き容量を大きくすることができる。
[他の実施の形態]
なお、本実施の形態例では、統合ストレージサーバ10が、クラウドストレージ領域72と、ローカルストレージ領域62にデータを記憶する場合を例示した。ただし、この例に限定されるものではない。統合ストレージサーバ10は、例えば、データを分割して、別々のローカルストレージサーバが備える2つのローカルストレージ領域に分割して記憶してもよい。同様にして、統合ストレージサーバ10は、データを分割して、別々のクラウドストレージサーバが備える2つのクラウドストレージ領域に分割して記憶してもよい。
また、本実施の形態例における統合ストレージサーバ10は、参照回数と更新回数とに基づいて、アクセスランキングを生成する場合を例示した。ただし、この例に限定されるものではなく、統合ストレージサーバ10は、さらに、更新回数のみに基づいてアクセスランキングを生成してもよい。
以上の実施の形態をまとめると、次の付記のとおりである。
(付記1)
第1記憶装置と第2記憶装置とに分割して記憶された複数のデータのいずれかにアクセスが行われた場合に、前記複数のデータそれぞれのアクセス状況を取得し、
前記アクセス状況と、前記第1の記憶装置の空き容量とに基づいて、前記アクセスの対象データの分割比率を算出し、
前記算出した分割比率にしたがって前記対象データを分割して、前記第1の記憶装置と前記第2の記憶装置とに記憶する、
処理をコンピュータに実行させるデータ分割制御プログラム。
(付記2)
付記1において、
前記第1の記憶装置の第1の空き容量から、以降のアクセスに応じて前記対象データ以外のデータが使用する容量を減算した第2の空き容量に基づいて、前記対象データの分割比率を算出する、
処理をコンピュータに実行させるデータ分割制御プログラム。
(付記3)
付記2において、
前記アクセス状況と、前記複数のデータそれぞれのサイズとに基づいて、前記第2の空き容量を算出する、
処理をコンピュータに実行させるデータ分割制御プログラム。
(付記4)
付記3において、
前記アクセス状況は、基準期間における前記複数のデータのアクセス頻度であって、
前記対象データより前記アクセス頻度が同じか高い前記複数のデータを、前記第1の記憶装置に記憶する比率の上限値である第1の分割比率に基づいて分割し、前記対象データより前記アクセス頻度が低い前記複数のデータを、前記第1の記憶装置に記憶する比率の下限値である第2の分割比率に基づいて分割した場合に使用する前記第1の記憶装置の容量に基づいて、前記第2の空き容量を算出する、
処理をコンピュータに実行させるデータ分割制御プログラム。
(付記5)
付記1乃至4のいずれかにおいて、
前記アクセスは前記データの更新である、データ分割制御プログラム。
(付記6)
付記5において、
前記アクセスは、前記データの参照をさらに含み、
前記複数のデータのいずれかの参照が行われた場合に、参照の対象データの参照回数を取得し、前記参照回数が基準回数に達した場合に、前記対象データの分割比率を算出し、
前記算出した分割比率にしたがって前記対象データを分割して、前記第1の記憶装置と前記第2の記憶装置とに記憶する、
処理をコンピュータに実行させる分割制御プログラム。
(付記7)
付記1乃至6のいずれかにおいて、
前記算出は、設定された、前記第1の記憶装置に記憶する比率の下限値である第2の分割比率以上であって、設定された、前記第1の記憶装置に記憶する比率の上限値である第1の分割比率以下の前記分割比率を算出する、分割制御プログラム。
(付記8)
付記1乃至7のいずれかにおいて、
前回のアクセスと、前記対象データ、前記対象データのアクセス状況及びサイズ、第1の記憶装置の空き容量が同一である場合に、前記前回の分割比率を取得し、
前記前回の分割比率にしたがって前記対象データを分割して、前記第1の記憶装置と前記第2の記憶装置とに記憶する、
処理をコンピュータに実行させる分割制御プログラム。
(付記9)
付記1乃至8のいずれかにおいて、
前記第1の記憶装置の空き容量が基準値以下である場合に、前記対象データ以外のデータの分割比率を算出し、
前記算出した分割比率にしたがって前記対象データ以外のデータを分割して、前記第1の記憶装置と前記第2の記憶装置とに記憶する、
処理をコンピュータに実行させる分割制御プログラム。
(付記10)
付記1乃至9のいずれかにおいて、
前記アクセス状況は、基準期間における、前記複数のデータの更新回数及び参照回数に基づくアクセス頻度である、分割制御プログラム。
(付記11)
付記1乃至10のいずれかにおいて、
前記第1の記憶装置に対するアクセス速度は、前記第2の記憶装置に対するアクセス速度より速い、分割制御プログラム。
(付記12)
プロセッサが、第1記憶装置と第2記憶装置とに分割して記憶された複数のデータのいずれかにアクセスが行われた場合に、記憶部から前記複数のデータそれぞれのアクセス状況を取得する取得工程と、
プロセッサが、前記アクセス状況と、前記第1の記憶装置の空き容量とに基づいて、前記アクセスの対象データの分割比率を算出する算出工程と、
プロセッサが、前記算出した分割比率にしたがって前記対象データを分割して、前記第1の記憶装置と前記第2の記憶装置とに記憶する記憶工程と、
を有するデータ分割制御方法。
(付記13)
付記12において、
前記算出工程は、前記第1の記憶装置の第1の空き容量から、以降のアクセスに応じて前記対象データ以外のデータが使用する容量を減算した第2の空き容量に基づいて、前記対象データの分割比率を算出する、データ分割制御方法。
(付記14)
付記13において、
前記算出工程は、前記アクセス状況と、前記複数のデータそれぞれのサイズとに基づいて、前記第2の空き容量を算出する、データ分割制御方法。
(付記15)
付記14において、
前記アクセス状況は、基準期間における前記複数のデータのアクセス頻度であって、
前記算出工程は、前記対象データより前記アクセス頻度が同じか高い前記複数のデータを、前記第1の記憶装置に記憶する比率の上限値である第1の分割比率に基づいて分割し、前記対象データより前記アクセス頻度が低い前記複数のデータを、前記第1の記憶装置に記憶する比率の下限値である第2の分割比率に基づいて分割した場合に使用する前記第1の記憶装置の容量に基づいて、前記第2の空き容量を算出する、データ分割制御方法。
(付記16)
付記12乃至15のいずれかにおいて、
前記アクセスは前記データの更新である、データ分割制御方法。
(付記17)
第1記憶装置と第2記憶装置とに分割して記憶された複数のデータのアクセス状況を記憶する記憶部と、
処理部と、を有し、
前記処理部は、前記複数のデータのいずれかにアクセスが行われた場合に、前記記憶部から取得した前記アクセス状況と、前記第1の記憶装置の空き容量とに基づいて、前記アクセスの対象データの分割比率を算出し、前記算出した分割比率にしたがって前記対象データを分割して、前記第1の記憶装置と前記第2の記憶装置とに記憶する、データ分割制御装置。
(付記18)
付記17において、
前記処理部は、前記第1の記憶装置の第1の空き容量から、以降のアクセスに応じて前記対象データ以外のデータが使用する容量を減算した第2の空き容量に基づいて、前記対象データの分割比率を算出する、データ分割制御装置。
(付記19)
付記18おいて、
前記処理部は、前記アクセス状況と、前記複数のデータそれぞれのサイズとに基づいて、前記第2の空き容量を算出する、データ分割制御装置。
(付記20)
付記19において、
前記アクセス状況は、基準期間における前記複数のデータのアクセス頻度であって、
前記処理部は、前記対象データより前記アクセス頻度が同じか高い前記複数のデータを、前記第1の記憶装置に記憶する比率の上限値である第1の分割比率に基づいて分割し、前記対象データより前記アクセス頻度が低い前記複数のデータを、前記第1の記憶装置に記憶する比率の下限値である第2の分割比率に基づいて分割した場合に使用する前記第1の記憶装置の容量に基づいて、前記第2の空き容量を算出する、データ分割制御装置。
10:統合ストレージサーバ、101:CPU、102:メモリ、103:NIC、104:NIC、60:ローカルストレージサーバ、70:クラウドストレージサーバ、62:ローカルストレージ領域、72:クラウドストレージ領域

Claims (13)

  1. データ分割制御装置の有するコンピュータが実行するデータ分割制御プログラムであって、
    第2の記憶装置と、前記データ分割制御装置からのデータアクセス速度が前記第2の記憶装置よりも速い第1の記憶装置とに分割して記憶された複数のデータのうち、第1のデータへのアクセスを検出すると、前記複数のデータそれぞれへのアクセス頻度を示すアクセス情報を記憶する記憶部を参照して、前記第1のデータの前記第1の記憶装置に記憶されるデータ量の前記第1のデータのデータ量に対する比率が、前記第1のデータよりもアクセス頻度が低い第2のデータの前記第1の記憶装置に記憶されるデータ量の前記第2のデータのデータ量に対する比率よりも高くなるように、前記第1のデータを前記第1の記憶装置及び前記第2の記憶装置に分割して記憶する、
    処理をコンピュータに実行させるデータ分割制御プログラム。
  2. 請求項1において、
    前記第1のデータの、前記第1の記憶装置に記憶されるデータ量の前記第1のデータのデータ量に対する比率を示す分割比率を算出する
    処理をコンピュータに実行させるデータ分割制御プログラム。
  3. 請求項において、
    前記第1の記憶装置の第1の空き容量から、以降のアクセスに応じて前記第1のデータ以外のデータが使用する容量を減算した第2の空き容量に基づいて、前記第1のデータの分割比率を算出する、
    処理をコンピュータに実行させるデータ分割制御プログラム。
  4. 請求項において、
    前記アクセス頻度と、前記複数のデータそれぞれのサイズとに基づいて、前記第2の空き容量を算出する、
    処理をコンピュータに実行させるデータ分割制御プログラム。
  5. 請求項において
    第1のデータより前記アクセス頻度が同じか高い前記複数のデータを、前記第1の記憶装置に記憶する比率の上限値である第1の分割比率に基づいて分割し、前記第1のデータより前記アクセス頻度が低い前記複数のデータを、前記第1の記憶装置に記憶する比率の下限値である第2の分割比率に基づいて分割した場合に使用する前記第1の記憶装置の容量に基づいて、前記第2の空き容量を算出する、
    処理をコンピュータに実行させるデータ分割制御プログラム。
  6. 請求項1乃至のいずれかにおいて、
    前記アクセスは前記データの更新である、データ分割制御プログラム。
  7. 請求項において、
    前記アクセスは、前記データの参照をさらに含み、
    前記複数のデータのいずれかの参照が行われた場合に、前記第1のデータの参照回数を取得し、前記参照回数が基準回数に達した場合に、前記第1のデータの分割比率を算出し、
    前記算出した分割比率にしたがって前記第1のデータを分割して、前記第1の記憶装置と前記第2の記憶装置とに記憶する、
    処理をコンピュータに実行させるデータ分割制御プログラム。
  8. 請求項乃至のいずれかにおいて、
    前記算出は、設定された、前記第1の記憶装置に記憶する比率の下限値である第2の分割比率以上であって、設定された、前記第1の記憶装置に記憶する比率の上限値である第1の分割比率以下の前記分割比率を算出する、データ分割制御プログラム。
  9. 請求項乃至のいずれかにおいて、
    前回のアクセスと、前記第1のデータ、前記第1のデータのアクセス状況及びサイズ、第1の記憶装置の空き容量が同一である場合に、前記前回の分割比率を取得し、
    前記前回の分割比率にしたがって前記第1のデータを分割して、前記第1の記憶装置と前記第2の記憶装置とに記憶する、
    処理をコンピュータに実行させるデータ分割制御プログラム。
  10. 請求項乃至のいずれかにおいて、
    前記第1の記憶装置の空き容量が基準値以下である場合に、前記第1のデータ以外のデータの分割比率を算出し、
    前記算出した分割比率にしたがって前記第1のデータ以外のデータを分割して、前記第1の記憶装置と前記第2の記憶装置とに記憶する、
    処理をコンピュータに実行させるデータ分割制御プログラム。
  11. 請求項1乃至10のいずれかにおいて、
    前記アクセス頻度は、基準期間における、前記複数のデータの更新回数及び参照回数に基づく数値である、データ分割制御プログラム。
  12. データ分割制御装置におけるデータ分割制御方法であって、
    第2の記憶装置と、前記データ分割制御装置からのデータアクセス速度が前記第2の記憶装置よりも速い第1の記憶装置とに分割して記憶された複数のデータのうち、第1のデータへのアクセスを検出すると、前記複数のデータそれぞれへのアクセス頻度を示すアクセス情報を記憶する記憶部を参照して、前記第1のデータの前記第1の記憶装置に記憶されるデータ量の前記第1のデータのデータ量に対する比率が、前記第1のデータよりもアクセス頻度が低い第2のデータの前記第1の記憶装置に記憶されるデータ量の前記第2のデータのデータ量に対する比率よりも高くなるように、前記第1のデータを前記第1の記憶装置及び前記第2の記憶装置に分割して記憶する、
    データ分割制御方法。
  13. 記憶部と処理部を有するデータ分割制御装置であって、
    前記処理部は、第2の記憶装置と、前記データ分割制御装置からのデータアクセス速度が前記第2の記憶装置よりも速い第1の記憶装置とに分割して記憶された複数のデータのうち、第1のデータへのアクセスを検出すると、前記複数のデータそれぞれへのアクセス頻度を示すアクセス情報を記憶する記憶部を参照して、前記第1のデータの前記第1の記憶装置に記憶されるデータ量の前記第1のデータのデータ量に対する比率が、前記第1のデータよりもアクセス頻度が低い第2のデータの前記第1の記憶装置に記憶されるデータ量の前記第2のデータのデータ量に対する比率よりも高くなるように、前記第1のデータを前記第1の記憶装置及び前記第2の記憶装置に分割して記憶する、
    データ分割制御装置。
JP2014138314A 2014-07-04 2014-07-04 データ分割制御プログラム、データ分割制御方法、及び、データ分割制御装置 Active JP6330528B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014138314A JP6330528B2 (ja) 2014-07-04 2014-07-04 データ分割制御プログラム、データ分割制御方法、及び、データ分割制御装置
US14/749,031 US20160004455A1 (en) 2014-07-04 2015-06-24 Method of controlling splitting of data, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014138314A JP6330528B2 (ja) 2014-07-04 2014-07-04 データ分割制御プログラム、データ分割制御方法、及び、データ分割制御装置

Publications (2)

Publication Number Publication Date
JP2016018225A JP2016018225A (ja) 2016-02-01
JP6330528B2 true JP6330528B2 (ja) 2018-05-30

Family

ID=55017035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014138314A Active JP6330528B2 (ja) 2014-07-04 2014-07-04 データ分割制御プログラム、データ分割制御方法、及び、データ分割制御装置

Country Status (2)

Country Link
US (1) US20160004455A1 (ja)
JP (1) JP6330528B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015175854A2 (en) * 2014-05-15 2015-11-19 Cryptyk, Inc. (Trading As Bitsavr Inc.) System and method for digital currency storage, payment and credit
TWI497339B (zh) * 2014-08-15 2015-08-21 Chi-Pei Wang 具有帳號密碼分散儲存防側錄功能之電腦系統
US9740436B2 (en) * 2014-11-14 2017-08-22 International Business Machines Corporation Elastic file system management in storage cloud environments
US20160191665A1 (en) * 2014-12-31 2016-06-30 Samsung Electronics Co., Ltd. Computing system with distributed compute-enabled storage group and method of operation thereof
CN112634643B (zh) * 2015-05-29 2022-06-14 荣耀终端有限公司 交通信息更新方法及装置
JP6576699B2 (ja) * 2015-06-12 2019-09-18 コニカミノルタ株式会社 暗号化システム、更新方法、および更新プログラム
JP6221196B1 (ja) * 2017-03-15 2017-11-01 株式会社ウフル ログ管理システム、ログ管理装置、方法及びコンピュータプログラム
JP6268661B1 (ja) * 2017-08-31 2018-01-31 株式会社ウフル ログ管理システム、ログ管理装置、方法及びコンピュータプログラム
CN113301057B (zh) * 2021-07-27 2021-12-14 深圳润符新材料科技有限公司 一种基于云计算的防水涂料智能储存监管系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259478A (ja) * 1993-03-02 1994-09-16 Toshiba Corp 分散データベースのデータ再配置方式
JP4198920B2 (ja) * 2002-02-26 2008-12-17 エイディシーテクノロジー株式会社 バックアップシステム、バックアップ用プログラムおよびバックアップ方法
JP2006079274A (ja) * 2004-09-08 2006-03-23 Sony Corp ファイル管理装置、ネットワークシステム、ファイル管理方法及びプログラム
JP5192932B2 (ja) * 2008-07-23 2013-05-08 株式会社日立製作所 ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置
CN102196448A (zh) * 2010-03-12 2011-09-21 华为技术有限公司 一种网络系统中数据处理的方法、基站和网络系统
US9336139B2 (en) * 2010-11-29 2016-05-10 Cleversafe, Inc. Selecting a memory for storage of an encoded data slice in a dispersed storage network
JP2013131060A (ja) * 2011-12-21 2013-07-04 Panasonic Corp 情報処理装置
GB2516222B (en) * 2013-07-02 2015-12-02 Canon Kk Intra video coding in error prone environments

Also Published As

Publication number Publication date
JP2016018225A (ja) 2016-02-01
US20160004455A1 (en) 2016-01-07

Similar Documents

Publication Publication Date Title
JP6330528B2 (ja) データ分割制御プログラム、データ分割制御方法、及び、データ分割制御装置
US9747013B2 (en) Predictive caching and fetch priority
US10165079B2 (en) Providing a persona-based application experience
US10764299B2 (en) Access control manager
US20140164487A1 (en) File saving system and method
US11296940B2 (en) Centralized configuration data in a distributed file system
EP3812899B1 (en) Operation request allocation method, apparatus and device
US9811529B1 (en) Automatically redistributing data of multiple file systems in a distributed storage system
US10684996B1 (en) Distributing data of multiple logically independent file systems in distributed storage systems including physically partitioned disks
WO2019195501A1 (en) Cloud platforms, services, and methods
US10356150B1 (en) Automated repartitioning of streaming data
US20120311295A1 (en) System and method of optimization of in-memory data grid placement
TWI694700B (zh) 資料處理方法和裝置、用戶端
TWI709862B (zh) 用於預測性檔案快取及同步之技術
US9792185B2 (en) Directed backup for massively parallel processing databases
CN104158858A (zh) 一种访问分布式集群文件系统方法及系统
CN110267060B (zh) 视频文件存储注入方法、装置、计算机设备和存储介质
US20190215363A1 (en) Dynamic pool-based tiering for synchronization storage
US10812588B2 (en) Storage performance based on data placement
US10430400B1 (en) User controlled file synchronization limits
US9898518B2 (en) Computer system, data allocation management method, and program
CN109788006B (zh) 数据均衡方法、装置及计算机设备
CN113886496A (zh) 区块链的数据同步方法、装置、计算机设备和存储介质
CN114840488B (zh) 一种基于超融合结构的分布式存储方法、系统及存储介质
Subramanyam HDFS heterogeneous storage resource management based on data temperature

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180409

R150 Certificate of patent or registration of utility model

Ref document number: 6330528

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150