Archive for the ‘株式会社SOBAプロジェクト’ Category
マルチキャストとプロトコル解析

最近、弊社の製品もマルチキャスト対応をしました。
マルチキャストとは、複数個所へのデータ配信量を劇的に削減する技術の事で、例えば「ニューヨークとシリコンバレー」に同じデータを送信したい場合、宛先情報を2つ貼り付けたデータを1つアメリカ方面に投げます。同じ経路で送れる間は、そのまま送信し分岐が必要な場所(おそらく、西海岸付近のルータ)でデータを複製し、一方に「ニューヨークの宛先」もう一方に「シリンコンバレーの宛先」を付け、データを分岐させます。こうする事で、太平洋上を流れるデータ量がほぼ半分になります。
この技術により、ADSLのような上り(送信)速度の遅い回線でも快適にウェブ会議をする事が可能になりました。
ところが、中継システムに不具合があるようで、半日も使うとCPUが100%に張り付く症状が発生し、プロファイラにかけてみると一部のスレッドが暴走していることが判明しました。暴走の理由はソケットからのReadが永遠にトライアゲインエラーを吐き続けるというものでした。
暫定対処はしたので、とりあえず安定して動作しているのですが、根本的な対策をする必要があり、負荷プログラムの作成が急務だったのですが、中継システムは改良に次ぐ改良で、正確なプロトコルドキュメントが存在していません。しかもどのドキュメントも使い物になりません。さすがに、30万行のソースコード(実行ラインで15万行)を読む元気もない訳で。。。
しかも、エンドツーエンドで暗号化しているので、途中でパケットを拾ってもさっぱり分からないというのは結構困りました。結局、中継サーバからバイナリデータを抜き出し、バイナリエディタと関数電卓とを交互ににらめっこしました。プロトコルを解析しなんとか負荷プログラムを作成できました。準備に3日、解析に1日かかった訳ですが。。。
みなさんちゃんとドキュメントは書きましょう orz
土用の丑の日
手塚治虫マガジン倶楽部 7月10日オープン!
弊社では、株式会社手塚プロダクション(本社:東京都新宿区、代表取締役社長 松谷 孝征)の業務委託を受け、手塚治虫作品を読む・観る・語り合う情報交換・交流のコミュニティサイト 「手塚治虫マガジン倶楽部」 を2008年7月10日にオープンします。
映像がうまく出ない場合には、Adobe Flash Playerのバージョンアップをしてみてください。



