第 13 章 コンテンツ キャッシュ
コンテンツ キャッシュ機能は、オンデマンド コンテンツをネットワークを通じて配信するために使用します。クライアントは、サブスクライバにオンデマンド コンテンツを要求します。サブスクライバのキャッシュにファイルがない場合は、Publisher にファイルを要求します。
依存関係
ここで定義する変数に加えて、コンテンツ キャッシュは次の機能に依存しています。
- 認証機能。コンテンツ キャッシュを動作させるには認証が必要です。設定の途中で、デフォルトのレルムとデータベースが作成されます。この機能は Publisher で使用します。
コンテンツ キャッシュのサンプル
<List Name="FSMount"> ...additional fsmount information... <List Name="RealSystem Content"> <Var ShortName="pn-local"/> <Var MountPoint="/"/> <Var BasePath="/home/user/HelixServer/Content"/> <Var UseContentDistribution="True"/>
</List>
<!-- Local File System; Cached Media Files --> <List Name="RealSystem Cache Filesystem"> <Var ShortName="pn-mii-mgr"/> <Var MountPoint="/cachemgr/"/> <Var CacheShortName="rn-cache"/> </List>
<List Name="RNCache Local File System"> <Var ShortName="pn-local"/> <Var MountPoint="/fsforcache/"/> <Var BasePath="/home/user/HelixServer/Cache"/> </List> ...additional fsmount information... </List>
<!-- M E D I A C A C H E --> <List Name="RNCache"> <Var Enabled="1"/> <Var MaxCacheSizeMB="1000"/> <Var CacheMountPoint="/fsforcache/"/> </List>
<!-- M E D I A E X P O R T & C A C H E A C C E S S --> <Var TSPort="7802"/> <Var TSEnable="1"/> <Var TSLog="1"/> <Var TSLogPath="/home/user/HelixServer/cache.log"/>
<List Name="MediaExportInterface"> <Var ListenPort="7878"/> <Var LoggingEnabled="1"/> <Var LogFile="/home/user/HelixServer/Logs/cache.log"/> <Var Enabled="1"/> <Var MinMIIVersionAllowed="1.0"/>
<Var ContentPublisher="1"/> <Var AuthenticationRealm="ContentDistributionRealm"/>
</List>
<!-- C O N T E N T S U B S C R I P T I O N --> <List Name="ContentSubscription"> <Var Enabled='1'/> <List Name="Publishers"> <List Name="MyPrimaryPublisher"> <Var Host="205.23.5.108"/> <Var Port="7878"/> <Var UserName="username"/> <Var Password="password"/> </List> <List Name="MySecondaryPublisher"> <Var Host="fileserver.espn.com"/> <Var Port="7878"/> <Var UserName="username"/> <Var Password="password"/> </List> </List> <List Name="Rules"> <List Name="100"> <Var EnableRule="1"/> <Var Rule="*.real.com"/> <List Name="Publishers"> <Var 100="MyPrimaryPublisher"/> <Var 200="MySecondaryPublisher"/> </List> </List> <List Name="200"> <Var EnableRule="1"/> <Var Rule="*.cp.com"/> <List Name="Publishers"> <Var 100="MyPrimaryPublisher"/> </List> </List> <List Name="300"> <Var EnableRule="1"/> <Var Rule="/demand/sports/*"/> <List Name="Publishers"> <Var 100="MyPrimaryPublisher"/> </List> </List </List> </List>
|
変数: UseContentDistribution
UseContentDistribution を使用して、Helix Universal Server がコンテンツ キャッシュのためにモニタするマウント ポイントを定義します。この変数は Publisher およびサブスクライバで使用します。
 |
警告 !
この変数は、コンテンツ キャッシュを使用する、オンデマンド ストリーミングのマウント ポイントを定義するリストに必ず含めてください。
|
タグの構文
<Var UseContentDistribution="boolean"/>
|
有効値
例
<List Name="FSMount"> ...additional fsmount information... <List Name="RealSystem Content"> <Var ShortName="pn-local"/> <Var MountPoint="/"/> <Var BasePath="/home/user/HelixServer/Content"/>
<Var UseContentDistribution="True"/>
</List> ...additional fsmount information... </List>
|
変数: ContentPublisher
ContentPublisher 変数は値に true を設定して使用します。この変数は Publisher の MediaExportInterface リスト内に記述します。
 |
警告 !
この変数は MediaExportInterface リスト内に必ず含めてください。MediaExportInterface リストは Helix Universal Server がメディア キャッシュを使用する方法を定義します。
|
タグの構文
<Var ContentPublisher="boolean"/>
|
有効値
例
<List Name="MediaExportInterface"> <Var ListenPort="7878"/> <Var LoggingEnabled="True"/> <Var LogFile="/HelixServer/Logs/cache.log"/> <Var Enabled="true"/> <Var MinMIIVersionAllowed="1.0"/>
<Var ContentPublisher="True"/>
<Var AuthenticationRealm="ContentDistributionRealm"/> </List>
|
変数: AuthenticationRealm
AuthenticationRealm を使用して、コンテンツ キャッシュの認証レルムを指定します。この変数は、Publisher の MediaExportInterface リスト内に記述します。
 |
警告 !
この変数は MediaExportInterface リスト内に必ず含めてください。MediaExportInterface リストは Helix Universal Server がメディア キャッシュを使用する方法を定義します。
|
タグの構文
<Var AuthenticationRealm="string"/>
|
有効値
例
<List Name="MediaExportInterface"> <Var ListenPort="7878"/> <Var LoggingEnabled="True"/> <Var LogFile="/HelixServer/Logs/cache.log"/> <Var Enabled="true"/> <Var MinMIIVersionAllowed="1.0"/> <Var ContentPublisher="True"/>
<Var AuthenticationRealm="ContentDistributionRealm"/>
</List>
|
リスト: RealSystem Cache Filesystem
キャッシュの管理に使用されるファイル システムです。このリストは Publisher およびサブスクライバの両方で設定します。
<List Name="FSMount"> <List Name="RealSystem Cache Filesystem"> ... additional content caching information... </List> </List>
|
レジストリ値
config.FSMount.RealSystem Cache Filesystem
|
例
<List Name="RealSystem Cache Filesystem"> ... </List>
|
変数: CacheShortName
CacheShortName 変数は値に rn-cache を設定して使用します。
タグの構文
<Var CacheShortName="rn-cache"/>
|
有効値
例
<Var CacheShortName="rn-cache"/>
|
変数: MountPoint
内部リソースとして使用されるマウント ポイントを指定します。
タグの構文
<Var MountPoint="string"/>
|
有効値
例
<Var MountPoint="/cachemgr/"/>
|
変数: ShortName
ShortName 変数の値に pn-mii-mgr を設定して、キャッシュ ファイル システム管理のために使用します。
タグの構文
<Var ShortName="pn-mii-mgr"/>
|
有効値
例
<Var ShortName="pn-mii-mgr"/>
|
リスト: RNCache Local File System
ローカル ファイル システムとキャッシュ管理に使用されるファイル システムとの接点です。このリストは Publisher およびサブスクライバの両方で設定します。
<List Name="FSMount"> <List Name="RNCache Local File System"> ... additional content caching information... </List> </List>
|
レジストリ値
config.FSMount.RNCache Local File System
|
例
<List Name="RNCache Local File System"> ... </List>
|
変数: BasePath
BasePath 変数を使用して、キャッシュを保存するディスク上の場所を指定します。
タグの構文
有効値
- このリストで定義するキャッシュを指すパスを使用します。
例
<Var BasePath="/home/user/HelixServer/Cache"/>
|
変数: MountPoint
内部リソースとして使用されるマウント ポイントを指定します。
タグの構文
<Var MountPoint="string"/>
|
有効値
例
<Var MountPoint="/fsforcache/"/>
|
変数: ShortName
ShortName 変数の値として pn-local を設定して使用します。
タグの構文
<Var ShortName="pn-local"/>
|
有効値
例
<Var ShortName="pn-local"/>
|
リスト: RNCache
RNCache リストは、キャッシュの特性を定義するために使用します。このリストは Publisher およびサブスクライバの両方で設定します。
<List Name="RNCache"> ...additional cache information... </List>
|
レジストリ値
例
<List Name="RNCache"> ... </List>
|
変数: CacheMountPoint
内部リソースとして使用されるマウント ポイントを指定します。
タグの構文
<Var CacheMountPoint="string"/>
|
有効値
例
<Var CacheMountPoint="/fsforcache/"/>
|
変数: Enabled
Enabled 変数を使用して、Publisher のキャッシュ サービスを有効にします。
タグの構文
有効値
例
変数: MaxCacheSizeMB
MaxCacheSizeMB 変数を使用して、キャッシュの最大サイズをメガバイト単位で設定します。
タグの構文
<Var MaxCacheSizeMB="string"/>
|
有効値
- キャッシュの最大サイズを表す、メガバイト単位の整数を使用します。
例
<Var MaxCacheSizeMB="1000"/>
|
リスト: ContentSubscription
ContentSubscription リストはサブスクライバの設定に使用します。このリストは、サブスクライバが Publisher に関する情報を保存する場所です。情報には、認証に必要なユーザ名およびパスワードに加え、Publisher のアドレスがあります。また、サブスクライバが Publisher からのコンテンツを探す際の順序を設定できます。
<List Name="ContentSubscription"> ...additional content caching information... </List>
|
レジストリ値
config.ContentSubscription
|
例
<List Name="ContentSubscription"> ... </List>
|
変数: Enabled
Enabled 変数を使用して、Helix Universal Server 上のサブスクリプション サービスを有効にします。
タグの構文
有効値
例
リスト: Publishers
Publishers リストには、サブスクライバが使用できるすべての Publisher と、各 Publisher に関する具体的な情報のリストが含まれます。
<List Name="ContentSubscription"> <List Name="Publishers"> ...additional content caching information... </List> </List>
|
レジストリ値
config.ContentSubscription.Publishers
|
例
<List Name="Publishers"> ... </List>
|
リスト: String
このリストには、このサブスクライバに対する Publisher についての情報が含まれます。必要であれば、いくつでも Publisher を使用できます。各リストには固有の名前を付けてください。
<List Name="ContentSubscription"> <List Name="Publishers"> <List Name="string"> ...additional content caching information... </List> </List> </List>
|
レジストリ値
config.ContentSubscription.Publishers.string
|
例
<List Name="MyPrimaryPublisher"> ... </List>
|
変数: Host
プライマリ Publisher のアドレスです。
タグの構文
有効値
例
<Var Host="205.23.5.108"/>
|
変数: Port
Publisher がキャッシュにあるコンテンツに対する要求をリッスンするポートです。
タグの構文
有効値
- Publisher のポート番号 (デフォルト値は554)
例
変数: UserName
Publisher のコンテンツ配信で使用されるレルムに含まれるユーザ名です。
タグの構文
有効値
例
<Var UserName="JohnDoe"/>
|
変数: Password
UserName 変数で指定したユーザ名に対応するパスワードです。
タグの構文
有効値
例
<Var Password="password"/>
|
リスト: Rules
Rules リストにより、ネットワークでコンテンツを配信する方法に関するルールの作成および解析が可能になります。
<List Name="ContentSubscription"> <List Name="Rules"> ...additional content caching rules information... </List> </List>
|
レジストリ値
config.ContentSubscription.Rules
|
例
<List Name="Rules"> ... </List>
|
リスト: Integer
このリストでは、ルールを作成するための固有の整数を使用します。Helix Universal Server はルールを番号順に解析します。ルールは、いくつでも作成できます。
<List Name="ContentSubscription"> <List Name="Rules"> <List Name="100"> ...additional content caching rules information... </List> </List> </List>
|
レジストリ値
config.ContentSubscription.Rules.integer
|
例
<List Name="100"> ... </List>
|
変数: EnableRule
EnableRule 変数の値を true に設定すると、ルールがサーバにより解析されます。
タグの構文
<Var EnableRule="boolean"/>
|
有効値
例
変数: Rule
Rule 変数を使用して、URL に記述される文字列を定義します。Helix Universal Server は URL を受信すると、ルールを適用するかどうかを決める文字列を検索します。文字列が見つかり、要求されたコンテンツがサブスクライバのキャッシュにない場合には、ルールに対応する Publisher リストで指定されている Publisher にファイルを要求します。
タグの構文
有効値
*.example.com
/sports/
example_file.rm
*.example.com/sports/*_file.rm
 |
備考:
アスタリスク (*) はワイルドカードとして使用します。
|
例
<Var Rule="*.example.com"/>
|
リスト: Publishers
Publishers リストには、このルールに対応する Publisher のみを記述します。
<List Name="ContentSubscription"> <List Name="Rules"> <List Name="100"> <List Name="Publishers"> ...additional content caching rules information... </List> </List> </List> </List>
|
レジストリ値
config.ContentSubscription.Rules.integer.Publishers
|
例
<List Name="Publishers"> ... </List>
|
変数: Integer
整数と config.ContentSubscription.Publisher.string リストで定義されている Publisher のうち 1 つを設定します。Helix Universal Server は、この変数を番号順に解析します。
タグの構文
有効値
このHelix Universal Server のレジストリ値 config.ContentSubscription.Publisher.string で定義されている任意の Publisher を使用します。string は Publisher を定義するリストに記述されている名前です。
上述の リスト: String を参照してください。
例
<Var 100="MyPrimaryPublisher"/>
|
変数: TSEnable
TSEnable 変数の値をtrue に設定すると、メディア キャッシュの要求を許可し、Helix Universal Server がストリームするコンテンツをキャッシュします。この変数は Publisher とサブスクライバの両方で設定します。
タグの構文
<Var TSEnable="boolean"/>
|
有効値
例
変数: TSLog
TSLog 変数の値をtrue に設定すると、メディア キャッシュによる要求のログを作成します。この変数は Publisher とサブスクライバの両方で設定します。
タグの構文
有効値
例
変数: TSLogPath
TSLogPath を使用して、ディスク上のキャッシュ ログの場所を指定します。この変数は Publisher とサブスクライバの両方で設定します。
タグの構文
<Var TSlogPath="string"/>
|
有効値
- このリストで定義するログ ファイルを指すパスを使用します。
例
<Var TSLogPath="/home/user/HelixServer/log/cache.log"/>
|
変数: TSPort
TSPort を使用して、メディア キャッシュが Helix Universal Server に要求を送信するポート番号を定義します。この変数は、メディア キャッシュからの要求を拒否したい場合を除いて、変更しないでください。この変数は Publisher とサブスクライバの両方で設定します。
タグの構文
<Var TSPort="portnumber"/>
|
有効値
例
|
© 2002 RealNetworks, Inc. All rights reserved.
詳細については、RealNetworks を参照してください。
画面左側に目次フレームが表示されない場合は、ここをクリックしてください。
|