第 14 章 冗長性
Helix Universal Server は、コンテンツのエンコードとクライアントへのブロードキャストのために冗長サービスを提供します。ライブ コンテンツを転送している間に、1 つのエンコーダの機能が停止してもブロードキャストを継続できるように複数のソースを設定できます。さらに、代用サーバを指定して、プライマリ サーバの機能が停止してもコンテンツをクライアントに提供できるようにすることも可能です。この章では、これら 2 種類の冗長性を提供するために必要なサーバ設定ファイルの編集について説明します。
ブロードキャスト冗長性
ブロードキャスト冗長性により、複数のライブ ソースを 1 つのブロードキャストとして扱うことができます。ライブ ソースがブロードキャストを停止した場合、デフォルトで、すべてのクライアントが次に利用可能なストリームへリダイレクトされます。これにより、ユーザに対するサービス品質が保たれます。この安全策は、RTSP ベースのクライアント接続では、自動的に実行されます。RTSP は、プレーヤーとサーバの間の通信で最も多く使用される方式です。従来の PNM プロトコルを使用するクライアントの場合は、手動で再接続する必要があります。
ブロードキャスト冗長性は設定ファイルの 2 か所で設定します。ブロードキャスト冗長性のマウント ポイントは FSMount リスト内に記述します。エンコーダ冗長性に関する設定項目は独立したリストとして記述します。
<List Name="FSMount"> ... additional features found in FSMount section...
<List Name="RealSystem Broadcast Redundancy"> <Var ShortName="pn-redundant"/> <Var MountPoint="/redundant/"/>
</List> ... additional features found in FSMount section... </List>
<List Name="RealSystem Broadcast Redundancy Plugin"> <Var Enabled="1"/> <Var SeparatorCharacter="."/>
<Var LiveSourceTimeout="2"/> <Var Reconnect="Manual"/> <Var ErrorMessage="Broadcast timed out; click the Play button to restart." </List>
|
ブロードキャスト冗長性の詳細については、『Helix Universal Server アドミニストレーション ガイド』第 7 章「ユニキャスト」の「ブロードキャスト冗長性の使用方法」を参照してください。
リスト: RealSystem Broadcast Redundancy
冗長なブロードキャスト エンコーダのマウント ポイントを設定するリストです。
<List Name="FSMount">
<List Name="RealSystem Broadcast Redundancy"> ...variables that define the redundant broadcast encoder </List>
</List>
|
レジストリ値
config.FSMount.RealSystem Broadcast Redundancy
|
例
<List Name="RealSystem Broadcast Redundancy"> ... </List>
|
変数: ShortName
冗長なブロードキャスト エンコーダ プラグインの短い名称です。
タグの構文
<Var ShortName="Encoder Name"/>
|
有効値
pn-redundant - 冗長なブロードキャスト エンコーダ プラグイン
例
<Var ShortName="pn-redundant"/>
|
変数: MountPoint
冗長なコンテンツへのリンクに使用するマウント ポイントです。
タグの構文
<Var MountPoint="Mount Point"/>
|
有効値
/redundant/ - 冗長なブロードキャスト エンコーダ プラグイン
例
<Var MountPoint="/redundant/"/>
|
リスト: RealSystem Broadcast Redundancy Plugin
エンコーダ冗長性に関する設定全般を含むリストです。このリストを修正して、メディア エンコーダを使用したエンコーダ冗長性の動作を変更できます。
<List Name="RealSystem Broadcast Redundancy Plugin">
...variables for modifying broadcast redundancy </List>
|
レジストリ値
config.RealSystem Broadcast Redundancy Plugin
|
例
<List Name="RealSystem Broadcast Redundancy Plugin"> ... </List>
|
変数: Enabled
冗長ブロードキャスト機能を有効にします (0 に設定すると機能を無効にします)。
タグの構文
有効値
0 - 冗長ブロードキャスト機能を無効にします
1 - 冗長ブロードキャスト機能を有効にします
False - 冗長ブロードキャスト機能を無効にします
True - 冗長ブロードキャスト機能を有効にします
例
変数: SeparatorCharacter
Helix Universal Server が各ソースを使用する順序を指定するため、ソース内で使用する区切り文字です。デフォルトはピリオド ( . ) です。オプションとして、一重引用符 ( ' )、チルダ ( ~ )、またはカラット ( ^ ) を使用できます。区切り文字として、UNIX シェルで最も拡張性の高い「ピリオド」の使用をお勧めします。
タグの構文
<Var SeparatorCharacter="Delimiter"/>
|
有効値
例
<Var SeparatorCharacter="."/>
|
変数: LiveSourceTimeout
1 つのソースが使用できなくなった場合に、Helix Universal Server が次のソースへ切り替えるまでの秒数です。
タグの構文
<Var LiveSourceTimeout="integer"/>
|
有効値
integer - 0 〜 30 の秒数 (デフォルトは 2 秒です)
例
<Var LiveSourceTimeout="2"/>
|
変数: Reconnect
プライマリ ストリームが使用できなくなった場合に、RealOne Player または RealPlayer 8 を使用するユーザにどのようにバックアップ ストリームを受信させるかを指定します。Auto を選択すると、RealNetworks Server はすべてのクライアントを次に利用可能なソースに切り替えます。Manual を選択すると、プレーヤーは ErrorMessage 変数で定義されているメッセージを表示します。新しいストリームに切り替えるには、[Play (再生)] ボタンをクリックする必要があります。
 |
備考:
RealPlayer 8 より前の RealPlayer のバージョンを使用している場合、従来の PNA プロトコルでブロードキャストを受信する場合、あるいは Windows Media Player や QuickTime Player などのほかのメディア プレーヤーを使用している場合、Reconnect 変数の設定に関係なく、ユーザは手動で再接続する必要があります。
|
タグの構文
<Var Reconnect="Selection"/>
|
有効値
Auto - 次に使用可能なソースに自動的に切り替えます
Manual - エラー メッセージを表示して、プレーヤーからの応答を待ちます
例
変数: ErrorMessage
1 つのソースがブロードキャストを停止した場合に表示されるエラー メッセージのテキストです。このエラー メッセージは Reconnect 変数が Manual に設定されている場合のみ表示されます。
メッセージが表示されると、新しいストリームに切り替えるには、ユーザが [Play (再生)] ボタンをクリックする必要があります。エラー メッセージには、新しいストリームへの接続方法を説明する内容を含めてください。
タグの構文
<Var ErrorMessage="string"/>
|
有効値
string - 1 つのソースがブロードキャストを停止した場合に表示するメッセージ
例
<Var ErrorMessage="Broadcast timed out; click the Play button to restart."/>
|
サーバの代用
Helix Universal Server の代用機能を使用すると、ストリーミング メディア コンテンツの配信に新たなレベルの冗長性を持たせることができます。デフォルトでは、RealOne Player と Helix Universal Server の間の RTSP 接続が切断されると、RealOne Player が Helix Universal Server に再接続するまで顧客はコンテンツにアクセスできません。ただし、使用できない Helix Universal Server の代わりに別のサーバが指定されている場合は、RealOne Player はそうした代用サーバにも接続を試みてストリームを配信しようとします。
Helix Universal Server の代用サーバは、設定ファイル rmserver.cfg の ServerAlternates リストで XML 変数を使用して指定します。変数には各代用サーバのホスト名とポートを設定します。1 つの Helix Universal Server に対して、代用サーバはいくつでも指定できます。
冗長サーバを設定するには、3 つの原則があります。各サーバで同じコンテンツが使用できること、各サーバで冗長サーバのリストを定義すること、冗長サーバを使用するときを定めたルールを作成することです。ServerAlternates リストで冗長サーバのリストと、冗長サーバを使用する場合のルールを定義します。
 |
詳細情報 :
代用サーバの詳細については、『Helix Universal Server アドミニストレーション ガイド』の第 6 章「複数のサーバ」を参照してください。
|
下位互換性
ServerAlternates リストは Helix Universal Server のバージョン 9.0 以降でのみサポートされていますが、RealOne Player の再接続機能自体はそれ以前のバージョンでも使用可能です。
依存関係
冗長サーバ機能は、リアルタイムでフェイルオーバー保護を提供する、Helix Universal Server の代替配信オプションです。サーバ設定ファイル内の他のリストまたは変数には依存していません。
サンプル
次のサンプルは、Helix Universal Server に対して 2 つの代用サーバを指定する方法を示しています。
<List Name="ServerAlternates"> <List Name="Alternates"> <List Name="Alternate_1"> <Var Host="main.rbn.com"/> <Var Port="554"/> </List> <List Name="Alternate_2"> <Var Host="home.rbn.com"/> <Var Port="554"/> </List> </List> <List Name="RedirectRules"> <List Name="100"> <Var Rule="/path/1"/> <List Name="Alternates"> <Var 100="Alternate_1"/> <Var 200="Alternate_2"/> </List> </List> <List Name="200"> <Var Rule="/path/2"/> </List> </List> <List Name="ExcludePaths"> <Var Path_1="/path1/"/> <Var Path_2="/path2/"/> </List> </List>
|
リスト: ServerAlternates
これは設定ファイル内に代用サーバが記述されていることを指定する最上位レベルのリスト タグです。
<List Name="ServerAlternates"> ...list of designated alternate servers... </List>
|
レジストリ値
例
<List Name="ServerAlternates"> ... </List>
|
リスト: Alternates
Alternates リストには、代用サーバのリストを記述します。記述される各代用サーバもリストになります。
<List Name="ServerAlternates"> <List Name="Alternates">
...designated alternate server lists... </List> </List>
|
レジストリ値
config.ServerAlternates.Alternates
|
例
<List Name="Alternates"> ... </List>
|
リスト: Alternate Name
このリストでは Helix Universal Server の代用サーバを定義します。リストには一意であれば任意の名前を指定できます。Helix Universal Server が使用できなくなった場合、RealOne Player は最初に指定されている代用サーバから順に接続を試みます。
<List Name="ServerAlternates"> <List Name="Alternates">
<List Name="Alternate Name"> ...variables that define the alternate server... </List> ...other designated alternate server lists... </List> </List>
|
レジストリ値
config.ServerAlternates.Alternates.Alternate Name
|
例
<List Name="Alternate_1"> ... </List>
|
変数: Host
この変数では指定する代用サーバのホスト名を設定します。
タグの構文
<Var Host="Destination"/>
|
有効値
Name - 代用サーバの DNS ホスト名
###.###.###.### - 代用サーバの IP アドレス
例
<Var Host="205.23.5.108"/>
|
変数: Port
この変数では、指定した代用サーバへの接続に使用される RTSP ポートの番号を設定します。
タグの構文
有効値
554 - デフォルトの RTSP 接続用データ チャネル
例
リスト: RedirectRules
フェイルオーバーで使用するサーバのリストを定義します。
<List Name="ServerAlternates"> <List Name="RedirectRules">
...list of server redirect rules... </List> </List>
|
レジストリ値
config.ServerAlternates.RedirectRules
|
例
<List Name="RedirectRules"> ... </List>
|
リスト: Rule Number
このリストでは、リダイレクト ルールのセットに対する番号を指定します。
<List Name="ServerAlternates"> <List Name="RedirectRules"> <List Name="Rule Number">
...list of server redirect rules... </List> </List> </List>
|
レジストリ値
config.ServerAlternates.RedirectRules.Rule Number
|
例
<List Name="100"> ... </List>
|
変数: Rule
このルールに基づいて配信されるコンテンツのサーバ上のパスまたはマウント ポイントです。サーバにすべてのコンテンツを配信させる場合は、この変数の値としてメインのコンテンツ マウント ポイント ( / ) を設定します。
タグの構文
有効値
Path - コンテンツのマウント ポイントまたはパス
例
リスト: Alternates
このルールに基づいて配信されるコンテンツのフェイルオーバー サーバとして機能するサーバのリストです。リストには、すでに Alternatesリスト (代用サーバの DNS 名または IP アドレスおよびポートが記述された最初の Alternates リストを指します) で定義されているサーバを 1 つ以上記述します。
<List Name="ServerAlternates"> <List Name="RedirectRules"> <List Name="Rule Number"> <List Name="Alternates">
...list of alternate servers... </List> </List> </List> </List>
|
レジストリ値
config.ServerAlternates.RedirectRules.Rule Number.Alternates
|
例
<List Name="Alternates"> ... </List>
|
変数: Number
このルールに基づいて配信されるコンテンツのフェイルオーバー サーバとして機能する各代用サーバは、変数名に番号を使用してリストされます。この変数の値は、Alternate Name リストで定義されたサーバの名前です。
タグの構文
<Var Number="Alternate Server"/>
|
有効値
Alternate Server - フェイルオーバー サーバとして機能する代用サーバの名前
例
リスト: ExcludePaths
サーバ上でコンテンツの配信を禁止するパスのセットを定義します。
<List Name="ServerAlternates"> <List Name="ExcludePaths">
...list of server paths to exclude... </List> </List>
|
レジストリ値
config.ServerAlternates.ExcludePaths
|
例
<List Name="ExcludePaths"> ... </List>
|
変数: Path_X
除外したいコンテンツのパスまたはマウント ポイントです。
タグの構文
<Var Path_X="Server Path"/>
|
有効値
Server Path - コンテンツを除外するパス
例
|
© 2002 RealNetworks, Inc. All rights reserved.
詳細については、RealNetworks を参照してください。
画面左側に目次フレームが表示されない場合は、ここをクリックしてください。
|