JP4981412B2 - ファイル転送システムおよびその方法、管理装置ならびにサーバ - Google Patents

ファイル転送システムおよびその方法、管理装置ならびにサーバ Download PDF

Info

Publication number
JP4981412B2
JP4981412B2 JP2006298341A JP2006298341A JP4981412B2 JP 4981412 B2 JP4981412 B2 JP 4981412B2 JP 2006298341 A JP2006298341 A JP 2006298341A JP 2006298341 A JP2006298341 A JP 2006298341A JP 4981412 B2 JP4981412 B2 JP 4981412B2
Authority
JP
Japan
Prior art keywords
server
file
pool
information
transfer
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.)
Expired - Fee Related
Application number
JP2006298341A
Other languages
English (en)
Other versions
JP2008117091A (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.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2006298341A priority Critical patent/JP4981412B2/ja
Publication of JP2008117091A publication Critical patent/JP2008117091A/ja
Application granted granted Critical
Publication of JP4981412B2 publication Critical patent/JP4981412B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、サーバシステムで利用されるファイル転送技術に係り、特に、映像や音声等のコンテンツを示すファイルをサーバ間で転送するファイル転送システムおよびその方法に関する。
放送局では、従来、映像や音声等のコンテンツがリニア(直線)編集によりテープ系デバイスに記録され、このテープ系デバイスが保管され、放送開始時に取り出されて使われてきた。近年、コンピュータの高性能化や、コンピュータネットワークの高速化により、これまでテープ系デバイスに記録されてきたコンテンツを、ハードディスク等のノンリニア(非直線)編集可能なノンリニアデバイスに記録して扱うことが要求され始めてきた。このようなノンリニアデバイスでコンテンツを扱う場合、映像や音声等のコンテンツをファイル(コンテンツファイル、以下、単にファイルという)として扱うことになる。
放送局でコンテンツをファイルとして扱う場合に、コンテンツを放送するまでには、例えば、以下のような工程が考えられる。まず、複数の番組制作部門のコンピュータ(番組制作用サーバ)で、各番組に対応したファイルがそれぞれ独自に並行して作成され、作成されたファイルが放送局の番組蓄積部門のコンピュータ(番組登録用サーバ)に転送される。そして、番組登録用サーバに一括蓄積された数日分の番組に対応した複数のファイルは、それぞれ放送開始前(例えば放送前日)に登録サーバから放送部門のメディア毎(チャンネル毎)のコンピュータ(番組送出用サーバ)へ転送される。さらに、放送開始時刻になると番組送出用サーバからファイルが読み出されてコンテンツが放送されることとなる。このような利用を考えた場合、番組制作用サーバから番組登録用サーバへのファイル転送や、番組登録用サーバから番組送出用サーバへのファイル転送をできるだけ高速に行うことが要求される。また、番組登録用サーバには、備えられたディスク装置の一部に障害が発生した場合にも登録済みのファイルが消失することがないような高信頼性が要求される。
このように複数の転送元からファイルをそれぞれ受信して一括蓄積するサーバ(例えば、番組登録用サーバ)には、主に以下の3点の性能が要求される。
(1)ストレージ(ディスク装置)にファイルを入力する速度およびストレージからファイルを出力する速度が高いこと(高速性)。
(2)同時に複数のファイル転送要求(以下、アクセスという)があってもファイルを入出力する速度が低下しないこと(マルチアクセス性)。
(3)蓄積用のディスク装置の一部に障害が生じたとしても、蓄積されたファイルが消失せず、サーバ全体が停止しないこと(高信頼性)。
さらに、放送局で利用するサーバシステムの場合には、番組登録用サーバが稼働中であっても、ディスク装置の容量を弾力的に容易に増加することが可能であることや、長期間に渡って運用およびメンテナンスが可能であることも要求される。
従来、高速性または高信頼性を有したディスク装置の代表的な技術として、図19に示すように、RAID(Redundant Arrays of Inexpensive Disks)が知られている。図19は、RAIDの説明図であり、(a)はRAID0、(b)はRAID1をそれぞれ示している。RAID0は、ストライピングとも呼ばれ、ファイルを断片化し、異なるディスク装置に記録する方法である。このRAID0では、図19(a)に示すように、サーバ600が、RAID装置601と、複数のディスク装置602とから構成される。RAID装置601は、複数のディスク装置602を並列に使ってデータの入出力をするため、高速なサーバ600を構成できる。しかし、ディスク装置602のうちの1つでも故障すると、サーバ600に蓄積されたすべてのファイルが消失することになる。
RAID1は、ミラーリングともよばれ、1つのファイルを複数のディスク装置に記録する方法である。このRAID1では、図19(b)に示すように、サーバ610は、RAID装置611と、複数のディスク装置612とから構成される。RAID装置611は、入力するファイルと同じファイルを複数のディスク装置612にそれぞれ保存する。したがって、サーバ610において、例えば1つのディスク装置612が故障したとしても、サーバ610内のファイルは消失することが無い。そのため、サーバ610は高信頼性を有している。しかし、サーバ610は、複数のディスク装置612を有しているにも関わらず、ファイルを入出力する速度は、1つのディスク装置612を有している場合の速度と同じである。また、RAIDには、RAID0やRAID1以外に、RAID5がある。RAID5は、誤り訂正符号を付け、断片化したファイルを複数のディスク装置に記録する方法である。RAID5は、RAID0の高速性とRAID1の信頼性とを併せ持っており、冗長化のために使われるディスク容量をRAID1と比較して削減することが可能である。
また、従来、複数のサーバをネットワークで接続し、データを共有するための技術として、図20に示すように、SAN(Storage Area Network)およびNAS(Network Attached Storage)が知られている(例えば、非特許文献1参照)。図20は、SANおよびNASの説明図であり、(a)はSAN、(b)はNASをそれぞれ示している。SANでは、図20(a)に示すように、複数のクライアント(ユーザ端末装置)620と、複数のサーバ630とで構築されたLAN(Local Area Network)とは別に、ストレージ専用のネットワークによりサーバ630とディスク装置640とが接続されており、複数のサーバ630は1つのディスク装置640を共有する。ここで、各サーバ630はネットワークファイルシステム(file system:FS)をそれぞれ有している。
NASを用いたシステムは、図20(b)に示すように、複数のクライアント620と、複数のサーバ650とで構築されたLANに、ディスク装置660が接続されており、複数のサーバ650は1つのディスク装置660を共有する。ここで、ディスク装置660はネットワークファイルシステム(FS)を有している。そのため、NASを用いたシステムでは、各サーバ650は、OS(Operating System)が同一である必要がなく、OSの異なるサーバを混在して利用することができるという特徴がある。このようなSANおよびNASを用いれば、複数のサーバに分散されていたデータを、共通のディスク装置に蓄積することで、データの管理を容易にすることが可能になる。
また、従来、高速性および高信頼性を有したサーバの構築技術として、図21に示すように、分散ファイルシステムが知られている(例えば、特許文献1参照)。図21は、分散ファイルシステムの説明図であり、(a)は断片化を分散ファイルシステム側で行う方式、(b)は断片化をネットワークサーバ側(ファイル入力側)で行う方式をそれぞれ示している。
分散ファイルシステム700は、図21(a)に示すように、複数のディスク装置710と、各ディスク装置710を相互に接続するネットワーク装置720とを備えている。ここで、各ディスク装置710はCPU(Central Processing Unit)を備えているため、分散ファイルシステム700では、図19に示したRAID装置601,611のような中心的な装置が存在せずに、各ディスク装置710が対等に処理を実行することができる。この分散ファイルシステム700は、ネットワーク装置721を介してネットワークサーバ730に接続されており、このネットワークサーバ730は端末装置740に接続されている。端末装置740からの指示でネットワークサーバ730が分散ファイルシステム700にファイルを転送すると、分散ファイルシステム700のいずれかのディスク装置710が入力ファイルを断片化し、断片化されたファイルをそれぞれ異なるディスク装置710に記録する。したがって、分散ファイルシステム700によれば、ネットワークサーバ730では断片化のための処理を要しない。
分散ファイルシステム800は、図21(b)に示すように、複数のディスク装置710を備えており、ネットワーク装置721を介してネットワークサーバ810に接続されており、このネットワークサーバ810は端末装置740に接続されている。端末装置740からの指示でネットワークサーバ810は、ファイルを断片化した後で、断片化されたファイルをそれぞれ分散ファイルシステム800内の異なるディスク装置710に転送して記録する。したがって、分散ファイルシステム800を用いる場合には、ネットワーク装置721の帯域を広くするだけで、ネットワークサーバ810から各ディスク装置710へ記録するまでの転送速度を向上させることができる。これに対して、図21(a)に示した分散ファイルシステム700を用いる場合には、ディスク装置710が入力ファイルを断片化する処理に要する時間と、ネットワーク装置720を介して断片化ファイルを各ディスク装置710へ転送する時間とを必要とするので、ネットワーク装置721の帯域を広くするだけでは、ネットワークサーバ730から各ディスク装置710へ記録するまでの転送速度を向上させることができない。なお、図示は省略したが、分散ファイルシステム700,800では、断片化されたファイルを複数のディスク装置710に冗長に保存するので高信頼性を実現することができる。また、分散ファイルシステム700,800では、ディスク装置710の障害があった場合でも、復旧するまでの時間が比較的短く、また、再構築作業時であってもファイルを入出力する速度の低下が小さい。
特表2006−506741号公報(段落0062〜0070、図1) 喜連川優著、「ストレージネットワーキング」、株式会社オーム社、2002年7月
しかしながら、例えば、RAID0のサーバ600では、RAID装置601が故障した場合にファイルの入出力ができなくなる。また、ディスク装置602に障害が発生したときに、ディスク装置602を交換して再構築するまでに要する時間が比較的長く、しかも、再構築中には、サーバ600は、ファイルを入出力する速度が低下する等の問題がある。さらに、RAIDを用いたサーバ600では、同時に複数のアクセスがあった場合に、一つのRAID装置601にアクセスが集中するため、ファイルを入出力する速度が低下してしまう。つまり、マルチアクセス性がない。また、RAID0によるサーバ600では、稼働中にディスク装置612の容量を増加することが困難である。なお、RAID1のサーバ610やRAID5のサーバも同様である。
また、例えば、SANでは、複数のサーバ630がディスク装置640を共有するので、複数のクライアント620から同時にアクセスがある場合には、ファイルを入出力する速度が低下してしまう。つまり、マルチアクセス性がない。なお、NASを用いたサーバシステムも同様である。
また、例えば、分散ファイルシステム700では、断片化されたファイルを異なるディスク装置710に記録するための処理負荷が生じるため、複数のネットワークサーバ730(複数のクライアント)から同時にアクセスがあった場合に、ファイルを入出力する速度が低下してしまう。つまり、マルチアクセス性がない。また、ディスク装置710に障害が発生したときに、ディスク装置710を交換して再構築するまでに要する時間は比較的短いが、再構築中には、分散ファイルシステム700は、外部からのアクセスによってファイルを入出力する速度が低下する等の問題がある。
さらに、分散ファイルシステム700では、実質的に複数のディスク装置710の容量を統一しておかなければならない。そのため、容量を増加する場合には、システム導入時のディスク容量単位で増加しなければならない。したがって、システム導入時に、ディスク容量の小さいディスク装置710で分散ファイルシステム700を構築した場合には、その後、低価格かつ大容量のディスク装置が販売されるようになったとしてもそれを容易に導入することができない。また、分散ファイルシステム700では、システム自体が汎用性を欠く特殊なものとなるため、同一ベンダによってシステムを構築しなければならない。要するに、分散ファイルシステム700では、運用方法が制限されており使い勝手が悪いという問題もある。
本発明は、以上のような問題点に鑑みてなされたものであり、ファイル蓄積側に複数のファイル転送要求が同時にあっても蓄積側においてファイルを入出力する速度が低下しないファイル転送システムおよびその方法を提供することを目的とする。
また、使い勝手のよいファイル転送システムおよびその方法を提供することを他の目的とする。
本発明は、前記目的を達成するために創案されたものであり、まず、請求項1に記載のファイル転送システムは、コンテンツのファイルを蓄積および転送可能で内部ネットワークに通信可能に接続されて個別のオブジェクト識別情報および共通のオブジェクト名を有する複数のサーバから構成されサーバプールと、前記ファイルと同一のファイルを蓄積および転送可能で個別のオブジェクト識別情報および個別のオブジェクト名を有する複数のサーバからなるサーバ群と、前記サーバプールを構成するサーバと前記サーバ群に属するサーバとを一対一で通信可能に接続するスイッチ機能を有したネットワーク装置と、前記各サーバと通信可能に接続されて前記サーバプールと前記サーバ群との間で前記ファイルを転送する指示を入力する端末装置とを有したファイル転送システムであって、前記サーバ群が、前記サーバプールに対して入力側に配置された前記ネットワーク装置を介して設けられて前記サーバプールをファイルの転送先とするユーザが利用する入力側のサーバ群と、前記サーバプールに対して出力側に配置された前記ネットワーク装置を介して設けられて前記サーバプールをファイルの転送元とするユーザが利用する出力側のサーバ群とを備え、前記各サーバと通信可能に接続されて前記各サーバに蓄積されたファイルに関する情報および当該サーバのオブジェクト識別情報とオブジェクト名とを含む登録用情報を管理する管理装置を備え、前記管理装置と、前記各サーバと、前記ファイルとは、前記ネットワーク装置内でそれぞれをオブジェクトとして特定するためのオブジェクトリファレンスを有し、前記オブジェクトは、予め定められた共通のオブジェクト間通信を利用して、前記ネットワーク装置を介した関数呼び出しおよび受け付けを行い、前記各サーバは、登録情報通知処理手段と、要求対応処理手段とを備えることとした。
かかる構成によれば、ファイル転送システムでは、各サーバは、登録情報通知処理手段によって、前記登録用情報を前記管理装置に通知する。そして、各サーバは、要求対応処理手段によって、前記端末装置から当該サーバの処理状態に関する情報を要求する問いかけを受けた場合に、前記処理状態がビジーであるか否かを示すメッセージを返信する。そして、ファイル転送システムは、前記サーバプールを構成するサーバの前記要求対応処理手段が、前記端末装置から、所定のファイルの転送先となることを要求する問いかけを受けた場合に、当該ファイルであるオブジェクトから、当該ファイルを蓄積した前記入力側のサーバ群に属するサーバのオブジェクトリファレンスを取得し、当該サーバに対してファイル転送用の通信経路を確立するための情報を通知する前処理を行った上でファイル転送用の通信経路を確立することを特徴とする。ここで、サーバの処理状態に関する情報とは、例えば、ファイルを転送する処理を行っている状態であるのか、その処理を行っていない状態であるのかを示す情報である。したがって、サーバはファイル転送処理を行う前に、サーバの処理状態に関するメッセージを端末装置に返信することで、ファイル転送要求を受け付け可能であるか否かを端末装置に通知することができる。その結果、サーバプールに同時に複数のファイル転送要求があっても、それら複数のアクセスがサーバプール内の異なるサーバに振り分けられることとなる。また、ファイル転送システムでは、従来の分散ファイルシステムのようにサーバプールを構成するサーバのディスク容量、サーバの性能、およびサーバのベンダをそれぞれ統一しておく必要がない。
また、請求項2に記載のファイル転送システムは、請求項1に記載のファイル転送システムにおいて、前記管理装置が、記憶手段と、転送先サーバ候補検索手段とを備え、前記端末装置が、処理状態情報要求手段と、要求先変更手段とを備えることとした。
かかる構成によれば、ファイル転送システムでは、前記管理装置は、前記各サーバから通知された登録用情報を記憶手段に記憶しておき、
転送先サーバ候補検索手段によって、前記端末装置から、前記入力側のサーバ群に属するサーバに蓄積されたファイルの転送先として前記共通のオブジェクト名により前記サーバプールを要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、オブジェクト名を検索キーとして前記サーバプールの中で前記ファイルの転送先となることが可能なサーバの候補を検索する。そして、ファイル転送システムでは、前記端末装置が、処理状態情報要求手段によって、前記管理装置で検索された結果に基づいて、前記サーバプールを構成するサーバに対して、当該サーバの処理状態に関する情報を要求する。そして、前記端末装置は、要求先変更手段によって、前記サーバプールを構成するサーバから当該サーバの処理状態がビジーではない旨を示すメッセージを受けるまで、前記処理状態に関する情報を要求する要求先を、前記サーバプールの中で当該サーバを除く他のサーバへ順次変更する。
また、請求項3に記載のファイル転送システムは、請求項1または請求項2に記載のファイル転送システムにおいて、前記サーバプールを構成するサーバが、ファイル総数特定情報要求手段と、管理権限判別手段と、ファイル総数判別手段と、複製処理手段とをさらに備えることとした。
かかる構成によれば、ファイル転送システムでは、サーバプールを構成するサーバが、ファイル総数特定情報要求手段によって、自ら蓄積している所定のファイルと同一であるファイルについて前記サーバプール内の総数を特定するためのファイル総数特定情報を前記管理装置に対して要求する。そして、サーバプールを構成するサーバは、管理権限判別手段によって、前記ファイル総数特定情報に基づいて、前記サーバプール内に蓄積された前記所定のファイルを管理する権限を有しているか否かを判別する。そして、サーバプールを構成するサーバは、ファイル総数判別手段によって、前記所定のファイルを管理する権限を有している場合に、前記ファイル総数特定情報に基づいて、前記サーバプール内のファイル総数が予め定められた2以上の整数値より小さいか否かを判別する。そして、サーバプールを構成するサーバは、複製処理手段によって、前記サーバプール内のファイル総数が前記予め定められた整数値より小さいと判別された場合に、前記サーバプールのうちで前記所定のファイルを蓄積していないサーバのいずれかに、前記内部ネットワークを介して前記所定のファイルを転送する処理を、前記サーバプール内のファイル総数が前記予め定められた整数値と同一となるまで繰り返すことで前記所定のファイルを複製する。
また、請求項4に記載のファイル転送システムは、請求項2または請求項3に記載のファイル転送システムにおいて、前記管理装置が転送元サーバ候補検索手段をさらに備えることとした。
かかる構成によれば、ファイル転送システムでは、管理装置は、転送元サーバ候補検索手段によって、前記端末装置から、前記サーバプールを構成するサーバに蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、前記サーバプールから、前記ファイルに関する情報で特定されるファイルを蓄積したサーバを転送元の候補として検索する。ここで、ファイルに関する情報は、例えば、ファイルの名前、識別情報や、当該ファイルを蓄積したサーバのIPアドレス、ポート番号、識別番号等のうちの少なくとも1つである。
また、請求項5に記載の管理装置は、請求項1ないし請求項4のいずれか一項に記載のファイル転送システムにおける管理装置であって、記憶手段と、転送先サーバ候補検索手段と、転送元サーバ候補検索手段とを備えることとした。
かかる構成によれば、管理装置は、前記各サーバから通知された登録用情報を記憶手段に記憶しておき、転送先サーバ候補検索手段によって、前記端末装置から、前記入力側のサーバ群に属するサーバに蓄積されたファイルの転送先として前記共通のオブジェクト名により前記サーバプールを要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、オブジェクト名を検索キーとして前記サーバプールの中で前記ファイルの転送先となることが可能なサーバの候補を検索する。そして、管理装置は、転送元サーバ候補検索手段によって、前記端末装置から、前記サーバプールを構成するサーバに蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、前記サーバプールから、前記ファイルに関する情報で特定されるファイルを蓄積したサーバを転送元の候補として検索する。
また、請求項6に記載のサーバは、請求項1ないし請求項4のいずれか一項に記載のファイル転送システムにおけるサーバプールを構成するサーバであって、登録情報通知処理手段と、要求対応処理手段と、ファイル総数特定情報要求手段と、管理権限判別手段と、ファイル総数判別手段と、複製処理手段とを備えることとした。
かかる構成によれば、サーバは、登録情報通知処理手段によって、当該サーバに蓄積された前記ファイルに関する情報とオブジェクト識別情報とオブジェクト名とを含む登録用情報を前記管理装置に通知しておく。そして、サーバは、要求対応処理手段によって、前記端末装置から当該サーバの処理状態に関する情報を要求する問いかけを受けた場合に、前記処理状態がビジーであるか否かを示すメッセージを返信する。そして、サーバは、ファイル総数特定情報要求手段によって、自ら蓄積している所定のファイルと同一であるファイルについて前記サーバプール内の総数を特定するためのファイル総数特定情報を前記管理装置に対して要求する。そして、サーバは、管理権限判別手段によって、前記ファイル総数特定情報に基づいて、前記サーバプール内に蓄積された前記所定のファイルを管理する権限を有しているか否かを判別し、ファイル総数判別手段によって、前記所定のファイルを管理する権限を有している場合に、前記ファイル総数特定情報に基づいて、前記サーバプール内のファイル総数が予め定められた2以上の整数値より小さいか否かを判別する。そして、サーバは、複製処理手段によって、前記サーバプール内のファイル総数が前記予め定められた整数値より小さいと判別された場合に、前記サーバプールのうちで前記所定のファイルを蓄積していないサーバのいずれかに、前記内部ネットワークを介して前記所定のファイルを転送する処理を、前記サーバプール内のファイル総数が前記予め定められた整数値と同一となるまで繰り返すことで前記所定のファイルを複製する。
また、請求項7に記載のファイル転送方法は、コンテンツのファイルを蓄積および転送可能で内部ネットワークに通信可能に接続されて個別のオブジェクト識別情報および共通のオブジェクト名を有する複数のサーバから構成されサーバプールと、前記ファイルと同一のファイルを蓄積および転送可能で個別のオブジェクト識別情報および個別のオブジェクト名を有する複数のサーバからなるサーバ群と、前記サーバプールを構成するサーバと前記サーバ群に属するサーバとを一対一で通信可能に接続するスイッチ機能を有したネットワーク装置と、前記サーバプールと前記サーバ群との間で前記ファイルを転送する指示を入力する端末装置と、前記各サーバに蓄積されたファイルに関する情報および当該サーバのオブジェクト識別情報とオブジェクト名とを含む登録用情報とを記憶手段に記憶する管理装置を有したファイル転送システムのファイル転送方法であって、前記サーバ群が、前記サーバプールに対して入力側に配置された前記ネットワーク装置を介して設けられて前記サーバプールをファイルの転送先とするユーザが利用する入力側のサーバ群と、前記サーバプールに対して出力側に配置された前記ネットワーク装置を介して設けられて前記サーバプールをファイルの転送元とするユーザが利用する出力側のサーバ群とを備え、前記管理装置と、前記各サーバと、前記ファイルとが、前記ネットワーク装置内でそれぞれをオブジェクトとして特定するためのオブジェクトリファレンスを有し、前記オブジェクトは、予め定められた共通のオブジェクト間通信を利用して、前記ネットワーク装置を介した関数呼び出しおよび受け付けを行い、登録情報通知処理ステップと、転送先サーバ候補検索ステップと、処理状態情報要求ステップと、要求対応処理ステップと、要求先変更ステップとを有することとした。
かかる手順によれば、ファイル転送方法では、前記各サーバが登録情報通知処理ステップにて、前記登録用情報を前記管理装置に通知しておく。そして、前記管理装置が転送先サーバ候補検索ステップにて、前記端末装置から前記入力側のサーバ群に属するサーバに蓄積されたファイルの転送先として前記共通のオブジェクト名により前記サーバプールを要求する問いかけを受けた場合に、前記各サーバから通知されて前記記憶手段に記憶された登録用情報に基づいて、オブジェクト名を検索キーとして前記サーバプールの中で前記ファイルの転送先となることが可能なサーバの候補を検索する。そして、前記端末装置が処理状態情報要求ステップにて、前記管理装置で検索された結果に基づいて、前記サーバプールを構成するサーバに対して、当該サーバの処理状態に関する情報を要求する。そして、前記各サーバが要求対応処理ステップにて、前記端末装置から当該サーバの処理状態に関する情報を要求する問いかけを受けた場合に、前記処理状態がビジーであるか否かを示すメッセージを返信する。そして、前記端末装置が要求先変更ステップにて、前記サーバプールを構成するサーバから当該サーバの処理状態がビジーではない旨を示すメッセージを受けるまで、前記処理状態に関する情報を要求する要求先を、前記サーバプールの中で当該サーバを除く他のサーバへ順次変更する。そして、ファイル転送方法では、前記サーバプールを構成するサーバが、前記端末装置から、所定のファイルの転送先となることを要求する問いかけを受けた場合に、当該ファイルであるオブジェクトから、当該ファイルを蓄積した前記入力側のサーバ群に属するサーバのオブジェクトリファレンスを取得し、当該サーバに対してファイル転送用の通信経路を確立するための情報を通知する前処理を行った上でファイル転送用の通信経路を確立するステップを実行することを特徴とする。
また、請求項8に記載のファイル転送方法は、請求項7に記載のファイル転送方法において、前記サーバプールを構成するサーバが、ファイル総数特定情報要求ステップと、管理権限判別ステップと、ファイル総数判別ステップと、複製処理ステップとをさらに有することとした。
かかる手順によれば、ファイル転送方法では、サーバプールを構成するサーバが、ファイル総数特定情報要求ステップにて、自ら蓄積している所定のファイルと同一であるファイルについて前記サーバプール内の総数を特定するためのファイル総数特定情報を前記管理装置に対して要求する。そして、サーバプールを構成するサーバは、管理権限判別ステップにて、前記ファイル総数特定情報に基づいて、前記サーバプール内に蓄積された前記所定のファイルを管理する権限を有しているか否かを判別し、ファイル総数判別ステップにて、前記所定のファイルを管理する権限を有している場合に、前記ファイル総数特定情報に基づいて、前記サーバプール内のファイル総数が予め定められた2以上の整数値より小さいか否かを判別する。そして、サーバプールを構成するサーバは、複製処理ステップにて、前記サーバプール内のファイル総数が前記予め定められた整数値より小さいと判別された場合に、前記サーバプールのうちで前記所定のファイルを蓄積していないサーバのいずれかに、前記所定のファイルを転送する処理を、前記サーバプール内のファイル総数が前記予め定められた整数値と同一となるまで繰り返すことで前記所定のファイルを複製する。
また、請求項9に記載のファイル転送方法は、請求項7または請求項8に記載のファイル転送方法において、前記管理装置が、転送元サーバ候補検索ステップをさらに有することとした。
かかる手順によれば、ファイル転送方法では、前記管理装置が、転送元サーバ候補検索ステップにて、前記端末装置から、前記サーバプールを構成するサーバに蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、前記各サーバから通知された登録用情報に基づいて、前記サーバプールから、前記ファイルに関する情報で特定されるファイルを蓄積したサーバを転送元の候補として検索する。
請求項1に記載の発明によれば、ネットワーク装置によって、サーバプールを構成するサーバとサーバ群に属するサーバとが一対一で接続されており、ファイル蓄積側に同時に複数のアクセスがあったとしても、ネットワーク装置の全帯域を使うことが可能である。また、ファイル蓄積側に同時に複数のアクセスがあったとしても、各サーバの処理状態に応じてファイル転送要求を受け付けることが可能な異なるサーバにファイル転送処理がそれぞれ割り振られるようにすることができる。したがって、ファイル蓄積側に同時に複数のアクセスがあったとしても、蓄積側においてファイルを入出力する速度が低下することはなく、高速な転送を行うことができる。また、システム稼動後も、サーバプールを構成するサーバのディスク容量の増加や、長期間のメンテナンスが可能なシステムを構築できる。
請求項2に記載の発明によれば、ファイル転送システム内のサーバに関する情報が管理装置で一括管理でき、それを用いることで、サーバプールを構成するサーバと、サーバ群に属するサーバとに関して、双方がファイル転送要求を受け付けることができるように組み合わせることができる。
請求項3または請求項8に記載の発明によれば、サーバプール内に蓄積するファイルを複製により冗長化することができるので、信頼性が高くなり、かつ、同時に同一のファイルに対して転送要求があった場合でも、ファイルを入出力する速度を低下させることがない。また、所定のファイルを管理する権限を有している場合にだけ複製処理を行うので、ファイルを管理する権限をサーバプール内のサーバに対して平等にすることにより、信頼性を高めることができる。
請求項4または請求項9に記載の発明によれば、サーバプール内に蓄積されたファイルを、サーバ群に属するサーバに高速に転送することができる。
請求項5に記載の発明によれば、サーバプール内に蓄積されたファイルを、サーバ群に属するサーバに高速に転送することができると共に、サーバ群に属するサーバに蓄積されたファイルを、サーバプールに高速に転送することができる。
請求項6に記載の発明によれば、ファイル蓄積側に同時に複数のアクセスがあったとしても、サーバプール内の各サーバの処理状態に応じてファイル転送要求を受け付けることが可能な異なるサーバにファイル転送処理がそれぞれ割り振られるようにすることができる。また、サーバプール内に蓄積するファイルを複製により冗長化することができるので、信頼性が高くなる。
請求項7に記載の発明によれば、ファイル転送システム内のサーバの登録用情報を用いることで、サーバプールを構成するサーバと、サーバ群に属するサーバとに関して、双方がファイル転送要求を受け付けることができるように組み合わせることができる。そのため、ファイル蓄積側に同時に複数のファイル転送要求があったとしても、受け付けることが可能な異なるサーバにファイル転送処理がそれぞれ割り振られる。したがって、ファイル蓄積側に同時に複数のアクセスがあったとしても、蓄積側においてファイルを入出力する速度が低下することはなく、高速な転送を行うことができる。
以下、本発明の実施形態に係るサーバシステムと、ファイル転送方法とを実施するための最良の形態(以下「実施形態」という)について図面を参照して詳細に説明する。
[ファイル転送システム]
図1は、本発明の実施形態に係るファイル転送システムの一例を示す構成図である。
ファイル転送システム1は、管理装置2と、サーバプール3と、サーバ群4(4a,4b)と、端末装置5と、ネットワーク装置6(6a,6b)とを備え、例えば、放送局で利用される。
管理装置2は、ネットワーク装置6(6a,6b)を介して、サーバプール3およびサーバ群4(4a,4b)の各サーバと通信可能に接続されており、各サーバに蓄積されたファイルに関する情報および当該サーバの識別情報を含む登録用情報を管理するものである。
サーバプール3は、コンテンツのファイルを蓄積および転送可能で個別の識別情報を有する複数(図1では3台)のサーバ30(30a,30b,30c)と、それらを相互に通信可能に接続する内部ネットワーク7とから構成される。このサーバプール3は、単一の装置名を有しており、複数のサーバ30(30a,30b,30c)を、見かけ上、単一のサーバとして扱うことが可能である。以下では、サーバプール3を構成するサーバを特に区別しない場合には、サーバ30と表記する。なお、サーバプール3は、放送局の番組蓄積部門のコンピュータ(番組登録用サーバ)に対応している。
サーバ群4(4a,4b)は、サーバプール3で取り扱うファイルと同一のファイルを蓄積および転送可能で個別の識別情報を有する複数のサーバ40からなる。
サーバ群4aには、放送局の番組制作部門のコンピュータ(番組制作用サーバ)にそれぞれ対応している複数(図1では3台)のサーバ40a,40b,40cが属している。ここでは、サーバ40a,40b,40cは、番組制作部門の独自のLAN等のネットワーク8(8a,8b,8c)を経由してネットワーク装置6aを介してサーバプール3に対してファイルを転送できるように接続されている。
サーバ群4bには、放送局の放送部門のコンピュータ(番組送出用サーバ)にそれぞれ対応している複数(図1では3台)のサーバ40d,40e,40fが属している。ここでは、サーバ40d,40e,40fは、ネットワーク装置6bを介して、サーバプール3から転送されるファイルを受信できるように接続されている。
端末装置5は、ネットワーク装置6aを介して、サーバプール3を構成するサーバ30およびサーバ群4aに属するサーバ40と通信可能に接続されていると共に、ネットワーク装置6bを介して、サーバ群4bに属するサーバ40と通信可能に接続されている。この端末装置5は、サーバプール3とサーバ群4(4a,4b)との間でファイルを転送するための指示等を入力するものである。これらの指示は、具体的には、サーバ群4aに属するサーバ40(番組制作用サーバ)からサーバプール3(番組登録用サーバ)へのファイル転送指示と、サーバプール3(番組登録用サーバ)からサーバ群4bに属するサーバ40(番組送出用サーバ)へのファイル転送指示と、サーバプール3(番組登録用サーバ)内に蓄積されたファイルの削除指示とを有している。
ネットワーク装置6(6a,6b)は、サーバプール3を構成するサーバ30とサーバ群4に属するサーバ40とを一対一で通信可能に接続するスイッチ機能を有したクロスバー・スイッチから構成される。ネットワーク装置6(6a,6b)は、信号の発信元から宛先までを論理的に最短距離で結び、すべての信号が互いに干渉しないように並列に処理する。本実施形態では、ネットワーク装置6は、例えば、イーサネット(登録商標)スイッチから構成される。以下では、イーサネット(登録商標)の上位レイヤの通信方式としてIP(Internet Protocol)を用いることとして説明を行う。なお、本発明は特定の通信方式に限定されるものではない。
[用語の定義]
本実施形態では、以下の用語を定義する。
<オブジェクト>
オブジェクトとは、管理装置2、サーバ30、サーバ40、ファイルの総称である。各オブジェクトは、ネットワーク装置6内でオブジェクトを特定するためのオブジェクトリファレンスを有する。
<機能モジュール>
機能モジュールとは、オブジェクトのうち、管理装置2、サーバ30、サーバ40等の装置の総称である。この機能モジュールは、共通のオブジェクト間通信を用いて、予め保有したサービス(以下では、インタフェースと呼ぶ)を互いに実行できるものとする。ここで、インタフェースは、ネットワーク装置6を介した呼び出しに応じて実行される関数である。
<メディアオブジェクト>
オブジェクトのうち、ファイルのことである。
機能モジュールが用いるオブジェクト間通信方法としては、例えば、CORBA(Common Object Request Broker Architecture:登録商標)、Java(登録商標)−RMI(Remote Method Invocation)、RPC(Remote Procedure Call)、SOAP(Simple Object Access Protocol)等が知られている。
本実施形態では、オブジェクト間通信方法として、CORBA(登録商標)を用いるものとして説明を行う。CORBA(登録商標)では、オブジェクトリファレンスは、IOR(Interoperable Object Reference)と呼ばれる。IORは、IPアドレス、ポート番号、識別番号等から構成される。なお、本発明は、特定のオブジェクト間通信に限定されるものではない。
[インタフェースの具体例]
<すべての機能モジュールに共通なインタフェース>
本実施形態では、すべての機能モジュールが共通のインタフェースとして、次の式(1)および式(2)に示す2つのインタフェースを持つものとする。
get_metadata(in key, out value) …式(1)
get_status(out stat) …式(2)
ここで、式(1)および式(2)のインタフェースの右端に表記されたカッコ内には変数が付与される。このカッコ内に記述された「in」および「out」は入出力の方向を示すものである。「in」はインタフェースを実行する際、呼び出し側が設定することを示し、「out」はインタフェースが呼び出されたオブジェクトが呼び出し側に値を返すことを示す。
式(1)の「get_metadata」は、メタデータの呼び出しインタフェースであり、呼び出し側からキーを渡して、それに対応するメタデータを「value」として受け取るためのものである。
本実施形態では、各オブジェクトのメタデータが、XML(Extensible Markup Language)で記述されているものとして説明を行う。表1はメディアオブジェクト(ファイル)のメタデータの例を示したものである。なお、本発明はメタデータの表記方法は、XMLに限定されるものではない。
Figure 0004981412
本実施形態において、前記した式(1)で指定されるキーは、このXML表記に従ったものであるとする。例えば、表1のメタデータを有するオブジェクト(メディアオブジェクト)のファイルサイズを取得したい場合、呼び出し側は、前記した式(1)に示すインタフェースに、表1に示したメタデータの「ファイルサイズ((file_size)」を設定することで、次の式(1a)を実行すればよい。
get_metadata(“/mm_object/media_object/file_size”, value) …式(1a)
これにより、インタフェースが呼び出されたオブジェクトから、呼び出し側に返す値「value」には、表1から、メタデータの値「22500000000」が設定されることとなる。
前記した式(2)の「get_status」は、オブジェクト(機能モジュール)の状態の呼び出しインタフェースであり、呼び出された機能モジュールがビジー状態であることを示すメッセージ(BUSY)またはそうではないことを示すメッセージ(NO_BUSY)を「stat」として受け取るためのものである。
[管理装置特有のインタフェース]
本実施形態では、管理装置2は以下のインタフェースを備えるものとして説明を行う。
reg_object(in ref, in id, in name, in kind) …式(3)
del_object(in ref) …式(4)
get_object(in id, in name, in kind, out list) …式(5)
式(3)の「reg_object」は、オブジェクト(当該機能モジュール、または当該機能モジュールに蓄積されたメディアオブジェクト)を登録するためのインタフェースである。機能モジュールは、このインタフェースによって管理装置2に対してオブジェクトを登録することを要求する。各機能モジュールは、オブジェクトがシステム内に追加(または生成)されると、このインタフェースによって、自オブジェクト(または蓄積されたオブジェクト)の識別情報(id)と、名前(name)と、種別(kind)と、オブジェクトリファレンス(ref)とを管理装置2に登録する。
本実施形態では、オブジェクトが、例えば、メディアオブジェクト(ファイル)である場合、オブジェクトの識別情報(以下、オブジェクトIDという)と、名前(以下、オブジェクト名という)と、種別とを、それぞれ以下のように設定することとする。すなわち、オブジェクトIDとしては、ファイルに付けられた「ユニークID」を設定し、オブジェクト名として「ファイル名」を設定し、種別としてメディアオブジェクトを表す「MEDIA」を設定する。
また、本実施形態では、オブジェクトが、例えば、機能モジュール(ここでは、サーバプール3内のサーバ30)の場合、オブジェクトIDとして「サーバ名」を設定し、オブジェクト名として「サーバプール名」、種別として機能モジュールを表す「MODULE」を設定するものとする。なお、これらは一例であって、オブジェクトの識別情報(ID)、名前および種別を任意の方法で設定することができる。
式(4)の「del_object」は、管理装置2に既に登録済みのオブジェクトのうち、オブジェクトリファレンス(refと表記する)で指定されたオブジェクトの登録データを削除する(登録を解除する)ためのインタフェースである。各機能モジュールは、このインタフェースによって管理装置2に対してオブジェクトを削除することを要求する。
式(5)の「get_object」は、指定されたオブジェクトを、管理装置2に既に登録済みのオブジェクトの中から検索するためのインタフェースである。具体的には、サーバ30や端末装置5は、このインタフェースで、オブジェクトID(id)と、オブジェクト名(name)と、種別(kind)とによってオブジェクトを指定する。一方、管理装置2は、各項目に関して指定された情報で検索された結果であるすべてのオブジェクトに対応したオブジェクトリファレンスをリスト(list)にしてサーバ30や端末装置5に返す。
[サーバ特有のインタフェース]
本実施形態では、サーバ30,40は以下のインタフェースを備えるものとして説明を行う。
trs_mediaObject(in media_ref, in mode) …式(6)
req_transfer(in media_ref, in module_ref) …式(7)
del_mediaObject(in media_ref, in mode) …式(8)
式(6)の「trs_mediaObject」は、端末装置5で指定されたメディアオブジェクト、つまり、そのオブジェクトリファレンス(media_ref)で特定されるメディアオブジェクトを転送するために転送前処理をするためのインタフェースである。端末装置5は、このインタフェースによって、機能モジュール(サーバ30,40)に対してメディアオブジェクト(ファイル)の転送先となることを要求する。この転送要求時には、オブジェクトリファレンス(media_ref)と共に、モード(mode)が指定される。このとき、モード(mode)としては、通常の転送を示す「COPY」、または、サーバプール3内での複製を示す「DUPLICATE」のいずれかが指定される。
式(7)の「req_transfer」は、前記した式(6)の「trs_mediaObject」を呼び出された機能モジュール(転送先のサーバ30,40)が、ファイルの転送元である機能モジュール(転送元のサーバ40,30)に対して、指定されたメディアオブジェクト(ファイル)を自オブジェクトに転送することを要求するためのインタフェースである。このインタフェースでは、転送先である機能モジュール(サーバ30,40)のオブジェクトリファレンス(module_ref)と、転送される対象のメディアオブジェクト(ファイル)のオブジェクトリファレンス(media_ref)とが指定される。
式(8)の「del_mediaObject」は、指定されたオブジェクトリファレンス(media_ref)に対応するメディアオブジェクト(ファイル)を削除するためのインタフェースである。サーバ30,40または端末装置5は、このインタフェースによって、他のサーバ30,40に蓄積されたメディアオブジェクト(ファイル)の削除を要求する。この削除要求時には、オブジェクトリファレンス(media_ref)と共に、モード(mode)が指定される。このとき、モード(mode)として、サーバプール3内の同一ファイル名のすべてのファイルの削除要求を示す「ALL」、または、1つのファイルの削除要求であることを示す「ONLY」が指定される。
本実施形態のファイル転送システム1では、各機能モジュールは、管理装置2のオブジェクトリファレンスを予め取得しておく必要がある。そこで、本実施形態では、各機能モジュールに、管理装置2のオブジェクトリファレンスを予め設定しておくものとする。ただし、これは一例であって、管理装置2のオブジェクトリファレンスの取得方法について限定されるものではない。例えば、各機能モジュールが、ファイル転送システム1において予め定められたポート番号に所定のタイミングで信号をブロードキャストし、そのブロードキャストを行った機能モジュールに対して、管理装置2が自オブジェクトリファレンスを返答するようにしてもよい。
以下、ファイル転送システム1の各装置の詳細な構成を説明する。
[管理装置]
図2は、図1に示した管理装置の一例を示すブロック図である。
管理装置2は、図2に示すように、通信手段21と、記憶手段22と、制御手段23とを備えている。通信手段21は、各オブジェクトのインタフェースを呼び出すと共に、各オブジェクトからの呼び出しの受け付けを行うものである。なお、オブジェクト間通信方法として、CORBA(登録商標)を用いる。
記憶手段22は、各サーバ30,40から通知された登録用情報を記憶するものであって、RAM(Random Access Memory)221と、ROM(Read Only Memory)222と、HDD(Hard Disk Drive)223とを備えている。RAM221は、制御手段23による演算処理等に利用されると共に、通信手段21を介して取得した情報等を記憶するものであり、ROM222は、所定のプログラム等を記憶するものである。
HDD223には、オブジェクトリスト223aが記録されている。このオブジェクトリスト223aは、項目カウンタ(No.)別に、登録用情報として、オブジェクトIDと、オブジェクト名と、オブジェクトリファレンス(IOR)と、種別とを記録したリストである。オブジェクトリスト223aの構造の一例を図3に示す。
制御手段23は、例えば、CPU(Central Processing Unit)から構成され、主として、オブジェクトリスト223aを利用したオブジェクトの登録、削除および検索を行うものである。この制御手段23は、受信情報判別手段231と、処理結果通知手段232と、処理状態情報要求手段233と、オブジェクトリスト管理手段234とを備えている。
受信情報判別手段231は、通信手段21で受信した情報に基づいて、他のオブジェクトからの動作要求が、前記した式(1)〜式(5)のインタフェースのいずれであるかを判別し、その判別結果をオブジェクトリスト管理手段234に通知するものである。なお、本実施形態では、管理装置2は、式(1)および式(2)のインタフェースを特に利用しないこととする。したがって、後記するオブジェクトリスト管理手段234は、前記した式(3)〜式(5)に示したインタフェース応じた処理を実行する。
処理結果通知手段232は、オブジェクトリスト管理手段234による処理結果について通信手段21を用いて、呼び出し要求を行ったオブジェクトに通知するものである。
処理状態情報要求手段233は、サーバプール3を構成するサーバ30またはサーバ群4に属するサーバ40に対して、当該サーバの処理状態に関する情報を要求するものである。この処理状態情報要求手段233は、前記した式(2)の「get_status」インタフェースを呼び出す要求を実行することで実現される。
オブジェクトリスト管理手段234は、登録内容追加手段241と、登録内容削除手段242と、転送先サーバ候補検索手段243と、転送元サーバ候補検索手段244と、オブジェクトリストチェック手段245とを備えている。
登録内容追加手段241は、受信情報判別手段231によって、前記した式(3)に示す「reg_object」インタフェースを呼び出す要求があると判定された場合に、その登録用情報(登録内容)をHDD223に記録されたオブジェクトリスト223aに追加するものである。この登録内容追加手段241は、前記した式(3)の「reg_object」インタフェースを実行することで実現される。
登録内容削除手段242は、受信情報判別手段231によって、前記した式(4)に示す「del_object」インタフェースを呼び出す要求があると判定された場合に、HDD223に記録されたオブジェクトリスト223aから、指定された登録用情報(登録内容)を削除するものである。この登録内容削除手段242は、前記した式(4)の「del_object」インタフェースを実行することで実現される。
転送先サーバ候補検索手段243は、端末装置5から、サーバ群4に属するサーバ40に蓄積されたファイルの転送先としてサーバプール3を要求する問いかけを受けた場合に、記憶手段22に記憶されたオブジェクトリスト223a(登録用情報)に基づいて、サーバプール3の中でファイルの転送先となることが可能なサーバ30の候補を検索するものである。この転送先サーバ候補検索手段243は、前記した式(5)の「get_object」インタフェースを実行することで実現されるものである。
転送元サーバ候補検索手段244は、端末装置5から、サーバプール3を構成するサーバ30に蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、記憶手段22に記憶されたオブジェクトリスト223a(登録用情報)に基づいて、サーバプール3から、ファイルに関する情報で特定されるファイルを蓄積したサーバ30を転送元の候補として検索するものである。この転送元サーバ候補検索手段244は、前記した式(5)の「get_object」インタフェースを実行することで実現されるものである。
オブジェクトリストチェック手段245は、オブジェクトリスト223aに記録された各オブジェクトがファイル転送システム1内に存在するかどうかをチェックするものである。このオブジェクトリストチェック手段245は、処理状態情報要求手段233によって対象オブジェクトに対してインタフェース「get_status」を実行できなかった場合に、対象オブジェクトがファイル転送システム1内に存在しないものと判別する。
なお、前記した制御手段23が備える受信情報判別手段231、処理結果通知手段232、処理状態情報要求手段233およびオブジェクトリスト管理手段234は、CPUが記憶手段22のHDD223等に格納された所定のプログラムをRAM221に展開して実行することにより実現されるものである。また、管理装置2は、一般的なコンピュータを、前記した各手段として機能させるプログラムにより動作させることで実現することができる。このプログラムは、通信回線を介して配布することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。
[サーバプールを構成するサーバ]
図4は、図1に示したサーバプールを構成するサーバの一例を示すブロック図である。
サーバ30は、図4に示すように、通信手段31と、記憶手段32と、制御手段33とを備えている。通信手段31は、各オブジェクトのインタフェースを呼び出すと共に、各オブジェクトからの呼び出しの受け付けを行うものである。なお、オブジェクト間通信方法として、CORBA(登録商標)を用いる。
記憶手段32は、RAM321と、ROM322と、ディスク装置としてのHDD323とを備えている。RAM321は、制御手段33による演算処理等に利用されると共に、通信手段31を介して取得した情報等を記憶するものであり、ROM322は、所定のプログラム等を記憶するものである。HDD323には、例えば、1以上のファイルがファイル識別番号と共に蓄積される。
制御手段33は、例えば、CPUから構成され、受信情報判別手段331と、処理状態情報要求手段332と、要求対応処理手段333と、登録情報通知処理手段334と、ファイル管理手段335と、マスター機能処理手段336とを備えている。
受信情報判別手段331は、通信手段31で受信した情報に基づいて、他のオブジェクトからの呼び出し要求が、前記した式(1)、式(2)および式(6)〜式(8)のインタフェースのいずれであるかを判別し、その判別結果を要求対応処理手段333に通知するものである。
処理状態情報要求手段332は、サーバプール3を構成するサーバ30またはサーバ群4に属するサーバ40に対して、当該サーバの処理状態に関する情報を要求するものである。この処理状態情報要求手段332は、前記した式(2)の「get_status」インタフェースを呼び出す要求を実行することで実現される。
要求対応処理手段333は、端末装置5から当該サーバ30の処理状態に関する情報を要求する問いかけを受けた場合に、処理状態がビジーであるか否かを示すメッセージを返信するものである。また、要求対応処理手段333は、サーバ30,40または端末装置5から、式(1)の「get_metadata」インタフェース、式(6)の「trs_mediaObject」インタフェース、式(7)の「req_transfer」インタフェース、式(8)の「del_mediaObject」インタフェースのいずれかを呼び出された場合に、呼び出されたインタフェースを実行する。
登録情報通知処理手段334は、登録用情報を管理装置2に通知するものである。この登録情報通知処理手段334は、前記した式(3)の「reg_object」インタフェースを呼び出す要求を実行することで実現される。
ファイル管理手段335は、外部から入力されたファイルを記憶手段32に書き込むと共に、記憶手段32に記憶されたファイルを読み出すものである。
マスター機能処理手段336は、主として、自サーバが保存しているファイルそれぞれについて、自サーバがマスターであるかどうかをチェックするものであり、ファイル総数特定情報要求手段341と、管理権限判別手段342と、ファイル総数判別手段343と、複製処理手段344と、削除処理手段345とを備えている。
ファイル総数特定情報要求手段341は、記憶手段32に自ら蓄積している所定のファイルと同一であるファイルについてサーバプール3内の総数を特定するためのファイル総数特定情報を管理装置2に対して要求し、取得するものである。このファイル総数特定情報要求手段341は、前記した式(5)の「get_object」インタフェースを呼び出す要求を実行することで実現される。本実施形態では、ファイル総数特定情報は、前記所定のファイルと同一であるファイルについてのオブジェクトリファレンスおよびその個数である。なお、ファイル総数特定情報は、オブジェクトIDおよびその個数としてもよいし、オブジェクト名およびその個数としてもよい。
管理権限判別手段342は、ファイル総数特定情報に基づいて、サーバプール3内に蓄積された所定のファイルを管理する権限を自サーバが有しているか否かを判別するものである。この管理権限判別手段342は、所定のファイルを管理する権限を自サーバが有していると判別した場合には、その旨をファイル総数判別手段343に通知する。
本実施形態では、サーバプール3内に保存されたファイル毎に、当該ファイルを管理する権限を有したサーバ(以下、マスターという)が決められることとした。また、管理装置2が作成してサーバ30に通知するオブジェクトリファレンスのリストの先頭に記載されたメディアオブジェクト(ファイル)を生成したサーバがマスターとなるものとする。
ファイル総数判別手段343は、管理権限判別手段342で所定のファイルを管理する権限を有していると判別された場合に、ファイル総数特定情報要求手段341により取得したファイル総数特定情報に基づいて、サーバプール3内のファイル総数が予め定められた2以上の整数値(以下、冗長数という)より小さいか否かを判別するものである。
複製処理手段344は、ファイル総数判別手段343によってサーバプール3内のファイル総数が冗長数より小さいと判別された場合に、サーバプール3のうちで所定のファイルを蓄積していないサーバ30のいずれかに、内部ネットワーク7を介して所定のファイルを転送する処理を、サーバプール3内のファイル総数が冗長数と同一となるまで繰り返すことで所定のファイルを複製するものである。
削除処理手段345は、「del_mediaObject」インタフェースのモード(mode)に「ONLY」が指定されている場合には、指定されたオブジェクトリファレンスに基づいて、記憶手段32のHDD323に蓄積されたファイルを削除する。また、削除処理手段345は、管理装置2の「del_object」インタフェースを呼び出し、管理装置2の記憶手段22に記録されたオブジェクトリスト223aから、指定されたメディアオブジェクトの登録内容を削除する。また、削除処理手段345は、「del_mediaObject」インタフェースのモード(mode)に「ALL」が指定された場合には、後記するように、管理権限判別手段342の判別結果にしたがって動作する。この削除処理手段345は、前式した式(8)の「del_mediaObject」インタフェースを実行することで実現されるものである。
なお、前記した制御手段33が備える受信情報判別手段331、処理状態情報要求手段332、要求対応処理手段333、登録情報通知処理手段334、ファイル管理手段335およびマスター機能処理手段336は、CPUが記憶手段32のHDD323等に格納された所定のプログラムをRAM321に展開して実行することにより実現されるものである。
[サーバ群に属するサーバ]
図5は、図1に示したサーバ群に属するサーバの一例を示すブロック図である。
サーバ群4に属するサーバ40は、制御手段33aに、図4に示したマスター機能処理手段336を備えていない点を除いて、サーバプール3を構成するサーバ30と同様な構成である。したがって、同一の構成には同一の番号を付与して説明を省略する。なお、サーバ30およびサーバ40は、一般的なコンピュータを、前記した各手段として機能させるプログラムにより動作させることで実現することができる。このプログラムは、通信回線を介して配布することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。
[端末装置]
図6は、図1に示した端末装置の一例を示すブロック図である。
端末装置5は、図5に示すように、通信手段51と、記憶手段52と、制御手段53とを備えている。通信手段51は、各オブジェクトのインタフェースを呼び出すものである。なお、オブジェクト間通信方法として、CORBA(登録商標)を用いる。
記憶手段52は、例えば、RAMと、ROMと、HDDとを備え、制御手段53による演算処理等に利用されると共に、所定のプログラム等を記憶する。
制御手段53は、例えば、CPUから構成され、処理状態情報要求手段531と、要求先変更手段532と、登録内容削除要求手段533とを備えている。
処理状態情報要求手段531は、管理装置2で検索された結果に基づいて、サーバプール3を構成するサーバ30に対して、当該サーバの処理状態に関する情報を要求するものである。この処理状態情報要求手段531は、前記した式(2)の「get_status」インタフェースを呼び出す要求を実行することで実現される。
要求先変更手段532は、サーバプール3を構成するサーバ30から当該サーバの処理状態がビジーではない旨を示すメッセージを受けるまで、処理状態情報要求手段531で処理状態に関する情報を要求する要求先を、サーバプール3の中で当該サーバ30を除く他のサーバ30へ順次変更する処理を行うものである。
登録内容削除要求手段533は、サーバ30(または40)の記憶手段32に蓄積されたファイルの削除を要求するものである。この機能は、前記した式(8)の「del_mediaObject」インタフェースを呼び出す要求を実行することで実現される。
なお、前記した制御手段53が備える処理状態情報要求手段531、要求先変更手段532および登録内容削除要求手段533は、CPUが記憶手段52のHDD等に格納された所定のプログラムをRAMに展開して実行することにより実現されるものである。また、端末装置5は、一般的なコンピュータを、前記した各手段として機能させるプログラムにより動作させることで実現することができる。このプログラムは、通信回線を介して配布することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。
[ファイル転送システムの動作の概要]
以下、図1に示したファイル転送システム1の動作の概要を図7および図8を参照(適宜図1参照)して説明する。図7は、図1に示した各サーバを特定する情報の一例を示す説明図であり、図8は、図1に示した各サーバが蓄積したファイルに関する情報の一例を示す説明図である。ここでは、図7および図8に示すように、図1に示した各サーバ(30,40)を特定する情報と、各サーバ(30,40)が蓄積しているファイルに関する情報とが予め定められているものとして説明する。
図7に示すように、サーバプール3を構成するサーバ30a〜30cは、同一のオブジェクト名「EntryServer」を有している。
また、サーバ群4aに属するサーバ40a,40b,40cは、オブジェクト名として「EditServer1」、「EditServer2」、「EditServer3」をそれぞれ有している。
また、サーバ群4bに属するサーバ40d,40e,40fは、オブジェクト名として「BcServer1」、「BcServer2」、「BcServer3」をそれぞれ有している。
図8に示すように、サーバプール3を構成するサーバ30a,30bは、「file 1」と「file2」とをそれぞれ蓄積しており、サーバ30cは、「file 1」を蓄積している。つまり、この図8に示す状態では、サーバプール3内には、メディアオブジェクトとして、3つの「file 1」が蓄積されていると共に、2つの「file2」が蓄積されている。これらのメディアオブジェクトのIOR等はそれぞれ異なっている。本実施形態では、冗長数を「3」としている。したがって、例えば「file 1」が、サーバプール3内の別々のサーバ30a,30b,30cに保存される。また、図8に示した状態から、サーバプール3内のマスターが、「file2」を複製処理してサーバ30cに転送することにより、「file2」についても冗長数が「3」に変化することとなる。
このように、本実施形態では、サーバプール3内の複数のサーバ30に、同一内容のファイルを冗長に保存しておくため、いずれかのサーバ30のディスク装置(HDD323)に障害が発生したとしても、サーバプール3としてのファイルの保存が確保されるため、ファイルの消失が起こらない。したがって、高信頼性のファイル転送システム1を実現できる。
また、図8に示すように、サーバ群4aに属するサーバ40aは、「file K」と「file 1」とを蓄積しており、サーバ40b,40cは、ファイルを蓄積していない。なお、サーバ40aに蓄積された「file 1」は、サーバプール3に蓄積された「file 1」がバージョンアップされたファイルを示しており、IOR等は異なっている。
また、図8に示すように、サーバ群4bに属するサーバ40d,40e,40fには、ファイルが未だ蓄積されていない。ここで、サーバ群4bに属するサーバ40d,40eから、サーバプール3に蓄積されている「file 1」の転送要求を同時に行った場合に、それぞれ異なるサーバ30(例えば、30a,30b)がファイル転送動作に用いられることとなる。そのため、それぞれのファイル転送に対して(マルチアクセスに対して)、ネットワーク装置6b(図1参照)の全帯域を使うことができる。したがって、それぞれのファイル転送速度は、低下することがない。さらに、このような「file 1」の転送処理中に、サーバ群4aに属するサーバ40aに蓄積された「file K」の転送先としてサーバプール3が要求された場合でも、サーバプール3内で転送処理に使用されていないサーバ30cが対応することで、ネットワーク装置6a(図1参照)の全帯域を使った高速なファイル転送を行うことができる。
[ファイル転送システムの動作の詳細]
以下、ファイル転送システムを構成する各装置ごとの動作、および、各装置間の動作を順次説明する。なお、図1ないし図8も適宜参照して説明する。
(管理装置)
<オブジェクトリスト管理処理>
図9は、図2に示した管理装置が外部からの要求に応じて実行する処理を示すフローチャートである。管理装置2は、制御手段23の受信情報判別手段231によって、通信手段21で受信した情報が他のオブジェクトからの動作要求であるか否かを判別する(ステップS1)。他のオブジェクトからの動作要求がない場合には(ステップS1:No)、ステップS1に戻って判別を繰り返す。一方、他のオブジェクトからの動作要求がある場合には(ステップS1:Yes)、受信情報判別手段231は、その動作要求が、前記した式(3)に示す「reg_object」インタフェースを呼び出す要求であるか否かを判別する(ステップS2)。
「reg_object」インタフェースを呼び出す要求である場合には(ステップS2:Yes)、管理装置2は、オブジェクトリスト管理手段234の登録内容追加手段241によって、登録要求のあったオブジェクトリファレンス(ref)を、オブジェクトID(id)、オブジェクト名(name)、種別(kind)と共に、HDD223に記録されたオブジェクトリスト223aに追加し(ステップS3)、ステップS1に戻る。また、ステップS2において、「reg_object」インタフェースを呼び出す要求ではない場合には(ステップS2:No)、受信情報判別手段231は、その動作要求が、前記した式(4)に示す「del_object」インタフェースを呼び出す要求であるか否かを判別する(ステップS4)。
「del_object」インタフェースを呼び出す要求である場合には(ステップS4:Yes)、管理装置2は、オブジェクトリスト管理手段234の登録内容削除手段242によって、削除要求のあったオブジェクトに対応する項目(登録データ)を、オブジェクトリスト223aから削除し(ステップS5)、ステップS1に戻る。また、ステップS4において、「del_object」インタフェースを呼び出す要求ではない場合には(ステップS4:No)、受信情報判別手段231は、その動作要求が、前記した式(5)に示す「get_object」インタフェースを呼び出す要求であるか否かを判別する(ステップS6)。
「get_object」インタフェースを呼び出す要求である場合には(ステップS6:Yes)、管理装置2は、オブジェクトリスト管理手段234の転送先サーバ候補検索手段243または転送元サーバ候補検索手段244によって、指定されたオブジェクトID(id)と、オブジェクト名(name)と、種別(kind)にマッチする項目(登録データ)をオブジェクトリスト223a中で検索する(ステップS7)。そして、管理装置2は、処理結果通知手段232によって、通信手段21を用いて、検索の結果マッチしたすべての項目に対応したオブジェクトリファレンスをリスト形式で返信し(ステップS8)、ステップS1に戻る。なお、ステップS6において、「get_object」インタフェースを呼び出す要求ではない場合にも(ステップS6:No)、管理装置2は、ステップS1に戻る。
<オブジェクトリストチェック処理>
図10は、図2に示した管理装置によるオブジェクトリストのチェック動作を示すフローチャートである。管理装置2は、オブジェクトリストチェック手段245によって、チェックを行う項目を示す項目カウンタの値(Z)を「0」に設定し(ステップS11)、オブジェクトリスト223aから、項目カウンタが「Z」であるオブジェクトのオブジェクトリファレンス(IOR)を取り出す(ステップS12)。そして、管理装置2は、処理状態情報要求手段233によって、IORを取り出す対象とするオブジェクト(機能モジュール)に対して、前記した式(2)で示される「get_status」インタフェースを実行する(ステップS13)。
そして、管理装置2は、受信情報判別手段231によって、「get_status」インタフェースに対する返答(return)があるか否かを判別する(ステップS14)。「get_status」インタフェースに対する返答(return)がない場合(ステップS14:No)、管理装置2は、オブジェクトリストチェック手段245によって、対象オブジェクトはファイル転送システム1内には存在していないものと判断し、オブジェクトリスト223aから当該対象オブジェクトの項目(登録データ)を削除する(ステップS15)。そして、管理装置2は、オブジェクトリストチェック手段245によって、項目カウンタの値(Z)に「1」を加算する(ステップS16)。
一方、ステップS14において、「get_status」インタフェースに対する返答(return)がある場合(ステップS14:Yes)、管理装置2は、ステップS15の処理をスキップしてステップS16に進む。ステップS16に続いて、管理装置2は、オブジェクトリストチェック手段245によって、項目カウンタの値(Z)が、オブジェクトリスト223aに記録された項目の個数より大きいか否かを判別する(ステップS17)。項目カウンタの値(Z)が、オブジェクトリスト223aに記録された項目の個数より大きい場合には(ステップS17:Yes)、管理装置2は、オブジェクトリストチェック手段245によって、項目カウンタの値(Z)を「0」として(ステップS18)、ステップS12へ戻り、オブジェクトリスト223aの先頭のオブジェクトから再度チェックを開始する。また、項目カウンタの値(Z)が、オブジェクトリスト223aに記録された項目の個数以下の場合には(ステップS17:No)、管理装置2は、そのままステップS12へ戻る。
(サーバ)
<ファイル登録処理>
図11は、図1に示した各サーバによるファイルの登録処理を示すフローチャートである。ここでは、サーバプール3を構成するサーバ30として説明する。なお、このファイル登録処理では、サーバ群4に属するサーバ40の動作は同様なものなので説明を省略する。
サーバ30は、登録情報通知処理手段334によって、前記した式(3)に示す「reg_object」インタフェースにより、自サーバを機能モジュール(オブジェクト)として、管理装置2に登録する(ステップS21)。つまり、登録情報通知処理手段334は、自サーバのオブジェクトリファレンスを、オブジェクトID(id)、オブジェクト名(name)、種別(MODULE)と共に、管理装置2に登録する。
サーバ30は、ファイル管理手段335によって、自サーバに蓄積していてこれから管理装置2に登録を行うファイルを特定する番号を示すファイルカウンタの値(N)を「0」に設定する(ステップS22)。そして、サーバ30は、登録情報通知処理手段334によって、前記した式(3)に示す「reg_object」インタフェースにより、ファイルカウンタの値が「N」であるファイルを、メディアオブジェクトとして、管理装置2に登録する(ステップS23)。つまり、登録情報通知処理手段334は、ファイルカウンタの値が「N」であるファイルのオブジェクトリファレンスを、オブジェクトID(id)、オブジェクト名(name)、種別(MEDIA)と共に、管理装置2に登録する。
サーバ30は、ファイル管理手段335によって、ファイルカウンタの値(N)に「1」を加算し(ステップS24)、ファイルカウンタの値(N)が、HDD323に蓄積されたすべてのファイルの個数より大きいか否かを判別する(ステップS25)。ファイルカウンタの値(N)が、HDD323に蓄積されたすべてのファイルの個数以下である場合には(ステップS25:No)、サーバ30は、ステップS23へ戻る。一方、蓄積されたすべてのファイルの個数より大きい場合には(ステップS25:Yes)、サーバ30は、処理を終了する。
<要求対応処理>
図12は、図1に示した各サーバが外部からの要求に応じて実行する処理を示すフローチャートである。ここでは、サーバプール3を構成するサーバ30として説明する。なお、この要求対応処理では、サーバ群4に属するサーバ40の動作は同様なものなので説明を省略する。
サーバ30は、制御手段33の受信情報判別手段331によって、通信手段31で受信した情報が他のオブジェクトからの動作要求であるか否かを判別する(ステップS31)。他のオブジェクトからの動作要求がない場合には(ステップS31:No)、ステップS31に戻って判別を繰り返す。一方、他のオブジェクトからの動作要求がある場合には(ステップS31:Yes)、受信情報判別手段331は、その動作要求が、前記した式(2)に示す「get_status」インタフェースを呼び出す要求であるか否かを判別する(ステップS32)。
「get_status」インタフェースを呼び出す要求である場合には(ステップS32:Yes)、サーバ30は、要求対応処理手段333によって、ファイル転送処理の動作中であるか否かを判別する(ステップS33)。ファイル転送処理の動作中ならば(ステップS33:Yes)、要求対応処理手段333は、「BUSY」を返答し(ステップS34)、そうでないならば(ステップS33:No)、「NO_BUSY」を返答する(ステップS35)。ステップS34またはステップS35に続いて、サーバ30は、ステップS31に戻る。また、ステップS32において、「get_status」インタフェースを呼び出す要求ではない場合には(ステップS32:No)、受信情報判別手段331は、その動作要求が、前記した式(1)に示す「get_metadata」インタフェースを呼び出す要求であるか否かを判別する(ステップS36)。
「get_metadata」インタフェースを呼び出す要求である場合には(ステップS36:Yes)、サーバ30は、要求対応処理手段333によって、指定されたキー(key)に対応するメタデータを「value」として返答し(ステップS37)、ステップS31に戻る。また、ステップS36において、「get_metadata」インタフェースを呼び出す要求ではない場合には(ステップS36:No)、受信情報判別手段331は、その動作要求が、前記した式(6)に示す「trs_mediaObject」インタフェースを呼び出す要求であるか否かを判別する(ステップS38)。
「trs_mediaObject」インタフェースを呼び出す要求である場合には(ステップS38:Yes)、サーバ30は、要求対応処理手段333によって、後記するファイル転送前処理を行い(ステップS39)、続けて、通信手段31を介して転送先オブジェクトに対して、ファイル転送用の通信経路を確保することでファイル転送用コネクションを確立し(ステップS40)、ファイル管理手段335によって、ファイル転送を実行し(ステップS41)、ステップS31に戻る。また、ステップS38において、「trs_mediaObject」インタフェースを呼び出す要求ではない場合には(ステップS38:No)、受信情報判別手段331は、その動作要求が、前記した式(7)に示す「req_transfer」インタフェースを呼び出す要求であるか否かを判別する(ステップS42)。
「req_transfer」インタフェースを呼び出す要求である場合には(ステップS42:Yes)、サーバ30は、要求対応処理手段333によって、通信手段31を介して転送先オブジェクトに対して、ファイル転送用の通信経路を確保することでファイル転送用コネクションを確立し(ステップS43)、ファイル管理手段335によって、ファイル転送を実行し(ステップS44)、ステップS31に戻る。また、ステップS42において、「req_transfer」インタフェースを呼び出す要求ではない場合には(ステップS42:No)、受信情報判別手段331は、その動作要求が、前記した式(8)に示す「del_mediaObject」インタフェースを呼び出す要求であるか否かを判別する(ステップS45)。「del_mediaObject」インタフェースを呼び出す要求ではない場合には(ステップS45:No)、ステップS31に戻る。また、「del_mediaObject」インタフェースを呼び出す要求である場合には(ステップS45:Yes)、サーバ30は、要求対応処理手段333によって、後記するファイル削除処理を実行し(ステップS46)、ステップS31に戻る。
≪ファイル転送前処理A≫
図13は、図12に示したファイル転送前処理を説明するためのシーケンス図である。
ファイル転送前処理Aは、前記したステップS39のファイル転送前処理のうち、以下の条件に合致した場合の処理である。ここでは、具体例として、サーバ群4aに属するサーバ40aに蓄積されたファイル(file K)を、サーバプール3を構成するサーバ30aに転送する場合を説明する。また、前提として、サーバ40a、file K、サーバ30aのオブジェクトリファレンスを、図7および図8に示すように、それぞれ「IOR_S」、「IOR_K」、「IOR_P1」とする。また、端末装置5は、転送する対象のファイル(file K)のオブジェクトリファレンス「IOR_K」と、転送先のサーバ30aのオブジェクトリファレンス「IOR_P1」とを予め取得しているものとする。
端末装置5は、サーバ30aに対して、前記した式(6)の「trs_mediaObject」インタフェースを呼び出す要求を実行する(ステップS51)。具体的には、端末装置5は、サーバ30aに対して「file K」の転送先となることを要求する旨を通知する。ここでは、通常の転送なので、モード(mode)として「COPY」が指定される。これによって、サーバ30aは、指定されたメディアオブジェクト(file K)に対して、前記した式(1)の「get_metadata」インタフェースを呼び出す要求を実行し(ステップS52)、file Kが保存されたサーバ40aのオブジェクトリファレンスを取得する(ステップS53)。なお、このとき、サーバ30aは、file Kのその他のメタデータを呼び出してもよい。例えば、file Kのファイルサイズを取得することで、対象ファイルが自サーバに蓄積可能かどうかの判断材料とすることができる。
次に、サーバ30aは、取得したオブジェクトリファレンスで特定されるサーバ40aに対して、前記した式(7)の「req_transfer」インタフェースを呼び出す要求を実行する(ステップS54)。この「req_transfer」インタフェースを呼び出す要求を受けたサーバ40aは、転送先のサーバ30aに対して、前記した式(1)の「get_metadata」インタフェースを用いてIPアドレス(IP address)を要求する(ステップS55)。これによって、サーバ30aはIPアドレスをメタデータとしてサーバ40aに通知する(ステップS56)。さらに、サーバ40aは、転送先のサーバ30aに対して、前記した式(1)の「get_metadata」インタフェースを用いてポート番号(port number)を要求する(ステップS57)。これによって、サーバ30aはポート番号をメタデータとしてサーバ40aに通知する(ステップS58)。以上の情報を元に、サーバ40aとサーバ30aは、ファイル転送用の通信経路を確立して、ファイル転送を実行する。なお、ステップS55〜S58のやりとりは一例であって、これに限定されるものではない。
<マスター機能処理>
図14は、図4に示したサーバによるマスター機能の一例であるファイル複製動作を示すフローチャートである。このファイル複製動作は、サーバプール3を構成するサーバ30に特有な動作であり、サーバ群4に属するサーバ40はこの動作を行わない。
まず、サーバ30は、ファイル管理手段335によって、記憶手段32のHDD323に記録されたファイル識別番号の値(X)を「0」に設定し、HDD323からファイル識別番号の値が「X」であるファイルのオブジェクトリファレンス(IOR)を取り出す(ステップS61)。そして、サーバ30は、マスター機能処理手段336のファイル総数特定情報要求手段341によって、管理装置2に対して、前記した式(5)の「get_object」インタフェースを呼び出す要求を実行する(ステップS62)。これによって、例えば、冗長数を「3」とした場合、サーバプール3内には同一ファイルが3つ存在するため、3つのオブジェクトリファレンスを含んだオブジェクトリファレンスのリストが返送されることとなる。
そして、サーバ30は、管理権限判別手段342によって、自サーバがX番目のファイルのマスターであるか否かを判別する(ステップS63)。ここで、管理権限判別手段342は、サーバ30が取得したリストの先頭に記載されたオブジェクトリファレンスに対応したオブジェクトを生成したサーバが自サーバである場合に、自サーバがX番目のファイルのマスターであると判定する。
マスターではないと判定した場合には(ステップS63:No)、サーバ30は、後記するステップS66に進む。一方、マスターであると判定した場合には(ステップS63:Yes)、サーバ30は、ファイル総数判別手段343によって、X番目のファイルについて、サーバプール3内のファイルの総数が予め定められた所定値(冗長数)であるか否かを判別する(ステップS64)。サーバプール3内のファイルの総数が冗長数より小さい場合には(ステップS64:No)、サーバ30は、複製処理手段344によって、X番目のファイルについて、複製処理を実行し(ステップS65)、ステップS64に戻る。この複製処理の手順は、図12に示したファイル転送前処理(ステップS39)と、それに続くステップS40,S41の処理と同様なので説明を省略する。ただし、複製処理の場合、前記した式(6)の「trs_mediaObject」インタフェースのモードは「DUPLICATE」に指定される。
また、サーバプール3内のファイルの総数が冗長数と同じである場合には(ステップS64:Yes)、サーバ30は、ファイル管理手段335によって、記憶手段32のHDD323に記録されたすべてのファイルを検索し終わったか否かを判別する(ステップS66)。まだ検索していないファイルがある場合には(ステップS66:No)、サーバ30は、ファイル管理手段335によって、記憶手段32のHDD323に記録されたファイル識別番号の値(X)に「1」を加算し(ステップS67)、ステップS62に戻る。一方、すべてのファイルを検索し終わった場合には(ステップS66:Yes)、サーバ30は、処理を終了する。このようなマスター機能処理としては、ファイル複製動作のほかに、ファイル削除動作がある。このファイル削除動作については、説明の都合上、後記することとする。
≪ファイル転送前処理B≫
図15は、図12に示したファイル転送前処理を説明するためのシーケンス図である。
ファイル転送前処理Bは、前記したステップS39のファイル転送前処理のうち、以下の条件に合致した場合の処理である。ここでは、端末装置5は、サーバプール3の名前(サーバ30のオブジェクト名)を予め取得しているが、サーバプール3の中のどのサーバ30を転送先とするかについては決定していないことを前提とする。この前提以外は、図13を参照して説明したファイル転送前処理Aの前提と同じである。
まず、端末装置5は、管理装置2に対して、前記した式(5)の「get_object」インタフェースを呼び出す要求を実行する(ステップS71)。このとき、検索キーのオブジェクト名として「EntryServer」が指定されると共に、そのオブジェクトの種別として「MODULE」が指定される。これによって、管理装置2は、オブジェクト名が「EntryServer」であるオブジェクトのオブジェクトリファレンスとして「IOR_P1,IOR_P2,IOR_P3」をリスト形式で返信する(ステップS72)。
端末装置5は、取得した3つのオブジェクトリファレンスの中から選択したオブジェクトリファレンスに対応したオブジェクト(機能モジュール)に対して、前記した式(2)の「get_status」インタフェースを利用して、当該オブジェクトが転送処理をすることが可能か否かを問い合わせる。例えば、端末装置5は、まず、サーバ30aに対して、処理状態情報要求手段531によって、サーバ30aの処理状態に関する情報を要求する(ステップS73)。これによって、サーバ30aは、前記したステップS33(図12参照)の判別処理を行い、例えば、メッセージ「BUSY」を返答する(ステップS74)。
そこで、端末装置5は、要求先変更手段532によって、管理装置2から取得したリストの中からサーバ30bを選択して、処理状態情報要求手段531によって、サーバ30bの処理状態に関する情報を要求する(ステップS75)。これによって、サーバ30bは、前記したステップS33(図12参照)の判別処理を行い、例えば、メッセージ「NO_BUSY」を返答する(ステップS76)。その結果、端末装置5は、要求先変更手段532によって、サーバ30bが転送処理をすることが可能であると判定する。そして、端末装置5は、サーバ30bに対して、前記した式(6)の「trs_mediaObject」インタフェースを呼び出す要求を実行する(ステップS77)。ただし、これは一例であって、端末装置5が、どのオブジェクトリファレンス(あるいはオブジェクト)をどのような順番で選択するかは任意である。また、ステップS77以降は、図13に示したステップS52〜S58の処理と同様なので説明を省略する。
≪ファイル転送前処理C≫
図16は、図12に示したファイル転送前処理を説明するためのシーケンス図である。
ファイル転送前処理Cは、前記したステップS39のファイル転送前処理のうち、以下の条件に合致した場合の処理である。ここでは、具体例として、サーバプール3を構成するサーバ30のいずれかに蓄積されたファイルを、サーバ群4bに属するサーバ40dに転送する場合を説明する。また、転送対象のファイルのファイル名(オブジェクト名)が「file 1」、サーバプール3の名前(オブジェクト名)が「EntryServer」、管理装置2および転送先のサーバ40dのオブジェクトリファレンスがそれぞれ「IOR_T」、「IOR_U」であるとする。さらに、端末装置5は、前記した各情報(オブジェクトリファレンス等)を予め取得しているが、サーバプール3の中のどのサーバ30を「file 1」の転送元とするかについては決定していないことを前提とする。
まず、端末装置5は、管理装置2に対して、前記した式(5)の「get_object」インタフェースを呼び出す要求を実行する(ステップS81)。このとき、検索キーのオブジェクト名として「file 1」が指定されると共に、そのオブジェクトの種別として「MEDIA」が指定される。これによって、管理装置2は、オブジェクト名が「file 1」であるオブジェクト(メディアオブジェクト)を蓄積した機能モジュールのオブジェクトリファレンスとして、「IOR_P1,IOR_P2,IOR_P3」をリスト形式で返信する(ステップS82)。さらに、図示は省略したが、端末装置5は、取得したオブジェクトリファレンス「IOR_P1,IOR_P2,IOR_P3」に基づいて、転送する対象のファイル(file 1)のオブジェクトリファレンス「IOR_F11,IOR_F21,IOR_F31」をそれぞれ取得する。なお、ファイル(file 1)のオブジェクトリファレンスを管理装置2から取得してもよい。
ステップS82に続いて、端末装置5は、図15に示したステップS73〜S77と同様にして、ビジー状態ではない(転送処理をすることが可能な)サーバ30を発見する。なお、詳細な説明は省略する。ここで、端末装置5が、例えば、サーバ30aを転送元に決定したとする。この場合に、端末装置5は、転送先であるサーバ40dに対して、前記した式(6)の「trs_mediaObject」インタフェースを呼び出す要求を実行する(ステップS83)。このとき、転送元であるサーバ30aに蓄積された「file 1」のオブジェクトリファレンスである「IOR_F11」が指定される。また、モード(mode)としては通常の転送を示す「COPY」が指定される。また、ステップS83以降は、図13に示したステップS52〜S58の処理と同様なので説明を省略する。
以上のファイル転送前処理Cの説明では、サーバ40dが他の転送処理等に使用されていないことを前提としていたが、前記した式(2)の「get_status」インタフェースを利用して、転送先であるサーバ40dが転送処理をすることが可能か否かを予め問い合わせておき、転送元と転送先の両方ともメッセージ「NO_BUSY」を取得してから、ステップS83の処理を行うことが望ましい。
また、ファイル転送前処理Cでは、サーバプール3内の「file 1」を転送するものとして説明したが、ファイル転送システム1のサーバプール3以外に蓄積された「file 1」を転送対象とする場合には、管理装置2は、サーバ群4aに属するサーバ40aのオブジェクトリファレンス「IOR_S」や、サーバ40aに蓄積された「file 1」のオブジェクトリファレンス「IOR_H」も合わせて端末装置5に返答する(図7および図8参照)。そのため、この場合には、端末装置5は、取得したファイル(file 1)のオブジェクトリファレンスがサーバプール3内のサーバ30に蓄積されていたファイル(file 1)のものであることを、前記した式(1)の「get_metadata」インタフェースを用いて前もって確認しておくことが必要となる。
<ファイル削除処理A>
図17は、図12に示したファイル削除処理を説明するためのシーケンス図である。
ファイル削除処理Aは、サーバプール3を構成するサーバ30に蓄積されたファイルと、そのファイルと同一でサーバプール3内に存在する複製ファイルとを単純に削除するものである。これは、例えば、番組コンテンツを示す「file 1」を、サーバプール3に蓄積した後で放送前日に番組送出用のサーバ40dに送出したためにサーバプール3では不要になり、その後1週間以上も経過してしまったような場合に行う動作に相当する。ここでは、具体例として、サーバプール3を構成する各サーバ30には、図7に示したオブジェクトリファレンスが付与され、各サーバ30には、図8に示したオブジェクトリファレンスを有した各ファイルが蓄積されている場合を説明する。また、端末装置5は、削除すべきファイル(file 1)のオブジェクトリファレンス(IOR_F21)と、そのファイル(file 1)を蓄積したサーバ30bのオブジェクトリファレンス(IOR_P2)とを予め取得していることを前提とする。
まず、端末装置5は、サーバ30bに対して、前記した式(8)の「del_mediaObject」インタフェースを呼び出す要求を実行する(ステップS91)。具体的には、端末装置5は、サーバ30bに対して、サーバ30bに蓄積されているファイル(file 1)を削除することを要求する旨を通知する。ここでは、該当ファイルについてサーバプール3内の同一ファイル名のすべてのファイルの削除要求であるので、モード(mode)として「ALL」が指定される。これによって、サーバ30bは、管理装置2に対して、前記した式(5)の「get_object」インタフェースを呼び出す要求を実行し(ステップS92)、サーバプール3内でファイル(file 1)が保存されたすべてのサーバ30のオブジェクトリファレンスをリスト形式で取得する(ステップS93)。
サーバ30bが取得したオブジェクトリファレンスのリストが、図17に示すように、「IOR_F11,IOR_F21,IOR_F31」の場合には、先頭に記載された「IOR_F11」に対応するファイルを蓄積しているオブジェクト(機能モジュール)は、サーバ30aなので、サーバ30bは、「自サーバがファイル(file 1)のマスターではない」と判定すると共に、「サーバ30aがマスターである」と判定する。そこで、サーバ30bは、自サーバで受けたファイルの削除命令をサーバ30aに転送する。つまり、サーバ30bは、サーバ30aに対して、前式した式(8)の「del_mediaObject」インタフェース)を呼び出す要求を実行する(ステップS94)。このときには、端末装置5から指定されたファイル(file 1)のオブジェクトリファレンス「IOR_F21」は、サーバ30aに蓄積されたファイル(file 1)のオブジェクトリファレンス「IOR_F11」に書き換えられることとなる。
すると、サーバ30aは、前記したステップS92,S93と同様にして、管理装置2に対してファイル(file 1)の検索を要求し(ステップS95)、ファイル(file 1)のオブジェクトリファレンスを取得する(ステップS96)。その結果、サーバ30aは、自サーバがマスターであると判定する。そのため、サーバ30aは、マスター機能処理としてのファイル削除動作を以下のように行う。すなわち、まず、サーバ30aは、削除処理手段345によって、記憶手段32のHDD323に蓄積されたオブジェクトリファレンス「IOR_F11」で特定されるファイル(自サーバに蓄積しているfile 1)を削除する(ステップS97)と共に、管理装置2の「del_object」インタフェースを呼び出すことで、管理装置2の記憶手段22に記録されたオブジェクトリスト223aからメディアオブジェクト(file 1)の登録内容を削除する。そして、サーバ30aは、残りのオブジェクトリファレンス「IOR_F21,IOR_F31」に基づいて、サーバ30b,30cに対して、前式した式(8)の「del_mediaObject」インタフェース)を呼び出す要求をそれぞれ実行する(ステップS98、ステップS99)。このとき、モード(mode)には、オブジェクトリファレンスに対応した1つのファイルの削除要求であることを示す「ONLY」が設定される。以上のファイル削除動作において、各オブジェクトリファレンス「IOR_F11」、「IOR_F21」、「IOR_F31」に対応するファイルを削除する順序は一例であって、これに限定されるものではない。
<ファイル削除処理B>
図18は、図12に示したファイル削除処理を説明するためのシーケンス図である。
ファイル削除処理Bは、サーバプール3内に既に蓄積されたファイルと同一のファイル名(オブジェクト名)を有したファイルが、サーバ群4aからサーバプール3内に新たに転送されてきたときに、サーバプール3内に存在する古いファイルを削除するものである。これは、例えば、1チャンネルで○月△日に放送予定の番組コンテンツを示す「file 1」を放送日の1週間前にサーバプール3に蓄積した後で、放送日の3日前に、番組制作用のサーバ40aで編集し直した番組コンテンツを示す「file 1」に差し替えるような場合に行う動作に相当する。ここでは、図7および図8に示したオブジェクトリファレンスを前提として説明する。また、サーバ群4に属するサーバ40aに蓄積されている「file 1」を、サーバプール3を構成するサーバ30bに転送するものとする。また、端末装置5は、転送対象のファイルのオブジェクトリファレンス(IOR_H)と、転送可能なサーバプール3内のサーバ30bのオブジェクトリファレンス(IOR_P2)とを予め取得していることを前提とする。
まず、端末装置5は、サーバ30bに対して、前記した式(6)の「trs_mediaObject」インタフェースを呼び出す要求を実行する(ステップS101)。具体的には、端末装置5は、サーバ30bに対してファイル(file 1)の転送先となることを要求する旨を通知する。ここでは、通常の転送なので、モード(mode)として「COPY」が指定される。これによって、サーバ30bは、指定されたファイル(file 1)に対して、前記した式(7)の「req_transfer」インタフェースを呼び出す要求を実行する(ステップS102)。
この「req_transfer」インタフェースを呼び出す要求を受けたサーバ40aは、転送先のサーバ30bから、例えば、IPアドレスとポート番号とを取得して、ファイル転送用コネクションを確立した後でファイル(file 1)を転送する(以上、ステップS103)。サーバ30bは、取得したファイル(file 1)を、新たなオブジェクトリファレンス「IOR_n1」と、オブジェクトID「1」とに関連付けて保存する。
続けて、サーバ30bは、取得したファイル(file 1)と同じファイル名のファイルが、サーバプール3内に存在するか否かを確認するために、管理装置2に対して、前記した式(5)の「get_object」インタフェースを呼び出す要求を実行し(ステップS104)、オブジェクトリファレンスを取得する(ステップS105)。
この例では、管理装置2には、該当ファイル(file 1)と同じファイル名のファイルが既に3つ登録されている。サーバ30bは、この3つのファイル名に対応したオブジェクトリファレンスのリストの先頭に記載されたオブジェクトリファレンスに対応したファイルを蓄積したサーバ30a(マスター)に対して、前式した式(8)の「del_mediaObject」インタフェース)を呼び出す要求を実行する(ステップS106)。このとき、モード(mode)として「ALL」が指定される。これによって、マスターであるサーバ30aは、前記したファイル削除処理Aで説明したようにしてファイル削除動作を行うこととなる。その結果、「IOR_F11」、「IOR_F21」、「IOR_F31」でそれぞれ特定されるファイル(古いfile 1)がサーバプール3から削除される。
また、ステップS106に続いて、図11を参照して説明したファイル登録処理によって、サーバ30bは、受信および保存したファイル(file 1)をオブジェクト(メディアオブジェクト)として、管理装置2のオブジェクトリスト223aに登録する(ステップS107)。ステップS107に続いて、図10を参照して説明したオブジェクトリストチェック処理によって、管理装置2は、オブジェクトリスト223aから、「IOR_F11」、「IOR_F21」、「IOR_F31」でそれぞれ特定されるファイル(古いfile 1)に関する登録データを削除する。さらに、図14を参照して説明したファイル複製動作によって、いずれかのサーバ30は、サーバプール3内のファイル(更新されたfile 1)の総数が、指定された所定値(冗長数:ここでは「3」)となるようにファイルを複製する。
以上説明したように、本実施形態のファイル転送システム1によれば、複数のファイル転送要求が同時にあった場合でも、ネットワーク装置6の全帯域を使った高速な転送が行える。また、ファイル転送システム1では、サーバプール3を構成する異なるサーバ30に対して分散することで同一名のファイルを冗長化して保存するので、サーバプール3を構成するいずれかのサーバ30のディスク装置に障害が発生した場合でも、サーバプール3からファイルが消失しない高信頼性のサーバシステムを実現できる。また、ファイル転送システム1では、サーバプール3を構成するサーバ30のディスク容量、サーバ30の性能、およびサーバ30のベンダをそれぞれ統一しておく必要がない。そのため、システム稼動後も、サーバ30のディスク容量の増加、長期間のメンテナンスが可能なシステムを構築できる。
以上、本発明の実施形態について説明したが、本発明は、この実施形態には限定されない。例えば、本実施形態では、サーバプール3内において所定のファイルと同じファイル名のファイルの総数(冗長数)を「3」として説明したが、これに限定されるものではなく、「2」以上の整数であればよい。冗長数を「2」とした場合には、サーバプール3内の2つのサーバ30(例えばサーバ30a,30b)に同じファイル(例えばfile 1)がそれぞれ記録される。仮に、サーバ30aが故障し、そのためにサーバ30bが「file 1」をサーバ30cにコピーする場合には、このコピー動作の最中には、外部(例えば、サーバ40d)から「file 1」にアクセスできなくなることが想定される。したがって、このような障害によるコピー動作中に外部からのアクセスを可能とするためには、1つのサーバ30とネットワーク装置6b(6)とを2チャンネル以上の回線で接続する必要がある。なお、冗長数を「3」以上とした場合には、サーバプール3内で、サーバ30aに障害が発生してサーバ30bがコピー動作中であっても、例えばfile 1を記録したサーバ30cが残っているので、1つのサーバ30とネットワーク装置6b(6)とを1チャンネルの回線で接続していても、外部からfile 1へアクセスすることが可能となるので好ましい。また、冗長数をファイル毎に異なる数値としてもよい。また、本実施形態では、ファイル転送システム1を放送局で利用するものとして説明したが、これに限定されるものではない。
本発明の実施形態に係るファイル転送システムの一例を示す構成図である。 図1に示した管理装置の一例を示すブロック図である。 図2に示したオブジェクトリストの構造の一例を示す図である。 図1に示したサーバプールを構成するサーバの一例を示すブロック図である。 図1に示したサーバ群に属するサーバの一例を示すブロック図である。 図1に示した端末装置の一例を示すブロック図である。 図1に示した各サーバを特定する情報の一例を示す説明図である。 図1に示した各サーバが蓄積したファイルに関する情報の一例を示す説明図である。 図2に示した管理装置が外部からの要求に応じて実行する処理を示すフローチャートである。 図2に示した管理装置によるオブジェクトリストのチェック動作を示すフローチャートである。 図1に示した各サーバによるファイルの登録処理を示すフローチャートである。 図1に示した各サーバが外部からの要求に応じて実行する処理を示すフローチャートである。 図12に示したファイル転送前処理を説明するためのシーケンス図(その2)である。 図4に示したサーバによるマスター機能の一例であるファイル複製動作を示すフローチャートである。 図12に示したファイル転送前処理を説明するためのシーケンス図(その2)である。 図12に示したファイル転送前処理を説明するためのシーケンス図(その3)である。 図12に示したファイル削除処理を説明するためのシーケンス図(その1)である。 図12に示したファイル削除処理を説明するためのシーケンス図(その2)である。 RAIDの説明図であり、(a)はRAID0、(b)はRAID1をそれぞれ示している。 SANおよびNASの説明図であり、(a)はSAN、(b)はNASをそれぞれ示している。 分散ファイルシステムの説明図であり、(a)は断片化を分散ファイルシステム側で行う方式、(b)は断片化をネットワークサーバ側(ファイル入力側)で行う方式をそれぞれ示している。
符号の説明
1 ファイル転送システム
2 管理装置
3 サーバプール
4I(4a,4b) サーバ群
5 端末装置
6(6a,6b) ネットワーク装置
7 内部ネットワーク
8(8a,8b,8c) ネットワーク
30(30a,30b,10c) サーバ
40(40a,40b,40c,40d,40e,40f) サーバ
21 通信手段
22 記憶手段
223 HDD
23 制御手段
231 受信情報判別手段
232 処理結果通知手段
233 処理状態情報要求手段
234 オブジェクトリスト管理手段
241 登録内容追加手段
242 登録内容削除手段
243 転送先サーバ候補検索手段
244 転送元サーバ候補検索手段
245 オブジェクトリストチェック手段
31 通信手段
32 記憶手段
323 HDD
33 制御手段
331 受信情報判別手段
332 処理状態情報要求手段
333 要求対応処理手段
334 ファイル管理手段
335 オブジェクトリスト管理手段
336 マスター機能処理手段
341 ファイル総数特定情報要求手段
342 管理権限判別手段
343 ファイル総数判別手段
344 複製処理手段
345 削除処理手段
51 通信手段
52 記憶手段
53 制御手段
531 処理状態情報要求手段
532 要求先変更手段
533 登録内容削除要求手段

Claims (9)

  1. コンテンツのファイルを蓄積および転送可能で内部ネットワークに通信可能に接続されて個別のオブジェクト識別情報および共通のオブジェクト名を有する複数のサーバから構成されサーバプールと、前記ファイルと同一のファイルを蓄積および転送可能で個別のオブジェクト識別情報および個別のオブジェクト名を有する複数のサーバからなるサーバ群と、前記サーバプールを構成するサーバと前記サーバ群に属するサーバとを一対一で通信可能に接続するスイッチ機能を有したネットワーク装置と、前記各サーバと通信可能に接続されて前記サーバプールと前記サーバ群との間で前記ファイルを転送する指示を入力する端末装置とを有したファイル転送システムであって、
    前記サーバ群は、
    前記サーバプールに対して入力側に配置された前記ネットワーク装置を介して設けられて前記サーバプールをファイルの転送先とするユーザが利用する入力側のサーバ群と、
    前記サーバプールに対して出力側に配置された前記ネットワーク装置を介して設けられて前記サーバプールをファイルの転送元とするユーザが利用する出力側のサーバ群とを備え、
    前記各サーバと通信可能に接続されて前記各サーバに蓄積されたファイルに関する情報および当該サーバのオブジェクト識別情報とオブジェクト名とを含む登録用情報を管理する管理装置を備え、
    前記管理装置と、前記各サーバと、前記ファイルとは、前記ネットワーク装置内でそれぞれをオブジェクトとして特定するためのオブジェクトリファレンスを有し、前記オブジェクトは、予め定められた共通のオブジェクト間通信を利用して、前記ネットワーク装置を介した関数呼び出しおよび受け付けを行い、
    前記各サーバは、
    前記登録用情報を前記管理装置に通知する登録情報通知処理手段と、
    前記端末装置から当該サーバの処理状態に関する情報を要求する問いかけを受けた場合に、前記処理状態がビジーであるか否かを示すメッセージを返信する要求対応処理手段とを備え
    前記サーバプールを構成するサーバの前記要求対応処理手段は、
    前記端末装置から、所定のファイルの転送先となることを要求する問いかけを受けた場合に、当該ファイルであるオブジェクトから、当該ファイルを蓄積した前記入力側のサーバ群に属するサーバのオブジェクトリファレンスを取得し、当該サーバに対してファイル転送用の通信経路を確立するための情報を通知する前処理を行った上でファイル転送用の通信経路を確立する、
    ことを特徴とするファイル転送システム。
  2. 前記管理装置は、
    前記各サーバから通知された登録用情報を記憶する記憶手段と、
    前記端末装置から、前記入力側のサーバ群に属するサーバに蓄積されたファイルの転送先として前記共通のオブジェクト名により前記サーバプールを要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、オブジェクト名を検索キーとして前記サーバプールの中で前記ファイルの転送先となることが可能なサーバの候補を検索する転送先サーバ候補検索手段とを備え、
    前記端末装置は、
    前記管理装置で検索された結果に基づいて、前記サーバプールを構成するサーバに対して、当該サーバの処理状態に関する情報を要求する処理状態情報要求手段と、
    前記サーバプールを構成するサーバから当該サーバの処理状態がビジーではない旨を示すメッセージを受けるまで、前記処理状態に関する情報を要求する要求先を、前記サーバプールの中で当該サーバを除く他のサーバへ順次変更する要求先変更手段とを備えることを特徴とする請求項1に記載のファイル転送システム。
  3. 前記サーバプールを構成するサーバは、
    自ら蓄積している所定のファイルと同一であるファイルについて前記サーバプール内の総数を特定するためのファイル総数特定情報を前記管理装置に対して要求するファイル総数特定情報要求手段と、
    前記ファイル総数特定情報に基づいて、前記サーバプール内に蓄積された前記所定のファイルを管理する権限を有しているか否かを判別する管理権限判別手段と、
    前記所定のファイルを管理する権限を有している場合に、前記ファイル総数特定情報に基づいて、前記サーバプール内のファイル総数が予め定められた2以上の整数値より小さいか否かを判別するファイル総数判別手段と、
    前記サーバプール内のファイル総数が前記予め定められた整数値より小さいと判別された場合に、前記サーバプールのうちで前記所定のファイルを蓄積していないサーバのいずれかに、前記内部ネットワークを介して前記所定のファイルを転送する処理を、前記サーバプール内のファイル総数が前記予め定められた整数値と同一となるまで繰り返すことで前記所定のファイルを複製する複製処理手段とをさらに備えることを特徴とする請求項1または請求項2に記載のファイル転送システム。
  4. 前記管理装置は、
    前記端末装置から、前記サーバプールを構成するサーバに蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、前記サーバプールから、前記ファイルに関する情報で特定されるファイルを蓄積したサーバを転送元の候補として検索する転送元サーバ候補検索手段をさらに備えることを特徴とする請求項2または請求項3に記載のファイル転送システム。
  5. 請求項1ないし請求項4のいずれか一項に記載のファイル転送システムにおける管理装置であって、
    前記各サーバから通知された登録用情報を記憶する記憶手段と、
    前記端末装置から、前記入力側のサーバ群に属するサーバに蓄積されたファイルの転送先として前記共通のオブジェクト名により前記サーバプールを要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、オブジェクト名を検索キーとして前記サーバプールの中で前記ファイルの転送先となることが可能なサーバの候補を検索する転送先サーバ候補検索手段と、
    前記端末装置から、前記サーバプールを構成するサーバに蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、前記サーバプールから、前記ファイルに関する情報で特定されるファイルを蓄積したサーバを転送元の候補として検索する転送元サーバ候補検索手段とを備えることを特徴とする管理装置。
  6. 請求項1ないし請求項4のいずれか一項に記載のファイル転送システムにおけるサーバプールを構成するサーバであって、
    当該サーバに蓄積された前記ファイルに関する情報とオブジェクト識別情報とオブジェクト名とを含む登録用情報を前記管理装置に通知する登録情報通知処理手段と、
    前記端末装置から当該サーバの処理状態に関する情報を要求する問いかけを受けた場合に、前記処理状態がビジーであるか否かを示すメッセージを返信する要求対応処理手段と、
    自ら蓄積している所定のファイルと同一であるファイルについて前記サーバプール内の総数を特定するためのファイル総数特定情報を前記管理装置に対して要求するファイル総数特定情報要求手段と、
    前記ファイル総数特定情報に基づいて、前記サーバプール内に蓄積された前記所定のファイルを管理する権限を有しているか否かを判別する管理権限判別手段と、
    前記所定のファイルを管理する権限を有している場合に、前記ファイル総数特定情報に基づいて、前記サーバプール内のファイル総数が予め定められた2以上の整数値より小さいか否かを判別するファイル総数判別手段と、
    前記サーバプール内のファイル総数が前記予め定められた整数値より小さいと判別された場合に、前記サーバプールのうちで前記所定のファイルを蓄積していないサーバのいずれかに、前記内部ネットワークを介して前記所定のファイルを転送する処理を、前記サーバプール内のファイル総数が前記予め定められた整数値と同一となるまで繰り返すことで前記所定のファイルを複製する複製処理手段とを備えることを特徴とするサーバ。
  7. コンテンツのファイルを蓄積および転送可能で内部ネットワークに通信可能に接続されて個別のオブジェクト識別情報および共通のオブジェクト名を有する複数のサーバから構成されサーバプールと、前記ファイルと同一のファイルを蓄積および転送可能で個別のオブジェクト識別情報および個別のオブジェクト名を有する複数のサーバからなるサーバ群と、前記サーバプールを構成するサーバと前記サーバ群に属するサーバとを一対一で通信可能に接続するスイッチ機能を有したネットワーク装置と、前記サーバプールと前記サーバ群との間で前記ファイルを転送する指示を入力する端末装置と、前記各サーバに蓄積されたファイルに関する情報および当該サーバのオブジェクト識別情報とオブジェクト名とを含む登録用情報とを記憶手段に記憶する管理装置を有したファイル転送システムのファイル転送方法であって、
    前記サーバ群は、
    前記サーバプールに対して入力側に配置された前記ネットワーク装置を介して設けられて前記サーバプールをファイルの転送先とするユーザが利用する入力側のサーバ群と、
    前記サーバプールに対して出力側に配置された前記ネットワーク装置を介して設けられて前記サーバプールをファイルの転送元とするユーザが利用する出力側のサーバ群とを備え、
    前記管理装置と、前記各サーバと、前記ファイルとは、前記ネットワーク装置内でそれぞれをオブジェクトとして特定するためのオブジェクトリファレンスを有し、前記オブジェクトは、予め定められた共通のオブジェクト間通信を利用して、前記ネットワーク装置を介した関数呼び出しおよび受け付けを行い、
    前記各サーバが前記登録用情報を前記管理装置に通知する登録情報通知処理ステップと、
    前記管理装置が前記端末装置から前記入力側のサーバ群に属するサーバに蓄積されたファイルの転送先として前記共通のオブジェクト名により前記サーバプールを要求する問いかけを受けた場合に、前記各サーバから通知されて前記記憶手段に記憶された登録用情報に基づいて、オブジェクト名を検索キーとして前記サーバプールの中で前記ファイルの転送先となることが可能なサーバの候補を検索する転送先サーバ候補検索ステップと、
    前記端末装置が前記管理装置で検索された結果に基づいて、前記サーバプールを構成するサーバに対して、当該サーバの処理状態に関する情報を要求する処理状態情報要求ステップと、
    前記各サーバが前記端末装置から当該サーバの処理状態に関する情報を要求する問いかけを受けた場合に、前記処理状態がビジーであるか否かを示すメッセージを返信する要求対応処理ステップと、
    前記端末装置が前記サーバプールを構成するサーバから当該サーバの処理状態がビジーではない旨を示すメッセージを受けるまで、前記処理状態に関する情報を要求する要求先を、前記サーバプールの中で当該サーバを除く他のサーバへ順次変更する要求先変更ステップとを有し、
    前記サーバプールを構成するサーバは、
    前記端末装置から、所定のファイルの転送先となることを要求する問いかけを受けた場合に、当該ファイルであるオブジェクトから、当該ファイルを蓄積した前記入力側のサーバ群に属するサーバのオブジェクトリファレンスを取得し、当該サーバに対してファイル転送用の通信経路を確立するための情報を通知する前処理を行った上でファイル転送用の通信経路を確立するステップを実行する、
    ことを特徴とするファイル転送方法。
  8. 前記サーバプールを構成するサーバは、
    自ら蓄積している所定のファイルと同一であるファイルについて前記サーバプール内の総数を特定するためのファイル総数特定情報を前記管理装置に対して要求するファイル総数特定情報要求ステップと、
    前記ファイル総数特定情報に基づいて、前記サーバプール内に蓄積された前記所定のファイルを管理する権限を有しているか否かを判別する管理権限判別ステップと、
    前記所定のファイルを管理する権限を有している場合に、前記ファイル総数特定情報に基づいて、前記サーバプール内のファイル総数が予め定められた2以上の整数値より小さいか否かを判別するファイル総数判別ステップと、
    前記サーバプール内のファイル総数が前記予め定められた整数値より小さいと判別された場合に、前記サーバプールのうちで前記所定のファイルを蓄積していないサーバのいずれかに、前記所定のファイルを転送する処理を、前記サーバプール内のファイル総数が前記予め定められた整数値と同一となるまで繰り返すことで前記所定のファイルを複製する複製処理ステップとをさらに有することを特徴とする請求項7に記載のファイル転送方法。
  9. 前記管理装置は、
    前記端末装置から、前記サーバプールを構成するサーバに蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、前記各サーバから通知された登録用情報に基づいて、前記サーバプールから、前記ファイルに関する情報で特定されるファイルを蓄積したサーバを転送元の候補として検索する転送元サーバ候補検索ステップをさらに有することを特徴とする請求項7または請求項8に記載のファイル転送方法。
JP2006298341A 2006-11-02 2006-11-02 ファイル転送システムおよびその方法、管理装置ならびにサーバ Expired - Fee Related JP4981412B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006298341A JP4981412B2 (ja) 2006-11-02 2006-11-02 ファイル転送システムおよびその方法、管理装置ならびにサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006298341A JP4981412B2 (ja) 2006-11-02 2006-11-02 ファイル転送システムおよびその方法、管理装置ならびにサーバ

Publications (2)

Publication Number Publication Date
JP2008117091A JP2008117091A (ja) 2008-05-22
JP4981412B2 true JP4981412B2 (ja) 2012-07-18

Family

ID=39502961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006298341A Expired - Fee Related JP4981412B2 (ja) 2006-11-02 2006-11-02 ファイル転送システムおよびその方法、管理装置ならびにサーバ

Country Status (1)

Country Link
JP (1) JP4981412B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6327028B2 (ja) * 2014-07-14 2018-05-23 日本電気株式会社 オブジェクトストレージシステムおよびその制御方法およびその制御プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3463803B2 (ja) * 1999-11-09 2003-11-05 松下電器産業株式会社 クラスタサーバ装置
US20020069279A1 (en) * 2000-12-29 2002-06-06 Romero Francisco J. Apparatus and method for routing a transaction based on a requested level of service
TWI265697B (en) * 2002-06-06 2006-11-01 Ibm Digital contents distribution system, digital contents distribution method, computer readable recording medium storing the program therein, and server and client therefor
JP2004070860A (ja) * 2002-08-09 2004-03-04 Hitachi Ltd ストリームコンテンツ配送システムおよびプロキシサーバ
JP4129449B2 (ja) * 2004-10-19 2008-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション ストリームデータ配信方法とそのシステム

Also Published As

Publication number Publication date
JP2008117091A (ja) 2008-05-22

Similar Documents

Publication Publication Date Title
US8255420B2 (en) Distributed storage
US8504571B2 (en) Directed placement of data in a redundant data storage system
US7506008B2 (en) Storage apparatus, storage control method, and computer product
US7716319B2 (en) Computer system and method for managing log information
US7533181B2 (en) Apparatus, system, and method for data access management
JP5082310B2 (ja) データ移行装置及びプログラム
JP4704161B2 (ja) ファイルシステムの構築方法
US5894585A (en) System for recording processing operations of one processing apparatus and reflecting contents of the operations which have not been reflected since the previous reflecting
US6879982B2 (en) Data management system, server, and data management method
JP5584910B2 (ja) 分散ストレージ
JP2007183913A (ja) ファイルシステムのデータを複製する装置と方法
JP2006059119A (ja) ストレージネットワークの移行方法、管理装置、管理プログラムおよびストレージネットワークシステム
JP2005276094A (ja) 分散ストレージ装置のファイル管理方法及び分散ストレージシステム並びにプログラム
JP4220174B2 (ja) ストレージシステムのコンテンツ更新方法
US7987206B2 (en) File-sharing system and method of using file-sharing system to generate single logical directory structure
EP1785834A2 (en) Storage system and method of controlling a storage system
CN107438096A (zh) 针对分布式存储的拥塞感知负载平衡
CN108369588A (zh) 数据库级别自动存储管理
JP4429763B2 (ja) 情報処理装置の制御方法、情報処理装置、及びストレージ装置の制御方法
JP5272185B2 (ja) 計算機システム及びストレージシステム
WO2009088007A1 (ja) コンテンツ管理装置、コンテンツ管理システム、コンテンツ管理方法およびプログラム
JP4981412B2 (ja) ファイル転送システムおよびその方法、管理装置ならびにサーバ
US7363210B2 (en) Method and communications system for managing, supplying and retrieving data
KR20140061194A (ko) iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템 및 방법
KR100362532B1 (ko) 인터넷 피씨방 환경에서의 분산 메모리 직/병렬 처리컴퓨터 구조를 활용한 데이터 프로세스 처리 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111128

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120420

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees