Live distributed object: Difference between revisions

Content deleted Content added
GreenC bot (talk | contribs)
Bender the Bot (talk | contribs)
m HTTP to HTTPS for Cornell University
 
Line 15:
 
The semantics and behavior of live distributed objects can be characterized in terms of [[distributed data flow]]s; the set of messages or events that appear on the instances of a live object's endpoint forms a distributed data flow
<ref name="ostrowski2009debs">Ostrowski, K., Birman, K., Dolev, D., and Sakoda, C. (2009). "Implementing Reliable Event Streams in Large Systems via Distributed Data Flows and Recursive Delegation", ''3rd ACM International Conference on Distributed Event-Based Systems (DEBS 2009)'', Nashville, TN, USA, July 6–9, 2009, httphttps://www.cs.cornell.edu/~krzys/krzys_debs2009.pdf</ref>
.<ref name="ostrowski2009oopsla">Ostrowski, K., Birman, K., Dolev, D. (2009). "Programming Live Distributed Objects with Distributed Data Flows", Submitted to the ''International Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA 2009)'', httphttps://www.cs.cornell.edu/~krzys/krzys_oopsla2009.pdf</ref>
 
== History ==
Line 24:
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, https://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, https://ieeexplore.ieee.org/document/4376231/;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 [httphttps://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.
 
The first implementation of the live distributed object concept, as defined in the ECOOP paper,<ref name="ostrowski2008programming"/> was the Live Distributed Objects <ref name="ostrowski2008website">{{cite web |url=httphttps://liveobjects.cs.cornell.edu/ |title=Home |website=liveobjects.cs.cornell.edu}}</ref> platform developed by [httphttps://www.cs.cornell.edu/~krzys Krzysztof Ostrowski] at Cornell University. The platform provided a set of visual, drag and drop tools for composing hierarchical documents resembling [[web page]]s, and containing [[XML]]-serialized live object references. Visual content such as chat windows, shared [[Desktop environment|desktops]], and various sorts of [[Mashup (digital)|mashups]] could be composed by dragging and dropping components representing user interfaces and protocol instances onto a design form, and connecting them together. Since the moment of its creation, a number of extension have been developed to embed live distributed objects in [[Microsoft Office]] documents,<ref>Ahnn, J., Birman, K., Ostrowski, K., and van Renesse, R. (2008). "Using live distributed objects for office automation", ''Proceedings of the ACM/IFIP/USENIX Middleware '08 Conference Companion'', Leuven, Belgium, December 01–05, 2008, ''Companion '08'', ACM, New York, NY, 30-35, http://portal.acm.org/citation.cfm?id=1462735.1462743.</ref> and to support various types of hosted content such as Google Maps.<ref>httphttps://liveobjects.cs.cornell.edu/community/index.html {{Dead link|date=February 2022}}</ref> As of March 2009, the platform is being actively developed by its creators.<ref name="ostrowski2008cc">Ostrowski, K., and Birman, K. (2009). "Storing and Accessing Live Mashup Content in the Cloud", ''3rd ACM SIGOPS International Workshop on Large Scale Distributed Systems and Middleware (LADIS 2009)'', Big Sky, MT, USA. October 11, 2009, httphttps://www.cs.cornell.edu/~krzys/krzys_ladis2009.pdf</ref>
<ref name="akdogan2008">Akdogan, A., and Polepalli, S. (2008). "Live Maps", httphttps://liveobjects.cs.cornell.edu/community/1/index.html</ref>
<ref name="kashyap2008">Kashyap, R., and Nagarajappa, D. (2008). "Cornell Yahoo! Live Objects", httphttps://liveobjects.cs.cornell.edu/community/2/index.html</ref>
<ref name="dong2008">Dong, X., and Zhang, Z. (2008). "Integrate Live Objects with Flickr Web Service", httphttps://liveobjects.cs.cornell.edu/community/3/index.html</ref>
<ref name="prateek2008">Prateek, U. (2008). "Goole Earth Live Object", httphttps://liveobjects.cs.cornell.edu/community/4/index.html</ref>
<ref name="gupta2008">Gupta, S., and Vora, H. (2008). "ALGE (A Live Google Earth)", httphttps://liveobjects.cs.cornell.edu/community/5/index.html</ref>
<ref name="mahajan2008">Mahajan, R., and Wakankar, S. (2008). "Distributed Google Earth", httphttps://liveobjects.cs.cornell.edu/community/6/index.html</ref>
<ref name="wadhwa2008">Wadhwa, A., Sankar, H., and Subramaniyan, S. (2008). "Live Google Earth UI", httphttps://liveobjects.cs.cornell.edu/community/7/index.html</ref>
 
== See also ==