專利名稱::智能項目的服務-設備重映射的分級多層映射和監視架構的制作方法
技術領域:
:本說明書涉及智能項目(smartitem)技術。
背景技術:
:智能項目技術可以包括例如射頻標識(RFID)系統、嵌入式系統、傳感器微片(mote)和/或傳感器網絡,并且可以例如用于為業務軟件應用提供對現實世界數據的快速存取。例如,智能項目技術可以用于支持RFID標簽的檢測、讀取或寫入,以及支持與無線傳感器網絡和嵌入式系統的通信及對其控制。在許多實例中,智能項目可以包括具有本地處理能力、存儲器和/或通信能力的設備,能夠提供關于該設備及其特性的數據、或者關于該智能項目設備的當前環境狀況的信息。因此,一些這樣的設備可以用在后端或底層業務應用的服務組件的執行中,尤其是可以以協作的方式進行,例如,通過形成移動的特定(ad-hoc)網絡來收集、處理或傳輸業務數據。智能項目設備的例子包括RFID標簽,它可以是有源或者無源的,并且可以貼到對象上并用來提供關于該對象的產品或處理信息。智能項目設備的其他例子包括各種傳感器,例如,環境傳感器(如溫度、濕度或振動傳感器),如剛才所提到的,它們能夠通信來形成一個或多個傳感器網絡。這些和其他類型的智能項目設備也可以包括嵌入式系統,嵌入式系統可以泛指任何其中包含專用處理器和/或程序、以及/或者被封裝在受控設備中的系統。通過自動實時對象跟蹤,智能項目技術可以為業務提供關于業務操作的精確和及時的數據,并且還可以幫助簡化和自動化業務操作。因此,可以獲得成本降低以及額外的業務效益(例如,增加資產可見度、提高響應速度、以及擴展業務機會)。
發明內容根據一個總的方面,確定重部署初始設備上執行服務的動機。該服務被映射到從包括初始設備和所選設備在內的多個設備當中的所選設備。該服務被重部署在所選設備上。實現可以包括下列一個或多個特征。例如,在確定重部署服務的動機時,可以基于與服務相關聯的服務元數據來確定與初始設備相關聯的、并且指示初始設備當前的設備特性不足以繼續充分地執行服務的設備元數據。確定重部署服務的動機可以包括確定所選設備對于重部署服務是可用的;和確定與初始設備和/或所選設備相關聯的設備元數據,其指示所選設備能夠更好地執行服務。確定重部署服務的動機可以包括確定達到了在初始設備上部署服務的時間限制。將服務映射到所選設備可以包括確定與服務相關聯的服務元數據,確定與所述多個設備的每一個相關聯的設備元數據,并且基于服務元數據和設備元數據而將服務映射到所選設備。將服務映射到所選設備可以包括確定與服務相關聯的服務元數據,所述服務元數據包括與服務相關聯、并且描述允許重部署服務的性質和/或程度的移動性描述。在將服務映射到所選設備時,可以確定作為初始設備上執行的服務的當前狀態。此外,在將服務映射到所選設備時,可以確定所選設備與滿足或超過進行重部署所需的閾值參數的設備特性相關聯。將服務映射到所選設備可以包括施加在服務能被從所選設備重部署回到初始設備或多個設備中的另一設備之前所要滿足的時間限制。將服務重部署在所選設備上包括在所選設備上重置在重部署之前初始設備上的服務狀態。將服務重部署在所選設備上可以包括停止服務在初始設備上的執行,并且將服務的可執行服務(serviceexecutable)從初始設備上移除。將服務重部署在所選設備上可以包括從服務儲存庫獲得要部署在所選設備上的服務的可執行服務。根據另一總的方面,一種系統包括系統監視器,其可操作來監視多個設備的初始設備;執行服務的初始設備;和服務映射器,其可操作來基于系統監視器的輸出而確定重部署服務的動機,并且還可操作來基于所述動機將服務重部署到多個設備的所選設備。實現可以包括下面特性中的一個或多個。例如,系統監視器可以包括安裝在初始設備上的系統監視器組件,其可操作來將初始設備的設備特性報告給服務映射器。系統監視器的輸出可以包括初始設備的當前設備元數據,其包.括設備特性。所述動機可以包括確定初始設備不是多個設備中最適合執行該服務的。服務映射器可操作來基于對系統監視器輸出應用重映射規則,實現服務的重部署。服務映射器可操作來基于存儲服務的狀態信息的數據文件,重置在重部署之前時刻初始設備上的服務狀態。系統可以包括服務儲存庫,可操作來存儲至少與描述該服務的服務要求的服務元數據相關聯的服務,其中,服務映射器可操作來將服務從服務儲存庫重部署到所選設備。服務映射器可操作來基于包括服務的服務要求的服務元數據而重部署服務。在下面附圖和描述中詳細說明一個或多個實現。通過描述和附圖以及權利要求書,其他特征將變得清楚。圖1是用于智能項目設備的服務-設備映射的系統的框圖。圖2A和2B是示出圖1的系統的示例操作的流程圖。圖3是示出使用圖1的系統的三層架構的系統的框圖。圖4A和4B分別是示出全局服務映射器表和本地服務映射器表的表。圖5是實現圖1和3的系統的智能項目基礎架構的框圖。圖6是示出服務-設備映射操作的流程圖。圖7是圖1的系統的重映射實現的框圖。圖8是示出根據圖2B的重映射操作的流程圖。圖9是圖1和/或7的系統的示例實現的框圖。圖10是用戶交互地指定服務-設備映射請求的服務器頁面的屏幕截圖。圖11是表示服務元數據的示例文件格式。圖12是使用圖11的格式的示例服務元數據文件。圖13是表示設備元數據的示例文件格式。圖14是使用圖13的格式的示例設備元數據文件。圖15是示出服務-設備映射請求的結果的屏幕截圖。圖16是顯示服務-設備映射請求的結果的服務器頁面的屏幕截圖。圖17是示出一部分重映射過程的屏幕截圖。具體實施例方式圖1是用于智能項目設備的服務-設備(service-to-device)映射的系統100的框圖。在圖1的例子中,包括各種智能項目設備的本地網絡102利用廣域網106以及時和精確的方式向一個或多個業務數據處理系統104提供現實世界數據。例如,本地網絡102可以包括智能項目設備108、110、112和114,這里稱為“智能項目”或者簡稱為“設備”,它們可以包括RFID讀取器(用于讀取具有RFID標簽的對象)、各種嵌入式系統、和/或各種類型的傳感器和/或傳感器微片。在圖1中,設備108顯示為包括中央處理單元(CPU)116以及存儲器118。因此,設備108應當被理解為能夠有各種級別的計算能力,例如包括處理或發送感測的數據(在設備108包括傳感器的情況下)。盡管為了清楚起見而未在圖1中專門示出,但應當理解,設備110、112和114也可以包括相同或不同的計算能力,例如,包括形成和加入本地網絡102(如無線網絡和/或對等網絡)的能力。因此,本地網絡102可以用于收集、處理、過濾、聚集或者發送可能對業務數據處理系統104有用的數據。例如,業務數據處理系統104可以包括存貨管理系統、供應鏈管理系統、零售店管理系統、倉庫管理系統、以及任何可以用于執行關于現實世界對象的業務處理的其他系統,其中這些現實世界對象可以包括例如銷售的產品、集裝架或其他貨運設備、病人、或制造材料/設備。通過跟蹤和分析這些現實世界對象,業務數據處理系統104可以用于例如確定存貨級別、設置定價水平、評估市場策略、評估制造或生產技術、減少被盜或者保持安全。通過包括作為本地網絡102的設備108、110、112和114的智能項目,在數據收集處理中很早就可以執行處理,從而可以降低或消除加到業務數據處理應用104上的負擔。例如,業務數據處理應用104可以位于公司總部,而本地網絡102可以表示分布在由廣域網106相連的寬廣地理區域的許多(類型的)網絡之一。這樣,例如,業務數據處理系統104可以僅需要網絡102(及相關網絡)收集的數據的某些子集或特性,而可能不需要或者想要所有收集的數據。在某些實現中,業務數據處理系統104可以包括混合或復合應用,其由設計來執行某些明確定義的任務的可重用的軟件組件或服務組成。此外,在這些或其他實現中,業務數據處理系統104可以包括可能不容易與數據收集設備(或者與其他業務處理處理系統)通信的傳統應用,而且在這種情況下,可以提供服務或服務組件作為傳統應用與數據收集設備和/或其他系統之間的接口。系統100允許在設備108、110、112和114上直接部署這些和其他應用程序和服務,從而例如可以在設備上以及時、高效、可靠、自動、劃算和可擴展的方式運行服務(并且可以收集和/或處理數據)。因此,例如,業務處理可以被分解成單獨的服務,并且部署在不同的設備上。系統100包括服務映射器120,如圖所示,它可操作來從網絡102的多個設備108、110、112和114當中選擇設備108作為選中設備,以便在其上部署服務122。因此,服務映射器120訪問服務儲存庫124,其可操作來存儲適合在本地網絡102和/或其他網絡(圖1中未示出)中執行的多個服務。服務映射器120一同確定服務元數據126和實際可執行服務128,并且將服務元數據126和與多個設備108、110、112和114的每一個相關的設備元數據130進行比較。服務映射器120至少基于服務元數據126和設備元數據130而可以選擇設備108作為特別適合在其上部署服務122(包括可執行服務128)。例如,設備元數據130可以包括每個設備的描述,該描述是根據設備映射器120已知并且對于各個設備108、110、112和114共同的實體和/或模式構造的。此外(或者),可以例如由系統監視器132以每個設備108、110、112和114的設備專用格式或結構收集設備元數據130,并且可以隨后將其轉換成由服務映射器120使用的共同模式。例如,如下面將詳細描述的設備元數據可以包括通過使用XML模式以基于可擴展標記語言(XML)的語言對設備108、110、112和114的各種技術能力的描述。當然,也可以使用其他格式、語言和/或結構。一般地說,設備元數據130可以包括例如設備描述、軟件描述、硬件描述和設備狀態。例如,設備描述可以包括設備名、標識符或者類型,或者可以包括賣商信息(包括賣商名或賣商網站)。軟件描述可以包括操作系統描述(包括版本和/或賣商),或者可以包括設備平臺上運行或允許運行的服務的描述。硬件描述可以包括關于CPU116屬性(如名稱或速度)、存儲器118的(如存儲器的總共和/或空閑量)、或者設備的連接如連接速度或連接類型的能力屬性的信息。設備狀態可以包括更多易失性信息,包括設備位置、當前CPU使用率、或者剩余的電能或存儲器。當前,如下面所述并且/或者將是很明顯的,設備元數據130中可以包括其他設備方面或信息。例如,設備元數據130可以包括關于其他設備的信息,例如在設備108包括RFID讀取器的情況下,設備元數據130可以包括RFID讀取器可讀取和/或寫入的RFID標簽的類型的描述。服務元數據126可以有些類似地包括與是否和如何能在一個或多個設備上執行服務有關的服務描述和/或要求。例如,服務元數據可以包括服務行為描述、服務的技術限制、或者關于服務的輸入、輸出、前提或效果(IOPE)的信息。例如,技術限制可以包括要求的CPU類型或速度、需要的(空閑)存儲量、要求或優選的連接類型或速度、操作系統版本/名稱/描述、或者電池或其他設備電源的類型或狀態。因此,和設備元數據130一樣,在靜態服務和動態服務要求(如硬件要求)之間可以進行區別。例如,可以包括諸如總存儲空間或最大處理速度之類的靜態值,以及動態值,如可用存儲空間/處理/電能和/或在服務執行時可以允許與所述服務一起同時運行在設備上的其他服務的數量或類型。服務元數據126的結構和用途可以根據服務是被當作復合服務還是原子服務而有所不同。在這點上,原子服務是指運行在單個設備上的離散服務,而復合服務是指包括和組合一個或多個原子服務的更高級的服務。例如,復合服務可以被部署到要求特定數量或類型的設備108、110、112或114的本地網絡102上,以便提供累積或聚集的功能,而原子服務可以被稱作被部署在單個設備108、110、112或114的服務,如服務122。例如,設備108、110、112或114可以包括散布在規定區域中的溫度傳感器,以便確定該區域中的溫度分布或梯度,在這種情況下,設備108、110、112或114中的每一個可以執行溫度收集服務(例如,設備108上的服務122),而設備108、110、112或114中的一個或多個、或者某些其他設備可以執行復合服務,其聚集來自所有設備108、110、112或114的溫度數據,并且確定關于溫度分布或梯度的信息。因此,例如,應當理解,復合服務的部分服務元數據126可以包括關于包括復合服務的原子服務的信息。此外,對于復合服務,在服務元數據126中可以包括諸如服務密度(如每5qm2部署復合服務)之類的抽象限制,并且可能需要將其轉化成對復合服務中所包含的原子服務的具體要求。例如,剛才提到的抽象密度限制可以產生對于相應復合服務的原子服務的具體要求,其中在所有可用設備的10%上部署原子服務。因此,在給定系統(如系統100)的特定上下文中,可以使用轉化處理來將復合服務的抽象限制轉化成對于相應原子服務的具體服務要求。這樣的轉化處理可以確定復合服務的抽象限制,并且基于當前系統(如系統100)的信息將抽象限制轉換成具體要求。就復合服務的原子服務一起通信和工作這方面來說,確保具體值對于所有原子服務都相同可能是合理的。例如,如果復合服務與每5qm2部署的抽象限制相關聯,則可以應用系統信息,如系統場地的大小是100qm2、每5qm2包含10個設備,于是40個設備覆蓋整個場地。然后,以每5qm2部署復合服務的抽象限定產生了對于相應原子服務的10%的部署密度。即,在這種情況下,40個設備中的4個(10%)將運行復合服務和/或相應的原子服務,在整個100qm2場地的每個5qm×5qm場地中有一個設備上面部署服務。一般而言,服務映射器120至少使用服務元數據126和設備元數據130,可以將給定服務映射到本地網絡102的設備108、110、112或114上。該映射被設計成不僅在必要時與服務元數據126和設備元數據130的各個方面值匹配(例如,匹配服務元數據126中指定的要求存儲空間與設備元數據130中指定的設備存儲器),而且被設計成允許和優化所述服務的部署和執行。例如,可能的情況是,設備108和設備110都是名義上或表面上能夠運行服務122(例如,設備108和110可能擁有一些存儲空間、處理能力或電能的最小要求值)。然而,也可能的情況是,服務器122對電能的渴求超過對存儲空間的渴求(或者相反),從而如果設備108當前與其他候選設備110相比能夠提供更多電能,即使設備110當前提供比設備108多的空閑存儲空間,服務映射器120也可以將服務122映射到設備108。更正式地說,匹配集合可以表示為將設備集合的設備元數據(例如,設備簡檔)與要部署的服務的元數據(例如技術要求)進行比較的函數。具體地說,集合Dcap可以被定義為所有可用的單獨設備簡檔“d”的集合,而stec可以指所述服務的技術要求。于是,匹配集合可以在等式(1)中被定義為match(stec,Dcap)={d∈Dcap|stex⊆d}]]>等式(1)這樣,僅當所述服務的所有技術要求stec得到滿足時,集合Dcap內的設備簡檔d才被接受為匹配集合的元素。然而,如上面提到的,簡單地匹配服務元數據126與設備元數據130的值可能不足以確定匹配或候選設備簡檔“d”中的哪一個在質的方面上最適合執行所述服務的功能。例如,可以應用性能度量,為設備元數據的一個或多個屬性分配數值權重,其中可以基于相應屬性值來為所述服務分配數值權重,從而,例如,對于不同服務,數值權重可以不同(例如,可以是特定的服務的)。例如,該性能度量可以在等式(2)中表示為Vald=w1(CPU_load)+w2(memory)+w3(battery)+w4(connection_speed)等式(2)在等式(2)中,可以選擇權重值w1、w2、w3和w4等于“1”,并且/或者可以另外被歸一化或者修改來考慮任何單位的差異。因此,等式(2)可以被應用到所有可用設備(或者等式(1)的匹配集合內的所有設備),從而可以獲得每個設備的Vald的值。于是,可以比較特定于設備的Vald的值,來確定所有所述設備的最大值,并且可以由服務映射器120選擇相關聯的設備。這樣,可以選擇為執行所述服務提供最高可用質量的設備。此外,等式(2)的例子的性能度量可以擴展到涵蓋其他設備或依賴于應用的事項。例如,可能的情況是,已知特定類型或品牌的設備在執行要部署的服務方面提供某些優點或好處(例如,在可靠性方面)。因此,例如,這種類型或品牌的所有設備可以被分配適當的權重,并且被包含在等式(2)的性能度量或類似的性能度量中。一旦執行了適當的服務映射,可以使用服務注入器(injector)134來將映射的服務(如服務122)在設備108上安裝和啟動。服務注入器134還可以更普遍地用來管理服務的生存周期(例如,通過在必要時執行服務更新或者停止服務)。因此,服務注入器134的一個任務是將具體服務代碼(例如,可執行服務128中適當的一個)傳送到所選設備。因此,服務注入器134接收和安裝所述種類的代碼。象服務注入器134這樣的安裝組件可以作為單個獨立軟件組件裝在設備側,或者可以與其他安裝組件合作,以便分布可執行服務128。在后一情況中,例如,如果服務映射器120不能訪問所有所選設備來進行要求的服務安裝,則多個設備上的服務注入器可以相互通信來完成安裝。在安裝可執行服務128之后,服務122可以保持在無效狀態,直到服務注入器發送啟動信號來將服務改變為活動狀態為止。類似地,服務注入器134可以用于組織服務的更新和停止。一旦進行了服務122的映射,并且在設備108上安裝和啟動了服務122,則服務122的執行可以按照需要而繼續。然而,隨著時間的逝去,可能的情況是,設備108不再是本地網絡102中運行服務122的最佳設備。例如,設備110可能停止運行它自己的服務,從而釋放足夠的存儲空間、處理或電能資源,在運行服務122方面超過了設備108。作為另一個例子,設備112可以表示在服務122部署在設備108上之后在特定點及時進入本地網絡102的設備,并且在運行服務122方面它具有更好的資源。例如,設備108可以是個人數字助理(PDA),而設備112可以是具有比PDA設備108更好的計算特性的便攜(laptop)計算機。作為最后一個例子,可能的情況是,設備108自己的資源開始短缺(例如,電池電能可能達到接近放完電的狀態),從而導致本地網絡102整體上潛在的脆弱性,而設備110、112或114中的一個被認為更適于運行服務122。因此,服務映射器120可操作來在服務122運行時間期間,將服務122從初始設備(如設備108)重映射、移除和重部署服務122到另一個所選設備,例如設備110。這樣,通過將服務從相對資源匱乏的設備重新分配到更有能力的設備,可以實現設備利用的改善和可靠性的改善。如下面詳細描述的那樣,系統監視器132可以執行每個設備上的可用資源的確定,從而可以由此做出關于何時和是否起動重映射的決定。在執行映射和/或重映射時,可能的情況是,任何或所有業務數據處理系統104、服務儲存庫、系統監視器、本地網絡102、或者設備108、110、112和114可能彼此散布在通過廣域網106相連的相對寬廣的地理區域上,廣域網106可以包括例如因特網或者企業專用網絡。此外,向業務數據處理系統104報告的智能項目設備的總數可能使得服務映射器120對所有這些設備單獨處理服務映射處理的所有階段是不切實際或不合需要的。因此,可以使用服務映射器120的組件或層(tier),它們在例如用于服務元數據126和/或設備元數據130的語義(semantic)或描述方面不同,或者在可用的計算能力方面不同,或者在相對于業務數據處理系統104、本地網絡102和/或設備108、110、112或114的地理位置方面不同。例如,可以使用全局服務映射器(GSM)組件120a,它對于多個類似本地網絡102的本地網絡是共同的,并且表示相對強大的計算設備,如工作站或強大的個人計算機(PC)。同時,可以使用本地服務映射器(LSM)組件120b,它特定于本地網絡102和其中包含的設備,如設備108、110、112和114(或其他未示出的設備)。LSM組件120b可以表示不那么強大的組件,如Stargate服務器(將在下面詳細描述)或PDA。最后,在本地網絡102內可以使用與組相關的組長服務映射器(GLSM)組件120c,其中組是本地網絡102的所有設備的子集合。因此GLSM組件120c可以由本地網絡的設備之一(例如所示的設備108,如傳感器節點)來實現,它通常可能具有各個服務映射器組件120a、120b和120c的最少量的計算資源。參照圖3示出并在下面討論這樣的分級架構的一個實現示例。應當理解,上述描述僅僅意圖提供服務映射器120的架構的分層示例,而且可以使用更多或更少層的分層結構。通過實現這樣分層的架構,例如,如下面詳細描述的那樣,可以獲得各種特征和優點。例如,如上面提到的,系統100可以容易地擴展來包括大量的智能項目設備,同時仍然能夠以及時、高效和劃算的方式執行對設備和設備之間的映射和/或重映射。在圖1的示例中,GSM組件120a建立架構的分層的根,并且可以用作服務映射請求的第一接收者(addresee)。例如,GSM組件120a可以用作到外部模塊(例如,圖1未示出的服務組成模塊)的接口,可以用于起動映射處理。GSM組件120a一般而言,提供關于其相關的本地網絡(例如,本地網絡102)的信息,其中每個這樣的本地網絡可以與物理和/或地理位置(如倉庫或零售店)相關聯。例如,GSM組件120a可以用于將本地網絡根據其設備、提供的服務、以及任何其他語義信息(包括剛才提到的位置)分類。例如,GSM組件120a可以包括存儲本地網絡設備描述的GSM元數據表136,本地網絡設備描述包括關于給定本地網絡中的已有設備和設備能力的信息。例如,GSM元數據表136可以反映關于給定的倉庫包括100個分布在倉庫中的傳感器、以及倉庫雇員使用的20臺PDA的信息。除了處理這些設備信息外,GSM元數據表136還可以存儲和提供關于各個本地網絡中提供的服務的信息。接著剛才提到的示例,GSM元數據表136可以存儲關于在倉庫中安裝用于測量倉庫溫度(例如使用智能項目設備,如傳感器)的服務的信息。因此,在執行到一個或多個設備的服務映射時,可以使用這些關于本地網絡及其設備、提供的服務以及其他語義方面的信息。下面結合圖4A提供和詳細描述GSM元數據表136的特定示例。GSM組件120a一般可能不需要包括關于獨特設備及其當前使用狀態的描述或信息,而是可以簡單地維持抽象設備類和相關的一般屬性的描述。因此,組織和跟蹤各個本地網絡的責任可以留給LSM組件120b。LSM組件120b可以比GSM組件120a離其相關網絡設備更近,從而多個LSM組件120b提供由所有各種網絡智能項目設備所收集和分析的數據的分布。與GSM組件120a一樣,LSM組件120b可以包括存儲設備信息的LSM元數據表138以及與每個設備相關的服務信息、服務質量信息、以及每個設備更具體的位置信息。下面參照圖4B提供LSM元數據表138的具體示例。盡管LSM組件120b可以跟蹤和提供關于各個智能項目設備的信息,圖1的示例示出LSM組件120b將其底層網絡(例如,本地網絡102)劃分成包括可能的不同類設備集合的簇或者組(典型地按照密切的物理接近性)。例如,設備108和/或設備110、112和114中的一個或多個以及其他設備(未示出),可以被包括在與本地網絡102和LSM組件120b相關的一個或多個組中。在圖1的示例中,設備108作為這樣的一個組的組長,并且包含GLSM組件120c。這樣的分組可以允許改善對設備108、110、112和114的場景(landscape)部分的控制。例如,如果服務需要被均勻地分布在規定區域中,則這樣的組劃分可能是有幫助的。例如,部署請求或命令可以要求應當將服務安裝在本地網絡102的所有設備的10%上,從而如果組被均勻地散布在本地區域中,則可以逐個組地進行部署,而不是一次對所有設備部署,這樣一些分布服務的責任可以分配給各個組長。剛才描述的GLSM組件120c及相關設備分組所提供的優點的另一示例涉及(例如,系統監視器132和/或服務映射器120(包括GSM組件120a、LSM組件120b或GLSM組件120c))收集設備元數據130的容易和高效。例如,在服務部署請求的時,可能需要確定遍布多個本地網絡的特定設備的當前狀態。因此,GSM組件120a可以向適當的LSM組件120b分發設備查詢,然后將其從適當的LSM組件120b分發到適當的GLSM組件120c。這樣,不必查詢全局系統內的所有設備、或者各個本地網絡內的所有設備,甚至也不必查詢給定本地網絡內的所有設備。相反,可以只要求作為特定設備映射的實際或有希望的候選的設備提供它們相關的設備元數據。類似地,可以在組和/或本地網絡層上進行對所查詢的設備或其他指定設備的監視,而不是在全局的級別上。例如,系統監視器132可以包括安裝在設備108上的監視器組件132a。然而,在其他示例中,監視器組件132a可以額外(替代)地存儲在LSM組件120b上。通過以這種方式監視設備,可以以及時、高效和可擴展的方式收集設備元數據130,從而同樣可以迅速地做出關于服務映射或重映射的決定。盡管圖1的上述描述示出了這樣的示例,即,使用服務元數據126和設備元數據130(也許用性能度量)來執行從服務儲存庫124到一個或多個設備108、110、112或114的服務的映射,但是應當理解,其他信息在執行這樣的映射中也可能是有用的。例如,網絡元數據140可以包括各種網絡參數,尤其是當這些參數是動態的、而且不是必須與關于任何單個設備的信息區分開時。網絡元數據140的一個這樣的示例可以包括本地網絡102上的可用帶寬。其他示例包括描述設備離LSM組件120b的距離的網絡拓撲描述(或其他位置信息)、網絡整體的移動性特征以及網絡連接的可靠性。關于位置示例,例如,可以部署給定服務來替代當前部署在本地網絡102內特定區域中的服務。在這種情況下,本地網絡102內的組可以與作為額外的網絡參數的組標識符(ID)相關聯,從而至少可以對于這些組ID部分地進行部署。例如,新服務可能需要在特定時間限制內被映射,因此在這種情況下,可以基于組ID和相關信息,將這些服務部署在離LSM組件120b最近的組內的設備上。此外,也可以在其他設置中使用這些組ID。例如,可以在服務元數據126中使用組ID,作為所述服務被部署在至少一個指定數量或類型的組上的服務要求。類似地,組ID可以關聯為特定設備的參數(與該設備相關的元數據130內的參數)。在這一點上,應當理解,組ID可以被當作設備元數據130靜態或動態(易變)參數,取決于設備是否在組之間分配或重分配、以及分配或重分配的頻率。圖2A和2B是示出圖1的系統100的示例操作的流程圖。具體地說,圖2A是示出系統100的示例映射操作的流程圖。在圖2A的示例中,接收對服務部署的請求(202)。例如,用戶可以使用諸如下面參照圖10討論的示例用戶接口之類的用戶接口,輸入部署指定服務的請求。在其他示例中,可以自動進行請求,例如,可以從要求部署服務的業務數據處理系統104的應用接收請求。基于請求,可以確定指定的服務和相關的服務元數據(204)。例如,服務映射器120,或者更具體地說,GSM組件120a可以響應于請求來訪問服務儲存庫124,以確定所請求的服務是否可用,以及確定相關的服務元數據126和可執行服務128。在某些示例中,同一服務可以對于多個部署平臺實現,例如可以對于基于C編程語言或Java編程語言的已知開發平臺實現。通過提供這種多樣的開發平臺,給定服務可以部署到更寬范圍或類型的可用設備。關于所述服務的開發平臺的信息可以作為一種類型的服務元數據126,與例如上面參照圖1提供并討論的操作服務的任何各種服務要求或偏好一起被包含在內。然后,可以獲得多個設備的當前設備元數據(206)。例如,服務請求可以指定特定的本地網絡、設備組、設備或設備類型。在其他示例中,服務映射器120和/或GSM組件120a可以基于服務請求和/或相關服務元數據,自動選擇特定設備或設備類型。為了收集設備元數據130,系統監視器132可以起動分發到適當設備的一個或多個查詢(也許從或結合服務映射器120或者其相關組件發送),并且然后可以收集響應于查詢的設備元數據130。例如,為了分發查詢以及進而收集設備元數據130,可以使用來自GSM元數據表136和/或LSM元數據表138的信息,并且可以構建設備組并將其與組ID相關聯,以便以及時和可擴展的方式收集設備元數據。在其他示例中,在預期將來的服務請求中,可以通過周期地請求設備信息,來收集設備元數據130。可以至少基于服務元數據126和設備元數據130,從多個設備中確定所選設備(208)。例如,服務映射器120或其組件120a、120b、120c之一可以應用根據等式(1)的匹配操作,以便確定哪些查詢的設備允許部署該服務的(即使)可能性。例如,匹配操作可以包括確定服務可用的特定于平臺的實現(可執行)(例如,基于Java服務的Java虛擬機)在至少一個給定設備上可執行,或者其他設備特性和能力可以與要部署的服務的服務要求匹配。然后,可以使用如等式(2)所示的性能度量來確定所選的一個匹配設備作為允許部署的服務性能最佳的一個。當然,如前面提到的,可以使用其他信息來執行所選服務的確定,包括網絡元數據140。最后在圖2A中,服務被部署到所選設備上(210)。例如,可以使用服務注入器(如服務注入器134)來部署、安裝和/或啟動所選設備上的服務。在某些實現中,服務注入器134表示或包括多個服務注入器,其中每個服務注入器與特定開發平臺相關。在這些情況下,特定類型的服務注入器的可用性可以被包含在設備元數據130中,并且與服務元數據126的相應要求進行匹配。因此,圖2A示出為了將服務部署到所選設備或設備集合上、在系統100或相關系統中可以進行的服務-設備映射處理的高層描述。如上面提到的,可能的情況是,服務已經被映射和/或部署到了一個或多個設備上,并且由于多種可能的原因,可能確定應當停止正運行的服務、將其從它當前運行的設備中移除、以及將其重映射和重部署到更好的設備上。因此,圖2B是示出系統100可以執行的這樣的重映射處理的示例的流程圖。在圖2B的示例中,確定將在初始設備上運行的已部署服務進行重部署的動機(212)。例如,如上面提到的,情況可能是,服務122被部署并運行在初始設備(如設備108)上。然后,系統監視器132可以涉及到確定重映射服務122的動機中,例如,檢測更強大或更適合的設備(例如,本地網絡102上的設備110)的可用性。例如,作為更適合的設備110物理移動到本地網絡102范圍內的結果,或者作為設備110上的某些其他服務停止(從而釋放設備110的資源并使該設備可以運行服務122)的結果,該設備可以被檢測為可用。在另一示例中,動機可以包括檢測到初始設備108上的低電能或有限存儲空間。在另一示例中,動機可以包括對服務映射器120在某一預定時間周期之后重部署服務122的指示。作為這些動機的結果,可以進行重映射,幫助確保服務運行在本地網絡102的適合設備上。一旦確定了足夠的動機,就可以進行部署服務從初始設備到從多個設備中選擇的設備的重映射(214)。例如,可用執行圖2A的映射處理,使得在這種情況下,圖2A的部署服務的請求(202)對應于動機的確定,以開始例如可以由系統監視器132表示或確定的重映射處理。此外,盡管圖2B的處理被稱為“重映射”,但應當理解,初始設備108上的服務最初并不是一定需要由圖2A的映射處理映射。例如,情況可能是,服務器122最初被直接和專門安裝在設備108上,而沒有圖2A的映射處理的幫助。因此,在這種意義上說,重映射是指服務122或類似服務從初始設備到所選設備的任何移動或重部署。此外,應當理解,某些用于執行重映射的技術可能依賴于例如重映射的動機。例如,在特定設備移動到本地網絡102中的情況下,可以直接進行到該設備的映射(首先啟動重映射),即,該設備將被自動確定為服務122的所選或者接收設備。在其他示例中,例如在動機包括檢測到初始設備108瀕臨缺電的情況下,可以執行圖2的全部映射處理,例如,查詢設備、將得到的設備元數據130與服務元數據126匹配、以及確定和應用適當的性能度量,可以進行全部處理,以便確定包括一個或多個設備的所選設備(如設備110)。一旦執行了重映射,已部署的服務就可以被重部署在所選設備上(216)。例如,可以使用設備110上的服務注入器,將已部署的服務122從設備108重部署到設備110或者其他所選設備。如下面參照圖7詳細討論的,這樣的重部署可以包括在重部署緊前面保持初始設備108上的服務122的狀態。這樣,例如,即使在重映射處理期間也可以保持服務的連貫性。然后,可以將已部署的服務從初始設備移除(218)。例如,設備108上的服務注入器134可以停止并將服務122從初始設備108移除。在該示例中,在服務122部署到設備110之后進行已部署的服務122從初始設備108的移除。例如,這可能出現在服務122提供要求服務的連貫性的某些安全功能或其他服務(例如,傳感器監視危險的化學品或狀況)的情況下,這樣,尤其是與剛才提到的狀態的保持一起,使得很少有或者沒有危險狀況不被監視的時間。然而在其他示例中,應當理解,不需要保持服務122的狀態,并且服務122可以在重部署到設備110的同時或者之前從初始設備移除。圖3是示出使用圖1系統的三層架構的系統300的框圖。即,圖3的示例示出上面參照圖1討論的全局、本地和設備(組)層的應用。例如,圖3示出系統100按照所提供的服務和/或所包括的設備來分組不同的網絡的能力。這樣,可以在寬范圍的智能項目設備上部署寬范圍的服務,以實現多種業務目標,此外,可以將設備網絡組織成團體(community)。具體地說,在圖3中,全局層包括設施安全管理團體302和資產跟蹤團體304。從圖1的上述描述應當理解,設施安全管理團體302和資產跟蹤團體304的每一個可以與全局服務映射器(GSM)組件120a的實現相關聯。于是,例如,設施安全管理團體302可以包括用于確定危險狀況的(例如,易燃或易爆物質或物質組合的存在)服務和設備,而資產跟蹤團體304可以包括可用于全程跟蹤產品(從它們源頭/制造一直到產品被放倒貨架上銷售)的服務和設備。通過以這種方式分類服務和設備,可以適當地分配來自企業的信息,并且可以高效地執行這里所述的各種映射和重映射過程,例如,不用浪費精力來試圖將在設施安全管理團體302中有用的振動檢測服務映射到資產跟蹤團體304中的設備,如果提前知道這樣的服務在后一上下文中沒有用處的話。然后,本地網絡306和308可以被當作上面參照圖1提到的本地層的部分,并且可以與設施安全管理團體302相關聯,而本地網絡310位于本地層并且與資產跟蹤團體304相關聯。如已經參照圖1提到的,本地網絡306、308和310中的每一個可以與多個設備相關聯,具體地說,本地網絡306可以與設備312、314和316相關聯,而本地網絡308可以與設備318、320和322相關聯。然后,各個設備可以被分組來形成圖1的組層,其中對給定的組選擇或確定一個設備作為組長。在圖3中,設備312是包括設備312、314和316的組的組長,而設備322是設備318、320和322的組長。同時,資產跟蹤團體304的本地網絡310與組324和組326相關聯,其中組324包括設備328(作為組324的組長)、330、332和334,并且組326包括設備336(作為組326的組長)、338和340。從圖1的上述描述應當理解,本地網絡306、308、310可以包括本地服務映射器(LSM)組件120b的實現。該LSM組件可以包括計算設備或服務器(例如,便攜式計算機或者Stargate服務器),它擁有足夠計算資源并且在物理上離其對應的設備近(與其對應的GSM組件相比)。因此在圖3中,組324和326示出這樣的事實,即在某些實現中,只有特定設備(例如設備330)(并不一定是組長設備)可以直接訪問運行LSM組件120b的設備或服務器。結果,在這些情況下,LSM組件與組324和326的其他設備之間的通信可以通過直連的設備330進行。圖4A和4B分別是示出GSM元數據表136和LSM元數據表138的示例。在圖4A中,GSM元數據表136包括用于標識相關的本地網絡的列402(例如,標識LSM120b的實現)。例如,在圖3中,列402可以標識本地網絡306和/或本地網絡308與GSM組件120a的實現相關聯,后者與設施安全管理團體302相關聯,其中在列404中標識該團體。然后,列406可以用來指代對應的設備元數據文件(例如,符合定義的XML模式的XML文件),它描述例如與可操作提供一定能力的LSM組件120b相關聯的傳感器。類似地,列408可以用來指代對應的服務元數據文件,它描述所述服務的一般性質,包括例如關于列406的傳感器實現的溫度和振動服務的信息。列410提供本地網絡的位置,例如,圖中所示的“倉庫A”。于是可以在GSM元數據表136中以概括、高層的方式引用設備元數據130和服務元數據126,而不要求GSM元數據表136保持所有(或一些)本地網絡的所有設備的當前狀態。當然,GSM元數據表136中可以包括其他信息,例如,設備是移動還是固定的。GSM元數據表136的數據文件可以存儲在一個或多個服務器上,并且可以由用戶根據需要加載。在其他實現中,GSM元數據表136的數據文件可以被GSM組件120a或者管理者自動加載(一般地說,應當理解,這里事實上由用戶執行的任何所述動作可以使用適當的計算資源自動實現)。結果,服務映射請求可以被路由到全局層上的適當GSM組件,并且可以使用相應的GSM元數據表136來確定例如對服務映射請求可以考慮哪些相關設備/服務屬性或類型。通過使用GSM元數據表136和其他這樣的表,可以減少或消除連續遍歷所有可用的本地網絡的需要。圖4B示出LSM元數據表138的示例,它包括列412,其使用相關組標識符標識設備組,而列414標識列412中所標識的組的成員。例如,列414可以指定列412的組包括具有相關(類型)能力的PDA和傳感器節點。列416指定可以在列414的組成員(設備)上運行的服務(的類型)。在圖4B中,列416標識顯示服務和溫度服務。因此,組不僅可以被當作設備的集合,而且還可以被當作組所提供的服務的集合。在這種情況下,即使在大的區域中、對于多個不同類型的設備,也可以標識服務。列418指定服務質量(QoS)事項,例如,列412的組ID中標識的組的當前資源使用率。通過指定組的可用QoS,可以知道和評估組的可靠性和性能。最后在圖4B中,列420指定所標識的組在相關本地網絡的位置,例如圖中所示,在本地網絡的“倉庫A”的“區域1”中。因此,組的位置可以例如靠近該組的LSM組件120b,從而,例如LSM組件120b與組之間的通信可以及時和可靠。從圖3、4A和4B以及上述討論中應當清楚,LSM組件120b可以負責組織其自己的本地網絡,并且與GSM組件120a及其存儲設備和/或服務的類型分類高層和描述相反,可以負責存儲特定于實際的單獨設備和/或服務的信息。如上所述,LSM組件120b可以物理上離其各自的設備和網絡較近(例如,可以與設備位于同一倉庫或其他建筑或地點中),并且可以用于跨接GSM組件120a和各個設備之間的間隔。通過以這種方式分擔責任,可以獲得大量數據的有利分布。因此,LSM組件120b可以包含到其相應GSM組件120a的標準接口,由此它可以接收將服務映射到LSM組件120b的一個或多個設備的映射請求。如下面詳細描述的,LSM組件120b可以包括網關服務器。除了圖4A和4B的示例,應當理解,GMS元數據表136和/或LSM元數據表138中可以包括其他參數和元數據。例如,可以包括組的額外屬性,例如每個組的規模,如關于組長與組成員之間的最大跳數或者定義可以包含的最大組成員數目的組大小。圖1和3的三層架構的第三層是組長層,在該層上可以部署GLSM組件120c。因此組長一般表示作為本地網絡被分成的相應組的代表的本地網絡的專用設備(如圖1和3所示)。如圖4B所示,這些組長在LSM組件120b上登記(例如,存儲在LSM元數據表138中),并且提供來自相應的底層設備簇的抽象。組長因此可以用于提供關于各個組成員、以及關于組成員所提供的服務的信息。關于三層架構的每一層的語義信息可以被當作建立置于底層移動特定網絡上的輕權重的語義覆蓋層的塊(buildingblocksofalight-weightsemanticoverlav)。該語義覆蓋層允許將語義相關的服務或設備分組在一起,而與服務/設備的物理位置無關。例如,在全局(GSM組件120a)層,可以標識由企業內的相同或類似角色相連的物理分布的本地網絡。類似地,可以根據關于構成設備和這些組的功能的信息來標識本地(LSM組件120b)級別的組。圖5是用于分別實現圖1和3的系統的智能項目基礎架構500的框圖。智能項目基礎架構500包括五層設備層502、設備級服務層504、業務處理橋接層506、系統連接層508以及企業應用層510。可以認為層502包含跨越多個組、本地網絡和/或物理位置的各種設備一圖1的設備108、110、112和114或者類似設備。同時,可以認為層506、508和510是圖1的業務數據處理系統104的部分或者與其相關。因此,可以認為層504表示圖1的系統100的其余組件,例如,服務映射器120及其組件120a、120b和120c、系統監視器132及其組件132a、以及服務儲存庫124,如圖5所示。設備層502因此包括實際智能項目設備以及它們之間的任何通信。設備層502還負責將任何提供的硬件服務提送到下一高層一設備級服務層504。設備可以包括例如,RFID設備512、嵌入式系統514、傳感器網絡516、以及任何其他新的或新興技術518(只要適合的話)。例如,對于RFID設備512,可以將移動標簽貼到現實世界物體上,然后通過RFID讀取器讀取。在使用有源標簽的實現中,有源標簽也可以提供額外的傳感器數據(例如,當前值或過去值)。在RFID中,通信通常由讀取器起動,而標簽可以或不能彼此直接通信。這樣的RFID讀取器可以被配置處理標簽數據的程度,例如,可以被配置成執行寫入數據的驗證,或者在表面上丟失的標簽實際上在給定時間窗內再次出現的情況下,避免報告標簽消失。與嵌入式系統514的通信的技術可以隨著嵌入式系統的設備類型而不同。例如,嵌入式系統可以表示從小型、單芯片微型計算機一直到全面的PC硬件。因此,例如,對于有移動電話或更多能力(例如,能夠運行Java虛擬機TM)的設備,可以以JavaTM或基于OSGi來進行實現(后者表示用于實現應用和/或應用組件的遠程安裝和管理的組件模型的已知框架)。同樣如上所述,傳感器516可以包括任意數量的傳感器類型,傳感器可以包括集成的處理能力并且能夠執行對等通信。設備級服務層504管理設備層502使用的可部署的服務。因此,層504包括服務映射器120(和服務映射器組件120a、120b和120c)、系統監視器132(和系統監視器組件132)以及服務儲存庫124。如上所述,服務儲存庫124可以存儲至少兩種類型的服務,復合和原子(atomic)服務。復合服務通常依賴其他服務來完成它們的任務,并且可能沒有它們自己的直接可執行的代碼;復合服務可以包括存儲在相應服務描述中的可執行服務組成描述。因此,復合服務可以具有一個可執行服務,即,服務組成描述。相反,原子服務通常不使用其他服務,并且具有它們自己的直接可執行的代碼。此外,如前面所述,由于原子服務可以部署在不同的平臺上,因此原子服務可以具有不止一個可執行服務,例如,對于每個不同平臺具有一個可執行服務。服務儲存庫124也可以存儲服務元數據126,其中該服務元數據126在上面詳細描述,并且可以包括服務名、標識符、版本或廠商,或者可以描述服務的運行時要求,包括例如,技術部署要求(例如,高帶寬或者要求的最小處理能力)、語義要求(例如,接收設備具有串聯和/或許多設備鄰居)、以及空間要求(例如,接收設備在地下室內,或者在指定建筑的南邊)。最后在設備級服務層504上,可以包括設備儲存庫520。從上面的描述中應當理解,設備儲存庫520可以包括例如,關于設備的設備信息(例如,設備元數據),類似于服務儲存庫124保持關于服務的信息(例如,服務元數據)的方式。例如,設備元數據可以在確定了設備查詢操作之后被存儲在設備儲存庫520中,或者在另一實現中,可以基于關于設備的外部可用信息由管理員存儲。例如,如前面所述,設備元數據可以包括設備名、電能容量、存儲容量、處理能力、或者其他可能與將服務映射(并最終部署)到相關設備有關的信息。在運行時,系統監視器124監視當前系統狀態。可以由服務的開發者在設計階段設置服務的狀態的任何部分是否和如何暴露給系統監視器。該狀態可用性信息于是對于系統管理員和服務映射器120都是可得到的。此外如上所述,服務映射器120接收部署請求,然后例如通過匹配服務元數據與設備元數據(可以包括智能項目設備和相關本地網絡的當前狀態),來確定相應服務應當被部署在哪個設備上。此外如這里所述,服務映射器120還可以對特定事件或狀況作出反應,包括(由系統監視器124識別出的)網絡狀態的改變,然后可以決定重映射服務或者添加或刪除服務實例,以便更好地滿足給定的部署請求/要求。業務處理橋接層506包括這樣的服務,它被設計成聚集來自設備層502的設備、通過設備級服務層504提供的數據,并且將來自設備層502的數據轉換成有關業務的信息。這種情況下,可以減少送到后端企業應用系統的數據量,并且可以對不同的企業應用系統執行業務邏輯。例如,一個或多個規則處理器522可以用于解析輸入消息,支持基本操作服務(例如,項目移動、關聯、解除關聯或者設備讀/寫)并支持信息查詢。規則處理器522處理用戶定義的業務規則,該規則定義或引用應當執行或考慮的任何其他基本操作服務。使用這樣的規則和基本操作服務,這提供了靈活的框架來使系統500適應于不同的業務場合。規則處理器522可以使用數據儲存庫524來保持對所有感興趣的物理對象的跟蹤,例如,保持對給定被跟蹤對象的當前狀態、位置、時間戳、或者相關業務交易的跟蹤,以及保持對預期的將來行動的跟蹤。可以定期地(例如,每天或者每月)報告來自數據儲存庫524的聚集信息。層502、504和506的操作的一個示例包括“收貨”場合。例如,向接貨商交付對象的供貨商可以與對象標識符(如電子產品碼(EPC))一同發送高級貨運通知(ASN),該通知包含貨運中的所有對象的列表。ASN可以被存儲在數據儲存庫524中。當貨運到達并且通過設備層502(例如,在接收碼頭門處)上的RFID讀取器時,然后,RFID讀取器讀取EPC,并將其發送到規則處理器522。規則處理器查找消息來自的讀取器的ID,確定讀取器的位置和角色,然后調用負責處理接收的貨運的適當的基本操作服務。該操作服務將獲得的EPC與來自前面ASN的預期EPC進行比較,如果找到匹配,則向企業應用532報告交貨已經到達和完成。執行的操作服務然后還可以更新數據儲存庫524中的數據。上面描述的服務以及用于接收和發送所涉及的消息的服務,可以由服務管理器526管理。系統連接層508中的組件可以用于連接不同的應用系統以及支持系統和數據集成。例如,消息和數據可以由信息交換和轉換模塊528路由到正確的后端系統,還可以在此被轉換來使能語義正確的集成。在消息路由和轉換服務的上面,系統連接層508還可以用于當給定服務被從開發環境部署到設備級服務層504的服務儲存庫124時,使用外部服務儲存庫530來傳輸可執行服務128。企業應用層532包括例如,負責控制和管理企業業務應用的傳統IT系統。覆蓋特定業務過程的企業應用可以不是單個程序,而是可以由一起工作來實現期望功能的不同服務構成。這樣的服務可以由同一企業系統、企業應用層532內的另一企業系統(可能位于業務伙伴的地點)、或者由低層的系統(例如,由設備層502上的智能項目設備)提供。最后在圖5中,開發工具534可以指創建企業應用532和其他應用/服務的工具。使用與基礎架構500集成的開發環境可以支持基本服務的實現,類似于企業應用空間中的已知開發工具的方式。此外,開發工具534可以允許創建所需服務元數據126、以及將已有服務包括進新應用中。此外,開發工具534允許開發者指定特定服務應當在哪運行,配置各個服務實例,以及以期望的方式部署服務。即,開發者可以使用開發工具534開發元數據/可執行536,然后可以提供期望的服務元數據/可執行536,以便存儲在服務儲存庫124中,并且由服務映射器120同時或者以后映射/重映射。圖6是示出服務-設備映射操作的流程圖600。在圖6的示例中,服務(包括和/或與服務元數據和一個或多個可執行服務相關)最初被開發和登記在服務儲存庫124中(602)。例如,圖5的開發工具534可以用于設計和構建可執行服務和相關的服務元數據,以便在特定平臺類型上實現。然后可以在這里所述的三層架構的全局級別上標識本地網絡(604)。例如,可以確定圖1和4A的GSM元數據表136,其中可以存儲本地網絡(例如,LSM)信息(包括團體信息、設備或服務信息和位置)和可能的額外或替代信息。如參照圖4A所描述的,該全局級別信息可以在高級別或抽象級別上確定和表示,例如,不參考任何特定或獨特設備,而是關于已知與給定本地網絡相關聯的設備類型、功能或服務。如下面所述,GSM元數據表136因此用作確定是否和如何進行服務-設備映射的開始點。因此,可以在服務映射器120處(例如,在GSM組件120a處)接收服務映射請求。例如,管理員或者其他用戶、或者另一系統組件,出于將期望服務映射到適當的本地網絡和設備上的目的,可以訪問GSM元數據表136,并且因此可以通過標識期望的服務或服務類型來向GSM組件120a發出服務映射請求。這樣的請求可以采用各種形式。例如,管理員或其他系統組件可以請求將特定服務映射到一個或多個顯式標識的設備,或者可以請求將服務部署到所有(可用)設備上。管理員或其他系統組件也可以請求將服務映射或部署到某些指定數量或百分比的設備上。最后,如下面圖6的示例中所描述的,管理員可以指定,在給定上下文中,應當將服務指定在“最佳”設備上(例如,根據上面關于圖1和2A所述的性能度量)。在服務映射請求中給出了目標設備的情況下,GSM元數據表136可以用于檢測具有指定設備的所有本地網絡。例如,如果服務需要被部署在所有本地網絡的所有PDA上,則將檢索包含PDA的所有本地網絡。因此,GSM元數據表136中保持的抽象設備類(作為關于本地網絡的額外信息)可以支持本地網絡的搜索。在其他示例中,對服務的描述在確定本地網絡時可能是有幫助的。例如,使用服務元數據126,可以找到和分析具有已經運行的類似服務的團體,以檢測正使用的相關設備(的類型)。例如,如果需要部署作為設施安全管理的部分的新服務,并且由于本地網絡與團體相關,因此可以使用相應的設施安全管理團體302來檢測潛在的相關本地網絡/設備。作為對GSM組件120a的進一步輸入,管理員或者其他系統組件可以指定特定的管理限制(608)。例如,管理員或者其他系統組件可以指定要求的服務部署密度(如上面參照圖1所述),或者可以指定特定類型的設備的使用,或者可以指定完成映射和/或部署的時間限制。如參照圖1所述,這樣的抽象管理限制可以被轉化成關于服務將被映射到的設備的特定網絡的具體限制(例如,10%的設備密度可以被轉化成與特定本地網絡相關的區域中的具體設備數量)。然后可以比較服務映射請求與相關本地網絡信息(610)。例如,即使在全局層或GSM元數據表136的級別上,服務映射請求與本地網絡信息的比較也可以大大減少服務映射請求的可能輸出(outcome)。例如,關于圖3,如果服務映射請求與資產跟蹤團體304相關,則對于服務映射請求可以不考慮與設施安全管理團體302相關的本地網絡306、308。類似地,列406、408或410的設備或服務或位置信息分別可以減少可能的服務部署所要考慮本地網絡的數量。因此,可以做出關于服務的部署是否可行的確定(612)。如果部署不可行,例如在沒有設備、服務或位置可以與服務映射請求和/或管理限制(如果有的話)匹配的情況下,則可以采取若干行動(614)。例如,可以通知管理員,或者可以進入等待模式(例如,在預期有可能某些設備或網絡狀況將改變并且部署因而將不可行時)。此外,可以提供新服務;例如,可以新設計、修改和向服務儲存庫124(重)登記服務,使得新登記的服務可以與主要本地網絡狀況相兼容。然而,如果標識出部署指定的服務沒有障礙,則服務映射請求可以被送到LSM組件120b處并在LSM組件120b處接收(616)。LSM組件120b然后可以開始到服務儲存庫124的連接,以便獲得與所請求的服務(的類型)相關的特定服務元數據(618)。例如,LSM組件120b可以從服務儲存庫124獲得具有預定XML模式和指定服務元數據(例如服務要求)的XML文檔。然后,可以確定或者構建組及其相關的組長(620),將其與對該組唯一的組ID相關聯。如上所述,組可以通過它的構成設備和/或它所提供的功能來描述。本地網絡內的組生成可以通過多種機制來進行。例如,可以基于多個參數/要求確定或設計組,例如,組成員與(可能的)組長之間的最大跳數或者最大組成員數。在組創建期間,可以使用在最小化網絡流量的同時允許設備發現的發現機制,這是由于網絡流量和設備的其他發送/接收動作對于趨于具有相對少量計算和電能資源的智能項目設備來說是非常寶貴的。作為該處理的一部分,在本地網絡上發出并意圖建立組的消息可以包括功能和非功能組屬性以及唯一組ID。然后,可以評估來自可能的組成員的響應消息來創建組。某些設備可能由于例如關于組大小或其他屬性的限制而從出現的組中排除。這些被拒絕的組可以以相同或類似的方式開始另一組創建處理,從而最終將本地網絡分成組或簇(例如,如圖3所示)。然后,可以基于下面準則中的一個或多個、或者基于其他準則來選擇每個組或簇的組長。例如,在多個組成員中確定組長時,可以考慮包括可能的組長彼此相對的資源富裕程度在內的因素,這是因為,例如,組長可能與LSM組件120b及其他組成員通信,并且可能因此需要足夠的資源(例如,電池、CPU、存儲空間或者帶寬)來允許該通信。作為另一個示例,可能的組長所連接到的大量設備可以允許可能的組長更有效地從其相關組成員聚集信息或者向其傳播信息。作為另一示例,可能的組長的頻繁或最近的使用可能再次使該設備失去作為組長的資格,直到某個條件滿足為止。一旦確定了組長,可以選擇適當的路由協議以確保可能的組成員設備可以以可行和有效的方式相互通信。例如,即使組包括不同類的設備(例如,便攜式計算機、PDA或智能電話),也可以進行它們之間的通信。路由協議的示例包括基于位置的路由(基于設備的物理位置)、和/或依賴設備的直接鄰近的、基于拓撲的路由協議。一旦確定了組長,LSM組件120b可以向組長發送消息,以便指示組長收集設備元數據,例如,它(它們)相關組的設備簡檔(622)。可以使用各種能夠收集設備元數據而不超過相關本地網絡和設備的電能和/或通信能力的查詢技術,來執行設備元數據的收集。此外,該查詢技術可以考慮本地網絡基礎架構的可能的移動性和不可靠性,例如,新設備可能在查詢過程中加入或離開本地網絡。要執行的查詢的類型可以不同。例如,可以使用集中在結果的完整性的囤積(hoarding)查詢。例如,該囤積查詢可以執行唯一的查詢(指本地網絡上稀少并且因而容易標識的設備),或者代表性查詢(例如,指其中要在區域的所有設備(如特定建筑中的所有設備)上進行服務部署的查詢)。與這些囤積查詢相反,選擇性查詢可以包括不同的策略,以提供可擴展和自適應的基于簇的設備發現。這樣的設備發現可以包括(1)標識包含所需設備的適當簇,(2)分配優先級(其中優先級評估關于發往組長的查詢的等級,并且指示期望來自哪個組的更多相關結果)。關于包含所需設備的適當簇的標識,應當理解,組成員的絕對數量可能不如屬于特定設備類的組成員相對數量那樣相關。關于優先權的分配,可以考慮從組到運行LSM組件120b的網關服務器的距離。換而言之,例如,離LSM組件120b較近的組可能需要較少的跳來向LSM組件120b發送數據分組。此外,具有相對較大的當前資源能力的組可以是優選的。對于總的針對網絡中的所有設備類型的代表性查詢,可以使用不同的策略。例如,可以依次跟隨下面的優先級具有最多(非特定)設備、數據查詢和/或檢索的并行性的組、具有高可用帶寬的組長、具有最強資源能力的組、以及在跳方面離LSM組件120b近的組。在這樣的代表性查詢技術中,組所包含的設備的絕對數量可能是有關的。在這些情況下,由于需要代表性概觀,因此可能不要求特定設備之間的區別。并行性和帶寬的高可用性可以用于允許快速傳輸可能大量的設備簡檔,并且可以用于高效地組織在移動和可能不可靠的網絡中查詢的分布。類似的技術和考慮對于更多地針對期望結果的性能、而不是完整性的選擇性查詢來說也是可能的。例如,關于“前N個”(例如,本地網絡上的10個最佳節點)和“頭N個”(例如,本地網絡上遇到的頭N個位于LSM組件120b的特定距離內的設備)的策略依賴于對所標識的設備簡檔的適當預選擇。一般而言,這兩個選擇性查詢的示例(“前N個”和“頭N個”)可以遵從組長向所有它們的組成員請求設備簡檔的過程,然后組長預選擇接收的結果(即,最佳的‘N個’設備簡檔或者頭‘N個’設備簡檔)。最后,組長將結果集合轉發到LSM組件120b,后者然后可以總體上選擇最佳的‘N個’結果。應當理解,在某些實現中,將不會永久地監視當前設備場景。而是,可以在服務映射請求的時刻抽取關于本地網絡及其設備的當前狀態的必要信息。一旦每個組長使用剛才描述的一種或多種查詢技術或者使用其他查詢技術查詢了其各自的組設備,組長就可以合并所收集的設備元數據(例如,設備簡檔)以便轉發到相關LSM組件(624)。例如,組長可以創建包含所有的其相關設備的設備元數據的XML文件。通過這種方式,LSM組件具有匹配已知服務元數據與接收的設備元數據所需的信息(626)。例如,LSM組件120b可以從服務儲存庫124得到了服務元數據126,并且接收到了剛才所述的多個設備的設備元數據130,可以匹配例如服務元數據126的要求與設備元數據130的設備簡檔。例如,如果服務要求和設備簡檔是以根據預定XML模式的各自XML文檔提供的,則可以將參數和值(例如,存儲空間、電能和處理能力)相互匹配,來確定能夠處理所述服務的部署的至少一個組的某些設備子集。如果嘗試該匹配操作的結果是確定部署不可行(628),則可以調用上面提到的各種選項中的一個或多個,包括通知管理員、進入等待模式、登記可部署在至少一個設備上的新服務、和/或提供新設備或設備能力。然而,如果部署是可行的(628),并且確定了至少最小數量的匹配設備來部署,則可以應用性能度量來確定哪個匹配設備最適合實現所述服務的功能。例如,如上面示例中那樣,服務元數據126可以包括關于特定服務要求相對于其他服務要求的相對權重或重要性的信息。然后,這些相對權重可以被加入性能度量中以便與設備元數據比較,從而可以根據哪些設備最適合執行服務功能來排序和/或過濾匹配設備。然后,LSM組件120b可以標識和選擇這些最適合的設備以便在其上部署所述服務。因此,可以實現在所選設備上注射服務(632)。例如,如參照圖1所述的,服務注入器134可以用于安裝和啟動所選設備上的服務。另外如上面提到的,可以基于與具有服務的可執行服務的開發平臺的兼容性,選擇服務注入器134。一旦進行了上述服務-設備映射,則可以更新GSM和LSM表(634)。例如,LSM組件120b和/或組長獲得的信息可以反映在GSM元數據表136和/或LSM元數據表138中。例如,可以更新LSM元數據表138的服務質量列418以反映每個不同組的新資源使用率。作為另一個示例,可以更新LSM元數據表138的組ID列412以反映上述設備發現過程之后存在的新和/或不同的組。圖7是圖1的系統100的重映射實現的框圖。即,如已經參照圖2B所述的,系統100可以涉及于重映射過程中,通過將服務從資源匱乏的設備重分配到更強大的設備上,允許改善的設備利用。在圖7中,設備110和108分別被示為圖2B的重映射過程的初始設備和所選設備。為了清楚和簡要,圖7中沒有顯示設備108和110的各個元件,包括例如,在圖1的上下文中對于設備108討論的各個元件。初始設備110包括用于存儲服務704、服務706和服務708的存儲器702。類似地,所選設備108包括存儲器118,它包括可用存儲空間710以及服務712和服務714。如圖7示例中所示,系統監視器132可以包括系統監視器組件132a和132b,它們可操作來檢測關于它們各自設備的當前資源可用性和/或使用率的信息以便向服務映射器120報告。當然,在另一示例實現中,系統監視器132可以從設備108、110遠程地實現,并且服務映射器120可以被實現成包括GSM組件120a、LSM組件120b和GLSM組件120c。因此,在圖7中,監視器組件132a和132b分別可以檢測和提供關于設備108和110的資源使用率和/或可用性信息。基于該監視信息,服務映射器120可以確定存在的重映射服務706的動機。在前面提供了動機的示例,包括確定初始設備110的資源級別相對或極其低,或者本地網絡范圍內進入更強大或資源富裕的設備。如下面詳細描述的那樣,圖7提供服務706要被從初始設備110重映射到所選設備108的示例。一般而言,在這樣的重映射過程之前或期間,服務映射器120可以使用服務706的相關服務元數據來檢查服務706(或其他服務)的移動性程度。例如,服務元數據可以包含關于初始設備110的位置的信息(它可能限制服務706的移動性,例如,如果初始設備110處于具有差連接的位置)。作為另一示例,服務元數據可以包含關于服務706與初始設備110之間可能存在的(可能阻止服務706被重映射的)任何依存關系的信息。一般地說,服務706的移動性程度可以表示為“固定”,其中不允許重映射;“可移動”,在這種情況下服務(以及可能的服務狀態)可以從設備移動到另一設備;和“部分可移動”,在這種情況下服務706可以包括不同的交互部分,某些部分(不是全部)允許被重映射。應當明白,服務706從初始設備110到所選設備108的重映射在某些實現中可以共享上面(例如參照圖6)所述的映射處理的許多特性。因此,下面詳細描述圖6的映射處理以外的、或者由此修改的重映射特征。例如,如參照圖2B所討論的那樣,可能需要或者最好保存正運行的服務706對于初始設備110的當前狀態,并且在圖7中,存儲在存儲器702中的數據文件716可以用于這個目的。在該上下文中,術語狀態或服務狀態可以包括例如,在重映射處理之前、期間和之后、可能與服務706相關和/或可能允許服務706執行的連續性的所有有關數據。確定哪些數據應當與服務706一起移動/包括,這可能取決于例如服務的類型。例如,對于象“平均溫度”這樣的聚集服務,保存最后計算的溫度值并將其傳輸給所選設備108可能是合理的。然而在其他實現中,傳輸平均溫度服務的整個溫度歷史也可能是合理的。關于可以移動哪些服務/數據的信息可以被包括在相應服務元數據中。數據文件716一般可以用于保存要移動到所選設備108的有關數據。數據716也可以在服務706在設備110上執行期間被連續地填充數據,從而允許重建歷史或其他服務元數據的可能。在任一情況下,應當理解,任何類型的有關數據可以在服務重映射時存儲在數據文件716中。此外,服務映射器120執行的重映射過程,可以負責檢查服務和/或設備數據的一致性,并且將其保存在數據文件716中。在這種情況下,可以使用緩存以便于服務數據存儲和傳輸。也可以對不同服務允許不同的過程,例如,在服務的服務元數據中定義,服務狀態可以是可能的重分配的部分。在某些實現中,可以將服務706(例如,可執行服務)從初始設備110直接移動到所選設備108。在其他實現中,服務706可以由初始設備110的存儲器702內的服務映射器120標識,并可以然后從服務儲存庫124訪問來注射到所選設備108的存儲118上。在某些實例中,可以在不同的設備類型之間進行重映射。例如,初始設備110可以包括PDA,而所選設備108可以包括便攜式計算機。這種靈活性可能是得益于適當可執行服務的選擇,這應當能夠解釋數據文件716中找到的服務元數據。在這種意義上對服務元數據的解釋可以包括用于支持相應數據類型的支持信息,并且可以包括不同的數據表達的機會。例如,便攜式計算機通常具有比PDA顯示器大的顯示器尺寸、較高的分辨率。從PDA傳輸的數據可以用更復雜的表達格式來顯示,例如,通過數據圖。此外,數據存儲格式和/或技術可以特定于具體設備類型,例如,一個設備可以使用文件格式/系統,而另一個使用二進制格式/系統。因此,在某些實現中,只有在相同預定義類或類型的設備之間允許服務重映射。在其他實現中,可以使用轉化服務(未示出)將給定服務元數據轉化成所選設備108支持的適當數據格式。例如,這樣的轉化服務可以使用所選可執行服務的服務元數據來標識需要哪些數據轉換。圖8是示出根據圖2B的重映射操作的流程圖800。在圖8中,對運行在初始設備上的已部署服務的重映射確定動機(802)。例如,上面已經提到,可能的情況是,設備處于用盡某些資源(如存儲空間或電能)的邊緣(或者移到最小要求水平以下)。在某些實現中,參照圖7,確定動機可以包括在初始設備110上運行的監視組件132b處檢測動機(例如,存儲空間或電能的低水平),如果設備資源缺乏,則監視組件132b可以向服務映射器120發送警報或通知。或者,新的或改變的設備場景可以使能或者強制這樣的重映射,以便對于網絡整體提供更好的資源利用率。新的設備場景可以包括一個或多個新的強大設備,它們將自身貢獻為新服務提供者。運行在相對不那么強大的設備上的服務然后可以被轉送到這些更有能力的設備上,以便實現網絡內更好的負載平衡。重映射的動機的另一示例包括作為全局監視的部分、以指定間隔進行重映射的指示,它可以由例如GSM組件120a和/或LSM組件120b起動。該全局監視可以基于是否違反了其他定義的系統限制,在這些情況下確定動機。例如,可能最好特定設備組服從特定不變量,例如,組成員不應當低于的電池閾值,并且這些不變量可以用作系統限制。例如,本地網絡102內可能存在某些組,它們代表比其他組更關鍵的功能(即,更重要的服務),因此,為了確保這些組的穩定環境,可以定義對這些關鍵組的可能的不變量,例如剛才提到的電池閾值。此外,可以對一個或多個組定義不同的服務質量(QoS)屬性,并且可以以規則的間隔觀察這些QoS屬性。在這些實現中,特定QoS屬性的違反可以作為重映射的動機。在移動無線網絡的環境下,QoS可以指服務水平屬性或者資源水平屬性。在服務水平上,可以談論可靠性和性能,而在資源水平上,諸如CPU負載、存儲空間、帶寬和電池水平代表典型的屬性。總的來說,運行的服務的可靠性或性能很大程度上依賴于當前資源能力。例如,較低的電池狀態可能增加在不久將來設備失效的概率,并且因此與期望的相關服務的可靠性降低相對應。一旦確定了適當的動機,就確定與要被重映射的服務相關聯的服務元數據(804),并且也可以對多個設備的每一個進行當前設備元數據的確定(806)。例如,可以從服務儲存庫124中確定服務元數據126,而在上面提供的各種服務-設備映射示例的上下文中,可以使用上面所述的各種設備發現、組長形成、和/或簡檔查詢和/或轉發技術,確定設備元數據130。當然,這些技術可以按照需要而修改。例如,在僅允許在本地網絡102內重映射服務706的情況下,可能不需要執行對其他本地網絡(例如使用GSM元數據表136)的檢查。在另一示例中,可能的情況是,重映射的動機包括新設備進入本地網絡102,在這種情況下,只需要對該新設備收集設備元數據。因此,例如,LSM組件120b可以從相關本地網絡的組長收集一個或多個設備的聚集的設備簡檔。此外,如果有的話,可以應用重映射斷定(predicate)(808)。重映射斷定泛指在可以進行重映射之前需要滿足的服務的技術要求。這樣的斷定可以包括例如,服務最初被映射到初始設備的要求,諸如上面所提到的那些不變量之類的組不變量,或者位置限制。例如,如果最初映射不要求根據性能度量選擇最佳設備,則圖8的重映射處理可以嘗試應用這樣的性能度量。作為另一個示例,當未能在最初組內重映射服務導致服務被移動到最近的相鄰組的設備時,可以使用位置限制。然后,可以基于服務元數據和設備元數據確定所選設備(810)。例如,可以在服務元數據和設備元數據的XML文件內的相似標簽項之間執行匹配操作。此外,可以在匹配操作結束之后應用性能度量,以便根據性能度量從匹配設備中選擇最適合實現該服務的設備。如已經描述的,應當理解在某些情況下,所選設備的身份表面上可能是已知的,例如,首先基于重映射動機的確定(例如當新的強大設備進入本地網絡并觸發重映射時)。在這種情況下,所選設備的確定仍可能被認為是指對新的可用設備的設備元數據應用匹配操作和/或性能度量,這是因為確定可能的重映射的動機也許不足以確保重映射的實際存活能力(viability)或愿望。例如,設備可能帶有大量可用的預留存儲空間和/或電能進入網絡,但可能有某些其他可能阻礙重映射的不兼容性(例如,只工作在特定開發平臺上)。可以確定和存儲初始設備上存在的當前服務狀態(812)。例如,在圖7中,可以將服務706的當前服務狀態存儲在數據文件716中。服務狀態可以包括例如,最近收集的數據、或者最近計算的數據分析、或者最近更新的服務歷史。然后,可以確定和應用任何重映射規則(814)。在該上下文中,重映射規則泛指阻止否則被允許的重映射的規則,以便維持系統穩定性、性能和/或可靠性。例如,一個這樣的規則可以限制可以對于特定設備或設備對執行的重映射的數量或頻率。例如,在設備108為服務706的重映射提供足夠存儲空間的情況下,可能會出現,后面的重映射處理將釋放設備110上足夠的存儲空間以觸發將服務706重映射回設備110的動機的確定。換而言之,重映射的動作可能觸發隨后的重映射,于是可能導致交替重映射的循環。因此,重映射規則的第一示例可以基于設備元數據(例如,設備簡檔)的次序。例如,可以使用類似于等式(2)的加權度量,即,基于加權的資源屬性,來賦予每個設備簡檔一個數值。然后,為了解決頻繁的交替重映射處理的問題,可以創建重映射規則,其中當且僅當初始和所選設備的計算值之間的差大于某個預定閾值時,才實現重映射。因此,取決于該閾值的值,只有在具有比初始設備高的多的資源能力的一個或多個設備可用時,才會開始重映射。在重映射規則的第二示例中,可以確定每個設備在重映射處理中的卷入頻率。然后,為了避免交替重映射,只有當經過了某一定義時間時,初始設備才可以成為目標或所選設備。因此,每個設備可以擁有本地定時器,指示該設備上次卷入重映射處理的時間。在其他實現中,LSM組件120b可以實現一個或多個全局定時器,應用到本地網絡的一個或多個組的一個或多個設備。這樣的定時器通常可以在每次重映射之后被重置。當然,可以定義和實現其他重映射規則。此外,可以使用這些重映射規則的各種組合,包括剛才描述的兩個示例規則的組合。如果滿足重映射規則,則可以將服務重部署到所選設備(816)。例如,LSM組件120b可以例如所描述的那樣,使用適當的服務注入器將可執行服務從服務儲存庫124傳送到所選設備。LSM組件120b也可以例如使用數據文件716,啟動服務狀態的傳送,并且例如再次使用適當的服務注入器,啟動所選設備上的服務(818)。最后在圖8中,LSM組件120b可以發送對于初始設備上的服務的停止命令(820)。在某些實現中,源設備上的服務的實際停止可能在結束傳送之后完成。例如,如上所述,被用來檢測或避免危險狀況的服務可能需要一直持續到重映射和重部署的服務準備好接管它在所選設備上的新位置時為止。圖9-19提供了上面所述的服務-設備映射和/或重映射技術的各種示例。圖9是三層服務映射器120的OSGi實現的分類圖的框圖,包括GSM組件120a、LSM組件120b和設備108(運行圖1的GLSM組件120c)。在圖9的示例中,下面詳細討論每個示出的組件的適當設備的示例,并且OSGi綁定(bundle)被安裝在每個設備上,并且由OSGi環境管理。綁定因此可以彼此通信來實現這里所述的服務-設備映射(和/或重映射)。具體地說,GSM組件120a在圖9的示例中可以由運行安裝的GSM綁定902的便攜式計算機實現。GSM綁定902負責通過調用Java服務器網頁(JSP)來開始服務映射和部署,JSP是在網頁服務器上生成動態網頁的顯示GSM元數據表136的已知技術的示例(將在下面參照圖10和17詳細描述)。當然,如上面提到的,該實現僅僅是示例,并且在其他實現中,可以通過來自另一系統組件的調用來啟動服務映射,例如,使用與GSM組件120a相關的應用程序接口(API)。GSM綁定902還可以用于基于服務-設備映射的結果更新GSM元數據表136。圖9中的LSM組件120b可以是具有比GSM組件120a少的計算資源的網關服務器。LSM組件用作裝有LSM綁定904的網關,從GSM組件120a接收服務映射請求,然后進行服務-設備映射。具體地說,LSM綁定可以轉發服務-設備映射請求,收集本地網絡(的組)內的設備的設備簡檔,并且將設備簡檔或其他設備元數據與服務元數據(例如,要求)匹配。LSM組件904因此還可以把需要簡檔的設備組通知給組長,把匹配操作的結果通知給GSM組件120a,并且更新LSM元數據表138。圖9中的設備108包括運行安裝的組長綁定906的PDA。組長綁定906可操作來查詢/搜索組設備的簡檔或其他設備元數據,將簡檔合并成單個消息,并且將具有簡檔的該消息發送給LSM組件120b。組長綁定906還可以更新組信息,例如,為了包含在LSM元數據表138中。最后在圖9中,設備110被顯示為從組長108接收其簡檔請求的組成員,并且用適當的簡檔應答該請求。當然,設備110也可以最終接收被映射或重映射的服務,并且也可以向組長設備108報告該映射或重映射的結果。圖10是示出在服務-設備映射開始前GSM表的示例的屏幕截圖。在圖10的示例中,如前面提到的,屏幕截圖1000可以表示JSP頁,管理員或者其他用戶可以在上面首先瀏覽設備類型,并且在所標識的本地網絡中可以存在已安裝的服務。例如,GSM元數據表136顯示為包含關于圖3的設施安全管理團體302以及資產跟蹤團體304的信息。因此,例如,管理員可以例如,使用用來選擇可用設備的下拉列表1002、和/或用來選擇可用服務的下拉列表1004,來選擇GSM元數據表136的服務和/設備。這種可選菜單可以顯示企業中(不同本地網絡內)存在的所有可用設備,以及服務儲存庫124中裝入的所有服務。管理員因此可以選擇各種類型的服務-設備映射。例如,管理員可以開始在列表1002所選的設備類型(如PDA)的所有設備上的服務映射/部署,或者可以在特定設備類型的最佳可用的設備上部署所選服務。在第一示例中,服務映射器120可以響應于“檢查和部署”按鍵1006的選擇,調查當前設備能力是否可以滿足所選服務的技術要求。在第二示例中,服務映射器可以基于管理員選擇“檢查最佳設備并部署”按鈕1008,檢測在可用資源方面最強大的設備。最后在圖10中,重置按鈕1010允許管理員重置屏幕截圖1000的JSP的字段,而“關于部署的通知”字段1012向管理員提供部署后(和/或嘗試的部署)的信息(圖16中示出其示例)。應當清楚,對本地網絡、設備和/或服務的所述標識既可以由管理員手動執行,也可以作為自動處理的一部分。一旦管理員通過選擇按鈕1006或1008開始了服務-設備映射,輸入的參數-如服務名、設備類型和部署模式(例如,一些、全部或最佳設備)就被傳送到LSM組件120b。然后,LSM綁定904接收這些輸入參數,并且開啟到服務儲存庫124的連接,來檢索可能包含關于該服務的技術要求的信息的相應服務元數據(例如,服務描述文件)。圖11是這樣的服務元數據文件110的示例。具體地說,圖11示出XML文件(“server.xml”),其中,區段1102標識該文件作為服務元數據(例如服務要求)描述文件的性質,而文件其余的區段1104包括服務參數的各種要求,包括存儲空間、CPU、電池、平臺和連接特性,如圖所示。圖12是圖11的服務元數據文件的特定實例1200的示例,其中示出了各種服務要求的特定參數。因此,圖12可以理解為圖1的服務元數據126的實例的特定示例。具體地說,例如,區段1402指定要求300MB的存儲空間、200MHz的CPU速度、以及示出的有關電池壽命、平臺信息和連接特性的其他參數的相應度量。盡管所示的描述文件顯示為XML文件,但應當理解,可以使用其他文件類型和/或表示格式。在網關服務器/LSM組件120b接收并保存服務描述文件(例如,圖12所示的文件)之后,可以實現(例如,圖2A和圖6)上述各種服務-設備映射操作。例如,消息可以被發送到組長設備108,其可以收集其組成員設備的所有設備元數據(例如,設備簡檔),并且將簡檔合并成單個XML文件(profiles.xml)。該XML文件將被送回到網關服務器/LSM組件120b。圖13是這樣的XML文件1300的部分示例,其中第一區段1302標識該文件作為設備元數據(例如設備簡檔)描述文件的性質,而文件其余的區段1204包括服務參數的各種要求,包括設備描述(例如,名字、類型或廠商)和硬件描述(例如,CPU描述、連接特性和存儲空間描述)。如剛才提到的,圖13是部分示例,并且從上面討論中應當理解,設備簡檔中可以包括各種其他設備特性。例如,圖14示出圖13的設備簡檔的完整示例的特定實例1400,并且包括描述部分1402、硬件描述部分1404、軟件描述部分1406和設備狀態部分1408。如圖所示,這些部分1402-1408的每一個可以包括對應于上面參照圖1提供的示例的各種設備參數,或者可以包括其他設備參數。因此,圖14可以被理解為圖1的設備元數據130的實例的特定示例。網關服務器/LSM組件120b在接收具有所有當前設備能力的設備元數據XML文件之后,可以執行設備元數據文件與服務元數據文件的匹配。例如,網關服務器/LSM組件120b可以解析這兩個XML文件,即,圖13的service.xml文件和圖15的profiles.xml文件。然后,網關服務器/LSM組件120b可以比較服務的技術要求與當前設備資源。例如,將service.xml中包含的標簽<memory>的值與profiles.xml文件中包含的相應標簽<memory>進行比較。最后,網關服務器/LSM組件120b通知便攜式計算機/GSM組件120a關于可以在哪個設備上部署所請求的服務。如果沒有這樣的可用設備,則網關服務器/LSM組件120b可以通知便攜式計算機/GSM組件120a沒有可用的設備滿足該服務的技術要求,并且可以提供關于該服務為何不能部署在該特定設備上的特定原因,例如,沒有足夠的空用存儲空間。例如,關于圖10,可能的情況是,管理員希望在PDA上部署顯示倉庫中的貨物的當前溫度的溫度服務。在該示例中,該倉庫內可能有五個PDA。管理員可以訪問圖10的屏幕截圖1000的JSP,并且分別使用列表1002和1004選擇設備和服務。然后,管理員可以選擇“檢查并部署”按鈕1006。結果,網關服務器/LSM組件120b可以如前面所述執行,在圖15的日志窗口1500中提供執行的結果。具體地說,區段1502示出網關服務器/LSM組件120b訪問服務儲存庫124來獲得服務元數據(例如,要求)文件,如圖12所示。在區段1504中,網關服務器/LSM組件120b向組長設備108發送消息,該消息具有用于獲得組內每個設備的設備元數據(例如,設備簡檔)的指示,如圖14所示,然后保存該消息。然后,在區域1506中,執行匹配操作,其中,在該示例中,將服務的存儲空間要求與設備特性進行匹配。如圖所示,5個檢查的設備簡檔中有4個具有足夠的存儲空間,而第五個設備(PDA)沒有。因此,在圖16中,示出JSP屏幕截圖1000的更新版本的屏幕截圖1600,其中“關于部署的通知”字段1012通知管理員關于該服務被安裝在5個設備中的4個上、但第五個設備沒有足夠存儲空間的事實。當然,上面提供的僅僅是一個示例,許多其他示例也是可能的。例如,管理員可以更喜歡將服務僅部署在5個可用的PDA中的最佳PDA上。在這種情況下,管理員可以簡單地選擇“檢查最佳設備并部署”按鈕1008,在本示例中,服務映射器120將服務標識和部署到具有最多存儲能力的PDA上。圖17是執行重映射操作的屏幕截圖1700。具體地說,圖17示出其中使用包括字段1702的JSP的示例,字段1702標識控制重映射處理的重映射規則。此外,字段1704用來標識設備類型,而字段1706用來識別設備屬性,并且字段1706用來標識規則的參數的閾值。字段1710為說明規則實現的評論提供空間。在這種情況下,規則規定,如果網絡/組中的PDA的存儲空間達到30MB的規定參數閾值,則進行重映射。換而言之,例如,規則規定系統監視器組件可以確定這5個可用PDA當中的一個或多個PDA是否以及何時能夠提供至少30MB的存儲空間以便在其上部署指定服務。在屏幕截圖1700中,保存按鈕1712允許管理員保存所顯示的規則,而重置按鈕1714允許管理員重置屏幕截圖1700的字段1702-1710的內容。最后,“顯示規則”按鈕1706允許管理員查看之前創建的任何規則中的一個或多個。此外,如前面提到的,上面參照圖17所述的各種功能中的一個或多個可以由系統組件使用GSM組件120a的API執行,而不是由用戶執行。在重映射期間,如已經參照圖2B和8所述,重映射處理可以由網關服務器/LSM組件120b支持。例如,為了使能重映射,LSM綁定904可以開始控制線程,該線程被設計來觀察管理員是否定義了任何重映射規則。如果管理員設置了新規則,則該線程將接收并保存它。如果需要執行服務重映射,則網關服務器/LSM組件120b可以將服務從資源相對匱乏的設備重分配到資源相對富裕的設備(例如,當前可用的資源最富裕的設備)。當組長設備108接收到來自網關服務器/LSM組件120b的請求時,組長設備108開始收集其相關組的所有設備簡檔。由于在本示例中組包含四個其他組成員,因此組長設備108可以向各組成員發送消息,每一個組成員可以用其相應的設備元數據(例如,其設備簡檔)應答。如前面所述,組長設備108然后可以接收送來的設備簡檔,并且將其合并成單個xml文件(例如,根據圖13的profiles.xml消息格式)。一旦接收并合并了所有簡檔,組長設備108就可以向網關服務器/LSM組件120b發送收集的設備簡檔。此外(或者),PDA綁定906可以開始用于觀察設備場景的控制線程。因此,如果新設備加入網絡,則該線程可以通知組長設備108。例如,該新設備可能需要向設備場景線程發送“hello消息”。如果組長設備108認出這個新組成員,則可以開始收集設備簡檔(包括新簡檔)的收集處理。組長設備108然后可以將合并的簡檔發送給網關服務器/LSM組件120b(如上所述),從而網關服務器/LSM組件120b然后可以確定是否和如何進行重映射。在接收到合并的設備簡檔后,網關服務器/LSM組件120b可以執行這里所述的匹配操作,并且可能實現適當的性能度量。然后,假設至少一個設備匹配參數閾值并因此滿足重映射規則,則如這里所述,可以重映射和部署有關服務。如這里所述,結構化框架和服務-設備映射算法使能服務的自動智能映射到適當的智能項目設備。映射機制是基于對服務(例如,如存儲空間或CPU能力、期望的輸入/輸出、行為這樣的技術要求和其他可能的屬性)和可用設備(例如,存儲空間、CPU和電池壽命以及可靠性之類的技術能力)的語義的復雜描述。基于該知識,并且為了部署給定服務,服務映射器標識可以主持服務的候選設備。然后,分別基于服務和設備的技術要求和屬性,選擇最劃算的設備(例如,在處理和存儲能力方面)來自動部署。這里所述的各種技術的實現可以以數字電路、或者計算機硬件、固件、軟件或其組合來實現。可以作為計算機程序產品,即,在信息載體中具體化的計算機程序實現,信息載體例如是,機器可讀存儲設備或傳播信號,供數據處理裝置(例如,可編程處理器、計算機或多個計算機)執行或者控制其操作。計算機程序(如上面所述的計算機程序)可以以任何形式的編程語言編寫,并且可以以任何形式部署,包括作為獨立程序或者作為適于計算環境中使用的模塊、組件、例程或其他單元。可以部署計算機程序在一個地點的一個計算機上或多個計算機上執行,或者分布在多個地點并通過通信網絡互連的多個計算機上執行。方法步驟可以由執行計算機程序的一個或多個可編程處理器執行,計算機程序通過對輸入數據操作并產生輸出來執行功能。方法步驟還可以由可以實現為專用邏輯電路的裝置來執行,例如,FPGA(現場可編程門陣列)和ASIC(專用集成電路)。適于執行計算機程序的處理器包括例如,通用和專用微處理器,以及任何種類的數字計算機的任何一個或多個處理器。通常,處理器將接收來自只讀存儲器或隨機存取存儲器或兩者的指令和數據。計算機的元件可以包括用于執行指令的至少一個處理器以及用于存儲指令和數據的一個或多個存儲設備。通常,計算機還可以包括或者可操作連接到用于存儲數據的一個或多個海量存儲設備(例如,磁盤、磁光盤或光盤),以接收數據或向其傳送數據或者兩者都有。適于具體化計算機程序指令和數據的信息載體包括所有形式的非易失性存儲器,例如包括半導體存儲設備(如EPROM、EEPROM和閃存設備);磁盤(如內部硬盤或可移動盤);磁光盤;和CD-ROM與DVD-ROM盤。處理器和存儲器可以由專用邏輯電路補充或者集成在其中。為了提供與用戶的交互,可以在具有用來向用戶顯示信息的顯示設備(例如陰極射線管(CRT)或液晶顯示器(LCD)監視器)以及用戶可以向計算機提供輸入的鍵盤和指點設備(如鼠標或跟蹤球)的計算機上實現。也可以使用其他種類的設備來提供與用戶的交互;例如,提供給用戶的反饋可以是任何形式的感應反饋,例如,視覺反饋、聽覺反饋或觸覺反饋;并且可以以接收任何形式的用戶輸入,包括聲音、話語或者觸覺輸入。可以在包括后端組件(如數據服務器)或者包括中間件組件(如應用服務器)或者包括前端組件(如具有用戶可以由此與實現交互的圖形用戶界面或者Web瀏覽器的客戶計算機)、或者這些后端、中間件或前端組件的任意組合的計算系統中實現。組件可以由任何形式或介質的數字數據通信(如通信網絡)互連。通信網絡的示例包括局域網(LAN)和廣域網(WAN)(如因特網)。盡管這里描述了所述實現的特定特征,但對于本領域技術人員來說現在可以進行許多修改、替代、變化和等效。因此,應當理解,權利要求書意圖涵蓋所有這些修改和變化。權利要求1.一種用于設備網絡的多級的多層映射和監視系統,該系統包括具有各自處理器和存儲器的多個計算設備,該存儲器包含指令,當指令被加載到處理器中時使處理器實現全局服務(120、120a、132、902),其被配置成跟蹤與多個設備網絡(102、108-114、306-310、324、326)相關聯的全局設備元數據(130);本地服務(120、120b、132、904),其被配置成跟蹤與多個設備網絡(102、108-114、306-310、324、326)中的至少一個設備網絡(102)相關聯的本地設備元數據(138),并且基于此更新全局設備元數據(130);和組長服務(120、120c、132、132a、906),其被配置成查詢至少一個設備網絡(102、108-114、306-310、324、326)中的設備組,并且聚集組級別的設備元數據,以傳輸到本地服務(120、120b、132、904)和更新本地設備元數據(138),其中,全局服務(120、120a、132、902)、本地服務(120、120b、132、904)和組長服務(120、120c、132、132a、906)中的至少一個被配置成確定重部署初始設備(110)上執行服務(706)的動機,將執行服務映射到包括初始設備(110)和所選設備(108)的多個設備當中的所選設備(108),并且將執行服務重部署到所選設備(108)上。2.如權利要求1所述的系統,其中,所述全局服務(120、120a、132、902)、本地服務(120、120b、132、904)和組長服務(120、120c、132、132a、906)中的至少一個被配置成基于與初始設備(110)相關聯的、并且指示初始設備(110)當前的設備特性不足以繼續充分地實現執行服務的設備級別的設備元數據、相對于與執行服務相關聯的服務元數據(126),確定重部署執行服務(706)的動機。3.如權利要求1所述的系統,其中,所述全局服務(120、120a、132、902)、所述本地服務(120、120b、132、904)和所述組長服務(120、120c、132、132a、906)中的至少一個被配置成確定重部署執行服務(706)的動機,包括確定所選設備(108)對于重部署執行服務是可用的;和確定與初始設備(110)和所選設備(108)相關聯的設備級別的設備元數據,其指示所選設備(108)能夠更好地實現執行服務(706)。4.如權利要求1所述的系統,其中,所述全局服務(120、120a、132、902)、所述本地服務(120、120b、132、904)和所述組長服務(120、120c、132、132a、906)中的至少一個被配置成基于所述組級別的設備元數據(130)、所述本地設備元數據(138)或所述全局設備元數據(136)中的至少一個,將執行服務(706)映射到所選設備(108)。5.如權利要求1所述的系統,其中,全局服務(120、120a、132、902)、本地服務(120、120b、132、904)和組長服務(120、120c、132、132a、906)中的至少一個被配置成基于與初始設備(110)和/或所選設備(108)相關聯的設備級別的設備元數據,相對于與執行的服務(706)相關聯的服務元數據,將執行的服務(706)映射到所選設備(108)。6.如權利要求1所述的系統,其中,所述全局服務(120、120a、132、902)、所述本地服務(120、120b、132、904)和所述組長服務(120、120c、132、132a、906)中的至少一個被配置成基于與執行服務(706)相關聯的服務元數據(126),將執行服務(706)映射到所選設備(108),所述服務元數據包括與執行的服務(706)相關聯、并且描述允許重部署執行服務(706)的性質和/或程度的移動性描述。7.如權利要求1所述的系統,其中,所述全局服務(120、120a、132、902)、所述本地服務(120、120b、132、904)和所述組長服務(120、120c、132、132a、906)中的至少一個被配置成將執行的服務(706)映射到所選設備(108),其包括施加在執行服務(706)能被從所選設備重部署回到初始設備(110)或另一設備之前所要滿足的時間限制。8.如權利要求1所述的系統,其中,所述全局服務(120、120a、132、902)、所述本地服務(120、120b、132、904)和所述組長服務(120、120c、132、132a、906)中的至少一個被配置成通過在所選設備(108)上重置在重部署之前初始設備(110)上執行服務(706)的狀態,將執行服務(706)重部署在所選設備(108)上。9.如權利要求1所述的系統,其中,所述全局服務(120、120a、132、902)、所述本地服務(120、120b、132、904)和所述組長服務(120、120c、132、132a、906)中的至少一個被配置成通過從服務儲存庫(124)獲得要部署在所選設備(108)上的執行服務(706)的可執行服務(128),將執行服務(706)重部署在所選設備(108)上。10.如權利要求1所述的系統,其中,所述執行服務(706)包括所述全局服務(120、120a、132、902)、所述本地服務(120、120b、132、904)或所述組長服務(120、120c、132、132a、906)中的至少一個。11.如權利要求1所述的系統,其中,所述全局服務(120、120a、132、902)、所述本地服務(120、120b、132、904)和所述組長服務(120、120c、132、132a、906)分別與全局服務(120、120a、132、902)監視器組件、本地服務(120、120b、132、904)監視器組件和組長服務(120、120c、132、132a、906)監視器組件相關聯,并且,其中,初始設備(110)和/或所選設備(108)被配置成實現設備級別的監視器組件(130a)。12.如權利要求1所述的系統,其中,所述初始設備(110)和/或所選設備(108)包括傳感器設備,其被配置成檢測環境事件或狀況以向將其向組長服務(120、120c、132、132a、906)報告。13.如權利要求1所述的系統,其中,所述全局服務(120、120a、132、902)和所述全局設備元數據與多個本地設備網絡相關聯,每個本地網絡設備與存儲在全局設備元數據(136)中的、獨立于本地設備網絡的當前物理位置的語義或功能描述相關聯。14.如權利要求1所述的系統,其中,所述本地服務(120、120b、132、904)和本地設備元數據與多組網絡設備相關聯,網絡設備的每個組與存儲在本地設備元數據(138)中的、獨立于網絡設備組的當前物理位置的語義或功能描述相關聯。15.一種方法,包括在多個設備上執行的全局服務(120、120a、132、902)、本地服務(120、120b、132、904)或組長服務(120、120c、132、132a、906)中的一個或多個上,確定(212)重部署至少一個設備網絡內的初始設備(110)上的執行服務(706);將執行的服務(706)映射到所述至少一個設備網絡當中的所選設備(108);和將執行服務(706)重部署(216)到所選設備(108)上。16.如權利要求15所述的方法,其中,確定所述動機包括基于與初始設備(110)相關聯的、并且指示初始設備(110)當前的設備特性不足以繼續充分地實現執行服務(706)的設備級別的設備元數據、相對于與執行的服務(706)相關聯的服務元數據而確定動機。17.如權利要求15所述的方法,其中,確定所述動機包括確定所選設備(108)對于重部署執行服務(706)是可用的;和確定與初始設備(110)和所選設備(108)相關聯的設備級別的設備元數據,其指示所選設備(108)能夠更好地實現執行服務(706)。18.如權利要求15所述的方法,其中,確定動機的步驟包括使用其上存儲的至少一個設備級別的監視器組件,收集與初始設備(110)和/或所選設備(108)相關聯的設備級別的設備元數據;在組長服務(120、120c、132、132a、906)處接收設備級別的元數據;在組長服務(120、120c、132、132a、906)處聚集設備級別的元數據,以轉發到本地服務(120、120b、132、904)來更新本地設備元數據;和基于本地設備元數據的更新,更新與所述全局服務(120、120a、132、902)相關聯的全局服務元數據。19.如權利要求15所述的方法,其中,將執行服務(706)映射到所選設備(108)包括匹配與執行服務(706)相關聯的服務元數據和與全局服務(120、120a、132、902)相關聯的全局設備元數據、與本地服務(120、120b、132、904)相關聯的本地設備元數據或者與組長服務(120、120c、132、132a、906)相關聯的組級別設備元數據中的一個或多個。20.如權利要求15所述的方法,其中,將所述執行的服務(706)重部署在所選設備(108)包括在所選設備(108)上重置在重部署之前初始設備(110)上執行服務(706)的狀態。全文摘要服務儲存庫(124)用于與描述服務的服務要求的服務元數據(126)相關聯地存儲至少一個服務(120、120a、120b、120c、132、132a、132b、122、704-714)。服務儲存庫(124)也可以存儲一個或多個特定平臺的可執行服務(128)。服務映射器用于確定與多個設備(102、108-114、306-310、324、326)的每個相關聯的設備元數據(130),其中設備元數據(130)提供設備的設備特性。服務映射器),因此可以基于服務要求和設備特性的相應元素的匹配,將服務(120、120a、120b、120c、122、704-714)映射到多個設備(102、108-114、306-310、324、326)中的所選設備以部署在其上。服務映射器也可以在設備之間重映射來維持服務的質量和可靠性。文檔編號H04L29/06GK101013957SQ200610149270公開日2007年8月8日申請日期2006年11月21日優先權日2005年11月21日發明者克里斯托弗·博恩霍夫德,霍爾格·齊科夫,阿汀·阿瓦尼斯,布賴恩·莫,馬賽厄斯·韋曼申請人:Sap股份公司