Live distributed object: Difference between revisions

Content deleted Content added
Key Concepts: MOS:HEAD
GreenC bot (talk | contribs)
Line 22:
Early ideas underlying the concept of a live distributed object have been influenced by a rich body of research on object-oriented environments, programming language embeddings, and protocol composition frameworks, dating back at least to the [[actor model]] developed in the early 1970s; a comprehensive discussion of the relevant prior work can be found in Krzysztof Ostrowski's Ph.D. dissertation.<ref name="ostrowski2008dissertation"/>
 
The term ''live distributed object'' was first used informally in a series of presentations given in the fall of 2006 at an [[International Conference on Web Services|ICWS]] conference,<ref name="ostrowski2006icws">Ostrowski, K., and Birman, K., 'Extensible Web Services Architecture for Notification in Large-Scale Systems', IEEE International Conference on Web Services (ICWS 2006), Chicago, IL, September 2006, httphttps://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4032049.</ref> [http://www.cs.utsa.edu/~shxu/stc06/ STC] conference,<ref name="ostrowski2006stc">Ostrowski, K., and Birman, K., 'Scalable Group Communication System for Scalable Trust',
First ACM Workshop on Scalable Trusted Computing (ACM STC 2006), Fairfax, VA, November 2006, http://portal.acm.org/citation.cfm?id=1179477.</ref> and at the [[Microsoft Research|MSR]] labs in Redmond, WA
,<ref name="ostrowski2006msr">Ostrowski, K., (2006). ''QuickSilver Scalable Multicast''. Microsoft Research, Redmond, WA, November 2006. http://www.researchchannel.org/prog/displayevent.aspx?rID=7870&fID=2276.</ref> and then formally defined in 2007, in an IEEE Internet Computing article.<ref name="ostrowski2007activeweb">Ostrowski, K., Birman, K., and Dolev, D. (2007). "Live Distributed Objects: Enabling the Active Web", ''IEEE Internet Computing'', November–December 2007, 11(6):72-78, httphttps://ieeexplore.ieee.org/xpldocument/freeabs_all.jsp4376231/;jsessionid=EF449367E7DB4958663B9131214CEAAD?isnumber=4376216&arnumber=4376231.</ref> Originally, the term was used to refer to the types of dynamic, interactive [[World Wide Web|Web]] [[Content (media and publishing)|content]] that is not [[Internet hosting service|hosted]] on [[Server (computing)|servers]] in [[data center]]s, but rather stored on the [[End-user (computer science)|end-user]]'s [[Client (computing)|client]] computers, and internally powered by instances of [[Reliability (computer networking)|reliable]] [[multicast]] [[Communications protocol|protocols]]. The word ''live'' expressed the fact that the displayed information is dynamic, [[Interactivity|interactive]], and represents current, fresh, live content that reflects recent updates made by the users (as opposed to static, [[file system permissions|read-only]], and [[Archive|archival]] content that has been pre-assembled). The word ''distributed'' expressed the fact that the information is not hosted, stored at a server in a data center, but rather, it is replicated among the end-user computers, and updated in a [[peer-to-peer]] fashion through a stream of multicast messages that may be produced directly by the end-users consuming the content; a more comprehensive discussion of the live object concept in the context of Web development can be found in [http://www.cs.cornell.edu/~krzys Krzysztof Ostrowski]'s Ph.D. dissertation.<ref name="ostrowski2008dissertation">Ostrowski, K. (2008). "Live Distributed Objects", Ph.D. Dissertation, Cornell University, http://hdl.handle.net/1813/10881.</ref>
 
The more general definition presented above has been first proposed in 2008, in a paper published at the [[ECOOP]] conference.<ref name="ostrowski2008programming">Ostrowski, K., Birman, K., Dolev, D., and Ahnn, J. (2008). "Programming with Live Distributed Objects", ''Proceedings of the 22nd European Conference on Object-Oriented Programming'', Paphos, Cyprus, July 07–11, 2008, J. Vitek, Ed., ''Lecture Notes in Computer Science'', vol. 5142, Springer-Verlag, Berlin, Heidelberg, 463-489, http://portal.acm.org/citation.cfm?id=1428508.1428536.</ref> The extension of the term has been motivated by the need to model live objects as compositions of other objects; in this sense, the concept has been inspired by [[Smalltalk]], which pioneered the uniform perspective that ''everything is an object'', and [[Jini]], which pioneered the idea that ''services are objects''. When applied to live distributed objects, the perspective dictates that their constituent parts, which includes instances of distributed multi-party protocols used internally to replicate state, should also be modeled as live distributed objects. The need for uniformity implies that the definition of a live distributed object must unify concepts such as live Web content, message streams, and instances of distributed multi-party protocols.