Applications Area Working Group                               D. Joslyn
Internet Draft                                               R. Roberts
Intended status: Standards Track                  Spectrum Bridge, Inc.
Expires: September 2012                                   March 5, 2012



      Protocol for Communication between White Space Device and White
                              Space Database
                      draft-sbi-paws-protocol-00.txt




Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

   This Internet-Draft will expire on September 5, 2012.

Copyright Notice

   Copyright (c) 2012 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.



Joslyn & Roberts      Expires September 5, 2012                [Page 1]


Internet-Draft          TVBD to WSDB Protocol                March 2012


Abstract

   This document defines an application protocol for WSDB services
   provided to TV Band Devices (TVBDs). The protocol complies with FCC
   Rules/Requirements [FCC 10-174] and in the context of operating an
   FCC certified database, it also complies with requirements defined by
   IETF PAWS [IETF-PAWS-03]. We believe this protocol can be easily
   extended to include the remaining requirements not already satisfied
   from the IETF PAWS requirements.



Table of Contents


   1. Introduction...................................................2
   2. Conventions and Terminology....................................3
      2.1. Conventions used in this document.........................3
      2.2. Terminology...............................................3
   3. Protocol Stack.................................................4
   4. Protocol Definition............................................4
      4.1. Registration..............................................5
         4.1.1. Registration Request Message.........................6
      4.2. Channel List Request......................................7
         4.2.1. Channel List Request Message.........................8
         4.2.2. Channel List Response................................9
      4.3. FCC ID Verification Request..............................10
         4.3.1. FCC ID Verification Request Message.................10
         4.3.2. FCC ID Verification Response........................11
      4.4. Data Objects.............................................11
      4.5. Timers...................................................13
      4.6. Status Return Codes......................................14
   5. Formal Syntax.................................................15
   6. IANA Considerations...........................................15
   7. Security Considerations.......................................15
   8. Conclusions...................................................15
   9. Acknowledgments...............................................15
   10. References...................................................15
      10.1. Normative References....................................15
      10.2. Informative References..................................15

1. Introduction

   This document defines an application protocol for TV Band Devices
   (TVBDs) to access Whitespace Database (WSDB) services over the
   Internet. Providing available channel lists to TVBDs is the primary
   service provided by the WSDB. Several operational requirements are


Joslyn & Roberts      Expires September 5, 2012                [Page 2]


Internet-Draft          TVBD to WSDB Protocol                March 2012


   defined to support this primary function, such as device
   registration, and FCC ID verification. The protocol allows any TVBD
   to gain access to the services of the WSDB by communicating over
   commonly used Internet protocols.

   The protocol defined by this document is compliant with FCC
   Requirements [FCC 10-174] and partially compliant with IETF PAWS
   requirements [IETF-PAWS-03] where the FCC requirements overlap with
   IETF PAWS requirements.

   A primary goal of the document is to define a protocol between the
   White Space Database and TVBDs compliant with FCC Requirements [FCC
   10-174] and also compliant with relevant overlapping requirements
   defined by IETF PAWS [IETF-PAWS-03]. The protocol can be easily
   extended to include the remaining IETF PAWS requirements.



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 RFC-2119 [RFC2119].

   In this document, these words will appear with that interpretation
   only when in ALL CAPS. Lower case uses of these words are not to be
   interpreted as carrying RFC-2119 significance.

   In this document, the characters "{" and "}" surrounding a word
   indicates a variable to be replaced with an appropriate value as
   described in the documented section.

   In this document, the characters "[" and "]" surrounding a word
   indicates a variable to be replaced with an appropriate value as
   described in the documented section.

2.2. Terminology

   TV Band Device (TVBD, TVWSDB or WSD)

      A White Space Device that operates in the TV bands.

   White Space Database (WSDB)




Joslyn & Roberts      Expires September 5, 2012                [Page 3]


Internet-Draft          TVBD to WSDB Protocol                March 2012


      In the context of white space and cognitive radio technologies,
      the database is an entity which contains, but is not limited to,
      current information about available spectrum at any given location
      and other types of related (to the white space spectrum) or
      relevant information.



3. Protocol Stack

   The Application Protocol defined in this document utilizes the
   following protocol stack for communication between the WSDB and TVBD:

   Application Layer = HTTPS

   Presentation Layer = SSL / XML (or JSON)

   Session Layer = Undefined by this standard

   Transport Layer = TCP

   Network Layer = IP

   Data Link Layer = Undefined by this standard

   Physical Layer = Undefined by this standard

   Many modern applications are successfully utilizing this protocol
   stack for client-server communications, and most modern network
   devices already include a TCP/IP stack. Software implementations of
   these protocols are readily available for use in the development of
   White Space Databases (WSDB) and Network Devices (TVBD) to support
   the application standard defined in this document.

   HTTPS is a key component used in this protocol, providing a commonly
   used request-response protocol for a client-server model, where the
   WSDB is the server and the TVBD is the client. Additionally, HTTPS
   provides security via SSL to satisfy security requirements.

4. Protocol Definition

   This section defines the application protocol that shall be used
   between the WSDB and TVBD for all services offered by the WSDB. The
   following sections define the services provided by the WSDB. The
   services are accessed by the TVBD using HTTPS GET and PUT requests
   over the Internet. Providing available Channel Lists to TVBDs is the
   primary service provided by the WSDB.


Joslyn & Roberts      Expires September 5, 2012                [Page 4]


Internet-Draft          TVBD to WSDB Protocol                March 2012


   Operations are only initiated by the TVBD, with a response from the
   WSDB. This eliminates the necessity of the WSDB initiating
   communications with the TVBD.

   Three services are defined on the interface between the WSDB and
   TVBD, Registration, Channel List Request, and FCC ID Verification.
   The services are listed in a logical order representing the steps
   that a TVBD MUST take to obtain service from the WSDB.

4.1. Registration

   A fixed TVBD MUST register with the WSDB prior to operating for the
   first time, or after changing location, or if any of the registration
   data changes. Only fixed TVBDs register with the WSDB,
   personal/portable TVBDs do not.

   To successfully register, the FCC ID and Serial Number of the TVBD
   must be enrolled at the WSDB. Device enrollment is an administration
   function that is not in the scope of this application protocol
   definition. WSDB operators may define their own methods for acquiring
   and maintaining device enrollment data.

   To register with the WSDB, the TVBD MUST send a Registration Request
   Message to the WSDB (see section 4.1.1. ).

   One of two possible results shall be returned by the WSDB:

   1. Successful Registration. The Registration will be valid for RVP
      and will be extended by subsequent WSDB access by the TVBD.

   2. Unsuccessful Registration. The TVBD identifiers (FCC ID and Serial
      Number) were unrecognized or unsupported by the WSDB.

   A successful Registration Reply will be returned to the TVBD only if
   all of the following are true:

      - The FCC identifier and manufacturer's serial number are enrolled
      at the WSDB

      - The device location is within the appropriate regulatory
      boundaries

      - The device type is valid (only Fixed TVBDs may register), and is
      allowed for the authorized equipment class

      - The antenna height is less than or equal to 30 meters



Joslyn & Roberts      Expires September 5, 2012                [Page 5]


Internet-Draft          TVBD to WSDB Protocol                March 2012


      - The HAAT of the device location calculated by the database is
      less than or equal to 76 meters

   A successful registration will overwrite any previous registration
   information for the same TVBD, as identified by FCC ID and serial
   number.

   The WSDB will retain the TVBD registration for a fixed period (RVP)
   with no activity. RVP will be extended by every successful
   registration, and by any subsequent Channel List Request received
   from the TVBD.

   If a TVBD registration expires, Channel List Requests will fail with
   a reason code of not registered, informing the TVBD of the need to
   register.



4.1.1. Registration Request Message

   A TVBD MUST register with the WSDB by sending an HTTP PUT message in
   the following format:

   HTTPS Method: PUT

   URL: https://{HOST.DOMAIN}/{VERSION}/devices/{FCCID}/{SERIAL}

   XML Body:

   <RegistrationRequest
   xmlns="http://schemas.datacontract.org/2004/07/{NAMESPACE}">
     <AntennaHeight>Decimal</AntennaHeight>
     <ContactCity>String</ContactCity>
     <ContactCountry>String</ContactCountry>
     <ContactEmail>String</ContactEmail>
     <ContactName>String</ContactName>
     <ContactPhone>String</ContactPhone>
     <ContactState>String</ContactState>
     <ContactStreet>String</ContactStreet>
     <ContactZip>String</ContactZip>
     <DeviceOwner>String</DeviceOwner>
     <DeviceType>Byte</DeviceType>
     <Latitude>Decimal</Latitude>
     <Longitude>Decimal</Longitude>
   </RegistrationRequest>

   Where:


Joslyn & Roberts      Expires September 5, 2012                [Page 6]


Internet-Draft          TVBD to WSDB Protocol                March 2012


   {HOST.DOMAIN} is replaced with the host.domain of the WSDB.

   {VERSION} is replaced with a valid version number defined by the
   WSDB.

   {FCCID} is the alphanumeric FCC identifier of the device.

   {SERIAL} is the manufacturer-assigned alphanumeric serial number of
   the device.

   <AntennaHeight> is the device's antenna height above ground level in
   meters.

   <ContactCity> is the address city for the contact person.

   <ContactCountry> is the country for the address of the contact
   person.

   <ContactEmail> is the email address for the contact person.

   <ContactName> is the name of the contact person responsible for the
   device's operation.

   <ContactPhone> is the phone number for the contact person

   <ContactState> is the state for the address of the contact person.

   <ContactState> is the street address for the contact person.

   <ContactZip> is the zip code for the address of the contact person.

   <DeviceOwner> is the name of the individual or business that is
   responsible for the device.

   <DeviceType> is the numeric device type. TODO: Define enum values!

   <Latitude> is the decimal latitude of the device's geographic
   coordinates (NAD 83) accurate to +/- 50 m.

   <Longitude> is the decimal longitude of the device's geographic
   coordinates (NAD 83) accurate to +/- 50 m.

4.2. Channel List Request

   The WSDB will provide, upon request, the available TV channels at the
   TVBD's location.



Joslyn & Roberts      Expires September 5, 2012                [Page 7]


Internet-Draft          TVBD to WSDB Protocol                March 2012


   There are three possible outcomes to a Channel Request:

   1. Successful, with Channel List.

   2. Successful, with no Channels Available.

   3. Unsuccessful

   To successfully receive a channel list, the FCC ID and Serial Number
   of the TVBD must be enrolled at the WSDB.

   A successful Channel List Response will be returned to the TVBD only
   if all of the following are true:

          - The FCC identifier and manufacturer's serial number are
          enrolled at the WSDB.

          - The device location is within the appropriate regulatory
          boundaries.

          - The device type is valid, and allowed for the authorized
          equipment class.

          - For a fixed TVBD, the device is registered and the location
          matches the values previously registered.



4.2.1. Channel List Request Message

   A Fixed or Mode II TVBD needing a channel to operate on can make a
   Channel List Request to the WSDB by sending an HTTP GET message with
   the following format:

   HTTPS Method: GET

   URL:

   https://{HOST.DOMAIN}/{VERSION}/channels/{LATITUDE}/{LONGITUDE}/?fcci
   d={FCCID}&serial={SERIAL}&type={DEVICETYPE}

   Where:

   {HOST.DOMAIN} is replaced with the host.domain of the WSDB.

   {VERSION} is replaced with a valid version number defined by the
   WSDB.


Joslyn & Roberts      Expires September 5, 2012                [Page 8]


Internet-Draft          TVBD to WSDB Protocol                March 2012


   {LATITUDE} is the decimal latitude of the device.

   {LONGITUDE} is the decimal longitude of the device.

   {FCCID} is the alphanumeric FCC identifier of the device.

   {SERIAL} is the manufacturer-assigned alphanumeric serial number of
   the device.

   {DEVICETYPE} is the numeric device type and antenna configuration.



4.2.2. Channel List Response

   Upon receipt of a Channel List Request from a TVDB, the WSDB will
   return a Channel List Response to the TVDB, using the following
   sample format:

     HTTP/1.1 200 OK\r\n
     Cache-Control: private\r\n
     Content-Length: {LENGTH}\r\n
     Content-Type: application/xml; charset=utf-8\r\n
     WSDB-Version: 3\r\n
     WSDB-Status: {STATUS}\r\n
     Date: Fri, 1 Jan 2010 16:00:00 GMT\r\n
     \r\n
     <ChannelResponse
     xmlns="http://schemas.datacontract.org/2004/07/{NAMESPACE}">
     <ChannelCount>integer</ChannelCount>
     <ChannelList>integer,...,integer</ChannelList>
     <RefreshIn>integer</RefreshIn>

   Where:

   {STATUS} provides the status for the Request, 0=valid.

   {LENGTH} is the number of characters in the XML body.

   <ChannelCount> is the number of channel entries in <ChannelList>.

   <ChannelList> is a comma-separated list of channels, an empty list if
   <ChannelCount> = 0, otherwise <ChannelCount> entries.

   <RefreshIn> is the number of hours until the channel list must be
   refreshed.



Joslyn & Roberts      Expires September 5, 2012                [Page 9]


Internet-Draft          TVBD to WSDB Protocol                March 2012




4.3. FCC ID Verification Request

   The FCC ID Verification Request provides a method for TVBDs to verify
   the validity of Mode I TVBDs that are dependent upon a master TVBD
   for channel lists. The WSDB will respond whether a requested FCC ID
   is valid.

   An FCC ID Verification Response will always be returned.

   The status returned in the WSDB response is based on whether the FCC
   ID is found in the authorized list of FCC IDs downloaded from the FCC
   OET EAS.

   The following sequence of events describes the use of this request:

   1. A Fixed or Mode II TVBD needs to verify whether a Mode I TVBD is
   valid, and sends a FCC ID Verification Request Message to the WSDB.

   2. The WSDB checks the FCC ID against the authorized FCC IDs and
   returns a reason code of success (0) only if found, otherwise unknown
   (not 0) will be returned. As long as the message is decodable, an FCC
   ID Verification Response will always be returned.



4.3.1. FCC ID Verification Request Message

   HTTPS Method: GET

   URL:

   https://{HOST.DOMAIN}/{VERSION}/devices/{FCCID}

   Where:

   {HOST.DOMAIN} is replaced with the host.domain of the WSDB.

   {VERSION} is replaced with a valid version number defined by the
   WSDB.

   {FCCID} is the alphanumeric FCC identifier of the device.






Joslyn & Roberts      Expires September 5, 2012               [Page 10]


Internet-Draft          TVBD to WSDB Protocol                March 2012


4.3.2. FCC ID Verification Response

   Upon receipt of a FCC ID Verification Request from a TVDB, the WSDB
   will return a status code, using the following sample format:

   HTTP/1.1 200 OK\r\n
   Cache-Control: private\r\n
   WSDB-Version: 3\r\n
   WSDB-Status: {STATUS}\r\n
   Date: Fri, 1 Jan 2010 16:00:00 GMT\r\n
   Content-Length: 0\r\n
   \r\n

   Where:

   {STATUS} provides the status for the Request, 0=valid.

4.4. Data Objects

   This section defines the data objects used in this protocol.

   Legend:
   Object Name | XML Field Name | Type |
      - Description and Valid Values

   antenna height  | AntennaHeight | float |
      - Antenna height above ground level in meters, ignored for
        personal/portable TVBDs

   channel         | ChannelList   | integer list |
      - Comma-separated list of available TV channel numbers,
        an empty list if ChannelCount=0, otherwise ChannelCount entries
        Valid values: 2, 5-20, 21-36, 37-51





   channel list count | ChannelCount | integer |
      - Number of TV channel numbers in the list
        0=no channels available
        >0= number of TV channel numbers in ChannelList

   contact email      | ContactEmail | string(100) |
      - email address for the contact person

   contact name       | ContactName  | string(100) |


Joslyn & Roberts      Expires September 5, 2012               [Page 11]


Internet-Draft          TVBD to WSDB Protocol                March 2012


      - name of a contact person responsible for the device's operation

   contact phone      | ContactPhone | string(50)  |
      - phone number for the contact person

   contact street address  | ContactStreet | string(100) |
      - street address for the contact person

   contact city       | ContactCity  | string(50)  |
      - city for the address for the contact person

   contact state      | ContactState | string(2)   |
      - state for the address for the contact person

   contact postal code| ContactZip   | string(20)  |
      - postal code for the address for the contact person

   contact country    | ContactCountry | string(2) |
      - country for the address for the contact person

   country code       | CountryCode  | string(2)   |
      - 2-character ISO 3166 country code, used to enforce the
        regulatory domain

   device latitude    | Latitude     | float       |
      - decimal latitude of device's geographic coordinates (NAD 83)
        accurate to +/  50 m

   device longitude   | Longitude    | float       |
      - decimal longitude of device's geographic coordinates (NAD 83)
        accurate to +/  50 m







   device type        | DeviceType   | integer     |
      - Numeric TVBD type, used for applying channel availability and
        separation rules.

         0=reserved
         1=40 mW Mode I personal/portable (not used)
         2=100 mW Mode I personal/portable (not used)
         3=40 mW Mode II personal/portable
         4=100 mW Mode II personal/portable


Joslyn & Roberts      Expires September 5, 2012               [Page 12]


Internet-Draft          TVBD to WSDB Protocol                March 2012


         5=reserved
         6=reserved
         7=reserved
         8=Fixed

   FCC ID          | FCCID            | string(17)  |
      - alphanumeric FCC identifier of the TVBD

   owner name      | DeviceOwner      | string(50)  |
      - name of the individual or business that is responsible for the
        device

   serial number   | Serial           | string(32)  |
      - alphanumeric manufacturer's serial number for the TVBD

   status          | WSDB-Status: (HTTP header) | integer |
      - Status result for the request, see section 4.6. for status code
      values.

   Strings longer than the maximum string length specified in the Type
   column will be truncated to the maximum string length.

4.5. Timers

   The following timers are used by the protocol during operation.

   Legend:
   Timer Name (Default Value): Description

   CLRP (1440 minutes): Channel List Refresh Period. The channel list
   must be refreshed at least once per day.

   CLTO (n/a minutes): Channel List Timeout. If the channel list cannot
   be refreshed, it times out "tomorrow" at 11:59 pm, local time,
   relative to when the channel list was originally provided.

   CRRP (60 minutes): Channel List Retry Period. If the WSDB returns No
   Channels Available, the period the TVBD should wait before retrying
   the request, to prevent overloading the WSDB with requests.

   CRT  (5 seconds): Channel list Request Timer. Deadman timeout for no
   response to Channel List Request.

   FVRT (5 seconds): FCC ID Verification Request Timer. Deadman timeout
   for no response to Channel List Request.




Joslyn & Roberts      Expires September 5, 2012               [Page 13]


Internet-Draft          TVBD to WSDB Protocol                March 2012


   RVP  (90 days): Registration Valid Period. The WSDB will retain a
   TVBD registration for this period with no activity. This period is
   extended for each successful Registration Request and every Channel
   List Request.

   RRRP (60 minutes): Registration Request Retry Period. If the
   registration request fails, the period the TVBD should wait before
   retrying the request, to prevent overloading the WSDB.

   RRT  (5 seconds): Registration Request Timer. Deadman timeout for no
   response to Registration Request.

4.6. Status Return Codes

   The following status return codes are provided by the WSDB on
   responses to the TVBD to communicate the status of requests made by
   the TVDB.

   Legend:
   Status Code, Description, Returned Text

     0, "Successful", Success
     1, "Malformed Request", MalformedRequest
     2, "FCC ID is not supported", FccIdNotSupported
     3, "Reserved", Reserverd
     4, "Device has not registered", DeviceNotRegistered
     5, "FCC has disallowed channels", FccDesignatedNoChannels
     6, "Unknown Country Code", UnknownCountryCode
     7, "Device is not enrolled", NotEnrolled
     8, "Device is not enrolled in specified country",
        NotEnrolledInCountry
     9, "Location is outside the regulatory domain",
        LocatedOutsideRegulatoryDomain
    10, "Antenna Height cannot be above 30 meters",
        AntennaHeightAbove30m
    11, "Height Above Average Terrain cannot be above 76 meters",
        HaatAbove76m
    12, "FCC ID is invalid", InvalidFccId
    13, "Device Type is invalid", UnknownDeviceType

    14, "Request does not match previous registration",
        RequestDoesNotMatchRegistration
    15, "Device Type does not match the equipment class",
        DeviceTypeDoesNotMatchEquipmentClass
   255, "No Value", None
   254, "Unknown Error", UnknownError



Joslyn & Roberts      Expires September 5, 2012               [Page 14]


Internet-Draft          TVBD to WSDB Protocol                March 2012


5. Formal Syntax

   While this specification uses an XML message structure, JSON may
   provide an acceptable option for encoding messages.

6. IANA Considerations

   None

7. Security Considerations

   In the protocol defined in this document, the use of HTTPS is
   essential for satisfying FCC and IETF-PAWS security requirements
   related to message integrity.

8. Conclusions

   This document defines an application protocol for WSDB services
   provided to TVBDs. The protocol complies with FCC Rules/Requirements
   [FCC 10-174] and in the context of operating an FCC certified
   database, it also complies with requirements defined by IETF PAWS. We
   believe this protocol can be easily extended to include the remaining
   requirements not already satisfied from the IETF PAWS requirements.

9. Acknowledgments

   This document was prepared using 2-Word-v2.0.template.dot.

10. References

10.1. Normative References

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

10.2. Informative References

   [FCC 10-174]
             Second Memorandum Opinion and Order, FCC 10-174, September,
             2010
             http://hraunfoss.fcc.gov/edocs_public/attachmatch/FCC-10-
             174A1.pdf

   [IETF-PAWS-03]
             Probasco, S., Bajko, Ed., Patil, B., "Protocol to Access
             White Space database: PS, use cases and rqmts", draft-ietf-
             paws-problem-stmt-usecases-rqmts-03, February 2012


Joslyn & Roberts      Expires September 5, 2012               [Page 15]


Internet-Draft          TVBD to WSDB Protocol                March 2012


Authors' Addresses

   Donald Joslyn
   Spectrum Bridge, Inc.
   1064 Greenwood Blvd. Suite 200
   Lake Mary, FL 32746
   Email: d.joslyn@spectrumbridge.com


   Robin Roberts
   Spectrum Bridge, Inc.
   1064 Greenwood Blvd. Suite 200
   Lake Mary, FL 32746
   Email: r.roberts@spectrumbridge.com



































Joslyn & Roberts      Expires September 5, 2012               [Page 16]