GREETINGS AND SALUTATIONS!

 

 

 

 

高品質のサービス・ディスカバリを検出する

携帯するモバイル機器から放射状に広がるパーソナル・エリア・ネットワークは、私たちがショッピングモールやホテルや空港のネットワーク・ノードに接続して移動しながらデータベースや情報源にアクセスできるようにしてくれるでしょう。プラットフォームがPalmOSWindows CE/PocketPCJavaなどの機器で、Unix、Linux®Windows®など異なるオペレーティング・プラットフォーム上に構築された機器との通信を要求されるでしょう。

サービス・ディスカバリは、こういったことすべては自動で行われる必要があります。サービス・ディスカバリは、本質的に異なる機器が互いに機能特質を伝え合うことを可能にしながら、同時にリクエスターと検知されたサービスにとっては接続の手段となります。

サービス・ディスカバリの特色

サービス・ディスカバリのプロトコルは無数にあります。しかし、成功するサービス・ディスカバリの技術には、必ず設計と機能においてある属性が必ず備わっていなければなりません。


機能の記述

機能記述は、機器やアプリケーションやサービスから提供される機能を記述するための共通手段となります。最前の結果を望むなら、機能記述は、次の2つの点で拡張可能でなければなければなりません。まず、記述は製品の製造者が自社の実装に特有の新しい属性を追加する手段でなければなりません。また、機能記述はこれまでサポートの必要性が考えられていなかった新しい機能の記述を許可するメカニズムを持っていなければなりません。

素晴らしい機能記述を開発するよりむしろ、サリュテーションはすでに業界標準となっている機能セマンティクスを採用します。たとえば、サリュテーションはプリンタMIB(管理情報ベース)からの出力の記述を採用しました。

ディスカバリ・プロトコル

もう一つのサービス・ディスカバリの共通の特色は、ディスカバリ・プロトコル自体です。ディスカバリ・プロトコルは、リクエスターとネットワークに接続された他のコンポーネントの間で送られるメッセージからなります。この特性で最も重要な側面は、伝送プロトコルに依存しないことです。複雑なネットワークでは、複数の伝送プロトコルが同時に作動する可能性があります。このような構成下では、様々な異なる伝送プロトコルのいちばん上に乗ることのできるディスカバリ・プロトコルは、特定の伝送プロトコルでしっかりと統合されたディスカバリ・プロトコルに比べて、全体的に優れたサービスを提供するでしょう。

サリュテーションは、ディスカバリ・ソリューションがネットワーク・プロトコルから切り離されていなくてはならない、パーベイシブでダイナミック、かつ、ヘテロジニアスなネットワーキング向けに設計されています。HTTPやTCP/IPに依存するUPnPや、リモート・メソッド・インヴォケーションやJavaバーチャルマシンに依存するJiniとは違い、独特のサリュテーションの設計は、プロトコル層の上層からトランスポート・マネージャを経由してプロトコル層にバインドします。

サリュテーションは、ほとんどすべてのネットワーク・プロトコルでも容易に影響力を行使できるように設計されています。オフィス・オートメーションの多くのベンダーが、TCP/IPを利用したサリュテーション対応製品を現出荷しています。IrDAを使ったサリュテーション・ソフトウェアも実装されています。Bluetooth SIGがサービス・ディスカバリの部分に関して、伝送プロトコルをてこ入れするサリュテーションの開発者コミュニティ・プランでサリュテーションと手を結びました。

ディスカバリ手法

機能記述とディスカバリ・プロトコルは、結びついてディスカバリのためのツールになります。基礎的なディスカバリ手法は、他のネットワーク・リソースの属性と比較されるリクエスターのニーズからなります。一致すると検知します。ディスカバリ技術は、一致した属性に関して戻った結果をリクエスターにレビューさせる技術ら、サービス自体にマッチングを探させる、または、様々なネットワーク・リソースに関する機能情報を収集、登録するディレクトリのような媒介を使う技術まで、実装の方法はいくつか考えられるでしょう。

コンポーネントの設計者にどんなタイプのディスカバリ・ネットワークにも参加できるフレキシビリティを持たせて、こういったアプローチのすべてをサポートするサービス・ディスカバリの手法を提供するのが最高のソリューションです。

ルックアップ・テーブルを持つJiniは、まず第一にディレクトリーを中心とするアプローチです。UPnPもまた、Simple Service Discovery Protocol (SSDP)を使う、ある程度ディレクトリー・サービスに依存しています。サリュテーションは、ピア・ツー・ピアからディレクトリー・セントリックまでフルレインジのネットワーク構成をサポートします。

有用性

上記の技法を使って要求されたサービスを検出できたら、次のステップは検出したサービスを利用することです。以前のとおり、通信プロトコルに依存しない技法は検出されたサービスにバインドされなければなりません。最も簡単なアプローチは、リクエスターと検出されたサービスの間にバーチャルなデータ・パイプができるよう手段を講じることです。そうすれば、リクエスターはサービスとどのようにやりとりすればいいかを即座に知ることができます。この知識は、いつも決まってリクエスター側のデバイス・ドライバ経由で与えられ、サービスとのインタラクションに必要なフォームとフォーマットを作成します。

異なるオペレーティング・システム・プラットフォームが混在する動的ネットワーク環境で、リクエスターが必要なデバイス・ドライバを有していることを前提にするわけにはいきません。サービス・ディスカバリの完璧なソリューションは、探し出して、要求されるデバイス・ドライバを読み込む技法を提供することができなくてはなりません。

もう一つのアプローチは、リソース間で標準の制御言語を作ることです。共通の制御言語は、ジョブの開始と終了およびチェックに使用されるでしょう。簡単なデバイスには、簡単な制御構造が与えられて、特定のデバイス・ドライバは不要になるでしょう。例えば、ボリュームを上げ下げしたり、消音する共通の制御言語を設定できます。

サリュテーションは、リクエスターと検出されたコンポーネント間のセッションの設定およびデバイス・ドライバの検知と読み込みを可能にする技法となります。Jiniは、ルックアップ・テーブルのディレクトリ経由でJavaベースのプロキシ・オブジェクトを検知することにより、Javaベースのデバイス・ドライバの概念をサポートします。サリュテーションは、操作環境に依存しません。Javaのプロキシ・オブジェクトもその他のプラットフォーム用のデバイス・ドライバも同じく検知することができます。UPnPフォーラムがMXLベースの制御定義をリリースしたら、サリュテーションはすぐにも採用する準備があります。

サリュテーションのオペレーティング・システムや通信プロトコルに対する非依存性は、異なるプロトコル間の多様な環境で実行可能な単一のサービス・ディカバリ・プロトコルを実現します。あらゆる種類のデバイス・ドライバを検知し読み込む能力は、特定のデバイス・ドライバやオブジェクトの方式に対する依存性を打破します。

まとめ

サービス・ディスカバリは多数ありますが、ほとんどは職場や道路やショッピングモールや住まいに存在する複雑で多様なコンピューティング環境の架け橋となりうるものではありません。パーベイシブに作動するとは言い難いのです。特定の用途のためにしっかりと定義されたサービス・ディスカバリ・プロトコルもあれば、多くは、特定のネットワークないしコンピューティング環境に限定されていますし、他はそのディスカバリ・アプローチにとって必要なフレキシビリティを持っていません。結果として、これらのサービス・ディスカバリ・プロトコルを利用する製品は、孤立したテクノロジー・スペースで作動できるにすぎません。

これに対して、サリュテーションは、これら孤立したテクノロジーの島々のギャップの架け橋になります。サリュテーション・アーキテクチャは、プロセサ、オペレーティング・システム、通信プロトコルに依存しないロイヤルティ無償でオープン・ソースのサービス・ディスカバリ・ソリューションです。サリュテーションは、標準的な機能セマンティクスを利用して、簡単に新しい機能定義を導入、認識する手段を提供します。デベロッパとユーザに対しては、個々の環境にとって最善のディスカバリ・メソッドを実装するために必要なフレキシビリティを提供します。 


テクニカルトークのトップページ


日本語版のメインページ