JP5172594B2 - 情報処理システム及び情報処理システムの運用方法 - Google Patents

情報処理システム及び情報処理システムの運用方法 Download PDF

Info

Publication number
JP5172594B2
JP5172594B2 JP2008270133A JP2008270133A JP5172594B2 JP 5172594 B2 JP5172594 B2 JP 5172594B2 JP 2008270133 A JP2008270133 A JP 2008270133A JP 2008270133 A JP2008270133 A JP 2008270133A JP 5172594 B2 JP5172594 B2 JP 5172594B2
Authority
JP
Japan
Prior art keywords
data
transmission request
information processing
processing system
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008270133A
Other languages
English (en)
Other versions
JP2010097568A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008270133A priority Critical patent/JP5172594B2/ja
Priority to US12/339,292 priority patent/US8037242B2/en
Publication of JP2010097568A publication Critical patent/JP2010097568A/ja
Application granted granted Critical
Publication of JP5172594B2 publication Critical patent/JP5172594B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/263Network storage, e.g. SAN or NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/464Multimedia object, e.g. image, video

Landscapes

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

Description

本発明は情報処理システム及び情報処理システムの運用方法に係わり、特に複数の制御部によって実行されるデータ送信処理においてリソースを有効に使用することができる情報処理システム及び情報処理システムの運用方法に関する。
近年、マルチコアプロセッサの普及などにより、単独の装置であっても複数の制御部(プロセッサ)によって制御されることが多くなってきた。メモリ領域やハードウェアデバイスなど装置に搭載されているリソースは、制御部が単独であれば必然的に制御部により一元管理することができた。
しかし、制御部が複数になると各制御部にリソースを分割して割り当てる必要があるため、例えばある装置で必要なリソースが他の制御部に割り当てられていて利用できないなどといった、いわゆる分割損の発生が問題となっている。
代表的な既存の分割損対策技術として、例えばリソースが不足する場合には、他の制御部に処理を依頼する方式がある(特許文献1参照)。
特開平11−120014号公報
しかし、動画像や音声ストリームのような大容量データを配信するコンテンツ配信装置においては、以下に述べる問題があるため既存技術だけでは分割損を解消〜低減することができない。
第一にコンテンツ配信装置は、あらかじめディスク装置に格納された映像データをネットワークに送出するという動作をするため、ディスクの読み出し性能が不足した場合には、他のディスクに当該映像データを複製しなければリソース不足を解消できない。すなわちリソースが不足してからでは、リソース不足を解消するためのリソースが得られないためリソース分割損を解消できないという問題がある。
そして第二に、第一の問題を解決するために、全てのコンテンツをあらかじめ全てのディスク装置に格納したのでは、一般に動画像コンテンツのデータサイズは大きいためディスク容量面で無駄(分割損)が大きくなってしまうという問題がある。特に動画像コンテンツは、タイトルによって人気度(アクセス頻度)が大きく異なり、この人気度は時間とともに変化していくため、特定のコンテンツへのアクセス集中を事前に完全に予測することは困難である。
すなわち、従来技術あるいはその組み合わせでは、特に映像ストリームや音声ストリームのような大容量データの配信において、マルチコアプロセッサなど装置内に制御部が複数あるとき、リソースを各制御部に分割することにより生じるリソース分割損を解消することができないという問題があった。
前記の、及び他の課題を解決するための本発明の一態様は、外部装置からのデータ送信要求を受け付けて、当該データ送信要求の対象であるデータを前記外部装置へ送信する情報処理システムであって、前記データ送信要求の対象であるデータを各々格納している複数の記憶装置と、前記外部装置からデータ送信要求を受け付けて当該データ送信要求の対象であるデータを、各々に割り当てられている前記記憶装置から読み出して前記外部装置に送信する複数の制御部と、前記複数の制御部のいずれか自身に割り当てられている前記記憶装置から読み出したデータの少なくとも一部を一時的に記憶しておくキャッシュメモリとを備えている、制御装置と、前記外部装置からのデータ送信要求を受け付けて、当該データ送信要求の対象であるデータが格納されている前記記憶装置が割り当てられている前記制御部を前記外部装置のデータ送信要求先として割り当てる管理装置と、を備え、前記複数の制御部の各々は、前記外部装置からのデータ送信要求を受け付けたときに、当該データ送信要求の対象であるデータの少なくとも一部が前記キャッシュメモリにおいてキャッシュヒットしたか判定し、キャッシュヒットしたと判定した場合に、自身に割り当てられている前記記憶装置に格納されている当該データに関する関連データを、他の前記制御部に割り当てられている他の前記記憶装置に複製すると共に、当該関連データが他の前記記憶装置に複製された旨前記管理装置に通知することを特徴とする情報処理システムである。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
本発明によれば、複数の制御部によって実行されるデータ送信処理においてリソースを有効に使用することができる。
以下、図面を参照しつつ実施の形態について説明する。
==第1実施形態==
本発明の第1実施形態に係る情報処理システム1について、図1を参照して説明する。図1は、情報処理システム1のシステム構成を示す。
情報処理システム1は、コンテンツ配信装置10(制御装置)、端末装置30、及びポータルサーバ40(管理装置、コンテンツ配信要求割当て装置)を備え、コンテンツ配信装置10はネットワーク20を介して端末装置30及びポータルサーバ40と通信可能に接続されている。ネットワーク20は、例えばインターネット等の通信ネットワークである。
コンテンツ配信装置10は、複数の制御部110〜113、各制御部110〜113が管理するネットワークインターフェイス150〜153、ディスク装置120〜123、及びメモリ140を備える。制御部110〜113は、それぞれ1つのCPUを有し、各CPUをバスで接続してなるマルチプロセッサを構成している。各制御部110〜113には、各ネットワークインターフェイス150〜153、各ディスク装置120〜123、及び前記メモリ140に設定されているキャッシュ領域130〜133(これについては後述する。)のそれぞれが割り当てられている
ネットワークインターフェイス(ネットワークIF)150〜153は、各制御部110〜113が端末装置30及びポータルサーバ40とネットワーク20を介して通信するための通信アダプタである。
メモリ140は、制御部110〜113にバス等の通信路を通じて接続されているメインメモリである。メモリ140上には配信プログラム142、データ複製プログラム143、複製先決定プログラム144、及びキャッシュ管理プログラム145が、例えば後述のディスク装置120〜123に格納されている状態から各制御部110〜113のCPUによって読み出されて展開、実行され、それぞれ本実施形態における配信部、データ複製部、複製先決定部、及びキャッシュ管理部としての処理を実行する。
メモリ140にはまた、各制御部110〜113がディスク装置120〜123から読み出したデータを一時記憶させておくためのキャッシュ領域141が設けられている。キャッシュ領域141は、各制御部110〜113がそれぞれ管理する領域130〜133に分割されており、各制御部110〜113は、それぞれ自身に割り当てられているキャッシュ領域130〜133をディスクキャッシュとして使用している。
ディスク装置120〜123は、例えばハードディスクドライブ等の記憶デバイスであり、配信プログラム等の前記各種処理プログラム及び動画像データ、音声データ等のコンテンツデータが格納されている。各ディスク装置120〜123には、テンポラリ領域125〜128が設けられている。
テンポラリ領域125〜128はデータを一時的に保持するための領域であり、LRU(Least Recently Used)などのアルゴリズムに従って古いデータを新しいデータで上書きして反復利用する。テンポラリ領域125〜128はディスク装置120〜123上の固定サイズの領域として確保されてもよいし、明確な領域を設けず単純にディスク装置120〜123の空き領域を利用してもよい。
端末装置30はWebブラウザ、動画像再生ソフトウェアなどのアプリケーションと、ネットワーク20を介してコンテンツ配信装置10と通信するためのネットワークIFを備えたコンピュータであり、コンテンツ配信装置10に格納されている動画像データ、音声データ等をネットワーク20経由で受信してユーザの視聴に供する。
ポータルサーバ40は、後述するように端末装置30からコンテンツ配信装置10へのアクセス負荷を分散する機能を備えており、コンテンツ配信装置10と同様に、ネットワークIF41、制御部42、及びメモリ43を有する。
ネットワークインターフェイス41は、制御部42が端末装置30及びコンテンツ配信装置10とネットワーク20を介して通信するための通信インターフェイスである。
制御部42は、後述の負荷分散プログラム44等を実行するCPU等を含む。メモリ43は例えばRAM、ROM等の記憶デバイスであり、制御部42のCPUのメインメモリとして機能する。メモリ43上には、制御部42によって図示を省略する補助記憶装置等に格納されている負荷分散プログラム44が読み出されて展開、実行されることで、本実施形態に係る負荷分散処理部の機能が実現される。
次に、以上の構成を有する本実施形態の情報処理システム1におけるコンテンツデータ配信処理について説明する。図2は、コンテンツ配信装置10、端末装置30、ポータルサーバ40間でのコンテンツ配信処理の流れを示すシーケンス図である。この図で、下向きの太矢印は、それぞれ本実施形態の情報処理システム1における構成要素を表しており、例えば左端の矢印はコンテンツ配信装置10のディスク装置120を示している。また、下方に向かって時間tが経過していくことを示しており、各太矢印間を水平に結ぶ矢印は、それぞれ各要素間での情報(データ)送受信処理を示している。この図示法は、後出の図4、図6、図15についても同様である。
まずステップ201で、端末装置30からポータルサーバ40に、端末装置30のユーザが視聴したいコンテンツを一意に識別するためのIDであるコンテンツ名が送出される。
次にステップ202で、上記端末装置30から要求されたコンテンツが格納されているディスク装置120〜123を管理している制御部110〜113に対応しているネットワークIF150〜153のアクセス先アドレスが、データ送信要求先(コンテンツデータ配信要求先)として端末装置30に返信される。図2の例では、ユーザ所望のコンテンツであるコンテンツデータがディスク装置120に格納されている場合を示している。
ステップ203にて端末装置30は取得したアクセス先に接続して、次にステップ204で所望のコンテンツを受信する。図2の例では、コンテンツ配信装置10は、ネットワークIF150がアクセス先であるので、ディスク装置120からキャッシュ領域130へ、端末装置30から受け取ったコンテンツ名を用いてコンテンツデータを読み込み、キャッシュ領域130に一時格納された当該コンテンツデータをネットワークIF150から送出する。
この一連の処理は、メモリ140上にある配信プログラム142を制御部110が実行することによって実現される配信部が行う。このとき、さらに別の端末装置30から同じコンテンツ名で特定されるコンテンツへのアクセスがあり、まだキャッシュ領域130に当該コンテンツデータが残っていればキャッシュヒットとなる。このような場合には、ディスク装置120からキャッシュ領域130への当該コンテンツデータの読み込みは省略される。
また、コンテンツ配信が開始されると、次のステップ205でコンテンツ配信装置10の制御部110は、ポータルサーバ40へ端末装置30からのアクセスがあった旨通知する。この際、制御部110は、ポータルサーバ40に自身が処理しているアクセスの状況を示す情報をあわせて通知する。この情報には、図13に関して後述する各種情報、あるいは自身が処理しているセッション数、アクセスされているコンテンツの種類などを含めることができる。これにより、ポータルサーバ40ではアクセス先(制御部110〜113)ごとに、発生しているアクセス状況を把握できるため精度の高い負荷分散が可能となる。
次に、ディスク装置120〜123でのコンテンツデータ303の格納状態を説明する。図3に、ディスク装置120〜123に、コンテンツデータ303がどのように格納されているかを模式的に示す。
ディスク装置120〜123上のディスク領域300には、ブロックサイズ301単位でデータの読み書きができる。原則として、ディスク領域300に書き込まれるデータは必ずしも連続したブロックに記録されないが、エクステントをもつファイルシステムを用いた場合には、少なくともエクステントサイズ302の長さはデータが連続したブロックに記録されることを保証することができる。
周知のように、エクステントとは、ハードディスクなどの外部記憶装置に記録された、論理的に連続した記憶領域のことであり、例えばXFSファイルシステムを備えたLinux(登録商標)で利用することができる。したがって、コンテンツデータ303は最も断片化した場合には、複数のエクステントサイズ302の断片とエクステントサイズに満たない端数データ1つに分割されてディスク領域300に記録されることになる。ディスク領域300のうち、テンポラリ領域125〜128にコンテンツデータを格納する場合も同様である。
次に、本実施形態におけるコンテンツデータの複製処理について説明する。図4は、端末装置30からのアクセスに対してコンテンツ配信装置10内でキャッシュヒットが発生したとき、他の制御部110〜113が管理するディスク装置120〜123にコンテンツデータの複製を作成する手順を示したシーケンス図である。
まず、ディスク装置120からキャッシュ領域130に当該コンテンツデータが読み込まれている状態を初期状態とする(ステップ401)。このとき、キャッシュヒットが発生すると、制御部110は、他の制御部111(制御部110以外の制御部111〜113のいずれかでよいが、ここでは制御部111とする。)にキャッシュ領域130上のコンテンツデータを制御部111が管理するキャッシュ領域131に複製するよう指示する(ステップ402)。複製先の制御部111に複製処理を実行させるのは、複製元の制御部110が現に端末装置30からのアクセスを処理しているので、その処理負荷が増加するのを避けるためである。
他の制御部111〜113のうち制御部111を選択する処理は、メモリ140上の複製先決定プログラム144を制御部110が実行することにより実現される複製先決定部が行う。
制御部111は、当該コンテンツデータをキャッシュ領域130からキャッシュ領域131へ複製し(ステップ403)、ディスク装置121上のテンポラリ領域126に書き込む(ステップ404)。この一連の手順はメモリ140上のデータ複製プログラム143を制御部111が実行することにより実現されるデータ複製部が行う。
そして複製の完了を制御部110へ通知する(ステップ405)。また、当該コンテンツデータが、制御部111が管理するディスク装置121のテンポラリ領域126に複製されたことをポータルサーバ40へ通知する(ステップ406)。
これにより、ポータルサーバ40は、次に端末装置30から当該コンテンツへの要求があった場合には、制御部110の管理するネットワークIF150だけでなく、制御部111の管理するネットワークIF151もアクセス先として通知することができる。結果としてアクセスが複数の制御部110〜113に分散するため、当該コンテンツデータの制御部110〜113ごとのキャッシュヒット率は下がる。
前記キャッシュヒットしたコンテンツデータの複製に関して、当該コンテンツデータのキャッシュ領域130〜133に格納されているデータのみを複製してもよいし、キャッシュヒットしたデータを含むファイル全体のデータを複製してもよい。あるいは、コンテンツデータが複数のデータファイルに分割されて格納されている場合に、1つのコンテンツデータを構成する一部として互いに関連づけられている複数のデータファイルを複製することもできる。なお、本明細書においては、キャッシュヒットしたデータを含めてディスク装置120〜123に格納されているコンテンツデータ及び当該コンテンツデータの再生等に使用されるデータであって、当該コンテンツデータと関連づけられているデータを「関連データ」と総称することがある。
このようなコンテンツデータの複製処理は、キャッシュ領域130に当該コンテンツデータ全体が格納可能となる場合にももちろん効果を発揮する。一方、例えば、ストリーミング方式で配信される、動画像データ等のデータ(データの内容としては、映画コンテンツなどに代表される。)であって、キャッシュ領域130に当該コンテンツデータの一部しか格納できないような、サイズが大きいデータを制御部110が配信する場合に、当該制御部110に割り当てられているディスク装置120に端末装置30からのアクセスが集中するのを防止して、制御部110の配信負荷を軽減させるという顕著な効果を奏する。
なお、ステップ405〜ステップ406のポータルサーバ40への通知については、例えば複製元の制御部110〜113から複製先の制御部110〜113への複製指示が発せられた時点で、データ複製完了前に前倒しで通知を実行してもよい。また、当該コンテンツデータがキャッシュ領域130からキャッシュ領域131へ複製された時点で、当該データが利用可能となったことをポータルサーバ40に通知してもよい。
次に、ディスク装置120〜123の変形例について説明する。図5に、1つの制御部110〜113に接続されているディスク装置120〜123が単独のボリュームではなく、複数のボリューム501〜503を備えている場合の構成を示す。1つの制御部110に複数のボリューム(ディスク領域)501〜503が設定されている場合には、ボリューム501〜503のそれぞれがテンポラリ領域505〜507を備える。コンテンツデータの複製先として利用できる記憶領域が減少することにはなるが、全てのボリューム501〜503にテンポラリ領域505〜507がなくても本実施形態としての動作は可能である。
次に、1つの制御部110が管理する複数のボリューム501〜503間で、キャッシュヒットを契機におこなわれるコンテンツデータの複製処理を説明する。図6は、1つの制御部110の管理する複数のボリューム501〜503間でキャッシュヒットを契機にコンテンツデータの複製を作成する手順を示すシーケンス図である。
ボリューム501上のコンテンツデータがキャッシュ領域130に読み込まれている状態を初期状態とする(ステップ601)。このとき端末装置30からのアクセスによってキャッシュヒットが発生すると、キャッシュ領域130上のコンテンツデータはボリューム502上のテンポラリ領域506に書き込まれる。この一連の手順はメモリ140上のデータ複製プログラム143を制御部110が実行することにより実現されるデータ複製部が行う。
データの複製が行われたことは、制御部110が複製先決定プログラム144を実行することで実現される複製先決定部が管理する。このために、ボリューム502にデータの複製が行われた旨、他の制御部111〜113にも通知する(ステップ603)。また、負荷分散処理を行うポータルサーバ40にも同様に複製が行われた旨通知する(ステップ604)。これにより、各制御部110〜113は、あるコンテンツデータがどの記憶装置120〜123のどのボリューム501〜503に格納されているかの情報を保持しておくことができる。
なお、ステップ604の通知は、制御部110〜113間での通信の実行に限らず、制御部110〜113が共用する共有メモリ領域を設ける等の方法で、以下に述べるコンテンツデータ複製管理テーブル700を制御部110〜113間で共有することにより実現してもよい。
図7は、複製先決定プログラム144の実行により管理されるコンテンツデータ複製管理テーブル700の一例である。コンテンツデータ複製管理テーブル700は、ディスク装置120〜123に格納されているコンテンツデータごとに個別のテーブル700が作成される。
コンテンツデータ複製管理テーブル700には、制御部識別番号701、ボリューム識別番号702、及び複製有無フラグ703の項目が記録されている。制御部識別番号701は、各制御部110〜113を一意に識別するためのIDである。ボリューム識別番号702は、当該制御部110〜113が管理するボリューム501〜503を一意に識別するためのIDである。複製有無フラグ703は、ボリューム識別番号702で特定されるボリューム501〜503ごとに、当該ボリューム501〜503のテンポラリ領域505〜507にコンテンツデータが複製されているかを区別して示すフラグである。
コンテンツデータ複製管理テーブル700を参照することで、複製先決定プログラム144の実行により実現される複製先決定部は、すでに複製のあるテンポラリ領域505〜507と複製のないテンポラリ領域505〜507とを区別することができる。
コンテンツデータ複製管理テーブル700はメモリ140に保持してもよいし、ディスク装置120〜123に保持してもよいし、ディスク上のファイル位置を記録したメタデータなどから必要に応じて動的に構成してもよい。
次に、本実施形態における複製先ボリューム選択処理について説明する。図8は、複製先決定プログラム144の実行によって複製先ボリュームが選択される手順を示す。制御部110〜113が管理するキャッシュ領域130〜133にあるコンテンツデータのキャッシュヒットを契機にコンテンツデータの複製が実行され、複製先ボリュームの選択が開始される(ステップ800)。
まず、複製先決定部は、前記した適宜の場所に格納されているコンテンツデータ複製管理テーブル700を参照して、他の制御部111〜113の管理するボリューム501〜503について、まだ複製のないテンポラリ領域505〜507があるか確認する。(ステップ801)。
該当するテンポラリ領域505〜507がなければ(ステップ801、No)、自制御部110の管理するボリューム501〜503について、まだ複製のないテンポラリ領域505〜507があるか確認する(ステップ802)。どちらにも、該当するテンポラリ領域505〜507がなければ(ステップ802、No)、複製先が無い旨を制御部110に通知して複製を行わない(ステップ803)。該当するテンポラリ領域が見つかった場合には(ステップ802、Yes)、当該複製先テンポラリ領域505〜507を制御部110に通知して、コンテンツデータの複製を実行する(ステップ804)。
この複製先ボリューム選択処理により、すでにあるコンテンツデータが格納されている(複製されている)テンポラリ領域505〜507に同一のコンテンツデータを重複して格納することを防ぐことができる。
次に、キャッシュヒット管理テーブル900について説明する。図9に、キャッシュ管理プログラム145の実行により実現されるキャッシュ管理部が管理するキャッシュヒット管理テーブル900の一例を示す。キャッシュヒット管理テーブル900には、各コンテンツデータ303について、過去における利用履歴に関する情報が記録されている。キャッシュ管理プログラム145(キャッシュ管理部)は、コンテンツデータの複製を開始する条件の設定、及びコンテンツデータ複製の開始判定を行う。
キャッシュ管理プログラム145は、キャッシュヒット管理テーブル900を保持しており、当該キャッシュヒット管理テーブル900には、ブロック番号901、キャッシュヒット回数(ヒット回数)902、測定時間903、キャッシュヒット率の順位(ヒット率順位)904、及び経過時間の平均値(ヒット間隔)905が記録される。
ブロック番号901は、メモリ140に設定されたキャッシュ領域130〜133に対応したブロック番号である。キャッシュヒット回数902は、当該ブロック番号によって特定されるブロック上に書き込まれているデータがキャッシュヒットした回数である。測定時間903は、キャッシュヒット回数902をカウントするために適宜の長さに設定される測定時間であり、例えば1秒などと記録される。キャッシュヒット率順位904は、単位時間あたりのキャッシュヒット率、すなわち(キャッシュヒット回数902/測定時間903)の値を、ブロック番号が大きい順にソートしたときの順位である。経過時間の平均値905は、前回のキャッシュヒットからの経過時間の平均値であり、キャッシュヒットが発生する時間間隔の平均値を代表する。キャッシュヒット率順位904が高いほど、経過時間の平均値905が小さいほど、端末装置30からの配信要求頻度が高い、人気コンテンツデータであると判断することができる。
単純にキャッシュヒットがあったことを契機としてデータ複製を開始する場合は、ヒット回数902が増えた場合に必ずデータ複製開始を実行することで実現する。ヒット回数n回以上で複製を開始するよう条件を変更したり、ヒット率順位904が一定値以上の場合についてだけ複製を開始するように条件を変更したり、ヒット間隔905が一定値以下になった場合に複製を開始するなど、必要に応じて自由にキャッシュヒットに付帯する条件、すなわち本発明におけるキャッシュヒットの定義をカスタマイズすることができる。
次に、ファイルシステムによるデータ複製処理について説明する。図10に、ファイルシステムを用いてデータ複製する手順を模式的に示す。ディスク装置120上のコンテンツデータ303は制御部110によってファイルオープンされた後、メモリ140に設定されているキャッシュ領域141に読み込まれる。このとき、さらに別途の端末装置30からのアクセスに基づいて同一コンテンツデータ303がファイルオープンされると、既にキャッシュ領域141に当該コンテンツデータ303が保持されているためキャッシュヒットする。
このとき、当該コンテンツデータ303のうちのキャッシュヒットしたブロックだけでなく、コンテンツデータ303全体がデータ複製の対象となる。コンテンツデータ303のうちキャッシュ領域141上に保持されていないブロックがあれば、ディスク装置120〜123から新たに当該データを読み込んでデータ複製を行う。
一般にキャッシュ領域141上に保持されているデータは、LRUなどのアルゴリズムで新しいデータによって上書きされていく。動画像データ等のコンテンツデータ303はデータサイズが大きいためデータが部分的にしかキャッシュ領域141に残らず、後続の同一コンテンツデータ303に対するファイルオープンの動作タイミングによってはキャッシュヒットが起こらず適切にデータ複製を開始できない可能性がある。
本実施形態では、この問題を解消するために、当該コンテンツデータを構成するファイルの先頭ブロック1001を最優先でキャッシュ領域141に残す制御を行っている。この制御を行うことで、特に映画コンテンツなどでは当該コンテンツデータのファイルの先頭からアクセスが開始されると考えられるので、キャッシュヒット率が向上すると期待できる。また、ファイル先頭からアクセスされないタイプのコンテンツデータであっても、当該コンテンツデータのファイルオープン時にファイルの先頭ブロック1001がキャッシュ領域141にあるかチェックし、存在する場合にはキャッシュヒット扱いにするといった対策をとることで、実質的にキャッシュヒット率向上を図ることができる。
次に、ファイルシステムを使用しないデータ複製処理について説明する。図11に、ファイルシステムを使用しないでデータ複製する手順を模式的に示す。このファイルシステムを使用しないデータ複製処理は、ディスク装置120〜123の内部に機能を実装するなど、ハードウェア側での実装に適している。
複数のボリューム1121〜1122をもつディスク装置120上に格納されているコンテンツデータ303は、ディスク装置120に実装されたメモリ(図示省略)に設定されているキャッシュ領域1110に読み込まれる。当該コンテンツデータへのアクセスがありキャッシュヒットすると、当該コンテンツデータはディスク装置120内の別ボリューム1122に設定されているテンポラリ領域11221へと複製される。
なお、ファイルシステムを用いないため、例えば同時に複数のファイルを読み込んだ場合、どのブロックがどのファイルの一部なのかを判別して管理するための処理オーバヘッドが大きいという問題がある。この問題による影響を排除ないし軽減するために、データが連続したブロックに記録されていることが論理的に保証されるエクステントサイズごとに、キャッシュヒット判定やデータ複製処理を行う。ファイル単位でのデータ複製と同様に、各エクステントの先頭ブロック1101〜1105を最優先でキャッシュ領域1110に残して、適切にキャッシュヒットが発生するように制御する。
ディスク装置120がエクステント単位の複製を行うことにより、データ複製プログラム143実行により実現される複製処理は、全てのエクステントが複製済みかチェックし、不足しているエクステントがあれば当該エクステントのみを複製するという処理ですむようになり、ディスク装置120とこれを管理する制御部110が管理するキャッシュ領域141間のデータ送信に要する帯域を節約することができる。上記不足しているエクステントの有無をチェックするには、以下に説明するファイルとエクステントとの対応関係を示すファイル−エクステント対応管理テーブル1200を用いる。
図12に、ファイル−エクステント対応管理テーブル1200の一例を示す。ファイル−エクステント対応管理テーブル1200はファイル毎に生成されるものであり、これには、コンテンツデータのファイルを構成しているデータブロックに付与されたブロック番号1201と、各ブロック番号1201で特定されるブロックの長さ1202が記録される。ファイルを構成する各エクステントの開始ブロック番号1201とエクステントサイズであるブロック長さ1202を対応させて記録しておくことにより、各ファイルがどのようなエクステントで構成されているか把握することができる。
なお、このファイル−エクステント対応管理テーブル1200と同様の形式のテーブルを用いてキャッシュ領域1110の節約をすることができる。ファイルの先頭ブロック1101〜1105など、キャッシュ領域1110に残しておきたいデータが、キャッシュ領域1110の領域不足により残せないような場合でも、当該ファイル−エクステント対応管理テーブル1200を流用してキャッシュ領域1110上にあると見なしてデータ複製を開始するブロック番号1201の一覧として記録しておくことで、キャッシュされている場合と同様の動作をさせることができる。
次に、ポータルサーバ40による負荷分散処理について説明する。図13に、ポータルサーバ40で制御部42が実行する負荷分散プログラム44が保持するアクセス状況管理テーブル1300を示す。
アクセス状況管理テーブル1300は、配信装置アドレス1301ごとに、当該アクセス先から配信可能なコンテンツ一覧1302、各コンテンツのビットレート一覧1303、当該アクセス先の配信可能帯域1304、及び当該アクセス先の各コンテンツのアクセス数1305を記録している。
コンテンツ一覧1302、各コンテンツのビットレート一覧1303、当該アクセス先の配信可能帯域1304、及び当該アクセス先の各コンテンツのアクセス数1305は、各配信装置アドレス1301が割り当てられている前記コンテンツ配信装置10の制御部110〜113から、ポータルサーバ40へ定期的に通知され、これに対応してアクセス状況管理テーブル1300が更新される。
ポータルサーバ40による負荷分散処理は、制御部42が負荷分散プログラム44を実行する際に、このアクセス状況管理テーブル1300を参照して、端末装置30が要求するコンテンツを配信可能なアクセス先の中で最も配信可能帯域に余力のあるアクセス先を選択することで実現する。
次に、ポータルサーバ40によって行われる負荷分散処理の処理フローについて説明する。図14に、この負荷分散処理の処理フローの一例を示す。まず、端末装置30からアクセス先問い合わせがあると(ステップ1400)、制御部42は、アクセス状況管理テーブル1300からアクセス先を1つ選択する(ステップ1401)。
選択したアクセス先に端末装置30の要求するコンテンツがあるか確認し(ステップ1402)、当該コンテンツがあり(ステップ1402、Yes)、さらに配信帯域に余裕があれば(ステップ1403)、選択したアクセス先を端末装置30に通知する(ステップ1405)。配信帯域に余裕があるかは、端末装置30から配信要求があったコンテンツのビットレートと、当該アクセス先の制御部110〜113の配信可能帯域とを比較して決定する。
アクセス先のコンテンツ配信装置10に該当コンテンツがない(ステップ1402、No)、あるいは当該コンテンツ配信装置10の配信帯域に余裕がない(ステップ1403、No)と判定された場合には、まだチェックしていないアクセス先が残っていれば、ステップ1401に戻って次のアクセス先を選択して、ステップ1402〜1403の処理を繰り返す。全てのアクセス先をチェックした結果、条件を満たすアクセス先が選択できないと判定された場合には(ステップ1404、No)、制御部42は、コンテンツを要求してきた端末装置30にいずれのコンテンツ配信装置10も混雑中で要求されたコンテンツを配信することができない旨のエラーメッセージを通知する(ステップ1406)。
なお、ステップ1406では、端末装置30へのエラー通知に加えて、コンテンツデータの複製によりアクセス先候補を増やす余地がある場合には、コンテンツ配信装置10に強制的にコンテンツデータの複製を促す指示を送出することとしてもよい。このようにすれば、端末装置30からのコンテンツ配信要求に対応できない事態を回避することができる。
次に、本来格納されていたディスク装置120から一旦他のディスク装置121へ複製したデータをさらに他のディスク装置122に複製するデータ複製処理について説明する。図15に、図4に示した手順で制御部111が管理するディスク装置121のテンポラリ領域126に複製したデータを、さらに他のディスク装置122に複製する場合の手順の一例を示す。
ディスク装置121のテンポラリ領域126に格納されているコンテンツデータ303が、メモリ140のキャッシュ領域131に読み込まれている状態を初期状態とする(ステップ1501)。
端末装置30からの要求に基づいてキャッシュ領域131に格納されているコンテンツデータ303がキャッシュヒットすると、制御部111はコンテンツ複製先をコンテンツデータ303複製元である制御部110に問い合わせる(ステップ1502)。
制御部111は、制御部110から複製先のテンポラリ領域127を特定する情報を取得すると(ステップ1503)、テンポラリ領域127が設定されているディスク装置122を管理する制御部112にデータ複製を指示する(ステップ1504)。制御部110に複製先を問い合わせるのは、本来コンテンツデータ303が格納されていた制御部110が必ず複製先決定処理(図8)を実行することにより、他の制御部111〜113と複製先決定処理が競合して実行されることになるのを防ぐためである。
制御部112は、キャッシュ領域131からキャッシュ領域132にコンテンツデータ303を複製して(ステップ1505)、その複製したコンテンツデータ303をディスク装置122のテンポラリ領域127に書き込む(ステップ1506)。制御部112は、コンテンツデータ303の複製が完了したときに、制御部111にその旨を通知する(ステップ1507)。通知を受けた制御部111は、制御部110にコンテンツデータ303の複製が完了した旨通知する(ステップ1508)。なお、図示を省略しているが、複製完了通知は、制御部113に対しても行われる。
また、制御部112は、ポータルサーバ40にもコンテンツデータ303の複製が完了した旨通知する(ステップ1509)。なお、ステップ1507〜ステップ1509の複製完了通知は、データ複製完了前に前倒しで実行してもよい。
次に、制御部110〜113相互間で、それぞれが管理しているキャッシュ領域131〜133に保持されているデータを複製する処理について説明する。図16に、図4ステップ403〜ステップ404に記載したような、制御部110〜113間でキャッシュ領域131〜133の内容を複製する手順を示す。
単純に異なるキャッシュ領域131〜133間でデータを複製するとメモリ間コピーが発生するため制御部110〜113の負荷が増大して好ましくない。そこで、本実施形態では、例えば制御部110〜113の機能の1つとして実装されている仮想記憶機能を利用して問題を解決している。
仮想記憶機能では、物理メモリ1600がページ1601単位で管理されている。それらのページ1601を任意に仮想記憶領域に割り当てることにより、仮想メモリ1602を実現する。例えば、仮想メモリ1602のページ1604に新たにアクセスするとき、物理メモリ1600のうち未使用のページ1603を割り当てるといった動作をする。
キャッシュ領域130のページ1606に格納されているデータをキャッシュ領域131のページ1607に複製する場合、ページ1606に対応する物理メモリ1600がページ1605であれば、実アドレスであるこの物理メモリ1600のページ1605を仮想アドレスとしてのページ1606及びページ1607の両方に割り当てることにより、物理的に複製元のページ1605に格納されている複製対象のデータを複製することなく、当該データをキャッシュ領域130〜133間で複製することができる。
なお、本実施形態の情報処理システム1では、コンテンツ配信装置10及びポータルサーバ40がそれぞれ別の装置であるとしているが、コンテンツ配信装置10が有する制御部110〜113のうちの1つをポータルサーバ40の制御部42として用いてもよい。
また、本実施形態では、ディスク装置120〜123はコンテンツ配信装置10に内蔵されているが、ホストとしてのコンテンツ配信装置10をSAN(Storage Area Network)などのネットワークを介してディスク装置120〜123と接続する構成を採用してもよい。
さらに、本実施形態では、ポータルサーバ40に1台のコンテンツ配信装置10が接続されているが、1台のポータルサーバ40に複数のコンテンツ配信装置10を接続してもかまわない。
また、本実施形態では、データ複製プログラム143、複製先決定プログラム144、及びキャッシュ管理プログラム145をコンテンツ配信装置10が有する制御部110〜113によって実行しているが、これらのプログラムで実現される一部又は全部の処理をポータルサーバ40の制御部42によって実行してもかまわない。
なお、本実施形態では、コンテンツ配信において生じる、ディスク性能不足に起因するリソース分割損の解消を目的としているが、本発明の達成しようとする目的はこれに限定されない。本発明は、例えばネットワークから送られてくる映像データを受信してディスク装置に記録するといった監視システム用途にも好適に適用することができる。
以上説明した本発明の一実施形態によれば、キャッシュヒットを契機にすることにより人気のあるコンテンツデータを自動的に検出することができるため、ディスク読み出し性能不足が発生する前にコンテンツデータを他のディスク装置に複製することができ、制御部が複数あることによるリソース分割損の発生を防ぐことができる。
以上、本願発明を、その実施形態に即して添付図面を参照しながら説明したが、本願発明は、これらの実施形態に限定されるものではない。また、本願発明の趣旨を逸脱しないいかなる変形例、均等物も本願発明の範囲内のものである。
本発明の一実施形態に係る情報処理システム1を示す図である。 情報処理システム1の全体動作プロセスを示す図である。 ディスク領域300と格納されるデータのサイズの関係を示す模式図である。 情報処理システム1によるデータ複製動作プロセスを示す図である。 1つの制御部110〜113に複数のボリューム501〜503が接続されている構成を示す模式図である。 1つの制御部110〜113に接続されたボリューム501〜503間のデータ複製動作プロセスを示す図である。 コンテンツデータ複製管理テーブル700の一例を示す図である。 複製先ボリューム決定プロセスを示す図である。 キャッシュヒット管理テーブル900の一例を示す図である。 ファイルシステムを使用してデータ複製するプロセスを示す図である。 ファイルシステムを使用しないでデータ複製するプロセスを示した図である。 ファイル−エクステント対応関係テーブル1200の一例を示した図である。 アクセス状況管理テーブル1300の一例を示す図である。 ポータルサーバ40が行う負荷分散処理の動作プロセスを示した図である。 ディスク装置120〜123のテンポラリ領域126からテンポラリ領域127へのデータ複製動作プロセスを示す図である。 制御部110〜113間でキャッシュ領域131〜133に保持されているデータを複製するプロセスを示す図である。
符号の説明
10 コンテンツ配信装置(制御装置
20 ネットワーク
30 端末装置(外部装置)
40 ポータルサーバ(管理装置、コンテンツデータ配信要求割当て装置)
41、150、151、152、153 ネットワークIF
42、110、111、112、113 制御部
43、140 メモリ
44 負荷分散プログラム(負荷分散処理部)
120、121、122、123 ディスク装置(記憶装置)
125、126、127、128 テンポラリ領域(一時記憶領域)
130、131,132、133、141 キャッシュ領域
142 配信プログラム(配信部)
143 データ複製プログラム(データ複製部)
144 複製先決定プログラム(複製先決定部)
145 キャッシュ管理プログラム(キャッシュ管理部)

Claims (15)

  1. 外部装置からのデータ送信要求を受け付けて、当該データ送信要求の対象であるデータを前記外部装置へ送信する情報処理システムであって、
    前記データ送信要求の対象であるデータを各々格納している複数の記憶装置と、
    前記外部装置からデータ送信要求を受け付けて当該データ送信要求の対象であるデータを、各々に割り当てられている前記記憶装置から読み出して前記外部装置に送信する複数の制御部と、
    前記複数の制御部のいずれか自身に割り当てられている前記記憶装置から読み出したデータの少なくとも一部を一時的に記憶しておくキャッシュメモリとを備えている、制御装置と、
    前記外部装置からのデータ送信要求を受け付けて、当該データ送信要求の対象であるデータが格納されている前記記憶装置が割り当てられている前記制御部を前記外部装置のデータ送信要求先として割り当てる管理装置と、を備え、
    前記複数の制御部の各々は、前記外部装置からのデータ送信要求を受け付けたときに、当該データ送信要求の対象であるデータの少なくとも一部が前記キャッシュメモリにおいてキャッシュヒットしたか判定し、キャッシュヒットしたと判定した場合に、自身に割り当てられている前記記憶装置に格納されている当該データに関する関連データを、他の前記制御部に割り当てられている他の前記記憶装置に複製すると共に、当該関連データが他の前記記憶装置に複製された旨前記管理装置に通知する、
    ことを特徴とする情報処理システム。
  2. 請求項1に記載の情報処理システムであって、前記管理装置は、前記制御装置の前記各制御部からそれらの負荷状況に関する情報を取得し、前記外部装置から前記データ送信要求を受け付けたときに、当該データが格納されている前記記憶装置が割り当てられている前記制御部の前記負荷状況に関する情報に基づいて前記データ送信要求先となる前記制御部を選択する
    ことを特徴とする情報処理システム。
  3. 請求項1に記載の情報処理システムであって、前記管理装置が取得する、前記負荷状況に関する情報は、前記データ送信要求の対象であるデータの送信速度、前記データ送信要求先である前記制御部においてデータ送信に使用可能な帯域、及び前記データ送信要求先において発生している前記データに対するアクセス数のうちの少なくともいずれかを含んでいることを特徴とする情報処理システム。
  4. 請求項1に記載の情報処理システムであって、前記データ送信要求の対象であるデータが、データ送信要求元の前記外部装置にストリーミング方式で配信されるデータであることを特徴とする情報処理システム。
  5. 請求項1に記載の情報処理システムであって、前記制御部は、前記関連データを自身に割り当てられている前記記憶装置から他の前記制御部に割り当てられている他の前記記憶装置に複製する処理に先立って、他の前記記憶装置に、当該関連データがすでに格納されているかを判定し、当該他の記憶装置に格納されていないと判定した場合に、当該他の記憶装置を前記関連データの複製先に選定することを特徴とする情報処理システム。
  6. 請求項5に記載の情報処理システムであって、前記制御部の各々は、前記他の記憶装置に、当該データが格納されていると判定した場合に、自身に割り当てられている前記記憶装置に当該関連データが格納されていない記憶領域があるかを判定し、当該記憶領域があると判定した場合に、当該記憶領域を前記データの複製先に選定することを特徴とする情報処理システム。
  7. 請求項1に記載の情報処理システムであって、前記制御部の各々は、前記関連データを自身に割り当てられている前記記憶装置から他の前記記憶装置に複製する処理が完了する前に、前記関連データが前記他の記憶装置に複製されたことを前記管理装置に通知することを特徴とする情報処理システム。
  8. 請求項1に記載の情報処理システムであって、前記制御部の各々が前記外部装置からのデータ送信要求を受け付けたときに、当該データ送信要求の対象であるデータが前記キャッシュメモリにおいてキャッシュヒットしたかを判定する処理は、当該データ送信要求の対象であるデータの利用履歴に関する情報に基づいて実行されることを特徴とする情報処理システム。
  9. 請求項8に記載の情報処理システムであって、前記データ送信要求の対象であるデータの利用履歴に関する情報は、当該データが前記キャッシュメモリにおいてキャッシュヒットした回数、所定の単位時間あたりの前記キャッシュヒット回数、及び当該データがキャッシュヒットした平均時間間隔のうちの少なくともいずれかを含むことを特徴とする情報処理システム。
  10. 請求項1に記載の情報処理システムであって、前記制御部の各々が前記外部装置からのデータ送信要求を受け付けたときに、当該データ送信要求の対象であるデータが前記キャッシュメモリにおいてキャッシュヒットしたかを判定する処理において、当該データに含まれる所定のブロックがキャッシュヒットした場合に、当該ブロックが含まれるデータに関するファイル全体を複製することを特徴とする情報処理システム。
  11. 請求項1に記載の情報処理システムであって、前記制御部の各々は、前記外部装置からのデータ送信要求を受け付けたときに、当該データ送信要求の対象であるデータが前記キャッシュメモリにおいてキャッシュヒットしたかを調べ、キャッシュヒットしたと判定した場合に、自身に割り当てられている前記記憶装置から他の前記記憶装置に複製された前記関連データを、さらに他の前記記憶装置に複製することを特徴とする情報処理システム。
  12. 請求項1に記載の情報処理システムであって、前記関連データを前記記憶装置のいずれかから他の前記記憶装置に複製する処理を、他の前記記憶装置が割り当てられている他の前記制御部が実行することを特徴とする情報処理システム。
  13. 請求項1に記載の情報処理システムであって、他の前記記憶装置には、前記データを一時的に格納する記憶領域である一時記憶領域が設定されており、前記関連データは当該一時記憶領域に複製されることを特徴とする情報処理システム。
  14. 外部装置からのデータ送信要求を受け付けて、当該データ送信要求の対象であるデータを前記外部装置へ送信する情報処理システムの運用方法であって
    前記情報処理システムは、
    前記データ送信要求の対象であるデータを各々格納している複数の記憶装置と、
    前記外部装置からデータ送信要求を受け付けて当該データ送信要求の対象であるデータを、各々に割り当てられている前記記憶装置から読み出して前記外部装置に送信する複数の制御部と、
    前記複数の制御部のいずれか自身に割り当てられている前記記憶装置から読み出したデータの少なくとも一部を一時的に記憶しておくキャッシュメモリとを備えている、制御装置と、
    前記外部装置からのデータ送信要求を受け付けて、当該データ送信要求の対象であるデータが格納されている前記記憶装置が割り当てられている前記制御部を前記外部装置のデータ送信要求先として割り当てる管理装置と、を備え
    前記複数の制御部の各々は、前記外部装置からのデータ送信要求を受け付けたときに、当該データ送信要求の対象であるデータの少なくとも一部が前記キャッシュメモリにおいてキャッシュヒットしたか判定し、キャッシュヒットしたと判定した場合に、自身に割り当てられている前記記憶装置に格納されている当該データに関する関連データを、他の前記制御部に割り当てられている他の前記記憶装置に複製すると共に、当該関連データが他の前記記憶装置に複製された旨前記管理装置に通知する、
    ことを特徴とする情報処理システムの運用方法。
  15. 外部装置からのコンテンツデータ配信要求を受け付けて、当該コンテンツデータ配信要求の対象であるコンテンツデータを前記外部装置へ配信するコンテンツ配信システムであって、
    前記コンテンツデータを各々格納している複数のディスク装置と、
    各々前記外部装置からコンテンツデータ配信要求を受け付けて当該コンテンツデータ配信要求の対象であるコンテンツデータを、自身に割り当てられている前記ディスク装置から読み出して前記外部装置に送信する複数の制御部と、
    前記複数の制御部の各々、自身に割り当てられている前記ディスク装置から読み出したコンテンツデータの少なくとも一部を一時的に記憶しておくキャッシュメモリとを備えているコンテンツ配信装置と、
    前記外部装置からのコンテンツデータ配信要求を受け付けて、当該コンテンツデータ配信要求の対象であるデータが格納されている前記複数の制御部のいずれかを前記外部装置のコンテンツデータ配信要求先として割り当てるコンテンツ配信要求割当て装置とを備え
    前記複数の制御部の各々は、前記外部装置からのコンテンツデータ配信要求を受け付けたときに、当該コンテンツデータ配信要求の対象であるコンテンツデータの少なくとも一部が前記キャッシュメモリにおいてキャッシュヒットしたか判定し、キャッシュヒットしたと判定した場合に、当該コンテンツデータを自身に割り当てられている前記ディスク装置から他の前記制御部に割り当てられている他の前記ディスク装置に複製すると共に、当該コンテンツデータが他の前記制御部に割り当てられている他の前記ディスク装置に複製された旨前記コンテンツ配信要求割当て装置に通知し、
    前記コンテンツ配信要求割当て装置は、前記コンテンツ配信装置の前記各制御部からそれらの負荷状況に関する情報を取得し、前記外部装置から前記コンテンツデータ配信要求を受け付けたときに、当該コンテンツデータを格納している前記ディスク装置が割り当てられている前記制御部の前記負荷状況に関する情報に基づいて前記コンテンツデータ配信要求先となる前記制御部を選択する
    ことを特徴とするコンテンツ配信システム。
JP2008270133A 2008-10-20 2008-10-20 情報処理システム及び情報処理システムの運用方法 Active JP5172594B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008270133A JP5172594B2 (ja) 2008-10-20 2008-10-20 情報処理システム及び情報処理システムの運用方法
US12/339,292 US8037242B2 (en) 2008-10-20 2008-12-19 Contents delivery system using cache and data replication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008270133A JP5172594B2 (ja) 2008-10-20 2008-10-20 情報処理システム及び情報処理システムの運用方法

Publications (2)

Publication Number Publication Date
JP2010097568A JP2010097568A (ja) 2010-04-30
JP5172594B2 true JP5172594B2 (ja) 2013-03-27

Family

ID=42109539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008270133A Active JP5172594B2 (ja) 2008-10-20 2008-10-20 情報処理システム及び情報処理システムの運用方法

Country Status (2)

Country Link
US (1) US8037242B2 (ja)
JP (1) JP5172594B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110041788A (ko) * 2009-10-16 2011-04-22 삼성전자주식회사 데이터 기록 장치 및 방법, 데이터 재생 장치 및 방법, 기록 매체
US10176157B2 (en) * 2015-01-03 2019-01-08 International Business Machines Corporation Detect annotation error by segmenting unannotated document segments into smallest partition

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332782A (ja) * 1993-03-22 1994-12-02 Hitachi Ltd ファイルサーバシステム及びそのファイルアクセス制御方法
JP3683082B2 (ja) * 1997-10-17 2005-08-17 富士通株式会社 呼処理装置
US7363361B2 (en) * 2000-08-18 2008-04-22 Akamai Technologies, Inc. Secure content delivery system
US7346676B1 (en) * 2000-07-19 2008-03-18 Akamai Technologies, Inc. Load balancing service
JP2003122658A (ja) * 2001-10-11 2003-04-25 Hitachi Ltd データ配送方法
JP2005010970A (ja) * 2003-06-18 2005-01-13 Hitachi Ltd 分散キャッシュ制御方法、ネットワークシステムおよび当該ネットワークに用いられる制御サーバないしルータ

Also Published As

Publication number Publication date
JP2010097568A (ja) 2010-04-30
US8037242B2 (en) 2011-10-11
US20100100697A1 (en) 2010-04-22

Similar Documents

Publication Publication Date Title
JP4452064B2 (ja) 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム
JP5187017B2 (ja) 分散ディスクキャッシュシステム及び分散ディスクキャッシュ方法
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
CN108139974B (zh) 分布式缓存动态迁移
US11509700B2 (en) Stream data record reads using push-mode persistent connections
US8078798B2 (en) Managing first level storage in a multi-host environment
US10359945B2 (en) System and method for managing a non-volatile storage resource as a shared resource in a distributed system
US10133505B1 (en) Cooperative host and data storage system services for compression and encryption
WO2016080953A1 (en) Method and apparatus for data cache in converged system
US11416176B2 (en) Function processing using storage controllers for load sharing
US11489911B2 (en) Transmitting data including pieces of data
US20230239345A1 (en) Isolated read channel categories at streaming data service
JP5172594B2 (ja) 情報処理システム及び情報処理システムの運用方法
JP5158576B2 (ja) 入出力制御システム、入出力制御方法、及び、入出力制御プログラム
EP3293625B1 (en) Method and device for accessing file, and storage system
US20050114857A1 (en) Method, system, and program for managing operation requests using different resources
US20160357780A1 (en) Hierarchical file block variant tracker apparatus coupled to a Librarian and to a remote file service
JP5494363B2 (ja) ファイル管理プログラム,ファイル管理方法およびファイル管理装置
US20220100374A1 (en) Hierarchical file block variant tracking for performance in parallelism at multi-disk arrays
JPWO2018173300A1 (ja) I/o制御方法およびi/o制御システム
JP2022086569A (ja) 情報処理装置およびプログラム
US10482023B1 (en) I/O path optimization based on cache slot location
JP2005122602A (ja) キャッシュシステム、情報処理システム、キャッシュ方法、プログラム、及び記録媒体
US20190220445A1 (en) hierarchical file block variant tracking for performance in parallelism at multi-disk arrays

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101022

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120928

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: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121226

R150 Certificate of patent or registration of utility model

Ref document number: 5172594

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350