エクスポート (0) 印刷
すべて展開

Windows XP のユニバーサル プラグ アンド プレイ (UPnP)

概要

この文書では、ユニバーサル プラグ アンド プレイ (UPnP) とその機能の概要を説明します。UPnP は、自動検出およびデバイス相互運用性により全般的なネットワーク経験を向上させます。さらに UPnP で使用されているコンポーネント、プロトコルおよびプロシージャについて、既存の標準プロトコルから UPnP デバイスが構築される例を中心に詳しく説明します。UPnP についてユーザーの知識を深めるため、詳細情報のあるサイトも説明します。

トピック

はじめに
UPnP 対応シナリオ
UPnP ネットワークのコンポーネント
UPnP プロトコルの概要
UPnP の動作方法
略語集
まとめ
詳細情報

はじめに

デバイスのプラグ アンド プレイ (PNP) 機能をオペレーティング システムに追加すると、周辺機器のセットアップ、設定および追加が非常に簡単になります。ユニバーサル プラグ アンド プレイ (UPnP) はこの機能をネットワーク全体に拡張して、ネットワーク プリンタ、インターネット ゲートウェイ、家電製品などネットワーク デバイスやサービスの検出と制御を可能にします。

UPnP は単なるプラグ アンド プレイ周辺機器モデルの拡張以上のものです。UPnP は、ゼロ設定や ・CODE>不可視・ネットワーク、デバイス自動検出をサポートするように設計されました。

UPnP を使用すると、デバイスはネットワークに参加して動的に IP アドレスを取得したり、自らの機能を通知したり、ほかのデバイスのプレゼンスと機能について情報を得るといったすべてが自動的にでき、真のネットワークのゼロ設定が可能となります。さらにデバイスは互いに直接通信でき、それによってピア ツー ピア ネットワークが可能になります。

UPnP 対応ネットワークからメリットを得るデバイス タイプは多様ですが、インテリジェント アプライアンスやワイヤレス デバイス、各種 PC があります。

UPnP の範囲は広く、ホーム オートメーションや印刷、イメージング、オーディオやビデオ エンターテイメント、調理器具、自動車ネットワーク、公共空間の近距離ネットワークなど、多数の既存、新規のシナリオが含まれています。

UPnP は標準 TCP/IP およびインターネット プロトコルを使用し、既存ネットワークにシームレスに適合できます。この標準化されたプロトコルを使用すると UPnP は豊かな経験と知識からメリットを得て、デバイスの相互運用性を実現します。

UPnP はプロトコルの定義上分散、オープン ネットワーク アーキテクチャですから、特定のオペレーティング システムやプログラミング言語、インターネットのような物理メディアから独立しています。UPnP はアプリケーションが使用する API を指定しませんが、オペレーティング システム ベンダが顧客ニーズを満足させる API を作成できるようにします。

Universal Plug and Play 協議会は、Microsoft が支援した共通デバイス アーキテクチャに基づいて UPnP デバイス アンド サービス デスクリプション (以前はデバイス制御プロトコルまたは DCP と呼ばれていました) を定義しています。Universal Plug and Play 協議会は、UPnP デバイスやサービスの仕様作成をリードする業界横断の会社および個人からなる団体です。去る 1999 年 10 月 18 日に協議会は設立され、家電やコンピューティング、ホーム オートメーション、ホーム セキュリティ、ホーム アプライアンス、コンピュータ ネットワーキング、モバイル デバイスなど業界リーダーである 340 以上のベンダが結集しています。

協議会の目標は、簡単に接続できるデバイスを作り出して、家庭や企業環境でのネットワーク実装を簡略化することです。協議会は、オープンでインターネット ベースの通信規格に基づいて UPnP デバイスやサービスの内容を定義し公開することによって、これを達成しようとしています。

協議会の Web サイトである http://upnp.org/ leave-ms (英語) には、協議会が開発して標準化した概要が集められています。さらにサイトには、デバイス アーキテクチャ ドキュメント、デバイスやサービス ディスクリプションのテンプレート、デバイスやサービス ディスクリプションの設計ガイドラインがあります。また UPnP.org は、協議会の活動、進行状況について情報を公開しています。

UPnP 対応シナリオ

UPnP の先に広がる大きな可能性

デバイスを自動検出、制御する様々な方法が生活を快適にしてくれます。UPnP の出現は日々、新しい可能性を開いてユーザーを広げています。このセクションでは、UPnP が役に立つシナリオの一部を説明します。

UPnP を使用するシナリオ

インターネット接続の共有 (ICS)

ジョンは主にホーム オフィスの PC で Web サーフィンしています。その PC は常時 DSL 接続していて、ファイアウォールにより保護されています。彼は居間に WebTV を設置し台所には MSN コンパニオンを付けて、それぞれの場所から両親と妻に Web サーフィンを楽しんでもらおうと考えています。WebTV と MSN デバイスは、Windows XP が HomePNA ネットワーク経由で提供する UPnP インターネット接続の共有サービスを検出して利用できます。

幼児用モニタカメラ

スーザンは子供部屋に 2 台の小さなモニタカメラを設置したので、ホーム オフィスの PC で仕事をしながら時々様子を見て、子供たちがちゃんと宿題をしているか確認できます。また玄関にも 1 台設置したので、ベルが鳴ったら、ちらっと見ることができます。カメラの内容を家の UPnP 対応 TV で見ることもできます。

時計の同期

よくあることですが 2、3 時間停電したため、マイクの家では時計が全部 12:00 で点滅しています。家中の時計を直して回るのは面倒で、時間もかかります。

UPnP を入れましょう。マイクの Windows XP ベースの PC で実行されているスクリプトは、定期的に家庭内のすべての時計をコロラド州のサイトにある原子時計に同期させます。このスクリプトは、どんなデバイスであれネットワーク上のすべてのクロック サービスを検索します。スクリプトはそれぞれの時計で、時刻をインターネットの原子時計から取得した値に設定することを繰り返します。 このスクリプトは、毎日深夜に実行するように設定できます。また停電終了後やサマータイム後に、時計をリセットするため手動でスクリプトを実行することもできます。

プリンタの追加

今日ジェニファはホーム ネットワークで使用する新しいプリンタを抱えて帰宅したとします。すると、印刷したいデバイスを使えるようにするのはもちろんのこと、ネットワーク上のすべての PC でプリンタを使えるようにするにはいくつかやらなければならないことがあるでしょう。

たとえばプリンタを既存の PC に接続してデバイス ドライバを読み込み、ネットワークで共有させ、それからネットワーク上の各 PC で共有プリンタに接続する必要があるでしょう。

UPnP を使えば、電話回線や電源コード、イーサネットなどネットワーク ポートにプリンタをプラグインするだけで、すぐにネットワーク上のすべてのデバイスとユーザーがプリンタを利用できるのではないでしょうか。

格納領域の不足

ケビンの PC はしばしば、しかもだんだん頻度が高くなってきましたが、格納領域が不足します。これは、おそらく彼が多数のデジタル画像と映画を撮っているのと関係があるか、もしかしたら彼が果敢にも CDコレクション全体のカタログを Windows Media・ファイルで作成しているからかもしれません。

外部記憶装置の価格は劇的に下がりましたが、ハード ドライブを PC に追加する面倒はデバイスのプラグ アンド プレイにより少し改善されただけです。休暇で家族のところへ帰る時、このホームビデオや画像、サウンドを遠く運ぶ方法を考えるとさらに大変です。

ケビンは高速で大容量、UPnP 対応のモバイル データ格納装置を持っているとしましょう。このデバイスは、直接イーサネットや電話回線ネットワークに接続できます。あるいはホーム ムービーのストリーミングが可能なように、デバイスはエンターテイメント システムの高速 IEEE 1394 バスに接続できます。このデバイスをプラグインすると、ネットワーク上のすべてのデバイスはメディアを作成、表示するデバイスも含めて、利用可能かすぐにわかります。

ケビンが非常に長いホーム ムービーを持って訪ねたら、家族は大喜びするでしょう。

新しいポータブル デバイスには格納装置やプリンタに限らず、カメラや MP3 プレーヤー、スキャナ、MIDI デバイス、リモート制御、TV、ビデオ デバイスなど多数ありえます。並べるときりがありません。

「起きる時はいつも凍えそうに寒い」

メアリーはベッドにいて寝るところで、明日は土曜です。いつも目覚し時計は朝 7 時に鳴りますが、明日は寝ていたいのです。起こしてはもらいたいのですが、朝 9 時がちょうどいい時間と思えます。そこで彼女は目覚しを朝 7 時でなく 9 時に設定しました。

メアリーの目覚し時計は UPnP 対応なので快適です。彼女の Windows XP ベースの PC には、目覚し時計から設定された時刻の通知を受け取るスクリプトがあります。スクリプトは設定変更があると、HVAC デバイスのタイマに起床時刻を目覚し時計と同時刻にセットするよう指示します。

さてメアリーの暖房は、彼女がベッドから起きるときに凍えないよう、早い時刻にスイッチが入るでしょう。インテリジェント エアコン (HVAC) システムがあれば、今ある予約機能つき冷暖房機器をはるかに越えた、多数の機能を追加できるはずです。それにはセンサーが人間を検出するシステムや、インターネット経由でリモート制御するシステムが考えられるでしょう。

目覚し時計が彼女のスケジュールにアクセスできれば、もし会議に遅れる時間に起床時刻をセットしても、メアリーに警告できます。いいかえると会議が朝 9 時で目覚しを朝 9 時にセットすると、9 時の会議に間に合うには朝 8 時に起きなければならないと警告できるようになるかもしれません。

マスタ スイッチ

ビルは働き詰めの後、家に帰り、玄関の前に立ちました。彼が壁のスイッチを押すとロビーの電気がつきます。UPnP を使うと、このスイッチはそれ以上のことができます。このスイッチは UPnP サービスの 1 つで、その状態は 「ポジション」 と呼ばれる変数で定義されます。ビルがスイッチを押すと "ポジション" は "オン" となり、Windows XP ベースの PC で実行されているスクリプトが開始されます。

スクリプトは、マスタ スイッチのポジションが 「オン」 に変更されたという通知を受け取ります。次に以下の処理が行なわれます。

  • 暖房がつき、室温をあらかじめ設定した温度に上げます。

  • 留守番電話が新しいメッセージを再生しはじめます。

  • ビルのステレオ システムに電源が入り、お気に入りのクラシックの局にセットされ、BGMにちょうどいい音量に設定されます。

  • 日没後であれば、窓のブラインドが上がります (日出と日没データはインターネットから簡単に取得できます)。

  • オプションとして TV にスイッチが入り、ニュース局にセットされ、音を消して字幕を表示します。

  • そうそう、ロビーの明かりもつきます。

同様にしてスイッチを 「オフ」 ポジションに切り替えると、逆のことが起こります:

  • 暖房が消えます (または低めの温度で設定されます)。

  • ステレオのスイッチが切れます。

  • TV のスイッチが切れます。

  • 窓のブラインドが下りて、プライバシーを守ります。

  • 家の明かりがすべて消えます。

一日の終わり

ビリーは宿題をしていて印刷の準備ができましたが、プリンタを彼の部屋に移動した方が簡単だと考えました。パパには気付かれないだろうと思ったのですが、プリンタは UPnP 対応なので息子がプリンタの電源を切るとすぐパパのコンピュータにダイアログがポップアップ表示されました。

この動きはイベントによって可能になるはずのものですが、この場合それは検出プロトコルの一部です。UPnP デバイスがネットワークからスムーズに外れると、デバイスは退出のアドバタイズを送信します。その結果すべてのコントロール ポイントは、ネットワークの状態を正しく知ることができます。

夕食が終わって映画も終わり、パパとママがソファに座っています。ママはパパと二人で過ごす時間なのに、彼のラップトップがまだ実行中なのに気付きます。ママはラップトップの所に来てムード制御ボタンを押します。明かりが暗くなってソフト ミュージックが流れ、ラップトップはシャットダウンします。

UPnP ネットワークのコンポーネント

デバイス、サービス、およびコントロール ポイント

UPnP ネットワークの基本構成単位はデバイス、サービス、コントロール ポイントです。この項では、それを詳しく説明します。

upnpxp_01

1: UPnP コントロール ポイント、デバイス、サービス

デバイス

UPnP デバイスはサービス コンテナであり、ネストされたデバイスです。たとえばビデオ カセット レコーダ (VCR) デバイスは、テープ送りサービスとチューナ サービス、クロック サービスから構成されています。TV / VCR コンボ デバイスはいくつかのサービスから構成されているのではなく、ネストされたデバイスです。

UPnP デバイスのサービスや埋め込みデバイスが異なれば、UPnP デバイスには違ったカテゴリが割り当てらる予定です。たとえば VCR のサービスは、プリンタのサービスとは違います。そのため、それぞれ別の作業委員会で特定のデバイス タイプが提供するサービス セットを標準化する予定です。この情報はすべて、デバイスがホストする XML 形式のデバイス ディスクリプション ドキュメントに保存されます。またデバイス ディスクリプションは、サービス セットのほか、デバイス名とアイコンなどデバイスに関連したプロパティをリストします。

サービス

UPnP ネットワークにおける制御の最小ユニットはサービスです。サービスはアクションを生み出し、状態変数を使ってその状態をモデリングします。たとえばクロック サービスは、時計の状態を定義する current_time という 1 つの状態変数、サービスを制御する set_time と get_time という 2 つのアクションのあるサービスとしてモデリングできるでしょう。この情報はデバイス ディスクリプションと同様、UPnP 協議会で標準化された XML サービス ディスクリプションの一部です。サービス ディスクリプションへのポインタ (URL) は、デバイス ディスクリプション ドキュメントに含まれています。デバイスは複数のサービスを含むことがあります。

UPnP デバイス内のサービスは、状態テーブルとコントロール サーバー、イベント サーバーから構成されています。状態テーブルは状態変数を通してサービスの状態をモデル化し、状態が変更されると更新されます。コントロール サーバーは set_time などのアクション要求を受信して実行し、状態テーブルを更新してレスポンスを返します。サービス状態が変更されると、イベント サーバーは関連サブスクライバにイベントを発行します。たとえば火災警報サービスなら、「鳴る」 状態に変わると、イベントを関連サブスクライバに送信するでしょう。

コントロール ポイント

UPnP ネットワーク内のコントロール ポイントは、ほかのデバイスを検出、制御可能なコントローラです。検出後、コントロール ポイントは以下の処理ができます。

  • デバイス ディスクリプションを取得して、関連サービスのリストを取得する。

  • 興味あるサービスのサービス ディスクリプションを取得する。

  • サービスを制御するアクションを呼び出す。

  • サービスのイベント ソースをサブスクライブする。サービス状態が変わると、イベント サーバーはイベントをコントロール ポイントに送信する。

真のピア ツー ピア ネットワーキングを可能にするため、デバイスはコントロール ポイント機能 (およびその反対の機能) を組み込む予定です。

UPnP プロトコルの概要

UPnP のネットワーキング メディア

UPnP はネットワーク メディアを平等に扱うため標準 IP プロトコル スイートを利用します。UPnP ネットワーク上のデバイスは、無線 (RF) や電話回線、電源回線、IrDA、イーサネット、IEEE 1394などの通信メディアを使用して接続できます。いいかえるとネットワーク デバイスとして使用可能などのメディアも UPnP にすることが可能です。気になることがあるとすれば、使用されるメディアが必要な帯域幅をサポートしているかどうかということでしょう。

UPnP は TCP/IP や HTTP、XML などオープンで標準のプロトコルを使用します。ただし費用や技術的要件、レガシ デバイスのサポートなどいろいろな理由から、ほかのテクノロジもネットワーク デバイスとして使用できるでしょう。これには HAVi、CeBus、LonWorks、EIB、X10 などのネットワーク テクノロジが含まれます。また UPnP ブリッジやプロキシを通しても UPnP ネットワークに参加できます。ブリッジ デバイスを含む UPnP ネットワークは、下図のようになります。

upnpxp_02

2: ブリッジされた UPnP ネットワーク

UPnP で使用するプロトコル

UPnP は多数の既存の標準プロトコルを利用します。この標準プロトコルを使用すると、ベンダ実装間の相互運用性を確保できます。UPnP の実装に使用するプロトコルは、インターネットとローカル エリア ネットワーク (LAN) でも使用されています。この普及率から、多数の人がこのプロトコルに基づいたソリューションを実装、展開する知識を持っていると確認できます。同じプロトコルが既に使用されているので、UPnP デバイスを既存のネットワーク環境で動作させるために必要な操作はほとんどありません。

UPnP の実装に使用したプロトコルの一部は、この項の後ろで要約します。

upnpxp_03

3: UPnP プロトコル スタック

UPnP に固有のプロトコル

UPnP ベンダ、UPnP 協議会運営委員会、UPnP デバイス アーキテクチャ ドキュメントは、UPnP 実装に使用する最上層のプロトコルを定義しています。運営委員会は、デバイス アーキテクチャに基づいて VCR や HVAC システム、食器洗い機その他の機器などデバイス タイプに別の仕様を定義しました。続いて UPnP デバイス ベンダは、モデル名や URL などデバイス専用のデータを追加しました。

TCP/IP

TCP/IP ネットワーキング プロトコル スタックは、UPnP プロトコルが構築されるベースです。UPnP は有力な標準的 TCP/IP プロトコル スイートを採用することによりプロトコルの機能を利用して、物理メディアの橋渡しをして複数ベンダの相互運用性を確保します。

UPnP デバイスは TCP や UDP、IGMP、ARP、IP など TCP/IP スタック内の多数のプロトコルを使用でき、DHCP や DNS など TCP/IP サービスを利用できます。どのようにしてこのプロトコルとサービスを使って UPnP の動作に必要なものを提供かという方法は、この項で他のプロトコルについて説明し、つぎの項で UPnP の動作を説明すると共にはっきりするでしょう。

TCP/IP は最も普遍的なネットワーキング プロトコルの 1 つですから、UPnP デバイス向けに動作とパフォーマンスを調整した実装を検索、作成することは比較的簡単です。

この文書では、TCP/IP プロトコル スイートおよびサービスについて読者は基本的に理解していると仮定しています。TCP/IP についての詳細情報は、このドキュメント末尾に挙げたリファレンスにあります。

HTTP HTTPU および HTTPMU

TCP/IP は、UPnP デバイス間のネットワーク接続性を提供するため、基本プロトコル スタックを提供します。またインターネットの成功に多大な貢献を果たした HTTP も、UPnP のコア プロトコルです。UPnP の全側面は HTTP とそのバリエーションの上に構築されています。

HTTPU および HTTPMU は HTTP のバリエーションで、 TCP/IP ではなく UDP/IP に基づいてメッセージを発信します。このプロトコルは次に説明する SSDP でも使用されています。プロトコルで使用する基本メッセージ形式は HTTP 形式であり、マルチキャスト通信およびオーバーヘッドを必要としないメッセージ配信で必要です。

高レベル プロトコルおよび UPnP の動作の説明は、HTTP プロトコルについての基本的知識を前提としています。HTTP についての詳細情報は、このドキュメント末尾に挙げたリファレンスにあります。

SSDP

名前が表わすように Simple Service Discovery Protocol (SSDP) は、ネットワーク サービスが検出される方法を定義します。SSDP は HTTP と HTTPMU に基づいて作成されていて、コントロール ポイントが関心のあるリソースを検索する方法とデバイスが可用性をアナウンスする方法を定義しています。SSDP は検索要求とプレゼンス アナウンスを定義することにより、その一方のメカニズムだけだと不可避なオーバーヘッドを取り除きます。その結果ネットワーク上のすべてのコントロール ポイントは、ネットワーク トラフィックを低く押さえながらネットワーク状態について正しく知ることができます。

コントロール ポイントとデバイスは SSDP を使用します。UPnP コントロール ポイントが開始されると、ネットワークで利用可能なデバイスとサービスを検出するため、HTTPMU を通して SSDP 検索要求を送信できます。コントロール ポイントは、たとえば VCR など特定のタイプのデバイスだけを、あるいはクロック サービスなど特定のタイプのサービスだけ、あるいは特定のデバイスだけを検索するように調整できます。

UPnP デバイスはマルチキャスト ポートをリッスンします。デバイスが検索要求を受信すると、検索基準に一致するか調べます。一致していることがわかると、ユニキャスト SSDP (HTTPU 経由) レスポンスがコントロール ポイントに送信されます。

同様にネットワークに追加されたデバイスは、サポートしているサービスをアドバタイズする複数の SSDP プレゼンス アナウンスを送信します。

プレゼンス アナウンスとユニキャスト デバイスのレスポンス メッセージは、デバイス ディスクリプション ドキュメントのある場所のポインタを含んでいます。このドキュメントには、デバイスがサポートしているプロパティとサービスの情報があります。

また SSDP は、検出機能のほかにデバイスと関連サービスがネットワークからスマートに離脱する方法 (さようならの通知) を提供していて、古い自己回復情報を削除するキャッシュ タイムアウトも含まれています。

GENA

Generic Event Notification Architecture (GENA) は、 HTTP over TCP/IP およびマルチキャスト UDP を使用して通知を送受信する機能と定義されています。また GENA は、イベントを可能にするため通知のサブスクライバとパブリッシャのコンセプトを定義します。

UPnP では GENA フォーマットは、SSDP プロトコルを使って送信されるプレゼンス アナウンスを作成して、UPnP イベント向けにサービス状態変更の信号を送るために使用します。イベント通知を受信する関連コントロール ポイントは、関連サービスやイベントの送信場所、イベント通知のサブスクリプション時間を含む要求を送信してイベント ソースをサブスクライブします。

サブスクリプションは、引き続き通知を受信するため定期的に更新される必要があり、また GENA を使ってキャンセルできます。

SOAP

Simple Object Access Protocol (SOAP) は、リモート プロシージャ コール (RPC) を実行するための拡張マークアップ言語 (XML) と HTTP の使用を定義します。これは、RPC ベースのインターネット通信の標準となっています。インターネットの既存インフラストラクチャを使用することにより、効果的ファイアウォールおよびプロキシとして動作できます。また SOAP は、セキュリティ用にセキュア ソケット レイヤ (SSL) と HTTP の接続管理機能を使用でき、それによって Web ページにアクセスするのと同じように簡単にインターネットを通して分散通信できます。

UPnP は RPC と同様 SOAP を使用して制御メッセージをデバイスに発信し、リザルトまたはエラーをコントロール ポイントに返します。

それぞれの UPnP 制御要求は、パラメータを指定して呼び出すアクションを含んでいる SOAP メッセージです。レスポンスも SOAP メッセージでステータスが含まれており、値とパラメータを返します。

XML

W3C の定義によれば、拡張マークアップ言語 (XML) はWeb 上の構造化データ向けの汎用フォーマットです。いいかえれば XML はほとんどどんな種類の構造化データもテキスト ファイルに入れることができます。

XML は、タグと属性を使用する点で HTML によく似ています。実際、このタグと属性の意味がグローバルに定義されていないことと、使用されてコンテキスト内で解釈されることとは、全く別です。XML のこの特徴により、各種ドキュメント タイプに対してスキーマを開発するのに向いています。XML のスキーマ言語としての使用は W3C により定義されています。

XML は、デバイス/サービス ディスクリプションやコントロール メッセージなどで使用される UPnP のコアです。

UPnP の動作方法

UPnP の負担

UPnP はコントロール ポイントとデバイス間の通信をサポートしています。ネットワーク メディアである TCP/IP プロトコル スイートおよび HTTP は、基本ネットワーク接続性とアドレッシングを提供します。UPnP はこのオープンで標準的、インターネット ベースのプロトコルに基づいて、検出やディスクリプション、コントロール、イベント、プレゼンテーションを処理する HTTP サーバー セットを定義しています。 この項では、この文書の前の部分で定義されたプロトコルが、各ニーズを満たすために使用した方法を説明します。

UPnP プロトコル スタック

既に UPnP の実装に使用されたプロトコルを説明しましたが、このプロトコルをより理解するため図にしてみます。

upnpxp_03

4: UPnP プロトコル スタック

UPnP デバイス アーキテクチャは、デバイスやサービスのタイプに対してデバイスやサービスのディスクリプションを作成するためのスキーマまたはテンプレートを定義します。

各運営委員会は引き続いて各種デバイスやサービスのタイプを標準化し、それぞれのデバイスやサービスのタイプのテンプレートを作成しています。

最後にベンダは、デバイス名やモデル番号、製造元名、サービス ディスクリプションの URL などデバイスやサービス固有の情報をテンプレートに記入します。

次にこのデータは、XML デバイス ディスクリプション テンプレートなど UPnP デバイス アーキテクチャ ドキュメントで定義された UPnP 専用プロトコルにカプセル化されます。

UPnP 固有の必須情報がすべてのメッセージに挿入されると、SSDP や GENA、SOAP を使ってフォーマットされ、HTTP や HTTPU、HTTPMU を通して発信されます。

UPnP ネットワーキングのステップ

アドレッシング

UPnP ネットワークの基礎は TCP/IP プロトコル スイートであり、このスイートのキーはアドレッシングです。各デバイスには DHCP クライアントが必要で、デバイスが最初にネットワークに接続された時に DHCP サーバーを検索する必要があります。DHCP サーバーが利用可能なら、デバイスは割り当てられた IP アドレスを使用しなければなりません。DHCP サーバーが利用可能でなければ、デバイスはアドレスを取得するため Auto IP を使用する必要があります。

つまり Auto IP はデバイスが予約されたプライベート アドレス セットからインテリジェントに IP アドレスを選択する方法を定義し、管理ネットワークと管理されていないネットワークの間を簡単に移動できます。

デバイスは、UPnP の外側でデバイスのフレンドリ名を使用する上層プロトコルを実装することがあります。この場合フレンドリ ホスト名 (デバイス名) を IPアドレスに解決する必要があります。通常このためにドメイン名サービス (DNS) が使用されます。この機能を必要/使用するデバイスには DNS クライアントが含まれていて、名前とアドレスのマッピング用に DNS の動的登録をサポートしています。

検出

デバイスがネットワークに接続されて適切なアドレスが割り当てられると、検出が行なわれます。検出は、前述したように SSDP により処理されます。デバイスがネットワークに追加されると、SSDP によりデバイスはサービスをコントロール ポイントにアドバタイズできます。コントロール ポイントがネットワークに追加されると、SSDP によりコントロール ポイントはデバイスのサービスを検索できます。

いずれの場合も交換するものは基本的に、たとえばタイプや ID、XML デバイス ディスクリプション ドキュメントへのポインタなどデバイスやサービスについての詳細を含む検出メッセージです。

ディスクリプション

UPnP ネットワーキングの次のステップはディスクリプションです。コントロール ポイントは、デバイスを検出しただけでは、まだデバイスについてほとんど知りません。コントロール ポイントがデバイスとその機能を知り、デバイスと対話するため、コントロール ポイントはデバイスのディスクリプションを検出メッセージで指定されている URL から得る必要があります。

デバイスがほかの論理デバイスやサービスを含むことがあります。デバイスの UPnP ディスクリプションは XML 形式で記述されていて、モデル名や番号、シリアル番号、製造元名、ベンダーの Web サイトの URL など、ベンダ固有の製造元情報が含まれています。またディスクリプションには制御やイベント、プレゼンテーション用の URL と同様、埋め込みデバイスやサービスのリストが含まれています。

コントロール

コントロール ポイントがデバイスのディスクリプションを取得すると、コントロール ポイントはデバイスの制御に必須の情報を得ます。サービスについて詳しく知るため、コントロール ポイントはそれぞれのサービスの UPnP の詳細ディスクリプションを取得する必要があります。またサービスのディスクリプションも XML 形式で記述されていて、コマンドやアクション、サービス、各アクションのパラメータや引数のリストが含まれています。またサービスのディスクリプションには変数リストが含まれています。この変数は実行時のサービス状態を表し、データ型や範囲、イベント特性が書かれています。

デバイスを制御するため、コントロール ポイントはアクション要求をデバイスのサービスに送信します。これを行うためコントロール ポイントは、制御メッセージをデバイス ディスクリプションで指定されたサービスの制御 URL に送信します。また制御メッセージも SOAP を使って XML 形式で記述されています。

サービスは制御メッセージに応答して、アクション固有の値またはエラー コードを返します。

イベント

サービスの UPnP ディスクリプションには、サービスが応答するアクションのリストと実行時のサービス状態を表わす変数リストが含まれています。この変数が変更になると、サービスは更新を発行し、コントロール ポイントはこの情報を受信するためサブスクライブします。

サービスはイベント メッセージを送信して更新を発行します。イベント メッセージには、複数の状態変数名とその現在値が含まれています。またこのメッセージも GENA を使って XML 形式で記述されています。

コントロール ポイントが最初にサブスクライブすると、特別な初期イベント メッセージが送信されます。このイベント メッセージにはすべてのイベント変数の名前と値が含まれていて、サブスクライバはサービスの状態モデルを初期化できます

複数のコントロール ポイントをサポートするため、全サブスクライバにすべてのイベント メッセージが送信され、サブスクライバは全イベント変数のイベント メッセージを受信し、そしてアクション要求に答えるためまたは状態変化のためなど状態変数が変更された理由が何であれ、イベント メッセージは送信されます。

プレゼンテーション

デバイスにプレゼンテーション用の URL があると、コントロール ポイントはこの URL からページを取得したり、ページをブラウザに読み込んだり、ページの機能によってはデバイスを制御してデバイス状態を表示できます。これが達成される度合いは、プレゼンテーション ページとデバイスの特定の機能に依存します。

まとめ

  • UPnP は API ではなくワイヤ プロトコルに基づいており (インターネットのように)、メディアやプラットフォームに対して本当に寛容である。

  • UPnP は既存の規格に基づいていて、相互運用性は達成しやすい。

  • UPnP には業界の大きな後押しがあり、成功が約束されている。

  • UPnP は標準ベースであるが、柔軟性があって現在および次世代のネットワーク デバイスのニーズを満足させることができる。

UPnP ネットワークの例

UPnP ネットワーキングの各ステップのタイミングと方法を理解するため、UPnP デバイスがいくつかある小さなネットワークを定義します。続いて UPnP に関してデバイスが対話する方法を説明します。

下の図 5 は、以下の UPnP 対応デバイスを含むネットワークを示します。

  • インターネット ゲートウェイ。このデバイスはスタンドアロンのゲートウェイ デバイスかゲートウェイとして動作するはずの PC です。このデバイスをコントロール ポイントにするかもしれませんが、まだしていません。デバイスが提供するサービスとしてインターネット アクセス、DHCP サーバー、DNS プロキシ、記憶域サービスがありえます。またゲートウェイはホーム LAN メディアに接続して、このメディアのブリッジとしても機能します。使用メディアとして IEEE 802.11 ワイヤレス、電力回線ネットワーク、電話回線ネットワーク、および IEEE 1394 があります。

  • スマート アプライアンス。この例の目的に合うように、ネットワークに UPnP 対応アプライアンスを入れます。これには時計ラジオ、コーヒー ポット、電子レンジがあり、すべて電源回線ネットワークにプラグインします。またネットワークには電話回線ネットワークに接続された UPnP プリンタもあります。

  • 家庭用娯楽システム。家庭用娯楽システムには、IEEE 1394 (Firewire) を通して相互に接続されたデバイスや、ゲートウェイ デバイスに接続されたデバイスがあります。コンポーネントとしてチューナやレシーバ、CD プレーヤー、TV、VCR の付属したステレオ システムや、ビデオやデジカメなど追加 A/V 装置の接続回路があります。また新しい DVD プレーヤーもこのネットワークに追加できます。

  • ワイヤレス対応ラップトップ。家の主人はワイヤレス ネットワーク アダプタの付いたラップトップ コンピュータを使用していて、時々残った仕事を仕上げるためラップトップを家に持ち帰ります。

ネットワークに参加しているコンポーネントにはほかの構成もありえますが、この例では UPnP の操作を説明するため、ネットワークは比較的単純です。

upnpxp_05

5: ネットワークの例

ストーリーの説明

このシナリオを始めるにあたって、上記ネットワークのすべてのコンポーネントは実行されていて、ラップトップと DVD プレーヤーをのぞき UPnP プロトコルを使って互いに検出されていることにします。

二週間前家族は夕食後、ビデオ市場で DVD が成功していることや、ビデオ カセット プレーヤーを使い続けているので高品質ビデオを導入していないことを話し合いました。

ママに郵便で DVD クラブへの勧誘が届きました。家族はそれぞれ DVD をじっくり選んでどれから集めるか考えました。今日ママは仕事中のパパに電話して、DVD の小包が届いたと話しました。残念ながら家族は、DVD を見るのに必要な装置である DVD プレーヤーの購入を忘れていました。

家に帰る途中、パパは (そういう買い物については専門家なので) 大型電気店に寄って UPnP 対応か確認した上で最新 DVD プレーヤーを購入しました。

パパが家に帰ると、みんなは新しいおもちゃの包みを開けて IEEE 1394 を使って娯楽システムにプラグインしました。UPnP 対応なので、ホーム ネットワークは接続しただけでその存在を検出できました。

デバイス アドレッシング

新しい DVD プレーヤーで最初にやらなければいけないことは、ネットワークに参加するためのアドレスの取得です。各デバイスには DHCP クライアントが必要で、デバイスが最初にネットワークに接続された時に DHCP サーバーの検索が必要です。

DVD プレーヤーの DHCP クライアントがしばらく待機してもサーバーのレスポンスを受信しないと、確認のため再試行します。ネットワークに実行中の DHCP サーバーが存在しないと、DVD プレーヤーは自動 IP アドレッシング (Auto-IP) を使用して適切なアドレスを選択します。

デバイスは Auto-IP によって、インテリジェントに 169.254/16 の範囲の IP アドレスを選択します。この範囲の最初と最後の 256 アドレスは、予約されていて使用できません。次に選択したアドレスは、使用済みかテストする必要があります。アドレスが別のデバイスで使用されていれば、別のアドレスを選択、テストする必要がありますが、可能な再試行の回数は実装に依存します。

ネットワークに DHCP サーバーがあれば、全プロセスはすぐに完了します。ネットワークに DHCP サーバーがなければデバイスは Auto-IP を使用する必要があり、プロセスは少し長くなります。アドレスが Auto-IP を使って割り当てられると、DVD プレーヤーはデバイスの接続性を確認するため DHCP サーバーがネットワークで利用可能となっていないか定期的にチェックします。

この時点で DVD プレーヤーには DHCP サーバーが割り当てたアドレスがあってネットワーク内のほかのすべてのデバイスも同一サブネットでアドレスを割り当てられるか、DVD プレーヤーは Auto-IP のアドレスが割り当てられている、とします。いずれにせよ DVD プレーヤーは、TCP/IP を使ってネットワーク上のほかのデバイスと通信できます。

DVD プレーヤーに有効な IP アドレスがあると、そのアドレスを元にプレーヤーを検索したり、参照できます。エンド ユーザーがデバイスを検索、識別する必要のある状況もあります。その状況では、デバイスのフレンドリ名の方が IP アドレスより使用しやすくなっています。ただし DNS が名前アドレスのマッピングを使用することは UPnP の範囲外です。

検出 - アドバタイズ

さて新規デバイスにアドレスが割り当てられていて通信可能となると、UPnP コントロール ポイントにその存在を通知する必要があります。これは UPnP での検出の一形式です。デバイスがネットワークに追加されると、UPnP 検出プロトコルによりデバイスはサービスをコントロール ポイントにアドバタイズできます。

新規デバイスがネットワークに追加されると、埋め込みデバイスやサービスをアドバタイズする検出メッセージをマルチキャストします。関連コントロール ポイントは、新規サービスが利用可能となったという通知の標準マルチキャスト アドレスをリッスンできます。

DVD プレーヤーが送信する検出メッセージには、アドバタイズの有効期間を示すタイム スタンプが含まれています。DVD プレーヤーは、期限切れになる前にアドバタイズを再送信する必要があります。そうでないとコントロール ポイントはデバイスがもう利用できないと想定します。また DVD プレーヤーは、オフラインになる前に退場を明示したメッセージを送信する必要があります。

ここで示したプロトコル スタックがアドバタイズの送受信に使用されます。

upnpxp_06

6: 検出アドバタイズのプロトコル スタック

DVD プレーヤーをネットワークにプラグインすると、各デバイスやサービスの GENA アドバタイズを送信してそのプレゼンスをアナウンスします。このメッセージは信頼性のないトランスポートである UDP 経由で配信されるので、すべてのコントロール ポイントが受信したことを確認するため数回送信されます。

検出 - 検索

DVD プレーヤーの接続が完了すると (パパが届いた DVD をジュークボックスに挿入しました)、パパは月曜に発表するプレゼンテーションを仕上げようと、ラップトップを持ってソファに座りました。

パパのラップトップもまた UPnP 対応なので、アドレッシングと検出のアドバタイズは新規 DVD プレーヤーと同じように行なわれます。パパは何も追加設定しないで、ホーム ネットワークの一部として仕事を開始します。金曜の夜で夕食までにまだ 1 時間あり、プレゼンテーションは月曜までに完了すればよいので、新しいおもちゃがあることだしパパはそちらを見たいと考えました。

パパはお気に入りの DVD 映画を再生して、きちんと動作するか確かめようと思います。もちろん新規リモート デバイスを試して設定することもできますが、起動されているラップトップを膝にソファに座っていて、DVD は UPnP ネットワーク上で利用可能なので、どうして立ち上がる必要があるでしょう。

パパはラップトップでビデオ制御アプリケーションを開始しました。このアプリケーションを開始すると、ネットワークに新しいコントロール ポイントが追加されます。ネットワーク上のすべてのビデオ デバイスが表示され、DVD プレーヤーを選択します。次にパパは再生するディスクを選択して再生を開始します。またビデオ制御アプリケーションを使用して TV のスイッチをつけることもできます。

UPnP ネットワークでは、ほかのステップも始まりました。始めに新しいコントロール ポイントがネットワークに接続されます。新しいコントロール ポイントがネットワークに追加されると、SSDP 検出メッセージをマルチキャストして関連デバイスやサービスを検索します。全デバイスはこのメッセージの標準マルチキャスト アドレスをリッスンして、埋め込みデバイスやサービスが検出メッセージの検索基準に一致するかどうかを応答する必要があります。パパが開始したビデオ制御アプリケーションは、ビデオ ソース デバイスを検索しています。

この検索メッセージで使用されたプロトコル スタックをここに示します。

upnpxp_07

7: 検出検索用のプロトコル スタック

検索メッセージには、デバイスやサービスのタイプや ID などベンダ固有の情報が含まれています。このタイプのデバイスに対して UPnP 運営委員会が定義したデバイスやサービスのタイプ、この場合はビデオ ソース デバイスのタイプが追加されます。この情報は、HTTPMU を使用して送信された SSDP 要求内ではカプセル化されています。検索要求への応答は、SSDP ヘッダの付いたユニキャスト UDP を使って送信されます。

検索要求への応答には、検出アドバタイズと同じ情報が含まれています。この応答は、検索を開始したコントロール ポイントの IPアドレスに、この場合はパパのラップトップの IPアドレスに送信されます。

ディスクリプション

現在パパのラップトップで起動されている新しいコントロール ポイントは、ネットワーク上のすべてのビデオ ソース デバイスの情報を手に入れています。このストーリーで初めて、コントロール ポイントはデバイスについてより多くの情報を必要な状況になったので、ディスクリプションの説明に移ります。

受信した検索要求のレスポンスには、デバイス ディスクリプションを取得できる URL が含まれています。

UPnP のデバイス ディスクリプションを取得するため、コントロール ポイントは検出メッセージの URL に HTTP GET 要求を発行し、デバイスはデバイス ディスクリプションを返します。サービス ディスクリプションの URL はデバイス ディスクリプションの一部で、従ってサービス ディスクリプションは同じ方法で取得できます。ディスクリプション ステップで使用したプロトコル スタックは以下のようになります。

upnpxp_08

8: ディスクリプションのプロトコル スタック

デバイスの UPnP ディスクリプションは、ベンダ固有の情報や埋め込みデバイスの定義、デバイス プレゼンテーションの URL、コントローラやイベントの URL を含む全サービスの列挙が含まれている XML ドキュメントです。UPnP ベンダはデバイスやサービスの標準ディスクリプションを拡張して、状態変数、アクション、サービスを追加できます。こうして UPnP は、基本規格を忠実に守りながら柔軟性を維持できます。例のデバイスやサービスのディスクリプションは UPnP デバイス アーキテクチャ ドキュメントにあります。

プレゼンテーション

パパのラップトップで実行中のアプリケーションは、表示するデバイスやサービスおよび表示する方法を判断できます。または DVD プレーヤーがプレゼンテーション (Web) ページをホストしている場合、この HTML ページをダウンロードしてデバイスの制御に使用できます。

プレゼンテーション ページの URL はデバイス ディスクリプションに入っています。このページを取得するためコントロール ポイントは、HTTP GET 要求を プレゼンテーション URL に発行する必要があります。するとデバイスはプレゼンテーション ページを返します。使用されたプロトコル スタックは以下の通りです。

upnpxp_09

9: プレゼンテーションのプロトコル スタック

UPnP デバイス アーキテクチャ ドキュメントは、このページを HTML で記述するよう指定しています。これは Web 表示に似ていますが、パパがデバイスを制御するためにブラウズする点が違います。

プレゼンテーション ページの機能は、UPnP ベンダによってきちんと指定されています。プレゼンテーション ページを実装するため、UPnP ベンダはデバイスの既存の機能を利用した UPnP のコントロールやイベントのメカニズムを使用します。プレゼンテーションには UPnP 協議会で定義された要素がなく、完全にベンダの仕様に依存しています。

コントロール

パパは DVD 映画を選んで再生を始めるために、DVD プレーヤーを制御する必要があります。このために、プレゼンテーション ページや汎用ビデオ制御アプリケーションを使用できるでしょう。

コントロール ポイントがデバイスとそのサービスを知ると、サービスに対してアクションを起こして値を返させることができます。同時にコントロール ポイントは、状態変数の値に対してサービスをポーリングできます。

アクションの呼び出しは一種のリモート プロシージャ コール (RPC) です。コントロール ポイントはアクションをデバイスのサービスに送信し、アクションが完了するか失敗するのかに応じてサービスはリザルトかエラーを返します。またコントロール ポイントは状態変数の値をポーリングできます。

DVD プレーヤーを制御するため、パパのラップトップは制御メッセージをデバイス ディスクリプションに含まれているコントロール URL に送信して DVD サービスを要求します。DVD プレーヤー サービスはアクションのリザルトまたはエラーを返します。またアクションの効果は、サービスの状態変数の変更によりモニタできます。この状態変数の変更はイベントに記述されているすべての関連コントロール ポイントにパブリッシュされますが、状態変数の値を問い合わせることもできます。これは制御要求の変種です。

次のプロトコル スタックがコントローラに使用されます。

upnpxp_10

10: コントロールのプロトコル スタック

制御メッセージに含まれているベンダ固有の情報には引数値が含まれています。UPnP 協議会運営委員会はアクション名や引数名、メッセージに含まれる変数を定義しています。この情報は UPnP 固有のフォーマットでカプセル化されてから SOAP を使ってフォーマットされ、それから HTTP over TCP/IP を使って送信されます。

デバイスは制御要求に 30 秒以内に応答する必要があります。レスポンスでは、アクションがまだ保留中で完了をイベントで通知すると指定できます。

また制御アプリケーションは特定のサービス変数を問い合わせることがあります。たとえば DVD プレーヤー サービスには、DVD の実行時間が含まれている状態変数の付いているサービスがあります。パパはそれが知りたいので、夕食の時に映画までの時間を問い合わせできます。またコントロール ポイントもサービスの状態変数を問い合わせできますが、1 回の問合わせには 1 つの状態変数しか送信できません。

検出、ディスクリプション、コントロールへの再アクセス

さて DVD は再生中で、パパは座ってプレゼンテーションの仕事を開始できます。新しい買い物を見ると、時計が点滅していることに気付きました。そればかりでなく VCR の時計も点滅しています。パパは昔風に電気テープを貼って点滅を止めようと考えましたが、ママは午後早くに停電したので電子レンジやコーヒー ポットの時計や目覚し時計も合っていないといいました。

パパはクロック設定アプリケーションがインターネット ゲートウェイに同梱されていたことを思い出しました。今こそそれを試す最高の時です。パパはそのアプリケーションをラップトップにロードしていませんでしたが、2 つの要素のためアプリケーションを見つけて実行するのは簡単でした。

まず第 1 にゲートウェイは、ホーム ネットワークに記憶領域サービスを提供します。ゲートウェイには、ネットワークに記憶領域サービスを作成するディスク領域があります。この時間設定アプリケーションは、ゲートウェイと共有するディスクで利用できます。第 2 に、パパのラップトップのオペレーティング システムはファイル ブラウザを含めて UPnP 対応のため、このアプリケーションの実行が簡単になります。ブラウザを表示させると、ブラウザは自動的にファイル記憶領域サービスを提供するデバイスをネットワークで検索し、ゲートウェイ デバイスの記憶領域が表示されます。 そこでパパは以下のように、クロック設定アプリケーションをクリックして実行させることができます。

  • インターネット接続を検索して、インターネット上の時間ソースに接続して公式時間を取得する。

  • UPnP 検出を使用してネットワークにクロック サービスを提供する全デバイスを検索する。

  • それぞれのデバイスで、クロック サービスの 「セット」 アクション実行を繰り返す。

これは簡単でした。さらにパパは調べて、コントロール ポイントであるゲートウェイからクロック アプリケーションを定期的に実行するように設定できることに気付きました。パパはそのアプリケーションの実行を午前 4 時に設定したので、それから時計の設定に悩むことはなくなりました。

イベント

夕食が近づき、パパはプレゼンテーションを仕上げました。夕食後に見直すためハードコピーが必要でした。UPnP プリンタが台所の電話回線ネットワークに接続されていたので、ラップトップではプリンタ ブラウザを通して利用できます。

パパはそのプリンタでの印刷を選択しました。パパがラップトップを置いて映画に夢中になり始めた途端、ラップトップにポップアップ ウインドウが表示され、プリンタのインク切れを知らせました。プリンタが直接 PC に接続していれば現在でもこれは可能ですが、UPnP ではプリンタと印刷ブラウザが UPnP イベントを使用します。

パパが息子を呼んでインク カートリッジの交換を頼もうとしたとき、ちょうど息子がそばを通ってもう終わったといいました。部屋の PC で宿題をやっていた時、彼の PC が同じ通知を受信したのです。ネットワーク上でイベント登録をしたすべてのコントロール ポイントはその通知を受信します。

サービス ディスクリプションで記述されている状態変数は、イベントにできます。サービス パブリッシャはこの変数が変更されると更新します。この場合の印刷ブラウザなどコントロール ポイントは、サブスクライブしてサブスクリプション メッセージを送信することにより、この情報を受信します。イベントのパブリッシャはこのサブスクリプションを受け入れて、サブスクリプションの期間に応答できます。サブスクライバはサブスクリプションを更新するか、関心を失えばサブスクリプションをキャンセルできます。

次のプロトコル スタックがイベントに使用されます。

upnpxp_11

11: イベントのプロトコル スタック

サブスクリプションの URL、サブスクリプション期間、変数値および変数名は GENA を使ってフォーマットされ、TCP/IP を使って発信されます。

略語集

APIApplication Programming Interface、アプリケーション プログラミング インターフェイス

ARPAddress Resolution Protocol、アドレス解決プロトコル

DHCPDynamic Host Configuration Protocol、動的ホスト構成プロトコル

DNSDomain Name System、ドメイン ネーム システム

FXPPFlexible XML Processing Profile

GENAGeneral Event Notification Architecture、一般イベント通知アーキテクチャ

HTMLHyperText Markup Language、ハイパーテキスト マークアップ言語

HTTPMUHTTP Multicast over UDP

HTTPUHTTP over UDP (ユニキャスト)

SOAPSimple Object Access Protocol、シンプル オブジェクト アクセス プロトコル

SSDPSimple Service Discovery Protocol、シンプル サービス検出プロトコル

UPCUniversal Product Code、統一商品コード

UPnPUniversal Plug and Play、ユニバーサル プラグ アンド プレイ

URIUniform Resource Identifier、ユニフォーム リソース識別子

URLUniform Resource Locator、ユニフォーム リソース ロケータ

URNUniform Resource Name、ユニフォーム リソース名

USNUnique Service Name、ユニーク サービス名

UUIDUniversally Unique Identifier、ユニバーサリ ユニーク 識別子

XMLExtensible Markup Language、拡張マークアップ言語

まとめ

今やかつてないほど、コンピュータは小型で一般的な機器に使われています。安価で一般的なネットワーク メディア テクノロジの一部は既に実現されており、その他もまもなく実現されます。近年、ネットワーク製品およびコンピュータ製品の価格は大幅に下がっています。

コンピュータと日常製品を、使いやすくて設定しやすいネットワークを利用して組み合わせると、新しい利点が増えていきます。その結果普段の仕事が簡単になり、時間に余裕ができ、質の高い生活を享受できます。人々はかつてないほど世界に結びつけられる一方で、その発展によって人々は圧倒されかねません。したがって、人々が効果的にそれらを利用するには、作業が簡単にならなければなりません。

ユニバーサル プラグ アンド プレイは既存の規格、既存の技術、既存の知識を採用しながら新たな目的を設定し直し、ネットワーク世界の約束とチャンスを達成するオープン イニシアティブです。標準に基づき、小型機器に実装できるほど簡単で、グローバルなインターネットに拡大できるほど強力であり、そして実証済みのインターネット プロトコルの方法に基づいたユニバーサル プラグ アンド プレイは、ますます増え続け、しかも確実にうまくいく方法です。

詳細情報

リファレンス

ユニバーサル プラグ アンド プレイ デバイス アーキテクチャ (UPnP) (英語)。

http://www.upnp.org/ leave-ms

RFC 2616

HTTP: ハイパーテキスト転送プロトコル 1.1。IETF RFC (英語)。

ftp://ftp.rfc-editor.org/in-notes/rfc2616.txt leave-ms

RFC 2279

UTF-8、ISO 10646 変換フォーマット (キャラクタ エンコーディング)。IETF RFC (英語)。

ftp://ftp.rfc-editor.org/in-notes/rfc2279.txt leave-ms

XML

拡張マークアップ言語。W3C 推奨 (英語)。

http://www.w3.org/XML/ leave-ms

Auto-IP

アドホック IPv4 ネットワーク内の IP アドレス自動選択。IETF ドラフト (英語)。

http://search.ietf.org/internet-drafts/draft-ietf-dhc-ipv4-autoconfig-05.txt leave-ms

RFC1034

ドメイン名 - コンセプトおおよびファシリティ。 IETF RFC (英語)。

ftp://ftp.rfc-editor.org/in-notes/rfc1034.txt leave-ms

RFC1035

ドメイン名 - 実装および仕様。 IETF RFC (英語)。

ftp://ftp.rfc-editor.org/in-notes/rfc1035.txt leave-ms

RFC 2131

DHCP プロトコル。IETF RFC (英語)。

ftp://ftp.rfc-editor.org/in-notes/rfc2131.txt leave-ms

RFC 2136

DNS の動的更新。IETF RFC (英語)。

ftp://ftp.rfc-editor.org/in-notes/rfc2136.txt leave-ms

DHCP クライアント/サーバーによる動的 DNS 更新 (英語)。

DHCP と DNS の対話。IETF ドラフト。

http://search.ietf.org/internet-drafts/draft-ietf-dhc-dhcp-dns-12.txt leave-ms

GENA

一般イベント通知アーキテクチャ。IETF ドラフト。

HTTPMU、HTTPU

HTTP Multicast over UDP、HTTP Unicast over UDP。IETF ドラフト。

SSDP

シンプル サービス検出プロトコル。IETF ドラフト。

FXPP

Flexible XML Processing Profile。
未知の XML 要素とそのサブ要素の無視を指定します。
IETF ドラフト。

RFC 1123

日付形式つまり HTTP DATE ヘッダが含まれています (英語)。
IETF RFC。

ftp://ftp.rfc-editor.org/in-notes/rfc1123.txt leave-ms

RFC 1766

言語タグ形式つまり HTTP ACCEPT-LANGUAGE ヘッダが含まれています (英語)。
IETF RFC。

ftp://ftp.rfc-editor.org/in-notes/rfc1766.txt leave-ms

RFC 2387

コンテンツ タイプを表わす形式、たとえばアイコンの MIME タイプ要素 (英語)。
IETF RFC。

ftp://ftp.rfc-editor.org/in-notes/rfc2387.txt leave-ms

UPC

統一商品コード。消費パッケージを識別する 12 桁の数値コード。Uniform Code Council が管理 (英語)。

http://www.uc-council.org/ean_ucc_system/stnds_and_tech/auto_id.html leave-ms

XML

拡張マークアップ言語。W3C 推奨 (英語)。

http://www.w3.org/XML/ leave-ms

XML スキーマ (パート 1: 構造、パート 2: データ型)

UPnP テンプレート言語を定義する文法。 Defined using XML.
W3C 作業ドラフト (英語)。
パート 1: 構造 http://www.w3.org/TR/xmlschema-1/ leave-ms
パート 2: データ型 http://www.w3.org/TR/xmlschema-2/ leave-ms

HTML

ハイパーテキスト マークアップ言語。W3C 推奨 (英語)。

http://www.w3.org/MarkUp/ leave-ms

HTTP 拡張フレームワーク

HTTP の汎用拡張メカニズムを記述します (英語)。
W3C RFC。

http://www.w3.org/Protocols/HTTP/ietf-http-ext/ leave-ms

SOAP

シンプル オブジェクト アクセス プロトコル。
RPC 用に XML over HTTP を定義します。
IETF ドラフトおよび W3C 技術レポート。

ダウンロード

Bb457049.icon_Word(ja-jp,TechNet.10).gifWindows XP のユニバーサル プラグ アンド プレイ(UPnP)
860 KB
Microsoft Word ファイル

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました

コミュニティの追加

追加
表示:
© 2014 Microsoft