木曜日 4 17, 2008

[ English version is here

2日目(4/10/2008)は以下のセッションに参加しました。

  • Project Caroline
  • Project Darkstar / Project Wonderland

以下、要約です。

Project Caroline

Project Caroline はインターネットベースのサービス(アプリケーション)の開発とデリバリー(配備)の両方を支援するホスティング・プラットフォームです。このプラットフォームは「プログラミングを使って設定できる」仮想的な CPU、ストレージ、ネットワークのリソースなどから構成されています。Project Caroline はソフトウェア・プロバイダがサービスを迅速に、また商用サービスのアップデートを頻繁に行うことを可能にします。また実際の要求に応じてサービスへのリソースの割り当てを自動的に調整します。

インターネットのサービスは単に「プログラムコードを書く」というところから「コードを書いて実行する」という方向に移行していますが、この作業は想像以上に大変なものです。なぜならそれは開発者のワークフローが単にプログラムを書くだけでなくアプリケーションの配備・メンテナンスを含めたものになるためです。このような管理の煩雑さを開発者から解放するために、Sun Labs では "Project Caroline" と呼ばれるリサーチ・プロジェクトを発足させ、長期に渡って実行されるインターネットサービスの開発と配備の両方のためのプラットフォームづくりを進めてきました。

Project Caroline の大きな特徴のひとつとして「分散リソースの完全なプログラム制御」が可能なことが挙げられます。つまり、開発者はアプリケーションを書くように Java, JRuby, Perl, Python などを用いてネットワークのリソース管理が行えるわけです(これらは現在では基本的に設定ファイルを手動で、もしくはなんらかの GUI ツールを用いて編集するのが一般的です)。例えばレイヤー4ロードバランサーを次のような Java コード(一部)で作成・設定することが可能です。

scfg = new L4VirtualServiceConfiguration();
scfg.setExternalNetworkAddress(extAddr.getUUID());
scfg.setPort(80);
scfg.setProtocol(Protocol.TCP);
scfg.setRealServices(Arrays.asList(
new RealService(intAddr.getUUID(), 8080)));
myLB = grid.createNetworkSetting(“myLB”, scfg);

以下は DNS record を作成する別の例です。

bcfg = new HostNameBindingConfiguration();
bcfg.setHostName(“www”);
bcfg.setAddresses(Arrays.asList(extAddr.getUUID()));
myDNS = grid.getExternalHostNameZone().createBinding(
“myDNS”, bcfg);

このセッションでは他に Project Caroline を用いて Facebook のアプリケーションのリソースを制御するデモを披露していました。プロジェクトに関する詳細なドキュメント・他のサンプルなどについては https://www.projectcaroline.net/ を参照してください。

Project Darkstar / Project Wonderland

Project Darkstar はオンラインゲームのような大規模かつ最小限のレイテンシーが求められるアプリケーションのためのソフトウェアサーバですべて Java で実装されています。このプロジェクトはオープンソース(GPLv2)で利用可能であり、商用ライセンスも提供可能です。このプロジェクトの主目的は CPU などのリソースを効率的に利用できるインフラを提供する一方、開発者に対してはシンプルなイベント・ドリブンかつ単一のシステムとしてこのプロジェクトを利用できるようにしています。現在のフォーカスとしては、ひとつのオンラインゲームを複数のマシンが強調して提供する、いわゆるクラスタリングのサポートをメインに行っています。このプロジェクトに関する詳細に関しては http://projectdarkstar.com/ を参照ください。

Project Wonderland は Java ベースの 3D 仮想空間を構築するためのツールキット(Java 版 Second Life のようなもの)です。この世界では実世界に近い音声を使って互いにコミュニケーションをとったり、Web ブラウザや OpenOffice (文書も含めて)などのアプリケーションを共有することが可能です。そしてこの Project Wonderland は先ほどの Project Darkstar をベースとして実装されています。このセッションではスループットの問題を克服するためにどのように Wonderland client のデザインを変更したか、また Project Darkstar Server によりよく適応するためにどのような変更をしたかなどが詳細に語られていました。

投稿されたコメント:

コメント
  • HTML文法 不許可