Title: UPnP Core Architecture Version 1
1UPnP Core Architecture Version 1
- Yasushi Nagao
- Windows Product Marketing
- Microsoft Co., Ltd.
2UPnP ????
- ??????????????????????
- ?????????????????
- ??????????????????????
UPnP Network
????????
???????
3UPnP ????
?????????? ??????
??????????????
Internet
HomePNA
PowerLine
1394
802.11
4UPnP????????????
??????API (??)
??????????????
SOAP
SSDP
GENA
SSDP
GENA
HTTP
??????OS (??)
5UPnP ???????
6???? ? ?????? ????
????
????
Non-UPnP Device
?????
PC
7UPnP???????
0 ???????
- ???????DHCP???
- ???????Auto-IP???
- Auto-IP????
- 169.254/16?????????
- ARP??????????????????
- ??????????????????????
- ????DHCP????????????
8UPnP???????
1 ??????
4 ???????
5 ?????????
3 ??????
2 ?????????
1 ??????
0 ???????
9UPnP???????
1 ??????
SOAP
???????
??????
HTTP
SSDP
GENA
SSDP
GENA
10UPnP???????
UPnP Network
?? (??????)
11UPnP???????
UPnP Network
????????
M-SEARCH HTTP/1.1 HOST 239.255.255.2501900 MAN
ssdpdiscover MX time to delay ST ssdpall
UDN typeversion ltblank linegt
12UPnP???????
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 UDNST header value
13UPnP???????
2 ?????????
4 ???????
5 ?????????
3 ??????
2 ?????????
1 ??????
0 ???????
14UPnP???????
2 ?????????
UPnP Network
HTTP
??
XML??????
????????? ??
15UPnP???????
- ???XML??????
- ???? ?????????
- ???????
- ???????
- UI?????
- ???? ?????????
- ????????
- ??????
- ???????
16UPnP???????
- lt?xml version1.0?gt
- ltroot xmlnsurnschemas-upnp-orgdevice-1-0gt
- ltdevicegt
- ltserviceListgt
- ltservicegt
- lt/servicegt
- lt/serviceListgt
- ltdeviceListgt
- lt/deviceListgt
- lticonListgt
- lticongt
- lt/icongt
- lt/iconListgt
- lt/devicegt
- lt/rootgt
17UPnP???????
- lt?xml version"1.0"?gtltroot xmlns"urnschemas-upn
p-orgdevice-1-0"gt ltURLBasegtbase URL for all
relative URLslt/URLBasegt ltdevicegt
ltfriendlyNamegtshort user-friendly
titlelt/friendlyNamegt ltmanufacturergtmanufacture
r namelt/manufacturergt ltmanufacturerURLgtURL to
manufacturer sitelt/manufacturerURLgt
ltmodelDescriptiongtlong user-friendly
titlelt/modelDescriptiongt ltmodelNamegtmodel
namelt/modelNamegt ltmodelNumbergtmodel
numberlt/modelNumbergt ltmodelURLgtURL to model
sitelt/modelURLgt ltserialNumbergtmanufacturer's
serial numberlt/serialNumbergt
ltUDNgtuuidUUIDlt/UDNgt ltUPCgtUniversal Product
Codelt/UPCgt ltdeviceTypegturnschemas-upnp-orgde
vicedeviceTypelt/deviceTypegt
ltserviceListgt ltservicegt
ltserviceTypegturnschemas-upnp-orgserviceserviceT
ypevlt/serviceTypegt ltserviceIdgturnupnp-or
gserviceIdserviceIDlt/serviceIdgt
ltSCPDURLgtURL to service descriptionlt/SCPDURLgt
ltcontrolURLgtURL for controllt/controlURLgt
lteventSubURLgtURL for eventinglt/eventSubURLgt
lt/servicegt Declarations for other
services (if any) go here lt/serviceListgt
ltdeviceListgtDescription of embedded devices (if
any) go herelt/deviceListgt lticonListgt
lticongt ltmimetypegtimage/formatlt/mimetypegt
ltwidthgthorizontal pixelslt/widthgt
ltheightgtvertical pixelslt/heightgt
ltdepthgtcolor depthlt/depthgt lturlgtURL to
iconlt/urlgt lt/icongt XML to declare
other icons, if any, go here lt/iconListgt
ltpresentationURLgtURL for presentationlt/presentatio
nURLgt lt/devicegt ltspecVersiongt
ltmajorgt1lt/majorgt ltminorgt0lt/minorgt
lt/specVersiongtlt/rootgt
18UPnP???????
lt?xml version"1.0"?gtltroot xmlns"urnschemas-upn
p-orgdevice-1-0"gt ltURLBasegtbase URL for all
relative URLslt/URLBasegt ltdevicegt
ltfriendlyNamegtshort user-friendly
titlelt/friendlyNamegt ltmanufacturergtmanufacture
r namelt/manufacturergt ltmanufacturerURLgtURL to
manufacturer sitelt/manufacturerURLgt
ltmodelDescriptiongtlong user-friendly
titlelt/modelDescriptiongt ltmodelNamegtmodel
namelt/modelNamegt ltmodelNumbergtmodel
numberlt/modelNumbergt ltmodelURLgtURL to model
sitelt/modelURLgt ltserialNumbergtmanufacturer's
serial numberlt/serialNumbergt
ltUDNgtuuidUUIDlt/UDNgt ltUPCgtUniversal Product
Codelt/UPCgt ltdeviceTypegturnschemas-upnp-orgde
vicedeviceType vlt/deviceTypegt
ltserviceListgt ltservicegt
ltserviceTypegturnschemas-upnp-orgserviceserviceT
ypevlt/serviceTypegt ltserviceIdgturnupnp-or
gserviceIdserviceIDlt/serviceIdgt
ltSCPDURLgtURL to service descriptionlt/SCPDURLgt
ltcontrolURLgtURL for controllt/controlURLgt
lteventSubURLgtURL for eventinglt/eventSubURLgt
lt/servicegt Declarations for other
services (if any) go here lt/serviceListgt
ltdeviceListgtDescription of embedded devices (if
any) go herelt/deviceListgt lticonListgt
lticongt ltmimetypegtimage/formatlt/mimetypegt
ltwidthgthorizontal pixelslt/widthgt
ltheightgtvertical pixelslt/heightgt
ltdepthgtcolor depthlt/depthgt lturlgtURL to
iconlt/urlgt lt/icongt XML to declare
other icons, if any, go here lt/iconListgt
ltpresentationURLgtURL for presentationlt/presentatio
nURLgt lt/devicegt ltspecVersiongt
ltmajorgt1lt/majorgt ltminorgt0lt/minorgt
lt/specVersiongtlt/rootgt
19UPnP???????
- lt?xml version1.0?gt
- ltscpd xmlnsurnschemas-upnp-orgservice-1-0gt
- ltactionListgt
- ltactiongt
- lt/actiongt
- ltactionlistgt
- ltserviceStateTablegt
- ltstateVariablegt
- lt/stateVariablegt
- lt/serviceStateTablegt
- lt/scpdgt
20UPnP???????
lt?xml version"1.0"?gtltscpd xmlns"urnschemas-upn
p-orgservice-1-0"gt ltactionListgt
ltactiongt ltnamegtactionNamelt/namegt
ltargumentListgt ltargumentgt
ltnamegtformalParameterNamelt/namegt
ltdirectiongtin xor outlt/directiongt
ltretval /gt ltrelatedStateVariablegtstateVa
riableNamelt/relatedStateVariablegt
lt/argumentgt Declarations for other
arguments (if any) go here
lt/argumentListgt lt/actiongt Declarations
for other actions (if any) go here
lt/actionListgt ltserviceStateTablegt
ltstateVariable sendEventsyes xor nogt
ltnamegtvariableNamelt/namegt
ltdataTypegtvariable datatypelt/dataTypegt
ltdefaultValuegtdefault valuelt/defaultValuegt
ltallowedValueRangegt ltminimumgtminimum
valuelt/minimumgt ltmaximumgtmaximum
valuelt/maximumgt ltstepgtincrement
valuelt/stepgt lt/allowedValueRangegt
lt/stateVariablegt ltstateVariable
sendEventsyes xor nogt
ltnamegtvariableNamelt/namegt
ltdataTypegtvariable data typelt/dataTypegt
ltdefaultValuegtdefault valuelt/defaultValuegt
ltallowedValueListgt ltallowedValuegtsome
valuelt/allowedValuegt ltallowedValuegtsome
valuelt/allowedValuegt lt/allowedValueListgt
lt/stateVariablegt Declarations for other
state variables (if any) go here
lt/serviceStateTablegt ltspecVersiongt
ltmajorgt1lt/majorgt ltminorgt0lt/minorgt
lt/specVersiongtlt/scpdgt
21UPnP???????
lt?xml version"1.0"?gtltscpd xmlns"urnschemas-upn
p-orgservice-1-0"gt ltactionListgt
ltactiongt ltnamegtactionNamelt/namegt
ltargumentListgt ltargumentgt
ltnamegtformalParameterNamelt/namegt
ltdirectiongtin xor outlt/directiongt
ltretval /gt ltrelatedStateVariablegtstateVa
riableNamelt/relatedStateVariablegt
lt/argumentgt Declarations for other
arguments (if any) go here
lt/argumentListgt lt/actiongt Declarations
for other actions (if any) go here
lt/actionListgt ltserviceStateTablegt
ltstateVariable sendEventsyes xor nogt
ltnamegtvariableNamelt/namegt
ltdataTypegtvariable datatypelt/dataTypegt
ltdefaultValuegtdefault valuelt/defaultValuegt
ltallowedValueRangegt ltminimumgtminimum
valuelt/minimumgt ltmaximumgtmaximum
valuelt/maximumgt ltstepgtincrement
valuelt/stepgt lt/allowedValueRangegt
lt/stateVariablegt ltstateVariable
sendEventsyes xor nogt
ltnamegtvariableNamelt/namegt
ltdataTypegtvariable data typelt/dataTypegt
ltdefaultValuegtdefault valuelt/defaultValuegt
ltallowedValueListgt ltallowedValuegtsome
valuelt/allowedValuegt ltallowedValuegtsome
valuelt/allowedValuegt lt/allowedValueListgt
lt/stateVariablegt Declarations for other
state variables (if any) go here
lt/serviceStateTablegt ltspecVersiongt
ltmajorgt1lt/majorgt ltminorgt0lt/minorgt
lt/specVersiongtlt/scpdgt
22UPnP???????
3 ??????
4 ???????
5 ?????????
3 ??????
2 ?????????
1 ??????
0 ???????
23UPnP???????
3 ??????
UPnP Network
SOAP
Simple Object Access Protocol
????? ??
??ON
????? lt??ONgt
24UPnP???????
3 ?????? ?????
POST control url HTTP/1.1 HOST
addressport CONTENT-TYPEtext/xml
charsetutf-8 SOAPACTIONurnschemas-upnp-orgs
ervicetypeversionaction ltsEnvelope
xmlnsshttp//schemas.xmlsoap.org/soap/envelope
sencodingStylehttp//schemas.xmlsoap.org/s
oap/encoding/ ltsBodygt ltuactionName
xmlnsuhttp//schemas-upnp-orgservicetypevers
ion ltargumentNamegtin argument
valuelt/argumentNamegt
lt/uactionNamegt lt/sBodygt lt/sEnvelopegt
25UPnP???????
3 ?????? ????????
HTTP/1.1 200 OK CONTENT-TYPE text/xml
charsetutf-8 ltsEnvelope xmlnsshttp//schem
as.xmlsoap.org/soap/envelope
sencodingStylehttp//schemas.xmlsoap.org/soap/e
ncoding/ ltsBodygt ltuactionNameRespon
segt xmlnsuurnschemas-upnp-orgserv
icetypeversion ltargumentNamegtout
argument valuelt/argumentNamegt
26UPnP???????
4 ???????
5 ?????????
4 ???????
3 ??????
2 ?????????
1 ??????
0 ???????
27UPnP???????
4 ???????
UPnP Network
GENA
Generic Event Notification Architecture
?? lt???????gt
?? lt??????gt
28UPnP???????
4 ??????? ???????
- ??????? ?????????????
- ????????????URL???
- ??????????????????????????????
SUBSCRIBE eventing url HTTP/1.1 HOST
addressport CALLBACK client notification
url NT upnpevent TIMEOUT time to live
29UPnP???????
4 ??????? ??????????
NOTIFY client notification url HTTP/1.1 HOST
addressport CONTENT-TYPE text/xml NT
upnpevent NTS upnppropchange SID
UDNsubscription UUID SEQ sequence
number ltepropertyset xmlnseurnschemas-upnp-o
rgevent-1-0 ltepropertygt
ltvariableNamegtnew valuelt/variableNamegt
lt/epropertygt lt/epropertysetgt
30UPnP???????
5 ?????????
4 ???????
5 ?????????
3 ??????
2 ?????????
1 ??????
0 ???????
31UPnP???????
5 ?????????
UPnP Network
Web ????
Get Presentation
HTML UI
32For the interconnected lifestyle