Re: [Teas] [RTG-DIR] Routing directorate review of draft-ietf-teas-scheduled-resources-04

"Adrian Farrel" <adrian@olddog.co.uk> Mon, 15 January 2018 22:57 UTC

Return-Path: <adrian@olddog.co.uk>
X-Original-To: teas@ietfa.amsl.com
Delivered-To: teas@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 15F5F12ECB8; Mon, 15 Jan 2018 14:57:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.62
X-Spam-Level:
X-Spam-Status: No, score=-2.62 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=ham autolearn_force=no
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 hDPiRruKYOKa; Mon, 15 Jan 2018 14:57:05 -0800 (PST)
Received: from asmtp3.iomartmail.com (asmtp3.iomartmail.com [62.128.201.159]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 38C0212ECB5; Mon, 15 Jan 2018 14:57:03 -0800 (PST)
Received: from asmtp3.iomartmail.com (localhost.localdomain [127.0.0.1]) by asmtp3.iomartmail.com (8.13.8/8.13.8) with ESMTP id w0FMuvu4002515; Mon, 15 Jan 2018 22:56:57 GMT
Received: from 950129200 ([193.56.243.15]) (authenticated bits=0) by asmtp3.iomartmail.com (8.13.8/8.13.8) with ESMTP id w0FMutfe002497 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 15 Jan 2018 22:56:56 GMT
Reply-To: adrian@olddog.co.uk
From: Adrian Farrel <adrian@olddog.co.uk>
To: 'Jonathan Hardwick' <Jonathan.Hardwick@metaswitch.com>, rtg-ads@ietf.org, db3546@att.com
Cc: rtg-dir@ietf.org, draft-ietf-teas-scheduled-resources@ietf.org, 'TEAS WG' <teas@ietf.org>
References: <CY4PR0201MB36037AB4AE283DB918352DF284EB0@CY4PR0201MB3603.namprd02.prod.outlook.com>
In-Reply-To: <CY4PR0201MB36037AB4AE283DB918352DF284EB0@CY4PR0201MB3603.namprd02.prod.outlook.com>
Date: Mon, 15 Jan 2018 22:56:52 -0000
Message-ID: <029401d38e54$2374a380$6a5dea80$@olddog.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQCpY8N/HVIhXlZ6hLinIDgBACshBqXJssQg
Content-Language: en-gb
X-TM-AS-MML: disable
X-TM-AS-Product-Ver: IMSS-7.1.0.1679-8.2.0.1013-23598.003
X-TM-AS-Result: No--23.691-10.0-31-10
X-imss-scan-details: No--23.691-10.0-31-10
X-TMASE-MatchedRID: pS5owHKhBO2nykMun0J1wpmug812qIbzVBDQSDMig9GqvcIF1TcLYHRe tTsW+eaw85KU5GYx/0LgXuUEZiH4r0TOAIv8Sn/UW/59FepINJEhmbYg1ZcOnvRKXvbO+fwTZys J2BLmj5hYHxG6vTRI6pnmteZltT2luGFoWyRJYOrFlCgYxEaGE7xy3Klthorpp2ulO+HtPqhczi lUefYvA9z5voNGiHZhosHQE09iBhF2d8HU6jIpKI6MisxJraxHKx5ICGp/WtEifM7JMNHW6zMBK S/l5ik3UVEoq3zZyJNytkwtEIblAJcqz3g0A4fysyNb+yeIRAqVq+okl1rYDyu5ITu410kJsmc+ HzD5Hmi/zVtCeQoVEWDffSFuaHCP/16F1o/rJO7UWdZik3yrYfzanZ5sk2BzRL9uhZIYy11oPnU By5rqa534wt2J+AiRoMU6XlbzmNV2Rany8ZWn3tOcmYs9btukXEjKf9fhKafI9BHsOEzeNiWN2M EtpdFN4LnE1mSKG2izmigDZyagsAp2iRVeF6F2/rf6exgxE+yy3YhOn/M0MYfAYSb4KlgZjSrEh acfMDcAaSTj8sVnMiqOmnLUvvug0/GyN5MpGlMMH4SsGvRsA13sro2+2l4EuSIn8GC9fqs25+3r Zhr5xXjz1W+ftiuwHpszrpxih+BUICwZvPPAN+or0PKDup1CYQXxsZnRwoLi7ECA5q90uVOEqUB ydemmLb8VEVni3pBdwugYO1ec0WNiZyu4CnFyYtwLkswjpHAjo8c0NkYYIv+/NJoRFMzelrrdxz k0B/KfL1/9bWb49zR9GCJcTY5C5UcZtwNsCrqDGx/OQ1GV8rHlqZYrZqdI+gtHj7OwNO0CpgETe T0ynA==
Archived-At: <https://mailarchive.ietf.org/arch/msg/teas/Vozoe5WCGJXjz8VT7uzFwjMOKtk>
Subject: Re: [Teas] [RTG-DIR] Routing directorate review of draft-ietf-teas-scheduled-resources-04
X-BeenThere: teas@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Traffic Engineering Architecture and Signaling working group discussion list <teas.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/teas>, <mailto:teas-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/teas/>
List-Post: <mailto:teas@ietf.org>
List-Help: <mailto:teas-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/teas>, <mailto:teas-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Jan 2018 22:57:18 -0000

Hello again, Jon.

Reiterating my thanks for your review.

In line...

> Section 2.5
> 
> I found the following sentence to be misplaced, because it is the first sentence in this section that
> talks about LSP reservation requests, and it appears in the middle of a paragraph that is discussing
> scheduling state.
>
> |   Multiple periods, possibly
> |   of different lengths, may be associated with one reservation request,
> |   and a reservation might repeat on a regular cycle.
>
> LSP reservation requests are then not mentioned again until the final paragraph, where
> it says that you must keep them in a database, too.

OK. That took me a bit to work out, but this might do the job...

OLD
   There are multiple ways to realize this information model and
   different ways to store the data.  The resource state could be
   expressed as a start time and an end time as shown above, or could be
   expressed as a start time and a duration.  Multiple periods, possibly
   of different lengths, may be associated with one reservation request,
   and a reservation might repeat on a regular cycle.  Furthermore, the
   current state of network reservation could be kept separate from the
   scheduled usage, or everything could be merged into a single TS
   database.

   This scheduling state information can be used by applications to book
   resources for future or now, so as to maximize chance of services
   being delivered.  Also, it can avoid contention for resources of
   LSPs.

   Note that it is also necessary to store the information about future
   LSPs.  This information is held to allow the LSPs to be instantiated
   when they are due and using the paths/resources that have been
   computed for them, but also to provide correlation with the TS-TE
   resource reservations so that it is clear why resources were reserved
   allowing pre-emption and handling release of reserved resources in
   the event of cancellation of future LSPs.
NEW
   There are multiple ways to realize this information model and
   different ways to store the data.  The resource state could be
   expressed as a start time and an end time as shown above, or could be
   expressed as a start time and a duration.  Multiple reservation
   periods, possibly of different lengths, may be need to be recorded
   for each resource.  Furthermore, the current state of network
   reservation could be kept separate from the scheduled usage, or
   everything could be merged into a single TS database.

   An application may make a reservation request for immediate resource
   usage, or to book resources for future use so as to maximize the
   chance of services being delivered and to avoid contention for
   resources in the future.  A single reservation request may book
   resources for multiple periods and might request a reservation that
   repeats on a regular cycle.

   A computation engine (that is, a PCE) may use the scheduling state
   information to help optimise the use of resources into the future and
   reduce contention or blocking when the resources are actually needed.

   Note that it is also necessary to store the information about future
   LSPs as distinct from the specific resource scheduling.  This
   information is held to allow the LSPs to be instantiated when they
   are due and using the paths/resources that have been computed for
   them, but also to provide correlation with the TS-TE resource
   reservations so that it is clear why resources were reserved allowing
   pre-emption and handling release of reserved resources in the event
   of cancellation of future LSPs.
END

> Please explain and differentiate more clearly between the database of scheduled
> resources and the database of LSP reservation requests.  You should say what 
> information is contained in each, and how the information in the latter relates to
> the information in the former.  I suggest you delete the above quoted sentence 
>and then expand the final paragraph to give more details on the LSP reservation
> request database.
>
> Actually, now I have read further, section 3.2 already does this very well, so I think it
> would be best to combine 2.5 with it.

Mutters into beard ;-)

There is a fine line. The databases are *a* realisation of how the data may be stored. We don't want to push too far into how an implementation actually stores the information that has to be held.

With the rewrite above, I propose also adding a forward pointer to 3.2.
ADD
           See Section 3.2 for further discussion of the distinction
           between scheduled resource state and scheduled LSP state.
END

> Section 3.1
> 
> In the discussion of the issues of centralizing the scheduling state database, the third 
> bullet appears not to be an issue, but a mitigation of bullet 2.  I think it should be
> merged into bullet 2.

Hmmm. It was intended to set up an issue (starting in a similar way to bullet 2), but somehow the issue never got written, and that is probably because there isn't an issue.

I propose to strike bullet 3.

> In the final bullet, you say that the central server must have full control of
> reservations, but I think you should take the extra step and justify this 
> statement.  If a node sets up its own RSVP-TE LSP without contacting the 
> server, then it may invalidate some plans that the server has already made.
> The server will eventually find out about the new reservation, but (a) it might
> take too long to find out and (b) the server will have no idea how long the
> reservation is going to persist for.  I think you are saying that, for reasons
> (a) and (b), all reservations must be scheduled by the server without exception.
>  Correct?

Well, not quite.  The problems you identify as (a) and (b) are real, but could be reconciled provided the central server can collect the information from the network. So, when the text says...
      but the problem of collecting the information
      from the network is only solved if the central server has full
      control of the booking of resources and the establishment of new
      LSPs.
The intention was to highlight the challenge of collecting the information. But the text didn't do that :-(

So...
OLD
   o  Of course, a centralized system must store information about all
      of the resources in the network.  In a busy network with a high
      arrival rate of new LSPs and a low hold time for each LSP, this
      could be a lot of state.  This is multiplied by the size of the
      network measured both by the number of links and nodes, and by the
      number of trackable resources on each link or at each node.  The
      challenge may be mitigated by the centralized server being
      dedicated hardware, but the problem of collecting the information
      from the network is only solved if the central server has full
      control of the booking of resources and the establishment of new
      LSPs.
NEW
   o  Of course, a centralized system must store information about all
      of the resources in the network.  In a busy network with a high
      arrival rate of new LSPs and a low hold time for each LSP, this
      could be a lot of state.  This is multiplied by the size of the
      network measured both by the number of links and nodes, and by the
      number of trackable resources on each link or at each node.  This
      challenge may be mitigated by the centralized server being
      dedicated hardware, but there remains the problem of collecting
      the information from the network in a timely way when there is
      potentially a very large amount of information to be collected and
      when the rate of change of that information is high.  This latter
      challenge is only solved if the central server has full control of
      the booking of resources and the establishment of new LSPs so that
      the information from the network only serves to confirm what the
      central server expected.
END

> Section 3.2
>
> This treads much of the same ground as section 2.5 and does it much better.  I
> suggest merging the two, or making 2.5 very brief and giving a forward reference
> to 3.2.

See above.

> Section 4.1
>
> I think it would be useful to note in paragraph 2 that the update to the TEDB may trigger
> a re-optimization of the TEDB, potentially changing a previously computed reservation for
> existing LSP requests, either by pre-empting them or by moving their planned paths. 
> And this might involve some sort of update sent back over interface (a).
>
> Similarly, in the final paragraph, if an LSP request is cancelled then it may trigger a 
> re-optimization of the TEDB such that previously requested LSPs are re-planned or
> become viable.

Yes (modulo s/re-optimization of the TEDB/re-optimization of the LSPs/)

But I don't want to interrupt the flow of 4.1. How about...

ADD
4.1.1.  Reoptimization After TED Updates
   
   When the TED is updated as indicated in Section 4.1, the PCE may
   perform reoptimization of the LSPs for which it has computed paths.
   These LSPs may be already provisioned in which case the PCE issues
   PCEP Update request messages for the LSPs that should be adjusted.
   Additionally, the LSPs being reoptimized may be scheduled LSPs that
   have not yet been provisioned, in which case reoptimization involves
   updating the store of scheduled LSPs and resources.

   In all cases, the purpose of reoptimization is to take account of the
   resource usage and availability in the network and to compute paths 
   for the current and future LSPs that best satisfy the objectives of
   those LSPs while keeping the network as clear as possible to support
   further LSPs.
END

> References
> Please update:
> draft-ietf-pce-pceps -> RFC 8253
> draft-ietf-pce-stateful-pce -> RFC 8231

Tempus fugit!

Yes.

Cheers,
Adrian