專利名稱:數(shù)字家庭的服務(wù)計算中間件系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種中間件系統(tǒng),尤其涉及一種數(shù)字家庭的服務(wù)計算中間件系統(tǒng)。
背景技術(shù):
中間件出現(xiàn)于20世紀80年代,當(dāng)時是指網(wǎng)絡(luò)連接的管理軟件,一直到20世紀90 年代網(wǎng)絡(luò)技術(shù)取得巨大成功之后才被廣泛應(yīng)用。90年代初期,中間件主要應(yīng)用于商業(yè)關(guān)系數(shù)據(jù)庫,隨后逐漸演化為具有多種范型和服務(wù),用于簡化分布式應(yīng)用程序開發(fā)的系統(tǒng)平臺。 目前,中間件已經(jīng)被應(yīng)用于互聯(lián)網(wǎng)和各種私有網(wǎng)絡(luò),隨著電子商務(wù)的興起,中間件扮演著越來越重要的角色。中間件通過將應(yīng)用程序從協(xié)議處理、數(shù)據(jù)復(fù)制、網(wǎng)絡(luò)故障、并行機制等問題中獨立出來,屏蔽了底層網(wǎng)絡(luò)環(huán)境的復(fù)雜性,使應(yīng)用程序可以專注于功能實現(xiàn)。中間件還進一步屏蔽計算體系結(jié)構(gòu)、操作系統(tǒng)、編程語言、網(wǎng)絡(luò)技術(shù)的異構(gòu)性,使得分散在不同網(wǎng)絡(luò)中的計算資源統(tǒng)一起來,讓用戶和應(yīng)用程序可以在不同的平臺和通信協(xié)議下彼此相連,同時也使得不同的應(yīng)用程序可以無縫地整合在一起,極大方便了遺留系統(tǒng)地整合,以及應(yīng)用程序地編寫、管理和使用。隨著家庭組網(wǎng)方式的發(fā)展,Upnp, DLNA, IGRS, OSGI等一系列標(biāo)準和規(guī)范作為中間件廣泛應(yīng)用于家庭智能設(shè)備的互聯(lián)互通,這些標(biāo)準和協(xié)議主要針對3C產(chǎn)品的即插即用功能擴展,一定程度上簡化了家庭智能設(shè)備的聯(lián)網(wǎng)和信息交換過程。目前,此類規(guī)范主要面向家庭內(nèi)部網(wǎng)絡(luò)的高速多媒體設(shè)備,對低速控制網(wǎng)絡(luò)部分涉及甚少,標(biāo)準之間的兼容性和通訊方式也存在差異,未完全解決數(shù)字家庭中存在的信息孤島問題。此外,應(yīng)用范圍也僅限于家庭局域網(wǎng)內(nèi)部,難以接入hternet并集成ffeb Service等計算和信息服務(wù)資源。隨著研究的深入和開發(fā)方式的不斷進步,眾多研究者和工業(yè)界人士一致認為,軟件應(yīng)該作為服務(wù)來提供和傳播。也就是說,要發(fā)展一種新的軟件架構(gòu)體系和軟件范型,在這種范型中,關(guān)注的重點從提供軟件轉(zhuǎn)向了描述和傳送服務(wù),這使得關(guān)注點不再是傳統(tǒng)軟件的構(gòu)建、使用和所有權(quán)模型。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)效果能夠克服上述缺陷,提供一種數(shù)字家庭的服務(wù)計算中間件系統(tǒng),其存在于操作系統(tǒng)等系統(tǒng)軟件(包括基本的通信協(xié)議)和通過網(wǎng)絡(luò)進行交互的分布式應(yīng)用程序之間的一個模塊軟件層,用于支持分布式軟件的交互與協(xié)同。為實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案其系統(tǒng)包括五個相互通信的工作模塊,即計算負載模塊、通信模塊、上下文表達模塊、編程抽象模塊、應(yīng)用環(huán)境模塊。服務(wù)計算中間件是軟件中間件技術(shù)在服務(wù)計算環(huán)境中的應(yīng)用,用于屏蔽服務(wù)計算環(huán)境的異構(gòu)性和動態(tài)多變性,作為系統(tǒng)軟件與服務(wù)計算應(yīng)用程序之間的一個軟件層,為應(yīng)用程序提供一組軟件服務(wù),使得這些應(yīng)用程序可以在服務(wù)計算環(huán)境下方便有效地進行交互與協(xié)同,使用戶感覺不到計算的存在。不同的商業(yè)發(fā)展趨勢對中間件提出了網(wǎng)絡(luò)通信、協(xié)調(diào)性、可靠性、伸縮性、異構(gòu)性等不同方面的非功能性需求,衍生出針對不同領(lǐng)域的不同種類中間件,可從不同角度對中間件進行分類。計算負載模塊包括重量級模式模塊和輕量級模式模塊。中間件的計算負載取決于系統(tǒng)的非功能性需求,如通信、可靠性、數(shù)據(jù)復(fù)制等。如果中間件系統(tǒng)需要大量資源(如 CPU、內(nèi)存、代碼量等)來提供上層應(yīng)用程序所需要的服務(wù),則被認為是重量級的;相反,如果僅需要少量的資源,則被認為是輕量級的。為了滿足各類需求,目前主流的中間件系統(tǒng) (如C0RBA、貝EE、DC0M等)一般都是重量級的,為了適應(yīng)資源有限的小型計算設(shè)備,尤其是移動設(shè)備,研究資源受限系統(tǒng)的中間件成為熱點。傳統(tǒng)分布式計算中間件采用單塊結(jié)構(gòu),缺乏靈活性,且多數(shù)是重量級的,對網(wǎng)絡(luò)帶寬和連接性等要求較高,一般無法適應(yīng)移動設(shè)備。服務(wù)計算環(huán)境復(fù)雜多樣,終端設(shè)備可能是資源豐富的工作站或個人電腦,但更多的是資源非常有限的微小型可移動計算設(shè)備,比如移動智能電話、PDA、智能手表等,這些設(shè)備無法提供大量的計算時間和存儲資源來運行重量級中間件架構(gòu),這就要求普適計算中間件架構(gòu)本身必須是輕量級的,資源要求較高的服務(wù)只能由運行于富資源終端上的中間件節(jié)點(指運行中間件的網(wǎng)絡(luò)計算設(shè)備,如PDA、服務(wù)器、個人電腦、移動智能手機等)提供,而資源有限的中間件節(jié)點可以包含數(shù)量有限的輕量級服務(wù),并通過與其他節(jié)點協(xié)作來完成資源要求較高的計算任務(wù)。通信模塊包括同步模式模塊和異步模式模塊。同步方式要求客戶端連接到服務(wù)端,客戶端和服務(wù)端之間消息的發(fā)送和接收同步進行,發(fā)送和接收進程都將阻塞以等待下一個消息。異步方式則不要求發(fā)送與接收同步進行,發(fā)送進程在消息發(fā)送后并不阻塞而是繼續(xù)運行,接收消息時可以是阻塞的,也可以是不阻塞的。除消息中間件外,傳統(tǒng)分布式計算中間件均采用同步模式,而應(yīng)用于移動計算或普適計算環(huán)境中的中間件系統(tǒng)則均須支持異步通信。除這兩種模式外,中間件系統(tǒng)采用的其他通信模式還包括單向和延遲同步等。服務(wù)計算中間件必須支持異步通信,這是因為服務(wù)計算環(huán)境充滿著不確定性,尤其是無線網(wǎng)絡(luò)的大量存在使得連接可靠性無法保障,如果服務(wù)計算中間件只采用同步通信模式,很可能因為連接中斷而使中間件節(jié)點陷入無限等待,導(dǎo)致計算資源浪費甚至任務(wù)死鎖。同時,服務(wù)計算中間件仍需兼容同步通信模式,比如在可靠網(wǎng)絡(luò)中進行大量數(shù)據(jù)傳輸時使用同步通信更為高效。上下文表達模塊包括上下文感知模式模塊和上下文透明模式模塊。中間件系統(tǒng)的執(zhí)行上下文可以暴露給上層的應(yīng)用程序,也可以隱藏在自身內(nèi)部對外不可見,采用前一種方式的中間件被稱為是上下文感知的(context aware),后一種則被稱為是上下文透明的 (contextt ransparent)。中間件與底層網(wǎng)絡(luò)操作系統(tǒng)進行交互,能夠收集到設(shè)備位置、網(wǎng)絡(luò)帶寬、網(wǎng)絡(luò)延遲、可獲取的遠程服務(wù)等相關(guān)信息,如果中間件是上下文透明的,這些信息就只是在中間件內(nèi)部使用,而不對上層應(yīng)用程序暴露。相反,如果中間件是上下文感知的, 這些信息就可以被傳遞給上層應(yīng)用程序,由應(yīng)用程序來進行決策,以減輕中間件系統(tǒng)的負擔(dān)。上下文感知要求服務(wù)計算中間件對應(yīng)用程序暴露其實現(xiàn)細節(jié),但是為了對各種應(yīng)用提供公共支持,中間件又需要盡可能地隱藏其實現(xiàn)細節(jié),這是服務(wù)計算中間件要處理的一個根本矛盾。要在感知與透明性之間保持平衡,就要求中間件能提供通用方法來進行上下文表達、感知和推理,以恰當(dāng)?shù)姆绞綖閼?yīng)用程序提供上下文信息,同時提供各類公共服務(wù)隱藏應(yīng)用程序不需要了解的實現(xiàn)細節(jié)。上下文感知技術(shù)是服務(wù)計算技術(shù)發(fā)展的動力之一,而上下文建模方式是上下文感知技術(shù)的關(guān)鍵。服務(wù)計算環(huán)境對上下文建模方式有著很高的要求,要求其支持信息的分布式合成和部分驗證、能夠表達信息質(zhì)量和豐富性、能夠應(yīng)用于現(xiàn)存環(huán)境等。編程抽象模塊包括分布式元組空間模式模塊、遠程過程調(diào)用模式模塊、面向消息模式模塊、分布式對象模式模塊和事務(wù)模式模塊。這些編程抽象方式不同程度地整合了底層物理資源(通信、處理、存儲等)。1.元組空間是用于進程通信的全局共享的聯(lián)合尋址內(nèi)存空間,支持離線操作。大多數(shù)元組空間系統(tǒng)同時支持阻塞和非阻塞的元組檢索操作。分布式關(guān)系數(shù)據(jù)庫是分布式元組空間的典型應(yīng)用,也是目前中間件應(yīng)用最為廣泛的領(lǐng)域。2.遠程過程調(diào)用在中間件中的應(yīng)用始于Sun的Open Network ComputingArehitecture0遠程過程調(diào)用是經(jīng)典的過程調(diào)用思想在網(wǎng)絡(luò)環(huán)境下的自然拓廣, 它使得一個客戶端程序可以通過網(wǎng)絡(luò)調(diào)用遠程服務(wù)端程序中的過程,而在客戶端源程序中的寫法與普通過程調(diào)用相同。采用遠程過程調(diào)用的系統(tǒng)通信模式通常是同步的,在異常處理、易剪裁性和容錯性方面能力較為有限。3.面向消息中間件基于消息隊列或消息傳遞,通過消息交換支持分布式系統(tǒng)構(gòu)件間的通信,提供同步或異步的交互機制。采用無連接的通信模式,可以供網(wǎng)絡(luò)內(nèi)所有節(jié)點訪問,并不強制要求消息接受方一定可用。消息傳遞是一種直接通信模型,其消息被直接發(fā)給感興趣的實體,發(fā)送方式可以是點對點的,也可以采用發(fā)布/訂閱模式。消息中間件可以提供持久化、數(shù)據(jù)復(fù)制和實時性支持,而且還可以像元組空間那樣實現(xiàn)空間和時間分離,具有較好的可靠性、易用性和容錯能力,但是訪問透明性不好、配置和編寫不方便等問題使得面向消息的中間件對伸縮性和異構(gòu)性支持不夠。4.分布式對象由RPC演化而來,是面向?qū)ο竽P驮诜植籍悩?gòu)環(huán)境下的自然拓廣, 其基本想法是將面向?qū)ο笤瓌t引入分布式系統(tǒng)開發(fā)當(dāng)中。在分布式對象中間件中,遠程對象中的方法可以與本地對象一樣的方式被調(diào)用,分布式應(yīng)用程序開發(fā)者因而可以享受所有面向?qū)ο蠹夹g(shù)帶來的好處封裝、繼承、多態(tài)。分布式對象中間件標(biāo)準化好、功能較強,非常適合用于整合遺留系統(tǒng),具有良好的異構(gòu)支持能力。5.事務(wù)中間件通過分布式主機上運行的構(gòu)件支持分布式事務(wù)處理,支持不同主機間的同步或異步通信。事務(wù)中間件通常采用兩階段提交協(xié)議,其主要功能是提供聯(lián)機事務(wù)處理所需要的通信、并發(fā)訪問控制、事務(wù)控制、資源管理、安全管理和其他必要的服務(wù)。應(yīng)用環(huán)境模塊包括移動計算模式模塊、游牧計算模式模塊、普適計算模式模塊。以往中間件主要應(yīng)用于傳統(tǒng)的分布式計算環(huán)境,但隨著移動計算(MobileComputing)、游牧計算(Nomadic Computing)、普適計算(pervasive computing)等新型計算環(huán)境的出現(xiàn),中間件的應(yīng)用范圍愈加廣泛。這些不同的計算環(huán)境對中間件有不同需求,也使得應(yīng)用于這些環(huán)境的中間件有著不同特點。傳統(tǒng)分布式中間件大多以黑盒方式構(gòu)建,分布式細節(jié)對用戶和軟件工程師隱藏, 雖然這能夠方便中間件系統(tǒng)使用,卻并不適合服務(wù)計算中復(fù)雜多變的環(huán)境。因為在這類環(huán)境下隱藏實現(xiàn)細節(jié)是非常困難且沒有什么意義的。為了適應(yīng)服務(wù)計算環(huán)境的高度動態(tài)變化,應(yīng)用程序必須具有較好的彈性;而為了減少分散用戶注意力,與用戶融洽地結(jié)合在一
5起,服務(wù)計算環(huán)境中的應(yīng)用程序又必須具有較好的自治性。這就要求服務(wù)計算中間件是上下文感知的,為應(yīng)用程序收集、提供各種上下文信息以便其進行調(diào)整或更好地做出決策。本發(fā)明的系統(tǒng)對服務(wù)計算環(huán)境相關(guān)要求的支持度較好,支持服務(wù)發(fā)現(xiàn)是指中間件系統(tǒng)能夠發(fā)現(xiàn)環(huán)境中已經(jīng)存在的設(shè)備和服務(wù),并使之能夠相互發(fā)現(xiàn)、配置和通信。服務(wù)發(fā)現(xiàn)可以減少網(wǎng)絡(luò)設(shè)備的控制開銷,同時提高其可用行。服務(wù)發(fā)現(xiàn)還能夠減輕普適計算系統(tǒng)設(shè)計者的工作量,讓他們不必努力地嘗試預(yù)見和編寫設(shè)備與程序間所有可能的交互方式與狀態(tài)。通過引入一個間接層次,服務(wù)發(fā)現(xiàn)簡化了普適計算系統(tǒng)的設(shè)計。要將各種網(wǎng)絡(luò)計算設(shè)備融洽地整合在服務(wù)計算環(huán)境的當(dāng)中,服務(wù)發(fā)現(xiàn)支持必不可少。服務(wù)計算中間件與底層網(wǎng)絡(luò)操作系統(tǒng)進行交互,能夠收集到設(shè)備位置、網(wǎng)絡(luò)帶寬、 網(wǎng)絡(luò)延遲、遠程服務(wù)等多種上下文信息,而目前對上下文信息地感知更多停留在地理位置地感知上,相關(guān)中間件實例包括Oracle iASWE、Nexus、SignalSoft等。上下文感知絕不僅僅是地理位置感知,上下文信息的重要方面包括在哪、與誰交互以及周圍資源狀況等,如何簡潔地表達各種上下文信息和提供應(yīng)用程序交互接口、自動對上下文信息進行重配置都是有待深入研究的問題。近些年來,許多組織設(shè)計開發(fā)了服務(wù)發(fā)現(xiàn)協(xié)議,如Sun的Jini、MicrOSOft的UPnP、 IETF的SLP等。這些協(xié)議專注于對網(wǎng)絡(luò)拓撲結(jié)構(gòu)和定位的研究,分別解決了一些不同種類的問題,占據(jù)一定市場。但這些協(xié)議通常無法進行交互協(xié)作、共享服務(wù)信息,不利于提高資源的利用率。多服務(wù)發(fā)現(xiàn)協(xié)議支持是實現(xiàn)不同協(xié)議間的互操作以及在異構(gòu)網(wǎng)絡(luò)環(huán)境中實現(xiàn)高效服務(wù)發(fā)現(xiàn)的有效手段。通過修改所有客戶端與服務(wù)端軟件來支持多種服務(wù)發(fā)現(xiàn)協(xié)議顯然不現(xiàn)實,目前,協(xié)議間的互操作性通常通過加入互操作層進行轉(zhuǎn)換,具體有兩種方式透明轉(zhuǎn)換和顯式轉(zhuǎn)換。在透明轉(zhuǎn)換方式中,互操作層位于網(wǎng)絡(luò)層之上,負責(zé)對從各協(xié)議接收到的或是發(fā)往各協(xié)議的消息進行格式轉(zhuǎn)換,轉(zhuǎn)換過程對客戶端或服務(wù)端透明;而在顯式轉(zhuǎn)換方式中,互操作層位于協(xié)議層之上,為客戶端提供顯式的統(tǒng)一的服務(wù)發(fā)現(xiàn)接口,方便對已有的服務(wù)發(fā)現(xiàn)協(xié)議進行擴展。為了減少分散用戶注意力,盡可能有效地滿足用戶對各種資源的不同方式的需求,使得用戶可以在不同網(wǎng)絡(luò)環(huán)境中使用同一服務(wù),服務(wù)遷移成為服務(wù)計算中間件必須考慮的功能之一。服務(wù)遷移需求本質(zhì)上可以分為兩類一類是為了整合現(xiàn)有資源,實現(xiàn)服務(wù)重用;一類是為了屏蔽網(wǎng)絡(luò)環(huán)境的各種變化為用戶提供持續(xù)有效的資源服務(wù)。服務(wù)計算中間件在提供移動服務(wù)的過程中,同時移動與該服務(wù)相關(guān)的歷史狀態(tài)、 上下文等信息,相關(guān)中間件節(jié)點也需要進行動態(tài)調(diào)整,并將資源損耗降低到一定程度以下, 使用戶感覺不到服務(wù)遷移過程的存在,自然地完成服務(wù)的無縫遷移(kamless Roaming/ Migration),以實現(xiàn)與用戶的無縫融洽結(jié)合。目前,支持無縫遷移有主從、聯(lián)邦制、統(tǒng)一管理模式等三種方式,相關(guān)技術(shù)包括Agent、橋接、自適應(yīng)數(shù)據(jù)路徑調(diào)整、代理等。
圖1為本發(fā)明的模塊結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明的系統(tǒng)包括五個相互通信的工作模塊,即計算負載模塊、通信模塊、上下文表達模塊、編程抽象模塊、應(yīng)用環(huán)境模塊。 計算負載模塊包括重量級模式模塊和輕量級模式模塊。通信模塊包括同步模式模塊和異步模式模塊。上下文表達模塊包括上下文感知模式模塊和上下文透明模式模塊。編程抽象模塊包括分布式元組空間模式模塊、遠程過程調(diào)用模式模塊、面向消息模式模塊、分布式對象模式模塊和事務(wù)模式模塊。應(yīng)用環(huán)境模塊包括移動計算模式模塊、游牧計算模式模塊、普適計算模式模塊。
權(quán)利要求
1.一種數(shù)字家庭的服務(wù)計算中間件系統(tǒng),其特征在于,系統(tǒng)包括相互通信的五個工作模塊,即計算負載模塊、通信模塊、上下文表達模塊、編程抽象模塊、應(yīng)用環(huán)境模塊。
2.根據(jù)權(quán)利要求1所述的數(shù)字家庭的服務(wù)計算中間件系統(tǒng),其特征在于,計算負載模塊包括重量級模式模塊和輕量級模式模塊。
3.根據(jù)權(quán)利要求1所述的數(shù)字家庭的服務(wù)計算中間件系統(tǒng),其特征在于,通信模塊包括同步模式模塊和異步模式模塊。
4.根據(jù)權(quán)利要求1所述的數(shù)字家庭的服務(wù)計算中間件系統(tǒng),其特征在于,上下文表達模塊包括上下文感知模式模塊和上下文透明模式模塊。
5.根據(jù)權(quán)利要求1所述的數(shù)字家庭的服務(wù)計算中間件系統(tǒng),其特征在于,編程抽象模塊包括分布式元組空間模式模塊、遠程過程調(diào)用模式模塊、面向消息模式模塊、分布式對象模式模塊和事務(wù)模式模塊。
6.根據(jù)權(quán)利要求1所述的數(shù)字家庭的服務(wù)計算中間件系統(tǒng),其特征在于,應(yīng)用環(huán)境模塊包括移動計算模式模塊、游牧計算模式模塊、普適計算模式模塊。
全文摘要
本發(fā)明涉及一種中間件系統(tǒng),尤其涉及一種數(shù)字家庭的服務(wù)計算中間件系統(tǒng)。本發(fā)明的數(shù)字家庭的服務(wù)計算中間件系統(tǒng),系統(tǒng)包括相互通信的五個工作模塊,即計算負載模塊、通信模塊、上下文表達模塊、編程抽象模塊、應(yīng)用環(huán)境模塊。服務(wù)計算中間件在提供移動服務(wù)的過程中,同時移動與該服務(wù)相關(guān)的歷史狀態(tài)、上下文等信息,相關(guān)中間件節(jié)點也需要進行動態(tài)調(diào)整,并將資源損耗降低到一定程度以下,使用戶感覺不到服務(wù)遷移過程的存在,自然地完成服務(wù)的無縫遷移,以實現(xiàn)與用戶的無縫融洽結(jié)合。
文檔編號G06F9/46GK102541627SQ20101062174
公開日2012年7月4日 申請日期2010年12月31日 優(yōu)先權(quán)日2010年12月31日
發(fā)明者于忠清, 富饒, 李桂麗, 王兵, 翟偉偉, 蔡宇玉, 陶冶 申請人:青島海爾軟件有限公司