ࡱ> ij`!XާդʴѢ~ `^np?xXoE~OvVB- ɪTuX QQ9cJC ! H$Dr…=JDr̛}8ʳ_|̼7l6@iI(33 <.Σ^ Jo'>Ű^npEa/AV2(*>zPCDf E{.XJ4@1]~>R^i,}#q=)%<3lu]2]׍bY`+j'lĵ(.2wql)s%y<5v{JWPXZM8^h W33 vĉ4ߦƹQ%[Dˏa\R_#(2{S}xۣGG&4{8Q1aob(.ёK;\9U| 7(ةMW%Zܬ (U^:}:,[j-[7reSIWݒ:ߐw?l֫;$ ~9c/K rFaP]E݀hBmKzzmbA=ga YO>hiSj"kvoN4;frZ& 3Lf2l+|4KpO2> j,i_f"6T]c~ kjfـQܫq>IN`ٵԘ>, *=MU,Aw=${jL;$Et"&}NObSrة0++3ni;mi/E|un/Tj-SuKu>yfeu3[u+6^`k}_5 Bj > 'cFt71qݮ`'8Vr:G~ +j{S}|];ŊDżeHunvIk(ѲF&cfcUd*FErM5jQ1Rc]bTŲQW3u^բcf׻bBў}_捹dwlܲ>:}N Nox dAZ2_:}&(c t  $0Document Word.Document.80.Document Microsoft Word/ 0DTimes New Roman0ԳԳ~0DArialNew Roman0ԳԳ~0" DCourier Newman0ԳԳ~01  @n?" dd@  @@`` X P     '&4U,     /X$2$XާդʴѢ& 0e0e     A@ A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||@ g4BdBd~0سNpJ\ppp@ <4!d!d4x<4BdBd4xf\ g4@d@d~0سHFp2 pW?x, dWebCal: A Domain-specific language for Web CachingO =    Webcal: A Domain-specific Language for Web Caching Sumit Gulvani, Asha Tarachandani, Deepak Gupta, Dheeraj Sanghi Indian Institute of Technology, Kanpur, India Luciano Porto Barreto, Gilles Muller, Charles Consel INRIA/IRISA - Compose group, Rennes, France f 4$?/4+4   !                            Outline  zLimitations in existing web caches A DSL-based approach Language abstractions and Execution Model Status and on-going work { >"Limited Flexibility of Web Caches # yExisting caches provide too limited customization Fixed policies Do not consider changes in the execution environment H2E2E z HReasons for Extensibility  Why should caches be extensible ? Universal solutions do not exist Customized policies tend to provide better results Caches should adapt to new users and applications H""  J,Problems in extending existing Cache Systems - Not structured for extension purposes COTS, parameters... Development time Code hacking Error-prone Safety Can we do better ? &  &   GA DSL-based Approach  _Why a DSL is useful for web caching ? (-) Development time: Provides powerful abstractions to the programmer improving productivity (+) Layer decomposition: Clear separation of functional components which eases code re-use (+) Safety/robustness: Improves safety via program verification Ex: message loop detection and matching, program termination'HBf'HBf ` KWhat do we want to program ?     YPolicy => Program family Removal Prefetching Placement Inter-cache protocols Others... $AA "   - ILanguage Abstractions    ;Event-action Model   Events Temporal events Transition events Message arrival Actions Cache storehouse management: SQL-like Communication - send Cache statements - remove, prefetch, etc. Event-action statements: jump, return, end Others: definitions, assignments, if-then-else, etc. 3 3 77    h AProgramming in WebCal    Define cache policies as a Finite State Machine (FSM) Intercache protocol Define policy events and their predicates Timeouts Write actions to be executed when an event is triggered Examplesx6* 8 6* 9 5    BRemoval Policy  define MAX_CACHE_SIZE 128Mb; FSM removal [ start { entrycode { event E1 = cacheSize > 0.8*MAX_CACHE_SIZE; } E1 -> ( remove from DOC_INFO_TABLE where contentType == "gif" until cachesize < 0.5*MAX_CACHE_SIZE; ) } ]x2      R        $ FPrefetching Policy   FSM prefetch [ start { entrycode { event E1 = at 00:00:00 hours; } E1 -> ( if cacheSize < 0.7*MAX_CACHE_SIZE { prefetch ("http://www.Mysite.Com"); ) } ]b       ;      ) EWebcal Execution Model    :Status and on-going Work  Webcal: Working prototype using Jigsaw Event-action backbone / Compiler Tested policies: prefetching, removal, placement Experiments Inter-cache protocolsHq q B R       / <>ADEIJKLMNOPb ` ̙33` ` ff3333f` 333MMM` f` f` 3>?" dd@,|?" dd@   " @ ` n?" dd@   @@``PR    @ ` ` p>>0  8( 'zY   6$x P x e1Cliquez pour modifier le style du titre du masque2 2:  0x  x vCliquez pour modifier les styles du texte du masque Deuxime niveau Troisime niveau Quatrime niveau Cinquime niveau4 w  0x `  x [*  H  0޽h ? ̙33 0 @ P( w     Nxdodo :8  ) s*   ???__   Ndxdodo u 8 ) u*   ???__d  c $ ?@q  )X  NĨxdodo  9v ) vCliquez pour modifier les styles du texte du masque Deuxime niveau Troisime niveau Quatrime niveau Cinquime niveau4 w  T$xdodo +:c  ) s*   ???__  Txdodo +u c ) u*   ???__H  0gR ? ̙33D  0( :zKzh   0x )P  x Y*     0x l P x [*     6Dx >)^  x Y*     6x >l ^ ) [*   H  0gR ? ̙33   Pd<(  d d  0xP  ) x d c $x` ) H d 0޽h ? ̙33  `0( $8 X  ~  s *xp  ) r  S xP ) H  0޽h ? ̙33 A p<<( w < <  0Dx   ) x < c $x`   ) H < 0޽h ? ̙33 L <(     0dx@  ) x  c $Įx`   ) H  0޽h ? ̙33 N <(     0)  ) x  c $D)`   ) H  0޽h ? ̙33 K <(     0)@  x x  c $d)`    H  0޽h ? ̙33 O <(     0)   x  c $)P`    H  0޽h ? ̙33 M $(     0D)@   `  c $A ??C0 H  0޽h ? ̙33 > $<(  $ $  0)@   x $ c $d)p`    H $ 0޽h ? ̙33 D T<( w T T  0)@   x T c $D)``   ) H T 0޽h ? ̙33 E \<(  \ \  0d)@   x \ c $)p`    H \ 0޽h ? ̙33 J <(     0$)@   x  c $)p`    H  0޽h ? ̙33p  I   (     0$x@  x ^  6 p  6%x`@ `WebCal Program$(2     6D&x`Z ]Event-action Backbone(2     6$x p   VJigsaw Library(2     6x0PP  ^Caching Policy in Java(2  X  0  6xP  J [ Web Cache$ (2     6dx ^ DSL Compiler$ (2     0$x  XPolicies" (2  |B  TD?P |B @ TD?p00 |B  TD?P `H  0޽h ? ̙33 < <(     0)@   x  c $)  H  0޽h ? ̙33 0 0( <  X  C  @q     S īx  9v     H  0gR ? ̙33  0  h*(  h^ h S  @q    h c $)  9v     H h 0gR ? ̙33: 0 *(  ^  S  @q     c $Ԓ  9v     H  0gR ? ̙33; 0 (*(  (^ ( S  @q    ( c $T  9v     H ( 0gR ? ̙33> 0 @@*(  @^ @ S  @q    @ c $t  9v     H @ 0gR ? ̙33A 0 X*(  X^ X S  @q    X c $  9v     H X 0gR ? ̙33B 0 `*(  `^ ` S  @q    ` c $  9v     H ` 0gR ? ̙33E 0 *(  ^  S  @q     c $  9v     H  0gR ? ̙33F 0 *(  ^  S  @q     c $t  9v     H  0gR ? ̙33G 0 p*(  ^  S  @q     c $  9v     H  0gR ? ̙33H 0 P*(  ^  S  @q     c $ԏ  9v     H  0gR ? ̙33I 0 *(  ^  S  @q     c $4  9v     H  0gR ? ̙33J 0 `*(  ^  S  @q     c $4  9v     H  0gR ? ̙33K 0 *(  ^  S  @q     c $  9v     H  0gR ? ̙33> Lx[klT>sw׻' 6ss'4Ix r蜍nt2>w<9Z\Sy7(F4ԤӴ]ZZZ Do=ZZjmRe( 7MS-B˜f!'sw焣vSdQK0ק|M]CSBw\ysWMN+q E;hmAyIӺqńPx |d*046)gCХ霣Vuߟ %ɬ8N2w*k." '規ƁAvc&Q{70JF(:Ԛfyф\*s[}XX:r %F!c#Y$vZ‡Rע=(0+t:6RB>`swQcr%LkmA6Q&zdaz0@Fken[ zKRޞI-bFQ4] nj=4 h .Jz 9C2"'>xhEImZq?7}/2!9ׁ3chӫkVJHJ^uqƴ/k('Ķs>fK8Ƙj@c`939FtY# [Qʽs1܊j/I~,1 |Sg0O9EyJKyJJe 7,#NxfJJ+*!~%퐭urrN].fKj%Z&J%/ԕ4]8C^nd mG!z`Zui)ܢ.#Z1Bܢ+KFar<){i~^Y*Hh^y;_"'k㳜 aS+-//lJeI-224ԐETT<5/V`"r>] <ۨs+K0a8ޝ??V9dSCbHj6Mj=紃?@[*_|°FYtK)9E }4*머ܯme.DA9#렜-Se+&|"=;@>&C[T 9ʥBB6:rN?ܺIG{U .[5z PH,9%GA_'s~|#r=佘Œv =lH*nna0j.p8hY_.+k6߆SNAnA.0pu6a~M 4܃R(ӆģUnEsnBٷ`+;II_*KA)j8 eMx = :: z^7?"3nظ72_Cew![I-ޮW Ϲ2@ФϕхŸn|px*>xdKf\C_4p6Gp qrui!E(GK2B˫9 ~b#,zpO>d^7 3v!\dvk CWvi_9eǏ@_:soÆsK2u}>/^Ъ~W>'ԝO~eR&$g"΅M|{l?G;XS3 BopbPMї>rǜ ?aK: HV?qݖJ'H*KV].R ך;|Uv;B{ƻCmumذaÆ 6lذaÆJ1޻މ?~ O#e:y}|'CW>73o(~UR{O,3 "lڼ4{ʹ^BeYï#mayӁ-Oo~bK|yoZzou#Ox n]\HI}.}VX6lذaÆ 6lذaÄnhr@\.&;p^ 9F`td5@T\(blJ d=e LN gi RkPtm0DVo?8qhHsPxBtLFv:'(Oh+'0 hp    $CORBA Benchmarking Issues (Summary)IrisaBeIrisaBe979Microsoft PowerPointsue@@tCϟ@_ݠ0Ŀ@n?@Ps|$οnG`oM   7& &&#TNPP0D x & TNPP &&TNPP    --- !---&y&- tw}wgw-  - Times New Roman}wgw.  - . 2 e1 .--y@H-- --(-- "Arial- tw}wgw-  - .2 ^Webcal- . .2 \Webcal- . .$2 ^R: A Domain-specific # #+   . .$2 \P: A Domain-specific # #+   . .+2 Language for Web Caching  . #. .+2 Language for Web Caching  . #."Arial. tw}wgw.  - .2 ISumit ! . .2 HSumit ! . .2 IGulvani  . .2 HGulvani  . . 2 I, . . 2 H, . . 2 IAsha. . 2 HAsha. . 2 I . . 2 H . .2 I Tarachandani . .2 H Tarachandani . . 2 I , . . 2 H , . . 2 v . . 2 u . .2 vDeepak  . .2 uDeepak  . .2 vtGupta . .2 usGupta . . 2 v, . . 2 u, . .2 vDheeraj . .2 uDheeraj . . 2 v~ . . 2 u} . .2 vSanghi . .2 uSanghi ."Arial- tw}wgw-  - .72  Indian Institute of Technology,         . .72  Indian Institute of Technology,         . .2 cKanpur . .2 bKanpur . .2 , India . .2 , India . .2 OLuciano  . .2 NLuciano  . .2 Porto . .2 Porto . . 2 & . . 2 % . .2 /Barreto   . .2 .Barreto   . .-2 , Gilles Muller, Charles       . .-2 , Gilles Muller, Charles       . .2 Consel . .2 Consel . .12 7zINRIA/IRISA - Compose group,       . .12 6yINRIA/IRISA - Compose group,       . .2 7J Rennes . .2 6I Rennes . .2 7, France  . .2 6, France  .--"Systemw'f  -&TNPP &.Document Microsoft Word/ 0DTimes New Roman0ԳԳ~0DArialNew Roman0ԳԳ~0" DCourier Newman0ԳԳ~01  @n?" dd@  @@`` X P     '&4U,     /X$2$XާդʴѢ& 0e0e     A@ A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||@ g4BdBd~0سNpJ\ppp@ <4!d!d4x<4BdBd4xf\ g4@d@d~0سHFp2 pW?x, dWebCal: A Domain-specific language for Web CachingO =    Webcal: A Domain-specific Language for Web Caching Sumit Gulvani, Asha Tarachandani, Deepak Gupta, Dheeraj Sanghi Indian Institute of Technology, Kanpur, India Luciano Porto Barreto, Gilles Muller, Charles Consel INRIA/IRISA - Compose group, Rennes, France f 4$?/4+4   !                            Outline  zLimitations in existing web caches A DSL-based approach Language abstractions and Execution Model Status and on-going work { >"Limited Flexibility of Web Caches # yExisting caches provide too limited customization Fixed policies Do not consider changes in the execution environment H2E2E z HReasons for Extensibility  Why should caches be extensible ? Universal solutions do not exist Customized policies tend to provide better results Caches should adapt to new users and applications H""  J,Problems in extending existing Cache Systems - Not structured for extension purposes COTS, parameters... Development time Code hacking Error-prone Safety Can we do better ? &  &   GA DSL-based Approach  _Why a DSL is useful for web caching ? (-) Development time: Provides powerful abstractions to the programmer improving productivity (+) Layer decomposition: Clear separation of functional components which eases code re-use (+) Safety/robustness: Improves safety via program verification Ex: message loop detection and matching, program termination'HBf'HBf ` KWhat do we want to program ?     YPolicy => Program family Removal Prefetching Placement Inter-cache protocols Others... $AA "   - ILanguage Abstractions    ;Event-action Model   Events Temporal events Transition events Message arrival Actions Cache storehouse management: SQL-like Communication - send Cache statements - remove, prefetch, etc. Event-action statements: jump, return, end Others: definitions, assignments, if-then-else, etc. 3 3 77    h AProgramming in WebCal    Define cache policies as a Finite State Machine (FSM) Intercache protocol Define policy events and their predicates Timeouts Write actions to be executed when an event is triggered Examplesx6* 8 6* 9 5    BRemoval Policy  define MAX_CACHE_SIZE 128Mb; FSM removal [ start { entrycode { event E1 = cacheSize > 0.8*MAX_CACHE_SIZE; } E1 -> ( remove from DOC_INFO_TABLE where contentType == "gif" until cachesize < 0.5*MAX_CACHE_SIZE; ) } ]x2Root EntrydO)&9ٿPicturesCurrent User%SummaryInformation(J  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIlKLMNOPQRSTUVWXZ[\]^_`abcdefghkmnopqrstuvwxyz{|}~YPowerPoint Document(oDocumentSummaryInformation8hc t  $0Document Word.Document.80.Document Microsoft Word/ 0DTimes New Roman0ԳԳ~0DArialNew Roman0ԳԳ~0" DCourier Newman0ԳԳ~01  @n?" dd@  @@`` X P     '&4U,     /X$2$XާդʴѢ& 0e0e     A@ A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||@ g4BdBd~0سNpJ\ppp@ <4!d!d4x<4BdBd4xf\ g4@d@d~0سHFp2 pW?x, dWebCal: A Domain-specific language for Web CachingO =    Webcal: A Domain-specific Language for Web Caching Sumit Gulvani, Asha Tarachandani, Deepak Gupta, Dheeraj Sanghi Indian Institute of Technology, Kanpur, India Luciano Porto Barreto, Gilles Muller, Charles Consel INRIA/IRISA - Compose group, Rennes, France f 4$?/4+4   !                            Outline  zLimitations in existing web caches A DSL-based approach Language abstractions and Execution Model Status and on-going work { >"Limited Flexibility of Web Caches # yExisting caches provide too limited customization Fixed policies Do not consider changes in the execution environment H2E2E z HReasons for Extensibility  Why should caches be extensible ? Universal solutions do not exist Customized policies tend to provide better results Caches should adapt to new users and applications H""  J,Problems in extending existing Cache Systems - Not structured for extension purposes COTS, parameters... Development time Code hacking Error-prone Safety Can we do better ? &  &   GA DSL-based Approach  _Why a DSL is useful for web caching ? (-) Development time: Provides powerful abstractions to the programmer improving productivity (+) Layer decomposition: Clear separation of functional components which eases code re-use (+) Safety/robustness: Improves safety via program verification Ex: message loop detection and matching, program termination'HBf'HBf ` KWhat do we want to program ?     YPolicy => Program family Removal Prefetching Placement Inter-cache protocols Others... $AA "   - ILanguage Abstractions    ;Event-action Model   Events Temporal events Transition events Message arrival Actions Cache storehouse management: SQL-like Communication - send Cache statements - remove, prefetch, etc. Event-action statements: jump, return, end Others: definitions, assignments, if-then-else, etc. 3 3 77    h AProgramming in WebCal    Define cache policies as a Finite State Machine (FSM) Intercache protocol Define policy events and their predicates Timeouts Write actions to be executed when an event is triggered Examplesx6* 8 6* 9 5    BRemoval Policy  define MAX_CACHE_SIZE 128Mb; FSM removal [ start { entrycode { event E1 = cacheSize > 0.8*MAX_CACHE_SIZE; } E1 -> ( remove from DOC_INFO_TABLE where contentType == "gif" until cachesize < 0.5*MAX_CACHE_SIZE; ) } ]x2      R        $ FPrefetching Policy   FSM prefetch [ start { entrycode { event E1 = at 00:00:00 hours; } E1 -> ( if cacheSize < 0.7*MAX_CACHE_SIZE { prefetch ("http://www.Mysite.Com"); ) } ]b       ;      ) EWebcal Execution Model    :Status and on-going Work  Webcal: Working prototype using Jigsaw Event-action backbone / Compiler Tested policies: prefetching, removal, placement Experiments Inter-cache protocols Automatic policy discoveryHq 1q 1X R        $  / <>ADEIJKLMNOPr:ƒ &(c t  $0Document Word.Document.80 ՜.+,D՜.+,     Affichage l'cranIrisaagoo1 Times New RomanArial Courier NewModle par dfautDocument Microsoft Word Outline#Limited Flexibility of Web CachesReasons for Extensibility-Problems in extending existing Cache SystemsA DSL-based ApproachWhat do we want to program ? Language AbstractionsEvent-action ModelProgramming in WebCalRemoval PolicyPrefetching PolicyWebcal Execution ModelStatus and on-going Work Polices utilisesModle de conceptionServeurs OLE incorporsTitres des diapositives 6> _PID_GUIDAN{65244348-2D67-11D4-833A-00C04F72F48B}_KIrisa      R        $ FPrefetching Policy   FSM prefetch [ start { entrycode { event E1 = at 00:00:00 hours; } E1 -> ( if cacheSize < 0.7*MAX_CACHE_SIZE { prefetch ("http://www.Mysite.Com"); ) } ]b       ;      ) EWebcal Execution Model    :Status and on-going Work  Webcal: Working prototype using Jigsaw Event-action backbone / Compiler Tested policies: prefetching, removal, placement Experiments Inter-cache protocolsHq q N R          / <>ADEIJKLMNOPr=:;