Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29341-6-10 defines the Standby service for UPnP low-power devices, specifying the mechanism by which devices maintain network presence while operating in reduced power states. The Standby service is a mandatory component of the Low Power device architecture, enabling proxy-based network interaction that allows devices to power down their primary processing and communication subsystems while still appearing responsive to the network.
The fundamental challenge addressed by the Standby service is network transparency during low-power operation. When a device enters a standby state, it cannot respond to discovery probes or control requests directly. Without the Standby service, the device would appear offline to other network participants, creating reliability issues and user frustration. The service solves this by providing a proxy system that maintains the device’s network identity and responds to queries on its behalf.
The Standby service defines a proxy-server architecture where the low-power device (the server) delegates its network presence to a proxy component. The proxy maintains four critical data structures on behalf of the sleeping device: the device description document, the service control protocol definition (SCPD), the current state variable table, and a pending action queue. When a control point discovers and interacts with a sleeping device, the proxy responds with these cached data as if the device itself were responding.
The standard specifies the Wake-Up Proxy mechanism in detail. When a control point sends an action request to a sleeping device, the proxy intercepts the request and evaluates it against predefined wake criteria. If the request requires device-level processing, the proxy sends a wake-up signal to the device using a sideband channel (typically WoL magic packet for Ethernet devices or a GPIO interrupt for locally connected devices). The proxy then buffers the request and forwards it once the device signals readiness.
An important optimization in the Standby service is the ProxyFilter capability. Not all network events require waking the device. The proxy can be configured with filters that determine which actions trigger a wake-up and which can be handled entirely at the proxy level. For example, a query for device metadata can be answered from the cache, while a command to change a device setting requires waking the device.
| Proxy Component | Data Cached | Update Frequency | Wake Trigger |
|---|---|---|---|
| Device Description | Device type, friendly name, manufacturer info | On registration | Metadata query |
| SCPD | Service actions, arguments, state variables | On service change | Action invocation |
| State Variables | Current values of all state variables | Event-driven | Variable query |
| Action Queue | Pending action requests from control points | On each request | Action execution |
When implementing the Standby service, engineers must carefully design the wake-up decision logic. The standard defines a WakeCriteria data structure that contains action name patterns, service identifiers, and optional parameter matching rules. The proxy evaluates incoming requests against these criteria and only wakes the device when a match is found. This approach minimizes unnecessary wake-ups while ensuring important requests are processed promptly.
The Standby service supports multiple proxy discovery methods. In addition to the standard UPnP discovery protocol, devices can advertise their proxy association through DNS Service Discovery (DNS-SD) and DNS SRV records. This hybrid approach ensures robust proxy discovery across different network configurations, including subnets that do not forward multicast traffic reliably.
Security considerations are paramount in the Standby service architecture. The proxy must authenticate wake-up signals to prevent malicious wake-up attacks that could drain the device’s battery. The standard mandates that wake-up signals include a cryptographic nonce and must be verifiable by the sleeping device. Additionally, the proxy must validate that control points sending action requests have appropriate authorization before initiating device wake-up.
ISO/IEC 29341-6-10 Standby service is a critical enabler for energy-efficient UPnP networking. By providing a sophisticated proxy architecture that maintains network presence during low-power states, it bridges the gap between energy savings and network reliability. Engineers implementing this service must carefully tune wake criteria, proxy caching strategies, and security mechanisms to achieve optimal performance in their specific deployment scenarios.