SKYSEA Client Viewには「キャッシュ配布」という仕組みがあります。データをサーバーから1台ずつダウンロードするのではなく、すでにダウンロード済みの別の端末からダウンロードする機能です。データセンターに向かう幹線はすべての端末で共有します。可能であれば、末端に近い場所でデータをやり取りし、データセンターの幹線のトラフィックに余裕を持たせるように運用したいところです。キャッシュ配布はこれを自動で行いますが環境によっては期待通りに動作しない場合があります。
この仕組みを実現しているのは、「ブロードキャスト」です。ブロードキャストは宛先を指定しない送信で、一回の送信で複数の端末にデータを届けることが可能です。SKYSEA Client Viewはこの特徴を利用して、一回の送信で複数の端末に対してダウンロードデータの要求を行えます。通知を受け取り、ダウンロードが完了している端末は、要求した端末にデータを保持している情報を返します。以後は、応答のあった端末からランダムでダウンロード端末を選んで、データを要求するのです。
さて、本機能のリリース後、「端末同士で情報を融通してトラフィックが低減されるはずが、どうもすべての端末がサーバーからダウンロードしてしまうように思える」という問い合わせがありました。このような問い合わせを受けることは、ある程度予想していました。マニュアルにも、ブロードキャストでダウンロード済み端末の探索を行うことは記載してありましたが、ユーザーの中には、利用しているネットワークがブロードキャストでの送信が端末に到達するかどうかをご存じでないケースが想定されたからです。
私の記憶では、特に無線LAN環境での問い合わせが多かったように思います。私も無線LANでキャッシュ配布が行われないと問い合わせを受けて、お客様先に調査に伺ったことがあります。その時は、パケットキャプチャソフトウェアを利用し、ブロードキャストによる送信がされていることと、ダウンロード済み端末側でパケットの受信がないことを確認し、ソフトウェアの問題ではなく環境の問題であることを説明しました。後になって、こちらのお客様では、アクセスポイントの設定がブロードキャストをブロックする設定になっていることがわかり、設定を変更いただくことで、キャッシュ配布が動作するようになりました。
その他の例では、キャッシュ配布で情報を配信する際、帯域の細いケーブルを占有してしまうという事例がありました。そのお客様では、事務室同士が10Mbpsで接続されており、両方が同じブロードキャストドメインに所属していました。キャッシュ配布の仕組みにより、最初に特定の一台にサーバーからダウンロードが行われます。そのあと、その端末とは異なる事務室で利用されていた端末が一斉にダウンロードを行った結果、この10Mbpsの回線が完全に占有されてしまい、業務に支障をきたしてしまったのでした。
極端なケースでは、VPNなどで接続されており、別の建物なのにネットワークアドレスが同じでブロードキャストが届くというケースがあります。
あるお客様では、従量課金のモバイル回線を用いてVPNで接続していた端末がすべてブロードキャストが到達する状態であることがわかりました。この場合、キャッシュ配布を利用するとモバイル回線を利用して情報のやり取りを行ってしまい、通信料がかさんでしまいます。幸い、VPN回線の設定でブロードキャストがブロックできることが分かったので、ブロードキャストをブロックすることにしました。
システム内で扱うデータ量が増えてくると、ネットワークインフラについても設計を検討する必要があります。ソフトウェアは、ネットワークインフラなどソフトウェアが動作するインフラがあって初めて稼働できます。様々なネットワークインフラの形態に触れることができるのは、ソフトウェアベンダに所属する醍醐味でもあります。