專利名稱::使用遺傳算法用于智能物件的服務(wù)到設(shè)備映射的制作方法
技術(shù)領(lǐng)域:
:本
發(fā)明內(nèi)容涉及智能物件(smartitem)技術(shù)。
背景技術(shù):
:存在為企業(yè)或其他機(jī)構(gòu)提供各種服務(wù)的軟件系統(tǒng)。這些軟件系統(tǒng)將收集的數(shù)據(jù)存儲在集中化的后端系統(tǒng),在那里還進(jìn)行業(yè)務(wù)邏輯(businesslogic)的執(zhí)行,同時(shí),這些軟件系統(tǒng)卻可能依賴于非集中化、手動(dòng)的并且潛在易于出錯(cuò)的數(shù)據(jù)收集。通過使用智能物件(也稱作智能設(shè)備)技術(shù)可以擴(kuò)展這些以及其他軟件系統(tǒng),在智能物件技術(shù)中,通過添加或包含在本地提供或嵌入的技術(shù),物理項(xiàng)目(例如貨物、工具、房間、車輛、人員或貨架)得到增加或加強(qiáng)。例如,可以以上述方式使用射頻識別(RFID)系統(tǒng)、嵌入式系統(tǒng)、傳感器微片(motes)和/或傳感器網(wǎng)絡(luò)來為商業(yè)軟件應(yīng)用提供對真實(shí)世界數(shù)據(jù)的快速訪問。例如,可以使用智能物件技術(shù)來支持RFID標(biāo)簽的檢測、讀或?qū)懀约爸С峙c無線傳感器網(wǎng)絡(luò)和嵌入式系統(tǒng)的通信和對無線傳感器網(wǎng)絡(luò)和嵌入式系統(tǒng)的控制。在很多實(shí)例中,智能物件可以包括下面這樣的設(shè)備,或者與這樣的設(shè)備相關(guān)聯(lián)所述設(shè)備具有本地處理能力、存儲器和/或通信能力,并且能夠提供關(guān)于設(shè)備及其屬性的數(shù)據(jù),或者提供關(guān)于智能物件設(shè)備的當(dāng)前狀態(tài)或環(huán)境的信息。因此,在后端或底層業(yè)務(wù)應(yīng)用的服務(wù)組件的執(zhí)行中可以使用一些這樣的設(shè)備,具體來說,這樣的設(shè)備可以以協(xié)作的方式被使用,例如通過形成移動(dòng)自組織網(wǎng)絡(luò)來收集、處理或傳送業(yè)務(wù)數(shù)據(jù)。智能物件的例子可以包括RFID標(biāo)簽,RFID標(biāo)簽可以是無源的或有源的,并且它可以被附著到上面提到的物理對象,并用來提供與所述對象有關(guān)的產(chǎn)品或處理信息。智能物件的其他例子可以包括各種傳感器,諸如例如環(huán)境傳感器(例如溫度、濕度或振動(dòng)傳感器),正如剛才所提到的,所述傳感器能夠進(jìn)行通信,以便形成一個(gè)或更多個(gè)傳感器網(wǎng)絡(luò)。這些以及其他類型的智能物件也可以包括嵌入式系統(tǒng),嵌入式系統(tǒng)一般可以指任何其中包括專用處理器和/或程序的系統(tǒng),并且/或者指其中所述系統(tǒng)被封裝在正被控制的設(shè)備中的系統(tǒng)。通過自動(dòng)實(shí)時(shí)的對象跟蹤和業(yè)務(wù)邏輯的本地現(xiàn)場執(zhí)行,智能物件技術(shù)可以給企業(yè)提供關(guān)于業(yè)務(wù)運(yùn)轉(zhuǎn)的準(zhǔn)確和及時(shí)的數(shù)據(jù),并且也可以幫助使業(yè)務(wù)運(yùn)轉(zhuǎn)合理化和自動(dòng)化。因此,可以獲得成本降低以及附加的商業(yè)利益(例如提高資產(chǎn)可視性、改善響應(yīng)性,以及擴(kuò)展商業(yè)機(jī)會(huì))。
發(fā)明內(nèi)容根據(jù)一個(gè)總的方面,確定排序的修補(bǔ)結(jié)構(gòu)(sortedrepairstructure),所述排序的修補(bǔ)結(jié)構(gòu)指示按照原子服務(wù)(atomicservice)和基于傳感器網(wǎng)絡(luò)的一個(gè)或多個(gè)設(shè)備的服務(wù)的合成的合成服務(wù)(compositionservice)的層級(hierarchical)的服務(wù)次序。確定基于可對所述排序的修補(bǔ)結(jié)構(gòu)進(jìn)行操作的遺傳算法邏輯的一個(gè)或多個(gè)派生世代結(jié)構(gòu)(derivedgenerationstructure)。基于所述派生世代結(jié)構(gòu)之一,將服務(wù)映射到所述傳感器網(wǎng)絡(luò)的至少一個(gè)設(shè)備上。根據(jù)另一個(gè)總的方面,系統(tǒng)包括網(wǎng)絡(luò)監(jiān)視器,其被配置成監(jiān)視傳感器網(wǎng)絡(luò)的多個(gè)設(shè)備,并且被配置成確定與所述多個(gè)設(shè)備中的至少一個(gè)設(shè)備相關(guān)聯(lián)的設(shè)備元數(shù)據(jù)。所述系統(tǒng)還包括服務(wù)映射器,其被配置成基于一個(gè)或多個(gè)排序的修補(bǔ)結(jié)構(gòu)、基于所述設(shè)備元數(shù)據(jù)、并且基于與所述服務(wù)相關(guān)聯(lián)的服務(wù)元數(shù)據(jù)來確定基(base)世代結(jié)構(gòu),其中,所述排序的修補(bǔ)結(jié)構(gòu)指示按照與所述設(shè)備相關(guān)聯(lián)的原子服務(wù)和基于服務(wù)的合成的合成服務(wù)的層級的服務(wù)次序,并且,所述服務(wù)映射器被配置成基于派生世代結(jié)構(gòu)將服務(wù)映射到至少一個(gè)設(shè)備上,其中,所述派生世代結(jié)構(gòu)基于可對所述基世代結(jié)構(gòu)操作的遺傳算法邏輯。根據(jù)另一個(gè)總的方面,用于傳感器網(wǎng)絡(luò)的服務(wù)映射器包括遺傳算法邏輯,其被配置成基于可對一個(gè)或多個(gè)排序的修補(bǔ)結(jié)構(gòu)操作的服務(wù)合成邏輯提供一個(gè)或多個(gè)派生世代結(jié)構(gòu),其中,所述排序的修補(bǔ)結(jié)構(gòu)指示按照原子服務(wù)和合成服務(wù)的層級的服務(wù)次序。所述服務(wù)映射器還包括映射系統(tǒng),其被配置成基于所述派生世代結(jié)構(gòu)之一將服務(wù)映射到所述傳感器網(wǎng)絡(luò)的至少一個(gè)設(shè)備上。在以下的附圖和說明中將闡述一個(gè)或多個(gè)實(shí)現(xiàn)方式的細(xì)節(jié)。從說明和附圖以及權(quán)利要求書中,其他特征將變得明顯。圖1是使用遺傳算法用于針對智能物件的服務(wù)到設(shè)備映射的示例系統(tǒng)的框圖。圖2是圖示可以由圖1的系統(tǒng)執(zhí)行的示例操作的流程圖。圖3是圖示可以由圖1的系統(tǒng)使用的示例服務(wù)合成層級的框圖。圖4是圖示可以由圖1的系統(tǒng)使用的示例排序的(sorted)服務(wù)列表的框圖。圖5是圖示可以由圖1的系統(tǒng)使用的示例排序的修補(bǔ)結(jié)構(gòu)的框圖。圖6是圖示可以由圖1的系統(tǒng)執(zhí)行的附加示例操作的流程圖。圖7是圖示圖1的系統(tǒng)的修補(bǔ)具有服務(wù)的無效組合的基世代結(jié)構(gòu)的操作的流程圖。圖8是圖示圖1的系統(tǒng)的基于資源和合成修補(bǔ)基世代結(jié)構(gòu)的示例操作的流程圖。圖9是圖示圖1的系統(tǒng)的選擇基世代結(jié)構(gòu)以便包括在派生世代結(jié)構(gòu)中的示例操作的流程圖。具體實(shí)施例方式圖1是使用遺傳算法用于針對智能物件的服務(wù)到設(shè)備映射的系統(tǒng)100的框圖。如下面所詳細(xì)描述的,系統(tǒng)100可以被配置成使用遺傳算法來執(zhí)行映射功能,利用所述功能,服務(wù)可以被映射到從傳感器網(wǎng)絡(luò)102的多個(gè)智能物件中選擇的適合的智能物件上。作為映射的一部分,和/或在映射之后,可以開始將服務(wù)部署到智能物件上。作為映射過程的一部分,可以使用遺傳算法技術(shù)來試圖產(chǎn)生最佳的映射。結(jié)果,即使在遠(yuǎn)程地或自動(dòng)地執(zhí)行部署時(shí),系統(tǒng)100的操作者和用戶也可以以迅速、便利和可靠的方式取得期望的結(jié)果,因而能夠以期望的方式更便利地使用系統(tǒng)100。當(dāng)請求將指定數(shù)目的給定服務(wù)的實(shí)例安裝到網(wǎng)絡(luò)節(jié)點(diǎn)上時(shí),可以使用服務(wù)映射;如果服務(wù)是合成服務(wù),例如需要安裝其它服務(wù)來正常運(yùn)行的服務(wù),則也可以映射來自其組成的服務(wù)。傳感器網(wǎng)絡(luò)102可以包括資源受約束的節(jié)點(diǎn)。因此,所述映射可以被解釋為受約束的最優(yōu)化組合問題。因此,遺傳算法可以被用于尋找解,例如服務(wù)到網(wǎng)絡(luò)的設(shè)備的最佳映射。此處描述的用于解決所述映射問題的遺傳算法技術(shù)可以包括諸如染色體、種群、選擇、交叉(crossover)或重組、以及突變的遺傳算法概念,并且可以允許考慮約束,例如服務(wù)約束、網(wǎng)絡(luò)節(jié)點(diǎn)約束和網(wǎng)絡(luò)約束。一般,遺傳算法可以包括用于尋找最優(yōu)化的近似解和搜索問題的搜索技術(shù)。遺傳算法可以用作特定類的進(jìn)化算法,其使用受進(jìn)化生物學(xué)啟示的技術(shù),例如遺傳、突變、自然選擇和重組、以及交叉。遺傳算法可以被實(shí)現(xiàn)為計(jì)算機(jī)仿真,在所述計(jì)算機(jī)仿真中,候選解的抽象表示的種群朝著更好的解進(jìn)化。所述抽象表示可以被稱為包括基因的染色體,而候選解可以被稱為個(gè)體(individual)??梢允褂冒ǘM(jìn)制數(shù)字的結(jié)構(gòu)將解(例如,染色體和個(gè)體)表示成0和1的串,但是不同的編碼也是可以的,例如,浮點(diǎn)、字符、表元素、鏈接的列表編碼等。進(jìn)化可以從隨機(jī)個(gè)體的基種群開始并通過進(jìn)化派生世代進(jìn)行迭代。在每個(gè)世代中,可以評估整個(gè)種群的適合度(或不適合度),可以從當(dāng)前種群中(例如,基于它們的適合度或不適合度)隨機(jī)地選擇多個(gè)個(gè)體,并且修改(例如,重組和突變)所述多個(gè)個(gè)體以便形成新的或派生的種群,所述派生的種群在算法的下次迭代中替換所述基種群??梢曰谶m合度/不適合度函數(shù)來確定適合度/不適合度,所述適合度/不適合度函數(shù)可以量化遺傳算法中的解(例如,染色體)的約束滿足的最優(yōu)性/等級。然后可以允許最佳染色體或至少較佳的染色體繁殖并且通過若干技術(shù)中的任何一個(gè)混合它們的數(shù)據(jù)集,從而產(chǎn)生可以包括甚至更佳的染色體的新的世代。作為適合度/不適合度函數(shù)的示例,考慮成年人的減肥中心可能指定女性的最佳體重是60千克。然后,可以將針對女性x的示例的不適合度函數(shù)定義為不適合度(x)=絕對值(實(shí)際體重(x)-60)使用此示例,如果一名女性實(shí)際重70千克,那么她的不適合度的值可能是10,而重60千克的女性的不適合度的值可能是0(例如,指示最佳體重)。類似地,基于適當(dāng)?shù)倪m合度函數(shù)可以為重60千克的女性分配高值的適合度,所述適當(dāng)?shù)倪m合度函數(shù)例如適合度(x)=10-不適合度(x)參考圖1-9進(jìn)一步描述的示例系統(tǒng)和方法基于遺傳算法概念并且使用進(jìn)化過程的概念,但是基于遺傳算法的示例系統(tǒng)和方法可以包含具體問題的知識,所述具體問題的知識可以用來尋找所述服務(wù)映射問題的可行的解,所述解可以滿足約束,例如與網(wǎng)絡(luò)相關(guān)聯(lián)的資源約束和服務(wù)合成約束。在圖1的示例中,傳感器網(wǎng)絡(luò)102可以包括各種智能物件或智能設(shè)備104、106、108和110。就是說,應(yīng)當(dāng)明白,術(shù)語“智能物件”、“智能設(shè)備”、“智能物件設(shè)備”以及類似的術(shù)語可以在不同的語境中類似地或可互換地使用。例如,術(shù)語“智能物件”或“智能設(shè)備”可以指如上所述的具有本地處理、存儲和通信能力的設(shè)備,或可以指這樣的設(shè)備和設(shè)備所附于的對象(例如包含供銷售的貨物的貨盤)的組合。作為傳感器網(wǎng)絡(luò)102的部分,這樣的設(shè)備和/或設(shè)備/對象組合也可以被稱為“節(jié)點(diǎn)”,或在某些語境中被稱為“網(wǎng)絡(luò)節(jié)點(diǎn)”。在本說明書中,為了簡潔和一致而使用術(shù)語“設(shè)備”來指代傳感器網(wǎng)絡(luò)102中具有所描述的特征的所描述的設(shè)備。因此,設(shè)備104、106、108、110以及傳感器網(wǎng)絡(luò)102(以及其他的傳感器網(wǎng)絡(luò))內(nèi)可能的其他設(shè)備可以以及時(shí)和準(zhǔn)確的方式為一個(gè)或多個(gè)業(yè)務(wù)數(shù)據(jù)處理系統(tǒng)、應(yīng)用或過程提供真實(shí)世界數(shù)據(jù)。這些業(yè)務(wù)過程(businessprocess)的示例可以包括例如,庫存管理系統(tǒng)、供應(yīng)鏈管理系統(tǒng)、零售商店管理系統(tǒng)、倉庫管理系統(tǒng)、產(chǎn)品壽命周期管理系統(tǒng),以及可被用來針對真實(shí)世界對象執(zhí)行業(yè)務(wù)過程的任何其他系統(tǒng),其中,這些真實(shí)世界對象可以包括例如供銷售的產(chǎn)品、貨盤或其他裝運(yùn)單元(shipmentelement)、病人或制造材料/裝備。因此,業(yè)務(wù)過程,包括所述業(yè)務(wù)過程在真實(shí)世界對象的本地級部署和執(zhí)行的那些部分,可被用來例如確定庫存水平、設(shè)置價(jià)格水平、評估市場策略、評估制造或生產(chǎn)技術(shù)、降低偷竊或維護(hù)安全。在圖1中,設(shè)備104被示為包括中央處理單元(CPU)112以及存儲器114。因此,設(shè)備104應(yīng)該被理解為擁有各種水平的計(jì)算能力,包括例如處理或傳送感測到的數(shù)據(jù)(在設(shè)備104包括傳感器或與傳感器相關(guān)聯(lián)的情況下)。盡管為了清楚和簡潔的目的在圖1中沒有特別示出,但是應(yīng)該理解設(shè)備106、108和110也可以包括相同或不同的計(jì)算能力,包括例如形成和加入本地網(wǎng)絡(luò)102的能力,本地網(wǎng)絡(luò)102例如無線網(wǎng)絡(luò)和/或?qū)Φ染W(wǎng)絡(luò)。即應(yīng)該理解,設(shè)備104、106、108和110可以包括為了簡潔的目的而未在圖1中特別示出的其他標(biāo)準(zhǔn)要素和特征,例如(無線電)收發(fā)機(jī)和本地電源/電池。因此,可以使用本地網(wǎng)絡(luò)102收集、處理、過濾、聚集或傳送對于相關(guān)業(yè)務(wù)過程可能有用的數(shù)據(jù),更具體地,本地網(wǎng)絡(luò)102可被用來執(zhí)行業(yè)務(wù)過程(例如業(yè)務(wù)邏輯)的多個(gè)部分,這些部分最適于(或最得益于)本地執(zhí)行。具體來說,在圖1的例子中,部署在傳感器網(wǎng)絡(luò)上的業(yè)務(wù)過程/業(yè)務(wù)邏輯的所述部分包括部署在設(shè)備104、110上的服務(wù)B116和部署在設(shè)備104、106上的服務(wù)D118。下面例如參考圖3更詳細(xì)地描述諸如服務(wù)B116和服務(wù)D118的服務(wù)的各個(gè)方面和特性。但是一般來說,應(yīng)該理解服務(wù)B116和服務(wù)D118以及這里討論的其他服務(wù)一般指示軟件組件,所述軟件組件支持被定義的功能性,提供被定義的接口,通過所述接口服務(wù)可以被調(diào)用,并且所述軟件組件可以彼此組合以獲得/提供附加的功能性或更復(fù)雜的功能性。例如,服務(wù)B116和服務(wù)D118可以代表使能服務(wù),其例如使能所述設(shè)備104、106、108、110中的兩個(gè)或更多個(gè)之間的協(xié)作;或者,服務(wù)B116和服務(wù)D118可以代表管理服務(wù),其例如管理設(shè)備104的功耗;或者,服務(wù)B116和服務(wù)D118可以代表實(shí)際的業(yè)務(wù)服務(wù),其例如執(zhí)行特定于業(yè)務(wù)的(business-specific)邏輯(例如,確定本地溫度和確定本地溫度是否超過定義值,以及確定是否應(yīng)該響應(yīng)于本地溫度超過所述定義值而采取任何行動(dòng))。更具體地,服務(wù)B116和服務(wù)D118可以代表存儲在服務(wù)庫(servicerepository)120中的服務(wù)(或服務(wù)模板)的實(shí)例。因此,服務(wù)庫120可以提供便利的位置以用于注冊、存儲和訪問可被部署以供在傳感器網(wǎng)絡(luò)102內(nèi)使用的服務(wù)。服務(wù)庫120可以存儲服務(wù)可執(zhí)行(serviceexecutable)122和服務(wù)元數(shù)據(jù)124,其中服務(wù)可執(zhí)行122可代表可被實(shí)例化到設(shè)備104、106、108、110上以便實(shí)際執(zhí)行相關(guān)業(yè)務(wù)邏輯的軟件代碼,而服務(wù)元數(shù)據(jù)可以代表或包括例如各種服務(wù)描述和/或要求,它們涉及在傳感器網(wǎng)絡(luò)102的一個(gè)或更多個(gè)設(shè)備上是否可以以及可以怎樣執(zhí)行服務(wù)。例如,服務(wù)元數(shù)據(jù)124可以包括服務(wù)行為描述,或者服務(wù)的技術(shù)約束。例如,技術(shù)約束可以包括要求的CPU類型或速度、所需要的(空閑)存儲器的量、要求或首選的連接類型或速度、操作系統(tǒng)版本/名稱/描述,或者電池或其他設(shè)備功率源的類型或狀態(tài)。對于服務(wù)元數(shù)據(jù)124,可以在靜態(tài)和動(dòng)態(tài)服務(wù)要求,例如硬件要求之間進(jìn)行區(qū)分。例如,可以包括例如總存儲器或最大處理速度的靜態(tài)值,以及動(dòng)態(tài)值,例如可用存儲器/處理/功率,和/或在所討論的服務(wù)的執(zhí)行時(shí)間可被允許與所述服務(wù)一起在設(shè)備上并發(fā)運(yùn)行的其他服務(wù)的數(shù)量或類型。在一些例子中,可以為多個(gè)開發(fā)平臺實(shí)現(xiàn)相同的服務(wù),例如可以針對已知的基于C/C++編程語言或Java編程語言的開發(fā)平臺來實(shí)現(xiàn)相同的服務(wù)。通過提供如此多種的開發(fā)平臺,給定的服務(wù)可部署到更寬范圍或更多類型的可能在使用中的設(shè)備。可以包括關(guān)于所討論的服務(wù)的開發(fā)平臺的信息以作為一種類型的服務(wù)元數(shù)據(jù)124。此外,描述相關(guān)服務(wù)可以被如何調(diào)入/調(diào)用的服務(wù)接口信息可以被包括在服務(wù)元數(shù)據(jù)124中,或者與服務(wù)元數(shù)據(jù)124相關(guān)聯(lián)。如圖所示,系統(tǒng)100包括服務(wù)映射器126,該服務(wù)映射器126可被配置成從傳感器網(wǎng)絡(luò)102的多個(gè)設(shè)備104、106、108、110中至少選擇設(shè)備104作為被選擇的設(shè)備,以用于在其上部署服務(wù)B116和服務(wù)D118。例如,服務(wù)映射器126可以響應(yīng)于來自管理員的請求而運(yùn)行,或者可以響應(yīng)于來自相關(guān)聯(lián)的業(yè)務(wù)過程的命令自動(dòng)地工作。此后,服務(wù)映射器126可以訪問服務(wù)庫120,并且可以根據(jù)服務(wù)元數(shù)據(jù)124和服務(wù)可執(zhí)行122確定適當(dāng)?shù)男畔?即適于所述請求或命令的信息)。在確定是否以及如何把服務(wù)從服務(wù)庫120映射到傳感器網(wǎng)絡(luò)102的設(shè)備104、106、108、110中的一個(gè)或更多個(gè)上時(shí),服務(wù)映射器126可以和網(wǎng)絡(luò)監(jiān)視器128通信。網(wǎng)絡(luò)監(jiān)視器128可工作以檢測或以其它方式確定與設(shè)備104、106、108、110有關(guān)的信息,與作為整體的傳感器網(wǎng)絡(luò)102有關(guān)的信息(例如涉及設(shè)備104、106、108、110之間的交互的信息),或者與設(shè)備104、106、108、110的環(huán)境或使用有關(guān)的信息。因此,網(wǎng)絡(luò)監(jiān)視器128可以提供例如硬件健康診斷,或者可以為系統(tǒng)軟件提供統(tǒng)計(jì)數(shù)據(jù)(例如有關(guān)服務(wù)B116和服務(wù)D118的名稱和運(yùn)行時(shí)信息)。在某些情況中,可以基于應(yīng)用/服務(wù)的需要來實(shí)現(xiàn)特定于應(yīng)用或服務(wù)的監(jiān)視。盡管網(wǎng)絡(luò)監(jiān)視器128在圖1中被示為與傳感器網(wǎng)絡(luò)102分開的組件,但是應(yīng)該理解,一些或所有的網(wǎng)絡(luò)監(jiān)視器128可以在傳感器網(wǎng)絡(luò)102的設(shè)備104、106、108、110中的一個(gè)或多個(gè)上的服務(wù)層實(shí)現(xiàn)。例如,服務(wù)D118可以是本地部署的監(jiān)視服務(wù),其可工作以收集和報(bào)告關(guān)于CPU112或存儲器114的當(dāng)前狀態(tài)的信息,或者信息的一些其他本地特性。因此,在圖1的例子中,網(wǎng)絡(luò)監(jiān)視器128可工作以確定和提供設(shè)備元數(shù)據(jù)130。例如,設(shè)備元數(shù)據(jù)130可以包括設(shè)備104、106、108、110的對應(yīng)設(shè)備的描述,其中,可以根據(jù)服務(wù)映射器126已知并為各個(gè)設(shè)備104、106、108、110公有的本體(ontology)和/或模式(scheme)來構(gòu)建所述描述。此外,或者,設(shè)備元數(shù)據(jù)130可以按特定于設(shè)備的格式或結(jié)構(gòu)針對每一個(gè)所述設(shè)備104、106、108、110來收集,并且此后可被轉(zhuǎn)換為公有的模式以供服務(wù)映射器126使用。例如,設(shè)備元數(shù)據(jù)130可以包括例如根據(jù)定義的可擴(kuò)展標(biāo)記語言(XML)模式以基于XML的語言提供的對設(shè)備104、106、108、110的各種技術(shù)能力的描述。當(dāng)然也可以使用其他的格式、語言和/或結(jié)構(gòu)。更一般地,設(shè)備元數(shù)據(jù)130可以包括例如設(shè)備描述、軟件描述、硬件描述和設(shè)備狀態(tài)。例如,設(shè)備描述可以包括設(shè)備名稱、標(biāo)識符或類型,或者可以包括銷售商信息,所述銷售商信息包括銷售商名稱或銷售商網(wǎng)站。軟件描述可以包括操作系統(tǒng)描述,所述操作系統(tǒng)描述包括版本和/或銷售商,或者,軟件描述可以包括在設(shè)備平臺上運(yùn)行或允許運(yùn)行的服務(wù)的描述。硬件描述可以包括關(guān)于CPU112的屬性(例如名稱或速度)、存儲器114的屬性(例如存儲器總量)或設(shè)備的連接能力(例如連接速度或者連接類型)的屬性的信息。設(shè)備狀態(tài)可以包括更易變的信息,包括設(shè)備位置、當(dāng)前的CPU使用,或者剩余的功率或存儲器。當(dāng)然,如下面描述和/或?qū)?huì)明晰的那樣,其他的設(shè)備方面或信息可以被包括在設(shè)備元數(shù)據(jù)130中。例如,設(shè)備元數(shù)據(jù)130可以包括關(guān)于其他設(shè)備的信息,例如如果設(shè)備104包括RFID讀取器(或與RFID讀取器相關(guān)聯(lián)),則設(shè)備元數(shù)據(jù)130可以包括對可被所述RFID讀取器讀和/或?qū)懙腞FID標(biāo)簽的類型的描述。而且,盡管在圖1中示出設(shè)備元數(shù)據(jù)130由網(wǎng)絡(luò)監(jiān)視器128確定,但是應(yīng)該理解,至少靜態(tài)設(shè)備約束(例如總存儲器或銷售商信息)可以被單獨(dú)存儲在例如類似于服務(wù)庫120的設(shè)備(元數(shù)據(jù))存儲庫(未在圖1中示出)中。這樣的設(shè)備存儲庫也可用來存儲近來由網(wǎng)絡(luò)監(jiān)視器128收集的設(shè)備元數(shù)據(jù)(例如動(dòng)態(tài)的但卻緩慢變化的近來收集的設(shè)備元數(shù)據(jù))。至少使用服務(wù)元數(shù)據(jù)124和設(shè)備元數(shù)據(jù)130,服務(wù)映射器126可以將給定的服務(wù)映射到傳感器網(wǎng)絡(luò)102的設(shè)備104、106、108、110中的一個(gè)或更多個(gè)上。這樣的映射被設(shè)計(jì)成不僅在必要時(shí)對服務(wù)元數(shù)據(jù)124和設(shè)備元數(shù)據(jù)130的各個(gè)方面進(jìn)行值匹配(value-match)(例如將在服務(wù)元數(shù)據(jù)124中指定的需要的存儲器與在設(shè)備元數(shù)據(jù)130中指定的設(shè)備存儲器匹配),而且還使能和最優(yōu)化所討論的服務(wù)的部署和執(zhí)行。例如,情況可能是設(shè)備104和設(shè)備110名義上或表面上都能夠運(yùn)行服務(wù)B116(例如設(shè)備104和110兩者可能都具有一些存儲器、處理能力或功率的最低要求的值)。但是,情況可能是服務(wù)B116對存儲器的需求更甚于對功率的需求(或者反過來),所以如果設(shè)備104目前能夠相對于另一候選設(shè)備110提供更多的功率,則即使設(shè)備110目前提供比設(shè)備104更多的空閑存儲器,服務(wù)映射器126也可能將服務(wù)B116映射到設(shè)備104。因此,服務(wù)映射器126可被配置成確定(或嘗試確定)哪個(gè)匹配的或候選的設(shè)備在數(shù)量和質(zhì)量上最適于執(zhí)行所討論的服務(wù)的功能。例如,可以應(yīng)用滿足優(yōu)先級(fulfillmentpriority),它將數(shù)值權(quán)重或其他優(yōu)先級信息分配給服務(wù)元數(shù)據(jù)124和/或設(shè)備元數(shù)據(jù)130的一個(gè)或更多個(gè)屬性,從而使服務(wù)映射器126可以相應(yīng)地執(zhí)行相關(guān)聯(lián)的服務(wù)的映射。當(dāng)然,很多不同的標(biāo)準(zhǔn)可以和所述滿足優(yōu)先級相關(guān)聯(lián),例如,關(guān)于某個(gè)類型或品牌的設(shè)備或設(shè)備平臺的信息,已知所述某個(gè)類型或品牌的設(shè)備或設(shè)備平臺在執(zhí)行要被部署的服務(wù)時(shí)提供某種優(yōu)點(diǎn)或益處,例如在可靠性方面。因此,在這樣的例子中,這種類型、品牌或平臺的所有設(shè)備都可以被分配相應(yīng)的優(yōu)先級信息。網(wǎng)絡(luò)監(jiān)視器128也可以確定網(wǎng)絡(luò)元數(shù)據(jù)132,例如各種網(wǎng)絡(luò)參數(shù),特別是在這些參數(shù)是動(dòng)態(tài)的并且不一定可以從關(guān)于任何單個(gè)設(shè)備的信息中了解的情況下。一個(gè)這樣的網(wǎng)絡(luò)元數(shù)據(jù)132的例子可以包括傳感器網(wǎng)絡(luò)102上的可用帶寬。其他的例子包括位置信息、網(wǎng)絡(luò)整體的移動(dòng)特性,以及網(wǎng)絡(luò)連接的可靠性。在執(zhí)行服務(wù)映射時(shí),服務(wù)映射器126也可以訪問其他被認(rèn)為對映射有用或映射所要求的信息。例如,部署約束134可以包括各種可應(yīng)用于一個(gè)或更多個(gè)服務(wù)、服務(wù)部署和/或傳感器網(wǎng)絡(luò)102自身的約束。例如,部署約束134可以包括要求在傳感器網(wǎng)絡(luò)102中最大化電池壽命或電池使用的約束,或者可以以其它方式規(guī)定可以對多個(gè)服務(wù)和/或多個(gè)設(shè)備104、106、108、110通用的服務(wù)部署方面,這些將在下面更詳細(xì)地討論。一旦服務(wù)映射器126已經(jīng)執(zhí)行了適當(dāng)?shù)姆?wù)映射,則可以使用服務(wù)注入器136在設(shè)備104上安裝和啟動(dòng)/激活被映射的服務(wù)(例如服務(wù)B116)。更一般地,例如通過在有必要時(shí)執(zhí)行服務(wù)更新或者停止服務(wù),服務(wù)注入器136也可被用來管理服務(wù)的生命周期。因此,服務(wù)注入器136的一個(gè)任務(wù)是將具體的服務(wù)代碼(例如服務(wù)可執(zhí)行122中適當(dāng)?shù)囊粋€(gè))傳送到被選擇/映射的設(shè)備。因此,服務(wù)注入器136接收并安裝所討論種類的代碼。像服務(wù)注入器136這樣的安裝組件可以被安裝在設(shè)備側(cè),例如作為單個(gè)獨(dú)立的軟件組件,或者可以和其他的安裝組件配合,以便分布(被映射的)服務(wù)可執(zhí)行122的實(shí)例。在安裝了服務(wù)可執(zhí)行122的實(shí)例以后,服務(wù)B116可以被保持處于非活動(dòng)狀態(tài),直到服務(wù)注入器136發(fā)送將服務(wù)B116改變到被啟動(dòng)或活動(dòng)狀態(tài)的啟動(dòng)信號為止。以類似的方式,服務(wù)注入器136可被用來組織服務(wù)的更新、停止和去除。一旦服務(wù)B116的映射已經(jīng)發(fā)生,并且服務(wù)B116已經(jīng)在設(shè)備104上安裝和啟動(dòng),則服務(wù)B116的執(zhí)行可以按需要繼續(xù)。在下列例子中,參考服務(wù)C138,服務(wù)C138要被部署到傳感器網(wǎng)絡(luò)102的一個(gè)或更多個(gè)設(shè)備上。即假設(shè)已經(jīng)接收到映射和部署服務(wù)C138的請求,從而相應(yīng)地服務(wù)映射器126的后續(xù)映射可以繼續(xù)下去。如此一來,并依據(jù)上面的解釋,應(yīng)該理解服務(wù)C138最終可以被部署到設(shè)備104、106、108、110中被確定為最適于執(zhí)行服務(wù)C138的任何一個(gè)。在下面的例子中,如圖1中所示,將服務(wù)C138一般地作為至少被映射和部署到設(shè)備104來討論。在執(zhí)行所述映射時(shí),服務(wù)映射器126可以包括映射系統(tǒng)140。如所描述的那樣,映射系統(tǒng)140可被配置成接收針對服務(wù)部署的請求(例如從輸入部署指定服務(wù)的請求的用戶,或者與要求部署服務(wù)的業(yè)務(wù)過程相結(jié)合地)?;谒稣埱螅成湎到y(tǒng)140可以確定服務(wù)C138應(yīng)該被映射和部署到傳感器網(wǎng)絡(luò)102的至少一個(gè)設(shè)備上,并且相應(yīng)地,可以從服務(wù)庫120確定服務(wù)C138的服務(wù)可執(zhí)行122以及相關(guān)聯(lián)的服務(wù)元數(shù)據(jù)124。然后,可以例如使用網(wǎng)絡(luò)監(jiān)視器128,為多個(gè)設(shè)備104、106、108、110中的一些或全部獲得當(dāng)前的設(shè)備元數(shù)據(jù)130。然后,映射系統(tǒng)140可以基于服務(wù)元數(shù)據(jù)124和設(shè)備元數(shù)據(jù)130(和/或基于網(wǎng)絡(luò)元數(shù)據(jù)132)從多個(gè)設(shè)備104、106、108、110中確定被選擇的設(shè)備(例如設(shè)備104)。但是,在某些情況下,可能有映射系統(tǒng)140所開始的這種映射和部署不成功或者只部分地成功的情況。例如,從上面的描述可以理解,為了讓服務(wù)C138的成功部署發(fā)生,在部署時(shí)可以要求存在可允許部署條件142。例如,可允許部署條件142可以包括例如部署約束134得到滿足,或者與傳感器網(wǎng)絡(luò)102的設(shè)備相關(guān)聯(lián)的設(shè)備約束(在設(shè)備元數(shù)據(jù)130中指定)可以充分地滿足與服務(wù)C138相關(guān)聯(lián)的服務(wù)要求(在服務(wù)元數(shù)據(jù)124中指定)。例如,在后一種情況中,服務(wù)C138可能要求一定量的空閑存儲器,或者一定的處理器速度,從而使得與給定設(shè)備,例如與設(shè)備104相關(guān)聯(lián)(例如和存儲器114或CPU112相關(guān)聯(lián))的設(shè)備約束可能不足以滿足該服務(wù)要求,特別是在服務(wù)B116和服務(wù)D118已經(jīng)由設(shè)備104承載和運(yùn)行的情況下。然后,在圖1的例子中,應(yīng)該理解術(shù)語“部署條件”、“可允許部署條件”,或者類似的術(shù)語至少可以部分地指示針對傳感器網(wǎng)絡(luò)102存在(或者期望/要求存在)的物理?xiàng)l件中的條件,例如在傳感器網(wǎng)絡(luò)102上部署的服務(wù)的數(shù)量或類型,存在或可供部署服務(wù)的存儲器114的量,或者部署約束。換句話說,在特定時(shí)間的特定部署的語境中,這些部署條件可能覆蓋,或者可能包含服務(wù)元數(shù)據(jù)124、設(shè)備元數(shù)據(jù)130、網(wǎng)絡(luò)元數(shù)據(jù)132,或者部署約束134中的一些或者全部。因此,這些部署條件可能代表服務(wù)元數(shù)據(jù)124、設(shè)備元數(shù)據(jù)130、網(wǎng)絡(luò)元數(shù)據(jù)132或部署約束134之間的匹配或者滿足(或者缺乏匹配或者滿足),以用于(在這種情況下)將服務(wù)C138部署到傳感器網(wǎng)絡(luò)102上。這樣,這些部署條件可以全部或者部分地被表示為例如XML文檔,所述XML文檔描述供映射系統(tǒng)140使用的相關(guān)聯(lián)的物理?xiàng)l件(由可允許部署條件142所代表),其中,在給定時(shí)間的這些XML文檔的參數(shù)可以從服務(wù)庫120、網(wǎng)絡(luò)監(jiān)視器128和部署約束134確定。例如,如上所提到的,在圖1的示例中,要部署的服務(wù)C138可能與服務(wù)元數(shù)據(jù)124相關(guān)聯(lián),所述服務(wù)元數(shù)據(jù)124可以包括要成功地部署和執(zhí)行服務(wù)C138所需的對服務(wù)C138的要求。每個(gè)這樣的要求可以在服務(wù)庫120中作為可接受的值的范圍(例如從最小可接受的值到最大可接受的值)而不是單個(gè)值來提供。例如,服務(wù)C138可以與服務(wù)要求相關(guān)聯(lián),所述服務(wù)要求指定服務(wù)C138應(yīng)當(dāng)僅被部署到具有在某個(gè)指定的范圍內(nèi),例如在最小一最大范圍內(nèi)的可用存儲器、電池功率和/或傳輸速度的設(shè)備。在圖1中圖示的一個(gè)示例中,可以有這樣的情況,即服務(wù)映射器126第一次嘗試將服務(wù)C138映射和部署到傳感器網(wǎng)絡(luò)102上,并且通過這樣做可以確定設(shè)備104是用于接收服務(wù)138的最可能的候選設(shè)備,(這是由于,例如,設(shè)備104的本地能力/功能性,或由于設(shè)備104(和相關(guān)聯(lián)的設(shè)備約束)是匹配與服務(wù)C138相關(guān)聯(lián)的服務(wù)要求的所有可用設(shè)備中最接近的設(shè)備)。如上所述,部署約束134一般可以指全局可用的約束,即,可以指與傳感器網(wǎng)絡(luò)102相關(guān)聯(lián)的全局約束。也如以上所提到的,部署約束134的示例可以包括要求所有部署(或某個(gè)部署)最小化電池使用、最小化存儲器使用、或最小化處理功率的使用的約束。此外,部署約束134可以指定最小化存儲器使用更重要,或者可以指定最小化電池使用更重要,即使結(jié)果出現(xiàn)了次最佳的存儲器使用或處理功率也是如此。因此,例如,在后一種情況中,映射系統(tǒng)140可以選擇設(shè)備104作為極為功率有效的設(shè)備,并且可以因此確定設(shè)備104可能非常適合服務(wù)C138的部署。所部署的服務(wù)可以包括某些使能服務(wù),所述使能服務(wù)在不嚴(yán)格限制相關(guān)聯(lián)的設(shè)備和/或傳感器網(wǎng)絡(luò)102整體的操作的情況下可以不從相關(guān)聯(lián)的設(shè)備去除。例如,可以有這樣的情況,即服務(wù)D118與服務(wù)注入器136的組件或功能性相關(guān)聯(lián),從而使得服務(wù)D118的去除將在以后導(dǎo)致其不可能將新服務(wù)注入到設(shè)備104上。結(jié)果,映射系統(tǒng)140和相關(guān)聯(lián)的算法可以包括用于確保服務(wù)D118不被從設(shè)備104去除的邏輯。服務(wù)映射器126包括這樣的邏輯,所述邏輯可以被配置成對于將一個(gè)或多個(gè)服務(wù)映射到傳感器網(wǎng)絡(luò)102的請求,基于要被映射到傳感器網(wǎng)絡(luò)102的服務(wù)的預(yù)定合成要求,確定包括在映射系統(tǒng)140中的一個(gè)或多個(gè)排序的修補(bǔ)結(jié)構(gòu)144。該排序的修補(bǔ)結(jié)構(gòu)144可以包括這樣的結(jié)構(gòu),例如,表示要安裝在網(wǎng)絡(luò)節(jié)點(diǎn)上的服務(wù)的比特串。此結(jié)構(gòu)中包括的比特值可以被排序成指示按照原子服務(wù)(atomicservice)和合成服務(wù)的層級的服務(wù)次序,所述合成服務(wù)基于傳感器網(wǎng)絡(luò)的一個(gè)或多個(gè)設(shè)備的服務(wù)的合成,所述服務(wù)次序可以包括例如將與每個(gè)原子服務(wù)相對應(yīng)的比特排在位于與相應(yīng)的所請求的服務(wù)的層級次序中依賴于該原子服務(wù)的所有合成服務(wù)相對應(yīng)的比特之前。所述次序還可以包括例如基于原子服務(wù)和合成服務(wù)中的優(yōu)先級的次序。因此,在示例的服務(wù)的處理中,通過以排序的修補(bǔ)結(jié)構(gòu)所指示的次序來處理服務(wù),當(dāng)處理合成服務(wù)時(shí)可能不必回溯,因?yàn)楹铣煞?wù)所依賴的服務(wù)先前可能已經(jīng)被處理了。因此,服務(wù)可以被實(shí)現(xiàn)為單個(gè)或原子服務(wù),它們在執(zhí)行時(shí)基本上是自包含的(self-contained),或者服務(wù)可以被實(shí)現(xiàn)為合成或組合服務(wù),以使得在傳感器網(wǎng)絡(luò)102的不同設(shè)備上運(yùn)行的服務(wù)可以協(xié)作以形成單個(gè)服務(wù)/設(shè)備可能不能以正確或有效的方式提供的合成服務(wù)。合成要求可以包括合成服務(wù)的規(guī)定,諸如任何特定的合成服務(wù)可能需要其它服務(wù)例如安裝在指定位置處和例如處于指定狀態(tài),以使得該特定的合成服務(wù)正確地運(yùn)行。例如,合成要求可以指定服務(wù)W需要服務(wù)X,使得服務(wù)X安裝在與服務(wù)W相同的設(shè)備或節(jié)點(diǎn)上(即,本地位置)并且服務(wù)X處于運(yùn)行狀態(tài)。作為示例,位置可以包括本地、相鄰或網(wǎng)絡(luò)位置,其中本地或相鄰的命名表示服務(wù)的節(jié)點(diǎn)位置相對于合成服務(wù)的節(jié)點(diǎn)位置。示例狀態(tài)可以包括已部署狀態(tài)和啟動(dòng)或運(yùn)行狀態(tài)。服務(wù)合成可以包括復(fù)雜的合成。例如,服務(wù)W可能需要服務(wù)X處于本地位置和啟動(dòng)狀態(tài)、服務(wù)Y處于相鄰位置和已部署狀態(tài),而服務(wù)Z處于網(wǎng)絡(luò)位置和啟動(dòng)狀態(tài)。服務(wù)X、Y和Z可能還需要其它服務(wù)以用于它們的執(zhí)行。因此,服務(wù)W的映射也可能由于其組成而引起所有服務(wù)的映射,如果它們還沒有被映射的話。作為一個(gè)特定示例,服務(wù)C138可以收集和聚集傳感器數(shù)據(jù),例如,室溫,其可能是由服務(wù)D118和服務(wù)E158的每一個(gè)測量并發(fā)送的。服務(wù)映射器126還可以包括被配置成基于排序的修補(bǔ)結(jié)構(gòu)144確定一個(gè)或多個(gè)基世代結(jié)構(gòu)146的邏輯,以及被配置成基于排序的修補(bǔ)結(jié)構(gòu)144和基世代結(jié)構(gòu)146確定一個(gè)或多個(gè)派生世代結(jié)構(gòu)148的邏輯。例如,基世代結(jié)構(gòu)146可以包括表示包括供遺傳算法使用的基因的染色體的結(jié)構(gòu)。派生世代結(jié)構(gòu)148可以包括表示基于基世代結(jié)構(gòu)146和排序的修補(bǔ)結(jié)構(gòu)144由遺傳算法派生出的基因的染色體的結(jié)構(gòu)。基世代結(jié)構(gòu)146和派生世代結(jié)構(gòu)148可以表示二進(jìn)制染色體,其每一個(gè)表示映射問題的潛在解。例如,可以基于網(wǎng)絡(luò)的大小和要部署的服務(wù)的數(shù)目來確定每個(gè)染色體的大小。例如,如果網(wǎng)絡(luò)包括3個(gè)節(jié)點(diǎn)和服務(wù)合成,所述服務(wù)合成例如指示5個(gè)所請求的服務(wù)的服務(wù)合成,并且所述5個(gè)服務(wù)被請求安裝到網(wǎng)絡(luò)上,則示例染色體可以包括15個(gè)二進(jìn)制值,所述15個(gè)二進(jìn)制值是由網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)目乘以所請求的服務(wù)的數(shù)目確定的。每個(gè)示例染色體可以包括5個(gè)部分,每個(gè)部分對應(yīng)于5個(gè)服務(wù)之一,并且每個(gè)部分可以包括3個(gè)基因,每個(gè)基因?qū)?yīng)于3個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)之一。例如,如果基因具有值1,則相應(yīng)的服務(wù)可以被部署至其相應(yīng)的節(jié)點(diǎn)。于是,一個(gè)可能的染色體具有值“001101011111000”。對于此示例,染色體的部分可以以Y、Z、W、X和V的次序來表示服務(wù)。因此,根據(jù)示例染色體,由第一組三個(gè)比特表示的服務(wù)Y可以被安裝在第三節(jié)點(diǎn)上,由第二組三個(gè)比特表示的服務(wù)Z可以被安裝在第一和第三節(jié)點(diǎn)上,服務(wù)W可以安裝在第二和第三節(jié)點(diǎn)上,服務(wù)X可以被安裝在所有節(jié)點(diǎn)上,而服務(wù)V可以根本不被安裝。排序的修補(bǔ)結(jié)構(gòu)144可以包括類似于基世代結(jié)構(gòu)146和派生世代結(jié)構(gòu)148的結(jié)構(gòu)。此外,服務(wù)映射器126可以包括遺傳算法邏輯150,所述遺傳算法邏輯150被配置成基于資源需求邏輯152、服務(wù)合成邏輯154和部署覆蓋范圍(coverage)邏輯156來至少確定排序的修補(bǔ)結(jié)構(gòu)144、基世代結(jié)構(gòu)146和派生世代結(jié)構(gòu)148。服務(wù)合成邏輯154可以包括針對以上討論的將被映射到傳感器網(wǎng)絡(luò)102的服務(wù)的合成要求的邏輯。作為進(jìn)一步的示例,圖1的合成服務(wù)A160可以使用服務(wù)B116、和服務(wù)C138,服務(wù)C138還使用服務(wù)D118和服務(wù)E158。因此,服務(wù)合成邏輯154可以被配置成映射合成服務(wù),以確保例如關(guān)于將服務(wù)A160映射到傳感器網(wǎng)絡(luò)102的設(shè)備的請求將導(dǎo)致所有服務(wù)A160、服務(wù)B116、服務(wù)C138、服務(wù)D118和服務(wù)E158到傳感器網(wǎng)絡(luò)102上的設(shè)備的適當(dāng)?shù)挠成?。因此,對于此示例,可以映射整個(gè)合成層級。部署覆蓋范圍邏輯156可以包括針對與要映射到傳感器網(wǎng)絡(luò)102的設(shè)備上的服務(wù)相關(guān)聯(lián)的部署覆蓋范圍要求的邏輯。部署覆蓋范圍要求可以指示應(yīng)當(dāng)被安裝在網(wǎng)絡(luò)中以支持特定服務(wù)的平滑的功能性的所述特定服務(wù)的實(shí)例的數(shù)目。部署覆蓋范圍可以被表示為絕對指示符,例如,服務(wù)必須被映射到5個(gè)節(jié)點(diǎn),或相對指示符,例如,服務(wù)必須被映射到25%的相關(guān)節(jié)點(diǎn)。因此,部署約束134可以提供用于執(zhí)行給定服務(wù)映射/部署的全局或管理策略。因此,部署覆蓋范圍要求可以通過將服務(wù)映射到傳感器網(wǎng)絡(luò)102的設(shè)備來滿足。例如,世代,例如基世代結(jié)構(gòu)146和派生世代結(jié)構(gòu)148,可以包括被稱為染色體的一組世代結(jié)構(gòu),所述染色體表示服務(wù)映射問題的一組潛在的解。第一世代染色體,例如基世代結(jié)構(gòu)146,可以由遺傳算法邏輯150隨機(jī)地生成。排序的修補(bǔ)結(jié)構(gòu)144中的至少一個(gè)可以被用于檢查每個(gè)隨機(jī)生成的染色體上的資源要求。在創(chuàng)建基世代結(jié)構(gòu)146之后,可以由遺傳算法邏輯150應(yīng)用進(jìn)化技術(shù)來生成第二或派生世代結(jié)構(gòu)148。遺傳算法的選擇技術(shù)可以被用于從基世代結(jié)構(gòu)146中選擇最佳的結(jié)構(gòu)(例如,染色體)以用于生成派生世代結(jié)構(gòu)148。遺傳算法的重組或交叉技術(shù)可以應(yīng)用到來自基世代結(jié)構(gòu)146的一組最佳染色體,但是,根據(jù)預(yù)定的概率,所述染色體中的一些可能無需變化就被接受以用于派生世代。為了實(shí)現(xiàn)更好的多樣性,一些染色體可以根據(jù)預(yù)定的突變概率突變。在創(chuàng)建每個(gè)新種群或派生世代之后,可以修補(bǔ)每個(gè)染色體并且可以基于不適合度/適合度函數(shù)來確定所述每個(gè)染色體的不適合度/適合度。作為示例,不適合度函數(shù)可以根據(jù)例如可能包括在服務(wù)元數(shù)據(jù)124、網(wǎng)絡(luò)元數(shù)據(jù)132、部署約束134和/或可允許部署條件142中的信息,來測定作為由染色體指示的映射的結(jié)果要被部署的特定服務(wù)的實(shí)例的數(shù)目與要求部署的特定服務(wù)的實(shí)例的數(shù)目之間的差。由于映射問題可以是受約束的,因此特定于問題的知識可以通過修補(bǔ)過程和不適合度函數(shù)而被應(yīng)用在遺傳算法邏輯150的遺傳算法技術(shù)中以便解決映射問題的約束滿足方面。因此,在生成每個(gè)種群或世代之后,可以修改所生成的種群的染色體;例如,可以修改染色體以便滿足所期望的約束。例如,資源要求邏輯152可以確定是否滿足所有的資源要求。出于此目的,遺傳算法邏輯150可以生成要被安裝在每個(gè)節(jié)點(diǎn)上的服務(wù)的列表,并且基于對所述節(jié)點(diǎn)的可用資源的分析來確定是否可以安裝所有的服務(wù)。如果不可以在所述節(jié)點(diǎn)上安裝所有的服務(wù),則可以將所述染色體的某些基因設(shè)置為0,以指示某些服務(wù)不可以安裝在所述節(jié)點(diǎn)上,從而可以滿足資源要求。服務(wù)合成邏輯154可以包括基于對是否滿足合成要求的確定來修補(bǔ)染色體。例如,合成要求可以指定服務(wù)X必須安裝在與服務(wù)Y相同的節(jié)點(diǎn)內(nèi)。如果,對于某些服務(wù)來說沒有滿足所述合成要求,則也可以將相應(yīng)染色體的相應(yīng)基因設(shè)置為0。部署覆蓋范圍邏輯156還可以評估部署覆蓋范圍要求。因此,例如,如果存在過多的根據(jù)特定的染色體而要被安裝的特定服務(wù)的實(shí)例,則可以將所述染色體的相應(yīng)數(shù)目的基因設(shè)置為0以避免違反可能包括在部署約束134中的部署覆蓋范圍要求(例如,由于超過允許的服務(wù)實(shí)例的數(shù)目)。因此,修補(bǔ)過程可以確保每個(gè)染色體代表至少部分可行的解,因?yàn)槔缈赡芴俚姆?wù)實(shí)例被映射到網(wǎng)絡(luò)。為了避免此問題,可以通過不適合度函數(shù)來確定所有染色體的不適合度,以便如果染色體的不適合度等于0,則該染色體代表可行的解。例如,不適合度函數(shù)可以被定義為所允許的實(shí)例的數(shù)目和要被安裝的實(shí)例的實(shí)際數(shù)目之間的差,從而使得不適合度值0指示針對部署覆蓋范圍要求的最佳解,其中所述部署覆蓋范圍要求是有關(guān)允許被安裝的實(shí)例數(shù)目的。如圖1中所示,服務(wù)映射器126可以包括要全部或部分地在計(jì)算機(jī)162上或任何適當(dāng)?shù)挠?jì)算設(shè)備上執(zhí)行的軟件,計(jì)算機(jī)162例如個(gè)人計(jì)算機(jī)、工作站。例如,用戶或管理員可以將一些或全部的服務(wù)映射器126軟件安裝到計(jì)算機(jī)162上,并且可以使用在相關(guān)顯示器觀看的圖形用戶界面(GUI)與服務(wù)映射器126軟件交互。在另一個(gè)例子中,可以通過例如因特網(wǎng)的廣域網(wǎng)將一些或全部服務(wù)映射器126安裝在遠(yuǎn)程計(jì)算機(jī)上,并且用戶可以通過所述網(wǎng)絡(luò)訪問服務(wù)映射器126,例如作為基于網(wǎng)絡(luò)的圖形用戶接口。例如,這些GUI,無論是本地的還是基于網(wǎng)絡(luò)的,均可以包括允許用戶設(shè)置部署約束134,更改服務(wù)元數(shù)據(jù)124,或者開發(fā)/修改服務(wù)可執(zhí)行和/或?qū)⒎?wù)可執(zhí)行注冊到服務(wù)庫120的字段或其他輸入/輸出技術(shù)。用戶也可以使用GUI或其他適合的用戶接口來例如開始服務(wù)映射(例如選擇用于期望的映射的服務(wù)和/或傳感器網(wǎng)絡(luò)),或者設(shè)置與服務(wù)映射器126相關(guān)聯(lián)的參數(shù)。服務(wù)映射器126可以和全部或部分地在計(jì)算機(jī)162上執(zhí)行或在遠(yuǎn)程計(jì)算機(jī)和/或網(wǎng)絡(luò)上執(zhí)行的業(yè)務(wù)過程進(jìn)行通信。例如,所述業(yè)務(wù)過程可位于公司總部,并且傳感器網(wǎng)絡(luò)102可以代表很多(類型的)網(wǎng)絡(luò)之一,所述網(wǎng)絡(luò)可以分散為跨越由廣域網(wǎng)連接的廣大地理區(qū)域。因此,后端業(yè)務(wù)過程、服務(wù)庫120、網(wǎng)絡(luò)監(jiān)視器128、服務(wù)注入器136,或者傳感器網(wǎng)絡(luò)102中的任何一個(gè)或者全部,都可以跨越由廣域網(wǎng)連接的相對較大的地理區(qū)域而彼此分散,所述廣域網(wǎng)可以包括例如因特網(wǎng)或者企業(yè)范圍的私有網(wǎng)絡(luò)。服務(wù)庫120、部署約束134、服務(wù)注入器136,以及網(wǎng)絡(luò)監(jiān)視器128可以被全部或部分地安裝在計(jì)算機(jī)162上,例如可以被存儲在計(jì)算機(jī)162的存儲器中。例如,網(wǎng)絡(luò)監(jiān)視器128可以包括在計(jì)算機(jī)162上執(zhí)行的服務(wù)器組件,例如應(yīng)用服務(wù)器。同時(shí),如上面所提到的那樣,例如至少服務(wù)映射器126、系統(tǒng)監(jiān)視器128以及服務(wù)注入器136的一部分可以在包括例如便攜式計(jì)算設(shè)備(例如便攜式計(jì)算機(jī)或個(gè)人數(shù)字助理(PDA))的分離的計(jì)算設(shè)備上存儲/執(zhí)行,或者可以在傳感器網(wǎng)絡(luò)102的設(shè)備104、106、108、110中的一個(gè)或更多個(gè)上存儲/執(zhí)行。用于在計(jì)算機(jī)162(或其他剛才描述計(jì)算機(jī)162的例子或變化)和傳感器網(wǎng)絡(luò)102的設(shè)備之間通信的技術(shù)可以例如隨設(shè)備的類型而改變。例如,設(shè)備和/或嵌入式系統(tǒng)可以代表從小規(guī)模、單片微型計(jì)算機(jī)一直到完全成熟的PC硬件的任何東西。因此,例如,對于具有移動(dòng)電話的能力或者更多能力(例如能夠運(yùn)行JavaVirtualMachineTM(Java虛擬機(jī)TM)或其他中間件平臺)的設(shè)備,實(shí)現(xiàn)方式可以以JavaTM執(zhí)行和/或基于開放服務(wù)網(wǎng)關(guān)規(guī)范(OpenServicesGatewayinitiative,OSGi)執(zhí)行,OSGi代表用于實(shí)現(xiàn)遠(yuǎn)程安裝和管理應(yīng)用和/或應(yīng)用組件的組件模型的已知框架。圖2是流程圖200,其示出了圖1的系統(tǒng)的示范性操作。在圖2中,如上面所提到的那樣,相關(guān)聯(lián)的過程和操作可以由希望使用傳感器網(wǎng)絡(luò)102的特定(例如當(dāng)前未在運(yùn)行的)服務(wù)(例如注冊到服務(wù)庫120的服務(wù))的用戶或業(yè)務(wù)應(yīng)用開始或請求。因此,在圖2中,如上面所提到的那樣,確定服務(wù)元數(shù)據(jù)(202),服務(wù)元數(shù)據(jù)可以包括或反映潛在的設(shè)備為了能夠承載指定的、相關(guān)聯(lián)的服務(wù)(例如承載來自服務(wù)庫120的服務(wù)可執(zhí)行122的相應(yīng)的可執(zhí)行代碼組件)而應(yīng)該滿足的服務(wù)要求(例如處理器類型、可用存儲器或被請求的帶寬)。如上所述,至少這些要求中的一些可以定義可測量的屬性,例如可用存儲器的可接受/可容許的范圍。類似地,可以收集部署約束(204),例如部署約束134,它可以包括例如更多的全局約束,例如期望數(shù)量的首選或要求承載所討論的服務(wù)的設(shè)備(換句話說,傳感器網(wǎng)絡(luò)102的期望覆蓋范圍)。即,例如,盡管服務(wù)C138在圖1中被示為部署到單個(gè)設(shè)備104,但是從傳感器網(wǎng)絡(luò)102的本質(zhì)和可能的使用應(yīng)該理解,在很多情況下,服務(wù)C138的實(shí)例可以被部署到傳感器網(wǎng)絡(luò)102的多個(gè)設(shè)備104、106、108、110。以這種方式,例如,可以在足夠廣的物理區(qū)域上部署用于檢測溫度(或其他物理或環(huán)境參數(shù))的服務(wù)。又例如,服務(wù)B116的多個(gè)實(shí)例可以被部署到不同的設(shè)備,例如,設(shè)備104、110,以便獲得系統(tǒng)100的期望水平的冗余。一般來說,然后,服務(wù)元數(shù)據(jù)124(和相關(guān)聯(lián)的服務(wù)要求)以及部署約束134代表可被存儲在適當(dāng)?shù)拇鎯ζ骰驍?shù)據(jù)儲存器(store)中并可以從所述存儲器或數(shù)據(jù)儲存器訪問的信息。例如,服務(wù)要求以及任何相應(yīng)的數(shù)據(jù)可以由服務(wù)組件的開發(fā)者指定,并存儲在服務(wù)映射器126可用的正確格式的文件或數(shù)據(jù)庫中。例如,盡管圖1示出服務(wù)元數(shù)據(jù)124存儲在服務(wù)庫120中,和部署約束134分開存儲,但是應(yīng)該理解,可以使用任何適當(dāng)?shù)拇鎯Ψ桨福焕?,服?wù)元數(shù)據(jù)124和部署約束134可以一起(或彼此相關(guān)聯(lián)地)存儲在與一般要求數(shù)據(jù)存儲器相關(guān)聯(lián)的存儲器中。無論如何存儲,服務(wù)要求和部署約束134,或者其他要求,都可以和滿足優(yōu)先級相關(guān)聯(lián),所述滿足優(yōu)先級被設(shè)計(jì)成指示每個(gè)相關(guān)類型的要求的重要性。例如,這樣的滿足優(yōu)先級可以指示使用某種處理器類型(例如CPU112)可能比在安裝服務(wù)C138以后剩余的存儲器(例如在存儲器114中剩余地存儲器)更重要。仍如上面所提到的那樣,一般被應(yīng)用于傳感器網(wǎng)絡(luò)102的服務(wù)(及其部署)的這些滿足優(yōu)先級信息,可以用于例如(在一定范圍內(nèi))減少服務(wù)要求、重新配置傳感器網(wǎng)絡(luò)102,或者從傳感器網(wǎng)絡(luò)102去除服務(wù)組件。還是在圖2中,第二類型的基本輸入數(shù)據(jù)包括關(guān)于傳感器網(wǎng)絡(luò)102中的設(shè)備的當(dāng)前可用能力的信息,或者關(guān)于傳感器網(wǎng)絡(luò)102自身的當(dāng)前可用能力的信息。因此,設(shè)備元數(shù)據(jù)130可以被收集(206),例如它可以包括傳感器網(wǎng)絡(luò)102的設(shè)備104、106、108、110中的一個(gè)或更多個(gè)設(shè)備的各種靜態(tài)參數(shù)(例如銷售商名稱、CPU類型,或安裝/運(yùn)行的服務(wù)組件的列表),以及各種動(dòng)態(tài)變化的參數(shù)(例如剩余電池或存儲器)。再有,網(wǎng)絡(luò)元數(shù)據(jù)132可以被收集(208),其例如可以包括關(guān)于傳感器網(wǎng)絡(luò)102的拓?fù)涞男畔?例如,相鄰關(guān)系,或設(shè)備之間的可用帶寬)。如從圖1的描述所理解的那樣,設(shè)備元數(shù)據(jù)130和網(wǎng)絡(luò)元數(shù)據(jù)132可以由網(wǎng)絡(luò)監(jiān)視器128收集。例如,在一種實(shí)現(xiàn)方式中,網(wǎng)絡(luò)監(jiān)視器128的監(jiān)視過程可以假設(shè)目標(biāo)設(shè)備104、106、108、110具有關(guān)于其能力和當(dāng)前狀態(tài)的信息。例如,設(shè)備104、106、108、110可以存儲、連續(xù)更新(如果要求的話)和檢索與監(jiān)視相關(guān)的數(shù)據(jù)。網(wǎng)絡(luò)監(jiān)視器128可以主動(dòng)從設(shè)備104、106、108、110請求相關(guān)的數(shù)據(jù),和/或設(shè)備104、106、108、110可以自動(dòng)地指示當(dāng)前配置中的變化。例如,設(shè)備104可以包括服務(wù)D118,服務(wù)D118可以是網(wǎng)絡(luò)監(jiān)視器128的一部分,或與網(wǎng)絡(luò)監(jiān)視器128相關(guān)聯(lián),并且它可以指示設(shè)備104的電池狀態(tài)(或者實(shí)際上的任何其他參數(shù))是否達(dá)到了預(yù)定義的水平,例如被確定是臨界低的水平。此外,可以基于服務(wù)信息的合成由例如圖1的服務(wù)映射器126來確定排序的修補(bǔ)結(jié)構(gòu)144(210)。如從對圖1的描述所理解的那樣,可以基于例如原子服務(wù)和合成服務(wù)的層級次序、并且至少基于例如存儲在服務(wù)元數(shù)據(jù)124和網(wǎng)絡(luò)元數(shù)據(jù)132中的信息來確定排序的修補(bǔ)結(jié)構(gòu)144,所述層級次序例如使得次序包括次序中的特定服務(wù)位于依賴于該特定服務(wù)的任何服務(wù)之前?;谏鲜鲚斎霐?shù)據(jù)(202-210),以及如從對圖1的描述所理解的那樣,服務(wù)映射器126可以至少執(zhí)行遺傳算法邏輯150來確定基世代(212)并基于所確定的基世代的結(jié)果(212)來確定派生世代(214)。然后,服務(wù)映射器126基于對派生世代的確定(214),可以執(zhí)行所請求的服務(wù)到傳感器網(wǎng)絡(luò)102的設(shè)備的映射(216)。然后,服務(wù)映射的輸出可以包括用于執(zhí)行代碼注入的一組指令(218)。具體來說,在服務(wù)的成功映射之后,服務(wù)注入器136可以被用來將可執(zhí)行服務(wù)組件傳送到各個(gè)所選擇的設(shè)備。取決于與服務(wù)網(wǎng)絡(luò)102相關(guān)聯(lián)的可用網(wǎng)絡(luò)基礎(chǔ)設(shè)施,例如可以以逐設(shè)備的方式執(zhí)行代碼注入,其中服務(wù)注入器136可以發(fā)送包含適當(dāng)命令的消息至目標(biāo)節(jié)點(diǎn),所述命令例如“去除服務(wù)B116并安裝服務(wù)C138”。在此情況中,適當(dāng)?shù)姆?wù)可執(zhí)行可以從服務(wù)庫120被發(fā)送至設(shè)備104。一旦設(shè)備接收到來自服務(wù)注入器136的某組命令和服務(wù),服務(wù)就可以被激活(220)。這種激活可能部分地取決于和所述設(shè)備相關(guān)聯(lián)的特定的相關(guān)硬件平臺。圖3是圖示可以由圖1的系統(tǒng)使用的示例的服務(wù)合成層級300的框圖。根據(jù)服務(wù)合成層級300,圖3的合成服務(wù)A160可以使用服務(wù)B116和服務(wù)C118,服務(wù)C138進(jìn)一步使用服務(wù)D118和服務(wù)E158。服務(wù)B116可能需要運(yùn)行在與服務(wù)A160相同的節(jié)點(diǎn)上(即,本地運(yùn)行),而服務(wù)C138可能需要運(yùn)行在與服務(wù)A160的節(jié)點(diǎn)相鄰的節(jié)點(diǎn)上。此外,服務(wù)D118可能需要運(yùn)行在與服務(wù)C138相同的節(jié)點(diǎn)上,而服務(wù)E158可能僅需要運(yùn)行在與服務(wù)C138相同的網(wǎng)絡(luò)上。因此,例如,圖1的服務(wù)合成邏輯154可以被配置成將合成服務(wù)A160和原子服務(wù)B116映射到圖1的設(shè)備110,附加地將合成服務(wù)C138和原子服務(wù)D118映射到設(shè)備104,此外將原子服務(wù)E158映射到傳感器網(wǎng)絡(luò)102的設(shè)備108,從而基于服務(wù)合成層級300滿足服務(wù)A160的合成要求。圖4是圖示可以由圖1的系統(tǒng)使用的示例的排序的服務(wù)列表400的框圖。圖4中示出的示例排序的服務(wù)列表400基于圖3的示例服務(wù)合成層級300。排序的服務(wù)列表400可以是例如作為請求對服務(wù)進(jìn)行映射的結(jié)果而將被映射到網(wǎng)絡(luò)的服務(wù)的列表。例如,如果請求將服務(wù)A460安裝到網(wǎng)絡(luò)上/映射到網(wǎng)絡(luò),則來自其合成的所有服務(wù),即服務(wù)B416、服務(wù)C438、服務(wù)D418和服務(wù)E458都應(yīng)當(dāng)被安裝。在該示例中,排序的服務(wù)列表400包括五個(gè)服務(wù),即服務(wù)A460、服務(wù)B416、服務(wù)C438、服務(wù)D418和服務(wù)E458。然后,可以根據(jù)諸如圖3的示例服務(wù)合成層級300的合成樹對所述列表進(jìn)行排序。因此,例如,作為排序的結(jié)果,原子服務(wù)的指示符可以位于列表的開始,而其它服務(wù)的指示符可以根據(jù)在合成樹中的層級而位于列表中。因此示例排序可以提供服務(wù)次序,從而使得在列表中位于位置j的服務(wù)不需要在列表中位于位置i的服務(wù),其中1<=j(luò)<列表的大小,而j<i<=列表的大小。例如,排序的服務(wù)列表400可以指示根據(jù)順序服務(wù)D418、服務(wù)E458、服務(wù)B416、服務(wù)C438、服務(wù)A460排序的服務(wù)。因此,所述次序可以指示服務(wù)D418不需要服務(wù)E458、服務(wù)B416、服務(wù)C438和服務(wù)A460,并且服務(wù)E458不需要服務(wù)B416、服務(wù)C438、服務(wù)A460,服務(wù)B416不需要服務(wù)C438和服務(wù)A460,并且服務(wù)C438不需要服務(wù)A460。因此,列表中服務(wù)的順序可以便利作為圖1的遺傳算法邏輯150的一部分的更高效的修補(bǔ)過程,還將參考6-9來討論所述修補(bǔ)過程。更具體來說,例如,通過按照次序考慮服務(wù)而開始染色體的修補(bǔ),并且通過根據(jù)排序的服務(wù)列表400所指示的次序考慮每個(gè)服務(wù)來進(jìn)行修補(bǔ)過程,則對服務(wù)j執(zhí)行的修補(bǔ)就可以不需要進(jìn)一步考慮對服務(wù)j可能依賴的服務(wù)的修補(bǔ)所產(chǎn)生的影響,因?yàn)榘创涡蛞呀?jīng)為了修補(bǔ)而考慮了那些服務(wù)。圖5是圖示可以由圖1的系統(tǒng)使用的示例排序的修補(bǔ)結(jié)構(gòu)500的框圖。然而,排序的修補(bǔ)結(jié)構(gòu)500指示了包括3個(gè)節(jié)點(diǎn)的示例網(wǎng)絡(luò),而圖1的示例傳感器網(wǎng)絡(luò)102包括4個(gè)節(jié)點(diǎn),或設(shè)備104、106、108、110。該示例排序的修補(bǔ)結(jié)構(gòu)500可以被例如在確定基世代結(jié)構(gòu)146以及派生世代結(jié)構(gòu)148中被圖1的遺傳算法邏輯150用來對資源要求滿足進(jìn)行高水平的預(yù)分析。示例排序的修補(bǔ)結(jié)構(gòu)500可以被類似地表示成被表示為染色體的映射問題的潛在的解,所述染色體可以被實(shí)現(xiàn)為例如一串二進(jìn)制值。染色體的大小可以被確定為傳感器網(wǎng)絡(luò)102的節(jié)點(diǎn)的數(shù)目乘以要被映射的服務(wù)的數(shù)目。如圖所示,示例排序的修補(bǔ)結(jié)構(gòu)500指示網(wǎng)絡(luò)中包括的3個(gè)節(jié)點(diǎn),并且有5個(gè)服務(wù)被請求安裝,例如服務(wù)A560、服務(wù)B516、服務(wù)C538、服務(wù)D518和服務(wù)E558。因此,圖5所表示的染色體包括15個(gè)基因,每個(gè)基因指示特定服務(wù)是否將被映射到網(wǎng)絡(luò)中的特定節(jié)點(diǎn)。因此,根據(jù)圖5的表示,染色體的第一組3個(gè)基因可以表示第一服務(wù)的映射,接下來的3個(gè)基因可以表示第二服務(wù)的映射,等等。因此,染色體的每個(gè)基因可以具有二進(jìn)制值,例如,如果基因的值為1,則相應(yīng)的服務(wù)可以被映射到相關(guān)聯(lián)的節(jié)點(diǎn),否則相應(yīng)的服務(wù)不可以被映射到相關(guān)聯(lián)的節(jié)點(diǎn)。示例修補(bǔ)結(jié)構(gòu)500的大小可以對應(yīng)于基世代結(jié)構(gòu)146的每一個(gè)的大小,所述基世代結(jié)構(gòu)146也可以包括二進(jìn)制值。當(dāng)然可以使用其它類型的值,例如,浮點(diǎn)、字符、串、列表等。因此,排序的修補(bǔ)結(jié)構(gòu)500的每個(gè)值可以指示相應(yīng)服務(wù)到網(wǎng)絡(luò)中相應(yīng)節(jié)點(diǎn)的安裝。因此,排序的修補(bǔ)結(jié)構(gòu)500值1可以指示相應(yīng)的所代表的服務(wù)可以被安裝到相應(yīng)的所代表的節(jié)點(diǎn)(即,如果安裝服務(wù),則不會(huì)違反資源約束),而值0可以指示不能在該節(jié)點(diǎn)上安裝該服務(wù),例如,原因是節(jié)點(diǎn)不能提供足夠的資源來支持該服務(wù),或者在該節(jié)點(diǎn)上已經(jīng)安裝了該服務(wù)。對于以104、110、108的次序包括諸如圖1的設(shè)備104、108、110的三個(gè)設(shè)備的傳感器網(wǎng)絡(luò)來說,示例排序的修補(bǔ)結(jié)構(gòu)500可以基于圖1的服務(wù)元數(shù)據(jù)124、設(shè)備元數(shù)據(jù)130、網(wǎng)絡(luò)元數(shù)據(jù)132和部署約束134、圖4的示例排序的服務(wù)列表400、以及圖3的示例服務(wù)合成層級300。因此,將服務(wù)A160映射到傳感器網(wǎng)絡(luò)102的請求可以導(dǎo)致服務(wù)映射器126將排序的修補(bǔ)結(jié)構(gòu)500初始化為具有值“111101110111010”,所述值指示服務(wù)D518可以被安裝在所有節(jié)點(diǎn)上(即,設(shè)備104、108和110),服務(wù)E558可以被安裝在第一和第三節(jié)點(diǎn)上(即,設(shè)備104和108)、服務(wù)B516可以安裝在第一和第二節(jié)點(diǎn)上(即,設(shè)備104和110),服務(wù)C538可以被安裝在所有節(jié)點(diǎn)上(即,設(shè)備104、108和110),而服務(wù)A560可以被安裝在第二節(jié)點(diǎn)上(即,設(shè)備110)。所示的示例排序的修補(bǔ)結(jié)構(gòu)500不可以解釋幾個(gè)服務(wù)可以被安裝在同一節(jié)點(diǎn)上的情形。在該示例中,根據(jù)排序的修補(bǔ)結(jié)構(gòu)500,服務(wù)D518、服務(wù)E558、服務(wù)B516和服務(wù)C538中的任何一個(gè)可以單獨(dú)安裝在第一節(jié)點(diǎn)上,但是示例排序的修補(bǔ)結(jié)構(gòu)500不可以指示服務(wù)D518、服務(wù)E558、服務(wù)B516和服務(wù)C538是否可以全部被同時(shí)安裝第一節(jié)點(diǎn)上。圖6是圖示圖1的系統(tǒng)100的附加示例操作的流程圖600。例如作為請求服務(wù)映射的結(jié)果,可以確定(602)要被映射到傳感器網(wǎng)絡(luò)102的服務(wù)的列表,例如,參考4所討論的排序的服務(wù)列表400。例如,如果服務(wù)A160要被安裝/映射到網(wǎng)絡(luò),則來自其合成的所有服務(wù),即服務(wù)B116、服務(wù)C138、服務(wù)D118和服務(wù)E158都可以被安裝。在此示例中,排序的服務(wù)列表400可以包括5個(gè)服務(wù),即服務(wù)A460、服務(wù)B416、服務(wù)C438、服務(wù)D418和服務(wù)E458。然后,所述列表可以例如根據(jù)合成樹,例如示例的服務(wù)合成層級300,而被排序。因此,例如,作為排序的結(jié)果,原子服務(wù)可以位于列表的開始,而其它服務(wù)可以以對應(yīng)于合成樹中的層級的次序位于列表中。如從圖4的描述所理解的那樣,列表中服務(wù)的順序可以因此而便利由圖1的遺傳算法邏輯150進(jìn)行的對基世代結(jié)構(gòu)146和派生世代結(jié)構(gòu)148的更高效的修補(bǔ)??梢曰趫D1的服務(wù)元數(shù)據(jù)124、設(shè)備元數(shù)據(jù)130、網(wǎng)絡(luò)元數(shù)據(jù)132和部署約束134、圖4的示例排序的服務(wù)列表400、以及圖3的示例服務(wù)合成層級300來確定修補(bǔ)矢量,所述修補(bǔ)矢量例如參考5所討論的排序的修補(bǔ)結(jié)構(gòu)500??梢猿跏蓟瘮?shù)據(jù)結(jié)構(gòu)(未示出)以用于至少存儲用于確定基世代結(jié)構(gòu)146和派生世代結(jié)構(gòu)148的染色體和種群??梢岳绺鶕?jù)與資源約束的預(yù)分析、高層應(yīng)用相結(jié)合的遺傳算法技術(shù)、通過隨機(jī)過程來確定(606)第一種群,例如,基世代結(jié)構(gòu)146,附加地確定所請求的服務(wù)是否可能已經(jīng)被安裝在節(jié)點(diǎn)網(wǎng)絡(luò)102的節(jié)點(diǎn)上,這可以基于排序的修補(bǔ)結(jié)構(gòu)500來實(shí)現(xiàn),這可以例如通過使用邏輯與(AND)運(yùn)算而被應(yīng)用到所有染色體,例如基世代結(jié)構(gòu)146。種群的隨機(jī)生成還可能生成映射問題的無效和不完整的(incomplete)解,其被表示為例如無效染色體。如從圖1的描述可理解的那樣,在生成種群之后,可以修補(bǔ)無效的染色體。此外,可以基于不適合度函數(shù)來確定染色體,例如基世代結(jié)構(gòu)146,所表示的解的不完整性。如從圖1的描述所理解的那樣,可以修補(bǔ)(608)具有無效組合的例如被表示為基染色體的基世代結(jié)構(gòu)146。在已經(jīng)修補(bǔ)了所有基世代結(jié)構(gòu)146,例如基染色體之后,它們可能表示有效解,所述有效解可以滿足資源和合成約束。此外,如從圖1的描述所理解的那樣,修補(bǔ)過程可以規(guī)定經(jīng)修補(bǔ)的基世代結(jié)構(gòu)146所表示的解不違反要被映射的每個(gè)服務(wù)的部署覆蓋范圍。然而,基世代結(jié)構(gòu)146或染色體可能表示不完整的解,例如,部署覆蓋范圍條件可能沒有被滿足。因此,例如可以通過確定期望的部署覆蓋(例如具有值10)和基于實(shí)際染色體的部署覆蓋范圍(例如具有值8)之間的差來確定每個(gè)基世代結(jié)構(gòu)146或染色體的不適合度(610),由此產(chǎn)生各個(gè)基世代結(jié)構(gòu)146或染色體的不適合度值(例如值2)。如從圖1的描述所理解的那樣,可以例如通過圖1的部署覆蓋范圍邏輯156來確定期望的部署覆蓋范圍??梢曰谶z傳算法選擇技術(shù)來確定(612)派生世代結(jié)構(gòu)148,如參考圖9進(jìn)一步討論的那樣,所述遺傳算法選擇技術(shù)可以被用于選擇可以根據(jù)其創(chuàng)建下個(gè)世代的基世代結(jié)構(gòu)146或染色體??梢员淮_定為“優(yōu)良”染色體的染色體,例如根據(jù)不適合度函數(shù)具有較低不適合度值的染色體,可以被賦予較高的權(quán)重,并且因此可以被分配輪盤賭輪選擇方案(roulettewheelselectionscheme)的較大的部分,由此而導(dǎo)致“優(yōu)良”染色體可能被選擇用于下個(gè)世代,例如派生世代結(jié)構(gòu)148的概率較高。輪盤賭輪模擬(analogy)可以對應(yīng)于例如這樣的輪盤賭輪其中每個(gè)候選解或染色體表示輪上的口袋(pocket)??诖拇笮∨c選擇所述解的概率成比例。因此,從種群或世代中選擇N個(gè)染色體可以被認(rèn)為是等效于在輪盤賭輪上玩N個(gè)游戲,因?yàn)槊總€(gè)候選者是被獨(dú)立抽取的。對于可以被遺傳算法邏輯150使用示例遺傳算法來說,基世代結(jié)構(gòu)146和派生世代結(jié)構(gòu)148中的每一個(gè)中的染色體的數(shù)目可以是恒定的,盡管一般來說種群的大小可能變化。不適合度小于種群或世代的平均不適合度的染色體或結(jié)構(gòu)可以被忽略??梢曰趯⑦z傳算法技術(shù),例如包括重組或交叉的技術(shù)應(yīng)用到所選擇的染色體來確定(614)經(jīng)修改的派生世代結(jié)構(gòu)148。例如,如參考圖9進(jìn)一步討論的,可以從作為親本(parent)染色體的種群中選擇兩個(gè)染色體。作為示例,可以使用選擇親本染色體串上的交叉點(diǎn)的一點(diǎn)交叉技術(shù)。在兩個(gè)親本染色體之間交換染色體串中的超過(beyond)該點(diǎn)的所有數(shù)據(jù),并且所得到的染色體可以成為親本染色體的子(children)。作為另一示例,可以使用在親本染色體串上選擇兩點(diǎn)的兩點(diǎn)交叉技術(shù)。在親本染色體之間交換所述兩點(diǎn)之間的所有值,從而提供兩個(gè)子染色體。作為再一個(gè)示例,根據(jù)均勻交叉方案(uniformcrossoverscheme),可以在兩個(gè)親本之間比較染色體串中的個(gè)別比特??梢砸怨潭ǖ母怕?例如0.5)交換所述比特。作為另一示例,根據(jù)半均勻交叉方案(halfuniformcrossoverscheme),可以交換恰好一半的不匹配的比特。因此,首先可以例如通過對被表示為比特串的兩個(gè)染色體應(yīng)用異或(exclusive-OR)運(yùn)算并將得到的比特串中的比特相加來確定漢明距離(Hammingdistance)(即,不同比特的數(shù)目)。漢明距離可以被2除。然后,結(jié)果可以指示兩個(gè)親本之間可以被交換的不匹配比特的數(shù)目。遺傳算法突變技術(shù)也可以被遺傳算法邏輯150應(yīng)用到所選擇的染色體。例如,突變概率可以被用于確定染色體中的每個(gè)比特是否要被修改(例如,被設(shè)置為不同的值)。可以通過例如對派生世代結(jié)構(gòu)148和排序的修補(bǔ)結(jié)構(gòu)144應(yīng)用邏輯與函數(shù)來基于排序的修補(bǔ)結(jié)構(gòu)144修補(bǔ)(616)新種群的每個(gè)染色體,例如每個(gè)派生世代結(jié)構(gòu)148,并且可以確定每個(gè)染色體的不適合度值(618)。例如,可以基于不適合度函數(shù),例如基于資源要求或基于合成要求不適合度,來確定不適合度值。舊的基世代結(jié)構(gòu)146可以被新的派生世代結(jié)構(gòu)148替代,并且可以重復(fù)步驟614-618直到生成預(yù)定最大數(shù)目的種群為止。當(dāng)每個(gè)新世代被生成時(shí),可以存儲該特定種群的“最佳”結(jié)構(gòu)或染色體(例如具有最小不適合度值),以便當(dāng)已經(jīng)生成了預(yù)定最大數(shù)目的種群時(shí),可以確定從所有派生世代結(jié)構(gòu)產(chǎn)生的最佳染色體,例如具有最小不適合度值的染色體。如果沒有不適合度值為0的染色體,所述值0可以表示映射問題的有效和完整的解,則遺傳算法邏輯150可以被配置成嘗試完成“最佳”染色體。因此,可以嘗試通過對染色體進(jìn)行操作來在網(wǎng)絡(luò)節(jié)點(diǎn)上安裝缺少的服務(wù),從而使得例如包括在部署約束134中的部署覆蓋范圍約束可以得到滿足。結(jié)果,可以返回所述“最佳”染色體一作為服務(wù)映射請求的解。圖7是圖示圖1的系統(tǒng)100的修補(bǔ)具有例如服務(wù)的無效組合的基世代結(jié)構(gòu)146的示例操作的流程圖700??梢葬槍γ總€(gè)服務(wù)連續(xù)修補(bǔ)染色體。如從圖1的描述所理解的那樣,因?yàn)榉?wù)可以被排序,所以當(dāng)1<=x<y時(shí),對服務(wù)x的修補(bǔ)可以不影響服務(wù)y的映射,這是因?yàn)榉?wù)x可以在服務(wù)y之前被修補(bǔ)。再確定了用于修補(bǔ)的染色體,即基世代結(jié)構(gòu)146之一之后,并且在初始化索引值i和j使其值為1之后,可以確定(702)所述染色體的服務(wù)i以用于修補(bǔ)分析,并且可以從節(jié)點(diǎn)列表,例如網(wǎng)絡(luò)中的節(jié)點(diǎn)的節(jié)點(diǎn)列表,確定(704)節(jié)點(diǎn)j和相應(yīng)的基因或比特。如果基因的值為1,則可以根據(jù)染色體值確定(706)哪些設(shè)備需要被安裝到設(shè)備上,或者節(jié)點(diǎn)j上。值為1的基因可以指示與染色體中該基因的位置相對應(yīng)的服務(wù)可能需要被安裝在與染色體上的該基因的位置相對應(yīng)的節(jié)點(diǎn)上。例如,在染色體上位于與服務(wù)D518和節(jié)點(diǎn)或設(shè)備104相對應(yīng)的位置的、值為1的基因可以指示服務(wù)D518將被安裝在圖1的設(shè)備104上。然后,可以確定(708)設(shè)備或節(jié)點(diǎn)j是否滿足將服務(wù)i安裝在節(jié)點(diǎn)j上的資源和合成要求。對于網(wǎng)絡(luò)中的每個(gè)設(shè)備或節(jié)點(diǎn),可以對染色體進(jìn)行關(guān)于資源約束的分析,包括當(dāng)前哪些服務(wù)要被安裝到哪個(gè)設(shè)備或節(jié)點(diǎn)上,以及確定將在每個(gè)設(shè)備或節(jié)點(diǎn)上安裝的所有服務(wù)的所有資源約束。如果不滿足資源約束,則可以通過將相應(yīng)的基因的值設(shè)置為0來將服務(wù)從染色體中去除。對于每個(gè)服務(wù),可以對染色體進(jìn)行關(guān)于服務(wù)的服務(wù)合成的分析,例如,至少基于圖4的排序的服務(wù)列表400通過服務(wù)合成邏輯154來分析。對于每個(gè)服務(wù),可以確定子服務(wù),可以確定在設(shè)備或節(jié)點(diǎn)上是否已經(jīng)安裝了所述子服務(wù),如果是,則服務(wù)可以被安裝到所述設(shè)備或節(jié)點(diǎn)上;如果否,則可以確定當(dāng)前染色體是否指示將所有要求的子服務(wù)都安裝在各個(gè)設(shè)備或節(jié)點(diǎn)上(所要求的地方)。由于可以根據(jù)服務(wù)在合成中的層級,例如根據(jù)圖4的排序的服務(wù)列表400來對服務(wù)進(jìn)行排序,因此所述確定可以是直接的(straightforward)。如果不可能安裝子服務(wù),則可以例如通過將對應(yīng)于各個(gè)設(shè)備或節(jié)點(diǎn)的所述服務(wù)的基因設(shè)置為值為0來將所述服務(wù)從染色體去除。將參考圖8提供進(jìn)一步的解釋??梢源_定被指示為要被安裝的服務(wù)實(shí)例的數(shù)目(710),可以確定要求被安裝的服務(wù)實(shí)例的數(shù)目(712),并且可以比較這兩個(gè)結(jié)果。如果要被安裝的服務(wù)實(shí)例的數(shù)目和已經(jīng)安裝的服務(wù)實(shí)例的數(shù)目超過要求的數(shù)目,則可以例如通過將對應(yīng)于多余服務(wù)映射的基因的值設(shè)置為0來從染色體去除多余的服務(wù)映射(714)??梢詫⑺饕齤增加(716)1以根據(jù)節(jié)點(diǎn)列表考慮下一個(gè)節(jié)點(diǎn)或設(shè)備,直到對于服務(wù)i來說已經(jīng)考慮了所有網(wǎng)絡(luò)節(jié)點(diǎn)為止,例如,通過重復(fù)步驟704-716直到已經(jīng)考慮了所有節(jié)點(diǎn)為止。因此,然后可以確定j是否等于網(wǎng)絡(luò)中的節(jié)點(diǎn)的數(shù)目(718),并且如果不等于,則控制返回704。如果例如通過確定索引i是否滿足服務(wù)的數(shù)目(720),已經(jīng)考慮了要被映射的所有服務(wù),則修補(bǔ)可以結(jié)束;否則索引i可以增加1(722),并且可以重復(fù)步驟702-722直到索引i指示已經(jīng)為修補(bǔ)而分析了所有服務(wù)。圖8是流程圖800,其圖示了例如基于例如圖1的示例系統(tǒng)100的資源和合成來修補(bǔ)基世代結(jié)構(gòu)146和派生世代結(jié)構(gòu)148的示例操作,并且作為對圖7的步驟708-712的進(jìn)一步的解釋。要注意的是,這里所討論的關(guān)于結(jié)構(gòu)的修補(bǔ)的示例步驟涉及例如基于先前參考圖4討論的排序的服務(wù)列表400而建立的服務(wù)次序。因此,由于每個(gè)服務(wù)i被依次考慮以進(jìn)行修補(bǔ),所以可以假設(shè)服務(wù)i可能依賴的所有服務(wù)在之前都已經(jīng)被考慮過進(jìn)行修補(bǔ),因此可能不需要重新考慮包括在合成中的所有服務(wù)。作為示例修補(bǔ)過程的解釋,可以確定安裝服務(wù)i的染色體的部分(802)。索引j的值可以被設(shè)置為1。因此,可以確定指示服務(wù)i是否將被安裝到設(shè)備或節(jié)點(diǎn)j上的所述染色體部分的基因j(804)。可以基于當(dāng)前染色體而將服務(wù)i添加到要被安裝在節(jié)點(diǎn)j上的服務(wù)列表(806)。然后可以確定(808)節(jié)點(diǎn)j是否提供足夠的資源來承載要被安裝到節(jié)點(diǎn)j上的服務(wù)列表上的所有服務(wù)。可以例如通過至少基于服務(wù)元數(shù)據(jù)124和網(wǎng)絡(luò)元數(shù)據(jù)132的資源要求邏輯152來執(zhí)行此確定。另外,此確定可以基于部署約束134或可允許的部署條件142。如果確定(808)節(jié)點(diǎn)j沒有提供足夠的資源來承載要被安裝到節(jié)點(diǎn)j上的服務(wù)列表上的所有服務(wù),則相應(yīng)的基因的值可以被設(shè)置為0(814),索引j可以被增加值1(816),并且如果j沒有超過網(wǎng)絡(luò)的大小(818),則控制可以轉(zhuǎn)到步驟804;否則可以返回經(jīng)修補(bǔ)的染色體的部分(820)。如果節(jié)點(diǎn)j提供足夠的資源(808),則可以基于當(dāng)前的網(wǎng)絡(luò)狀態(tài)確定節(jié)點(diǎn)j是否滿足服務(wù)i的合成要求(810)??梢岳缤ㄟ^至少基于排序的服務(wù)列表400、排序的修補(bǔ)結(jié)構(gòu)服務(wù)500、服務(wù)元數(shù)據(jù)124和網(wǎng)絡(luò)元數(shù)據(jù)132的服務(wù)合成邏輯154來執(zhí)行此確定。另外,此確定可以基于部署約束134或可允許的部署條件142。如果基于當(dāng)前的網(wǎng)絡(luò)狀態(tài)確定(810)節(jié)點(diǎn)j滿足服務(wù)i的合成要求,則索引j可以被增加1(816),并且如果j沒有超過網(wǎng)絡(luò)的大小(818),則控制可以轉(zhuǎn)到步驟804;否則可以返回經(jīng)修補(bǔ)的染色體的部分(820)。如果基于當(dāng)前的網(wǎng)絡(luò)狀態(tài)確定(810)節(jié)點(diǎn)j不滿足服務(wù)i的合成要求,則可以基于當(dāng)前染色體狀態(tài)確定節(jié)點(diǎn)j是否滿足服務(wù)i的合成要求(812)。如果基于當(dāng)前染色體狀態(tài)確定(812)節(jié)點(diǎn)j不滿足服務(wù)i的合成要求,則相應(yīng)的基因可以被設(shè)置為值為0(814),索引j可以被增加值1(816),并且如果j沒有超過網(wǎng)絡(luò)的大小(818),則控制可以轉(zhuǎn)到步驟804;否則可以返回經(jīng)修補(bǔ)的染色體的部分(820)。如果基于當(dāng)前染色體狀態(tài)確定(812)節(jié)點(diǎn)j滿足服務(wù)i的合成要求,則索引j可以被增加1(816),并且如果j沒有超過網(wǎng)絡(luò)的大小(818),則控制可以轉(zhuǎn)到步驟804;否則可以返回經(jīng)修補(bǔ)的染色體的部分(820)。修補(bǔ)技術(shù)可以例如經(jīng)由部署覆蓋范圍邏輯156確保(對于每個(gè)服務(wù)來說)不超過部署覆蓋范圍。例如,如果對于染色體來說存在特定服務(wù)的過多的實(shí)例,則可以例如通過將該染色體的相應(yīng)的基因設(shè)置為值為0來從染色體去除所述服務(wù)實(shí)例。這些基因可以被隨機(jī)地選擇,或者例如可以根據(jù)服務(wù)的優(yōu)先級而選擇這些基因以便去除。圖9是圖示如參照圖6的步驟614討論的圖1的系統(tǒng)100的選擇基世代結(jié)構(gòu)146以便包括在派生世代結(jié)構(gòu)148中的示例操作??梢曰跒榛N群中的所有染色體,例如基世代結(jié)構(gòu)146而確定的不適合度值來確定(902)平均不適合度值。例如,可以將基世代結(jié)構(gòu)146中的每個(gè)染色體或結(jié)構(gòu)的不適合度值相加到一起,并且將得到的和除以該種群中的染色體或結(jié)構(gòu)的總數(shù)目,來確定平均不適合度值。正如先前所提到的,具有較小不適合度值的染色體可以指示映射問題的更好的解,即,對所請求的服務(wù)的更好的映射。可以將輪盤賭輪確定(904)為與其它服務(wù)相比,與較小的不適合度值相關(guān)聯(lián)的服務(wù)可以與輪盤賭輪的更多的部分相關(guān)聯(lián)。因此,更好的染色體可以具有被選擇用于加入下個(gè)世代,例如下個(gè)派生世代結(jié)構(gòu)148的較高的概率。索引i可以被設(shè)置為值1(906)??梢曰谳啽P賭來確定染色體i(908)。如果i等于派生種群的預(yù)定大小(910),例如派生世代結(jié)構(gòu)148中的結(jié)構(gòu)的數(shù)目,則返回該派生種群(914)以作為新派生世代,例如派生世代結(jié)構(gòu)148;如果不等于,則索引i增加值1(912)并且控制返回到步驟908。所先前所討論的,交叉或重組和突變的遺傳算法技術(shù)可以被應(yīng)用到所得到的染色體。也可以產(chǎn)生映射問題的最佳或次最佳的解。為了產(chǎn)生這樣的解,可以確定針對預(yù)定義的目標(biāo)的每個(gè)染色體的適合度。當(dāng)處理完成時(shí),返回最可行的解,所述解可以具有最小的不適合度值和最大的適合度值。如這里所討論的那樣,基于遺傳算法技術(shù)的服務(wù)到設(shè)備映射算法使能服務(wù)到適當(dāng)?shù)脑O(shè)備,例如智能物件設(shè)備的自動(dòng)智能映射,從而可以在以后將服務(wù)部署到所述設(shè)備上。遺傳算法技術(shù)在確定初始種群和派生種群時(shí)使用約束信息,并且在基于排序的修補(bǔ)結(jié)構(gòu)確定種群時(shí)考慮合成服務(wù)信息。因此,可以以容易、可靠的方式獲得期望的服務(wù)部署,并且可以使傳感器網(wǎng)絡(luò)的功能性更加靈活且更加可預(yù)測。這里所描述的技術(shù)不限于服務(wù)到設(shè)備映射,其可以用于其它應(yīng)用,例如用在網(wǎng)格計(jì)算中。這里描述的各種技術(shù)的實(shí)現(xiàn)方式可以被實(shí)施在數(shù)字電子電路中,或者實(shí)施在計(jì)算機(jī)硬件、固件、軟件或它們的組合中。實(shí)現(xiàn)方式可以實(shí)施為計(jì)算機(jī)程序產(chǎn)品,即實(shí)實(shí)在在地具體實(shí)施在信息載體中,例如在機(jī)器可讀存儲設(shè)備中或者在傳播的信號中,的計(jì)算機(jī)程序,以供數(shù)據(jù)處理裝置執(zhí)行,或者控制數(shù)據(jù)處理裝置的操作,所述數(shù)據(jù)處理裝置例如可編程處理器、計(jì)算機(jī)、多個(gè)計(jì)算機(jī)。計(jì)算機(jī)程序,例如上面描述的計(jì)算機(jī)程序,可以用任何形式的編程語言編寫,包括匯編語言或解釋語言,并且,它可以被以任何形式部署,包括作為獨(dú)立的程序或者作為模塊、組件、子程序或其他適于在計(jì)算環(huán)境中使用的單元。計(jì)算機(jī)程序可以被部署成在一個(gè)計(jì)算機(jī)上或在位于一個(gè)地點(diǎn)或跨過多個(gè)地點(diǎn)分布并被通信網(wǎng)絡(luò)互連起來的多個(gè)計(jì)算機(jī)上執(zhí)行。方法步驟可以被一個(gè)或更多個(gè)可編程處理器執(zhí)行,所述可編程處理器執(zhí)行計(jì)算機(jī)程序,通過對輸入數(shù)據(jù)操作和產(chǎn)生輸出來執(zhí)行功能。方法步驟還可以被專用邏輯電路執(zhí)行,或者裝置可以被實(shí)施為專用邏輯電路,所述專用邏輯電路例如FPGA(現(xiàn)場可編程門陣列)或ASIC(專用集成電路)。作為例子,適于執(zhí)行計(jì)算機(jī)程序的處理器包括通用和專用微處理器,以及任何類型的數(shù)字計(jì)算機(jī)的任意一個(gè)或更多個(gè)處理器。一般來說,處理器將從只讀存儲器或隨機(jī)訪問存儲器接收指令和數(shù)據(jù),或者從兩者都接收指令和數(shù)據(jù)。計(jì)算機(jī)的要素可以包括至少一個(gè)用于執(zhí)行指令的處理器,和用于儲存指令和數(shù)據(jù)的一個(gè)或更多個(gè)存儲器設(shè)備。一般來說,計(jì)算機(jī)還可以包括,或者被可操作地連接,以從一個(gè)或更多個(gè)用于存儲數(shù)據(jù)的海量儲存設(shè)備接收數(shù)據(jù),或把數(shù)據(jù)傳送到海量儲存設(shè)備,或者二者皆有,所述海量儲存設(shè)備例如磁盤、磁光盤或光盤。適于具體實(shí)施計(jì)算機(jī)程序指令和數(shù)據(jù)的信息載體包括所有形式的非易失性存儲器,作為例子,包括半導(dǎo)體存儲器器件,例如EPROM、EEPROM和快閃存儲器設(shè)備、磁盤,例如內(nèi)置硬盤或可移動(dòng)磁盤、磁光盤和CD-ROM以及DVD-ROM盤。處理器和存儲器可以被專用邏輯電路補(bǔ)充,或被包含在專用邏輯電路中。為了提供和用戶的交互,實(shí)現(xiàn)方式可以在具有顯示設(shè)備和鍵盤以及指示設(shè)備(pointingdevice)的計(jì)算機(jī)上實(shí)施,顯示設(shè)備例如陰極射線管(CRT)或液晶顯示器(LCD)監(jiān)視器,用于向用戶顯示信息,鍵盤和指示設(shè)備例如鼠標(biāo)或跟蹤球,用戶利用它們可以提供到計(jì)算機(jī)的輸入。其他種類的設(shè)備也可以被用來提供和用戶的交互;例如,提供給用戶的反饋可以是任何形式的感官反饋,例如視覺反饋、聽覺反饋或觸覺反饋,并且,來自用戶的輸入可以被以任何形式接收,包括聲音、語音或觸覺輸入。實(shí)現(xiàn)方式可以被在包括后端組件或包括中間件組件或包括前端組件的計(jì)算系統(tǒng)中實(shí)施,或者在這些后端、中間件、前端組件的任意組合中實(shí)施,后端組件例如數(shù)據(jù)服務(wù)器,中間件組件例如應(yīng)用服務(wù)器,前端組件例如具有圖形用戶界面,或Web瀏覽器的客戶端計(jì)算機(jī),通過圖形用戶界面或Web瀏覽器,用戶可以和實(shí)現(xiàn)方式進(jìn)行交互??梢岳脭?shù)字?jǐn)?shù)據(jù)通信的任何形式或介質(zhì)互連組件,數(shù)字?jǐn)?shù)據(jù)通信介質(zhì)例如通信網(wǎng)絡(luò)。通信網(wǎng)絡(luò)的例子包括局域網(wǎng)(LAN)和廣域網(wǎng)(WAN),例如因特網(wǎng)。雖然如這里所描述的那樣已經(jīng)示出了所描述的實(shí)現(xiàn)方式的某些特征,但是本領(lǐng)域普通技術(shù)人員現(xiàn)在將想到很多修改、替換,變化或等同物。因此要理解,所附權(quán)利要求應(yīng)當(dāng)覆蓋落入實(shí)施例的范圍內(nèi)的所有這些修改和變化。權(quán)利要求1.一種方法,包括確定(210、604)排序的修補(bǔ)結(jié)構(gòu)(144、500),所述排序的修補(bǔ)結(jié)構(gòu)指示按照原子服務(wù)(116、118、158)和基于傳感器網(wǎng)絡(luò)(102)的一個(gè)或多個(gè)設(shè)備(104、106、108、110)的服務(wù)的合成(154)的合成服務(wù)(138、160)的層級(300)的服務(wù)次序(400);基于可對所述排序的修補(bǔ)結(jié)構(gòu)(144、500)操作的遺傳算法邏輯(150)確定(214、612、914)一個(gè)或多個(gè)派生世代結(jié)構(gòu)(148);以及基于所述派生世代結(jié)構(gòu)(148)之一,將服務(wù)(116、118、122、138、158、160)映射(216)到所述傳感器網(wǎng)絡(luò)(102)的至少一個(gè)設(shè)備(104、106、108、110)上。2.如權(quán)利要求1所述的方法,其中,確定(210、604)所述排序的修補(bǔ)結(jié)構(gòu)(144、500)包括確定請求列表,所述請求列表指示所請求的用于映射到所述傳感器網(wǎng)絡(luò)(102)的一個(gè)或多個(gè)設(shè)備(104、106、108、110)上的服務(wù)(416、418、438、458、460);以及基于所述請求列表來確定(602)指示所請求的服務(wù)(416、418、438、458、460)的排序的請求列表(400),所述排序的請求列表是基于按照與所請求的服務(wù)(416、418、438、458、460)相對應(yīng)的原子服務(wù)(116、118、158)和合成服務(wù)(138、160)的層級(300)的服務(wù)次序(400)而排序的。3.如權(quán)利要求1所述的方法,其中,確定(210、604)所述排序的修補(bǔ)結(jié)構(gòu)(144、500)包括確定(210、604)修補(bǔ)矢量(144、150)和部署約束(134、142、152、156),所述修補(bǔ)矢量指示所請求的用于映射到所述傳感器網(wǎng)絡(luò)(102)的一個(gè)或多個(gè)設(shè)備(104、106、108、110)上的服務(wù)(416、418、438、458、460),而所述部署約束指示與將每個(gè)所述所請求的服務(wù)(416、418、438、458、460)安裝到所述一個(gè)或多個(gè)設(shè)備(104、106、108、110)上相關(guān)聯(lián)的約束,所述修補(bǔ)矢量(144、150)是基于按照與所請求的服務(wù)(416、418、438、458、460)相對應(yīng)的原子服務(wù)(116、118、158)和合成服務(wù)(138、160)的層級(300)的服務(wù)次序(400)而排序的。4.如權(quán)利要求3所述的方法,其中,所述合成服務(wù)(138、160)的每一個(gè)包括兩個(gè)或多個(gè)所述所請求的服務(wù)(416、418、438、458、460)的合成,并且其中,所述合成中的所請求的服務(wù)(416、418、438、458、460)中的第一個(gè)依賴于安裝在所述傳感器網(wǎng)絡(luò)(102)的至少一個(gè)設(shè)備(104、106、108、110)上的所述合成的所請求的服務(wù)(416、418、438、458、460)中的第二個(gè)服務(wù)的安裝。5.如權(quán)利要求4所述的方法,其中,按照與所述所請求的服務(wù)(416、418、438、458、460)相對應(yīng)的原子服務(wù)(116、118、158)和合成服務(wù)(138、160)的層級(300)的服務(wù)次序(400)包括,在相應(yīng)的所請求的服務(wù)(416、418、438、458、460)的層級次序(300)中,將每個(gè)原子服務(wù)(116、118、158)的次序排在所有依賴于所述每個(gè)原子服務(wù)(116、118、158)的合成服務(wù)(138、160)之前。6.如權(quán)利要求1所述的方法,其中,基于可對所述排序的修補(bǔ)結(jié)構(gòu)(144、500)操作的遺傳算法邏輯(150)來確定(214、612、914)一個(gè)或多個(gè)派生世代結(jié)構(gòu)(148)包括基于該排序的修補(bǔ)結(jié)構(gòu)(144、500)來確定(212、606)一個(gè)或多個(gè)基世代結(jié)構(gòu)(146);基于可對服務(wù)元數(shù)據(jù)(124)操作的資源約束邏輯(152)來修改(614)該基世代結(jié)構(gòu)(146);以及基于經(jīng)修改的基世代結(jié)構(gòu)(146)來確定(214、612)派生世代結(jié)構(gòu)(148)之一。7.如權(quán)利要求6所述的方法,其中,修改(614)所述基世代結(jié)構(gòu)(146)包括確定(807)所述基世代結(jié)構(gòu)(146)是否包括指示將所請求的服務(wù)(416、418、438、458、460)安裝到所述傳感器網(wǎng)絡(luò)(102)的一個(gè)或多個(gè)設(shè)備(104、106、108、110)上的一個(gè)或多個(gè)安裝指示符,所述安裝指示符是基于按照與所請求的服務(wù)(416、418、438、458、460)相對應(yīng)的原子服務(wù)(116、118、158)和合成服務(wù)(138、160)的層級(300)的服務(wù)次序(400)而排序的。8.如權(quán)利要求6所述的方法,其中,修改(614)所述基世代結(jié)構(gòu)(146)包括基于對系統(tǒng)元數(shù)據(jù)(130、132)的統(tǒng)計(jì)分析來確定是否違反了部署約束(134)。9.如權(quán)利要求6所述的方法,其中,修改(614)所述基世代結(jié)構(gòu)(146)包括基于輪盤賭操作(908)來選擇所述基世代結(jié)構(gòu)(146)中的兩個(gè)或多個(gè)作為親本染色體;以及基于通過所述遺傳算法邏輯(150)對所述兩個(gè)或多個(gè)親本染色體執(zhí)行交叉操作來確定至少一個(gè)子染色體。10.如權(quán)利要求6所述的方法,其中,修改(614)所述基世代結(jié)構(gòu)包括選擇所述基世代結(jié)構(gòu)(146)之一作為所選擇的染色體;以及基于通過所述遺傳算法邏輯(150)對所述所選擇的染色體執(zhí)行突變操作來確定突變的染色體。11.一種系統(tǒng),包括網(wǎng)絡(luò)監(jiān)視器(128),其被配置成監(jiān)視傳感器網(wǎng)絡(luò)(102)的多個(gè)設(shè)備(104、106、108、110),并且被配置成確定與所述多個(gè)設(shè)備(104、106、108、110)中的至少一個(gè)設(shè)備相關(guān)聯(lián)的設(shè)備元數(shù)據(jù)(130);服務(wù)映射器(126),其被配置成基于一個(gè)或多個(gè)排序的修補(bǔ)結(jié)構(gòu)(144、500)、基于所述設(shè)備元數(shù)據(jù)(130)、并且基于與所述服務(wù)(116、118、122、138、158、160)相關(guān)聯(lián)的服務(wù)元數(shù)據(jù)(124)來確定基世代結(jié)構(gòu)(146),其中,所述排序的修補(bǔ)結(jié)構(gòu)(144、500)指示按照與所述設(shè)備(104、106、108、110)相關(guān)聯(lián)的原子服務(wù)(116、118、158)和基于服務(wù)的合成(154)的合成服務(wù)(138、160)的層級(300)的服務(wù)次序,并且,所述服務(wù)映射器被配置成基于派生世代結(jié)構(gòu)(148)將服務(wù)(116、118、122、138、158、160)映射到至少一個(gè)設(shè)備(104、106、108、110)上,其中,所述派生世代結(jié)構(gòu)基于可對所述基世代結(jié)構(gòu)(146)操作的遺傳算法邏輯(150)。12.如權(quán)利要求11所述的系統(tǒng),其中,所述服務(wù)映射器(126)包括映射系統(tǒng)(140),包括所述排序的修補(bǔ)結(jié)構(gòu)(144、500);所述基世代結(jié)構(gòu)(146);和所述派生世代結(jié)構(gòu)(148);并且遺傳算法邏輯(150)被配置成基于所述服務(wù)的合成(154)來確定所述排序的修補(bǔ)結(jié)構(gòu)(144、500)。13.如權(quán)利要求11所述的系統(tǒng),其中,所述排序的修補(bǔ)結(jié)構(gòu)(144、500)包括修補(bǔ)矢量(500),所述修補(bǔ)矢量(500)按照原子服務(wù)(116、118、158)和合成服務(wù)(138、160)的層級(300)的服務(wù)次序(400)而排序。14.如權(quán)利要求13所述的系統(tǒng),其中,所述合成服務(wù)(138、160)的每一個(gè)包括要求在所述傳感器網(wǎng)絡(luò)(102)的至少一個(gè)所述設(shè)備(104、106、108、110)上安裝的兩個(gè)或多個(gè)所請求的服務(wù)(416、418、438、458、460)的合成,并且其中,所述合成中的所請求的服務(wù)(416、418、438、458、460)中的第一個(gè)服務(wù)依賴于安裝在所述傳感器網(wǎng)絡(luò)(102)的至少一個(gè)設(shè)備(104、106、108、110)上的所述合成的所請求的服務(wù)(416、418、438、458、460)中的第二個(gè)服務(wù)的安裝。15.如權(quán)利要求13所述的系統(tǒng),其中,按照原子服務(wù)(116、118、158)和合成服務(wù)(138、160)的層級(300)的服務(wù)次序(400)包括在所述原子服務(wù)(116、118、158)和合成服務(wù)(138、160)的層級次序(300)中,將每個(gè)原子服務(wù)(116、118、158)的次序排在依賴于所述每個(gè)原子服務(wù)(116、118、158)的所有合成服務(wù)(138、160)之前。16.如權(quán)利要求11所述的系統(tǒng),其中,所述基世代結(jié)構(gòu)(146)包括染色體(500),所述染色體指示在所述設(shè)備(104、106、108、110)中的一個(gè)或多個(gè)上的一個(gè)或多個(gè)服務(wù)(116、118、122、138、158、160)的一個(gè)或多個(gè)安裝狀態(tài)。17.如權(quán)利要求16所述的系統(tǒng),其中,所述染色體(500)包括指示所述一個(gè)或多個(gè)安裝狀態(tài)的多個(gè)有次序的指示符(516、518、522、538、558、560),所述指示符基于按照原子服務(wù)(116、118、158)和合成服務(wù)(138、160)的層級(300)的服務(wù)次序(400)而排序。18.如權(quán)利要求16所述的系統(tǒng),其中,所述遺傳算法邏輯(150)被配置成基于對所述基世代結(jié)構(gòu)(146)的染色體執(zhí)行選擇操作、交叉操作、突變操作或修補(bǔ)操作(608、700)中的一個(gè)或多個(gè),并且基于所述排序的修補(bǔ)結(jié)構(gòu)(144、500)來提供派生世代染色體(148)。19.一種用于傳感器網(wǎng)絡(luò)(102)的服務(wù)映射器(126),所述服務(wù)映射器(126)包括遺傳算法邏輯(150),其被配置成基于可對一個(gè)或多個(gè)排序的修補(bǔ)結(jié)構(gòu)(144、500)操作的服務(wù)合成邏輯(154)提供一個(gè)或多個(gè)派生世代結(jié)構(gòu)(148),其中,所述排序的修補(bǔ)結(jié)構(gòu)指示按照原子服務(wù)(116、118、158)和合成服務(wù)(138、160)的層級(300)的服務(wù)次序(400);映射系統(tǒng)(140),其被配置成基于所述派生世代結(jié)構(gòu)(148)之一將服務(wù)(116、118、122、138、158、160)映射到所述傳感器網(wǎng)絡(luò)(102)的至少一個(gè)設(shè)備(104、106、108、110)上。20.如權(quán)利要求19所述的服務(wù)映射器(126),其中,所述遺傳算法邏輯(150)被配置成基于對所述基世代結(jié)構(gòu)(146)的染色體執(zhí)行選擇操作、交叉操作、突變操作或修補(bǔ)操作(608、700)中的一個(gè)或多個(gè),并且基于一個(gè)或多個(gè)所述排序的修補(bǔ)結(jié)構(gòu)(144、500)來提供派生世代染色體(148)。全文摘要允許使用遺傳算法邏輯(150)進(jìn)行服務(wù)到設(shè)備映射(216)的系統(tǒng)和方法,通過所述遺傳算法邏輯,服務(wù)(116、118、122、138、158、160)被映射到從傳感器網(wǎng)絡(luò)(102)的多個(gè)智能物件中選擇的最適合的智能物件(104、106、108、110)上。作為映射的一部分,和/或在映射之后,開始將所述服務(wù)(116、118、122、138、158、160)部署到所述智能物件(104、106、108、110)上。確定(210、604)排序的修補(bǔ)結(jié)構(gòu)(144、500),所述排序的修補(bǔ)結(jié)構(gòu)指示按照用于傳感器網(wǎng)絡(luò)(102)的一個(gè)或多個(gè)設(shè)備(104、106、108、110)的原子服務(wù)(116、118、158)和基于服務(wù)的合成(154)的合成服務(wù)(138、160)的層級(300)的服務(wù)次序(400)?;诳蓪λ雠判虻男扪a(bǔ)結(jié)構(gòu)(144、500)進(jìn)行操作的遺傳算法邏輯(150)來確定(214、612、914)一個(gè)或多個(gè)派生世代結(jié)構(gòu)(148)?;谒雠缮来Y(jié)構(gòu)(148)之一將服務(wù)(116、118、122、138、158、160)映射(216)到所述傳感器網(wǎng)絡(luò)(102)的至少一個(gè)設(shè)備(104、106、108、110)上。結(jié)果,即使在遠(yuǎn)程地或自動(dòng)地執(zhí)行部署時(shí),用戶也可以以快速、方便和可靠的方式獲得期望的結(jié)果。文檔編號H04L12/24GK101064652SQ200710100909公開日2007年10月31日申請日期2007年4月28日優(yōu)先權(quán)日2006年4月28日發(fā)明者米克海爾·貝倫基申請人:Sap股份公司