scieee AI-readable full text Open interactive document viewer

Improving Temporal-Awareness of WS-Agreement

Müller Cejás, Carlos; Martín Díaz, Octavio; Ruiz Cortés, Antonio; Resinas Arias de Reyna, Manuel; Fernández Montes, Pablo

Abstract

WS-Agreement (WS-Ag) is a proposed recommendation of the Open Grid Forum that provides a schema to describe SLAs and a protocol to create them based on a mechanism of templates. However, although it identifies the necessity of specifying temporal-aware agreement terms (e.g. the response time is 30 ms from 8:00h to 17:00h and 15 ms from 17:00h to 8:00h), to the best of our knowledge, there are no existing proposals that deal with that necessity. We propose an extension that gives WS-Ag support to temporality. This allows describing expressive validity periods such as those composed by several periodic or non-periodic intervals and it applies not only to the agreement terms themselves but also to other parts of WS-Ag such as creation constraints and preferences about the service properties. in addition, in this paper we propose a preference XML schema to describe preferences over any set of service properties using any kind of utility function. in further research we will study a concrete specification for those utility functions.

Full text

                                ! "#$#%     !       &' &'!      ( )  * + (   (  ,  '       ( ,   (   -./ ((  0 (     .                      !/  ( ,   1./ (   2   (  .( ( &    2  (  &'     ( . , 2    (  (  ,              (   ( ,   (   &' (      ,  (    /  (  .     ,            1     (  (. .     0  (     './ 3/   ' / &'/ +            !  " #   ##   $% !  #   &  '   (% )*+ ,-.-/.01     (  ' !     # (   %  * " # 2 3  4   5  3  4  5 6   "   $%  (   !  ! ##  !   78  %#  $     3  4 6%# " 5 ("  #  !  *   %" !    (% )(      +9  " ! ## " !   )(            +9   " ! ## "  ( .1 ( ,    , (  4 +5!  ( *  446   &,+ 7%$$8$$"9%!              !! " #$%  &  !'()' ) *)+ '  #:" 4 ;<    ##    * )(                  + 6!  %# 8 * 8   '# #"  #   ! %  8  %   6 % (2 ((  # !" *  :(% ):(+ ,-.1 :(   ##  %% !  # ; % 8<( (# );+  #  % ! 2( *   #  !  ( %    %% ! %#  %# "  %#'" :( " 2  (  !  (%  #    2( %# 2 '  #2 (( ! '#(     !  #  ! :(     %%"  ##   :( ' <,-1  ,.-1 6     ! %#"= :( (    "   %# "  (% %  !    %        8  # !"  78  !  8<8    '( '  :(  <  # % ! %# " &  ##  8 ##   '  ( :( ##   %#" 6 2  8    # 8< ,->1  88 # # %    %# 8 %%<( : 2     !   8   8  %# %   ##   5 % ! :( 6 ( !  ##   !8(= )+ 8 ##" %# "  "    (%   (% %     % ! :(     8     (%   %#    8    '# #!    % !  (%9 )+ 8 ##  '# #2  ! " #     %#   <3 "   #  " $   4  #    <3 " %  " %&     4  )+   '   ,->1 8   !  8  #    %#%  ( ##    %#  '  8  ##     !     #!  "  !  ##  ( " < ! " !  !   ? " ! 8 :( # 2 6 # 2 (( !  (  " !  " #   8 8 "   !  6 ##     !8  .     "  8 %# "   %#  !  / #  :(    %# 8  @ '#   ##  ! :( '  %# 8   #! #  A %#   ##  "  B '#     ! 8<     & ( %#   #   % C"! (%   8  &   8 '#  #  8  #   '.  &' #:= 5 %#(    (9  %  C  )   #  "   (%+   '   #D !  6 # 2  #  %%   2 8  %# $% ,@-A1     8  ! %#  !     "  %  &    #  <"    <( !  #%   ( !  9  %  ) +  # < ! 2  !  8 " !   % & (  (% 5  "    #    ! 8 <" %= )+ 6 % % 8 8  $ )6E+   #    )+ * " ( 8  % !  #   "8 !   "   !8( %=  6 (  " !  *  !%    -F.00G  %  /0F.00G   "  ./=00   8 !     %  6   # !    !  8 %#(   !% "  " !% >=00  ->=00 6!   % #    # $  % # !"    $  6E (  $  .0   "        5  % 6     # 8 % '(  $  6E !% % "  6E   (  $  -   6  % )  + % # !"   (% 5=  $9  (% ! # (  $9  6E9  "  %#  ' # !  $ ) %  %   8     ((  +  6 # #! ( % 8  $% ! .0  % ! 6E !% "  " !% >=00  ->=00 6 % 8 $  6E   2 8  #        6 # #! !"( "  % '( %  6E )( "  % 8 6EH-0+     '( %  6E )( -0 % 8 -00 ! 6E  +  & #   8 ( 6E    # #! %  %(  '(  ) * +&  I< (% )  + &    # #! % ! ,-(  &  I< (% )   ! #!+   %  8    8   %   %# 8 5 (% 8  % $%  6E           &   8 8  :(  !%8< ! #!"(  (% "  ## %% # 2  J*  #:8 4 ;<   ((   # ! (  #  !  # ( (%   (% 5 )8  #  " ! ! (% %# %(  %+ 6  # %# ! 8 ##=  (%  ) ((  (( !  # +   (% #  )    D $+ 6 #      % ( %"= )+   !  (% #  < ! (% %#   (% #)+ 6     #   (% 5 <(    (%  "    %# )+ 6 #  #  C  (% 59 " !  #  C   #  %"  ( :( ##    !  (% 8  !8( %=   2  (%     ! !      !%    % !  #    !   #  !  (% "   !   (% %# !  &  %  (% !%   2 " % !  %  3K'#6%4  (% %  8## " % %#  88 %# %   ! %   " 3K'"4 34  34 6 !8(   8 % "# ! %= -  %= " # !%    !"   #     (% "   %#  !%    %   ##  . ; %= "       C )*+ ( "  # 6" %#  * # 2   ( !  <" #!%     3%*4 %   % 8"9     #  !  % )(   # !     8  ! +9  3L!"(4  # 2  "   8  %  ##9  !%    ##    3EM*4 % !  ( %  3&%# 4 3"4  384  3!4 2   "  # (    % &    (% :( 8  # !" %# 8      ( (%      <   (  (%  #  6      " 8 "  #"9 "     ( 3 4  3&%4 # (  # 2   8  8       ( %#   :( 2 8     %#  8     !% !   (%%      '.  &' #:9 Agreement Template Terms Compositor Context Name <ServiceDescriptionTerm…> < <Request Request> </ > </Request Request> > < <Algorithm Algorithm> </ > </Algorithm Algorithm> > <MTBR> </MTBR> <MTBR> </MTBR> < <ExecutionTime ExecutionTime> </ > </ExecutionTime ExecutionTime> > </ServiceDescriptionTerm> <ServiceProperties…> <Variables> <Variable name=”MTBR” metric=”seconds”> <Location> //ServiceDescriptionTerm/MTBR </Location> <Variable> <Variables> </ServiceProperties> <GuaranteeTerm Obligated=“ServiceProvider”..> <SLO> <SLO>” ”MTBR MTBR ≥ ≥2 20 0” ”</SLO> </SLO> </GuaranteeTerm> … <ServiceProvider>initiator</ServiceProvider> … < <ExpirationTime ExpirationTime>31/12/2007</ >31/12/2007</ExpirationTime ExpirationTime> > <All> </All> … Creation Constraints <Item Name= <Item Name=” ”AlgorithmAllowed AlgorithmAllowed” ”> > <Location> //ServiceDescriptionTerm/Algorithm </Location> <ItemConstraint> <xs:restriction base="xs:string"> <xs:enumeration value=“Dijkstra Dijkstra"/> <xs:enumeration value=“Knapsack Knapsack"/> <xs:enumeration value=“Kruskal Kruskal"/> </xs:restriction> </ItemConstraint> </Item> </Item> <Item Name= <Item Name=” ”ExecTimeAllowed ExecTimeAllowed” ”> > <Location> //ServiceDescriptionTerm/ExecutionTime </Location> <ItemConstraint> <restriction base="xsd:positiveInteger"> <xsd:minInclusive value=“01"/> <xsd:maxInclusive value=“120"/> <! <!-- -- from an hour to 5 days from an hour to 5 days -- --> > </xsd:restriction> </ItemConstraint> </Item> </Item> ! ' Agreement Offer Terms Compositor Context Name <ServiceDescriptionTerm…> < <Request Request> >Sample.txt Sample.txt</ </Request Request> > < <Algorithm Algorithm> >Dijkstra Dijkstra</ </Algorithm Algorithm> > <MTBR>40</MTBR> <MTBR>40</MTBR> < <ExecutionTime ExecutionTime>48 h.</ >48 h.</ExecutionTime ExecutionTime> > </ServiceDescriptionTerm> <ServiceDescriptionTerm…> < <Request Request> >Sample.txt Sample.txt</ </Request Request> > < <Algorithm Algorithm> >Knapsack Knapsack</ </Algorithm Algorithm> > <MTBR>40</MTBR> <MTBR>40</MTBR> < <ExecutionTime ExecutionTime>48 h.</ >48 h.</ExecutionTime ExecutionTime> > </ServiceDescriptionTerm> <ServiceProperties…> <Variables> <Variable name=”MTBR” metric=”seconds”> <Location> //ServiceDescriptionTerm/MTBR </Location> <Variable> <Variables> </ServiceProperties> <GuaranteeTerm Obligated=“ServiceProvider”...> <SLO> <SLO>” ”MTBR MTBR ≥ ≥20 20” ”</SLO> </SLO> </GuaranteeTerm> … <ServiceProvider>responder</ServiceProvider> … < <ExpirationTime ExpirationTime>30/12/2007</ >30/12/2007</ExpirationTime ExpirationTime> > <All> </All> … ,! ' )>   ' 2  '    , ' )> '   3K'#6%4 % )    8  ( %+     :( %%   ! 3L!"( 4 % !  ( " #   ! % F  #"#!  78  #2  % #   # 2 8" %#  8 %  '#  !  ! %# "  %#'" 6  " #   #     8  ) + ##  8 :(9  #  %#  ' #   ( ( ! %#'" !  :( %% )    %# '#+  8        (% %# ! ( -)+ 6 %# 8 % %#2= )+ #!"(  !% 8  '# % " )  %+9 )+ %#  ' # !  $ )8    "  '#   " #  +    ( 8  %#  ! ' % "   ! (   #  "         !  (%)  % 8   <       (% 5+ 78 8 2  :(    8  %# #  ! 8     '%# " ( "  #   ( ! ' %   )    (% 8+ 6 #    ! 6E #    8  )6E ≥ .0+   #! !  # $  " #   !        '%#  !        #   ( -) + #  5 !  %#  (  ' !  % $ 8 8 5 (% 8 % 6E #:? 4 ;<       : ##   :( ' !  ( %#  ##   *  2 8 # !"  ( %#  J* % 88    !% ! " #      ! : "  %# "8   # 8< & ,->1 8 #    ##  %# 8 8  # % & ,-N1 8    "   '# ! %#  # ! 8   8 8  < ! %#  #   2   ./0" 1"2 $ ,.@1 O88  !%  "#  *   %#  !   % %#   #     6   "# !  %" C C )  %  "   ,/1+ F #    C  %#  !  (   C   %#  !            % #  8  8  ##      #  !   # (" : (  J* % % 38('4 !  (   " #   #      %9 5 C    (#  (   % %#'    % #    ,A-G1  ##  % !" # ! J* % " % ! P*  (% 6 ( . 8  P*  (% 8 # 38('49   !   "#  !    %= )-+ "# =  !   %9   %# !   %    )8   2+ '#    "  % ).+ $ =   ! C  !   !   "  ( #  )   '+ )/+ % & =  ! #      C C & #  "  %# !  %  ! #   #  )8  2+   !$" '#    "  % 8   % 8 8   ## 8   %# " ((  #  ! ( % 6! 8 %% % #"= 2 %#"  (% %  (%     @.9   %# "  #!   @/   ' &   # (   8"" #   5  (% % 8 !" %  8 (#= )-+ (  #   );+ ! " #   8#  (% %9  ).+   #   )*+    :    !  "# ! #     :(  :( # 2  !% ! (% " % !  3K'# 6%4   ' 6  " 8  C; ( !%     '.  &' #:: «xml-schema» twsag.xsd «interface» Interval init : DateTime duration : float durationMetric : {Seconds, Hours, Days, Months} «interface» Disjoint op : {And, Or, Xor} «interface» Periodical repetitions : float frequency : float frequencyMetric : {Seconds, Hours, Days, Months} {incomplete} 1..* + list 11 1 - interval   (        !%   '# 8  8 ##     3"4 % 8 8   " !%   ' ! (  8 %  3; 4         3&4 % !  %#  % :( %%  # !" %# " (( (% %   3L!"(4 % : ##   # !"    # " % ! 3&4 % !  %# % ( / 8  (     # !       . ( @ 8  %#   5 (  :( ' !  (  " #      " & ( @)+   C  #   ( #   C  8   (% 5 ;9  #   C      (% 5 * &  %#   %<  :( "  %#  ##   ( % 78 8      " # !  % & ( @) + ! ##      # %  "#2 " #   )( 8%    #  % 8 6E ≥ .0   ! #  8  %%% ! .0 ! 6E 8+ 6! 8%<  ! % %#     % 8  ( % 8   " #   :  8  # !" %# ##  ((  (%   6  88" !   %=   8"#  (  ( 3 % 8 '  8  %%% 6E ! @0 # 3    49   8  # !%  " #   2 (  #  %$$ 4 ;<   AgreementTemplate GlobalPeriod GuaranteeTerm1 ∧GuaranteeTerm2 MoreMTBR LocalPeriod GuaranteeTerm1: MTBR ≥ 20 2 4 6 8 10 12 14 16 18 20 22 Daily GMT +1 From Oct 01/2007 to Dec 30/2007 From Oct 01/2007 to Dec 30/2007 Mon-Sat (Weekly) Sunday (Weekly) From Oct 01/2007 to Dec 30/2007 From Oct 01/2007 to Dec 30/2007 Mon-Fri (Weekly) Sat-Sund (Weekly) From Oct 01/2007 to Dec 30/2007 Mon-Fri (Weekly) LessMTBR LocalPeriod GuaranteeTerm2: MTBR ≥ 1   *, @   A   ( 4  8 " #  = 3 % 8 '  8 @0 ! 6E4   3 %   %'%% ' % ! .@ 4   (  " #= 3 # 3     4  %# "      8 8 ##        3&4 % !  %#  %= )-+  8 %   3&%4 !   !  ( %#  #     (  ) " % ! 3"4 % ! :(+9  ).+  3 4 % ! %#  #    ( A   )-+ 8  '%# ! ( $ !  (%     '  % &  ( %  " #      3L!"(4   "     C    #!   3EM*4 % 78 #!  :(    8 %  8% # !"  ?    3!4 %       " !    # % 6 !  2 )-+   # % 8 5 !    ##  (  #!  ).+  (  % (   "!  # %   " #  6! 8    " ! "8" &    " " ! 8 " %  !  ##  8 ##   '  % ! '#( #!  :( "(  3%EM4 %  ##       #!   '.  &' %$# Agreement Template Terms Compositor Context Name <ServiceDescriptionTerm> <Request> </Request> <Algorithm> </Algorithm> <MTBR> </MTBR> </ServiceDescriptionTerm> <ServiceProperties> <Variables> <Variable name=”MTBR MTBR” metric=”seconds”> <Location> // //ServiceDescriptionTerm ServiceDescriptionTerm/MTBR /MTBR </Location> <Variable> <Variable name=”Algorithm Algorithm”> <Location> // //ServiceDescriptionTerm ServiceDescriptionTerm/Algorithm /Algorithm </Location> <Variable> <Variables> </ServiceProperties> <ServiceProvider>responder</ServiceProvider> … < <GlobalPeriod GlobalPeriod> > <! <!-- --Global Global Period Period Definition Definition-- --> > </ </GlobalPeriod GlobalPeriod> > <All> … Creation Constraints <Item Name=”AlgorithmAllowed AlgorithmAllowed”> <Location> //ServiceDescriptionTerm/Algorithm </Location> <ItemConstraint> <xs:restriction base="xs:string"> <xs:enumeration value=“Dijkstra Dijkstra" /> <xs:enumeration value=“Knapsack Knapsack" /> <xs:enumeration value=“Kruskal Kruskal" /> </xs:restriction> </ItemConstraint> </Item> </All> <Item Name=”MTBRAllowed MTBRAllowed”> <Location> //ServiceDescriptionTerm/MTBR </Location> <ItemConstraint> <restriction base="xsd:positiveInteger"> <xsd:minInclusive value=“01 01"/> </xsd:restriction> </ItemConstraint> </Item> <GuaranteeTerm Obligated=“ServiceProvider”...> < <QualifyingCondition QualifyingCondition> > <! <!-- --MoreMTBR MoreMTBR Period Period Definition Definition-- --> > </ </QualifyingCondition QualifyingCondition> > <SLO>”MTBR MTBR ≥ ≥20” 20”</SLO> <BusinessValueList> <CustomBussinessValue> <VariableReference>Algorithm Algorithm</…> <UtilityFunction>F F 1 1 (U) (U)</…> <VariableReference>MTBR MTBR</…> <UtilityFunction>F F 3 3 (U) (U)</…> </CustomBussinessValue> </BusinessValueList> </GuaranteeTerm> <GuaranteeTerm Obligated=“ServiceProvider”...> < <QualifyingCondition QualifyingCondition> > <! <!-- --LessMTBR LessMTBR Period Period Definition Definition-- --> > </ </QualifyingCondition QualifyingCondition> > <SLO>”MTBR MTBR ≥ ≥1 1” ”</SLO> <BusinessValueList> <CustomBussinessValue> <VariableReference>Algorithm Algorithm</…> <UtilityFunction>F F 2 2 (U) (U)</…> <VariableReference>MTBR MTBR</…> <UtilityFunction>F F 4 4 (U) (U)</…> </CustomBussinessValue> </BusinessValueList> </GuaranteeTerm> ! ' Agreement Offer Terms Compositor Context Name <ServiceProvider>responder</ServiceProvider> … < <GlobalPeriod GlobalPeriod> > <! <!-- --Global Global Period Period Definition Definition-- --> > </ </GlobalPeriod GlobalPeriod> > <All> … </All> <ServiceProperties…> … </ServiceProperties> < <ExactlyOne ExactlyOne> > <All> <All> <ServiceDescriptionTerm…> <Request>Sample.txt</Request> < <Algorithm Algorithm> >Knapsack Knapsack</ </Algorithm Algorithm> > <MTBR>20</MTBR> <MTBR>20</MTBR> </ServiceDescriptionTerm> <GuaranteeTerm Obligated=“ServiceProvider”...> < <QualifyingCondition QualifyingCondition> > <! <!-- --MoreMTBR MoreMTBR Period Period Definition Definition-- --> > </ </QualifyingCondition QualifyingCondition> > <SLO>”MTBR MTBR ≥ ≥20 20” ”</SLO> …<!--The same BussinessValue and Utility--> </GuaranteeTerm> </All> </All> <All> <All> <ServiceDescriptionTerm…> <Request>Sample.txt</Request> < <Algorithm Algorithm> >Knapsack Knapsack</ </Algorithm Algorithm> > <MTBR>1</MTBR> <MTBR>1</MTBR> </ServiceDescriptionTerm> <GuaranteeTerm Obligated=“ServiceProvider”...> < <QualifyingCondition QualifyingCondition> > <! <!-- --LessMTBR LessMTBR Period Period Definition Definition-- --> > </ </QualifyingCondition QualifyingCondition> > <SLO>”MTBR MTBR ≥ ≥1 1” ”</SLO> …<!--The same BussinessValue and Utility--> </GuaranteeTerm> </All> </All> </ </ExactlyOne ExactlyOne> > ,! ')> < <GlobalPeriod GlobalPeriod> > < <Periodical Periodical frequency frequency=” =”1.0 1.0” ” frequencyMe frequencyMet tric ric=” =”Hours Hours” ” repetitions repetitions=”13.0”> =”13.0”> < <Interval Interval init init=”2007 =”2007- -10 10- -01T00:00:00+01:00” 01T00:00:00+01:00” duration duration=” =”167.0 167.0” ” durationMetric durationMetric=” =”Hours Hours”/> ”/> </ </Periodical Periodical> > </ </GlobalPeriod GlobalPeriod> > From Monday 0:00 to Sunday 23:00 From 10/01/2007 to 12/30/2007 (13 weeks) < <Periodical Periodical frequency frequency=”62.0” =”62.0” frequencyMe frequencyMet tric ric=” =”Hours Hours” ” repetitions repetitions=”13.0”> =”13.0”> < <Periodical Periodical frequency frequency=” =”14.0 14.0” ” frequencyMe frequencyMet tric ric=” =”Hours Hours” ” repetitions repetitions=”5.0”> =”5.0”> < <Interval Interval init init=”2007 =”2007- -10 10- -01T08:00:00+01:00” 01T08:00:00+01:00” duration duration=” =”10.0 10.0” ” durationMetric durationMetric=” =”Hours Hours”/> ”/> </ </Periodical Periodical> > </ </Periodical Periodical> >From 8:00 to 18:00 From 18:00 to 8:00 From Monday to Friday More MTBR Period From 18:00 to 24:00 + Weekend + From 0:00 to 8:00 Weekend < <Periodical Periodical frequency frequency=”0.0” =”0.0” frequencyMe frequencyMet tric ric=” =”Seconds Seconds” ” repetitions repetitions=”13.0”> =”13.0”> < <Disjoint Disjoint op op=“ =“And And”> ”> < <Periodical Periodical frequency frequency=” =”57601.00 57601.00” ” frequencyMe frequencyMet tric ric=” =”Seconds Seconds” ” repetitions repetitions=”5.0”> =”5.0”> < <Interval Interval init init=”2007 =”2007- -10 10- -01T00:00:00+01:00” 01T00:00:00+01:00” duration duration=” =”28799.00 28799.00” ” durationMetric durationMetric=” =”Seconds Seconds”/> ”/> </ </Periodical Periodical> > < <Periodical Periodical frequency frequency=” =”64801.00 64801.00” ” frequencyMe frequencyMet tric ric=“ =“Seconds Seconds” ” repetitions repetitions=”5.0”> =”5.0”> < <Interval Interval init init=”2007 =”2007- -10 10- -01T18:00:01+01:00” 01T18:00:01+01:00” duration duration=” =”21599.00 21599.00” ” durationMetric durationMetric=” =”Seconds Seconds”/> ”/> </ </Periodical Periodical> > < <Interval Interval init init=”2007 =”2007- -10 10- -06T00:00:00+01:00” 06T00:00:00+01:00” duration duration=” =”2.0 2.0” ” durationMetric durationMetric=” =”Days Days”/> ”/> </ </Disjoint Disjoint> > </ </Periodical Periodical> > From 0:00:00 to 7:59:59 in Seconds From 7:59:59 to 24:00:00 in Seconds From 18:00:01 to 24:00:00 in Seconds From 0:00:00 to 18:00:01 in Seconds Less MTBR Period Global Period ! A  0   '  ' )>