Re: [paws] Ted Lemon's Discuss on draft-ietf-paws-protocol-14: (with DISCUSS and COMMENT)

Vincent Chen <vchen@google.com> Wed, 03 September 2014 05:27 UTC

Return-Path: <vchen@google.com>
X-Original-To: paws@ietfa.amsl.com
Delivered-To: paws@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8FF2C1A8A13 for <paws@ietfa.amsl.com>; Tue, 2 Sep 2014 22:27:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.046
X-Spam-Level:
X-Spam-Status: No, score=-2.046 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.668, SPF_PASS=-0.001] autolearn=unavailable
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gGpIeaqNHdcd for <paws@ietfa.amsl.com>; Tue, 2 Sep 2014 22:27:17 -0700 (PDT)
Received: from mail-vc0-x236.google.com (mail-vc0-x236.google.com [IPv6:2607:f8b0:400c:c03::236]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A4E141A8A1E for <paws@ietf.org>; Tue, 2 Sep 2014 22:27:16 -0700 (PDT)
Received: by mail-vc0-f182.google.com with SMTP id im17so8331320vcb.13 for <paws@ietf.org>; Tue, 02 Sep 2014 22:27:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=BGBci3X9ovHv7v5YKFkRqhGY1Px+PmIAl6UkLq/b0y0=; b=B93xdkWIxj4avsQ0C9KSngfe4thhEVzwfEJ0rp39fbzBqnwy/J1qOC6viJYHdEe72R Elhg1QbTHUsgW13eYmS9PYGcXUThOwb937YY7yRwKu7eNUnqakRJiTGFgBByyHlZVVny 3GoonA08lyw4JsRywSbp4lWlquqJCgJQJjeWPVkOrKUzdsNDBJwIFiblYzjEqyK1qMiO bcr7jgQZ32uIMWX6EB7RQtSxjo7IFirlbfck5r8digaSn9lFoqUIgFTlcrv9062zBnPi pObOCV4lwJX1GIHWP1qvOeH1A+IKXC8YEgacO1KYjgFbLk76GVv9x02Y8ABgvnqxqmhR I4hg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=BGBci3X9ovHv7v5YKFkRqhGY1Px+PmIAl6UkLq/b0y0=; b=OWWql/qko59vAnhNpbiBFVupw2IhnuqVeT8g9jqhjTnO6TvgsdMJQyaA+vl2xIpf8r Wf8VIw+KryKHRbicf5LWr+lnLU8bGxg/A2hmq213D1b/KvPpYRGXiTPDS11riMxO2fBN e10ob5oKMxmNdZC78Fgenp72C7N0jc9iVQmql7Zv+FdxT4puldYr5LVnjgokmHaok8iu fKxV5DrMgKFsYIIu30uihRR9Hn5E6p1rO3dd4dtx1sC99j7h0y6gBpU6k2hwhUCsks+Y yQWT2FzZAXe7KxeHfVkhD9HlnKr9MGCbdX1WQivUOuD08n14vty8B1sOtQD2stiGsA2e LuGQ==
X-Gm-Message-State: ALoCoQn0VkDZH1DlyUho7+C7fh2+o9DBPQnE1Wt0979ElibgkxpG6zNy2/k4qeFIiUyMz/AWW+PL
MIME-Version: 1.0
X-Received: by 10.52.170.211 with SMTP id ao19mr27985258vdc.23.1409722035504; Tue, 02 Sep 2014 22:27:15 -0700 (PDT)
Received: by 10.52.177.226 with HTTP; Tue, 2 Sep 2014 22:27:15 -0700 (PDT)
In-Reply-To: <2AB0D28E-27E3-455C-AF2D-9352A8D649C3@nominum.com>
References: <20140821133025.17118.4987.idtracker@ietfa.amsl.com> <CABEV9RMX6DPBCmao5owW3ajrNchnWCzRPR2=PCVU=1WYSMdxYg@mail.gmail.com> <8E8E5E78-4755-4889-8B8A-B804D30155C9@nominum.com> <CABEV9ROXdJnhY1M-NcAJeHyRQx+N08ZDXFKFRzTPcGuCN3gF0Q@mail.gmail.com> <30C11DC7-3D85-4B80-84F8-5EEB637ABD2F@nominum.com> <2AB0D28E-27E3-455C-AF2D-9352A8D649C3@nominum.com>
Date: Tue, 02 Sep 2014 22:27:15 -0700
Message-ID: <CABEV9RN-yzaW885FJZaVArEECbb9-WOOfBdMZmg1x-1K9D6qfw@mail.gmail.com>
From: Vincent Chen <vchen@google.com>
To: Ted Lemon <Ted.Lemon@nominum.com>
Content-Type: multipart/alternative; boundary="047d7b86f58a28acb00502227dbc"
Archived-At: http://mailarchive.ietf.org/arch/msg/paws/hayGpTIPXdD_6_DjOouvnioeC80
Cc: "paws@ietf.org" <paws@ietf.org>, "paws-chairs@tools.ietf.org" <paws-chairs@tools.ietf.org>, The IESG <iesg@ietf.org>, draft-ietf-paws-protocol@tools.ietf.org
Subject: Re: [paws] Ted Lemon's Discuss on draft-ietf-paws-protocol-14: (with DISCUSS and COMMENT)
X-BeenThere: paws@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Protocol to Access White Space database \(PAWS\)" <paws.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/paws>, <mailto:paws-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/paws/>
List-Post: <mailto:paws@ietf.org>
List-Help: <mailto:paws-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/paws>, <mailto:paws-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 Sep 2014 05:27:21 -0000

Ted,

Sorry, I did let one go unaddressed. Please see answers to the other
discuss points (in blue).

-vince


On Tue, Sep 2, 2014 at 7:26 PM, Ted Lemon <Ted.Lemon@nominum.com> wrote:

> Pete pinged me on this last Thursday, and I finally had time to go through
> and check each of the points I raised to see if they had been addressed.
> Most of them have been, but there are a few that remain (highlighted in
> alternating colors; I'm keeping all the points here for my convenience, so
> don't feel you need to look at anything but the colorful stuff.)
>
> --Ted--
> 4.1 says "Some regulatory domains may have specific rules regarding
> how long the spectrum data remains valid in these cases."  It might be
> worth adding that in such cases the initialization procedure is
> required.  This is addressed to some extent in section 4.3, but I'm
> not sure it's completely addressed.  The potential problem I see is
> that a device might be used in a regulatory regime where this is
> required, but might have pre-configured values for some other
> regulatory regime.  If these values are not valid in the regime that
> applies for its current location, it might have a too-long refresh
> interval configured, fail to detect that this is the case, and as a
> result accidentally break the law.  Can a scenario like this occur in
> practice?
>
> --Vincent--
> It should not occur in practice for well-behaved devices.
>
> When it is preconfigured, there must be a preconfigured value for each
> ruleset.  Of course, a device may choose to use preconfigured values
> for only a subset of the rulesets it supports.
>
> Note that, in practice, a device needs to be certified for each
> "ruleset" by whatever process is defined by each applicable regulatory
> body, so that any preconfigured values will be certified to be
> compliant.
>
> --Ted--
>
> If this is how it works, shouldn't the document say so?  Or was that
> in the requirements document?  I admit it's been a while since I read
> it. :)
>
> --Vincent--
>
> I'll clarify the text some. Note, however, that INIT_RESP return these
> values as part of a RulesetInfo structure, so that it is implied that
> preconfiguration also must be on a per-ruleset basis.
>
> --Ted--
> To be clear, what I was suggesting ought to be documented is that the
> information has to be preconfigured and certified by the regulatory
> authority.  If this is already mentioned in the requirements document,
> there's no need to mention it here, although a reference to the
> previous document might be helpful for neophytes like me.  I don't
> really know what the mental context of a reader of this document would
> be, so please forgive me if I'm being ridiculous here.
>

--Vincent--
I added clarification to section 4.3 that preconfiguration is on a
per-ruleset
basis and a value for one cannot be used for another. I believe that
addressed
your original concern.

I did not add text about certification, since that's not PAWS, that's up to
the
regulatory domain to decide whether it needs to certify.


> --STATUS--
>
> Addressed in -14.
>
> --Ted--
> Section 5.2 says that the manufacturer ID and model ID are optional,
> but may be required by some rulesets.  Section 4.3.1 does not say what
> error is returned when a deviceDesc that does not contain one or both
> of these parameters is sent to the server, but the matching ruleset
> requires either parameter.  I suspect the answer is straightforward,
> but I think it needs to be stated explicitly in 4.3.1.  E.g., if the
> optional but required parameters are accepted in the initialization
> but rejected in the registration, it would be good to say so
> explicitly.
>
> --Vincent--
> OK. In these cases, the Database should return the MISSING error, with
> additional data specifying the missing fields.
>
> --STATUS--
>
> There has been no change to the document that I can find that
> addresses this point.
>

--Vincent--
End of Section 4 (before 4.1) has the following asa global statement:

   In some cases, specific rulesets may place additional requirements on
   message parameters.  These additional requirements will be documented
   in the IANA PAWS Ruleset ID Registry.  (Section 9.1).  When a request
   message sent to the Database has missing parameters, whether they are
   required by PAWS or the applicable ruleset, the Database returns the
   MISSING (Section 5.17.3) error, along with data indicating the
   missing parameters.



> --Ted--
> In 4.4.2, I think that if none of the rulesets are accepted, the intent
> is that the database should return a REGISTRATION_RESP with the error
> element, and will not return a rulesetInfos list.   However, the
> specification does not make an exception for this case when it says "A
> RulesetInfo list MUST be included" and  "The list MUST contain at least
> one entry".   I can't think of another valid interpretation, but you've
> stated a MUST, so you need to say that it doesn't apply in the case of
> the error.
>
> --Vincent--
> Ah, right. There is language from INIT_RESP that needs to be repeated here.
>
> --Ted--
>
> The problem I have with this text actually stems from the first
> paragraph of the section:
>
>   The registration response message acknowledges successful
>   registration by including a RulesetInfo message for each ruleset in
>   which the registration is accepted.  If the Database does not accept
>   the registration for any of the rulesets it supports, the Database
>   MUST return the NOT_REGISTERED error (See Error Codes
>   (Section 5.17)).
>
> In reviewing this just now, I realized that I may have completely
> misinterpreted the second sentence.  It probably means either:
>
>  If the database does not accept the registration for any single
>  ruleset it supports, the database MUST return the NOT_REGISTERED
>  error.
>
> Or:
>
>  If none of the rulesets being registered are accepted by the
>  database, the database MUST return the NOT_REGISTERED error.
>
> Right now, your use of "any" could be interpreted either way.
>

--Vincent--
This was a change recently, because my original wording using "none" was
deemed
confusing. I'll try your wording.


>
> And then, what I was asking you to change in this DISCUSS item was this:
>
>   rulesetInfos:  A RulesetInfo (Section 5.6) list MUST be included in
>      the response.  Each entry corresponds to a ruleset for which the
>      registration was accepted.  The list MUST contain at least one
>      entry.   [If an error is being returned, this list MUST be
>      omitted.]
>
> The text in brackets is what I am proposing that you should add.
> Otherwise you are giving the implementor conflicting instructions--a
> MUST is a MUST, and has to be followed, but of course it can't be
> followed if no rulesets match.  I'm just asking you to make that
> explicit so that nobody gets confused.
>
> Anyway, it sounds like we're converging.  Let me know if what I'm
> saying still doesn't make sense.
>
> --STATUS--
>
> It looks like Vincent made the change he suggested, but did not follow
> up on what I said in my last response, above (nobody replied to that
> message).
>
> I think this is an open issue that should be addressed.
>

--Vincent--
The issue is that this message is not used when there is an error. This
message
is returned only when there is no error, so, by definition, there must be
at least
one entry in the message.

I've added the following, where "instead" is supposed to indicate that
it's a different message that is returned when there is an error:

      If the Database does not support the device or any of the rulesets
      specified in the DeviceDescriptor, it MUST instead return an error
      with the UNSUPPORTED (Table 1) code in the error response.



>
> --Ted--
> In 4.5:
>
>       If some
>       locations within a batch request are outside the regulatory
>       domain supported by the Database, the Database MAY return an OK
>       response with available spectrum for only the valid locations;
>       otherwise, if all locations within a batch request are outside
>       the regulatory domain, the Database MUST respond with an
>       OUTSIDE_COVERAGE error.
>
> What should the database do if it doesn't follow the MAY?   Should it
> return an OUTSIDE_COVERAGE error?   It seems to me that this MAY is going
> to require some unclear heuristics on the side of the master device.
> Why isn't this a MUST?   I think if this were a MUST, it would be clear
> how implementations should behave; by making it a MAY, there's a big gap
> that I think will lead to interoperability problems as different
> implementors make different choices about how to treat this situation.
>
> --Vincent--
> If it does not follow MAY, the assumption is that it would return
> OUTSIDE_COVERAGE error.  I take your point about it being harder to
> use for the device.
>
> I don't think there would be objections to changing this to a MUST.
>
> --Ted--
>
> That would certainly satisfy my concern!   :)
>
> --STATUS--
>
> The proposed change has not been made to the document.
>

--Vincent--
Sorry. I let this slip. Modifying to:

       ...If some*, but not all,*
       locations within a batch request are outside the regulatory
       domain supported by the Database, the Database *MUST* return an OK
       response with available spectrum for only the valid locations;


>
>
> --Ted--
> Section 3 describes spectrum-usage messages as purely informational.
> Section 4.5 says that the database can require that such messages be
> sent.   Which is it: is it sometimes required, or always purely
> informational?   Or does "purely informational" just mean that the
> protocol provides no mechanism for tracking such notifications?  It would
> be helpful if this were clearer.
>
> --Vincent--
> "purely informational" means that the it's just notifying the Database
> what spectrum it intends to use and is not a request to the Database
> to get permission to use that spectrum. Some regulators require this
> notification.
>
> I'll try to clarify the text.
>
> --Ted--
> Ah, that explains it.  Thanks.  Adding some text pretty much like what
> you just wrote would address this comment nicely.
>
> --Vincent--
> Will do.
>
> --STATUS--
>
> Addressed in -15.
>
> --Ted--
> In 4.1, the database URI change spec seems incomplete.   Is there a time
> when a database starts announcing its URI change after which it need no
> longer provide service on the old URI?   I see Alissa asked a similar
> question, so I imagine you could address both questions together.
>
> --Vincent--
> Yes, specifying a time is reasonable.
>
> --STATUS--
>
> Addressed in -15.
>
> --Ted--
> In 4.1 and 5.17, the meaning described for UNSUPPORTED appears to be
> somewhat fluid.   I think you intend for it to mean one specific thing,
> which might imply one of several other things.   But you don't say the
> one thing that it means: instead you mention possible implications.   It
> would be helpful to try to make this more explicit.
>
> I think Stephen noticed this same problem, but to be clear, it appears
> that section 4.5 says that when the master is sending a request on behalf
> of a slave, it sends its own location.   But section 4.5.1 says that the
> master sends the slave's location.   It appears that there are two
> parameters, one being the master location, which is required, and the
> other being the slave location, which is optional.   However, this is
> never really stated explicitly; it might be helpful if it were.
>
> --Vincent--
> OK. UNSUPPORTED means that the Database does not support the device
> (based on it type, model, etc.) or any rulesets indicated by the
> Device. I'll update both.
>
> --STATUS--
>
> Addressed in -15.
>
> --Ted--
> In 4.6.1, it would help to have text that explains what it means to
> validate a device.   It's certainly not required for interoperability,
> but might be helpful for implementors of database servers.
>
> --Vincent--
> This is explained in the first paragraph of 4.6, I think.
>
>    A Slave Device needs a Master Device to ask the Database on its
>    behalf for available spectrum.  Depending on the ruleset, the Master
>    Device also must validate with the Database that the Slave Device is
>    permitted to operate. ...
>
> --Ted--
> Ah, okay.  The problem is that "validate the device" isn't obviously
> connected to "validate with the database that the ..."  I see the
> connection now, but it would help to make it clearer.
>
> --Vincent--
>
> Will do.
>
> --STATUS--
>
> Addressed in -15.
>
> --Ted--
> In 5.3, it's a little puzzling that antenna direction, radiation pattern,
> gain and polarization aren't defined, because they seem like properties
> that should have universal applicability, even if they are not required
> in all cases.   Is this being left as future work, or is there some more
> subtle reason why these haven't been defined explicitly?
>
> --Vincent--
> This is for future extension, rather than defining a whole set of things
> that
> won't get used. Note that for mobile devices,
> direction/pattern/polarization
> changes all the time and would be "crazy" to define rules based on these
> characteristics.
>
> --Ted--
> Right, just checking.
>
> --STATUS--
>
> addressed
>
> --Ted--
>
> In 5.11, power is expressed in dbm, which leads me to wonder if this is
> the product of the antenna gain and the input power to the output
> amplifier, or whether it's just the input power to the amplifier, or
> whether it's being left intentionally ambiguous.
>
> --Vincent--
> Great question.
>
> I believe this was left intentionally ambiguous, since each regulator
> may choose to define the power in a different way. Typically, it's the
> radiated power at the antenna, over some bandwidth, averaged over some
> period of time (defined by the regulator).
>
> Perhaps I should add the "Typically" statement to Section 5.11 that
> describes Spectrum.
>
> --Ted--
>
> The problem with this is that if the meaning of the unit is different
> depending on the regulatory regime, it might make life really
> difficult for the maker of a device that has to operate in different
> regimes.  I suppose makers of devices like this are used to this
> problem, so maybe it's not really a problem in practice, but it would
> certainly be nice to talk a bit about this in the document.
>
> --Vincent--
> I'll add it to the doc.
>
> --STATUS--
>
> I don't see a change to the document to address this point.
>
>
> --Vincent--
Added the following text to Section 4.5.2 as a "global" statement:

   o  Each spectrum schedule specifies permissible power level for a
      duration defined by a pair of start and stop times.  The power
      levels typically refer to permissible EIRP over a resolution
      bandwidth.