專利名稱:在分布式計(jì)算機(jī)網(wǎng)絡(luò)上升級(jí)資源的發(fā)現(xiàn)及重置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò),更具體地說,涉及分布式計(jì)算機(jī)網(wǎng)絡(luò)中的升級(jí)(scalable)資源發(fā)現(xiàn)及動(dòng)態(tài)重置的框架。
背景技術(shù):
諸如因特網(wǎng)之類的計(jì)算機(jī)網(wǎng)絡(luò)允許用戶共享諸如文件和硬件之類的資源。因特網(wǎng)的擴(kuò)充及全球信息網(wǎng)標(biāo)準(zhǔn)的采納已經(jīng)讓用戶毫不費(fèi)力地察看和下載文件。用戶不需知道任何程序設(shè)計(jì)語言。通過簡(jiǎn)單運(yùn)轉(zhuǎn)一因特網(wǎng)瀏覽器,用戶只需指到及點(diǎn)選,便能察看及下載希望的文件。此種程序的可用性允許分布式計(jì)算機(jī)網(wǎng)絡(luò)上相隔遙遠(yuǎn)(橫跨整個(gè)地球)但想法雷同的個(gè)人彼此能夠輕松地合作和共享文件。
傳統(tǒng)上,分布式計(jì)算機(jī)網(wǎng)絡(luò)設(shè)定為具有一客戶/服務(wù)器框架。尤其是,每一用戶為可存取網(wǎng)絡(luò)上一服務(wù)器節(jié)點(diǎn),而且借助于適當(dāng)?shù)氖跈?quán)將文件公布于服務(wù)器節(jié)點(diǎn)上。一旦將文件公布到服務(wù)器節(jié)點(diǎn)后,網(wǎng)絡(luò)上的其它客戶就可以存取服務(wù)器節(jié)點(diǎn)以察看或下載該文件。此外,服務(wù)器節(jié)點(diǎn)可允許客戶將一文件自動(dòng)發(fā)送到網(wǎng)絡(luò)可到達(dá)的另一客戶。該客戶直接將該文件隨同識(shí)別希望的接受者的信息發(fā)送到服務(wù)器節(jié)點(diǎn),而且服務(wù)器節(jié)點(diǎn)繼續(xù)將該文件發(fā)送到對(duì)應(yīng)的客戶。服務(wù)器節(jié)點(diǎn)同時(shí)可用于允許客戶共享諸如打印機(jī)這樣的硬件資源。
利用這樣的客戶/服務(wù)器框架,服務(wù)器節(jié)點(diǎn)有責(zé)任提供安全性。例如,服務(wù)器節(jié)點(diǎn)必須保證只有經(jīng)授權(quán)客戶可以使用網(wǎng)絡(luò)資源(例如下載文件),而且只有適當(dāng)文件可以公布。此外,服務(wù)器節(jié)點(diǎn)代表一單一故障點(diǎn)。因此,在需要可靠性的任何客戶/服務(wù)器環(huán)境中,服務(wù)器節(jié)點(diǎn)必須具有工業(yè)強(qiáng)度和冗余系統(tǒng),以避免系統(tǒng)關(guān)機(jī)及數(shù)據(jù)丟失。另外,因?yàn)樗锌蛻魧?duì)客戶的資源轉(zhuǎn)移均通過服務(wù)器節(jié)點(diǎn),所以在網(wǎng)絡(luò)中加上另一客戶將增加服務(wù)器節(jié)點(diǎn)的額外負(fù)擔(dān),從而降低網(wǎng)絡(luò)性能。
在這樣的客戶/服務(wù)器框架中,客戶保有極少的隱私。通常,在允許客戶存取網(wǎng)絡(luò)資源前,服務(wù)器節(jié)點(diǎn)請(qǐng)求授權(quán)。一旦客戶俱備授權(quán)身份,服務(wù)器節(jié)點(diǎn)可輕易記載該客戶的所有網(wǎng)絡(luò)活動(dòng)。例如,用戶節(jié)點(diǎn)可保留客戶所更新及下載的所有文件的日志。即使允許由未經(jīng)授權(quán)的客戶存取,服務(wù)器節(jié)點(diǎn)仍可使用任何種類的唯一識(shí)別技術(shù)跨時(shí)間追蹤客戶活動(dòng)。例如,服務(wù)器節(jié)點(diǎn)可在客戶端放置一唯一cookie,而且在其后每次存取服務(wù)器節(jié)點(diǎn)時(shí),使用該cookie識(shí)別該客戶。
傳統(tǒng)客戶/服務(wù)器框架的某些缺點(diǎn)可通過一“病毒性(viral)”網(wǎng)絡(luò)提供一解決方案。在這樣的網(wǎng)絡(luò)中,用戶節(jié)點(diǎn)連接到加入一高度互連的病毒性網(wǎng)絡(luò)的一或多個(gè)已知主機(jī)。然后,該用戶節(jié)點(diǎn)本身成為可以響應(yīng)請(qǐng)求資源和可用主機(jī)的請(qǐng)求的一主機(jī)節(jié)點(diǎn)。網(wǎng)絡(luò)中每一用戶將資源請(qǐng)求轉(zhuǎn)發(fā)到所有已知的鄰近節(jié)點(diǎn),以便將每一請(qǐng)求潛在地傳播到整個(gè)網(wǎng)絡(luò)。例如,Gnutella系統(tǒng)就采用這樣的病毒性網(wǎng)絡(luò)框架。Gnutella具有一公布網(wǎng)絡(luò)協(xié)議,并且向用戶提供一客戶/服務(wù)器應(yīng)用程序(可從http//gnutella.wego.com獲得),它允許每一用戶在文件共享網(wǎng)絡(luò)中擔(dān)任一主機(jī)節(jié)點(diǎn)。Gnutella系統(tǒng)可用于安全地分配通過加密及特許所保護(hù)的商業(yè)內(nèi)容。
病毒性網(wǎng)絡(luò)是根據(jù)對(duì)等通訊的。對(duì)等是一通訊模型,其中每一方均具有相似能力,而且任一方均可啟動(dòng)通訊對(duì)話。例如,Gnutella應(yīng)用程序利用對(duì)等通訊允許用戶在因特網(wǎng)上相互交換文件。在病毒性網(wǎng)絡(luò)中所使用的對(duì)等模型依賴于網(wǎng)絡(luò)中具有至少一個(gè)其它同級(jí)(peer)(亦即用戶節(jié)點(diǎn))的知識(shí)的每一同級(jí)。當(dāng)搜尋諸如文件這樣的資源時(shí),一同級(jí)將資源請(qǐng)求發(fā)送到其它已知同級(jí),其他等級(jí)繼續(xù)將其傳到它們已知的同級(jí),等等,以便將該請(qǐng)求傳播到整個(gè)網(wǎng)絡(luò)。具有資源而且接收該請(qǐng)求的同級(jí)可將資源(或指示其可用性的消息)傳回請(qǐng)求的同級(jí)。因?yàn)檫@樣的框架提供了與集中式網(wǎng)絡(luò)權(quán)限(例如服務(wù)器節(jié)點(diǎn))的獨(dú)立性,所以病毒性網(wǎng)絡(luò)中的用戶具有增強(qiáng)的隱私,而且排除單一故障點(diǎn)。
圖1顯示一示范的病毒性網(wǎng)絡(luò)。該網(wǎng)絡(luò)中的每一節(jié)點(diǎn)代表同時(shí)擔(dān)當(dāng)一客戶和主機(jī)而且與一或多個(gè)其它節(jié)點(diǎn)連接的用戶。當(dāng)一第一節(jié)點(diǎn)210希望一特殊資源(例如文件)時(shí),第一節(jié)點(diǎn)210對(duì)所有已知節(jié)點(diǎn)202、204、206和208發(fā)出一請(qǐng)求,反過來,這些已知節(jié)點(diǎn)進(jìn)行相同動(dòng)作。例如,該請(qǐng)求通過連續(xù)通過節(jié)點(diǎn)208、216和218而到達(dá)一第二節(jié)點(diǎn)212。如果第二節(jié)點(diǎn)212具有請(qǐng)求的資源,則其通過(例如回溯該請(qǐng)求所遍歷的相同路徑)將一適當(dāng)消息發(fā)送到第一節(jié)點(diǎn)210予以響應(yīng)。因?yàn)橐呀?jīng)識(shí)別具有請(qǐng)求的資源的一節(jié)點(diǎn),所以第一節(jié)點(diǎn)210可啟動(dòng)與第二節(jié)點(diǎn)212的一直接對(duì)等連接,以便下載該資源。通過病毒性網(wǎng)絡(luò),可同時(shí)發(fā)生任意數(shù)目的這類資源請(qǐng)求,應(yīng)答,及轉(zhuǎn)移。
雖然病毒性網(wǎng)絡(luò)提供增強(qiáng)的隱私而且排除一單一故障點(diǎn),但該框架仍具有有關(guān)升級(jí)的缺點(diǎn)。在一大型,分散的病毒性網(wǎng)絡(luò)中,當(dāng)加入的節(jié)點(diǎn)數(shù)增加時(shí),將破壞有效率的資源發(fā)現(xiàn)。尤其,一資源請(qǐng)求僅可逐一節(jié)點(diǎn)傳播,而且每一節(jié)點(diǎn)僅將該請(qǐng)求傳播到一數(shù)目相對(duì)較少的其它節(jié)點(diǎn)。為了控制網(wǎng)絡(luò)流量及避免不合理的響應(yīng)時(shí)間,實(shí)際系統(tǒng)必須對(duì)一請(qǐng)求可以轉(zhuǎn)發(fā)的次數(shù)施行一“生存時(shí)間”或某種限制(亦即同級(jí)中斷段的一最大數(shù)目)。這將有效率地切斷由一路徑所分開的任兩節(jié)點(diǎn)或節(jié)點(diǎn)群,經(jīng)由該路徑,請(qǐng)求將需傳播通過數(shù)量不合理的中間節(jié)點(diǎn)。再者,有關(guān)請(qǐng)求傳播的任何這類限制將導(dǎo)致無法執(zhí)行一資源的一徹底搜尋,因?yàn)檫@樣的搜尋請(qǐng)求將該請(qǐng)求傳播到網(wǎng)絡(luò)中的所有節(jié)點(diǎn)。
此外,近來建議一種利用一信息流程圖的以內(nèi)容為基礎(chǔ)的公布-預(yù)訂通信基礎(chǔ)建設(shè)。例如,Gryphon系統(tǒng)(在http//www.research.ibm.com/gryphon說明)已經(jīng)由本發(fā)明的受讓人加以開發(fā)。此系統(tǒng)通過合并分布式公布/預(yù)訂通訊及數(shù)據(jù)庫技術(shù)的特性而提供一種以內(nèi)容為基礎(chǔ)的預(yù)訂服務(wù),以及執(zhí)行消息中介。Gryphon系統(tǒng)的核心為一種指定事件的選擇性遞送,事件的變換,及新事件的產(chǎn)生的信息流程圖。
圖2顯示利用信息流程圖的一示范的以內(nèi)容為基礎(chǔ)的公布-預(yù)訂通信基礎(chǔ)建設(shè)。在此系統(tǒng)中,將從兩信息資源NYSE和NASDAQ導(dǎo)出的股票交易加以組合,變換,過濾并遞送給預(yù)訂客戶。例如,一用戶312可向消息中介服務(wù)器302預(yù)訂,并且請(qǐng)求同時(shí)接收數(shù)值超過一百萬美元的所有NYSE和NASDAQ的股票交易。消息中間裝置302接收來自NYSE 324和NASDAQ 326諸如價(jià)格和數(shù)量的原始股票交易信息。
根據(jù)用戶312的信息請(qǐng)求,服務(wù)器302合并來自兩資源的股票交易信息,將原始的價(jià)格和數(shù)量信息變換成每一交易的數(shù)值信息,然后過濾導(dǎo)出數(shù)值,以產(chǎn)生價(jià)值超過一百萬美元的交易子集。以一類似方式,每一預(yù)訂用戶(例如,節(jié)點(diǎn)304、306和308)指定其本身的準(zhǔn)則,而消息中介服務(wù)器302執(zhí)行信息選擇,變換,過濾,及遞送,以提供每一用戶請(qǐng)求的信息。
雖然圖2的公布-預(yù)訂通信基礎(chǔ)建設(shè)提供具有大量用戶的一通信系統(tǒng)良好的升級(jí),但如同傳統(tǒng)的客戶/服務(wù)器框架,用戶保有極少的隱私。當(dāng)向系統(tǒng)預(yù)訂時(shí),所有用戶必須加以識(shí)別,而且所有信息是通過集中式服務(wù)器遞送給用戶。因此,集中式服務(wù)器可輕易維護(hù)該系統(tǒng)的所有用戶以及個(gè)別所希望及接收的確切信息的一日志。該集中式消息中介服務(wù)器同樣擔(dān)當(dāng)該系統(tǒng)的一單一故障點(diǎn)。
發(fā)明內(nèi)容
在察看此等缺點(diǎn)后,本發(fā)明的一目的為移除所述缺點(diǎn),以及提供用于提供升級(jí)資源發(fā)現(xiàn)及共享的一網(wǎng)絡(luò)框架。所提供的一升級(jí)通信基礎(chǔ)建設(shè)是用于闡述升級(jí)和效能議題,然而一分散網(wǎng)絡(luò)的大部分特性將保留。在一分散網(wǎng)絡(luò)中俱備的至少一公布-預(yù)訂服務(wù)器節(jié)點(diǎn)并非當(dāng)作一中央權(quán)限,而是當(dāng)作一通信基礎(chǔ)建設(shè)層。因此,在一分散網(wǎng)絡(luò)中可達(dá)成升級(jí)。
本發(fā)明的一具體實(shí)施例提供一種用于在用戶節(jié)點(diǎn)網(wǎng)絡(luò)中發(fā)現(xiàn)資源的方法。根據(jù)該方法,將要公布的一資源請(qǐng)求在網(wǎng)絡(luò)的一第一用戶節(jié)點(diǎn)接收,并且確定是否將該來源請(qǐng)求發(fā)送到一服務(wù)器節(jié)點(diǎn)。當(dāng)確定不將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)時(shí),則通過一直接連接將該資源請(qǐng)求轉(zhuǎn)發(fā)到網(wǎng)絡(luò)的一第二用戶節(jié)點(diǎn)。當(dāng)確定將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)時(shí),則該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn),供公布用。在一優(yōu)選具體實(shí)施例中,是否將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)的確定是由第一用戶節(jié)點(diǎn)所作的一隨機(jī)決定。
本發(fā)明的另一具體實(shí)施例提供一種用于包括用戶節(jié)點(diǎn)和至少一服務(wù)器節(jié)點(diǎn)的一計(jì)算機(jī)網(wǎng)絡(luò)類型的用戶節(jié)點(diǎn),其中每一用戶節(jié)點(diǎn)通過一直接連接與至少一其它用戶節(jié)點(diǎn)相連接。該用戶節(jié)點(diǎn)包括一接收接口,用于接收將要公布的一資源請(qǐng)求,一控制裝置,用于確定是否將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn),以及至少一傳輸接口,其通過一直接連接將該資源請(qǐng)求選擇性轉(zhuǎn)發(fā)到網(wǎng)絡(luò)的一第二用戶節(jié)點(diǎn)或?qū)⒃撡Y源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn),供公布用。當(dāng)控制裝置確定不將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)時(shí),傳輸接口將該資源請(qǐng)求轉(zhuǎn)發(fā)到第二用戶節(jié)點(diǎn),而且當(dāng)控制裝置確定將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)時(shí),則將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn),供公布用。在一優(yōu)選具體實(shí)施例中,控制裝置隨機(jī)選擇網(wǎng)絡(luò)的一其它用戶節(jié)點(diǎn)作為該資源請(qǐng)求所轉(zhuǎn)發(fā)的第二用戶節(jié)點(diǎn)。
從以下詳細(xì)說明將可明白本發(fā)明的其它目的,特性和優(yōu)點(diǎn)。然而,應(yīng)了解,雖然表示其為本發(fā)明的優(yōu)選具體實(shí)施例,但詳細(xì)說明和特定例子僅為舉例說明,而且在不脫離本發(fā)明下,可自然執(zhí)行各種修正。
圖1是一示范的病毒性網(wǎng)絡(luò)的一圖形;圖2是一示范的以內(nèi)容為基礎(chǔ)的公布-預(yù)訂通信基礎(chǔ)建設(shè)的一圖形;圖3是根據(jù)本發(fā)明一優(yōu)選具體實(shí)施例的升級(jí)網(wǎng)絡(luò)框架的一圖形;圖4是一根據(jù)本發(fā)明一第一具體實(shí)施例而獲得一升級(jí)網(wǎng)絡(luò)框架內(nèi)一資源的一處理的流程圖;圖5是根據(jù)本發(fā)明一第二具體實(shí)施例而獲得一升級(jí)網(wǎng)絡(luò)框架內(nèi)一資源的一處理的流程圖;圖6是根據(jù)本發(fā)明一第三具體實(shí)施例而獲得一升級(jí)網(wǎng)絡(luò)框架內(nèi)一資源的一處理的流程圖;圖7是升級(jí)網(wǎng)絡(luò)框架的一圖形,其中顯示圖6的處理其一部分的一示范實(shí)行;以及圖8是升級(jí)網(wǎng)絡(luò)框架的一圖形,其中顯示圖6的處理其另一部分的一示范實(shí)行。
具體實(shí)施例方式
以下參照附加圖式詳細(xì)說明本發(fā)明的優(yōu)選具體實(shí)施例。
圖3顯示根據(jù)本發(fā)明一優(yōu)選具體實(shí)施例的一升級(jí)網(wǎng)絡(luò)框架。如所示,該框架包括一公布-預(yù)訂服務(wù)器節(jié)點(diǎn)402和多重用戶節(jié)點(diǎn)(例如404、406和410)。在本發(fā)明的具體實(shí)施例中,服務(wù)器節(jié)點(diǎn)402可以一單一服務(wù)器或以任何服務(wù)器數(shù)目所構(gòu)成的一“服務(wù)器云團(tuán)”加以實(shí)行。這樣的服務(wù)器云團(tuán)的個(gè)別服務(wù)器可以各種方式相互連接,以及連接到因特網(wǎng),而且甚至可分開遙遠(yuǎn)距離,因而需提供一適當(dāng)?shù)姆?wù)級(jí)別以及諸如數(shù)據(jù)和路徑冗余的優(yōu)勢(shì)特性。
在此框架內(nèi),一用戶節(jié)點(diǎn)416通過接觸公布-預(yù)訂服務(wù)器節(jié)點(diǎn)402并且預(yù)訂某些消息″信道″而加入該網(wǎng)絡(luò)。此外,加入用戶節(jié)點(diǎn)416將請(qǐng)求連接,然后與至少一其它用戶節(jié)點(diǎn)410、418和420(例如,根據(jù)諸如地理位置,連接速度或共同興趣等某些準(zhǔn)則)直接連接。以此方式,網(wǎng)絡(luò)中的所有用戶節(jié)點(diǎn)將連接到供通信用的集中式公布-預(yù)訂服務(wù)器節(jié)點(diǎn)(未顯示,以求清楚),并且通過形成一分散病毒性類型資源共享網(wǎng)絡(luò)的對(duì)等連接而相互連接。
圖4是根據(jù)本發(fā)明一第一具體實(shí)施例而獲得這樣的升級(jí)網(wǎng)絡(luò)框架內(nèi)一資源的一處理的流程圖。當(dāng)網(wǎng)絡(luò)中的一第一用戶節(jié)點(diǎn)416希望一資源(例如文件)時(shí),則將一資源請(qǐng)求(或查詢)發(fā)送到服務(wù)器節(jié)點(diǎn)402(步驟S10),而且服務(wù)器節(jié)點(diǎn)402通過將其發(fā)送到預(yù)訂對(duì)應(yīng)該請(qǐng)求類型的信道的所有用戶節(jié)點(diǎn)而公布該資源請(qǐng)求(步驟S12)。接收該請(qǐng)求并且愿意提供該資源的一第二用戶節(jié)點(diǎn)422與第一用戶節(jié)點(diǎn)416接觸,(步驟S14),而且第一和第二用戶節(jié)點(diǎn)416和422設(shè)定一對(duì)等連接,以提供第一用戶節(jié)點(diǎn)416請(qǐng)求的資源(步驟S16)。以此方式,公布-預(yù)訂通信基礎(chǔ)建設(shè)層允許一資源請(qǐng)求通過包括非常大量的中間節(jié)點(diǎn)的一直接連接路徑而到達(dá)與請(qǐng)求的節(jié)點(diǎn)分開的節(jié)點(diǎn)。
因此,在本發(fā)明所提供的升級(jí)網(wǎng)絡(luò)框架中,當(dāng)網(wǎng)絡(luò)中的用戶節(jié)點(diǎn)數(shù)目增加時(shí),可以維護(hù)有效率的資源發(fā)現(xiàn)。同時(shí),資源本身并未公布在服務(wù)器,而且實(shí)際的資源共享不包括服務(wù)器,所以服務(wù)器上的請(qǐng)求少于傳統(tǒng)客戶/服務(wù)器框架的請(qǐng)求。再者,因?yàn)槠鋵⒚恳凰褜ふ?qǐng)求公布在預(yù)訂相關(guān)信道的所有用戶節(jié)點(diǎn),所以有可能在包括非常大量的用戶節(jié)點(diǎn)的一網(wǎng)絡(luò)中在一可接受的時(shí)間框內(nèi)執(zhí)行請(qǐng)求的資源的一徹底(或者至少非常廣泛)搜尋。
在優(yōu)選具體實(shí)施例中,公布-預(yù)訂通信基礎(chǔ)建設(shè)支持兩種″信道″類型或種共享數(shù)據(jù)串流。第一信道類型為用于支持分散網(wǎng)絡(luò)中其它用戶節(jié)點(diǎn)發(fā)現(xiàn)的一″節(jié)點(diǎn)發(fā)現(xiàn)信道″。為了加入網(wǎng)絡(luò),一用戶節(jié)點(diǎn)使用服務(wù)器節(jié)點(diǎn)的公布-預(yù)訂通信基礎(chǔ)建設(shè)自行發(fā)布。尤其來自新用戶的一加入發(fā)布是經(jīng)由服務(wù)器節(jié)點(diǎn)路由選擇至一或多個(gè)節(jié)點(diǎn),以請(qǐng)求與其它用戶節(jié)點(diǎn)相連接。因此,公布-預(yù)訂基礎(chǔ)建設(shè)的功能如同用于建置與其它用戶節(jié)點(diǎn)的連接而完成加入發(fā)布的廣播的一多用途傳輸層(類似IP以上的一層次)。
這類加入發(fā)布可根據(jù)諸如地理位置,網(wǎng)絡(luò)連接速度,資源可用類型,以及/或者共同興趣等類別在個(gè)別的節(jié)點(diǎn)發(fā)現(xiàn)信道間分割。因此,新用戶節(jié)點(diǎn)可發(fā)現(xiàn)遠(yuǎn)程用戶節(jié)點(diǎn)(地理及相關(guān)網(wǎng)絡(luò)中繼段),而且此時(shí)連接可偏好具有希望的資源類型或可接受的連接屬性的節(jié)點(diǎn)。再者,因?yàn)閮H將每一加入發(fā)布發(fā)送到預(yù)訂某些信道的用戶節(jié)點(diǎn),所以一非常大型網(wǎng)絡(luò)中的用戶節(jié)點(diǎn)不會(huì)經(jīng)常遭受加入發(fā)布泛濫。
第二信道類型為用于最佳化資源請(qǐng)求公布的一“資源請(qǐng)求信道”。如以上所解釋,服務(wù)器節(jié)點(diǎn)通過將其發(fā)送到預(yù)訂一特殊信道(或一些信道)的所有用戶節(jié)點(diǎn)而公布每一資源請(qǐng)求。此等資源請(qǐng)求信道可分割成資源類型的豐富分類,以允許用戶節(jié)點(diǎn)有效率地過濾出不希望的請(qǐng)求。再者,取代搜尋網(wǎng)絡(luò)中每一用戶節(jié)點(diǎn),使用資源請(qǐng)求信道允許一資源請(qǐng)求僅搜尋一相關(guān)的用戶節(jié)點(diǎn)子集(亦即,預(yù)訂相關(guān)信道的節(jié)點(diǎn))。
因此,僅希望共享技術(shù)文件的一用戶節(jié)點(diǎn)不會(huì)遭受多介質(zhì)內(nèi)容的請(qǐng)求的轟炸。取決于應(yīng)用程序,用戶節(jié)點(diǎn)以及/或者服務(wù)器節(jié)點(diǎn)可確定用于公布一個(gè)別發(fā)布或資源請(qǐng)求的信道。再者,在優(yōu)選具體實(shí)施例中,一信道僅在一用戶節(jié)點(diǎn)對(duì)其公布時(shí)才存在。因此,任何用戶節(jié)點(diǎn)均可建立一新的資源信道,然后以任何傳統(tǒng)方式(例如通過一網(wǎng)站,新聞群組,電視或直接郵件廣告)促銷其預(yù)訂可用性。
圖5是根據(jù)本發(fā)明一第二具體實(shí)施例而獲得一升級(jí)網(wǎng)絡(luò)框架內(nèi)一資源的一處理的流程圖。當(dāng)網(wǎng)絡(luò)中一第一用戶節(jié)點(diǎn)416希望一資源(例如文件)時(shí),則將一資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)402(步驟S10),而且服務(wù)器節(jié)點(diǎn)402通過將其發(fā)送到預(yù)訂對(duì)應(yīng)該請(qǐng)求類型的信道的所有用戶節(jié)點(diǎn)而公布該資源請(qǐng)求(步驟S12)。此外,在第二具體實(shí)施例中,第一節(jié)點(diǎn)416同時(shí)將該資源請(qǐng)求發(fā)送到分散網(wǎng)絡(luò)中連接的所有用戶節(jié)點(diǎn)410,418,和420。
每一用戶節(jié)點(diǎn)重復(fù)此處理,其中接收該請(qǐng)求,并且繼續(xù)傳到其連接的用戶節(jié)點(diǎn),以便通過分散網(wǎng)絡(luò)的用戶節(jié)點(diǎn)傳播該請(qǐng)求(步驟S11)。例如,該請(qǐng)求通過繼續(xù)通過節(jié)點(diǎn)410和414而到達(dá)一第二用戶節(jié)點(diǎn)404。再者,在某些具體實(shí)施例中,接收來自服務(wù)器節(jié)點(diǎn)(例如用戶節(jié)點(diǎn)422)的資源請(qǐng)求的每一用戶節(jié)點(diǎn)同時(shí)將該資源請(qǐng)求發(fā)送到分散網(wǎng)絡(luò)中連接的所有用戶節(jié)點(diǎn)。如果第二用戶節(jié)點(diǎn)404接收該請(qǐng)求(通過用戶節(jié)點(diǎn)傳播或來自服務(wù)器節(jié)點(diǎn))并且愿意提供資源,則第二用戶節(jié)點(diǎn)404與第一用戶節(jié)點(diǎn)416接觸(步驟S14),而且設(shè)定一對(duì)等連接,以便共享請(qǐng)求的資源(步驟S16)。
因此,在第二具體實(shí)施例中,資源請(qǐng)求通過通信基礎(chǔ)建設(shè)層加以公布(如第一具體實(shí)施例),而且通過分散網(wǎng)絡(luò)的用戶節(jié)點(diǎn)加以傳播。因?yàn)榇穗p路徑處理提供通過集中式服務(wù)器節(jié)點(diǎn)的一替代請(qǐng)求傳播路徑,所以排除單一故障點(diǎn)。換言之,即使服務(wù)器節(jié)點(diǎn)完成,仍然將資源請(qǐng)求傳播到其它用戶節(jié)點(diǎn)。再者,在第二具體實(shí)施例中,不必所有用戶節(jié)點(diǎn)均連接到公布-預(yù)訂基礎(chǔ)建設(shè),甚或知道其出現(xiàn)。這樣的用戶節(jié)點(diǎn)僅可將資源請(qǐng)求轉(zhuǎn)發(fā)到連接的所有用戶節(jié)點(diǎn)。此特性允許第二具體實(shí)施例在一現(xiàn)存網(wǎng)絡(luò)中實(shí)行,不需請(qǐng)求修正所有用戶節(jié)點(diǎn)。
圖6是根據(jù)本發(fā)明一第三具體實(shí)施例而獲得這樣的升級(jí)網(wǎng)絡(luò)框架內(nèi)一資源的一處理的流程圖。在此具體實(shí)施例中,資源請(qǐng)求將不直接發(fā)送到服務(wù)器節(jié)點(diǎn),以提供請(qǐng)求的用戶節(jié)點(diǎn)增強(qiáng)的隱私。當(dāng)在第三具體實(shí)施例中希望一資源(例如文件)時(shí),則如圖7的虛線箭號(hào)所示,提出請(qǐng)求的第一用戶節(jié)點(diǎn)410將一資源請(qǐng)求發(fā)送到分散網(wǎng)絡(luò)中連接的一第二用戶節(jié)點(diǎn)414(步驟S20)。然后第二用戶節(jié)點(diǎn)414確定是否將該請(qǐng)求發(fā)送到公布-預(yù)訂服務(wù)器節(jié)點(diǎn)402或者發(fā)送到分散網(wǎng)絡(luò)中其連接的另一用戶節(jié)點(diǎn)(步驟S22)。優(yōu)選者,所有用戶節(jié)點(diǎn)均連接到集中式公布-預(yù)訂服務(wù)器節(jié)點(diǎn)通信(未顯示,以求清楚)。
如果確定不發(fā)送到服務(wù)器節(jié)點(diǎn)402,則如圖7所示,第二用戶節(jié)點(diǎn)414將資源請(qǐng)求轉(zhuǎn)發(fā)到其連接的另一用戶節(jié)點(diǎn)420(步驟S20)。接收該資源請(qǐng)求并作相同確定的每一用戶節(jié)點(diǎn)重復(fù)此轉(zhuǎn)發(fā)處理(步驟S22)。當(dāng)一第三用戶節(jié)點(diǎn)416確定發(fā)送到服務(wù)器節(jié)點(diǎn)402時(shí),則將資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)402(步驟S24),而且服務(wù)器節(jié)點(diǎn)402通過將其發(fā)送到預(yù)訂對(duì)應(yīng)該請(qǐng)求類型的信道的所有用戶節(jié)點(diǎn)而公布該資源請(qǐng)求(步驟S26)。
在優(yōu)選具體實(shí)施例中,是否將請(qǐng)求發(fā)送到公布-預(yù)訂服務(wù)器節(jié)點(diǎn)的每次確定是由用戶節(jié)點(diǎn),根據(jù)介于0與1間將請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)的概率的一加權(quán)因子所作的一“隨機(jī)”決定。例如,如果加權(quán)因子為0.25,則有25%的機(jī)會(huì)用戶節(jié)點(diǎn)會(huì)將該請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn),而且有75%的機(jī)會(huì)將該請(qǐng)求轉(zhuǎn)發(fā)到另一用戶節(jié)點(diǎn)。因此,平均有0.25的加權(quán)因子將造成于發(fā)送到公布-預(yù)訂服務(wù)器節(jié)點(diǎn)前,資源請(qǐng)求將轉(zhuǎn)發(fā)到其它用戶節(jié)點(diǎn)三次。加權(quán)因子的值是根據(jù)諸如希望的隱私級(jí)別因子而設(shè)定。再者,加權(quán)因子可為該網(wǎng)絡(luò)通用的一固定值或者可由用戶節(jié)點(diǎn)以每消息為基礎(chǔ)而設(shè)定。亦可將諸如最大轉(zhuǎn)發(fā)數(shù)目或一最大經(jīng)過時(shí)間的其它準(zhǔn)則并入由接收該請(qǐng)求的每一用戶節(jié)點(diǎn)所作的確定。
在進(jìn)一步的具體實(shí)施例中,是否將該請(qǐng)求發(fā)送到公布-預(yù)訂服務(wù)器節(jié)點(diǎn)的確定是根據(jù)諸如固定轉(zhuǎn)發(fā)數(shù)目的某些其它準(zhǔn)則作成。例如,在一具體實(shí)施例中,每一資源請(qǐng)求永遠(yuǎn)通過三個(gè)用戶節(jié)點(diǎn)轉(zhuǎn)發(fā),然后發(fā)送到公布-預(yù)訂服務(wù)器節(jié)點(diǎn)。優(yōu)選者,當(dāng)將一資源請(qǐng)求繼續(xù)轉(zhuǎn)發(fā)到另一用戶節(jié)點(diǎn)時(shí),將通過隨機(jī)選擇轉(zhuǎn)發(fā)的用戶節(jié)點(diǎn)所連接的用戶節(jié)點(diǎn)之一而選擇由哪一其它用戶節(jié)點(diǎn)接收轉(zhuǎn)發(fā)的請(qǐng)求。
在服務(wù)器節(jié)點(diǎn)402公布該資源請(qǐng)求后,接收該請(qǐng)求而且愿意提供該資源的一第四用戶節(jié)點(diǎn)422與第一用戶節(jié)點(diǎn)410接觸。尤其,如圖8中所示,第四用戶節(jié)點(diǎn)422將一響應(yīng)發(fā)送到第三用戶節(jié)點(diǎn)416(步驟S28),該第三用戶節(jié)點(diǎn)之前已將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)402,供公布用。第三用戶節(jié)點(diǎn)416將該響應(yīng)轉(zhuǎn)發(fā)到傳來接收的資源請(qǐng)求的用戶節(jié)點(diǎn)420,并且重此覆轉(zhuǎn)發(fā)處理,直到該響應(yīng)到達(dá)第一用戶節(jié)點(diǎn)410為止(步驟S30)。此時(shí),第一用戶節(jié)點(diǎn)416可與第四用戶節(jié)點(diǎn)422接觸,以設(shè)定一直接對(duì)等連接,而共享請(qǐng)求的資源(步驟S32)。
在優(yōu)選具體實(shí)施例中,來自具有該資源的用戶節(jié)點(diǎn)的響應(yīng)包括有關(guān)資源匹配的元數(shù)據(jù)。當(dāng)接收該響應(yīng)時(shí),請(qǐng)求的用戶節(jié)點(diǎn)評(píng)估該元數(shù)據(jù),然后確定是否與響應(yīng)的節(jié)點(diǎn)進(jìn)行一直接連接,以共享該資源本身(例如下載請(qǐng)求的文件)。如果接收多重響應(yīng),則請(qǐng)求的用戶節(jié)點(diǎn)將可評(píng)估每一響應(yīng)中的元數(shù)據(jù),然后根據(jù)任何準(zhǔn)則(例如過去經(jīng)驗(yàn),接收次序,連接速度或物理位置)選擇一或多個(gè)響應(yīng)的用戶節(jié)點(diǎn)。
此外,在優(yōu)選具體實(shí)施例中,來自具有該資源的用戶節(jié)點(diǎn)的響應(yīng)是通過現(xiàn)存連接(諸如該請(qǐng)求用于遍歷服務(wù)器節(jié)點(diǎn)的連接)而路由選擇,而且一新的點(diǎn)對(duì)點(diǎn)連接僅建置用來實(shí)際轉(zhuǎn)移該資源。否則,如果每一響應(yīng)的用戶節(jié)點(diǎn)均啟動(dòng)一新的點(diǎn)對(duì)點(diǎn)連接,當(dāng)接收大量響應(yīng)時(shí),接收響應(yīng)的用戶節(jié)點(diǎn)將被淹沒?;蛘?,服務(wù)器節(jié)點(diǎn)可設(shè)定一匹配的“一次”響應(yīng)信道或一永久響應(yīng)信道,由用戶節(jié)點(diǎn)用于響應(yīng)資源請(qǐng)求。在一永久響應(yīng)信道上公布響應(yīng)可幫助″被動(dòng)″用戶節(jié)點(diǎn)保存可能感興趣的響應(yīng),供未來使用。
因?yàn)橘Y源請(qǐng)求是通過一或多個(gè)其它用戶節(jié)點(diǎn)轉(zhuǎn)發(fā),而非直接發(fā)送到用戶節(jié)點(diǎn),所以第三具體實(shí)施例提供請(qǐng)求的用戶節(jié)點(diǎn)的隱私。由于請(qǐng)求一資源的實(shí)際用戶節(jié)點(diǎn)對(duì)服務(wù)器節(jié)點(diǎn)保持匿名,因此服務(wù)器節(jié)點(diǎn)無法追蹤哪些用戶共享(甚或請(qǐng)求)哪些資源。當(dāng)在一傳統(tǒng)病毒性網(wǎng)絡(luò)中,在第三具體實(shí)施例中只有實(shí)際提供該資源的一用戶節(jié)點(diǎn)具有共享該資源的知識(shí)以及請(qǐng)求的節(jié)點(diǎn)的身份。再者,不同于一傳統(tǒng)病毒性網(wǎng)絡(luò),在第三具體實(shí)施例中使用一公布-預(yù)訂通信基礎(chǔ)建設(shè)層允許在具有非常大量的用戶節(jié)點(diǎn)的一網(wǎng)絡(luò)中執(zhí)行有效率的資源發(fā)現(xiàn)。因此,本發(fā)明允許在一分散網(wǎng)絡(luò)中達(dá)成升級(jí),同時(shí)維護(hù)增強(qiáng)的用戶隱私。
上述本發(fā)明的具體實(shí)施例請(qǐng)求用于識(shí)別個(gè)別消息的某種機(jī)構(gòu)。在優(yōu)選具體實(shí)施例中,將每消息(亦即資源請(qǐng)求或響應(yīng))指派予一唯一識(shí)別數(shù)字。例如,一具體實(shí)施例中利用由微軟(Microsoft)公司開發(fā)的一算法,其允許每一用戶節(jié)點(diǎn)個(gè)別產(chǎn)生幾乎全球唯一的全球唯一消息標(biāo)識(shí)符(GUID)。此外,每一用戶節(jié)點(diǎn)必須(例如在一窗口中)儲(chǔ)存轉(zhuǎn)發(fā)的消息的至少一有限歷史,以允許響應(yīng)(可包括該資源本身)通過相同路徑到達(dá)傳送消息的用戶節(jié)點(diǎn)。再者,某些具體實(shí)施例包括用于防止一資源請(qǐng)求循環(huán)一機(jī)構(gòu)。例如,全球唯一消息標(biāo)識(shí)符(GUID)和節(jié)點(diǎn)歷史窗口可用于輕易建立一抗循環(huán)機(jī)構(gòu)。
雖然上述本發(fā)明的具體實(shí)施例是關(guān)于一單一服務(wù)器節(jié)點(diǎn),但網(wǎng)絡(luò)中可俱備多重公布-預(yù)訂服務(wù)器節(jié)點(diǎn),以進(jìn)一步最小化“故障點(diǎn)”的疑慮。再者,競(jìng)爭(zhēng)供應(yīng)者可通過操作不同的服務(wù)器節(jié)點(diǎn)并且競(jìng)爭(zhēng)用戶節(jié)點(diǎn)預(yù)訂而在網(wǎng)絡(luò)中共存。此外,上述不同具體實(shí)施例的特性可加以組合,供進(jìn)一步的應(yīng)用使用。例如,本發(fā)明的一具體實(shí)施例包括第三具體實(shí)施例的隨機(jī)化請(qǐng)求轉(zhuǎn)發(fā)及第二具體實(shí)施例的雙傳播/公布。諸如網(wǎng)絡(luò)協(xié)議,轉(zhuǎn)發(fā)準(zhǔn)則,和成員準(zhǔn)則等其它設(shè)計(jì)選擇亦可輕易加以改編。
本發(fā)明可于硬件、軟件或硬件與軟件的一組合中實(shí)現(xiàn)。任何種類的計(jì)算機(jī)系統(tǒng)或用來實(shí)現(xiàn)此處所述方法的其它裝置均適用。硬件與軟件的一典型組合可為具有加載及執(zhí)行時(shí)用于控制該計(jì)算機(jī)系統(tǒng)使其實(shí)現(xiàn)此處所述方法的計(jì)算機(jī)程序的一多用途計(jì)算機(jī)系統(tǒng)。
本發(fā)明同時(shí)可嵌入一計(jì)算機(jī)程序產(chǎn)品中,其中包括致能此處所述方法的實(shí)行的所有特性,而且當(dāng)加載一計(jì)算機(jī)系統(tǒng)時(shí)能夠?qū)崿F(xiàn)此等方法。在本文中,一“計(jì)算機(jī)程序”包括使用任何語言,碼或記號(hào)的一組指令的任何表達(dá),希望用于引發(fā)具有一信息處理能力的一系統(tǒng)直接或于a)轉(zhuǎn)換成另一語言,碼或記號(hào);及b)以一不同的材料形式重新產(chǎn)生以上其中一項(xiàng)或兩者之后執(zhí)行一特殊功能。
每一計(jì)算機(jī)系統(tǒng)可包括一或多個(gè)計(jì)算機(jī)和一計(jì)算機(jī)可讀取介質(zhì),允許該計(jì)算機(jī)從該計(jì)算機(jī)可讀取介質(zhì)中讀取數(shù)據(jù),指令,消息或消息封包,以及其它計(jì)算機(jī)可讀取信息。該計(jì)算機(jī)可讀取介質(zhì)可包括諸如只讀存儲(chǔ)器(ROM),閃存,一硬式或軟式磁盤,一只讀光盤(CD-ROM)或其它永久儲(chǔ)存器。此外,一計(jì)算機(jī)可讀取介質(zhì)可諸如隨機(jī)存取內(nèi)存(RAM),緩沖器,高速緩存,和網(wǎng)絡(luò)電路。再者,該計(jì)算機(jī)可讀取介質(zhì)可包括諸如網(wǎng)絡(luò)鏈路以及/或者一網(wǎng)絡(luò)接口(包括一布線網(wǎng)絡(luò)或一無線網(wǎng)絡(luò))之類允許一計(jì)算機(jī)讀取這類計(jì)算機(jī)可讀取信息的一暫時(shí)狀態(tài)介質(zhì)中的計(jì)算機(jī)可讀取信息。
雖然已經(jīng)舉例及說明目前所考慮的當(dāng)作本發(fā)明的優(yōu)選具體實(shí)施例,但熟習(xí)此項(xiàng)技術(shù)者將了解在不脫離本發(fā)明的真正范圍下,可進(jìn)行各種其它修正,以及替換其等價(jià)。此外,在不脫離此處所述的中心發(fā)明觀念下,可進(jìn)行許多修正而改編本發(fā)明的主旨的一特殊情況。再者,本發(fā)明的具體實(shí)施例可不包括上述所有特性。因此,不希望將本發(fā)明限制于公開的特殊具體實(shí)施例,而希望本發(fā)明包括落在附加的申請(qǐng)專利范圍內(nèi)的所有具體實(shí)施例。
權(quán)利要求
1.一種用于在用戶節(jié)點(diǎn)網(wǎng)絡(luò)中發(fā)現(xiàn)資源的方法,該方法包括步驟在該網(wǎng)絡(luò)的一第一用戶節(jié)點(diǎn)處接收將要公布的一資源請(qǐng)求;確定是否將該資源請(qǐng)求發(fā)送到一服務(wù)器節(jié)點(diǎn);當(dāng)確定不將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)時(shí),通過一直接連接將該資源請(qǐng)求轉(zhuǎn)發(fā)到該網(wǎng)絡(luò)的一第二用戶節(jié)點(diǎn);以及當(dāng)確定要將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)時(shí),將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)以便公布。
2.如權(quán)利請(qǐng)求1所述的方法,其中在該確定步驟中,是否將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)的確定是由第一用戶節(jié)點(diǎn)作出的隨機(jī)決定。
3.如權(quán)利請(qǐng)求2所述的方法,其中在該確定步驟中,該隨機(jī)決定是根據(jù)對(duì)應(yīng)于第一用戶節(jié)點(diǎn)確定將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)的概率的一權(quán)重因子作出的。
4.如權(quán)利請(qǐng)求1所述的方法,其中該轉(zhuǎn)發(fā)步驟包括子步驟隨機(jī)選擇第一用戶節(jié)點(diǎn)所連接的用戶節(jié)點(diǎn)之一作為第二用戶節(jié)點(diǎn);以及通過一直接連接將來自第一用戶節(jié)點(diǎn)的資源請(qǐng)求轉(zhuǎn)發(fā)到第二用戶節(jié)點(diǎn)。
5.如權(quán)利請(qǐng)求1所述的方法,還包括經(jīng)由服務(wù)器節(jié)點(diǎn)將該資源請(qǐng)求公布于網(wǎng)絡(luò)的至少某些用戶節(jié)點(diǎn)的步驟。
6.如權(quán)利請(qǐng)求5所述的方法,其中在該公布步驟中,服務(wù)器節(jié)點(diǎn)將該資源請(qǐng)求公布在網(wǎng)絡(luò)中預(yù)訂一或多個(gè)選定的資源請(qǐng)求信道的所有用戶節(jié)點(diǎn)。
7.如權(quán)利請(qǐng)求1所述的方法,還包括步驟重復(fù)確定及轉(zhuǎn)發(fā)步驟直到在該確定步驟中接收到該資源請(qǐng)求的用戶節(jié)點(diǎn)決定將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)為止。
8.如權(quán)利請(qǐng)求1所述的方法,還包括步驟從想要資源請(qǐng)求的、正在請(qǐng)求的用戶節(jié)點(diǎn),將要公布的資源請(qǐng)求發(fā)送到第一用戶節(jié)點(diǎn);以及將來自正在請(qǐng)求的用戶節(jié)點(diǎn)的同一資源請(qǐng)求發(fā)送到正在請(qǐng)求的用戶節(jié)點(diǎn)通過直接連接所連接的所有用戶節(jié)點(diǎn)。
9.一種用程序進(jìn)行編碼的機(jī)器可讀介質(zhì),該程序用于在用戶節(jié)點(diǎn)的網(wǎng)絡(luò)中發(fā)現(xiàn)資源,該程序包含執(zhí)行以下步驟的指令在網(wǎng)絡(luò)的一第一用戶節(jié)點(diǎn)處接收將要公布的一資源請(qǐng)求;確定是否將該資源請(qǐng)求發(fā)送到一服務(wù)器節(jié)點(diǎn);當(dāng)確定不將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)時(shí),通過一直接連接將該資源請(qǐng)求轉(zhuǎn)發(fā)到該網(wǎng)絡(luò)的一第二用戶節(jié)點(diǎn);以及當(dāng)確定將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)時(shí),將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)以便公布。
10.如權(quán)利請(qǐng)求9所述的機(jī)器可讀介質(zhì),其中在該確定步驟中,是否將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)的確定是由第一用戶節(jié)點(diǎn)作出的隨機(jī)決定。
11.如權(quán)利請(qǐng)求10所述的機(jī)器可讀介質(zhì),其中在該確定步驟中,該隨機(jī)決定是根據(jù)對(duì)應(yīng)于第一用戶節(jié)點(diǎn)確定將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)的概率的一權(quán)重因子而作出的。
12.如權(quán)利請(qǐng)求9所述的機(jī)器可讀介質(zhì),其中該轉(zhuǎn)發(fā)步驟包括以下子步驟隨機(jī)選擇第一用戶節(jié)點(diǎn)所連接的用戶節(jié)點(diǎn)之一作為第二用戶節(jié)點(diǎn);以及通過一直接連接將來自第一用戶節(jié)點(diǎn)的資源請(qǐng)求轉(zhuǎn)發(fā)到第二用戶節(jié)點(diǎn)。
13.如權(quán)利請(qǐng)求9所述的機(jī)器可讀介質(zhì),其中該程序還包括用于執(zhí)行經(jīng)由服務(wù)器節(jié)點(diǎn)將該資源請(qǐng)求公布在網(wǎng)絡(luò)的至少某些用戶節(jié)點(diǎn)的步驟的指令。
14.如權(quán)利請(qǐng)求13所述的機(jī)器可讀介質(zhì),其中在該公布步驟中,服務(wù)器節(jié)點(diǎn)將該資源請(qǐng)求公布在網(wǎng)絡(luò)中以預(yù)訂一或多個(gè)選定的資源請(qǐng)求信道的所有用戶節(jié)點(diǎn)。
15.如權(quán)利請(qǐng)求9的機(jī)器可讀介質(zhì),其中該程序還包括用于執(zhí)行重復(fù)確定及轉(zhuǎn)發(fā)步驟直到在該確定步驟中接收該資源請(qǐng)求的一用戶節(jié)點(diǎn)確定將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)為止的步驟的指令。
16.如權(quán)利請(qǐng)求9所述的機(jī)器可讀介質(zhì),其中該程序還包括用于執(zhí)行以下步驟的指令將來自想要請(qǐng)求資源的一正在請(qǐng)求的用戶節(jié)點(diǎn)的、將要公布的資源請(qǐng)求發(fā)送到第一用戶節(jié)點(diǎn);以及將來自正在請(qǐng)求的用戶節(jié)點(diǎn)的同一資源請(qǐng)求發(fā)送到正在請(qǐng)求的用戶節(jié)點(diǎn)通過直接連接所連接到的所有用戶節(jié)點(diǎn)。
17.一種用在包括多個(gè)用戶節(jié)點(diǎn)和至少一服務(wù)器節(jié)點(diǎn)的計(jì)算機(jī)網(wǎng)絡(luò)中的用戶節(jié)點(diǎn),其中每一用戶節(jié)點(diǎn)通過一直接連接與至少一其它用戶節(jié)點(diǎn)相連接,該用戶節(jié)點(diǎn)包括接收接口,用于接收將要公布的資源請(qǐng)求;控制裝置,用于確定是否將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn);以及至少一傳輸接口,用于通過直接連接有選擇地將該資源請(qǐng)求轉(zhuǎn)發(fā)到該網(wǎng)絡(luò)的一第二用戶節(jié)點(diǎn)或者將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)以便公布;其中當(dāng)該控制裝置決定不將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)時(shí),該傳輸接口將該資源請(qǐng)求轉(zhuǎn)發(fā)到第二用戶節(jié)點(diǎn),而當(dāng)該控制裝置確定將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)時(shí),將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)以便公布。
18.如權(quán)利請(qǐng)求17所述的用戶節(jié)點(diǎn),其中該控制裝置隨機(jī)決定是否將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)。
19.如權(quán)利請(qǐng)求18所述的用戶節(jié)點(diǎn),其中該控制裝置根據(jù)一權(quán)重因子隨機(jī)決定。
20.如權(quán)利請(qǐng)求17所述的用戶節(jié)點(diǎn),其中該控制裝置隨機(jī)選擇該網(wǎng)絡(luò)的其它用戶節(jié)點(diǎn)之一作為該資源請(qǐng)求所轉(zhuǎn)發(fā)的第二用戶節(jié)點(diǎn)。
全文摘要
提供一種用于在用戶節(jié)點(diǎn)網(wǎng)絡(luò)中發(fā)現(xiàn)資源的方法。根據(jù)該方法,在該網(wǎng)絡(luò)的一第一用戶節(jié)點(diǎn)處接收將要公布的資源請(qǐng)求,并且確定(例如隨機(jī)地)是否將該資源請(qǐng)求發(fā)送到一服務(wù)器節(jié)點(diǎn)。當(dāng)確定不將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)時(shí),通過一直接連接將該資源請(qǐng)求轉(zhuǎn)發(fā)到該網(wǎng)絡(luò)的一第二用戶節(jié)點(diǎn)。當(dāng)確定將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)時(shí),將該資源請(qǐng)求發(fā)送到服務(wù)器節(jié)點(diǎn)以便公布。還提供一種用在包括用戶節(jié)點(diǎn)和至少一服務(wù)器節(jié)點(diǎn)的計(jì)算機(jī)網(wǎng)絡(luò)中的用戶節(jié)點(diǎn),其中每一用戶節(jié)點(diǎn)通過一直接連接與至少一其它用戶節(jié)點(diǎn)相連接。
文檔編號(hào)H04L29/06GK1489857SQ0280447
公開日2004年4月14日 申請(qǐng)日期2002年3月18日 優(yōu)先權(quán)日2001年5月7日
發(fā)明者克里斯托弗·R·文森特, 克里斯托弗 R 文森特 申請(qǐng)人:國際商業(yè)機(jī)器公司