Supporting Collaborative 3D Editing over Cloud Storage

Similar documents
Determination of the Parameter for Transformation of Local Geodetic System to the World Geodetic System using GNSS

The Design of Real-time Display Screen Control Techniques for Mobile Devices 1

Design of a Processing Structure of CNN Algorithm using Filter Buffers

A Personal Information Retrieval System in a Web Environment

Multi-Hop Linear Network Based on LoRa

A Study on the IoT Sensor Interaction Transmission System based on BigData

Implementation of Semantic Information Retrieval. System in Mobile Environment

Robot localization method based on visual features and their geometric relationship

Voice Annotation Technique for Reading-disabled People on Mobile System

Applicability Estimation of Mobile Mapping. System for Road Management

The Study of Genetic Algorithm-based Task Scheduling for Cloud Computing

Design and Implementation of HTML5 based SVM for Integrating Runtime of Smart Devices and Web Environments

The Design and Implementation of a BLE-based WebD2D Service for Android Smartphone

Big Data Service Combination for Efficient Energy Data Analytics

CyberOffice: A Smart Mobile Application for Instant Meetings

Remote Direct Storage Management for Exa-Scale Storage

Dynamic Monitoring Tool based on Vector Clocks for Multithread Programs

Trajectory Planning for Mobile Robots with Considering Velocity Constraints on Xenomai

Research on the Performance of JavaScript-based IoT Service Platform

Towards Secure Virtual Machine Migration in Vehicular Cloud Environment

An Improvement of the Occlusion Detection Performance in Sequential Images Using Optical Flow

Construction Scheme for Cloud Platform of NSFC Information System

Development of Technique for Healing Data Races based on Software Transactional Memory

Post-Classification Change Detection of High Resolution Satellite Images Using AdaBoost Classifier

IJSRD - International Journal for Scientific Research & Development Vol. 3, Issue 02, 2015 ISSN (online):

Application of Fuzzy Logic Control to Dynamic Channel Allocation of WiMedia UWB Networks

An Analysis of Website Accessibility of Private Industries -Focusing on the Time for Compulsory Compliance with Web Accessibility Guidelines in Korea-

A Virtual-Synchronized-File Based Privacy Protection System

Design of Ontology Engine Architecture for L-V-C Integrating System

Qiufeng Zhu Advanced User Interface Spring 2017

A Study of Open Middleware for Wireless Sensor Networks

A Design of Distributed Data Traffic Algorithm based on Hierarchical Wireless/Mobile Networks

Study on the Signboard Region Detection in Natural Image

Deep Learning Based Real-time Object Recognition System with Image Web Crawler

Multi-Platform Mobile Thin Client Architecture in Cloud Environment

Common Service Discovery Scheme in IoT Environments

Binh Nguyen Thanh. 3D Visualization. 3D Model Visualization in Samsung 3D TV Using 3D Glasses

Evolution of D-Studio Middleware technology for BIM integration

Design and Implementation of Secure OTP Generation for IoT Devices

Message Processing at Integrated PHD Gateways for Servicing Various PHDs

A study on accessibility to mobile websites - Centering on public institution mobile websites in Korea -

MARATHI TEXT-TO-SPEECH SYNTHESISYSTEM FOR ANDROID PHONES

A Design of Building Group Management Service Framework for On-Going Commissioning

WebGL Seminar: O3D. Alexander Lokhman Tampere University of Technology

S5409: Custom Iray Applications and MDL for Consistent Visual Appearance Throughout Your Pipeline

Virtual Desktop VMware View Horizon

A Graph-based Interpretation for Finding Solution Strategies of Contradiction Problems in the Butterfly Diagram

Collaboration System using Agent based on MRA in Cloud

EXPLORER, A VISUALIZATION SYSTEM FOR RESERVOIR SIMULATIONS

Distributed Computing on Browsers

Research on Autonomic Control System Connection Goal-model and Fault-tree

Architecture for QoS-enabled Application Service Deployment in Virtualized Environment

Ten interesting features of Google s Angular Project

The Essence of Node JavaScript on the Server Asynchronous Programming Module-driven Development Small Core, Vibrant Ecosystem The Frontend Backend

A Study on HTML5 Web Standard Compliance of Korean Government Website utilizing Web Standard Validators

A Spatial Point Pattern Analysis to Recognize Fail Bit Patterns in Semiconductor Manufacturing

MEMA. Memory Management for Museum Exhibitions. Independent Study Report 2970 Fall 2011

A Robust Hand Gesture Recognition Using Combined Moment Invariants in Hand Shape

A Survey on Disk-based Genome. Sequence Indexing

Time Stamp based Multiple Snapshot Management Method for Storage System

Digital Municipal. Computer Science and Engineering, St Joseph Engineering College, Vamanjoor, India

JMWeb Online Help

Development of Smart-CITY Based Convergent Contents Platform Using Bluetooth Low Energy Beacon Sensors

Mining the Rendering Power in Web Browsers. Jianxia Xue Jan. 28, 2014

Oracle Mobile Application Framework

Easy Ed: An Integration of Technologies for Multimedia Education 1

Object Tracking using Superpixel Confidence Map in Centroid Shifting Method

Zimbra Collaboration Suite v6.0 & Beyond. Présenté par Andrew Shingler

Neil Trevett Vice President Mobile Ecosystem, NVIDIA President, Khronos Group. Copyright Khronos Group Page 1

An Efficient Provable Data Possession Scheme based on Counting Bloom Filter for Dynamic Data in the Cloud Storage

AR Standards Update Austin, March 2012

Understanding Oracle ADF and its role in the Oracle Fusion Platform

Boston VR. Autodesk Developer Network

MythoLogic: problems and their solutions in the evolution of a project

Data Imbalance Problem solving for SMOTE Based Oversampling: Study on Fault Detection Prediction Model in Semiconductor Manufacturing Process

LabWare 7. Why LabWare 7?

Lightweight caching strategy for wireless content delivery networks

Information Retrieval System Based on Context-aware in Internet of Things. Ma Junhong 1, a *

3D on the Web Why We Need Declarative 3D Arguments for an W3C Incubator Group

ShowNTell - An easy-to-use tool for answering students questions with voiceover

Improved Methods for Tagging and Semantic-Annotation for the Semantic-based OpenAPI Retrieval System *

Developing a Synchronous Activity Module for the Moodle CMS

Mobile Application Of Open Source Stack To Geo-Based Data Visualisation On E-Government Web Framework

Myung Ho Kim National Technology Officer (NTO) Microsoft Korea

An Energy Efficient Data Dissemination Algorithm for Wireless Sensor Networks

A Design of U-Health System on Smart Phone Using ISO/IEEE PHD Standard

Volume 6, Issue 4, April 2018 International Journal of Advance Research in Computer Science and Management Studies I. INTRODUCTION

Technical Note. PegaCHAT 6.2 SP3. Installing and Configuring OpenFire

BioTechnology. An Indian Journal FULL PAPER. Trade Science Inc. Study on secure data storage based on cloud computing ABSTRACT KEYWORDS

WeCode. Brought to you by CitrixNChill

WPAN Platform Design in Handset Integrating Cellular Network and Its Application to Mobile Games

A Study on Development of Azimuth Angle Tracking Algorithm for Tracking-type Floating Photovoltaic System

Design of Self-Adaptive System Observation over Internet of Things

An Efficient Flow Table Management Scheme for SDNs Based On Flow Forwarding Paths

WHITE PAPER Cloud FastPath: A Highly Secure Data Transfer Solution

ClojureScript. The Essence of Alchemy

A study on improvement of evaluation method on web accessibility automatic evaluation tool's <IMG> alternative texts based on OCR

An Eclipse-based Environment for Programming and Using Service-Oriented Grid

eclipse rich ajax platform (rap)

Abnormal Data Detection with CEP Engine for Smart Factory

Transcription:

, pp.33-37 http://dx.doi.org/10.14257/astl.2015.107.09 Supporting Collaborative 3D Editing over Cloud Storage Yeoun-Ui Ha 1, Jae-Hwan Jin 2, Myung-Joon Lee 3 Department of Electrical/Electronic and Computer Engineering, University of Ulsan, 93, Daehak-ro, Nam-gu, Ulsan 680-749, Republic of Korea, 1,2 {gkdus23, jjhok2000}@gmail.com, 3 mjlee@ulsan.ac.kr Abstract. As 3D modeling has been popular in the current social environment, 3D editing has been received much attention. In this paper, we present a 3D editor named Lets3D which supports real-time collaboration in editing and sharing 3D objects. Lets3D is implemented as an extension of the three.js editor, running on Web browsers. For collaborative functionalities, Lets3D utilizes the whiteboard service of C3ware, which is a middleware providing abstract editing operations and concurrency controls on shared objects over cloud storage. Also, to synchronize the editing screens among a group of users, Lets3D relies on the robust messaging facility of the Openfire XMPP messaging server. Keywords: 3D Editor, Collaborative 3D editing, C3ware, XMPP 1 Introduction 3D Modeling is a process of developing 3D objects and their features. A 3D Editor is a tool for 3D Modeling which enables users to edit 3D objects in a convenient way. As of now, there are lots of 3D editors like Google s sketch up [1], AutoCad [2], sunglass [3] and others. Also, to handle 3D objects in such tools, graphics APIs such as opengl [4], direct3d [5], and WebGL [6] are being used popularly. Recently, xml3d [7] is proposed as an extension to HTML5 for supporting interactive 3D graphics in Web browsers. Along with the emergence of useful 3D editors and rich 3D-related activity, collaboration in 3D modeling is getting much attention. But, the currently existing 3D collaborative environments for 3D modeling [3][8] are provided only as commercial Web services. Besides, the famous open source 3D editors like blender [9] and FreeCAD[10] do not support collaborative environment for now. In this paper, we present a collaborative 3D editor named Lets3D, which supports real-time editing and sharing of 3D objects among users through Web browsers. Lets3D is implemented as an extension of the three.js editor using Three.js [11], which is a typical lightweight cross-browser API of WebGL for rendering of 3D objects. To provide such collaborative functionality in 3D editing, Lets3D utilizes the whiteboard service of C3ware [12] which delivers abstract editing operations and concurrency controls on shared objects over cloud storage. In addition, to create and ISSN: 2287-1233 ASTL Copyright 2015 SERSC

maintain users and groups, Lets3D adopts XMPP messaging [13], which is also used to synchronize the editing screens among a group of users. 2 Lets3D Collaborative Editor In this section, we describe the structure of the Lets3D editing tool and the collaborative features provided by Lets3D. 2.1 Lets3D System Structure C3ware is a middleware supporting collaborative workspaces over cloud storage and useful high-level collaborative services including the whiteboard service and the concurrency control service. Lets3D uses the whiteboard service of C3ware for sharing 3D objects among group users and collaborative editing. Also, to maintain consistencies of shared 3D Objects which can be edited by a group of users beyond space, Lets3D receives helps from the concurrency control service of C3ware. In addition, to deliver the edited 3D objects and to synchronize the editing screens among a group of users, Lets3D adopts the Openfire XMPP messaging server. For providing the user registration and group management, Lets3D uses the Strophe.js Library which can be plugged in Web Browsers. Fig. 1 shows the system structure of Lets3D. Fig. 1. System Structure of Lets3D 2.2 Functions of Lets3D For collaboration features, Lets3D provides two main functions: group management and collaborative editing. Every operation associated with group management sends a related message to the XMPP server and/or the related users, whereas every operation associated with collaborative editing sends both a Web service request to C3ware and the related XMPP message to the group members in collaborative editing. C3ware ensures the consistency of the 3D objects through the Delete Object Web service 34 Copyright 2015 SERSC

operation and the Modify Object operation of the whiteboard service, which uses the concurrency control service internally. Table 1 shows major functions for group management and collaborative editing. Lets3D provides the functions for import and export of 3D objects, supporting object formats such as.json,.obj and interactive xml3d being used in HTML5. Table 1. Operations for Collaborative Features in Lets3D. Classification Function Description Group Create Group Create a new group at XMPP server Management Invite Group Invite user to group Delete Group Delete group at XMPP server Collaborative Create Object Create 3D object at the editor Editing Delete Object Delete 3D object at the editor Modify Object Modify 3D object at the editor Clone Clone 3D object at the editor Import/Export Import/Export file format you want Redo/Undo Redo/Undo object at the editor 2.3 3D Collaborative Editing Scenario The editor screen of Lets3D is composed of Viewport, Menu bar, Side bar and Tool bar as shown in Fig. 2. The Viewport is the view screen displaying 3D objects. The side bar shows the hierarchical structure of the detailed information on the selected object. The Menu bar and the Tool bar support editing functions for 3D objects such as creation and movement of objects. Usually, users perform the following procedure for collaborative 3D editing through Lets3D. Fig. 2. Editor Screen of Lets3D 1. A user makes a registration to the Openfire XMPP server through the login and join screen of Lets3D as shown in Fig. 3. 2. The joined user creates a group, inviting other users to the group at the group management screen of Lets3D in Fig. 4. Copyright 2015 SERSC 35

3. Users of the group perform editing operations on 3D objects sharing the same editing screen. With the help of the concurrency control service of C3ware, Lets3D synchronizes the editing screens of the group users through XMPP messaging. 4. Each 3D object created or modified by a group user is stored in the related group workspace over cloud storage. Fig. 3. Login and group management screen of Lets3D Fig. 4. Collaborative editing through Lets3D 3 Conclusion In this paper, we described a new collaborative editing tool running on Web browsers. As for the core editing functionality, Lets3D borrows the edting functionality from the open source three.js editor based on the three.js WebGL API. As for the collaborative functionality, Let3D utilizes the whiteboard service of C3ware, which enables Lets3D to store 3D objects into collaborative workspaces provided by C3ware and to perform synchronized edit operations on those shared 3D objects. For communication among users as well as user/group management, Lets3D uses XMPP messaging which is proven reliable in decades. The easy-to-use interface of Lets3D comes from the proven feature of the simple three.js editor. We believe that Lets3D would be useful especially for non-professional users who want to handle 3D objects because of its easiness for editing and its novelty for collaboration. 36 Copyright 2015 SERSC

Acknowledgement. This research was partially supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (No. 2013R1A1A4A01004459) References 1. Google s sketch-up, http://www.sketchup.com 2. Autocad, Yarwood, Alf, and Bernd S. Palm. Introduction to AutoCAD 2016: 2D and 3D Design. Routledge, 2015. 3. Sunglass, http://sunglass.io 4. OpenGL, https://www.opengl.org/documentation 5. Direct3D, https://msdn.microsoft.com/en-us/library/windows/desktop/hh309466(v= vs.85).aspx 6. WebGL, http://www.webgl-publisher.com/techinfoen.html 7. Xml3D, http://xml3d.org 8. collaborative environment for 3d modeling, https://clara.io 9. Blender, https://www.blender.org 10. FreeCAD, http://www.freecadweb.org/wiki/index.php?title=main_page 11. Three.js, Dirksen, Jos. Learning Three. js the JavaScript 3D Library for WebGL. Packt Publishing Ltd, 2015. 12. C3ware, Lee, Hong-Chang, Jong-Eun Park, and Myung-Joon Lee. "C3ware: A Middleware Supporting Collaborative Services over Cloud Storage." The Computer Journal (2013): bxs168. 13. XMPP messaging, Saint-Andre, Peter. "Extensible messaging and presence protocol (XMPP): Core." (2011). Copyright 2015 SERSC 37