UPnP Core Architecture Version 1

Slides:



Advertisements
Similar presentations
DLNA 2004 MT1 120 山口奈津子 2005 MT 007 千葉祐美子 2005 MT 056 久保このみ 2005 MT 064 三村奈緒美.
Advertisements

マイクロソフトがホスティングする拡張性に優れたサービス ベース アプリケーション プラットフォーム.
TCP / IP の基礎 ネットワーク管理者入門. インターネットを支える技術 ISO の 7 階層プロトコルと TCP / IP の実装 階層機能関連する TCP / IP プロ トコル アプリケーション層電子メールやファイルの転送 といった、具体的なアプリ ケーションが使用する規約 TELNET.
UPnP Forum Organization Hiroshi Ohwada International Standards Planning Center Canon Inc.
この部分こそが必 要とされている ! Runtime 自身と Expression が カバーする!
Windows Azure ハンズオン トレーニング Windows Azure Web サイト入門.
Curlの特徴.
ストリーミング配信 惑星物理学研究室 修士2年 土屋 貴志.
2004MT120 山口奈津子 2005MT007 千葉祐美子 2005MT056 久保このみ 2005MT064 三村奈緒美
Step.5 パケットダンプ Wiresharkでパケットをキャプチャする PC 1 PC 2 PC 3 PC 4 ネットワーク
情報基礎A 情報科学研究科 徳山 豪.
経済学のための情報処理 はじめに.
Metro Link SDK for Mitsubishi M16C MCU を使用した製品の可能性
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
Webアプリケーションの 通信メカニズム WEBアプリ研究プロジェクト 第2回.
3/4/ :37 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
UPnP Scanner Architecture
前回の課題 IPv6アドレス IP ARP ICMP NAT インターネット層 2003年12月4日 情報ネットワーク論 新村太郎.
IGD Working Committee Update
Windows Summit /13/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
「コンピュータと情報システム」 07章 インターネットとセキュリティ
3/17/2017 1:49 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
2000年10月6日.
第4回 個人の動画配信補足のためのWeb構築
2005年11月17日 Webサービス II (第6回) 年11月17日.
30分でわかるTCP/IPの基礎 ~インターネットの標準プロトコル~ 所属: 法政大学 情報科学研究科 馬研究室 氏名: 川島友美
Delphi Day ~Delphi 概要、および新バージョンのご紹介~
WindowsNTによるLAN構築 ポリテクセンター秋田 情報・通信系.
HTTPプロトコルとJSP (1) データベース論 第3回.
Using tiles and notifications タイルと通知の使用
Curlの仕組み.
スキルアップ.
HTTPプロトコル J2EE I 第7回 /
Windows Summit /6/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Windows Summit /8/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Live Framework 入門 その2 JZ5(松江) 2009/8/22.
ファイアウォール 基礎教育 (1日目).
Windows Summit /9/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Cisco Meeting Server - API概要
FireEye機器遮断アダプタ 導入ガイド
Windows Phone 7.5 の データ アクセスとクラウド連携
Microsoft Partner Network Office 365 社内使用ライセンスの有効化
情報検索概説II(99秋) 第3回 1999/10/21 インターネットの仕組み(2).
DataGrid ミニワークショップ@天文台 12/12
TCP/UDP プロセス間の通信のためのプロトコル TCP:信頼性高、処理時間大 UDP:信頼性低、処理時間小 ftp SMTP HTTP
インターネットの基礎知識 その3 ~TCP・UDP層編~
Windows Azure 通知ハブ.
Microsoft Visual Studio 2005 Tools for
ネットワークの基礎知識 電子制御設計製図Ⅰ   2014年5月2日 Ⅲ限目.
仕事: SystemVerilogを使いたい
第7回JavaScriptゼミ セクション4-5 発表者 直江 宗紀.
Windows Summit /22/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
MIX 09 2/23/2019 1:22 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
各種ルータに対応する P2P通信環境に関する研究
Exchange Server 2007 の Autodiscover で自動構成できない!! を回避するために
Windows Summit /24/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Web - 01 IIS を インストールしよう.
端末およびサービス透過的な 情報閲覧支援システムの構築
GoNET-MIS のご紹介 2015年04月 アイビーソリューション株式会社 Ver 2.1.
サーバ・クライアントシステム ( X Window System) 2006/01/20 伊藤 和也 original: 前坂たけし
Windows Summit 2010 © 2010 Microsoft Corporation.All rights reserved.Microsoft、Windows、Windows Vista およびその他の製品名は、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。
OSの再インストールや、バックアップからのリストア
Windows Summit /22/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
CO-Client Opeartion 1.1 利用履歴データベースの設計 (スキーマ バージョン 対応)
Microsoft Office Project Server 2007
アプリケーションゲートウェイ実験 2001.10.5 鬼塚 優.
プロトコル番号 長野 英彦.
VPNクライアント接続 サーバー保守のための安全な経路+作業者単位のアクセス制御 簡単な図 (網羅性より象徴性)
Windows Azure メディアサービス
HTTPプロトコルの詳細 M1 峯 肇史.
Presentation transcript:

UPnP Core Architecture Version 1 Yasushi Nagao Windows Product Marketing Microsoft Co., Ltd.

UPnP ビジョン UPnP Network ユーザーへプラグアンドプレイの使い勝手を提供 インターネット接続を簡単に共有する どこからでも自宅のコンテンツに安全にアクセス あらゆるジャンルの機器が対応可能 UPnP Network 検索をリクエスト デバイスが返事

UPnP ビジョン Internet Internet 強力&論理的&シンプルな ネットワーク 複雑に絡み合ったネットワーク HomePNA* PowerLine 1394 802.11 Bluetooth*

UPnPを実現する標準プロトコル ベンダ固有のAPI (上側) ベンダ固有の物理ネットワーク ベンダ固有のOS (下側) UPnP ベンダ UPnP Forum UPnP デバイス アーキテクチャ ベンダ固有の物理ネットワーク HTTPMU HTTPU SOAP HTTP SSDP GENA SSDP GENA HTTP UDP TCP IP ベンダ固有のOS (下側)

UPnP の技術的な特長 1. 物理的なネットワークメディアに依存しない 2. ソフトウェアプラットフォームに依存しない 3. 標準インターネット技術の活用

デバイス と コントロール ポイント コントロールポイント デバイス サービス ブリッジ Non-UPnP Device オーディオ PC

UPnPの動作ステップ 0 アドレッシング 1 ディスカバリ 0 アドレッシング 2 ディスクリプション 3 コントロール 4 イベンティング 5 プレゼンテーション 可能であれば、DHCPを使用 可能でなければAuto-IPを使用 Auto-IPの動作? 169.254/16内のアドレスを選択 ARPによって上記アドレスが有効かチェック 既に使用されていれば、他のアドレスでチェック 定期的にDHCPサーバーが可能かチェック

UPnPの動作ステップ 1 ディスカバリ ネットワーク上の機器を検出する段階 3 コントロール 4 イベンティング 5 プレゼンテーション 2 ディスクリプション 1 ディスカバリ 0 アドレッシング ネットワーク上の機器を検出する段階

UPnPの動作ステップ 1 ディスカバリ UPnP ベンダ UPnP Forum UPnP デバイス アーキテクチャ HTTPMU HTTPU HTTPMU SOAP マルチキャスト ユニキャスト HTTP SSDP GENA SSDP GENA UDP TCP IP

UPnPの動作ステップ UPnP Network 1 ディスカバリ SSDP : コネクト 告知 (アドバタイズ) 1 ディスカバリ SSDP : コネクト UPnP Network NOTIFY * HTTP/1.1 HOST: 239.255.255.250:1900 CACHE-CONTROL: time to live LOCATION: description url NT: {UDN | type:version} NTS: ssdp:alive USN: UDN::NT header value 告知 (アドバタイズ)

UPnPの動作ステップ UPnP Network 1 ディスカバリ SSDP : サーチ 検索をリクエスト 1 ディスカバリ SSDP : サーチ UPnP Network 検索をリクエスト M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: “ssdp:discover” MX: time to delay ST: {ssdp:all | UDN | type:version} <blank line>

UPnPの動作ステップ UPnP Network 1 ディスカバリ SSDP : サーチレスポンス 検索をリクエスト デバイスが返事 1 ディスカバリ SSDP : サーチレスポンス UPnP Network Audio 検索をリクエスト デバイスが返事 HTTP/1.1 200 OK CACHE-CONTROL: time to live DATE: date generated LOCATION: description url ST: same as NT header USN: UDN::ST header value

UPnPの動作ステップ 2 ディスクリプション 検出したデバイスから詳細な情報を取る段階 3 コントロール 4 イベンティング 5 プレゼンテーション 2 ディスクリプション 1 ディスカバリ 0 アドレッシング 検出したデバイスから詳細な情報を取る段階

UPnPの動作ステップ 2 ディスクリプション UPnP Network HTTP 検出 XMLドキュメント ディスクリプション 取得

UPnPの動作ステップ 2 ディスクリプション 二つのXMLドキュメント 標準規格に準拠 デバイス ディスクリプション 物理プロパティ 論理プロパティ UIプロパティ サービス ディスクリプション 有効なアクション ステート情報 標準規格に準拠

2 ディスクリプション : デバイスディスクリプション UPnPの動作ステップ 2 ディスクリプション : デバイスディスクリプション <?xml version=“1.0”?> <root xmlns=”urn:schemas-upnp-org:device-1-0”> <device> <serviceList> <service> </service> </serviceList> <deviceList> </deviceList> <iconList> <icon> </icon> </iconList> </device> </root>

UPnPの動作ステップ 2 ディスクリプション:物理プロパティ <?xml version="1.0"?> <root xmlns="urn:schemas-upnp-org:device-1-0">    <URLBase>base URL for all relative URLs</URLBase>   <device>     <friendlyName>short user-friendly title</friendlyName>     <manufacturer>manufacturer name</manufacturer>     <manufacturerURL>URL to manufacturer site</manufacturerURL>     <modelDescription>long user-friendly title</modelDescription>     <modelName>model name</modelName>     <modelNumber>model number</modelNumber>     <modelURL>URL to model site</modelURL>     <serialNumber>manufacturer's serial number</serialNumber>     <UDN>uuid:UUID</UDN>     <UPC>Universal Product Code</UPC>     <deviceType>urn:schemas-upnp-org:device:deviceType</deviceType>     <serviceList>       <service>         <serviceType>urn:schemas-upnp-org:service:serviceType:v</serviceType>         <serviceId>urn:upnp-org:serviceId:serviceID</serviceId>         <SCPDURL>URL to service description</SCPDURL>         <controlURL>URL for control</controlURL>         <eventSubURL>URL for eventing</eventSubURL>       </service>       Declarations for other services (if any) go here     </serviceList>     <deviceList>Description of embedded devices (if any) go here</deviceList>     <iconList>       <icon>         <mimetype>image/format</mimetype>         <width>horizontal pixels</width>         <height>vertical pixels</height>         <depth>color depth</depth>         <url>URL to icon</url>       </icon>       XML to declare other icons, if any, go here     </iconList>     <presentationURL>URL for presentation</presentationURL>   </device>   <specVersion>     <major>1</major> <minor>0</minor>   </specVersion> </root>

UPnPの動作ステップ 2 ディスクリプション : 論理プロパティ <?xml version="1.0"?> <root xmlns="urn:schemas-upnp-org:device-1-0">   <URLBase>base URL for all relative URLs</URLBase>   <device>     <friendlyName>short user-friendly title</friendlyName>     <manufacturer>manufacturer name</manufacturer>     <manufacturerURL>URL to manufacturer site</manufacturerURL>     <modelDescription>long user-friendly title</modelDescription>     <modelName>model name</modelName>     <modelNumber>model number</modelNumber>     <modelURL>URL to model site</modelURL>     <serialNumber>manufacturer's serial number</serialNumber>     <UDN>uuid:UUID</UDN>     <UPC>Universal Product Code</UPC>     <deviceType>urn:schemas-upnp-org:device:deviceType :v</deviceType>     <serviceList>       <service>         <serviceType>urn:schemas-upnp-org:service:serviceType:v</serviceType>         <serviceId>urn:upnp-org:serviceId:serviceID</serviceId>         <SCPDURL>URL to service description</SCPDURL>         <controlURL>URL for control</controlURL>         <eventSubURL>URL for eventing</eventSubURL>       </service>       Declarations for other services (if any) go here     </serviceList>     <deviceList>Description of embedded devices (if any) go here</deviceList>     <iconList>       <icon>         <mimetype>image/format</mimetype>         <width>horizontal pixels</width>         <height>vertical pixels</height>         <depth>color depth</depth>         <url>URL to icon</url>       </icon>       XML to declare other icons, if any, go here     </iconList>     <presentationURL>URL for presentation</presentationURL>   </device>   <specVersion>     <major>1</major> <minor>0</minor>   </specVersion> </root>

2 ディスクリプション : サービスディスクリプション UPnPの動作ステップ 2 ディスクリプション : サービスディスクリプション <?xml version=“1.0”?> <scpd xmlns=”urn:schemas-upnp-org:service-1-0”> <actionList> <action> </action> <actionlist> <serviceStateTable> <stateVariable> </stateVariable> </serviceStateTable> </scpd>

UPnPの動作ステップ 2 ディスクリプション : サービスアクション 2 ディスクリプション : サービスアクション <?xml version="1.0"?> <scpd xmlns="urn:schemas-upnp-org:service-1-0">   <actionList>     <action>       <name>actionName</name>       <argumentList>         <argument>           <name>formalParameterName</name>           <direction>in xor out</direction>           <retval />           <relatedStateVariable>stateVariableName</relatedStateVariable>         </argument>        Declarations for other arguments (if any) go here       </argumentList>     </action>     Declarations for other actions (if any) go here   </actionList>   <serviceStateTable>     <stateVariable sendEvents=“yes” xor “no”>       <name>variableName</name>       <dataType>variable datatype</dataType>       <defaultValue>default value</defaultValue>       <allowedValueRange>         <minimum>minimum value</minimum>         <maximum>maximum value</maximum>         <step>increment value</step>       </allowedValueRange>     </stateVariable>     <stateVariable sendEvents=“yes” xor “no”>       <name>variableName</name>       <dataType>variable data type</dataType>       <defaultValue>default value</defaultValue>       <allowedValueList>         <allowedValue>some value</allowedValue>         <allowedValue>some value</allowedValue>       </allowedValueList>     </stateVariable>     Declarations for other state variables (if any) go here   </serviceStateTable>   <specVersion>     <major>1</major> <minor>0</minor>   </specVersion> </scpd>

2 ディスクリプション : ステートバリアブル (変化) UPnPの動作ステップ 2 ディスクリプション : ステートバリアブル (変化) <?xml version="1.0"?> <scpd xmlns="urn:schemas-upnp-org:service-1-0">   <actionList>     <action>       <name>actionName</name>       <argumentList>         <argument>           <name>formalParameterName</name>           <direction>in xor out</direction>           <retval />           <relatedStateVariable>stateVariableName</relatedStateVariable>         </argument>        Declarations for other arguments (if any) go here       </argumentList>     </action>     Declarations for other actions (if any) go here   </actionList>   <serviceStateTable>     <stateVariable sendEvents=“yes” xor “no”>       <name>variableName</name>       <dataType>variable datatype</dataType>       <defaultValue>default value</defaultValue>       <allowedValueRange>         <minimum>minimum value</minimum>         <maximum>maximum value</maximum>         <step>increment value</step>       </allowedValueRange>     </stateVariable>     <stateVariable sendEvents=“yes” xor “no”>       <name>variableName</name>       <dataType>variable data type</dataType>       <defaultValue>default value</defaultValue>       <allowedValueList>         <allowedValue>some value</allowedValue>         <allowedValue>some value</allowedValue>       </allowedValueList>     </stateVariable>     Declarations for other state variables (if any) go here   </serviceStateTable>   <specVersion>     <major>1</major> <minor>0</minor>   </specVersion> </scpd>

UPnPの動作ステップ 3 コントロール 実際にデバイスをコントロールする段階 3 コントロール 4 イベンティング 5 プレゼンテーション 2 ディスクリプション 1 ディスカバリ 0 アドレッシング 実際にデバイスをコントロールする段階

SOAP UPnPの動作ステップ UPnP Network 3 コントロール アクション 結果 電源ON アクション <電源ON> Simple Object Access Protocol アクション 結果 電源ON アクション <電源ON>

UPnPの動作ステップ 3 コントロール : アクション POST: control url HTTP/1.1 3 コントロール : アクション POST: control url HTTP/1.1 HOST: address:port CONTENT-TYPE:text/xml; charset=“utf-8” SOAPACTION:”urn:schemas-upnp-org:service:type:version#action <s:Envelope xmlns:s=“http://schemas.xmlsoap.org/soap/envelope” s:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/” <s:Body> <u:actionName xmlns:u=“http://schemas-upnp-org:service:type:version” <argumentName>in argument value</argumentName> … </u:actionName> </s:Body> </s:Envelope>

UPnPの動作ステップ 3 コントロール : アクションの結果 HTTP/1.1 200 OK 3 コントロール : アクションの結果 HTTP/1.1 200 OK CONTENT-TYPE: text/xml; charset=“utf-8” <s:Envelope xmlns:s=“http://schemas.xmlsoap.org/soap/envelope” s:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/” <s:Body> <u:actionNameResponse> xmlns:u=“urn:schemas-upnp-org:service:type:version” <argumentName>out argument value</argumentName>

UPnPの動作ステップ 4 イベンティング デバイスの状態変化を検知する 3 コントロール 4 イベンティング 5 プレゼンテーション 2 ディスクリプション 1 ディスカバリ 0 アドレッシング デバイスの状態変化を検知する

Notification Architecture UPnPの動作ステップ 4 イベンティング UPnP Network GENA Generic Event Notification Architecture 障害 登録 <サブスクライブ> 通知 <パブリッシュ>

UPnPの動作ステップ 4 イベンティング : サブスクライブ サブスクライブ メッセージはサービスへ送信 4 イベンティング : サブスクライブ サブスクライブ メッセージはサービスへ送信 クライアントは通知にためURLを指定 クライアントはサブスクライブをリフレッシュしなければならない SUBSCRIBE eventing url HTTP/1.1 HOST: address:port CALLBACK: client notification url NT: upnp:event TIMEOUT: time to live

UPnPの動作ステップ 4 イベンティング : ノティフィケーション 4 イベンティング : ノティフィケーション NOTIFY client notification url HTTP/1.1 HOST: address:port CONTENT-TYPE: text/xml NT: upnp:event NTS: upnp:propchange SID: UDN:subscription UUID SEQ: sequence number <e:propertyset xmlns:e=“urn:schemas-upnp-org:event-1-0” <e:property> <variableName>new value</variableName> </e:property> … </e:propertyset>

UPnPの動作ステップ 5 プレゼンテーション Webブラウザを使ってデバイスの操作・設定が可能 3 コントロール 4 イベンティング 2 ディスクリプション 1 ディスカバリ 0 アドレッシング Webブラウザを使ってデバイスの操作・設定が可能

UPnPの動作ステップ 5 プレゼンテーション UPnP Network Web ブラウザ Get Presentation HTML UI

For the interconnected lifestyle