行政院國家科學委員會專題研究計畫 期末報告
以 BIM 模型投標公共工程之雲端作業模式暨系統架構
計 畫 類 別 : 個別型
計 畫 編 號 : NSC 101-2221-E-011-068-
執 行 期 間 : 101 年 08 月 01 日至 102 年 09 月 30 日 執 行 單 位 : 國立臺灣科技大學營建工程系
計 畫 主 持 人 : 陳鴻銘
計畫參與人員: 碩士班研究生-兼任助理人員:葛翊凡 博士班研究生-兼任助理人員:侯權鍵
報 告 附 件 : 出席國際會議研究心得報告及發表論文
公 開 資 訊 : 本計畫可公開查詢
中 華 民 國 103 年 01 月 06 日
中 文 摘 要 : 建築資訊模型(Building Information Model, BIM)之規劃設 計方式與系統工具均已日趨普及,以繳交三維視覺化之 BIM 模型來取代傳統的平面圖說與書面資料來做為公共工程評選 的主要參考依據應為發展之趨勢,為使此一以 BIM 模型為主 之投標作業能以標準化的網路作業模式予以有效地輔助,建 構一線上投標系統,讓投標廠商可線上上傳 BIM 模型,並讓 後續評審作業相關人員可於線上檢視已上傳之 BIM 模型來進 行決策,對於 BIM 評選之推動,應有其必要性。欲實現此網 路作業模式,此 BIM 投標系統需:(1)於上傳資料格式方面,
需能接受各種主要 BIM 建模工具所建構出 BIM 模型之上傳;
(2)於模型的展示方面,已上傳之線上 BIM 模型需能於用戶端 之上網設備上以三維視覺化的方式呈現並供檢閱者點選查詢 元件屬性;(3)另於系統的運算效能方面,系統伺服端之
「BIM 模型庫」所彙整累積的大量 BIM 模型,需能同時供多 人同時線上檢閱查詢。
本研究將研擬提出以上傳 BIM 模型為基礎之線上投標作業模 式暨系統架構,並整合運用先進之資訊科技與雲端運算技術 以建置出呈現本研究所提概念之原型(prototype)系統。此系 統之研發項目有:(1)於上傳資料格式方面,本研究將基於各 種主要 BIM 建模工具之 IFC 輸出格式為基礎,提出泛用之模 型資料擷取模式與模型建置標準;(2)於模型的展示方面,本 研究將應用 WebGL 與 HTML5 等先進網頁製作技術,來達成於 用戶端透過標準的瀏覽器將線上之 BIM 模型以三維視覺化的 方式呈現並與檢閱者互動;(3)於系統的運算效能方面,本研 究將應用雲端系統之平行處理架構與資料存取機制,並基於 BIM 模型所整合資料之特性,來規劃與建置伺服端之系統平 台。本研究之預期成果將可呈現線上上傳 BIM 模型之網路投 標作業模式之可行性,有助於 BIM 於公共工程上應用之推 動。
中文關鍵詞: 建築資訊模型、公共工程、投標、雲端運算 英 文 摘 要 :
英文關鍵詞:
行政院國家科學委員會專題研究計畫期末報告
以 BIM 模型投標公共工程之雲端作業模式暨系統架構
Cloud computing-based operation model and system framework for bidding public constructions based on BIM
計畫編號:NSC 101-2221-E-011-068 執行期間: 101 年 8 月 1 日至 102 年 9 月 30 日 主持人:陳鴻銘 國立台灣科技大學營建工程系教授
建築資訊模型(Building Information Model, BIM)係將營建專案之三維視覺化模 型與各領域屬性之數位化資料整合於特定格式之檔案或資料庫中,使營建專案設計 者、專案管理者、施工單位、業主與客戶等,可藉由三維視覺化模型檢視營建專案 之設計建物,並能由該三維視覺化模型中獲得該專案建物之相關數位化資料。BIM 三維視覺化之特性可幫助設計階段之開發者能藉由 3D 視覺化方式設計建物,並且 幫助施工階段專案管理者與施工單位更容易核圖、校正施工現場狀況,亦可幫助業 主、客戶與專案管理者三方之溝通,讓非專業人士也能藉由 3D 模型對該營建專案 有更清楚的了解。BIM 所儲存的大量數位化資料,其包含建築、結構、機電、空調、
消防等各領域之數位化資料,除了幫助設計階段可明確地確認設計建物之細部處 理,更能協助施工階段之現場施工估驗以及成本分析,將零散的資料經由數位化整 理成為有用的資訊。一個理想化的 BIM,即有建物完整累積的生命週期資料。
現今 BIM 技術發展快速,市面上亦有許多商用之 BIM 軟體,如 Autodesk 之 Revit Architecture、Graphisoft 之 Archicad、Tekla Structures、Bentley Architecture 與 Bentley Structural,這些商用 BIM 軟體可結合建築、結構、機電、空調、消防等各領域資料,
將其儲存於 BIM。依據各領域商用軟體可提供許多服務之設計需求,但隨著軟體所 提供的系統功能越來越多時,其所耗的計算資源與儲存空間也越來越大,目前商用 的 BIM 軟體多屬單機式的系統,BIM 的運算工作大部分皆集中於一台電腦中執行,
當 BIM 軟體所需之儲存空間與運算資源之需求不斷地增加,會使得現今單機式個人 電腦之能力越來越無法負荷,且也導致 BIM 的管理、分享、同步之效率變差。此外 BIM 軟體之開發廠商眾多,不同廠商開發的軟體所建立之 BIM 不僅不能通用,而且 即使在相同廠商所開發之 BIM 軟體,因軟體版本不同亦會造成 BIM 資訊遺失的問 題,故當累積的 BIM 數量越多,則越不易對多個版本的 BIM 進行管理。雖然已有 廠商開發了 Viewer 以供檢視不同軟體版本之 BIM,但仍無法整合管理多個專案的
BIM。由於 BIM 軟體在單機上負荷過重、多個專案的 BIM 管理不易,且現有系統對 於非專案開發者外的多族群使用者之資料共享較不友善,本研究期望使用新技術發 展一套能更便於多人共同使用,且不需倚賴高效能硬體設備的 BIM 系統服務,目前 的雲端技術即為一種解決系統資源有限的改善方案,故本研究嘗試應用雲端運算技 術來建立網路共享式之 BIM 系統。
近年來,雲端運算的技術已逐漸發展成熟,並應用於處理不同領域的問題。雲 端運算之系統架構根據美國國家準局的定義,其包含五個基礎特徵、四個部署模型、
三種服務模式。五個基礎特徵包含:1.隨需自助服務(On-demand Self-service)、2.隨 時隨地用任何網路裝置存取(Broad Network Access)、3.多人共享資源池(Resource Pooling) 、 4. 快 速 重 新 佈 署 靈 活 度 (Rapid Elasticity) 、 5. 可 被 監 控 與 量 測 的 服 務 (Measured Service);四個部署模型則為:1. 公有雲(Public Cloud)、2. 私有雲(Private Cloud)、3. 社群雲(Community Cloud)、4. 混合雲(Hybrid Cloud,即為私有雲與公有 雲動態調整資源之混合雲);而三種服務模式為:1. SaaS (Software as a Service)軟體 即服務、2. PaaS (Platform as a Service)平台即服務、3. IaaS (Infrastructure as a Service) 基礎設施即服務,如圖 1 所示。當單機式的軟體或系統與雲端技術進行結合,可使 得軟體或系統成為一種網路式的多人共享服務,並且具有儲存巨量資料及進行巨量 資料分析的能力,因此將原本單機式的 BIM 軟體與雲端技術結合,可使得 BIM 服 務能網路共享化,並以巨量資料儲存的空間及巨量資料分析的運算能力來儲存與管 理大量的 BIM。本研究所提雲端運算模式之 BIM 服務則必須符合上述定義之五個基 礎特徵,並在四個佈署模型與三種服務模式兩者中各擇一種部署模型與一種服務模 式以建構本研究雲端化之網路式 BIM 系統,其系統包含五個基礎特徵與建立四個部 署模型中之私有雲,以及提供軟體即服務,將 BIM 之軟體服務網路化。目前既有 BIM server 有 Autodesk Revit BIM Server, Graphisoft ArchiCAD BIM Server and Bentley ProjectWise Integration Server,其伺服器多以單機式提供服務且儲存方式以 檔案為主,若欲檢視 BIM 需透過該商用特定的軟體;本研究所提之雲端化的網路式 BIM 系統將 BIM 以分散式儲存於雲端,使用者無需使用特定軟體而僅用網頁瀏覽器 便能線上檢視 BIM。
圖 1. 美國國家標準局(NIST)提出之雲端運算定義
本研究提出雲端化之網路式 BIM 系統,並稱之為 CloudBIM,其屬於雲端運算 服務模式定義之軟體即服務,工程顧問公司或建築師事務所在設計規劃階段以商用 單機式之 BIM 系統所完成之 BIM,可上傳至 CloudBIM 後於網路上發佈共享。經上 傳至 CloudBIM 的 BIM 所有的建築物資訊均會被解析,這些資料含有許多該建築物 的 3D 物件模型與物件屬性之資料,其可被分散儲存至雲端的巨量資料表。基於使 用此系統,一些工程顧問公司或建築師事務所的協力廠商,不論是施工單位或建設 公司均只需桌機、筆電、平板等裝置連上網際網路並透過所屬之網頁瀏覽器,即可 立即觀看該 BIM 之相關資訊。此系統亦可應用於公共工程招標,由投標單位將設計 完成的 BIM 上傳至 CloudBIM,相關審查的主管機關即可透過瀏覽器檢視投標單位 上傳之 BIM,如圖 2 所示。
圖 2. 本研究所提供之上傳與檢視 BIM 服務情境
本研究所提的 CloudBIM 系統,可提供網路化之即時服務、多人共同使用、巨量 資料儲存與分析運算,以解決單機式 BIM 系統無法多人共同使用且所需大量運算資 源之缺點。本研究整合以下技術開發 CloudBIM 系統:
(1) Apache Hadoop:Hadoop 是 Apache Top Level 之開發專案,其創始者 Doug Cutting 依照 Google File System(GFS)架構,並使用 Java 開發,使該架構得以成為一跨 平台之分散式檔案系統,並提供 Hadoop Distributed File System(HDFS)與 Hadoop MapReduce API 以達成進行 Petabyte 等級之巨量儲存與巨量運算之目的。本研究 亦將 Apache Hadoop 相關之子項目應用於雲端化之網路式 BIM 之開發,其中包 含(1) Hadoop Distributed File System(HDFS)即為 Hadoop 儲存相關項目;(2) Hadoop MapReduce 即為 Hadoop 運算相關項目;(3) Apache HBase 為依附於 Hadoop 架構的一種 BigTable 結構化儲存型態。
i. HDFS:HDFS 主要由一個 Namenode 與多個 Datanode 組成,其中 Namenode 主要功能是用以指揮其他的 Datanode 執行 I/O 工作,其角色即 Namenode 為 Master、Datanodes 為 Slaves。Namenode 所負責之工作亦包含追蹤檔案資 料的每個儲存單位區塊所分佈之節點位置,並存有其位置目錄,而這些位置 目錄集匯成為 Metadata 存於 Namenode 中;相對 Datanode 所儲存之內容即 為被分散分割與備份之資料檔案。
ii. Hadoop MapReduce:MapReduce 使分散於分散式系統上之各個資料於各個 主機中,也就是在各節點進行工作之主機,均稱為 TaskTracker,以進行 Map 在地運算,其運算結果送至指定之 TaskTracker 進行 Reduce 運算其結果,使 大量運算可分散處理,並且在有限的網路頻寬中,僅傳送 Mapper 處理過後 的少量資料讓 Reducer 計算結果。如圖 3 為 MapReduce 運算原理。先由多 個 input 的資料,交由多個 Mapper 進行 Map 運算,這些 input 資料為分散 在 HDFS 中的資料片段。當使用者要對指定的檔案進行 MapReduce 運算時,
各個 Node 會將自己所擁有的該檔案片段傳遞給自己 Node 上的 TaskTracker 進行運算,而這些工作均會由 JobTracker,也就是 TaskTracker 工作的分配 者進行指派。當運算行為結束後,也就是 Map 工作結束,接著再把運算結 果回傳給 Reducer 進行 Reduce 運算。然而這些 Map 或 Reduce 的工作內容 可由開發者自訂,是一種彈性很高的分散式程式設計。最後 Reduce 執行完 後,其執行結果就會存入 Reducer 中所指定的 Output 資料夾中。
圖 3. MapReduce 原理示意圖
iii. Apache HBase:Apache HBase 是一個分散式、版本化,建構在 Apache Hadoop 與 Apache ZooKeeper 上的列資料庫。HBase 為一個依附於 HDFS 上的一種 無限大之 NoSQL 的結構化資料庫,目標是要在 HDFS 環境中,讓資料有邏 輯、有組織地存入 table、rows 與 columns。其具備分散式儲存(Distributed storage)、似表格的資料結構(Table-like in data structure)、高擴展性(High scalability)、高可用性(High availability)、高性能(High performance)等優點。
(2) WebGL:WebGL 可使支援 HTML5 之瀏覽器均可免安裝插件(plug-in)即可使用 瀏覽器檢視與編輯 3D 物件。WebGL 提供網路 3D 顯示技術,將會成為美國國家 標準局(NIST)對雲端運算制定三個服務模式中,其一的 SaaS(Software as a Service)服務之一大應用。WebGL 不僅使 3D 物件可於瀏覽器上展示,並提供相 關 API 讓使用者可對 3D 物件進行互動,其各式的紋理、光影也能逼真地顯示在 瀏覽器上。WebGL 之程式開發僅需使用 JavaScript 撰寫實作,透過 HTML5 中 的 <canvas>亦可操作文件物件模型介面 (DOM)以顯示內含 WebGL 語意的 JavaScript 程式,即可在瀏覽器上顯示 3D 圖形。
1 系統架構
本研究所提出 BIM 之雲端化系統,其系統架構如圖 4 所示。客戶端的使用者藉 由 HTML5 與 WebGL 技術可檢視 BIM 的 3D 模型與物件,這些資料皆由伺服端的 雲端平台之 HBase 資料庫所提供。使用者亦可將許多專案的 BIM 上傳至本系統,這 些 BIM 的資料經由 MapReduce 運算後,則進一步地儲存至 HBase,以供給客戶端的 使用者檢視與使用。
圖 4. 系統架構圖
本研究所提出之系統架構,其使用者可分為模型上傳者與模型檢視者兩種類 型,其相關運作如下所述:
1. 模型上傳者:使用者透過上網裝置連結至本研究之系統入口伺服器,所上傳 BIM 之 IFC 檔案皆經由 IFC 轉譯器轉譯後上傳至本研究所架設之私有雲。這些 IFC 檔案均在私有雲中經過運算,運算之目的為讓無法直接在網頁上呈現的 IFC 檔案格 式能夠翻譯成客戶端網頁的 WebGL 模組可讀取的 3D 物件格式。另外也將 IFC 檔案 內所包含的一切 BIM 物件之屬性參數取出並存於伺服器中,如此這些參數可用於未 來其他各式工程相關之運算所需。由於 IFC 檔案其大小均不相同,有些資料可大至 好幾百 Megabytes (MB),有些資料卻僅需幾 10 MB,其因 BIM 所包含之內容不同、
物件數量不同、專案規模不同,因此所匯出之 IFC 檔案大小也不同。故本研究應用 MapReduce 之運算方式解決此種具有彈性的 IFC 運算分析需求。當 IFC 檔案被經由 MapReduce 解析運算後,其 Reduce 運算之結果將會立即存入私有雲裡的 Apache HBase 資料庫中。若需二次使用相關之物件參數,僅需從 HBase 中取出相關參數,
即可立即經由 MapReduce 方式進行所需之運算。所儲存於 HBase 中之相關資訊,皆 可直接取出呈現於客戶端瀏覽器之 WebGL 3D 模型顯示框架中。
2. 模型檢視者:其進入本研究系統入口伺服器後,即選擇欲觀看之專案的 BIM,
透過 WebGL 驅動的 3D Interface 伺服器,可向私有雲獲取資料,提供給模型檢視者 所需觀看之 BIM,使用 WebGL 所呈現之 BIM 的 3D 模型,可與使用者產生互動,
其中包含讓使用者使用滑鼠事件進行視角之轉換與視野之調整,利用鍵盤事件進行 視點的方向移動,以及使用滑鼠點擊事件以點選欲知物件模型之相關屬性內容。
本研究之系統架構可讓使用者應用此服務,將所建立之 BIM 分享給欲分享之對 象。如同 YouTube 的使用者將拍攝剪輯後之影片,經過幾個簡單的上傳步驟後,即 可分享給所有的上網之使用者觀看。相同地,本研究的雲端化之網路式 BIM 系統,
同樣欲達到此目的,讓使用者也能夠經由幾個簡單的上傳步驟,將 BIM 上傳至雲端 伺服器,最後能夠將相關的資料存在雲端資料庫 HBase,並讓大量的使用者可檢視 公開分享之 BIM。
2 系統運作機制
為了完成建構一個雲端化的 BIM 系統,本研究所使用之相關技術整合架構如圖 5 所示。其分為三層架構:(1)網路介面層:提供客戶端使用者網路式的 BIM 系統服 務,主要功能為顯示 BIM 專案管理資訊及呈現 BIM 3D 模型;(2)資料存取控制層:
藉由不同的軟體套件與程式,使客戶端的網路介面層可與雲端服務層進行溝通,不 論是傳遞 BIM 物件屬性、BIM 上傳或 BIM 大量資料解析,均在此層完成;(3)雲端 服務層:提供雲端化的巨量資料儲存及雲端的巨量資料分析與運算功能,並讓所有 資訊能在地運算與建立備份,且資料儲存空間可水平擴增及提供多機服務之特性。
依系統功能層面來看,本研究之雲端 BIM 系統主要提供以下功能:BIM 上傳與解析、
Apache Thrift 資料連結、BIM 3D 檢視、BIM 資料儲存之資料庫綱要,其詳細介紹如 下。
圖 5. CloudBIM 技術整合架構 2.1 BIM 上傳與解析
設計者可在商用軟體上進行 BIM 之建構,隨後將該檔案匯出成為 BIM 公用之格 式 IFC 檔案,當本系統接收到使用者上傳之 IFC 檔,會先判斷其檔案型態是否為 IFC 格式,隨後將該 IFC 檔案傳至 IFC 前處理模組進行檔案前處理。此前處理的主要目
的是由於 IFC 檔案為具有層次性編排方式之檔案格式,使得 IFC 檔案具有不可分割 的缺點。IFC 檔案是一種階層式架構的檔案格式,由多項敘述式組成。每個敘述式 彼此相連結而成詳細描述建築物之相關資訊,其一項敘述式格式如:
#編號 = IFC 敘述式(`敘述參數 1', `敘述參數 2',…, `敘述參數 N');
由上述之格式所示,敘述參數內容除了會是一串字串之外,也可能會是另一項 敘述式之編號。當敘述參數內容為另一項敘述式之編號時,代表該敘述參數內的敘 述編號為其子項目,用以表達該物件更詳細的屬性內容。本研究針對 IFC 檔案自行 開發 IFC 轉譯程式以對所上傳之 IFC 檔案進行解析,將之轉換成為 xIFC 格式。並且 針對牆、柱、樑、板等物件讀取 IFC 檔案之內容,從其中合併具有關聯性的 IFC 物 件所連結之內容。主要轉譯的 IFC 項目包含以下四項:IFCWALLSTANDARDCASE、
IFCCOLUMN、IFCBEAM、IFCSLAB,分別代表為 IFC 的牆、柱、樑、板,因這些 項目均為最基本之敘述項目,故其屬性參數多數皆相同,僅關聯方式不同。而 IFCWALLSTANDARDCASE、IFCCOLUMN、IFCBEAM、IFCSLAB,其屬性 1~8 項參數均相同,唯獨 IFCSLAB 多第 9 項預定義類型(PredefinedType)外,其餘均與另 外三項 IFC 敘述式所擁有之屬性參數相同,其屬性參數介紹如下:
1. 全域編號(GlobalId):IFC 物件之獨一編號。
2. 擁有者資訊(OwnerHistory):紀錄開發工具檔相關資訊之編號。
3. 物件名稱(Name):該物件之名稱。
4. 物件描述(Description):物件之相關描述規格。
5. 物件型態(ObjectType):物件之詳細內容以字串呈現。
6. 位置資訊(ObjectPlacement):物件位置關聯資訊之編號。
7. 物件呈現(Representation):物件大小關聯資訊之編號。
8. 標籤編號(Tag):IFC 識別編號。
9. 預定義類型(PredefinedType):僅 IFCSLAB 擁有此一參數,其標示字串
「.FLOOR.」。
以 IFCWALLSTANDARDCASE 為例,IFCWALLSTANDARDCASE 是 IFC 用以 表示牆面的一種敘述式。可由全域編號、物件名稱、物件描述、物件型態、標籤編 號直接擷取資料,而位置資訊、物件呈現、擁有者資訊則會標明其關聯資訊之編號,
依其編號可擷取如物件長寬高與絕對位置方向等資料。
圖 6. IFCWALLSTANDARDCASE 之階層資料
由 圖 6 所 示 , 若 欲 取 得 牆 面 之 相 關 資 訊 , 可 藉 由 讀 取 敘 述 式 IFCWALLSTANDARDCASE , 經 由 其 第 一 階 層 的 GlobalId 取 得 物 件 之 ID 、 OwnerHistory 取得建立物件之資訊、Description 取得物件之詳細規格。若欲取得該 牆面的絕對位置、旋轉方向,需依照第六個參數 ObjectPlacement 即為其位置資訊,
由此參數階層式對應其關連之 IFC 敘述式。最先由參數 ObjectPlacement 連至 IFCLOCALPLACEMENT , 再 由 其 RelativePlacement 參 數 連 至 IFCAXIS2PLACEMENT3D。而 IFCAXIS2PLACEMENT3D 中的 Location 參數連接 至 IFCCARTESIANPOINT 即 可 得 到 物 件 絕 對 位 置 ; 而 RelDirection 連 結 至 IFCDIRECTION 可 得 到 物 件 方 向 。 物 件 的 長 度 、 寬 度 、 高 度 , 即 可 從 IFCWALLSTANDARDCASE 的 第 七 個 參 數 Representation 取 得 , 連 結 至 IFCPRODUCTDEFINITIONSHAPE 其 中 有 RelativePlacement 可 連 接 至 IFCSHAPEREPRESNETATION , 其 中 的 items 參 數 可 連 結 至 IFCEXTRUDEDAREASOLID 項目,該項目即可由 Depth 參數取得物件之高度,再 經由該項目之 SweptArea 參數連至 IFCRECTANGLEPROFILEDEF 項目,即可由 XDim 與 YDim 參數取得物件長度與物件寬度。其他之柱、樑、板物件也是依其模 式取得所需相關的物件資訊。
IFC 檔案格式是由許多參數編號與敘述式所組成。如圖 7 所示。在 IFC 檔案中,
先以 ISO-10303-21 表明其文件之格式,並且分為 HEADER 段與 DATA 段。HEADER 段則包含 FILE_DESCRIPTION 僅用以描述檔案、FILE_NAME 則會紀錄作者與時間 戳等資訊、FILE_SCHEMA 則說明此檔案所使用之 IFC 版本編號。DATA 段則由 「#」
加上編號與敘述式之內容,其均為 BIM 詳細資訊以使用 IFC 表示之內容。每條 IFC 敘述式通常擁有資訊相依的特性,其一條 IFC 敘述式所包含之各個參數內容,除了 使用字串描述其內容之外,亦會使用其他 IFC 敘述式之編號作為其關聯之資料。
圖 7. IFC 檔案格式由參數編號與敘述式組成示意圖
由於解析 IFC 所花費之時間與該 IFC 檔案之大小成正比,故本研究將 IFC 檔案 先進行前處理,隨後將之上傳至 HDFS,將檔案分散於各個節點進行 MapReduce 運 算以縮短解析時間。但因 IFC 檔案之敘述式均相互關聯,造成 IFC 具有不可分割之 特性。然而 HDFS 能夠使用多個節點進行 MapReduce 運算,是因 HDFS 將檔案分割 分散儲存至各個節點之中,若 IFC 檔案上傳至 HDFS,將其檔案分割會造成 IFC 敘 述式互相之關聯被截斷,進而影響之後所進行 MapReduce 解析導致產生資訊不足的 解析結果。故 IFC 前處理模組需將所有 IFC 之敘述式所內含之參數編號均替換成其 參數所代表的詳細敘述式之內容,其生成的結果為本研究所訂定之 xIFC 檔案格式。
圖 8. IFC 敘述式轉譯成 xIFC 敘述式之變化
如圖 8 所示,即為 IFCWALLSTANDARDCASE 由 IFC 格式轉譯成為 xIFC 檔案 之格式。IFC 檔案之 IFCWALLSTANDARDCASE 其參數第 2、6、7 個,原始之內容 均為一個 IFC 敘述式的關聯編號,然而將之轉為 xIFC 後,其關聯編號已被其原本關 聯之敘述所取代,故在 xIFC 檔案中的一筆資料,即包含一個物件所擁有之所有資 訊,如此便能解決原本 IFC 檔案每個敘述式相依而不能將檔案分割之問題。因此本 模組將 IFC 檔案轉為讓 IFC 檔案可被切割後仍保持單筆物件資料之完整性的格式,
讓被切割的各檔案免去二次參照其他檔案之困擾,以便各個節點取得其所擁有之片 段內容進行 BIM 物件之解析。本研究應用 MapReduce 之運算方式解決 IFC 運算分 析需求。MapReduce 為 Google Inc.所提出之分散式運算原理,係將檔案切割、分散 上傳至分散式檔案系統,並指定擁有此檔案之多台伺服器節點先行運算,此稱為 Map 運算,最後將各節點之運算結果集中回收至特定節點進行後續運算,此稱為 Reduce 運算。其中 Map 運算與 Reduce 運算,均可依照開發者之需求有彈性地進行各式的 演算。
當 IFC 檔案被解析成為可由 MapReduce 進行解析的 xIFC 格式後,使用 MapReduce 技術,將運算資源分散由各個節點進行解析。如圖 9 與圖 10 所示,當各 個 TaskTracker 運作 Mapper 程式時,會將其自己主機內所切割分散儲存的 xIFC 檔案 取出進行解析。其解析內容就是將 IFCWALLSTANDARDCASE、IFCCOLUMN、
IFCBEAM、IFCSLAB 等內容轉譯成為客戶端 BIM 3D 檢視模組可讀取之格式,最後 再將結果回傳至 Reducer 中。由 Reducer 將所接收的解析結果進行排序、刪除相同資 料,並且將每一筆資料進行編號,最後存入 HBase 雲端資料庫。當資料存於 HBase 中,透過結構化的索引即可快速找到所需之資料。若需二次使用相關之物件參數,
僅需從 HBase 中取出相關參數,即可立即經由 MapReduce 方式進行所需之運算。而 儲存於 HBase 的相關資訊,皆可直接取出以呈現於使用者端瀏覽器之 WebGL 3D 模 型顯示框架中。
圖 9. xIFC 進行 MapReduce 後將結果存入 HBase
圖 10. Mapper 與 Reducer 之演算法與運作圖示 2.2 Apache Thrift 資料連結
本研究使用 Apache Thrift 做為伺服端 HBase 資料庫與客戶端 PHP 的連結工具。
Thrift 為一套件依附於 HBase、PHP 與 Apache HTTP Server 所建立的一個溝通套件,
使 PHP 可藉由 Thrift 存取 HBase 中之一切內容。而本研究之系統僅三部分程式需用 到此套件,一為 reducer.php,其將解析後之物件檔案藉由 PHP 寫入 HBase 之資料表 中;二為 display.php,當 WebGL 啟動時,所有物件模型均需從 HBase 中藉由 PHP 讀取出來;三為 ajaxlink.php,當使用者在點選物件時,該檔案將會進入 property table 讀取被選取物件之一切屬性內容。
2.3 BIM 3D 檢視
本研究之系統客戶端使用 WebGL 技術呈現 BIM 物件之 3D 模型,BIM 物件以 3D 呈現之最大的價值就是可與 3D 物件產生互動,WebGL 提供許多 API 以幫助開發 者將所建立之 3D 物件可與使用者互動。WebGL 在初次啟動時,需把所有模型資料 一次匯入,而本研究將 BIM 全部存入 HBase,故本研究使用 PHP 網頁程式語言與 Thrift 將物件的 3D 模型從 HBase 一次匯入 WebGL 中,並使用 JavaScript 來獲取鍵 盤與滑鼠事件,讓使用者點選 3D 物件後,屬性框架內容將會連結 AJAX 將資訊回 傳至客戶端 WebGL 中,使其達到 BIM 3D 物件被點選後,即時呼叫 HBase 內容裡之 物件屬性,使本系統之 BIM 3D 檢視畫面得以與使用者產生互動。而 WebGL 技術是 透過 HTML5 當中的<canvas>元素,此一介面元素可以讓 3D 物件藉由此介面直接呈 現在瀏覽器上,並且不需安裝任何的瀏覽器插件,模型檢視者便能藉由任何具備且 支援 WebGL 之瀏覽器的裝置於線上檢視專案之 BIM。
圖 11. WebGL 實作之組成
如圖 11 所示,本研究使用 GLGE 套件,其 WebGL 實作需組成三部分之程式:
1. 於 HTML5 中定義<canvas>元素與物件屬性之欄位。
2. xml 顯示 3D 物件與場景配置。
3. JavaScript 繪製更新<canvas>元素內之畫面,並且控制鍵盤與滑鼠事件。
此三部分之結合即可顯示 BIM 3D 模型與屬性框架。第一項之<canvas>元素可設 定其長、寬,使其依據設定顯示於瀏覽器視窗上;物件屬性之欄位則為一個<div>元 素,其內容會隨著 AJAX 所傳送之資料而改變內容。第二項為 GLGE 設定用以顯示 場景的內容敘述,其中包含了基礎物件型態、物件材質、初始化視角設定。第三項 則使用 JavaScript 來獲取鍵盤與滑鼠事件,幫助使用者可以前進、後退視角,對物件 作平移,或點選物件內容。
2.4 BIM 資料儲存之資料庫綱要
本研究使用 Apache HBase 作為 BIM 3D 物件與屬性資料儲存之資料庫,如圖 12 所示,依照 Apache HBase 資料庫特性,將資料以連續性的方式排列,可提高 HBase 讀取資料之效能,其關聯性越高的資料距離會越近,當讀取其中一筆資料時,其他 資料也將會同時被一次讀取至記憶體中。行鍵(Row Key)則以專案編號作為資料切割 之索引,這樣就可將不同的專案分離在不同的行鍵下,使同樣一個專案可以集中在 同一個行鍵之中。
圖 12. 本研究針對 HBase 之資料綱要設計方法
本研究依照上述的設計方法,建立兩個主要資料表,一為存取建物之 3D 模型稱 為 object table,另一為存取物件之屬性稱為 property table。其所存取之資料內容如 圖 13 所示,object table 其每一行資料即為一個物件,其所包含之內容有物件 ID、物 件位置、物件旋轉角度、物件放大倍率、物件原型、物件材質;property table 其每 一行則是一個物件的屬性內容,以一行字串詳細說明該物件所有屬性內容。而 object table 與 property table 之設計概念相同,但分為兩個資料表,是分別對不同模組進行 服務,讀取 Object Table 主要是在 WebGL 頁面開啟時,系統需初始化<canvas>元素 內之所有物件,因此將這些 3D 物件模型單獨存在一資料表中;讀取 Property Table 只有在 WebGL 頁面完成初始化後,使用者點選相關 BIM 3D 物件,由 Ajax 於背景 連結至本資料表中取得相關之物件屬性。本資料表並使用循序式的綱要設計,其索 取之資料均為一個單獨欄位之內容,並一次讀取欄位範圍內的資料,可提升資料讀 取之效率。
圖 13. Object Table 與 Property Table 之 Schema 設計
3 系統測試
本研究針對所開發 prototype system 所進行之測試,是使用 8 台 Intel Core i5 主 機內含 16 gigabyte(GB)記憶體及 500 GB 硬碟,搭配安裝 Linux Ubuntu 12.04 作為作 業系統。其中兩台作為入口伺服器,以分散登入之使用者,並均含有 BIM 上傳模組 與 WebGL 3D 檢視模組。所有主機結合成為一個小型的私有雲,以其中一台作為 Hadoop Namenode 與 JobTracker,另一台做為 HBase HMaster,其餘主機均為雲端儲 存與運算用的 DataNode 與 TaskTracker。
本研究所建立之系統,可提供多人同時線上檢視使用,多個專案或同一個專案 也可同時讀取執行。本研究之 3D 顯示模組為 WebGL 技術,其繪製資料之效能主要 取決於使用者所使用之設備的顯示能力,這些從伺服端所讀取的資料均已由本系統 所解析之 BIM 物件資料。因此當使用者啟動 WebGL 顯示介面後,本系統會一次將 所有物件從 BIM 中讀取出來,其他屬性資料則是依使用者之需求以分次方式讀取。
除 多 人 同 時 檢 視 , 系 統 亦 可 支 援 多 人 同 時 上 傳 , 其 記 憶 體 上 限 設 定 為 400 megabyte(MB)。目前最高使用量存於本研究之私有雲資料庫可達到 20000 多個專案 BIM,平均每個 BIM 含有 1045 多個物件模型與模型屬性內容,本研究之系統仍可 順利運作。使用者亦能使用各式不同的設備檢視專案 BIM 之物件模型,達到雲端化 使能夠藉由各種設備進入使用之服務。根據不同類型的客戶端之上網裝置載入一個 包含 1045 個元件之 BIM 所需時間,一般桌上型電腦透過有線區域網路需花費 3.3 秒;一般筆記型電腦與平板電腦透過無線網路分別需花費 5.6 秒與 9.5 秒。然而 CloudBIM 系統至少能負載 20 位以上的使用者同時間存取伺服端之服務。其 CloudBIM 系統的配置與性能整理如表 1 所示。
表 1. CloudBIM 系統的配置與性能
項目 配置與性能
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 1 Hadoop Namenode and JobTracker
1 HBASE HMaster The number of Hadoop Datanode
and TaskTracker 8
The upper limit setting of memory 2000 MB
表 1. CloudBIM 系統的配置與性能
項目 配置與性能
BIM uploading in parallel processing using MapReduce
16463.609 components/second when uploading a BIM with 577280 components (1GB in 35.064 seconds)
22416.344 components/second when uploading a BIM with 975080 components (1.6GB in 40.822 seconds)
The maximum number of BIMs in the private cloud database
Up to 20000 BIMs (Each BIM is 181.13 MB and contains 1045 components and corresponding attributes)
Concurrent access A pressure test reveals that up to 2000 users can login and access properties of BIMs concurrently
Response times when accessing from different type of client devices
Time to load a BIM with 1045
components
(181.13MB) via LAN
PC: 3.3 seconds
Notebook: 5.6 seconds
Tablet: 9.5 seconds
4 結論
本研究所提出雲端化之網路式 BIM 系統,其使 BIM 之儲存與檢視成為一軟體即 服務之雲端服務,本系統之服務模式與系統架構可提供線上即時化之服務,讓 BIM 設計開發者可將設計中的 BIM 或已設計完成的 BIM 上傳至伺服器,線上分享給參 與專案的其他人員,成為輔助協同作業之 BIM 檢視平台。本研究針對 BIM 之 IFC 資料處理與儲存,以及透過網頁瀏覽器之呈現與互動,首先利用 WebGL 技術實作出 於瀏覽器上呈現 3D 模型之方法,並設計適合網路式 BIM 系統之雲端資料庫的資料 綱要,另使用 MapReduce 技術開發可分析牆、柱、樑、板之 IFC Parser,將其 BIM 資料分析與存入系統之雲端資料庫,最後將雲端資料庫與 WebGL 介面整合。經開發 prototype system 並測試後,證實有達到以各式上網設備檢視 3D 模型,以雲端資料 庫儲存大量的 BIM,以及系統可讓多人同時存取不同的 BIM 等目標。
5 參考文獻
Armbrust, M., Fox, A., Griffith, R., Joseph, Anthony D., Katz, Randy H., Konwinski, A., Lee, G., Patterson, David A., Rabkin, A., Stoica, I. and Zaharia, M. (2009), “Above the Clouds:
A Berkeley View of Cloud Computing”, Technical Report No. UCB/EECS-2009-28, UC Berkeley.
Boss, G., Malladi, P., Quan, D., Legregni, L. and Hall, H. (2007), “Cloud Computing”, Copyright IBM Corporation 2007.
Calyam, P., Patali, R., Berryman, A., Lai, A.M. and Ramnath, R. (2011), “Utility-directed resource allocation in virtual desktop clouds”, Computer Networks, vol.55, no.18, p.4112–4130.
Dikaiakos, M.D., Katsaros, D., Mehra, P., Pallis, G. and Vakali, A. (2009), “Cloud computing:
Distributed internet computing for IT and scientific research”, IEEE Internet Computing, vol.3, no.5, p.10–11.
Foster, I., Zhao, Y., Raicu, I. and Lu, S. (2008), “Cloud Computing and Grid Computing 360-degree compared”, Grid Computing Environments Workshop, GCE 2008, art., no.4738445.
Hijazi, W., Alkass, S. and Zayed, T. (2009), “Constructability assessment using BIM/4D CAD simulation model”, AACE International Transactions, 2009, 53rd AACE International Annual Meeting 2009, Washington, USA.
Jongeling, R. and Olofsson, T. (2007), “A method for planning of work-flow by combined use of location-based scheduling and 4D CAD”, Automation in Construction, vol.16, no.2, March, 2007, p.189–198.
Kim, H. and Grobler, F. (2009), “Design coordination in building information modeling (BIM) using ontological consistency checking”, Proceedings of the 2009 ASCE International Workshop on Computing in Civil Engineering, vol.346, p.410–420.
Kim, Seong-Ah, Chin, Sang-Yoon, Yoon, Su-Won, Shin, Tae-Hong, Kim, Yea-Sang and Choi, Cheolho (2009), “Automated Building Information Modeling System for Building Interior to Improve Productivity of BIM-base Quantity Take-Off”, Proceedings of the 26th Annual International Symposium on Automation and Robotics in Construction (ISARC 2009) , Austin, Texas, USA.
Kubicki, S., Guerriero, A. and Johannsen, L. (2009), “A service-based innovation process for improving cooperative practices in AEC”, ITcon vol.14, Special Issue Building Information Modeling Applications, Challenges and Future Directions, p.654–673.
Kuprenas, J.A. and Mock, C.S. (2009), “Collaborative BIM modeling case study - Process and results”, Proceedings of the 2009 ASCE International Workshop on Computing in Civil Engineering, vol.346, p.431–441.
Lee McCuen, T. (2008), “Scheduling, estimating, and BIM: A profitable combination”, AACE International Transactions, 52nd Annual Meeting of AACE International and the 6th World Congress of ICEC on Cost Engineering, Project Management, and Quantity, Toronto, Canada.
Lei, Xu (2008), “Development of the Digital Environmental Assessment Tool with Building Information Model”, Proceedings of 12th International Conference on Computing in Civil and Building Engineering & 2008 International Conference on Information Technology in Construction, October, p.330.
Ma, Z., Shen, Q. and Zhang, J. (2005), “Application of 4D for dynamic site layout and management of construction projects”, Automation in Construction, vol.14, no.3, June, 2005, International Conference for Construction Information Technology, p.369–381.
Mell, P. and Grance, T. (2011), “The NIST Definition of Cloud Computing (NIST Special Publication 800-145). Gaithersburg, MD: National Institute of Standards and Technology.
Miller, A. (2007), “BIM for all in construction”, Structural Engineer, vol.85, no.13, p.34–36.
Nour, M. (2009), “Performance of different (BIM/IFC) exchange formats within private collaborative workspace for collaborative work”, ITcon vol.14, Special Issue Building
Information Modeling Applications, Challenges and Future Directions, p.736–752.
Schlueter, A. and Thesseling, F. (2009), “Building information model based energy/exergy performance assessment in early design stages”, Automation in Construction, vol.18, no.2, p.153–163.
Spillane, R.P., Shetty, P.J., Zadok, E., Dixit, S., Archak, S. (2011), “An efficient multi-tier Tablet Server Storage architecture”, 2nd ACM Symposium on Cloud Computing, SOCC 2011.
Srirama, S.N., Jakovits, P. and Vainikko, E. (2011), “Adapting scientific computing problems to clouds using MapReduce”, Future Generation Computer Systems, vol.28, p.184–192.
Succar, B. (2009), “Building information modeling framework: A research and delivery foundation for industry stakeholders”, Automation in Construction, vol.18, no.3, p.357–375.
Tsao, C.-P., Chen, Y.-H., Hsieh, W.-S. and Hsiao, S.-C. (2009), “The Research of Construct Knowledge Map using Concept of Cloud Computing”, International Journal of Information and Technology, vol.4, no.2.
Xu, K., Song, M., Zhang, X. and Song, J. (2009), “A cloud computing platform based on P2P”, ITME2009 - Proceedings 2009 IEEE International Symposium on IT in Medicine and Education, art., no. 5236386, p.427–432.
Zhang, S., Zhang, S., Chen, X. and Huo, X. (2010), “Cloud computing research and development trend”, 2nd International Conference on Future Networks, ICFN 2010, art., no.5431874, p.93–97.
Zhili, G., Ganapathy, M. and Nguyen, T.-H. (2008), “Applications of Building Information Modeling (BIM) in the Design and Construction Process”, Proceedings of 12th International Conference on Computing in Civil and Building Engineering & 2008 International Conference on Information Technology in Construction (ICCCBE-XII &
INCITE 2008), Beijing, China.
表 Y04
行政院國家科學委員會補助國內專家學者出席國際學術會議報告
2013 年 9 月 1 日 報告人姓名
陳鴻銘 服務機構
及職稱
台灣科技大學 營建工程系 教授
時間 會議 地點
2013/8/11 ~ 2013/8/15 Montreal, Canada
本會核定
補助文號 NSC101-2221-E-011-068- 會議
名稱
30th International Symposium on Automation and Robotics in Construction (ISARC 2013)
發表 論文 題目
A Cloud-based Framework for Online Management of Massive BIMs using Hadoop and WebGL
報告內容應包括下列各項:
一、參加會議經過
所 參 加 的 國 際 會 議 為 International Symposium on Automation and Robotics in Construction,其是 IAARC(The International Association for Automation and Robotics in Construction)組織針對「營建自動化」領域每年定期舉辨的國際研討會,其主要目的是 希望透過會議讓世界各地學者專家能有機會彼此交流分享與營建自動化相關最新的技 術與研究成果,以幫助整個領域的成長進步。此次會議為第三十屆,於 2013 年 8 月 11 至 8 月 15 日在加拿大的蒙特婁舉行,涵蓋的研究領域包括有五大主軸,分別是 IT 技術 於營建工程上之應用(IT Applications in Construction)、機器人與機具自動化(Robotics and Hardware Automation)、遙測與整合式智慧系統之技術(Remote Sensing and Integrated Smart Systems Technologies)、採礦之自動化與機器人技術(Robotics and Automation in Mining)、跨領域之協同與整合(Multi-Disciplinary),其中 IT 技術於營建工程上之應用中 所涵蓋的建築資訊模型(BIM)相關論文、以及跨領域之協同與整合所涵蓋的協同設計及 電腦輔助設計相關論文,與本人所執行國科會專題研究計畫之研究方向相符,在 3 天正 式會議中,每天分為上下午兩個時段,共 7 個場地同時進行發表場次,所發表論文共計 約有 200 多篇,且於 6 場 Keynote lectures 中亦邀請了國際級大師學者與會演講,共計有 來自 50 個國家的約 300 人與會。
我個人於 8 月 12 日下午於名為 Information Technology and BIM 之 SESSION 中發表 名為”A Cloud-based Framework for Online Management of Massive BIMs using Hadoop and WebGL”之論文,過程均非常順利,演說完畢後也獲得與會者的興趣與問題討論回應,
除此之外,三天與會的過程中也與來自美國、歐洲、日本、韓國、印度、以及國內其他 與會學者有充分的討論與交流。本會議所涵蓋的討論主題非常廣泛,個人最感興趣且的 是有關建築資訊模型、電腦視覺化與電腦輔助設計技術、機器人技術應用、以及網路協 同設計等在營建工程領域的研究發表,參與相關的 SESSIONS 有 BIM in Construction Projects、Information Technology and BIM、BIM and Management Decisions、Robotics Application、Information Technology and Visualization、BIM Integrated Automation、
Visualization Automation、Construction Robotics and Automation、Facility Management Applications 等,這些相關主題分布於在兩天會期內。
附件三
表 Y04
二、與會心得
本次參與會議,一切皆順利,尤其與主辦人與來自世界各地的專家學者交流,深覺 獲益良多,特別是對於全世界於營建自動化領域相關研究之現況有了廣泛的認識,能有 這個機會非常難得。在此也要感謝國科會的補助,使個人能順利參加此項國際會議,並 發表論文。
三、考察參觀活動(無是項活動者省略) 無
四、建議
由於參與國際會議能促進交流,希望能廣泛獲得大型國際研討會的資訊,如此個人 可以研究主題篩選適合的研討會參加。建議研究人員應輪流參加美國、歐洲、與亞洲的 研討會,以了解與掌握各地區的研究現況,促進與當地研究人員之交流。
五、攜回資料名稱及內容
A. 研討會論文集(in CD-ROM) B. 議程
C. 國際會議與期刊相關資訊 六、其他
研討會英文簡介:
The symposium is a prestigious gathering of researchers, academics and industry practitioners in all specialty areas related to the construction industry, including civil and building engineering design and project execution, advanced construction machinery and robotics applications in construction, information technologies for planning, design, logistics, computer-aided project management, environmental protection issues, building systems monitoring and control, safety and recovery operations, and temporary/rapid construction technologies.
七、檢附發表論文
A CLOUD-BASED FRAMEWORK FOR ONLINE MANAGEMENT OF MASSIVE BIMS USING HADOOP AND WEBGL
*Hung-Ming Chen, Chuan-Chien Hou, and Tsung-Hsi Lin Department of Construction Engineering
National Taiwan University of Science and Technology Taipei, Taiwan
(*Corresponding author: [email protected])
A CLOUD-BASED FRAMEWORK FOR ONLINE MANAGEMENT OF MASSIVE BIMS USING HADOOP AND WEBGL
ABSTRACT
This paper presents a Cloud-based system framework for providing a web-based building information model (BIM) service. Cloud computing technologies were used to develop a BIM data center, which can handle the big data of massive BIMs using multiple servers in a distributed manner. In addition, the system allows multiple users to access the BIM data center online to submit and review BIMs concurrently. In this study, the advanced technologies/tools of web development and Cloud computing were applied and incorporated to develop a prototype system, named CloudBIM. On the client side, this study applied WebGL and HTML5 in the web-based interface development to achieve the 3D display of BIMs and the dynamic interaction with viewers through browsers. Users can access the services of CloudBIM by using PCs, laptops and tablets anytime anywhere to view the 3D model via browsers, which support WebGL. On the server side, this study used Apache Hadoop, an open-sourced distributed file system based on Google’s technologies, to establish a BIM data center. The Hadoop Distributed File System (HDFS) can utilize multiple servers to provide mass storage spaces in a distributed manner. Based on the use of Apache HBase, which provides Bigtable-like structured storage for HDFS, this study proposes database schema for storing the information from massive BIMs in two bigtables, named Object table and Property table respectively. In addition, Hadoop MapReduce, a Hadoop component for the parallel processing of large data sets, is utilized for model data acquisition by parsing the IFC files of uploaded models in parallel.
KEYWORDS
Building Information Model, Cloud Computing, WebGL, Hadoop, IFC INTRODUCTION
Most current commercial BIM software is a stand-alone system, where the majority of the computation is executed on a single computer. As the requirements of storage space and computing resources continues to rise, it becomes harder for a stand-alone personal PC to handle the operation, thus, the efficiency of management, sharing and synchronization of BIMs is affected. In addition, there are many vendors of BIM software, however, not only can BIMs constructed using software developed by different vendors not be shared conveniently, but even BIM software developed by the same vendor can experience a loss of information when using different versions. As a result, as the number of BIMs increases, the task of managing many different versions of BIMs becomes more difficult. Although some BIM software vendors have developed Viewers for viewing different versions of BIMs, managing BIMs in many projects in an integrated manner remains a challenge. In view of the fact that a stand-alone system is overburdened by running the BIM software, the difficulty in managing the BIMs of multiple projects and an unfriendly information-sharing environment for multiple users who are cooperating in the same project, a BIM system developed using new technologies is presented in this study. Cloud computing technology offers a solution to the limitations of system resources. This technology is employed in this study to develop a web-based BIM service. The proposed web-based BIM service does not rely on high performance hardware facilities, and can be utilized by multiple users concurrently.
In recent years, Cloud computing technology has gradually advanced, and has been applied in various fields (Calyam et al., 2011; Spillane et al., 2011; Srirama et al., 2012). The definition of the system framework of cloud computing, according to the National Institute of Standards and Technology (NIST), contains five essential characteristics, four deployment models, and three service models (Mell & Grance, 2011).
The five essential characteristics are:
1. On-demand self-service: A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.
2. Broad network access: Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms.
3. Resource pooling: The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model.
4. Rapid elasticity: Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand.
5. Measured service: Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service.
The four deployment models are:
1. Public cloud: The cloud infrastructure is provisioned for open use by the general public.
2. Private cloud: The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers.
3. Community cloud: The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns.
4. Hybrid cloud: The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public).
The three service models are:
1. Software as a Service (SaaS): The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure.
2. Platform as a Service (PaaS): The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider.
3. Infrastructure as a Service (IaaS): The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications.
When stand-alone software or a system is combined with Cloud technology, a network that provides a shared service for multiple users is formed. The service provider of this network has the capacity to store big data and conduct big data analysis. Therefore, such a combination enables online sharing of BIMs, and the increased storage space for big data and computing capacity for big data analysis facilitates storage and management of massive BIMs. BIM services in cloud computing models must comply with the five essential characteristics; one of the four deployment models and one of the three service models must be selected in order to build the web-based BIM system using cloud computing technology. The system developed in this study to provide a web-based BIM service features the five essential characteristics, a private cloud model, and SaaS.
The proposed Cloud-based system for providing a web-based BIM service is named CloudBIM.
Among the service models defined in cloud computing, it employs SaaS. At the design planning stage, engineering consultants or architects and associates complete the BIM using a stand-alone commercial BIM software. They can then upload the BIM to CloudBIM and publish it for online sharing. The building
information in the BIM that has been uploaded to CloudBIM is analyzed. Those data that contain 3D components of the BIM and their attribute data will be distributedly stored in the big data table. In such a system, subcontractors to engineering consultants or architects and associates, construction firms and development companies can easily view information of the BIM via browsers using PCs, laptops, or tablets connected to the internet. This system can also be applied to public construction bidding. The BIM designed by the bidder can be submitted to CloudBIM and reviewed by the authorities.
The proposed CloudBIM can provide real-time web-based services to multiple users concurrently, enable storage of big data, and perform analysis and computing. It solves the problems faced in the use of a stand-alone BIM system, where users cannot use the system simultaneously and substantial computing resources are required. There are two major requirements for realizing such a web-based multi-user BIM service. First, with regard to the model presentation, the system should display all online models in a 3D visualized way and allow user to access the properties of model components using any online devices.
Second, with regard to the system performance, the massive BIMs accumulated in the “BIM library” on the server side should have the ability to be accessed concurrently for reviewing by multiple users. In this study, the following technologies are integrated to develop the CloudBIM system that fulfills these two requirements. (1)Apache Hadoop: a distributed file system with Cloud framework. The Hadoop Distributed File System (HDFS) can provide storage and backup of big data. Hadoop MapReduce can perform big data analysis. Such a distributed system features high availability and file load balancing. (2)Apache HBase: a structured database in NoSQL, that is attached to HDFS. (3)WebGL: a 3D display technology under HTML5 framework to achieve dynamic interaction with internet users via browsers without any plug-in.
Existing BIM servers include Autodesk Revit BIM Server, Graphisoft ArchiCAD BIM Server and Bentley ProjectWise Integration Server. These BIM servers run on a single computer to provide BIM file storage service. To view a BIM on these servers, the BIM file must be downloaded in whole to the client side and then opened using specific stand-alone BIM software. Unlike these existing BIM servers, the proposed CloudBIM retrieves the information from massive BIMs and distributedly stores them in a structured NoSQL database using multiple servers. In addition, an online BIM can be viewed on the client side via standard browser, and only the requested information are transmitted while viewing.
SYSTEM FRAMEWORK
The framework of the proposed CloudBIM system is shown in Figure 1. Users on the client side can view the 3D model of a BIM via browsers using HTML5 and WebGL technologies. The information is provided by Cloud platform and HBase database on the server side. Users can also upload BIMs in IFC files onto the system, and once processed by MapReduce, they will be stored in HBase for other users on the client side to view and use.
Figure 1 – System framework of the CloudBIM
In the proposed system framework, users can be divided into two types: model uploaders and model viewers. The two types of user are described in detail below:
1. Model uploaders: users connect to the system login server using internet access devices. IFC files of uploaded BIMs are parsed and transferred to the private cloud. These IFC files are processed in the private cloud so that uploaded BIMs in IFC file formats are converted to 3D component formats that can be read by a WebGL module on the client side. In addition, attributes all BIM components in the IFC files are extracted and stored in the private cloud.
2. Model viewers: after login into the server, these users select the BIM that they want to view.
Component data of the BIM is obtained from the private cloud and presented to the model viewers, through the 3D Interface server driven by WebGL. Viewers can interact with the displayed 3D model, using the mouse to adjust the view and change viewing angles, using the keyboard to move the viewpoint, and clicking the mouse to select components and see their attributes.
The proposed system framework allows users to share the BIM with others. Similar to YouTube, where users upload edited videos through simple steps and share them with other internet users; in the web-based CloudBIM system, users upload a BIM onto the cloud server following simple procedures, and the information is stored in cloud database, HBase, where it can be viewed by many other users.
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