New Products |
|
|
a3S(Anything as a Service) |
|
クラウド伝送ライブラリ(特許出願中) |
【特許出願番号】特願2010-290022 |
|
● 別途見積 |
●リリース 2011年5月 クラウドサービス |
|
|
|
標準的なスタンドアローンアプリケーションをクラウド上で使用可能とするにはさまざまな方法がありますが、低コストで開発できるように汎用的なフレームワークとしてa3Sというシステムの開発を進めています。
多くのアプリケーションに適用できるように設計され、主にサーバとクライアントの間の汎用的なデータの通信技術とサーバのファームの管理機能があります。これによって、このシステムの名称を「Anything
as a Service」(AaaS)と名付け、これを「a3S」(エー・スリー・エス)と呼ぶこととしました。
クラウド上での使用を実現する方法としては以下の方法が考えられます。
- 共有実装にはアプリケーションと通信するアプリケーション固有のクライアントを開発する方法がある。定義が必要なネットワークプロトコルの中でアプリケーションのすべてのコマンドがカプセル化されなければならない。さらに、クライアント側で表示されるユーザインタフェースに対して、サーバとクライアント間のメッセージ処理や、インタフェースの描画と更新などにより多くの開発が必要になる。
- アプリケーションコードをWebブラウザやサーバが翻訳可能な言語に移植する方法がある。このような言語にはPHP、
Python、 Javascriptなどがあり、アプリケーションよりもスクリプトを書くのに適切な方法となる。小規模なアプリケーションであっても、コードの移植には時間を要する上、アプリケーションの仕様をその言語に適合するよう変更が必要となる場合もあります。
a3Sクラウドシステムはここに示した2つの方法の特有の欠点を解決するよう、また、一般的にユーザや開発者双方の観点から使い易さを強化して提供するように設計されています。a3Sシステムでは方法1で説明した仕組みを利用しますがデータの通信の基礎開発が発生しないように汎用的なフレームワークを提供します。
a3Sクラウドシステムで元スタンドアローンアプリケーションをサーバー上で起動させ、アプリケーションが持っているデータ、ビデオとオーディオの内容をa3Sのシステムへ送信します。またクライアント側でその内容をa3Sのシステムから取得し、ユーザの操作やサーバー側のアプリケーションに送信したいコマンドをa3Sシステムに送信します。このためにa3Sのサーバーモジュールとクライアントモジュールで提供しているAPIを利用します。ネットワーク上の通信処理と映像やオーディオの伝送はa3Sシステム内で行うため開発のコストが大幅に軽減できます。
サーバー側ではa3Sが必要に応じてリアルタイム圧縮を使用し、クライアントへ最新の情報を連続的に送信します。クライアント側ではシステムがユーザ動作を監視し、該当するサーバーアプリケーションに送り返します。
クライアントマシンでのユーザ入力(キーボードやマウス)はクライアントアプリケーションで監視され、背後にあるa3Sクラウドシステムによってアプリケーションマシンへ送られ、リアルタイムの双方向性を可能にしています。広範囲のクライアントマシン、ユーザに適合するために多くの異なったクライアントアプリケーションを存在させることが可能です。
|
クラウド上にあるアプリケーションを多くのクライアントハードウェアで使用できるためにハードウェアごとにそのハードウェアの画面のサイズに合わせてユーザインタフェースを用意する必要があります。
それぞれのインタフェースを開発する際、要求される品質も重要なポイントです。単に面積を拡大することでインタフェースをリサイズするのは容易だが、クライアントへの出力において品質が劣る恐れもあります。こういった問題について、a3Sシステムはクライアントに対して一定の品質を維持しながら、さまざまなサイズにおけるインタフェースが各種タイプのクライアントに合うようなアプリケーションを提供できます。
また、映像の品質だけではなくシステムの中で使用されるマシンの帯域幅と処理能力によって制限されます。インタフェースを非常に低い品質(わずかな画像寸法と狭い帯域)から非常に高い品質までサポートします。
クラウド上にあるアプリケーションを操作することになるとユーザが操作を行ったときからユーザの画面上にその操作の結果が反映されるまでの時間を可能な限り短縮する必要があります。この時間はレイテンシといい、長くなるとユーザ側で違和感が生じることや、運転シミュレーションの場合は運転酔いも生じることなどがあります。a3Sシステムはクラウド上で動作するサーバーアプリケーションのコンテンツを速く伝送できるよう最適化されました。
たとえば映像のコンテンツには現時点で最も新しいビデオ形式のひとつであるH.264を利用します。多くの高度な機能と優れたスケーラビリティを提供し、低品質ビデオから可逆圧縮を含む非常に高精細度なビデオまで、多くの種類のビデオコンテンツをサポートします。
a3Sクラウドシステムは、H.264形式における画像圧縮にx264エンコーダ実装を使用しており、非圧縮にlibavcodec
h264デコーダを使用しています。これらの実装の両方が、GPLライセンスの元で認可されており、この文書の作成時点で継続的に最適化され、保守されています。現時点で、x264エンコーダはおそらく最も完成度が高く速いH.264エンコーダと考えられています。
■図1 データの流れ、概念図
|
サーバーモジュール(a3S_srv)
クラウド上にあるサーバーアプリケーションがa3Sシステム、そして最終的に各クライアントに映像、オーディオ、他のデータのコンテンツを送信するために使用するモジュールです。
アプリケーションがこのモジュールに簡易な形でコンテンツを渡し、a3S_srvが適切なコンテンツの圧縮や映像の変換を行い下流のa3Sモジュールにデータを送信します。また、ユーザが行った操作を下流モジュールから受信しアプリケーションへ渡します。
クライアントモジュール(a3S_cli)
クライアントアプリケーションが利用するモジュールでサーバーから受信したコンテンツを必要に応じて非圧縮し、また変換する役割を果たしています。またユーザが行った操作を上流モジュールに渡す役割もあります。
またクライアントアプリケーション側で様々なオペレーティングシステムが使用されるのでMicrosoft
Windows、Apple MacOS、Linux/UNIXに対応したクロスプラットフォームのモジュールになります。将来スマートフォンに対応するために拡張開発を行います。
サーバーモジュールとクライアントモジュールを直接接続させる形でa3Sのシステムを利用することができます。
サーバーとクライアントモジュールはいずれもオープンソースであり低コストでa3Sシステムとの連携開発ができるようになっております。
またa3Sシステムの中央にあるコアモジュールも開発中であり、データストリームのリダイレクト機能やコンテンツ変換機能やユーザ管理機能が搭載されます。ウェブ上で本格的なクラウドサービスを実現するために必要なモジュールになります。
ビデオモジュール(a3S_vidc)
このモジュールで他のモジュールから受信した映像の解像度とカラーフォーマット変換および圧縮と非圧縮処理を行います。
このモジュールはマルチコアCPUおよびマルチCPUの構成に対応し、映像を非常に高速で圧縮することが可能です。
■図2 運用時の一般的なシステム構成 |
■図3 開発時の一般的なシステム構成 |
|
a3Sシステムは一般的なスタンドアローンアプリケーションをクラウド上に公開するためにコンテンツの伝送、クライアントとサーバー間のデータ送受信を低コストで開発できるためのフレームワークです。最初に対応するアプリケーションとして弊社製品UC-win/Roadと連携させます。
今後、多くのアプリケーションをウェブ上で公開するために役に立つことと、そしてウェブ上で様々なアプリケーションを公開することで新たな展開につながることを期待しております。
|
|
>> 製品総合カタログ
>> プレミアム会員サービス
>> ファイナンシャルサポート
|