Weave Profiles

Weave Profiles

There are many elements to the full Weave stack, but the majority of the functionality is grouped into logical constructs called profiles. Each profile corresponds to a specific set of Weave functionality which comprises:

  • Protocols
  • Protocol roles (publisher, subscriber)
  • Message types
  • Schemas and published data
  • Status and error codes

See the Profiles page in the Weave Primer for a general overview.

Primary

Some profiles are central to the functionality of Weave. These are:

  • swap_calls Bulk Data Exchange (BDX) — transfer files between nodes
  • public Common — system status and error reporting
  • business_center Data Management — real-time trait management
  • settings_ethernet Echo — test network connectivity and latency
  • security Security — establish secure sessions
  • book Service Directory — map endpoints to resources in the Service

Secondary

Others provide additional functionality atop the core:

  • alarm Alarm — propagate urgent conditions through the fabric
  • settings_remote Device Control — manage the state and configuration of a node
  • perm_device_information Device Description — share identities between nodes
  • texture Fabric Provisioning — resource-level fabric management
  • favorite Heartbeat — indicate liveness of a node
  • location_city Locale — indicate resource locales
  • blur_on Network Provisioning — resource-level network management
  • cloud_download Service Provisioning — pair and register resources
  • system_update Software Update — manage the software update process
  • library_books Status Report — legacy status and error reporting.
  • access_time Time Services — sync time information between resources and the Service
  • timelapse Time Zone — manage time zone settings between resources

Weave Stack

Weave Stack

The core of the Weave stack comprises four modules:

  • Security Manager — manages all secure sessions (CASE, PASE, TAKE) between resources
  • Exchange Manager — manages exchange contexts (conversations) between resources as defined by each profile
  • Message Layer — lightweight transport and session layer for communication
  • Fabric State — manages the security and configuration of the fabric, including session and fabric keys

Secondary profiles and traits sit atop the Weave core and primary profiles.

Weave uses the underlying transports of TCP, UDP, and BLE to pass Weave messages. TCP and UDP use both IPv4 and IPv6 over technologies such as Thread and WiFi, while BLE is treated as point-to-point links without routability.