Expod-sync EnvGroup Multi Device
Phoenix Desktopにおけるexpod-syncの設計思想について記述する。expod-syncとはデバイスの環境を同期することに依ってどこでも同じ環境を携帯できるようにする設計思想である。
expod-syncの設計思想
人が使うシステムにおいて最も正しいのは、Zのシステムでありこのシステムは常に携帯される。TPder【テレパシー使い】やギルクラと違い高速なプリミティブや高速な学習に現実的な限界がある以上は、人間がインターネットやメディアを通じて取得した拡張的なシステムを保持する場合はシステムはC上で構築されなければいけない。よってCのシステムも常に携帯して持ち運べるのが最善である。これを実現するためにはデスクトップマシンだけでなくモバイルデバイスも所持して、環境やライブラリを同期して持ち運べなければいけない。expod-syncとはこの設計思想を表した言葉である。
デバイスの認証方法
通常デバイスは有線で接続した上でそれぞれのマシン及びデバイスで相手側のデバイスを認証して、ペアリングするのが最善だろう。しかし有線のケーブルなどが無いなら普通は無線LANで接続してペアリングすることになる。この場合IP Specificの手法を使って相手のマシン及びデバイスのIPアドレスを特定してペアリングするか、パスワードを入力してペアリングするかパスコードを発行してそれを相手側のデバイスに入力してペアリングするかのいずれかになる。2ファクタ認証を使えばよりセキュリティー性は増すだろう。2ファクタ認証で使われるパスコード手法とは、認証されたデバイスから認証されるデバイスを増やす手法である。ペアリングされればそれぞれのシステムがEnvGroupに登録され、同期が自動で開始される。EnvGroupはグループであり、グループに登録されていればそのマシンはそのグループに所属することになる。
RavensとOxygenのシステム同期
EnvGroupに登録されたマシン及びデバイスのシステム中のシステムパッケージは使用頻度でカウントされ、よく使うものがそれぞれのマシンに保持され、どのマシンでもよく使うものはどのマシンでも保持され、専用のマシンでしか使われないものはそのマシンでしか保持されず、別のマシンで使いたい需要がある場合はLinkを通して透過的に利用され、よく使うマシンに移動される。
どのマシンやデバイスでもよく使う「Ravens」に相当するシステムやアプリケーションやライブラリ項目は全てのマシンやデバイスでexpod-syncとして保持・同期される。ひるがえってそのマシンやデバイスでしか使わない「Oxygen」なシステムパッケージは後述のLight Gridを使って保持され、EnvGroup内でLinkを使って別のマシンでも透過的に利用できる。これらはそれぞれのマシンやデバイスの容量の限界に届くまでLossyして同期される。これらの同期はインタラクティブであり同期ボタンを押す必要性はない(これはiOSより優れた点である)。
付加的な話だがCOMブラウザのブックマークやWalletのパスワードやパスコードもEnvGroupに登録すれば自動で同期される。カレンダー(Sunbird)などのイベントやメールソフト(Phoenix Mail)のメールなどPDA的な情報も同期される。
CCDnのキャッシュとLinkのX Kit
Phoenix Desktopでは重要でないあるいは古いパッケージやライブラリ項目はストレージの要領が満タンになって不足するようになると自動でLossy(削除)するようになっている。しかしCCDnを構築しているとLocal CapsuleなどのLAN内のサーバーにシステムの全てが保持されているため、ストレージに収まりきらないシステムパッケージがシステムで必要とされるとLAN内のネットワークを通したLinkのアーキテクチャを通ってそれらが参照され、画面共有の要領でローカルのシステムプログラムと連携して動作するようになっている。ローカルにはよく使われるシステムパッケージがキャッシュされ、最新の状態であることが確認され、最新でない場合はキャッシュが更新され、最新でない場合やストレージにそれらのシステムパッケージが無い場合はLinkのLocal Capsuleのシステムが連携して動くようになっている。そのCCDn用のサーバーのアーキテクチャのことをX Kitと呼んでいる。これはローカルのシステムとX Kitのシステムを透過的に繋いで動かしているということである。Phoenix Desktopはこういったシステム全体のインフラをフレームワークとしてもともと装備している。
Light Gridの構築、共有のLight Grid
Light GridはLAN内のマシンでそれぞれ特有のアプリケーション(「Oxygenなアプリケーション」と呼ぶ)を分担して保持し、CCDnを使って連携して動作させる手法である。これは通常のRavensのexpod-syncの発想とは見方によっては逆で、環境を同期して同じものにするのではなく分担してシステムを保持して透過的に連携するアーキテクチャだと言える。システムにはそのマシンでよく使うOxygenなアプリケーションのシステムパッケージが自動でカウントされ保持されるため、ネットワークの帯域は節減することが出来るし万一ネットワークに障害が起こってもよく使っているマシンにはそのマシンでよく使うOxygenなアプリケーションは保持されている。Linkを実現するために他のマシンは常にアクセス要求があった時にスリープから復帰する仕組みが必要である。ノートブックの場合Liquidモードで画面を閉じていても動作するようにノートブックが待機している必要がある。
ちなみに基本的にEnvGroupを登録してLight Gridを一度立ててしまえばEnvGroupを登録したノートブックさえ一つ用意すれば他のマシンのストレージ容量内のライブラリコンテンツやアプリケーションにはLinkで透過的にアクセスできるため、大抵の場合そのノートブック以外の他のマシンのディスプレイを開いて操作する必要はない。
Light Gridはある用事のための専用のマシン(Modと呼ぶ)を作った場合でも適用できるアーキテクチャである。例えばイラスト用の液タブ用のModマシン(クリエイティブ・タブレット)ではよく使われる画像のライブラリ項目が主に同期され、またイラストツールもそれらのマシンでよく使われるアプリケーションが保持される。この場合Ravensなシステムパッケージは設定によりシステム中で保持されない。
Light Gridは個人でLAN内で使う場合は問題ないが、他人とLight Gridを一緒に構築する場合は参加者の他のシステムに情報がリークされるため、プライバシーが侵害される問題が考えられる。よって共有のLight Gridの機能では独自のセキュリティーエリアを設定して共有する設定になっているモジュール及びライブラリ項目のみをLight Gridの共有に参加させることになる。
ワークステーションとセキュリティーエリア
ワークステーションのX Kitは施設などのシステム運営にも使える。ワークステーションでシステムを組み、それぞれの端末からワークステーションのシステムにアクセスすることに依って、どの端末からでも同一のアカウントにログインできるようになる。システム管理者はワークステーション上のシステムのみを管理し、障害に対応すれば良い。それぞれの端末もCCDnを保有し、ワークステーションのX Kitと透過的に利用できる。
ワークステーションのシステムの一部は個人のデバイスで使う個人のシステムにも組み込める。これらはセキュリティーエリアが違うシステムとして識別され、ワークステーションの管理者が組んだシステム及びその中にユーザーが個人アカウントに組んだシステムやデータを個人のEnvGroupとして設定された個人のシステムに組み込める。セキュリティーエリアを組み込む場合は、安全性の確認としての認証が必要となる。
XCloudのPrismにより組み込み
X Kitと似た手法としてXCloudにもPrismを利用することに依って透過的にアクセスすることが可能である。XCloudはクラウドベースで動作するデスクトップ環境であるが、ローカルのPrismアプリケーションを通してCCDnから透過的に利用可能である。この場合もセキュリティーエリアに依って環境が同期される。
WANやPhonからの外部ログイン
CCDnやX KitはLAN内だけでなくWAN(インターネット)越しにもアクセスすることが可能である。この場合認証機能を装備し、通信を暗号化することに依って安全性を確保してLAN外部のインターネットからアクセスする。通常のインターネットだけでなくPhonネットワークからアクセスすることも可能である。PhonはTPderと同様な手法で無線デバイスを利用して公衆の広域なネットワークを構築し誰でも無料でいくらでもインターネットが使える機能である。よって外出先でもPhonやあるいは図書館やコーヒーショップのような施設や店舗の無線LANスポットのインターネットを利用することに依って、家のローカルなシステムにアクセス可能である。認証のためのパスコードはWalletとしてEnvGroupの設定時に同期されるため、ユーザーは明示的に入力する必要はない。
Env.GroupとiCloudの排除
iCloudは便利ではあるが、プライバシー性に難がある。Phoenixはプライバシーポリシーを張りメンバーにもガイドラインを制定してはいるが、完全にプライバシーを確保し情報がリークされないとまでは確証できない。よってデバイスの個人情報などのデータや書類などの個人情報はクラウドでは無くLAN内でEnvGroupで同期されるべきである。EnvGroupを使えばプライバシーが侵害されることはないし、クラウドに権限を握られることもない。iCloudを使うのは利便性のメリットおよびネットワーク上の他のユーザーとの共有のための機能なので、個人情報を扱うのには向いていない。アップルやGoogleはそこで間違えている。
CompressorとEnvGroup
CompressorはEnvGroupに登録した主にLAN内のマシンでプロセッサやメモリのタスクの分散処理を行うための機能である。設定するのは非常に容易でEnvGroupの設定をするだけで自動でCompressorも構築される。LANで繋がっていればEnvGroupに登録したマシンのプロセスは自動で分散処理される。これはタスクの転送のために若干のオーバーヘッドが発生するが、処理は分散されるため高速化される。タスクは暗号化されて転送されるため、盗聴される危険性は低い。Web Capsuleを立ててサービスを開始すればLAN外でも分散処理可能である。
バックアップと非常用のデバイス
EnvGroupに登録するとEnvGroup全体のシステムが一つのシステムとして透過的に扱われるため、セキュリティー性に難がある。結局のところどこかのデバイスのセキュリティーが破られれば、他のデバイスのシステムも破壊されかねない。依って非常用のデバイスあるいはマシンを用意して、これにCopy Toolを使って一時的に同期してあとはEnvGroupの登録情報は破棄しておくべきである。システム変更が重なり必要なタイミングになったらまたCopy Toolを使って同期すれば良い。
バックアップは取っておくことを強く推奨する。Wi-Fi TimeMachineであれば独立したシステムとしてウイルスをスキャンすることになるので、他のデバイスがウイルスに感染してもデータは保全される。ただし他のシステムが侵害されてシステムやコンテンツが削除されたり変更されたりすると(これは直接的なウイルスではないため)検知されず他のシステムも侵害されるため、バックアップは単一のバックアップではなく過去の履歴も含んだ差分バックアップでなければいけない。実際はDsvnなどでバージョン管理システムを使ってバックアップを作成する。
Jail-BreakingとOpen Web App
モバイルデバイスやタブレットデバイスは、Phoenix MobileやPhoenix TabletをインストールするためにJail-BreakingかOpen Web Appを使わなければいけない。これはWebブラウザの脆弱性を付いてインストーラーを動作させるかアプリをインストールしてそこからインストーラーを動作させシステムを書き換えるかということである。アップルは最近になってiTunesでのアプリインストールを利用不能にしているため、そのバージョンのiTunesではOpen Web Appの手法は使えない。またAndroidでもJail-Breaking以外にシステムを書き換える方法は無いだろう。
アプリケーションとアプリの同期対応
Phoenix MobileやPhoenix Tabletなどのモバイル用のシステムにおいては、システムはCCDアプリ方式で管理される。つまり依存を内部に含んだアプリケーションバンドルに相当するアプリをインストール・アンインストールする方法でシステムを拡充する。アプリはCCDアプリセンターでインストール/アンインストールする。Phoenix DesktopのアプリケーションとPhoenix Mobile及びPhoenix Tabletのアプリは対応関係になる。よって他のデバイスでアプリケーションやアプリがインストールされた場合他のシステムにも対応するアプリケーションかアプリが自動でインストールされる。
Phoenix TVとiPad視聴
Phoenix TVをHDMIポートのあるデスクトップマシンなどで立ててHDMIケーブルでDVD/Blu-ray・HDDレコーダーと繋ぐことで、番組を録画したりストリーミング配信することが可能になるらしい。例えばPhoenix TVと同じEnvGroupに登録したiPad mini【通常のiPadは大きすぎて可搬性に欠けるため、miniのほうで記述する】でテレビ放送を視聴することが可能らしい。











