Abstract
Virtual Environments have become a compelling tool for various applications beyond gaming and Virtual Worlds, for example, for education, collaborative engineering, or simulation and visualization. In the emerging field of smart environments, like Smart Cities and Smart Factories for industry or agriculture, a digital counterpart of a real-world site, driven by hundreds of Internet of Things sensors that emit their data in real-time, is a central part of the application. Maintaining such a large-scale virtual environment and keeping it up-to-date with changing requirements set by connected sensors and services is a challenge. For this, we present FiVES, a server framework that is based on an aspect-oriented architecture to create highly maintainable large-scale virtual environments by avoiding cross-cutting concerns like tangling or scattering of code between modules in resulting applications. We present a fully functional implementation of our system that builds on an extendable and versatile data model, a flexible plugin mechanism, and a transparent yet efficient synchronization layer that is independent of the modules from which applications are assembled.
Similar content being viewed by others
Notes
References
Lifton, J., Paradiso, J.A.: Dual Reality: Merging the Real and Virtual, pp. 12–28. Springer, Berlin (2010)
Blom, K.J., Beckhaus, S.: On the creation of dynamic, interactive virtual environments. In: IEEE VR 2008 Workshop SEARIS: Software Engineering and Architectures for Interactive Systems (2008)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Proceedings of the European Conference on Object-Oriented Programming (ECOOP), (Finland). Springer, Berlin (June 1997)
Hof, R.: My virtual life. Bus. Week (2006). https://www.bloomberg.com/news/articles/2006-04-30/my-virtual-life
Alatalo, T.: An entity-component model for extensible virtual worlds. IEEE Internet Comput. 15(5), 30–37 (2011)
Dahl, T., Koskela, T., Hickey, S., Vatjus-Anttila, J.: A virtual world web client utilizing an entity-component model. In: NGMAST, pp. 7–12. IEEE (2013)
Kaplan, J., Yankelovich, N.: Open wonderland: an extensible virtual world architecture. IEEE Internet Comput. 15(5), 38–45 (2011)
Kienzle, J., Verbrugge, C., Kemme, B., Denault, A., Hawker, M.: Mammoth: a massively multiplayer game research framework. In: Proceedings of the 4th International Conference on Foundations of Digital Games, FDG ’09 (New York, NY, USA), pp. 308–315. ACM (2009)
C. Cañas, K. Zhang, B. Kemme, J. Kienzle, and H.-A. Jacobsen, “Publish/subscribe network designs for multiplayer games,” in Proceedings of the 15th International Middleware Conference, Middleware ’14, (New York, NY, USA), pp. 241–252, ACM, 2014
Najaran, M.T., Hu, S., Hutchinson, N.C.: SPEX: scalable spatial publish/subscribe for distributed virtual worlds without borders. In: Multimedia Systems Conference 2014, MMSys ’14, Singapore, March 19–21, 2014, pp. 127–138 (2014)
Aguilera, M.K., Merchant, A., Shah, M., Veitch, A., Karamanolis, C.: Sinfonia: a new paradigm for building scalable distributed systems. In: Proceedings of Twenty-first ACM SIGOPS Symposium on Operating Systems Principles, SOSP ’07 (New York, NY, USA), pp. 159–174. ACM (2007)
Najaran, M.T., Hutchinson, N.C.: Innesto: a searchable key/value store for highly dimensional data. In: Proceedings of the 2013 IEEE International Conference on Cloud Computing Technology and Science-Volume 01, CLOUDCOM ’13 (Washington, DC, USA), pp. 411–420. IEEE Computer Society (2013)
Castro, M., Druschel, P., Kermarrec, A.-M., Rowstron, A.I.T.: Scribe: a large-scale and decentralized application-level multicast infrastructure. IEEE J. Sel. Areas Commun. 20(8), 1489–1499 (2002)
Fayad, M., Pinto, M., Troya, J., Fuentes, L.: Towards an aspect-oriented framework in the design of collaborative virtual environments. In: 8th IEEE Workshop on Future Trends of Distributed Computing Systems, p. 9 (2001)
Valadares, A., Lopes, C.V., Achar, R., Bowman, M.: Cadis: aspect-oriented architecture for collaborative modeling and simulation. In: Proceedings of the 2016 Winter Simulation Conference, WSC ’16 (Piscataway, NJ, USA), pp. 1024–1035. IEEE Press (2016)
Dionisio, J.D.N., Gilbert, R.: 3D virtual worlds and the metaverse: Current status and future possibilities. ACM Comput. Surv. 45, 34:1–34:38 (2013)
Byelozyorov, S., Rubinstein, D., Pegoraro, V., Slusallek, P.: An open modular middleware for interoperable virtual environments. In: Cyberworlds (CW) 2013 International Conference on, pp. 94–100. IEEE (2013)
Nicol, G., Wood, L., Champion, M., Byrne, S.: Document object model (dom) level 3 core specification. W3C Recommendation (2001)
Behr, J., Eschler, P., Jung, Y., Zöllner, M.: X3DOM: a DOM-based HTML5/X3D integration model. In: Proceedings of the 14th International Conference on 3D Web Technology, Web3D ’09 (New York, NY, USA), pp. 127–135. ACM (2009)
Sons, K., Klein, F., Rubinstein, D., Byelozyorov, S., Slusallek, P.: XML3D: interactive 3D graphics for the Web. In: Proceedings of the 15th International Conference on Web 3D Technology, Web3D ’10 (New York, NY, USA), pp. 175–184. ACM (2010)
Klein, F., Spieldenner, T., Sons, K., Slusallek, P.: Configurable instances of 3D models for declarative 3D in the web. In: Proceedings of the Nineteenth International ACM Conference on 3D Web Technologies. ACM International Conference on 3D Web Technology (Web3D-14), 19th, August 8–10, Vancouver, BC, Canada, pp. 71–79. ACM (2014)
Potel, M.: MVP: model-view-presenter the taligent programming model for c++ and java. Taligent Inc, Ottawa (1996)
Gusella, R., Zatti, S.: The accuracy of the clock synchronization achieved by tempo in berkeley unix 4.3bsd. Technical Reports on UCB/CSD-87-337. EECS Department, University of California, Berkeley (Jan 1987)
Liu, H., Bowman, M., Chang, F.: Survey of state melding in virtual worlds. ACM Comput. Surv. 44, 21:1–21:25 (2012)
Claypool, M., Claypool, K.: Latency and player actions in online games. Commun. ACM 49, 40–45 (2006)
Gupta, N., Demers, A.J., Gehrke, J., Unterbrunner, P., White, W.M.: Scalability for virtual worlds. In: Ioannidis, Y.E., Lee, D.L., Ng, R.T. (eds.) ICDE, pp. 1311–1314. IEEE, Piscataway (2009)
Farooq, U., Glauert, J.: Integrating dynamic scalability into the opensimulator framework. Simul. Model. Pract. Theory 72, 118–130 (2017)
Shukla, A., Chaturvedi, S., Simmhan, Y.: Riotbench: a real-time iot benchmark for distributed stream processing platforms. ArXiv preprint arXiv:1701.08530 (2017)
Lake, D., Bowman, M., Liu, H.: Distributed scene graph to enable thousands of interacting users in a virtual environment. In: Proceedings of the 9th Annual Workshop on Network and Systems Support for Games, p. 19. IEEE Press (2010)
W3C: Resource description framework (RDF), W3C Specification (2014). https://www.w3.org/RDF/. Accessed 11 May 2017
Acknowledgements
The work presented in this paper received funding from the European Union’s project FI-NEXT under Grant Agreement No 732851 and FP7/ICT-FI project FI-CORE under Grant Agreement No 632893, and from the project INVERSIV, funded by the German Ministry of Education and Research (BMBF) under Grant Agreement No 01IW14004.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Spieldenner, T., Byelozyorov, S., Guldner, M. et al. FiVES: an aspect-oriented approach for shared virtual environments in the web. Vis Comput 34, 1269–1282 (2018). https://doi.org/10.1007/s00371-018-1564-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-018-1564-0