summaryrefslogtreecommitdiff
path: root/doc/glossary.xml
blob: 7c41f7caf7cb33eecce904e0d881e9a206b6974f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE glossary PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">

<glossary id="glossary">

  <glossentry id="action"><glossterm>Action</glossterm>
  <glossdef>
    <para>
      An <firstterm>Action</firstterm> is a method call on a
      <glossterm>Service</glossterm>, which encapsulated a single piece of
      functionality.  Actions can have multiple input and output arguments, and
      can return error codes.  UPnP allows one of the output arguments to be
      marked as the <firstterm>return value</firstterm>, but GUPnP doesn't treat
      return values specially.
    </para>
    <para>
      Every action argument has a related <glossterm>State Variable</glossterm>,
      which determines the type of the argument.  Note that even if the argument
      wouldn't need a state variable it is still required, due to historical
      reasons.
    </para>
  </glossdef>
  </glossentry>

  <glossentry id="controlpoint"><glossterm>Control Point</glossterm>
  <glossdef>
    <para>
      A <firstterm>Control Point</firstterm> is an entity on the network which
      communicates with other <glossterm>Devices</glossterm> and
      <glossterm>Services</glossterm>.  In the client/server model the control
      point is a client and the <glossterm>Service</glossterm> is a server,
      although it is common for devices to also be a control point because
      whilst a single control point/service connection is client/server, the
      UPnP network as whole is peer-to-peer.
    </para>
  </glossdef>
  </glossentry>

  <glossentry id="device"><glossterm>Device</glossterm>
  <glossdef>
    <para>
      A <firstterm>Device</firstterm> is an entity on the network which
      communicates using the UPnP standards.  This can be a dedicated physical
      device such as a router or printer, or a PC which is running software
      implementing the UPnP standards.
    </para>
    <para>
      A Device can contain sub-devices, for example a combination
      printer/scanner could appear as a general device with a printer
      sub-device and a scanner sub-device.
    </para>
    <para>
      Every device has zero or more <glossterm>Services</glossterm>.  UPnP defines many standard
      device types, which specify services which are required to be implemented.
      Alternatively, a non-standard device type could be used.  Examples of
      standard device types are <literal>MediaRenderer</literal> or
      <literal>InternetGatewayDevice</literal>.
    </para>
    <glossseealso otherterm="service"/>
  </glossdef>
  </glossentry>

  <glossentry>
    <glossterm>DIDL-Lite</glossterm>
    <glosssee otherterm="didllite"/>
  </glossentry>

  <glossentry id="didllite"><glossterm>Digital Item Declaration Language - Lite</glossterm>
  <acronym>DIDL-Lite</acronym>
  <glossdef>
    <para>
      An XML schema used to represent digital content metadata. Defined by
      the UPnP Forum.
    </para>
  </glossdef>
  </glossentry>

  <glossentry>
    <glossterm>SCPD</glossterm>
    <glosssee otherterm="scpd"/>
  </glossentry>

  <glossentry id="service"><glossterm>Service</glossterm>
  <glossdef>
    <para>
      A <firstterm>Service</firstterm> is a collection of related methods
      (called <glossterm>Actions</glossterm>) and public variables (called
      <glossterm>State Variables</glossterm>) which together form a logical
      interface.
    </para>
    <para>
      UPnP defines standard services that define actions and variables which
      must be present and their semantics.  Examples of these are
      <literal>AVTransport</literal> and <literal>WANIPConnection</literal>.
    </para>
    <glossseealso otherterm="action"/>
    <glossseealso otherterm="device"/>
    <glossseealso otherterm="state-variable"/>
  </glossdef>
  </glossentry>

  <glossentry id="scpd">
    <glossterm>Service Control Protocol Document</glossterm>
    <acronym>SCPD</acronym>
    <glossdef>
      <para>
        An XML document which defines the set of <glossterm>Actions</glossterm>
        and <glossterm>State Variables</glossterm> that a
        <glossterm>Service</glossterm> implements.
      </para>
      <glossseealso otherterm="service"/>
      <glossseealso otherterm="action"/>
      <glossseealso otherterm="state-variable"/>
    </glossdef>
  </glossentry>

  <glossentry id="ssdp">
    <glossterm>Simple Service Discovery Protocol</glossterm>
    <acronym>SSDP</acronym>
    <glossdef>
      <para>
        UPnP device discovery protocol. Specifies how <glossterm>Devices</glossterm> 
        advertise their <glossterm>Services</glossterm> in the network and also how 
        <glossterm>Control Points</glossterm> search for
        services and devices respond.
      </para>
      <glossseealso otherterm="device"/>
      <glossseealso otherterm="controlpoint"/>
      <glossseealso otherterm="service"/>
    </glossdef>
  </glossentry>
  
  <glossentry>
    <glossterm>SSDP</glossterm>
    <glosssee otherterm="ssdp"/>
  </glossentry>

  <glossentry id="state-variable"><glossterm>State Variable</glossterm>
  <glossdef>
    <para>
      A <firstterm>State Variable</firstterm> is a public variable exposing some
      aspect of the service's state.  State variables are typed and optionally
      are <firstterm>evented</firstterm>, which means that any changes will be
      notified.  Control points are said to <firstterm>subscribe</firstterm> to
      a state variable to receive change notifications.
    </para>
  </glossdef>
  </glossentry>

  <glossentry>
    <glossterm>UDN</glossterm>
    <glosssee otherterm="udn"/>
  </glossentry>

  <glossentry id="udn">
    <glossterm>Unique Device Name</glossterm>
    <acronym>UDN</acronym>
    <glossdef>
      <para>
        A a unique identifier which is <emphasis>unique</emphasis> for every
        device but <emphasis>never changes</emphasis> for each particular
        device.
      </para>
      <para>
        A common practise is to generate a unique UDN on first boot from a
        random seed, or use some unique and persistent property such as the
        device's MAC address to create the UDN.
      </para>
      <glossseealso otherterm="device"/>
    </glossdef>
  </glossentry>

</glossary>