專利名稱:使用本體的信息訪問的制作方法
技術領域:
本發明通常涉及用于提供信息訪問的方法和系統,以及更具體地說,涉及用于提供綜合訪問多個、不同信息源的聯盟網。
背景技術:
公認需要在特定企業內和在企業周界,在指定的應用域中,提供在不同信息源中的語義互操作性的數據訪問系統和分析工具。為此目的已經開發的一些工具利用本體。本體是表示特定應用域的示意元數據的結構化詞匯。本體提供該域中信息的統一、語義模型,包括該信息可以包括的實體類型和實體間的關系。本體允許用戶用高級術語表示查詢原理和關系,然后由適當的代理轉換成低級數據庫模式和語義分析。
該種類的早期工具的一個是由MCC(Microelectronics andComputer Technology Corportation,Austin,Texas)開發的InfoSleuthTM。InfoSleuth在例如Flower等人著寫的名為“Agent-Based Semantic Interoperability in InfoSleuth”,SIGMODRecord 281(1999年3月),60-67頁的文章中描述過,其內容在此引入以供參考。InfoSleuth是基于代理的系統,其中,代理組或團體在語義級上合作以便執行信息收集和分析作業。基礎信息源在結構和內容方面能不同。用JavaTM編碼的代理使用知識查詢操縱語言(KQML),在本體上,在語義級通信。由InfoSleuth定義的代理類型包括●用戶代理,提供允許用戶與系統通信的系統接口。
●中介代理,使服務或信息的請求與能提供它們的代理匹配。
●本體代理,服務由InfoSleuth支持的本體組以及請求時,提供本體的詳細情形。
●資源代理,在存儲它們的本地形式和它們的InfoSleuth形式之間轉換的查詢和數據。
●值映射代理,在普遍可接受的形式和由本體定義的規范形式之間轉換查詢和結果。
●多資源查詢代理,處理到不同資源代理的子查詢的分解和分布,然后重組這些結果。
代理使用信息管理的共享本體模型通信和確定彼此的能力。本體向用戶提供興趣域中,用于信息活動性的語義框架。語義中介允許代理廣告它們的能力以及基于它們廣告的能力,識別潛在的合作者。用戶可以從任意位置訪問代理團體(agent community)的資源,以及不需要了解有關任何資源的物理位置或結構特征的任何東西。
Wynblatt等人在U.S.專利申請公開號US 2002/014755中描述了用于分布式查詢處理的另一方法,其公開內容在此引入以供參考。根據該方法,將傳統的數據庫查詢轉換成網絡消息,將其發送到具有相關數據的那些數據源。可以直接或通過指定的查詢節點發送這些消息。然后,數據源直接或經指定的連接節點,將應答消息發送到查詢的發起者。在一些實施例中,數據源能執行本地連接操作。系統收集應答消息,以及將滿足查詢要求的消息發送回查詢發起者,顯示為傳統的數據庫結果。
Unicorn Solution Inc.(紐約,NY)提供一種語義信息管理(SIM)系統,描述為用于管理和綜合企業信息資源的綜合平臺。該系統結合元數據庫、信息建模、集中星型映射,以及自動數據變換腳本生成能力。通過將完全不同的數據格式和接口與描述商業、其組成部分和所有關系的信息模型關聯,為客戶提供無縫商業視圖。在Schreiber著寫的名為“Semantic Information Management(SIM)Sloving theEnterprise Data Problem by Managing Data Based on its BusinessMeaning”(2003)的文章中進一步描述了該系統,可以在www.unicorn.com獲得以及在此引入以供參考。
在專利文獻中描述了Unicorn系統的各種方面。例如,Hellman等人的美國專利申請公開號US 2003/0163597描述了用于合作本體建模的方法和系統,用在由在Web上分布的個人的本體成果,構建本體中。Berger等人的美國專利申請公開號US 2004/0093344描述了用于將數據模式映射成本體模型的方法。Edelstein等人的美國專利申請公開號US 2003/0101170描述了使用中心本體模型描述數據查詢系統,其中,查詢處理器生成對應于用本體查詢語言表示的特定查詢的以數據模式查詢語言的查詢。Borenstein等人的美國專利申請公開號US 2003/0163450描述了用于基于本體模型,提供用于Web服務和其他服務的語義注冊。據說該方法通過克服語義不一致的問題,實現動態Web綜合服務。所有上述專利申請公開內容在此引入以供參考。
發明內容
本發明的實施例提供基于域特定的本體,用在分布式、聯盟系統中,用于數據管理和訪問的工具。在下文公開的實施例中,該系統包括代理和網關網格,通過交換語義、基于本體的消息,在通信網絡上彼此通信。這些代理共享共用分布式平臺,以及用在聯盟系統中的本體的共用目錄、數據源和規則。這些網關包括包裝器,用于連接在數據源和本體間,以及入口(portal),通過這些入口,用戶可以將查詢編址到系統。在接收用戶查詢后,這些入口將查詢引導到基于必要數據和系統資源的可用性,開發查詢計劃的一個代理,用于響應查詢。在根據查詢計劃,收集所需信息后,代理將查詢響應返回給用戶入口。
在本發明的實施例中,本體調節可應用于本體中的實體的邏輯規則,以及實體間的關系和屬性。在一些實施例中,處理查詢的代理在生成查詢計劃中使用這些規則。例如,代理可以使用這些規則來響應指定查詢,規定哪些數據源中的哪些數據字段組最可能提供全面和正確的數據,以及也可以驗證在執行查詢計劃中收集的數據。代理也可以使用這些規則來根據應當結合來自不同源的哪些記錄,來確定關鍵字,以及確定是否應當由代理執行結合,或是否應當“下推”到網關,以便執行,從而優化響應或節省系統資源。
在本發明的一些實施例中,本體規則包括訪問規則,表示授權哪些用戶角色來讀取指定數據源或源組中的信息。訪問規則可以適合于特定的數據源,源中的特定實體,或指定實體類型的特定屬性。用統一術語表示訪問規則,可以由包括角色類、源、客戶機(client)和驗證方法的團體本體的形式的所有者的團體進行維護。本體的這些特征從而用在提供統一模型中,在該模型下,聯盟系統中的不同數據擁有者可以確定可應用于他們的數據的訪問規則,諸如在何種環境下,信任客戶。模型中,諸如策略數據庫源中的抽象類的使用也允許客戶機和用戶確定將使用的源的范圍,而不具體知道每一源。
典型地,公布用于每個源的訪問規則以及全網格目錄中的另外的源元數據。因此,查詢代理可以立即讀取訪問規則,而不需要訪問授權的集中管理。由于訪問規則已經包含在目錄中,不需要代理請求授權將訪問的每一資源(除非源所有者特別要求)此外,代理可以在開發查詢計劃中使用訪問規則,以便計劃僅包括授權請求用戶訪問的那些信息源。
在一些實施例中,記錄對每個數據源的訪問,以及請求數據的用戶的證書。因此,不僅自動強制訪問策略,而且也可以以支持自動檢查的方式記錄。由于相同的機制服務所有基于網格的客戶機服務,自動“調節”由網格提供的服務。
在本發明的一些實施例中,網絡工具(utility)收集和更新與系統中的資源的拓撲結構和狀態有關的信息。基于該信息,代理和網關能發現和綜合當它們變得可用時的新的信息源,以及確定不同代理和數據源上的計算和通信負載水平(level)。因此,在生成和執行查詢計劃中,代理可以使用拓撲和狀態信息,以便優化響應時間和動態地負載平衡該系統的這些資源。
在一些實施例中,網格充當應用級虛擬專用網,其鏈接和向成員站點和組織提供服務。該虛擬專用網通過該網格的分布式功能被內部管理,以便各個成員站點不需要清楚地提供或協調他們自己的虛擬專用網和其他成員站點。因此,網格中的代理甚至可以平衡屬于聯盟系統內的不同組織的資源中的整體負載。為此目的,網格目錄可以包括與在監視資源性能和應用資源使用策略中,由代理使用的與應用有關的任務的性能有關的實體和屬性。通過使用動態、網格生成的查詢計劃,如上所述,以及通過平衡跨越網格的負載的能力,增強網格魯棒性和靈活性。通過生成新計劃和重新平衡負載,自動調節變更的網格拓撲結構、源和使用策略。可以用類似的形式處理其他網格條件,諸如壞節點、不可訪問源以及取消的證書。
此外,網格(代理和網關)的單元使用一組已知、語義、應用級消息彼此通信的事實可以用在防止這些單元中的通信免受入侵和惡意通話。因此,在本發明的一些實施例中,代理和/或網關將語義過濾器應用于它們在網絡上接收的每個分組,以及僅接受與系統本體兼容的分組。刪除不滿足所期望的語義規則的分組。因此,即使網格的一個單元被惡意通話攻擊,該單元將不允許通話傳播到網格中。此外,網關可檢查每個分組的語義有效負載中的每一數據元素,以便確定傳遞它還是廢棄它。
盡管參考信息訪問和查詢處理,描述了本發明的實施例,本發明的原理可以類似地應用于在基于語義模型的網絡上,提供其他類型的資源,諸如Web服務。
因此,根據本發明的實施例,提供一種數據訪問方法,包括定義應用于一組不同的數據源的本體,所述數據源包括具有預定義的語義的數據;將本體與可應用于數據源中的數據的語義的一個或多個邏輯規則相關聯;從用戶接收有關數據的查詢;通過響應本體,選擇一個或多個數據源,以及通過響應可應用邏輯規則,識別將應用于數據的操作,確定用于響應查詢的查詢計劃;以及根據查詢計劃,生成對查詢的響應。
在所公開的實施例中,邏輯規則包括驗證規則,以及查詢計劃包括響應驗證規則,驗證來自至少一個數據源的數據。
另外或可替換地,邏輯規則包括映射規則,以便當啟動這些源并連接到網格上時,匹配這些規則的數據源能自動地映射到本體。另外或可替換地,邏輯規則包括結合規則,以及查詢計劃包括響應結合規則,選擇關鍵字,以及使用關鍵字,結合來自兩個或多個數據源的數據。典型地,選擇關鍵字包括分析數據以便選擇兩個或多個數據源中的一個或多個字段用作關鍵字,以便提供將正確地結合數據的期望的統計概率。
另外或可替換地,邏輯規則包括變換規則,以及查詢計劃包括響應變換規則,將數據源的至少一個中的數據從保存在數據源的至少一個中的第一值變換成第二值。
另外或可替換地,邏輯規則包括商業邏輯規則,以及查詢計劃包括響應商業邏輯規則,處理來自源的至少一個的數據。
邏輯規則還可以包括訪問規則,以及查詢計劃可包括當應用于提交查詢的用戶和客戶機時,響應訪問規則,選擇數據源的至少一個,用于生成響應中。
在一些實施例中,定義本體包括將各個包裝器與數據源的每一個關聯,以便將來自數據源的每一個的數據從本機格式變換成由本體確定的本體格式,以及生成響應該包括應用使用包裝器的操作,然后,在應用操作后,將數據從包裝器報告給鏈接數據源的集線器。
在一個實施例中,由包裝器應用的操作包括結合來自兩個或多個數據源的數據。
另外或可替換地,由包裝器應用的操作包括映射數據的值。例如,映射這些值可以包括將所述數據自本機表示標準化為本體表示。
另外或可替換地,查詢計劃包括一組子查詢,以及生成該響應包括將子查詢從在集線器上運行的代理發送到多個數據源的各自的包裝器,以及結合由包裝器報告的數據以便產生響應。典型地,發送這些子查詢包括調用兩個或多個包裝器來并行操作。
在所公開的實施例中,關聯各個包裝器包括根據本體,分布數據源的每一個的廣告,以及確定查詢計劃包括響應廣告,發現數據源的每一個,以及基于所發現的數據源,構造查詢計劃。
在本發明的一個方面中,報告數據包括在網絡上發送數據分組,這些分組包括以由本體確定的形式的語義內容,以及在集線器處接收數據分組后,響應語義內容,校驗分組的合法性以及廢棄必須必須過濾的語義元素。
典型地,報告數據包括將數據從包裝器流向特定的存儲位置。可替換地,報告數據包括在塊操作中將數據從包裝器移動到特定的存儲位置。
在本發明的另一方面中,確定查詢計劃包括收集有關數據源的拓撲結構和性能特性的信息,以及響應信息,選擇將用在響應查詢中的數據源。
根據本發明的一實施例,還提供一種用于為用戶提供對配置成提供具有預定義的語義的信息的一組不同信息資源進行訪問的方法,該方法包括定義應用于由一組不同信息資源提供的信息的本體;將本體與可應用于該信息的語義的一個或多個邏輯規則相關聯;從該用戶接收訪問該信息的請求;通過響應本體,選擇一個或多個信息資源,以及通過響應可應用邏輯規則,識別將應用于該信息的操作,確定用于響應該請求的計劃;以及根據該計劃,生成對該請求的響應。
在所公開的實施例中,請求包括用于對由信息資源保存的數據的查詢。
在另一實施例中,該請求包括訂閱請求,以及生成該響應包括響應訂閱請求,在一時間周期上,提供一連串響應。
在另一實施例中,信息資源被配置成提供Web服務,以及該請求指定將提供給用戶的一個或多個Web服務。
在另一實施例中,該請求指定將被寫入與一個或多個信息資源有關的數據庫的數據。
在另一實施例中,該請求指定將由一個或多個信息資源執行和記錄的事務。
在另一實施例中,該請求指定將由一個或多個信息資源執行的過程。典型地,該請求指定一事件,以及生成該響應包括響應事件的發生,執行該指定的過程。
根據本發明的實施例,另外提供一種數據訪問方法,包括
定義應用于包括數據的一組不同的數據源的本體;相對于本體,定義數據訪問權;以及響應數據的本體以及可應用于它的訪問權,控制用戶訪問數據。
在所公開的實施例中,定義本體包括指定用戶本體,以及定義數據訪問權包括根據用戶本體,為用戶分配一分類,以及控制用戶訪問包括將該分類與可應用于數據的訪問權進行比較。典型地,在包括至少第一和第二組織的一組自主組織中,分布這些不同的數據源,以及分配該分類包括根據用戶的組織關系(affiliation),對該用戶進行分類,以便控制第一組織中的用戶訪問由第二組織保存的數據源。
典型地,控制用戶訪問包括從用戶接收對訪問數據源中的數據的查詢,通過響應本體,選擇一個或多個數據源,確定用于響應查詢的查詢計劃,以便訪問權允許用戶訪問一個或多個數據源中的數據,以及根據查詢計劃,生成對查詢的響應。
根據本發明的實施例,進一步提供一種數據訪問的方法,包括定義提供對數據訪問的一組數據資源;收集有關數據資源的拓撲結構和性能特性的信息;從用戶接收有關數據的查詢;響應查詢和有關拓撲結構和性能特性的信息,確定查詢計劃;以及根據查詢計劃,生成對查詢的響應。
典型地,收集信息包括測量兩個或多個數據資源的各自的負載水平,以及確定查詢計劃包括選擇數據資源的一個以便平衡負載水平。
在所公開的實施例中,數據資源分布在包括至少第一組織和第二組織的一組自主組織中,其中,提交查詢的用戶屬于第一組織,以及其中確定查詢計劃包括響應性能特性,選擇用在對查詢進行響應中的第二組織的數據資源的一個。
此外,根據本發明的實施例,提供一種交換信息的方法,包括
在多個節點中建立虛擬專用網,包括配置成在基礎公共物理網上彼此通信的至少第一和第二節點;定義用于響應信息的本體,在虛擬專用網中的節點間傳送數據分組的語義通信模型;將虛擬專用網上的數據分組從第一節點發送到第二節點;以及根據第二節點處的語義通信模型,過濾數據分組,以便校驗該數據分組是合法的并廢棄必須過濾的語義元素。
典型地,定義語義通信模型包括定義可以由虛擬專用網中的數據分組執行的一組封閉的語義消息。
在一個實施例中,節點分布在一組自主組織中。
在所公開的實施例中,這些節點包括多個網關節點,它們被配置成使用本機數據格式,與客戶機和數據源通信,以及將本機數據格式轉換成語義通信模型,用于在虛擬專用網上通信。典型地,這些節點進一步包括集線器節點,以及建立虛擬專用網包括配置網關節點以便使用語義通信模型,與集線器節點通信。
另外,根據本發明的實施例,提供一種數據訪問的裝置,包括集線器處理器,用于接收應用于包括具有預定義的語義的數據的一組不同的數據源的本體的定義;以及將本體與可應用于數據源中的數據的語義的一個或多個邏輯規則相關聯;以及在從用戶接收有關數據的查詢后,進一步用于通過響應本體選擇一個或多個數據源以及通過響應可應用邏輯規則,識別將應用于數據的操作,來確定用于響應查詢的查詢計劃;以及根據查詢計劃,生成對查詢的響應。
根據本發明的實施例,還提供一種用于為用戶提供對配置成提供具有預定義的語義的信息的一組不同信息資源的訪問的裝置,該裝置包括集線器處理器,用來接收應用于由一組不同信息資源集提供的信息的本體的定義以及將本體與可應用于信息的語義的一個或多個邏輯規則相關聯;以及進一步用于在從用戶接收訪問信息的請求后,通過響應本體,選擇一個或多個信息資源,以及通過響應可應用邏輯規則,識別將應用于信息的操作,來確定用于響應請求的計劃;以及根據計劃,生成對請求的響應。
另外,根據本發明的實施例,提供一種數據訪問裝置,包括集線器處理器,用來接收應用于包括數據的一組不同的數據源的本體的定義以及相對于本體的數據訪問權的定義;以及用來響應數據的本體以及可應用于它的訪問權,控制用戶訪問數據。
此外,根據本發明的實施例,提供一種數據訪問的裝置,包括集線器處理器,用來接收提供對數據的訪問的一組數據資源的定義,以及收集有關數據資源的拓撲結構和性能特性的信息,以及進一步用于在從用戶接收有關數據的查詢后,響應查詢和有關拓撲結構和性能特性的信息,來確定查詢計劃,以及根據查詢計劃,生成對查詢的響應。
此外,根據本發明的實施例,提供一種交換信息的裝置,包括多個計算節點,由至少第一和第二節點組成,以及被鏈接以便在基礎公共物理網上運行的虛擬專用網上通信,以及配置成根據響應信息的本體而定義的語義通信模型,在虛擬專用網上交換數據分組,其中在虛擬專用網上從第一節點接收的數據分組后,第二節點用來根據語義通信模型,過濾數據分組,以便校驗數據分組是合法的。
另外,根據本發明的實施例,提供一種計算機軟件產品,包括存儲程序指令的計算機可讀介質,這些指令當由計算機讀取時,使計算機接收應用于包括具有預定義的語義的數據的一組不同的數據源的本體的定義;以及將本體與可應用于數據源中的數據的語義的一個或多個邏輯規則相關聯;以及在從用戶接收有關數據的查詢后,使計算機通過響應于本體,選擇一個或多個數據源,以及通過響應于可應用邏輯規則,識別將應用于數據的操作,來確定用于響應查詢的查詢計劃;以及根據查詢計劃,生成對查詢的響應。
根據本發明的實施例,還提供一種用于為用戶提供對配置成提供具有預定義的語義的信息的一組不同的信息資源的訪問的計算機軟件產品,該產品包括存儲程序指令的計算機可讀介質,這些指令當由計算機讀取時,使計算機接收應用于由一組不同的信息資源提供的信息的本體的定義以及將本體與可應用于信息的語義的一個或多個邏輯規則相關聯;以及進一步使計算機在從用戶接收訪問信息的請求后,通過響應本體,選擇一個或多個信息資源,以及通過響應可應用邏輯規則,識別將應用于信息的操作,來確定用于響應請求的計劃;以及根據計劃,生成對請求的響應。
根據本發明的實施例,另外提供一種計算機軟件產品,包括存儲程序指令的計算機可讀介質,這些指令當由計算機讀取時,使計算機接收應用于包括數據的一組不同的數據源的本體的定義以及相對于本體的數據訪問權的定義;以及用來響應數據的本體以及可應用于它的訪問權,控制用戶訪問數據。
根據本發明的實施例,另外提供一種計算機軟件產品,包括存儲程序指令的計算機可讀介質,這些指令當由計算機讀取時,使計算機接收提供對數據的訪問的一組數據資源的定義,以及收集有關數據資源的拓撲結構和性能特性的信息,以及進一步在從用戶接收有關數據的查詢后,使計算機響應查詢和有關拓撲結構和性能特性的信息,確定查詢計劃,以及根據查詢計劃,生成對查詢的響應。
此外,根據本發明的實施例,提供一種計算機軟件產品,包括存儲程序指令的計算機可讀介質,這些指令當由包括被鏈接以便在物理公用網上通信的至少第一和第二節點的一組計算節點讀取時,使計算節點根據響應信息的本體而定義的語義通信模型,在虛擬物理網上交換數據分組,而在虛擬專用網中通信,其中,這些指令在虛擬專用網上從第一節點接收數據分組后,使至少第二節點根據語義通信模型,過濾數據分組,以便校驗數據分組是合法的。
結合附圖,從下述實施例的詳細描述,將更全面地理解本發明,
其中
圖1是根據本發明的實施例的聯盟數據管理系統的原理圖示;圖2A和2B是示意性表示根據本發明的實施例的基于本體的數據管理系統的框圖;圖3是示意性地說明示例性本體的圖;圖4是示意性地說明根據本發明的實施例,用在查詢規劃和響應中的數據管理系統的單元的框圖;圖5A和5B是示意性地說明根據本發明的實施例,用于查詢規劃和響應的方法的流程圖;圖6是示意性地說明根據本發明的實施例,數據源包裝器響應由查詢代理作出的請求的方法的流程圖;圖7是示意性地說明根據本發明的實施例,查詢計劃的單元的框圖;圖8是示意性地說明根據本發明的實施例,在數據管理系統中執行的后臺作業的流程圖;圖9A是根據本發明的實施例,用在將數據庫映射到本體中的用戶界面屏的圖示;圖9B是根據本發明的實施例,用在將本地用戶映射到團體角色中的用戶界面屏的圖示;以及圖10是示意性地說明根據本發明的實施例,用于數據訪問應用的虛擬專用網的單元的框圖。
具體實施例方式
圖1是根據本發明的實施例,用于數據管理的聯盟系統20的原理圖示。系統20橫跨企業邊界,表示它包含共享數據和數據管理服務的多個、自主組織。圖1所示的例子包含與健康護理有關的組織的“團體”,包括例如政府健康服務22、私人HMO24、醫院26、醫學院28、與相關移動緊急醫療服務32有關的本地附屬醫院以及藥物制造商34。這些組織對在分享由每個主體收集并保存在其自己的數據庫中的某些信息方面相互感興趣。信息可以與諸如病人健康記錄、服務帳單、醫療人員的行為等等的事件有關。共享信息能明顯地增加系統20中的每個組織執行其功能的效率。
另一方面,通常通過它們自己的信息模型、結構和表示,以許多不同數據格式,在不同組織內的不同位置,保存將在系統20內共享的信息。為進一步復雜化該情形,不同數據庫頻繁地使用不同的姓名來表示相同的信息。例如,醫院26會在標記為“病人”的數據庫字段中,列出使用其服務的人員的姓名,而HMO24將相同的姓名稱為“會員”。另外,由系統20中的組織保存的許多信息是機密屬性。因此,在與其他方共享信息中,每個組織必須確保由系統中的其他方訪問信息不違反其自己的機密性策略。盡管在此相對于與健康有關的系統示例說明這些問題,將意識到在其他類型的組織,諸如商業企業或政府間的合作中,也出現類似的問題。
本發明的實施例通過鏈接參與組織來在具有基于語義、本體的基礎的內部、網格管理的虛擬專用網42上交換信息,解決上述的需要和問題。實際上,網絡42在現有的、一般廣域網(WANs)36,諸如互聯網,和局域網(LANs)38上運行。然而,邏輯上,通過虛擬網42至集線器40的主干線的安全、語義鏈接,連接用戶(客戶)和數據源。盡管在圖1中將這些集線器節點表示為邏輯位于WAN36中,實際上,集線器可以在任何適當的物理位置,或在參與組織的站點上,或在鏈接到網絡42的獨立位置。參考附圖來詳細地描述系統20和網絡42的特征的實現。
如下述詳細所述,本發明的實施例在解決系統20的需要中,使用幾個關鍵的具有創造性的單元(a)管理它們的本體的聯盟團體;(b)管理它們的客戶機和源的聯盟所有者(“站點”);(c)以可伸縮和加強方式支持增長的一組語義客戶服務的基于流動代理的體系結構;以及(d)以安全、自管理和自適應的方式寄主(host)代理和本體以及跨越用于多個團體的多個站點之上的網關和集線器(在下文中簡稱為“網格”)的分布式網格平臺(因此,實際上產生“網格的網格”)。
在描述本發明的實施例中,區分啟動、后臺和前后作業是有幫助的(a)當裝配、增長和發展該網格時,由團體和站點管理員執行啟動作業。這些作業的例子包括包裝和附加新資源,添加新站點,改變使用策略。
(b)在運行時間,例如執行客戶查詢或訂閱期間,由網格執行前后作業來響應客戶請求。
(c)由網格執行后臺作業以便維護、自適應和改進服務。后臺作業的例子包括定期校驗源完整性、生成用于更有效結合的輔助表、動態索引內部表,以及重構代理以便更好地解決動態全局要求。
圖2A是根據本發明的實施例,示意性地示例說明系統20的邏輯體系結構的框圖。典型地,以在適當的計算機工作站或服務器上運行的軟件的形式,實現系統20的單元。該軟件可以在例如計算機網絡上,以電子表格的形式下載到所述計算機,或另外可以在有形介質,諸如光、磁或電子存儲器介質上提供。盡管在圖2中示出了系統20的單元,為了原理清楚,作為單獨的功能塊,實際上,兩個或多個這些單元可以在單個計算機上運行。另外,指定塊的功能可以分布在多個計算機中。
加入系統20的站點通過各自的網關50鏈接到網絡42。網關具有兩個可能的功能●為提交查詢和接收應答,入口52將客戶機54連接到網絡42。
●通過在每個數據源的本機(native)格式和用在網絡42上的本體格式間轉換數據和消息,包裝器56連接在數據源58和網絡42間。
入口52還處理與客戶機有關的安全功能,諸如用戶鑒別和映射到團體角色。類似地,包裝器56處理與數據源有關的安全功能,諸如表示具有適當證書的授權角色。這些功能可以實現為代理。如該圖所示,指定網關節點可以執行入口和包裝器功能的任何一個或兩個的一個或多個實例。
查詢代理60在集線器40上運行,其中,每個集線器可以運行這些代理的一個或多個。代理60從入口52接收查詢,以及將查詢“編譯”成識別數據的潛在源的查詢計劃。然后,查詢代理通過將在下文中稱為子查詢的適當消息發送到請求從各個源58提供所需數據的包裝器56,來執行這些計劃。當完成查詢計劃的執行時,代理60向請求入口52報告該結果。在下文中,將更詳細地描述查詢規劃和執行過程。集線器40還可以運行其他類型的代理,諸如訂閱代理,即連續地監聽源、數據或系統20中特定類型的與網格有關的事件,然后向客戶機報告這些事件的結果的代理。下面列舉另外的代理類型。
在規劃和執行查詢中,由也可以實現為代理的其他集線器工具(該圖中未示出)輔助和支持集線器40上的查詢代理。這些工具包括下述●目錄工具維護節點、代理、源、客戶機和授權證書的登記(“目錄”),以及每一個的能力、特權、結構和狀態。
●發現工具允許節點和部件(例如入口、包裝器和代理)自動地發現、登記和鏈接到其他可用節點和部件。
●本體工具向在系統20中使用的所有本體提供訪問,以及一組綜合的與本體有關的服務。
●消息傳遞工具支持用于網絡42上所有代理的異步消息查詢設備,與位置無關(即使代理改變位置)。
●在確定哪些數據源58被授權和用于響應特定客戶機請求中,由代理60應用匹配工具。
●規劃工具將抽象查詢編譯成適當的數據源組上的子查詢和其他數據管理動作(諸如結合、過濾和分類)的具體查詢計劃。該查詢編譯過程的細節在下文中參考圖4、5A和5B描述。
●存儲工具提供用于登記、消息、提出的客戶請求、查詢計劃、高速緩存結果和由代理60使用的其他信息的永久存儲。
●記錄工具提供系統功能和負載水平的分布式記錄。這些工具可以用于管理功能,諸如監視器、檢查、診斷和調試,以及用于優化的動態查詢規劃-基于系統資源的可用性和負載水平的查詢計劃的編譯,如下文所述。
●安全工具提供PKI(公鑰永久性防御設施)和用于部件的驗證設備。
●代理管理員實現代理生存周期,例如在特定節點上配置確認的代理,以及以允許網格重構,而不破壞網格服務的協調(orchestrated)方式,運行和掛起代理。
圖2B是示意性地示例說明系統20的體系結構和實現的另外的細節的框圖。所示系統20包括多個站點61,每個通常包括多個計算機62,可以通過站點上的LAN38互連。集線器40或網關50的功能的每一個可以在任意指定站點上的單個計算機上或多個計算機上運行。通常,為增強可擴展性,網絡50為“瘦”,僅要求有限計算資源,以及系統20中的大多數計算能力集中在集線器中。查詢代理60在集線器40上運行,以及其他代理64、65也可以在集線器和網關上運行,如上所述。例如,網絡50上的代理65可以包括入口和包裝器代理。提供本地存儲器63,由代理在執行它們的功能中使用。在該實現中,將計算機62配置成操作為Java平臺。上述工具通常在Java中實現為傳統的遠程方法調用(RMI)服務,以及當有利時,具有另外的HTTP隧道效應,諸如來調節站點防火墻。代理60、64、65經全網格消息傳送服務66進行通信。
網關50可以服務任意數目的團體,但每個集線器40通常服務一特定的團體。每個團體定義將被支持的客戶服務的性質,可能在不同服務優先級間有區別。由當需要地,經具有入口和包裝器代理的消息傳遞服務66通信的適當的服務代理集60、64,例如查詢和訂閱代理處理每個服務和優先級。通過訂閱(subscribe)未決請求的共享消息隊列68,不同節點處的多個代理能在任何指定服務和優先級的處理中共享。類似地,提供多種客戶服務請求的入口代理65向指定用于處理每種服務請求的消息隊列68發布請求。由分布式網格平臺動態地維護消息隊列以實現服務和代理的當前結構的改變。
在該實施例中,將每個網關50配置成連接到一組特定集線器40。每個團體維護服務那個團體的集線器的清單以便這些集線器能易于發現彼此。動態全網格(grid wide)目錄67維護節點(網關和集線器)的當前狀態和連接性,以及所有源、客戶和經這些節點可訪問的網關的登記。代理和其他工具確保這些動態目錄被一直知道最新的情況,作為它們的后臺活動性的一部分。如前所述,手動鑒別所有網格節點和部件,以及維護內部虛擬專用網以產生安全可靠的網格襯底。
當客戶機54的一個向其網關50上的入口代理65的一個提交服務請求時,將該請求排隊到已經訂閱這些請求的所有集線器代理60、64。代理獲取該請求,產生用于執行它的具體計劃,然后在其他代理,諸如需要產生該結果的源包裝器代理65的輔助下執行它。在這種情況下,每個包裝器代理經其隊列接收適當的子請求。將子請求的結果直接存儲在預定位置的存儲器63中。然后,服務集線器代理收集這些局部結果來在相同的存儲位置或任何其他存儲位置中產生最終結果。然后,將至該最終結果的鏈接經其消息隊列,發送到發起入口代理。
如本說明書所暗示的,網格拓撲結構和一致性被流動足以適應變化,而不破壞。因此,例如,如果資源變得不可用,其包裝器代理將更新該目錄。此后,具有使用該源的正在進行的任務的所有代理或者產生活動的新計劃,而沒有源,或返回具有適當異常的結果(假定源在當前查詢任務中起不關鍵的作用)。如果網格節點故障,能在其他節點重啟在那個節點上運行的代理。全網格復制服務支持復制的部件,包括復制的目錄和消息,以便無單點故障。
圖3是示意性表示根據本發明的實施例,可以用在系統20中的本體70的圖。該示例性本體與安全事務72的域有關,但當然,可以定義用于其他域的類似的本體,諸如圖1所示的健康護理域。此外,在系統20中,本體不僅用于組織在源58中保存的數據,而且用于保存有關系統本身的元信息,諸如網絡節點、資源、用戶和策略,包括用戶對不同資源和記錄的訪問許可。
本體70通常包含類的分級,提供用于描述實體,諸如人們和車輛,以及它們的屬性,諸如年齡和體重的詞匯。(本體類通常稱為“實體”或“框架”,以及它們的屬性稱為“槽(slot)”)。在圖3所示的例子中,事務本體包括識別為交易74和商人76的實體,以及包含交易(諸如交易共享和交易時間)和進行交易(諸如識別商人的詳情)的商人的要素和子要素。一些實體,諸如實體80和82包含子實體的另外的分級,而關閉其他實體,諸如實體84。
如在面向對象的編程中,繼承可以用在本體70中來定義多個抽象層。因此,商人76繼承人物80的本體,以及姓名、出生日期、社會保險號(SSN)等等的子實體。指定實體,諸如人物80的每個單個實例是特定人或其他對象,具有其自己的屬性值組(可能是唯一的)。
本體70還通過將語義標號與可以存在于實體間的關系相關聯,來定義關系。例如,商入76進行交易74,而由商人76買賣交易74。本體的屬性定義本體槽和關系的不同方面,諸如槽類型和基數(condinality)、值范圍和統計,以及一個關系如何是另一個的顛倒。在本發明的背景中引用的文獻中,描述了本體的另外的一般方面,包括如何創建本體和這些本體在數據管理中的使用。為允許經網絡42的本體模型,訪問源58中的數據,包裝器56將各個源的元數據映射到本體的相應實體和屬性。在下文中,描述用于執行該映射的自動方法。
在本發明的實施例中,用在系統20中的本體包含邏輯規則,允許本體獲取能在查詢規劃和執行中應用的概括的域知識。在面向對象的框架中,規則可以表示為與本體中的不同實體的對象類有關的方法。示例性規則類型可以包括下述●驗證規則,表示可以有效地與指定實體關聯的屬性。例如,規則可以表明列為本體中的商人76的實例的人的年齡必須在18和75間。如果數據源中的值超出范圍或不符合指定統計分布,本體中的驗證規則將識別該不正常實體。
●映射規則,用來在系統啟動期間,將源數據結構和內容映射到指定的本體。例如,映射規則可以應用源數據的指定列的本體屬性,以便計算數據列的確屬于指定框架和槽的概率。然后,包裝器向導,如下所述,或其他網關部件可以向系統管理員建議該映射,用于在將該列映射到本體中。
●結合規則,特別用在為了結合來自多個源的數據的查詢計劃和執行中。查詢代理使用這些規則來確定具有用作為結合鍵的一指定槽或槽組的兩個記錄的確屬于相同的實體和實例的概率。例如,結合規則可以表明如果兩個人實體具有相同的社會保險號和它們的最后一個名字的相同的前四個字母,那么它們屬于同一人。結合規則使查詢代理可自動地推斷哪些可用槽組應當用來結合來自幾個源的數據以便實現所需唯一性水平。
●變換規則可以用來推斷如何將反映指定表示、語言或代碼方案的值自動地變換成另一個值(例如英寸到厘米)。
●商業邏輯規則用來獲取可再用域專用知識,諸如用于指定管轄區域中的駕駛執照的適當年齡。
●策略規則能用來控制對本體或專用實體和本體中的屬性的訪問。注意在多個聯盟組織的團體中,每個組織仍然設置其自己的訪問策略。然后,普通本體允許以共享格式公布規則,以及覆蓋不同類型的內容。例如,策略規則能強加僅具有系統20中的指定角色或屬于系統中的特定組織或群的用戶才可以訪問指定數據源的約束。這種規則可以進一步允許這些用戶僅在已經對他們進行生物驗證后,以及在已經驗證過他們正使用的客戶計算機和確認通過適當的專用鏈接,連接到網絡42后,讀取數據源中的特定槽組。而內容通常映射到為用于所述團體的專用域的本體,與訪問有關的本體可以通用于多個內容類型。
在圖1例示的聯盟模型中,分散數據資源、本體和相關規則的管理。參與組織能在中心定義的公共、通用本體的上下文中,設置他們自己的規則。通過系統管理員和/或用戶,可以確定一些規則并輸入到系統20,而其他可以通過在系統中運行的服務來自動地推理。在下文中,將參考圖8,描述規則生成的一些自動方法。
圖4是示例性說明根據本發明的實施例,用在查詢計劃中的系統20的單元的框圖。該圖集中在查詢代理60和相關工具的某些功能上。該圖省略對理解查詢編譯不重要的系統的其他單元,諸如網關50。
代理60在編譯查詢計劃時,依賴于統一的元數據模型90。元數據模型包括本體92,如上所述,以及源目錄94。可以使用半自動本體生成器96來生成和修改本體92,通常在系統管理員的控制下。然后,本體生成器將源58中的數據結構映射成本體中的術語。基于系統20中的資源的本體,源模型器98將源58本身映射到源目錄94。用戶訪問特權類似地維護在本體術語的源目錄中。
由客戶機54組成的查詢提交給查詢服務器100。使用使用戶可瀏覽和查詢本體術語中的所有授權數據的圖形用戶界面(GUI)102,組成查詢。換句話說,不將用戶限制到源58中的預定數據視圖,如在傳統的數據庫管理系統中一樣,而是可以選擇他們被授權訪問的數據和源的任何組合(如上所述,基于包含在系統本體中的策略)。
查詢服務器100將用戶查詢提交給組成用于響應每個查詢的查詢計劃的查詢編譯器104。在下文中,將參考圖5A和5B,進一步描述查詢規劃。與將可移植高級指令轉換成本機機器指令的程序編譯器非常相似,查詢編譯器104在源目錄94中開發本體92和數據庫映射及規則以便(經他們各自的包裝器)將可移植客戶查詢轉換成針對特定源58的子查詢組。通常用抽象的本體術語表示客戶查詢,不具有有關特定可用源和它們的結構的先見之明。另一方面,由編譯器104生成的子查詢包括能提交給特定源的查詢序列以便生成所需結果。
只要已經編譯該查詢計劃,服務器100將查詢消息編址到適當的源58,由此生成用于客戶機54的查詢響應。
圖5A和5B是示意性說明根據本發明的實施例,用于查詢規則和執行方法的流程圖。在查詢提交步驟110,當入口52接收由客戶機54的用戶提交的查詢時,啟動該方法。入口驗證客戶機和/或用戶證書,以及將用客戶機術語(例如用結構化查詢語言(SQL)格式)表示的提交查詢變換成用本體術語表示的等效查詢。
然后,在代理選擇步驟112,入口52選擇查詢代理60以便執行該查詢。查詢代理的選擇可以考慮到可用于代理的資源、其當前工作負載,以及處理指定的查詢本體的資格。目錄67(圖2B),如上所述,可以用來收集和維護與網絡42的拓撲結構和資源負載的變化有關的信息。因此,如果入口確定一個合法查詢代理過載,入口可以將該查詢提交給不同代理。在圖1所示的聯盟系統的上下文中,一個會員組織的站點上的入口甚至可以將查詢編址到駐留在其他站點中的計算機上、受可應用策略約束的代理。然后,入口52將本體查詢提交給被選查詢代理。
在數據源識別步驟114,查詢編譯器104解析和分析查詢以及使用上述的匹配工具來生成與查詢有關的數據源58的子集(或等效,包裝器56的子集)。數據源的選擇由查詢的本體術語、數據的請求范圍、客戶機和用戶證書以及源使用策略而定。特別地,在訪問校驗步驟118,對每一候選數據源,查詢編譯器相對于如在本體92中列出的、包括在源本體中的訪問策略,校驗客戶機和/或用戶身份。從查詢計劃去除查詢編譯器確定客戶機或用戶不具有足夠的訪問權的任何源。
接著,在查詢編譯步驟120,查詢編譯器檢查查詢和數據源的匹配子集,以便將本體查詢編譯成最佳地采用可用數據源的優化查詢計劃。在下文中,將參考圖7中的具體查詢例子,描述查詢編譯和優化的另外的方面。如上所述,查詢計劃包括編址到一個或多個源58的子查詢,以及組合標準化子查詢結果以便產生最終結果的后續結合。查詢代理60還經上述存儲工具,分配存儲資源,用于在計劃的每一階段收集結果。
然后,在消息分發步驟122,查詢代理60執行該計劃,將適當的子查詢消息發送給計劃中選定的源的包裝器56。消息通常包括為響應而分配的存儲資源的句柄。只要可能,并行啟動包裝器調用,如該圖中所示。
包裝器56使用源映射來將本體子查詢轉換成本地數據源58的適當本機術語。該過程的細節如下面的圖6中所示。通常由相應的數據源的本地數據庫管理系統(DBMS)執行最終本機子查詢。然而,注意源58不需要是數據庫,而可以另外包括其它類型的數據(結構化或非結構化)、服務和其他應用。包裝器也可以基于在子查詢中提供的轉換術語,以及在執行子查詢后,返回值的其他后處理,執行子查詢結果的標準化。在數據接收步驟124,每個包裝器將其處理的數據寫到適當的存儲位置。在數據存儲步驟126,當這些結果已經通過包裝器適當地標準化并存儲時,使用存儲句柄,通常經存儲工具,告知查詢代理60。
基于不同階段的結果子集,查詢計劃可以調用將由查詢代理執行的結合、過濾、分類和另外的動作。當結果子集準備就緒時,查詢代理跟蹤包裝器通知以及使用存儲工具的DBMS能力來執行這些動作。查詢代理還處理異常,諸如當在指定的響應時間內,未獲得結果時。查詢計劃可以表示哪些結果對查詢很關鍵,以及那些不關鍵,以便查詢代理能相應地響應。例如,當請求非關鍵結果的子查詢故障時,可以從查詢響應簡單地忽略這些結果。另一方面,如果不能從初始預計源獲得,基于元數據源90中的信息,可以通過代理60,由另一源取得關鍵結果。
在完成校驗步驟130,查詢代理60定期核查以便確定是否完成查詢計劃。只要仍然要求進一步的結果以便完成該查詢計劃,在繼續收集步驟132,查詢代理繼續收集和處理來自包裝器56的數據。在完成查詢計劃時,在高速緩存步驟134,查詢代理在適當的存儲位置中高速緩存這些結果。然后,在句柄傳遞步驟136,代理將具有句柄的入口52提供給最終結果。根據需要,入口將高速緩存的結果變換成客戶機術語,以及以客戶機請求的格式,傳送這些結果。為檢查和責任性目的,通常由記錄工具記錄所有上述動作,以及提交查詢的用戶和客戶機的證書。
圖6是示意性說明根據本發明的實施例,響應通過查詢代理60,編址到它的子查詢,由包裝器56執行的步驟的流程圖。在數據請求步驟140,當包裝器56從查詢代理接收數據請求時,啟動該方法。在有效性核查步驟142,包裝器核查請求的有效性。請求可以無效,例如如果缺少正確的訪問授權。如果發現請求無效(或如果該方法中的任何一個后續步驟失敗),在失敗步驟143,包裝器將失敗消息發送回查詢代理60。上面描述了查詢代理對失敗的子查詢的可能響應。
如前所述,通常以用在網絡42中的本體術語,表述來自代理60的子查詢。在查詢映射步驟144,包裝器56將來自由代理60使用的本體“SQL”的子查詢映射到由包裝器56服務的數據源58理解的本機查詢格式。盡管為簡便起見,圖6將本機查詢格式稱為“數據源SQL”,該圖中所示的方法同樣適用于其他類型的數據源--不一定是數據庫,以及可以在系統20中訪問的服務。子查詢也可以包含同樣用網絡42的標準化、本體單位和格式表示的數據輸入。在數據映射步驟146,包裝器56類似地將來自本體格式的SQL數據映射成源58的本機單位和格式。然后,在數據檢索步驟148,包裝器使用源的本地、本機DBMS,從源58檢索所請求的數據。
在下推步驟150,如果查詢計劃需要,包裝器56可以本地地執行計劃所需的數據處理的一部分。可以使用本地DBMS的處理能力,或使用構造到包裝器中的處理能力,執行該步驟。該步驟可以包括例如結合來自在數據源58中保存的多個表的值,或者,在數據值上執行算術或字符串操作。在圖7中示出了一些例子。另外,如果需要,在標準化步驟151,包裝器56標準化從數據源讀出的數據,即,將來自本機單位的數值映射成在本體中使用的這些單位。由包裝器執行的值映射也可以包括將來自一種語言的文本轉換成另一種。
在從源58檢索數據以及完成任何所需本地處理后,包裝器56用適當的本體術語標準化結果。在數據存儲步驟152(對應于圖5A的步驟124和126),包裝器使用上述存儲服務,將結果存儲在適當的位置。然后,在子查詢完成步驟154,包裝器使用存儲服務來向查詢代理60發送表示子查詢結果的位置的消息。只要適合,包裝器56可以將數據流向代理60,以便甚至在收集所有子查詢結果前,數據的處理也能進行。另外,在其他環境下,在塊操作,諸如塊移動或塊括入操作中,包裝器可以將數據移向由代理指定的存儲裝置。
盡管上述情況與處理SQL型查詢有關,在本發明的另外實施例中,系統20配置成支持一組綜合信息服務,諸如數據更新、訂閱(subscription)、事件和備份。通常由適當的服務代理類型執行每一服務。由入口52將客戶機54對這些類型的服務的請求提交到與其他代理合作的適當的服務代理,并根據需要,調用工具。
下述是可以由系統20支持的一些替換性的服務類型的例子●數據寫入服務代理可以使用如上所述相同的匹配和規劃過程來識別用于更新的相關源58。如在本體92中所維護的,在該情況下的寫入特權通常比讀取特權更有限,以便客戶寫入是很窄的范圍。包裝器56將用本體術語表示的數據更新變換成將寫入數據源的本地術語。為維持相干性,僅在所有相關源提交后,才寫入源寫入。包裝器可以對缺少事務支持的源提供兩階段的提交事務支持。然后,入口52通知客戶機54有關是否成功地完成請求。
●過程服務代理可以接收標準的過程定義,例如可以用商業過程執行語言(BPEL)表示。過程定義可以包括單元,諸如流量控制、客戶通知/交互作用,以及系統20的其他服務。通過調用適當的服務代理,執行這些其他服務(例如查詢、數據寫入以及遞歸過程)。
●可以使用事務過程服務代理來執行請求兩階段提交的過程。
●可以使用事件服務代理來處理對提示啟動過程的數據相關事件的請求。數據事件可以視為具有產生非空結果的約束的查詢(即,當查詢返回結果時,事件發生)。因此,可以調用查詢代理來產生被檢查以便確定事件何時發生的高速緩存結果。一些源58可以自身具有活動數據庫能力,即,他們可以包含他們自己的事件驅動觸發器。在這種情況下,事件服務代理可以調用這些源的包裝器來管理觸發器,從而檢查和報告事件,以便在這種情況下,不必要輪詢源。否則,包裝器將以由(受到由源本身強加的任何吞吐量限制的)事件服務代理指定的頻率輪詢他們的源。事件服務代理檢查這些結果,當他們變得可用時,諸如當經觸發器或輪詢,所有包裝器已經響應時。當事件發生時,事件服務代理調用過程服務代理來執行適當的過程。
●訂閱服務代理對連續查詢,處理來自客戶機54的請求。根據查詢術語,基于定期或事件驅動,代理將整個或遞增結果返回給客戶機。訂閱代理通常補充查詢代理和/或事件服務代理來提供結果。
●可以調用備份服務代理來在指定集線器或源上記錄特定查詢的結果的副本。用本體術語維護結果,因此,由于記錄了副本,即使源發展,也能用源術語在任何源58上被恢復。通過用來產生結果的源的清單,觸發記錄結果,以便能將源恢復限制到來自指定源的結果。
●可以使用歷史服務代理來產生特定數據的時間觸發副本。可以定期地生成副本,或可以事件驅動它們。它們可以用于跟蹤和在線分析處理(OLAP)趨勢分析。
圖7是示意性說明根據本發明的實施例,在系統20中執行的查詢計劃的單元的框圖。為該例子目的,定義簡單的本體160,包括銷售實體162和產品實體164。通過識別在每次銷售中出售的產品或多個產品的產品-銷售關系,關聯這些實體。銷售實體包括多個屬性,包括唯一定單ID,以及銷售量和顧客帳號。每個生產實體包括產品ID(諸如種類號)、產品姓名和價格。在該實例中,本體160中的產品的層次包括兩種產品實體由來自產品實體164的繼承性定義但具有他們自己的特定屬性(諸如大小或分辨率)的監視器實體166和打印機實體168。
在該例子中,可用于響應查詢的數據源包括關系數據庫170和172以及結構化文檔174、176、178。在該圖中能看出可以由包裝器(在該圖中未示出)將數據庫和文檔中的字段映射到本體160。因此,例如,能在銷售數據庫170中顯示出“購買訂單號”的字段被映射到銷售實體162的ID槽,而標記“目錄號”的另一字段已經被映射到產品實體164的ID槽。
現在,將查詢180提交給系統20,按已經出售這些產品的銷售的姓名和價格,以及數量和帳號,請求產品銷售清單。查詢編譯器104(圖4)檢查源170、172、174、176、178的內容以便確定能從何處獲得所需信息,以及如何將這些信息結合成查詢響應。由編譯器開發的查詢計劃包括通常明確表示為編址到數據源的包裝器的子查詢的下述步驟,如上所述1.通過執行來自顧客數據庫170的銷售額數據和來自銷售數據庫172的銷售額數據的外部結合,數據庫170和172的一個或兩個的包裝器生成初始子查詢結果182。包裝器將唯一銷售ID用作為關鍵字。由此,將該外部結合操作,以及下述的其他操作“下推”到數據庫和它們的包裝器的地區級(local level)以便降低集線器40(圖2)的處理負擔,以及降低必須由網絡42執行的通信業務量。
2.接著,包裝器獲得監視器清單174和打印機清單176的聯合,然后將來自這些清單的姓名和價格信息結合成結果182以便創建組合子查詢結果184。在這種情況下,將產品ID用作為用于結合數據的關鍵字。包裝器還在產品姓名上執行互補操作,即,將姓名轉換成小寫字符以防止后續處理中的錯誤。
3.銷售文檔178的包裝器在文檔上執行自然結合以便生成第二子查詢結果186。可以與在前兩個步驟中執行的子查詢并行執行該子查詢。其中,由包裝器將產品名轉換成小寫。結果186的形式與結果184的形式相同,除在這種情況下,帳號字段為空外。查詢代理可以忽略部分或不完整的記錄,或根據伴隨該查詢的用戶喜好,可以替換地返回具有遺漏值的表示的這些結果。在本情況下,為確保對查詢180的響應是完整的,以及不會由于任一數據源中的不良或丟失數據,而丟失任何產品銷售,查詢編譯器已經選擇來收集潛在的重復結果184和196。
4.代理60獲得結果184和186的聯合以便生成對查詢的響應188。產品名的小寫形式使得代理可避免由于以大寫字母開頭中的不規則造成的重復記錄。
選擇用在結合來自不同源的數據中的關鍵字是編譯器104的功能。編譯器104使用本體規則以便選擇用在每一情況中的最佳關鍵字,從而增加獲得完整和無歧義數據的可能性。
例如,假定提交與一群人有關的查詢的情形,要求查詢代理60提供聯系數據(諸如地址)、個人數據(諸如年齡),以及每個人的車輛登記號。假定數據在不同表中,以及查詢要求對授權客戶,可以結合它們。如果表包含在相同的數據庫中,源元數據將顯著地識別用于結合他們的外來關鍵字。否則,數據分布在幾個源中是可能的,其中,每個源具有已經映射到相同的各異標識符的字段,諸如雇員號,或在上述例子中提到的唯一銷售ID號。在這種情況下,普通標識字段或多個字段提供用于結合這些表的可靠基礎。源目錄94(圖4)通常為編譯器104提供與可能關鍵字有關的元信息。該元信息的匯編是可以在系統20中執行的后臺作業的一個,以便增加結果精度和運行中查詢處理的效率。
否則,如果并非所有源具有映射到各個標識符的字段,編譯器104可以使用包含在本體92中的規則來查找關鍵字。例如,本體可以揭示能將姓名和社會保險號變換成各異標識符。在這種情況下,能使用映射到姓名和社會保險號的源字段來結合相關表。否則,編譯器104可以執行經驗測試來估計將這些源中的可用非各異字段用作為用于結合的基礎的統計唯一性。例如,編譯器可以計算實際上具有相同姓名和年齡的目標人群的人數,然后,可以將最相異組合選擇為用于結合這些表的關鍵字。
即使當各異關鍵字可用,錯誤數據(諸如誤拼姓名)和模糊格式(諸如不同美國和歐洲數據格式)會破壞結合過程。編譯器104可以使用本體規則和經驗測試來確定這些情形存在的可能性。例如,查詢代理可以測試具有相同社會保險號和家庭住址的相似姓名。然后,構造輔助結合表來自動地將類似姓名和其他個人屬性轉換成各異人員標識符。表中的每個輸入也可以列出它表示的關系有效的估計概率。該輔助表隨后能用作為用于結合來自原始表的數據的基礎,以及也可以給出該結合是有效的概率的定義良好的度量。每實體類或對每個類的特定子集,能生成這些結合表。
因此,例如,可以有幾種與人有關的信息的源,每個具有包括姓名、社會保險號、住址和電話號碼的不同組合或子組合的不同的列組合。使用包含在本體中的規則,能關聯這些表中的信息以便識別哪些源記錄屬于哪些人。在此基礎上,對每個人,可以生成虛擬人員ID,以及可以生成用于每個源的輔助表,包含用于每個記錄的最可能人員ID和該人員ID的置信度水平。然后,只要置信度水平超出由查詢提供的閾值,與人員有關的信息的后續結合能使用網格生成的虛擬IDs。
圖8是示意性說明根據本發明的實施例,在系統20中執行的其他后臺過程以便在查詢規則和優化中,生成能由編譯器104使用的信息的流程圖。尤其,通過包裝器56,以及由本體生成器96以及源模型器98和在集線器40上運行的其他服務,這些功能被執行。上面已經提到過一些其他后臺活動性,諸如建立和維護本體92和生成輔助結合表。
基于“即插即用”,可以將新的數據源添加到系統20。為此目的,在包裝器創建步驟190,首先創建包裝器,以便將新源的字段映射到適當的本體。如下面參考圖9所述,通過由系統管理員,使用包裝器“向導”程序,半自動地執行該步驟。只要已經定義包裝器,在源廣告步驟192,包裝器通過在網絡42上發送適當的消息,廣告新源。集線器40上的發現工具接收這些消息,以及通知源模型器98。然后,在源發現步驟194,源模型器98將適當的源信息記錄在源目錄94中。
本體生成器96還可以生成新本體版本。為此目的,本體生成器應用版本管理工具以便自動地將本體表示從一種版本變換成另一種。類似地,在源目錄94中,將到一個本體版本的源映射自動地升級到新版本。典型地,本體發展主要包括拓撲結構的擴展,以及結構的臨時重命名和合并,以便版本間的向前和向后變換相對簡單。
有時,參與系統20中的組織可以選擇相對于數據源58和經網絡42可用的其他資源,改變使用策略。同樣地,在策略廣告步驟196,由包裝器56廣告這些策略變化,以及在策略發現步驟198,發現并記錄在源目錄94中。
在系統20的活動性的正常過程期間,在監視步驟200上述記錄工具(可以在集線器40和網關50上運行)跟蹤網絡42的拓撲結構的變化,以及測量不同網絡功能的性能。監視語義,與網絡42的其他功能一樣基于定義諸如提交和答復的查詢、數據傳送量和速率,操作的持續時間和超時的實體的公共、全網本體。在發生的節點處記錄活動性,以便日志以不破壞消息傳遞的方式累積。每一日志(log)記錄每個活動性以及生成它的請求的標識,以便能基于保存在不同日志中的信息,首尾相連地重構任何特定請求的處理的完整記錄。為這樣記錄目的,通過適當定時消息的周期分布,可以定義全網系統時鐘(不管基本物理網是異步的事實),從而創建對系統20中所有日志統一的“虛擬時間”。如前所述,查詢代理60使用拓撲結構和性能數據以便執行系統20的資源中的負載平衡,即使橫跨參與組織的邊界。基于本體的使用策略確保一個會員組織的資源將不會由超出組織策略允許的水平的系統中的其他組織使用。
圖9A是根據本發明的實施例,表示由包裝器向導提供的用戶接口的計算機屏蔽210的示意表示。源模型器98提供該向導以便在識別源結構、定義源映射和將源登記在目錄94的過程中,輔助系統管理員。在本例子中,源是連同所選本體,自動加載到模型器98中的關系SQL數據庫。然后,在本體窗口211中,顯示本體,而在數據庫窗口212中顯示源元數據。系統管理員使用鼠標來將窗口212中的元數據項與窗口211中的相應槽關聯,以及操作控制213以便確認或去除映射。只要完成映射,如上所述,該新源被廣告。
類似的模型可以用于包裝器其他類型的數據資源。例如,如果資源為Web服務,源Web服務描述語言(WSDL)模型可以自動地加載到源模型器中,代替SQL元數據。類似地,如果資源為XML數據庫,XQuery服務器可以用來標識用于由源模型器映射的可用概要。對未結構化文本,諸如由ClearForest(紐約,NY)提供的分析工具能用來將XML標記添加到文本上,然后,能加以索引象XML數據庫。同樣地,這種模型可以用于將系統20的其他單元映射到適當的本體。
圖9B是根據本發明的實施例的計算機屏幕214的示意表示,表示為將用戶映射到本體用戶類的目的而提供的用戶界面。映射通常由用戶的組織關系和他們各自的組織內的角色而定。屏幕214包括本體窗口215,其中列出用戶角色,以及列出所述組織中的用戶的姓名的用戶窗口216。在此情況下,系統管理員使用鼠標和控制213以將窗口216中的各用戶與窗口215中的適當角色相關聯。如上所述,由每一組織設置和/或相對于預定義的角色的本體,全局設置系統20中的訪問策略。
圖10是示意性說明根據本發明的實施例的虛擬專用網42的框圖。該圖例示網絡42上的通信的語義屬性和這些通信的好處。如前所述,盡管網絡42可以物理地在公用網,諸如WAN36上運行,網絡42邏輯地與由WAN36攜載的其他通信分開。由諸如隧道效應和加密的技術維護虛擬專用網的分離。網絡42經網關222、226和252,將客戶機220、250和源224連接到代理228、230、232和234的基干上。典型地,用全網狀網格拓撲結構,邏輯地連接代理,如該圖中所示。
客戶機220和250僅經各自的網關和基干代理,與源,諸如源224通信。客戶機和網關間的所有通信在形式上完全是語義的,如代理間的所有通信一樣。示例性數據分組240包含消息隊列頭部246和語義有效負載248。頭部246包括分組(通常是代理)的應用級源和目的地的邏輯地址,以及可能其他參數。有效負載248包括查詢、響應或其他系統消息。頭部246和有效負載248的內容從可能的語義內容的有限、預定集選擇,必須符合系統20的特定本體。該本體對所有代理是已知的。
因此,在網絡42上接收分組后,接收代理能校驗分組頭部246和有效負載248的語義,以便與已知本體相符。換句話說,代理根據合法業務量必須符合的有限已知模板組,過濾頭部和有效負載。簡單地廢除具有不相符語義的分組,或無效過濾的語義元素。(通過比較,在一般IP網絡中,盡管防火墻或其他侵入保護設備可以校驗用于已知惡意業務量類型的簽名的分組有效負載,有效負載保持二進制數據的“黑箱”,其不能容易診斷為有利還是惡意)。因此,網絡42基本上不受惡意業務攻擊影響。典型地,對更大的數據安全和防止入侵,加密頭部246和有效負載248。
在最糟情況下,例如,在客戶機250上操作的惡意用戶可以“侵入”網關252,然后,可以通過分組攻擊代理230。然而,代理230將意識到分組不具有適當的語義和將廢除它們。即使惡意用戶以這種方式成功破壞代理230的性能,最終業務量將不會進一步傳播到網絡42中。其他代理,諸如客戶機220將仍然能通過主干網格中的剩余代理訪問數據源。
此外,每個客戶機220和源224能確定它打算共享哪些本體單元以及在發送或接收每個單元前,應當將什么安全性校驗應用給每個單元。由于所有共享信息必須對應于本體單元以便流過網格,保證每個所有者所有進入和呼出流量符合良好定義的標準,而與所提供的服務的屬性無關。該模型遠不如篩選二進制信息的一般備選方案復雜,可以假定用于無語義基礎的多個客戶機和應用的任何形式。
如前所述,盡管上述實施例主要涉及提供訪問數據源,本發明的原理可以類似地用在經網絡,控制訪問和提供其他信息資源,諸如Web服務中。因此,將意識到舉例引用這些實施例,以及本發明不限于上面具體示出和描述的內容。相反,本發明的范圍包括上述各種特征的組合和子組合,及在閱讀上述說明書后,本領域的技術人員將聯想到以及在現有技術中未公開的變形和改進。
權利要求
1.一種用于數據訪問的方法,包括定義應用于一組不同的數據源的本體,所述數據源包括具有多個預定的語義的數據;將所述本體與可應用于所述數據源中的數據的語義的一個或多個邏輯規則相關聯;從用戶接收有關所述數據的查詢;通過響應所述本體,選擇一個或多個所述數據源,以及通過響應所述可應用邏輯規則,識別將應用于所述數據的操作,確定用于響應所述查詢的查詢計劃;以及根據所述查詢計劃,生成對所述查詢的響應。
2.如權利要求1所述的方法,其中,所述邏輯規則包括驗證規則,以及其中所述查詢計劃包括響應所述驗證規則,驗證來自所述數據源中的至少一個的數據。
3.如權利要求1所述的方法,其中,所述邏輯規則包括映射規則,以便根據所述映射規則,將所述數據源中的至少一個映射到所述本體,以及其中所述查詢計劃包括響應所述映射規則,確定所述數據源中的至少一個對所述查詢的可應用性。
4.如權利要求1所述的方法,其中,所述邏輯規則包括結合規則,以及其中,所述查詢計劃包括響應所述結合規則,選擇關鍵字,以及使用所述關鍵字,結合來自兩個或多個所述數據源的數據。
5.如權利要求4所述的方法,其中,選擇關鍵字包括分析所述數據以便選擇所述兩個或多個數據源中的一個或多個字段用作為所述關鍵字,以便提供將正確地結合所述數據的期望的統計概率。
6.如權利要求1所述的方法,其中,所述邏輯規則包括變換規則,以及其中,所述查詢計劃包括響應所述變換規則,將所述數據源的至少一個中的數據從保存在所述數據源的所述至少一個中的第一值變換成第二值。
7.如權利要求1所述的方法,其中,所述邏輯規則包括商業邏輯規則,以及其中,所述查詢計劃包括響應所述商業邏輯規則,處理來自所述源中的至少一個的數據。
8.如權利要求1所述的方法,其中,所述邏輯規則包括訪問規則,以及其中,所述查詢計劃包括選擇所述數據源的至少一個,用在響應所述應用的訪問規則,生成所述響應給提交所述查詢的用戶中。
9.如權利要求1-8的任何一個所述的方法,其中,定義所述本體包括將各自的包裝器與所述數據源的每一個關聯,以便將來自所述數據源的每一個的數據從本機格式變換成由所述本體定義的本體格式,以及其中,生成所述響應包括應用使用所述包裝器的操作,然后,在應用所述操作后,將所述數據從所述包裝器報告給鏈接所述數據源的集線器。
10.如權利要求9所述的方法,其中,由所述包裝器應用的所述操作包括結合來自兩個或多個所述數據源的數據。
11.如權利要求9所述的方法,其中,由所述包裝器應用的操作包括映射所述數據的值。
12.如權利要求11所述的方法,其中,映射所述值包括將所述數據自本機表示標準化為本體表示。
13.如權利要求9所述的方法,其中,所述查詢計劃包括一群子查詢,以及其中,生成所述響應包括將所述子查詢從在所述集線器上運行的代理發送到多個數據源的各自的包裝器,以及組合自所述包裝器報告的數據以便產生所述響應。
14.如權利要求13所述的方法,其中,發送所述子查詢包括調用兩個或多個所述包裝器來并行操作。
15.如權利要求9所述的方法,其中,關聯所述各自包裝器包括根據所述本體,分發所述數據源的每一個的廣告,以及其中,確定所述查詢計劃包括響應所述廣告,發現所述數據源的每一個,以及基于所發現的數據源,構造所述查詢計劃。
16.如權利要求9所述的方法,其中,報告所述數據包括在網絡上發送數據分組,所述分組包括以由所述本體確定的形式的語義內容,以及在集線器處接收到所述數據分組后,響應所述語義內容,校驗所述分組的合法性。
17.如權利要求9所述的方法,其中,報告所述數據包括將所述數據從所述包裝器流向特定的存儲位置。
18.如權利要求9所述的方法,其中,報告所述數據包括在塊操作中將數據從所述包裝器移動到特定的存儲位置。
19.如權利要求1-8的任何一個所述的方法,其中,確定所述查詢計劃包括收集有關所述數據源的拓撲結構和性能特性的信息,以及響應所述信息,選擇將用在響應所述查詢中的所述數據源。
20.一種用于為用戶提供訪問一組不同信息資源的方法,所述信息資源被配置成提供具有預定的語義的信息,所述方法包括定義應用于由所述不同信息資源組提供的信息的本體;將所述本體與可應用于所述信息的語義的一個或多個邏輯規則相關聯;從所述用戶接收訪問所述信息的請求;通過響應所述本體,選擇一個或多個所述信息資源,以及通過響應所述可應用邏輯規則,識別將應用于所述信息的操作,確定用于響應所述請求的計劃;以及根據所述計劃,生成對所述請求的響應。
21.如權利要求20所述的方法,其中,所述請求包括對由所述信息資源保存的數據的查詢。
22.如權利要求20所述的方法,其中,所述請求包括訂閱請求,以及其中,生成所述響應包括響應所述訂閱請求,在一時間周期上,提供一連串響應。
23.如權利要求20所述的方法,其中,所述信息資源被配置成提供Web服務,以及其中,所述請求指定將提供給所述用戶的一個或多個所述Web服務。
24.如權利要求20所述的方法,其中,所述請求指定將寫入與一個或多個所述信息資源相關聯的數據儲存庫的數據。
25.如權利要求20所述的方法,其中,所述請求指定將由一個或多個所述信息資源執行和記錄的事務。
26.如權利要求20-25的任何一個所述的方法,其中,所述請求指定將由一個或多個所述信息資源執行的過程。
27.如權利要求26所述的方法,其中,所述請求指定一事件,以及其中,生成所述響應包括響應所述事件的發生,執行所述指定過程。
28.一種用于數據訪問的方法,包括定義應用于包括數據的一組不同的數據源的本體;相對于所述本體,定義數據訪問權;以及響應所述數據的本體以及可應用于所述數據的訪問權,控制用戶訪問所述數據。
29.如權利要求28所述的方法,其中,定義所述本體包括指定用戶本體,以及其中,定義所述數據訪問權包括根據所述用戶本體,將一分類分配給用戶,以及其中,控制所述用戶訪問包括將所述分類與所述可應用于所述數據的訪問權進行比較。
30.如權利要求29所述的方法,其中,在包括至少第一和第二組織的一組自主組織中,分布所述不同數據源,以及其中,分配所述分類包括根據所述用戶的組織關系,對所述用戶進行分類,以便控制所述第一組織中的用戶訪問由所述第二組織保存的數據源。
31.如權利要求28-30的任何一個所述的方法,其中,控制所述用戶訪問包括從用戶接收訪問所述數據源中的數據的查詢,通過響應所述本體選擇一個或多個數據源,來確定用于響應所述查詢的查詢計劃,以便所述訪問權允許所述用戶訪問一個或多個所述數據源中的所述數據,以及根據所述查詢計劃,生成對所述查詢的響應。
32.一種用于數據訪問的方法,包括定義提供對數據的訪問的一組數據資源;收集有關所述數據資源的拓撲結構和性能特性的信息;從用戶接收有關所述數據的查詢;響應所述查詢和有關所述拓撲結構和性能特性的所述信息,確定查詢計劃;以及根據所述查詢計劃,生成對所述查詢的響應。
33.如權利要求32所述的方法,其中,收集所述信息包括測量兩個或多個數據資源的各自的負載水平,以及其中,確定所述查詢計劃包括選擇所述數據資源中的一個以便平衡所述負載水平。
34.如權利要求32或33所述的方法,其中,所述數據資源被分布在包括至少第一組織和第二組織的一組自主組織中,其中,提交所述查詢的用戶屬于所述第一組織,以及其中,確定所述查詢計劃包括響應所述性能特性,選擇用在響應所述查詢中的所述第二組織的數據資源中的一個。
35.一種用于信息交換的方法,包括在包括至少第一和第二節點的多個節點中建立虛擬專用網,這些節點配置成在基礎公眾物理網上彼此通信;響應所述信息的本體,定義在所述虛擬專用網中的所述節點間傳送數據分組的語義通信模型;將所述虛擬專用網上的數據分組從所述第一節點發送到所述第二節點;以及根據所述第二節點處的語義通信模型,過濾所述數據分組,以便校驗所述數據分組是合法的。
36.如權利要求35所述的方法,其中,定義所述語義通信模型包括定義可以由所述虛擬專用網中的數據分組攜載的一組封閉的語義消息。
37.如權利要求35所述的方法,其中,所述節點分布在一組自主組織中。
38.如權利要求35-37的任何一個所述的方法,其中,所述節點包括網關節點,它們被配置成使用本機數據格式與客戶機和數據源通信,以及將所述本機數據格式轉換成所述語義通信模型,用于在所述虛擬專用網上通信。
39.如權利要求38所述的方法,其中,所述節點進一步包括集線器節點,以及其中,建立所述虛擬專用網包括配置所述網關節點以便使用所述語義通信模型與所述集線器節點通信。
40.一種用于數據訪問的裝置,包括集線器處理器,用于接收應用于包括具有多個預定義的語義的數據的一組不同的數據源的本體的定義;以及將所述本體與應用于所述數據源中的數據的多個語義的一個或多個邏輯規則相關聯;以及在從用戶接收到有關所述數據的查詢后,進一步用于通過響應所述本體選擇一個或多個所述數據源,以及通過響應所述可應用邏輯規則,識別將應用于所述數據的操作,來確定用于響應所述查詢的查詢計劃;以及根據所述查詢計劃,生成對所述查詢的響應。
41.如權利要求40所述的裝置,其中,所述邏輯規則包括驗證規則,以及其中,所述查詢計劃包括響應所述驗證規則,驗證來自所述數據源中的至少一個的數據。
42.如權利要求40所述的裝置,其中,所述邏輯規則包括映射規則,以便根據所述映射規則,將所述數據源中的至少一個映射到所述本體,以及其中,所述查詢計劃包括響應所述映射規則,確定所述數據源中的至少一個對所述查詢的可應用性。
43.如權利要求40所述的裝置,其中,所述邏輯規則包括結合規則,以及其中,所述查詢計劃包括響應所述結合規則,選擇關鍵字,以及使用所述關鍵字,結合來自兩個或多個數據源的所述數據。
44.如權利要求43所述的裝置,其中,選擇關鍵字包括分析所述數據以便選擇所述兩個或多個數據源中的一個或多個字段用作為所述關鍵字,以便提供將正確地結合所述數據的期望的統計概率。
45.如權利要求40所述的裝置,其中,所述邏輯規則包括變換規則,以及其中,所述查詢計劃包括響應所述變換規則,將所述數據源中的至少一個中的所述數據從保存在所述數據源中的所述至少一個中的第一值變換成第二值。
46.如權利要求40所述的裝置,其中,所述邏輯規則包括商業邏輯規則,以及其中,所述查詢計劃包括響應所述商業邏輯規則,處理來自所述源的至少一個的所述數據。
47.如權利要求40所述的裝置,其中,所述邏輯規則包括訪問規則,以及其中,所述查詢計劃包括選擇所述數據源的至少一個,用在響應所述應用的訪問規則,生成所述響應給提交所述查詢的用戶中。
48.如權利要求40-47的任何一個所述的裝置,還包括被連接以便與所述集線器處理器通信的至少一個網關處理器,其用于將各自包裝器與所述數據源的每一個相關聯,以便將來自所述數據源中的每一個的數據從本機格式變換成由所述本體定義的本體格式,其中,所述至少一個網關處理器用于使用所述包裝器將所述操作應用于所述數據,以及在應用所述操作后,將所述數據報告給所述集線器處理器。
49.如權利要求48所述的裝置,其中,由所述包裝器應用的操作包括結合來自兩個或多個所述數據源的數據。
50.如權利要求48所述的裝置,其中,由所述包裝器應用的操作包括映射所述數據的值。
51.如權利要求50所述的裝置,其中,映射所述值包括將所述數據自本機表示標準化為本體表示。
52.如權利要求48所述的裝置,其中,所述查詢計劃包括一群子查詢,以及其中,所述集線器處理器用于將所述子查詢發送到多個數據源的各自的包裝器,以及組合自所述包裝器報告的所述數據以便產生所述響應。
53.如權利要求52所述的裝置,其中,所述集線器處理器用于調用兩個或多個包裝器來并行操作。
54.如權利要求48所述的裝置,其中,所述至少一個網關處理器用于根據所述本體,分發所述數據源的每一個的廣告,以及其中,所述集線器處理器用于響應所述廣告,發現所述數據源中的每一個,以及基于所述發現的數據源構造所述查詢計劃。
55.如權利要求48所述的裝置,其中,所述至少一個網關處理器用于通過在網絡上發送數據分組,報告所述數據,所述分組包括以由所述本體確定的形式的語義內容,以及其中,所述集線器處理器用于響應所述語義內容,校驗所述分組的合法性。
56.如權利要求48所述的裝置,其中,所述至少一個網關處理器用于將所述數據從所述包裝器流向一指定的存儲位置。
57.如權利要求48所述的裝置,其中,所述至少一個網關處理器用來在塊操作中將數據從所述包裝器移動到一指定的存儲位置。
58.如權利要求40-47的任何一個所述的裝置,其中,所述集線器處理器用于收集有關所述數據源的拓撲結構和性能特性的信息,以及響應所述信息,選擇將用在響應所述查詢中的數據源。
59.一種用于為用戶提供對配置成提供具有預定義的語義的信息的一組不同信息資源的訪問的裝置,所述裝置包括集線器處理器,用于接收應用于由所述不同信息資源組提供的信息的本體的定義以及將所述本體與可應用于所述信息的語義的一個或多個邏輯規則相關聯;以及進一步用于在從所述用戶接收到訪問所述信息的請求后,通過響應所述本體選擇一個或多個所述信息資源以及通過響應所述可應用邏輯規則,識別將應用于所述信息的操作,來確定用于響應所述請求的計劃;以及根據所述計劃,生成對所述請求的響應。
60.如權利要求59所述的裝置,其中,所述請求包括對由所述信息資源保存的數據的查詢。
61.如權利要求59所述的裝置,其中,所述請求包括訂閱請求,以及其中,所述集線器處理器用于響應所述訂閱請求,在一時間周期上提供一連串響應。
62.如權利要求59所述的裝置,其中,所述信息資源被配置成提供Web服務,以及其中,所述請求指定將提供給所述用戶的一個或多個所述Web服務。
63.如權利要求59所述的裝置,其中,所述請求指定將寫入與一個或多個所述信息資源相關聯的數據庫的數據。
64.如權利要求59所述的裝置,其中,所述請求指定將由一個或多個所述信息資源執行和記錄的事務。
65.如權利要求59-64的任何一個所述的裝置,其中,所述請求指定將由一個或多個所述信息資源執行的過程。
66.如權利要求65所述的裝置,其中,所述請求指定一事件,以及其中,所述集線器用于響應所述事件的發生,使所述指定的過程被執行。
67.一種用于數據訪問的裝置,包括集線器處理器,其用于接收應用于包括數據的一組不同的數據源的本體的定義以及相對于所述本體的數據訪問權的定義;以及用于響應所述數據的本體以及可應用于所述數據的訪問權,來控制用戶訪問所述數據。
68.如權利要求67所述的裝置,其中,所述本體包括用戶本體,以及其中,所述集線器處理器用于根據所述用戶本體,通過分配分類給用戶來定義所述數據訪問權,以及將所述分類與可應用于所述數據的所述訪問權進行比較以便控制所述用戶訪問。
69.如權利要求68所述的裝置,其中,在包括至少第一和第二組織的一組自主組織中,分布所述不同數據源,以及其中,所述集線器處理器用于根據所述用戶的組織關系對所述用戶進行分類,以便控制所述第一組織中的用戶訪問由所述第二組織保存的數據源。
70.如權利要求67-69的任何一個所述的裝置,其中,所述集線器處理器用于從用戶接收對訪問所述數據源中的數據的查詢,以通過響應所述本體,選擇一個或多個數據源,來確定用于響應所述查詢的查詢計劃,以便所述訪問權允許所述用戶訪問所述一個或多個數據源中的所述數據,以及根據所述查詢計劃,生成對所述查詢的響應。
71.一種用于數據訪問的裝置,包括集線器處理器,所述集線器處理器用于接收提供對數據的訪問的一組數據資源的定義,以及收集有關所述數據資源的拓撲結構和性能特性的信息,以及用于在從用戶接收有關所述數據的查詢后,響應所述查詢和有關所述拓撲結構和性能特性的所述信息,來確定查詢計劃,以及根據所述查詢計劃,生成對所述查詢的響應。
72.如權利要求71所述的裝置,其中,所述集線器處理器用于接收兩個或多個所述數據資源的各自的負載水平的度量,以及選擇所述數據資源中的一個以便平衡所述負載水平。
73.如權利要求71或72所述的裝置,其中,所述數據資源被分布在包括至少第一組織和第二組織的一組自主組織中,其中,提交所述查詢的用戶屬于所述第一組織,以及其中,所述集線器處理器用于響應所述性能特性,選擇用在響應所述查詢中的所述第二組織的數據資源的一個。
74.用于信息交換的裝置,包括含有至少第一和第二節點的多個計算節點,并這些節點被鏈接以便在基礎公眾物理網上運行的虛擬專用網上通信,且被配置成根據所述響應所述信息的本體而定義的語義通信模型,在所述虛擬專用網上交換數據分組,其中在從第一節點接收到所述虛擬專用網上的數據分組后,至少所述第二節點用于根據所述語義通信模型,過濾所述數據分組,以便校驗所述數據分組是合法的。
75.如權利要求74所述的裝置,其中,所述語義通信模型定義可以由所述虛擬專用網中的數據分組攜載的一組封閉的語義消息。
76.如權利要求74所述的裝置,其中,所述節點分布在一組自主組織中。
77.如權利要求74-76的任何一個所述的裝置,其中,所述節點包括多個網關節點,它們被配置成使用本機數據格式與客戶機和數據源通信,以及將本機數據格式轉換成所述語義通信模型,用于在所述虛擬專用網上通信。
78.如權利要求77所述的裝置,其中,所述節點還包括集線器節點,其中,所述網關節點被配置成使用所述語義通信模型,與所述集線器節點通信。
79.一種計算機軟件產品,包括存儲程序指令的計算機可讀介質,所述指令當由計算機讀取時,使所述計算機接收應用于包括具有預定義的語義的數據的一組不同的數據源的本體的定義,以及將所述本體與可應用于所述數據源中的數據的語義的一個或多個邏輯規則相關聯;以及在從用戶接收有關所述數據的查詢后,進一步使所述計算機通過響應所述本體選擇一個或多個所述數據源以及通過響應所述可應用邏輯規則,識別將應用于所述數據的操作,來確定用于響應所述查詢的查詢計劃,以及根據所述查詢計劃,生成對所述查詢的響應。
80.如權利要求79所述的產品,其中,所述邏輯規則包括驗證規則,以及其中,所述查詢計劃包括響應所述驗證規則,驗證來自所述數據源中的至少一個的數據。
81.如權利要求79所述的產品,其中,所述邏輯規則包括映射規則,以便根據所述映射規則,將所述數據源的至少一個映射到所述本體,以及其中,所述查詢計劃包括響應所述映射規則,確定所述數據源的至少一個對所述查詢的可應用性。
82.如權利要求79所述的產品,其中,所述邏輯規則包括結合規則,以及其中,所述查詢計劃包括響應所述結合規則,選擇關鍵字,以及使用所述關鍵字,結合來自兩個或多個數據源的數據。
83.如權利要求82所述的產品,其中,選擇所述關鍵字包括分析所述數據以便選擇所述兩個或多個數據源中的一個或多個字段用作為所述關鍵字,以便提供將正確地結合所述數據的期望的統計概率。
84.如權利要求79所述的產品,其中,所述邏輯規則包括變換規則,以及其中,所述查詢計劃包括響應所述變換規則,將所述數據源的至少一個中的數據從保存在所述數據源的至少一個中的第一值變換成第二值。
85.如權利要求79所述的產品,其中,所述邏輯規則包括商業邏輯規則,以及其中,所述查詢計劃包括響應所述商業邏輯規則,處理來自所述源的至少一個的數據。
86.如權利要求79所述的產品,其中,所述邏輯規則包括訪問規則,以及其中,所述查詢計劃包括選擇所述數據源的至少一個,用在響應所述應用的訪問規則,生成所述響應給提交所述查詢的用戶中。
87.如權利要求79-86的任何一個所述的產品,其中,所述指令進一步使各自包裝器與所述數據源的每一個相關聯,以便將來自所述數據源中的每一個的數據從本機格式變換成由所述本體確定的本體格式,以及使所述各自包裝器將所述操作應用于所述數據,以及在應用所述操作后,將所述數據報告給所述集線器處理器。
88.如權利要求87所述的產品,其中,由所述包裝器應用的操作包括結合來自兩個或多個所述數據源的數據。
89.如權利要求87所述的產品,其中,由所述包裝器應用的操作包括映射所述數據的值。
90.如權利要求89所述的產品,其中,映射所述值包括將所述數據自本機表示標準化為本體表示。
91.如權利要求87所述的產品,其中,所述查詢計劃包括一群子查詢,以及其中,所述指令使所述計算機將所述子查詢發送到多個數據源的各自的包裝器,以及結合自所述包裝器報告的數據以便產生所述響應。
92.如權利要求91所述的產品,其中,所述指令使所述計算機調用兩個或多個所述包裝器來并行操作。
93.如權利要求87所述的產品,其中,所述指令使所述包裝器根據所述本體,分發所述數據源的每一個的廣告,以及其中,所述指令使所述計算機響應所述廣告,發現所述數據源的每一個,以及基于所述發現的數據源,構造查詢計劃。
94.如權利要求87所述的產品,其中,所述指令使所述包裝器通過在網絡上發送數據分組來報告所述數據,所述分組包括以由所述本體確定的形式的語義內容,以及其中,所述指令使所述計算機響應所述語義內容,校驗所述分組的合法性。
95.如權利要求87所述的產品,其中,所述指令使所述包裝器將所述數據從所述包裝器流向一指定的存儲位置。
96.如權利要求87所述的產品,其中,所述指令使所述包裝器在塊操作中將數據從所述包裝器移動到一指定的存儲位置。
97.如權利要求79-86的任何一個所述的產品,其中,所述指令使所述計算機收集有關所述數據源的拓撲結構和性能特性的信息,以及響應所述信息,選擇將用在響應所述查詢中的數據源。
98.一種計算機軟件產品,用于為用戶提供對配置成提供具有預定義的語義的信息的一組不同的信息資源的訪問,所述產品包括存儲程序指令的計算機可讀介質,所述指令當由計算機讀取時,使計算機接收應用于由所述不同信息資源組提供的信息的本體的定義以及將所述本體與可應用于所述信息的語義的一個或多個邏輯規則相關聯;以及進一步使所述計算機在從所述用戶接收訪問所述信息的請求后,通過響應所述本體選擇一個或多個所述信息資源以及通過響應所述可應用邏輯規則,識別將應用于所述信息的操作,來確定用于響應所述請求的計劃;以及根據所述計劃,生成對所述請求的響應。
99.如權利要求98所述的產品,其中,所述請求包括對由所述信息資源保存的數據的查詢。
100.如權利要求98所述的產品,其中,所述請求包括訂閱請求,以及其中,所述指令使所述計算機響應所述訂閱請求,在一時間周期上,提供一連串響應。
101.如權利要求98所述的產品,其中,所述信息資源被配置成提供Web服務,以及其中,所述請求指定將提供給所述用戶的一個或多個所述Web服務。
102.如權利要求98所述的產品,其中,所述請求指定將寫入與一個或多個所述信息資源相關聯的數據庫的數據。
103.如權利要求98所述的產品,其中,所述請求指定將由一個或多個所述信息資源執行和記錄的事務。
104.如權利要求98-103的任何一個所述的產品,其中,所述請求指定將由一個或多個所述信息資源執行的過程。
105.如權利要求104所述的產品,其中,所述請求指定一事件,以及其中,所述集線器用于響應所述事件的發生,使所述指定的過程被執行。
106.一種計算機軟件產品,包括存儲程序指令的計算機可讀介質,所述指令當由計算機讀取時,使所述計算機接收應用于包括數據的一組不同的數據源的本體的定義以及相對于所述本體的數據訪問權的定義;以及響應所述數據的本體以及可應用于所述數據的訪問權,控制用戶訪問所述數據。
107.如權利要求106所述的產品,其中,所述本體包括用戶本體,以及其中,所述指令使所述計算機根據所述用戶本體,通過將分類分配給用戶來定義所述數據訪問權,以及將所述分類與可應用于所述數據的訪問權進行比較以便控制所述用戶訪問。
108.如權利要求107所述的產品,其中,在包括至少第一和第二組織的一組自主組織中,分布所述不同數據源,以及其中,所述指令使所述計算機根據所述用戶的組織關系,對所述用戶進行分類,以便控制所述第一組織中的用戶訪問由所述第二組織保存的所述數據源。
109.如權利要求106-108的任何一個所述的產品,其中,述指令使所述計算機從用戶接收對訪問所述數據源中的數據的查詢,以通過響應所述本體,選擇一個或多個數據源,確定用于響應所述查詢的查詢計劃,以便所述訪問權允許所述用戶訪問一個或多個所述數據源中的數據,以及根據所述查詢計劃,生成對所述查詢的響應。
110.一種計算機軟件產品,包括存儲程序指令的計算機可讀介質,所述指令當由所述計算機讀取時,使所述計算機接收提供對數據的訪問的一組數據資源的定義,以及收集有關所述數據資源的拓撲結構和性能特性的信息,以及在從用戶接收有關所述數據的查詢后,使所述計算機響應所述查詢和有關所述拓撲結構和性能特性的信息,來確定查詢計劃,以及根據所述查詢計劃,生成對所述查詢的響應。
111.如權利要求110所述的產品,其中,所述指令使所述計算機接收兩個或多個數據資源的各自的負載水平的度量,以及選擇所述數據資源中的一個以便平衡所述負載水平。
112.如權利要求110或111所述的產品,其中,所述數據資源被分布在包括至少第一組織和第二組織的一組自主組織中,其中,提交所述查詢的所述用戶屬于所述第一組織,以及其中,所述指令使所述計算機響應所述性能特性,選擇用在響應所述查詢中的所述第二組織的數據資源中的一個。
113.一種計算機軟件產品,包括存儲程序指令的計算機可讀介質,所述指令當由被鏈接以在物理公用網上通信的包括至少第一和第二節點的一群計算節點讀取時,使所述計算節點根據響應所述信息的本體而定義的語義通信模型,通過在物理公用網上交換數據分組,而在虛擬專用網中通信,其中,所述第二節點在從第一節點接收到所述虛擬專用網上的數據分組后,所述指令使至少所述第二節點根據語義通信模型過濾所述數據分組,以便校驗所述數據分組是合法的。
114.如權利要求113所述的產品,其中,所述語義通信模型定義可以由所述虛擬專用網中的數據分組攜載的一組封閉的語義消息。
115.如權利要求113所述的產品,其中,所述節點分布在一組自主組織中。
116.如權利要求113-115的任何一個所述的產品,其中,所述節點包括網關節點,其中,所述指令使所述網關節點使用本機數據格式,與客戶機和數據源通信,以及將本機數據格式轉換成語義通信模型,用于在所述虛擬專用網上通信。
117.如權利要求116所述的產品,其中,所述節點還包括集線器節點,其中,所述指令使所述網關節點使用所述語義通信模型,與所述集線器節點通信。
全文摘要
用于數據訪問的方法包括定義應用于包括具有預定義的語義的數據的一組不同的數據源(58)的本體,以及將本體與可應用于數據源中的數據的語義的一個或多個邏輯規則關聯。在從用戶接收有關數據的查詢后,通過響應本體,選擇一個或多個數據源,以及通過響應可應用邏輯規則,識別將應用于數據的操作,確定用于響應查詢的查詢計劃。然后,根據查詢計劃,生成對查詢的響應。
文檔編號G06FGK1856790SQ200480027400
公開日2006年11月1日 申請日期2004年7月22日 優先權日2003年7月22日
發明者澤夫·托萊達諾, 亞伊爾·耶胡達 申請人:基諾技術公司