For Web Service developpers

=Webサービス開発者のための遺伝研スーパーコンピュータの利用方法= 第１版 2012年2月21日 第1.1版　2012年2月23日 国立遺伝学研究所　小笠原理

文書の目的
Webサービス開発者に対して、
 * 1) (1)	遺伝研スーパーコンピュータの利用方法を説明すること
 * 2) (2)	サービス提供にあたって遺伝研との間で必要な合意事項を述べること


 * 用語
 * スパコン: 2012年3月1日より稼働する、DDBJスーパーコンピューターシステムを示す.
 * スパコン管理者:DDBJ所属のスパコン運用担当者及びスパコンの運用を担当する株式会社日立製作所のDDBJ常駐SEとする.
 * Webサービス管理責任者: Webサービスの提供内容およびデータのバックアップやセキュリティパッチ、サイトポリシーの管理等について責任を負う者とする.

要約
qsub –N [Webサービス名]_[プログラム名称]_[Webサービスのユーザー名] [シェルスクリプト名] (Webサービスがユーザー管理を必要としない場合は、_[Webサービスのユーザー名]の部分は省略すること. )
 * 1) (1)	Webサービスがユーザー管理を必要とする場合、スパコン管理者が用意するLDAPを用いること.
 * 2) (2)	Webサービスがジョブ管理システムを必要とする場合、スパコン管理者が用意するUniva Grid Engineを用いること. その際にはスパコン管理者が指定する書式でログに情報が残るように以下のようにコマンドライン引数を指定すること.

以下、要約に関する補足説明.

 * 1) 1	初回導入(2012.3.9～2014.2月末)の時点でWebサービスから利用できるリソースは
 * 2) thin node (64GB memory) 252ノード(合計4032コア)
 * 3) medium node (2TB memory) 2ノード(合計 160コア)
 * 4) fat node (10TB memory)   1ノード (768コア)
 * 5) 高速ハードディスク          Lustre file system 1PBファイルシステム×2
 * 6) 省電力ハードディスク(MAID) ZFS 3PB
 * 7) 2	WebサービスにはBLASTのようにユーザー管理が必要ないサービスと、大規模解析パイプラインのようにユーザー管理を必要とするサービスがあると想定される. ユーザー管理を必要とするWebサービスでは、ユーザーアカウントの発行や情報管理自体はスパコン管理者がLDAPにて行うので、Webサービス管理責任者はスパコン管理者が提供するLDAPを用いてユーザー管理を行うこと.
 * 8) 3	Webサービス管理責任者に関係するスパコンユーザー種別は、webサービスユーザー、スパコン大規模ユーザーの２種類である. Webサービスユーザーアカウントはスパコン管理者が管理しアカウントは即時発行される. スパコンユーザーには２種類あり、小規模ユーザーは同時ジョブ実行数100, 利用可能ディスクサイズ1TBである. 大規模ユーザーについては、同時ジョブ実行数、利用可能ディスクサイズとも現在のところ上限を設けない方針である. スパコン小規模ユーザー、大規模ユーザーともアカウント情報は郵送にて送られる.
 * 9) 4	スパコン上からWebサービスを公開する場合はWebサービス管理責任者を置くこと.
 * 10) 5	データのバックアップはスパコン管理者側でも一定の作業行うが、データの保証はできないので、Webサービス管理責任者の責任でスパコンの外にバックアップを取るなどの措置をとること.
 * 11) 6	基本的なソフトウェアはスパコン管理者がインストールする. 特殊なものはWebサービス管理責任者が$HOMEディレクトリ以下にインストールする. その際は両者で協議すること.
 * 12) 7	ルート権限はスパコン管理者のみが持ちApache httpdサーバーやtomcatサーバーの起動・停止はスパコン管理者が行う. Webサービス自体の起動・停止・死活確認などはWebサービス管理責任者が行う.
 * 13) 8	ジョブはUniva Grid Engineを介してシステムに投入する. 、web_month.q、web_week.qの二種類があり、それぞれ最大２週間、最大１か月ジョブを実行する. それを超えるとジョブは強制的に停止される. （このキュー構成は利用状況に応じて変更されることがある. ）
 * 14) 9	Webサービスの利用状況のログをスパコン管理者が取得できるように、スパコン管理者が指定する以下の書式でジョブ名を付けること.
 * 15) *qsub –N [Webサービス名]_[プログラム名称]_[Webサービスのユーザー名※1] [シェルスクリプト名]
 * ※1: Webサービス内でユーザー管理を行なっている場合に付与する.
 * 1) 10	個々のWebサービスのサイトポリシーについてはWebサービス管理責任者が定めること.
 * 2) 11	Webサービスの著作権は、新規開発のものに関しては基本的にDDBJ側にあるものとする. DDBJはソースコードをLGPL等で公開することを予定している. 受注業者独自のアルゴリズムを含むなど知的所有権を主張する部分がある場合には、その部分をモジュール化して切り離し可能になるように作成すること（そのモジュールが無くてもシステムとしてはコンパイル、動作可能とすること）. 既にほかの契約のもとで開発が進められてきたものについては以前の契約を尊重する.
 * 3) 12	Webサービス管理責任者は、特別な理由がない限りJava, C, PHP等なるべく広く用いられているコンピュータ言語を用いることが望ましい. また、Apache Maven, automake/autoconf/libtoolなど指定するプロジェクト管理方式を利用することが望ましい. またこれら以外の言語については適切なプロジェクト管理方式を提案することが望ましい.

ハードウェア
	Thin計算ノード 	CPU: 合計16コア/1ノード x 352台 	メモリ: 64GB/1ノード 	Medium計算ノード基本スペック 	CPU: Xeon E7-4870 (2.40GHz) x 8ソケット =合計80コア/1ノード x 2台 	メモリ: 2TB/1ノード 	Fat計算ノード基本スペック 	CPU: Xeon E7-8837 x96ソケット = 合計768コア/1ノード x 1台 	メモリ: 10TB/1ノード 	大容量外部記憶装置高速領域 	容量: 2PB (1PB/1ファイルシステム) 	ファイルシステム: Lustre (POSIX準拠) 	用途: WebサービスのDocumentRoot、Webサービス用ユーザーアカウントのホームディレクトリ 	アクセス速度: 1クライアントあたり、約3GB/sec、ファイルシステムあたり30GB/sec 	大容量外部記憶装置省電力領域 	容量: 3PB (250TB x6、500TB x3、125TB x1) 	ファイルシステム: NFS (NFSサーバはZFSをエキスポート) 	用途: Webサービス用ユーザーアカウントのホームディレクトリ上のbackup/以下のバックアップ’(スパコン管理者が実施)、DDBJの主要業務用 	アクセス速度 : 1クライアントあたり、約300MB/sec

＊Lustre file systemはext3相当のファイルシステムであるので、１ディレクトリあたりのファイル数を2000～3000程度以上にならないよう留意するなど、ファイルシステムの限界について十分留意すること. ファイルシステムを破壊するとほかの全ユーザーに影響が出る.

ソフトウェア
名称 	バージョン Apache:	2.2系列の最新版とする. PHP:	5系列の最新版とする. Tomcat:	6系列の最新版とする. MySQL:	5系列の最新版とする. PostgreSQL:	8系列の最新版とする. Java:	1.6系列の最新版とする. Perl:	5系列の最新版とする. Ruby:	1.9系列の最新版とする.
 * 1) 脆弱性対応の迅速化、作業効率の向上を目的に、Webサービスが利用する主要なソフトウェアはスパコン管理者のみが管理するものとする. Webサービス管理責任者はスパコン管理者が整備するソフトウェアを他のユーザーと共用する形となる. （特殊なソフトウェアについてはWebサービス管理責任者が$HOMEディレクトリ以下にインストールして構わないが、スパコン管理者と相談すること. ）
 * 2) スパコン管理者が管理する代表的なソフトウェアは以下の通り.
 * 1) PCERT等より、上述ソフトウェアの脆弱性報告がなされ、配布元が対策版を公開した際は、スパコン管理者が直ちにバージョンアップを行う. スパコン管理者は、バージョンアップ時のWebサービス停止時間を最短とするよう配慮するが、脆弱性対応を優先するものとし、サービス停止が発生する場合でもバージョンアップを行う.
 * 2) ソフトウェア配布元において、メジャーバージョンアップが行われ、利用方法が大きく変更となる場合、スパコン管理者は、バージョンアップ予定日時をサービス管理責任者に事前に通知し、バージョンアップを行う.

基本方針
% ssh [w3ユーザ名]@web01.ddbj.nig.ac.jp %  qlogin % qsub -l gpu=1 job.sh GPU搭載ノードのみでジョブが実行される. % qsub -l ssd job.sh SSD搭載ノードのみでジョブが実行される. % qsub -l medium job.sh Medium計算ノードのみでジョブが実行される. なお、業務用UGEでは、Medium計算ノードは利用できない. % qsub -l fat job.sh Fat計算ノードのみでジョブが実行される. なお、業務用UGEでは、Fat計算ノードは利用できない. システム管理者は、ロードバランサによる負荷分散対象固定のためのクッキーを、設定する. 他の目的のクッキーは、Webサービス責任者が設定する.
 * 1) サービス管理責任者の設置 : Webサービスの運用は、webサービス管理責任者を必要とする. Webサービス管理責任者は遺伝研スーパーコンピュータのユーザーアカウントを持っていなければならない.
 * 2) ユーザー管理の一元化 : Webサービスがユーザーアカウントの管理を行う場合には、スパコン管理者が提供するユーザー管理機構（LDAP）を利用すること. すなわちWebサービスがユーザーアカウントの管理を行う場合にはWebサービス利用者は同時にスパコン利用者としてのユーザーアカウントを取得する必要がある. BLAST,ClustalWなどユーザーアカウント管理を行わないWebサービスの場合にはWebサービス利用者はスパコン利用者である必要はない.
 * 3) ApacheにおけるLDAP認証が必要な場合は、サービス開発責任者が.htaccessに以下を記載すれば、LDAP認証(UID、パスワードの一致を確認)が実現できるよう、スパコン管理者がhttpd.confを設定する.
 * 4) Require user [UserA] [UserB]
 * 5) Apache以外による認証(アプリ内の認証)は、Webサービス責任者が実装する.
 * 6) 参考として、以下にユーザID:UserA、または、グループID:GroupAのldapsearch の方法を示す(Read Onlyで全LDAPエントリを参照できるrouserを用いる).
 * 7) ldapsearch -x -w ooooooo -D "cn=rouser,dc=nig,dc=ac,dc=jp" -b
 * 8) "uid=ohi,ou=people,dc=nig,dc=ac,dc=jp"
 * 9) ldapsearch -x -w ooooooo -D "cn=rouser,dc=nig,dc=ac,dc=jp" -b
 * 10) "cn=se,ou=group,dc=nig,dc=ac,dc=jp"
 * 11) スパコンシステムへのログイン : Webサービス管理責任者は、スパコンシステムには2012/3/9以降(予定)にログイン可能となる. 以下のコマンドを実行し、スパコンのゲートウェイノードにログインする.
 * 12) *% ssh [w3ユーザ名]@gw.ddbj.nig.ac.jp
 * 13) *ゲートウェイノードは、スパコンへの接続及びスパコン外とのscp,sftpによるデータのやり取りを担う. このため、ゲートウェイサーバで多くのCPU、メモリを使用するプログラムの実行は禁止とする. Webコンテンツの開発時には、以下のコマンドを実行し、Webサーバにログインする.
 * 1) *CGI等で利用するプログラムの実行(特に多くのCPU、メモリを利用するプログラム)には、以下のコマンドを実行し、インタラクティブ操作が可能なキューにログインする.
 * 1) バッチジョブシステム : バッチジョブシステム(Univa Grid Engine、以下UGE)を用いることで、Webフロントエンドサーバから、他のサーバ上でジョブを実行する.
 * 2) ジョブ投入 : qsubコマンド、もしくはqrshコマンドを実行する. qsubを用いると、標準出力にジョブIDが表示され、コマンドが終了する.  ジョブは、標準出力、標準エラー出力をファイルとして出力する.  ジョブの実行が数分から数時間、もしくは数日かかるジョブの実行に向く. qrshを用いると、ジョブは直ちにリモート実行され、ローカルホストでUGEを用いずに、ジョブを実行した時と同様に、標準出力、標準エラー出力が出力される. ジョブの実行が数秒から数十秒で完了するジョブの実行に向く.
 * 3) キュー構成 : UGEはDDBJ業務関連ユーザのみが利用可能な業務用UGEと、DDBJ内外の研究者が利用可能な研究用UGEの2つのUGEがある. 両UGEのキュー名、同時実行可能数を次頁に示す.
 * 4) 両UGEは、スパコン管理者が設定するユーザリストにより、アクセス制限が行われる. また、web_month.q、web_week.qは、Webサービス管理責任者に発行された、Webサービス管理専用ユーザアカウントのみが利用可能となるよう、スパコン管理者がユーザリストによりアクセス制限を行う.
 * 5) 各キューには、実行時間の上限が以下のように設定される. Dispatch間隔（実行のためにキューの中のジョブを取りに行く間隔）は運用開始時は5秒とする.
 * 6) *month.q		31日
 * 7) *week.q		14日
 * 8) *debug.q		24時間
 * 9) *login.q		無制限
 * 10) *web_month.q	31日
 * 11) *web_week.q		14日
 * 12) 業務用UGEキュー（およびその配下の計算ノード）は、DDBJのデイリーアップデートデータ作成やリリースデータ作成などと言った定期的な作業、およびキーワード検索やBLAST検索等基本的、即時的サービス、およびDDBJ内部の開発目的に用いられる. これはほかの利用者の利用状況によってDDBJ業務が遅滞することを防ぐためである. 上記のような特例を除いたすべての計算は研究用UGEキューで行われる. そのためメモリサイズの大きなMediumノード、FatノードおよびGPGPUやSSDを搭載したthinノードといった特徴的なリソースは研究用UGEキューに割り振られている.
 * 13) ジョブ投入等に必要な環境変数: ログイン時には自動設定されるが、CGIアプリケーション等では、以下の環境変数を設定する. 2つのUGEの利用権限は、システム管理者が設定するユーザリストにより管理されるが、2つのUGEの両方に利用権限を持つユーザは、環境変数を使い分けることでUGEを使い分けることができる.
 * 14) [業務用UGE]
 * 15) *PATH=/home/geadmin/UGES/bin/lx-amd64:$PATH
 * 16) *SGE_ROOT=/home/geadmin/UGES
 * 17) *SGE_CELL=uges
 * 18) [研究用UGE]
 * 19) *PATH=/home/geadmin/UGER/bin/lx-amd64:$PATH
 * 20) *SGE_ROOT=/home/geadmin/UGER
 * 21) *SGE_CELL=uger
 * 22) ジョブを実行するホストの選択 : SSD搭載ノード、GPU搭載ノード、Medium計算ノード及びFat計算ノードのみでジョブを実行する際には、qsub及びqrshコマンドのオプションとして、「-l」を利用する. 以下に指定例を示す.
 * 1) ジョブ実行状況の確認 :qstatコマンドを使用する. デフォルトでは、qstatコマンドを実行するユーザが投入したジョブのみの実行状況が表示される. その他のユーザのジョブの実行状況を確認するには、「-u」をオプションを使用する.
 * 2) ジョブ実行結果の取得　: qsubコマンドにより発行されたジョブの実行結果は、デフォルトでは、qsubコマンドを実行したユーザのホームディレクトリ直下に、標準出力を含むファイルと、標準エラー出力を含むファイルとして出力される. 出力先の変更は、「-o」「-e」オプションを使用する. ジョブ内で、ファイル出力を行うジョブは、ジョブ内の指示に従ったパスにファイルが出力される.
 * 3) ジョブの削除 : qdelコマンドを使用する. qdelコマンドの引数としてジョブIDを与えると、指定したジョブIDのジョブを削除できる. 「-u」オプションを使用すると、指定したユーザが投入、実行しているジョブを全て削除できる.
 * 4) セッション管理

Apache
Apacheのconfigはシステム管理者が設定する. [バーチャルホスト名]_access_log [バーチャルホスト名]_error_log [バーチャルホスト名]_combined_log [バーチャルホスト名]_referer_log
 * 1) URLは、今後、統合及び統一的なURL構造への移行を行う. 統合及び移行は、サービス種別毎にバーチャルホストを起動して、ロードバランサーにおけるrewrite等で行うものとする.
 * 2) VirtualHost名称 : Webサービス責任者が指定する. [例]:blast.ddbj.nig.ac.jpとなる
 * 3) コンテンツ配置を行うユーザID : Webサービスは、Webサービス用スパコンアカウント(接頭辞としてw3とサービス名称を持つユーザ名、以下w3ユーザ)により提供する. また、w3ユーザのグループ名は、ユーザ名と同一とする. [例] w3blast(ユーザ名)、w3blast(グループ名) Webコンテンツの開発、配置、公開に関わる全てのファイルのOwnerはw3ユーザを利用する.
 * 4) DocumentRoot : VirtualHost名称からシステム管理者が決定し、作成する. /usr/local/web/[バーチャルホスト名]/htdocsとする. [例]:/usr/local/web/blast/htdocs /usr/local/web/[バーチャルホスト名]のOwnerをw3ユーザとして、Webサービス管理者がディレクトリを作成可能とする.
 * 5) ExecCGI : システム管理者が初期登録時に/usr/local/web/[バーチャルホスト名]/cgi-binに、ExecCGIを付与する. [例]:/usr/local/web/blast/cgi-bin
 * 6) Suexec : CGIの動作は、ApacheのSuexecを用いて、CGIとしてフォークされるプロセスのOnwerはw3ユーザとするよう、システム管理者が設定する. 静的コンテンツは、Apacheの管理ユーザw3admin、動的コンテンツはw3ユーザで参照されることになる. これにより、ファイルのアクセス権限のotherにreadが必要となる. ただし、groupかotherにwriteを与えるとアクセス拒否される.  PHPはApacheのモジュールとして動作するため、w3adminユーザとして動作する.
 * 7) AllowOverride : システム管理者がAllとしてhttpd.confを設定し、Webサービス管理者が.htaccessを利用可能とする.
 * ログ: システム管理者が/usr/local/pkg/apache/current/logs/以下に、以下のログを出力する

Tomcat
Tomcatのconfigはシステム管理者が設定する.
 * 1) サーブレットのデプロイ : Tomcat Web Application Manger(以下、WAM)またはApache Mavenによるコマンドラインからのデプロイを行う. いずれの方法によるデプロイにおいても、デプロイ時に必要なパスワードは、システム管理者が決定し、Webサービス管理者に連絡する.
 * 2) WAM : システム管理者は、Webサービス管理者がhttp://[バーチャルホスト名].ddbj.nig.ac/managerにアクセスすることで、WAMに接続可能とする.
 * 3) Apache Mavenによるコマンドラインからのデプロイ : システム管理者は、デプロイが可能なpom.xmlを、Webサービス管理者に提供する. このpom.xmlはコマンドラインからWAMに接続し、サーブレットをデプロイ、停止、起動、削除する機能を提供する.
 * 4) ApacheとTomcatの連携方法 : Webサービス管理者は、システム管理者にWebからのアクセスをTomcatに処理させることを希望するURLのリストを提示する. システム管理者は、リストに沿って、jk-connectorによるajp13通信(ApacheからTomcatにリクエストを渡す)用設定を行う.

MySQL
MySQLのmy.cnfの設定はシステム管理者が行う. mysql -u [w3ユーザ名] -p -h mysql01.ddbj.nig.ac.jp %  mysql -u [w3ユーザ名] -p -h mysql01.ddbj.nig.ac.jp
 * 1) DBユーザの権限 : MySQLサーバのユーザ登録時のGRANTはUSAGEのみとする. データベースの作成はシステム管理者のみが行う. Webサービス管理者は、作成されたデータベース上においては、GRANT ALLの権限を持つ.
 * 2) アクセス方法 : データベースへのアクセスは、スパコン内のネットワークセグメントに限定される. 以下にアクセス方法の例を示す.
 * 1) システム管理者は、mysqlを複数ホストで起動し、ユーザ毎に利用するホストを割り当てる.

PostgreSQL
MySQLのmy.cnfの設定はシステム管理者が行う. % psql -U [w3ユーザ名] -d [DB名] -h pgsql01.ddbj.nig.ac.jp (1)	全文検索システムやデータベースシステムなどバッチジョブシステムを使わないもの (2)	BLASTなど長時間CPUを用いるためバッチジョブシステムを利用するもの (3)	データベース及びバッチジョブシステムを利用するもの バッチジョブシステムへのジョブ投入状況の可視化のために、(2)、(3)においては、バッチジョブシステムへのジョブ投入時に、以下のように、ジョブに名称を付与するものとする. ※1: Webサービス内でユーザー管理を行なっている場合に付与する. 例えばDDBJ Blastサービスなどユーザー管理を行っていない場合にはWebサービスの種別を表すジョブ名を付与する.
 * 1) DBユーザの権限 : MySQLに準じるものとする.
 * 2) アクセス方法 : データベースへのアクセスは、スパコン内のネットワークセグメントに限定される. 以下にアクセス方法の例を示す.
 * 1) システム管理者は、pgsqlを複数ホストで起動し、ユーザ毎に利用するホストを割り当てる.
 * 2) Webサービス管理者がスキーマの追加等を必要とする場合は、システム管理者に連絡し、システム管理者が追加を行う.
 * 3) ジョブ投入システム及び実行ログ管理の一元化
 * 4) Webサービスは以下に分類できる.

ジョブに名称を付与することで、バッチジョブシステムのaccountingファイルにジョブ名称が記録され、スパコン管理者がジョブ実行状況を一元的に把握することが可能となる. ジョブの実行状況は、qacct及びqreportコマンドで確認できる. 以下に期間を指定して、特定のWebサービス用アカウントのジョブ実行状況を確認するコマンドを示す. % qacct -o [Webサービス用アカウント] –b YYMMDDhhmm –e YYMMDDhhmm

れ 	Webサービスのアクセスログ等は実行ログをスパコン管理者が取得、管理する. webサービス管理責任者はこの条件に合意しなければならない. （Webサービスのユーザーとの間にも合意があることが好ましいが、上記の程度のログであれば明示的な「サイトポリシー」に明示する行為は社会通念上必須ではないと考えられる. サイトポリシーへの記述については各Webサービスの、Webサービス管理責任者の責任とする. ） 	データバックアップ : スパコン管理者はスパコン上のデータの保護について下記に示すような決まった役割を果たすが、万が一データが破壊されたとしても一切の責任を負わない. 重要なデータは、Webサービス管理責任者がスパコン外にバックアップを取得するものとする(後述). 	スパコンユーザーアカウントの取得方法 1.	ユーザーアカウントはDDBJ業務用、DRA用（データ登録者用）、webサービスユーザー、一般研究用（小口）、一般研究用（大規模）の５種類設ける. 1.1	Webサービスユーザーは、スパコンにログインはできない. Webサービス管理責任者のアカウントでジョブをスパコンに投入する. 受付は、Webフォームから行う. 発行されたアカウント情報は即時発行する. 1.2	一般研究用（小口）ユーザーはスパコンにログインできる. 同時実行ジョブ数の上限は100, ディスクの上限は1TBとする. 一般研究用（小口申請）ではWebで申請を受け付け、アカウントは郵送または手渡しで送付する. 1.3	一般研究用（大規模）ユーザーはスパコンにログインでき、同時実行ジョブ数の上限もディスク使用量の上限もない. 申請はWebで受付し、利用目的の審査を行ったあと、アカウントは郵送または手渡しで送付する. 1.4	Webサービス管理責任者は一般研究用（大口）のアカウントを取得すること. 2.	ログインシェルは初期設定ではbashとする. 3.	PATH、LD_LIBRARY_PATHは、/usr/local関連、UGE、インテルコンパイラ関連、PGIコンパイラ関連を初期設定とする. 4.	groupは研究チーム毎に区別を行うが、研究責任者が複数の所属部署を兼務している場合があるので、「研究責任者＋研究責任者所属部署」で決定する. 5.	以下に、登録フロー図を示す.

6.	以下に、Webフォームの入力に必要な情報を示す. No.	項目	入力内容	備考 1	申請区分	○新規、○変更、○停止、○年度末更新	いずれか選択 2	登録ユーザー情報	ユーザネーム	アカウント名	新規の場合、希望を３つまで入力 8文字固定推奨 3		利用用途	共同研究の場合は共同研究先を記載	500字以内（webユーザは必要なし） 利用予定リソース	ジョブ数とディスクサイズの概算	大規模利用者のみ 4		変更・停止理由		変更、停止時のみ 5	利用者	利用申請者	苗字、名前、ローマ字	Webユーザは研究責任者を記載する必要はない. 6		所属部署	○○大学○○研究科○○専攻など 7		遺伝研所属確認	遺伝研所属をチェックボックスで確認 8		職名	教員、研究員、博士課程など 9		メールアドレス	○○＠△△△ 10		所在地	郵便番号、住所、電話、内線、携帯番号 11		国籍	国名(輸出規制審査用) 12	研究責任者	責任者	苗字、名前、ローマ字 13		所属部署	○大学○研究科○専攻など 14		職名	教員、研究員など 15		メールアドレス	○○＠△△△ 16		所在地	郵便番号、住所、電話、内線、携帯番号

データ保全・バックアップの手順 	Webサービス管理責任者は、Webサービスで利用するデータをLustreファイルシステム上に作成された、Webサービス用ユーザーアカウントのホームディレクトリ上に置くことができる. なお、各計算機のローカルディスク、省電力領域には配置することはできない. 	スパコン管理者は週1回から月1回程度(データ作成状況に依存)、全スパコンユーザーの$HOME/backup/ディレクトリ以下のファイルを、MAIDバックアップ領域にバッチ処理にて保存する. MAIDバックアップ領域の容量は250TBである. （$HOME/backup/ディレクトリに巨大なデータを置いているユーザについては利用用途や必要性を聞き協議するものとする. ） 	Webサービス管理責任者は、UGEのlogin.qにqloginコマンドによりログインすることで、MAIDバックアップ領域から自分のバックアップデータをLustre領域上のホームディレクトリにレストアできる. レストアには、以下のコマンドを実行する. % rdiff-backup –restore-as-of [取得日時] /backup/$USER/ /home/path_to_restore/ 取得タイミングは以下で確認できる. %rdiff-backup –l /backup/$USER 	Webサービス管理責任者は、FTP及びAsperaを用いてLustre領域上のデータをスパコン外にコピーすることができる. 以下にAsperaによる実行例を示す. http://www.asperasoft.com/en/products/client_software_2/aspera_client_2より、 Aspera Connect ClientをクライアントPCにダウンロードする. コマンドプロンプトから以下を実行することで、スパコンのAsperaサーバに接続し、データを高速にダウンロードできる. C:\Users\Owner\Documents>"c:\Users\Owner\AppData\Local\Programs\Aspera\Aspera Connect\bin\ascp" -P 33001 [ユーザーアカウント] @ascp.ddbj.nig.ac.jp:/home/[ユーザアカウント]/[ファイル名]

著作権 	DDBJが発注するソフトウェア開発では、ソースコードの帰属はDDBJとし、ソースコードをLGPLライセンスとすることを基本とする. ただし各受注業者独自のアルゴリズムやシステムについては、発注者と相談の上、受注業者の所有とする. 13	昔に発注されており、別途権利関係の合意が発注者・受注者の間で存在しているものについては、既にほかの契約のもとで開発が進められてきたものについては以前の契約を尊重する. 	受注業者が知的所有権を主張するコードをシステム中で利用する場合には、システム全体としては、そのコードなしでも動作するように設計すること. 	例えば独自の検索アルゴリズムを利用するシステムを作ってもよいが、オープンソースの検索システムと置換可能になるように共通のインタフェイスを作成する. （オープンソースシステムに置換した場合には性能面で劣っても構わない. ） 	置換可能なオープンソースプログラムがなかったとしたら、業者独自のコンポーネントがなかったとしてもプログラムとしてはコンパイル可能であり、動作可能であり、ただそのコンポーネントの機能が利用できなくなる、という動作をするように設計すること.

仕様書の典型的文言は以下の通り.

１２．著作権 （１）著作権の帰属 成果物に関する著作権（著作権法第27条及び第28条に規定する権利を含む. ）は、以下の各号に従って取り扱うものとする. ①成果物のうち受注者または第三者が従前から有していたものに属する開発成果に関する権利は、受注者または第三者に留保する. ただし、受注者は当該権利の成果物中での利用について、国立遺伝学研究所の事前の承認を得るものとする. ただし、国立遺伝学研究所がGPL,LGPLライセンス等にて再配布することができる場合はこの限りではない. ②受注者は、前項により受注者または第三者に開発成果に関する権利を留保した成果物について、国立遺伝学研究所が成果物を使用するために必要な範囲で該当する知的財産権の利用を許諾するものとする. ③成果物に関する著作権のうち、受注者または第三者が従前から権利を有していない部分に関する権利については、原則全て国立遺伝学研究所に帰属するものとする. また、受注者は当著作権に関する著作者人格権（著作権法第18条から第20条に定められる権利）について行使しないものとする.

（２）ソフトウェア・ミドルウェアの利用 成果物を構成する一部として、ソフトウェア・ミドルウェア（第三者作成のフリーソフトウェア及びオープンソースソフトウェアを含むがこれに限らない. 以下、「ミドルウェア等」という）が必要となる場合、国立遺伝学研究所及び受注者は以下の各号に従うものとする. ①国立遺伝学研究所及び受注者は、いずれかが本件業務の遂行につきミドルウェア等の利用を有効と認めるときは、その取扱いについて協議する. ②受注者は、国立遺伝学研究所の了解を得たミドルウェア等につき、当該ミドルウェア等に付随する使用許諾条件に従って使用するものとする. ③前項において国立遺伝学研究所の了解を得たミドルウェア等について、当該ミドルウェア等を含む成果物を国立遺伝学研究所が使用するにあたり、ライセンス契約の締結等何らかの措置が必要な場合は、国立遺伝学研究所及び受注者は当該措置の実施について協議するものとする.

（３） 権利侵害の排除 受注者は、成果物及びその使用が第三者の有する知的所有権または営業秘密を侵害しないことを保証するものとする.

推奨開発環境

特に問題なければなるべくポピュラーな言語を用いることを推奨する. Java, C, PHP等. http://langpop.com/, http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html 等参照

各コンピュータ言語の最も基本的な開発プロジェクト管理ツールを用いること. 	Java  : Apache Maven ver2以降　(Apache AntはWebサービスでは推奨しない. ) 	C, C++ : automake/autoconf/libtool