Upload
html5j
View
1.378
Download
4
Embed Size (px)
DESCRIPTION
第33回 HTML5とか勉強会 講演資料
Citation preview
Web Intents Addendum – Local Services
Web Intentsによる機器連携
Naoyuki Sato
自己紹介 • 名前 : 佐藤 直之 • 会社 : ソニー株式会社 • 部署 : 情報技術開発部門
• Webブラウザ技術、Web技術の研究・開発
• 以前は、
• DLNA ソフト開発 • IEEE1394(FireWire) AVプロトコル 標準化 • ハンディーカム メカコン ソフト開発
November 20, 2012 2 Copyright 2012, Sony Corporation
次世代Web Platform
Copyright 2012, Sony Corporation November 20, 2012 3
Home energy
Movie Music Photo Power Training Home theater
Web Service
Home Network Service
Web Browser
これを実現するために
• Web Intents Addendum - Local Services
をW3Cに提案・標準化中.
Copyright 2012, Sony Corporation November 20, 2012 4
Web Intents の追加仕様
Android Intentsのおさらい • 見ているWeb Pageを誰かに教えたければ。(共有)
Copyright 2012, Sony Corporation November 20, 2012 5
Android Intents – システムが仲介
Native app Native app Picker
Playストアからインストールされたアプリが表示
共有
Web Intents
Copyright 2012, Sony Corporation November 20, 2012 6
Web Intents – Webブラウザが仲介
Webストアからインストールされたアプリが表示
ここに、Home Network Serviceを加えて、呼び出したい。
Web Service Web Service Picker
共有
My Printer
Home Network Service
デモ
• Web Intentsに、Home Network Serviceが加わるとどうなるか?
• 写真共有サイトに写真を
• Web Intentsで、他のサイトから
• Web Intents + Local Serviceで、デジタルカメラから
Uploadする。
Copyright 2012, Sony Corporation November 20, 2012 7
Copyright 2012, Sony Corporation November 20, 2012 8
Webブラウザ
My Memories Online
Travel Photo Service
Webブラウザが仲介
写真要求
写真返信
写真要求
写真返信
写真返信
写真要求
Web Service Web Service
Home network Service
デジタルカメラ
Pick w/
var intent = new Intent(); intent.action = "http://webintents.org/pick"; intent.type = "image/*"; window.navigator.startActivity( intent, function(intentData) { ……
呼び出しは、同じ.
デモ
Copyright 2012, Sony Corporation November 20, 2012 9
デモ構成
Copyright 2012, Sony Corporation November 20, 2012 10
デジタルカメラ ノートパソコン パソコン
Service(HTML)提供 Service(HTML)提供
Service 発見
Webブラウザ Web Service Home network Service
HTTP Server HTTP Server
HTML JavaScript
CSS
HTML JavaScript
CSS SSDP
HTTP Client Service Discovery
SSDP mDNS
Service Discovery
*web intentsはshimで実現
機器連携に対応したWeb Intents
ユーザーがHome Network Device(家庭内の機器)も呼び出せるようにする
Copyright 2012, Sony Corporation November 20, 2012 11
写真追加
Webブラウザ
Pick W/
Webサービス選択ダイアログ
マイ デジカメ デジタルカメラ
Home Network (家)
Web
写真共有サービス
写真共有サービス
写真共有サービス
A
B
C
写真共有サービス
写真共有サービス
写真共有サービス
A
B
C
何か仕組みが必要! Local Service Discovery SSDP / mDNSを利用
WebストアからInstallされた アプリが表示
Local Service Discovery
• 「Web Intents Addendum - Local Services」では、以下、2つのLocal Service Discoveryを利用。
• SSDP
• mDNS + DNS-SD
Copyright 2012, Sony Corporation November 20, 2012 12
通知・検索 - SSDP
• SSDP - Simple Service Discovery Protocol • Home Network(家)のServiceの通知・検索が可能
• DLNA(UPnP)で使われているDiscoveryの仕組み
• マルチキャスト アドレスに、UDPの通知や検索の
パケットをブロードキャストして、機器やサービスを発見するプロトコル
• 詳しくは • UPnP Device Architecture 1.0
Copyright 2012, Sony Corporation November 20, 2012 13
SSDP 詳細 • HTTPU
• HTTP over UDP • HTTP Headerを利用
• HTTP Method • NOTIFY : 通知
• 入場・退場 • M-SEARCH : 検索
• NOTIFYは、機器・サービスから • M-SEARCHは、コントローラから送信
Copyright 2012, Sony Corporation November 20, 2012 14
NOTIFY * HTTP/1.1 NT: urn:schemas-webintents-org:service:WebIntent:1 …… LOCATION: http:/192.168.1.3:57735/ NTS : ssdp:alive …… Content-Length: 0
NOTIFY * HTTP/1.1 NT: urn:schemas-webintents-org:service:WebIntent:1
……
NTS: ssdp:byebye ……
Content-Length: 0
NOTIFY / ssdp:alive – 入場の通知
NOTIFY / ssdp:byebye – 退場の通知
M-SEARCH * HTTP/1.1 ST: urn:schemas-webintents-org:service:WebIntent:1 MAN: "ssdp:discover" HOST: 239.255.255.250:1900 MX: 10
M-SEARCH – 検索
Notification Type
Notification Sub Type
Search Target
通知
November 20, 2012 15 Copyright 2012, Sony Corporation
Webブラウザ デジタルカメラ
PC
ホームネットワーク
通知 Web Intents 対応機器
Multicast address 239:255:255:250 Port number : 1900
Share w/
マイ デジカメ
写真共有サービス
写真共有サービス
写真共有サービス
A
B
C
追加 1
SSDP パケット – 通知
Copyright 2012, Sony Corporation November 20, 2012 16
NOTIFY * HTTP/1.1 NT: urn:schemas-webintents-org:service:WebIntent:1 …… LOCATION: http:/192.168.1.3:57735/ NTS : ssdp:alive action.webintents.org: http://webintents.org/pick registration.webintents.org: /registration.html Content-Length: 0
Web Intents 対応機器対応を示す. Web Intents Action (Option)
<html> <head><title></title></head> <body> <intent action=http://webintents.org/pick type=image/* href= /control.html” disposition=“window” /> <body> </html>
SSDP 通知パケット 1
UDP Multicast
Web Intents registration 情報が書かれているページへのリンク (HTTPを使って、別に取得する)
registration.html
赤 : 新たに拡張
デジタルカメラ
検索
November 20, 2012 17 Copyright 2012, Sony Corporation
Webブラウザ PC
ホームネットワーク
検索 Web Intents 対応機器
Multicast address 239:255:255:250 Port number : 1900
Share w/
マイ デジカメ
写真共有サービス
写真共有サービス
写真共有サービス
A
B
C
追加
Unicastで返信
1
2
デジタルカメラ
SSDP パケット – 検索
Copyright 2012, Sony Corporation
November 20, 2012 18
HTTP/1.1 200 OK Cache-Control: max-age=1800 EXT: Location: http://192.168.11.3:5735/ ST: urn:schemas-webintents-org:service:WebIntents:1 USN: uuid:TestDevice::urn:schemas-webintents-org:service:WebIntents:1 action.webintents.org: http://webintents.org/pick registration.webintents.org:/registration.html
M-SEARCH * HTTP/1.1 ST: urn:schemas-webintents-org:service:WebIntent:1 MAN: "ssdp:discover" HOST: 239.255.255.250:1900 MX: 10
SSDP 検索パケット
SSDP 検索返信パケット
1
2
Webブラウザ
UDP Multicast
UDP Unicast
赤 : 新たに拡張
デジタルカメラ
mDNS + DNS-SD • mDNS : Multicast DNS
• Multicast(UDP)を用いて、Home network(家)にDNS(Domain Name System)を提供.
• Multicast Address: 224.0.0.251 • Port Number: 5353
• DNS-SD : DNS Service Discovery • DNSのSRV, TXT, PTRレコードを用いて、Serviceを検索、通知する. • TXTレコードに、web intentsの情報を追加.
• Bonjour(AirPlay)で使われている.
Copyright 2012, Sony Corporation November 20, 2012 19
mDNS + DNS-SD 検索 – Service
Copyright 2012, Sony Corporation November 20, 2012 20
Answers _webintents._tcp.local: type PTR, class IN, DSCWebService._webintents._tcp.local
Queries _webIntents._tcp.local: type PTR, class IN, "QM" question
mDNS + DNS-SD 検索
mDNS + DNS-SD 検索返信
1
2
Webブラウザ
UDP Multicast(224.0.0.251:5353)
UDP Unicast
赤 : 新たに定義
デジタルカメラ
domain service name
PTRレコードから、サービスを検索
mDNS + DNS-SD 検索 – Instance
Copyright 2012, Sony Corporation November 20, 2012 21
Answers DSCWebService._webintents._tcp.local: type PTR, class IN, cache flush, priority 0, weight 0, port 3639, DSCamera.local Additional Records DSCamera.local: Type A, class IN, cache flush, addr 192.168.1.47
Queries DSCWebService._webIntents._tcp.local: type SRV, Class IN, “QM” question
mDNS + DNS-SD 検索
mDNS + DNS-SD 検索返信
1
2
Webブラウザ
UDP Multicast(224.0.0.251:5353)
UDP Unicast
赤 : 新たに定義
デジタルカメラ
domain name
SRVレコードからホスト名、AレコードからIPアドレスを検索
mDNS + DNS-SD 検索 – 付加情報
Copyright 2012, Sony Corporation November 20, 2012 22
Answers Type: TXT (Text String) …… Text: location= http://192.168.1.47:4004/registration.html Text: action= http://webintents.org/pick
Queries DSCWebService._webIntents._tcp.local: type TXT, class IN, cache flush
mDNS + DNS-SD 検索
mDNS + DNS-SD 検索返信
1
2
Webブラウザ
UDP Multicast(224.0.0.251:5353)
UDP Unicast
赤 : 新たに定義
デジタルカメラ
TXTレコードから、Web Intentsの付加情報を検索
Web Intents Action (Option) Web Intents registration 情報が書かれているページへのリンク
(HTTPを使って、別に取得する)
マルチキャスト範囲
• TTL(Time to Live)で、家庭内だけにマルチキャスト
• パケットの有効期間、ルータを超えると1つ減る.
• 0でパケットは破棄
Copyright 2012, Sony Corporation November 20, 2012 23
SSDPパケット
Vers
ion IHL Total length
Type-of-
Service
Identification Fragment offset Flag
Time-to-live Protocol Header checksum
Source address
Destination address
Options(+ padding)
Data(variable)
IP v4 header
機器連携に対応したWeb Intents
Copyright 2012, Sony Corporation November 20, 2012 24
Webブラウザ
Web
写真共有サービス
写真共有サービス
写真共有サービス
A
B
C
写真追加
デジタルカメラ
Home Network (家)
選択
機器連携に対応したWeb Intents
Copyright 2012, Sony Corporation November 20, 2012 25
Webブラウザ
Web
写真共有サービス
写真共有サービス
写真共有サービス
A
B
C
写真追加
デジタルカメラ
Home Network (家)
Webサービス選択ダイアログ (Picker)
Share w/
写真共有サービス
写真共有サービス
写真共有サービス
A
B
C
マイ デジカメ
WebストアからInstallされたアプリが表示
Local Discoveryで登録 SSDP or mDNS + DNS-SD
選択
写真選択
写真撮影
マイ デジカメ
ズーム
機器連携に対応したWeb Intents
Copyright 2012, Sony Corporation November 20, 2012 26
Webブラウザ
Web
写真共有サービス
写真共有サービス
写真共有サービス
A
B
C
デジタルカメラ
Home Network (家)
デジタルカメラが提供したService
HTMLページを提供
制御
自分のServiceなので、制御プロトコルは自由 DLNA(SOAP)でも、RESTでも 今回はただのRESTで制御
選択
機器連携に対応したWeb Intents
Copyright 2012, Sony Corporation November 20, 2012 27
Webブラウザ
Web
写真共有サービス
写真共有サービス
写真共有サービス
A
B
C
写真追加
デジタルカメラ
Home Network (家)
写真を提供
呼び出し元のサービスに戻る
hiddenについて - 提案中
• 呼び出し側のUIで、細かい制御や制御したいとき
Copyright 2012, Sony Corporation November 20, 2012 28
呼び出し元のPage
制御
-UIのないHTML pageをデジタルカメラが提供 -呼び出し元の Pageは、High level APIで制御
High level API
Webブラウザ
デジタルカメラ
Home Network (家)
UIなしHTML を提供
制御プロトコルは自由
<html> <head><title></title></head> <body> <intent action=http://webintents.org/pick type=image/* href= /control.html” disposition=“background” /> <body> </html>
registration.html
APIは業界等で決める
Web messaging
まとめ
• 呼び出し側は、Web serviceもLocal Serviceも、簡単に呼び出せる.
• WebブラウザとLocal Serviceが対応.
• Service側のUIなので、Service制御Protocolは自由.
• Service Discoveryは、SSDPとmDNS+DNS-SDを利用.
• Web Intents RegistrationとAction(Option)の情報を従来のDiscoveryに追加、提供.
Copyright 2012, Sony Corporation June 13, 2012 29
Copyright 2012, Sony Corporation June 13, 2012 30
Webブラウザ
エアコン
Web
Webサービス
Webサービス
Webサービス
A
B
C
ホームネットワークからインターネットまで、つながる世界
テレビ
家
プリンタ
Home Network
デジタルカメラ
これにより
おわり
Copyright 2012, Sony Corporation June 13, 2012 31