Frameの基本的な仕組み

Nutanix Xi Frame Advent Calendar 2018

Frame Advent Calendar をやるという話を聞き「おー、頑張るなー」と思っていたら当然の様に巻き込まれ参加する事になりました。
まあそうですよね。

事の発端は今年の8月にNutanix に入社して VDI や EUC(End User Computing) の世界を離れ心機一転インフラ側の技術に取り組むぞ、とふんわりとした決意をしていた2日目か3日目の朝、ニュースで Frame 社の買収を知り半ば強制的にこちらの世界に引き戻されてしまいましたとさ。
めでたしめでたし…?

こうなった以上、ライフワークとして Frame おじさん3号頑張るぞ。

筆者といわゆる EUC(SBCやVDI、Thin Clientなどが含まれる)との出会いは今から15年以上前の、まだ Citrix MetaFrame と呼ばれていた製品の時代。
これでリモートアクセスやPCの一元管理など、色々な課題が一挙に解決できると興奮したのを覚えています。

Frame の位置付け

Citrix やその後台頭してきた VMware の EUC 製品は基本的にエンタープライズをターゲットにしているため非常にキメ細かなカスタマイズ機能を持っていますが、きちんと実装して運用するためにはかなり広範な製品やOS、仮想マシン回りの知識が必要になります。
巷では「VDIは遅い」「トラブルが多い」といったイチャモン話も聞きますが、実際には何処かのレイヤーでこれらの知見が不足した事による不幸な状況、というケースも多々あるようです。

Frame はそれらエンタープライズ EUC 製品と異なり、全てにおいて "シンプルで簡単" である事が売りになっています。現在はDaaSとしてサービスの形式で提供されていますので、利用者は契約し、基本的なアプリケーションの準備を完了すれば利用開始する事が出来ます。



Frame の接続方法

Frame は他のVDI 製品や DaaS と同じく「画面転送方式」でクラウド上の仮想マシンにアクセスし、Windows Desktop やその上で動作するアプリケーションを利用します。

画面転送方式には一般的な端末側にクライアントソフトウェアをインストールする形式ではなくインターネットブラウザのウィンドウ内で画面転送セッションを実現する「HTML5クライアント」方式を採用。
仮想マシン ⇔ クライアント端末間の通信は「WebSocket」を使用しています。

転送する画像情報の圧縮にはH.264ベースの方式を利用、これに QoS の仕組みを実装したものが Frame の独自画面転送プロトコルである「FRP(Frame Remoting Protocol)」です。


Frame はこの"HTML5クライアント"方式による画面転送を2012年に考案していますが、実はこの技術はそう特殊なものではなかったりします。
同じ画面転送方式による EUCソリューションを提供している各社にも同様の転送方式が存在しています。
例えばパッと思いつく範囲では次のあたりになります。


・Citrix

2012年にHTML5クライアント「Receiver for HTML5」を正式リリース
現在では画面転送方式にH.264ベースのものを更に進化させたものやマルチモニターのサポートなど、FRPではまだ実現できていない機能も実装済み

・VMware

2013年にHTML5クライアント「AppBlast(現:HTML Access)」をリリース

・Ericom

2011年にHTML5クライアント「AccessNow - HTML5 RDP Client」のβ版をリリース


と、このように特殊で怪しい新技術というわけでは無く、ほぼ同じ時期に似たような方式でブラウザ上での仮想デスクトップ操作を実現しています。
要するに「既に各社で実績のある枯れた仕組み」という事になります。

ちなみに、この"ブラウザ内で仮想デスクトップを操作"という技術は実は2000年代の初めには既に登場していました。
これは Citrix MetaFrame XP のインストールディスクですが、「icajava」というフォルダが確認できます。これは「ICA Javaクライアント」と言い、クライアント端末から接続する際にクライアントエンジンとなる Java アプレットをダウンロードする事で、ブラウザ上での仮想デスクトップ操作を実現していました。
昔話終わり。


というわけでシンプルかつ簡単で、クライアント端末側はHTML5が扱えるブラウザのみ有ればOKな Xi Frame
なかなかイケてるんじゃないでしょうか?

ではまた。



コメント