本文將簡要介紹 Globus Monitoring 和 Discovery Service(MDS)。本文討論了構(gòu)成 MDS 的組件,并介紹了在網(wǎng)格環(huán)境中其他服務(wù)通常是如何與 MDS 進(jìn)行交互的。在閱讀本文之后,您應(yīng)該可以配置 Globus MDS 并注冊服務(wù),以及 為 MDS 配置其他信息提供者。您將學(xué)習(xí)如何組織信息并按照 MDS 的層次結(jié)構(gòu)來配置多個 Index Services,從而構(gòu)成網(wǎng)格的 Index Service。
Globus Monitoring 和 Discovery Service
Globus Monitoring 和 Discovery System(MDS)是一組 Web 服務(wù),用來監(jiān)視和發(fā)現(xiàn)網(wǎng)格中的可用資源和服務(wù)。顧名思義,人們通常會認(rèn)為資源發(fā)現(xiàn)的過程就是發(fā)現(xiàn)新的資源。然而,在網(wǎng)格環(huán)境中,資源發(fā)現(xiàn)是確定哪些網(wǎng)格資源最適合完成某個任務(wù)的過程,要求時間最短,利用資源的效率最高。這個過程是從識別可以滿足或超過當(dāng)前作業(yè)需求的資源開始的。這通常是可用資源的某個子集。
接下來,我們需要通過選擇最適合的資源來細(xì)化這個清單。這個選擇過程需要靜態(tài)和動態(tài)的信息。通常,靜態(tài)信息(例如 CPU 數(shù)量、時鐘速度、物理內(nèi)存總量、虛擬內(nèi)存以及可用磁盤空間)可以幫助確定哪些資源能夠滿足或超過任務(wù)的需求。在細(xì)化這個清單時,也要考慮一些動態(tài)信息。動態(tài)信息包括可用 CPU 的個數(shù),隊列中等待執(zhí)行的作業(yè)個數(shù),當(dāng)前資源的利用率。現(xiàn)在這已經(jīng)成為一個調(diào)度問題,必須考慮業(yè)務(wù)策略、優(yōu)先級和服務(wù)級別協(xié)定(SLA)。
調(diào)度并不是本文的重點,因此讓我們保留整個主題改天再來討論。Globus MDS 提供了有關(guān)資源的信息,這樣就可以制定智能的調(diào)度決策,從而最好且最有效地利用可用資源。MDS 也可以監(jiān)視資源,在狀態(tài)發(fā)生變化時通知感興趣的團(tuán)體,并根據(jù)預(yù)先定義的條件采取行動。
Index 和 Trigger Service
我們對 MDS 所搜集到的有關(guān)資源的狀態(tài)進(jìn)行監(jiān)視。搜集這些信息的 MDS 服務(wù)稱為 Index Service。MDS Index Service 的工作方式與注冊表非常相似。它搜集信息,然后將其作為資源屬性發(fā)布。它通過一個 Web 服務(wù)接口將所搜集的信息提供給客戶機(jī)。客戶機(jī)可以向 MDS 查詢信息,或者訂閱所感興趣的資源屬性,即表明如果這些屬性的值發(fā)生了變化,它們非常樂于被及時通知。這些信息代表了資源屬性的配置和狀態(tài)。Globus MDS 可以監(jiān)視資源,并跟蹤所選擇的資源屬性。它可以通知訂閱者屬性值發(fā)生了變化。
這種功能是由另外一個名為 Trigger Service 的 MDS 服務(wù)提供的。它與 MDS Index Service 類似,都要從資源中搜集數(shù)據(jù),但是它同時還要對所搜集的數(shù)據(jù)進(jìn)行監(jiān)視,這樣就可以在數(shù)據(jù)到達(dá)某個極限值時執(zhí)行某些預(yù)定的操作。Trigger Service 的配置就是訂閱某些屬性,并指定當(dāng)某個屬性值達(dá)到某個預(yù)定的極限時應(yīng)該采取什么操作。要采取的操作可以非常復(fù)雜,例如當(dāng)利用率太高時提供更多資源;也可以非常簡單,例如通知系統(tǒng)管理員某個文件系統(tǒng)已經(jīng)滿了。MDS Trigger Service 通過 Web 服務(wù)提供此功能。客戶機(jī)使用這個 Web 服務(wù)來注冊觸發(fā)器事件。為了進(jìn)行注冊,客戶機(jī)要提供程序的名字、一個 XPath 查詢表達(dá)式以及一個值。當(dāng) XPath 查詢所返回的值等于注冊時所提供的值時,就運(yùn)行這個程序。MDS Trigger Service 通過對所搜集到的信息和在 MDS Trigger Service 注冊和配置文件中所指定的條件進(jìn)行比較,來提供這種功能。
位置 1. Trigger Service 注冊和配置文件的位置
$GLOBUS_LOCATION/etc/globus_wsrf_mds_trigger/trigger_registration_aggregation.xml
|
這個配置文件使用 XPath 查詢表達(dá)式的格式定義了一些規(guī)則。每個規(guī)則都有一個當(dāng)滿足該條規(guī)則時所要執(zhí)行的操作,以及該操作重復(fù)的頻率。下面這個例子實現(xiàn)了觸發(fā)器規(guī)則、相關(guān)操作以及頻率的語法,這些都是在前面的觸發(fā)器注冊和配置文件中指定的。
清單 1. Trigger Service 注冊的例子
<trigger:TriggerRuleType>
<trigger:matchingRule>//*[local-name()='GLUECE']</trigger:matchingRule>
<trigger:actionScript>glue-trigger-action.sh</trigger:actionScript>
<trigger:minimumFiringInterval>600</trigger:minimumFiringInterval>
</trigger:TriggerRuleType>
|
MDS Aggregation Framework
MDS Index 和 Trigger Service 都是在 MDS Aggregation Framework 之上構(gòu)建的。MDS Aggregation Framework 用來構(gòu)造搜集和聚集數(shù)據(jù)的高層服務(wù)。這些聚集器服務(wù)將從各種資源搜集來的信息匯集到一個集中的位置。這個概念的范圍很廣,從在某個容器中運(yùn)行的所有服務(wù)的集中注冊表,到一個網(wǎng)格范圍的 Index Service,這可以通過配置 Index Service 與其他 Index Service 一起來存放內(nèi)容。Index Service 可以按照一種層次化的方式進(jìn)行配置,上層可以從底層的 Index Service 中提取信息。上層 Index Service 可以當(dāng)作是這個層次中的上游資源,底層 Index Service 可以當(dāng)作是下游資源。Index Service 在這個層次中的位置是在層次配置文件中使用上游和下游服務(wù)這兩個術(shù)語進(jìn)行定義的。
位置 2. MDS 層次文件的位置
$GLOBUS_LOCATION/etc/globus_wsrf_mds_index/hierarchy.xml
|
這個層次文件指定了上游和下游 Index Service 的 URL。下面這個樣例聲明中包括了主機(jī)名、端口和默認(rèn)的 Index Service 的標(biāo)識。清單 2 顯示了 Globus Toolkit 4 測試環(huán)境中上游和下游服務(wù)的聲明。
清單 2. 上游和下游服務(wù)聲明的例子
<upstream>https://gt4-primary:8443/wsrf/
services/DefaultIndexService</upstream>
...
<downstream>https://gt4-secondary:8443/wsrf/
services/DefaultIndexService</downstream>
|
MDS 資源屬性
正如前面介紹的,用戶可以向 Globus MDS 查詢資源的屬性。這些資源屬性代表了資源的配置和狀態(tài)。我們可以為永久資源和臨時資源維護(hù)一些屬性。Globus MDS 中的信息通過為資源數(shù)據(jù)關(guān)聯(lián)一個超時時間來保證其反映最新情況。這個值被稱為生命周期。MDS Index Service 中保存的所有服務(wù)都有一個相關(guān)的生命周期。如果在這個生命周期指定的時間內(nèi)沒有更新,數(shù)據(jù)就過期了。這種方法可以通過只在相關(guān)的資源屬性進(jìn)行更新時維護(hù)這些資源的配置和狀態(tài),從而對臨時資源進(jìn)行處理。當(dāng)資源不再可用時,資源屬性就不會更新了,這些信息就會超時并被刪除。
MDS 資源特性
Globus MDS Index Service 信息是作為一組 Web Services Resource Framework(WSRF)資源屬性進(jìn)行維護(hù)的。客戶機(jī)可以使用 WSRF get-property
和 WS-Notification subscribe
操作來查詢信息或在信息發(fā)生變化時收到通知。這些信息也可以使用命令行工具 wsrf-get-property
或 wsrf-query
進(jìn)行查詢。Globus MDS Index Service 通過用 XML 格式提供所請求的信息來對查詢進(jìn)行響應(yīng)。下面這個例子執(zhí)行了一個通用的 DefaultIndexService 查詢。–a
選項指定可以進(jìn)行匿名驗證,–s
選項指定了服務(wù)的 URL,–z
選項定義了驗證類型可以是自己、主機(jī)或 none。請參閱 清單 3。
XPath 查詢
查詢可能會產(chǎn)生非常大的 XML 文檔。XPath 可以用來幫助定位 XML 中的不同部分。下面讓我們來看幾個例子,以此展示怎樣擴(kuò)充簡單查詢來搜集更詳細(xì)的信息。下面這個例子可以通過統(tǒng)計那些屬性匹配 FreeCPU 狀態(tài)的 ComputingElements,來查詢空閑 CPU 的個數(shù)。
清單 4. 一個查詢空閑 CPU 的 wsrf 查詢
[globust@gt4-test sbin]$ wsrf-query -a -z none -s
https://127.0.0.1:8443/wsrf/services/DefaultIndexService
"count(//*[local-name()='GLUECE']/glue:
ComputingElement/ glue:State/@glue:FreeCPUs)"
2
|
利用前面的例子,下面這個查詢展示了一個布爾檢查,看是否有指定個數(shù)的 CPU 可用。請參閱 清單 5。
監(jiān)視服務(wù)
我們已經(jīng)討論了上面這些物理資源的概念,但是 MDS 還要監(jiān)視服務(wù)的配置和狀態(tài)信息。MDS Index Service 會搜集有關(guān)容器上運(yùn)行的其他服務(wù)的信息。服務(wù)指定了在 Aggregation Service 注冊信息時,要將哪些信息保存在 MDS 中。我們稍后會討論 Aggregation Service,但是首先介紹一下服務(wù)注冊這個主題。
服務(wù)可以使用 mds-servicegroup-add
命令進(jìn)行注冊。每個注冊后的服務(wù)都有一個類似于前面介紹過的生命周期屬性的生命周期。如果某個服務(wù)的注冊項在一段指定的生命周期中沒有更新,就會過期。更新生命周期的一種方法是在后臺運(yùn)行 mds-servicegroup-add
命令,這樣它就可以持續(xù)在 MDS 中更新服務(wù)注冊項并刷新服務(wù)的生命周期了。
MDS Aggregation Service 從所有的已注冊服務(wù)中搜集信息,并通過一個 Web 服務(wù)接口將這些服務(wù)信息提供給客戶機(jī)。Globus Toolkit 發(fā)行版本中提供了一個簡單的例子來展示如何在 MDS Aggregation Service 中注冊服務(wù)。這個例子使用了下面這個位置上的服務(wù)注冊定義文件。
位置 3. MDS 聚集注冊文件的位置
$GLOBUS_LOCATION/etc/globus_wsrf_mds_
aggregator/example-aggregator-registration.xml
|
這個樣例聚集文件定義了服務(wù)的注冊表。每個注冊項都定義了一個網(wǎng)格資源、該資源應(yīng)該注冊的服務(wù)組以及服務(wù)配置參數(shù)。這個文件可以與 mds-servicegroup-add
命令一起維護(hù)網(wǎng)格資源與 Index Service 之間的注冊。這個文件定義了 Index Service 的位置,它被稱為默認(rèn)的 Service Group End Point Reference。
清單 6. Index Service URL 被定義為默認(rèn)的 Service Group End Point Reference
<defaultServiceGroupEPR>
<wsa:Address>https://gt4-test.tacc.utexas.edu:8443/
wsrf/services/DefaultIndexService</wsa:Address>
</defaultServiceGroupEPR>
|
example-aggregator-registration 文件中包含了 GRAM 和 RFT 服務(wù)的樣例注冊項。在 ServiceGroupRegistrationParameter 塊中定義的每個資源都要在 Index Service 中進(jìn)行注冊。 清單 7 顯示了一個 GRAM 和 RFT Service 注冊項的例子。
MDS Aggregation Service 也可以對外部信息源的信息進(jìn)行聚合。這些信息源可以代表本地服務(wù)可能需要的遠(yuǎn)程資源。本地服務(wù)可以查詢 MDS Index Service 來定位遠(yuǎn)程資源,并確定這些資源的狀態(tài)。舉例來說,下面這個例子就展示了將 Hawkeye 在默認(rèn)的服務(wù)組中注冊為一個信息源。Hawkeye 是一個外部信息源的例子。它使用 Condor 技術(shù)(例如 ClassAds)來搜集和存儲有關(guān) Condor 池中的資源的信息。清單 8 顯示了如何注冊 Hawkeye,這樣就可以通過 Index Service 來使用有關(guān) Condor 的信息了。
清單 8. 聚集服務(wù)組的例子
<ServiceGroupRegistrationParameters
xmlns="http://mds.globus.org/servicegroup/client" >
<RegistrantEPR `
xmlns:agg="http://mds.globus.org/aggregator/types"
xmlns:gram="http://www.globus.org/namespaces/2004/10/gram/job"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
<wsa:Address>
https://gt4-test:8443/wsrf/services/mds/test/subsource/IndexServiceEntry
</wsa:Address>
<wsa:ReferenceProperties>
<gram:ResourceID>Hawkeye</gram:ResourceID>
</wsa:ReferenceProperties>
</RegistrantEPR>
<RefreshIntervalSecs>600</RefreshIntervalSecs>
<Content xsi:type="agg:AggregatorContent"
xmlns:agg="http://mds.globus.org/aggregator/types">
<agg:AggregatorConfig xsi:type="agg:AggregatorConfig">
<agg:ExecutionPollType>
<agg:PollIntervalMillis>60000</agg:PollIntervalMillis>
<agg:ProbeName>globus-mds-cluster-hawkeye</agg:ProbeName>
</agg:ExecutionPollType>
</agg:AggregatorConfig>
<agg:AggregatorData/>
</Content>
</ServiceGroupRegistrationParameters>
|
當(dāng)服務(wù)進(jìn)行注冊時,它們可以提供搜集服務(wù)信息的程序名。這個程序稱為執(zhí)行聚集器,在清單 8 中是使用 ProbeName
的形式指定的。MDS Aggregator Service 可以查詢資源屬性信息,也可以訂閱資源屬性信息,這樣就可以推動后續(xù)的更新了。要注冊服務(wù),可以使用位置 3 所給出的 example-aggregator-registration 文件作為 mds-servicegroup-add
命令的參數(shù)。下面這個例子展示了使用 mds-servicegroup-add
命令來注冊默認(rèn)的 example-aggregator-registration.xml 文件中所定義的服務(wù)。–s
參數(shù)告訴 MDS 這些服務(wù)應(yīng)該要進(jìn)行注冊。請參閱 清單 9。
可以使用 wsrf-query
命令驗證服務(wù)是否成功注冊。下面這個例子顯示了一個 ContainerRegistryService 查詢,用來獲得容器中正在運(yùn)行的服務(wù)的地址。要在另外一個環(huán)境中使用這個查詢,請?zhí)鎿Q URL 的主機(jī)名部分。
清單 10. 使用 wsrf-query 命令查詢注冊表地址的例子
wsrf-query -s https://gt4-test.tacc.utexas.edu:8443/wsrf/
services/ContainerRegistryService
"/*/*/*/*[local-name()='Address']"
|
MDS 聚集類型
我們已經(jīng)介紹過 Web 服務(wù)會發(fā)布資源屬性。一個服務(wù)應(yīng)該注冊的最小資源屬性集包括服務(wù)名、服務(wù)的版本號以及這個服務(wù)是何時啟動的。有些服務(wù)(例如 GRAM 或 RFT)會發(fā)布其他信息或更詳細(xì)的信息。MDS 中的信息是使用 3 個聚集器源(Aggregator Source)進(jìn)行搜集的。這 3 個聚集源是 Query Aggregator、Subscription Aggregator 和 Execution Aggregator。
前面用來展示服務(wù)組注冊的那個例子就是一個 Execution Aggregator。Query Aggregation Source 會對注冊的服務(wù)進(jìn)行挑選來產(chǎn)生信息。Subscription Aggregation Source 訂閱服務(wù)數(shù)據(jù),這樣在服務(wù)數(shù)據(jù)值發(fā)生變化時,就可以接收到通知。Execution Aggregation Source 運(yùn)行一個程序來搜集信息。發(fā)布資源屬性或用來搜集服務(wù)數(shù)據(jù)的程序有時稱為信息提供者(Informational Providers)。GRAM 就是一個信息提供者,因為它會發(fā)布有關(guān)網(wǎng)格資源的 CPU 和內(nèi)存信息,以及與作業(yè)隊列和所提交的作業(yè)有關(guān)的調(diào)度器信息。類似地,可靠文件傳輸服務(wù)(RFT)也是一個信息提供者,它發(fā)布的是有關(guān)傳輸器和服務(wù)器的狀態(tài)信息。除了這些信息提供者(它們都是 Globus 發(fā)行版中的一部分)之外,MDS 還可以與其他外部信息提供者進(jìn)行集成,例如 Ganglia 和 Hawkeye。
Ganglia 是一個分布式的監(jiān)視系統(tǒng),主要用來監(jiān)視高性能系統(tǒng),例如集群。Hawkeye 是一個監(jiān)視系統(tǒng),它使用 Condor 工具和 ClassAd 機(jī)制來收集有關(guān)分布式資源的信息。Ganglia 和 Hawkeye 使用 GLUE 模式的 CML 映射來搜集資源信息,并將這些信息發(fā)送到一個 GRAM 服務(wù),這些信息將在這個服務(wù)中作為資源屬性發(fā)布。Ganglia 信息包括主機(jī)屬性,例如主機(jī)名、處理器、內(nèi)存、操作系統(tǒng)以及文件系統(tǒng),還有負(fù)載信息。如果在 gluerp XML 文件中定義并配置了適當(dāng)?shù)男畔⑻峁┱撸琈DS 就可以匯集 Hawkeye 或 Ganglia 的信息。
位置 4. GLUE 資源提供者的位置
$GLOBUS_LOCATION/etc/globus_wsrf_mds_
aggregator/example-aggregator-registration.xml
|
Globus 默認(rèn)的配置說明沒有信息提供者。要指定 Hawkeye 或 Ganglia 作為信息提供者,請修改 gluerp.xml 文件中的適當(dāng)項,這個文件位于 Globus 安裝目錄中的 etc/globus_wsrf_mds/usefulrp 目錄中。下面這個例子展示了指定 Hawkeye 作為信息提供者的正確定義。后面的例子將展示如何配置 Ganglia 作為信息提供者。
清單 11. 信息提供者注冊項
<config xmlns="http://mds.globus.org/2004/10/gluerp-config">
<defaultProvider>shell /usr/local/globus/globus-4.0.0/
libexec/globus-mds-cluster-hawkeye </defaultProvider>
</config>
...
<config xmlns="http://mds.globus.org/2004/10/gluerp-config">
<defaultProvider>java org.globus.mds.usefulrp.glue.
GangliaElementProducer</defaultProvider>
</config>
|
webMDS
我們在前面已經(jīng)看到可以使用 wsrf-query
命令來查詢 MDS 信息。實際上,MDS 信息也可以使用 webMDS 進(jìn)行查看。webMDS 是一個用來查看 MDS 中所包含的資源屬性信息的前端。webMDS 是一個 servlet,它可以查詢 Globus MDS Index Service,并使用 XSLT 轉(zhuǎn)換對數(shù)據(jù)進(jìn)行格式化,從而可以很好地在 Web 瀏覽器中顯示。
Web 管理員可以使用 HTML 表單選項定制 webMDS。他們可以配置不同的插件來搜集數(shù)據(jù),并使用 XSLT 轉(zhuǎn)換對這些數(shù)據(jù)進(jìn)行格式化,從而創(chuàng)建自己的定制視圖。webMDS 可以配置為從 MDS 中的各種源搜集信息,并使用 XSL 轉(zhuǎn)換對這些信息進(jìn)行過濾。如果 Globus Toolkit 是使用默認(rèn)配置安裝的,那么 webMDS 就可以查詢 MDS Index Service,而不用修改任何配置。我們測試環(huán)境中使用的 webMDS URL 如清單 12 所示。要在另外的環(huán)境中使用 webMDS,請使用您自己的主機(jī)名替換其主機(jī)名部分,如果您不是在默認(rèn)端口上運(yùn)行容器的,還需要修改端口號。
清單 12. webMDS URL
http://gt4-test.tacc.utexas.edu:9080/webmds
|
可以通過編輯下面的 indexinfo 文件并修改默認(rèn)的 URL 來改變 webMDS URL :
位置 5. MDS 聚集注冊文件的位置
$GLOBUS_LOCATION/lib/webmds/conf/indexinfo
|
要部署 webMDS,首先為 Globus (GLOBUS_LOCATION)
和 Tomcat (CATALINA_HOME)
設(shè)置環(huán)境變量,然后使用下面的命令為 Tomcat 創(chuàng)建一個 context 文件:
清單 13. 創(chuàng)建 webMDS context 文件
$GLOBUS_LOCATION/lib/webmds/bin/webmds-create-contex-file
\ $CATALINA_HOME/conf/Catalina/localhost
|
在成功運(yùn)行這個命令創(chuàng)建 context 文件之后,請重新啟動 Tomcat,以便使用新的配置信息。重新啟動 Tomcat 可以使用下面的命令:
清單 14. 重啟 Tomcat 容器
$CATALINA_HOME/bin/shutdown.sh
…
$CATALINA_HOME/bin/startup.sh
|
重啟 Tomcat 容器之后,可以在瀏覽器的地址欄中鍵入 webMDS 的 URL(請參閱清單 12)來訪問 webMDS。這個 URL 中需要替換上您安裝使用的主機(jī)名和端口號。注意,這是 Tomcat 中運(yùn)行 webMDS 的 URL,而不是在 Globus 容器中運(yùn)行的 MDS 服務(wù)的 URL。
這個樣例表單是由 Globus 發(fā)行版提供的,用來展示 webMDS 的功能。也可以使用模板來創(chuàng)建新的定制請求。
通過 webMDS 來查詢 Index Service 可以顯示在 Index Service 中注冊的資源。每個服務(wù)都提供了一種資源類型、惟一標(biāo)識符和一個鏈接(指向更詳細(xì)的信息)。選擇資源項可以產(chǎn)生有關(guān)資源的詳細(xì)信息。我們已經(jīng)介紹過 GRAM 和 RFT 服務(wù)都在 Index Service 中進(jìn)行了注冊。圖 1 是一個顯示與 RFT 服務(wù)有關(guān)的詳細(xì)信息的例子。
圖 1. RFT 服務(wù)的 webMDS 信息
如果 GRAM 配置用來與資源管理器一起使用,例如 LSF、PBS 或 Condor,那么每個資源都會存在這樣一個注冊項。
圖 2 和圖 3 顯示了與 LSF 服務(wù)有關(guān)的詳細(xì)信息。
圖 2. globus-mds-LSF 例子 1
圖 3. globus-mds-LSF 例子 2
圖 4 顯示了與 Condor 服務(wù)有關(guān)的詳細(xì)信息。
圖 4. globus-mds-condor_cluster 例子
webMDS 是 MDS Index Service 的一個簡單易用的接口。我們在前面已經(jīng)展示了 mds-servicegroup-add
命令可以用來在 MDS 中注冊服務(wù),聚集源可以配置為對來自服務(wù)和外部信息提供者的信息進(jìn)行匯集。這些信息提供者運(yùn)行了一個程序來搜集信息,它們都是 Execution Aggregators。這很容易展示,可以手工運(yùn)行信息提供者,并驗證這些信息和格式與通過 webMDS 所提供的信息和格式完全相同。下面這個例子顯示了 Hawkeye 信息提供者的情況,這是由清單 8 中下面這一行定義的:
<agg:ProbeName>globus-mds-cluster-hawkeye</agg:ProbeName>
|
請參見 清單 15。
結(jié)束語
我們首先概要介紹了 Globus MDS,然后了解了某些底層服務(wù)的詳細(xì)知識。Index Service 是一個注冊表,負(fù)責(zé)搜集信息并以資源屬性的形式來發(fā)布這些信息。Trigger Service 使客戶機(jī)可以訂閱資源屬性,并在數(shù)據(jù)達(dá)到某個極限值時執(zhí)行預(yù)定義的操作。這些服務(wù)都是構(gòu)建在 Aggregation Service 之上的,后者也可以對來自外部信息源的信息進(jìn)行聚集。這些信息可以匯集到一個集成的注冊表中,稱為網(wǎng)格 Index Service。Index Service 以編程方式向客戶機(jī)提供了資源屬性信息,這可以通過 Web 服務(wù)、命令行接口或瀏覽器來接收。