The semantics and behavior of live distributed objects can be characterized in terms of distributed data flows; the set of messages or events that appear on the instances of a live object's endpoint forms a distributed data flow
.
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.
The more general definition presented above has been first proposed in 2008, in a paper published at the ECOOP conference. 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, was the Live Distributed Objects platform developed by Krzysztof Ostrowski at Cornell University. The platform provided a set of visual, drag and drop tools for composing hierarchical documents resembling web pages, and containing XML-serialized live object references. Visual content such as chat windows, shared desktops, and various sorts of 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, and to support various types of hosted content such as Google Maps. As of March 2009, the platform is being actively developed by its creators.
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, http://www.cs.cornell.edu/~krzys/krzys_debs2009.pdf http://www.cs.cornell.edu/~krzys/krzys_debs2009.pdf
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), http://www.cs.cornell.edu/~krzys/krzys_oopsla2009.pdf http://www.cs.cornell.edu/~krzys/krzys_oopsla2009.pdf
Ostrowski, K. (2008). "Live Distributed Objects", Ph.D. Dissertation, Cornell University, http://hdl.handle.net/1813/10881. http://hdl.handle.net/1813/10881
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. https://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4032049
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. http://portal.acm.org/citation.cfm?id=1179477
Ostrowski, K., (2006). QuickSilver Scalable Multicast. Microsoft Research, Redmond, WA, November 2006. http://www.researchchannel.org/prog/displayevent.aspx?rID=7870&fID=2276. http://www.researchchannel.org/prog/displayevent.aspx?rID=7870&fID=2276
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. https://ieeexplore.ieee.org/document/4376231/;jsessionid=EF449367E7DB4958663B9131214CEAAD?isnumber=4376216&arnumber=4376231
Ostrowski, K. (2008). "Live Distributed Objects", Ph.D. Dissertation, Cornell University, http://hdl.handle.net/1813/10881. http://hdl.handle.net/1813/10881
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. http://portal.acm.org/citation.cfm?id=1428508.1428536
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. http://portal.acm.org/citation.cfm?id=1428508.1428536
"Home". liveobjects.cs.cornell.edu. http://liveobjects.cs.cornell.edu/
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. http://portal.acm.org/citation.cfm?id=1462735.1462743
http://liveobjects.cs.cornell.edu/community/index.html [dead link] http://liveobjects.cs.cornell.edu/community/index.html
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, http://www.cs.cornell.edu/~krzys/krzys_ladis2009.pdf http://www.cs.cornell.edu/~krzys/krzys_ladis2009.pdf
Akdogan, A., and Polepalli, S. (2008). "Live Maps", http://liveobjects.cs.cornell.edu/community/1/index.html http://liveobjects.cs.cornell.edu/community/1/index.html
Kashyap, R., and Nagarajappa, D. (2008). "Cornell Yahoo! Live Objects", http://liveobjects.cs.cornell.edu/community/2/index.html http://liveobjects.cs.cornell.edu/community/2/index.html
Dong, X., and Zhang, Z. (2008). "Integrate Live Objects with Flickr Web Service", http://liveobjects.cs.cornell.edu/community/3/index.html http://liveobjects.cs.cornell.edu/community/3/index.html
Prateek, U. (2008). "Goole Earth Live Object", http://liveobjects.cs.cornell.edu/community/4/index.html http://liveobjects.cs.cornell.edu/community/4/index.html
Gupta, S., and Vora, H. (2008). "ALGE (A Live Google Earth)", http://liveobjects.cs.cornell.edu/community/5/index.html http://liveobjects.cs.cornell.edu/community/5/index.html
Mahajan, R., and Wakankar, S. (2008). "Distributed Google Earth", http://liveobjects.cs.cornell.edu/community/6/index.html http://liveobjects.cs.cornell.edu/community/6/index.html
Wadhwa, A., Sankar, H., and Subramaniyan, S. (2008). "Live Google Earth UI", http://liveobjects.cs.cornell.edu/community/7/index.html http://liveobjects.cs.cornell.edu/community/7/index.html