(57)【要約】【課題】複数のファイル転送要求が同時にあっても蓄積側においてファイルを入出力する速度が低下しない技術を提供する。【解決手段】ファイル転送システム１は、コンテンツのファイルを蓄積および転送可能で内部ネットワーク７に接続されて個別の識別情報を有する複数のサーバ３０から構成されて単一の装置名を有するサーバプール３と、ファイルを蓄積および転送可能で個別の識別情報を有する複数のサーバ４０からなるサーバ群４と、サーバ３０とサーバ４０とを一対一で接続するスイッチ機能を有したネットワーク装置６と、サーバプール３とサーバ群４との間でファイルを転送する指示を入力する端末装置５とを有し、各サーバに蓄積されたファイルに関する情報および当該サーバの識別情報を含む登録用情報を管理する管理装置２を備え、各サーバは、登録情報通知処理手段と、要求対応処理手段とを備える。【選択図】図１
2008117091.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツのファイルを蓄積および転送可能で内部ネットワークに通信可能に接続されて個別の識別情報を有する複数のサーバから構成されて単一の装置名を有するサーバプールと、前記ファイルと同一のファイルを蓄積および転送可能で個別の識別情報を有する複数のサーバからなるサーバ群と、前記サーバプールを構成するサーバと前記サーバ群に属するサーバとを一対一で通信可能に接続するスイッチ機能を有したネットワーク装置と、前記各サーバと通信可能に接続されて前記サーバプールと前記サーバ群との間で前記ファイルを転送する指示を入力する端末装置とを有したファイル転送システムであって、
前記各サーバと通信可能に接続されて前記各サーバに蓄積されたファイルに関する情報および当該サーバの識別情報を含む登録用情報を管理する管理装置を備え、
前記各サーバは、
前記登録用情報を前記管理装置に通知する登録情報通知処理手段と、
前記端末装置から当該サーバの処理状態に関する情報を要求する問いかけを受けた場合に、前記処理状態がビジーであるか否かを示すメッセージを返信する要求対応処理手段とを備えることを特徴とするファイル転送システム。
【請求項２】
前記管理装置は、
前記各サーバから通知された登録用情報を記憶する記憶手段と、
前記端末装置から、前記サーバ群に属するサーバに蓄積されたファイルの転送先として前記サーバプールを要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、前記サーバプールの中で前記ファイルの転送先となることが可能なサーバの候補を検索する転送先サーバ候補検索手段とを備え、
前記端末装置は、
前記管理装置で検索された結果に基づいて、前記サーバプールを構成するサーバに対して、当該サーバの処理状態に関する情報を要求する処理状態情報要求手段と、
前記サーバプールを構成するサーバから当該サーバの処理状態がビジーではない旨を示すメッセージを受けるまで、前記処理状態に関する情報を要求する要求先を、前記サーバプールの中で当該サーバを除く他のサーバへ順次変更する要求先変更手段とを備えることを特徴とする請求項１に記載のファイル転送システム。
【請求項３】
前記サーバプールを構成するサーバは、
自ら蓄積している所定のファイルと同一であるファイルについて前記サーバプール内の総数を特定するためのファイル総数特定情報を前記管理装置に対して要求するファイル総数特定情報要求手段と、
前記ファイル総数特定情報に基づいて、前記サーバプール内に蓄積された前記所定のファイルを管理する権限を有しているか否かを判別する管理権限判別手段と、
前記所定のファイルを管理する権限を有している場合に、前記ファイル総数特定情報に基づいて、前記サーバプール内のファイル総数が予め定められた２以上の整数値より小さいか否かを判別するファイル総数判別手段と、
前記サーバプール内のファイル総数が前記予め定められた整数値より小さいと判別された場合に、前記サーバプールのうちで前記所定のファイルを蓄積していないサーバのいずれかに、前記内部ネットワークを介して前記所定のファイルを転送する処理を、前記サーバプール内のファイル総数が前記予め定められた整数値と同一となるまで繰り返すことで前記所定のファイルを複製する複製処理手段とをさらに備えることを特徴とする請求項１または請求項２に記載のファイル転送システム。
【請求項４】
前記管理装置は、
前記端末装置から、前記サーバプールを構成するサーバに蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、前記サーバプールから、前記ファイルに関する情報で特定されるファイルを蓄積したサーバを転送元の候補として検索する転送元サーバ候補検索手段をさらに備えることを特徴とする請求項２または請求項３に記載のファイル転送システム。
【請求項５】
請求項１ないし請求項４のいずれか一項に記載のファイル転送システムにおける管理装置であって、
前記各サーバから通知された登録用情報を記憶する記憶手段と、
前記端末装置から、前記サーバ群に属するサーバに蓄積されたファイルの転送先として前記サーバプールを要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、前記サーバプールの中で前記ファイルの転送先となることが可能なサーバの候補を検索する転送先サーバ候補検索手段と、
前記端末装置から、前記サーバプールを構成するサーバに蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、前記サーバプールから、前記ファイルに関する情報で特定されるファイルを蓄積したサーバを転送元の候補として検索する転送元サーバ候補検索手段とを備えることを特徴とする管理装置。
【請求項６】
請求項１ないし請求項４のいずれか一項に記載のファイル転送システムにおけるサーバプールを構成するサーバであって、
当該サーバに蓄積された前記ファイルに関する情報と識別情報とを含む登録用情報を前記管理装置に通知する登録情報通知処理手段と、
前記端末装置から当該サーバの処理状態に関する情報を要求する問いかけを受けた場合に、前記処理状態がビジーであるか否かを示すメッセージを返信する要求対応処理手段と、
自ら蓄積している所定のファイルと同一であるファイルについて前記サーバプール内の総数を特定するためのファイル総数特定情報を前記管理装置に対して要求するファイル総数特定情報要求手段と、
前記ファイル総数特定情報に基づいて、前記サーバプール内に蓄積された前記所定のファイルを管理する権限を有しているか否かを判別する管理権限判別手段と、
前記所定のファイルを管理する権限を有している場合に、前記ファイル総数特定情報に基づいて、前記サーバプール内のファイル総数が予め定められた２以上の整数値より小さいか否かを判別するファイル総数判別手段と、
前記サーバプール内のファイル総数が前記予め定められた整数値より小さいと判別された場合に、前記サーバプールのうちで前記所定のファイルを蓄積していないサーバのいずれかに、前記内部ネットワークを介して前記所定のファイルを転送する処理を、前記サーバプール内のファイル総数が前記予め定められた整数値と同一となるまで繰り返すことで前記所定のファイルを複製する複製処理手段とを備えることを特徴とするサーバ。
【請求項７】
コンテンツのファイルを蓄積および転送可能で内部ネットワークに通信可能に接続されて個別の識別情報を有する複数のサーバから構成されて単一の装置名を有するサーバプールと、前記ファイルと同一のファイルを蓄積および転送可能で個別の識別情報を有する複数のサーバからなるサーバ群と、前記サーバプールを構成するサーバと前記サーバ群に属するサーバとを一対一で通信可能に接続するスイッチ機能を有したネットワーク装置と、前記サーバプールと前記サーバ群との間で前記ファイルを転送する指示を入力する端末装置と、前記各サーバに蓄積されたファイルに関する情報および当該サーバの識別情報を含む登録用情報とを管理する管理装置を有したファイル転送システムのファイル転送方法であって、
前記各サーバが前記登録用情報を前記管理装置に通知する登録情報通知処理ステップと、
前記管理装置が前記端末装置から前記サーバ群に属するサーバに蓄積されたファイルの転送先として前記サーバプールを要求する問いかけを受けた場合に、前記各サーバから通知された登録用情報に基づいて、前記サーバプールの中で前記ファイルの転送先となることが可能なサーバの候補を検索する転送先サーバ候補検索ステップと、
前記端末装置が前記管理装置で検索された結果に基づいて、前記サーバプールを構成するサーバに対して、当該サーバの処理状態に関する情報を要求する処理状態情報要求ステップと、
前記各サーバが前記端末装置から当該サーバの処理状態に関する情報を要求する問いかけを受けた場合に、前記処理状態がビジーであるか否かを示すメッセージを返信する要求対応処理ステップと、
前記端末装置が前記サーバプールを構成するサーバから当該サーバの処理状態がビジーではない旨を示すメッセージを受けるまで、前記処理状態に関する情報を要求する要求先を、前記サーバプールの中で当該サーバを除く他のサーバへ順次変更する要求先変更ステップとを有することを特徴とするファイル転送方法。
【請求項８】
前記サーバプールを構成するサーバは、
自ら蓄積している所定のファイルと同一であるファイルについて前記サーバプール内の総数を特定するためのファイル総数特定情報を前記管理装置に対して要求するファイル総数特定情報要求ステップと、
前記ファイル総数特定情報に基づいて、前記サーバプール内に蓄積された前記所定のファイルを管理する権限を有しているか否かを判別する管理権限判別ステップと、
前記所定のファイルを管理する権限を有している場合に、前記ファイル総数特定情報に基づいて、前記サーバプール内のファイル総数が予め定められた２以上の整数値より小さいか否かを判別するファイル総数判別ステップと、
前記サーバプール内のファイル総数が前記予め定められた整数値より小さいと判別された場合に、前記サーバプールのうちで前記所定のファイルを蓄積していないサーバのいずれかに、前記所定のファイルを転送する処理を、前記サーバプール内のファイル総数が前記予め定められた整数値と同一となるまで繰り返すことで前記所定のファイルを複製する複製処理ステップとをさらに有することを特徴とする請求項７に記載のファイル転送方法。
【請求項９】
前記管理装置は、
前記端末装置から、前記サーバプールを構成するサーバに蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、前記各サーバから通知された登録用情報に基づいて、前記サーバプールから、前記ファイルに関する情報で特定されるファイルを蓄積したサーバを転送元の候補として検索する転送元サーバ候補検索ステップをさらに有することを特徴とする請求項７または請求項８に記載のファイル転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバシステムで利用されるファイル転送技術に係り、特に、映像や音声等のコンテンツを示すファイルをサーバ間で転送するファイル転送システムおよびその方法に関する。
【背景技術】
【０００２】
放送局では、従来、映像や音声等のコンテンツがリニア（直線）編集によりテープ系デバイスに記録され、このテープ系デバイスが保管され、放送開始時に取り出されて使われてきた。近年、コンピュータの高性能化や、コンピュータネットワークの高速化により、これまでテープ系デバイスに記録されてきたコンテンツを、ハードディスク等のノンリニア（非直線）編集可能なノンリニアデバイスに記録して扱うことが要求され始めてきた。このようなノンリニアデバイスでコンテンツを扱う場合、映像や音声等のコンテンツをファイル（コンテンツファイル、以下、単にファイルという）として扱うことになる。
【０００３】
放送局でコンテンツをファイルとして扱う場合に、コンテンツを放送するまでには、例えば、以下のような工程が考えられる。まず、複数の番組制作部門のコンピュータ（番組制作用サーバ）で、各番組に対応したファイルがそれぞれ独自に並行して作成され、作成されたファイルが放送局の番組蓄積部門のコンピュータ（番組登録用サーバ）に転送される。そして、番組登録用サーバに一括蓄積された数日分の番組に対応した複数のファイルは、それぞれ放送開始前（例えば放送前日）に登録サーバから放送部門のメディア毎（チャンネル毎）のコンピュータ（番組送出用サーバ）へ転送される。さらに、放送開始時刻になると番組送出用サーバからファイルが読み出されてコンテンツが放送されることとなる。このような利用を考えた場合、番組制作用サーバから番組登録用サーバへのファイル転送や、番組登録用サーバから番組送出用サーバへのファイル転送をできるだけ高速に行うことが要求される。また、番組登録用サーバには、備えられたディスク装置の一部に障害が発生した場合にも登録済みのファイルが消失することがないような高信頼性が要求される。
【０００４】
このように複数の転送元からファイルをそれぞれ受信して一括蓄積するサーバ（例えば、番組登録用サーバ）には、主に以下の３点の性能が要求される。
（１）ストレージ（ディスク装置）にファイルを入力する速度およびストレージからファイルを出力する速度が高いこと（高速性）。
（２）同時に複数のファイル転送要求（以下、アクセスという）があってもファイルを入出力する速度が低下しないこと（マルチアクセス性）。
（３）蓄積用のディスク装置の一部に障害が生じたとしても、蓄積されたファイルが消失せず、サーバ全体が停止しないこと（高信頼性）。
さらに、放送局で利用するサーバシステムの場合には、番組登録用サーバが稼働中であっても、ディスク装置の容量を弾力的に容易に増加することが可能であることや、長期間に渡って運用およびメンテナンスが可能であることも要求される。
【０００５】
従来、高速性または高信頼性を有したディスク装置の代表的な技術として、図１９に示すように、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）が知られている。図１９は、ＲＡＩＤの説明図であり、（ａ）はＲＡＩＤ０、（ｂ）はＲＡＩＤ１をそれぞれ示している。ＲＡＩＤ０は、ストライピングとも呼ばれ、ファイルを断片化し、異なるディスク装置に記録する方法である。このＲＡＩＤ０では、図１９（ａ）に示すように、サーバ６００が、ＲＡＩＤ装置６０１と、複数のディスク装置６０２とから構成される。ＲＡＩＤ装置６０１は、複数のディスク装置６０２を並列に使ってデータの入出力をするため、高速なサーバ６００を構成できる。しかし、ディスク装置６０２のうちの１つでも故障すると、サーバ６００に蓄積されたすべてのファイルが消失することになる。
【０００６】
ＲＡＩＤ１は、ミラーリングともよばれ、１つのファイルを複数のディスク装置に記録する方法である。このＲＡＩＤ１では、図１９（ｂ）に示すように、サーバ６１０は、ＲＡＩＤ装置６１１と、複数のディスク装置６１２とから構成される。ＲＡＩＤ装置６１１は、入力するファイルと同じファイルを複数のディスク装置６１２にそれぞれ保存する。したがって、サーバ６１０において、例えば１つのディスク装置６１２が故障したとしても、サーバ６１０内のファイルは消失することが無い。そのため、サーバ６１０は高信頼性を有している。しかし、サーバ６１０は、複数のディスク装置６１２を有しているにも関わらず、ファイルを入出力する速度は、１つのディスク装置６１２を有している場合の速度と同じである。また、ＲＡＩＤには、ＲＡＩＤ０やＲＡＩＤ１以外に、ＲＡＩＤ５がある。ＲＡＩＤ５は、誤り訂正符号を付け、断片化したファイルを複数のディスク装置に記録する方法である。ＲＡＩＤ５は、ＲＡＩＤ０の高速性とＲＡＩＤ１の信頼性とを併せ持っており、冗長化のために使われるディスク容量をＲＡＩＤ１と比較して削減することが可能である。
【０００７】
また、従来、複数のサーバをネットワークで接続し、データを共有するための技術として、図２０に示すように、ＳＡＮ（Storage Area Network）およびＮＡＳ（Network Attached Storage）が知られている（例えば、非特許文献１参照）。図２０は、ＳＡＮおよびＮＡＳの説明図であり、（ａ）はＳＡＮ、（ｂ）はＮＡＳをそれぞれ示している。ＳＡＮでは、図２０（ａ）に示すように、複数のクライアント（ユーザ端末装置）６２０と、複数のサーバ６３０とで構築されたＬＡＮ（Local Area Network）とは別に、ストレージ専用のネットワークによりサーバ６３０とディスク装置６４０とが接続されており、複数のサーバ６３０は１つのディスク装置６４０を共有する。ここで、各サーバ６３０はネットワークファイルシステム（file system：ＦＳ）をそれぞれ有している。
【０００８】
ＮＡＳを用いたシステムは、図２０（ｂ）に示すように、複数のクライアント６２０と、複数のサーバ６５０とで構築されたＬＡＮに、ディスク装置６６０が接続されており、複数のサーバ６５０は１つのディスク装置６６０を共有する。ここで、ディスク装置６６０はネットワークファイルシステム（ＦＳ）を有している。そのため、ＮＡＳを用いたシステムでは、各サーバ６５０は、ＯＳ（Operating System）が同一である必要がなく、ＯＳの異なるサーバを混在して利用することができるという特徴がある。このようなＳＡＮおよびＮＡＳを用いれば、複数のサーバに分散されていたデータを、共通のディスク装置に蓄積することで、データの管理を容易にすることが可能になる。
【０００９】
また、従来、高速性および高信頼性を有したサーバの構築技術として、図２１に示すように、分散ファイルシステムが知られている（例えば、特許文献１参照）。図２１は、分散ファイルシステムの説明図であり、（ａ）は断片化を分散ファイルシステム側で行う方式、（ｂ）は断片化をネットワークサーバ側（ファイル入力側）で行う方式をそれぞれ示している。
【００１０】
分散ファイルシステム７００は、図２１（ａ）に示すように、複数のディスク装置７１０と、各ディスク装置７１０を相互に接続するネットワーク装置７２０とを備えている。ここで、各ディスク装置７１０はＣＰＵ（Central Processing Unit）を備えているため、分散ファイルシステム７００では、図１９に示したＲＡＩＤ装置６０１，６１１のような中心的な装置が存在せずに、各ディスク装置７１０が対等に処理を実行することができる。この分散ファイルシステム７００は、ネットワーク装置７２１を介してネットワークサーバ７３０に接続されており、このネットワークサーバ７３０は端末装置７４０に接続されている。端末装置７４０からの指示でネットワークサーバ７３０が分散ファイルシステム７００にファイルを転送すると、分散ファイルシステム７００のいずれかのディスク装置７１０が入力ファイルを断片化し、断片化されたファイルをそれぞれ異なるディスク装置７１０に記録する。したがって、分散ファイルシステム７００によれば、ネットワークサーバ７３０では断片化のための処理を要しない。
【００１１】
分散ファイルシステム８００は、図２１（ｂ）に示すように、複数のディスク装置７１０を備えており、ネットワーク装置７２１を介してネットワークサーバ８１０に接続されており、このネットワークサーバ８１０は端末装置７４０に接続されている。端末装置７４０からの指示でネットワークサーバ８１０は、ファイルを断片化した後で、断片化されたファイルをそれぞれ分散ファイルシステム８００内の異なるディスク装置７１０に転送して記録する。したがって、分散ファイルシステム８００を用いる場合には、ネットワーク装置７２１の帯域を広くするだけで、ネットワークサーバ８１０から各ディスク装置７１０へ記録するまでの転送速度を向上させることができる。これに対して、図２１（ａ）に示した分散ファイルシステム７００を用いる場合には、ディスク装置７１０が入力ファイルを断片化する処理に要する時間と、ネットワーク装置７２０を介して断片化ファイルを各ディスク装置７１０へ転送する時間とを必要とするので、ネットワーク装置７２１の帯域を広くするだけでは、ネットワークサーバ７３０から各ディスク装置７１０へ記録するまでの転送速度を向上させることができない。なお、図示は省略したが、分散ファイルシステム７００，８００では、断片化されたファイルを複数のディスク装置７１０に冗長に保存するので高信頼性を実現することができる。また、分散ファイルシステム７００，８００では、ディスク装置７１０の障害があった場合でも、復旧するまでの時間が比較的短く、また、再構築作業時であってもファイルを入出力する速度の低下が小さい。
【特許文献１】特表２００６−５０６７４１号公報（段落００６２〜００７０、図１）
【非特許文献１】喜連川優著、「ストレージネットワーキング」、株式会社オーム社、2002年７月
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、例えば、ＲＡＩＤ０のサーバ６００では、ＲＡＩＤ装置６０１が故障した場合にファイルの入出力ができなくなる。また、ディスク装置６０２に障害が発生したときに、ディスク装置６０２を交換して再構築するまでに要する時間が比較的長く、しかも、再構築中には、サーバ６００は、ファイルを入出力する速度が低下する等の問題がある。さらに、ＲＡＩＤを用いたサーバ６００では、同時に複数のアクセスがあった場合に、一つのＲＡＩＤ装置６０１にアクセスが集中するため、ファイルを入出力する速度が低下してしまう。つまり、マルチアクセス性がない。また、ＲＡＩＤ０によるサーバ６００では、稼働中にディスク装置６１２の容量を増加することが困難である。なお、ＲＡＩＤ１のサーバ６１０やＲＡＩＤ５のサーバも同様である。
【００１３】
また、例えば、ＳＡＮでは、複数のサーバ６３０がディスク装置６４０を共有するので、複数のクライアント６２０から同時にアクセスがある場合には、ファイルを入出力する速度が低下してしまう。つまり、マルチアクセス性がない。なお、ＮＡＳを用いたサーバシステムも同様である。
【００１４】
また、例えば、分散ファイルシステム７００では、断片化されたファイルを異なるディスク装置７１０に記録するための処理負荷が生じるため、複数のネットワークサーバ７３０（複数のクライアント）から同時にアクセスがあった場合に、ファイルを入出力する速度が低下してしまう。つまり、マルチアクセス性がない。また、ディスク装置７１０に障害が発生したときに、ディスク装置７１０を交換して再構築するまでに要する時間は比較的短いが、再構築中には、分散ファイルシステム７００は、外部からのアクセスによってファイルを入出力する速度が低下する等の問題がある。
【００１５】
さらに、分散ファイルシステム７００では、実質的に複数のディスク装置７１０の容量を統一しておかなければならない。そのため、容量を増加する場合には、システム導入時のディスク容量単位で増加しなければならない。したがって、システム導入時に、ディスク容量の小さいディスク装置７１０で分散ファイルシステム７００を構築した場合には、その後、低価格かつ大容量のディスク装置が販売されるようになったとしてもそれを容易に導入することができない。また、分散ファイルシステム７００では、システム自体が汎用性を欠く特殊なものとなるため、同一ベンダによってシステムを構築しなければならない。要するに、分散ファイルシステム７００では、運用方法が制限されており使い勝手が悪いという問題もある。
【００１６】
本発明は、以上のような問題点に鑑みてなされたものであり、ファイル蓄積側に複数のファイル転送要求が同時にあっても蓄積側においてファイルを入出力する速度が低下しないファイル転送システムおよびその方法を提供することを目的とする。
また、使い勝手のよいファイル転送システムおよびその方法を提供することを他の目的とする。
【課題を解決するための手段】
【００１７】
本発明は、前記目的を達成するために創案されたものであり、まず、請求項１に記載のファイル転送システムは、コンテンツのファイルを蓄積および転送可能で内部ネットワークに通信可能に接続されて個別の識別情報を有する複数のサーバから構成されて単一の装置名を有するサーバプールと、前記ファイルと同一のファイルを蓄積および転送可能で個別の識別情報を有する複数のサーバからなるサーバ群と、前記サーバプールを構成するサーバと前記サーバ群に属するサーバとを一対一で通信可能に接続するスイッチ機能を有したネットワーク装置と、前記各サーバと通信可能に接続されて前記サーバプールと前記サーバ群との間で前記ファイルを転送する指示を入力する端末装置とを有したファイル転送システムであって、前記各サーバと通信可能に接続されて前記各サーバに蓄積されたファイルに関する情報および当該サーバの識別情報を含む登録用情報を管理する管理装置を備え、前記各サーバは、登録情報通知処理手段と、要求対応処理手段とを備えることとした。
【００１８】
かかる構成によれば、ファイル転送システムでは、各サーバは、登録情報通知処理手段によって、前記登録用情報を前記管理装置に通知する。そして、各サーバは、要求対応処理手段によって、前記端末装置から当該サーバの処理状態に関する情報を要求する問いかけを受けた場合に、前記処理状態がビジーであるか否かを示すメッセージを返信する。ここで、サーバの処理状態に関する情報とは、例えば、ファイルを転送する処理を行っている状態であるのか、その処理を行っていない状態であるのかを示す情報である。したがって、サーバはファイル転送処理を行う前に、サーバの処理状態に関するメッセージを端末装置に返信することで、ファイル転送要求を受け付け可能であるか否かを端末装置に通知することができる。その結果、サーバプールに同時に複数のファイル転送要求があっても、それら複数のアクセスがサーバプール内の異なるサーバに振り分けられることとなる。また、ファイル転送システムでは、従来の分散ファイルシステムのようにサーバプールを構成するサーバのディスク容量、サーバの性能、およびサーバのベンダをそれぞれ統一しておく必要がない。
【００１９】
また、請求項２に記載のファイル転送システムは、請求項１に記載のファイル転送システムにおいて、前記管理装置が、記憶手段と、転送先サーバ候補検索手段とを備え、前記端末装置が、処理状態情報要求手段と、要求先変更手段とを備えることとした。
【００２０】
かかる構成によれば、ファイル転送システムでは、前記管理装置は、前記各サーバから通知された登録用情報を記憶手段に記憶しておき、転送先サーバ候補検索手段によって、前記端末装置から、前記サーバ群に属するサーバに蓄積されたファイルの転送先として前記サーバプールを要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、前記サーバプールの中で前記ファイルの転送先となることが可能なサーバの候補を検索する。そして、ファイル転送システムでは、前記端末装置が、処理状態情報要求手段によって、前記管理装置で検索された結果に基づいて、前記サーバプールを構成するサーバに対して、当該サーバの処理状態に関する情報を要求する。そして、前記端末装置は、要求先変更手段によって、前記サーバプールを構成するサーバから当該サーバの処理状態がビジーではない旨を示すメッセージを受けるまで、前記処理状態に関する情報を要求する要求先を、前記サーバプールの中で当該サーバを除く他のサーバへ順次変更する。
【００２１】
また、請求項３に記載のファイル転送システムは、請求項１または請求項２に記載のファイル転送システムにおいて、前記サーバプールを構成するサーバが、ファイル総数特定情報要求手段と、管理権限判別手段と、ファイル総数判別手段と、複製処理手段とをさらに備えることとした。
【００２２】
かかる構成によれば、ファイル転送システムでは、サーバプールを構成するサーバが、ファイル総数特定情報要求手段によって、自ら蓄積している所定のファイルと同一であるファイルについて前記サーバプール内の総数を特定するためのファイル総数特定情報を前記管理装置に対して要求する。そして、サーバプールを構成するサーバは、管理権限判別手段によって、前記ファイル総数特定情報に基づいて、前記サーバプール内に蓄積された前記所定のファイルを管理する権限を有しているか否かを判別する。そして、サーバプールを構成するサーバは、ファイル総数判別手段によって、前記所定のファイルを管理する権限を有している場合に、前記ファイル総数特定情報に基づいて、前記サーバプール内のファイル総数が予め定められた２以上の整数値より小さいか否かを判別する。そして、サーバプールを構成するサーバは、複製処理手段によって、前記サーバプール内のファイル総数が前記予め定められた整数値より小さいと判別された場合に、前記サーバプールのうちで前記所定のファイルを蓄積していないサーバのいずれかに、前記内部ネットワークを介して前記所定のファイルを転送する処理を、前記サーバプール内のファイル総数が前記予め定められた整数値と同一となるまで繰り返すことで前記所定のファイルを複製する。
【００２３】
また、請求項４に記載のファイル転送システムは、請求項２または請求項３に記載のファイル転送システムにおいて、前記管理装置が転送元サーバ候補検索手段をさらに備えることとした。
【００２４】
かかる構成によれば、ファイル転送システムでは、管理装置は、転送元サーバ候補検索手段によって、前記端末装置から、前記サーバプールを構成するサーバに蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、前記サーバプールから、前記ファイルに関する情報で特定されるファイルを蓄積したサーバを転送元の候補として検索する。ここで、ファイルに関する情報は、例えば、ファイルの名前、識別情報や、当該ファイルを蓄積したサーバのＩＰアドレス、ポート番号、識別番号等のうちの少なくとも１つである。
【００２５】
また、請求項５に記載の管理装置は、請求項１ないし請求項４のいずれか一項に記載のファイル転送システムにおける管理装置であって、記憶手段と、転送先サーバ候補検索手段と、転送元サーバ候補検索手段とを備えることとした。
【００２６】
かかる構成によれば、管理装置は、前記各サーバから通知された登録用情報を記憶手段に記憶しておき、転送先サーバ候補検索手段によって、前記端末装置から、前記サーバ群に属するサーバに蓄積されたファイルの転送先として前記サーバプールを要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、前記サーバプールの中で前記ファイルの転送先となることが可能なサーバの候補を検索する。そして、管理装置は、転送元サーバ候補検索手段によって、前記端末装置から、前記サーバプールを構成するサーバに蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、前記記憶手段に記憶された登録用情報に基づいて、前記サーバプールから、前記ファイルに関する情報で特定されるファイルを蓄積したサーバを転送元の候補として検索する。
【００２７】
また、請求項６に記載のサーバは、請求項１ないし請求項４のいずれか一項に記載のファイル転送システムにおけるサーバプールを構成するサーバであって、登録情報通知処理手段と、要求対応処理手段と、ファイル総数特定情報要求手段と、管理権限判別手段と、ファイル総数判別手段と、複製処理手段とを備えることとした。
【００２８】
かかる構成によれば、サーバは、登録情報通知処理手段によって、当該サーバに蓄積された前記ファイルに関する情報と識別情報とを含む登録用情報を前記管理装置に通知しておく。そして、サーバは、要求対応処理手段によって、前記端末装置から当該サーバの処理状態に関する情報を要求する問いかけを受けた場合に、前記処理状態がビジーであるか否かを示すメッセージを返信する。そして、サーバは、ファイル総数特定情報要求手段によって、自ら蓄積している所定のファイルと同一であるファイルについて前記サーバプール内の総数を特定するためのファイル総数特定情報を前記管理装置に対して要求する。そして、サーバは、管理権限判別手段によって、前記ファイル総数特定情報に基づいて、前記サーバプール内に蓄積された前記所定のファイルを管理する権限を有しているか否かを判別し、ファイル総数判別手段によって、前記所定のファイルを管理する権限を有している場合に、前記ファイル総数特定情報に基づいて、前記サーバプール内のファイル総数が予め定められた２以上の整数値より小さいか否かを判別する。そして、サーバは、複製処理手段によって、前記サーバプール内のファイル総数が前記予め定められた整数値より小さいと判別された場合に、前記サーバプールのうちで前記所定のファイルを蓄積していないサーバのいずれかに、前記内部ネットワークを介して前記所定のファイルを転送する処理を、前記サーバプール内のファイル総数が前記予め定められた整数値と同一となるまで繰り返すことで前記所定のファイルを複製する。
【００２９】
また、請求項７に記載のファイル転送方法は、コンテンツのファイルを蓄積および転送可能で内部ネットワークに通信可能に接続されて個別の識別情報を有する複数のサーバから構成されて単一の装置名を有するサーバプールと、前記ファイルと同一のファイルを蓄積および転送可能で個別の識別情報を有する複数のサーバからなるサーバ群と、前記サーバプールを構成するサーバと前記サーバ群に属するサーバとを一対一で通信可能に接続するスイッチ機能を有したネットワーク装置と、前記サーバプールと前記サーバ群との間で前記ファイルを転送する指示を入力する端末装置と、前記各サーバに蓄積されたファイルに関する情報および当該サーバの識別情報を含む登録用情報とを管理する管理装置を有したファイル転送システムのファイル転送方法であって、登録情報通知処理ステップと、転送先サーバ候補検索ステップと、処理状態情報要求ステップと、要求対応処理ステップと、要求先変更ステップとを有することとした。
【００３０】
かかる手順によれば、ファイル転送方法では、前記各サーバが登録情報通知処理ステップにて、前記登録用情報を前記管理装置に通知しておく。そして、前記管理装置が転送先サーバ候補検索ステップにて、前記端末装置から前記サーバ群に属するサーバに蓄積されたファイルの転送先として前記サーバプールを要求する問いかけを受けた場合に、前記各サーバから通知された登録用情報に基づいて、前記サーバプールの中で前記ファイルの転送先となることが可能なサーバの候補を検索する。そして、前記端末装置が処理状態情報要求ステップにて、前記管理装置で検索された結果に基づいて、前記サーバプールを構成するサーバに対して、当該サーバの処理状態に関する情報を要求する。そして、前記各サーバが要求対応処理ステップにて、前記端末装置から当該サーバの処理状態に関する情報を要求する問いかけを受けた場合に、前記処理状態がビジーであるか否かを示すメッセージを返信する。そして、前記端末装置が要求先変更ステップにて、前記サーバプールを構成するサーバから当該サーバの処理状態がビジーではない旨を示すメッセージを受けるまで、前記処理状態に関する情報を要求する要求先を、前記サーバプールの中で当該サーバを除く他のサーバへ順次変更する。
【００３１】
また、請求項８に記載のファイル転送方法は、請求項７に記載のファイル転送方法において、前記サーバプールを構成するサーバが、ファイル総数特定情報要求ステップと、管理権限判別ステップと、ファイル総数判別ステップと、複製処理ステップとをさらに有することとした。
【００３２】
かかる手順によれば、ファイル転送方法では、サーバプールを構成するサーバが、ファイル総数特定情報要求ステップにて、自ら蓄積している所定のファイルと同一であるファイルについて前記サーバプール内の総数を特定するためのファイル総数特定情報を前記管理装置に対して要求する。そして、サーバプールを構成するサーバは、管理権限判別ステップにて、前記ファイル総数特定情報に基づいて、前記サーバプール内に蓄積された前記所定のファイルを管理する権限を有しているか否かを判別し、ファイル総数判別ステップにて、前記所定のファイルを管理する権限を有している場合に、前記ファイル総数特定情報に基づいて、前記サーバプール内のファイル総数が予め定められた２以上の整数値より小さいか否かを判別する。そして、サーバプールを構成するサーバは、複製処理ステップにて、前記サーバプール内のファイル総数が前記予め定められた整数値より小さいと判別された場合に、前記サーバプールのうちで前記所定のファイルを蓄積していないサーバのいずれかに、前記所定のファイルを転送する処理を、前記サーバプール内のファイル総数が前記予め定められた整数値と同一となるまで繰り返すことで前記所定のファイルを複製する。
【００３３】
また、請求項９に記載のファイル転送方法は、請求項７または請求項８に記載のファイル転送方法において、前記管理装置が、転送元サーバ候補検索ステップをさらに有することとした。
【００３４】
かかる手順によれば、ファイル転送方法では、前記管理装置が、転送元サーバ候補検索ステップにて、前記端末装置から、前記サーバプールを構成するサーバに蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、前記各サーバから通知された登録用情報に基づいて、前記サーバプールから、前記ファイルに関する情報で特定されるファイルを蓄積したサーバを転送元の候補として検索する。
【発明の効果】
【００３５】
請求項１に記載の発明によれば、ネットワーク装置によって、サーバプールを構成するサーバとサーバ群に属するサーバとが一対一で接続されており、ファイル蓄積側に同時に複数のアクセスがあったとしても、ネットワーク装置の全帯域を使うことが可能である。また、ファイル蓄積側に同時に複数のアクセスがあったとしても、各サーバの処理状態に応じてファイル転送要求を受け付けることが可能な異なるサーバにファイル転送処理がそれぞれ割り振られるようにすることができる。したがって、ファイル蓄積側に同時に複数のアクセスがあったとしても、蓄積側においてファイルを入出力する速度が低下することはなく、高速な転送を行うことができる。また、システム稼動後も、サーバプールを構成するサーバのディスク容量の増加や、長期間のメンテナンスが可能なシステムを構築できる。
【００３６】
請求項２に記載の発明によれば、ファイル転送システム内のサーバに関する情報が管理装置で一括管理でき、それを用いることで、サーバプールを構成するサーバと、サーバ群に属するサーバとに関して、双方がファイル転送要求を受け付けることができるように組み合わせることができる。
【００３７】
請求項３または請求項８に記載の発明によれば、サーバプール内に蓄積するファイルを複製により冗長化することができるので、信頼性が高くなり、かつ、同時に同一のファイルに対して転送要求があった場合でも、ファイルを入出力する速度を低下させることがない。また、所定のファイルを管理する権限を有している場合にだけ複製処理を行うので、ファイルを管理する権限をサーバプール内のサーバに対して平等にすることにより、信頼性を高めることができる。
【００３８】
請求項４または請求項９に記載の発明によれば、サーバプール内に蓄積されたファイルを、サーバ群に属するサーバに高速に転送することができる。
請求項５に記載の発明によれば、サーバプール内に蓄積されたファイルを、サーバ群に属するサーバに高速に転送することができると共に、サーバ群に属するサーバに蓄積されたファイルを、サーバプールに高速に転送することができる。
【００３９】
請求項６に記載の発明によれば、ファイル蓄積側に同時に複数のアクセスがあったとしても、サーバプール内の各サーバの処理状態に応じてファイル転送要求を受け付けることが可能な異なるサーバにファイル転送処理がそれぞれ割り振られるようにすることができる。また、サーバプール内に蓄積するファイルを複製により冗長化することができるので、信頼性が高くなる。
【００４０】
請求項７に記載の発明によれば、ファイル転送システム内のサーバの登録用情報を用いることで、サーバプールを構成するサーバと、サーバ群に属するサーバとに関して、双方がファイル転送要求を受け付けることができるように組み合わせることができる。そのため、ファイル蓄積側に同時に複数のファイル転送要求があったとしても、受け付けることが可能な異なるサーバにファイル転送処理がそれぞれ割り振られる。したがって、ファイル蓄積側に同時に複数のアクセスがあったとしても、蓄積側においてファイルを入出力する速度が低下することはなく、高速な転送を行うことができる。
【発明を実施するための最良の形態】
【００４１】
以下、本発明の実施形態に係るサーバシステムと、ファイル転送方法とを実施するための最良の形態（以下「実施形態」という）について図面を参照して詳細に説明する。
［ファイル転送システム］
図１は、本発明の実施形態に係るファイル転送システムの一例を示す構成図である。
ファイル転送システム１は、管理装置２と、サーバプール３と、サーバ群４（４ａ，４ｂ）と、端末装置５と、ネットワーク装置６（６ａ，６ｂ）とを備え、例えば、放送局で利用される。
【００４２】
管理装置２は、ネットワーク装置６（６ａ，６ｂ）を介して、サーバプール３およびサーバ群４（４ａ，４ｂ）の各サーバと通信可能に接続されており、各サーバに蓄積されたファイルに関する情報および当該サーバの識別情報を含む登録用情報を管理するものである。
【００４３】
サーバプール３は、コンテンツのファイルを蓄積および転送可能で個別の識別情報を有する複数（図１では３台）のサーバ３０（３０ａ，３０ｂ，３０ｃ）と、それらを相互に通信可能に接続する内部ネットワーク７とから構成される。このサーバプール３は、単一の装置名を有しており、複数のサーバ３０（３０ａ，３０ｂ，３０ｃ）を、見かけ上、単一のサーバとして扱うことが可能である。以下では、サーバプール３を構成するサーバを特に区別しない場合には、サーバ３０と表記する。なお、サーバプール３は、放送局の番組蓄積部門のコンピュータ（番組登録用サーバ）に対応している。
【００４４】
サーバ群４（４ａ，４ｂ）は、サーバプール３で取り扱うファイルと同一のファイルを蓄積および転送可能で個別の識別情報を有する複数のサーバ４０からなる。
サーバ群４ａには、放送局の番組制作部門のコンピュータ（番組制作用サーバ）にそれぞれ対応している複数（図１では３台）のサーバ４０ａ，４０ｂ，４０ｃが属している。ここでは、サーバ４０ａ，４０ｂ，４０ｃは、番組制作部門の独自のＬＡＮ等のネットワーク８（８ａ，８ｂ，８ｃ）を経由してネットワーク装置６ａを介してサーバプール３に対してファイルを転送できるように接続されている。
【００４５】
サーバ群４ｂには、放送局の放送部門のコンピュータ（番組送出用サーバ）にそれぞれ対応している複数（図１では３台）のサーバ４０ｄ，４０ｅ，４０ｆが属している。ここでは、サーバ４０ｄ，４０ｅ，４０ｆは、ネットワーク装置６ｂを介して、サーバプール３から転送されるファイルを受信できるように接続されている。
【００４６】
端末装置５は、ネットワーク装置６ａを介して、サーバプール３を構成するサーバ３０およびサーバ群４ａに属するサーバ４０と通信可能に接続されていると共に、ネットワーク装置６ｂを介して、サーバ群４ｂに属するサーバ４０と通信可能に接続されている。この端末装置５は、サーバプール３とサーバ群４（４ａ，４ｂ）との間でファイルを転送するための指示等を入力するものである。これらの指示は、具体的には、サーバ群４ａに属するサーバ４０（番組制作用サーバ）からサーバプール３（番組登録用サーバ）へのファイル転送指示と、サーバプール３（番組登録用サーバ）からサーバ群４ｂに属するサーバ４０（番組送出用サーバ）へのファイル転送指示と、サーバプール３（番組登録用サーバ）内に蓄積されたファイルの削除指示とを有している。
【００４７】
ネットワーク装置６（６ａ，６ｂ）は、サーバプール３を構成するサーバ３０とサーバ群４に属するサーバ４０とを一対一で通信可能に接続するスイッチ機能を有したクロスバー・スイッチから構成される。ネットワーク装置６（６ａ，６ｂ）は、信号の発信元から宛先までを論理的に最短距離で結び、すべての信号が互いに干渉しないように並列に処理する。本実施形態では、ネットワーク装置６は、例えば、イーサネット（登録商標）スイッチから構成される。以下では、イーサネット（登録商標）の上位レイヤの通信方式としてＩＰ（Internet Protocol）を用いることとして説明を行う。なお、本発明は特定の通信方式に限定されるものではない。
【００４８】
［用語の定義］
本実施形態では、以下の用語を定義する。
＜オブジェクト＞
オブジェクトとは、管理装置２、サーバ３０、サーバ４０、ファイルの総称である。各オブジェクトは、ネットワーク装置６内でオブジェクトを特定するためのオブジェクトリファレンスを有する。
【００４９】
＜機能モジュール＞
機能モジュールとは、オブジェクトのうち、管理装置２、サーバ３０、サーバ４０等の装置の総称である。この機能モジュールは、共通のオブジェクト間通信を用いて、予め保有したサービス（以下では、インタフェースと呼ぶ）を互いに実行できるものとする。ここで、インタフェースは、ネットワーク装置６を介した呼び出しに応じて実行される関数である。
＜メディアオブジェクト＞
オブジェクトのうち、ファイルのことである。
【００５０】
機能モジュールが用いるオブジェクト間通信方法としては、例えば、ＣＯＲＢＡ（Common Object Request Broker Architecture：登録商標）、Ｊａｖａ（登録商標）−ＲＭＩ（Remote Method Invocation）、ＲＰＣ（Remote Procedure Call）、ＳＯＡＰ（Simple Object Access Protocol）等が知られている。
【００５１】
本実施形態では、オブジェクト間通信方法として、ＣＯＲＢＡ（登録商標）を用いるものとして説明を行う。ＣＯＲＢＡ（登録商標）では、オブジェクトリファレンスは、ＩＯＲ（Interoperable Object Reference）と呼ばれる。ＩＯＲは、ＩＰアドレス、ポート番号、識別番号等から構成される。なお、本発明は、特定のオブジェクト間通信に限定されるものではない。
【００５２】
［インタフェースの具体例］
＜すべての機能モジュールに共通なインタフェース＞
本実施形態では、すべての機能モジュールが共通のインタフェースとして、次の式（１）および式（２）に示す２つのインタフェースを持つものとする。
【００５３】
get＿metadata（in key, out value）  …式（１）
get＿status（out stat）             …式（２）
【００５４】
ここで、式（１）および式（２）のインタフェースの右端に表記されたカッコ内には変数が付与される。このカッコ内に記述された「in」および「out」は入出力の方向を示すものである。「in」はインタフェースを実行する際、呼び出し側が設定することを示し、「out」はインタフェースが呼び出されたオブジェクトが呼び出し側に値を返すことを示す。
【００５５】
式（１）の「get＿metadata」は、メタデータの呼び出しインタフェースであり、呼び出し側からキーを渡して、それに対応するメタデータを「value」として受け取るためのものである。
本実施形態では、各オブジェクトのメタデータが、ＸＭＬ（Extensible Markup Language）で記述されているものとして説明を行う。表１はメディアオブジェクト（ファイル）のメタデータの例を示したものである。なお、本発明はメタデータの表記方法は、ＸＭＬに限定されるものではない。
【００５６】
【表１】
2008117091.tif 000003
【００５７】
本実施形態において、前記した式（１）で指定されるキーは、このＸＭＬ表記に従ったものであるとする。例えば、表１のメタデータを有するオブジェクト（メディアオブジェクト）のファイルサイズを取得したい場合、呼び出し側は、前記した式（１）に示すインタフェースに、表１に示したメタデータの「ファイルサイズ（（file＿size）」を設定することで、次の式（１ａ）を実行すればよい。
【００５８】
get＿metadata（“/mm＿object/media＿object/file＿size”, value）  …式（１ａ）
【００５９】
これにより、インタフェースが呼び出されたオブジェクトから、呼び出し側に返す値「value」には、表１から、メタデータの値「22500000000」が設定されることとなる。
【００６０】
前記した式（２）の「get＿status」は、オブジェクト（機能モジュール）の状態の呼び出しインタフェースであり、呼び出された機能モジュールがビジー状態であることを示すメッセージ（ＢＵＳＹ）またはそうではないことを示すメッセージ（ＮＯ＿ＢＵＳＹ）を「stat」として受け取るためのものである。
【００６１】
［管理装置特有のインタフェース］
本実施形態では、管理装置２は以下のインタフェースを備えるものとして説明を行う。
【００６２】
reg＿object（in ref, in id, in name, in kind）    …式（３）
del＿object（in ref）                             …式（４）
get＿object（in id, in name, in kind, out list）  …式（５）
【００６３】
式（３）の「reg＿object」は、オブジェクト（当該機能モジュール、または当該機能モジュールに蓄積されたメディアオブジェクト）を登録するためのインタフェースである。機能モジュールは、このインタフェースによって管理装置２に対してオブジェクトを登録することを要求する。各機能モジュールは、オブジェクトがシステム内に追加（または生成）されると、このインタフェースによって、自オブジェクト（または蓄積されたオブジェクト）の識別情報（id）と、名前（name）と、種別（kind）と、オブジェクトリファレンス（ref）とを管理装置２に登録する。
【００６４】
本実施形態では、オブジェクトが、例えば、メディアオブジェクト（ファイル）である場合、オブジェクトの識別情報（以下、オブジェクトＩＤという）と、名前（以下、オブジェクト名という）と、種別とを、それぞれ以下のように設定することとする。すなわち、オブジェクトＩＤとしては、ファイルに付けられた「ユニークＩＤ」を設定し、オブジェクト名として「ファイル名」を設定し、種別としてメディアオブジェクトを表す「MEDIA」を設定する。
【００６５】
また、本実施形態では、オブジェクトが、例えば、機能モジュール（ここでは、サーバプール３内のサーバ３０）の場合、オブジェクトＩＤとして「サーバ名」を設定し、オブジェクト名として「サーバプール名」、種別として機能モジュールを表す「MODULE」を設定するものとする。なお、これらは一例であって、オブジェクトの識別情報（ＩＤ）、名前および種別を任意の方法で設定することができる。
【００６６】
式（４）の「del＿object」は、管理装置２に既に登録済みのオブジェクトのうち、オブジェクトリファレンス（refと表記する）で指定されたオブジェクトの登録データを削除する（登録を解除する）ためのインタフェースである。各機能モジュールは、このインタフェースによって管理装置２に対してオブジェクトを削除することを要求する。
【００６７】
式（５）の「get＿object」は、指定されたオブジェクトを、管理装置２に既に登録済みのオブジェクトの中から検索するためのインタフェースである。具体的には、サーバ３０や端末装置５は、このインタフェースで、オブジェクトＩＤ（id）と、オブジェクト名（name）と、種別（kind）とによってオブジェクトを指定する。一方、管理装置２は、各項目に関して指定された情報で検索された結果であるすべてのオブジェクトに対応したオブジェクトリファレンスをリスト（list）にしてサーバ３０や端末装置５に返す。
【００６８】
［サーバ特有のインタフェース］
本実施形態では、サーバ３０，４０は以下のインタフェースを備えるものとして説明を行う。
【００６９】
trs＿mediaObject（in media＿ref, in mode）      …式（６）
req＿transfer（in media＿ref, in module＿ref）  …式（７）
del＿mediaObject（in media＿ref, in mode）      …式（８）
【００７０】
式（６）の「trs＿mediaObject」は、端末装置５で指定されたメディアオブジェクト、つまり、そのオブジェクトリファレンス（media＿ref）で特定されるメディアオブジェクトを転送するために転送前処理をするためのインタフェースである。端末装置５は、このインタフェースによって、機能モジュール（サーバ３０，４０）に対してメディアオブジェクト（ファイル）の転送先となることを要求する。この転送要求時には、オブジェクトリファレンス（media＿ref）と共に、モード（mode）が指定される。このとき、モード（mode）としては、通常の転送を示す「ＣＯＰＹ」、または、サーバプール３内での複製を示す「ＤＵＰＬＩＣＡＴＥ」のいずれかが指定される。
【００７１】
式（７）の「req＿transfer」は、前記した式（６）の「trs＿mediaObject」を呼び出された機能モジュール（転送先のサーバ３０，４０）が、ファイルの転送元である機能モジュール（転送元のサーバ４０，３０）に対して、指定されたメディアオブジェクト（ファイル）を自オブジェクトに転送することを要求するためのインタフェースである。このインタフェースでは、転送先である機能モジュール（サーバ３０，４０）のオブジェクトリファレンス（module＿ref）と、転送される対象のメディアオブジェクト（ファイル）のオブジェクトリファレンス（media＿ref）とが指定される。
【００７２】
式（８）の「del＿mediaObject」は、指定されたオブジェクトリファレンス（media＿ref）に対応するメディアオブジェクト（ファイル）を削除するためのインタフェースである。サーバ３０，４０または端末装置５は、このインタフェースによって、他のサーバ３０，４０に蓄積されたメディアオブジェクト（ファイル）の削除を要求する。この削除要求時には、オブジェクトリファレンス（media＿ref）と共に、モード（mode）が指定される。このとき、モード（mode）として、サーバプール３内の同一ファイル名のすべてのファイルの削除要求を示す「ＡＬＬ」、または、１つのファイルの削除要求であることを示す「ＯＮＬＹ」が指定される。
【００７３】
本実施形態のファイル転送システム１では、各機能モジュールは、管理装置２のオブジェクトリファレンスを予め取得しておく必要がある。そこで、本実施形態では、各機能モジュールに、管理装置２のオブジェクトリファレンスを予め設定しておくものとする。ただし、これは一例であって、管理装置２のオブジェクトリファレンスの取得方法について限定されるものではない。例えば、各機能モジュールが、ファイル転送システム１において予め定められたポート番号に所定のタイミングで信号をブロードキャストし、そのブロードキャストを行った機能モジュールに対して、管理装置２が自オブジェクトリファレンスを返答するようにしてもよい。
以下、ファイル転送システム１の各装置の詳細な構成を説明する。
【００７４】
［管理装置］
図２は、図１に示した管理装置の一例を示すブロック図である。
管理装置２は、図２に示すように、通信手段２１と、記憶手段２２と、制御手段２３とを備えている。通信手段２１は、各オブジェクトのインタフェースを呼び出すと共に、各オブジェクトからの呼び出しの受け付けを行うものである。なお、オブジェクト間通信方法として、ＣＯＲＢＡ（登録商標）を用いる。
【００７５】
記憶手段２２は、各サーバ３０，４０から通知された登録用情報を記憶するものであって、ＲＡＭ（Random Access Memory）２２１と、ＲＯＭ（Read Only Memory）２２２と、ＨＤＤ（Hard Disk Drive）２２３とを備えている。ＲＡＭ２２１は、制御手段２３による演算処理等に利用されると共に、通信手段２１を介して取得した情報等を記憶するものであり、ＲＯＭ２２２は、所定のプログラム等を記憶するものである。
【００７６】
ＨＤＤ２２３には、オブジェクトリスト２２３ａが記録されている。このオブジェクトリスト２２３ａは、項目カウンタ（No.）別に、登録用情報として、オブジェクトＩＤと、オブジェクト名と、オブジェクトリファレンス（ＩＯＲ）と、種別とを記録したリストである。オブジェクトリスト２２３ａの構造の一例を図３に示す。
【００７７】
制御手段２３は、例えば、ＣＰＵ（Central Processing Unit）から構成され、主として、オブジェクトリスト２２３ａを利用したオブジェクトの登録、削除および検索を行うものである。この制御手段２３は、受信情報判別手段２３１と、処理結果通知手段２３２と、処理状態情報要求手段２３３と、オブジェクトリスト管理手段２３４とを備えている。
【００７８】
受信情報判別手段２３１は、通信手段２１で受信した情報に基づいて、他のオブジェクトからの動作要求が、前記した式（１）〜式（５）のインタフェースのいずれであるかを判別し、その判別結果をオブジェクトリスト管理手段２３４に通知するものである。なお、本実施形態では、管理装置２は、式（１）および式（２）のインタフェースを特に利用しないこととする。したがって、後記するオブジェクトリスト管理手段２３４は、前記した式（３）〜式（５）に示したインタフェース応じた処理を実行する。
【００７９】
処理結果通知手段２３２は、オブジェクトリスト管理手段２３４による処理結果について通信手段２１を用いて、呼び出し要求を行ったオブジェクトに通知するものである。
処理状態情報要求手段２３３は、サーバプール３を構成するサーバ３０またはサーバ群４に属するサーバ４０に対して、当該サーバの処理状態に関する情報を要求するものである。この処理状態情報要求手段２３３は、前記した式（２）の「get＿status」インタフェースを呼び出す要求を実行することで実現される。
【００８０】
オブジェクトリスト管理手段２３４は、登録内容追加手段２４１と、登録内容削除手段２４２と、転送先サーバ候補検索手段２４３と、転送元サーバ候補検索手段２４４と、オブジェクトリストチェック手段２４５とを備えている。
【００８１】
登録内容追加手段２４１は、受信情報判別手段２３１によって、前記した式（３）に示す「reg＿object」インタフェースを呼び出す要求があると判定された場合に、その登録用情報（登録内容）をＨＤＤ２２３に記録されたオブジェクトリスト２２３ａに追加するものである。この登録内容追加手段２４１は、前記した式（３）の「reg＿object」インタフェースを実行することで実現される。
【００８２】
登録内容削除手段２４２は、受信情報判別手段２３１によって、前記した式（４）に示す「del＿object」インタフェースを呼び出す要求があると判定された場合に、ＨＤＤ２２３に記録されたオブジェクトリスト２２３ａから、指定された登録用情報（登録内容）を削除するものである。この登録内容削除手段２４２は、前記した式（４）の「del＿object」インタフェースを実行することで実現される。
【００８３】
転送先サーバ候補検索手段２４３は、端末装置５から、サーバ群４に属するサーバ４０に蓄積されたファイルの転送先としてサーバプール３を要求する問いかけを受けた場合に、記憶手段２２に記憶されたオブジェクトリスト２２３ａ（登録用情報）に基づいて、サーバプール３の中でファイルの転送先となることが可能なサーバ３０の候補を検索するものである。この転送先サーバ候補検索手段２４３は、前記した式（５）の「get＿object」インタフェースを実行することで実現されるものである。
【００８４】
転送元サーバ候補検索手段２４４は、端末装置５から、サーバプール３を構成するサーバ３０に蓄積されたファイルに関する情報を要求する問いかけを受けた場合に、記憶手段２２に記憶されたオブジェクトリスト２２３ａ（登録用情報）に基づいて、サーバプール３から、ファイルに関する情報で特定されるファイルを蓄積したサーバ３０を転送元の候補として検索するものである。この転送元サーバ候補検索手段２４４は、前記した式（５）の「get＿object」インタフェースを実行することで実現されるものである。
【００８５】
オブジェクトリストチェック手段２４５は、オブジェクトリスト２２３ａに記録された各オブジェクトがファイル転送システム１内に存在するかどうかをチェックするものである。このオブジェクトリストチェック手段２４５は、処理状態情報要求手段２３３によって対象オブジェクトに対してインタフェース「get＿status」を実行できなかった場合に、対象オブジェクトがファイル転送システム１内に存在しないものと判別する。
【００８６】
なお、前記した制御手段２３が備える受信情報判別手段２３１、処理結果通知手段２３２、処理状態情報要求手段２３３およびオブジェクトリスト管理手段２３４は、ＣＰＵが記憶手段２２のＨＤＤ２２３等に格納された所定のプログラムをＲＡＭ２２１に展開して実行することにより実現されるものである。また、管理装置２は、一般的なコンピュータを、前記した各手段として機能させるプログラムにより動作させることで実現することができる。このプログラムは、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【００８７】
［サーバプールを構成するサーバ］
図４は、図１に示したサーバプールを構成するサーバの一例を示すブロック図である。
サーバ３０は、図４に示すように、通信手段３１と、記憶手段３２と、制御手段３３とを備えている。通信手段３１は、各オブジェクトのインタフェースを呼び出すと共に、各オブジェクトからの呼び出しの受け付けを行うものである。なお、オブジェクト間通信方法として、ＣＯＲＢＡ（登録商標）を用いる。
【００８８】
記憶手段３２は、ＲＡＭ３２１と、ＲＯＭ３２２と、ディスク装置としてのＨＤＤ３２３とを備えている。ＲＡＭ３２１は、制御手段３３による演算処理等に利用されると共に、通信手段３１を介して取得した情報等を記憶するものであり、ＲＯＭ３２２は、所定のプログラム等を記憶するものである。ＨＤＤ３２３には、例えば、１以上のファイルがファイル識別番号と共に蓄積される。
【００８９】
制御手段３３は、例えば、ＣＰＵから構成され、受信情報判別手段３３１と、処理状態情報要求手段３３２と、要求対応処理手段３３３と、登録情報通知処理手段３３４と、ファイル管理手段３３５と、マスター機能処理手段３３６とを備えている。
【００９０】
受信情報判別手段３３１は、通信手段３１で受信した情報に基づいて、他のオブジェクトからの呼び出し要求が、前記した式（１）、式（２）および式（６）〜式（８）のインタフェースのいずれであるかを判別し、その判別結果を要求対応処理手段３３３に通知するものである。
【００９１】
処理状態情報要求手段３３２は、サーバプール３を構成するサーバ３０またはサーバ群４に属するサーバ４０に対して、当該サーバの処理状態に関する情報を要求するものである。この処理状態情報要求手段３３２は、前記した式（２）の「get＿status」インタフェースを呼び出す要求を実行することで実現される。
【００９２】
要求対応処理手段３３３は、端末装置５から当該サーバ３０の処理状態に関する情報を要求する問いかけを受けた場合に、処理状態がビジーであるか否かを示すメッセージを返信するものである。また、要求対応処理手段３３３は、サーバ３０，４０または端末装置５から、式（１）の「get＿metadata」インタフェース、式（６）の「trs＿mediaObject」インタフェース、式（７）の「req＿transfer」インタフェース、式（８）の「del＿mediaObject」インタフェースのいずれかを呼び出された場合に、呼び出されたインタフェースを実行する。
【００９３】
登録情報通知処理手段３３４は、登録用情報を管理装置２に通知するものである。この登録情報通知処理手段３３４は、前記した式（３）の「reg＿object」インタフェースを呼び出す要求を実行することで実現される。
ファイル管理手段３３５は、外部から入力されたファイルを記憶手段３２に書き込むと共に、記憶手段３２に記憶されたファイルを読み出すものである。
【００９４】
マスター機能処理手段３３６は、主として、自サーバが保存しているファイルそれぞれについて、自サーバがマスターであるかどうかをチェックするものであり、ファイル総数特定情報要求手段３４１と、管理権限判別手段３４２と、ファイル総数判別手段３４３と、複製処理手段３４４と、削除処理手段３４５とを備えている。
【００９５】
ファイル総数特定情報要求手段３４１は、記憶手段３２に自ら蓄積している所定のファイルと同一であるファイルについてサーバプール３内の総数を特定するためのファイル総数特定情報を管理装置２に対して要求し、取得するものである。このファイル総数特定情報要求手段３４１は、前記した式（５）の「get＿object」インタフェースを呼び出す要求を実行することで実現される。本実施形態では、ファイル総数特定情報は、前記所定のファイルと同一であるファイルについてのオブジェクトリファレンスおよびその個数である。なお、ファイル総数特定情報は、オブジェクトＩＤおよびその個数としてもよいし、オブジェクト名およびその個数としてもよい。
【００９６】
管理権限判別手段３４２は、ファイル総数特定情報に基づいて、サーバプール３内に蓄積された所定のファイルを管理する権限を自サーバが有しているか否かを判別するものである。この管理権限判別手段３４２は、所定のファイルを管理する権限を自サーバが有していると判別した場合には、その旨をファイル総数判別手段３４３に通知する。
【００９７】
本実施形態では、サーバプール３内に保存されたファイル毎に、当該ファイルを管理する権限を有したサーバ（以下、マスターという）が決められることとした。また、管理装置２が作成してサーバ３０に通知するオブジェクトリファレンスのリストの先頭に記載されたメディアオブジェクト（ファイル）を生成したサーバがマスターとなるものとする。
【００９８】
ファイル総数判別手段３４３は、管理権限判別手段３４２で所定のファイルを管理する権限を有していると判別された場合に、ファイル総数特定情報要求手段３４１により取得したファイル総数特定情報に基づいて、サーバプール３内のファイル総数が予め定められた２以上の整数値（以下、冗長数という）より小さいか否かを判別するものである。
【００９９】
複製処理手段３４４は、ファイル総数判別手段３４３によってサーバプール３内のファイル総数が冗長数より小さいと判別された場合に、サーバプール３のうちで所定のファイルを蓄積していないサーバ３０のいずれかに、内部ネットワーク７を介して所定のファイルを転送する処理を、サーバプール３内のファイル総数が冗長数と同一となるまで繰り返すことで所定のファイルを複製するものである。
【０１００】
削除処理手段３４５は、「del＿mediaObject」インタフェースのモード（mode）に「ＯＮＬＹ」が指定されている場合には、指定されたオブジェクトリファレンスに基づいて、記憶手段３２のＨＤＤ３２３に蓄積されたファイルを削除する。また、削除処理手段３４５は、管理装置２の「del＿object」インタフェースを呼び出し、管理装置２の記憶手段２２に記録されたオブジェクトリスト２２３ａから、指定されたメディアオブジェクトの登録内容を削除する。また、削除処理手段３４５は、「del＿mediaObject」インタフェースのモード（mode）に「ＡＬＬ」が指定された場合には、後記するように、管理権限判別手段３４２の判別結果にしたがって動作する。この削除処理手段３４５は、前式した式（８）の「del＿mediaObject」インタフェースを実行することで実現されるものである。
【０１０１】
なお、前記した制御手段３３が備える受信情報判別手段３３１、処理状態情報要求手段３３２、要求対応処理手段３３３、登録情報通知処理手段３３４、ファイル管理手段３３５およびマスター機能処理手段３３６は、ＣＰＵが記憶手段３２のＨＤＤ３２３等に格納された所定のプログラムをＲＡＭ３２１に展開して実行することにより実現されるものである。
【０１０２】
［サーバ群に属するサーバ］
図５は、図１に示したサーバ群に属するサーバの一例を示すブロック図である。
サーバ群４に属するサーバ４０は、制御手段３３ａに、図４に示したマスター機能処理手段３３６を備えていない点を除いて、サーバプール３を構成するサーバ３０と同様な構成である。したがって、同一の構成には同一の番号を付与して説明を省略する。なお、サーバ３０およびサーバ４０は、一般的なコンピュータを、前記した各手段として機能させるプログラムにより動作させることで実現することができる。このプログラムは、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【０１０３】
［端末装置］
図６は、図１に示した端末装置の一例を示すブロック図である。
端末装置５は、図５に示すように、通信手段５１と、記憶手段５２と、制御手段５３とを備えている。通信手段５１は、各オブジェクトのインタフェースを呼び出すものである。なお、オブジェクト間通信方法として、ＣＯＲＢＡ（登録商標）を用いる。
記憶手段５２は、例えば、ＲＡＭと、ＲＯＭと、ＨＤＤとを備え、制御手段５３による演算処理等に利用されると共に、所定のプログラム等を記憶する。
制御手段５３は、例えば、ＣＰＵから構成され、処理状態情報要求手段５３１と、要求先変更手段５３２と、登録内容削除要求手段５３３とを備えている。
【０１０４】
処理状態情報要求手段５３１は、管理装置２で検索された結果に基づいて、サーバプール３を構成するサーバ３０に対して、当該サーバの処理状態に関する情報を要求するものである。この処理状態情報要求手段５３１は、前記した式（２）の「get＿status」インタフェースを呼び出す要求を実行することで実現される。
【０１０５】
要求先変更手段５３２は、サーバプール３を構成するサーバ３０から当該サーバの処理状態がビジーではない旨を示すメッセージを受けるまで、処理状態情報要求手段５３１で処理状態に関する情報を要求する要求先を、サーバプール３の中で当該サーバ３０を除く他のサーバ３０へ順次変更する処理を行うものである。
【０１０６】
登録内容削除要求手段５３３は、サーバ３０（または４０）の記憶手段３２に蓄積されたファイルの削除を要求するものである。この機能は、前記した式（８）の「del＿mediaObject」インタフェースを呼び出す要求を実行することで実現される。
【０１０７】
なお、前記した制御手段５３が備える処理状態情報要求手段５３１、要求先変更手段５３２および登録内容削除要求手段５３３は、ＣＰＵが記憶手段５２のＨＤＤ等に格納された所定のプログラムをＲＡＭに展開して実行することにより実現されるものである。また、端末装置５は、一般的なコンピュータを、前記した各手段として機能させるプログラムにより動作させることで実現することができる。このプログラムは、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【０１０８】
［ファイル転送システムの動作の概要］
以下、図１に示したファイル転送システム１の動作の概要を図７および図８を参照（適宜図１参照）して説明する。図７は、図１に示した各サーバを特定する情報の一例を示す説明図であり、図８は、図１に示した各サーバが蓄積したファイルに関する情報の一例を示す説明図である。ここでは、図７および図８に示すように、図１に示した各サーバ（３０，４０）を特定する情報と、各サーバ（３０，４０）が蓄積しているファイルに関する情報とが予め定められているものとして説明する。
【０１０９】
図７に示すように、サーバプール３を構成するサーバ３０ａ〜３０ｃは、同一のオブジェクト名「EntryServer」を有している。
また、サーバ群４ａに属するサーバ４０ａ，４０ｂ，４０ｃは、オブジェクト名として「EditServer1」、「EditServer2」、「EditServer3」をそれぞれ有している。
また、サーバ群４ｂに属するサーバ４０ｄ，４０ｅ，４０ｆは、オブジェクト名として「BcServer1」、「BcServer2」、「BcServer3」をそれぞれ有している。
【０１１０】
図８に示すように、サーバプール３を構成するサーバ３０ａ，３０ｂは、「file 1」と「file2」とをそれぞれ蓄積しており、サーバ３０ｃは、「file 1」を蓄積している。つまり、この図８に示す状態では、サーバプール３内には、メディアオブジェクトとして、３つの「file 1」が蓄積されていると共に、２つの「file2」が蓄積されている。これらのメディアオブジェクトのＩＯＲ等はそれぞれ異なっている。本実施形態では、冗長数を「３」としている。したがって、例えば「file 1」が、サーバプール３内の別々のサーバ３０ａ，３０ｂ，３０ｃに保存される。また、図８に示した状態から、サーバプール３内のマスターが、「file2」を複製処理してサーバ３０ｃに転送することにより、「file2」についても冗長数が「３」に変化することとなる。
【０１１１】
このように、本実施形態では、サーバプール３内の複数のサーバ３０に、同一内容のファイルを冗長に保存しておくため、いずれかのサーバ３０のディスク装置（ＨＤＤ３２３）に障害が発生したとしても、サーバプール３としてのファイルの保存が確保されるため、ファイルの消失が起こらない。したがって、高信頼性のファイル転送システム１を実現できる。
【０１１２】
また、図８に示すように、サーバ群４ａに属するサーバ４０ａは、「file K」と「file 1」とを蓄積しており、サーバ４０ｂ，４０ｃは、ファイルを蓄積していない。なお、サーバ４０ａに蓄積された「file 1」は、サーバプール３に蓄積された「file 1」がバージョンアップされたファイルを示しており、ＩＯＲ等は異なっている。
【０１１３】
また、図８に示すように、サーバ群４ｂに属するサーバ４０ｄ，４０ｅ，４０ｆには、ファイルが未だ蓄積されていない。ここで、サーバ群４ｂに属するサーバ４０ｄ，４０ｅから、サーバプール３に蓄積されている「file 1」の転送要求を同時に行った場合に、それぞれ異なるサーバ３０（例えば、３０ａ，３０ｂ）がファイル転送動作に用いられることとなる。そのため、それぞれのファイル転送に対して（マルチアクセスに対して）、ネットワーク装置６ｂ（図１参照）の全帯域を使うことができる。したがって、それぞれのファイル転送速度は、低下することがない。さらに、このような「file 1」の転送処理中に、サーバ群４ａに属するサーバ４０ａに蓄積された「file K」の転送先としてサーバプール３が要求された場合でも、サーバプール３内で転送処理に使用されていないサーバ３０ｃが対応することで、ネットワーク装置６ａ（図１参照）の全帯域を使った高速なファイル転送を行うことができる。
【０１１４】
［ファイル転送システムの動作の詳細］
以下、ファイル転送システムを構成する各装置ごとの動作、および、各装置間の動作を順次説明する。なお、図１ないし図８も適宜参照して説明する。
【０１１５】
（管理装置）
＜オブジェクトリスト管理処理＞
図９は、図２に示した管理装置が外部からの要求に応じて実行する処理を示すフローチャートである。管理装置２は、制御手段２３の受信情報判別手段２３１によって、通信手段２１で受信した情報が他のオブジェクトからの動作要求であるか否かを判別する（ステップＳ１）。他のオブジェクトからの動作要求がない場合には（ステップＳ１：Ｎｏ）、ステップＳ１に戻って判別を繰り返す。一方、他のオブジェクトからの動作要求がある場合には（ステップＳ１：Ｙｅｓ）、受信情報判別手段２３１は、その動作要求が、前記した式（３）に示す「reg＿object」インタフェースを呼び出す要求であるか否かを判別する（ステップＳ２）。
【０１１６】
「reg＿object」インタフェースを呼び出す要求である場合には（ステップＳ２：Ｙｅｓ）、管理装置２は、オブジェクトリスト管理手段２３４の登録内容追加手段２４１によって、登録要求のあったオブジェクトリファレンス（ref）を、オブジェクトＩＤ（id）、オブジェクト名（name）、種別（kind）と共に、ＨＤＤ２２３に記録されたオブジェクトリスト２２３ａに追加し（ステップＳ３）、ステップＳ１に戻る。また、ステップＳ２において、「reg＿object」インタフェースを呼び出す要求ではない場合には（ステップＳ２：Ｎｏ）、受信情報判別手段２３１は、その動作要求が、前記した式（４）に示す「del＿object」インタフェースを呼び出す要求であるか否かを判別する（ステップＳ４）。
【０１１７】
「del＿object」インタフェースを呼び出す要求である場合には（ステップＳ４：Ｙｅｓ）、管理装置２は、オブジェクトリスト管理手段２３４の登録内容削除手段２４２によって、削除要求のあったオブジェクトに対応する項目（登録データ）を、オブジェクトリスト２２３ａから削除し（ステップＳ５）、ステップＳ１に戻る。また、ステップＳ４において、「del＿object」インタフェースを呼び出す要求ではない場合には（ステップＳ４：Ｎｏ）、受信情報判別手段２３１は、その動作要求が、前記した式（５）に示す「get＿object」インタフェースを呼び出す要求であるか否かを判別する（ステップＳ６）。
【０１１８】
「get＿object」インタフェースを呼び出す要求である場合には（ステップＳ６：Ｙｅｓ）、管理装置２は、オブジェクトリスト管理手段２３４の転送先サーバ候補検索手段２４３または転送元サーバ候補検索手段２４４によって、指定されたオブジェクトＩＤ（id）と、オブジェクト名（name）と、種別（kind）にマッチする項目（登録データ）をオブジェクトリスト２２３ａ中で検索する（ステップＳ７）。そして、管理装置２は、処理結果通知手段２３２によって、通信手段２１を用いて、検索の結果マッチしたすべての項目に対応したオブジェクトリファレンスをリスト形式で返信し（ステップＳ８）、ステップＳ１に戻る。なお、ステップＳ６において、「get＿object」インタフェースを呼び出す要求ではない場合にも（ステップＳ６：Ｎｏ）、管理装置２は、ステップＳ１に戻る。
【０１１９】
＜オブジェクトリストチェック処理＞
図１０は、図２に示した管理装置によるオブジェクトリストのチェック動作を示すフローチャートである。管理装置２は、オブジェクトリストチェック手段２４５によって、チェックを行う項目を示す項目カウンタの値（Ｚ）を「０」に設定し（ステップＳ１１）、オブジェクトリスト２２３ａから、項目カウンタが「Ｚ」であるオブジェクトのオブジェクトリファレンス（ＩＯＲ）を取り出す（ステップＳ１２）。そして、管理装置２は、処理状態情報要求手段２３３によって、ＩＯＲを取り出す対象とするオブジェクト（機能モジュール）に対して、前記した式（２）で示される「get＿status」インタフェースを実行する（ステップＳ１３）。
【０１２０】
そして、管理装置２は、受信情報判別手段２３１によって、「get＿status」インタフェースに対する返答（return）があるか否かを判別する（ステップＳ１４）。「get＿status」インタフェースに対する返答（return）がない場合（ステップＳ１４：Ｎｏ）、管理装置２は、オブジェクトリストチェック手段２４５によって、対象オブジェクトはファイル転送システム１内には存在していないものと判断し、オブジェクトリスト２２３ａから当該対象オブジェクトの項目（登録データ）を削除する（ステップＳ１５）。そして、管理装置２は、オブジェクトリストチェック手段２４５によって、項目カウンタの値（Ｚ）に「１」を加算する（ステップＳ１６）。
【０１２１】
一方、ステップＳ１４において、「get＿status」インタフェースに対する返答（return）がある場合（ステップＳ１４：Ｙｅｓ）、管理装置２は、ステップＳ１５の処理をスキップしてステップＳ１６に進む。ステップＳ１６に続いて、管理装置２は、オブジェクトリストチェック手段２４５によって、項目カウンタの値（Ｚ）が、オブジェクトリスト２２３ａに記録された項目の個数より大きいか否かを判別する（ステップＳ１７）。項目カウンタの値（Ｚ）が、オブジェクトリスト２２３ａに記録された項目の個数より大きい場合には（ステップＳ１７：Ｙｅｓ）、管理装置２は、オブジェクトリストチェック手段２４５によって、項目カウンタの値（Ｚ）を「０」として（ステップＳ１８）、ステップＳ１２へ戻り、オブジェクトリスト２２３ａの先頭のオブジェクトから再度チェックを開始する。また、項目カウンタの値（Ｚ）が、オブジェクトリスト２２３ａに記録された項目の個数以下の場合には（ステップＳ１７：Ｎｏ）、管理装置２は、そのままステップＳ１２へ戻る。
【０１２２】
（サーバ）
＜ファイル登録処理＞
図１１は、図１に示した各サーバによるファイルの登録処理を示すフローチャートである。ここでは、サーバプール３を構成するサーバ３０として説明する。なお、このファイル登録処理では、サーバ群４に属するサーバ４０の動作は同様なものなので説明を省略する。
【０１２３】
サーバ３０は、登録情報通知処理手段３３４によって、前記した式（３）に示す「reg＿object」インタフェースにより、自サーバを機能モジュール（オブジェクト）として、管理装置２に登録する（ステップＳ２１）。つまり、登録情報通知処理手段３３４は、自サーバのオブジェクトリファレンスを、オブジェクトＩＤ（id）、オブジェクト名（name）、種別（MODULE）と共に、管理装置２に登録する。
【０１２４】
サーバ３０は、ファイル管理手段３３５によって、自サーバに蓄積していてこれから管理装置２に登録を行うファイルを特定する番号を示すファイルカウンタの値（Ｎ）を「０」に設定する（ステップＳ２２）。そして、サーバ３０は、登録情報通知処理手段３３４によって、前記した式（３）に示す「reg＿object」インタフェースにより、ファイルカウンタの値が「Ｎ」であるファイルを、メディアオブジェクトとして、管理装置２に登録する（ステップＳ２３）。つまり、登録情報通知処理手段３３４は、ファイルカウンタの値が「Ｎ」であるファイルのオブジェクトリファレンスを、オブジェクトＩＤ（id）、オブジェクト名（name）、種別（MEDIA）と共に、管理装置２に登録する。
【０１２５】
サーバ３０は、ファイル管理手段３３５によって、ファイルカウンタの値（Ｎ）に「１」を加算し（ステップＳ２４）、ファイルカウンタの値（Ｎ）が、ＨＤＤ３２３に蓄積されたすべてのファイルの個数より大きいか否かを判別する（ステップＳ２５）。ファイルカウンタの値（Ｎ）が、ＨＤＤ３２３に蓄積されたすべてのファイルの個数以下である場合には（ステップＳ２５：Ｎｏ）、サーバ３０は、ステップＳ２３へ戻る。一方、蓄積されたすべてのファイルの個数より大きい場合には（ステップＳ２５：Ｙｅｓ）、サーバ３０は、処理を終了する。
【０１２６】
＜要求対応処理＞
図１２は、図１に示した各サーバが外部からの要求に応じて実行する処理を示すフローチャートである。ここでは、サーバプール３を構成するサーバ３０として説明する。なお、この要求対応処理では、サーバ群４に属するサーバ４０の動作は同様なものなので説明を省略する。
【０１２７】
サーバ３０は、制御手段３３の受信情報判別手段３３１によって、通信手段３１で受信した情報が他のオブジェクトからの動作要求であるか否かを判別する（ステップＳ３１）。他のオブジェクトからの動作要求がない場合には（ステップＳ３１：Ｎｏ）、ステップＳ３１に戻って判別を繰り返す。一方、他のオブジェクトからの動作要求がある場合には（ステップＳ３１：Ｙｅｓ）、受信情報判別手段３３１は、その動作要求が、前記した式（２）に示す「get＿status」インタフェースを呼び出す要求であるか否かを判別する（ステップＳ３２）。
【０１２８】
「get＿status」インタフェースを呼び出す要求である場合には（ステップＳ３２：Ｙｅｓ）、サーバ３０は、要求対応処理手段３３３によって、ファイル転送処理の動作中であるか否かを判別する（ステップＳ３３）。ファイル転送処理の動作中ならば（ステップＳ３３：Ｙｅｓ）、要求対応処理手段３３３は、「ＢＵＳＹ」を返答し（ステップＳ３４）、そうでないならば（ステップＳ３３：Ｎｏ）、「ＮＯ＿ＢＵＳＹ」を返答する（ステップＳ３５）。ステップＳ３４またはステップＳ３５に続いて、サーバ３０は、ステップＳ３１に戻る。また、ステップＳ３２において、「get＿status」インタフェースを呼び出す要求ではない場合には（ステップＳ３２：Ｎｏ）、受信情報判別手段３３１は、その動作要求が、前記した式（１）に示す「get＿metadata」インタフェースを呼び出す要求であるか否かを判別する（ステップＳ３６）。
【０１２９】
「get＿metadata」インタフェースを呼び出す要求である場合には（ステップＳ３６：Ｙｅｓ）、サーバ３０は、要求対応処理手段３３３によって、指定されたキー（key）に対応するメタデータを「value」として返答し（ステップＳ３７）、ステップＳ３１に戻る。また、ステップＳ３６において、「get＿metadata」インタフェースを呼び出す要求ではない場合には（ステップＳ３６：Ｎｏ）、受信情報判別手段３３１は、その動作要求が、前記した式（６）に示す「trs＿mediaObject」インタフェースを呼び出す要求であるか否かを判別する（ステップＳ３８）。
【０１３０】
「trs＿mediaObject」インタフェースを呼び出す要求である場合には（ステップＳ３８：Ｙｅｓ）、サーバ３０は、要求対応処理手段３３３によって、後記するファイル転送前処理を行い（ステップＳ３９）、続けて、通信手段３１を介して転送先オブジェクトに対して、ファイル転送用の通信経路を確保することでファイル転送用コネクションを確立し（ステップＳ４０）、ファイル管理手段３３５によって、ファイル転送を実行し（ステップＳ４１）、ステップＳ３１に戻る。また、ステップＳ３８において、「trs＿mediaObject」インタフェースを呼び出す要求ではない場合には（ステップＳ３８：Ｎｏ）、受信情報判別手段３３１は、その動作要求が、前記した式（７）に示す「req＿transfer」インタフェースを呼び出す要求であるか否かを判別する（ステップＳ４２）。
【０１３１】
「req＿transfer」インタフェースを呼び出す要求である場合には（ステップＳ４２：Ｙｅｓ）、サーバ３０は、要求対応処理手段３３３によって、通信手段３１を介して転送先オブジェクトに対して、ファイル転送用の通信経路を確保することでファイル転送用コネクションを確立し（ステップＳ４３）、ファイル管理手段３３５によって、ファイル転送を実行し（ステップＳ４４）、ステップＳ３１に戻る。また、ステップＳ４２において、「req＿transfer」インタフェースを呼び出す要求ではない場合には（ステップＳ４２：Ｎｏ）、受信情報判別手段３３１は、その動作要求が、前記した式（８）に示す「del＿mediaObject」インタフェースを呼び出す要求であるか否かを判別する（ステップＳ４５）。「del＿mediaObject」インタフェースを呼び出す要求ではない場合には（ステップＳ４５：Ｎｏ）、ステップＳ３１に戻る。また、「del＿mediaObject」インタフェースを呼び出す要求である場合には（ステップＳ４５：Ｙｅｓ）、サーバ３０は、要求対応処理手段３３３によって、後記するファイル削除処理を実行し（ステップＳ４６）、ステップＳ３１に戻る。
【０１３２】
≪ファイル転送前処理Ａ≫
図１３は、図１２に示したファイル転送前処理を説明するためのシーケンス図である。
ファイル転送前処理Ａは、前記したステップＳ３９のファイル転送前処理のうち、以下の条件に合致した場合の処理である。ここでは、具体例として、サーバ群４ａに属するサーバ４０ａに蓄積されたファイル（file K）を、サーバプール３を構成するサーバ３０ａに転送する場合を説明する。また、前提として、サーバ４０ａ、file K、サーバ３０ａのオブジェクトリファレンスを、図７および図８に示すように、それぞれ「ＩＯＲ＿Ｓ」、「ＩＯＲ＿Ｋ」、「ＩＯＲ＿Ｐ１」とする。また、端末装置５は、転送する対象のファイル（file K）のオブジェクトリファレンス「ＩＯＲ＿Ｋ」と、転送先のサーバ３０ａのオブジェクトリファレンス「ＩＯＲ＿Ｐ１」とを予め取得しているものとする。
【０１３３】
端末装置５は、サーバ３０ａに対して、前記した式（６）の「trs＿mediaObject」インタフェースを呼び出す要求を実行する（ステップＳ５１）。具体的には、端末装置５は、サーバ３０ａに対して「file K」の転送先となることを要求する旨を通知する。ここでは、通常の転送なので、モード（mode）として「ＣＯＰＹ」が指定される。これによって、サーバ３０ａは、指定されたメディアオブジェクト（file K）に対して、前記した式（１）の「get＿metadata」インタフェースを呼び出す要求を実行し（ステップＳ５２）、file Kが保存されたサーバ４０ａのオブジェクトリファレンスを取得する（ステップＳ５３）。なお、このとき、サーバ３０ａは、file Kのその他のメタデータを呼び出してもよい。例えば、file Kのファイルサイズを取得することで、対象ファイルが自サーバに蓄積可能かどうかの判断材料とすることができる。
【０１３４】
次に、サーバ３０ａは、取得したオブジェクトリファレンスで特定されるサーバ４０ａに対して、前記した式（７）の「req＿transfer」インタフェースを呼び出す要求を実行する（ステップＳ５４）。この「req＿transfer」インタフェースを呼び出す要求を受けたサーバ４０ａは、転送先のサーバ３０ａに対して、前記した式（１）の「get＿metadata」インタフェースを用いてＩＰアドレス（IP address）を要求する（ステップＳ５５）。これによって、サーバ３０ａはＩＰアドレスをメタデータとしてサーバ４０ａに通知する（ステップＳ５６）。さらに、サーバ４０ａは、転送先のサーバ３０ａに対して、前記した式（１）の「get＿metadata」インタフェースを用いてポート番号（port number）を要求する（ステップＳ５７）。これによって、サーバ３０ａはポート番号をメタデータとしてサーバ４０ａに通知する（ステップＳ５８）。以上の情報を元に、サーバ４０ａとサーバ３０ａは、ファイル転送用の通信経路を確立して、ファイル転送を実行する。なお、ステップＳ５５〜Ｓ５８のやりとりは一例であって、これに限定されるものではない。
【０１３５】
＜マスター機能処理＞
図１４は、図４に示したサーバによるマスター機能の一例であるファイル複製動作を示すフローチャートである。このファイル複製動作は、サーバプール３を構成するサーバ３０に特有な動作であり、サーバ群４に属するサーバ４０はこの動作を行わない。
【０１３６】
まず、サーバ３０は、ファイル管理手段３３５によって、記憶手段３２のＨＤＤ３２３に記録されたファイル識別番号の値（Ｘ）を「０」に設定し、ＨＤＤ３２３からファイル識別番号の値が「Ｘ」であるファイルのオブジェクトリファレンス（ＩＯＲ）を取り出す（ステップＳ６１）。そして、サーバ３０は、マスター機能処理手段３３６のファイル総数特定情報要求手段３４１によって、管理装置２に対して、前記した式（５）の「get＿object」インタフェースを呼び出す要求を実行する（ステップＳ６２）。これによって、例えば、冗長数を「３」とした場合、サーバプール３内には同一ファイルが３つ存在するため、３つのオブジェクトリファレンスを含んだオブジェクトリファレンスのリストが返送されることとなる。
【０１３７】
そして、サーバ３０は、管理権限判別手段３４２によって、自サーバがＸ番目のファイルのマスターであるか否かを判別する（ステップＳ６３）。ここで、管理権限判別手段３４２は、サーバ３０が取得したリストの先頭に記載されたオブジェクトリファレンスに対応したオブジェクトを生成したサーバが自サーバである場合に、自サーバがＸ番目のファイルのマスターであると判定する。
【０１３８】
マスターではないと判定した場合には（ステップＳ６３：Ｎｏ）、サーバ３０は、後記するステップＳ６６に進む。一方、マスターであると判定した場合には（ステップＳ６３：Ｙｅｓ）、サーバ３０は、ファイル総数判別手段３４３によって、Ｘ番目のファイルについて、サーバプール３内のファイルの総数が予め定められた所定値（冗長数）であるか否かを判別する（ステップＳ６４）。サーバプール３内のファイルの総数が冗長数より小さい場合には（ステップＳ６４：Ｎｏ）、サーバ３０は、複製処理手段３４４によって、Ｘ番目のファイルについて、複製処理を実行し（ステップＳ６５）、ステップＳ６４に戻る。この複製処理の手順は、図１２に示したファイル転送前処理（ステップＳ３９）と、それに続くステップＳ４０，Ｓ４１の処理と同様なので説明を省略する。ただし、複製処理の場合、前記した式（６）の「trs＿mediaObject」インタフェースのモードは「ＤＵＰＬＩＣＡＴＥ」に指定される。
【０１３９】
また、サーバプール３内のファイルの総数が冗長数と同じである場合には（ステップＳ６４：Ｙｅｓ）、サーバ３０は、ファイル管理手段３３５によって、記憶手段３２のＨＤＤ３２３に記録されたすべてのファイルを検索し終わったか否かを判別する（ステップＳ６６）。まだ検索していないファイルがある場合には（ステップＳ６６：Ｎｏ）、サーバ３０は、ファイル管理手段３３５によって、記憶手段３２のＨＤＤ３２３に記録されたファイル識別番号の値（Ｘ）に「１」を加算し（ステップＳ６７）、ステップＳ６２に戻る。一方、すべてのファイルを検索し終わった場合には（ステップＳ６６：Ｙｅｓ）、サーバ３０は、処理を終了する。このようなマスター機能処理としては、ファイル複製動作のほかに、ファイル削除動作がある。このファイル削除動作については、説明の都合上、後記することとする。
【０１４０】
≪ファイル転送前処理Ｂ≫
図１５は、図１２に示したファイル転送前処理を説明するためのシーケンス図である。
ファイル転送前処理Ｂは、前記したステップＳ３９のファイル転送前処理のうち、以下の条件に合致した場合の処理である。ここでは、端末装置５は、サーバプール３の名前（サーバ３０のオブジェクト名）を予め取得しているが、サーバプール３の中のどのサーバ３０を転送先とするかについては決定していないことを前提とする。この前提以外は、図１３を参照して説明したファイル転送前処理Ａの前提と同じである。
【０１４１】
まず、端末装置５は、管理装置２に対して、前記した式（５）の「get＿object」インタフェースを呼び出す要求を実行する（ステップＳ７１）。このとき、検索キーのオブジェクト名として「EntryServer」が指定されると共に、そのオブジェクトの種別として「MODULE」が指定される。これによって、管理装置２は、オブジェクト名が「EntryServer」であるオブジェクトのオブジェクトリファレンスとして「ＩＯＲ＿Ｐ１，ＩＯＲ＿Ｐ２，ＩＯＲ＿Ｐ３」をリスト形式で返信する（ステップＳ７２）。
【０１４２】
端末装置５は、取得した３つのオブジェクトリファレンスの中から選択したオブジェクトリファレンスに対応したオブジェクト（機能モジュール）に対して、前記した式（２）の「get＿status」インタフェースを利用して、当該オブジェクトが転送処理をすることが可能か否かを問い合わせる。例えば、端末装置５は、まず、サーバ３０ａに対して、処理状態情報要求手段５３１によって、サーバ３０ａの処理状態に関する情報を要求する（ステップＳ７３）。これによって、サーバ３０ａは、前記したステップＳ３３（図１２参照）の判別処理を行い、例えば、メッセージ「ＢＵＳＹ」を返答する（ステップＳ７４）。
【０１４３】
そこで、端末装置５は、要求先変更手段５３２によって、管理装置２から取得したリストの中からサーバ３０ｂを選択して、処理状態情報要求手段５３１によって、サーバ３０ｂの処理状態に関する情報を要求する（ステップＳ７５）。これによって、サーバ３０ｂは、前記したステップＳ３３（図１２参照）の判別処理を行い、例えば、メッセージ「ＮＯ＿ＢＵＳＹ」を返答する（ステップＳ７６）。その結果、端末装置５は、要求先変更手段５３２によって、サーバ３０ｂが転送処理をすることが可能であると判定する。そして、端末装置５は、サーバ３０ｂに対して、前記した式（６）の「trs＿mediaObject」インタフェースを呼び出す要求を実行する（ステップＳ７７）。ただし、これは一例であって、端末装置５が、どのオブジェクトリファレンス（あるいはオブジェクト）をどのような順番で選択するかは任意である。また、ステップＳ７７以降は、図１３に示したステップＳ５２〜Ｓ５８の処理と同様なので説明を省略する。
【０１４４】
≪ファイル転送前処理Ｃ≫
図１６は、図１２に示したファイル転送前処理を説明するためのシーケンス図である。
ファイル転送前処理Ｃは、前記したステップＳ３９のファイル転送前処理のうち、以下の条件に合致した場合の処理である。ここでは、具体例として、サーバプール３を構成するサーバ３０のいずれかに蓄積されたファイルを、サーバ群４ｂに属するサーバ４０ｄに転送する場合を説明する。また、転送対象のファイルのファイル名（オブジェクト名）が「file 1」、サーバプール３の名前（オブジェクト名）が「EntryServer」、管理装置２および転送先のサーバ４０ｄのオブジェクトリファレンスがそれぞれ「ＩＯＲ＿Ｔ」、「ＩＯＲ＿Ｕ」であるとする。さらに、端末装置５は、前記した各情報（オブジェクトリファレンス等）を予め取得しているが、サーバプール３の中のどのサーバ３０を「file 1」の転送元とするかについては決定していないことを前提とする。
【０１４５】
まず、端末装置５は、管理装置２に対して、前記した式（５）の「get＿object」インタフェースを呼び出す要求を実行する（ステップＳ８１）。このとき、検索キーのオブジェクト名として「file 1」が指定されると共に、そのオブジェクトの種別として「MEDIA」が指定される。これによって、管理装置２は、オブジェクト名が「file 1」であるオブジェクト（メディアオブジェクト）を蓄積した機能モジュールのオブジェクトリファレンスとして、「ＩＯＲ＿Ｐ１，ＩＯＲ＿Ｐ２，ＩＯＲ＿Ｐ３」をリスト形式で返信する（ステップＳ８２）。さらに、図示は省略したが、端末装置５は、取得したオブジェクトリファレンス「ＩＯＲ＿Ｐ１，ＩＯＲ＿Ｐ２，ＩＯＲ＿Ｐ３」に基づいて、転送する対象のファイル（file 1）のオブジェクトリファレンス「ＩＯＲ＿Ｆ１１，ＩＯＲ＿Ｆ２１，ＩＯＲ＿Ｆ３１」をそれぞれ取得する。なお、ファイル（file 1）のオブジェクトリファレンスを管理装置２から取得してもよい。
【０１４６】
ステップＳ８２に続いて、端末装置５は、図１５に示したステップＳ７３〜Ｓ７７と同様にして、ビジー状態ではない（転送処理をすることが可能な）サーバ３０を発見する。なお、詳細な説明は省略する。ここで、端末装置５が、例えば、サーバ３０ａを転送元に決定したとする。この場合に、端末装置５は、転送先であるサーバ４０ｄに対して、前記した式（６）の「trs＿mediaObject」インタフェースを呼び出す要求を実行する（ステップＳ８３）。このとき、転送元であるサーバ３０ａに蓄積された「file 1」のオブジェクトリファレンスである「ＩＯＲ＿Ｆ１１」が指定される。また、モード（mode）としては通常の転送を示す「ＣＯＰＹ」が指定される。また、ステップＳ８３以降は、図１３に示したステップＳ５２〜Ｓ５８の処理と同様なので説明を省略する。
【０１４７】
以上のファイル転送前処理Ｃの説明では、サーバ４０ｄが他の転送処理等に使用されていないことを前提としていたが、前記した式（２）の「get＿status」インタフェースを利用して、転送先であるサーバ４０ｄが転送処理をすることが可能か否かを予め問い合わせておき、転送元と転送先の両方ともメッセージ「ＮＯ＿ＢＵＳＹ」を取得してから、ステップＳ８３の処理を行うことが望ましい。
【０１４８】
また、ファイル転送前処理Ｃでは、サーバプール３内の「file 1」を転送するものとして説明したが、ファイル転送システム１のサーバプール３以外に蓄積された「file 1」を転送対象とする場合には、管理装置２は、サーバ群４ａに属するサーバ４０ａのオブジェクトリファレンス「ＩＯＲ＿Ｓ」や、サーバ４０ａに蓄積された「file 1」のオブジェクトリファレンス「ＩＯＲ＿Ｈ」も合わせて端末装置５に返答する（図７および図８参照）。そのため、この場合には、端末装置５は、取得したファイル（file 1）のオブジェクトリファレンスがサーバプール３内のサーバ３０に蓄積されていたファイル（file 1）のものであることを、前記した式（１）の「get＿metadata」インタフェースを用いて前もって確認しておくことが必要となる。
【０１４９】
＜ファイル削除処理Ａ＞
図１７は、図１２に示したファイル削除処理を説明するためのシーケンス図である。
ファイル削除処理Ａは、サーバプール３を構成するサーバ３０に蓄積されたファイルと、そのファイルと同一でサーバプール３内に存在する複製ファイルとを単純に削除するものである。これは、例えば、番組コンテンツを示す「file 1」を、サーバプール３に蓄積した後で放送前日に番組送出用のサーバ４０ｄに送出したためにサーバプール３では不要になり、その後１週間以上も経過してしまったような場合に行う動作に相当する。ここでは、具体例として、サーバプール３を構成する各サーバ３０には、図７に示したオブジェクトリファレンスが付与され、各サーバ３０には、図８に示したオブジェクトリファレンスを有した各ファイルが蓄積されている場合を説明する。また、端末装置５は、削除すべきファイル（file 1）のオブジェクトリファレンス（ＩＯＲ＿Ｆ２１）と、そのファイル（file 1）を蓄積したサーバ３０ｂのオブジェクトリファレンス（ＩＯＲ＿Ｐ２）とを予め取得していることを前提とする。
【０１５０】
まず、端末装置５は、サーバ３０ｂに対して、前記した式（８）の「del＿mediaObject」インタフェースを呼び出す要求を実行する（ステップＳ９１）。具体的には、端末装置５は、サーバ３０ｂに対して、サーバ３０ｂに蓄積されているファイル（file 1）を削除することを要求する旨を通知する。ここでは、該当ファイルについてサーバプール３内の同一ファイル名のすべてのファイルの削除要求であるので、モード（mode）として「ＡＬＬ」が指定される。これによって、サーバ３０ｂは、管理装置２に対して、前記した式（５）の「get＿object」インタフェースを呼び出す要求を実行し（ステップＳ９２）、サーバプール３内でファイル（file 1）が保存されたすべてのサーバ３０のオブジェクトリファレンスをリスト形式で取得する（ステップＳ９３）。
【０１５１】
サーバ３０ｂが取得したオブジェクトリファレンスのリストが、図１７に示すように、「ＩＯＲ＿Ｆ１１，ＩＯＲ＿Ｆ２１，ＩＯＲ＿Ｆ３１」の場合には、先頭に記載された「ＩＯＲ＿Ｆ１１」に対応するファイルを蓄積しているオブジェクト（機能モジュール）は、サーバ３０ａなので、サーバ３０ｂは、「自サーバがファイル（file 1）のマスターではない」と判定すると共に、「サーバ３０ａがマスターである」と判定する。そこで、サーバ３０ｂは、自サーバで受けたファイルの削除命令をサーバ３０ａに転送する。つまり、サーバ３０ｂは、サーバ３０ａに対して、前式した式（８）の「del＿mediaObject」インタフェース）を呼び出す要求を実行する（ステップＳ９４）。このときには、端末装置５から指定されたファイル（file 1）のオブジェクトリファレンス「ＩＯＲ＿Ｆ２１」は、サーバ３０ａに蓄積されたファイル（file 1）のオブジェクトリファレンス「ＩＯＲ＿Ｆ１１」に書き換えられることとなる。
【０１５２】
すると、サーバ３０ａは、前記したステップＳ９２，Ｓ９３と同様にして、管理装置２に対してファイル（file 1）の検索を要求し（ステップＳ９５）、ファイル（file 1）のオブジェクトリファレンスを取得する（ステップＳ９６）。その結果、サーバ３０ａは、自サーバがマスターであると判定する。そのため、サーバ３０ａは、マスター機能処理としてのファイル削除動作を以下のように行う。すなわち、まず、サーバ３０ａは、削除処理手段３４５によって、記憶手段３２のＨＤＤ３２３に蓄積されたオブジェクトリファレンス「ＩＯＲ＿Ｆ１１」で特定されるファイル（自サーバに蓄積しているfile 1）を削除する（ステップＳ９７）と共に、管理装置２の「del＿object」インタフェースを呼び出すことで、管理装置２の記憶手段２２に記録されたオブジェクトリスト２２３ａからメディアオブジェクト（file 1）の登録内容を削除する。そして、サーバ３０ａは、残りのオブジェクトリファレンス「ＩＯＲ＿Ｆ２１，ＩＯＲ＿Ｆ３１」に基づいて、サーバ３０ｂ，３０ｃに対して、前式した式（８）の「del＿mediaObject」インタフェース）を呼び出す要求をそれぞれ実行する（ステップＳ９８、ステップＳ９９）。このとき、モード（mode）には、オブジェクトリファレンスに対応した１つのファイルの削除要求であることを示す「ＯＮＬＹ」が設定される。以上のファイル削除動作において、各オブジェクトリファレンス「ＩＯＲ＿Ｆ１１」、「ＩＯＲ＿Ｆ２１」、「ＩＯＲ＿Ｆ３１」に対応するファイルを削除する順序は一例であって、これに限定されるものではない。
【０１５３】
＜ファイル削除処理Ｂ＞
図１８は、図１２に示したファイル削除処理を説明するためのシーケンス図である。
ファイル削除処理Ｂは、サーバプール３内に既に蓄積されたファイルと同一のファイル名（オブジェクト名）を有したファイルが、サーバ群４ａからサーバプール３内に新たに転送されてきたときに、サーバプール３内に存在する古いファイルを削除するものである。これは、例えば、１チャンネルで○月△日に放送予定の番組コンテンツを示す「file 1」を放送日の１週間前にサーバプール３に蓄積した後で、放送日の３日前に、番組制作用のサーバ４０ａで編集し直した番組コンテンツを示す「file 1」に差し替えるような場合に行う動作に相当する。ここでは、図７および図８に示したオブジェクトリファレンスを前提として説明する。また、サーバ群４に属するサーバ４０ａに蓄積されている「file 1」を、サーバプール３を構成するサーバ３０ｂに転送するものとする。また、端末装置５は、転送対象のファイルのオブジェクトリファレンス（ＩＯＲ＿Ｈ）と、転送可能なサーバプール３内のサーバ３０ｂのオブジェクトリファレンス（ＩＯＲ＿Ｐ２）とを予め取得していることを前提とする。
【０１５４】
まず、端末装置５は、サーバ３０ｂに対して、前記した式（６）の「trs＿mediaObject」インタフェースを呼び出す要求を実行する（ステップＳ１０１）。具体的には、端末装置５は、サーバ３０ｂに対してファイル（file 1）の転送先となることを要求する旨を通知する。ここでは、通常の転送なので、モード（mode）として「ＣＯＰＹ」が指定される。これによって、サーバ３０ｂは、指定されたファイル（file 1）に対して、前記した式（７）の「req＿transfer」インタフェースを呼び出す要求を実行する（ステップＳ１０２）。
【０１５５】
この「req＿transfer」インタフェースを呼び出す要求を受けたサーバ４０ａは、転送先のサーバ３０ｂから、例えば、ＩＰアドレスとポート番号とを取得して、ファイル転送用コネクションを確立した後でファイル（file 1）を転送する（以上、ステップＳ１０３）。サーバ３０ｂは、取得したファイル（file 1）を、新たなオブジェクトリファレンス「ＩＯＲ＿ｎ１」と、オブジェクトＩＤ「１」とに関連付けて保存する。
【０１５６】
続けて、サーバ３０ｂは、取得したファイル（file 1）と同じファイル名のファイルが、サーバプール３内に存在するか否かを確認するために、管理装置２に対して、前記した式（５）の「get＿object」インタフェースを呼び出す要求を実行し（ステップＳ１０４）、オブジェクトリファレンスを取得する（ステップＳ１０５）。
【０１５７】
この例では、管理装置２には、該当ファイル（file 1）と同じファイル名のファイルが既に３つ登録されている。サーバ３０ｂは、この３つのファイル名に対応したオブジェクトリファレンスのリストの先頭に記載されたオブジェクトリファレンスに対応したファイルを蓄積したサーバ３０ａ（マスター）に対して、前式した式（８）の「del＿mediaObject」インタフェース）を呼び出す要求を実行する（ステップＳ１０６）。このとき、モード（mode）として「ＡＬＬ」が指定される。これによって、マスターであるサーバ３０ａは、前記したファイル削除処理Ａで説明したようにしてファイル削除動作を行うこととなる。その結果、「ＩＯＲ＿Ｆ１１」、「ＩＯＲ＿Ｆ２１」、「ＩＯＲ＿Ｆ３１」でそれぞれ特定されるファイル（古いfile 1）がサーバプール３から削除される。
【０１５８】
また、ステップＳ１０６に続いて、図１１を参照して説明したファイル登録処理によって、サーバ３０ｂは、受信および保存したファイル（file 1）をオブジェクト（メディアオブジェクト）として、管理装置２のオブジェクトリスト２２３ａに登録する（ステップＳ１０７）。ステップＳ１０７に続いて、図１０を参照して説明したオブジェクトリストチェック処理によって、管理装置２は、オブジェクトリスト２２３ａから、「ＩＯＲ＿Ｆ１１」、「ＩＯＲ＿Ｆ２１」、「ＩＯＲ＿Ｆ３１」でそれぞれ特定されるファイル（古いfile 1）に関する登録データを削除する。さらに、図１４を参照して説明したファイル複製動作によって、いずれかのサーバ３０は、サーバプール３内のファイル（更新されたfile 1）の総数が、指定された所定値（冗長数：ここでは「３」）となるようにファイルを複製する。
【０１５９】
以上説明したように、本実施形態のファイル転送システム１によれば、複数のファイル転送要求が同時にあった場合でも、ネットワーク装置６の全帯域を使った高速な転送が行える。また、ファイル転送システム１では、サーバプール３を構成する異なるサーバ３０に対して分散することで同一名のファイルを冗長化して保存するので、サーバプール３を構成するいずれかのサーバ３０のディスク装置に障害が発生した場合でも、サーバプール３からファイルが消失しない高信頼性のサーバシステムを実現できる。また、ファイル転送システム１では、サーバプール３を構成するサーバ３０のディスク容量、サーバ３０の性能、およびサーバ３０のベンダをそれぞれ統一しておく必要がない。そのため、システム稼動後も、サーバ３０のディスク容量の増加、長期間のメンテナンスが可能なシステムを構築できる。
【０１６０】
以上、本発明の実施形態について説明したが、本発明は、この実施形態には限定されない。例えば、本実施形態では、サーバプール３内において所定のファイルと同じファイル名のファイルの総数（冗長数）を「３」として説明したが、これに限定されるものではなく、「２」以上の整数であればよい。冗長数を「２」とした場合には、サーバプール３内の２つのサーバ３０（例えばサーバ３０ａ，３０ｂ）に同じファイル（例えばfile 1）がそれぞれ記録される。仮に、サーバ３０ａが故障し、そのためにサーバ３０ｂが「file 1」をサーバ３０ｃにコピーする場合には、このコピー動作の最中には、外部（例えば、サーバ４０ｄ）から「file 1」にアクセスできなくなることが想定される。したがって、このような障害によるコピー動作中に外部からのアクセスを可能とするためには、１つのサーバ３０とネットワーク装置６ｂ（６）とを２チャンネル以上の回線で接続する必要がある。なお、冗長数を「３」以上とした場合には、サーバプール３内で、サーバ３０ａに障害が発生してサーバ３０ｂがコピー動作中であっても、例えばfile 1を記録したサーバ３０ｃが残っているので、１つのサーバ３０とネットワーク装置６ｂ（６）とを１チャンネルの回線で接続していても、外部からfile 1へアクセスすることが可能となるので好ましい。また、冗長数をファイル毎に異なる数値としてもよい。また、本実施形態では、ファイル転送システム１を放送局で利用するものとして説明したが、これに限定されるものではない。
【図面の簡単な説明】
【０１６１】
【図１】本発明の実施形態に係るファイル転送システムの一例を示す構成図である。
【図２】図１に示した管理装置の一例を示すブロック図である。
【図３】図２に示したオブジェクトリストの構造の一例を示す図である。
【図４】図１に示したサーバプールを構成するサーバの一例を示すブロック図である。
【図５】図１に示したサーバ群に属するサーバの一例を示すブロック図である。
【図６】図１に示した端末装置の一例を示すブロック図である。
【図７】図１に示した各サーバを特定する情報の一例を示す説明図である。
【図８】図１に示した各サーバが蓄積したファイルに関する情報の一例を示す説明図である。
【図９】図２に示した管理装置が外部からの要求に応じて実行する処理を示すフローチャートである。
【図１０】図２に示した管理装置によるオブジェクトリストのチェック動作を示すフローチャートである。
【図１１】図１に示した各サーバによるファイルの登録処理を示すフローチャートである。
【図１２】図１に示した各サーバが外部からの要求に応じて実行する処理を示すフローチャートである。
【図１３】図１２に示したファイル転送前処理を説明するためのシーケンス図（その２）である。
【図１４】図４に示したサーバによるマスター機能の一例であるファイル複製動作を示すフローチャートである。
【図１５】図１２に示したファイル転送前処理を説明するためのシーケンス図（その２）である。
【図１６】図１２に示したファイル転送前処理を説明するためのシーケンス図（その３）である。
【図１７】図１２に示したファイル削除処理を説明するためのシーケンス図（その１）である。
【図１８】図１２に示したファイル削除処理を説明するためのシーケンス図（その２）である。
【図１９】ＲＡＩＤの説明図であり、（ａ）はＲＡＩＤ０、（ｂ）はＲＡＩＤ１をそれぞれ示している。
【図２０】ＳＡＮおよびＮＡＳの説明図であり、（ａ）はＳＡＮ、（ｂ）はＮＡＳをそれぞれ示している。
【図２１】分散ファイルシステムの説明図であり、（ａ）は断片化を分散ファイルシステム側で行う方式、（ｂ）は断片化をネットワークサーバ側（ファイル入力側）で行う方式をそれぞれ示している。
【符号の説明】
【０１６２】
１      ファイル転送システム
２      管理装置
３      サーバプール
４I(４ａ，４ｂ)  サーバ群
５      端末装置
６（６ａ，６ｂ）  ネットワーク装置
７      内部ネットワーク
８（８ａ，８ｂ，８ｃ）  ネットワーク
３０（３０ａ，３０ｂ，１０ｃ）  サーバ
４０（４０ａ，４０ｂ，４０ｃ，４０ｄ，４０ｅ，４０ｆ）  サーバ
２１    通信手段
２２    記憶手段
２２３  ＨＤＤ
２３    制御手段
２３１  受信情報判別手段
２３２  処理結果通知手段
２３３  処理状態情報要求手段
２３４  オブジェクトリスト管理手段
２４１  登録内容追加手段
２４２  登録内容削除手段
２４３  転送先サーバ候補検索手段
２４４  転送元サーバ候補検索手段
２４５  オブジェクトリストチェック手段
３１    通信手段
３２    記憶手段
３２３  ＨＤＤ
３３    制御手段
３３１  受信情報判別手段
３３２  処理状態情報要求手段
３３３  要求対応処理手段
３３４  ファイル管理手段
３３５  オブジェクトリスト管理手段
３３６  マスター機能処理手段
３４１  ファイル総数特定情報要求手段
３４２  管理権限判別手段
３４３  ファイル総数判別手段
３４４  複製処理手段
３４５  削除処理手段
５１    通信手段
５２    記憶手段
５３    制御手段
５３１  処理状態情報要求手段
５３２  要求先変更手段
５３３  登録内容削除要求手段
【図１】
2008117091.tif 000004
【図２】
2008117091.tif 000005
【図３】
2008117091.tif 000006
【図４】
2008117091.tif 000007
【図５】
2008117091.tif 000008
【図６】
2008117091.tif 000009
【図７】
2008117091.tif 000010
【図８】
2008117091.tif 000011
【図９】
2008117091.tif 000012
【図１０】
2008117091.tif 000013
【図１１】
2008117091.tif 000014
【図１２】
2008117091.tif 000015
【図１３】
2008117091.tif 000016
【図１４】
2008117091.tif 000017
【図１５】
2008117091.tif 000018
【図１６】
2008117091.tif 000019
【図１７】
2008117091.tif 000020
【図１８】
2008117091.tif 000021
【図１９】
2008117091.tif 000022
【図２０】
2008117091.tif 000023
【図２１】
2008117091.tif 000024