TOPへ
ソース一覧
利用許諾
FAQ
お問い合わせ
関連資料

ファイル転送サービスプログラム

概要

編集用グリッドクライアントから要求があったカットの転送をおこなうファイル転送サービスのソースコードです。ファイル転送サービスは、分散ファイルシステムを構成するファイルサーバのうち、素材ファイルを保存するファイルサーバから、編集されている番組(完成番組)のファイルを保存するサーバに、要求された映像カット(フレームデータ)の転送をおこないます。ファイル転送サービス内のファイル転送エージェントは、ファイルの所在先の探索や各ファイルサーバへの転送要求をおこないます。

ダウンロード

ファイル転送サービスプログラムのソースコードのソースコードは、ここからダウンロードしてください。

動作環境

下記の環境で動作確認しています。

コンパイル、インストール

Globus Toolkitとウェブ編集用グリッドミドルウェアプログラムがインストールされている必要があります。ここではファイル転送サービスと映像処理サービスは、異なるホストにインストールすることを前提に説明します。
ダウンロードしたソースコード(nhkgrid_transfer.tar.gz)をウェブ編集用グリッドミドルウェアの設定で指定したディレクトリで展開します。ここでは、サービスを起動するユーザ名をgtuserとして説明します。

gtuser% tar xvfz nhkgrid_transfer.tar.gz

1) ファイル転送サービスのインストール

globusユーザになり、globusユーザのホームディレクトリでgpt-buildを用いてnhkgrid/src/trans-bindingsディレクトリの下にあるtrans_bindings-3.29.tar.gzをインストールして下さい。

globus% $GLOBUS_LOCATION/sbin/gpt-build $NHK_GRID_LOCATION/src/trans-bindings/trans_bindings-3.29.tar.gz $GPT_FLAVOR

2) ファイル転送エージェントのインストール

ソースはnhkgrid/src/transagentディレクトリ下にあります。makeし、nhkgird/binディレクトリ下にコピーしてください。nhkgirdディレクトリ下にbinディレクトリがない場合は、ディレクトリを作成してください。

gtuser% make
gtuser% cp transagent ../../bin

設定

1) プロセスリストの設定

各サービスの内容を記述し設定します。ここで用いるファイルはソースのnhkgrid/setup以下にあるサンプルを参考にしてください。

nhkgrid/setup/processlistディレクトリ下にあるgrid-process-list.xmlをサービスにあわせて変更し、nhkgridディレクトリ直下にコピーしてください。hostname属性はホスト自身のホスト名を記述します。同一ホスト上ですでに映像処理サービスをインストールしている場合は、同じ設定ファイルですので再度コピーはおこなわず、下記の記述を追加してください。

<nhk-grid-process-list:process>タグ内にはホストで実行するプロセスを記述します。ファイル転送サービスなので「transterm」と記述します。

<?xml version="1.0" encoding="UTF-8"?>
<nhk-grid-process-list:process-list hostname="transfer01.strl.nhk.or.jp" xmlns:nhk-grid-process-list="http://nhk.or.jp/nhk-grid-process-list">
  <nhk-grid-process-list:process>transterm</nhk-grid-process-list:process>
</nhk-grid-process-list:process-list>

$GLOBUS_LOCATION/libexec/aggrexec/nhk-process-list.shとして下記のようなスクリプトを作成します。所有者はglobus、アクセス権限は755です。

#!/bin/bash
source /etc/profile
cat $NHK_GRID_LOCATION/grid-process-list.xml

$GLOBUS_LOCATION/etc/globus_wsrf_mds_index/jndi-config.xmlを変更します。52行目から55行目のコメントアウトしてある部分を変更します。

nhk-list-registration.xmlを$GLOBUS_LOCATION/etc/globus_wsrf_mds_aggregatorディレクトリの下に置きます。<wsa:Address>タグの2ヶ所の要素に記述されているURLのホスト名を、サービスを起動するホスト自身のホスト名に変更してください。
grid-list-startを/home/gtuserディレクトリの下に.grid-list-startとしてコピーします。所有者はgtuser、アクセス権限は700です。
nhk-list-providerを/etc/init.dディレクトリ下にコピーします(ディレクトリはLinuxのディストリビューションによって異なる可能性があります)。所有者はroot、アクセス権限は755です。自動起動の登録と起動をおこないます。起動後、WS-Javaコンテナを再起動してください。これらの作業はルート権限でおこなってください。

root# chkconfig --add nhk-list-provider
root# chkconfig nhk-list-provider on
root# service nhk-list-provider start

2) WS-Cコンテナの設定

サービスをインストールした後、WS-Cコンテナを設定し起動します。同一ホスト上ですでに他のサービスをインストールしている場合は、この設定は共通なので、再度この設定を行う必要はありません。
nhkgrid/setupディレクトリ下にあるglobus-ws-c-containerを$GLOBUS_LOCATION/etc/init.dディレクトリ下にコピーします。環境にあわせてファイルの内容を修正してください。ファイルの所有者はglobus、アクセス権限は755です。
nhkgrid/setupディレクトリ下にあるgrid-ws-c-containerをルート権限で/etc/init.dディレクトリ下にコピーします(ディレクトリはLinuxのディストリビューションによって異なる可能性があります)。ファイルの所有者はroot、アクセス権限は755です。自動起動の登録をおこなってください。

root# chkconfig --add grid-ws-c-container
root# chkconfig grid-ws-c-container on

ファイル転送サービスの起動

WS-Cコンテナを起動させてください。ルート権限でおこなってください。

root# service grid-ws-c-container start

また、ファイル転送をおこなう際に、転送する番組素材ファイルが、どのファイルサーバに保存されているかを知るため、tapサーバを起動します。以下のコマンドを実行してください。ファイルサーバの名前およびポート番号は環境にあわせて変更してください。tapサーバが作業用に用いるディレクトリは$NHK_GRID_LOCATION/tmpです。例えば、分散ファイルシステムですでに起動しているファイルサーバのホスト名がfileserver1、ポート番号が9000の場合、起動コマンドは以下のようになります。

gtuser% tap_svr -p 11000 -h fileserver1:9000
gtuser% tap_kvd -p 11001 -h fileserver1:9000 -d /home/gtuser/nhkgrid/tmp -i

商標

NovellならびにSUSEはNovell, Inc.の登録商標です。
LinuxはLinus Torvals氏の登録商標です。
Globus Toolkitはシカゴ大学の商標です。