專利名稱:改進的用戶界面的制作方法
技術領域:
本發明涉及一種用于電信設備的改進的用戶界面,所述電信設備可以從其它電信設備中接收、以及將數據傳輸至其它電信設備。更具體地、但非排他地,本發明涉及一種用于因特網網絡瀏覽器的改進的用戶界面。
背景技術:
有時,當用戶使用網絡瀏覽器來查看網頁時,用戶將會把網頁地址(也稱為統一資源定位符或“URL”)鍵入網絡瀏覽器。可選地,用戶可以使用指定網頁地址的“書簽”。網頁地址指定與因特網連接的特定機器、以及指定在該機器上的特定網絡資源(如,特定網絡服務器名或特定網頁)。然后,網絡瀏覽器將對于所期望的網頁的請求傳輸至網絡服務器,作為結果,網絡服務器將信息返回定義了網頁外觀的網絡瀏覽器。有時,網絡地址有效地指定了網絡服務器的因特網地址,但是沒有有效地指定特定網絡服務器上的網頁。例如,用戶可以(i)不正確地輸入所期望頁面的因特網地址,或者(ii)可以輸入先前存在、但不再存在的網頁的資源地址(路徑)。在這種情況下,網絡服務器將會把錯誤代碼返回用戶的網絡瀏覽器。盡管還有諸如“410不可再用(410 Gone)”之類的多種其它代碼,但是典型的錯誤代碼是超文本傳輸協議(HTTP)“404未找到”。從而,在沒有提供任何其它原因或有用信息的情況下,接收這種消息的用戶僅得知所指定的網頁不存在。
在一些情況下,當用戶請求服務器上不可用的頁面時,網絡服務器可以向用戶指示網站的主頁,但是對于其指定網站內特定網頁的動作典型地指示特定興趣的用戶,這通常用途或意義有限。
發明內容
針對該背景,以及根據本發明的第一方案,提供了如權利要求1所述的系統。
根據本發明的第二方案,提供了如權利要求36所述的、用于網絡瀏覽器的插件程序(Plug-in)。
根據本發明的第三方案,提供了如權利要求40所述的、用于代理服務器的代理附加件(add-in)。
根據本發明的第四方案,提供了如權利要求43所述的、用于修改代理服務器行為的服務器。
根據本發明的第五方案,提供了如權利要求52所述的、用于網絡服務器的錯誤處理器。
根據本發明的第六方案,提供了如權利要求55所述的、用于DNS服務器的DNS附加件。
根據本發明的第七方案,提供了如權利要求57和59所述的協助(helper)服務器。
根據本發明的第八方案,提供了如權利要求61所述的錯誤代碼接收機。
根據本發明的第九方案,提供了如權利要求66所述的、用于提供改進的用戶界面的方法。
本發明的優點在于,并不是只向用戶呈現指示不能檢索到所請求的網頁的錯誤代碼,還向用戶呈現與用戶正嘗試查看的網頁相關的一個或多個可選鏈接。然后,用戶可以點擊一個或多個鏈接。因此,本發明可以在最初請求的網頁不存在時,提供可選網頁的建設性建議。
現在參照以下圖示,僅通過示例對本發明的實施例進行描述,其中圖1示出了根據本發明第一實施例配置的計算機系統;圖2示出了根據本發明第二實施例配置的計算機系統;圖3示出了根據本發明第三實施例配置的計算機系統;
圖4示出了根據本發明第四實施例配置的計算機系統;圖5示出了在輸入不存在的URL之后,圖1系統的用戶看到的網頁;圖6示出了在處理了該系統的數據輸入之后,圖2系統的用戶看到的網頁;圖7示出了根據本發明第六實施例配置的計算機系統;圖8示出了根據本發明第七實施例配置的計算機系統的一部分。
具體實施例方式
第一實施例圖1示出了根據本發明第一實施例的系統100。
系統100包括用戶個人計算機(PC)101。用戶PC 101具有諸如鼠標(未示出)、鍵盤103和可用于顯示網頁的屏幕104之類的標準配件。用戶PC 101還具有調制解調器105,用于允許用戶PC 101與因特網連接。盡管在其它實施例中,用戶PC 101可以是例如移動電話或個人數字助理(PDA),但是在該實施例中,用戶PC 101是臺式PC。
用戶PC 101具有網絡瀏覽器軟件110。例如,網絡瀏覽器軟件110可以是Microsoft(RTM)Internet Explorer(RTM)、Netscape Navigator(RTM)、或者Mozilla(RTM)。在使用時,用戶通常通過在鍵盤103上擊鍵來輸入網頁的URL。這使瀏覽器軟件向輸入的URL所指定的網絡服務器發送請求。當這種URL存在時,該網絡服務器將指令返回用戶PC 101處的瀏覽器軟件110,該瀏覽器軟件110對所接收的信息進行解譯,然后在屏幕104上顯示所請求的網頁。如本領域技術人員所熟知的,典型地,使用超文本標記語言(HTML)來對由網絡服務器發送、并由瀏覽器軟件110解譯的信息進行編碼,以及使用超文本傳輸協議(HTTP)來傳遞該信息。可以在因特網上的以下網絡地址處找到HTTP協議和相關協議的詳細內容(注意,將以下文獻一并引入作為參考)http://www.ietf.org/rfc/rfc 1945.txt超文本傳輸協議-HTTP/1.0
http://www.ietf.org/rfc/rfc2616.txt超文本傳輸協議-HTTP/1.1http://www.ietf.org/rfc/rfc1866.txt超文本標記語言-HTTP/2.0http://www.w3.org/TR/REC-html32HTML3.2參考規范http://www.w3.org/TR/html401/HTML 4.01規范http://www.w3.org/TR/xhtml1/XHTMLTM1.0可擴展超文本標記語言(第二版)http://www.w3.org/TR/xhtml-basic/XHTMLTMBasichttp://www.w3.org/TR/xhtml11/XHTMLTM1.1-基于模塊的XHTML在以下的描述中,參考URL、網絡地址。當然將會理解,盡管幾乎總是將URL作為字母數字串輸入或引用(例如,引用以上地址“http://www.ietf.org/”),但是實際上,因特網基于因特網協議(IP)地址進行操作,因特網協議(IP)地址可以表示為由句號(英語)分開的一串十二個數字的32位數字(如,101.114.186.000)。因此,當用戶請求網頁時,對于瀏覽器軟件110的準備步驟通常是訪問遠程域名服務器(DNS),該DNS將由用戶輸入的文本網絡地址(全限定域名或FQDN)解析(interpret)為IP地址。然后,由DNS將該IP地址返回瀏覽器,該瀏覽器然后將對特定頁面的請求發送至所解析的IP地址。在所解析的IP地址處可以存在一個或多個網絡資源,例如,不相關網站的兩個網絡服務器在相同的IP地址處是可訪問的。網絡服務器使用文本形式的FQDN(而不是解析形式的IP地址)來選擇網站;URL的其余部分(路徑部分或資源指定符)選擇該站點上的特定頁面。
使網頁對于網絡瀏覽器不可用的、由網絡瀏覽器請求的網頁(或URL)中的錯誤可以在域名中、和/或在域名處指定的特定網頁中。
仍然參照圖1,假設用戶想要查看遠程網絡服務器120上的網頁。用戶使用鍵盤103,將該網頁的URL鍵入網絡瀏覽器軟件110。這種因特網地址的假定示例是http://www.chemical_elements.com/hydrogen/atomic_weight.html其中,“www.chemical_elements.com”指定了網絡服務器120的FQDN地址,“hydrogen/atomic_weight.html”指定了在網絡服務器120上尋找的網頁。
作為第一步,網絡瀏覽器軟件110向網絡瀏覽器120(開始已獲得了如上所定義的URL到IP地址的解析)發送HTTP請求130。網絡服務器120接收對所尋找的信息(頁面)的請求,但是(在該假定示例中),發現所請求的頁面不可用。因此,網絡服務器120將HTTP狀態代碼返回用戶PC 101處的網絡瀏覽器軟件110,指示不能找到所請求的網頁。HTTP狀態代碼的示例是“404未找到”。該狀態代碼指示不能找到所請求的網頁;存在可以由網絡服務器120使用的可選HTTP狀態代碼,用于指示所請求的網頁在網絡服務器120上是暫時不可用還是永久不可用。
根據本發明的實施例,除了顯示這種404錯誤之外,如將在以下描述的,作為替代,采用插件程序(Plug-in)111來增強瀏覽器在處理這種錯誤時的功能。諸如插件程序111之類的插件程序是用于擴充網絡瀏覽器軟件110的多個軟件。瀏覽器協助對象(BHO)可以用作Microsoft(RTM)Internet Explorer(RTM)的插件程序。
在沒有插件程序111的情況下,網絡瀏覽器軟件110可以簡單地顯示用于表示不能在服務器上找到所請求的頁面的指示、以及HTTP狀態代碼(例如,“404未找到”)。在接收到諸如“404未找到”之類的適合的HTTP狀態代碼時,插件程序111對網絡瀏覽器軟件110的行為進行修改。具體地,插件程序111檢測HTTP狀態代碼,并防止網絡瀏覽器軟件110顯示正常的“404未找到”錯誤顯示。
作為替代,插件程序111使網絡瀏覽器軟件110向協助網絡服務器140發送HTTP請求132,典型地,該協助網絡服務器140遠離持有不能定位的URL的網絡服務器120、以及用戶PC 101。HTTP請求132包括在網絡服務器120上不可用的網頁的URL。
協助網絡服務器140結合插件程序111進行操作,以向用戶提供可選、改進的信息顯示,如以下所示。
協助網絡服務器140包括分析軟件141,用于分析包含于HTTP請求132中的地址,以便確定在網絡服務器120上不可用的頁面的上下文。這里,分析軟件141對網絡服務器120的網絡地址進行分析,以及還對不能在網絡服務器120上找到的網頁的地址進行分析,并確定無法找到的網頁的上下文包含以下關鍵詞“化學”、“元素”、“氫”、“原子”和“重量”。同樣,用于確定信息上下文的軟件和算法是本領域公知的。例如,一些已知算法估計至網頁的鏈接數量和這些鏈接的源,以確定信息的上下文;一些其它的算法采用基于詞根還原(word stemming)的技術。這里,由所采用的分析軟件使用的算法的細節不構成本發明的一部分,將不再進一步討論。
協助網絡服務器140還包括索引數據庫軟件142,用于識別其它網絡服務器(即,不同于網絡服務器120和協助服務器140的網絡服務器)上的網頁,所述網頁可以與無法找到的網頁的上下文相關。索引數據庫軟件142包括列出針對數據庫中的每個術語的潛在相關網站的數據庫。
例如,對于單詞“化學”,索引數據庫軟件142可以具有與化學領域相關的多個條目。對于單詞“元素”,索引數據庫軟件142可以具有與化學相關的一些條目、以及與化學不相關的一些條目。與化學領域不相關的、對于單詞“元素”的索引數據庫軟件142中的條目的示例將會是名為“現代舞元素”的網頁,在該示例中,該網頁與舞蹈相關、而與化學不相關。索引數據庫軟件142使用由分析軟件141提取的關鍵詞,來產生潛在相關網頁列表。所產生的列表可以通過網頁對關鍵詞的預期相關性來進行排序和/或分級。例如,可以將具有關鍵詞“原子”、“重量”和“氫”的網頁分為比具有關鍵詞“化學”、“元素”、“氫”和“重量”的網頁更高的等級,即使后者網頁具有關鍵詞中的四個而不是關鍵詞中的三個。這里所采用的分級算法的細節不形成本發明的一部分,將不再進一步描述。同樣,本領域已知的分級算法和這里采用的分級算法的細節不形成本發明的一部分,將不再進一步討論。
然后,將由索引數據庫軟件142產生的潛在相關網站的分級列表傳輸至網頁創建軟件143。網頁創建軟件143也構成協助網絡服務器140的一部分。網頁創建軟件143動態地生成作為HTTP響應133發送給用戶PC 101的網頁。然后,網絡瀏覽器軟件110解譯HTTP響應133,并將網頁顯示在用戶PC 101的顯示器104上。
“動態的”意味著網頁創建軟件143不檢索預先定義的網頁,但是網頁創建軟件143基于由分析軟件141和由索引數據庫軟件142確定和分級的鏈接所確定的上下文來生成網頁。因此,由網頁創建軟件143生成的網頁通常對于所給上下文是特定的。每次用戶嘗試查看不在網絡服務器120上存在、或者不在一些其它網絡服務器上存在的網頁時,插件程序111能夠檢測HTTP“404未找到”、或者來自網絡服務器的類似響應的接收。然后,插件程序111使用戶PC 101聯系協助網絡服務器140,從而在用戶PC 101的屏幕104上顯示與不可用頁面的上下文相關的動態生成的網頁。
圖5示出了一旦由用戶PC 101接收到HTTP響應133、以及由網絡瀏覽器軟件110對HTTP響應133進行了解譯,則在用戶PC 101的屏幕104上顯示的網頁500的示例。如圖所示,網頁500包含消息字段501,用于向用戶提供信息消息;以及還包含后退按鈕502和鏈接字段503。在這種情況下,消息是“抱歉,不能找到您正在尋找的頁面。您可以按下‘后退按鈕’、或者點擊相關鏈接”。
后退按鈕502允許用戶后退通過先前所查看網頁的歷史。
鏈接字段503向用戶提供可與用戶上下文相關的建議鏈接的分級列表。這里,鏈接字段503包含兩個鏈接,鏈接503.1和鏈接503.2。對于兩個鏈接中的每個,給出了由各個鏈接所指示的網頁的標題,之后跟隨了呈現在各個網頁上的各個關鍵詞,在各個關鍵詞之后跟隨了各個網頁的因特網地址。如圖所示,鏈接503.1是與氫的屬性相關的網頁。網絡地址給出了網絡服務器、以及網絡服務器上的網頁的地址。鏈接503.2與舞蹈網頁相關。根據索引數據庫軟件142形成的分級,認為鏈接503.2與鏈接503.1相比,較不可能與用戶相關,所以在鏈接503.1之下顯示鏈接503.2。
假設用戶認為鏈接503.1是相關的、并通過使用鼠標102點擊鏈路503.1來進行鏈路503.1的選擇,則鏈路503.1指定用戶想要查看的網頁的因特網地址。這里,可以在鏈接服務器150上找到頁面。
典型地,在該實施例中,所鏈接的服務器150不是網絡服務器120、或者協助網絡服務器140的一部分;作為替代,在協助服務器140上保存的索引數據庫軟件142的數據庫包含至所鏈接服務器150的因特網鏈接。
因此,鏈接503.1指定所鏈接服務器150的因特網地址,以及還指定了可以找到頁面的、所鏈接服務器150上的位置。當用戶點擊鏈接503.1時,網絡瀏覽器軟件110將HTTP請求134發送至所鏈接的服務器150。所鏈接的服務器150返回定義所請求網頁的HTTP響應135。網絡瀏覽器軟件110解譯由HTTP響應135定義的網頁,并在用戶PC 101的屏幕104上顯示所請求的網頁。
因此,插件程序111和協助網絡服務器140不是僅向用戶提供HTTP“404未發現”消息,而可以通過向用戶呈現用戶可點擊的潛在相關鏈接列表,來改善用戶的網絡瀏覽體驗。
第二實施例圖2示出了根據本發明第二實施例的系統200。系統200的許多組件與系統100的組件相同。因此,共有部分保留了圖1中使用的相同參考數字。
系統100適用于用戶輸入了不存在的網頁地址的情況,而系統200適用于用戶點擊了由“鏈接網絡服務器”201提供的鏈接的情況,其中,鏈接網絡服務器201指向網絡服務器120上不存在的鏈接。系統200還能夠收集可用于改進呈現給用戶的鏈接的相關性、或者用于其它目的的信息。
作為第二實施例中的第一步驟,用戶通過鍵盤103,將鏈接網絡服務器201上網站的因特網地址(URL)鍵入網絡瀏覽器軟件110。網絡瀏覽器軟件110將HTTP請求202發送給鏈接網絡服務器201。在該示例中,找到了鏈接網絡服務器201上的所請求頁面,所以鏈接網絡服務器201使用HTTP響應203作出響應。網絡瀏覽器軟件110對由HTTP響應203定義的網頁進行解譯,并在顯示器104上顯示該網頁。所顯示的網頁包括一個或多個虛假鏈接(faulty link)。虛假鏈接意味著該鏈接不正確、或者該鏈接指向不再可用的網頁。
在下一步驟中,用戶點擊虛假鏈接之一(當然,通常他不知道是虛假的)。網絡瀏覽器軟件110將HTTP請求130發送至保存有無法找到頁面的網站或斷開的鏈接的遠程網絡服務器120。網絡服務器120確定所請求的頁面不可用,并將HTTP“404未找到”響應131返回網絡瀏覽器軟件110。
系統200具有與插件程序111類似的插件程序211,但是包括參與者ID(participant ID)212。參與者ID 212是用于識別向用戶提供插件程序211的組織(organisation)的數據。插件程序211配置為能夠將參與者ID傳輸至協助服務器240。
協助服務器240與系統100的協助服務器140類似,但是包括參與者監視軟件242,用于分析不同用戶的各種參與者ID 212。盡管為了清楚,在系統200中只示出了單個用戶PC 101,但是使用各個PC的多個用戶可以在各自的PC處同時使用網絡瀏覽器軟件110和各個插件程序211。插件程序211實質上是相同的,但是依據向用戶提供插件程序211的任一組織而具有不同的參與者ID 212。
返回圖2,當插件程序211檢測到已經從網絡服務器120中接收到HTTP“404未找到”響應131時,插件程序211使網絡服務器軟件110向協助網絡服務器240發送HTTP請求232。HTTP請求232與系統100的HTTP請求132類似,但是包括參與者ID 212。
對于系統200,HTTP請求232的示例如下GEThttp://internet_address_of_helperweb_server_240/search.asp?participantID=123456&referrer=web_page_address_of_page_on_linking_server_201&error=404&missing_page=web_page_address_of_missing_page其中internet_address_of_helper_web_server_240是協助服務器240的因特網地址;參與者ID是插件程序211的參與者ID;web_page_address_of_page_on_linking_server_201是鏈接網絡服務器201上的網頁地址,鏈接網絡服務器201包含至網絡服務器120上不存在的頁面的鏈接;404是HTTP響應131的狀態代碼;以及web_page_address_of_missing_page是鏈接服務器201上的頁面所指向的網絡服務器120上不存在的頁面的地址。
協助網絡服務器240使用HTTP請求232來推測無法找到的網頁的上下文。形成協助服務器240的一部分的參與者監視軟件242記錄使HTTP請求232發送的插件程序211的參與者ID 212。這里,參與者ID 212具有值“123456”。
協助服務器240包括與系統100的分析軟件141類似的分析軟件。然而,由于HTTP請求232中提供的附加信息(對比HTTP請求132),分析軟件241獲得關于用戶嘗試查看的網頁上下文的增強信息。分析軟件241使用HTTP請求232中的“查閱者(referrer)”信息,來將HTTP請求220發送給鏈接網絡服務器201。HTTP請求220從網絡服務器201請求來該網頁,該網頁包含至網絡服務器120上頁面的錯誤鏈接。鏈接網絡服務器201以HTTP響應221進行響應。HTTP響應221包括信息,該信息定義了在用戶PC 101的顯示器104上顯示的網頁的外觀和內容。分析軟件241實際上不顯示由上下文HTTP響應221中的信息定義的網頁,而是對信息進行分析以確定鏈接附近的關鍵詞。
圖6示出了在用戶PC 101的顯示器104上顯示的網頁600(分析軟件通常將不會顯示網頁600)的示例。分析軟件241分析網頁600以確定指向網絡服務器120上的不存在網頁的鏈接的位置。由參考數字601來表示該鏈接。如圖所示,鏈接601附近的單詞包含與鏈接601的上下文相關的各種關鍵詞。分析軟件241對這些關鍵詞進行分析,以確定適合的關鍵詞。對網頁上的關鍵詞進行分析和索引的不同方法是本領域公知的。這里,分析軟件241確定要由索引數據庫軟件142使用的關鍵詞602。分析軟件241還針對相關的關鍵詞,對網頁600的網絡地址進行分析。由分析軟件241將分析結果傳輸至索引數據庫軟件142。然后,索引數據庫軟件142生成預期與用戶相關的一個或多個鏈接的列表。
在本實施例中,系統200使用參與者ID 212來進一步獲得上下文信息。參與者監視軟件242包括將參與者ID與向用戶提供插件程序211的任一組織相關的數據庫。在該假定示例中,參與者ID 212具有值“123456”,用于指示稱為“工業化學組織”的假定組織向用戶提供插件程序211。用戶可能與“工業化學組織”的假定社團具有特定關系,這提供了附加上下文信息,即,所期望的上下文是化學領域的。在本實施例中,參與者監視軟件242將指示所期望的上下文的信息傳輸至索引數據庫軟件142。
將索引數據庫軟件142創建的潛在相關網站的列表傳輸至網頁創建軟件143,網頁創建軟件143然后將HTTP響應233發送至網絡瀏覽器軟件110。HTTP響應233包括定義網頁的信息;網絡瀏覽器軟件110對信息進行解譯,并在顯示器104上顯示網頁。所顯示的網頁與圖5中示出的網頁類似,但是更集中于分析軟件241和索引數據庫軟件142認為可能是用戶上下文的上下文。HTTP響應233與系統100的HTTP響應133類似,但是,由HTTP響應133定義的網頁包括直接指向所鏈接的服務器150的鏈接,而由HTTP響應233定義的網頁具有至協助服務器240的鏈接。盡管該鏈接指向協助服務器240而不是所鏈接的服務器150,但是該鏈接包含允許協助服務器240使網絡瀏覽器軟件110指向所鏈接的服務器150的信息。現在將討論協助服務器240處理這些鏈接的方式。
如果用戶點擊鏈接之一,則網絡瀏覽器軟件110將HTTP請求234發送至協助服務器240。對于系統200,HTTP請求234的示例如下GET http://internet_address_of_helper_web_server_240/tracker.asp?participantID=123456&link_address=web_page_address_of_web_page_on_linked_server_150HTTP請求234指定協助服務器240的網絡地址,以及還包含所鏈接的服務器150和參與者ID 212的網絡地址作為參數。協助服務器240包括跟蹤器軟件243。這里,跟蹤器軟件243確定參與者ID是“123456”。
跟蹤器軟件243保持針對每個參與者ID 212而接收的HTTP請求234的次數的計數。因此,每次PC 101的用戶點擊從協助服務器240中接收的鏈接時,跟蹤器軟件243使針對參與者ID“123456”的計數遞增1。當其他用戶點擊這種鏈接時,針對其它參與者ID的各個計數將會增加1。因此,跟蹤器軟件243允許協助服務器240確定從每個可以分配插件程序211的組織中接收到多少“點擊”。
協助服務器240還包括重定向軟件244。在接收到HTTP請求234時,重定向軟件244提取用于指定所鏈接服務器150上頁面網絡地址的參數。然后,重定向軟件244將HTTP響應235發送至網絡瀏覽器軟件110。HTTP響應235包括HTTP重定向狀態代碼(例如,“302暫時移動”,其后總是由“位置”報頭字段),HTTP重定向狀態代碼向網絡瀏覽器軟件110指示網絡瀏覽器軟件110應當在另一位置尋找網頁(即,由HTTP請求234請求的網頁)。在本示例中,另一位置由HTTP響應235的“位置”報頭字段指定。
在接收到HTTP響應235時,網絡瀏覽器110將HTTP請求發送至所鏈接的服務器150。所鏈接的服務器150以HTTP響應135進行響應,并使網頁在用戶PC 101的顯示器104上顯示。
在HTTP請求232中包括參與者ID 212的優點在于,參與者監視軟件242可以改進索引數據庫軟件142所使用的上下文。在系統200的可選實施例中,從HTTP請求232中省略參與者ID 212,并免去參與者監視軟件242。在另一實施例中,結合分析軟件241和索引數據庫軟件142,使用參與監視器軟件242來增強“喜愛的”所鏈接服務器150的等級,或者使用參與監視軟件242來防止將與一個或多個“不喜愛的”所鏈接服務器150的鏈接呈現給用戶。
在系統200的可選實施例中,配置插件程序211,從而參與者ID212不包括在HTTP請求234中,在這種情況下,可以免去協助服務器240的跟蹤器軟件243。然而,優選地,使參與者ID 212包括在HTTP請求234中,并保留跟蹤器軟件243。參與者ID 212和跟蹤器軟件243的使用允許協助服務器240對向特定所鏈接服務器150提供了多少鏈接進行計數,并確定用于訪問特定所鏈接服務器150的插件程序211的參與者ID 212。這允許協助服務器240的所有者從所鏈接服務器150的所有者獲得經濟收入,并與向用戶提供插件程序211的組織共享該收入。
圖2僅示出了單個所鏈接的服務器150。在系統200的典型實現中,將會理解,可以具有多個所鏈接的服務器150。對于要與協助服務器240“鏈接”的服務器150,索引數據庫軟件142有必要包含指定了特定的所鏈接數據庫150上網頁的網絡地址的信息。當然,索引數據庫軟件142可以具有至從特定的所鏈接服務器150中可檢索的多個網頁的鏈接、以及至多個所鏈接服務器150的鏈接。這些鏈接還可以包括至網絡服務器120上的其它網頁的鏈接,這些網頁可以在沒有“404未找到”錯誤的情況下被檢索。
假設協助服務器140的所有者已經與不同所鏈接服務器150的各個所有者達成一致,從而,對于從插件程序211和協助服務器240的使用中得到的至所鏈接服務器150的每個“點擊通過(click-through)”,各個所鏈接服務器150的所有者向協助服務器240的所有者付費。還假設協助服務器140的所有者已經與準備分配插件程序211的一個或多個組織達成一致,其中,將各個參與者ID 212分配給組織中的每個(例如,“123456”或“111222”)以便區分插件程序211。跟蹤器軟件243和重定向軟件244中的每個對已經向每個所鏈接的服務器150傳輸了多少點擊通過進行計數。作為示例,假設公司A擁有已經接收到20個點擊通過的第一所鏈接服務器150,以及公司B擁有已經接收到10個點擊通過的第二所鏈接服務器150。公司A和公司B基于跟蹤器軟件243和重定向軟件244所記錄的點擊通過數量,來向協助服務器240的所有者支付經濟報酬。因此,協助服務器240的所有者獲得30個點擊通過總數的報酬。還假設第一組織C向一些用戶提供了具有參與者ID 212“123456”的插件程序211,以及第二組織D向其它用戶提供了具有參與者ID 212“111222”的插件程序211。協助服務器240的所有者可以向組織C和D支付從所有者A和B處接收的報酬的一部分,這部分報酬與如下生成的點擊數量成比例(i)具有參與者ID 212“123456”的插件程序211,(ii)具有參與者ID 212“111222”的插件程序211。從而,鼓勵了組織C和D將具有各個參與者ID的插件程序211分配給用戶。
在系統200的可選實施例中,不必要對至一個或多個所鏈接服務器150的點擊通過數量進行計數。在這樣的實施例中,參與者ID 212不包括在HTTP請求234中;類似地,可以免去跟蹤器軟件243。
第三實施例圖3示出了根據本發明第三實施例的系統300。系統300在某些方面與系統200類似,并且相似的組件再次采用相似的參考數字。然而,系統300包括代理網絡服務器301。一些因特網服務提供商(ISP)將代理服務器用作ISP的個人訂戶(例如,家庭用戶)與因特網之間的網關。一些企業還將代理服務器用作其員工使用的PC與因特網之間的接口。代理服務器可以通過結合病毒掃描器來提供增強的安全性、以及通過對信息進行高速緩存來提供增強的性能。用戶PC 101與因特網之間的所有網絡(HTTP)通信都通過代理服務器301,該代理服務器301接收來自用戶PC 101的HTTP請求,然后將這些請求中繼至因特網上的其它網絡服務器。代理服務器301接收來自因特網上的其它網絡服務器的HTTP響應,然后將這些HTTP響應中繼至用戶PC 101。
系統300與系統200之間的另一差異在于系統300的協助網絡服務器340不對至所鏈接服務器150的點擊通過數量進行計數。作為替代,使用修改后的索引數據庫軟件342,而不是索引數據庫軟件142。索引數據庫軟件342存儲所鏈接服務器150上的網頁的網絡地址,還存儲“所鏈接ID”312,該“所鏈接ID”312允許所鏈接服務器350對已經從協助服務器340處接收的點擊通過進行計數。所鏈接服務器350與所鏈接服務器150類似,但是包括跟蹤器軟件343,用于對所接收的點擊通過數量進行計數。
在圖3中示出的實施例中,PC 101的用戶將網絡地址鍵入網絡瀏覽器軟件110、或者點擊至鏈接網絡服務器201的鏈接。這里,代理服務器301截獲HTTP請求202,代理服務器301修改HTTP請求202的報頭,并將新HTTP請求302發送至鏈接網絡服務器201。鏈接網絡服務器201使用由代理服務器301截獲的HTTP響應203進行響應。代理服務器301修改HTTP響應203的報頭,并將HTTP響應303發送回網絡瀏覽器軟件110。對于HTTP請求130和330,發生了類似的一系列事件。當代理服務器301從所鏈接的網絡服務器120處接收到HTTP“404未找到”響應131時,“代理附加件(add-in)”311修改代理服務器301的行為。
代理附加件311是軟件(在本實施例中)或者硬件,用于在接收到HTTP“404未找到”或類似的狀態代碼時修改代理服務器301的行為。從而,代理附加件311執行在某些方面等同于系統100和200的插件程序111和插件程序211的功能。典型地,協助服務器340的所有者將代理附加件311提供給代理服務器301的所有者。無論何時代理服務器301接收到來自網絡服務器120的HTTP“404未找到”響應131時,代理附加件311使代理服務器301生成HTTP重定向響應331,并將該HTTP重定向響應331發送給網絡瀏覽器軟件110。HTTP重定向響應331包括鏈接網絡服務器201上頁面的網絡地址、以及網絡服務器120上的無法找到的頁面的網絡地址,其中,鏈接網絡服務器201具有至網絡服務器120上頁面的錯誤鏈接。
在接收到HTTP重定向響應331時,網絡瀏覽器軟件110將HTTP請求132通過代理服務器301發送至協助網絡服務器340。協助網絡服務器340將HTTP請求132接收作為HTTP請求332。HTTP請求132和332均包括作為參數的鏈接網絡服務器201上頁面的網絡地址、以及網絡服務器120上無法找到的頁面的地址,其中,鏈接網絡服務器201包含至所鏈接網絡服務器120上頁面的錯誤鏈接。
協助網絡服務器340從HTTP請求332中提取鏈接網絡服務器201上頁面的網絡地址。對于系統200,協助網絡服務器340將HTTP請求220發送至鏈接網絡服務器201,并接收HTTP響應221。對于系統200,分析軟件241確定無法找到的網頁的上下文,并將上下文信息傳輸至索引數據庫軟件342。
索引數據庫軟件342包括所鏈接服務器350上的網頁的數據庫。索引數據庫軟件342還包括一個或多個所鏈接ID 312。所鏈接服務器350的各個所有者將所鏈接ID 312提供給協助網絡服務器340的所有者。典型地,所鏈接服務器350的每個所有者向協助服務器340的所有者提供對于協助服務器340的所有者專有的所鏈接ID 312。一個或多個所鏈接ID 312允許所鏈接服務器350的所有者區分來自協助服務器340的點擊通過和來自其它網絡服務器(未示出)的點擊通過。所鏈接服務器350對接收到的所鏈接ID 312的數量進行計數。假設已經對協助網絡服務器340的所有者分配了具有值“123321”的所鏈接ID312。每次所鏈接服務器350接收到具有值“123321”的所鏈接ID 312時,計數器(未示出)遞增。從而,該計數器允許所鏈接服務器350的所有者確定從協助網絡服務器340中產生了多少點擊通過。作為回報,所鏈接服務器350的所有者向協助網絡服務器340的所有者支付報酬。
現在將更加詳細地描述系統300。
如前所述,網頁創建軟件143生成網頁,該網頁作為HTTP響應133,通過代理服務器301發送給用戶PC 101。用戶PC 101接收HTTP響應133作為HTTP響應333。結果,在用戶PC 101的顯示器104上顯示網頁。該網頁包括一個或多個鏈接。該一個或多個鏈接中的每個指向所鏈接服務器350。每個鏈接還包括作為參數的所鏈接ID 312,各個所鏈接服務器350的所有者已將所鏈接ID 312分配給協助網絡服務器340的所有者。
如果用戶點擊鏈接之一,則從用戶PC 101通過代理服務器301發送HTTP請求334,所鏈接服務器350接收該HTTP請求334,作為HTTP請求334A。HTTP請求334與系統100和200的HTTP請求134類似,但是包括作為參數的所鏈接ID 312值,即,“123321”。
所鏈接服務器350包括跟蹤器軟件343,用于分析包含于HTTP請求中的所鏈接ID參數。每次所鏈接服務器350接收到具有所鏈接ID“123321”的HTTP請求時,跟蹤器軟件343使計數器遞增,指示在協助網絡服務器340的幫助下接收到了點擊通過。響應于HTTP請求334A,所鏈接網絡服務器350將HTTP響應135通過代理服務器301發送給用戶PC 101,其中,接收HTTP響應135作為HTTP響應135A。
系統300的代理附加件311不存儲參與者ID 212。在系統300的可選實施例中,代理附加件311存儲傳送給協助服務器340的參與者ID 212。這允許協助服務器340區分由不同組織所有的代理服務器301。對于每個值(例如,“123456”),通過對所接收的參與者ID 212的數量進行計數,協助服務器340的所有者可以給予代理服務器301的所有者與點擊通過數量成比例的報酬。當然,該可選實施例不能跟蹤HTTP請求332是否實際產生了點擊通過。在可選實施例中,修改代理附加件311,以便監視HTTP請求334,從而允許所修改的代理附加件311確定適于參與代理服務器301的各個所有者中的每個的報酬。
第四實施例圖4示出了根據本發明第四實施例的系統400。
系統100、200、300示出了網絡服務器120,而系統400具有網絡服務器420。網絡服務器420與網絡服務器120類似,但是包括錯誤處理器411。相比于網絡服務器120的行為,當不能從網絡服務器420中檢索到所請求的網頁時,錯誤處理器411修改網絡服務器420的行為。錯誤處理器411修改網絡服務器420的行為,從而網絡服務器420不是返回諸如“404未發現”之類的HTTP狀態代碼,而是返回包括HTTP重定向狀態代碼的HTTP響應431(例如,“302暫時移動”以及“Location:http://internet_address_of_helper_server_240/search.asp?referrer=web_page_address_of_page_on_linking_server_201&error=404&missing_page=web_page_address_of_missing_page”字段)。HTTP響應431使網絡瀏覽器軟件110向協助服務器440發送HTTP請求132。
協助服務器440與輔助服務器460進行通信。輔助服務器460包括分析軟件241、索引數據庫軟件142和網頁創建軟件143。從而盡管協助服務器440不同于協助服務器140、240、340,但是實際上,它與輔助服務器460結合,能夠提供類似功能。當輔助服務器460請求訪問網頁時,協助服務器440用作輔助服務器460的代理服務器。
協助服務器440將HTTP請求220發送至鏈接網絡服務器201,鏈接網絡服務器201使用HTTP響應221對協助服務器440作出響應。然后,輔助服務器460的網頁創建軟件143生成網頁,并通過協助服務器440,將HTTP響應133發送給網絡瀏覽器軟件110。如果用戶點擊鏈接,則HTTP請求134發送給以HTTP響應135應答的所鏈接服務器150,從而使來自所鏈接服務器150的網頁顯示在用戶101的顯示器104上。
在系統400的可選實施例中,將錯誤處理器411配置為包括參與者ID 212,該參與者ID 212包括在HTTP響應431中,從而傳送給協助服務器440。在系統400的另一實施例中,使用包括所鏈接ID 312的索引數據庫軟件342來替換輔助服務器460的索引數據庫軟件142。在另一實施例中,協助服務器440還包括跟蹤器軟件243和重定向軟件244。
第五實施例在系統100-400中,插件程序111、211、代理附加件311或錯誤處理器411檢測到指示用戶所請求的網頁不能顯示在用戶PC 101的網絡瀏覽器110/顯示器104上的信號(如,HTTP狀態代碼“404未找到“)。在一些情況下,錯誤可以在未生成HTTP狀態代碼的情況下發生。
在第五實施例(未示出)中,適合地,由插件程序111、211、代理附加件311或錯誤處理器411檢測在這種情況下的錯誤,并將這種情況下的錯誤用于激活分析軟件141、索引數據庫軟件142和網頁創建軟件143。本領域技術人員很容易理解插件程序111、211、代理附加件311或錯誤處理器411所需要的修改。
以下五個示例是網絡服務器120不會生成HTTP狀態代碼的情況的示例1.不存在的域名當由網絡瀏覽器110進行的針對系統100、200中的請求130的DNS查找、或者由代理服務器301進行的針對系統300中的HTTP請求330的DNS查找不能將文本因特網地址(例如,‘www.some_non_existant_domain.com’)轉換為數字因特網協議地址時,插件程序111、211或代理附加件311將接收來自DNS服務器的錯誤代碼,并表現得如同發生了HTTP‘主機未找到’錯誤。
假設在系統100、200中的用戶PC 101與網絡服務器120之間、或者在系統300中的代理服務器301與網絡服務器120之間存在標準網絡代理服務器(即,不包括代理附加件311的代理服務器),則該標準代理服務器將會把所接收的DNS錯誤消息轉換為HTTP錯誤消息,并將該消息發送回網絡瀏覽器110或代理服務器301。然后,如平常一樣,向插件程序111、211或代理附加件311通知HTTP狀態代碼。
2.所給IP地址處沒有服務器在當前沒有將URL中的IP地址或URL中從FQDN中解析出的IP地址分配給因特網上的任何機器時,網絡瀏覽器110或代理服務器將不能建立與不存在的網絡服務器120的連接。
2.1如果在特定時間段(典型地,若干秒)內沒有建立連接,則網絡瀏覽器110或代理服務器301(或標準代理服務器)將會超時。插件程序111、211或代理附加件311將會接收到超時通知,并可以如同已經接收到HTTP“主機未發現”一樣再次繼續運行。(標準代理將會把超時轉換為HTTP狀態代碼,并將該代碼發送給網絡瀏覽器110或代理服務器301,所以插件程序111、211或代理附加件311可以表現得如先前所討論的一樣)。
2.2可選地,與網絡服務器120應當處于的子網絡更靠近的路由器可能已經獲知網絡服務器120不存在。路由器將發送回ICMP(因特網控制消息協議)‘主機不可達’消息。插件程序或附加件得到將如上所述的通知,并可以針對任何其它錯誤進行運行(再次,典型地,標準代理將ICMP轉換為由網絡瀏覽器110.3接收的HTTP狀態代碼)。
3.無路由至服務器當存在阻止數據報從用戶PC 101或代理服務器301(或者中介(intervening)標準網絡服務器)到達網絡服務器120的問題時,將發生與情況2中相同的情況,除了中介路由器可以在情況2.2中發送ICMP‘網絡不可達’。
4.無路由來自服務器當存在阻止數據報從網絡服務器120返回時,總是應用情況2.1。
5.服務器不是網絡服務器當連接了服務器120、但是服務器120不在標準HTTP端口號(TCP端口80)上、或者在URL中指定的端口號上運行網絡服務器軟件時,服務器120可以完全地忽略將會導致情況2.1的請求,或者如可以在2.2中處理的,服務器120可以返回ICMP‘協議不可達’或ICMP‘端口不可達’。
以上引用的五種情況的參考可以在以下鏈接找到http://www.ietf.org/rfc/rfcO792.txtIETF RFC 792因特網控制消息協議(Internet Control MessageProtocol)第六實施例圖7示出了根據本發明第六實施例的系統700。系統700與先前描述的系統100具有許多共同的特征。然而,在系統700中,由協助服務器740來替換系統100的協助服務器140。協助服務器740與協助服務器140類似,但是還配置為與“who is”服務器701和“what is”服務器702進行通信。
系統700允許獲得關于失敗的HTTP請求130的上下文的附加信息。如本領域技術人員將會理解的,如上所述的系統100分析了網絡服務器120的URL的文本形式以確定關鍵詞(例如,“化學”和“元素”)。盡管在一些情況下,對URL的關鍵詞的分析可以提供充分的上下文信息,但是在其它情況下,會需要更多的上下文信息,以向系統用戶提供至充分相關的可選網頁的鏈接。
現在將呈現假定示例。例如,假設用戶鍵入網絡地址http://www.elephant.co.uk/this_page_does_not_exist.html在該假定示例中,網絡服務器120返回包括HTTP狀態代碼“404未找到”的HTTP響應131(注意,這是假定示例,實際的www.elephant.co.uk不返回404 HTTP狀態代碼,而是顯示指示不能找到“this_page_does_not_exist.html”頁面的頁面)。然后,插件程序111發送HTTP請求132(包括網絡地址)來至協助服務器740的分析軟件741。
分析軟件741與分析軟件141類似,但是配置為嘗試獲得關于不能找到的網頁上下文的進一步信息。例如,對于自然語言關鍵詞的以上網絡地址上下文的簡單分析可能建議網頁上下文是厚皮動物(即,諸如具有厚皮的大象之類的動物)。
在本實施例中,分析軟件741將FQDN(即,www.elephant.co.uk)作為HTTP請求730的一部分發送給“whois”服務器701。whois服務器701提供關于已經注冊了域名www.elephant.co.uk的人或組織的信息。whois服務器701的示例是在以下網絡地址處的whois服務器http://www.samspade.org/t/whois?server=magic如本領域技術人員將會理解的,RFC 3912中的IETF定義whois協議(見http://www.ietf.org/rfc/rfc3912.txt,在此一并引入作為參考)。不存在針對基于HTTP的whois服務器的請求格式的規范。每個定義了自己的格式。RFC 3912定義了獨立于HTTP的whois協議。因此,依據為協助服務器740選擇的whois服務器,請求/響應對730/731可以使用如為SamSpade示出的定制的基于HTTP的格式,或者可以使用RFC 3912中定義的whois格式。
分析軟件741接收來自whois服務器701的HTTP響應732。對于該假定示例,HTTP響應732包括以下信息域名elephant.co.uk注冊者Admiral保險服務有限公司注冊者代理機構NTL因特網有限公司[標簽=CABLEOL]URL:http://www.ntl.com相關日期上次更新12-Oct-2004順序列出的名稱服務器dnsl.ntli.net62.253.162.237dns2.ntli.net194.168.4.237WHOIS數據庫列表上次更新于2005年7月5日18:10:00內容分析器741針對關鍵詞來分析HTTP響應732,并在找到關鍵詞“保險”(在該示例中,作為注冊者名稱的一部分)時,確定無法檢索到的假定網頁的上下文實際上是保險而不是厚皮動物。因而通過使用whois服務器701,系統700可以對HTTP響應133中的鏈接相關性的進行改進。
在以上描述的假定示例中,來自whois服務器701的HTTP響應731包括充足的上下文信息。在其它情況下,來自whois服務器701的響應可以包含域名注冊所有者的名稱和地址,但是可能不包括諸如保險之類的關鍵詞。例如,域名www.newscientist.co.uk的whois響應包括以下信息域名newscientist.co.uk
注冊者Reed商業信息公司注冊者地址Quadrant HouseThe QuadrantSuttonSurreySM2 5ASGB盡管給出了域名的注冊者,但是注冊者的名稱可能并不總是提供了充足的上下文信息。這里,注冊者的名稱是“Reed商業信息公司”,但是這并沒有充分地指示出注冊者的上下文。在這樣的情形下,例如,分析軟件741提取注冊者名稱,并將HTTP請求732發送給what_is服務器702。
what_is服務器702使用包括關于注冊者上下文的信息的HTTP響應733進行響應。例如,在英國,以下網站www.192.com可以用于獲得關于注冊者的上下文信息。對于注冊者“Reed商業信息公司”,HTTP響應733包括關鍵詞“報紙和雜志出版商”。分析軟件741將關鍵詞用作上下文信息。因而在本實施例中,通過鏈接whois服務器701和what_is服務器702,系統700可以對HTTP響應133中的鏈接相關性進行改進。
如本領域技術人員將會理解的,系統700還可以使用注冊者的地址作為上下文信息的一部分、或者對what_is服務器702的查詢的一部分。作為使用www.192.com的替代,可以對系統700進行配置,以查詢諸如Companies House的在線數據庫之類的在線數據庫。在UK,Companies House是提供注冊公司詳情的官方注冊登記。
本領域的技術人員還將會理解,例如,可以修改系統700,以結合系統200、300、400進行操作。本領域技術人員還將會理解,可以修改系統700。例如,可以修改分析軟件741,從而作為從whois服務器701或what_is服務器702中搜尋上下文信息的替代或附加,上下文分析軟件741可以執行針對一些其它信息資源的上下文分析。例如,可以配置分析軟件741,以將HTTP請求發送給所請求的頁面不可用的網站主頁(即,在頁面http://www.elephant.co.uk/this_page_does_not_exist.html不可用時,分析軟件741請求來自網站www.elephant.co.uk的主頁,并對該主頁執行上下文分析)。本領域技術人員將會理解,存在多種其他在線資源,分析軟件741可以對其執行上下文分析。在獲得上下文信息(即,關于不能發送至用戶PC 101的網頁的上下文信息)中,這些在線資源中的一些比其它在線資源的用途更大。
本領域技術人員可以確定哪些在線資源提供有用信息。例如,隨機選擇的網頁不可能提供有用的上下文信息。相反地,在線數據庫、網站主頁或引用網頁(referring web page)(即,具有缺陷(defective)鏈接的網頁)可能提供有用信息。
第七實施例圖8示出了可以用于替換系統300的代理附加件311的系統800。圖8示出了基于因特網內容適應協議(ICAP)的代理服務器801和ICAP服務器811。系統800的一些部分與系統300相同,所以為了讀者的方便,在圖8中示出了HTTP請求和HTTP響應中的一些。本領域的技術人員將會理解,ICAP是在RFC 3507中描述的IETF標準協議(http://www.ietf.org/rfc/rfc3507.txt),該協議允許因特網代理服務器執行諸如病毒掃描、語言翻譯或內容過濾之類的功能。ICAP協議允許代理服務器在專用網絡(如,ISP的內部LAN)上、或在公共的基于IP的網絡(如,公共因特網)上,將查詢發送給一個或多個內容適應服務器。
對照系統300,代理服務器801替換代理服務器301,同時,ICAP服務器811替換代理附加件311。在本實施例中,ICAP服務器811是通過因特網與協助服務器340連接、以及通過以太網鏈接與代理服務器801連接的服務器。由于通過HTTP 302重定向響應而使網絡瀏覽器110發布HTTP請求,來進行在優選的基于代理的實施例中的通信,所以ICAP服務器811自身不需要與協助服務器340直接連接。代理服務器801包括與ICAP服務器811進行通信的ICAP客戶。
系統800可以用于截獲和修改來自用戶PC 101的外發HTTP請求130、和/或至用戶PC 101的進入HTTP響應131。由于系統800的一些特征與系統300的那些類似,所以將根據系統300來描述系統800的操作。
首先考慮來自用戶PC 101的外發HTTP請求130。
當代理服務器801接收到HTTP請求130時,代理服務器801在以太網鏈接上將消息860發送至ICAM服務器811。消息860包括HTTP請求130的復制。ICAP服務器811首先檢查HTTP請求130的URI中的FQDN解析為真實IP地址。ICAP服務器811檢查通過使用DNS服務器來解析FQDN。FQDN將不會解析為真實IP地址的情況的示例是,如果不正確地指定了HTTP請求130中的網站名稱,從而網站名稱的DNS解析失敗。假設FQDN確實解析為真實IP地址,則ICAP服務器811檢查是否在DNS解析所給的IP地址處有網絡服務器120在監聽。如果有網絡服務器120在監聽,則ICAP服務器811將消息861發送回代理服務器801。消息861包括未修改的HTTP請求130,該未修改的HTTP請求130由代理服務器801作為HTTP請求330在因特網上發送至網絡服務器120。
如果DNS解析失敗、或者如果網絡服務器120不處理HTTP請求,則ICAP服務器811不發送包括未修改的HTTP請求的消息861,而是使代理服務器801將HTTP重定向響應331發送至用戶PC 101上的網絡瀏覽器110。如以上所描述的,HTTP重定向響應331使網絡瀏覽器110將HTTP請求132發送至協助服務器340。然后,協助服務器340執行如上所述的上下文分析。
本領域的技術人員將會理解,作為將HTTP重定向響應331發送至網絡瀏覽器110的替代,可以將ICAP服務器811配置為向代理服務器801發送消息861,其中,修改了HTTP請求的報頭。然后,代理服務器801向因網發出所修改的HTTP請求。對HTTP請求進行修改,從而不會尋址至網絡服務器120,而是HTTP請求將協助服務器340指定為目的地。然后,協助服務器340執行如上所述的上下文分析。
其次考慮來自網站120的進入HTTP響應131。
當代理服務器801從網絡服務器120中接收到HTTP響應131時,代理服務器801將消息871發送至ICAP服務器811。消息871包括HTTP響應131的拷貝。ICAP服務器811檢查HTTP響應131的報頭,以確定是否成功地從網絡服務器120中檢索到由用戶請求的網頁(或其它資源)。如果HTTP響應131的狀態代碼指示成功地檢索到網頁,則ICAP服務器811將消息872發送至代理服務器801;消息872通知代理服務器801HTTP響應131應當不經修改地傳輸至用戶PC 101。
如果HTTP響應131的狀態代碼指示沒有成功地檢索到網頁,則在本實施例中,ICAP服務器811還檢查HTTP響應131主體(與報頭相對)的長度(即,字符個數)。如果主體長度低于閾值長度,則ICAP服務器811發送消息872,該消息872用于指示代理服務器801使用HTTP重定向響應311來替換HTTP響應131。HTTP重定向響應311使網絡瀏覽器110將HTTP請求132發送至協助服務器340。然后,協助服務器340如上所述執行上下文分析。
在一些實施例中,可以配置ICAP服務器811以只檢查HTTP響應131的狀態代碼、而不是檢查HTTP響應131的狀態代碼和主體長度。
在以上描述的實施例中,ICAP服務器811與DNS服務器和網絡服務器120進行通信,以檢查網絡服務器120將對外發HTTP請求130作出響應。在一些實施例中,ICAP服務器811包括計時器,用于確定從詢問DNS服務器或網絡服務器120起,是否經過了太長時間。如果經過了太長時間,則ICAP服務器811認為出現錯誤,并使代理服務器801將HTTP重定向響應311發送至網絡瀏覽器110。
如本領域技術人員將會理解的,許多網頁包括多幅圖像。這種網頁包含指定了可以從哪里下載圖像的HTML信息。一旦將這種網頁加載進網絡瀏覽器110,則網絡瀏覽器110發布針對每個圖像的HTTP請求。優選地,ICAP服務器811忽略對于圖像(例如,以文件格式.jpg和.png)和可執行文件(例如,以格式.exe)的請求的HTTP狀態。在一些情況下,例如,所請求的URL以共同的圖像或其它無HTML頁對象文件名擴展(.gif、.ess、.jpg、.map)結束時,可以配置代理服務器801根本不查詢ICAP服務器811。這減小了代理服務器801與ICAP服務器811之間的通信信道(以太網或因特網)上的負荷,并減小了ICAP服務器811上的負荷。在其它情況下,URL可能不會指示數據類型,ICAP服務器811必須進行確定。一種方法是檢查先前返回的內嵌對象的URL的HTML頁面,并在設置的時間段內,將這些頁面存儲于數據庫中。當ICAP服務器隨后接收對內嵌對象的請求時,可以從數據庫中檢測(為了防止數據庫無限增大,一旦檢測到舊的URL已經存在了特定時間量,則將其丟棄。這種高速緩存管理是本領域公知的)。
其它實施例以上描述的系統100、200、300、400、700和800獲得了來自以下任何源的上下文信息(i)FQDN,(ii)具有缺陷鏈接的網頁,(iii)輔助服務器(如,whois服務器701、或者what_is服務器702)。如本領域技術人員將會理解的,在可選實施例中,對系統進行修改,從而同時獲得來自那些源的上下文信息、或者除此之外,系統還嘗試從具有不可獲得的網頁的網站主頁中獲得上下文信息。例如,假設用戶鍵入URL、或者點擊鏈接,例如,假定網站www.valid_domain_name.com/missing_page.html其中,FQDN有效地指定了域名,但是該路徑沒有針對該域名指定有效的網頁。在該可選實施例中,配置系統以加載網站的主頁。配置大多數網站,從而,如果沒有提供指定特定網頁的路徑,在網站缺省地返回稱為“index.html”的網頁。因而在該可選實施例中,網站可以向系統提供以下網頁www.valid domain name.com/index.html然后系統將對網站的主頁執行上下文分析。
如本領域技術人員將會理解的,將從網站主頁中獲得信息與從諸如whois服務器701之類的輔助服務器中獲得上下文信息相比,之間存在著差別。當上下文分析器(例如,分析軟件141)從網站的主頁(例如,index.html)中獲得上下文信息時,然后上下文分析器將HTTP請求發送給網站,并針對由網站返回的網頁來執行上下文分析。當上下文分析器從輔助服務器中獲得上下文信息時,可能需要執行兩個步驟。首先,上下文分析器將HTTP請求發送至輔助服務器,并從輔助服務器中接收HTTP響應。HTTP響應可以定義包括一個或多個字段的網頁。例如,whois服務器701可以具有用戶(或計算機)可以在其中輸入域名的字段。一旦用戶(或計算機)輸入了域名,并按下了“回車”按鍵,則whois服務器701使用包括上下文信息的動態生成的HTML網頁進行應答。然后,上下文分析器對于例如關鍵詞來分析動態生成的HTML網頁。
現在將討論另一實施例。為了方便,以下實施例中的大多數將根據系統100、200、300或400來呈現。本領域的技術人員將會理解,還可以將實施例中的許多應用于系統700和800、或者應用于第五實施例。
如本領域技術人員將會理解的,可以對系統100、200、300或400、或者對第五實施例作出其它修改。例如,作為使用軟件實現分析軟件141、241、索引數據庫軟件142和網頁創建軟件143的替代,專用硬件可以用于執行相同的功能。
系統100、200、300、400將分析軟件141、241、索引數據庫軟件142、342和網頁創建軟件143與協助服務器140、240、340集成。在可選實施例中,協助服務器不包括上述功能、但是具有與實現所需功能的其它服務器的通信鏈接。例如,在一個可選實施例中,在接收到HTTP請求232和HTTP響應221時,協助服務器將信息通信至推測上下文、并將上下文返回協助服務器的“上下文”軟件。然后,協助服務器將該上下文通信至數據庫服務器,該數據庫服務器提供與網頁創建服務器的直接相關鏈接的細節。然后,網頁創建服務器生成所需網頁,并將該網頁發送至協助服務器,以傳輸至網絡瀏覽器軟件110。
典型地,系統100、200、300、400不將用戶PC 101的因特網協議(IP)地址通信至協助服務器140、240、340、440。在可選實施例中,將用戶IP地址作為參數發送至協助服務器。這用于通過考慮用戶PC 101的近似地理位置來改進上下文信息。這允許改進例如信用卡或其它金融服務的相關性,或者允許重或大貨物的適當零售、或者語言翻譯服務的適當銷售。
在可選實施例中,配置協助服務器以對請求和索引進行高速緩存,從而提高對用戶的響應速度。例如,如果網絡服務器120暫時不可用,則可能不同的用戶將會嘗試訪問網絡服務器120上的頁面,從而將會重復出現類似的“404未找到”錯誤。
在可選實施例中,插件程序111、211、或者代理附加件311生成專有地標識特定用戶的永久“全局專有標識符”。在該可選實施例中,配置全局專有標識符不能跟蹤至個人,從而確保了私密性。通過將全局專有標識符作為參數包括于協助服務器,協助服務器可以考慮用戶的瀏覽習慣,從而改進上下文和呈現給用戶的鏈接的相關性。在類似的實施例中,全局專有標識符可以實現為用戶PC 101上的永久cookies。類似地,參與者ID可以存儲作為用戶PC 101上的永久cookie.在其它實施例中,參與者ID不用于記錄哪個組織將插件程序211分配給用戶,而是用作永久全局專有標識符、或者用于根據典型形象(stereotype)來對用戶進行分類,例如,用于指示用戶傾向于對化學或舞蹈感興趣。
在一些情況下,可以同時呈現系統100、200、300和400的組合。例如,具有插件程序211的用戶PC 101可以通過具有代理附加件311的代理301來訪問因特網,以訪問結合了錯誤處理器411的網絡服務器420。在這種情況下,當無“404未找到”錯誤響應返回用戶PC 101時,錯誤處理器411將會控制代理附加件311和插件程序211。如本領域技術人員將會理解的,可以修改錯誤處理器411的行為,從而提供可由代理附加件311和插件程序211檢查的信息,以在提供錯誤處理器411、代理附加件311和插件程序211的不同組織之間的共享報酬。
在可選實施例中,配置插件程序211以包括用戶最近訪問的網頁地址(URL)(例如,前述五個網絡服務器),以提供附加的內容信息。類似地,可以修改錯誤處理器411,以通過用戶PC 101上會話cookies的使用來提供相同功能的有限實現,以存儲用戶最近訪問的網頁地址。
在另一可選實施例中,可以提供多個協助服務器。在一個實施例中,將每個用戶指向特定的協助服務器,從而平衡不同協助服務器之間的負荷,例如,以在不同協助服務器之間均等地分配計算負荷或因特網業務量。可選地,不同的用戶可以基于參與者ID 212來指向不同的協助服務器。多個ICAP服務器還可以用于在其中一個ICAP服務器發生故障時分配負荷和/或提供冗余。此外,ISP通常使用多個代理服務器。在這種情況下,單個ICAP服務器811可以為多于一個的基于ICAP的代理服務器801提供服務。
系統100、200、300、400的網頁創建軟件143創建了要由用戶在顯示器104上查看的網頁。在一些情況下,用戶可能不易查看顯示器,例如,如果用戶正在駕駛。從而,在可選實施例中,例如,通過文本至語音轉換軟件,修改后的瀏覽器軟件用于生成通信至用戶的輸出,從而用戶收聽分級鏈接并通過對網絡瀏覽器說話以選擇鏈接來選擇鏈接。
系統100、200、300、400使用插件程序111、211、代理附加件311或者錯誤處理器411之一與協助服務器140、240、340、440的結合。在可選實施例中,協助服務器功能的一些或所有包括在插件程序111、211、代理附加件311、或者錯誤處理器411中。在其它可選實施例中,用戶PC實現了網絡服務器,以及插件程序111、211、代理附加件311、或者錯誤處理器411的功能是用戶PC 101的一部分。例如,如本領域技術人員將會理解的,插件程序111、211、代理附加件311、或者錯誤處理器411、分析軟件141、索引數據庫軟件142和網頁創建軟件143中的任何/一些/所有功能可以實現為用戶PC的操作系統的一部分。
在一些實施例中,不是向用戶呈現由用戶考慮和選擇的可選鏈接列表,而是將重定向HTTP響應發送給用戶PC 101,這使認為是最相關的任一鏈接直接顯示在顯示器104上。可以基于每點擊付費(CPC)、每引導付費(CPL)、每動作付費(CPA)、每顧客付費、每千付費(CPM,其中,“M”是羅馬數字1000)、每銷售付費(CPS)或每定購付費(CPO)來獲得收入。可以向不同類別的鏈接分配不同的值。例如,由于抵押合約典型地具有高值的事實,所以可以向至抵押提供者的引導分配高金融值。有時,網站的所有者將會向組織付費,以將該網站“保持(host)”在該組織所有的網絡服務器上。
先前提到的“404未找到”和“410不可再用”狀態代碼是可以改進用戶界面的適合的示例。如本領域技術人員將會理解的,可以應用該用戶界面的其它HTTP狀態代碼包括(但不局限于)400差語法(Bad Syntax),401未授權,402未使用403禁止,500服務器錯誤501未實現502過載,以及503網關超時。
在系統400中,協助服務器440與輔助服務器460連接,輔助服務器460包括分析軟件241和索引數據庫軟件242。在系統100-400的可選實施例中,由第三方提供的網絡服務器(未示出)可以用于執行上下文分析。在這樣的實施例中,在接收到HTTP狀態代碼時,配置插件程序111、211、代理附加件311、或者錯誤處理器411,以將上下文信息發送至第三方服務器。第三方服務器分析上下文信息,并將潛在鏈接列表發送至協助服務器,協助服務器然后使網頁生成并發送給用戶。
系統100-400使用索引數據庫軟件來確定與用戶潛在相關的鏈接。然后,將這些鏈接呈現給用戶。在一些情況下,優選地,確保在接收到一些結果之前用戶不必等待太長時間。在可選實施例中,配置分析軟件和索引數據庫軟件,從而在用戶第一次輸入指定特定的不存在頁面的URL時,基于對上下文信息的相對簡要的分析,,將鏈接呈現給用戶。這確保了用戶不必等待太長時間。同時,配置分析軟件和索引數據庫軟件來更加詳細地分析上下文信息,并確定新列表;由于分析軟件和索引數據庫軟件有更多時間用于分析,所以該新列表可以比最初呈現給用戶的鏈接列表與上下文更加相關。如果不同的用戶隨后輸入相同的URL、或者如果原來的用戶第二次輸入相同的URL,則呈現該新列表。該實施例的優點在于,使直至鏈接返回用戶的響應時間保持合理地較短,同時允許相對詳細的上下文分析。在該可選實施例的另一發展中,配置網頁創建軟件143,以生成包含兩個或多個“框架(frame)”的“框架集(frameset)”網頁。如本領域技術人員將會理解的,框架集網頁作為單個網頁呈現給用戶,但是框架中的每個可以源于不同的網絡服務器。例如,框架可以包含指示網絡服務器檢索特定網絡服務器主網頁的參考。在此進一步的發展中,配置網頁創建軟件,從而首先顯示在相對簡要的分析之后找到的包括鏈接的框架。如果用戶有足夠耐心等待較長時間,則還顯示在更加詳細的上下文分析之后找到的包括鏈接的框架。
在系統100-400中,調制解調器105用于將用戶PC 101與因特網連接。在其它實施例中,PC 101包括使用HTTP、無線訪問協議(WAP)或類似的請求和接收來自網絡服務器的信息的其它設備。本發明還可應用于不使用HTTP和HTML協議的網絡。類似地,本發明可應用于“內聯網”而不是因特網。如本領域技術人員將會理解的,內聯網是典型的專用網絡,不與因特網鏈接、或者通過防火墻與因特網分開。
在系統100-400中,協助網絡服務器140、240、340、440用于在用戶不能從網絡服務器120、420中訪問所請求的信息時,向用戶呈現潛在相關鏈接。協助網絡服務器和網絡服務器是獨特的網絡服務器。在可選實施例中,網絡服務器和協助網絡服務器可以不僅具有相同的IP地址,還可以是相同的網絡服務器(即,協助網絡服務器協助自己)。這樣的實施例的優點在于,可以使向用戶提供相關鏈接的響應時間最小化。例如,與系統200-400的HTTP請求220和HTTP響應221相比,在這種可選實施例中避免了對通過較大物理距離的信息的需要。
系統200使用參與者監視軟件242和跟蹤器軟件243,以允許協助服務器240來確定報酬的分配。在可選實施例中,修改插件程序211(例如),從而使用修改后的插件程序來確定報酬的分配。在該可選實施例中,由于修改了HTTP響應233以包括與所鏈接服務器150的實際鏈接(而不是與包括所鏈接服務器150的URL的協助服務器240的鏈接),所以不需要HTTP請求234和HTTP響應235。當用戶點擊鏈接時,修改后的插件程序211對這和,如果可用,參與者ID進行記錄,從而可以共享報酬。
圖1-4示出了可以截獲錯誤代碼、并將錯誤代碼用于發起對不正確的URL進行上下文分析的多種位置(在用戶PC 101與網絡服務器120、420之間)。如本領域技術人員將會理解的,許多服務器提供商(ISP)從運營商(典型地,是主要的電信公司)處購買因特網帶寬。典型地,運營商擁有和維護例如跨越大西洋的光纖電纜和交換/路由設備。在一些實施例中,可以將網絡代理結合到交換/路由設備中。這種代理將以與圖3示出的代理服務器類似的方式進行操作。
對于第五實施例,給出了在未生成HTTP狀態代碼的情況下出現錯誤的五種情況示例。在第一情況下,配置插件程序111、211或代理附加件311,以從DNS服務器中接收錯誤代碼,然后表現得如同發生了HTTP錯誤一樣。在可選實施例中,在不能將域名解析為IP地址時,修改DNS服務器,以改變DNS服務器的行為。例如,可以使用與代理附加件311類似的DNS附加件(未示出),來對修改后的DNS服務器進行修改。
通常,當用戶點擊鏈接時,瀏覽器使用DNS服務器來將域名解析為IP地址。一旦瀏覽器接收到來自DNS服務器的IP地址,則瀏覽器將HTTP請求發送至由DNS服務器指定的IP地址處的主機。
在將不存在的域名(例如,‘www.some_non_existent_domain.com’)發送至修改后的DNS服務器時,作為指示DNS錯誤已經發生的替代,修改后的DNS服務器返回協助服務器140、240、340、440的IP地址。通過因特網,將協助服務器的IP地址通信至網絡瀏覽器110,該網絡瀏覽器然后將HTTP請求發送至協助服務器140、240、340、440。
可選地,作為修改DNS服務器的替代,代理DNS服務器可以用作用戶PC與DNS服務器之間的中介。在這種情況下,代理DNS服務器從DNS服務器中接收DNS狀態代碼(包括DNS錯誤代碼)。在域名無效的情況下,產生來自DNS服務器的DNS錯誤代碼,然后代理DNS服務器截獲從DNS服務器中接收的DNS錯誤代碼,并使用DNS狀態代碼(包括協助服務器140、240、340、440的IP地址)來替換(或修正)所接收的DNS錯誤代碼。
如果用戶鍵入URL、或點擊包括路徑信息的鏈接(例如,www.some_non_existent_domain.com/path/page.html),則網絡瀏覽器將會把路徑信息發送至協助服務器的IP地址。因此,協助服務器將能夠執行如前所述的上下文信息。注意,在用戶點擊鏈接的情況下,還會將網頁的地址(即,具有指定了不存在域名的鏈接的網頁)發送至協助服務器。
如前所述,本發明還應用于因特網網頁。例如,這種網頁可以包括圖像。如本領域技術人員將會理解的,典型地,使用HTML/XHTML標簽“<img>”來表示網頁上的圖像。<img>標簽的屬性之一是指定了要作為網頁一部分而顯示的圖像的URL的“src”。當執行上下文分析時,可以配置本發明的實施例來分析src屬性。例如,如果src屬性指定了URL“www.some_domain_name.com/images/elephant.jpg”,則上下文分析可以確定圖像稱為“大象”,并是JPEG格式的。
然而,在一些情況下,要顯示的圖像的名稱可能不指示圖像的內容。例如,圖像可以稱為“img0001”,但是可以顯示大象的畫面。在這種情況下,可以配置本發明的實施例來檢索圖像并對圖像執行圖像處理。當然,本領域技術人員將會理解,處理單色圖像來檢測圓形和方形表示將會比更加復雜的表示(如,大象)的檢測需要較低的計算機處理性能。類似地,可以配置實施例來分析音樂(例如,以MPEG層3格式,也稱為MP3文件格式)文件名或由音樂文件表示的音樂,以確定例如音樂文件是表示古典音樂還是爵士音樂。
在其它情況下,網頁可以包含缺陷鏈接、但是也可以包含有效鏈接。本領域技術人員還將會理解,可以配置本發明實施例,如果用戶選擇了缺陷鏈接,則檢索由有效鏈接所指定的網頁,并針對上下文信息分析那些網頁。
權利要求
1.一種系統,包括終端(101),由用戶使用,其中,所述終端包括用于代表用戶請求網頁的網絡瀏覽器(110);錯誤檢測器(120),其中,所述錯誤檢測器用于在由所述網絡瀏覽器請求的網頁無法發送至所述網絡瀏覽器時,生成錯誤代碼;錯誤代碼接收機(111、211、311、411、811),其中,所述錯誤代碼接收機用于從所述錯誤檢測器中接收錯誤代碼,以及對此作出響應,使信息發送至上下文分析器,所述信息與所述網絡瀏覽器請求的網頁的上下文有關;上下文分析器(141、142;241、242;341、343;741),其中,所述上下文分析器用于將來自所述錯誤代碼接收機的信息分析作為上下文信息,從而建立用戶可能感興趣的一個或多個網頁的列表(503),以及所述上下文分析器用于將所述列表通信至響應生成器;以及響應生成器(143),其中,所述響應生成器用于基于所述列表來生成響應(500),并用于將所述響應通信至所述網絡瀏覽器。
2.如權利要求1所述的系統,其中,所述系統包括DNS服務器,以及所述錯誤檢測器用于在由所述網絡瀏覽器請求的所述網頁的DNS解析失敗時生成錯誤代碼。
3.如權利要求2所述的系統,其中,所述錯誤檢測器具體實現為結合所述DNS服務器進行操作的DNS附加件。
4.如權利要求1至3之一所述的系統,其中,所述系統包括網絡服務器(120),以及所述錯誤檢測器(120)用于在由所述網絡瀏覽器請求的所述網頁對于所述網絡瀏覽器不可用時生成錯誤代碼。
5.如權利要求4所述的系統,其中,所述網絡服務器(120)包括所述錯誤檢測器(120)。
6.如權利要求4或5所述的系統,其中,所述網絡瀏覽器(110)包括所述錯誤檢測器。
7.如權利要求1至6之一所述的系統,其中,所述錯誤檢測器包括超時檢測器,所述超時檢測器用于在對網頁的請求超時時,使所述錯誤檢測器生成錯誤代碼。
8.如權利要求1至7之一所述的系統,其中,所述終端(101)包括臺式PC、移動電話和個人數字助理之一,以及所述網絡瀏覽器(110)包括網絡瀏覽器軟件。
9.如權利要求1至8之一所述的系統,其中,所述錯誤代碼接收機具體實現為結合所述網絡瀏覽器進行操作的插件程序(111、211)。
10.如權利要求1至8之一所述的系統,其中,所述錯誤代碼接收機具體實現為結合代理網絡服務器進行操作的代理附加件(3 11)。
11.如權利要求1至8之一所述的系統,其中,所述錯誤代碼接收機具體實現為服務器(811),所述服務器(811)結合代理網絡服務器進行操作,以修改所述代理網絡服務器的行為。
12.如權利要求1至8之一所述的系統,其中,所述錯誤代碼接收機具體實現為錯誤處理器,所述錯誤處理器結合除權利要求4至8所述的網絡服務器之外的其他網絡服務器進行操作。
13.如前述權利要求之一所述的系統,其中,所述上下文分析器和響應生成器具體實現為協助網絡服務器(140、240、340、440、740)。
14.如權利要求1至12之一所述的系統,其中,所述錯誤代碼接收機、所述上下文分析器和所述響應生成器具體實現為結合所述網絡瀏覽器進行操作的插件程序(111、211)。
15.如權利要求1至12之一所述的系統,包括與所述上下文分析器和所述響應生成器進行通信的協助網絡服務器(440)。
16.如前述權利要求之一所述的系統,其中,所述上下文分析器包括數據庫(142),所述數據庫(142)使用關鍵詞對網頁編索引。
17.如前述權利要求之一所述的系統,其中,在由所述終端請求的網頁無法發送至所述終端時,所述上下文分析器用于檢索除無法發送至所述終端的所述網頁之外的其他網頁(600),以及分析所述其他網頁(600),以確定上下文信息(602)。
18.如權利要求17所述的系統,其中,所述上下文分析器用于(i)確定具有鏈接(601)的一個或多個網頁(600)的歷史,所述鏈接將用戶引導至無法發送至所述終端的所述網頁,(ii)檢索所述一個或多個網頁,以及(iii)分析所述一個或多個網頁以確定上下文信息(602)。
19.如權利要求17或18所述的系統,其中,所述上下文分析器用于檢索與無法發送至所述終端的所述網頁相關聯的主頁,以及用于分析所述主頁以確定上下文信息。
20.如權利要求17至19之一所述的系統,其中,所述上下文分析器用于從輔助服務器(701、702)中檢索網頁,以及用于分析檢索到的網頁以確定上下文信息。
21.如權利要求20所述的系統,其中,所述輔助服務器包括whois服務器(701)。
22.如權利要求20或21所述的系統,其中,所述輔助服務器是第一輔助服務器(701),所述上下文分析器用于將從所述第一輔助服務器中檢索到的網頁中確定的上下文信息,用作第二輔助服務器(702)的輸入,所述上下文分析器用于響應于所述輸入,從第二輔助服務器中檢索網頁,以及所述上下文分析器用于分析從所述第二輔助服務器中檢索到的所述網頁來確定上下文信息。
23.如權利要求22所述的系統,其中,所述第二輔助服務器包括what is服務器(702)。
24. 如權利要求17至23之一所述的系統,其中,所述上下文分析器用于分析所述一個或多個網頁,以確定關鍵詞(602)作為上下文信息。
25.如前述權利要求之一所述的系統,其中,所述錯誤代碼接收機存儲參與者ID信息(21 2),其中,所述錯誤代碼接收機用于將所述參與者ID信息發送至所述上下文分析器(242),以及所述上下文分析器用于將所述參與者ID信息解譯作為與所述網絡瀏覽器請求的網頁的上下文有關的信息。
26.如前述權利要求之一所述的系統,其中,所述響應生成器(143)用于將響應發送至所述網絡瀏覽器,以將所述網絡瀏覽器重定向至用戶可能感興趣的一個或多個網頁的列表中的網頁之一。
27.如權利要求1至25之一所述的系統,其中,所述響應生成器(143)用于生成網頁(500),并將所述網頁發送至所述終端。
28.如權利要求27所述的系統,其中,所述響應生成器(143)用于生成網頁,所述網頁包含分別至用戶可能感興趣的一個或多個網頁的一個或多個鏈接(503)。
29.在依據權利要求13或14時,如權利要求15至28之一所述的系統,其中,所述錯誤代碼接收機存儲參與者ID信息(212),其中,所述錯誤代碼接收機用于使所述參與者ID信息傳送至所述響應生成器,其中,所述響應生成器(143)用于生成包含指向所述協助服務器的一個或多個鏈接的網頁(500),以及用于將所生成的網頁發送(233)至所述終端,所生成網頁的所述一個或多個鏈接中的每個包括(i)指定用戶可能感興趣的所述一個或多個網頁中的各個網頁的信息,以及(ii)所述參與者ID信息,以及其中,所述協助服務器(240)用于從包括指定網頁的信息和所述參與者ID信息的所述終端中,接收網頁請求(234),并響應于所述網頁請求,將響應(235)發送至所述網絡瀏覽器,以將所述網絡瀏覽器重定向至所述網頁請求中指定的所述網頁,并使與所述參與者ID信息相關聯的計數器(243)遞增。
30.如權利要求29所述的系統,包括多個計數器(243),每個計數器與各個參與者ID信息(212)相關聯。
31.如權利要求29或30所述的系統,其中,所述錯誤代碼接收機用于將所述參與者ID信息傳送至所述上下文分析器,以及所述上下文分析器用于將所述參與者ID信息傳送至所述響應生成器。
32.如權利要求28所述的系統,其中,所述上下文分析器存儲與分別至一個或多個網頁的所述一個或多個鏈接相關聯的所鏈接ID信息;所述上下文分析器用于將所述所鏈接ID信息傳送至所述響應生成器;以及所述響應生成器用于將各個所鏈接ID信息包括在所生成網頁的所述一個或多個鏈接中。
33.如前述權利要求之一所述的系統,還包括一個或多個所鏈接服務器(150),其中,所述一個或多個所鏈接服務器存儲用戶可能感興趣的網頁。
34.如權利要求27、或在依據權利要求27時如權利要求28至33之一所述的系統,其中,所述響應生成器用于基于從所述上下文分析器中接收的初級列表,來生成初級網頁;以及其中,所述響應生成器用于基于從所述上下文分析器中接收的補充列表,來生成補充網頁。
35.如權利要求34所述的系統,其中,所述響應生成器用于生成包含框架集的網頁,所述框架集的框架之一指定所述初級網頁,以及所述框架集的框架中的另一個指定所述補充網頁。
36.一種用于網絡瀏覽器的插件程序(111、211),所述插件程序包括錯誤代碼接收機,其中,所述錯誤代碼接收機用于從錯誤檢測器中接收錯誤代碼,以及對此作出響應,使信息發送至上下文分析器,所述信息與所述網絡瀏覽器請求的網頁的上下文有關;以及其中,所述錯誤代碼指示由所述網絡瀏覽器請求的所述網頁無法發送至所述網絡瀏覽器。
37.一種如權利要求36所述的插件程序與網絡瀏覽器的組合。
38.一種如權利要求37所述的組合與終端的組合。
39.一種如權利要求36所述的插件程序與如權利要求9、或者在依據權利要求9時權利要求13至35之一所述的系統的組合,其中,如權利要求36所述的插件程序構成所述系統的插件程序。
40.一種用于代理服務器的代理附加件(311),所述代理附加件包括錯誤代碼接收機,其中,所述錯誤代碼接收機用于從錯誤檢測器中接收錯誤代碼,以及對此作出響應,使信息發送至上下文分析器,所述信息與所述網絡瀏覽器請求的網頁的上下文有關;以及其中,所述錯誤代碼指示由所述網絡瀏覽器請求的所述網頁無法發送至所述網絡瀏覽器。
41.一種如權利要求40所述的代理附加件與代理服務器的組合。
42.一種如權利要求40所述的代理附加件與如權利要求10、或者在依據權利要求10時權利要求13和16至35之一所述的系統的組合,其中,如權利要求40所述的代理附加件構成所述系統的代理附加件。
43.一種服務器(811),用于修改代理服務器的行為,所述服務器包括通信裝置,用于在所述服務器與代理服務器(801)之間傳輸消息;錯誤代碼接收機,其中,所述錯誤代碼接收機用于分析消息,以確定消息是否包含來自錯誤檢測器的錯誤代碼,以及對此作出響應,使信息發送至上下文分析器,所述信息與所述網絡瀏覽器請求的網頁的上下文有關;以及其中,所述錯誤代碼指示由所述網絡瀏覽器請求的所述網頁無法發送至所述網絡瀏覽器。
44.如權利要求43所述的服務器,其中,所述通信裝置用于傳輸ICAP消息。
45.如權利要求43或44所述的服務器,包括與DNS服務器進行通信的通信裝置。
46.如權利要求43至45之一所述的服務器,包括與網絡服務器進行通信的通信裝置。
47.如權利要求43至46之一所述的服務器,包括錯誤檢測器,所述錯誤檢測器用于確定由所述網絡瀏覽器請求的所述網頁是否無法發送至所述網絡瀏覽器;以及所述錯誤代碼接收機用于從所述錯誤檢測器中接收錯誤代碼。
48.如權利要求47所述的服務器,其中,所述錯誤檢測器包括計時器裝置,所述計時器裝置用于確定由所述瀏覽器請求的所述網頁是否花費了太長時間來發送至所述網絡瀏覽器。
49.如權利要求43至48之一所述的服務器,其中,所述服務器用于測量消息的長度,如果所述消息的長度超過閾值、并且所述消息包含錯誤代碼,則使信息發送至上下文分析器。
50.如權利要求43至49之一所述的服務器,其中,所述錯誤代碼接收機用于通過使代理服務器將重定向HTTP響應發送至所述網絡瀏覽器,來使信息發送至上下文分析器。
51.一種如權利要求43至50之一所述的服務器與如權利要求11、或者在依據權利要求11時權利要求13和16至35之一所述的系統的組合,其中,如權利要求43所述的服務器構成所述系統的服務器。
52.一種用于網絡服務器(420)的錯誤處理器(411),所述錯誤處理器包括錯誤代碼接收機,其中,所述錯誤代碼接收機用于從錯誤檢測器中接收錯誤代碼,以及對此作出響應,使信息發送至上下文分析器,所述信息與所述網絡瀏覽器請求的網頁的上下文有關;以及其中,所述錯誤代碼指示由所述網絡瀏覽器請求的所述網頁無法發送至所述網絡瀏覽器。
53.一種如權利要求52所述的錯誤處理器與網絡服務器的組合。
54.一種如權利要求52所述的錯誤處理器與如權利要求12、或者在依據權利要求12時權利要求13至35之一所述的系統的組合,其中,如權利要求52所述的錯誤處理器構成所述系統的錯誤處理器。
55.一種用于DNS服務器的DNS附加件,所述DNS附加件包括錯誤代碼接收機,其中,所述錯誤代碼接收機用于從錯誤檢測器中接收錯誤代碼,以及對此作出響應,使信息發送至上下文分析器,所述信息與所述網絡瀏覽器請求的網頁的上下文有關;以及其中,所述錯誤代碼指示由所述網絡瀏覽器請求的所述網頁無法發送至所述網絡瀏覽器。
56.一種如權利要求55所述的DNS附加件與DNS服務器的組合。
57.一種協助服務器(140;240;340;440;740),包括上下文分析器(141、142;241、242;341、343;741),其中,所述上下文分析器用于將來自錯誤代碼接收機的信息分析作為上下文信息,從而建立用戶可能感興趣的一個或多個網頁的列表,以及所述上下文分析器用于將所述列表通信至響應生成器;以及響應生成器(143),其中,所述響應生成器用于基于所述列表來生成響應(500),并用于將所述響應通信至網絡瀏覽器。
58.一種如權利要求57所述的協助服務器與如權利要求13、或者在依據權利要求13時權利要求13至35之一所述的系統的組合,其中,如權利要求57所述的協助服務器構成所述系統的協助服務器。
59.一種協助服務器,與以下裝置進行通信上下文分析器,其中,所述上下文分析器用于將來自錯誤代碼接收機的信息分析作為上下文信息,從而建立用戶可能感興趣的一個或多個網頁的列表,以及所述上下文分析器用于將所述列表通信至響應生成器;以及響應生成器,其中,所述響應生成器用于基于所述列表來生成響應(500),并用于將所述響應通信至網絡瀏覽器。
60.一種如權利要求59所述的協助服務器與如權利要求15、或者在依據權利要求15時權利要求16至35之一所述的系統的組合,其中,如權利要求57所述的協助服務器構成所述系統的協助服務器。
61.一種錯誤代碼接收機,其中,所述錯誤代碼接收機用于從錯誤檢測器中接收錯誤代碼,以及對此作出響應,使信息發送至上下文分析器,所述信息與所述網絡瀏覽器請求的網頁的上下文有關;以及其中,所述錯誤代碼指示由所述網絡瀏覽器請求的所述網頁無法發送至所述網絡瀏覽器。
62.一種如權利要求61所述的錯誤代碼接收機與如權利要求1至35之一所述的系統的組合,其中,如權利要求61所述的錯誤代碼接收機構成所述系統的錯誤代碼接收機。
63.一種定義處理器可解譯指令的計算機程序產品,用于使處理器實現如權利要求36所述的插件程序、如權利要求40所述的代理附加件、如權利要求43所述的服務器、如權利要求52所述的錯誤處理器、如權利要求55所述的DNS附加件、如權利要求57所述的協助服務器、如權利要求59所述的協助服務器、或者如權利要求61所述的錯誤代碼接收機。
64.如權利要求63所述的計算機程序產品,其中,所述計算機程序產品包括數據載體。
65.如權利要求63所述的計算機程序產品,其中,所述計算機程序產品包括可從因特網下載的數據。
66.一種向用戶提供改進的用戶界面的方法,所述方法包括以下步驟檢測到由網絡瀏覽器請求的網頁無法發送至所述網絡瀏覽器,并對此作出響應,生成錯誤代碼;接收所述錯誤代碼,并對此作出響應,分析由所述網絡瀏覽器請求的所述網頁的上下文,從而建立用戶可能感興趣的一個或多個網頁的列表,以及基于所述列表來生成響應,并將所述響應通信至用戶。
67.一種商業方法,包括以下步驟提供如權利要求57或59所述的協助服務器;分配如權利要求36所述的插件程序、如權利要求40所述的代理附加件、如權利要求43所述的服務器、如權利要求52所述的錯誤處理器、如權利要求55所述的DNS附加件、或者如權利要求61所述的錯誤代碼接收機中的至少一個;與所鏈接網絡服務器的所有者達成一致,在用戶請求的網頁無法發送至用戶的情況下產生的網絡業務定向至所鏈接網絡服務器,作為收取報酬的回報;以及從所鏈接服務器的所有者接收報酬。
68.一種如以上描述、和/或參照附圖的系統。
全文摘要
公開了一種用于網絡(例如,因特網)的改進的用戶界面。如果用戶點擊了不正確的超鏈接,則系統不再僅向用戶通知出現錯誤(例如,“404未找到”錯誤,表示所請求的網頁不可用),而是向用戶提供可選網頁的超鏈接列表(503)。可選網頁與用戶最初請求的網頁(但是由于不正確的超鏈接,對用戶不可用)的上下文相關。在優選實施例(300)中,系統針對上下文信息來分析網頁(201)(即,包含不正確的超鏈接的網頁),并使用上下文信息來改進與列表(503)用戶的相關性。系統還可以針對上下文信息來分析其它網頁。
文檔編號H04L29/08GK1997997SQ200580024611
公開日2007年7月11日 申請日期2005年7月19日 優先權日2004年7月22日
發明者西蒙·理查德·埃吉, 謝恩·李·阿姆布里吉 申請人:巴瑞弗魯特有限公司