專利名稱:根據(jù)結(jié)構(gòu)相關(guān)信息排序文檔的改進(jìn)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及根據(jù)結(jié)構(gòu)相關(guān)的信息排序文檔。更具體而言,本發(fā)明涉及根據(jù)超鏈接信息阻礙親屬或自服務(wù)鏈接的方式而排序網(wǎng)頁。
背景技術(shù):
網(wǎng)頁搜索服務(wù),例如從用戶或應(yīng)用程序接受一個(gè)查詢,并返回搜索結(jié)果的列表,例如滿足該查詢條件的文檔或與文檔的鏈接。應(yīng)該注意到,這里使用的術(shù)語“文檔”指的是能夠檢索的任何內(nèi)容,而不應(yīng)該限制于諸如文字處理文檔或網(wǎng)頁的文檔。為了提供滿意的結(jié)果,當(dāng)考慮到與用戶最相關(guān)的這些文檔應(yīng)該首先出現(xiàn)時(shí),應(yīng)該對(duì)結(jié)果的列表進(jìn)行排序。目前存在大量用于排序文檔的算法,并且絕大多數(shù)的網(wǎng)頁搜索引擎都應(yīng)用若干的這種算法,并根據(jù)不同排序算法所指定的排序組合,對(duì)查詢的結(jié)果進(jìn)行排序。
根據(jù)是否這些現(xiàn)存的大量排序算法為依靠查詢的(也稱為動(dòng)態(tài)的)或查詢獨(dú)立的(也稱為靜態(tài)的),從而能夠?qū)λ鼈冇枰苑诸?。依靠查詢的排序算法在查詢中使用術(shù)語,而查詢獨(dú)立的排序算法則不同于它;即,該查詢的排序算法為萬維網(wǎng)上的每個(gè)文檔分配一個(gè)質(zhì)量分值。因此,能夠有利地提前執(zhí)行查詢獨(dú)立的排序算法,并且不論何時(shí)提交一個(gè)查詢都不需要重新運(yùn)行它。
廣義上,還能夠?qū)⑴判蛩惴ǚ诸悶榛趦?nèi)容、基于使用和基于鏈接的排序算法?;趦?nèi)容的排序算法使用文檔中的單詞來排序文檔(例如,依靠查詢的基于內(nèi)容的排序算法可能提前給在文檔中包含查詢術(shù)語的這些文檔較高的分值,或巨大的字體或黑體字體)。基于使用的排序算法根據(jù)對(duì)網(wǎng)頁瀏覽頻率的估計(jì)而排序該網(wǎng)頁;通過檢查萬維網(wǎng)代理日志或者監(jiān)測(cè)在搜索引擎結(jié)果頁面上的點(diǎn)擊,從而能夠產(chǎn)生這些估計(jì)。最后,基于鏈接的排序算法使用網(wǎng)頁之間的超鏈接以排序網(wǎng)頁。
例如,通過這種想法即來自其它指向一個(gè)頁面的其它頁面的鏈接“簽注”該頁面,基于非常自然的靜態(tài)鏈接的排序算法可能給每個(gè)網(wǎng)頁分配一個(gè)與指向該網(wǎng)頁的鏈接(“后鏈”)數(shù)量成比例的分值。例如,如圖1A中所示,網(wǎng)頁A、B、C和D每個(gè)都包含三個(gè)與其它網(wǎng)頁的鏈接(“外鏈”),如網(wǎng)頁中黑色矩形所表示的。在該實(shí)例中,使用基于靜態(tài)鏈接的排序算法,頁面D接收低于頁面C的分值,因?yàn)轫撁鍰沒有任何后鏈,而頁面C有一個(gè)來自頁面B的后鏈L2和一個(gè)來自頁面A的后鏈L1。應(yīng)該注意到,下載完頁面A、B、C和D之后,由于能夠閱讀這些頁面,從而確定每個(gè)頁面具有多少外鏈,它們鏈接到哪里,但是仍然可能存在來自一些還未知位置的一些未知的后鏈,諸如后鏈LU,這些后鏈不能夠被作為算法中的因數(shù)。該自然解決途徑的主要缺陷是,平等地對(duì)待每個(gè)“簽注文檔”,以采用一種簡(jiǎn)單的系統(tǒng)。
到目前為止,頁面排序?yàn)樽钍熘幕诓樵儶?dú)立鏈接的排序算法,因此在這里將闡述其原理。頁面排序建立在圖1A所示的通過添加一個(gè)遞歸層到該系統(tǒng)而形成的基于自然靜態(tài)鏈接的系統(tǒng)原理的基礎(chǔ)之上。如圖1B所示例,其中示例了四個(gè)網(wǎng)頁,并示出了頁面排序的直覺知識(shí)。利用頁面排序,當(dāng)給簽注的頁面分配一個(gè)分值時(shí),考慮簽注頁面的分值。因此,來自網(wǎng)頁E(分值為100)的簽注權(quán)值對(duì)給網(wǎng)頁G分配的分值,比來自網(wǎng)頁F(分值為9)的簽注值其影響更大。直覺上看,能夠想到在其被簽注者之間細(xì)分的簽注頁面的分值。
從數(shù)學(xué)上分析,頁面排序算法的直覺知識(shí)能夠作如下解釋假設(shè)該組已知網(wǎng)頁及其之間的鏈接歸納為具有頂點(diǎn)集合V(其中每個(gè)頂點(diǎn)對(duì)應(yīng)于一個(gè)網(wǎng)頁)和邊緣集合E(其中每個(gè)邊緣(u,v)對(duì)應(yīng)于從頁面u到頁面v的一個(gè)超級(jí)連接)的一幅圖。并讓|V|表示集合V的大小,讓O(u)表示集合u的出度程度(即,嵌入網(wǎng)頁u中的超鏈接數(shù)量),以及讓p為0到1之間的一個(gè)數(shù)(如,0.15)。網(wǎng)頁v的頁面排序R(v)定義為R(v)=p|V|+(1-p)Σ(u,v)∈ER(u)O(u)]]>頁面排序公式通常如下解釋。假想一個(gè)在萬維網(wǎng)上進(jìn)行隨意行進(jìn)的萬維網(wǎng)沖浪者。在沿著行進(jìn)的每一步,該沖浪者從一個(gè)網(wǎng)頁移動(dòng)到另一個(gè)網(wǎng)頁,其使用如下的算法利用某概率p,沖浪者隨機(jī)地均勻選擇一個(gè)網(wǎng)頁并跳到該網(wǎng)頁;否則,該沖浪者在當(dāng)前網(wǎng)頁中隨機(jī)地均勻選擇一個(gè)出局超鏈接并跟隨它。由于該比喻,數(shù)量p有時(shí)候被稱作“跳躍概率”—該概率為沖浪者將跳到一個(gè)完全隨機(jī)頁面的概率。如果網(wǎng)頁沖浪者利用概率p跳躍且有|V|個(gè)網(wǎng)頁,跳到特定頁面的概率將為p/|V|。由于通過跳躍能夠檢索任何的頁面,因此每個(gè)頁面都被賦予一個(gè)至少為p/|V|的分值。
頁面排序分值能夠用于排序查詢結(jié)果。利用所有其它相同的因數(shù),應(yīng)用頁面排序的搜索引擎將對(duì)高于具備較低分值頁面的具備高頁面排序分值的頁面進(jìn)行排序。由于搜索引擎的絕大多數(shù)用戶只檢查首先出現(xiàn)的少數(shù)結(jié)果,商業(yè)網(wǎng)站的運(yùn)營商具有既定的利益,即與其站點(diǎn)的鏈接則提前出現(xiàn)在檢索結(jié)果列表中,也就是說,它們的網(wǎng)頁接收高的頁面排序分值。換言之,商業(yè)網(wǎng)站運(yùn)營商具備人工增加其網(wǎng)站上頁面的頁面排序分值的動(dòng)機(jī)。
通過分析頁面排序公式,將變得顯而易見的是,一種增加網(wǎng)頁v的頁面排序分值的方法為將許多的其它網(wǎng)頁鏈接到該網(wǎng)頁。這是因?yàn)榫W(wǎng)頁能夠經(jīng)由其外鏈簽注其它網(wǎng)頁的思想是頁面排序的核心。如果所有鏈接到v的網(wǎng)頁的頁面排序分值較低,則每一個(gè)單獨(dú)的網(wǎng)頁將會(huì)貢獻(xiàn)甚微。但是,由于每個(gè)網(wǎng)頁被賦予具備最小的頁面排序分值p/|V|,因此,來自許多這些低質(zhì)量網(wǎng)頁的鏈接仍舊能夠貢獻(xiàn)可觀的總量。這揭露了頁面排序算法的弱點(diǎn)。
實(shí)際上,頁面排序的弱點(diǎn)是由網(wǎng)站所開發(fā)的,這些網(wǎng)站包含了大量的頁面集合,其唯一的目的在于“簽注”網(wǎng)站的主頁。典型地,這些簽注的頁面包含了與將要簽注頁面的鏈接,以及與其它簽注頁面的其它鏈接。所有的簽注頁面在空閑時(shí)間中自動(dòng)地創(chuàng)建。因此,一旦萬維網(wǎng)瀏覽器已經(jīng)在任何的簽注頁面上失敗,它將繼續(xù)下載更多的簽注網(wǎng)頁(這是因?yàn)楹炞㈨撁骀溄拥狡渌炞㈨撁?,從而累積了大量的頁面。該大量的頁面,其中所有的頁面都簽注了一個(gè)頁面,并人工地提高了被簽注的該頁面的頁面排序分值。用于人工提高頁面排序分值的技術(shù)通俗地已知為“鏈接兜售信息”。
另外,還已知了個(gè)性化的頁面排序分值能夠根據(jù)特定的方法創(chuàng)建一個(gè)萬維網(wǎng)的視圖。例如,通過采用用戶書簽和提高用戶書簽中這些頁面的頁面排序分值,可以實(shí)現(xiàn)個(gè)性化的頁面排序計(jì)分系統(tǒng)。本質(zhì)上,指定一個(gè)網(wǎng)頁作為書簽的用戶,已經(jīng)隱含地將該網(wǎng)頁簽注作為一個(gè)書簽,因此用戶愿意將該書簽作為計(jì)分系統(tǒng)的基礎(chǔ)。當(dāng)用戶很少愿意選擇一個(gè)“鏈接兜售信息”頁面作為書簽時(shí),不管許多“鏈接兜售信息”頁面如何,個(gè)性化的頁面排序思想不能明確地處理鏈接兜售信息的問題,這是因?yàn)槿耘f有一個(gè)最低分值與每個(gè)鏈接兜售信息網(wǎng)頁相關(guān)聯(lián)。
因此,當(dāng)基本思想正確時(shí),頁面排序的結(jié)果受到了親屬關(guān)系鏈接所引起干擾的影響,即,為了自簽注和促進(jìn)的目的,能夠創(chuàng)建頁面家族,而不考慮簽注者或被簽注者的實(shí)際價(jià)值。盡管已知了鏈接兜售信息相對(duì)于頁面排序分值而存在的問題,但是解決方案已經(jīng)避開了現(xiàn)有技術(shù)。
因此,期望一種改進(jìn)的基于查詢獨(dú)立鏈接的排序算法。更具體而言,期望一種顯著減少親屬鏈接的影響而改進(jìn)的排序系統(tǒng)和方法。而且,期望一種改進(jìn)的排序系統(tǒng)和方法,以減少鏈接兜售者為了人工提高與目標(biāo)網(wǎng)頁被簽注者相關(guān)聯(lián)的頁面排序分值而創(chuàng)建自簽注網(wǎng)頁家族的動(dòng)機(jī)。
發(fā)明內(nèi)容
考慮到上述現(xiàn)有技術(shù)的缺陷,本發(fā)明提供了用于根據(jù)有關(guān)文檔的結(jié)構(gòu)相關(guān)信息而排序文檔的系統(tǒng)和方法。本發(fā)明的系統(tǒng)和方法能夠用于根據(jù)超鏈接信息,以一種阻礙親屬關(guān)系鏈接的方式而排序網(wǎng)頁。在各種實(shí)施例中,在網(wǎng)頁搜索服務(wù)中實(shí)現(xiàn)本發(fā)明以返回質(zhì)量查詢結(jié)果。本發(fā)明致力于用于網(wǎng)頁的現(xiàn)有排序算法諸如頁面排序的弱點(diǎn),其中為了提高目標(biāo)頁面分值的單一目的而人工產(chǎn)生了這些網(wǎng)頁。直覺上,本發(fā)明意識(shí)到,較到達(dá)具有很少網(wǎng)頁的萬維網(wǎng)服務(wù)器上的特定網(wǎng)頁而言,經(jīng)過隨機(jī)的跳躍,到達(dá)具有許多網(wǎng)頁的萬維網(wǎng)服務(wù)器上的特定網(wǎng)頁的可能性更小,這意味著減少了這種網(wǎng)頁對(duì)通過鏈接到、或簽注其它網(wǎng)頁的另一個(gè)網(wǎng)頁的影響。因此,在各種非限制性的實(shí)施例中,本發(fā)明為每個(gè)萬維網(wǎng)服務(wù)器,而不是每個(gè)網(wǎng)頁分配了一個(gè)所賦予的最小分值。然后,在該萬維網(wǎng)服務(wù)器的所有頁面中能夠?qū)⒎峙浣o服務(wù)器的該最小分值進(jìn)行細(xì)分。
以下描述本發(fā)明的其它優(yōu)點(diǎn)和特征。
以下將參考附圖進(jìn)一步描述根據(jù)本發(fā)明用于提供改進(jìn)的排序算法的系統(tǒng)和方法,其中圖1A和1B分別示例了根據(jù)基于靜態(tài)鏈接和頁面排序的算法用于排序網(wǎng)頁的現(xiàn)有技術(shù);
圖2A所示為包括各種計(jì)算機(jī)設(shè)備的示意性網(wǎng)絡(luò)環(huán)境的方框圖,其中在該計(jì)算機(jī)設(shè)備中可以實(shí)現(xiàn)本發(fā)明;圖2B所示為其中可以實(shí)現(xiàn)本發(fā)明的非限制性計(jì)算機(jī)設(shè)備的方框圖;圖3A和3B示例了根據(jù)本發(fā)明在防止鏈接兜售信息之后的直覺知識(shí);以及圖4A到4C示例了在搜索引擎應(yīng)用程序中示意性地實(shí)現(xiàn)本發(fā)明的各種實(shí)施例。
具體實(shí)施例方式
概述如上所述,頁面排序算法采取大膽的任務(wù)將萬維網(wǎng)上的每個(gè)頁面壓縮到單個(gè)數(shù)量,即頁面的頁面排序。頁面排序?yàn)閮H僅基于網(wǎng)頁在萬維網(wǎng)圖形結(jié)構(gòu)中的位置對(duì)所有網(wǎng)頁的全局排序,而不考慮其內(nèi)容如何。
使用頁面排序,對(duì)搜索結(jié)果進(jìn)行排序,從而給更重要和中心的網(wǎng)頁分配優(yōu)先權(quán)。在頁面排序后的直覺知識(shí)就是,它使用網(wǎng)頁本身之外的信息—提供同級(jí)評(píng)審的網(wǎng)頁后鏈。而且,通過遞歸定義,考慮來自“重要”網(wǎng)頁的后鏈比來自普通鏈接的后鏈更重要。
另外,還已知了個(gè)性化頁面排序分值能夠根據(jù)特定的方法創(chuàng)建萬維網(wǎng)的視圖,例如通過采用用戶書簽和提高用戶書簽中這些網(wǎng)頁的頁面排序分值;但是,個(gè)性化頁面排序不能明確地處理鏈接兜售信息的問題,這是因?yàn)槿耘f存在一個(gè)與每個(gè)鏈接兜售信息網(wǎng)頁相關(guān)聯(lián)的最小分值。因此,鏈接兜售信息者仍然能夠在單個(gè)萬維網(wǎng)服務(wù)器上(如果想要,自動(dòng)地)創(chuàng)建大量的網(wǎng)頁,每個(gè)網(wǎng)頁具有其自己的最小頁面排序分值,從而通過簽注每個(gè)其它的目標(biāo)被簽注者網(wǎng)頁,人工地提高了目標(biāo)被簽注者網(wǎng)頁的分值。一個(gè)鏈接兜售信息者典型創(chuàng)建以下其中的任何一個(gè)或多個(gè)(A)將具有相同符號(hào)的主機(jī)名,(B)將與相同的域相關(guān)聯(lián),或(C)將與相同的IP地址相關(guān)聯(lián)的大量網(wǎng)頁。
本發(fā)明通過意識(shí)到較隨機(jī)跳將到達(dá)具有很少頁面的萬維網(wǎng)服務(wù)器上的特定頁面而言,它將會(huì)到達(dá)具有許多頁面的萬維網(wǎng)服務(wù)器上的特定頁面的可能性更小,從而致力于該弱點(diǎn)。這意味著減少了這種頁面對(duì)通過鏈接到、或簽注其它頁面的另一個(gè)頁面的影響。因此,在各種非限制性的實(shí)施例中,本發(fā)明為每個(gè)萬維網(wǎng)服務(wù)器,而不是每個(gè)網(wǎng)頁分配了一個(gè)所賦予的最小分值。然后,在該萬維網(wǎng)服務(wù)器的所有頁面中能夠?qū)⒃撟钚》种颠M(jìn)行細(xì)分。
示意性聯(lián)網(wǎng)和分布式的環(huán)境本領(lǐng)域的普通技術(shù)人員能夠理解,本發(fā)明能夠結(jié)合任何計(jì)算機(jī)或任何客戶機(jī)或服務(wù)器設(shè)備,或在分布式計(jì)算環(huán)境中予以實(shí)現(xiàn),其中這些設(shè)備配置作為計(jì)算機(jī)網(wǎng)絡(luò)的一部分。有關(guān)與此,本發(fā)明涉及具備任何數(shù)量存儲(chǔ)器或存儲(chǔ)單元的任何計(jì)算機(jī)系統(tǒng)或環(huán)境,在任何數(shù)量的存儲(chǔ)單元或容量中發(fā)生的任何數(shù)量的應(yīng)用程序和方法,這些程序可能結(jié)合根據(jù)本發(fā)明而排序文檔的方法來使用。本發(fā)明可應(yīng)用于具備在網(wǎng)絡(luò)環(huán)境或分布式計(jì)算環(huán)境下而配置的服務(wù)器計(jì)算機(jī)和客戶端計(jì)算機(jī)的環(huán)境中,其中上述計(jì)算機(jī)具有遠(yuǎn)程或本地存儲(chǔ)器。本發(fā)明還可以應(yīng)用于獨(dú)立的計(jì)算設(shè)備中,該設(shè)備具有程序語言的功能、解釋程序和產(chǎn)生、接收和發(fā)送與遠(yuǎn)程或本地服務(wù)有關(guān)信息的執(zhí)行能力。下載和分析網(wǎng)頁尤其與在網(wǎng)絡(luò)中或分布式計(jì)算環(huán)境中運(yùn)行的這些計(jì)算設(shè)備有關(guān),因此,根據(jù)本發(fā)明的排序算法和技術(shù)能夠以最高的效率應(yīng)用于這些環(huán)境中。
分布式計(jì)算通過在計(jì)算設(shè)備和系統(tǒng)之間進(jìn)行交換從而提供了計(jì)算機(jī)資源和服務(wù)的共享。這些資源和服務(wù)包括信息交換、用于文檔的緩存存儲(chǔ)器和磁存儲(chǔ)器。分布式計(jì)算利用網(wǎng)絡(luò)互連的優(yōu)點(diǎn),允許客戶端平衡其集體的力量以使整個(gè)企業(yè)受益。為此,各種設(shè)備可能具有可以包含本發(fā)明排序算法和方法的應(yīng)用程序、對(duì)象或資源。
圖2A提供了示意性聯(lián)網(wǎng)或分布式計(jì)算環(huán)境的示意圖。分布式計(jì)算環(huán)境包括計(jì)算對(duì)象10a、10b等等,以及計(jì)算對(duì)象或設(shè)備110a、110b、110c等等。這些對(duì)象可能包括程序、方法、數(shù)據(jù)存儲(chǔ)器、可編程的邏輯等等。該對(duì)象可包括相同或不同設(shè)備的一部分,諸如PDA、電視機(jī)、MP3播放器、個(gè)人計(jì)算機(jī)等等。每個(gè)對(duì)象能夠與另一個(gè)對(duì)象通過通信網(wǎng)絡(luò)14的方式進(jìn)行通信。該網(wǎng)絡(luò)可能本身包括其它的計(jì)算對(duì)象和提供服務(wù)給圖2A中所示系統(tǒng)的計(jì)算設(shè)備,以及本身表示多個(gè)互連的網(wǎng)絡(luò)。根據(jù)本發(fā)明的一個(gè)方面,每個(gè)對(duì)象10a、10b等等或110a、110b、110c等等,可能包含一個(gè)應(yīng)用程序,該程序可能使用API,或其它對(duì)象、軟件、固件和/或硬件,以請(qǐng)求使用根據(jù)本發(fā)明的排序方法。
而且還能夠理解,一個(gè)對(duì)象諸如110c,可能主管另一個(gè)計(jì)算設(shè)備10a、10b等等或110a、110b等等。因此,盡管所描繪的物理環(huán)境可能示出互連的設(shè)備,如計(jì)算機(jī),但是這種示例僅僅是示意性的,并且可替換地描繪或描述物理環(huán)境,其包括各種數(shù)字設(shè)備,諸如PDA、電視機(jī)、MP3播放器等等,以及諸如接口、COM對(duì)象等等的軟件對(duì)象。
存在各種支持分布式計(jì)算環(huán)境的系統(tǒng)、組件和網(wǎng)絡(luò)結(jié)構(gòu)。例如,可以通過有線或無線系統(tǒng)、本地網(wǎng)或廣域分布的網(wǎng)絡(luò)將這些計(jì)算系統(tǒng)連接在一起。目前,許多網(wǎng)絡(luò)都耦接到因特網(wǎng)上,并且在因特網(wǎng)上提供了用于廣域分布計(jì)算的基礎(chǔ)設(shè)施并包含了許多不同的網(wǎng)絡(luò)。任何的基礎(chǔ)設(shè)施都可以用于示意性的根據(jù)本發(fā)明的與排序文檔相關(guān)聯(lián)的通信,這些文檔具有相關(guān)的鏈接。
在本地網(wǎng)絡(luò)互連環(huán)境中,存在至少四個(gè)完全不同的每個(gè)都支持獨(dú)特協(xié)議的網(wǎng)絡(luò)傳輸媒體,諸如電源線、數(shù)據(jù)(無線和有線)、聲音(例如電話)以及娛樂媒體。大多數(shù)本地控制設(shè)備諸如光開關(guān)和設(shè)備可以使用電源線來連接。數(shù)據(jù)服務(wù)作為寬帶(例如,DSL或電纜調(diào)制解調(diào)器)可進(jìn)入到家庭中,以及可使用無線(例如,家庭射頻或802.11B)或有線(例如,家庭PNA,Cat5、以太網(wǎng)、甚至電源線)連接在家庭內(nèi)訪問該數(shù)據(jù)服務(wù)。話音業(yè)務(wù)通過有線(例如,Cat3)或無線(例如,蜂窩電話)等方式可以進(jìn)入到家庭,并且使用Cat3線路在家庭中進(jìn)行布線。娛樂媒體或其它圖形數(shù)據(jù)可以通過衛(wèi)星或電纜進(jìn)入家庭,并典型地使用同軸電纜在家庭中布線。而且,IEEE1394和DVI為用于媒體設(shè)備簇的數(shù)字互連。所有的這些網(wǎng)絡(luò)環(huán)境和其它的可作為協(xié)議標(biāo)準(zhǔn)出現(xiàn)的網(wǎng)絡(luò)環(huán)境都可以互連形成一個(gè)網(wǎng)絡(luò),諸如企業(yè)內(nèi)部互聯(lián)網(wǎng),該網(wǎng)通過因特網(wǎng)而連接到外界。簡(jiǎn)而言之,為了數(shù)據(jù)存儲(chǔ)和傳輸,存在各種完全不同的資源,因此,在將來,計(jì)算設(shè)備將需要共享數(shù)據(jù)諸如與程序?qū)ο箨P(guān)聯(lián)的被訪問或被使用數(shù)據(jù)的方法,這些方法使用根據(jù)本發(fā)明的排序技術(shù)。
因特網(wǎng)通常指使用計(jì)算機(jī)網(wǎng)絡(luò)互連領(lǐng)域中所熟知的TCP/IP協(xié)議組的網(wǎng)絡(luò)和網(wǎng)關(guān)的集合。TCP/IP為“傳輸控制協(xié)議/網(wǎng)際協(xié)議”的首字母縮寫詞。能夠?qū)⒁蛱鼐W(wǎng)描述為通過執(zhí)行聯(lián)網(wǎng)協(xié)議的計(jì)算機(jī)互連的、在地理上分布的遠(yuǎn)程計(jì)算機(jī)網(wǎng)絡(luò)的系統(tǒng),聯(lián)網(wǎng)協(xié)議允許用戶相互作用并共享網(wǎng)絡(luò)信息。由于這些廣泛分布的信息共享,諸如因特網(wǎng)的遠(yuǎn)程網(wǎng)絡(luò)因此目前演化為開放式系統(tǒng),開發(fā)人員可以為該系統(tǒng)設(shè)計(jì)各種執(zhí)行具體操作或服務(wù)的、而基本上毫無限制的軟件應(yīng)用程序。
因此,網(wǎng)絡(luò)基礎(chǔ)設(shè)施允許網(wǎng)絡(luò)拓?fù)?,諸如客戶機(jī)/服務(wù)器、點(diǎn)對(duì)點(diǎn)或混合體系結(jié)構(gòu)的主機(jī)操作。“客戶機(jī)”為一類或一組使用與其不相關(guān)的另一類或另一組服務(wù)的一員。因此,在計(jì)算中,客戶機(jī)為一個(gè)請(qǐng)求另一個(gè)程序所提供服務(wù)的進(jìn)程,即一般來說為一組指令或任務(wù)。該客戶機(jī)進(jìn)程使用所請(qǐng)求的服務(wù)而不必“知道”任何有關(guān)其它程序或服務(wù)本身的工作細(xì)節(jié)。在客戶機(jī)/服務(wù)器體系結(jié)構(gòu)中,尤其是在一個(gè)聯(lián)網(wǎng)系統(tǒng)中,客戶機(jī)通常為訪問另一個(gè)計(jì)算機(jī),例如服務(wù)器,而提供的共享網(wǎng)絡(luò)資源的計(jì)算機(jī)。在圖2A的實(shí)例中,能夠?qū)⒂?jì)算機(jī)110a、110b等等考慮作為客戶機(jī),以及將計(jì)算機(jī)10a、10b等等考慮作為服務(wù)器,這里服務(wù)器10a、10b等等保存接下來在客戶機(jī)計(jì)算機(jī)110a、110b等等中復(fù)制的數(shù)據(jù),盡管能夠根據(jù)具體情況而將任何計(jì)算機(jī)考慮作為客戶機(jī)、服務(wù)器或二者兼有。任何這些計(jì)算可以處理數(shù)據(jù)或請(qǐng)求可能包含本發(fā)明排序技術(shù)的服務(wù)或任務(wù)。
服務(wù)器典型為在遠(yuǎn)程或本地網(wǎng)絡(luò),諸如在因特網(wǎng)上可訪問的遠(yuǎn)程計(jì)算機(jī)系統(tǒng)。在第一計(jì)算機(jī)系統(tǒng)中可能激活客戶機(jī)進(jìn)程,在第二計(jì)算機(jī)系統(tǒng)中可能激活服務(wù)器進(jìn)程,它們?cè)谕ㄐ沤橘|(zhì)上相互通信,并因此提供分布式功能和允許多個(gè)客戶機(jī)利用服務(wù)器的信息收集功能。任何被使用的按照本發(fā)明排序技術(shù)的軟件對(duì)象可能分布于整個(gè)多計(jì)算設(shè)備或?qū)ο笾小?br>
客戶機(jī)和服務(wù)器使用協(xié)議層提供的功能相互通信。例如,超文本傳輸協(xié)議(HTTP)為結(jié)合萬維網(wǎng)(WWW)或“環(huán)球網(wǎng)”所使用的普通協(xié)議。典型地,諸如因特網(wǎng)協(xié)議(IP)地址或其它參照,諸如統(tǒng)一資源定位符(URL)的計(jì)算機(jī)網(wǎng)絡(luò)地址能夠用于相互識(shí)別服務(wù)器或客戶端計(jì)算機(jī)。網(wǎng)絡(luò)地址能夠稱之為URL地址。在通信介質(zhì)上能夠提供通信,例如,客戶機(jī)和服務(wù)器可以經(jīng)由TCP/IP連接彼此耦合用于高容量通信。
因此,圖2A通過一個(gè)服務(wù)器經(jīng)由網(wǎng)絡(luò)/總線與客戶端計(jì)算機(jī)通信,示例了示意性的聯(lián)網(wǎng)或分布式的環(huán)境,以及本發(fā)明可以應(yīng)用于該環(huán)境中。更具體而言,根據(jù)本發(fā)明,大量的服務(wù)器10a、10b等等經(jīng)由通信網(wǎng)絡(luò)/總線14,例如LAN、WAN、企業(yè)內(nèi)部互聯(lián)網(wǎng)、因特網(wǎng)等等,與大量的客戶機(jī)或遠(yuǎn)程計(jì)算設(shè)備110a、110b、110c、110d、110e等等,諸如便攜式計(jì)算機(jī)、掌上電腦、瘦型客戶機(jī)、聯(lián)網(wǎng)設(shè)備或其它設(shè)備,諸如VCR、TV、烘箱、燈、加熱器等等進(jìn)行互連。因此應(yīng)該理解,本發(fā)明可以應(yīng)用于任何計(jì)算設(shè)備中,結(jié)合該計(jì)算設(shè)備,期望實(shí)現(xiàn)對(duì)具備結(jié)構(gòu)相關(guān)鏈接的文檔進(jìn)行排序。
在一種網(wǎng)絡(luò)環(huán)境中,通信網(wǎng)絡(luò)/總線14為因特網(wǎng),例如,服務(wù)器10a、10b等等能夠?yàn)榻?jīng)由許多已知協(xié)議諸如HTTP與客戶機(jī)110a、110b、110c、110d、110e等等通信的萬維網(wǎng)服務(wù)器。服務(wù)器10a、10b等等還可以用作客戶機(jī)110a、110b、110c、110d、110e等等,這可以作為分布式計(jì)算環(huán)境的特征。
在合適的時(shí)候,通信可能為有線或無線的。客戶機(jī)設(shè)備110a、110b、110c、110d、110e等等可以或不可以經(jīng)由通信網(wǎng)絡(luò)/總線14進(jìn)行通信,并且可能具有與其相關(guān)的獨(dú)立通信。例如,在TV或VCR的情況下,對(duì)于其控制而言,可能存在或不可能存在聯(lián)網(wǎng)的方面。每個(gè)客戶端計(jì)算機(jī)110a、110b、110c、110d、110e等等以及服務(wù)器計(jì)算機(jī)10a、10b等等可以裝備有各種應(yīng)用程序模塊或?qū)ο?35,以及對(duì)各種類型存儲(chǔ)單元或?qū)ο蟮倪B接或訪問,在該存儲(chǔ)單元或?qū)ο笊峡梢源鎯?chǔ)文檔或數(shù)據(jù)流,或可以下載、傳輸或移動(dòng)文檔或數(shù)據(jù)流的一部分到其上。任何一個(gè)或多個(gè)計(jì)算機(jī)10a、10b、110a、110b等等可負(fù)責(zé)維護(hù)和更新數(shù)據(jù)庫20或其它存儲(chǔ)單元,諸如數(shù)據(jù)庫或存儲(chǔ)器20,其用于存儲(chǔ)根據(jù)發(fā)明處理的數(shù)據(jù)。因此,本發(fā)明能夠用于計(jì)算網(wǎng)絡(luò)環(huán)境中,該網(wǎng)絡(luò)環(huán)境包括客戶端計(jì)算機(jī)110a、110b等等和服務(wù)器計(jì)算機(jī)10a、10b等等以及其它類似的設(shè)備和數(shù)據(jù)庫20,該客戶端計(jì)算機(jī)能夠訪問和與計(jì)算機(jī)網(wǎng)絡(luò)/總線14相互作用,服務(wù)器計(jì)算機(jī)可以與客戶端計(jì)算機(jī)110a、110b等等相互作用。
示意性的計(jì)算設(shè)備圖2B和以下討論旨在提供將本發(fā)明予以結(jié)合實(shí)現(xiàn)的合適計(jì)算環(huán)境的簡(jiǎn)要普遍描述。但是,應(yīng)該理解,期待結(jié)合本發(fā)明而使用手持、便攜式和其它計(jì)算設(shè)備和所有類型的計(jì)算對(duì)象,即在計(jì)算環(huán)境中與網(wǎng)頁或其它結(jié)構(gòu)相關(guān)文檔接口的任何地方。盡管以下描述了通用目的的計(jì)算機(jī),但是這僅僅作為一個(gè)實(shí)例,本發(fā)明也可以利用一個(gè)瘦型客戶機(jī)實(shí)現(xiàn),該客戶機(jī)具備網(wǎng)絡(luò)/總線互操作性和相互作用。因此,本發(fā)明可以在聯(lián)網(wǎng)主機(jī)服務(wù)的環(huán)境中予以實(shí)現(xiàn),在該服務(wù)中包含了幾乎很少或最小的客戶機(jī)資源,例如客戶機(jī)設(shè)備僅僅用作與網(wǎng)絡(luò)/總線的接口的聯(lián)網(wǎng)環(huán)境,諸如位于設(shè)備中的一個(gè)對(duì)象。本質(zhì)上,存儲(chǔ)數(shù)據(jù)的任何地方或從任何地方檢索數(shù)據(jù)或從其發(fā)送數(shù)據(jù)到其它計(jì)算機(jī),為期望或適合的用于運(yùn)行根據(jù)本發(fā)明排序技術(shù)的環(huán)境。
盡管不是所需要的,但是本發(fā)明能夠經(jīng)由一個(gè)操作系統(tǒng)而實(shí)現(xiàn),該系統(tǒng)用于設(shè)備或?qū)ο蟮姆?wù)開發(fā)者所使用,和/或包括在結(jié)合本發(fā)明排序技術(shù)操作的應(yīng)用軟件中。軟件通常可以在計(jì)算機(jī)可執(zhí)行指令的環(huán)境中,諸如在一個(gè)或多個(gè)計(jì)算機(jī)諸如客戶機(jī)工作站、服務(wù)器或其它設(shè)備所執(zhí)行的程序模塊中描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。典型地,如在各種實(shí)施例中所述,可以組合或分布程序模塊的功能。而且,本領(lǐng)域的普通技術(shù)人員將會(huì)理解,可以利用其它計(jì)算機(jī)系統(tǒng)配置和協(xié)議來實(shí)踐本發(fā)明。其它熟知的適于本發(fā)明所使用的計(jì)算系統(tǒng)、環(huán)境、和/或配置包括,但不限制于,個(gè)人計(jì)算機(jī)(PC)、自動(dòng)柜員機(jī)、服務(wù)器計(jì)算機(jī)、手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程的消費(fèi)電子、網(wǎng)絡(luò)PC、家用電器、燈、環(huán)境控制元件、微計(jì)算機(jī)、大型計(jì)算機(jī)等等。本發(fā)明還可以在分布式計(jì)算環(huán)境中予以實(shí)踐,在該環(huán)境中由遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù),該設(shè)備通過通信網(wǎng)絡(luò)/總線或其它數(shù)據(jù)傳輸介質(zhì)鏈接在一起。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中,以及客戶機(jī)節(jié)點(diǎn)可輪流作為服務(wù)器節(jié)點(diǎn)。
圖2B示例了可以實(shí)現(xiàn)發(fā)明的合適計(jì)算系統(tǒng)環(huán)境100的一個(gè)實(shí)例,盡管如上清楚所述,但是計(jì)算系統(tǒng)環(huán)境100僅僅作為合適計(jì)算環(huán)境的一個(gè)實(shí)例,并無意圖建議作為本發(fā)明使用范圍或功能的任何限制。因此,也不應(yīng)該將計(jì)算環(huán)境100解釋為具備任何獨(dú)立性或與示意性操作環(huán)境100中所示例的任何一個(gè)組件或其組合有關(guān)的要求。
參考圖2B,用于實(shí)現(xiàn)本發(fā)明的示意性系統(tǒng)包括計(jì)算機(jī)110形式的通用目的的計(jì)算設(shè)備。計(jì)算機(jī)110的組件包括但不限制于,處理單元120、系統(tǒng)存儲(chǔ)器130、用于將各種系統(tǒng)組件包括系統(tǒng)存儲(chǔ)器耦合到處理單元120的系統(tǒng)總線121。該系統(tǒng)總線121可以為任何若干類型的總線結(jié)構(gòu),包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外設(shè)總線、使用任何的各種總線結(jié)構(gòu)的本地總線。通過實(shí)例而不是限制的方式,這些體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、微通道結(jié)構(gòu)(MCA)總線、增強(qiáng)ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)本地總線、和外設(shè)互連(PCI)總線(還已知為Mezzanine總線)。
計(jì)算機(jī)110典型包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)能夠?yàn)橛?jì)算機(jī)110可存取的任何可用介質(zhì),并且包括易失性和非易失性介質(zhì),可移動(dòng)的和不可移動(dòng)的介質(zhì)。通過實(shí)例而不是限制的方式,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何信息存儲(chǔ)方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性介質(zhì),可移動(dòng)和不可移動(dòng)的介質(zhì),該信息諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限制于,RAM、ROM、EEPROM、閃存或其它存儲(chǔ)技術(shù)、CDROM、數(shù)字光盤(DVD)或其它光盤存儲(chǔ)器、磁性盒式磁帶、磁帶、磁盤存儲(chǔ)器或其它磁盤存儲(chǔ)設(shè)備、或任何其它能夠用于存儲(chǔ)想要信息并由計(jì)算機(jī)110存取的介質(zhì)。通信介質(zhì)典型地包含計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或已調(diào)制數(shù)據(jù)信號(hào),諸如載波或其它傳輸機(jī)制中的其它數(shù)據(jù),并包括任何信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”指的是,具有以一種方式設(shè)置或改變的一個(gè)或更多特性的信號(hào),以通過這種方式編碼信號(hào)中的信息。通過實(shí)例而不是限制的方式,通信介質(zhì)包括有線介質(zhì)諸如有線網(wǎng)絡(luò)或直接的有線連接,以及無線介質(zhì),諸如聲音、射頻、紅外或其它無線介質(zhì)。任何上述介質(zhì)的組合也都應(yīng)該包括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。
系統(tǒng)存儲(chǔ)器130包括易失性和/或非易失性存儲(chǔ)器,諸如只讀存儲(chǔ)器(ROM)131和隨機(jī)訪問存儲(chǔ)器(RAM)132形式的計(jì)算機(jī)存儲(chǔ)介質(zhì)?;据斎?輸出系統(tǒng)133(BIOS)包含幫助在計(jì)算機(jī)110的組件之間,諸如在啟動(dòng)過程中傳送信息的基本例程,并且該系統(tǒng)被典型地存儲(chǔ)在ROM131中。RAM132典型包含處理單元120立即訪問和/或不久由處理單元運(yùn)行的數(shù)據(jù)和/或程序模塊。通過實(shí)例而不是限制的方式,圖2B示例了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計(jì)算機(jī)110還可以包括其它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。僅僅通過實(shí)例的方式,圖2B示例了硬盤驅(qū)動(dòng)器141,它從非移動(dòng)、非易失性磁介質(zhì)中讀取或?qū)懭霐?shù)據(jù),和從可移動(dòng)的、非易失性磁盤152中讀取或?qū)懭霐?shù)據(jù)的磁盤驅(qū)動(dòng)器151,以及從可移動(dòng)的、非易失性光盤156、諸如CD-ROM或其它光介質(zhì)中讀取或?qū)懭霐?shù)據(jù)的光盤驅(qū)動(dòng)器155。其它能夠用于示意性操作環(huán)境中的可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限制于,磁性盒式磁帶、閃存卡、數(shù)字化視頻光盤。數(shù)字視頻磁帶、固體RAM、固體ROM等等。硬盤驅(qū)動(dòng)器141典型地通過不可移動(dòng)的存儲(chǔ)器接口,諸如接口140與系統(tǒng)總線121相連接,以及光盤驅(qū)動(dòng)器155典型通過可移動(dòng)的存儲(chǔ)器接口,諸如接口150與系統(tǒng)總線121相連接。
上述討論和在圖2B中所示例的驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它用于計(jì)算機(jī)110的數(shù)據(jù)的存儲(chǔ)器。在圖2B中,例如,硬盤驅(qū)動(dòng)器141示例為存儲(chǔ)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。應(yīng)該注意到,這些組件能夠與用于操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同或不同于后者。操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147在這里給定了不同的數(shù)量以便通過最小值來示例它們?yōu)椴煌膹?fù)制件。用戶可以通過輸入設(shè)備,諸如鍵盤162和定位設(shè)備161,通常稱之為鼠標(biāo)、軌跡球或觸摸屏,以在計(jì)算機(jī)110中輸入命令和信息。其它輸入設(shè)備(未示出)可以包括麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星電視天線、掃描儀等等。這些和其它的輸入設(shè)備通常通過與系統(tǒng)總線121相耦合的用戶輸入接口160連接到處理單元120,但是也可以通過其它接口和總線結(jié)構(gòu),諸如并行端口、游戲端口或通用串行總線(USB)予以連接。圖形接口182,諸如北橋,還可以與系統(tǒng)總線121相連接。北橋?yàn)榕cCPU或主機(jī)處理單元120通信的芯片組,并假定它負(fù)責(zé)加速圖形端口(AGP)通信。一個(gè)或多個(gè)圖形處理單元(GPU)184可以與圖形接口182通信。有關(guān)這方面,GPU184通常包括芯片內(nèi)存儲(chǔ)存儲(chǔ)器,諸如寄存存儲(chǔ)器,以及GPU184與視頻存儲(chǔ)器186通信,其中本發(fā)明的應(yīng)用變型可以具有影響。但是,GPU184僅僅作為協(xié)處理器的一個(gè)實(shí)例,因此各種的協(xié)處理設(shè)備可以包括在計(jì)算機(jī)110中,并且可以包括各種程序補(bǔ)償器,諸如像素和峰值補(bǔ)償器。監(jiān)視器191或其它類型的顯示設(shè)備還通過接口,諸如視頻接口190與系統(tǒng)總線121連接,該接口依次與視頻存儲(chǔ)器186通信。除了監(jiān)視器190以外,計(jì)算機(jī)還可以包括其它外圍輸出設(shè)備,諸如通過輸出外圍接口195相連接的揚(yáng)聲器197和打印機(jī)196。
計(jì)算機(jī)110可以使用與一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)180的邏輯連接在聯(lián)網(wǎng)或分布式環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)180可以為個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、點(diǎn)對(duì)點(diǎn)設(shè)備或其它公共網(wǎng)絡(luò)節(jié)點(diǎn),并且雖然在圖2B中已經(jīng)僅僅示例了一個(gè)存儲(chǔ)器設(shè)備181,但是它典型包括部分或全部上述與計(jì)算機(jī)110相關(guān)的元件。圖2B中描述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但是還可以包括其它的網(wǎng)絡(luò)/總線。這種網(wǎng)絡(luò)互連的環(huán)境常見于家庭、辦公室、企業(yè)廣域計(jì)算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)部局域網(wǎng)以及因特網(wǎng)。
當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用計(jì)算機(jī)110時(shí),它通過網(wǎng)絡(luò)接口或適配器170與LAN171相連接。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用計(jì)算機(jī)110時(shí),它典型地包括調(diào)制解調(diào)器172或其它用于在WAN 173諸如因特網(wǎng)上建立通信的裝置。該調(diào)制解調(diào)器172可以為內(nèi)置或外置的,并通過用戶輸入接口160,或其它適當(dāng)?shù)臋C(jī)制連接到系統(tǒng)總線121。在聯(lián)網(wǎng)環(huán)境中,上述與計(jì)算機(jī)110有關(guān)的程序模塊或其部分,可以存儲(chǔ)在遠(yuǎn)端存儲(chǔ)設(shè)備中。通過實(shí)例而不是限制的方式,圖2B示例了如駐留在存儲(chǔ)設(shè)備181中的遠(yuǎn)程應(yīng)用程序185。將會(huì)理解,所示的網(wǎng)絡(luò)連接為示意性的,并且可以使用其它裝置在計(jì)算機(jī)之間建立通信鏈接。
示意性的分布式計(jì)算框架或結(jié)構(gòu)根據(jù)個(gè)人計(jì)算和因特網(wǎng)集中的教導(dǎo),已經(jīng)并正在開發(fā)各種分布式計(jì)算框架。個(gè)體和商務(wù)用戶配有用于應(yīng)用程序和計(jì)算設(shè)備的無縫協(xié)同工作和基于Web的接口,使得計(jì)算活動(dòng)逐漸面向Web瀏覽器或網(wǎng)絡(luò)。
例如,微軟的管理代碼平臺(tái),即.NET,包括服務(wù)器、構(gòu)造塊服務(wù),諸如基于Web的數(shù)據(jù)存儲(chǔ)和可下載的設(shè)備軟件。一般而言,.NET平臺(tái)提供了(1)使得整個(gè)范圍內(nèi)的計(jì)算設(shè)備一起工作并自動(dòng)更新以及同步用戶信息的能力,(2)增加了除了HTML以外而大量使用XML而使能的網(wǎng)頁交互作用能力,(3)以從用于管理諸如電子郵件的各種應(yīng)用程序,或諸如辦公.NET的軟件的中央開始點(diǎn)定制訪問和傳送產(chǎn)品以及服務(wù)到用戶為特征的在線服務(wù),(4)集中數(shù)據(jù)存儲(chǔ),增強(qiáng)了效率和訪問信息以及在用戶和設(shè)備之間信息同步的便捷性,(5)集成各種通信媒體,諸如電子郵件、傳真和電話的能力,(6)為開發(fā)者而言,增加了可再用模塊的能力,以此增加了生產(chǎn)率并減少了程序錯(cuò)誤的數(shù)量以及(7)以許多其它的交叉平臺(tái)和語言集成為特征。
盡管在這里結(jié)合駐留在計(jì)算機(jī)設(shè)備中的軟件描述了一些示意性實(shí)施例,但是本發(fā)明的一部分或更多部分還可以通過操作系統(tǒng)、應(yīng)用程序接口(API)或“中間人”對(duì)象、控制對(duì)象、硬件、固件、中間語言指令或?qū)ο蟮鹊葋韺?shí)現(xiàn),以便在所有的語言和管理代碼,諸如.NET代碼所使能的服務(wù),以及在其它分布式計(jì)算框架中可以包括、支持這些方法或通過上述來訪問該方法。
用于排序網(wǎng)頁的系統(tǒng)和方法如以上在背景技術(shù)中所述,本發(fā)明針對(duì)現(xiàn)有排序算法,諸如頁面排序的弱點(diǎn),即單單為了增加目標(biāo)網(wǎng)頁的分值而人工產(chǎn)生網(wǎng)頁。假定萬維網(wǎng)沖浪者將要隨機(jī)地跳到一個(gè)特定的服務(wù)器,本發(fā)明意識(shí)到該沖浪者將在具有許多頁面的萬維網(wǎng)服務(wù)器的特定頁面上“著陸”的可能性,較他將在具有較少頁面的萬維網(wǎng)服務(wù)器的特定頁面上“著陸”的可能性較小。應(yīng)用該原理,當(dāng)應(yīng)用一個(gè)排序算法時(shí),當(dāng)簽注來自相同的服務(wù)器時(shí),本發(fā)明減少了簽注的影響。為了實(shí)現(xiàn)這種減少簽注的影響,在各種非限制性的實(shí)施例中,本發(fā)明為每個(gè)萬維網(wǎng)服務(wù)器,而不是每個(gè)萬維網(wǎng)網(wǎng)頁分配一個(gè)已賦予的最小分值。然后,在萬維網(wǎng)服務(wù)器的所有網(wǎng)頁之間細(xì)分該分配給服務(wù)器的最小分值。因此,通過萬維網(wǎng)服務(wù)器的許多頁面創(chuàng)建任意大數(shù)量的親屬鏈接,與在萬維網(wǎng)服務(wù)器的較少頁面上創(chuàng)建相對(duì)少數(shù)量的親屬鏈接相比較而言,獲得了幾乎相等的“簽注值”。通常,任意大數(shù)量的親屬鏈接(A)將具有相同符號(hào)的主機(jī)名,(B)與相同的域相關(guān)聯(lián),或(C)與相同的IP地址相關(guān)聯(lián)。在一個(gè)實(shí)施例中,為了給用戶返回一個(gè)質(zhì)量查詢結(jié)果,在萬維網(wǎng)搜索服務(wù)中實(shí)現(xiàn)本發(fā)明。
應(yīng)該注意到,存在若干可能的構(gòu)成萬維網(wǎng)服務(wù)器的定義萬維網(wǎng)服務(wù)器可能通過符號(hào)主機(jī)名(例如,www.google.com)、公共域來定義,或者可能通過一個(gè)(或若干)IP地址(例如,207.46.134.222)定義。當(dāng)利用萬維網(wǎng)服務(wù)器地址時(shí),實(shí)施將針對(duì)鏈接兜售信息問題,后者的兩個(gè)定義更適于本發(fā)明的目的,并作為對(duì)鏈接兜售信息者的更好威懾,這是因?yàn)橛锌赡芘渲肈NS服務(wù)器來解析主機(jī)名的幾乎無限的數(shù)量(RFC1035限制主機(jī)名最大為255個(gè)字符長(zhǎng),每個(gè)字符為一個(gè)字母、數(shù)字或連字號(hào)。因此,有37255個(gè)可能的主機(jī)名,對(duì)于所有實(shí)際目的而言這是“幾乎無限的”),正如有可能配置萬維網(wǎng)服務(wù)器來用作網(wǎng)頁的無限數(shù)量。以下說明輪流使用用于兩個(gè)可替換實(shí)施例的每個(gè)定義。
在根據(jù)本發(fā)明排序度量的第一實(shí)施例中,萬維網(wǎng)服務(wù)器通過它的符號(hào)主機(jī)名來定義。h(u)表示URLu的主機(jī)名組成部分,以及H為一組所有的主機(jī),即H={h(v)v∈V}VH(h)為主機(jī)h所服務(wù)的一組URL,即VH(h)={vv∈V∧h(v)=h}然后根據(jù)本發(fā)明的第一實(shí)施例,在第一新排序度量RH的定義中使用這兩種定義,其如下定義RH(v)=p|H|1|VH(h(v))|+(1-p)Σ(u,v)∈ERH(u)O(u)]]>在根據(jù)本發(fā)明的排序度量的第二個(gè)實(shí)施例中,通過其域名定義萬維網(wǎng)服務(wù)器。d(u)表示URLu的主機(jī)名組成部分以及D為一組所有的域,即D={d(v)v∈V}VD(d)為在域d中萬維網(wǎng)服務(wù)器所服務(wù)的該組URL,即
VD(d)={vv∈V∧d(v)=d}然后,在根據(jù)本發(fā)明第二實(shí)施例的第二新排序度量RD的定義中使用這兩個(gè)定義,第二排序度量如下表示RD(v)=p|D|1|VD(d(v))|+(1-p)Σ(u,v)∈ERD(u)O(u)]]>在本發(fā)明的第三實(shí)施例中,通過它的一組IP地址來定義萬維網(wǎng)服務(wù)器。A(u)表示該組IP地址,根據(jù)該地址來服務(wù)URLu(即,h(u)解析的該組IP地址)。A為一組所有的IP地址,即A=∪v∈VA(v)]]>VA(a)為IP地址a所服務(wù)的URL組,即VA(a)={vv∈V∧a∈A(v)}然后,在根據(jù)本發(fā)明第三實(shí)施例的第三新排序度量RA的定義中使用這兩個(gè)定義,第三排序度量如下表示RA(v)=p|A|Σa∈A(v)1|VA(a)|+(1+p)Σ(u,v)∈ERA(u)O(u)]]>現(xiàn)在參考圖3A到圖3G描述本發(fā)明。圖3A示例了鏈接到第二節(jié)點(diǎn)N2的第一節(jié)點(diǎn)N1(例如,文檔或網(wǎng)頁)。頁面排序給人的直覺知識(shí)為,N2為比不具備入局鏈接的節(jié)點(diǎn)更好的頁面,這完全是因?yàn)镹1通過鏈接到N2而簽注或“驗(yàn)證”了N2的存在。通過比較圖3B和圖3A可進(jìn)一步說明頁面排序的直覺知識(shí)。由于在圖3A中,N1只鏈接到一個(gè)節(jié)點(diǎn)N2,而在圖3B中,節(jié)點(diǎn)N1鏈接到九個(gè)節(jié)點(diǎn)N2到N10,由于N1看似不加選擇地簽注其它與圖3A的節(jié)點(diǎn)N1相關(guān)的頁面,因此頁面排序降低了N1的簽注值。由于圖3A的節(jié)點(diǎn)N1更有選擇地簽注其它的節(jié)點(diǎn),從而作為N1鏈接到N2的結(jié)果(所有的其它因數(shù)都相同),在圖3A中相應(yīng)地給N2分配一個(gè)較高的分值。通過比較圖3C和圖3A可進(jìn)一步說明頁面排序的直覺知識(shí)。在該比較中,在圖3C中分配給簽注節(jié)點(diǎn)N1的分值為在圖3A中分配給簽注節(jié)點(diǎn)N1的分值的10倍。因此,由于簽注節(jié)點(diǎn)的質(zhì)量(分值)高于圖3C中所示的節(jié)點(diǎn)的分值,因此在圖3C中分配給節(jié)點(diǎn)N2的分值高于在圖3A中分配給節(jié)點(diǎn)N2的分值。組合這些直覺的知識(shí)產(chǎn)生了頁面排序算法。
但是,如在背景技術(shù)中所述,由于無論它簽注多少其它的節(jié)點(diǎn),或無論它自己的頁面排序分值多小,每個(gè)節(jié)點(diǎn)都接收一個(gè)最小的分值,因此對(duì)于圖3D中所示例的場(chǎng)景來說,該頁面排序存在弱點(diǎn)。當(dāng)該最小分值較小時(shí),以巨大的數(shù)量與小分值相乘能變得顯著。因此,節(jié)點(diǎn)N2的所有者,通過手動(dòng)或自動(dòng)創(chuàng)建大量的簽注頁面,每個(gè)簽注節(jié)點(diǎn)N2和每個(gè)其它的某種方式或安排的節(jié)點(diǎn)例如,諸如圖3D所示例的節(jié)點(diǎn),能夠人工增加節(jié)點(diǎn)N2的分值。為了以更經(jīng)濟(jì)有效的方式實(shí)現(xiàn)上述操作,一般而言,鏈接兜售信息者將通常在相同的主機(jī)(例如,www.foo.com)上放置每個(gè)鏈接兜售節(jié)點(diǎn)LS1到LS9,因?yàn)樵谙嗤闹鳈C(jī)諸如www.foo.com/頁面1,www.foo.com/頁面2,www.foo.com/頁面3等等上產(chǎn)生附加的網(wǎng)頁幾乎毫無成本。因此,聰明的鏈接兜售者能夠通過這種技術(shù)在萬維網(wǎng)上增加不受歡迎的網(wǎng)頁顯示。由于存在某些動(dòng)態(tài)創(chuàng)建和服務(wù)無限數(shù)量頁面的萬維網(wǎng)服務(wù)器,網(wǎng)頁的數(shù)量是無限的。很明顯,增加創(chuàng)建另一個(gè)頁面的成本相對(duì)低廉。
因此,本發(fā)明處罰對(duì)這種鏈接兜售信息技術(shù)的使用。假定每個(gè)鏈接兜售信息節(jié)點(diǎn)LS1到LS9都位于相同的主機(jī)www.foo.com,在本發(fā)明的一個(gè)實(shí)施例中,代替給每個(gè)LS1到LS9分配一個(gè)最小分值,本發(fā)明給每個(gè)主機(jī)分配了一個(gè)最小分值,并在該主機(jī)的每個(gè)節(jié)點(diǎn)之間分配該最小分值。從而,不論在主機(jī)www.foo.com上存在1000鏈接兜售信息節(jié)點(diǎn)LS1到LS1000,還是一個(gè)鏈接兜售信息節(jié)點(diǎn)LS1,分配給節(jié)點(diǎn)N2的簽注都是相同的(假定所有的其它因數(shù)相同)。因此,如圖3E所示例,本發(fā)明給主機(jī)www.foo.com分配了一個(gè)最小分值,并在頁面LS1到LS9之間細(xì)分該最小值。
但是,被確定的鏈接兜售信息者能夠瞞騙本發(fā)明的該變型。可以確定該鏈接兜售信息者,從而以相對(duì)小的量來增加與他或她的網(wǎng)頁相關(guān)聯(lián)的質(zhì)量分值,以使得分超過其它具有相似質(zhì)量分值的網(wǎng)頁。例如,如果在排序中頁面被列表為第5到第1位,因此引起了典型搜索引擎排序中網(wǎng)頁的增加,那么質(zhì)量分值中的相對(duì)小的改變可能顯著地受益于鏈接兜售信息者。在因特網(wǎng)域名系統(tǒng)的當(dāng)前形式中,用戶為每個(gè)域名付年費(fèi)(例如25美元),并且能夠在該域內(nèi)創(chuàng)建一個(gè)任意數(shù)量的符號(hào)主機(jī)名。因此,鏈接兜售信息者能夠獲得小數(shù)量的域,并配置DNS服務(wù)器來解析這些域內(nèi)任何可能的主機(jī)名。兜售信息者然后能夠提供鏈接兜售信息頁面,該頁面似乎來自這些域內(nèi)許多不同的主機(jī),籍此通過累積巨大數(shù)量頁面的最小分值,而重新獲得簽注一個(gè)頁面的能力。在圖3F中示例了這種情形,其中通過被確定的鏈接兜售信息者已經(jīng)產(chǎn)生了許多網(wǎng)頁,每個(gè)網(wǎng)頁來自唯一的符號(hào)主機(jī)名www1.foo.com、www2.foo.com、www3.foo.com等等,但是,每個(gè)網(wǎng)頁還來自于公共域foo.com。因此,在本發(fā)明的第二實(shí)施例中,不是給每個(gè)網(wǎng)頁或每個(gè)獨(dú)立的主機(jī)名,而是給每個(gè)獨(dú)立的域名分配最小分值。
正如所預(yù)見的,盡管域名花費(fèi)了金錢,但是它們并不額外高昂。盡管存在無限數(shù)量的網(wǎng)頁并且存在潛在的大量域名(37255),但是,實(shí)際上,只存在大約1千5百萬個(gè)域名。(通過配置DNS服務(wù)器解析域內(nèi)的任何可能主機(jī)名)創(chuàng)建一個(gè)新的主機(jī)名為免費(fèi)的,而創(chuàng)建一個(gè)新的域名大約花費(fèi)25美元。因此,由于用于大約25美元就能獲得一個(gè)域名,因此對(duì)于被確定的鏈接兜售信息者實(shí)施圖3G所示例的該系統(tǒng)是可行的。在圖3G中,被確定的鏈接兜售信息者已經(jīng)創(chuàng)建了鏈接兜售信息節(jié)點(diǎn)LS1到LS9等等,但是這時(shí),鏈接兜售信息者已經(jīng)在其域的每個(gè)節(jié)點(diǎn)上放置了其自己的符號(hào)主機(jī)名,如www.foo.com、www.goo.com、www.hoo.com等等。但是,類似地,鏈接兜售信息者已經(jīng)在相同的IP地址放置了每個(gè)www.foo.com、www.goo.com、www.hoo.com等等。大約有四十億個(gè)不同的IP地址。盡管IP地址的獲取相對(duì)低廉,但是鏈接兜售信息者不可能實(shí)施一個(gè)系統(tǒng),這是由于所提供的不同IP地址不是無限的,因此該系統(tǒng)給每個(gè)鏈接兜售信息網(wǎng)頁分配一個(gè)不同的IP地址。相應(yīng)地,在本發(fā)明的第三實(shí)施例中,不給每個(gè)網(wǎng)頁、每個(gè)主機(jī)名或每個(gè)域,而是給每個(gè)不同的IP地址分配一個(gè)最小分值,以防御被確定的鏈接兜售信息者,因?yàn)椴徽撴溄佣凳坌畔⒄咴诜?wù)器上放置了具有鏈接兜售節(jié)點(diǎn)的100個(gè)不同域,還是該鏈接兜售信息者在該服務(wù)器上放置了具有一個(gè)鏈接兜售信息節(jié)點(diǎn)的1個(gè)不同域,就簽注節(jié)點(diǎn)N2而言,效果是相同的(再次,保持所有的其它因數(shù)恒定)。
盡管本發(fā)明可應(yīng)用于排序任何結(jié)構(gòu)相關(guān)的文檔,但是圖4A(系統(tǒng)圖)和4B和4C(流程圖)示例了本發(fā)明示意性應(yīng)用于為搜索引擎應(yīng)用程序排序網(wǎng)頁。由于本發(fā)明的算法獨(dú)立于查詢,因此用于根據(jù)本發(fā)明排序文檔的過程可獨(dú)立于應(yīng)用程序諸如搜索引擎而發(fā)生,該過程請(qǐng)求的文檔是基于分配給文檔的分值。例如,如圖4A所示,一個(gè)或更多的瀏覽器410能夠?yàn)g覽結(jié)構(gòu)相關(guān)文檔400,諸如因特網(wǎng)上的網(wǎng)頁的來源,并提取文檔或有關(guān)該文檔的相關(guān)信息以存儲(chǔ)在資料檔案庫420中。有關(guān)文檔的相關(guān)信息還可以來自其它的來源415。
瀏覽器是一種訪問萬維網(wǎng)站點(diǎn)并閱讀其網(wǎng)頁和其它信息以為搜索引擎索引創(chuàng)建輸入條目的程序。瀏覽器通過以下從服務(wù)器到服務(wù)器的超文本鏈接和基于搜索原則的索引信息,來定位新的文檔和新的站點(diǎn)。
萬維網(wǎng)上的主要搜索引擎都具有這樣的一種程序,它還已知為“蜘蛛”、“螞蟻”、“機(jī)器人”(“馬蠅幼蟲”)或“智能代理”。瀏覽器被典型地編程用于當(dāng)其被更新時(shí)訪問其擁有者已經(jīng)提交的站點(diǎn)??梢酝ㄟ^選擇性地訪問和索引輸入的站點(diǎn)或具體頁面。由于瀏覽器每次通過一個(gè)站點(diǎn)來瀏覽一個(gè)頁面,因此它們明顯獲得了接下來鏈接到站點(diǎn)上的其它頁面的名字,直到已經(jīng)閱讀完所有的頁面為止。典型地,瀏覽器同時(shí)瀏覽許多的萬維網(wǎng)站點(diǎn)。通常,對(duì)于萬維網(wǎng)瀏覽器而言,瀏覽器遵守禮讓的原則,即在Robot排他運(yùn)算標(biāo)準(zhǔn)(SRE)中所規(guī)定的原則。
圖4B借助流程圖示例了收集文檔的處理。在450,發(fā)現(xiàn)網(wǎng)頁并通過瀏覽器收集網(wǎng)頁和/或有關(guān)網(wǎng)頁的信息。如箭頭所述,該收集可以為交互或正在進(jìn)行的處理。在460,在已知文檔收集結(jié)構(gòu)的時(shí)間的任何給定點(diǎn)上,可應(yīng)用本發(fā)明分配一個(gè)分值給每個(gè)被收集的文檔,以便存在網(wǎng)頁(或其鏈接)的資料檔案庫,每個(gè)庫具有使用RA度量、RD度量或RH度量的相關(guān)聯(lián)的質(zhì)量分值。通過API 432,對(duì)象430能夠在分配一個(gè)分值給資料庫420中的每個(gè)文檔之后執(zhí)行智能。如以下詳細(xì)所述,還應(yīng)該理解,能夠?qū)A度量、RD度量和/或RH度量于其它度量進(jìn)行組合以增加分配給有關(guān)特定應(yīng)用或用戶的文檔的質(zhì)量分值。
一旦產(chǎn)生初始的文檔和分值資料庫420,該庫可被交互地、不斷地、或周期性地更新,那么將能夠應(yīng)用搜索引擎的示意性應(yīng)用。例如,搜索引擎(或其它應(yīng)用)對(duì)象440可以在470接收用戶的一個(gè)輸入查詢。在480,基于該查詢,能夠根據(jù)其相關(guān)聯(lián)的分值檢索并排序包括符合該查詢?cè)瓌t的查詢項(xiàng)的網(wǎng)頁,以便首先或主要地將最大質(zhì)量分值的文檔顯示給用戶。在示意性的實(shí)現(xiàn)中,如圖4A所示,通過搜索引擎服務(wù)器對(duì)象440接收該查詢,該對(duì)象通過API 434與對(duì)象430進(jìn)行接口。對(duì)象430基于該查詢通過API 432,從資料檔案庫420檢索并排序相關(guān)的網(wǎng)頁(或與網(wǎng)頁的鏈接)。然后,對(duì)象430返回結(jié)果的排序列表給應(yīng)用程序?qū)ο?40,以用于將其顯示給用戶??商鎿Q地,對(duì)象440能夠根據(jù)相關(guān)聯(lián)的分值對(duì)結(jié)果執(zhí)行排序。
正如應(yīng)該澄清的,還可以組合本發(fā)明的度量,或與整個(gè)度量的其它改進(jìn)組合。例如,利用“信任”文檔的基本組,能夠改進(jìn)利用任何度量所實(shí)現(xiàn)的分值的總質(zhì)量。這種改進(jìn)包括考慮Nielsen等級(jí)。例如,最高等級(jí)的Nielsen網(wǎng)頁應(yīng)該用作網(wǎng)頁信任的基礎(chǔ),并根據(jù)該基礎(chǔ)測(cè)量其它分值。而且,Nielsen等級(jí)應(yīng)用組合本發(fā)明的度量來使用以分配一個(gè)加權(quán)的分值。或者將本發(fā)明度量的結(jié)果與Nielsen等級(jí)比較以發(fā)現(xiàn)反常的結(jié)果。
本質(zhì)上,有關(guān)值得信任文檔諸如網(wǎng)頁的信息的任何外部來源,能夠組合本發(fā)明的度量結(jié)果使用,或者用于檢驗(yàn)本發(fā)明的度量結(jié)果。其它的例子包括使用基于從一個(gè)ISP所收集的用戶信息的信息。例如,ISP能夠收集類似于Nielsen信息的有關(guān)有關(guān)用戶訪問特定網(wǎng)頁頻率的直接信息,并相應(yīng)地分配一個(gè)質(zhì)量、聲望或信任度、基于使用模式的分值。為此可以檢查ISP代理日志。另一個(gè)例子包括在搜索引擎上觀測(cè)人們。僅僅因?yàn)榫W(wǎng)頁接收最高的分值并不意味著該用戶最有可能選擇該網(wǎng)頁。因此,搜索引擎上的用戶行為用于驗(yàn)證網(wǎng)頁的質(zhì)量。另外,能夠分配人編輯器該驗(yàn)證例如10000個(gè)優(yōu)秀網(wǎng)頁的工作。當(dāng)正在進(jìn)行該工作時(shí),能夠增加這10000個(gè)網(wǎng)頁的分值,以便通過本發(fā)明的度量將會(huì)增加其簽注能力,因?yàn)閷?duì)于信任的網(wǎng)頁而言它們是已知的。有關(guān)質(zhì)量網(wǎng)頁的另一個(gè)信息源來自用戶的選項(xiàng),諸如用戶的書簽。簡(jiǎn)而言之,能夠?qū)⒈景l(fā)明的度量與任何其它已知的質(zhì)量度量組合用于保證,提供最好的用戶經(jīng)歷。有利的是,包括本發(fā)明度量的任何組合都將阻礙鏈接兜售信息者的努力。
存在多種實(shí)現(xiàn)本發(fā)明的方法,例如合適的API、工具箱、驅(qū)動(dòng)器代碼、操作系統(tǒng)、控制、獨(dú)立和可下載的軟件對(duì)象,等等,以使應(yīng)用程序和服務(wù)能夠使用本發(fā)明的排序系統(tǒng)和方法。本發(fā)明打算根據(jù)API(或其它軟件對(duì)象)的立場(chǎng)、以及接收網(wǎng)頁或與網(wǎng)頁有關(guān)的結(jié)構(gòu)信息的軟件或硬件對(duì)象來使用本發(fā)明,以應(yīng)用根據(jù)本發(fā)明的該排序技術(shù)。因此,這里描述的本發(fā)明的各種實(shí)現(xiàn)可能具有的方面是,本發(fā)明完全在硬件中,部分在硬件和部分在軟件中,以及在軟件中予以實(shí)現(xiàn)。
如上所述,盡管結(jié)合各種計(jì)算設(shè)備和網(wǎng)絡(luò)結(jié)構(gòu)已經(jīng)描述了本發(fā)明的示意性實(shí)施例,但是基本的理論可應(yīng)用于任何計(jì)算設(shè)備或系統(tǒng)中,其中在應(yīng)用中期望排序結(jié)構(gòu)相同的文檔。例如,可將本發(fā)明的算法和硬件實(shí)現(xiàn)應(yīng)用于計(jì)算設(shè)備的操作系統(tǒng),提供作為設(shè)備上的單獨(dú)對(duì)象、另一個(gè)對(duì)象的一部分、可再用的控制、從服務(wù)器可下載的對(duì)象、設(shè)備或?qū)ο笠约熬W(wǎng)絡(luò)之間的“中間人”、分布式對(duì)象、硬件、提供在存儲(chǔ)器中,或上述的任何組合等等。盡管這里選擇了示意性的編程語言、名稱和實(shí)例作為各種選擇的代表,但是這些語言、名稱和實(shí)例并不是限制性的。本領(lǐng)域的普通技術(shù)人員將會(huì)理解,有大量的提供對(duì)象代碼和術(shù)語的方法,該術(shù)語實(shí)現(xiàn)了通過本發(fā)明的各種實(shí)施例所實(shí)現(xiàn)的相同、相似或等同的功能。
正如所述,這里描述的各種技術(shù)可結(jié)合硬件或軟件或在適當(dāng)?shù)臅r(shí)候結(jié)合其組合而予以實(shí)現(xiàn)。因此,本發(fā)明的方法和設(shè)備,或本發(fā)明的特定方面或部分,可以采取程序代碼(即,指令)的形式,這些代碼嵌入到有形的介質(zhì)中,諸如軟盤、CD-ROM、硬盤、或任何其它的機(jī)器可讀存儲(chǔ)介質(zhì)中,其中,當(dāng)程序代碼載入機(jī)器諸如計(jì)算機(jī)并由它執(zhí)行時(shí),該機(jī)器變?yōu)閷?shí)踐本發(fā)明的設(shè)備。在擴(kuò)編程的計(jì)算機(jī)上執(zhí)行該程序代碼的情況下,計(jì)算設(shè)備通常包括一個(gè)處理器、處理器可讀的存儲(chǔ)介質(zhì)(包括易失性和非易失性存儲(chǔ)器和/或存儲(chǔ)單元)、至少一個(gè)輸入設(shè)備和至少一個(gè)輸出設(shè)備??梢詫?shí)現(xiàn)或使用本發(fā)明排序技術(shù)的一個(gè)或更多的程序,例如通過使用數(shù)據(jù)處理API、可再用控制等等,優(yōu)選地在高級(jí)程序或面向?qū)ο蟮木幊陶Z言中實(shí)現(xiàn),以與計(jì)算機(jī)系統(tǒng)進(jìn)行通信。但是,如果想要的話,這些程序可在匯編或機(jī)器語言中予以實(shí)現(xiàn)。在任何情況下,語言可以為編譯或翻譯語言,以及與硬件實(shí)現(xiàn)相組合。
本發(fā)明的方法和設(shè)備還可以通過以程序代碼形式嵌入的通信來實(shí)踐,該代碼在某些傳輸介質(zhì)上諸如電線或電纜,通過光纖或任何其它形式的傳輸介質(zhì)傳送,其中當(dāng)接收程序代碼并載入到機(jī)器中和由機(jī)器執(zhí)行時(shí),該機(jī)器諸如EPROM、門陣可編程邏輯器件(PLD),客戶端計(jì)算機(jī)等等,它變?yōu)閷?shí)踐本發(fā)明的設(shè)備。當(dāng)在通用目的的處理器上實(shí)現(xiàn)本發(fā)明時(shí),程序代碼與處理器組合以提供唯一的操作用于調(diào)用本發(fā)明功能的設(shè)備。另外,結(jié)合本發(fā)明所使用的任何存儲(chǔ)技術(shù)可以不變地作為硬件和軟件的組合。
當(dāng)結(jié)合各種附圖的優(yōu)選實(shí)施例已描述了本發(fā)明時(shí),應(yīng)該明白可以使用其它類似的實(shí)施例,或?qū)ι鲜鲇糜趫?zhí)行本發(fā)明相同功能的實(shí)施例進(jìn)行修改和添加,而不會(huì)偏離本發(fā)明。例如,當(dāng)以聯(lián)網(wǎng)環(huán)境諸如點(diǎn)對(duì)點(diǎn)的聯(lián)網(wǎng)環(huán)境為背景描述本發(fā)明的示意性網(wǎng)絡(luò)環(huán)境時(shí),本領(lǐng)域的普通技術(shù)人員將會(huì)意識(shí)到,本發(fā)明并不限制于此,正如本申請(qǐng)所述的方法可以應(yīng)用于任何計(jì)算設(shè)備或環(huán)境中,諸如游戲控制臺(tái)、掌上電腦、便攜式計(jì)算機(jī)等等,無論有線還是無線的,本申請(qǐng)可用于任何數(shù)量的通過通信網(wǎng)絡(luò)連接的這種計(jì)算設(shè)備,這些計(jì)算設(shè)備在該網(wǎng)絡(luò)上可交互作用。而且,應(yīng)該強(qiáng)調(diào)指出,各種包括手持設(shè)備操作系統(tǒng)和其它專用操作系統(tǒng)的計(jì)算機(jī)平臺(tái),都意圖特別地作為無線互連設(shè)備而繼續(xù)擴(kuò)展。
盡管示意性的實(shí)施例參照使用在萬維網(wǎng)搜索服務(wù)背景下的本發(fā)明,但是本發(fā)明并不限制于萬維網(wǎng)搜索服務(wù),而是可以被實(shí)現(xiàn)用來提供一種對(duì)任何組文檔或內(nèi)容的質(zhì)量度量,其在某種方式相互參照。例如,用戶可能在他的或她的計(jì)算機(jī)上(或在多個(gè)計(jì)算設(shè)備上)存儲(chǔ)了一組圖片、電影、音樂等等,它們以某種方式(通過人、地點(diǎn)、時(shí)間、事件、藝術(shù)家、選集、標(biāo)題、演員等等)在結(jié)構(gòu)上相互關(guān)聯(lián),以及根據(jù)內(nèi)容的結(jié)構(gòu)相互關(guān)系,本發(fā)明的分值可應(yīng)用于這些圖片。例如,第一內(nèi)容和第二內(nèi)容之間的相似性或其它的關(guān)系可以考慮為從第一內(nèi)容到第二內(nèi)容的鏈接。而且,當(dāng)結(jié)合分配分值處理在以上描述API 432時(shí),應(yīng)該注意到為此可以實(shí)現(xiàn)單獨(dú)的API,即,基于一個(gè)不需要限制于分值處理的查詢使用API 432進(jìn)行檢索和排序。而且,如這里使用的術(shù)語“與…成比例”指的是兩個(gè)實(shí)體之間的任何數(shù)學(xué)關(guān)系,其中當(dāng)一個(gè)實(shí)體增加時(shí),另一個(gè)實(shí)體則根據(jù)所有已知的數(shù)學(xué)關(guān)系包括但不限制于,幾何、線性、指數(shù)、對(duì)數(shù)和其它關(guān)系而增加。相同的應(yīng)用該術(shù)語“反比例”或“反比于…”即當(dāng)一個(gè)實(shí)體增加時(shí),另一個(gè)實(shí)體減小。另外,由于術(shù)語服務(wù)器指在各種背景下的各種事物,如這里各種使用的術(shù)語“萬維網(wǎng)服務(wù)器”旨在至少指服務(wù)器計(jì)算機(jī)和/或服務(wù)器對(duì)象,該對(duì)象包括以下其中的任何一個(gè)或多個(gè)(A)具有相同符號(hào)主機(jī)名的許多網(wǎng)頁,(B)與相同域相關(guān)聯(lián)的許多網(wǎng)頁,以及(C)與相同IP地址相關(guān)聯(lián)的許多網(wǎng)頁。進(jìn)一步,可以在許多處理芯片或設(shè)備中或上實(shí)現(xiàn)本發(fā)明,以及在許多的設(shè)備上可類似地影響存儲(chǔ)器。所以,本發(fā)明不應(yīng)該限制于任何的單個(gè)實(shí)施例,而是應(yīng)該限定在根據(jù)附屬權(quán)利要求所規(guī)定的寬度和范圍內(nèi)。
權(quán)利要求
1.一種用于向結(jié)構(gòu)上鏈接的多個(gè)文檔的其中一個(gè)文檔分配分值的方法,其特征在于,所述文檔位于一web服務(wù)器上,所述web服務(wù)器通過以下的至少其中之一來定義(A)包括具有相同的符號(hào)主機(jī)名的多個(gè)網(wǎng)頁的服務(wù)器、(B)包括與相同的域相關(guān)聯(lián)的多個(gè)網(wǎng)頁的服務(wù)器、以及(C)具有與相同IP地址相關(guān)聯(lián)的多個(gè)網(wǎng)頁的服務(wù)器,并且所述文檔具有來自所述結(jié)構(gòu)上鏈接的多個(gè)文檔中的至少一個(gè)其它文檔的至少一個(gè)后鏈,而不論該文檔位于何處,所述方法包括向所述文檔分配一與位于所述web服務(wù)器上的文檔數(shù)量成反比的分值。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,它還包括向所述文檔分配一與所述至少一個(gè)其它文檔的數(shù)量成比例的分值。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,它還包括分配與已分配給所述至少一個(gè)其它文檔中的至少一個(gè)的至少一個(gè)分值成比例的分值。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,它還包括分配與以下成比例的分值(A)所述至少一個(gè)其它文檔的數(shù)量和(B)已分配給所述至少一個(gè)其它文檔中的至少一個(gè)的至少一個(gè)分值。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,它還包括向所述文檔分配與所述至少一個(gè)其它文檔中的至少一個(gè)的外鏈數(shù)量成反比的分值。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述分配包括向所述文檔分配與位于與所述文檔相同的域上的文檔數(shù)量成反比的分值。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述分配包括向所述文檔分配與具有與所述文檔相同的符號(hào)主機(jī)名的文檔數(shù)量成反比的分值。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述分配包括向所述文檔分配與關(guān)聯(lián)到與所述文檔相同的網(wǎng)際協(xié)議(IP)地址的文檔數(shù)量成反比的分值。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,它還包括基于鏈接到所述第一文檔的至少一個(gè)其它文檔的分值總和向所述文檔分配分值。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述結(jié)構(gòu)上鏈接的多個(gè)文檔為具有超鏈接的網(wǎng)頁,并且所述文檔為一網(wǎng)頁。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,它還包括輸出所述文檔的分值到一web搜索服務(wù)的組件。
12.根據(jù)權(quán)利要求1所述的方法,其特征在于,它還包括向一優(yōu)選文檔組分配高于平均最小分值的分值。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述優(yōu)選文檔組基于Nielsen等級(jí)、人所分配的等級(jí)、從ISP代理日志中提取的網(wǎng)頁使用模式、從搜索引擎中提取的網(wǎng)頁使用模式以及根據(jù)用戶偏好所指定的文檔的至少其中之一。
14.根據(jù)權(quán)利要求1所述的方法,其特征在于,它還包括基于第二計(jì)分技術(shù)改變所述文檔的分值。
15.根據(jù)權(quán)利要求1所述的方法,其特征在于,它還包括對(duì)照第二計(jì)分技術(shù)比較所述分值以發(fā)現(xiàn)反常結(jié)果。
16.、一種包括計(jì)算機(jī)可執(zhí)行模塊的應(yīng)用編程接口,所述模塊包含用于實(shí)現(xiàn)權(quán)利要求1所述的方法的計(jì)算機(jī)可執(zhí)行指令。
17.一種包括用于實(shí)現(xiàn)權(quán)利要求1所述的方法的裝置的計(jì)算設(shè)備。
18.一種攜帶用于執(zhí)行權(quán)利要求1所述方法的計(jì)算機(jī)可執(zhí)行指令的已調(diào)制數(shù)據(jù)信號(hào)。
19.一種用于向結(jié)構(gòu)上鏈接的多個(gè)文檔中的一個(gè)文檔分配分值的方法,其特征在于,所述文檔位于一web服務(wù)器上,所述web服務(wù)器通過以下其中至少一個(gè)來定義(A)包括具有相同的符號(hào)主機(jī)名的多個(gè)網(wǎng)頁的服務(wù)器、(B)包括與相同的域相關(guān)聯(lián)的多個(gè)網(wǎng)頁的服務(wù)器、以及(C)具有與相同的IP地址相關(guān)聯(lián)的多個(gè)網(wǎng)頁的服務(wù)器,并且所述文檔具有來自所述結(jié)構(gòu)上鏈接的多個(gè)文檔中的至少一個(gè)源文檔的至少一個(gè)后鏈,其中,所述文檔的分值與同所述至少一個(gè)源文檔的至少一個(gè)相關(guān)聯(lián)的至少一個(gè)分值成比例地計(jì)算,并且其中,所述分值與位于所述web服務(wù)器上的所述至少一個(gè)源文檔的數(shù)量成反比地計(jì)算。
20.根據(jù)權(quán)利要求19所述的方法,其特征在于,所述分值與位于相同的web服務(wù)器上的所述至少一個(gè)源文檔的數(shù)量成反比地計(jì)算。
21.根據(jù)權(quán)利要求20所述的方法,其特征在于,所述分值與具有相同的符號(hào)主機(jī)名的所述至少一個(gè)源文檔的數(shù)量成反比地計(jì)算。
22.根據(jù)權(quán)利要求20所述的方法,其特征在于,所述分值與同相同的域相關(guān)聯(lián)的所述至少一個(gè)源文檔的數(shù)量成反比地計(jì)算。
23.根據(jù)權(quán)利要求20所述的方法,其特征在于,所述分值與同相同的網(wǎng)際協(xié)議(IP)地址相關(guān)聯(lián)的所述至少一個(gè)源文檔的數(shù)量成反比地計(jì)算。
24.根據(jù)權(quán)利要求19所述的方法,其特征在于,所述結(jié)構(gòu)上鏈接的多個(gè)文檔為具有超鏈接的網(wǎng)頁,并且所述文檔為一網(wǎng)頁。
25.一種包括計(jì)算機(jī)可執(zhí)行模塊的應(yīng)用編程接口,所述模塊包含用于實(shí)現(xiàn)權(quán)利要求19所述的方法的計(jì)算機(jī)可執(zhí)行指令。
26.一種包括用于實(shí)現(xiàn)權(quán)利要求19所述的方法的裝置的計(jì)算設(shè)備。
27.一種攜帶用于執(zhí)行權(quán)利要求19所述的方法的計(jì)算機(jī)可執(zhí)行指令的已調(diào)制數(shù)據(jù)信號(hào)。
28.一種服務(wù)器對(duì)象,其特征在于,它包括一結(jié)合搜索引擎使用的應(yīng)用程序接口,它包括一查詢機(jī)制,用于基于一查詢請(qǐng)求來查詢網(wǎng)頁信息數(shù)據(jù)庫和相關(guān)聯(lián)的分值,籍此按照與每一結(jié)果相關(guān)聯(lián)的分值排序從所述數(shù)據(jù)庫中所檢索的結(jié)果,其中,所述分值反映了滿足所述查詢條件的網(wǎng)頁的質(zhì)量;以及一生成與所述網(wǎng)頁信息相關(guān)聯(lián)的分值的計(jì)分對(duì)象,其中,對(duì)于具有到至少一個(gè)對(duì)應(yīng)的源網(wǎng)頁的至少一個(gè)后鏈的網(wǎng)頁,所述計(jì)分對(duì)象向所述網(wǎng)頁分配一與同所述至少一個(gè)對(duì)應(yīng)的源網(wǎng)頁的至少一個(gè)相關(guān)聯(lián)的至少一個(gè)分值成比例的分值,并且其中,所述分值與位于相同的web服務(wù)器上的所述至少一個(gè)對(duì)應(yīng)的源網(wǎng)頁的數(shù)量成反比地計(jì)算。
29.根據(jù)權(quán)利要求28所述的服務(wù)器對(duì)象,其特征在于,所述計(jì)分對(duì)象獨(dú)立于所述查詢機(jī)制操作。
30.根據(jù)權(quán)利要求28所述的服務(wù)器對(duì)象,其特征在于,基于一公共符號(hào)主機(jī)名定義一web服務(wù)器。
31.根據(jù)權(quán)利要求28所述的服務(wù)器對(duì)象,其特征在于,基于一公共域定義一web服務(wù)器。
32.根據(jù)權(quán)利要求28所述的服務(wù)器對(duì)象,其特征在于,基于一公共網(wǎng)際協(xié)議(IP)地址定義一web服務(wù)器。
33.一種包括計(jì)算機(jī)可執(zhí)行模塊的計(jì)算機(jī)可讀介質(zhì),它包括用于向結(jié)構(gòu)上鏈接的多個(gè)文檔的其中一個(gè)文檔分配分值的計(jì)算機(jī)可執(zhí)行指令,其特征在于,所述文檔位于一web服務(wù)器上,并且具有一個(gè)來自所述結(jié)構(gòu)上鏈接的多個(gè)文檔中的至少一個(gè)其它文檔的至少一個(gè)后鏈,所述模塊包括用于向所述文檔分配與位于所述web服務(wù)器上文檔數(shù)量成反比的分值的裝置。
34.根據(jù)權(quán)利要求33所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,它還包括用于向所述文檔分配與所述至少一個(gè)其它文檔的數(shù)量成比例的分值的裝置。
35.根據(jù)權(quán)利要求33所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,它還包括用于分配與分配給所述至少一個(gè)其它文檔中的至少一個(gè)文檔的至少一個(gè)分值成比例的分值的裝置。
36.根據(jù)權(quán)利要求33所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,它還包括用于分配與以下成比例的分值的裝置(A)所述至少一個(gè)其它文檔的數(shù)量,和(B)分配給所述至少一個(gè)其它文檔的至少一個(gè)文檔的至少一個(gè)分值。
37.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,它還包括用于向所述文檔分配與所述至少一個(gè)其它文檔中的至少一個(gè)文檔的外鏈數(shù)量成反比的分值的裝置。
38.根據(jù)權(quán)利要求33所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述分配裝置包括向所述文檔分配與位于具有與所述文檔相同的符號(hào)主機(jī)名的web服務(wù)器上的文檔的數(shù)量成反比的分值的裝置。
39.根據(jù)權(quán)利要求33所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述分配裝置包括向所述文檔分配與位于與所述文檔相同的域上的文檔數(shù)量成反比的的分值的裝置。
40.根據(jù)權(quán)利要求33所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述分配裝置包括用于向所述文檔分配與關(guān)聯(lián)到與所述文檔相同的網(wǎng)際協(xié)議(IP)地址的文檔數(shù)量成反比的分值的裝置。
全文摘要
提供了用于根據(jù)超鏈接信息以阻礙親屬鏈接的方式排序網(wǎng)頁的系統(tǒng)和方法。在一個(gè)實(shí)施例中,提供一種返回質(zhì)量查詢結(jié)果的萬維網(wǎng)搜索服務(wù)。本發(fā)明致力于用于網(wǎng)頁的現(xiàn)有排序算法諸如頁面排序的弱點(diǎn),其中為了提高目標(biāo)網(wǎng)頁分值的單一目的而人工產(chǎn)生了這些網(wǎng)頁。直覺上,本發(fā)明意識(shí)到,較到達(dá)具有很少網(wǎng)頁的萬維網(wǎng)服務(wù)器上的特定網(wǎng)頁而言,經(jīng)過隨機(jī)的跳躍,到達(dá)具有許多網(wǎng)頁的萬維網(wǎng)服務(wù)器上的特定網(wǎng)頁的可能性更小,這意味著減少了這種網(wǎng)頁對(duì)通過鏈接到、或簽注其它網(wǎng)頁的另一個(gè)網(wǎng)頁的影響。因此,在各種非限制性的實(shí)施例中,本發(fā)明為每個(gè)萬維網(wǎng)服務(wù)器,而不是每個(gè)網(wǎng)頁分配了一個(gè)所賦予的最小分值。然后,在該萬維網(wǎng)服務(wù)器的所有網(wǎng)頁中能夠?qū)⒎峙浣o服務(wù)器的該最小分值進(jìn)行細(xì)分。
文檔編號(hào)G06F12/00GK1601532SQ20041008749
公開日2005年3月30日 申請(qǐng)日期2004年9月16日 優(yōu)先權(quán)日2003年9月16日
發(fā)明者M·A·納爵克 申請(qǐng)人:微軟公司