next up previous contents
Next: Client Up: Network Previous: Network

Server Client model

ネットワーク・プログラミングでよく利用されるプログラミングのスタイルに、 Server Client model というのがあります。ネットワークでデータのやり取りを するということは、ネットワーク上に少なくとも二つのコンピュータがあるという ことなのですが、Server Client model では、ネットワーク上のマシンに、大きく 二つの異なった役割を割り当てます。

第一の役割は、ネットワーク上で常時稼働していて、他のマシンからの接続を待ち 続けるという受動的な役割です。こうした役割を果たすマシンを「サーバ」と 呼びます。

第二の役割は、必要な時に、接続を要求する能動的な役割で、こうした役割を 果たすマシンを「クライアント」と呼びます。

このように、Server Client model では、二種類のマシンが、非対称な役割を果たす ことになります。

多くの場合、サーバは、クライアントの要求に答えて、「情報を提供する」という 役割を果たしますので、比較的、容量の大きな高速のマシンが使われるのですが、 Server Client model での Server には、直接には、そうした含意はありません。 このレベルで、「召し使い」である Server が、「お客様」である Client に、 おこなう「奉仕」 service は、何よりも「接続要求」に応えることなのです。 もちろん、WWWのサーバが現在では最も代表的なサーバと呼んでいいのですが、 こうした、情報を提供する大きな「サーバ」たちが、Server Client model に 基づいて構築されているのも、大事な事実です。



maruyama@wakhok.ac.jp