欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

在目錄服務(wù)中的動(dòng)態(tài)拓?fù)涓淖兊淖詣?dòng)發(fā)現(xiàn)和重新配置的制作方法

文檔序號(hào):6456643閱讀:151來(lái)源:國(guó)知局

專利名稱::在目錄服務(wù)中的動(dòng)態(tài)拓?fù)涓淖兊淖詣?dòng)發(fā)現(xiàn)和重新配置的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種方法、代理服務(wù)器以及代理目錄系統(tǒng),其用于使用代理的分布式目錄。
背景技術(shù)
:目錄是為讀取訪問(wèn)而優(yōu)化的專用數(shù)據(jù)庫(kù),其具有存儲(chǔ)關(guān)于異源的真實(shí)世界實(shí)體(如人、資源、策略、服務(wù)、應(yīng)用等)的信息的能力,在單個(gè)實(shí)例中使得它們成為企業(yè)的安全和身份管理框架的關(guān)鍵組分。典型地,目錄由條目的目錄信息樹(DIT)構(gòu)成。例如,訪問(wèn)因特網(wǎng)上的目錄的標(biāo)準(zhǔn)方式是LDAP(輕量級(jí)目錄訪問(wèn)協(xié)議(v3):技術(shù)規(guī)范,RFC3377。http:〃www.ietf.org/rfc/rfc3377.txt),其允許在多個(gè)月i務(wù)器上分布DIT。LDAP支持對(duì)使用轉(zhuǎn)介(referral)機(jī)制的目錄操作的分布式處理。每個(gè)服務(wù)器包含被稱作命名上下文的條目的子樹、以及至包含相關(guān)上下文的其他服務(wù)器的引用。當(dāng)客戶端請(qǐng)求不能被服務(wù)器完全響應(yīng)時(shí),該服務(wù)器返回對(duì)另一服務(wù)器的轉(zhuǎn)介至該客戶端。其缺點(diǎn)是在顯著程度上減慢了操作處理。La4尸協(xié)議和乂力分布式目錄的支持LDAP是通過(guò)TCP/IP訪問(wèn)符合X.500信息模型的目錄的標(biāo)準(zhǔn)手段。LDAPv3(如由RFC2251、2252(http:〃www.ietf.org/rfc/rfc2251.txt和http:〃www.ietf.org/rfc/rfc2252.txt)定義的)規(guī)定了除了用于訪問(wèn)目錄的功能模型之外的信息、命名和安全模型。LDAP信息和命名模型LDAP假設(shè)一個(gè)或多個(gè)服務(wù)器的存在,所述一個(gè)或多個(gè)服務(wù)器聯(lián)合提供對(duì)由條目(entry)組成的D/r的訪問(wèn)。奈舒被定義為一組具有所需的對(duì)象類別屬性的屬性值對(duì),所述對(duì)象種類屬性確定其強(qiáng)制和可選的屬性。每個(gè)條目具有屬于分層命名空間的區(qū)別名^(DN)。DIT的根具有"空,,DN。圖l示出了示例目錄樹10,并具有inetOrgPerson[RFC2798]條目。每個(gè)節(jié)點(diǎn)(表示為圓圈)以其相對(duì)DN(RDN)命名。通過(guò)將其RDN作為前綴添加到其父DN之前,來(lái)構(gòu)建條目的DN。功能模型LDAP采用的功能模型[RFC2251]是執(zhí)行針對(duì)服務(wù)器的協(xié)議操作的客戶端之一。LDAP定義了三種操作查詢操作(如搜索、比較)、更新操作(如添加、修政、娜餘、修政ZW(條目移動(dòng)))以及連接/斷開連接操作(如摔定、解餘鄰定、丟弄)。添加和娜除操作用于向/從目錄添加/刪除各個(gè)條目。修政才乘作可用于添加、刪除或替換條目的一個(gè)或多個(gè)屬性的一個(gè)或多個(gè)值。由于為讀取訪問(wèn)優(yōu)化目錄,所以,最普通的LDAP操作是嫂索,其提供從目錄訪問(wèn)信息的靈活手段。LDAP搜索操作(還被稱作查詢)由下列表示與查詢相關(guān)聯(lián)的語(yǔ)義信息的參數(shù)組成(O羞Uose):定義DIT中的搜索的起始點(diǎn)的DN,(〃)范閨{BASE,SINGLELEVEL,SUBTREE}指定在DIT內(nèi)從基搜索多深,(///)過(guò)濾器(/ter義使用標(biāo)準(zhǔn)運(yùn)算符AND(&)、OR(I)和NOT(!)的7'眾河的布爾組合,其指定搜索準(zhǔn)則,(/v)厲#:來(lái)自匹配過(guò)濾器的條目的一組所需屬性。特殊值"*"對(duì)應(yīng)于選擇所有屬性。目錄中的每個(gè)條目屬于至少一個(gè)(對(duì)象)類別,從而過(guò)濾器(objectclass=*)匹配目錄中的所有條目。使用RFC2254[3]的括弧前綴符號(hào)(例如(&(sn=Doe)(givenName=John)))來(lái)表示LDAP過(guò)濾器。謂詞的示例是(sn=Doe)、(age>30)、(sn=sm"h*),其中,"Doe"、"30"和"sm他"是分別表示等同(equality)、范圍和子串?dāng)嘌缘臄嘌?assertion)值。分布式目錄模型LDAP支持將目錄劃分到多個(gè)服務(wù)器中,并且每個(gè)服務(wù)器持有一個(gè)或多個(gè)命名上下文。命名上下文是根在^f皮稱為其后綴的條目、并由葉條目或特殊轉(zhuǎn)介對(duì)象終止的子樹,轉(zhuǎn)介對(duì)象指向持有其它從屬(subordinate)命名上下文的服務(wù)器。除了這些向下指向DIT的從屬轉(zhuǎn)介之外,還通過(guò)上級(jí)(superior)(或默認(rèn))轉(zhuǎn)介來(lái)配置服務(wù)器,該轉(zhuǎn)介在DIT中向上指向(pointupward)更接近于DIT根的服務(wù)器。當(dāng)相遇(encountered)時(shí),轉(zhuǎn)介對(duì)象用于生成針對(duì)客戶端的轉(zhuǎn)介消息。轉(zhuǎn)介消息包含形式ldap:〃<host>:<port>/<DN^々LDAPURL,其中,DN是被指向的命名上下文的后綴,并且host是包含命名上下文的服務(wù)器的充分合格的域名或IP地址??蛻舳送ㄟ^(guò)聯(lián)系所引用的(多個(gè))服務(wù)器來(lái)進(jìn)行操作。在可以執(zhí)行任何目錄操作之前,必須定位其目標(biāo)對(duì)象(例如,搜索請(qǐng)求的基)。在分布式目錄中,這被稱作分布式名#游析。通常,分布式名稱解析經(jīng)由默認(rèn)轉(zhuǎn)介而沿DIT向上進(jìn)行,直到遇到根或具有作為目標(biāo)對(duì)象的始祖(ancestor)的后綴的命名上下文為止。此后,分布式名稱解析經(jīng)由從屬轉(zhuǎn)介而沿DIT向下進(jìn)行,直到遇到目標(biāo)對(duì)象位置。一旦已經(jīng)解析了目標(biāo),則在發(fā)現(xiàn)目標(biāo)的服務(wù)器,開始操作評(píng)佐(evaluation)階段。在評(píng)估階段期間遇到從屬轉(zhuǎn)介的子樹范圍的搜索發(fā)送轉(zhuǎn)介消息至客戶端,以進(jìn)行操作。圖2示出了具有共同服務(wù)c^xyz命名空間的三個(gè)服務(wù)器主機(jī)A22、主機(jī)B24和主機(jī)C26的系統(tǒng)20。主機(jī)A22包含具有后綴為o=xyz的單個(gè)命名上下文,并且包含除了在分別由從屬服務(wù)器主機(jī)C26和主機(jī)B24持有的c=in和ou=research、c=us子樹下的條目之外的所有在o=xyz下的條目。客戶端28請(qǐng)求具有基為o=xyz、從主機(jī)B24的子樹搜索。因?yàn)橹鳈C(jī)B24不包含目標(biāo),所以其使用其默認(rèn)轉(zhuǎn)介,將客戶端指向主機(jī)A22??蛻舳?8聯(lián)系包含目標(biāo)對(duì)象的主機(jī)A22。主機(jī)A22執(zhí)行對(duì)其持有的分區(qū)的搜索,并且返回三個(gè)匹配的條目和轉(zhuǎn)介(對(duì)于針對(duì)從屬命名上下文的主機(jī)B24和主機(jī)C26)至客戶端。最后,客戶端28發(fā)送搜索請(qǐng)求(具有修改的基)至返回其余條目的主機(jī)B24和主機(jī)C26。在客戶端與服務(wù)器之間需要四個(gè)往返來(lái)評(píng)估一個(gè)請(qǐng)求。在最差的情況下,在客戶端與服務(wù)器之間交換的消息的總往返數(shù)幾乎為服務(wù)器數(shù)量的兩倍。此示例詳細(xì)說(shuō)明了LDAP中的基于轉(zhuǎn)介的分布式查詢?cè)u(píng)估機(jī)制為什么較慢。其它辨決方案消除轉(zhuǎn)介的一個(gè)方式是^f吏用目錄請(qǐng)求的鏈"l矣,如"X.500ITU-T建議開放系統(tǒng)互連一目錄概念、模型和服務(wù)概述,X.518I9594,第4部分分布式操作的程序"中描述的那樣。在此方法中,不同于將轉(zhuǎn)介發(fā)回至客戶端,服務(wù)器將請(qǐng)求"鏈接"至所引用的服務(wù)器,并且將結(jié)果轉(zhuǎn)發(fā)至客戶端。然而,如果客戶端請(qǐng)求未包含在服務(wù)器中的目標(biāo)條目,則鏈接通常會(huì)無(wú)效。在這種情況下,需要對(duì)條目DN的解析,并且鏈接會(huì)涉及大量服務(wù)器,從而結(jié)果在到達(dá)客戶端之前需要在幾個(gè)服務(wù)器之間流動(dòng)。這導(dǎo)致不必要的服務(wù)器至服務(wù)器通信。消除轉(zhuǎn)介的較好的方式是通過(guò)在分布式目錄的前端具有3錄代理(在下文中稱作"代理")。代理通常位于客戶端與分布式目錄服務(wù)器之間。代理可以用作截取客戶端請(qǐng)求的服務(wù)器,或可以用作用以評(píng)估請(qǐng)求的、對(duì)分布式目錄服務(wù)器的客戶端。代理具有關(guān)于目錄中的命名上下文如何映射到分布式環(huán)境中的服務(wù)器的知識(shí)。通過(guò)此目錄拓樸信息配置的代理隨后可以用于將客戶端操作分配為子操作(如果需要),將請(qǐng)求路由到適當(dāng)?shù)姆?wù)器,并且將綜合結(jié)果發(fā)送至客戶端。當(dāng)前的代理目錄解決方案(例如,開源的OpenLDAP服務(wù)器http:〃www.openldap.org的"代理目錄,,)基于利用拓樸信息來(lái)配置代理。與使用這種在代理處的分區(qū)信息的靜態(tài)配置關(guān)聯(lián)的缺點(diǎn)是,構(gòu)成分布式目錄的每個(gè)服務(wù)器具有其自己的管理接口,其允許在其下添加/移除命名上下文。目錄協(xié)議不提供向客戶端(或者在此情況下,代理)通知更新的支持。另外的缺點(diǎn)是不存在用以對(duì)分布式目錄配置進(jìn)行改變的集中手段。例如,在目錄設(shè)置中的配置改變需要在多個(gè)目錄服務(wù)器處的改變。關(guān)于當(dāng)前的解決方案的另外的缺點(diǎn)是,管理分布式目錄變得日益困難,導(dǎo)致由于代理處的拓樸信息而導(dǎo)致的目錄查詢的不正確評(píng)估。
發(fā)明內(nèi)容本發(fā)明的一個(gè)目標(biāo)是提供一種方法、代理服務(wù)器和代理目錄系統(tǒng),其適配于相關(guān)聯(lián)的分布式目錄中的動(dòng)態(tài)拓樸變化,而無(wú)需任何在提供至客戶端的代理服務(wù)中的中斷。本發(fā)明的另一目標(biāo)是提供一種方法、代理服務(wù)器和代理目錄系統(tǒng),以支持通過(guò)代理服務(wù)器而對(duì)分布式目錄的確定配置特性的集中管理(命名為動(dòng)態(tài)重新配置)本發(fā)明利用以下事實(shí)目錄標(biāo)準(zhǔn)的共同實(shí)施存儲(chǔ)《錄分布信志(如劃分和復(fù)制)作為參與分布式目錄服務(wù)的目錄服務(wù)器中的結(jié)構(gòu)數(shù)據(jù)(即,遵循目錄方案的數(shù)據(jù))。本發(fā)明提供了存儲(chǔ)在代理處的拓樸信息、與實(shí)際的分布式目錄拓樸之間的雙向同步。通過(guò)實(shí)施拓樸發(fā)現(xiàn)和提供一端同步的拓樸適配,實(shí)現(xiàn)關(guān)于拓樸變化的代理的"在線,,行為。另外,可以實(shí)施動(dòng)態(tài)拓樸重新配置,其提供另一方向上的同步。根據(jù)實(shí)施例,代理目錄服務(wù)器被配置為在啟動(dòng)之后并且在接受客戶端請(qǐng)求之前,立即發(fā)現(xiàn)分布式目錄服務(wù)器的拓樸。有利地,不通過(guò)拓樸信息來(lái)配置代理目錄服務(wù)器。相反,通過(guò)至分布式目錄服務(wù)器的每一個(gè)的連接信息來(lái)配置它,其中,期望對(duì)所述分布式目錄服務(wù)器提供代理服務(wù)。在啟動(dòng)之后立即地,所述代理目錄服務(wù)器執(zhí)行某特殊查詢,以從分布式目錄服務(wù)器提取對(duì)應(yīng)于目錄分布信息的結(jié)構(gòu)數(shù)據(jù)。通過(guò)代理服務(wù)器而實(shí)現(xiàn)分布式目錄的動(dòng)態(tài)拓樸重新配置如下通過(guò)目錄更新操作而將在操作期間在代理目錄服務(wù)器上直接對(duì)拓樸信息所進(jìn)行的動(dòng)態(tài)配置改變傳播至分布式目錄服務(wù)器。這些更新操作應(yīng)用于在拓樸發(fā)現(xiàn)階段所發(fā)現(xiàn)的分布式目錄服務(wù)器中的相同結(jié)構(gòu)數(shù)據(jù)。通過(guò)保持對(duì)應(yīng)于特殊請(qǐng)求的代理服務(wù)器的過(guò)濾器與分布式目錄服務(wù)器同步,保持所發(fā)現(xiàn)的拓樸信息為最新。圖1示出了示例的已知LDAP目錄信息樹和相關(guān)條目。圖2示出了用于分布式查詢處理的典型服務(wù)器系統(tǒng)。圖3是代理目錄系統(tǒng)的示意框圖。圖4示出了表示為二叉樹的六個(gè)命名上下文。圖5是可以用于實(shí)施圖1至4的生成器、架構(gòu)和方法的計(jì)算機(jī)系統(tǒng)的示意框圖。具體實(shí)施方式概述圖3示出了代理目錄系統(tǒng)40。系統(tǒng)40首先包括代理目錄服務(wù)器42。代理目錄服務(wù)器42與客戶端服務(wù)器44相連接,并且從客戶端服務(wù)器44接收目錄請(qǐng)求(客戶端請(qǐng)求)。代理目錄服務(wù)器42也連接到分別被標(biāo)識(shí)為主機(jī)1、主機(jī)2和主機(jī)3的多個(gè)目錄服務(wù)器46、48、50。代理目錄服務(wù)器42將客戶端請(qǐng)求路由至適當(dāng)?shù)哪夸浄?wù)器46、48、50。代理目錄服務(wù)器42還包括處理器62和lt據(jù)存儲(chǔ)器64,它們的功能將在下面描述。發(fā)觀每錄拓#代理目錄服務(wù)器42需要下列拓樸信息,以能夠路由客戶端請(qǐng)求(i)命名上下文到服務(wù)器的映射(ii)確定哪些服務(wù)器主控(master)復(fù)制的上下文。代理目錄服務(wù)器42執(zhí)行下列步驟,以將命名上下文映射到服務(wù)器850的連接信息(證明(credential))。在一個(gè)示例中,此信息是URL(LDAPURL)、區(qū)別名稱(DN)和密碼。在啟動(dòng)時(shí),代理目錄服務(wù)器42的處理器62使用連接信息來(lái)連接(使用例如LDAP綁定請(qǐng)求)到目錄服務(wù)器46、48、50。2.如果所有目錄服務(wù)器連接成功,則將布爾本地變量partial—results設(shè)置為FALSE。否則,—將partial—results設(shè)置為TRUE。對(duì)于不能聯(lián)系的目錄服務(wù)器46、48、50的每一個(gè),以預(yù)定義間隔"Tretry—interval"來(lái)發(fā)送i青求,直到達(dá)到被定義為"Tretry—limit"的嘗試限制值為止。3.對(duì)于成功的目錄連接的每一個(gè),代理目錄服務(wù)器42發(fā)送查詢,以獲得在目錄服務(wù)器46、48、50上持有的命名上下文。對(duì)于LDAP目錄,代理目錄月良務(wù)器42可以通過(guò)base:",,,scope:base,filter:(objectclass=*),attrs:{namingcontext}來(lái)發(fā)送LDAP搜索請(qǐng)求。此查詢從子樹的根檢索namingcontext屬性的值。此屬性是多值的,并且其值的示例可以是cn^users、dc=xyz、dc=com以及cn-groups、dc=xyz、dc=com。4.namingcontext屬性的值向代理目錄服務(wù)器42提供在目錄服務(wù)器46、48、50持有的命名上下文的根。然而,因?yàn)槊舷挛脑谄湓谵D(zhuǎn)介條目中終止的情況下可能不是條目的完整子樹。所以,為了檢索轉(zhuǎn)介條目,對(duì)于由目錄服務(wù)器46、48、50返回的命名上下文屬性的每個(gè)值,發(fā)送單獨(dú)的查詢。LDAP查i句base:<namingcontextvalue〉,scope:subtree,filter:(objectclass=referral),attrs:ref可以被用于檢索所有轉(zhuǎn)介URL。5.—旦已經(jīng)完全發(fā)現(xiàn)了在目錄服務(wù)器46、48、50中定X的命名上下文,則使用此信息創(chuàng)建路由表(并存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器64中)。路由表將目錄服務(wù)器46、48、50中的唯一命名上下文映射到包含這些命名上下文的服務(wù)器主機(jī)名稱。命名上下文完全由其根、以及0或更多個(gè)轉(zhuǎn)介來(lái)定義。對(duì)于圖2,命名上下文對(duì)比服務(wù)器的表將如下<table>tableseeoriginaldocumentpage9</column></row><table>c=in,o=xyz主機(jī)C表1在不存在復(fù)制(如上面示例中)的情況下,路由表將具有命名上下文與目錄服務(wù)器之間的一對(duì)一映射。在有復(fù)制的情況下,多個(gè)目錄服務(wù)器(即,服務(wù)器46、48、50)可以包含給定的命名上下文。雖然此表可以用于在代理目錄服務(wù)器42路由只讀的客戶端請(qǐng)求,但是需要用于更新操作的單獨(dú)表,因?yàn)榇吮聿话餍畔ⅰ?.目錄中的復(fù)制單位是命名上下文。典型地,復(fù)制協(xié)定(在目錄服務(wù)器之間)的細(xì)節(jié)被存儲(chǔ)在子條目、或與復(fù)制的命名上下文的根條目相關(guān)聯(lián)的屬性中。可以使用與用于檢索轉(zhuǎn)介的查詢相類似的查詢來(lái)從復(fù)制協(xié)定檢索屬性,所述復(fù)制協(xié)定指定包含命名上下文的目錄服務(wù)器是否為針對(duì)那個(gè)特定命名上下文屬性的主服務(wù)器或從服務(wù)器。7.—旦主/從信息可用,則構(gòu)建新路由表,其將命名上下文映射到"主控"該命名上下文的目錄服務(wù)器46、48、50。可以由代理42使用此表來(lái)路由來(lái)自客戶端44的更新請(qǐng)求。在上文中,連接信息涉及由代理服務(wù)器42(或客戶端)驗(yàn)證和建立與目錄服務(wù)器46、48、50的通信所需的證明(例如,用戶名、密碼或X.509證書)。另一方面,拓樸信息是關(guān)于在多個(gè)服務(wù)器之間如何劃分目錄的知識(shí)。有利地,這里公開的代理目錄服務(wù)器42僅以連接信息來(lái)配置。代理目錄服務(wù)器42通過(guò)查詢分布式目錄服務(wù)器來(lái)發(fā)現(xiàn)拓樸信息,如上面的步驟3、4和6中描述的。示例實(shí)施例提供了在代理目錄服務(wù)器42處的拓樸發(fā)現(xiàn)和同步。拓樸信息是存儲(chǔ)在代理目錄服務(wù)器42處的元信息的示例。因此,代理目錄服務(wù)器的主要功能是路由客戶端請(qǐng)求,從而拓樸信息是唯一考慮的元信息。這配于政茇拓W、代理目錄服務(wù)器42可以使用下列兩個(gè)方法中之一來(lái)適配于改變分布式目錄服務(wù)器46、48、50的拓樸:(i)周期性地發(fā)送拓樸查詢(針對(duì)命名上下文、轉(zhuǎn)介和復(fù)制協(xié)定)至目錄服務(wù)器46、48、50,即,針對(duì)拓樸的改變而輪詢目錄服務(wù)器。(ii)如果目錄服務(wù)器支持持續(xù)模式的查詢(其中,在查詢結(jié)果被發(fā)送之后不關(guān)閉連接,并且隨后在同一連接上發(fā)送對(duì)內(nèi)容的任何變化),那么,使用持續(xù)模式來(lái)執(zhí)行拓樸查詢。在此模式中,目錄服務(wù)器46、48、50將拓樸變化通知代理目錄服務(wù)器42。使用這些模式的任一個(gè),在代理目錄服務(wù)器42處可以檢測(cè)到下列拓樸變化。(i)將命名上下文添加至目錄服務(wù)器(ii)從目錄服務(wù)器刪除命名上下文(iii)在目錄服務(wù)器上修改命名上下文。情況(iii)等效于移除命名上下文并添加另一個(gè)命名上下文,并且將不被分別考慮。添力口命名上下文當(dāng)在目錄服務(wù)器46、48、50添加新命名上下文時(shí),存在三種可能性(i)該命名上下文存在于另一目錄服務(wù)器上(ii)命名上下文的部分均不與現(xiàn)有的命名上下文重疊(iii)命名上下文的某部分與一個(gè)或多個(gè)現(xiàn)有的目錄服務(wù)器重疊。如果在被稱作"rvw的主機(jī)發(fā)現(xiàn)具有作為raw的根DN、以及作為的轉(zhuǎn)介列表的新命名上下文,則可以使用例程ADDCONTEXT(下面給出)來(lái)更新路由信息。"DnForest"是樹的聚集(collection),其中,樹的每個(gè)節(jié)點(diǎn)表示一個(gè)命名上下文。每個(gè)節(jié)點(diǎn)包含下列字段dn:命名上下文的根的區(qū)別名稱ServerList:具有該命名上下文的服務(wù)器的列表Leftchild:指向首個(gè)從屬命名上下文Rightchild:指向同等的命名上下文。圖4示出了表示為二叉樹的六個(gè)命名上下文(由圓圈表示)。節(jié)點(diǎn)的名稱是對(duì)應(yīng)的命名上下文的根。如果leftchild不是NIL,則命名上下文具有一個(gè)或多個(gè)轉(zhuǎn)介。rightchild用于指向轉(zhuǎn)介鏈中的其它轉(zhuǎn)介。例程ADDCONTEXTADDCONTEXT(root,Refs,server,DnForest){1r=head[Refs]2foreachtreeTinDnForest3if(dn[root[T]]==dn[root])4ServerList[root[T]]=(ServeriList[root[T]],server)5break6if(ISSUFFIX(root[T],root))7INSERT(root,root[T],1,server)8while(r!=NIL)9INSERT(r,root[T],0,server)10r=next[r]11return12INITTREE(NewTree)13x=root[NewTree]=root14left[x]=r15ServerList[x]=(ServerList[x],server)16while(r!=NIL)17INSERT(r,NewTree,0,server)18r=next[r]19DnForest=(DnForest,NewTree)說(shuō)明如果x是y的始祖,則ISSUFFIX(x,y)返回TRUE,否則返回FALSE。INITTREE(T):初始化樹。2-11行其在森林(forest)DnForest中的每個(gè)命名上下文樹上循環(huán)。對(duì)于每個(gè)樹T,其確定要被添加的命名上下文的根是否匹配該樹的根、或作為該樹的根的派生(descendants如果是,則其使用函數(shù)INSERT(下面給出)將該命名上下文的根以及其轉(zhuǎn)介插入到T中。12-19行如果未發(fā)現(xiàn)這樣的樹(其中,可以插入命名上下文的根),則創(chuàng)建包含命名上下文的新命名上下文樹NewTree,并且將其添加到樹的列表(DnForest)??紤]下列例程。例程INSERTINSERT(x,y,isroot,server){1if(z=leftchild[y]==NIL)2leftchild[y]=x3INITUST(DesdList)4INITLIST(PeerList)5while(z!=NIL)6if(dn[x]==dn[z])7if(isroot)8ServerList[z]=(ServerList[z],server)9return10if(ISSUFFIX(x,z))11AddztoDesclist12elseif(ISSUFFIX(z,x))13if(!isroot)14ServerList[z]=(ServerList[z],server)15INSERT(x,z,isroot,server)16return17elsePeerList=(PeerList,z)18z=rightchild[z]19leftchild[y]=x20ServerList[x]=(ServerList[y],server)21leftc認(rèn)[x]=head[DescList]22rightchild[x]=head[PeerList]23returny}說(shuō)明INSERT(x,y,isroot,server)在;;下面的子樹中插入節(jié)點(diǎn)x。如果被插入的節(jié)點(diǎn)是命名上下文的才艮,貝'Ji殳置/sraof為TRUE,server是包含該命名上下文的主機(jī)。INITLIST:初始化列表。1-2行如果在y下面不存在節(jié)點(diǎn),則通過(guò)使得x為y的leftchild而將x放置在y下。5-18行通過(guò)y的從屬上下文而迭代(iterate),并且將被添加的節(jié)點(diǎn)與從屬上下文的根比較。6-9行處理當(dāng)被添加的節(jié)點(diǎn)已經(jīng)存在時(shí)的情況(情況1)。在此情況下,如果被添加的節(jié)點(diǎn)是上下文的根,則將包含該命名上下文的服務(wù)器添加到該上下文的ServerList。10-11行處理當(dāng)x是y的從屬上下文的始祖時(shí)的情況(情況2)。12-16行處理當(dāng)x是y的從屬上下文的派生時(shí)的情況(情況3)。這涉及對(duì)INSERT的遞歸調(diào)用。17行處理其余情況(情況4)。對(duì)于情況2和4,19-22行實(shí)際上進(jìn)行節(jié)點(diǎn)插入。移除命名上下文通過(guò)下列例程而執(zhí)行移除命名上下文。例程REMOVECONTEXTREMOVECONTEXT(root,Refs,server,DnForest){R=head[Refs]foreachtreeTinDnForestif(dn[roo柳==dn[root])RemoveserverfromServerList[root[T]]If(length[ServerList[root[T]]==0)root[T]=leftchild[T]breakIf(ISSUFFIX(root[T],root))REMOVE(root,root[T],1,server)while(r!=NIL)REMOVE(r,root[T],0,server)r=next[r]returnREMOVE(x,y,isroot,server){z=leftchild[y]prev=y14while(z!=NIL)if(dn[x]==dn[z])if(isroot)RemoveserverfromServerList[z]if(length[ServerList[z]]==0)if(prev==y)leftchild[prev]=leftchild[z]elserightchild[prev]=leftchild[z]Appendpeersofleftchild[z]topeersofzreturnif(ISSUFFIX(z,x))REMOVE(x,z,isroot,server)returnz=rightchild[z]說(shuō)明例程REMOVECONTEXT和REMOVE類似于ADDCONTEXT和INSERT。除了root、Refs涉及要被移除的命名上下文之外,對(duì)自變量的描述相同。動(dòng),態(tài)拓樸重新配_£可以將在代理目錄服務(wù)器42配置的連接信息存儲(chǔ)為結(jié)構(gòu)數(shù)據(jù),并且可以在操作期間修改其。這允許通過(guò)添加/移除針對(duì)目錄服務(wù)器46、48、50的連接信息而添加/刪除要被代理的新服務(wù)器。代理目錄服務(wù)器42周期性地核查連接信息中的變化,并且連接/重新連接至分布式目錄服務(wù)器46、48、50,其中,已經(jīng)添加/修改了針對(duì)所述分布式目錄服務(wù)器46、48、50的連接信息。除了從代理配置動(dòng)態(tài)添加和移除目錄服務(wù)器46、48、50之外,還可以通過(guò)代理42進(jìn)行分布式目錄中的拓樸改變。如果在分布式目錄服務(wù)器46、48、50中需要拓樸配置改變,則代替手動(dòng)合并多個(gè)目錄服務(wù)器中的變化,可以直接對(duì)存儲(chǔ)在代理目錄服務(wù)器42的拓樸信息進(jìn)行改變。代理目錄服務(wù)器42隨后使用如添加、刪除和修改的更新操作來(lái)對(duì)分布式目錄服務(wù)器處的結(jié)構(gòu)數(shù)據(jù)進(jìn)行相應(yīng)更新。計(jì)算機(jī)乎臺(tái)圖5示出了可用于執(zhí)行這里描述的方法的計(jì)算機(jī)系統(tǒng)100的示意框圖。更具體地,可以提供計(jì)算機(jī)系統(tǒng)100用于執(zhí)行計(jì)算機(jī)軟件,其中,所述計(jì)算機(jī)軟件;陂編程以從程序代碼生成詞素(lexemes)并且在兩個(gè)或多個(gè)代碼體之間生成代碼變化描述。計(jì)算機(jī)軟件在安裝在計(jì)算機(jī)系統(tǒng)100上的例如MSWindows2000、MSWindowsXPTM或Linux的操作系統(tǒng)下執(zhí)行。計(jì)算機(jī)軟件涉及編程的邏輯指令組,其中,可以由計(jì)算機(jī)系統(tǒng)100來(lái)執(zhí)行所述編程的邏輯指令以執(zhí)行由這些指令指定的預(yù)定功能。可以以任何語(yǔ)言、代碼、或符號(hào)來(lái)表達(dá)或記錄計(jì)算機(jī)軟件,所述任何語(yǔ)言、代碼、或符號(hào)包括意圖使得兼容的信息處理系統(tǒng)或直接地或在轉(zhuǎn)換至另一語(yǔ)言、代碼或符號(hào)之后執(zhí)行特定功能的指令組。計(jì)算機(jī)軟件程序包括計(jì)算機(jī)語(yǔ)言的語(yǔ)句。可以使用編譯器將計(jì)算機(jī)程序處理為適于由操作系統(tǒng)執(zhí)行的二進(jìn)制格式。以涉及執(zhí)行上文描述的方法的特定步驟的各種軟件組件或代碼的方式來(lái)對(duì)計(jì)算機(jī)程序編程。計(jì)算機(jī)系統(tǒng)100的組件包括計(jì)算機(jī)120、輸入設(shè)備110、115和視頻顯示器190。計(jì)算機(jī)120包括處理單元140、存儲(chǔ)器單元150、輸入/輸出(I/O)接口160、通信接口165、視頻接口145和存儲(chǔ)設(shè)備155。計(jì)算機(jī)120包括多于一個(gè)的任何前述單元、接口和設(shè)備。處理單元140可以包括一個(gè)或多個(gè)處理器,其執(zhí)行操作系統(tǒng)和在操作系統(tǒng)下運(yùn)行的計(jì)算機(jī)軟件。存儲(chǔ)單元150可以包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、閃存和/或本領(lǐng)域已知的任何其它類型的存儲(chǔ)器,用于在處理單元140的指示下使用。將視頻接口145連接至視頻顯示器190,并且所述視頻接口145提供用于在視頻顯示器190上顯示的信號(hào)。經(jīng)由分別包括鍵盤和鼠標(biāo)的輸入設(shè)備110和115提供用以操作計(jì)算機(jī)120的用戶輸入。存儲(chǔ)設(shè)備155可以包括硬盤驅(qū)動(dòng)器或任何其它合適的非易失性存儲(chǔ)介質(zhì)。將計(jì)算機(jī)120的每個(gè)組件連接至包括數(shù)據(jù)、地址和控制總線的總線130,以允許所述組件經(jīng)由總線130而相互通信??梢允褂弥帘硎緸橐蛱鼐W(wǎng)的網(wǎng)絡(luò)180的通信信道185,經(jīng)由通信接口165將計(jì)算機(jī)系統(tǒng)100連接至一個(gè)或多個(gè)其它類似的計(jì)算機(jī)。-可以提供計(jì)算機(jī)軟件作為計(jì)算機(jī)程序產(chǎn)品,或?qū)⑺鲇?jì)算機(jī)軟件記錄在便攜式存儲(chǔ)介質(zhì)上。在此情況下,可通過(guò)計(jì)算機(jī)系統(tǒng)100從存儲(chǔ)設(shè)備155訪問(wèn)計(jì)算機(jī)軟件程序??勺鳛檫x擇的,可以通過(guò)計(jì)算機(jī)120直接從網(wǎng)絡(luò)180訪問(wèn)計(jì)算機(jī)軟件。在任一情況—下,用戶可以使用鍵盤110和鼠標(biāo)115與計(jì)算機(jī)系統(tǒng)100交互,以對(duì)在計(jì)算機(jī)120上執(zhí)行的編程的計(jì)算機(jī)軟件進(jìn)行操作。為了說(shuō)明性目的已經(jīng)描述了計(jì)算機(jī)系統(tǒng)100。因此,前述描述涉及適于執(zhí)行這之前描述的方法和計(jì)算機(jī)程序產(chǎn)品的、例如個(gè)人計(jì)算機(jī)(PC)的特定類型的計(jì)算機(jī)系統(tǒng)的示例。計(jì)算機(jī)編程領(lǐng)域中的技術(shù)人員將易理解,可以使用計(jì)算機(jī)系統(tǒng)的可作為選擇的配置或類型來(lái)執(zhí)行這之前描述的方面和計(jì)算機(jī)程序產(chǎn)品。在此之前已經(jīng)描述了方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品的實(shí)施例,其涉及標(biāo)準(zhǔn)與用以生成代表變換描述的所采用的程序代碼的比較。前述詳細(xì)說(shuō)明僅提供了示例性實(shí)施例,而非意圖限制本發(fā)明的范圍、適用性或配置。更確切地,使能描述。在不違背本發(fā)明的精神和范疇的情況下,可以對(duì)單元的功能和布置進(jìn)行各種變化,如之后的權(quán)利要求書中提出的。在其中,這里涉及的具體特征、單元和步驟具有本發(fā)明所涉及的本領(lǐng)域中已知的等價(jià)物,這種已知的等價(jià)物被認(rèn)為合并在此,如同單獨(dú)提出的。此外,關(guān)于特定實(shí)施例而涉及的特征、單元和步驟可以隨意地形成任何其它實(shí)施例的部分,除非相反地聲明。權(quán)利要求1.一種用于配置代理目錄服務(wù)器(42)的方法,其中,在啟動(dòng)所述代理目錄服務(wù)器之后、且在所述代理目錄服務(wù)器接收客戶端請(qǐng)求之前,所述代理目錄服務(wù)器立即對(duì)一個(gè)或多個(gè)分布式目錄服務(wù)器(46、48、50)進(jìn)行代理,所述方法包括在所述代理目錄服務(wù)器上存儲(chǔ)連接信息,所述連接信息包括所述代理目錄服務(wù)器驗(yàn)證并建立與所述目錄服務(wù)器的通信所需的證明;使用所述連接信息,將所述代理目錄服務(wù)器與所述分布式目錄服務(wù)器中的一個(gè)或多個(gè)相連接;以及對(duì)于所述分布式目錄服務(wù)器中的成功連接的分布式目錄服務(wù)器,執(zhí)行查詢,以提取用來(lái)創(chuàng)建所連接的分布式目錄服務(wù)器的拓?fù)涞慕Y(jié)構(gòu)數(shù)據(jù),所述拓?fù)浒P(guān)于如何在多個(gè)目錄服務(wù)器之間劃分目錄的信息。2.如權(quán)利要求1所述的方法,其中,所述連接信息包括通用資源定位符、區(qū)別名稱和密碼。3.如權(quán)利要求l所述的方法,其中,針對(duì)每個(gè)所連接的分布式目錄服務(wù)器的所述結(jié)構(gòu)數(shù)據(jù)包括命名上下文至相應(yīng)的所述分布式目錄服務(wù)器的映射、以及關(guān)于哪些所述分布式目錄服務(wù)器主控復(fù)制的上下文的信息。4.如權(quán)利要求3所述的方法,其中,所述查詢包括另外單獨(dú)的查詢,其針對(duì)于先前由所述相應(yīng)的分布式目錄服務(wù)器返回的命名上下文屬性的每個(gè)值。5.如權(quán)利要求l所述的方法,還包括當(dāng)在所述查詢的結(jié)果中發(fā)生變化時(shí),重建所述拓樸。6.如權(quán)利要求5所述的方法,其中,通過(guò)周期地重復(fù)查詢,來(lái)確定結(jié)果中的所述變化的發(fā)生。7.如權(quán)利要求5所述的方法,其中,通過(guò)來(lái)自所述分布式目錄服務(wù)器的通知,來(lái)確定結(jié)果中的所述變化的發(fā)生。8.如權(quán)利要求l所述的方法,還包括動(dòng)態(tài)地重新配置所述分布式目錄服務(wù)器拓樸。9.如權(quán)利要求8所述的方法,其中,通過(guò)被配置為^f奮改存儲(chǔ)在所述分布式目錄服務(wù)器中的所述結(jié)構(gòu)數(shù)據(jù)的目錄更新操作,來(lái)實(shí)現(xiàn)所述重新配置。10.如權(quán)利要求9所述的方法,其中,所述更新的結(jié)構(gòu)數(shù)據(jù)表示命名上下文到相應(yīng)的所述分布式目錄服務(wù)器的映射、以及哪些所述分布式目錄服務(wù)器主控復(fù)制的上下文。11.如權(quán)利要求8所述的方法,其中,通過(guò)下列中的至少一個(gè)來(lái)實(shí)現(xiàn)所述重新配置添加新的服務(wù)器到所述分布式目錄服務(wù)器;以及從所述分布式目錄服務(wù)器移除現(xiàn)有的服務(wù)器。12.如權(quán)利要求1所述的方法,還包括修改所述連接信息;以及重新執(zhí)行所述查詢,以提取對(duì)應(yīng)于重新配置的分布式目錄服務(wù)器拓樸的結(jié)構(gòu)數(shù)據(jù)。13.—種包括適配為執(zhí)行根據(jù)任何在前方法權(quán)利要求的方法的所有步驟的部件的系統(tǒng)。14.一種包括指令的計(jì)算機(jī)程序,用于當(dāng)在計(jì)算機(jī)系統(tǒng)上執(zhí)行所述計(jì)算機(jī)程序時(shí)、執(zhí)行根據(jù)任何在前方法權(quán)利要求的方法的所有步驟。全文摘要一種代理目錄服務(wù)器在啟動(dòng)之后并且在接受客戶端請(qǐng)求之前立即發(fā)現(xiàn)分布式目錄服務(wù)器的拓?fù)洹T趩?dòng)之后立即地,代理服務(wù)器執(zhí)行查詢以從分布式目錄服務(wù)器提取對(duì)應(yīng)于目錄分布信息的結(jié)構(gòu)數(shù)據(jù)。通過(guò)使用目錄更新操作而將在操作期間直接在代理目錄服務(wù)器處對(duì)拓?fù)湫畔⑺M(jìn)行的任何動(dòng)態(tài)配置改變傳播至分布式目錄服務(wù)器,來(lái)實(shí)現(xiàn)對(duì)分布式目錄的動(dòng)態(tài)拓?fù)渲匦屡渲谩N臋n編號(hào)G06F17/30GK101563686SQ200780045277公開日2009年10月21日申請(qǐng)日期2007年12月5日優(yōu)先權(quán)日2006年12月7日發(fā)明者阿珀瓦·庫(kù)瑪申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
林甸县| 资阳市| 保德县| 兖州市| 汪清县| 新竹县| 大足县| 昌都县| 和平区| 太谷县| 金平| 石棉县| 丘北县| 吴忠市| 岚皋县| 南江县| 刚察县| 桂东县| 彭阳县| 陵川县| 绍兴市| 丹阳市| 林口县| 迁安市| 昌吉市| 黎平县| 大邑县| 廉江市| 翁牛特旗| 新安县| 盐边县| 武胜县| 无为县| 同心县| 奉化市| 彰化县| 南城县| 无极县| 红原县| 锦州市| 盈江县|