亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在超文本文檔等之間導(dǎo)航用的多目標(biāo)鏈接的制作方法

文檔序號(hào):6419204閱讀:230來源:國知局
專利名稱:在超文本文檔等之間導(dǎo)航用的多目標(biāo)鏈接的制作方法
一般地說,本發(fā)明涉及計(jì)算機(jī)和計(jì)算機(jī)軟件。更具體地說,本發(fā)明一般涉及利用瀏覽器計(jì)算機(jī)程序等顯示超文本文檔和在各超文本文檔之間導(dǎo)航。
能通過計(jì)算機(jī)訪問的信息的數(shù)量和種類繼續(xù)以令人震驚的速度增加。特別是因特網(wǎng)已使計(jì)算機(jī)用戶能從位于世界各地的其他計(jì)算機(jī)那里訪問各種信息。
可通過因特網(wǎng)訪問的多數(shù)信息被組織在超文本文檔中,它們通常是用稱作超文本置標(biāo)語言(HTML)的一種語言編排格式的文檔,通過因特網(wǎng)的一個(gè)組成部分進(jìn)行訪問,因特網(wǎng)的這個(gè)部分稱作萬維網(wǎng)(WorldWide Web)。超文本文檔通常包括一個(gè)或多個(gè)嵌入的“超文本鏈”,終端用戶能選擇這些超文本鏈以跳到不同的文檔或者跳到同一文檔中的不同位置。每個(gè)超文本文檔通常由該文檔所在的存儲(chǔ)位置(稱作統(tǒng)一資源定位器(URL)來標(biāo)識(shí),借助到一個(gè)特定的文檔或“目標(biāo)”的超文本鏈接,指定該文檔的存儲(chǔ)位置,從而在選定該鏈接時(shí)可以檢索出該文檔。
多種其他信息可以集成到超文本文檔中,如文本、圖片、視頻、聲音、以及動(dòng)畫,再有,這些文檔能組織到“站點(diǎn)”中,通常由單一實(shí)體來維持,這些站點(diǎn)把多個(gè)相關(guān)的文檔以一種具有凝聚力的方式收集到一起。再有,由于萬維網(wǎng)的大量普及,許多私人計(jì)算機(jī)網(wǎng)絡(luò)現(xiàn)在也支持超文本文檔,象大量現(xiàn)有的計(jì)算機(jī)操作系統(tǒng)和計(jì)算機(jī)軟件應(yīng)用所做的那樣。
一種計(jì)算機(jī)程序,它往往被稱作瀏覽器,通常被用于在超文本文檔之間以及通過超文本文檔導(dǎo)航。利用瀏覽器,一個(gè)終端用戶能使用鼠標(biāo)或其他指示裝置來提向和點(diǎn)擊文檔中的鏈接,如高亮文本、圖像或其他用戶接口部件(如按鈕),以導(dǎo)航于不同文檔和/或同一文檔內(nèi)的不同位置。
許多瀏覽器還支持使用書簽(有時(shí)也稱作別名、捷徑或中意物),用戶可通過它來維持一個(gè)用戶希望將來再觀看的中意站點(diǎn)或文檔的列表。于是,在以后要檢索被標(biāo)書簽的文檔時(shí),只需要用戶把書簽定位到該列表中與所希望的文檔相對(duì)應(yīng)的位置,然后選擇那個(gè)書簽以啟動(dòng)對(duì)該文檔的檢索。
傳統(tǒng)的超文本鏈接和書簽兩者都可表征為單目標(biāo)鏈接。具體地說,傳統(tǒng)的超文本鏈接或書簽與單個(gè)目標(biāo)相關(guān)聯(lián),于是在任何時(shí)候,當(dāng)一個(gè)超文本鏈接或書簽被啟動(dòng)時(shí),存儲(chǔ)在與其相關(guān)聯(lián)的目標(biāo)中的文檔便被檢索出來。
然而,往往可能有多個(gè)目標(biāo)與用戶希望檢索的特定類型信息相關(guān)聯(lián)。例如,通常許多萬維網(wǎng)站希望構(gòu)成“鏡象”,這里一個(gè)萬維網(wǎng)站中文檔的多個(gè)完全相同的復(fù)制文檔存儲(chǔ)在多個(gè)計(jì)算機(jī)上(也稱作“服務(wù)器”),它們?cè)诓煌拇鎯?chǔ)位置被訪問,以允許更大量的用戶在任何給定時(shí)間訪問這些文檔。另一個(gè)例子是,可能希望以若干種語言提供一個(gè)文檔的多個(gè)復(fù)制品,例如,一個(gè)說英語的用戶可檢索一個(gè)文檔的英語版本,而一個(gè)說西班牙語的用戶可檢索一個(gè)文檔的西班牙語版本。
使用限于單個(gè)目標(biāo)的傳統(tǒng)超文本鏈接和書簽,對(duì)于給定的信息主題或類型,往往必須使用多個(gè)超文本鏈接或書簽來支持多個(gè)目標(biāo)。然而,如果在一給定的超文本文檔中顯示出多個(gè)超文本鏈接,則這個(gè)文檔會(huì)變得比較雜亂,因而看起來不那么吸引人。類似地,對(duì)多個(gè)目標(biāo)加書簽會(huì)使書簽列表變得雜亂,往往使用戶更難于在列表中找到指定的書簽。
然而,或許更重要的是這樣的事實(shí),這就是使用多個(gè)單目標(biāo)鏈接來提供對(duì)多個(gè)目標(biāo)的訪問需要某種程度的用戶努力和作出決定,以在若干選擇中選定最合適的目標(biāo)。正是用戶不得不在多個(gè)鏈接之間作出選擇這一事實(shí)中斷了瀏覽過程,并往往導(dǎo)致生產(chǎn)率降低。再有,讓用戶在多個(gè)鏈接之間進(jìn)行人工選擇帶來了產(chǎn)生人為錯(cuò)誤的可能性,因?yàn)橛脩艨赡茉陂_始時(shí)選擇了錯(cuò)誤的鏈接,于是不得不返航到原始的文檔,然后再航行到可能的若干選擇當(dāng)中的另一個(gè)。
再有,在許多情況中,用戶可能沒有足夠的信息來做出合理的猜測(cè)以選取最合適的鏈接。例如,多數(shù)用戶希望盡可能快地檢索文檔。這樣,利用鏡象萬維網(wǎng)站,用戶往往被鼓勵(lì)去選擇地理上最接近于該用戶的網(wǎng)站,因?yàn)榧俣ǚ?wù)器與用戶越接近,則在用戶和服務(wù)器之間的因特網(wǎng)“流通”量越降低。然而,檢索文檔的速度也能因其他因素而顯著地改變,如服務(wù)器的工作負(fù)載,一天的什么時(shí)候、以及在用戶和服務(wù)器之間的因特網(wǎng)部分上的實(shí)際流通量等。如果事先不知道這些因素,用戶往往隨機(jī)地拾取一個(gè)目標(biāo),或簡(jiǎn)單地根據(jù)地理接近程度來拾取。常常是用戶將不選擇最佳服務(wù)器來處理他或她的請(qǐng)求,而是可能浪費(fèi)寶貴的時(shí)間連接到次佳服務(wù)器。
單目標(biāo)鏈接的另一困難是在特定存儲(chǔ)位置存儲(chǔ)的文檔經(jīng)常會(huì)變成不能被檢索,即如果這些文檔被移到其他存儲(chǔ)位置,或者如果這些文檔被全部刪除的話。結(jié)果,任何指向不能檢索文檔的單目標(biāo)鏈接變成“失效”的和不可用的。如果用戶不首先試圖訪問它的目標(biāo),便往往不能認(rèn)識(shí)一個(gè)失效的鏈接,然后,如果沒有成功,則試圖通過訪問其他目標(biāo)來確定信息的位置。這種“等著瞧”的作法往往造成大量的用戶挫折并浪費(fèi)用戶的大量時(shí)間。
已經(jīng)試圖在響應(yīng)用戶對(duì)單目標(biāo)鏈接的選擇時(shí)在不同的環(huán)境中允許檢索不同的文檔。例如,某些傳統(tǒng)的萬維網(wǎng)服務(wù)器檢測(cè)特定用戶使用的瀏覽器的品牌,然后送回為那種瀏覽器而優(yōu)化的特定文檔版本。往往是這需要服務(wù)器從用戶那里得到信息,通常是以服務(wù)器可能請(qǐng)求的“小甜餅”形式。然而,服務(wù)器端文檔選擇存在一個(gè)缺點(diǎn),即需要額外的處理來處理每個(gè)用戶請(qǐng)求。再有,用戶能關(guān)掉“甜餅”的傳輸和防止服務(wù)器知道關(guān)于用戶的具體信息,從而禁止服務(wù)器響應(yīng)特定請(qǐng)求而從不同文檔中作出選擇。
結(jié)果,傳統(tǒng)的超文本鏈接和書簽限制于單目標(biāo),這對(duì)用戶的生產(chǎn)效率產(chǎn)生不利的影響并導(dǎo)致用戶受挫。
本發(fā)明通過提供裝置、程序產(chǎn)品和方法來解決與先有技術(shù)相關(guān)聯(lián)的這些或其他問題,所提供的裝置、程序產(chǎn)品和方法利用多目標(biāo)鏈接來有選擇地訪問位于與該鏈接相關(guān)聯(lián)的一個(gè)或多個(gè)存儲(chǔ)位置的數(shù)據(jù)。這樣,當(dāng)一用戶啟動(dòng)一個(gè)特定的多目標(biāo)鏈接時(shí),一個(gè)請(qǐng)求可能被傳送到不同環(huán)境中的不同存儲(chǔ)位置,以優(yōu)化對(duì)該鏈接的使用,而不是象使用傳統(tǒng)的超文本鏈接和書簽時(shí)所發(fā)生的那樣將請(qǐng)求傳送到同一個(gè)單一存儲(chǔ)位置。
多目標(biāo)鏈接可以實(shí)現(xiàn)為由超文本鏈接定義所定義的嵌入超文本文檔的超文本鏈接,或者作為用戶常用書簽列表中使用的書簽。再有,對(duì)于多目標(biāo)鏈接,可以從一個(gè)或多個(gè)存儲(chǔ)位置訪問各種類型數(shù)據(jù),包括超文本文檔、文件等。
通過把不只一個(gè)存儲(chǔ)位置與一超文本鏈接或書簽相關(guān)聯(lián),可以支持多種獨(dú)特的特性。
例如,在一些應(yīng)用中,對(duì)于多目標(biāo)鏈接,可以根據(jù)預(yù)先確定的選擇判據(jù)從多個(gè)存儲(chǔ)位置中選擇一個(gè)選定的存儲(chǔ)位置。作為一個(gè)例子,可以使用不同存儲(chǔ)位置存儲(chǔ)的文檔版本類型來選擇特定類型的文檔,例如可以使用戶能指定他或她希望看的文檔的僅限文本的版本而不是啟動(dòng)圖像的版本。作為另一個(gè)例子,可以使用不同存儲(chǔ)位置的相對(duì)訪問時(shí)間來選擇存儲(chǔ)位置,以優(yōu)化從最快的或更能響應(yīng)的位置檢索文檔。作為又一個(gè)例子,可以使用不同存儲(chǔ)位置的文檔的相對(duì)年令來選擇具有最近和最新文檔的存儲(chǔ)位置。
作為又一個(gè)例子,可以使用時(shí)間判據(jù)在不同時(shí)候從不同存儲(chǔ)位置檢索文檔。這將允許用戶例如在股票市場(chǎng)開門的時(shí)候檢索當(dāng)前市場(chǎng)狀況,而一旦市場(chǎng)關(guān)門,則在此時(shí)檢索每日概要文檔。作為另一個(gè)例子,可以使用不同文檔的先前觀看狀態(tài)來選擇存儲(chǔ)位置,以利于對(duì)新文檔的檢索優(yōu)先于對(duì)先前用過的文檔的檢索。再有,可以使用不同文檔的普及性來選擇存儲(chǔ)位置,使更普及的文檔優(yōu)先于其他文檔。還可以使用不同文檔是否被例如第三方認(rèn)可或特別地不被認(rèn)可來優(yōu)先選擇一特定存儲(chǔ)位置。
另一個(gè)例子是,可以依據(jù)本地用戶設(shè)置來訂制對(duì)一特定存儲(chǔ)位置的選擇,例如根據(jù)用戶的默認(rèn)語言或字符集、用戶的技術(shù)水平等來選擇存儲(chǔ)位置。再有,可以使用用戶啟動(dòng)多目標(biāo)鏈接時(shí)的當(dāng)前上下文來選擇存儲(chǔ)位置,例如根據(jù)過去已訪問了哪些其他文檔來確定允許被訪問的不同文檔。
多目標(biāo)鏈接還可用于順序地檢索與該鏈接相關(guān)聯(lián)的不同存儲(chǔ)位置處的文檔。例如允許一作者為用戶指定觀看多個(gè)文檔時(shí)所希望的順序。多目標(biāo)鏈接還可用于一次從多個(gè)存儲(chǔ)位置檢索數(shù)據(jù),從而節(jié)省用戶的努力,否則的話,得要啟動(dòng)多個(gè)鏈接以從多個(gè)存儲(chǔ)位置檢索數(shù)據(jù)。
所以,按照本發(fā)明的一個(gè)方面,通過接收指向多目標(biāo)鏈接的用戶輸入(該鏈接標(biāo)識(shí)與其關(guān)聯(lián)的多個(gè)存儲(chǔ)位置),可以從一個(gè)計(jì)算機(jī)訪問數(shù)據(jù);并訪問存儲(chǔ)在多個(gè)存儲(chǔ)位置中選定一個(gè)位置處的數(shù)據(jù)。按照本發(fā)明的另一方面,通過創(chuàng)作超文本文檔可以產(chǎn)生一個(gè)超文本文檔,在該超文本文檔內(nèi)嵌入多目標(biāo)超文本鏈接定義,該定義標(biāo)識(shí)多個(gè)與其關(guān)聯(lián)的存儲(chǔ)位置。再有,按照本發(fā)明的另一方面,可以提供一個(gè)程序產(chǎn)品,它包括嵌入至少一個(gè)多目標(biāo)超文本鏈接定義的超文本文檔,該定義標(biāo)識(shí)多個(gè)與其關(guān)聯(lián)的存儲(chǔ)位置,以及承載該超文本文檔的信號(hào)承載介質(zhì)。
在附在后面并構(gòu)成又一組成部分的權(quán)利要求中提出了表征本發(fā)明的這些和其他優(yōu)點(diǎn)和特點(diǎn)。然而,為了更好地理解本發(fā)明以及通過使用本發(fā)明所獲得的好處和達(dá)到的目的,應(yīng)該參考附圖以及伴隨的描述,在其中描述了本發(fā)明的實(shí)施示例。


圖1是按照本發(fā)明的網(wǎng)絡(luò)化計(jì)算機(jī)系統(tǒng)方框圖。
圖2是圖1所示網(wǎng)絡(luò)化計(jì)算機(jī)系統(tǒng)中一個(gè)計(jì)算機(jī)的硬件和軟件環(huán)境示例方框圖。
圖3是圖2的書簽數(shù)據(jù)結(jié)構(gòu)方框圖。
圖4是流程圖,說明圖2的瀏覽器所用主例行程序的程序流。
圖5是流程圖,說明圖4的導(dǎo)航到鏈接例行程序的程序流。
圖6是流程圖,說明圖5的穩(wěn)健鏈接過程例行程序的程序流。
圖7是流程圖,說明按照本發(fā)明的強(qiáng)制回應(yīng)線程的程序流。
圖8是流程圖,說明圖5的快速鏈接過程例行程序的程序流。
圖9是流程圖,說明圖5的按規(guī)模鏈接過程例行程序的程序流。
圖10是流程圖,說明圖5的新近鏈接過程例行程序的程序流。
圖11是流程圖,說明圖5的按時(shí)間鏈接過程例行程序的程序流。
圖12是流程圖,說明圖5的新鏈接過程例行程序的程序流。
圖13是流程圖,說明圖5的普及鏈接過程例行程序的程序流。
圖14是流程圖,說明圖5的本地設(shè)置鏈接過程例行程序的程序流。
圖15是流程圖,說明圖5的上下文鏈接過程例行程序的程序流。
圖16是用于圖3書簽數(shù)據(jù)結(jié)構(gòu)的上下文判據(jù)數(shù)據(jù)結(jié)構(gòu)擴(kuò)展的方框圖。
圖17是流程圖,說明圖15的“是否滿足上下文判據(jù)?”例行程序的程序流。
圖18是流程圖,說明圖5的被認(rèn)可鏈接過程例行程序的程序流。
圖19是流程圖,說明圖5的循環(huán)鏈接過程例行程序的程序流。
圖20是流程圖,說明圖5的多訪問(multivisit)鏈接過程例行程序的程序流。
圖21是流程圖,說明圖5的多發(fā)動(dòng)(multilaunch)鏈接過程例行程序的程序流。
圖22是流程圖,說明圖4的顯示頁面例行程序的程序流。
圖23是計(jì)算機(jī)顯示示例方框圖,說明圖2的瀏覽器的操作。
硬件和軟件環(huán)境轉(zhuǎn)到附圖,在各圖中相似標(biāo)號(hào)代表相似部件,圖1顯示按照本發(fā)明的計(jì)算機(jī)系統(tǒng)10。計(jì)算機(jī)系統(tǒng)10被顯示為一個(gè)網(wǎng)絡(luò)化計(jì)算機(jī)系統(tǒng),包括一個(gè)或多個(gè)客戶機(jī)計(jì)算機(jī)12、14和20(例如桌面的或基于PC的計(jì)算機(jī)、工作站等),它們通過網(wǎng)絡(luò)18連到服務(wù)器16(例如基于PC的服務(wù)器、小型計(jì)算機(jī)、中型計(jì)算機(jī)、主計(jì)算機(jī)等)。在實(shí)踐中網(wǎng)絡(luò)18可以代表任何類型的網(wǎng)絡(luò)化互連,包括但不限于局域網(wǎng)、廣域網(wǎng)、無線網(wǎng)以及公共網(wǎng)(例如因特網(wǎng))。再有,通過網(wǎng)絡(luò)18可以網(wǎng)絡(luò)連接任何數(shù)量的計(jì)算機(jī)和其他裝置,例如多個(gè)服務(wù)器。
可能與計(jì)算機(jī)12、14相似的客戶機(jī)計(jì)算機(jī)可以包括中央處理單元(CPU)21;若干外圍部件、如計(jì)算機(jī)顯示器22;存儲(chǔ)裝置23;打印機(jī)24;以及各種輸入裝置(如鼠標(biāo)26和鍵盤27)等。服務(wù)器16可以有類似的配置,盡管如本領(lǐng)域公知的那樣通常有更強(qiáng)的處理性能和更大的存儲(chǔ)容量。
圖2以另一種方式顯示按照本發(fā)明的裝置30的硬件和軟件環(huán)境示例。為了本發(fā)明的目的,裝置30在實(shí)踐中可以代表任何類型計(jì)算機(jī)、計(jì)算機(jī)系統(tǒng)或其他可編程電子裝置,包括客戶機(jī)計(jì)算機(jī)(例如與圖1的計(jì)算機(jī)12、14和20相似的計(jì)算機(jī))、服務(wù)器計(jì)算機(jī)(例如與圖1的服務(wù)器16相似的計(jì)算機(jī))、便攜計(jì)算機(jī)、嵌入的控制器等。裝置30可如圖1所示連入網(wǎng)絡(luò),或者在另一種情況中可以是一個(gè)獨(dú)立的裝置。裝置30在下文中也稱作“計(jì)算機(jī)”,盡管應(yīng)該理解,術(shù)語“裝置”還可以包括按照本發(fā)明的其他適當(dāng)?shù)目删幊屉娮友b置。
計(jì)算機(jī)30通常包括至少一個(gè)處理器31,它與存儲(chǔ)器32相連。處理器31可以代表一個(gè)或多個(gè)處理器(例如微處理器),而存儲(chǔ)器32可以代表隨機(jī)存取存儲(chǔ)器(RAM)裝置,包含計(jì)算機(jī)30的主存儲(chǔ)器,以及任何輔助存儲(chǔ)器,例如高速緩存、非易失或后備存儲(chǔ)器(如可編程或閃速存儲(chǔ)器)、只讀存儲(chǔ)器等。此外,存儲(chǔ)器32可被認(rèn)為是包括物理上位于計(jì)算機(jī)30中其他地方的存儲(chǔ)器,例如在處理器31中的高速緩存,以及用作虛擬存儲(chǔ)器的任何存儲(chǔ)容量,例如存儲(chǔ)在海量存儲(chǔ)裝置36或通過網(wǎng)絡(luò)38與計(jì)算機(jī)30相連的其他計(jì)算機(jī)上。
計(jì)算機(jī)30通常還接收大量輸入和輸出,供與外部進(jìn)行信息通信。為了與用戶或操作者建立接口,計(jì)算機(jī)30通常包括一個(gè)或多個(gè)用戶輸入裝置33(例如鍵盤、鼠標(biāo)、追蹤球、游戲棒、接觸板、和/或送話器等),以及顯示器34(例如CRT監(jiān)視器或LCD顯示板、和/或揚(yáng)聲器等)。然而,應(yīng)該理解,對(duì)于計(jì)算機(jī)30的某些實(shí)現(xiàn),例如對(duì)于某些服務(wù)器實(shí)現(xiàn),該計(jì)算機(jī)可能不支持直接的用戶輸入和輸出。
為了額外的存儲(chǔ),計(jì)算機(jī)30可以還包括一個(gè)或多個(gè)海量存儲(chǔ)裝置36,例如軟盤或其他可卸盤驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器、直接存取存儲(chǔ)裝置(DASD)、光驅(qū)動(dòng)器(例如CD驅(qū)動(dòng)器、DVD驅(qū)動(dòng)器等)、和/或帶驅(qū)動(dòng)器等。再有,計(jì)算機(jī)30可以包括與一個(gè)或多個(gè)網(wǎng)絡(luò)38(例如LAN、WAN、無線網(wǎng)絡(luò)、和/或因特網(wǎng)等)的接口,以允許與連到該網(wǎng)絡(luò)的其他計(jì)算機(jī)進(jìn)行信息通信。應(yīng)該理解,如本領(lǐng)域公知的那樣,計(jì)算機(jī)30通常包括處理器31和部件32、33、34、36、38每一個(gè)之間的模擬和/或數(shù)字接口。
計(jì)算機(jī)30在操作系統(tǒng)40的控制下操作,并執(zhí)行或者否則的話依賴于各種計(jì)算機(jī)軟件應(yīng)用、部件、程序、對(duì)象、模塊、數(shù)據(jù)結(jié)構(gòu)等(例如瀏覽器41和書簽數(shù)據(jù)結(jié)構(gòu)42等)。再有,各種應(yīng)用、部件、程序、對(duì)象、模塊等也可在通過網(wǎng)絡(luò)38連到計(jì)算機(jī)30的另一計(jì)算機(jī)中的一個(gè)或多個(gè)處理器上執(zhí)行,例如,在分布式或客戶-服務(wù)器計(jì)算環(huán)境中那樣,從而使為實(shí)現(xiàn)一個(gè)計(jì)算機(jī)程序的功能所需要的處理可以分配到網(wǎng)絡(luò)上的多個(gè)計(jì)算機(jī)。
一般地說,為實(shí)現(xiàn)本發(fā)明的實(shí)施例所執(zhí)行的例行程序,不論是作為操作系統(tǒng)的一部分來實(shí)現(xiàn),或者作為特定的應(yīng)用、部件、程序、對(duì)象、模塊或指令序列,在這里都將稱作“計(jì)算機(jī)程序”,或簡(jiǎn)單地稱作“程序”。計(jì)算機(jī)程序通常包含一個(gè)或多個(gè)指令,它們?cè)诟鱾€(gè)時(shí)候駐留在計(jì)算機(jī)中的各種存儲(chǔ)器或存儲(chǔ)裝置中,而且當(dāng)由計(jì)算機(jī)中的一個(gè)或多個(gè)處理器讀這些指令并執(zhí)行時(shí),這些指令使得計(jì)算機(jī)去完成必要的步驟,以執(zhí)行實(shí)現(xiàn)本發(fā)明各個(gè)方面的步驟或元素。再有,盡管對(duì)本發(fā)明已做的描述和下文中將要做的描述都是在全功能計(jì)算機(jī)和計(jì)算機(jī)系統(tǒng)的環(huán)境中進(jìn)行的,但本領(lǐng)域技術(shù)人員將會(huì)理解,本發(fā)明的各種實(shí)施例能作為各種形式的程序產(chǎn)品發(fā)布,而且本發(fā)明同樣適用,不管實(shí)際實(shí)現(xiàn)這種發(fā)布所用的信號(hào)承載介質(zhì)的特定類型如何。信號(hào)承載介質(zhì)的實(shí)例包括但不限于可記錄型介質(zhì),如易失性和非易失性存儲(chǔ)裝置、軟盤和其他可卸盤、硬盤驅(qū)動(dòng)器、光盤(例如CD-ROM、DVD等)等,以及傳輸型介質(zhì),如數(shù)字和模擬通信鏈路。
此外,下文中描述的各種程序可以根據(jù)它們?cè)诒景l(fā)明特定實(shí)施例中實(shí)現(xiàn)的應(yīng)用來標(biāo)識(shí)。然而,應(yīng)該理解,任何特定程序所遵循的命名法的使用只是為了方便,這樣,本發(fā)明不應(yīng)限定于只用在由這種命名法所標(biāo)識(shí)和/或蘊(yùn)涵的任何特定應(yīng)用。
本領(lǐng)域技術(shù)人員將會(huì)理解,圖1和圖2中以例說明的環(huán)境并不想作為對(duì)本發(fā)明的限制。的確,本領(lǐng)域技術(shù)人員將會(huì)理解,可以使用其他不同的硬件和/或軟件環(huán)境而不離開本發(fā)明的范圍。以多目標(biāo)鏈接導(dǎo)航這里描述的實(shí)施例利用多目標(biāo)鏈接導(dǎo)航到可得到的多個(gè)“目標(biāo)”中的一個(gè)或多個(gè),以響應(yīng)從用戶接收的輸入。每個(gè)目標(biāo)通常由它的存儲(chǔ)位置標(biāo)識(shí),例如統(tǒng)一資源定位器(URL)、文檔名、路徑、和/或?qū)τ?jì)算機(jī)系統(tǒng)中文檔進(jìn)行尋址的其他方式。存儲(chǔ)在一特定存儲(chǔ)位置的文檔可認(rèn)為是包括計(jì)算機(jī)數(shù)據(jù)的任何特性組織,例如超文本或其他文檔、計(jì)算機(jī)文件、電子消息等,包括文本、圖形、視頻、音頻、可執(zhí)行的以及其他類型計(jì)算機(jī)數(shù)據(jù)。
在圖示的實(shí)施例中,多目標(biāo)鏈接標(biāo)識(shí)出多個(gè)代表其目標(biāo)的URL,存儲(chǔ)在這些URL的文檔中至少有一些是用超文本置標(biāo)語言(HTML)協(xié)議編排格式的。然而,應(yīng)該理解,還可以使用其他數(shù)據(jù)格式和存儲(chǔ)位置,因此,本發(fā)明不應(yīng)被限制于這里討論的特定實(shí)現(xiàn)。
再有,在圖示的實(shí)施例中,多目標(biāo)鏈接可以作為嵌入的超文本鏈接和書簽二者之一或二者的變體來實(shí)現(xiàn)。當(dāng)作為嵌入的超文本鏈接來實(shí)現(xiàn)時(shí),多目標(biāo)鏈接由嵌入在一特定超文本文檔中的超文本鏈接定義來定義,例如由該文檔的作者在起草該文檔時(shí)定義。另一方面,當(dāng)作為書簽(也稱作別名、捷徑、或中意物)來實(shí)現(xiàn)時(shí),多目標(biāo)鏈接通常是保持在一特定用戶的定制書簽列表數(shù)據(jù)結(jié)構(gòu)中。然而,應(yīng)該理解,在其他一些實(shí)施例中,可以使用其他多目標(biāo)鏈接實(shí)現(xiàn)來實(shí)現(xiàn)多個(gè)導(dǎo)航目標(biāo)以響應(yīng)一給定的用戶輸入。這樣,在下文中術(shù)語“鏈接”可用于一般性地描述按照本發(fā)明一個(gè)多目標(biāo)鏈接的任何可能的實(shí)現(xiàn)。
至于嵌入的超文本鏈接實(shí)現(xiàn),可以由例如定義一個(gè)針對(duì)多目標(biāo)鏈接的新的標(biāo)記格式來實(shí)現(xiàn)多目標(biāo)鏈接。另一方面,如果在該協(xié)議內(nèi)存在支持單目標(biāo)超文本鏈接的適當(dāng)基礎(chǔ)設(shè)施,那么可以預(yù)見,簡(jiǎn)單地?cái)U(kuò)展現(xiàn)有的HTML協(xié)議以支持附加的目標(biāo)便可以實(shí)現(xiàn)多目標(biāo)鏈接。例如,定義多目標(biāo)鏈接的一個(gè)適當(dāng)擴(kuò)展是如下表Ⅰ所示的對(duì)“錨”這個(gè)HTML元素的擴(kuò)展表Ⅰ多目標(biāo)超文本鏈接定義格式<pre listing-type="program-listing"><![CDATA[<AHTYPE=“[Link-Type]”HREF=“[URL1]”HREF=“[URL2]”***HREF=“[URLN]”>[displayed text or graphic image fbr link](供鏈接的被顯示文本或圖形圖像)</A>]]></pre>在這一實(shí)現(xiàn)中,定義了新的字段類型“HTYPE”以允許作者定義指定類型的多目標(biāo)鏈接。如下文詳細(xì)說明的那樣,可以定義大量的鏈接類型,包括例如“ROBUST(穩(wěn)健)”、“FAST(快速)”、“FRESH(新近)”等。再有,在某些實(shí)現(xiàn)中可以不需要單獨(dú)的HTYPE字段,例如,如果只支持一種類型,或者如果該類型能通過文檔中的其他信息或通過外部源(如瀏覽器配置設(shè)置)來確定的話。再有,在一些實(shí)現(xiàn)中,可能希望允許文檔中的其他信息或來自外部源(例如瀏覽器配置設(shè)置)的信息去覆蓋HTYPE字段中提供的鏈接類型。
再有,為定義不只一個(gè)目標(biāo),HTML擴(kuò)展簡(jiǎn)單地允許在任何給定標(biāo)記中使用多個(gè)傳統(tǒng)的“HREF”。再有,在某些實(shí)現(xiàn)中可能希望擴(kuò)展這一字段,以提供關(guān)于每個(gè)目標(biāo)的補(bǔ)充信息,例如提供順序信息、提供關(guān)于該目標(biāo)的信息以用于選擇多個(gè)目標(biāo)之一(例如時(shí)間順序條件、上下文條件、文檔版本、文檔語言、文檔字符集、或針對(duì)任何鏈接類型(下文詳述)的其他數(shù)據(jù))等。作為提供順序信息的另一種作法,還可以由這些目標(biāo)在該標(biāo)記中的順序來暗含這些目標(biāo)的順序。
對(duì)于本領(lǐng)域普通技術(shù)人員而言,為支持這里討論的各種多目標(biāo)鏈接實(shí)現(xiàn),其他適當(dāng)?shù)腍TML擴(kuò)展是顯而易見的。
至于多目標(biāo)鏈接的書簽實(shí)現(xiàn),圖3更詳細(xì)地顯示了書簽數(shù)據(jù)結(jié)構(gòu)42,包括書簽記錄44的鏈接的列表,每個(gè)記錄帶有一系列字段46、48、50和52。每個(gè)書簽記錄44的字段46定義該書簽的標(biāo)題,它通常在觀看書簽列表時(shí)被顯示給用戶。字段48存儲(chǔ)一個(gè)指針,該指針指向定義該書簽多個(gè)目標(biāo)的URL記錄54的鏈接列表。可選字段50用于在必要時(shí)定義多目標(biāo)鏈接的鏈接類型,而字段52存儲(chǔ)一個(gè)指針,指向該數(shù)據(jù)結(jié)構(gòu)中的下一個(gè)書簽記錄44。在該數(shù)據(jù)結(jié)構(gòu)中最后一個(gè)這種書簽記錄的字段52通常存儲(chǔ)一個(gè)NULL(空)指針。
每個(gè)URL字段54包括一個(gè)可選的標(biāo)題字段56,用于為該目標(biāo)定義一個(gè)標(biāo)題,用于當(dāng)觀看一特定書簽的目標(biāo)列表時(shí)顯示給用戶。字段58提供該目標(biāo)的URL,而下一個(gè)字段60存儲(chǔ)一個(gè)指針,指向鏈接列表中的下一個(gè)URL記錄54,該列表中最后一個(gè)記錄的這下一個(gè)字段60存儲(chǔ)一個(gè)NULL(空)指針。
應(yīng)該理解,如同其他信息傳統(tǒng)上可以存儲(chǔ)在一些書簽中一樣,為實(shí)現(xiàn)下文描述的各種鏈接類型所必須的附加信息也可以存儲(chǔ)在數(shù)據(jù)結(jié)構(gòu)42中。再有,應(yīng)該理解,數(shù)據(jù)結(jié)構(gòu)42還可以支持傳統(tǒng)的單目標(biāo)鏈接,這只要對(duì)給定的書簽記錄只包括一個(gè)URL記錄54,并把NULL(空)或SINGLE(單個(gè))鏈接類型存入鏈接類型字段即可。再有,可以使用其他數(shù)據(jù)結(jié)構(gòu)來組織這里描述的任何書簽和多目標(biāo)鏈接信息。此外,應(yīng)該理解,還可使用類似于數(shù)據(jù)結(jié)構(gòu)42的數(shù)據(jù)結(jié)構(gòu)把給定超文本文檔的嵌入超文本鏈接定義存儲(chǔ)在例如動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)中,在任何時(shí)候當(dāng)一個(gè)新的文檔被檢索到瀏覽器中時(shí)該動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)便被更新。
為說明按照本發(fā)明在瀏覽器中可以實(shí)現(xiàn)的不同鏈接類型。圖4顯示了瀏覽器41的主例行程序70。例行程序70顯示一個(gè)事件驅(qū)動(dòng)的實(shí)現(xiàn),這里瀏覽器41在塊72等待事件,然后在塊72、74、76、78、80、82和84試圖檢測(cè)和處置各種事件。在塊72-82檢測(cè)到的事件詳細(xì)給出按照本發(fā)明的多目標(biāo)鏈接的實(shí)現(xiàn)。然而,應(yīng)該理解,如塊84所代表的那樣,眾多的其他事件也可被瀏覽器41檢測(cè)和處置,對(duì)這些事件的理解對(duì)于理解本發(fā)明并不重要。還應(yīng)理解,在其他情況中還可使用其他編程實(shí)現(xiàn),例如面向?qū)ο蟮幕蜻^程的模塊。
由例行程序70處置的一個(gè)有關(guān)事件是跟隨鏈接事件,它在塊74被檢測(cè)到并由導(dǎo)航到鏈接例行程序86來處理。一個(gè)跟隨鏈接事件通常是響應(yīng)用戶直接對(duì)瀏覽器中顯示的超文本鏈接定義的顯示表現(xiàn)所作的輸入而產(chǎn)生的,例如當(dāng)鼠標(biāo)指針位于該超文本鏈接的顯示表現(xiàn)上時(shí)由用戶按下鼠標(biāo)按鈕。
由例行程序70處置的另一有關(guān)事件是啟動(dòng)書簽事件,它在塊76被檢測(cè)到并且也由導(dǎo)航到鏈接例行程序86處置。啟動(dòng)書簽事件通常是響應(yīng)用戶從當(dāng)前顯示的書簽列表中選擇一書簽而產(chǎn)生的。為便于解釋所顯示的實(shí)施例,所描述的導(dǎo)航到鏈接例行程序86是作為超文本鏈接和書簽二者通用的;然而,應(yīng)該理解,在其他實(shí)現(xiàn)中可以使用分開的例行程序。
由例行程序70處置的另一個(gè)事件是顯示頁面事件,它在塊78被檢測(cè)并由顯示頁面例行程序88處置。產(chǎn)生這一事件是要顯示由瀏覽器檢索到的超文本文檔的顯示表現(xiàn),下文中將參考圖22更詳細(xì)地描述它。
由例行程序70處置的另一事件是顯示書簽列表事件,它在塊80被檢測(cè)并由塊90處置,這里書簽列表被顯示給用戶,例如以一種傳統(tǒng)的方式顯示。又一個(gè)事件是聚焦到鏈接/書簽上事件,它在塊82被檢測(cè)并由塊92處置,例如響應(yīng)一用戶把鼠標(biāo)指針放到一超文本鏈接或書簽的顯示表現(xiàn)上便會(huì)產(chǎn)生這一事件。塊92可以被配置,例如配置成顯示該指針附近的彈出窗口,它指出與該超文本鏈接或書簽相關(guān)聯(lián)的鏈接的URL類型和列表。
圖5中更詳細(xì)地顯示了導(dǎo)航到鏈接例行程序86。例行程序86的基本操作是根據(jù)由用戶啟動(dòng)的特定類型鏈接來調(diào)用多個(gè)子例程中的一個(gè)。如前文討論的那樣,可以由若干來源來確定一特定鏈接的鏈接類型,例如由用戶的本地瀏覽器設(shè)置,或由該鏈接的書簽/超文本鏈接定義等。這樣,例行程序86在塊100開始,首先確定是否啟動(dòng)了瀏覽器覆蓋設(shè)置,從而確定是否通過將控制傳到塊102使能自動(dòng)選擇瀏覽器默認(rèn)的鏈接類型,而不管在鏈接中定義的任何鏈接類型。如果未啟動(dòng)覆蓋設(shè)置,則控制傳到塊104,確定是否在鏈接本身中指定了鏈接類型。如果沒有,則控制轉(zhuǎn)到塊102以選擇瀏覽器默認(rèn)值。然而,如果指定了鏈接類型,則通過將控制傳到塊106來選擇那個(gè)鏈接類型。
一旦選定了鏈接類型,控制從塊102和106中的任何一個(gè)轉(zhuǎn)到一系列決策塊108-132,每個(gè)決策塊檢測(cè)一指定鏈接類型并將控制轉(zhuǎn)到專用處理例行程序。如果未檢測(cè)到這種鏈接類型,則執(zhí)行默認(rèn)塊134以檢索和顯示該鏈接的第一(如果是多目標(biāo)鏈接的話)或唯一(如果是單目標(biāo)鏈接的話)URL,其顯示方式是本領(lǐng)域公知的。
塊108檢測(cè)一“穩(wěn)健(ROBUST)”鏈接類型,將控制轉(zhuǎn)到穩(wěn)健鏈接過程例行程序136,塊110檢測(cè)“快速(FAST)”鏈接類型并把控制轉(zhuǎn)到快速鏈接過程例行程序138。塊112檢測(cè)“規(guī)模(SIZE)鏈接類型,并把控制轉(zhuǎn)到按規(guī)模鏈接過程例行程序140。塊114檢測(cè)“新近(FRESH)”類型,并把控制轉(zhuǎn)到新近連接過程例行程序142。塊116檢測(cè)“按時(shí)間順序(CHRONOLOGICAL)”鏈接類型,并把控制轉(zhuǎn)到時(shí)序鏈接過程例行程序144。塊118檢測(cè)“新(NEW)”鏈接類型,并把控制轉(zhuǎn)到新鏈接過程例行程序146。塊120檢測(cè)“普及(POPULAR)”鏈接類型,并把控制轉(zhuǎn)到普及鏈接過程例行程序148。塊122檢測(cè)“本地設(shè)置(LOCAL SETTING)”鏈接類型,并把控制轉(zhuǎn)到本地設(shè)置過程例行程序150。塊124檢測(cè)“上下文(CONTEXT)”鏈接類型,并把控制轉(zhuǎn)到上下文鏈接過程例行程序152。塊126檢測(cè)“被認(rèn)可(SANCTIONED)”鏈接類型,并把控制轉(zhuǎn)到被認(rèn)可鏈接過程例行程序154。塊128檢測(cè)“循環(huán)(CYCLIC)”鏈接類型,并把控制轉(zhuǎn)到循環(huán)鏈接過程例行程序156。塊130檢測(cè)“多訪問(MULTIVISIT)”鏈接類型,并把控制轉(zhuǎn)到多訪問鏈接過程例行程序158。塊132檢測(cè)“多發(fā)動(dòng)(MUITI LAUNCH)”鏈接類型,并把控制轉(zhuǎn)到多發(fā)動(dòng)鏈接過程例行程序160。
應(yīng)該理解,在任何給定的實(shí)現(xiàn)中不可能支持所有可能的鏈接類型。再有,在其他實(shí)現(xiàn)中還可能支持其他類型的多目標(biāo)鏈接。
一般而言,有兩個(gè)主要位置能控制如何解釋一個(gè)鏈接。首先,可以利用嵌入多目標(biāo)鏈接中的信息來控制如何解釋該鏈接。再有,還可利用瀏覽器上的本地設(shè)置來控制如何解釋一個(gè)鏈接。再有,應(yīng)該理解,可以把各種方法組合起來同時(shí)利用。例如,可能希望首先用新鏈接方法去掉已觀看過的URL,然后利用穩(wěn)健鏈接方法選擇其余鏈接中的第一個(gè)來觀看。其他修改對(duì)于本領(lǐng)域普通技術(shù)人員而言是顯而易見的。
下面給出對(duì)所列舉的每個(gè)鏈接類型的討論。穩(wěn)健鏈接圖6中更詳細(xì)地顯示了穩(wěn)健鏈接過程例行程序136。穩(wěn)健鏈接類型定義一種鏈接類型,這里的多個(gè)鏈接目標(biāo)按層次安排,如果可能的話則訪問主目標(biāo),而如果對(duì)主目標(biāo)的訪問嘗試未成功,則訪問其他目標(biāo)。這樣,如果由一目標(biāo)標(biāo)識(shí)的URL的服務(wù)器不能被強(qiáng)制回應(yīng),或者該文檔不能被檢索到,則瀏覽器移動(dòng)到列表中的下一個(gè)鏈接。往往是可使用這種類型的鏈接使得最少發(fā)生來自瀏覽器的“URL未找到”消息,例如通過提供可從中檢索一給定文檔的多個(gè)不同目標(biāo),便可做到這一點(diǎn)。
例行程序136在塊170開始,首先得到列表中的下一個(gè)URL。利用貫穿該例行程序的第一次循環(huán),這樣選擇鏈接中指定的第一URL。接下來,在塊172確定該URL是否已被瀏覽器強(qiáng)制回應(yīng)。在這一實(shí)現(xiàn)中,由瀏覽器在后臺(tái)執(zhí)行一個(gè)單獨(dú)的強(qiáng)制回應(yīng)線程以測(cè)試當(dāng)前顯示的超文本文檔上定義的各個(gè)鏈接所指定的每個(gè)目標(biāo)。強(qiáng)制回應(yīng)操作是眾所周知的一種網(wǎng)絡(luò)操作,它向一特定存儲(chǔ)位置的服務(wù)器發(fā)送測(cè)試請(qǐng)求,并從其接收回來的響應(yīng)。再有,在其他實(shí)現(xiàn)中,可能不希望利用單獨(dú)的強(qiáng)制回應(yīng)線程,因而將需要例行程序136順序測(cè)試每個(gè)目標(biāo)。
首先假定該URL已被強(qiáng)制回應(yīng)過,于是控制轉(zhuǎn)到塊174以確定強(qiáng)制回應(yīng)是否成功,就是說,是否從那個(gè)目標(biāo)標(biāo)識(shí)的URL的服務(wù)器返回一個(gè)響應(yīng)。如果該強(qiáng)制回應(yīng)沒有成功,表明該瀏覽器不能接收響應(yīng),則控制轉(zhuǎn)到塊176,詢問是否在該鏈接中存在更多的URL。如果是,則控制轉(zhuǎn)回塊170以處理該鏈接中的下一個(gè)URL。
回到塊174,如果強(qiáng)制回應(yīng)是成功的,則控制轉(zhuǎn)到塊178,以檢索在該URL存儲(chǔ)的文檔。此外,如在塊172處注明的那樣,如果該URL尚未被強(qiáng)制回應(yīng)過,則控制可以直接轉(zhuǎn)到塊178以嘗試檢索該URL處的文檔。再有,如塊176所示,如果沒有成功地強(qiáng)制回應(yīng)過的URL被定位,而且沒有剩下多余的URL要處理,則塊176把控制轉(zhuǎn)到塊178,以嘗試檢索該鏈接中的最后文檔。
接下來,塊178把控制轉(zhuǎn)到塊180以確定是否成功地檢索到該文檔。如果是,則控制轉(zhuǎn)向顯示頁面例行程序88,以向用戶再現(xiàn)和顯示該文檔,于是例行程序136完成。然而,如果該文檔未被成功地檢索到,則控制轉(zhuǎn)到塊182,以確定在該鏈接中是否剩下多余的URL要處理。如果是,則控制轉(zhuǎn)向塊170以處理其余的URL。然而,如果在該鏈接中不存在其余的URL,則在塊184中回送一個(gè)錯(cuò)誤,于是例行程序136完成。該錯(cuò)誤向用戶表明,在鏈接中指定的URL沒有一個(gè)能被檢索到。
應(yīng)該理解,每個(gè)URL可以帶有相應(yīng)的等級(jí),從而可由例行程序136按層次對(duì)URL進(jìn)行測(cè)試。在另一情況中,可能希望只是由該鏈接的數(shù)據(jù)結(jié)構(gòu)中這些URL的安排來定義URL的層次。
圖7顯示一個(gè)強(qiáng)制回應(yīng)線程,用于測(cè)試當(dāng)前顯示給用戶的一個(gè)給定超文本文檔所指定的各個(gè)目標(biāo)。例行程序190在塊192開始,首先確定為其啟動(dòng)該線程的文檔是否仍由瀏覽器顯示。如果是,控制轉(zhuǎn)向塊194以確定該文檔中的所有多目標(biāo)鏈接URL。此外,在這一塊內(nèi),可能希望對(duì)指示這種URL中的任何一個(gè)已經(jīng)被強(qiáng)制回應(yīng)過的指示器或標(biāo)記進(jìn)行復(fù)位。接下來,在塊196,每個(gè)URL(或者簡(jiǎn)單地只是每個(gè)URL中標(biāo)識(shí)該URL的服務(wù)器的那部分——例如域名)由瀏覽器順序地強(qiáng)制回應(yīng)過。再有,在每個(gè)URL都被強(qiáng)制回應(yīng)過之后,設(shè)置一個(gè)標(biāo)志或指示器以指出該URL已被強(qiáng)制回應(yīng)過。
接下來,在塊198中,完成每次強(qiáng)制回應(yīng)的時(shí)間——即接收來自該URL的服務(wù)器的響應(yīng)時(shí)間——被記錄下來。接下來,在塊199中,強(qiáng)制回應(yīng)線程190進(jìn)入睡眠狀態(tài)一段預(yù)先確定的時(shí)間。然后控制返回到塊192。以重新分析每個(gè)目標(biāo),如果該文檔仍然顯示給用戶的話。一旦顯示出新的文檔,則塊192終止強(qiáng)制回應(yīng)線程190。
每個(gè)強(qiáng)制回應(yīng)的完成時(shí)間記錄被用于快速鏈接類型的某些實(shí)現(xiàn),如果不支持這種類型,則可忽略這種記錄。快速鏈接圖8更詳細(xì)地顯示快速鏈接過程例行程序138。快速鏈接類型在許多方面類似于穩(wěn)健鏈接類型,其區(qū)別在于快速鏈接類型不是只當(dāng)主文檔得不到時(shí)才檢索其他文檔,而是試圖確定多個(gè)目標(biāo)中哪一個(gè)能向用戶提供最佳性能??梢砸远喾N方式確定這多個(gè)目標(biāo)中哪一個(gè)能提供是最佳性能。例如,如例行程序138所示,可通過比較與多個(gè)目標(biāo)中每個(gè)目標(biāo)相關(guān)聯(lián)的響應(yīng)時(shí)間來確定最佳性能。
具體地說,例行程序138在塊200開始,首先構(gòu)成該鏈接中URL的一個(gè)列表。接下來,在塊202確定是否已對(duì)該鏈接中的每個(gè)URL計(jì)算出了強(qiáng)制回應(yīng)時(shí)間,即通過上文描述的后臺(tái)強(qiáng)制回應(yīng)線程來計(jì)算。如果沒有,則控制轉(zhuǎn)到塊204,以強(qiáng)制回應(yīng)每個(gè)尚無強(qiáng)制回應(yīng)時(shí)間記錄的URL,并記錄下完成每個(gè)強(qiáng)制回應(yīng)的時(shí)間。然后控制轉(zhuǎn)到塊206,以檢索存儲(chǔ)在具有最快強(qiáng)制回應(yīng)時(shí)間的URL處的文檔。此外,回到塊202,如果對(duì)每個(gè)URL已完成了強(qiáng)制回應(yīng)操作,則控制直接轉(zhuǎn)到塊206。
接下來,塊206把控制轉(zhuǎn)到塊208以確定該文檔是否被成功地檢索到。如果是,則控制轉(zhuǎn)到顯示頁面例行程序88,于是例行程序138完成。然而,如果該文檔未被成功地檢索到,則控制轉(zhuǎn)到塊210以從該列表中去掉未成功的URL,然后轉(zhuǎn)到塊212以確定在列表中是否存在剩余的URL。如果是,則控制轉(zhuǎn)向塊206以提取下一個(gè)最快的URL。然而,如果在該列表中沒有剩下其他URL,則控制轉(zhuǎn)到塊214,以發(fā)出一個(gè)指明錯(cuò)誤的信號(hào),表明沒有文檔被成功地檢索到。然后例行程序138完成。
按照本發(fā)明,還可以以其他方式確定對(duì)用戶而言具有最高性能的目標(biāo)。例如,不是利用響應(yīng)時(shí)間,而是可以計(jì)算樣本傳輸速率,例如,通過檢索存儲(chǔ)在每個(gè)目標(biāo)處的一部分?jǐn)?shù)據(jù),計(jì)算出它的傳輸速率??梢灶A(yù)期,對(duì)于較大量的下載,如當(dāng)從因特網(wǎng)下載大的應(yīng)用時(shí),這種計(jì)算可能優(yōu)于對(duì)響應(yīng)時(shí)間的計(jì)算。例如,應(yīng)用這樣的鏈接會(huì)允許文檔作者提供一個(gè)可供用戶選擇的鏈接來下載給定的應(yīng)用,借助與該鏈接關(guān)聯(lián)的多個(gè)鏡象站點(diǎn),從而能選擇最快速的鏡象站點(diǎn)來下載該應(yīng)用。按規(guī)模鏈接圖9更詳細(xì)地描述按規(guī)模鏈接過程例行程序140。按規(guī)模鏈接類型可以認(rèn)為是在某些方面快速鏈接類型的變體,如果下載一文檔的響應(yīng)時(shí)間隨該文檔的大小而變化的話。然而,在其他設(shè)置中,一個(gè)用戶可能希望請(qǐng)求多個(gè)可選文檔中最大的那一個(gè)。這樣,例行程序140可通過例如本地瀏覽器設(shè)置或通過選定該鏈接時(shí)指定的專用輸入(例如通過彈出菜單或?qū)υ捒虻?來允許用戶請(qǐng)求多個(gè)文檔其中最小的或最大的文檔。
例行程序140在塊220開始,首先構(gòu)成該鏈接中URL的列表。接下來,塊222確定每個(gè)URL處存儲(chǔ)文檔的大小,例如從那個(gè)URL的服務(wù)器請(qǐng)求這一信息或者以本領(lǐng)域公知的其他方式。接下來,塊224確定是否已由用戶請(qǐng)求了小設(shè)置或大設(shè)置。如果請(qǐng)求了小設(shè)置,則控制轉(zhuǎn)到塊226以檢索最小URL處的文檔。另一方面,如果請(qǐng)求了大設(shè)置,則執(zhí)行塊228以檢索最大URL處的文檔。不管設(shè)置如何,接下來控制轉(zhuǎn)到塊230,以確定是否已成功地檢索到文檔。如果是,則調(diào)用顯示頁面例行程序88,于是例如行程序140完成。然而,如果不是,則控制轉(zhuǎn)到塊232,從列表中去掉該URL。接下來,塊234確定在該列表中是否剩有要處理的其他URL。如果是,則控制返回塊224。然而,如果不是,則在塊236發(fā)出一個(gè)指示錯(cuò)誤的信號(hào),于是例行程序140完成。
除了確定最佳性能外,還可預(yù)見按規(guī)模鏈接類型的其他用途。例如,文檔的大小可用于建立自動(dòng)的圖像/文本版本選擇,或在一文檔的JAVA或腳本版本與其非JAVA或非腳本版本之間進(jìn)行自動(dòng)選擇。對(duì)本領(lǐng)域普通技術(shù)人員而言,其他用途將是顯而易見的。新近鏈接圖10更詳細(xì)地描述新近鏈接過程例行程序142。這一鏈接類型觀看一個(gè)鏈接的各個(gè)目標(biāo)的相對(duì)年令,并向用戶返回最新近的文檔。在另一種情況中能返回最老的文檔。
例行程序142在塊240中開始,首先構(gòu)成鏈接中的URL列表。接下來,在塊242中確定每個(gè)URL被更新的日期,作法是檢索每個(gè)URL的時(shí)間戳,或通過分析文檔中的文本來確定其時(shí)間戳。
接下來,塊244檢索最新近的URL處的文檔,然后塊246確定該文檔檢索是否成功。如果是,則調(diào)用顯示頁面例行程序88,于是例行程序142完成。然而,如果文檔檢索未成功,則控制轉(zhuǎn)到塊248,以從列表中去掉該URL,然后轉(zhuǎn)到塊250以確定該列表中是否剩下其他URL。如果是,則控制轉(zhuǎn)回到塊244以檢索下一個(gè)最新近的URL。然而,如果所有URL都已從該列表中去掉,則控制轉(zhuǎn)到塊252以發(fā)出一個(gè)指示錯(cuò)誤的信號(hào),于是例行程序142完成。
應(yīng)該理解,獲取每個(gè)URL被更新的日期也可象強(qiáng)制回應(yīng)線程那樣在后臺(tái)完成,而不在例行程序142中完成。按時(shí)間鏈接圖11更詳細(xì)地描述按時(shí)間鏈接過程例行程序144。按時(shí)間鏈接已關(guān)聯(lián)于至少一個(gè)目標(biāo),從而由時(shí)間判據(jù)來確定何時(shí)應(yīng)選擇一特定文檔供檢索,以響應(yīng)對(duì)該鏈接的選擇。用于與一個(gè)或多個(gè)目標(biāo)的時(shí)間判據(jù)進(jìn)行比較的時(shí)間可以是一天的當(dāng)前時(shí)間,或者在另一種情況中可以根據(jù)何時(shí)一特定文檔被更新。再有,時(shí)間限和日期限可以彼此獨(dú)立存在。
為實(shí)現(xiàn)按時(shí)間鏈接,通常必須有一個(gè)或多個(gè)目標(biāo)已與時(shí)間判據(jù)相關(guān)聯(lián)。對(duì)于書簽實(shí)現(xiàn),這一類型鏈接可在每個(gè)URL記錄中請(qǐng)求一附加字段,以指定在選擇目標(biāo)之前必須滿足的時(shí)間判據(jù)。對(duì)于超文本鏈接實(shí)現(xiàn),這種信息可以嵌入一標(biāo)記之中,例如作為一個(gè)附加字段。多目標(biāo)鏈接中的每個(gè)目標(biāo)可有與之關(guān)聯(lián)的時(shí)間判據(jù),或者在另一種情況中一個(gè)或多個(gè)目標(biāo)可以沒有時(shí)間判據(jù)與之關(guān)聯(lián),于是這樣的一個(gè)或多個(gè)目標(biāo)將作為默認(rèn)目標(biāo)。
例行程序144在塊260中開始,首先從該鏈接中檢索下一個(gè)URL,并從第一個(gè)URL開始。接下來,在塊262中確定是否有時(shí)間判據(jù)與該URL相關(guān)聯(lián)。如果是,則控制轉(zhuǎn)到塊264以確定是否當(dāng)前時(shí)間和/或日期滿足該URL的判據(jù)。在另一實(shí)施例中,如果一文檔的更新時(shí)間與一時(shí)間判據(jù)比較,則塊264將由檢索該URL的更新信息代替,后跟比較該更新信息和預(yù)先確定的判據(jù)。
如果塊264中的條件不滿足,則控制轉(zhuǎn)到塊266以確定在鏈接中是否存在供處理的其他URL。如果是,則控制返回塊260以處理這些其余的URL。
回到塊264,如果當(dāng)前時(shí)間和/或日期滿足該判據(jù),則控制轉(zhuǎn)到塊268以檢索存儲(chǔ)在該URL的文檔。此外,回到塊262,如果沒有與該URL關(guān)聯(lián)的時(shí)間判據(jù),則控制直接轉(zhuǎn)到塊268。再有,如果塊264中的條件被滿足,但在該鏈接中再?zèng)]有剩余的要處理的其他URL,則塊266把控制轉(zhuǎn)給塊268,作為默認(rèn)去檢索該鏈接中最后一個(gè)URL處存儲(chǔ)的文檔。
一旦檢索到該URL存儲(chǔ)的文檔,控制轉(zhuǎn)到塊270以確定該文檔檢索是否成功。如果是,則調(diào)用顯示頁面例行程序88,于是例行程序144完成。然而,如果該文檔未被檢索到,則控制轉(zhuǎn)到塊272以確定在該鏈接中是否還存在URL。如果是,則控制轉(zhuǎn)到塊260以處理多余的鏈接。然而,如果不是,則塊274向用戶發(fā)出指示錯(cuò)誤的信號(hào),于是例行程序144終止。
除了這一鏈接類型的其他應(yīng)用外,一個(gè)特別有好處的應(yīng)用是指定不同的文檔在該日的不同時(shí)間進(jìn)行檢索。例如,一個(gè)股票市場(chǎng)多目標(biāo)鏈接能有到達(dá)當(dāng)前市場(chǎng)狀態(tài)文檔的第一目標(biāo),而第二目標(biāo)與市場(chǎng)翻新或概要文檔相關(guān)聯(lián)。在股票市場(chǎng)開門的那些小時(shí)里,時(shí)間判據(jù)能控制該鏈接的選擇會(huì)造成檢索當(dāng)前市場(chǎng)狀態(tài),而如果市場(chǎng)關(guān)門了,則可代之以檢索市場(chǎng)翻新文檔。新鏈接圖12中更詳細(xì)地描述新鏈接過程例行程序146。新鏈接通常用于使未被觀看的鏈接優(yōu)先于當(dāng)前的或先前的瀏覽期間已經(jīng)觀看的其他鏈接。可有任意多的方式用于確定一個(gè)鏈接先前是否已被觀看過。例如,可搜索該瀏覽器的本地歷史高速緩存以確定該高速緩存中是否存儲(chǔ)了一個(gè)特定目標(biāo)。在另一種情況中,可以假定一個(gè)文檔先前已被觀看過,如果與其關(guān)聯(lián)的URL被存儲(chǔ)在書簽列表中的話。在其他情況中可以使用其他方式確定一個(gè)文檔是否先前已被用過。
例行程序146在塊280中開始,首先得到該鏈接中的下一個(gè)URL,并以第一個(gè)開始。接下來,塊282確定該URL前先是否已被觀看過,例如通過搜索該瀏覽器的歷史高速緩存。如果該URL先前已被觀看過,則控制轉(zhuǎn)到塊284以確定該鏈接中是否剩有其他URL供處理。如果是,則控制轉(zhuǎn)到塊280。如果該URL曾被觀看過,或者如果該鏈接中沒有剩余的URL,則塊282和284把控制轉(zhuǎn)到塊286以檢索當(dāng)前URL處存儲(chǔ)的文檔。接下來,塊288確定該文檔檢索是否成功。如果是,則調(diào)用顯示頁面例行程序88,于是例行程序146完成。然而,如果不是,則塊290確定在該鏈接中是否有剩余URL供處理。如果是,則控制返回到塊280。如果不是,則控制轉(zhuǎn)到塊292。以發(fā)出指示錯(cuò)誤的信號(hào),于是例行程序146完成。普及鏈接圖13更詳細(xì)地顯示普及鏈接過程例行程序148。通常是通過檢驗(yàn)對(duì)一給定鏈接的各個(gè)目標(biāo)的相對(duì)“命中”數(shù)來確定一個(gè)普及鏈接?!懊小睌?shù)是一個(gè)文檔被訪問一萬維網(wǎng)站的多個(gè)用戶檢索過的次數(shù)。通常這可通過掃描每個(gè)文檔以得到一個(gè)計(jì)數(shù)器來實(shí)現(xiàn)。在另一情況中,一個(gè)服務(wù)器能對(duì)任何文檔跟蹤和返回這種信息以響應(yīng)對(duì)此的特定請(qǐng)求。
例行程序148在塊300中開始,首先構(gòu)成該鏈接中的URL列表。接下來,塊302以上文討論的任何方式確定每個(gè)URL的“命中”次數(shù)。接下來,塊304在具有最多“命中”次數(shù)的URL檢索文檔。接下來,塊306確定該文檔檢索是否成功。如果是,則調(diào)用顯示頁面例行程序,于是例行程序148完成。然而,如果文檔檢索不成功,則控制轉(zhuǎn)向塊308以把該URL從列表中去掉,然后轉(zhuǎn)到塊310以確定該列表中是否存在其余URL。如果是,則控制轉(zhuǎn)到塊304以處理其余URL。如果不是,則在塊312向用戶發(fā)出指示錯(cuò)誤的信號(hào),于是例行程序148終止。本地設(shè)置鏈接圖14中更詳細(xì)地描述本地設(shè)置過程例行程序150。本地設(shè)置鏈接代表一類鏈接類型,這里該瀏覽器的特定設(shè)置,不論是否可由用戶配置,都用于確定多個(gè)目標(biāo)中哪一個(gè)要被檢索。例行程序150在塊320開始,首先檢索該鏈接中的所有URL,然后在塊322中通過選擇該鏈接中的第一URL以匹配一特定的本地設(shè)置。塊322還可以要求每個(gè)URL的文檔被檢索,以便與本地設(shè)置進(jìn)行比較。
接下來,在塊324中確定是否發(fā)現(xiàn)了匹配。如果不是,則在塊326中以默認(rèn)方式選擇該鏈接中的第一URL。如果發(fā)現(xiàn)了匹配,或者一旦完成了塊326,則執(zhí)行塊328以檢索存儲(chǔ)在該URL處的文檔,如果該文檔尚未在塊322中被檢索的話。接下來,塊330確定該文檔檢索是否成功。如果是,則調(diào)用顯示頁面例行程序88,于是例行程序150完成。然而,如果該檢索不成功,則控制轉(zhuǎn)向塊332以發(fā)出指示錯(cuò)誤的信號(hào),于是該例行程序終止。
可以利用任何數(shù)量的本地設(shè)置及其組合來按照本發(fā)明在多個(gè)目標(biāo)中進(jìn)行選擇。例如,一個(gè)本地設(shè)置可以是一種默認(rèn)的語言,它指出一文檔的語言。這樣,或者是該文檔的語言標(biāo)識(shí)符,或者該文檔中的各種關(guān)鍵詞,可以被搜索以確定多個(gè)目標(biāo)中哪一個(gè)匹配于所希望的語言。這將使得能利用單一超文本鏈接根據(jù)其設(shè)置為不同的用戶選擇不同語言的文檔。
按照類似的思想,本地設(shè)置可以包括字符集,例如一個(gè)編碼的字符集標(biāo)識(shí)符(CCSID)。除了作為確定一文檔優(yōu)選語言的另一種方式外,CCSID可以用來選擇同一代碼頁面的URL作為瀏覽器,從而不需由瀏覽器進(jìn)行轉(zhuǎn)換。CCSID還有其他用途。
此外,本地設(shè)置可以基于一個(gè)超文本文檔的所希望的默認(rèn)版本。例如,可以使用各種版本類型,例如只限文本的版本、圖形版本、能啟動(dòng)JAVA的版本、非JAVA版本、腳本版本、非腳本版本等。這些設(shè)置可由用戶配置,或者可代表一特定瀏覽器的固有能力。這樣,如果一特定瀏覽器能支持一特定技術(shù),則可代之以檢索另一種文檔。除了其他可用于選擇不同文檔的本地設(shè)置外,一個(gè)用戶的技術(shù)水平或其他興趣能用來在不同文檔當(dāng)中進(jìn)行選擇。例如,用戶可在“初學(xué)者”和“高級(jí)”用戶設(shè)置當(dāng)中進(jìn)行選擇,從而對(duì)不同用戶可檢索出為不同用戶技術(shù)水平定制的文檔。
可以看出,在不同情況中可以利用廣泛多樣的不同本地設(shè)置。再有,應(yīng)該理解,還可以同時(shí)使用多個(gè)用戶設(shè)置以在各種目標(biāo)當(dāng)中進(jìn)行選擇。上下文鏈接圖15更詳細(xì)地顯示上下文鏈接過程行程序152。一個(gè)上下文鏈接,也稱作定制鏈接,可以利用與超文本鏈接定義或書簽數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的上下文信息來根據(jù)一用戶先前的導(dǎo)航歷史來確定多個(gè)目標(biāo)中哪一個(gè)要檢索。例如,在所示實(shí)施例中,可以把當(dāng)前觀看的超文本文檔所用的多個(gè)超文本鏈接的先前觀看狀態(tài)與每個(gè)目標(biāo)所關(guān)聯(lián)的上下文判據(jù)進(jìn)行比較,以確定多個(gè)目標(biāo)中的哪一個(gè)要啟動(dòng)以響應(yīng)用戶對(duì)多目標(biāo)鏈接的選擇。在另一個(gè)情況中,可以使用其他文檔的先前觀看狀態(tài),這些文檔不一定是當(dāng)前觀看的文檔中那些特定鏈接的目標(biāo)。這樣一個(gè)鏈接的好處在于文檔設(shè)計(jì)者能確保用戶能找到為理解其他概念所需的特定信息,而不論選擇鏈接的順序如何。
例行程序152在塊340中開始,首先得到該鏈接中的下一個(gè)URL,而以這樣的第一個(gè)URL開始。接下來,塊342確定是否一上下文判據(jù)與該URL關(guān)聯(lián)。如果是,則執(zhí)行“是否滿足上下文判據(jù)?”例行程序344以確定是否已滿足與該URL相關(guān)聯(lián)的上下文判據(jù)。如果例行程序344返回“否(NO)”,則控制轉(zhuǎn)到塊346以確定在該鏈接中是否剩下其他URL要處理。如果是,則控制返回到塊340去處理這些URL。
然而,如果例行程序344返回“是(YES)”值,則控制轉(zhuǎn)到塊348以在當(dāng)前URL處檢索文檔。此外,回到塊342,如果沒有上下文判據(jù)與一給定的URL相關(guān)聯(lián),則控制直接轉(zhuǎn)到塊348。再有,如果上下文判據(jù)未被滿足,但在該鏈接中再?zèng)]有剩余的URL,則塊346把控制轉(zhuǎn)到塊348以檢索最后一個(gè)URL作為默認(rèn)。一旦檢索存儲(chǔ)在當(dāng)前URL的文檔,則控制轉(zhuǎn)到塊350以確定該文檔檢索是否成功。如果是,則調(diào)用顯示頁面例行程序88,于是例行程序152完成。然而,如果該檢索不成功,則控制轉(zhuǎn)到塊352以確定在該鏈接中是否剩下其他URL。如果是,則控制返回到塊340。如果不是,則在塊354向用戶發(fā)出指示錯(cuò)誤的信號(hào),于是例行程序152終止。
可以有各種上下文判據(jù)關(guān)聯(lián)于多目標(biāo)鏈接的不同目標(biāo)。作為不是唯一的例子,一個(gè)鏈接的一個(gè)或多個(gè)目標(biāo)可以與一個(gè)或多個(gè)該用戶必須先看或后看的上下文URL相關(guān)聯(lián)。如果一用戶必須在訪問一上下文URL之前檢索一特定目標(biāo),則如果該上下文URL已經(jīng)被訪問,則該目標(biāo)不應(yīng)被選擇。與此相反,如果直至一上下文URL已經(jīng)被訪問之后才能訪問該目標(biāo),則不應(yīng)允許在訪問上下文URL之前試圖檢索該目標(biāo)。
可以以圖16中所示的方式將一給定多目標(biāo)鏈接的上下文判據(jù)存儲(chǔ)在一書簽結(jié)構(gòu)中。如該圖中所示,書簽記錄44可以有一個(gè)URL字段48,它指向圖3所示URL記錄54的替代URL記錄360。對(duì)每個(gè)URL記錄360,標(biāo)題字段362、URL字段364和下一個(gè)字段368可以起到與URL記錄54(圖3)的字段56、58和60同樣的功能。然而,每個(gè)URL記錄360包括一個(gè)附加的上下文字段366存儲(chǔ)一個(gè)指針指向上下文URL記錄370的鏈接列表。
每個(gè)上下文URL記錄370包括一個(gè)URL字段372定義該上下文URL的存儲(chǔ)位置。此外,一個(gè)先訪問/后訪問字段374用于確定一用戶是否必須在上下文URL之前或之后訪問一個(gè)目標(biāo)以滿足該上下文判據(jù)。字段376存儲(chǔ)一個(gè)指針指向書簽數(shù)據(jù)結(jié)構(gòu)中的下一個(gè)上下文URL記錄370。最后一個(gè)這樣的記錄包括存儲(chǔ)在字段376中的NULL(空)指針。
可以以任意多的方式實(shí)現(xiàn)將上下文判據(jù)存儲(chǔ)在一個(gè)多目標(biāo)鏈接的超文本鏈接定義實(shí)現(xiàn)中。例如,可能希望在前文中針對(duì)表Ⅰ描述的錨入標(biāo)記內(nèi)包括一個(gè)“上下文”字段,它列出這些URL以及它們的相關(guān)聯(lián)的標(biāo)志,或者以適于HTML編碼的其他方式實(shí)現(xiàn)。
在圖15中被訪問的例行程序344更詳細(xì)地顯示在圖17中。這個(gè)例行程序在塊380中開始,首先得到當(dāng)前目標(biāo)URL的下一個(gè)上下文URL,并以第一個(gè)這樣的上下文URL開始。一旦這下一個(gè)上下文URL被檢索。控制便轉(zhuǎn)到塊382以確定是否設(shè)置了后訪問標(biāo)志。如果是,則控制轉(zhuǎn)向塊384以確定該上下文URL是否已經(jīng)被訪問,例如通過搜索與該上下文URL匹配的一個(gè)文檔的本地歷史高速緩存來確定。如果該上下文URL已經(jīng)被訪問,則在這方面的上下文判據(jù)已被滿足,于是控制轉(zhuǎn)到塊386以確定該目標(biāo)URL是否存在更多的上下文URL要分析。如果所有上下文URL都已被處理,則塊386把控制轉(zhuǎn)到塊388以返回一個(gè)“是(YES)”值,表明該目標(biāo)的上下文判據(jù)已被滿足。
回到塊384,如果上下文URL尚未被訪問過,則該目標(biāo)的上下文判據(jù)尚未被滿足。這樣,塊384把控制轉(zhuǎn)到塊390以返回一個(gè)“否(NO)”值,于是該例行程序終止。
回到塊382,如果沒有設(shè)置后訪問標(biāo)志,則控制轉(zhuǎn)到塊392以確定該上下文URL是否已被訪問。如果是,則上下文判據(jù)不滿足,于是控制轉(zhuǎn)到塊390以返回一個(gè)“否(NO)”值,于是該例行程序終止。如果該上下文URL尚未被訪問,則代之以控制轉(zhuǎn)到塊394以確定是否需要分析其余的上下文URL。如果是,則塊394把控制轉(zhuǎn)到塊380以處理其余的URL。然而,如果不是,則上下文判據(jù)已被滿足,于是控制轉(zhuǎn)到塊388以終止該例行程序并返回一個(gè)“是(YES)”值。
應(yīng)該理解,在其他情況中可以利用其他上下文判據(jù),例如各種布爾邏輯語句或其他更復(fù)雜的查詢。被認(rèn)可鏈接圖18中更詳細(xì)地顯示了被認(rèn)可鏈接過程例行程序154。一個(gè)被認(rèn)可鏈接代表一個(gè)有多個(gè)目標(biāo)URL的鏈接,這些目標(biāo)URL可以明確地被認(rèn)可和/或不被認(rèn)可,從而使這樣的目標(biāo)相對(duì)于該鏈接中的其他目標(biāo)優(yōu)先或不優(yōu)先。一個(gè)用戶的先前導(dǎo)航歷史可用于確定一個(gè)特定的目標(biāo)是否被認(rèn)可或不被認(rèn)可。例如,每當(dāng)用戶定位一個(gè)特別有幫助或無幫助的站點(diǎn)時(shí),該用戶便能把這樣的信息添加到被認(rèn)可或不被認(rèn)可站點(diǎn)列表中。在另一種情況中,可以利用第三方認(rèn)可機(jī)構(gòu)來認(rèn)可或不認(rèn)可給定的目標(biāo)URL。這第三方可以是另一用戶,或者可以是在特定領(lǐng)域有經(jīng)驗(yàn)的某種特別有興趣的小組。
被認(rèn)可或不被認(rèn)可的URL可以被完全地指定,或者在另一種情況中可以被部分地指定,例如使用通配符。例如,對(duì)于計(jì)算機(jī)信息,可以知道在IBM萬維網(wǎng)站上的任何東西對(duì)一給定用戶都是有用的信息。這樣,這樣便可以用通配符“www.ibm.*”代表一個(gè)認(rèn)可判據(jù),從而使任何IBM域中的任何目標(biāo)都是優(yōu)先的。類似地,域名可用于認(rèn)可或不認(rèn)可一個(gè)給定的文檔列表。例如,如果已知一個(gè)域名是容納淫穢材料的,那么任何指向該域名的目標(biāo)便可明確地不被認(rèn)可,以防止該用戶檢索這種材料。
認(rèn)可信息可能是有用的,例如,有助于用戶們分享他們先前的經(jīng)驗(yàn)以協(xié)助其他用戶定位有用的鏈接。還有,特別興趣小組可以向用戶們推薦某些鏈接。例如,一個(gè)用戶可能希望啟動(dòng)一個(gè)多目標(biāo)鏈接,它指向?yàn)楦黝惏┌Y確定推薦處置辦法的若干鏈接。該用戶可能希望該信息是可信的,而且可能只希望看到由諸如Mayo診所這樣的小組認(rèn)可的鏈接。應(yīng)該理解,可以預(yù)見認(rèn)可信息具有廣泛多樣的其他用途。
在所示實(shí)施例中,認(rèn)可信息是作為一個(gè)被認(rèn)可列表來保持的,該列表對(duì)每個(gè)條目指出與其關(guān)聯(lián)的URL(或任何通配符URL片段)是否明確地被認(rèn)可或不被認(rèn)可。為處理這種信息,例行程序154在塊400中開始,首先是構(gòu)成要被啟動(dòng)的鏈接中的URL列表。接下來,塊402從該列表中去掉與被認(rèn)可列表中任何不被認(rèn)可或被禁止的URL相匹配的所有URL。接下來,塊404確定該列表是否空了。如果是,則沒有應(yīng)檢索的文檔,于是控制轉(zhuǎn)到塊406,以向用戶發(fā)出一個(gè)指示錯(cuò)誤的信號(hào)并終止該例行程序。
然而,如果該列表不是空的,則控制轉(zhuǎn)到塊408,以使該列表中可能與任何被認(rèn)可URL匹配的所有URL優(yōu)先化。然后控制轉(zhuǎn)到塊410以確定對(duì)于該用戶是否啟動(dòng)了“只選被認(rèn)可的”設(shè)置。作為一例,可能希望只觀看被認(rèn)可的站點(diǎn),或者在另一種情況中只是使那些站點(diǎn)相對(duì)于其他站點(diǎn)優(yōu)先。
如果只應(yīng)觀看被認(rèn)可的站點(diǎn),則塊410把控制轉(zhuǎn)到塊412以確定該列表中的第一個(gè)URL是否與一被認(rèn)可的URL匹配。如果不是,則控制轉(zhuǎn)到塊414以從該列表中去掉該URL,然后轉(zhuǎn)到塊416以確定該列表中是否剩下其他URL。如果是,則控制轉(zhuǎn)到塊410以處理其余URL。然而,如果不是,則控制轉(zhuǎn)到塊418以向用戶發(fā)出指示錯(cuò)誤的信號(hào),然后終止該例行程序。
如果該列表中的第一個(gè)URL與一被認(rèn)可的URL匹配,則代之以塊412把控制轉(zhuǎn)到塊420以檢索該列表中這第一個(gè)URL處的文檔。此外,回到塊410,如果沒有設(shè)置“只選被認(rèn)可的”選項(xiàng),則控制直接轉(zhuǎn)到塊420。接下來,塊422確定該文檔的檢索是否成功。如果是,則調(diào)用顯示頁面例行程序,于是例行程序154完成。然而,如果不是,則控制轉(zhuǎn)向塊414以把該URL從列表中去掉,并處理任何其余的URL,如果這種URL存在的話。然后例行程序154完成。循環(huán)鏈接圖19中更詳細(xì)地顯示循環(huán)鏈接過程例行程序156。一個(gè)循環(huán)鏈接只不過是這樣一種鏈接,即每次采取該鏈接時(shí)便使用該鏈接中的下一個(gè)目標(biāo)URL。再有,可能希望在已經(jīng)選擇過鏈接中的最后一個(gè)目標(biāo)URL之后再回到第一個(gè)目標(biāo)URL。除了其他用途外,這類鏈接可用于使文檔作者能按預(yù)先確定的順序組織一系列目標(biāo)并讓用戶按照作者希望的順序依次觀看每個(gè)目標(biāo)。
例行程序156在塊430中開始,首先確定該鏈接在以前是否被采取過。這可以通過例如分析與該鏈接關(guān)聯(lián)的最后采取的變量來實(shí)現(xiàn)。如果該鏈接在以前已被采取過,則控制轉(zhuǎn)到塊432以得到該鏈接中的下一個(gè)URL,并從第一個(gè)這樣的URL開始。然后控制轉(zhuǎn)到塊434以存儲(chǔ)該URL作為該鏈路最后采取的URL。接下來,塊436嘗試檢索該URL處的文檔,并且塊438確定該文檔檢索是否成功。如果是,則調(diào)用顯示頁面例行程序88,于是例行程序156完成。如果不是,則在塊440中向用戶發(fā)出指示錯(cuò)誤的信號(hào)并終止例行程序156。
回到塊430,在為該鏈接選出第一個(gè)URL之后,塊430確定該鏈接以前被采取過,于是控制轉(zhuǎn)到塊442以檢索該鏈接的最后采取的變量。接下來,塊444開始一個(gè)循環(huán),通過該鏈接中的下一個(gè)URL(從第一個(gè)開始),直至該URL與存儲(chǔ)的作為該鏈接最后一個(gè)采取的URL相匹配為止。具體地說,塊444把控制轉(zhuǎn)到塊446以確定塊444中檢索到的URL是否與最后采取的相匹配。只要它不匹配,控制便轉(zhuǎn)到塊448以確定該鏈接中是否剩下其余的URL要處理。如果是,則控制返回到塊444。
一旦該URL與最后采取的相匹配,則控制轉(zhuǎn)到塊450以確定該鏈接中是否存在更多的URL。如果是,則控制轉(zhuǎn)到塊452以得到該鏈接中的下一個(gè)URL,然后轉(zhuǎn)到塊434以存儲(chǔ)該URL作為該鏈接的最后采取的URL?;氐綁K450,如果該鏈接中不存在更多的URL,則該鏈接的最后一個(gè)URL是先前被采取的URL,于是控制轉(zhuǎn)到塊454以得到該鏈接中的第一個(gè)URL,于是回到該鏈接的目標(biāo)URL列表的開始。還有,回到塊448,如果檢測(cè)到該鏈接中不存在更多的URL,則控制轉(zhuǎn)到塊454。多訪問鏈接圖20中更詳細(xì)地顯示多訪問鏈接過程例行程序158。多訪問鏈接在許多方面與循環(huán)鏈接類似,這在于按順序選擇目標(biāo)URL序列。然而,多訪問鏈接不是要求用戶返回到在其中定義多目標(biāo)鏈接的文檔再選擇下一個(gè)鏈接,而是使能按順序直接觀看多個(gè)目標(biāo)。例如由用戶按下瀏覽器的“退回(BACK)”鈕便可選擇一鏈接的下一個(gè)URL,并試圖返回到原始文檔。在另一種情況中,或者除了“退回(BACK)”按鈕,可以顯示出單獨(dú)的“下一個(gè)(NEXT)”按鈕,以允許用戶在多個(gè)目標(biāo)之間排序。在另一種情況中可以使用其他方式在多個(gè)目標(biāo)之間排序。
例行程序158在塊460中開始,首先得到該鏈接中的下一個(gè)URL,并以第一個(gè)開始。接下來,在塊462中,檢索該URL處存儲(chǔ)的文檔。接下來,塊464確定該文檔檢索是否成功。如果是,則調(diào)用顯示頁面例行程序88,包括啟動(dòng)該瀏覽器的“下一個(gè)(NEXT)”按鈕顯示選項(xiàng)(下文中更詳細(xì)討論)。例行程序88被配置成一旦按下“下一個(gè)(NEXT)”按鈕則返回例行程序158,或者在另一種情況中,則一旦按下該瀏覽器的“退回(BACK)”按鈕則返回例行程序158。一旦從例行程序88返回,或者如果在塊464中確定該文檔檢索不成功,則控制轉(zhuǎn)到塊466以確定在該鏈接中是否存在其余的URL。如果是,則控制轉(zhuǎn)到塊460以得到該鏈接的下一個(gè)URL。然而,如果沒有剩下其他URL,則控制轉(zhuǎn)到塊468以確定是否成功地顯示了一個(gè)頁面——就是說,是否從例行程序158調(diào)用了顯示頁面例行程序88。如果是,則沒有發(fā)生錯(cuò)誤,于是例行程序158終止。然而,如果沒有頁面被顯示,則在終止該例行程序之前調(diào)用塊470以發(fā)出一個(gè)指示錯(cuò)誤的信號(hào)。還應(yīng)理解,可能希望在已經(jīng)觀看了該鏈接中的最后目標(biāo)之后回到第一個(gè)目標(biāo)。多發(fā)動(dòng)鏈接圖21中更詳細(xì)地顯示多發(fā)動(dòng)鏈接處理例行程序160。利用多發(fā)動(dòng)鏈接,該瀏覽器被配置成為該鏈接中的每個(gè)目標(biāo)URL引出一個(gè)單獨(dú)的窗口。這允許用戶以快速和高效的方式一次追循多個(gè)路徑。
例行程序160在塊472中開始,首先得到該鏈接中的下一個(gè)URL,并以第一個(gè)開始。接下來,塊474為那個(gè)URL打開一個(gè)新的瀏覽器窗口。然后塊476確定該鏈接中是否存在其他URL,如果是則把控制返回到塊472以處理這些其余的URL。一旦該鏈接的所有URL都已被處理,則例行程序160終止。
作為另一種情況,一個(gè)鏈接的第一個(gè)URL可以開到當(dāng)前窗口中,而把其余檢索到的文檔放到新窗口中。再有,各種格式化選項(xiàng),包括貼瓦(tiling)和級(jí)聯(lián),也可以用于格式化返回給用戶的信息。多目標(biāo)鏈接的顯示圖22中更詳細(xì)地顯示出顯示頁面例行程序88。例行程序88主要操作是在計(jì)算機(jī)顯示器上再現(xiàn)和顯示提供給該例行程序的給定的超文本文檔。例行程序88在塊480中開始,首先開始一個(gè)WHILE循環(huán),它再現(xiàn)超文本文檔中的每個(gè)HTML對(duì)象并在計(jì)算機(jī)顯示器上顯示該信息。對(duì)于每個(gè)這樣的對(duì)象,控制轉(zhuǎn)到塊482以從文檔中得到下一個(gè)對(duì)象。接下來,塊484確定該對(duì)象是否是多目標(biāo)超文本鏈接。如果不是,則控制轉(zhuǎn)到塊486,以傳統(tǒng)方式使用基于HTML的再現(xiàn)引擎再現(xiàn)該對(duì)象。然后控制返回塊480以處理其余對(duì)象。
然而,如果該對(duì)象是一個(gè)多目標(biāo)超文本鏈接,則控制轉(zhuǎn)到塊488以復(fù)位一對(duì)變量,表示為“總數(shù)”和“已訪問總數(shù)”?!翱倲?shù)”變量代表該多目標(biāo)鏈接的目標(biāo)總數(shù)。“已訪問總數(shù)”變量代表先前已被該用戶訪問過的這些目標(biāo)數(shù)。
一旦這些變量已被復(fù)位,控制轉(zhuǎn)向塊490以啟動(dòng)一個(gè)循環(huán)去處理該鏈接的每個(gè)URL,并以其第一個(gè)URL開始。接下來,塊492對(duì)“總數(shù)”變量加1,然后塊494確定當(dāng)前URL是否已被訪問過。如果是,則控制轉(zhuǎn)到塊496以對(duì)“已訪問總數(shù)”變量加1,然后塊498確定該鏈接中是否剩下其他URL要處理?;氐綁K494,如果該URL未曾被訪問過,則越過塊496,控制直接轉(zhuǎn)到塊498。
如果在該鏈接中存在其他URL,則塊498把控制返回到塊490。然而,如果所有URL都已被處理,則控制轉(zhuǎn)到塊500以計(jì)算已訪問的百分率,該百分率由“已訪問總數(shù)”和“總數(shù)”兩變量之比來代表。然后,以已訪問百分率變量為基礎(chǔ),塊502再現(xiàn)該鏈接,并根據(jù)已訪問百分率變量在該超文本鏈接的顯示表現(xiàn)中的下劃線部分加上陰影。然后控制返回塊480以處理其他對(duì)象。
一旦該超文本文檔中的所有對(duì)象都已被處理,則塊480把控制轉(zhuǎn)到塊504以確定是否已設(shè)置了“下一個(gè)(NEXT)”按鈕啟動(dòng)標(biāo)志(如前文結(jié)合圖20描述的那樣,這通常是啟動(dòng)多目標(biāo)鏈接的結(jié)果)。如果該按鈕被啟動(dòng),則控制轉(zhuǎn)到塊506以顯示“下一個(gè)(NEXT)”按鈕。接下來,執(zhí)行塊508為當(dāng)前的超文本文檔啟動(dòng)強(qiáng)制回應(yīng)線程,以完成前述后臺(tái)強(qiáng)制回應(yīng)功能。還有,如果“下一個(gè)(NEXT)”按鈕未被啟動(dòng),則塊504把控制直接轉(zhuǎn)到塊508。一旦完成塊508,例行程序88即完成。
圖23顯示代表性的計(jì)算機(jī)顯示600,顯示出本發(fā)明的若干獨(dú)特方面。在顯示600中顯示的是瀏覽器41的窗口602,在其中顯示的是超文本文檔604的顯示表現(xiàn)。還顯示出一個(gè)書簽列表606,其中包括多個(gè)書簽608、610、612、614和616。
顯示出一個(gè)指針618落在書簽612的顯示表現(xiàn)上。如前文針對(duì)圖4討論的那樣,可由該瀏覽器處置的一個(gè)事件是放在一特定書簽上的聚焦,這里對(duì)它的響應(yīng)是在一個(gè)彈出窗口中顯示出該書簽的URL類型和列表。作為一例,在下面的表Ⅱ中顯示出書簽612的示例數(shù)據(jù)表Ⅱ多目標(biāo)書簽示例
為響應(yīng)放在該書簽上的指針618,顯示一個(gè)彈出窗口620,在其中的621處顯示鏈接類型,并在622和624處顯示每個(gè)目標(biāo)??赡軙?huì)進(jìn)一步希望顯示與該鏈接關(guān)聯(lián)的判據(jù),這里在626和628處顯示。應(yīng)該理解,在另一種情況中還可在彈出窗口620中顯示任何其他的信息安排。再有,可能希望用戶直接訪問彈出窗口中顯示的任何URL,例如可通過允許用戶把指針放在所希望的URL上并按下鼠標(biāo)按鈕來實(shí)現(xiàn)。
圖23中還顯示了一個(gè)多目標(biāo)超文本鏈接的顯示表現(xiàn)630,例如使用下面表Ⅲ所示的數(shù)據(jù)表Ⅲ多目標(biāo)超文本鏈接示例<pre listing-type="program-listing"><![CDATA[<AHTYPE=“MULTIVISIT(多訪問)”HREF=“WWW.hypo.ibm.com/lesson1.html”HREF=“WWW.hypo.ibm.com/lesson2.html”HREF=“WWW.hypo.ibm.com/lesson3.html”HREF=“WWW.hypo.ibm.com/lesson4.html”>Click Here for Software Tutorial(點(diǎn)擊這里得到軟件指導(dǎo))</A>]]></pre>如前文針對(duì)圖22討論的那樣,用于特征性標(biāo)識(shí)一個(gè)超文本鏈接的下劃線部分(在這里表現(xiàn)在632處)被分成第一區(qū)和第二區(qū),彼此沿一共同軸線毗連。這些區(qū)域的相對(duì)長度的大小分別指示先前已從中訪問過數(shù)據(jù)的多目標(biāo)鏈接的目標(biāo)百分率,在634和636處表現(xiàn)。這里假定用戶已訪問了該多目標(biāo)鏈接的四個(gè)目標(biāo)中的三個(gè)。這樣,區(qū)域634代表線條的3/4,而區(qū)域636代表線條的1/4。
應(yīng)該理解,在其他情況中可以使用其他方式顯示訪問過的目標(biāo)的相對(duì)百分率。例如,可以顯示垂直線條,或者可以顯示任何數(shù)量的圖標(biāo)和/或數(shù)字指示符。再有,可以用餅圖類圖標(biāo)顯示這種百分率信息,還可在彈出菜單中顯示,例如可與當(dāng)指針放在超文本鏈接定義的顯示表現(xiàn)上時(shí)所顯示的URL鏈接類型和列表相結(jié)合來進(jìn)行這種顯示。在其他情況中還可使用其他用戶界面機(jī)制。
在圖23的影象中還顯示出“下一個(gè)(NEXT)”按鈕638。盡管通常并不結(jié)合文本604的顯示而顯示該按鈕,但在響應(yīng)用戶觀看表Ⅲ定義的超文本鏈接的任何目標(biāo)時(shí)便要顯示該按鈕。在其他情況中還可使用其他的用戶界面控件。
在某些實(shí)現(xiàn)中可以支持各種附加特性。例如,可能希望允許用戶添加和/或編輯書簽以從中手工創(chuàng)建多目標(biāo)鏈接。再有,可能希望允許用戶打開一專用窗口,其中含有一多目標(biāo)鏈接的任何特定書簽或超文本鏈接定義實(shí)現(xiàn)的目標(biāo)列表,從而允許用戶直接訪問任何這種目標(biāo)。除了其他用戶界面機(jī)制外,還可能希望允許用戶打開這樣的列表以響應(yīng)對(duì)特定鏈接下面的線條的直接點(diǎn)擊。
可對(duì)所顯示的實(shí)施例做各種其他修改而不離開本發(fā)明的精神和范圍。所以,本發(fā)明在于這里所附的權(quán)利要求之中。
權(quán)利要求
1.以計(jì)算機(jī)訪問數(shù)據(jù)的方法,包含(a)接收指向多目標(biāo)鏈接的用戶輸入,該多目標(biāo)鏈接標(biāo)識(shí)多個(gè)與其關(guān)聯(lián)的存儲(chǔ)位置;以及(b)訪問在這多個(gè)存儲(chǔ)位置中選定一個(gè)處存儲(chǔ)的數(shù)據(jù)。
2.權(quán)利要求1的方法,其中的多目標(biāo)鏈接由多目標(biāo)超文本鏈接定義定義在一超文本文檔中,該方法進(jìn)一步包含顯示該超文本文檔的顯示表現(xiàn)。
3.權(quán)利要求2的方法,其中存儲(chǔ)在選定存儲(chǔ)位置的數(shù)據(jù)包括第二超文本文檔,其中第一和第二超文本文檔用超文本置標(biāo)語言(HTML)定義,而且其中的多目標(biāo)超文本鏈接定義以HTML標(biāo)記定界。
4.權(quán)利要求1的方法,其中的多目標(biāo)鏈接定義在一書簽列表中的多個(gè)書簽之一當(dāng)中。
5.權(quán)利要求1的方法,其中的多個(gè)存儲(chǔ)位置由統(tǒng)一資源定位器(URL)標(biāo)識(shí)。
6.權(quán)利要求1的方法,其中對(duì)選定存儲(chǔ)位置的數(shù)據(jù)進(jìn)行的訪問包括檢索存儲(chǔ)在該選定存儲(chǔ)位置的超文本文檔。
7.權(quán)利要求1的方法,其中對(duì)存儲(chǔ)在選定存儲(chǔ)位置的數(shù)據(jù)進(jìn)行的訪問包括嘗試訪問在多個(gè)存儲(chǔ)位置中的第一存儲(chǔ)位置處的數(shù)據(jù),然后,如果對(duì)第一存儲(chǔ)位置處數(shù)據(jù)的訪問嘗試不成功的話,則嘗試訪問在這多個(gè)存儲(chǔ)位置中的第二存儲(chǔ)位置處的數(shù)據(jù)。
8.權(quán)利要求7的方法,進(jìn)一步包含在接收指向多目標(biāo)鏈接的用戶輸入之前確定該第一存儲(chǔ)位置處的數(shù)據(jù)是否是可被訪問的。
9.權(quán)利要求1的方法,進(jìn)一步包含根據(jù)預(yù)先確定的判據(jù)從多個(gè)存儲(chǔ)位置中選出選定的存儲(chǔ)位置。
10.權(quán)利要求9的方法,其中的多目標(biāo)鏈接是由多目標(biāo)超文本鏈接定義定義在一超文本文檔中,而且其中的預(yù)先確定的選擇判據(jù)至少是部分地基于多目標(biāo)超文本鏈接定義中所嵌入的數(shù)據(jù)。
11.權(quán)利要求9的方法,其中預(yù)先確定的選擇判據(jù)至少是部分地基于分別存儲(chǔ)在多個(gè)存儲(chǔ)位置處的文件的相對(duì)訪問時(shí)間。
12.權(quán)利要求11的方法,進(jìn)一步包含通過強(qiáng)制回應(yīng)每個(gè)存儲(chǔ)位置以確定其響應(yīng)時(shí)間,以此來確定這多個(gè)存儲(chǔ)位置中哪一個(gè)有最短的訪問時(shí)間,而且其中選擇選定的存儲(chǔ)位置包括選擇具有最快響應(yīng)時(shí)間的存儲(chǔ)位置作為選定的存儲(chǔ)位置。
13.權(quán)利要求11的方法,進(jìn)一步包含通過從每個(gè)存儲(chǔ)位置檢索數(shù)據(jù)以確定其傳輸速率,以此來確定這多個(gè)存儲(chǔ)位置中哪一個(gè)有最短的訪問時(shí)間,而且其中選擇選定的存儲(chǔ)位置包括選擇具有最高傳輸速率的存儲(chǔ)位置作為選定的存儲(chǔ)位置。
14.權(quán)利要求9的方法,其中預(yù)先確定的選擇判據(jù)至少是部分地基于分別存儲(chǔ)在這多個(gè)存儲(chǔ)位置處的文件的相對(duì)大小。
15.權(quán)利要求9的方法,其中預(yù)先確定的選擇判據(jù)至少是部分地基于分別存儲(chǔ)在這多個(gè)存儲(chǔ)位置處的文件的相對(duì)年齡。
16.權(quán)利要求15的方法,進(jìn)一步包含通過確定每個(gè)存儲(chǔ)位置處存儲(chǔ)的文檔的最后更新時(shí)間來確定這多個(gè)存儲(chǔ)位置中哪一個(gè)是最新近的,而且其中選擇選定的存儲(chǔ)位置包括選擇與具有最新近的最后更新時(shí)間的文件相關(guān)聯(lián)的存儲(chǔ)位置作為選定的存儲(chǔ)位置。
17.權(quán)利要求9的方法,其中的預(yù)先確定的選擇判據(jù)至少是部分地基于一預(yù)先確定的時(shí)間判據(jù)。
18.權(quán)利要求17的方法,其中每個(gè)存儲(chǔ)位置有一個(gè)預(yù)先確定的時(shí)間條件,而且其中選擇選定的存儲(chǔ)位置包括選擇這樣的存儲(chǔ)位置作為選定的存儲(chǔ)位置,即在該存儲(chǔ)位置中當(dāng)前系統(tǒng)時(shí)間和當(dāng)前系統(tǒng)日期二者當(dāng)中至少有一個(gè)滿足其預(yù)先確定的時(shí)間條件。
19.權(quán)利要求9的方法,其中的預(yù)先確定的選擇條件至少是部分地基于這多個(gè)存儲(chǔ)位置每一個(gè)的先前被觀看狀態(tài)。
20.權(quán)利要求19的方法,進(jìn)一步包含通過訪問本地高速緩存來確定這多個(gè)存儲(chǔ)位置每一個(gè)的先前被觀看的狀態(tài)。
21.權(quán)利要求19的方法,進(jìn)一步包含通過訪問本地書簽列表來確定這多個(gè)存儲(chǔ)位置每一個(gè)的先前被觀看狀態(tài)。
22.權(quán)利要求9的方法,其中預(yù)先確定的選擇判據(jù)至少是部分地基于這多個(gè)存儲(chǔ)位置每一個(gè)的相對(duì)普及性。
23.權(quán)利要求22的方法,進(jìn)一步包含通過檢索這多個(gè)存儲(chǔ)位置每一個(gè)的命中指示來確定這多個(gè)存儲(chǔ)位置每一個(gè)的相對(duì)普及性,而且其中選擇選定的存儲(chǔ)位置包括選擇具有最高命中指示的存儲(chǔ)位置作為選定的存儲(chǔ)位置。
24.權(quán)利要求9的方法,其中預(yù)先確定的選擇判據(jù)至少是部分地基于本地用戶設(shè)置。
25.權(quán)利要求24的方法,其中的本地用戶設(shè)置包括指示一預(yù)先確定的語言的語言設(shè)置,而且其中選擇選定的存儲(chǔ)位置包括選擇這樣的存儲(chǔ)位置作為選定的存儲(chǔ)位置,即在這一存儲(chǔ)位置處存儲(chǔ)的文件以這預(yù)先確定的語言向用戶顯示信息。
26.權(quán)利要求24的方法,其中的本地用戶設(shè)置包括指示一預(yù)先確定的字符集的字符集設(shè)置,而且其中選擇選定的存儲(chǔ)位置包括選擇這樣的存儲(chǔ)位置作為選定的存儲(chǔ)位置,即在這一存儲(chǔ)位置處存儲(chǔ)的文檔以這預(yù)先確定的字符集向用戶顯示信息。
27.權(quán)利要求24的方法,其中的本地用戶設(shè)置包括用于觀看被訪問數(shù)據(jù)的瀏覽器程序的能力,以及希望由該瀏覽器程序顯示的版本類型中的至少一個(gè)。
28.權(quán)利要求24的方法,其中的本地用戶設(shè)置包括用戶的技術(shù)水平。
29.權(quán)利要求9的方法,其中預(yù)先確定的選擇判據(jù)至少是部分地基于在這多個(gè)存儲(chǔ)位置之一處存儲(chǔ)的超文本文檔的版本類型。
30.權(quán)利要求29的方法,其中的版本類型是從一組類型中選出的,這組類型包含僅限文本的版本類型、圖形版本類型、Java版本類型、非Java版本類型、腳本版本類型、非腳本版本類型、以及它們的組合。
31.權(quán)利要求9的方法,其中預(yù)先確定的選擇判據(jù)至少是部分地基于預(yù)先確定的上下文判據(jù),它代表收到指向多目標(biāo)鏈接的用戶輸入時(shí)的當(dāng)前上下文關(guān)系。
32.權(quán)利要求31的方法,其中預(yù)先確定的上下文判據(jù)至少是部分地基于這多個(gè)相關(guān)聯(lián)的超文本鏈接每一個(gè)的先前被觀看狀態(tài)。
33.權(quán)利要求32的方法,其中這多個(gè)相關(guān)聯(lián)的超文本鏈接是在當(dāng)前被觀看的超文本文檔中定義的。
34.權(quán)利要求9的方法,其中預(yù)先確定的上下文判據(jù)至少是部分地基于這多個(gè)存儲(chǔ)位置每一個(gè)的被認(rèn)可狀態(tài)。
35.權(quán)利要求34的方法,進(jìn)一步包含通過訪問被認(rèn)可存儲(chǔ)位置列表來確定多個(gè)存儲(chǔ)位置每一個(gè)的被認(rèn)可狀態(tài),而且其中選擇選定的存儲(chǔ)位置包括選擇這樣的存儲(chǔ)位置作為選定的存儲(chǔ)位置,即在這多個(gè)存儲(chǔ)位置中的這個(gè)存儲(chǔ)位置也在被認(rèn)可存儲(chǔ)位置列表中被發(fā)現(xiàn)。
36.權(quán)利要求35中的方法,其中的被認(rèn)可存儲(chǔ)位置列表由一個(gè)第三方維持。
37.權(quán)利要求35的方法,其中被認(rèn)可存儲(chǔ)位置列表包括至少一個(gè)通配符條件,而且其中選擇選定的存儲(chǔ)位置進(jìn)一步包括通過將預(yù)先確定的存儲(chǔ)位置與該通配符條目比較來確定在這個(gè)被認(rèn)可存儲(chǔ)位置列表中發(fā)現(xiàn)了這個(gè)預(yù)先確定的存儲(chǔ)位置。
38.權(quán)利要求34的方法,進(jìn)一步包含通過訪問不被認(rèn)可存儲(chǔ)位置列表來確定這多個(gè)存儲(chǔ)位置每一個(gè)的被認(rèn)可狀態(tài),而且其中選擇選定的存儲(chǔ)位置包括禁止選擇這多個(gè)存儲(chǔ)位置中任何也在不被認(rèn)可存儲(chǔ)位置列表中發(fā)現(xiàn)的存儲(chǔ)位置。
39.權(quán)利要求9的方法,其中這多個(gè)存儲(chǔ)位置被組織到一個(gè)預(yù)先確定的序列中,而且其中選擇選定的存儲(chǔ)位置包括預(yù)先確定的序列中的下一個(gè)存儲(chǔ)位置作為選定的存儲(chǔ)位置。
40.權(quán)利要求39的方法,其中選擇一個(gè)存儲(chǔ)位置作為選定的存儲(chǔ)位置進(jìn)一步包括選擇這預(yù)先確定的序列中的第一個(gè)存儲(chǔ)位置作為選定的存儲(chǔ)位置,如果在這預(yù)先確定的序列中不存在下一個(gè)存儲(chǔ)位置的話。
41.權(quán)利要求9的方法,其中這多個(gè)存儲(chǔ)位置被組織到一個(gè)預(yù)先確定的序列中,該方法進(jìn)一步包含響應(yīng)用戶輸入順序地訪問這預(yù)先確定的序列中每個(gè)存儲(chǔ)位置處的數(shù)據(jù)。
42.權(quán)利要求41的方法,其中的多目標(biāo)鏈接是在第一超文本文檔中定義,其中對(duì)每個(gè)存儲(chǔ)位置處數(shù)據(jù)的順序訪問是響應(yīng)用戶要返回第一超文本文檔的輸入而完成的。
43.權(quán)利要求1的方法,進(jìn)一步包含訪問多個(gè)存儲(chǔ)位置中每個(gè)其余存儲(chǔ)位置處存儲(chǔ)的數(shù)據(jù)。
44.權(quán)利要求1的方法,進(jìn)一步包含(a)顯示該多目標(biāo)鏈接的顯示表現(xiàn);以及(b)在顯示表現(xiàn)上指示多個(gè)存儲(chǔ)位置中已訪問其數(shù)據(jù)的存儲(chǔ)位置所占的百分率。
45.權(quán)利要求44的方法,其中指示多個(gè)存儲(chǔ)位置中已訪問其數(shù)據(jù)的存儲(chǔ)位置所占的百分率包含顯示一個(gè)條形,該條形有看起來清楚區(qū)分的第一區(qū)和第二區(qū),兩區(qū)沿共同軸線彼此毗連,其第一區(qū)和第二區(qū)的相對(duì)長度分別指示已訪問其數(shù)據(jù)的多個(gè)存儲(chǔ)位置所占的百分率和尚未訪問其數(shù)據(jù)的多個(gè)存儲(chǔ)位置所占的百分率。
46.權(quán)利要求45的方法,進(jìn)一步包含響應(yīng)用戶指向該條形的輸入,顯示這多個(gè)存儲(chǔ)位置的列表。
47.權(quán)利要求1的方法,進(jìn)一步包含在一個(gè)直接訪問列表中顯示至少是這多個(gè)存儲(chǔ)位置一部分的顯示表現(xiàn),其中對(duì)選定存儲(chǔ)位置處數(shù)據(jù)的訪問是響應(yīng)指向該選定存儲(chǔ)位置的顯示表現(xiàn)的用戶輸入而完成的。
48.訪問一超文本文檔的方法,包含(a)在計(jì)算機(jī)顯示器上顯示至少是第一超文本文檔一部分的顯示表現(xiàn);(b)在計(jì)算機(jī)顯示器上顯示第一超文本文檔中定義的多目標(biāo)超文本鏈接的顯示表現(xiàn),該多目標(biāo)鏈接標(biāo)識(shí)與其關(guān)聯(lián)的多個(gè)統(tǒng)一資源定位器(URL);以及(c)響應(yīng)指向該多目標(biāo)超文本鏈接的顯示表現(xiàn)的用戶輸入(1)根據(jù)預(yù)先確定的選擇判據(jù),選擇這多個(gè)URL中的至少一個(gè);以及(2)導(dǎo)航到這選定的URL。
49.訪問一超文本文檔的方法,包含(a)在書簽列表中顯示多個(gè)書簽的至少一部分的顯示表現(xiàn),這多個(gè)書簽包括一個(gè)標(biāo)識(shí)與其關(guān)聯(lián)的多個(gè)統(tǒng)一資源定位器的多目標(biāo)書簽;以及(b)響應(yīng)指向這多目標(biāo)書簽的顯示表現(xiàn)的用戶輸入(1)根據(jù)預(yù)先確定的判據(jù)選擇這多個(gè)URL中的至少一個(gè);以及(2)導(dǎo)航到這選定的URL。
50.一種裝置,包含(a)存儲(chǔ)器;(b)駐留在存儲(chǔ)器中的多目標(biāo)鏈接,該多目標(biāo)鏈接標(biāo)識(shí)與其關(guān)聯(lián)的多個(gè)存儲(chǔ)位置;以及(c)駐留在存儲(chǔ)器中的程序,該程序被配置成響應(yīng)指向該多目標(biāo)鏈接的用戶輸入,去訪問這多個(gè)存儲(chǔ)位置中選定一個(gè)處存儲(chǔ)的數(shù)據(jù)。
51.權(quán)利要求50的裝置,其中的多目標(biāo)鏈接是由多目標(biāo)超文本鏈接定義在一超文本文檔中定義的。
52.權(quán)利要求50的裝置,其中的多目標(biāo)鏈接是在一個(gè)書簽列表中的多個(gè)書簽之一中定義的。
53.權(quán)利要求50的裝置,其中的程序被配置成通過檢索存儲(chǔ)在選定存儲(chǔ)位置的超文本文檔來訪問該選定存儲(chǔ)位置處的數(shù)據(jù)。
54.權(quán)利要求50的裝置,其中的程序被配置成通過嘗試訪問多個(gè)存儲(chǔ)位置中的第一存儲(chǔ)位置處的數(shù)據(jù)來訪問選定存儲(chǔ)位置處存儲(chǔ)的數(shù)據(jù),而且如果對(duì)第一存儲(chǔ)位置處的數(shù)據(jù)訪問嘗試不成功的話,則在其后嘗試訪問這多個(gè)存儲(chǔ)位置中的第二存儲(chǔ)位置處的數(shù)據(jù)。
55.權(quán)利要求50的裝置,其中的程序被配置成根據(jù)預(yù)先確定的選擇判據(jù)從這多個(gè)存儲(chǔ)位置中選擇選定的存儲(chǔ)位置。
56.權(quán)利要求55的裝置,其中預(yù)先確定的選擇判據(jù)至少是部分地基于分別存儲(chǔ)在多個(gè)存儲(chǔ)位置處的文檔的相對(duì)訪問時(shí)間。
57.權(quán)利要求55的裝置,其中預(yù)先確定的選擇判據(jù)至少是部分地基于分別存儲(chǔ)在這多個(gè)存儲(chǔ)位置處的文檔的相對(duì)大小。
58.權(quán)利要求55的裝置,其中預(yù)先確定的選擇判據(jù)至少是部分地基于分別存儲(chǔ)在這多個(gè)存儲(chǔ)位置處的文檔的相對(duì)年齡。
59.權(quán)利要求55的裝置,其中預(yù)先確定的選擇判據(jù)至少是部分地基于一預(yù)先確定的時(shí)間判據(jù)。
60.權(quán)利要求55的裝置,其中預(yù)先確定的選擇判據(jù)至少是部分地基于這多個(gè)存儲(chǔ)位置每一個(gè)的先前被觀看狀態(tài)。
61.權(quán)利要求55的裝置,其中預(yù)先確定的選擇判據(jù)至少是部分地基于這多個(gè)存儲(chǔ)位置每一個(gè)的相對(duì)普及性。
62.權(quán)利要求55的裝置,其中預(yù)先確定的選擇判據(jù)至少是部分地基于本地用戶設(shè)置。
63.權(quán)利要求62的裝置,其中的本地用戶設(shè)置包括指示一預(yù)先確定的語言的語言設(shè)置、指示預(yù)先確定的字符集的字符集設(shè)置、用于觀看被訪問數(shù)據(jù)的瀏覽器程序的能力、希望由瀏覽器程序顯示的版本類型以及用戶技術(shù)水平這些設(shè)置中的至少一個(gè)。
64.權(quán)利要求55的裝置,其中預(yù)先確定的選擇判據(jù)至少是部分地基于在這多個(gè)存儲(chǔ)位置之一處存儲(chǔ)的超文本文檔的版本類型。
65.權(quán)利要求55的裝置,其中預(yù)先確定的選擇判據(jù)至少是部分地基于預(yù)先確定的上下文判據(jù),它代表收到指向多目標(biāo)鏈接的用戶輸入時(shí)的當(dāng)前上下文關(guān)系。
66.權(quán)利要求55的裝置,其中預(yù)先確定的上下文判據(jù)至少是部分地基于這多個(gè)存儲(chǔ)位置每一個(gè)的被認(rèn)可狀態(tài)。
67.權(quán)利要求55的裝置,其中這多個(gè)存儲(chǔ)位置被組織到一個(gè)預(yù)先確定的序列中,而且其中的程序被配置成通過選擇這預(yù)先確定的序列中的下一個(gè)存儲(chǔ)位置來選擇選定的存儲(chǔ)位置。
68.權(quán)利要求55的裝置,其中這多個(gè)存儲(chǔ)位置被組織到一個(gè)預(yù)先確定的序列中,該程序進(jìn)一步被配置成響應(yīng)用戶輸入順序地訪問這預(yù)先確定的序列中每個(gè)存儲(chǔ)位置處的數(shù)據(jù)。
69.權(quán)利要求50的裝置,其中該程序進(jìn)一步被配置成訪問這多個(gè)存儲(chǔ)位置中每個(gè)其余存儲(chǔ)位置處存儲(chǔ)的數(shù)據(jù)。
70.權(quán)利要求50的裝置,其中該程序進(jìn)一步被配置成顯示該多目標(biāo)鏈接的顯示表現(xiàn),并在該顯示表現(xiàn)上指示已從中訪問過數(shù)據(jù)的多個(gè)存儲(chǔ)位置所占的百分率。
71.權(quán)利要求50的裝置,其中該程序進(jìn)一步被配置成在直接訪問列表中顯示這多個(gè)存儲(chǔ)位置中至少一部分存儲(chǔ)位置的顯示表現(xiàn),并響應(yīng)指向選定存儲(chǔ)位置的顯示表現(xiàn)的用戶輸入,訪問選定存儲(chǔ)位置處的數(shù)據(jù)。
72.一種程序產(chǎn)品,包含(a)一個(gè)程序,被配置成接收指向一多目標(biāo)鏈接的用戶輸入,該多目標(biāo)鏈接標(biāo)識(shí)多個(gè)與其關(guān)聯(lián)的存儲(chǔ)位置,并且響應(yīng)該用戶輸入,訪問這多個(gè)存儲(chǔ)位置中選定一個(gè)處存儲(chǔ)的數(shù)據(jù);以及(b)承載該程序的信號(hào)承載介質(zhì)。
73.權(quán)利要求72的程序產(chǎn)品,其中的信號(hào)承載介質(zhì)包含可記錄介質(zhì)和傳輸型介質(zhì)中的至少一個(gè)。
74.產(chǎn)生超文本文檔的方法,該方法包含(a)編寫一個(gè)超文本文檔;以及(b)在該超文本文檔中嵌入一多目標(biāo)超文本鏈接定義,該多目標(biāo)超文本鏈接定義標(biāo)識(shí)與其關(guān)聯(lián)的多個(gè)存儲(chǔ)位置。
75.一種程序產(chǎn)品,包含(a)一個(gè)超文本文檔,該超文本文檔有至少一個(gè)多目標(biāo)超文本鏈接定義嵌入其中,該多目標(biāo)超文本鏈接定義標(biāo)識(shí)與其關(guān)聯(lián)的多個(gè)存儲(chǔ)位置;以及(b)承載該超文本文檔的信號(hào)承載介質(zhì)。
全文摘要
一種裝置、程序產(chǎn)品和方法利用多目標(biāo)鏈接有選擇地訪問與該鏈接關(guān)聯(lián)的多個(gè)存儲(chǔ)位置中的一個(gè)或多個(gè)處的數(shù)據(jù)。這樣,當(dāng)用戶(33)啟動(dòng)一個(gè)特定的多目標(biāo)鏈接時(shí),在不同的環(huán)境中一個(gè)請(qǐng)求可能被發(fā)送到不同的存儲(chǔ)位置,而不是象利用傳統(tǒng)的超文本鏈接和書簽時(shí)所發(fā)生的那樣將請(qǐng)求發(fā)送到同一個(gè)單一存儲(chǔ)位置。一個(gè)多目標(biāo)鏈接可以作為由嵌入一超文本文檔的超文本鏈接定義所定義的超文本鏈接來實(shí)現(xiàn),或者作為書簽(42)用于用戶的定制書簽列表中。再有,對(duì)于多目標(biāo)鏈接,可以從一個(gè)或多個(gè)存儲(chǔ)位置訪問各種類型的數(shù)據(jù),包括超文本文檔、文件等。
文檔編號(hào)G06F17/30GK1323423SQ99812303
公開日2001年11月21日 申請(qǐng)日期1999年2月18日 優(yōu)先權(quán)日1998年10月19日
發(fā)明者卡里·L·貝茨, 保羅·R·戴 申請(qǐng)人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1