• 沒有找到結果。

行政院國家科學委員會補助國內專家學者出席國際學術會議報告

SYSTEM OPERATING MECHANISMS

The technologies integrated to build a CloudBIM system are demonstrated in Figure 2. The structure has three levels: (1) Web UI layer: provides users on the client side with a web-based BIM system service. Its main function is to display the BIM in 3D. (2) Data access and control layer: facilitates communication between the Web UI layer on the client side and the cloud service layer by employing software suites and programs. The query of BIM component attributes and IFC-based BIM uploading are all carried out on this layer. (3) Cloud service layer: provides storage of big data, performs big data analysis and computing, and achieves data locality and backup. The data storage space can be expanded horizontally and provides service using multiple computers. Regarding system operation, the CloudBIM system are mainly based on the following modules: BIM uploading and analysis, Apache Thrift data connection, BIM 3D viewing, and database schema for BIM data storage. The operating mechanisms of these modules are introduced in detail below.

Figure 2 – Technology integration framework of CloudBIM BIM uploading and analysis

This module receives BIMs in IFC files uploaded by users and determines whether they are in IFC format. It then passes the IFC files to the IFC pre-processing module. IFC files are in hierarchical data

format, and therefore cannot be separated. The pre-processing module converts the IFC files to a format so that they can be partitioned while data for each single component still remains intact. By using partitioned files, problems relating to referencing other files are eliminated. This allows each node to obtain its required data and perform the analysis on BIM components. MapReduce is employed to conduct IFC computing and analysis. It is based on the distributed computing principle proposed by Google Inc. Files are partitioned, distributed, and uploaded to a distributed file system. Files are distributed to several server nodes where they are computed in parallel; this is called Map computing. Computed results from each node are then transferred to a certain specified node for further computing; this is called Reduce computing.

Both Map and Reduce computing can be defined according to various algorithms as specified by developers. After the IFC files are converted to formats that can be processed by MapReduce, JobTracker assigns each TaskTracker to parse the files into a format that the BIM 3D viewing module on the client side can read. The results are passed back to Reducer. Reducer puts the received results in order, numbers every set of data, and saves them in HBase cloud database. Through a structured index, requested data can be located quickly in HBase. The data stored in HBase can be retrieved and displayed directly in the WebGL 3D model display frame on the user’s browser.

Apache Thrift data connection

Apache Thrift serves as a connecting tool for the HBase database on the server side and hypertext preprocessor (PHP) on the client side. Thrift is a communication software suite that attaches to HBase, PHP, and Apache HTTP Server. PHP can access everything in HBase using Thrift. Three programs in the CloudBIM need to use Thrift: reducer.php, writes processed component information of uploaded BIMs into the data table in HBase via PHP; display.php, as WebGL starts, all components of the BIM are extracted from HBase via PHP; ajaxlink.php, retrieves component attributes from the property table when a component is selected by a user.

BIM 3D viewing

The client side of the system utilizes WebGL technology to display BIM in 3D on browser, as shown in Figure 3. The significance of 3D visualization lies in the viewer interaction. WebGL offers many application programming interfaces (APIs) that enable 3D modeling objects for viewer interaction. Model data need to be imported all at once at the initiation of WebGL. In this study, BIMs are saved in HBase.

PHP and Thrift are employed to import components of a BIM in HBase into WebGL. JavaScript is used to engage keyboard and mouse events. When a component in BIM are selected, its attributes in HBase are retrieved and sent back to WebGL via AJAX in real time, thus achieving the required interaction between users and the display. WebGL technology uses the “canvas” element in HTML5. This interface element enables a 3D component to be displayed directly on the browser; no browser plug-ins are required and Model viewers can see the BIM online via any browser that supports WebGL.

Figure 3 – BIM 3D online viewing in the WebGL interface

Database schema for BIM data storage

Apache HBase serves as a database that stores BIM 3D components and attribute data. Two main data tables are constructed. One is the object table that contains components of the 3D model, and the other is the property table that contains component attributes. As can be seen in Figure 4, in the object table, each line of data is for one component; this table includes the component ID, its position, rotation angle, scaling ratio, basic object and the material of the component. Each line in the property table contains attribute details of a component. The design concepts for both tables are identical. They are divided into two data tables for serving different modules. Data for one component is placed in a column. When the data is needed, the whole column is read. This improves the efficiency of data retrieval.

Figure 4 – Schema of Object Table and Property Table SYSTEM VALIDATION

Validation of the developed prototype system is conducted on eight Intel Core i5 computers, each with 16 gigabyte (GB) memory and 500 GB hard drive. Linux Ubuntu 12.04 is used as the operating system. Two computers among the eight serve as login servers. Both of them are equipped with a BIM uploading module and WebGL 3D viewing module. All the computers form a small private cloud. One of them acts as Hadoop Namenode and JobTracker, and another is the HBase HMaster. The remaining computers act as DataNode and TaskTracker for cloud storage and computing.

Multiple users can view the BIMs online concurrently using the proposed system. One or more BIMs can also be viewed at the same time. The 3D viewing module uses WebGL technology. Its performance in presenting the data primarily depends on users’ display devices. The data retrieved from the server side are processed BIM component data. When users start the WebGL display interface, the system will retrieve all components from the BIM for model display. Attribute data are obtained separately on request. In addition to viewing by multiple users, the system also supports uploading by multiple users concurrently. The upper limit on the memory is set as 400 megabytes. Currently, the maximum number of BIMs in the private cloud database is more than 500. Each BIM on average contains more than 50 component models and corresponding attributes. Even with this much data, the system still runs efficiently.

The cloud-based system enables users to use the service and view BIM components via different types of internet access devices. The deployment and capacity of CloudBIM in this validation test are summarized in Table 1.

Table 1 – The attributes of the validation test on CloudBIM

Item Deployment / Capacity

Server Hardware 8 Intel Core i5 computers, each with 16 GB memory and 500 GB hard drive

Operating System Linux Ubuntu 12.04

The number of Login Server 2 The number of Hadoop NameNode and JobTracker

1 The number of HBase HMaster 1 The number of Hadoop DataNode 6 The limit setting of memory 400 MB The maximum number of BIMs in the

private cloud database

More than 500 BIMs (Each BIM on average contains more than 50 component models and corresponding attributes) CONCLUSIONS

A web-based BIM system that utilizes Cloud technologies is presented in this study. The storage and viewing of BIMs becomes a Cloud service with SaaS as its service model. The proposed system framework can provide online services that allow developers of BIMs to upload BIMs onto the server and share them with others involved in the project. It can be seen as a BIM reviewing platform that facilitates collaboration. Advanced technologies are utilized to develop a prototype system. WebGL technology is employed to display BIMs in 3D on the browser. Database schema for storing BIMs in the cloud database of the web-based BIM system is developed. MapReduce technology is applied to develop an IFC Parser which processes BIM data and saves them in the cloud database. The cloud database and WebGL interface are integrated using Thrift. Validation of the prototype system shows that 3D BIMs can be viewed via various types of internet access devices, cloud database can store massive BIMs, and the system can provide access to BIMs for multiple users concurrently.

ACKNOWLEDGMENTS

This research was supported by the National Science Council of Taiwan under Project Number NSC 101-2221-E-011-068.

REFERENCES

Calyam, P., Patali, R., Berryman, A., Lai, A.M., Ramnath, R. (2011). Utility-directed resource allocation in virtual desktop clouds. Computer Networks, 55(18), 4112-4130. doi:

10.1016/j.comnet.2011.07.019

Mell, P., & Grance, T. (2011). The NIST Definition of Cloud Computing (NIST Special Publication 800-145). Gaithersburg, MD: National Institute of Standards and Technology.

Spillane, R.P., Shetty, P.J., Zadok, E., Dixit, S., & Archak, S. (2011). An efficient multi-tier Tablet Server Storage architecture. Proceedings of the 2nd ACM Symposium on Cloud Computing, SOCC 2011.

doi: 10.1145/2038916.2038917

Srirama, S.N., Jakovits, P., Vainikko, E. (2012). Adapting scientific computing problems to clouds using MapReduce. Future Generation Computer Systems, 28(1), 184-192. doi:

10.1016/j.future.2011.05.025

相關文件