ÐÏࡱá>þÿ GþÿÿÿþÿÿÿFÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿè}é(€àà€ ò/È 0ÒÕL·DArialÜ–S¾ 0Ü–0Òt©t©Ð’ü–¾ 0ü–Õ¤€@ÿÿ¥ .©  @£nÿý?" dÿd@ÿÿïÿÿÿÿÿÿ  @@``€€ ðð°P0     ƒ ð0�ƒ†A¿ÀÅAÿñ1|Ï@ñ÷ðó€Ð3º“°öÊš;­”ÇÊš;úgþý4bdbd„$’—¾ 0šÿÿÿjÿÿÿpûppû@ ÿ <ý4dddd@—Ãl 0t©ˆ8Š0º___PPT10‹ ÀÀðžóŸ¨ RPC Session 1¡DŸ¨ Jack Lange¡ DóŸ¨ Definitions¡ DŸ tRPC : Remote Procedure Call A way of making distributed processing appear local to the programmer Stub function Means of indirection programmer thinks they re calling one function, but another function is being called Data Marshalling Basically same as serialization Transform data types into transmittable format¡¤FjOFFFFjFFO F óŸ¨Paradigm¡ Ÿ¨ÎMake remote functions appear local No specialized communication code required Failure cases identical to local functions No error recovery Service failures reported Implementation errors not detected at all¡.yVyVóŸ¨ Program Flow¡ Ÿ¨†1. User Program 2. Stub Function 3. RPC Service 4. Stub Function 5. Server Handler 1,2,4,5 are usually generic across implementations¡&SZ4Z‡ó Ÿ¨Stub Functions¡Ÿ¨1Transforms functions to RPC functions Transforms data arguments into transmittable bytes Automatic generators are offered but usually you have to write your own Usually take the form of the function name and reduction of data types to standard types Personal experience: Type reductions by hand are a pain¡2¡Z‘Z¡‘ó Ÿ¨Data Marshalling¡Ÿ¨What RPC calls serialization Ints, char, long, etc easy Typedef struct foo; not so much Client and server have to agree on the format that the data types are sent in Either done by a generator or programmer If you missed the first time: potentially a very big pain¡  ªP¿óŸ¨Cedar Specifics¡Ÿ¨aNetworked Dorados (Workstations?) 3 Megabit ethernet most common 24 bit address space 80 MB disks¡bbª, .óŸ¨ RPC Service¡ Ÿ¨Two services running on client and server RPCRuntime Bypasses network stack to optimize performance Central database used for service discovery and bindings (Grapevine) This is actually a rather large aspect of the design Allows load balancing Still Centralized (Does employ replication)¡d*:Ew*:Ewª* ìó Ÿ¨Error handling¡Ÿ¨ÌService failures only RPC machines keep timers on communications If period passes without receiving something a probe is sent Basic ping or retransmission of last packet Exceptions used for error handling¡B~,#~,#ó Ÿ¨New Directions¡Ÿ¨bWeb Services Soap, WSRF/OGSI, etc. HTTP used as transport mechanism XML used for data marshalling ¡. V Vó  Ÿ¨Object Oriented Programming¡Ÿ ÀFunctional -- Void Foo(int x); OOP -- Void Foo(object * shape); Issue: Have to transfer member functions as a part of the data reduction& Java has RMI which allows this JDK uses self inspection, which is part of the serialization functions Other work does compile time optimizations I don t know of any other implementations that do OOP RPC. (.NET?)¡6«Z¶Z«¶ª, +ó  Ÿ¨ Discussion¡ Ÿ¨ÐService Discovery NFS works with user written mount tab Web Services use UDDI Acts kind of like a web search portal How else can it be done? Authentication NFS uses IP restrictions Firewall rules Other ideas?¡šZ<Z&ZZZ5Z<&5ó Ÿ¨ Discussion¡ Ÿ¨ÐHow should error states be handled? What happens when an NFS export server crashes? Timeout usually on the order of minutes. Is this acceptable? At what point does ease of use start to detract from usability?¡.$­$­ó Ÿ¨ Discussion¡ Ÿ ŽShould we even bother? Firefly optimized RPC to run 3x faster, yet there was no noticeable change to the user experience& Is Amdahl s law being ignored? Won t the RPC service overhead be dominated by network performance? Web Services not even close to being optimized. Used mainly for safe data transfer rather than performance¡Lö;ö;êøL ï  0`ð ÿÿÿ€€€»àã33™™™™Ì`ð ÿÿÿ–––ûßSÿ™fÌ3™f`ð ÿÿÿ€€€™ÌÿÌÌÿ33̯gÿ`ð Þöñ–––ÿÿÿ�Æÿf̨`ð ÿÿÙwwwÿÿ÷3ÌÌÿPPÿ™`ð €€ÿÿÿZXÿÿ™dbmoÇÿÿÿ`ð €ÿÿÿ\ßÒ“Ì3¾y`ÿÿ™Ó¢`ð ™ÿÿÿ3fÌÿÿ3f̰fÌÿÿç`ð ÿÿÿ3f™ãëñ3™FŠKfÌÿðå`ð hk]ÿÿÿwwwÑÑË��‚€ž¨ÿÌféܹ`ð ff™ÿÿÿ>>\ÿÿÿ`Y{ffÿ™Ìÿÿÿ™`ð R>&ÿÿÿ- ßÀ�Œ{p�_/Ì´Œž £>ÿý?" dÿd@ÿÿïÿÿÿÿÿÿ,£|ÿý?" dÿdØ@ÿÿïÿÿÿÿÿÿ € Ô €" Ð@€ ð`€»€ £nÿý?" dÿd@ÿÿïÿÿÿÿÿÿ   @@``€€P£R    @ ` €`£ p£>€£> „ð|ððúð( ð ððà ð “ ð6€„Y’‡�ƒ¿Àÿ "ñ¿ð­ `}ðà ’ ðTŸ¨ Click to edit Master title style¢!ª !ð$ ð ƒ ð0€p\’�ƒ¿Àÿ "ñ¿ðð `ðà ’ 𞟨RClick to edit Master text styles Second level Third level Fourth level Fifth level¢!    ª SðÞ ð ƒ ð0€ï€ 0 ®ð¦ ðð$ð( ð ððr ð S ð€À=B¿ÿð>°ÐÜðà B ð žðr ð S ð€˜>B¿ÿð� ` à ðà B ð žðb ð £ ð<€�1|σðv“ŽŸ‹”Þ½hœ @¿ÿ ?"ñ¿`ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.:÷ÄÎpî$ï € 0 ”ðŒ0ð ð$ð( ð ð ðr ð S ð€|ˆB¿ÿð­ `}ðà  B ð žðr ð S ð€$‰B¿ÿðð `ðà B ð žðH ð ƒ ð0�ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.:÷ÄÀñÓî$ï € 0 ”ðŒ€ð,ð$ð( ð ð,ðr ð, S ð€Ä•B¿ÿð­ `}ðà  B ð žðr ð, S ð€l–B¿ÿðð `ðà B ð žðH ð, ƒ ð0�ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.?÷Ä`5‹î$ï € 0 ”ðŒPð ð$ð( ð ð ðr ð S ð€¤(B¿ÿð­ `}ðà  B ð žðr ð S ð€L)B¿ÿðð `ðà B ð žðH ð ƒ ð0�ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.;÷ÄPÔŒ<î$ï € 0 ”ðŒ ð4ð$ð( ð ð4ðr ð4 S ð€Ð›B¿ÿð­ `}ðà  B ð žðr ð4 S ð€¨œB¿ÿðð `ðà B ð žðH ð4 ƒ ð0�ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.?÷Ä�.g¾î$ï € 0 ”ðŒ°ð8ð$ð( ð ð8ðr ð8 S ð€(§B¿ÿð­ `}ðà  B ð žðr ð8 S ð€ŒªB¿ÿðð `ðà B ð žðH ð8 ƒ ð0�ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.?÷ÄÀ†°Äî$ï € 0 ”ðŒ`ð$ð$ð( ð ð$ðr ð$ S ð€PµB¿ÿð­ `}ðà  B ð žðr ð$ S ð€¶B¿ÿðð `ðà B ð žðH ð$ ƒ ð0�ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.<÷İÇS²î$ï € 0 ”ðŒpð(ð$ð( ð ð(ðr ð( S ð€ÀºB¿ÿð­ `}ðà  B ð žðr ð( S ð€˜»B¿ÿðð `ðà B ð žðH ð( ƒ ð0�ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.=÷Ä ûݰî$ï € 0 ”ðŒ�ð0ð$ð( ð ð0ðr ð0 S ð€ÀÊB¿ÿð­ `}ðà  B ð žðr ð0 S ð€„ËB¿ÿðð `ðà B ð žðH ð0 ƒ ð0�ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.?÷ÄðÖa¬î$ï € 0 ”ðŒðLð$ð( ð ðLðr ðL S ð€¸ÐB¿ÿð­ `}ðà  B ð žðr ðL S ð€�ÑB¿ÿðð `ðà B ð žðH ðL ƒ ð0�ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.[÷ÄàO%áî$ï € 0 ”ðŒÐð@ð$ð( ð ð@ðr ð@ S ð€¬è¿ÿð­ `}ðà  è ð žðr ð@ S ð€„è¿ÿðð `ðà è ð žðH ð@ ƒ ð0�ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.Z÷Ä�Òu î$ï € 0 ”ðŒÀð<ð$ð( ð ð<ðr ð< S ð€è¿ÿð­ `}ðà  è ð žðr ð< S ð€àè¿ÿðð `ðà è ð žðH ð< ƒ ð0�ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.A÷Ä€Õšˆî$ï € 0 ”ðŒàðDð$ð( ð ðDðr ðD S ð€4Jè¿ÿð­ `}ðà  è ð žðr ðD S ð€ Kè¿ÿðð `ðà è ð žðH ðD ƒ ð0�ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.[÷ÄÀacî$ï € 0 ”ðŒððHð$ð( ð ðHðr ðH S ð€¨2è¿ÿð­ `}ðà  è ð žðr ðH S ð€Ô)è¿ÿðð `ðà è ð žðH ðH ƒ ð0�ƒ“ŽŸ‹”Þ½h¿ÿ ?ð ÿÿÿ€€€»àã33™™™™Ìˆ8Š0º___PPT10‹ë.[÷ÄpSÙ£rD…Ù(+w/û5'8K-£1Ï3S:×@«>C/E<õÙ[GÅ1þÿà…ŸòùOh«‘+'³Ù0" hpˆœ° ÐÜ ü   (äRPC Session 1 Jack Lange DistributedFabian E. Bustamante60Microsoft PowerPoint@ðòFï @Ðõƒ&;÷Ä@ò�»kýÄôGÐ ÿÿÿÿ‰g  _  y¡úÿÿÿ-ü:a--$  -üÿÿÿ-ðü:b--$  --ðü;c--$  --ðü;d--$  --ðüi--$  --ðü?j--$  --ðü@k--$  --ðü@l--$  --ðüAm--$  --ðüBn--$  --ðüCp--$  --ðüDq--$  --ðüDr--$  --ðüEs--$  --ðüEt--$  --ðüFu--$  --ðüFv--$  --ðüGx--$  --ðüHy--$  --ðüIz--$    --ðüJ|--$ ! !  --ðüJ}--$!" " !!--ðüK~--$"# # ""--ðüL€--$#$ $ ##--ðüM�--$$% % $$--ðüNƒ--$%& & %%--ðüO„--$&' ' &&--ðüP†--$'( ( ''--ðüQ‡--$() ) ((--ðüQˆ--$)* * ))--ðü RŠ--$*+ + **--ðü S‹--$+, , ++--ðü T�--$,- - ,,--ðü!U�--$-. . ----ðü"V�--$./ / ..--ðü"W‘--$/0 0 //--ðü"W’--$01 1 00--ðü#X”--$12 2 11--ðü#Y–--$23 3 22--ðü$Z—--$34 4 33--ðü$\™--$45 5 44--ðü$]š--$56 6 55--ðü$]œ--$67 7 66--ðü%^ž--$78 8 77--ðü%_Ÿ--$89 9 88--ðü%` --$9: : 99--ðü&a¡--$:; ; ::--ðü'b£--$;< < ;;--ðü'c¥--$<= = <<--ðü'c¦--$=> > ==--ðü(d§--$>? ? >>--ðü(e¨--$?@ @ ??--ðü)fª--$@A A @@--ðü)f«--$AB B AA--ðü)g¬--$BC C BB--ðü)h®--$CD D CC--ðü*i¯--$DE E DD--ðü*j±--$EF F EE--ðü*k²--$FG G FF--ðü*k³--$GH H GG--ðü+l´--$HI I HH--ðü+lµ--$IJ J II--ðü+m¶--$JK K JJ--ðü,n·--$KL L KK--ðü,n¸--$LM M LL--ðü,o¹--$MN N MM--ðü,pº--$NO O NN--ðü-p»--$OP P OO--ðü-p¼--$PQ Q PP--ðü-q½--$QR R QQ--ðü-r¾--$RS S RR--ðü-s¿--$ST T SS--ðü-sÀ--$TU U TT--ðü-sÁ--$UW W UU--ðü.tÂ--$WX X WW--ðü.tÃ--$XY Y XX--ðü.uÄ--$YZ Z YY--ðü.vÅ--$Z\ \ ZZ--ðü/wÆ--$\^ ^ \\--ðü/wÇ--$^` ` ^^--ðü/xÈ--$`b b ``--ðü/xÉ--$bd d bb--ðü0yÊ--$df f dd--ðü0yË--$fh h ff--ðü0zË--$hi i hh--ðü0zÌ--$ik k ii--ðü0{Í--$km m kk--ðü1{Í--$mo o mm--ðü1{Î--$os s oo--ðü1|Î--$su u ss--ðü1|Ï--$ux x uu--ðú-'ÿÿûöÿ�@Arial-. ÿÿÿ2 6/ RPC Session 1.û¼"Systemèuä-ðûùÿ�@Arial-. ÿÿÿ2 K> Jack Lange.-ðþÿÕÍÕœ.“—+,ù®0˜ˆ�¨¼ÄÌÔ Ü äì ôü   5äOn-screen Show ArtifexËG^Ø Arial DistributedRPC Session 1 Definitions Paradigm Program FlowStub FunctionsData MarshallingCedar Specifics RPC ServiceError handlingNew DirectionsObject Oriented Programming Discussion Discussion Discussion  Fonts UsedDesign Template Slide Titlesö,_À‘ã§GôÚ0Fabian E. BustamanteFabian E. Bustamante  !"#þÿÿÿ%&'()*+,-./012345þÿÿÿ789:;<=þÿÿÿ?@ABCDEþÿÿÿýÿÿÿHþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ��d›Oφꪹ)èþÿÿÿCurrent Userÿÿÿÿÿÿÿÿÿÿÿÿ>SummaryInformation(ÿÿÿÿÿÿÿÿ$0"PowerPoint Document(ÿÿÿÿËGDocumentSummaryInformation8ÿÿÿÿÿÿÿÿÿÿÿÿ6ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ