Internet Engineering Task Force (IETF) V. Chen, Ed. Request for Comments: 7545 Google Category: Standards Track S. Das ISSN: 2070-1721 Applied Communication Sciences L. Zhu Huawei J. Malyar iconectiv P. McCann Huawei May 2015 Protocol to Access White-Space (PAWS) DatabasesAbstract
Portions of the radio spectrum that are allocated to licensees are available for non-interfering use. This available spectrum is called "white space". Allowing secondary users access to available spectrum "unlocks" existing spectrum to maximize its utilization and to provide opportunities for innovation, resulting in greater overall spectrum utilization. One approach to managing spectrum sharing uses databases to report spectrum availability to devices. To achieve interoperability among multiple devices and databases, a standardized protocol must be defined and implemented. This document defines such a protocol, the "Protocol to Access White-Space (PAWS) Databases". Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7545.
Copyright Notice Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 5 2.1. Conventions Used in This Document . . . . . . . . . . . . 5 2.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 6 3. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 7 3.1. Multi-ruleset Support . . . . . . . . . . . . . . . . . . 8 4. Protocol Functionalities . . . . . . . . . . . . . . . . . . 9 4.1. Database Discovery . . . . . . . . . . . . . . . . . . . 11 4.1.1. Preconfiguration . . . . . . . . . . . . . . . . . . 11 4.1.2. Configuration Update: Database URI Changes . . . . . 11 4.1.3. Error Handling . . . . . . . . . . . . . . . . . . . 12 4.2. PAWS Version . . . . . . . . . . . . . . . . . . . . . . 12 4.3. Initialization . . . . . . . . . . . . . . . . . . . . . 12 4.3.1. INIT_REQ . . . . . . . . . . . . . . . . . . . . . . 13 4.3.2. INIT_RESP . . . . . . . . . . . . . . . . . . . . . . 14 4.4. Device Registration . . . . . . . . . . . . . . . . . . . 15 4.4.1. REGISTRATION_REQ . . . . . . . . . . . . . . . . . . 16 4.4.2. REGISTRATION_RESP . . . . . . . . . . . . . . . . . . 17 4.5. Available Spectrum Query . . . . . . . . . . . . . . . . 18 4.5.1. AVAIL_SPECTRUM_REQ . . . . . . . . . . . . . . . . . 21 4.5.2. AVAIL_SPECTRUM_RESP . . . . . . . . . . . . . . . . . 23 4.5.3. AVAIL_SPECTRUM_BATCH_REQ . . . . . . . . . . . . . . 26 4.5.4. AVAIL_SPECTRUM_BATCH_RESP . . . . . . . . . . . . . . 28 4.5.5. SPECTRUM_USE_NOTIFY . . . . . . . . . . . . . . . . . 29 4.5.6. SPECTRUM_USE_RESP . . . . . . . . . . . . . . . . . . 31 4.6. Device Validation . . . . . . . . . . . . . . . . . . . . 31 4.6.1. DEV_VALID_REQ . . . . . . . . . . . . . . . . . . . . 32 4.6.2. DEV_VALID_RESP . . . . . . . . . . . . . . . . . . . 33 5. Protocol Parameters . . . . . . . . . . . . . . . . . . . . . 34 5.1. GeoLocation . . . . . . . . . . . . . . . . . . . . . . . 34 5.2. DeviceDescriptor . . . . . . . . . . . . . . . . . . . . 37 5.3. AntennaCharacteristics . . . . . . . . . . . . . . . . . 38 5.4. DeviceCapabilities . . . . . . . . . . . . . . . . . . . 39 5.5. DeviceOwner . . . . . . . . . . . . . . . . . . . . . . . 39 5.6. RulesetInfo . . . . . . . . . . . . . . . . . . . . . . . 40 5.7. DbUpdateSpec . . . . . . . . . . . . . . . . . . . . . . 41 5.8. DatabaseSpec . . . . . . . . . . . . . . . . . . . . . . 42 5.9. SpectrumSpec . . . . . . . . . . . . . . . . . . . . . . 42 5.10. SpectrumSchedule . . . . . . . . . . . . . . . . . . . . 44 5.11. Spectrum . . . . . . . . . . . . . . . . . . . . . . . . 44 5.12. SpectrumProfile . . . . . . . . . . . . . . . . . . . . . 50 5.13. FrequencyRange . . . . . . . . . . . . . . . . . . . . . 51 5.14. EventTime . . . . . . . . . . . . . . . . . . . . . . . . 51 5.15. GeoSpectrumSpec . . . . . . . . . . . . . . . . . . . . . 52 5.16. DeviceValidity . . . . . . . . . . . . . . . . . . . . . 53
5.17. Error Element . . . . . . . . . . . . . . . . . . . . . . 53 5.17.1. OUTSIDE_COVERAGE Error . . . . . . . . . . . . . . . 55 5.17.2. DATABASE_CHANGE Error . . . . . . . . . . . . . . . 56 5.17.3. MISSING Error . . . . . . . . . . . . . . . . . . . 56 6. Message Encoding . . . . . . . . . . . . . . . . . . . . . . 57 6.1. JSON-RPC Binding . . . . . . . . . . . . . . . . . . . . 57 6.1.1. Method Names . . . . . . . . . . . . . . . . . . . . 59 6.1.2. JSON Encoding of Data Models . . . . . . . . . . . . 59 6.2. Example Encoding: spectrum.paws.init Method . . . . . . . 61 6.3. Example Encoding: spectrum.paws.getSpectrum Method . . . 62 6.4. Example Encoding: DeviceOwner vCard . . . . . . . . . . . 66 7. HTTPS Binding . . . . . . . . . . . . . . . . . . . . . . . . 66 8. Extensibility . . . . . . . . . . . . . . . . . . . . . . . . 68 8.1. Defining Ruleset Identifiers . . . . . . . . . . . . . . 68 8.2. Defining New Message Parameters . . . . . . . . . . . . . 69 8.3. Defining Additional Error Codes . . . . . . . . . . . . . 69 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 69 9.1. PAWS Ruleset ID Registry . . . . . . . . . . . . . . . . 70 9.1.1. Registration Template . . . . . . . . . . . . . . . . 70 9.1.2. Initial Registry Contents . . . . . . . . . . . . . . 72 9.2. PAWS Parameters Registry . . . . . . . . . . . . . . . . 78 9.2.1. Registration Template . . . . . . . . . . . . . . . . 78 9.2.2. Initial Registry Contents . . . . . . . . . . . . . . 78 9.3. PAWS Error Code Registry . . . . . . . . . . . . . . . . 80 9.3.1. Registration Template . . . . . . . . . . . . . . . . 81 9.3.2. Initial Registry Contents . . . . . . . . . . . . . . 81 10. Security Considerations . . . . . . . . . . . . . . . . . . . 81 10.1. Assurance of Proper Database . . . . . . . . . . . . . . 83 10.2. Protection against Modification . . . . . . . . . . . . 84 10.3. Protection against Eavesdropping . . . . . . . . . . . . 84 10.4. Client Authentication Considerations . . . . . . . . . . 84 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 85 11.1. Normative References . . . . . . . . . . . . . . . . . . 85 11.2. Informative References . . . . . . . . . . . . . . . . . 86 Appendix A. Database Listing Server Support . . . . . . . . . . 88 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 89 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 90
1. Introduction
This section provides some high-level introductory material. Readers are strongly encouraged to read "Protocol to Access White-Space (PAWS) Databases: Use Cases and Requirements" [RFC6953] for use cases, requirements, and additional background. A geospatial database can track available spectrum (in accordance with the rules of one or more regulatory domains) and make this information available to devices. This approach shifts the complexity of spectrum-policy conformance out of the device and into the database. This approach also simplifies adoption of policy changes, limiting updates to a handful of databases, rather than numerous devices. It opens the door for innovations in spectrum management that can incorporate a variety of parameters, including user location and time. In the future, it also can include other parameters, such as user priority, signal type and power, spectrum supply and demand, payment or micro-auction bidding, and more. In providing this service, a database records and updates information necessary to protect primary users -- for example, this information may include parameters such as a fixed transmitter's call sign, its geolocation, antenna height, power, and periods of operation. The rules that the database is required to follow, including its schedule for obtaining and updating protection information, protection rules, and information reported to devices, vary according to regulatory domain. Such variations, however, should be handled by each database and hidden from devices to the maximum extent possible. This specification defines an extensible protocol, built on top of HTTP and TLS, to obtain available spectrum from a geospatial database by a device with geolocation capability. It enables a device to operate in a regulatory domain that implements this protocol.2. Conventions and Terminology
2.1. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in "Key words for use in RFCs to Indicate Requirement Levels" [RFC2119].
2.2. Terminology
Database or Spectrum Database: A Database is an entity that contains current information about available spectrum at a given location and time, as well as other types of information related to spectrum availability and usage. Device ID: An identifier for a device. EIRP: Effective Isotropically Radiated Power ETSI: European Telecommunications Standards Institute (http://www.etsi.org) FCC: The U.S. Federal Communications Commission (http://www.fcc.gov) Listing server: A server that provides the URIs for one or more Spectrum Databases. A regulator, for example, may operate a Database Listing Server to publish the list of authorized Spectrum Databases for its regulatory domain. Master Device: A device that queries the Database, on its own behalf and/or on behalf of a slave device, to obtain available spectrum information. Regulatory Domain: A location where certain rules apply to the use of white-space spectrum, including the operation of Databases and devices involved in its use. A regulatory domain is normally defined by a unit of government for a particular country, but PAWS is agnostic as to how a regulatory domain is constructed. Ruleset: A ruleset represents a set of rules that governs the operation of white-space devices and Spectrum Databases. A regulatory authority can define its own set of rules or adopt an existing ruleset. When a Database or device is said to "support a ruleset", it means that it contains out-of-band knowledge of the rules and that its hardware and software implementations conform to those rules. Ruleset Identifier: A ruleset can be identified by an IANA- registered identifier (see PAWS Ruleset ID Registry (Section 9.1)). When a Database or device indicates it supports a ruleset identifier, it means that it conforms to the rules associated with that identifier. A regulatory authority can define and register its own ruleset identifiers, or it can use a previously registered identifier if it adopts an existing ruleset.
Slave Device: A device that queries the Database through a master device.3. Protocol Overview
A Master Device uses PAWS to obtain a schedule of available spectrum at its location. The security necessary to ensure the accuracy, privacy, and confidentiality of the device's location is described in the Security Considerations (Section 10). This document assumes that the Master Device and the Database are connected to the Internet. A typical sequence of PAWS operations is outlined as follows. See "Protocol Functionalities" (Section 4) and "Protocol Parameters" (Section 5) for details: 1. The Master Device obtains (statically or dynamically) the URI for a Database appropriate for its location, to which to send subsequent PAWS messages. 2. The Master Device establishes an HTTPS session with the Database. 3. The Master Device optionally sends an initialization message to the Database to exchange capabilities. 4. If the Database receives an initialization message, it responds with an initialization-response message in the body of the HTTP response. 5. The Database may require the Master Device to be registered before providing service. 6. The Master Device sends an available-spectrum request message to the Database. The message may be on behalf of a Slave Device that made a request to the Master Device. 7. If the Master Device is making a request on behalf of a Slave Device, the Master Device may verify with the Database that the Slave Device is permitted to operate. 8. The Database responds with an available-spectrum response message in the body of the HTTP response.
9. The Master Device may send a spectrum-usage notification message to the Database. The notification is purely informational; it notifies the Database what spectrum the Master Device intends to use and is not a request to the Database to get permission to use that spectrum. Some Databases may require spectrum-usage notification. 10. If the Database receives a spectrum-usage notification message, it responds by sending the Master Device a spectrum-usage acknowledgement message. Since the notification is purely informational, the Master Device does not need to process the database response. Different regulatory domains may impose particular requirements, such as requiring Master Devices to register with the Database, performing Slave Device verification, and sending spectrum-usage notifications.3.1. Multi-ruleset Support
For a Master Device that supports multiple rulesets and operates with multiple Databases, PAWS supports the following sequence of operations for each request by the Master Device: 1. The Master Device includes in its request its location and optionally includes the identifier of all the rulesets it supports and any parameter values it might need for the request. 2. The Database uses the device location and also may use the ruleset list to determine its response, for example, to select the list of required parameters. 3. If required parameters are missing from the request, the Database responds with an error and a list of names of the missing parameters. 4. The Master Device makes the request again, adding the missing parameter values. 5. The Database responds to the request, including the identifier of the applicable ruleset. 6. The Master Device uses the indicated ruleset to determine how to interpret the database response. NOTE: Some regulatory domains specify sets of requirements for device behavior that may be complex and not easily parameterized. The ruleset-id parameter provides a mechanism for the Database to inform the Master Device of an applicable ruleset, and, for devices with
out-of-band knowledge of the particular regulatory domain requirements, to satisfy those requirements without having to specify the device-side behavior within the protocol. Ruleset identifiers will normally contain the name of the regulatory body that established the rules and version information, such as "FccTvBandWhiteSpace-2010". By separating the regulatory "authority" from the "ruleset-id", it allows the protocol to support multiple regulatory authorities that use the same device-side ruleset. It also allows support for a single authority to define multiple rulesets.