台大資工iSpace團隊由台大資工系學生吳兆麟、陸敬互、廖峻鋒與李世偉組成。隊名「iSpace」源自於團隊成員所屬的「智慧型空間(Intelligent Space )」實驗室,我們的願景是希望能從人性的角度出發,改變傳統上科技所帶給人們的冰冷感覺,轉而讓科技為人類提供溫和關懷的居家服務,這也是我們在這次比賽中建構「智慧型家庭服務整合平台」的主要動機。
在這個行動通訊與網際網路普及的時代,資訊科技正在快速改變人類的生活,而智慧型家庭正是未來一塊充滿潛力的市場。根據IDC 研究報告顯示,全球資訊家電產值,將從2002 年的340 億美元,成長到2007 年將達920億美元,年複合成長率為23%。網路家電產品的銷售量,也將從2002 年的13,000 件,快速成長為2007 年的37 萬件,在5 年內暴增30 倍。在行政院2005 年產業科技策略會議中,內政部建研所長丁育群預估,到公元2015 年,全球智慧居住空間所衍生之相關產業將達1000 億美元之產值,是臺灣繼資訊產品後,另一重要的新興市場。
在眾多的資訊家電、感測器與外部服務大量成長的同時,必須有一個智慧型家庭整合服務平台,在眾多異質的服務中扮演協調的角色。我們認為提供智慧型家庭整合服務的重點有三項,第一點是從家庭外部的企業環境中取得適當的服務,第二點是將這些服務部署在家庭環境中,最後一點則是因應環境中的狀態,以適當的方式(含:時間、地點、及介面)將服務提供給家庭內的使用者。因此,在家庭外部的企業環境中,必須讓各式各樣的服務依據使用者的需求動態地進行整合;為了將服務自動部署於家庭中,則需要一個開放的家庭服務平台;而在家庭內部,則是在智慧型環境的基礎建設之上,使擷取到的環境資訊可以充分流通,讓各項智慧服務彈性地結合,給予使用者最適切的服務。
為了實現以上的願景,在家庭外部的企業環境中,必須以SOA(Service-Oriented Architecture)的方式架構服務提供者間的服務體系,並藉由企業服務匯流排(Enterprise Service Bus, ESB)讓各項服務可以很順暢地被發佈、發現及使用,針對使用者的需求進行彈性的服務整合;其次是建構一個開放式的家庭服務平台,讓這些整合後的服務可以經由家庭伺服器提供給家庭內的使用者;最後則是藉由家庭內部的家庭服務匯流排(Home Service Bus, HSB),讓各項服務可以利用這些資訊而因應使用者與環境變化 進行整合。綜合以上所述,我們將本隊參賽作品定位為「智慧型家庭整合服務平台」,透過SOA 相關技術來整合上述考量,讓居家使用者能夠輕易地得到所需的資訊與服務。
我們為智慧型家庭設計了一個家庭服務匯流排(HSB),提供一個整合普及裝置(Ubiquitous Devices)、智慧型代理人(Intelligent Agent)與智慧型家電(Smart Appliances)的平台。在智慧型家庭中充滿了各式感測器,這些感測器會感測使用者及環境目前的狀態,再將這些資訊以訊息驅動(Event-Driven)的方式發佈至HSB;推論服務會從HSB訂閱這些最新的資訊,並結合預先設定好的規則(Policy),針對使用者的情境(Context)資訊動態地進行推論,找出目前最適合使用者的服務以及服務提供方式,然後再次以訊息驅動的方式開啟家電服務或向外提出服務的要求。為了更詳細描述SOA在這二個場景的適用性,我們分別在2.1與2.2中簡介在企業端及家庭端的SOA核心概念;而由於專案場景以媒體服務為主,因此在2.3中簡述了服務導向的多媒體架構(UPnP AV)中的核心技術;2.4中則敘述對安全性相關議題的處理方式。
目前企業在整合服務提供者與服務使用者時,大多基於Direct-Connection的樣式[RedBook-SG246303]實作。在智慧型家庭的情境中,當家用閘道器向Home Service Operator要求服務時,會牽涉到數個商業流程的整合,因此當軟體所部署的服務愈來愈多時,上述樣式將使得系統管理與功能擴充時變得困難。針對這個問題,可以使用在[RedBook-SG246346]中提出的ESB概念來解決此問題。ESB的主要概念在於集中式的管理與分散式的訊息處理(Centralized Control and Distributed Processing)。ESB服務提供者會統一管理命名服務(Naming Services)及服務流程(Service Choreography),而訊息的處理與執行則委由各個Runtime Node進行處理。這種方式不但提供了可延展性,也保留了集中式管理的便利性。我們可從Patterns for E-Business的Process Integration::Zone Pattern中延展出Enterprise Service Bus Pattern [RedBook-SG246303]。在此Pattern中,ESB是一個具有特定功能的領域(Zone),可經由Ports與其它服務互動與整合。
IBM線上的ESB課程(SW861)指出,一般企業間的ESB會由數個Application Server再加上WebSphere Process Server與Tivoli Access Manager組成,所以必須採用WAS的Network Deployment版本。本專案依據IBM WebSphere Developer Technical Journal上的ESB教學文件,僅採用IBM WebSphere Application Server 6.0 Express內建的SI-Bus 來模擬ESB,在其間流通的標準訊息則採取以IBM, Oracle, BEA為首而聯合規範的SDO(Service Data Object)。在預定的展示情境中,ESB整合了包括家庭服務提供者、付費服務提供者與數位內容提供者的Web Services。
在智慧型的環境中,感測器、服務之間的互動相當複雜,且各式感測器與家電的控制協定也不同(例如:電力線、紅外線、RF或藍芽)。為了協調各項裝置、服務及其所產生的環境事件(Context Events),必須做垂直(vertical)與水平(horizontal)方向的整合。
在「智慧型家庭整合服務平台」中,我們以UPnP(Universal Plug and Play)來做垂直方向的整合。UPnP是一個針對消費性電子產品、PC和電腦周邊製造廠商的統一嵌入式設備互通作業標準,目前UPnP的會員數達到785,且包含了IBM、Intel與Microsoft等主要軟硬體廠商[UPnP]。UPnP在規格中對各項Device制訂了一個共通的Model,與Web Service的WSDL相當類似,而各項裝置與服務的加入與脫離是基於TCP/IP群播(Multicast),並以SSDP(Simple Service Discovery Protocol)與GENA(General Event Notification Architecture)進行登記與傳播,因此UPnP也具有SOA的特色。
我們將整個垂直整合架構分成Device、Legacy、UPnP與OSGi四層。如所示,最下層是各項異質裝置,Legacy層則是專為控制各項裝置所寫的Legacy程式,這些程式透過專屬的protocol與裝置溝通。在UPnP層,我們將其包裝為符合UPnP規格的Virtual Devices(類似我們將Legacy Services包裝成Web Services),因此在OSGi (Open Service Gateway Initiative)層開發應用程式或服務時,只要使用UPnP協定即可與各項裝置溝通。 在水平方向的整合架構方面,我們以OSGi平台為核心,建構了一個家庭服務匯流排。所有的應用程式與智慧型代理人元件皆部署於OSGi平台上,其訊息也在此平台上流通,並藉由預先定義的規則來做服務的協調工作(Mediation)。OSGi是由OSGi Alliance所制訂,主要目的在於提供一個開放性平台,讓在遠端的軟體服務供應商所提供的應用程式及加值服務軟體,能視使用者需求隨時下載至近端靠近用戶的閘道器上並自動安裝執行。根據OSGi規格開發出的服務或軟體,稱為「服務包(Bundle)」,而服務之間可透過查詢Service Registry做動態繫結(Dynamic Binding)與呼叫,因此OSGi元件模型是SOA架構的實現。
UPnP AV是一個以UPnP規格為基礎的服務導向多媒體架構,目前已被DLNA (Digital Living Network Alliance)納入正式規範。UPnP AV主要將一般多媒體影音播放功能切割為數個角色:
UPnP AV架構主要由三個部份組成:Media Server、Media Renderer及Control Point。其中Media Server包含了上述1-3項功能,Media Renderer則包含了2-4項功能。透過 UPnP的SSDP機制,這些裝置在網路上可以自動地被發現、設定及使用,不需要設定或驅動軟體。通常Media Server可以管理儲存媒體中的音樂、相片、與影片檔案,然後由Media Renderer透過網路來取得媒體並播放。UPnP AV的另一項重要功能是支援Out-of-band transfer,因此Control Point只要設定好相關資訊,媒體會自行在Media Server及Renderer間傳送,並不需透過Control Point。
Bob是一位上班通勤族,家中有一個「智慧型家庭整合服務平台」,其家中的HSB透過網路與各家媒體服務廠商的企業端ESB系統密切整合。Bob喜歡在閒暇之餘,從Smart Phone中瀏覽HSO Portal(家庭服務提供者的入口網站)的媒體購物網,並訂購他感興趣的專輯或是影片;付費確認之後,智慧型家庭服務整合平台就會自動將Bob買的媒體下載。當Bob下班回到家中的玄關時,系統會自動開啟位於玄關的燈光,然後藉由Bob的Smart Phone上的RFID偵測到Bob已回到家中,並向Bob問好。當Bob走到客廳的沙發上坐下,家中的人員追蹤感測器偵知Bob坐在沙發上休息,於是系統透過語音詢問Bob想聽音樂還是看今天所購買的影片,而Bob透過語音選擇了看新影片。在Bob看影片的途中,螢幕出現影像電話的來電顯示,並告知是女友Alice打來的;於是Bob利用手勢選擇接聽,而Video則自動暫停並切成影像電話。Alice在電話中約Bob出去吃飯,並請Bob順便幫她帶一件外套;於是Bob起身走向房間拿Alice的外套,而影像電話也隨之切到另一個房間。Bob講完電話後走到玄關準備出門,因此系統以語音詢問Bob是否要外出;Bob以語音回答說「是」,並利用門口的智慧鏡查詢路況;最後,在Bob離開家後,系統自動關掉影音系統與電燈。