静的解析,構成管理,MISRA-C,コードレビュー,バグトラッキング,リバースエンジニアリング
ソフトウエア開発支援ツール
SOFTWARE SOLUTIONS
ソフトウェア開発における品質の向上、および生産性の向上を目指して、最適な開発支援ツールを提供します。
PERFORCEの製品概要 > 技術情報 > ネットワーク上でのソフトウェア開発
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() 1. はじめに 今では、主要なソフトウェア構成管理(SCM)システムのほとんどが、社内LAN(ローカル・エリア・ネットワーク)をサポートしています。つまり、 LANを経由して接続されたユーザなら誰でも、まるで自分のデスク上で仕事しているかのように、SCMのリポジトリに透過的にアクセスすることができま す。
このような組織には、ネットワークを使用したソフトウェア開発が必要です。本稿では、PERFORCE - 高速なSCMシステム - が、会社全体のイントラネットやインターネットなどのWANを使用している環境を取り扱うことができるかを議論します。基本的な主張は、PERFORCE はそのような低速で遅延時間の大きい、長く張り巡らされたネットワークにおいてもその動きが妨げられることはない、ということです。また、このようなネッ トワーク環境での運用において、セキュリティを高めるためのいくつかの点についても述べます。 2. WANに付随する問題 ネットワーク・パフォーマンスに関する2つの測度は、バンド幅と遅延時間です。バンド幅とは単に、あるコンピュータから次のコンピュータへ1秒あたりどれ ほどのビット数を移動できるかを言います。その範囲は、最近ではモデムを介する場合の14.4Kbps(キロビット/秒)から光ファイバーを介した場合の 100Mbps(メガビット/秒)を超える値となります。遅延時間は、各ビットが一端から次の一端に移るときに発生する遅れです。その範囲は、イーサネッ トにおける1ms以下の値から、インターネットにおける良くて1秒(あるいはそれ以上の何秒か)程度の値です。ネットワークで使用される代表的なネット ワーク物理層における、およその比較を以下の表にまとめました。
LANの世界では、10Mbpsのイーサネットが大半を占めています。これよりも遅い作業環境を、我慢して使用するユーザも少しはいるでしょう。一方 WANにおいては、ほとんどがT1のスピードか、それよりも遅い速度で接続されています。 WANにおける遅延時間は、基盤となるテクノロジと、コンピュータ間の距離によって決定されることに注意してください。ATMネットワークでさえ、ワイヤ の中を通る電気信号や、空間を伝わるマイクロ波のスピードを越えることはできません。 最も速いネットワーク環境においても、ロンドン~カリフォルニア間は少なくとも30msは離れています。実際、長い伝送経路の場合は記憶、転送、スイッチ ングなどの間、パケットを持ちこたえさせる必要があります。そのため、ほとんどのWAN環境での遅延時間は100msか、それ以上になります。 WANの問題点は、長い遅延時間がネットワーク・ファイルシステム(NFS)プロトコルを不調にすることです。このNFSプロトコルは、ほとんどの代表的 なSCMシステムのアーキテクチャの基礎となっています。これらのシステムは、NFSが遠くのディスクをローカルにあるかのように見せてくれるという事実 の上に、ネットワーク透過性を実現しています。実際、いくつかのSCMシステムは(それ自身では)ネットワークをサポートしておらず、ネットワーク・ディ スクへアクセスできることに依存しているだけのものもあります。ネットワーク・ファイルシステム自身は、ネットワーク自身が高速だという仮定のもとに作ら れています。つまり、NFSはローカルディスクを持っているかのように見せかけようとし、NFSプロトコルはネットワークがディスクの(持っている)速さ で応答してくれると仮定しています。ネットワークの応答があまりにも遅すぎると、NFSがダウンします。単純明白です。NFSがダウンすると、SCMシス テムも同じことになります。 NFSによっては(NTにおけるNetBEUIや、4.4BSDにおけるTCP上のNFSなど)、低速度でのWAN環境における動作の問題を克服したもの もあります。しかしこれらもまた、LANより速くデータを送ることはできません。SCMシステムは、ディスクに対する高速なアクセスを当然のことと期待す るアプリケーションです。つまり、SCMシステムはディスクに強く依存した操作(ディレクトリをスキャンしたり、非常に多くのファイルを開いたり)を行い ます。低速のWANにマウントされたリモートディスクは、要求された速さでデータを送ることができません。その結果、SCMシステムのパフォーマンスはお よそ我慢できないものとなります。 市販されている多くのSCMソリューション(ツール)は、その透過性をすべてNFSに依存しており、いずれもWAN環境に対しての普遍的なソリューション をサポートしてないと言えます。いくつかの製品ではリポジトリの複製を作り、複製同士で一方向または両方向の同期をとる機能を提供することでWAN環境を サポートしています。が、これは明らかにLAN環境でのサポートとは異なるものであり、環境構築および運用のための工数(コスト)を別途必要とします。 3. PERFORCEのネットワークサポート 上で述べたSCMソリューションと同様、PERFORCEはネットワークをサポートするようなアーキテクチャを持っています。しかし、PERFORCEに はネットワーク・パフォーマンスへの依存度を低減させる2つの明確な特徴があります。
TCP/IPベースの通信方法と、UDPベースのNFSとの違いは重要です。PERFORCEにおいて、ユーザがクライアントからコマンドを実行するとき に、何度かネットワークの遅延時間の影響を受けることがあります。あるネットワーク環境において100msの遅延時間があるとき、ユーザが PERFORCEのクライアントコマンドをタイプしてから、200ms(1/5秒)よけいに時間がかかる場合があります。この程度の遅れは我慢できる程度 のもので、普通は気がつきません。他のすべてのSCMソリューションで要求されるNFSアクセスの場合、ネットワークの遅延時間はファイルの入出力操作 ――これはファイルのチェックアウトのようなシンプルなものを含みます――のたびに影響をおよぼします。その結果、ユーザは1つのファイルをチェックアウ トするのに何分も待つという、非実用的なことになります。 PERFORCEのユーザは、通常の作業をローカルディスク上で行うので、明確にSCMの操作を行う際にだけ、ネットワークのスピードを意識することにな ります。PERFORCEの操作に対するネットワークの遅延時間の影響は、最小限になるよう調整されています。ネットワークのバンド幅のみが、 PERFORCEにおけるパフォーマンスの要因となります。 ネットワークのバンド幅に対するPERFORCEの要求が最も高いのは、リポジトリからクライアント(あるいはその逆)に対して行われるファイル転送で す。基本的にネットワーク環境によってファイル転送率が制限されます。どのくらいの時間をユーザが待たなければならないかは、転送されるファイルの大きさ と数に依存します。変更をリポジトリに反映するときに転送されるファイルは、ユーザによって変更されたファイルですので、たいていの場合少数です。 ネットワーク環境が、必ずしも制限の要因となるとは限りません。:ネットワークのスピードが1Mbps以上(例としてはT1、T3、イーサネット)のと き、ファイル転送を制限するのはクライアントのディスク容量です。データの量が多いことが原因となるわけではなく、クライアントのディスクに新しいファイ ルが書き込まれることによって、ディレクトリ・エントリが作成されることが原因となります。ほとんどのOS(UNIXを含む)では、ディレクトリのアップ デートは同期的に行われます。これは電源が落ちたり、システム破壊が起こったりしたときにディスク中のデータを守るためには必要なことですが、パフォーマ ンスに対しては大きなハンデとなります。 変更に関するレポートやクライアント情報の編集など、リポジトリとのやり取りがファイルに直接関係しない場合は、通信データ量がとても小さく、ネットワークのバンド幅の影響を受けません。 ユーザの報告から次のようなことがわかっています。ネットワークのスピードが1Mbps以上の場合、PERFORCEにおけるクライアント/サーバ間の情 報のやり取りは、高速LAN上でのそれと同じ程度です。64Kbps(ISDNのスピード)では、ネットワークのスピードはファイル転送に関しては影響が ありますが、レポート表示や他の操作に関しては問題ありません。28.8Kbps(モデムのスピード)では、すべてのオペレーションは確かに影響を受けま すが、それでもPERFORCEを運用する上でさほど大きな問題にはなりません。 以上、まとめるとPERFORCEは高速LAN、低速の社内WAN、(更に低速の)インターネットなど、すべてのTCP/IPネットワークにおいてSCMを実現します。 4. 3段階のセキュリティ
5. おわりに ネットワーク上のソフトウェア開発は、現在多くの会社が本当に必要とし、将来的には標準的になるでしょう。PERFORCEは、ネットワーク上でのソフト ウェア開発をサポートする能力を持ちます。そして、いくつかのツールと合わせて用いることで、インターネットや組織のイントラネットを、LAN上のような 開発環境に変えることが可能です。 |








