ソケットの拡張によるJava用分散ミドルウエアの高信頼化

Slides:



Advertisements
Similar presentations
TCP/IP によるチャットプログラ ム 薄井 秀晃. 基礎知識編 TCP/IP とは? IP とは・・・ Internet Protocol の略称であり通信方法の技術的なルールで あり、実際にデータを送受信する前にデータを小さなデータ に分割し、それに発信元と受信先の IP アドレスを付加させて.
Advertisements

第1章 ネットワークとコミュニケーション 第2節 ネットワークのしくみ 2 ネットワークを支える技術 (教科書 p36 ~ p37) 今日の用語  モデム (modulator/demodulator:modem)  IP アドレス (internet protocol address)  ドメインネーム.
Curlの特徴.
Linuxを組み込んだマイコンによる 遠隔監視システムの開発
Webプロキシサーバにおける 動的資源管理方式の提案と実装
(株)アライブネット RS事業部 企画開発G 小田 誠
DNASシステム上のアプリケーション起動シーケンスのための基盤であるdsh部分の性能評価
「まめだくん Ver.1.0」 特徴と利用方法.
OSが乗っ取られた場合にも機能するファイルアクセス制御システム
“All your layer are belong to us” 君達の「階層」は全て我々が戴いた
Windows Network Programming
P2Pトラフィックの時間的な特性 2003年度卒業論文 宮田健太郎              舘 直芳.
TCPソケットプログラミング ソケットプログラミング TCP-echoのデータ通信手順
帯域外リモート管理を継続可能な マイグレーション手法
トランスポート層.
ネストした仮想化を用いた VMの安全な帯域外リモート管理
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
ネットワーク機器接続 2SK 情報機器工学.
帯域外リモート管理の継続を 実現可能なVMマイグレーション手法
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
パケットの流れ ブラウザ OS TCP IP LANアダプタ ハブ ルータ HTTPメッセージ TCP HTTP断片 TCP HTTP断片
第2章 第1節 情報通信の仕組み 1 ネットワークの仕組み 2 通信プロトコル 3 認証と情報の保護
サーバ負荷分散におけるOpenFlowを用いた省電力法
過負荷時のWebアプリケーションの 性能劣化を改善する Page-level Queue Scheduling
Step.9 VPN VPNのトンネルを張る PC 3 PC 1 PC 2 論理ネットワーク1 xx (自動割当)
Linux リテラシ 2006 第4回 ネットワーク CIS RAT.
IPv6 ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
ネットワークアプリケーションと セキュリティ
P2P方式によるオンラインゲームの研究、開発
第11章 UDPユーザ・データグラム・プロトコル
TCP/UDP プロセス間の通信のためのプロトコル TCP:信頼性高、処理時間大 UDP:信頼性低、処理時間小 ftp SMTP HTTP
UDPマルチキャストチャット                    空川幸司.
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
ソケットプログラム(TCP,UDP) EasyChat開発
分散IDSの実行環境の分離 による安全性の向上
岡村耕二 トランスポート層 ソケットプログラミング 岡村耕二 情報ネットワーク.
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
ソケットプログラム(TCP,UDP) EasyChat開発2
リモートホストの異常を検知するための GPUとの直接通信機構
インターネットにおける真に プライベートなネットワークの構築
セキュリティ(2) 05A2013 大川内 斉.
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
各種ルータに対応する P2P通信環境に関する研究
Ibaraki Univ. Dept of Electrical & Electronic Eng.
UDPマルチキャストチャット    空川幸司.
ネットワークプログラミング (5回目) 05A1302 円田 優輝.
Webプロキシ HTTP1.0 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
東京工業大学 情報理工学研究科 数理・計算科学専攻 千葉研究室 栗田 亮
TCP/IPとプロセス間通信 2007年1月12日 海谷 治彦.
メールの仕組みとマナー.
J-PARC E16実験におけるDAQ-Middleware を用いたDAQソフトウェアの開発
A18 スパムサーバの調査 ~ボットを見抜けるか?~
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
インターネットにおける パーソナルネットワークの構築
サーバ・クライアントシステム ( X Window System) 2006/01/20 伊藤 和也 original: 前坂たけし
VPNとホストの実行環境を統合するパーソナルネットワーク
ウェブアプリケーションサーバの Degradation Schemeの 制御に向けて
仮想環境を用いた 侵入検知システムの安全な構成法
アクセス集中時の Webサーバの性能に対する OSの影響
福岡工業大学 情報工学部 情報工学科 種田研究室 于 聡
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
システムプログラミング 第10回 プロセス間通信3 簡易Web server(準備) Chat プログラム 担当:青木義満、篠埜 功
ウィルスの感染先探索活動を可視化するツール“PacketViewer”の開発
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
ネットワーク・プログラミング TCPサーバ.
Uni Directional Link Routing 片方向通信路に於ける経路制御
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
TCP/IPの通信手順 (tcpdump)
第6章 インターネットアプリケーション 6.1 インターネットアプリケーション 6.2 Javaによるネットワーク処理 6.3 電子メール
Presentation transcript:

ソケットの拡張によるJava用分散ミドルウエアの高信頼化        東京工業大学 理学部 千葉研究室          00-22059 松田 麻里

モバイル環境における分散アプリケーションの利用 移動しながらノートPCを利用するユーザ リモートホスト上のエディタの画面を、手元のクライアントに表示して利用 研究室 ケーブル 引き抜き 再接続 自宅 McDonald 移動

移動するとエディタが落ちる ケーブルを抜くと ワイヤレス(無線)で通信をしていても 短時間の切断はTCP/IPが対応 長時間の切断ではTCPコネクションが失われる ワイヤレス(無線)で通信をしていても 場所の移動によってIPアドレスが変わるかもしれない IPアドレスはサブネットごとに割り当てられている TCPコネクションが失われる

分散ミドルウェアを高信頼化するソケットの提案 ミドルウエアの下位に位置するソケットで高信頼化を行う(高信頼ソケット) 様々な分散ミドルウェアを容易に高信頼化することが可能 通常のソケットを高信頼ソケットに置き換えるだけ アプリケーション エディタ, メッセンジャー、ビデオ会議 など ミドルウエア Java RMI, X Window Systemなど ソケットAPI ここを高信頼化することで 上位レイヤも高信頼化 OS、ハードウエア

ソケットの高信頼化 コネクションの自動的な回復 切断時に失われたデータの回復 コネクションの情報を保存 送受信バッファの内容、IPアドレス、ポート番号、 ネットワークに再接続したら新しいコネクションを張る 切断時に失われたデータの回復 ネットワーク切断時には送信中のデータが失われてしまうことがある 失われたデータを再送し、通信が続きから再開できるようにする

切断したコネクションの回復 この後通信が続きから再開できる Client Server ネットワークを切断 専用のポート番号に再接続 例外を検出 再接続要求の受付 再接続成功 受信したバイト数を送信  相手が受信したバイト 数と送信したバイト数 を比較  相手が受信したバイト 数と送信したバイト数 を比較 データの再送 この後通信が続きから再開できる

高信頼ソケットを使用した場合のI/O処理 Host A Host B アプリケーション・ ミドルウエア Write N bytes Read N bytes コピー 高信頼ソケット データ保存用バッファ 受信カウンタをN増やす 送信カウンタをN増やす カーネル send buffer receive buffer Network データ保存用バッファの大きさはsend bufferとreceive bufferを合わせた大きさ

高信頼ソケットの実装 I/O処理はjava.nio.ChannelsのSocketChannelを使う 制御用コネクションは張らない 再接続専用のスレッドは必要ない 制御用コネクションは張らない データ用のコネクションで制御情報を送受信する 余分なリソースは使わない

実験: Java RMI を高信頼化 Java RMI 実験内容 広く使われている分散ミドルウェア 開発した高信頼ソケットを利用 RMIソケットファクトリを使って組み込み 実験内容 このJava RMIを使った音楽再生アプリケーションで再接続時に音楽が再開できることを確認 サーバ クライアント 再生 音楽データ

スループットの測定 8Mのデータを8bytesから16KBまでの異なるブロックサイズで送信した 送信データを保存するために遅くなる 実験環境 サーバ: Solaris 9 4/03 UltraSPARC 900MHz * 4 SDRAM 16GB クライアント: Windows XP Professional Pentium 4 1.92GHz SDRAM 384MB ネットワーク:100Mbps スループット(Mb/s)

遅延時間の測定 8bytesから1KBまでの異なるブロックサイズで送受信をおこなった 0.5msec程度のオーバーヘッドがある 実験環境 サーバ: Solaris 9 4/03 UltraSPARC 900MHz * 4 SDRAM 16GB クライアント: Windows XP Professional Pentium 4 1.92GHz SDRAM 384MB ネットワーク:100Mbps 遅延時間(msec)

まとめ 高信頼ソケットの開発 課題 ネットワーク再接続時にコネクションの回復とデータの再送を行う 多数の分散ミドルウェアを容易に高信頼化できる 実際に Java RMI に組み込んで確認 課題 再接続時に認証をする必要がある 再接続してきたクライアントが今まで通信していたクライアントと同一であることを確かめるため