[Nsi-wg] suggested diagrams

Radek Krzywania radek.krzywania at man.poznan.pl
Thu Sep 16 02:21:54 CDT 2010


Hi,

Fragmented calendar is something we can’t avoid somehow. We can’t prevent user from canceling the reservation, but we can still charge him for that (economy is simple and brutal). Even if not the full price, someone can define a cost as a static value for provision + calculated cost for usage of particular links. The static value is not returned in case of cancellation.

Anyway the calendar will be fragmented, as users books links on their preferences of start end time. So we can’t schedule them in the calendar, in order to utilize resources in most optimal way. So unless we implement a feature schedule-as-soon-as-possible (not v1), and users start to use it, the calendar will be fragmented. And even if they will use this option, this will not be the whole community (e.g. radioastronomers are glued to specific sky observations periods).

 

Best regards

Radek

 

________________________________________________________________________

Radoslaw Krzywania                      Network Research and Development

                                           Poznan Supercomputing and  

 <mailto:radek.krzywania at man.poznan.pl> radek.krzywania at man.poznan.pl                   Networking Center

+48 61 850 25 26                              <http://www.man.poznan.pl> http://www.man.poznan.pl

________________________________________________________________________

 

From: Harold Teunissen [mailto:harold.teunissen at surfnet.nl] 
Sent: Wednesday, September 15, 2010 5:38 PM
To: radek.krzywania at man.poznan.pl
Cc: John Vollbrecht; Jerry Sobieski; NSI WG
Subject: Re: [Nsi-wg] suggested diagrams

 

Radek, all,

 

I believe account can somehow be combined within the authorization flow of the particular connection.

It depends how intermediate network charge each other and than how the user/application/virtual organization is charged.

 

A reserved and confirmed end-to-end path could be renegotiated unless the application is capable of dealing which such a negotiation mechanism.

Of course the application could cancel a resevation, leaving a gap in the schedule. If this happens often you might end up with a heavy defragemented calendar.

 

Harold Teunissen

SURFnet 

Sent from my iPad


On Sep 15, 2010, at 16:55, "Radek Krzywania" <radek.krzywania at man.poznan.pl> wrote:

Hi John,

Extending the time is not as easy. Even if the connection is not active yet, it is scheduled in calendars. So in fact you need to check all domains if they have free resources for the same path to extend reservation duration. In case not, you need to find other path. Since reservation is scheduled, things get complex. If it gets active, things gets very complex. :)

Also don’t touch accounting right now. It’s a question whether it is even in the scope of NSI-WG. I just used accounting example to show options for ignition of in-service status. But this is a subject where you can write books about.

 

Best regards

Radek

 

________________________________________________________________________

Radoslaw Krzywania                      Network Research and Development

                                           Poznan Supercomputing and  

 <mailto:radek.krzywania at man.poznan.pl> radek.krzywania at man.poznan.pl                   Networking Center

+48 61 850 25 26                              <http://www.man.poznan.pl> http://www.man.poznan.pl

________________________________________________________________________

 

From: John Vollbrecht [mailto:jrv at internet2.edu] 
Sent: Wednesday, September 15, 2010 3:44 PM
To: Jerry Sobieski
Cc: John Vollbrecht; radek.krzywania at man.poznan.pl; 'NSI WG'
Subject: Re: [Nsi-wg] suggested diagrams

 

 

On Sep 15, 2010, at 8:34 AM, Jerry Sobieski wrote:






Hi Radek / all-

I agree with Radek that a modify() primitive is not something we should include in V1.0   There are too many complexities and fundamentally it does not provide the protocol a capability that is not able to be perfromed though other mechanisms.

I am fine with making modify a v2 capability.  However I note the simple use case where a application has not finished its work and would like to continue if possible.  It can extend the time without taking the connection down.  If the connection is still reserved not active, it can extend or reduce the reservation without risking losing it entirely.

I agree with Radek that figuring out how to charge for this is very difficult.  An extension of that charging issue is at what point is a reservation charge for - as soon as it is reserved even if it is cancelled later?  Or perhaps only when the reservation is provisioned?  In the latter case one might reserve connections and then cancel if not needed.  Very complicated, and not something for v1 in my opinion.







As for provisioning, we had quite a long discussion - several as I recall - regarding how a connection reservation should go from "scheduled" state thru "provisioning" state to "active" state.   I agree with Radek that ultimately a Provision() request issued from a RA will be ignored (should be ignored!) if it is not within the reserved time of the reservation...and if the resources are reserved for a certain time but not provisioned, they are still allocated to the Connection and so the connection owner should still be charged accordingly.  ..And if the user is being charged, why should the PA not provision the connection when the reservation begins regardless of whether the RA requests it explicitly?  I do not recall from our discussions why we thought the RA needed to do this?     There is a certain elegance that I like by having the prime mover NSA initiate the provisioning that goes down the service tree and bubbles back up the service tree with confirmations...  But there are timing complexities here that cause problems, and there are other ways to have the notifications bubble up the service tree.

Seperately, there was an issue of provisioning time.  I.e. Does the reserved "Start Time" represent when the "Provisioning" state is entered, or does it represent when the "In-Service" state is entered?   The implication is that in the latter case some [estimated] guard time must be added to the start time in the reservation to allow for provisioning time.  As I recall, we were converging on a consensus view that for the RA initiatied "Manual Start" connection the Start Time was the start of provisioning, and for a PA initiatied "Auto-Start" connection that the Start Time was the In-Service time.   -->  The simplest way to resolve this for v1.0 would be to simply assert that Provisioning begins at the Start Time, and that Release begins at the End Time, and both are PA initiated.   This makes the user accountable for setup time, and the network accountable for tear down time.    It could be a policy decision to only charge the user for the In-Service time, but we simplify the service protocol by simply mapping Start Time to one specific event, and simply mapping End Time to another specific event.  (Note:  a reservation could still be released early by RA request, but the PA release would be standard.)

A lot of the discussion of Manual/Auto start had to do with synchronicity of calendars:  If I issue a manual start down tree, but the down tree calendar is not quite sych'd with my calendar, I might get a reject just because I issue the manual start too early...  So this introduces all kinds of protocol complexities in order to recover and/or retry it later...   Again, a RA initiated manual start may actually introduce a lot of unwanted complexities.   The simplest approach is IMO to require each NSA to autostart their provisioning and, seperately, require a up-tree notify() whenever the connection state changes.   The state change notify will allow each PA to know deterministically that all subtree components are completed, and then it can push a notify up to the RA.  

I do not recall what the use case justification was for an RA initiated  Manual Start.     However, as stated above, I can envision the need for a PA->RA notification ( or alert of some sort) that the Connection has transitioned into an "In Service" lifecycle state (or more generally a notification whenever the Connection changes state.)  

Ultimately,  IMO we need to be able to assure that the state of a connection is deterministic within every NSA and that the  protocol converges to a single state for all NSAs.  This means that  even though  each NSA up and down the tree may have a different state  for their portion of the connection at certain times as it ttransitions, that given time, the protocol will converge to a single state for the connection end to end and up/down the service tree.   This implies that certain states are stable and will only change if there is an external triggering event (such as a timer expiry or a new protocol message is received).

There is also the issue of "immediate" connection requests.  I.e. a connection whose start time has already passed (or was specified as null).   These connections are to be placed into service as soon as possible.   I suggest for simplicity sake, that these requests follow the same lifecycle as a book-ahead reservation.  I.e. they are initiated with a Reserve() primitive like any other connection, Response go back like any other primitive, and the provisioning is auto-started, and the connection goes into service as quickly as these states can be managed down the service tree.    I don't see a need to do things differnently for immediate vs scheduled reservations.

Finally,  I think it is fundamental that the Connection service provide first and foremost a simple ability to deliver a connection with the specific and guarranteed characteristics requested by the user.    I think the simplest approach to this is to fill in unspecified characteristics with defaults from a Service Definition, and then provide a Yea or Nay confirmation.  No negotiation, no PA adjusted parameters, no guesses as to what the user might accept, no 20 questions, ....The user requests exactly what they want, and the network either says yes or no.   This would be the best way to get started (IMHO:-)

Sorry for the length...ugh
Jerry
    




Radek Krzywania wrote: 

Hi all,
Maybe I am in minority, but for the sake of simplicity, and speed up the process of NSI protocol v1 release, I would really skip anything related to modification of the reservation. First - users usually knows what they want, so I don’t expect this option to be extensively used. Second - in most cases this introduce complexity to reservation processing, which requires use cases and analyses. In some cases modification of reservation cause to create completely new one, with new path, new attributes, etc. This IMHO is v2.
 
I've missed last call, so maybe I am not in the subject right now (I will miss today call also due to travelling), but sending ResvConn from Requestor NSA is either pointless or should be the only option. Provider will not set up the connection before scheduled time, so Provider NSA will ignore Requestor NSA ResvConn message in such case. If Provider NSA will not setup a connection as scheduled by himself, what is the reason to book it (operator can't use those resources anyway)? The following options are possible:
- Provider NSA books resources (not configure). Requestor NSA can ignite the connection creation anytime between scheduled time and also terminate it within that time. Provider NSA anyway needs to close the connection at the end of scheduled time, if Requestor NSA did not so. So Requestor NSA needs to keep track of connection state anyway (but that obvious).
- Provider NSA creates connection in the scheduled time frame (connection start/end time), thus Requestor NSA does not need to send anything. The circuit will be just there as requested. Here an information from Provider NSA to Requestor NSA about circuit creation/cancellation is required (therefore the dashed lines on figures 2 and 3 in your pdf for ConfProv and CancelConf should be solid, thus obligatory). Requestor NSA may cancel the connection any time as well, by sending a message to Provider NSA (but this is not obligatory, also I would not care for v1; this is kind of reservation modification as it changes reservation end time in fact).
 
Mixing those two scenarios introduces mixed use cases, while we should think if such situations will happen in reality. The issue will arise while we get accounting system and what policy will be used to charge users - time based or connection based. If user is charged per connection, he will not care to release resources before connection expiration time, as this will not save "money" for him (in contrary to operator, but not necessary). If policy is on time basis, user may pay far more attention to when start and close connections. On the other hand, from operator point of view, resources are booked anyway, so it does not matter if the connection is created and active, or not (except some green IT stuff, power and cooling, etc., while connection is active, but this is not the case here, especially for v1). Due to this, I am closer to the first scenario, where ProviderNSA takes care of setting up and tearing down the circuits, while Requestor NSA is just requesting a connect
ion in specific time frame (booking/scheduling).
Huh - this email is getting long :) If you wish, I could write a short document on that, providing issues any thoughts. 
 
And small comment on primitives - the message names should be unified ConfResv, ConfProv, but CancelConf. So the last message should be ConfCancel.
 
Best regards
Radek
________________________________________________________________________
Radoslaw Krzywania                      Network Research and Development
                                           Poznan Supercomputing and  
 <mailto:radek.krzywania at man.poznan.pl> radek.krzywania at man.poznan.pl                   Networking Center
+48 61 850 25 26                              <http://www.man.poznan.pl/> http://www.man.poznan.pl
________________________________________________________________________
 
 
  

-----Original Message-----
From:  <mailto:nsi-wg-bounces at ogf.org> nsi-wg-bounces at ogf.org [ <mailto:nsi-wg-bounces at ogf.org> mailto:nsi-wg-bounces at ogf.org] On Behalf
Of John Vollbrecht
Sent: Tuesday, September 14, 2010 11:52 PM
To: NSI WG
Subject: [Nsi-wg] suggested diagrams
 
Attached are two pics - the first is a possible replacement for figure 3 in
section 5 of the current doc.  The second shows some additional primitives
that can be added in similar way.
 
Separating the timelines is meant to indicate that the initiating requestor
might not be the same in each case.  The dotted lines indicate that some
messages are optional in the getting the work done in a connection lifecycle.
 
We might talk about this tomorrow.
 
I haven't had a chance to show the notify, but I will try to add this tomorrow
before the call.
 
John
 
 
    

 
 
_______________________________________________
nsi-wg mailing list
 <mailto:nsi-wg at ogf.org> nsi-wg at ogf.org
 <http://www.ogf.org/mailman/listinfo/nsi-wg> http://www.ogf.org/mailman/listinfo/nsi-wg
  

 

_______________________________________________
nsi-wg mailing list
nsi-wg at ogf.org
http://www.ogf.org/mailman/listinfo/nsi-wg

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.ogf.org/pipermail/nsi-wg/attachments/20100916/f96a37f4/attachment-0001.html 


More information about the nsi-wg mailing list