ボイスチャットシステム

Multisoft-labのホーム    ご意見・ご感想等

実験の内容とその結果

LAN上での基本動作の確認

 まず、ローカルネットワーク(Ethernet)上でシステムの基本動作を確認しました。 図1にネットワークの構成を示します。

ネットワーク構成

(図1)ネットワーク構成

行った実験の内容を列挙すると、次のようになります。

  1. サーバー・クライアント 一対一での基本動作確認
  2. クライアント2つの場合の動作確認
  3. クライアント多数の場合の動作確認

サーバー・クライアント 一対一での基本動作確認

 まず、ホストAにサーバーを置き、ホストBにクライアントを一つ立ちあげました。 そして、クライアントからサーバーにログイン動作の確認をしました。 次に、投稿したメッセージがメッセージ欄に戻ってくることを確認しました。 また、「発言」ボタンをクリックすると、マイクで取り込んだ音声がスピーカから出てくることを確認しました。 ログアウト動作も確認しました。

クライアント2つの場合の動作確認

 まず、ホストAにサーバーとクライアントTを立ち上げ、参加名「Master」でログインします。 次に、ホストBにクライアントUを立ち上げました。 クライアントUでログイン、メッセージの投稿、発言、ログアウト、強制終了を実行しました。 このとき、次の動作をすることを確認しています。

ログイン

 クライアントUが参加名「Hideya」でログイン操作を実行すると、 クライアントTのメッセージ欄に「Hideyaさんが参加されました」と表示され、 また、参加者リストに「Hideya」が追加されました。

 なおこのとき、クライアントUのメッセージ欄は「Hideyaさんが参加されました」と表示されていて、 参加者リストには「Master」と「Hideya」の二つが表示されました。

メッセージの投稿

 クライアントUから「こんにちは」のメッセージを投稿すると、 クライアントT、クライアントUの双方のメッセージ欄に「Hideya>こんにちは」と表示されました。 クライアントTから投稿した場合も、やはり双方にメッセージが送られました。

発言

 クライアントUで「発言」ボタンをクリックすると、 ホストA、ホストB双方のスピーカから音声が流れました。 そして、マイクに語りかけた言葉は双方のホストで聞くことができました。

ログアウト

 クライアントUでログアウト操作を実行すると、クライアントUはログアウトしました。 そして、クライアントTのメッセージ欄には「Hideyaさんが退席されました」と表示され、 参加者リストからも「Hideya」が取り除かれました。

強制終了

 クライアントUを再びログインさせ、 Windowsタスクマネージャにより、クライアントUを強制終了させました。

 その結果、クライアントTのメッセージ欄には「Hideyaさんが退席されました」と表示され、 参加者リストからも「Hideya」が取り除かれました。 こうして、サーバーはソケットの切断を「ログアウト」と判断することを確認しました。

クライアント多数の場合の動作確認

 クライアントを20個起動し、しっかりした動作をすることを確認しました。



外部からの接続

 LANではうまく動作することがわかったので、 次にWANを経由してサーバーにアクセスしたときもうまく動作するか確かめました。

 実験は次の環境下で行いました。 サーバーとWANは、上り1Mbps、下り8MbpsのADSL回線で結ばれています。 また、クライアントは54Mbpsの無線LANでインターネットに接続してあります。

 まずこの環境下で、クライアントを一つ起動したとき、うまく動作することを確かめました。 音声のレスポンス時間はLANの場合と変わりなく、途切れることもまずありませんでした。

 次に、サーバーからの上りのトラフィック量による制約を確認するため、 一つのクライアントを発言状態にしたまま、次々とクライアントを起動しログインさせました。 この状態では、サーバーは各クライアントに音声パケットを送信しなければならないため、 参加しているクライアント数に比例した情報量を送信します。 そして、この送信すべき情報量が回線の最大容量を上回ると、送信できない情報が溜まるため、 遅延が生じるようになります。しかもただ遅延が生じるだけではなく、その遅延時間は増大していきます。 つまり、この遅延の増大が始まるクライアント数を調べる実験を行いました。

 遅延の大きさは、声の遅れを調べても良いのですが、 ここではメッセージ投稿にかかる時間を計測し、それを遅延時間としました。



トラフィック量およびCPU使用率の計測

 この実験では、ネットワークのトラフィック量とCPU使用率の計測を行いました。

 まず、サーバーにクライアントがn個接続されているときに、 誰か一人が発言して、その他の人は受信のみをしている場合(図2)について、 nに対するサーバーのトラフィック量とCPU使用率を調べました。

トラフィック量およびCPU使用率の計測(1)

(図2)トラフィック量およびCPU使用率の計測(1)

 次に、すべての人が発言と受信をしている場合(図3)についても、 同様にクライアント数nに対するサーバーのトラフィック量とCPU使用率を調べました。

トラフィック量およびCPU使用率の計測(2)

(図3)トラフィック量およびCPU使用率の計測(2)



実験結果

 LANでの基本動作の確認については既に述べたので、ここでは外部からの接続実験と トラフィック量およびCPU使用率の計測について、その結果を述べます。

外部からの接続実験結果

 クライアント数が6までのときは、レスポンス時間は一瞬でした。 そして、クライアント数が7、8のときにレスポンス時間に少しばらつきが生じはじめ、 それ以上になると、ついにレスポンス時間は時間とともに増加するようになりました。

トラフィック量とCPU使用率の計測結果

 図4にトラフィック量の実測結果を示します。 発言者が一人の場合も全員の場合も、クライアント数に応じて線形的に増加していることがわかります。

トラフィック量の実測値

(図4)トラフィック量

 なお、CPUの使用率はクライアント数によらず、ほとんど0でした。 したがって、グラフにはしませんでした。



Multisoft-labのホーム    ご意見・ご感想等の受付


Copyright © 2004 Multisoft-lab   All rights reserved.