OCALA: An Architecture for Supporting Legacy Applications over Overlays Dilip Antony Joseph 1, Jayanth Kannan 1, Ayumu Kubota 2, Karthik Lakshminarayanan.

Slides:



Advertisements
Similar presentations
OCALA: An Architecture for Supporting Legacy Applications over Overlays Dilip Joseph 1, Jayanth Kannan 1, Ayumu Kubota 2, Karthik Lakshminarayanan 1, Ion.
Advertisements

AIR マスターへの 抜け道!? ~といいつつ王道話です~ 平成 20 年 2 月 6 日 図書系のための アプリケーション開発講習会.
Netcat(nc) の使用方法 2005/02/06 伊原秀明 (Port139). © Hideaki Ihara(Port139).2 netcat とは? “Swiss Army knife” プログラム ネットワーク( TCP/IP )経由でデータの 送受信を行うことが可能 バックドアやポートスキャナとして利用.
ヴァウドットコム株式会社 ObjectIN 取引先一括メンテナンス. Biz Rule: データ入力チェック B iz Apply: データベース連携 COM +イベントによる 代替オペレーション ポーリング方式でなく アプリケーション監視による 最新データの同期機能 Biz Exchange (注.
あなたは真夜中に 山の頂上を目指す登山者です
ヴァウドットコム株式会社 ObjectIN 見積書作成. Biz Rule: データ入力チェック B iz Apply: データベース連携 COM +イベントによる 代替オペレーション ポーリング方式でなく アプリケーション監視による 最新データの同期機能 Biz Exchange (注 1 ) :
7.n次の行列式   一般的な(n次の)行列式の定義には、数学的な概念がいろいろ必要である。まずそれらを順に見ていく。
第 3 回 iPhone アプリ開発勉強会 Objective-C 基礎講座 - インスタンスメソッド - 三井 相和.
9.線形写像.
概要 2009 年 10 月 23 日に、いて座に出現した X 線新星 (XTE J ) を、出現から消滅まで 全天 X 線監視装置 MAXI (マキシ)で観測したところ、 新種のブラックホール新星であることが判明した。 従来のブラックホールを、 多量のガスを一気に飲み込む「肉食系」と.
時間的に変化する信号. 普通の正弦波 は豊富な情報を含んでいません これだけではラジオのような複雑な情報 を送れない 振幅 a あるいは角速度 ω を時間的に変化 させて情報を送る.
情報処理A 第10回 Excelの使い方 その3.
5.連立一次方程式.
相関.
ノイズ. 雑音とも呼ばれる。(音でなくても、雑 音という) 入力データに含まれる、本来ほしくない 成分.
広告付き価格サービ ス 小園一正. はじめに 世の中には様々な表現方法の広告があり ます。その中でも私たち学生にとって身 近にあるものを広告媒体として取り入れ られている。 価格サービス(無料配布のルーズリー フ)を体験したことにより興味を惹かれ るきっかけとなった。主な目的は、これ.
素数判定法 2011/6/20.
フーリエ係数の性質. どこまで足す? 理想的には無限大であるが、実際に はそれは出来ない これをフーリエ解析してみる.
1章 行列と行列式.
本宮市立白岩小学校. 1 はじめに 2 家庭学習プログラム開発の視点 ① 先行学習(予習)を生かした 確かな学力を形成する授業づく り ② 家庭との連携を図った家庭学習の習慣化.
Internet Application/Presentation Layer 岡村耕二. Application and Presentation Layer Application 層 – データ通信を利用した様々なサービスを人間 や他のプログラムに提供する。 Presentation 層 –
フーリエ級数. 一般的な波はこのように表せる a,b をフーリエ級数とい う 比率:
3.エントロピーの性質と各種情報量.
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
Excelによる積分.
1 6.低次の行列式とその応用. 2 行列式とは 行列式とは、正方行列の特徴を表す一つのスカ ラーである。すなわち、行列式は正方行列からスカ ラーに写す写像の一種とみなすこともできる。 正方行列 スカラー(実数) の行列に対する行列式を、 次の行列式という。 行列 の行列式を とも表す。 行列式と行列の記号.
計算のスピードアップ コンピュータでも、sin、cosの計算は大変です 足し算、引き算、掛け算、割り算は早いです
線形符号(10章).
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
10.PとNP完全問題との境界.
複素数.
4.プッシュダウンオートマトンと 文脈自由文法の等価性
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
システムプログラム論 課題 大村 廉. 課題 Java を用いて Producer / Consumer 問題を解決する MyBuffer クラスを –Synchronized キーワード –Semaphore クラス (java.util.concurrent.Semaphore) を用いてそれぞれ作りなさい.
信号測定. 正弦波 多くの場合正弦波は 0V の上下で振動する しかし、これでは AD 変換器に入れら れないので、オフ セットを調整して データを取った.
1 9.線形写像. 2 ここでは、行列の積によって、写像を 定義できることをみていく。 また、行列の積によって定義される写 像の性質を調べていく。
通信路(7章).
3.プッシュダウンオートマトンと 文脈自由文法
6.符号化法(6章).
3.正方行列(単位行列、逆行列、対称行列、交代行列)
信号の取り込み. AD 変換器 ( AD コンバータ) ( ADC) は、 電気信号をコンピュータに取り込 む装置です.
Analog “ neuronal ” networks in early vision Koch and Yuille et al. Proc Academic National Sciences 1986.
方程式を「算木」で 解いてみよう! 愛媛大学 教育学部 平田 浩一.
C言語応用 構造体.
Servlet 入門 大岩研究室 川村昌弘. そもそも WEB アプリってなんやね ん n この研究会のテーマは『 WEB アプリケー ションの開発』でした. n じゃぁ WEB アプリケーションって何です か? o WEB アプリってどんなものがありますか? 検索エンジン 乗換え案内サイト 翻訳.
1. 学内や寮への LAN アクセスポイント 設置にともなう接続確認および接続 マニュアルの作成 2. 無線 LAN の Air Station による環境設定 3. 現在進行中の活動 卒業研究中間発表 D1957 河野和宏.
Automatic Language Acquisition, an Interactive Approach † Robert J. Martin † 大西昇 ‡ 山村毅 † 名古屋大学 ‡ 愛知県立大学.
ノベルゲームシステムとネット ワークの連携について 1104081 下元 悠嗣. 研究内容 ノベルゲーム専用のスクリプトエンジン 吉里吉里 /KAG にネットワーク機能を追加 することで従来にない特色を持ったシス テムの開発.
機械情報工学科 光来研究室 中村孝介.  IDS は攻撃者の侵入を検知するシステム ◦ 監視対象  ディスク、メモリ、ネットワーク  攻撃者により改竄・停止させられる可能性がある ◦ 侵入を検知できなくなる IDS 攻撃者 検知 停止 ディスク メモリ ネットワーク ディスク.
HKS Analysis Log Jul 2006 Part1 D.Kawama. 第壱部 HKS Sieve Slit Analysis.
1 中野研究室 4 年ゼミのイロハ 斉藤(修士 2 年) ( 2009 年 ”4 年ゼミのイロハ ” を参考に作りました)
移動エージェントプログラムの 動作表示のためのアニメーション言 語 名古屋大学情報工学コース 坂部研究室 高岸 健.
「ネット社会の歩き方」レッスンキット プレゼンテーション資料集 15. チャットで個人情報は 言わない プレゼンテーション資料 著作権は独立行政法人情報処理推進機構( IPA )及び経済産業省に帰属します。
8.任意のデータ構造 (グラフの表現とアルゴリズム)
第14回 プログラムの意味論と検証(3) 不動点意味論 担当:犬塚
実験5 規則波 C0XXXX 石黒 ○○ C0XXXX 杉浦 ○○ C0XXXX 大杉 ○○ C0XXXX 高柳 ○○ C0XXXX 岡田 ○○ C0XXXX 藤江 ○○ C0XXXX 尾形 ○○ C0XXXX 足立 ○○
ネットワークの基礎技術と TCP/IP 曹 暁達 ( そう ぎょうたつ ) 国際産業情報学科 2 年 10 月 28 日.
オセロの思考アルゴリズムについて 1103072 岩間 隆浩.
NO!END!NO!CLEAR ! J チーム 渡邊光児 小山内彩子 下山直城. 役割 渡邊光児 ゲームオーバー画面の作成、ライフの絵作成 小山内彩子 ゲーム内のプログラム、主人公と敵と背景作 成 下山直城 タイトル画面の作成.
小島 肇  Windows ではアンチウイルスソフトウェアは 必須だが、「入れれば安心」というものでは ない  Mac, Linux における費用対効果はかなり低い  現時点ではマルウェアは流行っていないから  Windows を併用している場合は別.
音の変化を視覚化する サウンドプレイヤーの作成
Self-efficacy(自己効力感)について
OCALA: An Architecture for Supporting Legacy Applications over Overlays Dilip Antony Joseph 1, Jayanth Kannan 1, Ayumu Kubota 2, Karthik Lakshminarayanan.
本文. 考えながら読みましょ う 「いろいろなこと」( 3 行目)は何で すか 「①電話料金はコンビニで支払いをしていま す。いつでも払えますから、便利です。」 「②夕食はコンビニで買います。お弁当やお かずがいろいろありますから。」今、若者に 人気のあるコンビニは、いろいろなことをす るのに非常に便利な場所になった。
たくさんの人がいっしょに乗れる乗り物を 「公共交通」といいます バスや電車 と 自動車 の よいところ と よくない ところ よいところ と よくない ところ を考えてみよう!
Rails Chat! Rails 関西 Rails Chat の歴史.
2015/11/19. To foster Historical Thinking Skill by Creating Story Necessary Relationships and Elements of Characters In historical learning, historical.
OCALA Overlay Convergence Architecture for supporting Legacy Applications on Overlays Dilip Antony Joseph 1, Jayanth Kannan 1, Ayumu Kubota 2, Karthik.
肝臓移植 プロの肝臓移植サービスを選 択. 肝臓移植が必要なのはいつです か? 肝移植は、肝臓がもはや 適切に機能しなくなった とき(肝不全)に考慮さ れる。 ウイルス性肝炎、 薬物誘発傷害または感染 の結果として肝不全が突 然起こることがある(急 性肝不全)。 肝不全は長 期的な問題の最終結果で.
腎臓移植 腎臓移植の前に、ドナー両方の腎臓は機 能的に良好でなければならない。ドナー の両方の腎臓が機能的に健康であること を保証するために、多数の試験が行われ ている。
Presentation transcript:

OCALA: An Architecture for Supporting Legacy Applications over Overlays Dilip Antony Joseph 1, Jayanth Kannan 1, Ayumu Kubota 2, Karthik Lakshminarayanan 1, Ion Stoica 1, Klaus Wehrle 3 1 UC Berkeley, 2 KDDI Labs, 3 University of Tübingen

Motivation インターネットインフラストラクチャの改変は成功して いない –Mobile IP, IP multicast, Intserv オーバレイネットワークはインターネットを改変せずに 新しい機能を提供できる –RON : resilience to path failures –i3 : mobility, NAT traversal, anycast, multicast –OverQOS : quality of service しかし普及している実装はない 少しずつ普及させたい そのために、一般的なアプリケーションをオーバレイ ネットワークで利用できればよい (Firefox, IE, samba, ssh)

Legacy Applications on Overlays Approach 1 : アプリケーションの再実装 – 時間がかかる、面倒である、クローズドソー スだと不可能である Approach 2 : そのままアプリケーションが 実行可能なオーバレイネットワークの作 成

Goals 透過性 –Legacy apps unaware of overlay 相互運用性 –Hosts in different overlays should be able to talk to each other 個々のオーバレイの機能を利用可能 –User control over which overlay to use, what overlay specific properties to use 一般的な要求事項の抽出 –Security, compression

Overlay Convergence Architecture for Legacy Applications (OCALA) Overlay Convergence (OC) Layer Overlay (DOA, DTN, HIP, i3, RON, …) Overlay (DOA, DTN, HIP, i3, RON, …) Legacy Applications (ssh, firefox, explorer, …) Legacy Applications (ssh, firefox, explorer, …) Transport Layer (TCP, UDP, …) Transport Layer (TCP, UDP, …) OC Independent (OC-I) Sublayer OC Dependent (OC-D) Sublayer Transport Layer とオーバレイの間に Overlay Convergence Layer が割り込む.

複数のオーバレイネットワークへ の 同時アクセス OC-I i3 Firefox OC-I RON ssh RON IRC ssh … OC-D i3 RON Internet … OC-I i3 IRC … Host A Host B Host C IP

Naming DNS のような名前の割り当て berkeley.pl.i3 berkeley Interpreted by OC-I OC-I uses suffix to invoke corresponding OC-D instance Overlay type Overlay instance.pl.i3 Overlay specific name OC-I OC-D Transport Overlay OC-D 解決アルゴリズム – オーバレイ特有 (e.g., hashing names to IDs in i3) – 一般的な手法 (e.g., OpenDHT, DNS, address book) –ID マッピング : OC-D で利用されているフラットな ID を用いる Interpreted by OC-D OC-D resolves this name to an overlay specific ID/Addr (e..g, i3 ID, HIT, EID, IP addr)

Bridging Overlays ホスト A のアプリケーションが foo.ron_bar.i3 への DNS リクエストをだす A は bar.i3 (B) over i3 へのトンネル作成 B は RON を解した foo.ron (C) へのトンネルを作成 パスの構築完了 OC-I Host A Appl. OC-I Host C (foo.ron) Appl. OC-I Host B (bar.i3) i3 OC-D i3RON i3 RON tunnel path

Legacy Server Gateways サーバーは OCALA をローカルで動作させる必要はない Legacy Server IP (LSIP) と呼ばれる Special OC-D モ ジュールを用いる LSIP は NAT のような働きをする OC-I Appl. OC-I OV LSIP Legacy gateway Overlay (OV) Internet Overlay client OV Legacy server ( *.gov  OV … Configuration file

Legacy Client Gateways 同様にクライアントも OCALA をローカルで動か す必要はない ゲートウェイに Legacy Client IP (LCIP) モ ジュール OC-I Appl. OC-I LCIP OV Legacy gateway Overlay (OV) Internet Legacy Client OV Overlay server (foo.ov) DNSreq(foo.ov.ocalaproxy.net)

Design

新規接続の確立 Legacy App. Transport Layer OC-I Layer OC Layer 1 DNSreq(foo.ov) Name Res. Service (local addrbook, DNS, OpenDHT…) Host A Host B (foo.ov, ID B ) Overlay (DTN, i3, RON) i3RON … 2 setup(foo.ov) 3 resolve(foo.ov) 4 ID B 5 overlay specific setup protocol DNSresp(oc_handle = IP AB ) 8 tunnel_d = td AB 6 1.x.x.x OCI-Setup (pd AB ) 7

データの流れ Overlay (DTN, i3, RON) pd AB ↔ IP AB pd AB  td AB td AB  ID B Legacy App. Transport Layer IP AB datapd AB data IP AB td AB, pd AB dataIP AB ID B pd AB ↔ IP BA td BA  ID A Legacy App. Transport Layer IP BA datapd AB data IP AB Host A (ID A )Host B (foo.ov, ID B ) OC-I OC-D OC-I “foo.ov”  pd AB pd AB  td BA

Overlay Dependent Layer OC-D が OC-I に提供する API –Setup (tunnel_info) –Close (tunnel_d) –Send (tunnel_d, pkt) OC-D によって呼ばれる OC-I のコールバッ ク関数 –SetupDone (tunnel_d) –Recv(pkt) i3, RON モジュールを実装

Applications

複数のオーバレイネットワークへの同時アクセ ス オーバレイの構成 – 複数のオーバレイをユーザは選択して利用できる –Eg: ワイヤレス通信は i3 経由で、ワイドエリア通信は RON 経由で Applications enabled by new overlays –Receiver imposed middleboxes –NAT traversal

Receiver Imposed Middleboxes OC-I i3 Appl. OC-I i3 Appl. OC-I i3 foo.i3 i3 Host A Bro 受信者 (foo.i3) はすべてのトラフィックをオーバレイの機 能を用いてミドルボックスを経由して通信するようにする (e.g., i3) Sets up connection to foo.i3

NAT Traversal Application I3 サーバを中継に利用する NAT 下同士のノードの直接通信を実現 NAT Box i3

実装 プロキシとして実装 –tun device used to capture packets Linux and Windows XP/2000 (using cygwin) 上で実装 RON and i3 OC-D モジュールを実装 セキュリティ –SSL のような認証および暗号化

制限 パケットの中に IP アドレスを含むものは失 敗する –Example: ftp, SIP OCALA 専用ヘッダによってオーバヘッド が発生する 従来のアプリケーションは、オーバレイ の新しい機能を利用できない –Example: multicast

まとめ オーバレイは “Internet の行き詰まり ” を打 破する OCALA は従来のアプリケーションを、新 しいオーバレイネットワーク上で、新し い機能を用いて動作可能にする OCALA は異なるオーバレイネットワーク の相互運用を可能にする. 一般的なプロキシとして実装

Thank you More information and proxy download at

Sender Imposed Middleboxes OC-I i3 Appl. OC-I i3 Appl. foo.i3 i3 Host A Sender wishes to force traffic to go through a transcoder not directly on the path. OC-I i3 mytranscoder.i3 Transcoder Sender wishes to communicate with foo.i3. Sets up connection to foo.i3 Sets up connection to foo.i3_mytranscoder.i3

Transparent use of Overlays Make legacy apps oblivious to overlays  preserve standard IP interface OC needs to decide which overlay to use –IP address and port number: E.g., forward all packets to port 80 over RON Advantage: works with all applications Disadvantage: hard to remember and configure –DNS name: E.g., forward all packets sent to berkeley.ron over RON Advantages: human readable, flexible Disadvantage: some applications don’t use DNS names

????

Goal 1: Achieving Transparency Make legacy apps oblivious to overlays –Preserve standard IP interface Deciding which overlay to use –IP address and port number : E.g., forward all packets sent to port 80 over RON –DNS name: E.g., forward all packets sent to berkeley.ron over RON Human readable Easy to encode user preferences

Goal 3: Customizing Overlay Functionality Overlays have customizable parameters –Example: OverQoS – maximum acceptable latency, RON – which routing metric (loss, throughput) to use, i3 – enable shortcut Encode preferences in DNS name –Example: berkeley.mindelay.ron –Example: berkeley.maxbwdth.ron –Max 255 characters –Long names are inconvenient Use regular expressions in configuration files

Customizing Overlay Functionality OC-I i3 Firefox OC-I RON ssh RON ftp ssh … OC-D i3 RON Internet … Host A Host B IP berkeley.mindelay.ron ftp berkeley.maxbwdth.ron

Goal 4: Common functionality Functionality required by multiple overlays implemented in the OC-I layer Example: Security –Similar to SSL –Modifications for supporting middleboxes

Overlay Convergence Architecture for Legacy Applications Overlay Convergence (OC) Layer Overlay (DOA, DTN, HIP, i3, RON, …) Overlay (DOA, DTN, HIP, i3, RON, …) Legacy Applications (ssh, firefox, explorer, …) Legacy Applications (ssh, firefox, explorer, …) Transport Layer (TCP, UDP, …) Transport Layer (TCP, UDP, …) OC Independent (OC-I) Sublayer OC Dependent (OC-D) Sublayer Interpose an Overlay Convergence Layer between transport layer and overlay networks.

Overlay Dependent Layer API exposed by OC-D to OC-I layer –Setup (tunnel_info) –Close (tunnel_d) –Send (tunnel_d, pkt) Callbacks from OC-D to OC-I –SetupDone (tunnel_d) –Recv(pkt) i3, RON modules implemented

i3 Middlebox Demo OC-I i3 Firefox OC-I i3 apache OC-I i3 Middlebox M Hello.i3 i3 Client BRO

i3 Web Server R hello.i3 id M,id R id hello Middlebox M BRO IDS IP M id M IP R id R Client Web Browser id hello data id hello data id hello data id hello data id hello data i3 Middlebox Demo

Home NAT Box NAT Traversal Demo i3 Client IP R id R data id R data Receiver R

Interfacing middleboxes OC-I i3 Appl. OC-I i3 Appl. OC-I i3 Host M (mbox.i3) Host C (foo.i3) i3 Host A Middlebox Middleboxes cleanly fit into the OC architecture.

Evaluation Micro-benchmarks –~20 μs overhead each for tun, OC-D and OC-I layers –DNS lookup latency First time : 169 μs From cache: 15 μs LAN experiments –Throughput close to that of pure IP. –Latency less than double that of pure IP. Wide Area experiments –Throughput close to that of pure IP. –No increase in latency.

Example Configuration File All traffic going to URLs containing “berkeley” or ending with “.gov” should first go through a firewall over i3 and then to the destination over RON. <Security protocol = "custom SSL" mode = "endhostonly" /> <Compression algo = "zlib" level = "5" /> <Hop overlayId = "PlanetLab.i3" HopEndPointName = “firewall1.berkeley.edu.i3" > <Hop overlayId = "PlanetLab.i3" HopEndPointName = “RON_i3_Gateway.berkeley.edu.i3" /> <Hop overlayId = "ron.PlanetLab" />

Micro-benchmarks Per-packet overhead while sending data μsμs i3RON No EncryptionEncryptionNo EncryptionEncryption OC-I OC-D20 28 tun Per-packet overhead while receiving data μsμs i3RON No EncryptionEncryptionNo EncryptionEncryption OC-I OC-D Tun DNS lookup overhead –First time = 169 microseconds –From cache = 15 microseconds

LAN Experiments 2 proxies on the same LAN millisecondsi3i3-shortcutRONIP No-Encryption Encryption NA kbpsi3i3-shortcutRONIP No-Encryption Encryption NA Latency Throughput

Wide Area Experiments Proxies running at 3 different locations. RON and i3-with-shortcut have latency close to pure IP.

Wide Area Experiments (contd.) RON and i3-with-shortcut throughput >= 75% of throughput of pure IP Anomalous behavior of packets sent to A