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

計(jì)算機(jī)間傳輸?shù)臄?shù)據(jù)的動(dòng)態(tài)代碼轉(zhuǎn)換系統(tǒng)的制作方法

文檔序號:6415682閱讀:279來源:國知局
專利名稱:計(jì)算機(jī)間傳輸?shù)臄?shù)據(jù)的動(dòng)態(tài)代碼轉(zhuǎn)換系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明要求1997年3月25日提交的美國臨時(shí)專利申請60/041,366號的權(quán)益。
本發(fā)明總體涉及個(gè)人計(jì)算機(jī)(PC)的數(shù)據(jù)通信的領(lǐng)域,特別是涉及一種用于在通信鏈路上的兩個(gè)計(jì)算機(jī)之間傳輸?shù)臄?shù)據(jù)的進(jìn)行動(dòng)態(tài)代碼轉(zhuǎn)換的系統(tǒng)。
因特網(wǎng)正在迅速地變成從個(gè)人到大型跨國公司的各類計(jì)算機(jī)用戶首選的數(shù)據(jù)通信媒體。這類用戶現(xiàn)在例行地利用因特網(wǎng)來訪問信息,傳播信息,電子通訊,甚至進(jìn)行個(gè)人開會(huì)。越來越多的個(gè)人、組織和商家通過萬維網(wǎng)(WWW)上的“web頁”在因特網(wǎng)上建立了存在。
由于各種各樣的原因,要求對在本地客戶計(jì)算機(jī)和網(wǎng)絡(luò)服務(wù)器計(jì)算機(jī)之間傳輸?shù)臄?shù)據(jù)進(jìn)行操作。例如在某些情況下把從因特網(wǎng)服務(wù)器計(jì)算機(jī)檢索的內(nèi)容進(jìn)行動(dòng)態(tài)增加、修改或刪除之后再提供給客戶計(jì)算機(jī)可能是有益的。反過來,對來自客戶計(jì)算機(jī)的內(nèi)容請求進(jìn)行修改之后再將請求傳送給因特網(wǎng)服務(wù)器計(jì)算機(jī)是有益的。盡管需要這類對請求和響應(yīng)的動(dòng)態(tài)操作,期待廣泛的因特網(wǎng)基礎(chǔ)結(jié)構(gòu)迅速改變以適應(yīng)這種新功能卻是不實(shí)際的。出于這個(gè)原因,需要以某種不要求改變現(xiàn)有客戶計(jì)算機(jī)或因特網(wǎng)服務(wù)器計(jì)算機(jī)的方式來實(shí)現(xiàn)這類新功能。
已知部署一個(gè)代理服務(wù)器或網(wǎng)絡(luò)代理,作為一個(gè)或多個(gè)客戶計(jì)算機(jī)與諸如因特網(wǎng)的外部網(wǎng)絡(luò)之間的中介。在Ian S.Graham的《HTMLSource BookAComplete Guide to HTML 3.0》(第二版,1996)中有對網(wǎng)絡(luò)代理的一般性描述。代理服務(wù)器的一個(gè)通常應(yīng)用是所謂的“防火墻”,其中代理服務(wù)器負(fù)責(zé)與外部世界的所有通信。換言之,本地設(shè)備不允許直接與諸如因特網(wǎng)服務(wù)器的外部網(wǎng)絡(luò)計(jì)算機(jī)進(jìn)行通信。相反,每個(gè)本地設(shè)備向代理服務(wù)器發(fā)送對網(wǎng)絡(luò)駐留數(shù)據(jù)的請求。當(dāng)代理服務(wù)器接到這種請求時(shí),它將請求傳遞給適當(dāng)?shù)耐獠坑?jì)算機(jī),接收外部計(jì)算機(jī)的應(yīng)答,然后將應(yīng)答傳遞給本地設(shè)備。外部計(jì)算機(jī)不知道本地設(shè)備。這樣,本地設(shè)備就受到保護(hù),免于諸如非授權(quán)訪問的潛在危險(xiǎn)。
現(xiàn)有代理服務(wù)器不對通過它們傳送的數(shù)據(jù)進(jìn)行操作。實(shí)質(zhì)上,代理服務(wù)器僅僅是請求和應(yīng)答的盲目通道?,F(xiàn)有代理服務(wù)器的這些局限限制了這些設(shè)備在方便本地設(shè)備與網(wǎng)絡(luò)設(shè)備之間通信方面的充分利用。因此需要一種所謂的“智能”代理,這種代理能檢查通過它的數(shù)據(jù)是要發(fā)往外部網(wǎng)絡(luò)設(shè)備的請求還是返回給本地設(shè)備的網(wǎng)絡(luò)內(nèi)容,并動(dòng)態(tài)地對數(shù)據(jù)操作。這種設(shè)備可用于透明地提供各種迄今為止如果不改變現(xiàn)有因特網(wǎng)基礎(chǔ)結(jié)構(gòu)就不可能的服務(wù)。
本發(fā)明的實(shí)施例涉及用于對在計(jì)算機(jī)間—諸如網(wǎng)絡(luò)服務(wù)器計(jì)算機(jī)與網(wǎng)絡(luò)客戶計(jì)算機(jī)間傳輸?shù)男畔⑦M(jìn)行代碼轉(zhuǎn)換的設(shè)備、系統(tǒng)和方法。
按照一個(gè)實(shí)施例,一種用于對在通信鏈路上的網(wǎng)絡(luò)服務(wù)器與網(wǎng)絡(luò)客戶機(jī)之間傳輸?shù)臄?shù)據(jù)進(jìn)行代碼轉(zhuǎn)換的裝置包括有一個(gè)與代碼轉(zhuǎn)換服務(wù)提供器連接的分析器。分析器被配置成根據(jù)預(yù)定的選擇標(biāo)準(zhǔn)選擇性地調(diào)用代碼轉(zhuǎn)換服務(wù)提供器。


圖1是表示本發(fā)明實(shí)施例可以應(yīng)用的環(huán)境的示意圖。
圖2是表示按照本發(fā)明的實(shí)施例的代碼轉(zhuǎn)換器模塊的示意圖。
圖3是表示用于非使能的網(wǎng)絡(luò)客戶機(jī)的本發(fā)明實(shí)施例的示意圖。
圖4是表示一例向非使能的網(wǎng)絡(luò)客戶機(jī)提供控制代碼轉(zhuǎn)換的功能的用戶界面的示意圖。
圖5是表示用于使能的網(wǎng)絡(luò)客戶機(jī)的本發(fā)明實(shí)施例的示意圖。
圖6是表示按照本發(fā)明實(shí)施例在瀏覽器中集成了代碼轉(zhuǎn)換功能的網(wǎng)絡(luò)客戶機(jī)的示意圖。
圖7-9是表示按照本發(fā)明實(shí)施例向網(wǎng)絡(luò)客戶機(jī)提供所請求的URL對象的流圖。
本發(fā)明的實(shí)施例提供對在例如網(wǎng)絡(luò)服務(wù)器計(jì)算機(jī)與網(wǎng)絡(luò)客戶計(jì)算機(jī)之間傳輸?shù)男畔⑦M(jìn)行動(dòng)態(tài)代碼轉(zhuǎn)換的功能。本文中所用“代碼轉(zhuǎn)換”一詞適用于對數(shù)據(jù)的幾乎任何操作,包括但不限于增加、修改或刪除數(shù)據(jù)。
現(xiàn)在參看圖1,該圖表示可有利地應(yīng)用本發(fā)明實(shí)施例環(huán)境。網(wǎng)絡(luò)服務(wù)器計(jì)算機(jī)10管理著從因特網(wǎng)18向網(wǎng)絡(luò)客戶機(jī)12的數(shù)據(jù)傳輸。網(wǎng)絡(luò)客戶機(jī)12可以是任何有適當(dāng)?shù)臄?shù)據(jù)通信功能的計(jì)算機(jī)。
網(wǎng)絡(luò)客戶機(jī)12在客戶機(jī)/服務(wù)器通信鏈路14上向網(wǎng)絡(luò)服務(wù)器10發(fā)送信息請求或從網(wǎng)絡(luò)服務(wù)器計(jì)算機(jī)10接收信息??蛻魴C(jī)/服務(wù)器通信鏈路14可包含例如一個(gè)使用例如POTS(簡易老式電話系統(tǒng))撥號技術(shù)或者無線連接的所謂“慢網(wǎng)絡(luò)”?;蛘?,客戶機(jī)/服務(wù)器通信鏈路14也可包含一個(gè)所謂的“快網(wǎng)絡(luò)”,諸如LAN或WAN(寬域網(wǎng)),后者能以比慢網(wǎng)絡(luò)更可能快的速度操作。這些存取方法的組合也是可能的。例如,網(wǎng)絡(luò)客戶機(jī)12可以用POTS或無線撥號連接,其中無線撥號連接與ISP(因特網(wǎng)服務(wù)提供商)維護(hù)的調(diào)制解調(diào)器組連接,后者又連接到LAN上的網(wǎng)絡(luò)服務(wù)器10。網(wǎng)絡(luò)服務(wù)器10通過服務(wù)器/網(wǎng)絡(luò)通信鏈路16與因特網(wǎng)18上駐留的計(jì)算機(jī)通信,其中服務(wù)器/網(wǎng)絡(luò)通信鏈路16可包含該領(lǐng)域已知的任何適合的通信介質(zhì)。
如圖2中所示,按照本發(fā)明的第一個(gè)一般實(shí)施例,代碼轉(zhuǎn)換器20包括一個(gè)分析器22和多個(gè)代碼轉(zhuǎn)換服務(wù)提供器24。分析器22被配置成對由代碼轉(zhuǎn)換器20所接收的數(shù)據(jù)進(jìn)行操作,這種數(shù)據(jù)諸如是由客戶設(shè)備生成的對網(wǎng)絡(luò)對象的請求,或者是由內(nèi)容服務(wù)器設(shè)備提供的對這種請求的回答。在這個(gè)特定實(shí)施例中,分析器22負(fù)責(zé)根據(jù)預(yù)定的選擇標(biāo)準(zhǔn)選擇性地調(diào)用一個(gè)或多個(gè)代碼轉(zhuǎn)換服務(wù)提供器24。
代碼轉(zhuǎn)換器20可以以例如在網(wǎng)絡(luò)代理中、客戶設(shè)備中、網(wǎng)絡(luò)服務(wù)設(shè)備中或內(nèi)容服務(wù)器設(shè)備中安裝的軟件模塊來實(shí)現(xiàn)。在圖3中所表示的一個(gè)特定實(shí)施例中,代碼轉(zhuǎn)換器20安裝在位于網(wǎng)絡(luò)客戶機(jī)12和因特網(wǎng)18之間的遠(yuǎn)程代碼轉(zhuǎn)換服務(wù)器34中。代碼轉(zhuǎn)換服務(wù)器34可以包含網(wǎng)絡(luò)服務(wù)器、與網(wǎng)絡(luò)服務(wù)器通信的獨(dú)立計(jì)算機(jī)或分布式計(jì)算機(jī)系統(tǒng),或者是網(wǎng)絡(luò)服務(wù)器、與網(wǎng)絡(luò)服務(wù)器通信的獨(dú)立計(jì)算機(jī)或分布式計(jì)算機(jī)系統(tǒng)的一部分。遠(yuǎn)程代碼轉(zhuǎn)換服務(wù)器34可以連接到例如ISP的網(wǎng)絡(luò)、企業(yè)網(wǎng)或者因特網(wǎng)18上的任何位置,可以向多個(gè)用戶(即客戶機(jī))提供獲取因特網(wǎng)18上內(nèi)容的工具。
在圖3中所表示的特定實(shí)施例中,代碼轉(zhuǎn)換服務(wù)器34包括一個(gè)HTTP(超文本傳輸協(xié)議)遠(yuǎn)程代理36,它能在服務(wù)器/網(wǎng)絡(luò)通信鏈路16上訪問因特網(wǎng)18。HTTP遠(yuǎn)程代理36與已知的網(wǎng)絡(luò)代理不同,后者一般只不過是向外部因特網(wǎng)資源發(fā)送的請求和來自外部因特網(wǎng)資源的回答的一種通道,前者不僅能檢查這類請求和回答,也能針對請求中的命令進(jìn)行操作—例如確定是否對內(nèi)容代碼轉(zhuǎn)換。此外,使用了代碼轉(zhuǎn)換器20,遠(yuǎn)程代理36就能先改變從因特網(wǎng)18所接收的內(nèi)容,再將其返回給發(fā)出請求的網(wǎng)絡(luò)客戶機(jī)12,這在下文有進(jìn)一步的介紹。
更仔細(xì)地考察圖3中的實(shí)施例,代碼轉(zhuǎn)換器20是與HTTP遠(yuǎn)程代理36相連的。分析器22管理著對要從代碼轉(zhuǎn)換服務(wù)器34向網(wǎng)絡(luò)客戶機(jī)12傳輸?shù)臄?shù)據(jù)的代碼轉(zhuǎn)換。為此,分析器22控制代碼轉(zhuǎn)換服務(wù)提供器24根據(jù)預(yù)定的選擇標(biāo)準(zhǔn)選擇性地對內(nèi)容進(jìn)行代碼轉(zhuǎn)換。例如,一個(gè)或多個(gè)代碼轉(zhuǎn)換服務(wù)提供器24可以提供對不同類型的數(shù)據(jù)內(nèi)容—諸如圖象、視頻或HTML(超文本標(biāo)記語言)—進(jìn)行壓縮和/或縮放的功能。這類用法在下面兩個(gè)待定美國專利申請中有進(jìn)一步的說明系列號08/772,164,標(biāo)題“System for Enhancing Data Access Overa Communications Link”,申請日1996年12月20日;系列號08/799,654,標(biāo)題“Method and Apparatus for Scaling ImageData”,申請日1997年2月11日。這兩個(gè)申請的受讓人均為英特爾公司。出于解釋本發(fā)明的某些特點(diǎn)的目的,下文的許多實(shí)施例都是就內(nèi)容縮放/壓縮來描述的。然而前文說過,代碼轉(zhuǎn)換服務(wù)提供器24可以提供各種各樣的代碼轉(zhuǎn)換功能。
如圖3所示,代碼轉(zhuǎn)換服務(wù)器34也可以包括有一個(gè)由服務(wù)器側(cè)高速緩存接口28管理的服務(wù)器側(cè)高速緩沖存儲(chǔ)器30。服務(wù)器側(cè)高速緩沖存儲(chǔ)器30可用于存儲(chǔ)原始的和代碼轉(zhuǎn)換后的內(nèi)容,以便以后無需從因特網(wǎng)18再檢索該內(nèi)容或再代碼轉(zhuǎn)換該內(nèi)容就能傳輸給網(wǎng)絡(luò)客戶機(jī)12。
代碼轉(zhuǎn)換服務(wù)器34是通過客戶機(jī)/服務(wù)器通信鏈路14與網(wǎng)絡(luò)客戶機(jī)12相連的。網(wǎng)絡(luò)客戶機(jī)12包括一個(gè)瀏覽器,諸如NetscapeNavigator 3.0版的瀏覽器(不過本發(fā)明在這方面沒有限定),瀏覽器管理著向用戶的數(shù)據(jù)提交。在這個(gè)實(shí)施例中,網(wǎng)絡(luò)客戶機(jī)12是“非使能的”,即網(wǎng)絡(luò)客戶機(jī)12上沒有預(yù)先裝載專業(yè)代碼轉(zhuǎn)換軟件。
分析器22可以包含相對簡單的、連接HTTP遠(yuǎn)程代理36的統(tǒng)一接口,并可以提供API(應(yīng)用程序設(shè)計(jì)接口),用于對由HTTP遠(yuǎn)程代理36所接收數(shù)據(jù)進(jìn)行代碼轉(zhuǎn)換。分析器22管理一個(gè)或多個(gè)被通過公用SPI(服務(wù)提供器接口)訪問的代碼轉(zhuǎn)換服務(wù)提供器24。在這個(gè)特定實(shí)施例中,分析器22是依照視窗開放式系統(tǒng)體系結(jié)構(gòu)(WOSA)設(shè)計(jì)的,可以以Win32 DLL(動(dòng)態(tài)鏈接庫)來實(shí)現(xiàn)。在《Readings onMicrosoft Windows and WOSA》(微軟公司,1995)中描述的WOSA體系結(jié)構(gòu),使得能將更多的代碼轉(zhuǎn)換服務(wù)提供器24動(dòng)態(tài)添加到系統(tǒng),以提供新的特征和/或更好的代碼轉(zhuǎn)換算法,同時(shí)還不要求改變或重新測試系統(tǒng)中的其它軟件部件。這個(gè)特點(diǎn)在代碼轉(zhuǎn)換服務(wù)器34也與配備了專業(yè)代碼轉(zhuǎn)換軟件的“使能的”網(wǎng)絡(luò)客戶機(jī)交互作用時(shí)特別有益。應(yīng)當(dāng)注意的是,下面說明的分析器22的有些特點(diǎn)并不適用于圖3的非使能的客戶機(jī)實(shí)施例。不過,將代碼轉(zhuǎn)換服務(wù)器34配置得足夠靈活,能處理來自非使能的和使能的網(wǎng)絡(luò)客戶機(jī)的請求,是有好處的。
與分析器22一樣,服務(wù)器側(cè)高速緩存接口28可以按照標(biāo)準(zhǔn)的Get/Set接口的模型來構(gòu)造。服務(wù)器側(cè)高速緩沖存儲(chǔ)器30幾乎“擁有”所有高速緩存對象,因?yàn)樗芾碇鴮ο蟮奶匦院痛鎯?chǔ),并且隨時(shí)可以使任何非鎖定的對象無效。然而,任何給定高速緩存對象的實(shí)際格式只為分析器22及其關(guān)聯(lián)的代碼轉(zhuǎn)換服務(wù)提供器24所知。所以,出于數(shù)據(jù)完整性和代碼轉(zhuǎn)換效率的目的,在這個(gè)實(shí)施例中對服務(wù)器側(cè)高速緩沖存儲(chǔ)器30的所有訪問都要通過分析器22。
服務(wù)器側(cè)高速緩存接口28可以包括下列調(diào)用CreateEntry(URL,&Entry,…);GetEntry(URL,&Entry);CreateStream(Entry,&StreamEntry,…);GetStream(Entry,&StreamEntry,…);CloseEntry(Entry);CloseStreamEntry(StreamEntry);GerProperties(Entry,&Properties…);SetProperties(Entry,&Properties,…);Read(StreamEntry,&OutStream,…);Write(StreamEntry,&Instream,…)。
與大多數(shù)高速緩存不同的是,服務(wù)器側(cè)高速緩存接口28和服務(wù)器側(cè)高速緩沖存儲(chǔ)器30使得能維護(hù)某給定高速緩存對象的多個(gè)表示,其中關(guān)于每個(gè)表示的描述信息被包括在服務(wù)器側(cè)高速緩沖存儲(chǔ)器30中。此外,服務(wù)器側(cè)高速緩存接口28和服務(wù)器側(cè)高速緩沖存儲(chǔ)器30還起著對高速緩存對象的多線程訪問的同步點(diǎn)的作用。應(yīng)當(dāng)注意的是,所示實(shí)施例不要求為服務(wù)器側(cè)高速緩存接口28和/或服務(wù)器側(cè)高速緩沖存儲(chǔ)器30作任何特定的配置。實(shí)際上,起因于本文所述各種實(shí)施例的這些部件的功能完全可以在其它系統(tǒng)部件中實(shí)現(xiàn)。
CreateEntry()調(diào)用為特定超文本對象創(chuàng)建并返回一個(gè)高速緩存項(xiàng)。這個(gè)調(diào)用也為超文本對象的原始版本創(chuàng)建一個(gè)項(xiàng)流(entrystream)。類似地,GetEntry()調(diào)用也為在高速緩沖存儲(chǔ)器30中已經(jīng)存在的超文本對象獲得一個(gè)高速緩存項(xiàng)。Createentry()和GetEntry()調(diào)用二者在關(guān)聯(lián)的高速緩存對象上設(shè)鎖,直到調(diào)用了CloseEntry()調(diào)用。一旦設(shè)鎖,高速緩存對象將不能由高速緩存接口28置換或使之無效,使一個(gè)或多個(gè)代碼轉(zhuǎn)換服務(wù)提供器24能安全地進(jìn)行任何要求的高速緩存操作,諸如對象檢索和/或存儲(chǔ)。
高速緩存項(xiàng)被CreateEntry()或GetEntry()調(diào)用創(chuàng)建或打開后,CreateStream()或GetStream()調(diào)用就可以分別為該高速緩存對象創(chuàng)建或打開一個(gè)另外的流項(xiàng)。每個(gè)另外流項(xiàng)都與超文本對象的不同代碼轉(zhuǎn)換版本關(guān)聯(lián),后者可以由其中一個(gè)代碼轉(zhuǎn)換服務(wù)提供器24檢索或附接。對高速緩存對象的基于流的處理使得代碼轉(zhuǎn)換服務(wù)器34有可能開始將超文本對象的代碼轉(zhuǎn)換版本傳輸給發(fā)出請求的網(wǎng)絡(luò)客戶機(jī)12—即使代碼轉(zhuǎn)換服務(wù)提供器24正在向該同一版本附加另外的代碼轉(zhuǎn)換內(nèi)容。這種基于流的處理的優(yōu)點(diǎn)包括通過對象的遞增描繪而減少用戶等待時(shí)間以及避免客戶機(jī)/服務(wù)器通信鏈路14上不必要的空閑時(shí)間,由此給用戶以更加靈敏的“感覺”。
GetProperties()和SetProperties()調(diào)用檢索并存儲(chǔ)關(guān)于高速緩存對象的信息,包括由代碼轉(zhuǎn)換服務(wù)提供器24保持的、用于確定高速緩存對象的代碼轉(zhuǎn)換特性和代碼轉(zhuǎn)換狀態(tài)的信息。代碼轉(zhuǎn)換服務(wù)提供器24可以用這類信息來例如為縮放數(shù)據(jù)訪問和分級精細(xì)化確定當(dāng)前的壓縮進(jìn)度。
Read()調(diào)用從指定的高速緩存對象數(shù)據(jù)流讀取數(shù)據(jù)。例如,代碼轉(zhuǎn)換服務(wù)提供器24可調(diào)用這個(gè)調(diào)用,使流數(shù)據(jù)穿過HTTP遠(yuǎn)程代理36直接到達(dá)網(wǎng)絡(luò)客戶機(jī)12。Write()調(diào)用將來自新的HTTP數(shù)據(jù)流的數(shù)據(jù)存入高速緩存。這個(gè)調(diào)用將把例如從Web服務(wù)器或代碼轉(zhuǎn)換服務(wù)提供器24接收的某個(gè)輸入數(shù)據(jù)流,附加到一個(gè)可能是用Read()調(diào)用并發(fā)讀取的打開的高速緩存流。
在本實(shí)施例中,分析器22包括下列調(diào)用GetObject(URL,InParams,&OutParams,&OutStreams,…);
GetScaledObject(URL,InParams,&OutParams,&OutStreams,Stage,…);PutObject(URL,InParamStruct,&InStream,&OutParams,&OutStreams,…);如下所述,分析器22用這些調(diào)用管理將所請求內(nèi)容向網(wǎng)絡(luò)客戶機(jī)12的提供。
GetObject()調(diào)用用于服務(wù)非使能的客戶機(jī)請求,返回指定超文本對象的非代碼轉(zhuǎn)換(即原始)版本。在這個(gè)實(shí)施例中,代碼轉(zhuǎn)換服務(wù)器34假設(shè)每個(gè)HTTP請求都有一個(gè)獨(dú)有的線程,這種線程可以被阻塞,直到請求得到滿足。相應(yīng)地,GetObject()調(diào)用將要阻塞,直到要么它返回所請求的數(shù)據(jù)流,要么指出故障原因(例如對象不存在)。這個(gè)返回所謂標(biāo)準(zhǔn)超文本對象的能力由于兼容性原因是有利的,使本發(fā)明的實(shí)施例能用于現(xiàn)有的不支持某些代碼轉(zhuǎn)換功能(例如高級數(shù)據(jù)壓縮)的瀏覽器,使用戶能有選擇地檢索非代碼轉(zhuǎn)換的版本。
GetScaledObject()調(diào)用與GetObject()類似,也用于向服務(wù)器側(cè)高速緩沖存儲(chǔ)器30請求對象;然而,它增加了對請求該對象的特定版本—諸如高質(zhì)量再生—的支持。與傳統(tǒng)的高速緩存代理不同的是,代碼轉(zhuǎn)換服務(wù)提供器24能用服務(wù)器側(cè)高速緩沖存儲(chǔ)器30來存儲(chǔ)某對象的若干不同版本,以支持具有不同通信和/或表示功能的客戶機(jī)。所以,可以用附加的“級”參數(shù)來指示要將高速緩存對象的哪個(gè)版本返回給網(wǎng)絡(luò)客戶機(jī)12。如果代碼轉(zhuǎn)換服務(wù)提供器24被配置成縮放網(wǎng)絡(luò)內(nèi)容,它可以用這個(gè)參數(shù)來請求高速緩存對象的某個(gè)版本,該版本例如具有缺省的縮放質(zhì)量、達(dá)到較好質(zhì)量版本的精度或者原始的非縮放的版本。
在這個(gè)實(shí)施例中,當(dāng)網(wǎng)絡(luò)客戶機(jī)12請求超文本對象時(shí),HTTP遠(yuǎn)程代理36要么用GetObject()要么用GetScaledObject()調(diào)用(視網(wǎng)絡(luò)客戶機(jī)12是否能接受縮放的/代碼轉(zhuǎn)換的數(shù)據(jù)類型而定)去從分析器22檢索超文本對象。如果沒有找到該超文本對象,分析器22就用CreatEntry()調(diào)用為該新對象在服務(wù)器側(cè)高速緩沖存儲(chǔ)器30創(chuàng)建一個(gè)項(xiàng)(實(shí)際上是一個(gè)占位符)。該新項(xiàng)被返回給HTTP遠(yuǎn)程代理36,后者向因特網(wǎng)18請求超文本對象。當(dāng)超文本對象的數(shù)據(jù)流返回時(shí),HTTP遠(yuǎn)程代理36就用PutObject()調(diào)用來調(diào)用分析器22,將新項(xiàng)和要放入該項(xiàng)的數(shù)據(jù)流的句柄(handle)傳入這個(gè)調(diào)用。分析器22根據(jù)例如數(shù)據(jù)流的內(nèi)容類型來選擇一個(gè)適當(dāng)?shù)拇a轉(zhuǎn)換服務(wù)器提供器24。在這個(gè)上下文中,術(shù)語內(nèi)容類型包含數(shù)據(jù)類型、HTTP MIME(多用途因特網(wǎng)郵件擴(kuò)展)類型、內(nèi)容格式等等。所選擇的代碼轉(zhuǎn)換服務(wù)提供器24用單獨(dú)的線程來讀取輸入數(shù)據(jù)流、將其代碼轉(zhuǎn)換并將其置于服務(wù)器側(cè)高速緩沖存儲(chǔ)器30中。當(dāng)前線程立即返回到HTTP遠(yuǎn)程代理36,后者再次調(diào)用GetScaledObject()(或者GetObject())。這個(gè)情況將永遠(yuǎn)導(dǎo)致高速緩存命中。這個(gè)線程然后與PutObject()中的單獨(dú)線程同時(shí)工作,將(原始的或代碼轉(zhuǎn)換的)數(shù)據(jù)從代碼轉(zhuǎn)換服務(wù)器34傳送到網(wǎng)絡(luò)客戶機(jī)12。
多線程處理由于不要在開始向網(wǎng)絡(luò)客戶機(jī)12發(fā)送對象之前,等待超文本對象完整地由HTTP遠(yuǎn)程代理36接收,或者完整地添加到服務(wù)器側(cè)高速緩沖存儲(chǔ)器30中,而提高了本實(shí)施例的效率。多線程處理的另一個(gè)好處是分析器22可以高效地處理來自多個(gè)網(wǎng)絡(luò)客戶機(jī)對同一個(gè)超文本對象的請求。只要一次性地從因特網(wǎng)18檢索超文本對象,然后就可以并發(fā)地將適當(dāng)?shù)陌姹緜鬏斀o這多個(gè)網(wǎng)絡(luò)客戶機(jī)12。然而應(yīng)當(dāng)注意,本發(fā)明的實(shí)施例沒有多線程處理也可以實(shí)現(xiàn)。
如上所述,分析器22可以根據(jù)對預(yù)定選擇標(biāo)準(zhǔn)的滿足來有選擇地調(diào)用多個(gè)代碼轉(zhuǎn)換服務(wù)提供器24之一。這種選擇標(biāo)準(zhǔn)例如可包含代碼轉(zhuǎn)換服務(wù)器34所接收數(shù)據(jù)分組的數(shù)據(jù)部分中含有的信息,諸如MIME類型、URL(統(tǒng)一資源定位器)、上次修改時(shí)間標(biāo)志等等。或者,這種預(yù)定選擇標(biāo)準(zhǔn)可包含這種數(shù)據(jù)分組的數(shù)據(jù)部分中含有的信息,諸如特定內(nèi)容、關(guān)鍵字、結(jié)構(gòu)(例如標(biāo)題級別)等等。此外,這種預(yù)定選擇標(biāo)準(zhǔn)還可包含安裝有代碼轉(zhuǎn)換服務(wù)器34的設(shè)備的條件(例如當(dāng)前處理加載)、與代碼轉(zhuǎn)換服務(wù)器34相連的設(shè)備的條件或者通信鏈路的條件。代碼轉(zhuǎn)換服務(wù)器34可以提供動(dòng)態(tài)更新這種預(yù)定標(biāo)準(zhǔn)的能力。
以下討論提供更多的各類型信息的例子,這些類型的信息可用于決定要調(diào)用哪些代碼轉(zhuǎn)換服務(wù)提供器24。然而應(yīng)當(dāng)注意,這些例子的提供僅僅是解釋性的,不應(yīng)認(rèn)為是對本文要求的發(fā)明范圍的任何限制。預(yù)定選擇標(biāo)準(zhǔn)可包含(1)網(wǎng)絡(luò)客戶機(jī)12,諸如顯示維數(shù)、分辨率、色彩數(shù)目、處理器類型、存儲(chǔ)器/磁盤配置、調(diào)制解調(diào)器或網(wǎng)絡(luò)接口類型、所安裝的內(nèi)裝板(例如硬件壓縮/解壓)、軟件配置(例如預(yù)裝軟件解壓模塊的可用性)、物理位置/距離(例如如電話地區(qū)碼所確定的)、用戶標(biāo)識;(2)代碼轉(zhuǎn)換服務(wù)器34或某其它網(wǎng)絡(luò)服務(wù)器的特征,包括系統(tǒng)負(fù)載和標(biāo)識信息(例如服務(wù)器的所有者);(3)內(nèi)容特征,諸如其數(shù)據(jù)類型、代碼轉(zhuǎn)換/壓縮的類型、大小和維數(shù);(4)網(wǎng)絡(luò)特征,包括最佳情形、最差情形和平均等待時(shí)間,網(wǎng)絡(luò)客戶機(jī)12與代理之間的、和/或代理與服務(wù)器之間的(例如無線通信的)帶寬和/或出錯(cuò)率(對于像ATM(異步傳輸模式)的有保障鏈路,這是可以預(yù)先確定的,對于像許多IP(因特網(wǎng)協(xié)議)鏈路的所謂“最好努力”鏈路,這是可以動(dòng)態(tài)測量/預(yù)測的);(5)代理特征,包括系統(tǒng)負(fù)載、可用存儲(chǔ)器、物理位置/距離和標(biāo)識(所有者);(6)用戶首選項(xiàng),包括首選的內(nèi)容質(zhì)量/速度折衷方案、語言、內(nèi)容等級、排除列表、包含列表、數(shù)據(jù)類型特定的首選項(xiàng)(例如“永不下載”圖象)、包括/排斥廣告、期望廣告量、冒犯性語言去除、是否可以披露(及向誰披露)用戶的定義的或?qū)W得的首選項(xiàng)、過濾/代碼轉(zhuǎn)換/處理數(shù)據(jù)的慣例規(guī)則和程序以及與另一個(gè)用戶或一組用戶的共享首選(任何上述用戶首選項(xiàng)都可以是明確定義的或是—諸如依據(jù)隨時(shí)間編輯的適用統(tǒng)計(jì)—系統(tǒng)預(yù)測的);(7)分組首選項(xiàng),包括合作等級系統(tǒng)的結(jié)果、人工的(例如,某先前用戶閱覽某Web頁之后人工分配該頁一個(gè)等級)還是自動(dòng)的(例如,對于訪問給定頁上某鏈接的給定大量用戶來說,任何給定用戶隨后跟隨該鏈接的概率);(8)內(nèi)容提供器首選項(xiàng),包括期望對其內(nèi)容改變的程度、對不同內(nèi)容類型的下載和顯示的優(yōu)先化、高速緩存限制或優(yōu)先化參數(shù)諸如更新頻率或置換首選、目標(biāo)用戶的類型、基于用戶或客戶特點(diǎn)定制內(nèi)容(例如新聞或廣告、習(xí)慣語言翻譯軟件)要運(yùn)行的規(guī)則或程序、接受某些類型的用戶或組所收集的數(shù)據(jù)(例如人口統(tǒng)計(jì)學(xué)或訪問方式)的愿望、為交換這種信息所提供的付款/報(bào)酬的類型;以及(9)其它首選項(xiàng),包括動(dòng)態(tài)檢查用非授權(quán)軟件創(chuàng)建或傳播的內(nèi)容的軟件銷售商規(guī)則或程序以及強(qiáng)制正確使用某些類型的內(nèi)容(例如商標(biāo)和圖標(biāo))的公司要求。
應(yīng)用以上列舉的選擇標(biāo)準(zhǔn)或其組合,本發(fā)明實(shí)施例就可以用于提供幾乎范圍無限的動(dòng)態(tài)代碼轉(zhuǎn)換服務(wù)。例如,客戶機(jī)和/或代理的物理距離,與人口統(tǒng)計(jì)數(shù)據(jù)結(jié)合起來可以用于極有針對性的廣告。這種廣告可以添加到任何途經(jīng)例如某代理或是某個(gè)其它機(jī)構(gòu)的內(nèi)容上。根據(jù)用戶對容忍廣告或共享人口統(tǒng)計(jì)信息的愿意情況以及廣告商補(bǔ)貼或以其它方式報(bào)答參與用戶的能力/意愿情況,可以更進(jìn)一步地定制廣告。
本發(fā)明的實(shí)施例可以便利地用來減少向網(wǎng)絡(luò)客戶機(jī)12傳輸?shù)臄?shù)據(jù)的量,由此促使內(nèi)容的下載和再現(xiàn)更加快捷。適合的代碼轉(zhuǎn)換技術(shù)包括損耗性壓縮和代碼轉(zhuǎn)換到(并不受廣泛支持的)傳輸專用的更高效格式。類似地,HTTP遠(yuǎn)程代理36可以配置成“預(yù)先消化”Web站點(diǎn)或站點(diǎn)組,以產(chǎn)生對大量內(nèi)容極其濃縮的概述(例如樹結(jié)構(gòu)、只有一級標(biāo)題或一級加二級標(biāo)題的頁面、頁面縮略圖、或只是用戶上次訪問以來改變過的部分頁面或站點(diǎn))。這種應(yīng)用對于不良連接的或諸如PDA(個(gè)人數(shù)字助手)的計(jì)算能力有限的設(shè)備來說可能特別有益,因?yàn)檫@種預(yù)先消化可在連接良好、具有充裕計(jì)算能力的代理服務(wù)器上進(jìn)行,簡潔的結(jié)果可以容易地在更受限制的設(shè)備上下載或再現(xiàn)。
本發(fā)明的實(shí)施例或者可以用于將諸如Web頁的數(shù)據(jù)動(dòng)態(tài)翻譯成用戶的母語(由用戶首選項(xiàng)或者自動(dòng)地由網(wǎng)絡(luò)客戶機(jī)12或代碼轉(zhuǎn)換服務(wù)器34所處物理位置來確定)。這種功能大大地簡化了使內(nèi)容真正全球化的任務(wù),大大地減少了在內(nèi)容提供器處要求的存儲(chǔ)容量和維護(hù)(就是說,僅需要維護(hù)內(nèi)容的一個(gè)副本,而不是多個(gè)不同語言的各自不同的副本)。
本發(fā)明的實(shí)施例可用來阻塞某些類型的內(nèi)容或自動(dòng)審查冒犯性語言(類似于電視廣播所用的“嘟嘟”聲)。只有特定的冒犯性部分內(nèi)容(例如下流詞語)可以被去除,或者可以阻塞整個(gè)Web站點(diǎn)。類似地,代碼轉(zhuǎn)換服務(wù)器34可以配置成掃描內(nèi)容檢查某些詞語來保證商標(biāo)和圖標(biāo)得到正確使用(例如是用作源標(biāo)識符而不是未注冊的產(chǎn)品名稱)。這個(gè)特征可以作為一項(xiàng)服務(wù)提供給公司或組織,它們要提供一個(gè)要標(biāo)記的字或短語的列表。類似的功能可以用來在檢測到某些詞或短語時(shí)自動(dòng)向內(nèi)容插入鏈接。例如,Intel公司可能想要在每當(dāng)Web頁中使用名稱“Intel”時(shí)自動(dòng)添加一個(gè)到其公司W(wǎng)eb站點(diǎn)的鏈接。使用本發(fā)明的實(shí)施例,就可以將這類鏈路自動(dòng)添加到內(nèi)容中再顯示給用戶。類似地,本發(fā)明的實(shí)施例可用來掃描檢查用非許可軟件創(chuàng)建或傳播的內(nèi)容。這個(gè)特征可以用由內(nèi)容創(chuàng)建或分發(fā)軟件放置的、內(nèi)置在內(nèi)容或標(biāo)題中的特殊鍵(二進(jìn)制位模式)來實(shí)現(xiàn)。掃描邏輯和采取預(yù)定響應(yīng)行動(dòng)—諸如拒絕服務(wù)或投寄警告—的邏輯,可以任選地有當(dāng)事的軟件銷售商提供或者配置在代碼轉(zhuǎn)換服務(wù)器34中。
本發(fā)明的實(shí)施例也可以用來在向網(wǎng)絡(luò)客戶機(jī)12發(fā)送內(nèi)容之前掃描內(nèi)容檢查計(jì)算機(jī)病毒。例如,可以在代碼轉(zhuǎn)換服務(wù)器34上安裝一個(gè)現(xiàn)有的病毒掃描例程—可能是以插件模塊的形式。代碼轉(zhuǎn)換服務(wù)器34然后可以配置成調(diào)用該病毒掃描例程去保證向網(wǎng)絡(luò)客戶機(jī)12傳輸?shù)膬?nèi)容沒有病毒。這個(gè)實(shí)施例提供的顯著優(yōu)點(diǎn)是,病毒掃描軟件只需要保持在代碼轉(zhuǎn)換服務(wù)器34上,而不是在多個(gè)網(wǎng)絡(luò)客戶機(jī)12上。這樣,就能將對病毒檢查軟件升級的好處有效而及時(shí)地提供給大量的用戶,從而避免出現(xiàn)有任何特定用戶依賴過時(shí)的病毒掃描軟件的問題。
本發(fā)明的實(shí)施例也可以用來按照用戶特定的喜好和/或與合作分級系統(tǒng)的關(guān)聯(lián)而生產(chǎn)按需定制內(nèi)容。在這種實(shí)施例的變例中,代碼轉(zhuǎn)換服務(wù)器34能收集首選項(xiàng)并將它們附加為向內(nèi)容供應(yīng)商傳輸?shù)目蛻魴C(jī)請求的一部分,這樣就能在內(nèi)容服務(wù)器完成動(dòng)態(tài)內(nèi)容生成。同樣,代理提供者(例如因特網(wǎng)服務(wù)供應(yīng)商即ISP)能收集并向內(nèi)容供應(yīng)商發(fā)放諸如用戶愛好和數(shù)據(jù)訪問統(tǒng)計(jì)的信息,以及內(nèi)容供應(yīng)商特定的統(tǒng)計(jì)(例如,上個(gè)月有多少來自給定地區(qū)或群體的用戶訪問過特定Web站點(diǎn)以及什么時(shí)間)。這種信息可用于諸如定向廣告等應(yīng)用。
本發(fā)明的實(shí)施例可進(jìn)一步用來自動(dòng)檢查對象中鏈接的有效性,糾正或去除無效的鏈接,然后將對象傳輸給網(wǎng)絡(luò)客戶機(jī)12。這個(gè)功能可以例如作為一種服務(wù),提供給可能沒有關(guān)于它們所鏈接的、已經(jīng)移走或刪除了的Web站點(diǎn)的最新信息的內(nèi)容供應(yīng)商們。
為了進(jìn)一步闡明圖3中所示實(shí)施例的一般操作,假設(shè)網(wǎng)絡(luò)客戶機(jī)12的用戶希望訪問因特網(wǎng)18上的特定Web頁或URL(統(tǒng)一資源定位器)。進(jìn)一步假設(shè)所期望的URL駐留在代碼轉(zhuǎn)換服務(wù)器34或可通過代碼轉(zhuǎn)換服務(wù)器34到達(dá)。網(wǎng)絡(luò)客戶機(jī)12通過瀏覽器32在客戶機(jī)/服務(wù)器通信鏈路14上向代碼轉(zhuǎn)換服務(wù)器34傳輸一個(gè)對超文本對象的HTTP請求。如果瀏覽器32一般通過代理來訪問因特網(wǎng)18,瀏覽器32被配置成用瀏覽器32的標(biāo)準(zhǔn)代理配置過程來通過代碼轉(zhuǎn)換服務(wù)器34傳送用戶請求。如本領(lǐng)域中眾所周知的那樣,瀏覽器32實(shí)際上可以傳輸多個(gè)另外的HTTP請求,其中這些請求與可以內(nèi)嵌在Web頁中的各種不同超文本對象的每一個(gè)對應(yīng)。在這種情況下,代碼轉(zhuǎn)換服務(wù)器34可按下文說明的方式來處理這種請求。
按照這個(gè)實(shí)施例,HTTP遠(yuǎn)程代理36能夠區(qū)分非使能的網(wǎng)絡(luò)客戶機(jī)12和使能的網(wǎng)絡(luò)客戶機(jī)12。區(qū)分的方法可以例如是,從使能的網(wǎng)絡(luò)客戶機(jī)向代碼轉(zhuǎn)換服務(wù)器34傳輸內(nèi)容請求,要用一種專用協(xié)議,所以使用某個(gè)其它通信協(xié)議時(shí)就表明網(wǎng)絡(luò)客戶機(jī)12是非使能的。這個(gè)在每個(gè)請求中向HTTP遠(yuǎn)程代理36發(fā)送一個(gè)專用協(xié)議的方法是對注冊類型過程的一個(gè)改進(jìn)。按每個(gè)請求進(jìn)行的使能/非使能的確定所需的開銷相對較小,同時(shí)具有顯著優(yōu)點(diǎn),因?yàn)樗鼮镠TTP遠(yuǎn)程代理36解決了這樣的情況,即第一個(gè)網(wǎng)絡(luò)客戶機(jī)斷接,而第二個(gè)可能具有不同通信和/或表示功能的網(wǎng)絡(luò)客戶機(jī)用同一個(gè)IP地址重新連接。
當(dāng)確定網(wǎng)絡(luò)客戶機(jī)12是非使能的時(shí),HTTP遠(yuǎn)程代理36就可以在本地?cái)?shù)據(jù)存儲(chǔ)器中的客戶機(jī)首選表中記錄網(wǎng)絡(luò)客戶機(jī)12的IP地址(客戶機(jī)首選表26可以改進(jìn)這個(gè)或其它實(shí)施例的性能,但并不是必需的)。HTTP遠(yuǎn)程代理36然后將超文本對象傳送給分析器22。HTTP遠(yuǎn)程代理36也可以向分析器22通知(例如來自客戶機(jī)首選表26的)任何可應(yīng)用的用戶首選項(xiàng)。當(dāng)被調(diào)用時(shí),分析器22首先調(diào)用具有所請求超文本對象的高速緩存接口28,以確定在服務(wù)器側(cè)高速緩沖存儲(chǔ)器30中是否已經(jīng)駐留了所請求版本的副本。為說明起見,假設(shè)服務(wù)器側(cè)高速緩沖存儲(chǔ)器30中不存在所請求超文本對象的項(xiàng)。HTTP遠(yuǎn)程代理36然后調(diào)用一個(gè)調(diào)用去在服務(wù)器/網(wǎng)絡(luò)通信鏈路16上從因特網(wǎng)18檢索該超文本對象。假設(shè)找到了所請求的超文本對象,HTTP遠(yuǎn)程代理36就開始接收代表該超文本對象的HTTP數(shù)據(jù)流。HTTP遠(yuǎn)程代理36將這個(gè)輸入數(shù)據(jù)流的句柄(handle)交給分析器22。
分析器22動(dòng)態(tài)地確定該數(shù)據(jù)流是否滿足任何可應(yīng)用的預(yù)定選擇標(biāo)準(zhǔn)。例如,如果代碼轉(zhuǎn)換服務(wù)提供器24被配置成縮放不同類型的數(shù)據(jù),分析器22就可以通過查詢在輸入HTTP數(shù)據(jù)流的開始處出現(xiàn)的內(nèi)容類型標(biāo)題記錄中的一個(gè)MIME類型來確定數(shù)據(jù)流的內(nèi)容類型(例如image/jpeg、image/gif、video/mpeg)。如果分析器22檢查到一個(gè)與預(yù)定選擇標(biāo)準(zhǔn)的匹配,就將HTTP流的句柄賦予適當(dāng)?shù)拇a轉(zhuǎn)換服務(wù)提供器24。代碼轉(zhuǎn)換服務(wù)提供器24然后適當(dāng)?shù)貙?shù)據(jù)流進(jìn)行代碼轉(zhuǎn)換,HTTP遠(yuǎn)程代理26將代碼轉(zhuǎn)換后的數(shù)據(jù)流傳輸?shù)骄W(wǎng)絡(luò)客戶機(jī)12。
非使能的網(wǎng)絡(luò)客戶機(jī)12可任選地配備主動(dòng)控制代碼轉(zhuǎn)換過程的各方面或者是否實(shí)際對所請求全部內(nèi)容進(jìn)行代碼轉(zhuǎn)換的能力。為提供這個(gè)能力,HTTP遠(yuǎn)程代理36可以在所請求URL的HTML首部的開始處內(nèi)置附加的指令,然后在將關(guān)聯(lián)的數(shù)據(jù)流傳輸給網(wǎng)絡(luò)客戶機(jī)12。這些內(nèi)置指令例如可以以JavaScript代碼、VB Script代碼或JavaApplet代碼來實(shí)現(xiàn)。當(dāng)網(wǎng)絡(luò)客戶機(jī)12的瀏覽器32接收到數(shù)據(jù)流時(shí),內(nèi)置指令將自動(dòng)執(zhí)行—只要配備的瀏覽器32支持這些指令。例如,如果內(nèi)置指令是以JavaScript代碼實(shí)現(xiàn)的,瀏覽器32可以是JavaScript使能的瀏覽器,諸如Netscape Navigator2.0版或以上的瀏覽器,或者是Internet Explorer3.0版或以上的瀏覽器。如果瀏覽器32不是為這種HTML腳本配備的,內(nèi)置指令就將影響瀏覽器32的正常處理,因?yàn)檫@種瀏覽器32通常被配置成不理睬任何它們不能解釋的數(shù)據(jù)。
傳輸?shù)骄W(wǎng)絡(luò)客戶機(jī)12的內(nèi)置指令可以使用戶能操縱代碼轉(zhuǎn)換服務(wù)器34的一些代碼轉(zhuǎn)換功能。如圖4中所示,內(nèi)置指令可以驅(qū)動(dòng)一個(gè)用戶界面,其形式是一個(gè)彈出式窗口40,在瀏覽器窗口38的頂部顯示。彈出式窗口40包括一個(gè)具有“開”、“關(guān)”和“自動(dòng)”設(shè)置的三態(tài)開關(guān)42,也可以包括一個(gè)超文本鏈接44,用戶可以跟隨這個(gè)超文本鏈接,以下載支持例如更復(fù)雜的代碼轉(zhuǎn)換功能(即變得“使能”)的專業(yè)客戶機(jī)軟件。三態(tài)開關(guān)42的初始設(shè)置的根據(jù),可以是由HTTP遠(yuǎn)程代理36事先對網(wǎng)絡(luò)客戶機(jī)12是否有對接受代碼轉(zhuǎn)換的內(nèi)容確立的首選項(xiàng)的確定。如果是,可將三態(tài)開關(guān)設(shè)置為“開”,如果不是,可將三態(tài)開關(guān)設(shè)置為“關(guān)”。這個(gè)特征目的在于向用戶提供某些向HTTP遠(yuǎn)程代理36通知首選項(xiàng)的方法,其中首選項(xiàng)是關(guān)于特定代碼轉(zhuǎn)換特征的諸方面的,諸如代碼轉(zhuǎn)換包含數(shù)據(jù)壓縮/縮放情況下的內(nèi)容質(zhì)量/等待時(shí)間折衷方案。本領(lǐng)域的熟練人員將認(rèn)識到,可能有許多其它的提供這種功能的方法,這類其它方法可能使用戶能通知首選項(xiàng),范圍可以超過簡單的是/否代碼轉(zhuǎn)換標(biāo)志。
如圖4中所示,彈出式窗口40使用戶能改變其對需要的是代碼轉(zhuǎn)換的還是原始的內(nèi)容的首選,將這種改變通知HTTP遠(yuǎn)程代理36。彈出式窗口40可以、也可以不與瀏覽器32交互作用,這意味著用戶的首選,只有在設(shè)置了三態(tài)開關(guān)42并點(diǎn)擊瀏覽器32的“重新加載”按鈕46使瀏覽器32請求(代碼轉(zhuǎn)換的或非代碼轉(zhuǎn)換的)內(nèi)容向用戶提交之后才起作用。然后就可以按照三態(tài)開關(guān)42的新設(shè)置來再現(xiàn)當(dāng)前會(huì)話中的后繼頁面,無需用戶的進(jìn)一步干預(yù)。接收后,HTTP遠(yuǎn)程代理36可以相應(yīng)地更新用戶首選表26。替代方案是,彈出式窗口40可以被配置成在用戶指出變化時(shí)(諸如通過三態(tài)開關(guān)42的翻轉(zhuǎn))自動(dòng)調(diào)用“重新加載”操作。如果瀏覽器32是JavaScript使能的瀏覽器時(shí),由HTTP遠(yuǎn)程代理36插入HTML文檔的JavaScript指令可以將三態(tài)開關(guān)42的狀態(tài)“投寄”到HTTP遠(yuǎn)程代理36,也導(dǎo)致瀏覽器32“重新加載”當(dāng)前的URL。
有可能讓非使能的網(wǎng)絡(luò)客戶機(jī)12用本領(lǐng)域公知的所謂“cookie”(“小面包”)來在多個(gè)瀏覽器會(huì)話中保存網(wǎng)絡(luò)客戶機(jī)12上的三態(tài)開關(guān)42的狀態(tài)。換言之,cookie可用來持久存儲(chǔ)三態(tài)開關(guān)42的狀態(tài)。當(dāng)用戶啟動(dòng)瀏覽器32的新會(huì)話時(shí),這個(gè)狀態(tài)信息可以從網(wǎng)絡(luò)客戶機(jī)12讀出,由(插在HTML文檔的開始處)JavaScript代碼“投遞”給HTTP遠(yuǎn)程代理36,然后,所請求超文本對象的任何內(nèi)容才實(shí)際被發(fā)送給網(wǎng)絡(luò)客戶機(jī)12。這將允許HTTP遠(yuǎn)程代理36用三態(tài)開關(guān)42的正確狀態(tài)來更新用戶首選表26,并因此發(fā)送正確代碼轉(zhuǎn)換的內(nèi)容給網(wǎng)絡(luò)客戶機(jī)12。在這個(gè)實(shí)施例中,每當(dāng)給定URL被瀏覽器32請求時(shí),就可以將狀態(tài)信息“投遞”給HTTP遠(yuǎn)程代理36。這將允許網(wǎng)絡(luò)客戶機(jī)12即使在與其相連的HTTP遠(yuǎn)程代理36由于例如網(wǎng)絡(luò)客戶機(jī)12的地理位置或網(wǎng)絡(luò)負(fù)載平衡過程的改變而變化時(shí)也能接收正確代碼轉(zhuǎn)換的內(nèi)容。
圖3中所示的實(shí)施例也可以用于已經(jīng)通過標(biāo)準(zhǔn)代理訪問了因特網(wǎng)18的網(wǎng)絡(luò)客戶機(jī)12。JavaScript使能的瀏覽器32可以查詢網(wǎng)絡(luò)客戶機(jī)12的本地IP地址,將這個(gè)信息“投遞”給HTTP遠(yuǎn)程代理36。這個(gè)“投遞”消息的HTTP標(biāo)題將含有標(biāo)準(zhǔn)代理的IP地址,它現(xiàn)在將有別于網(wǎng)絡(luò)客戶機(jī)12的IP地址(包括在消息的內(nèi)容中)。比較這兩個(gè)IP地址將確定網(wǎng)絡(luò)客戶機(jī)12是否駐留在標(biāo)準(zhǔn)代理的后面。HTTP遠(yuǎn)程代理然后就可以用這個(gè)信息在用戶首選表26中更新關(guān)于網(wǎng)絡(luò)客戶機(jī)12的代碼轉(zhuǎn)換信息。
按照圖5所示的本發(fā)明的另一個(gè)實(shí)施例,網(wǎng)絡(luò)客戶機(jī)12可以是“使能的”,含有專業(yè)軟件來支持例如比上述實(shí)施例所提供的更復(fù)雜的代碼轉(zhuǎn)換特征,或者在客戶機(jī)側(cè)上執(zhí)行部分或全部代碼轉(zhuǎn)換功能。如圖所示,網(wǎng)絡(luò)客戶機(jī)12包括HTTP本地代理48,它與客戶機(jī)側(cè)分析器50相連,后者類似于代碼轉(zhuǎn)換服務(wù)器34的分析器22,控制一個(gè)或多個(gè)客戶機(jī)側(cè)代碼轉(zhuǎn)換服務(wù)提供器52。每個(gè)代碼轉(zhuǎn)換服務(wù)提供器52可配置成例如在將內(nèi)容交付給用戶之前對其進(jìn)行代碼轉(zhuǎn)換,或者針對由代碼轉(zhuǎn)換服務(wù)器34的對應(yīng)代碼轉(zhuǎn)換服務(wù)提供器24執(zhí)行的功能執(zhí)行一個(gè)對等的代碼轉(zhuǎn)換功能(例如解碼、解壓)。如代碼轉(zhuǎn)換服務(wù)器34中的那樣,網(wǎng)絡(luò)客戶機(jī)12可以包括一個(gè)由客戶機(jī)側(cè)高速緩存接口54管理的客戶機(jī)側(cè)高速緩沖存儲(chǔ)器56??蛻魴C(jī)側(cè)高速緩存接口54可以是業(yè)已存在的由操作系統(tǒng)支持的設(shè)備,諸如WININET。使用現(xiàn)有的高速緩存設(shè)備減少了為實(shí)施本實(shí)施例而要下載到網(wǎng)絡(luò)客戶機(jī)12的軟件量,并且也使其它應(yīng)用諸如斷開的瀏覽器能共享客戶機(jī)側(cè)高速緩沖存儲(chǔ)器56。
HTTP本地代理48,客戶機(jī)側(cè)分析器50和客戶機(jī)側(cè)代碼轉(zhuǎn)換服務(wù)提供器52(合起來稱為客戶機(jī)軟件)可以按需—諸如點(diǎn)擊由圖4中彈出式窗口38表示的超文本鏈接44—下載到網(wǎng)絡(luò)客戶機(jī)12。或者,客戶機(jī)軟件可以在便攜式存儲(chǔ)介質(zhì)—諸如軟磁盤或CD-ROM上分配給用戶,或?qū)⑵漕A(yù)裝在成品個(gè)人計(jì)算機(jī)上。在圖5的實(shí)施例中,客戶機(jī)軟件是與瀏覽器32分開的。然而在另一個(gè)實(shí)施例中,客戶機(jī)軟件可以集成在瀏覽器32中(見圖6)。
使能的客戶機(jī)實(shí)施例向網(wǎng)絡(luò)客戶機(jī)12提供交付超文本對象的擴(kuò)展的靈活性。如上述的非使能的客戶機(jī)實(shí)施例中的那樣,使能的網(wǎng)絡(luò)客戶機(jī)12可以從HTTP遠(yuǎn)程代理36接收已經(jīng)受標(biāo)準(zhǔn)內(nèi)部提交軟件或?yàn)g覽器支持的格式(例如JPG、GIF)的代碼轉(zhuǎn)換的數(shù)據(jù)流。例如如果代碼轉(zhuǎn)換過程涉及對超文本對象添加或刪除文本時(shí),情況就是這樣。此外,HTTP遠(yuǎn)程代理36可以將超文本對象代碼轉(zhuǎn)換成具有新的MIME類型的數(shù)據(jù)流—諸如代碼轉(zhuǎn)換過程包含縮放或數(shù)據(jù)壓縮那樣,在這種情況下,可以提供客戶機(jī)側(cè)代碼轉(zhuǎn)換服務(wù)提供器52來將數(shù)據(jù)流轉(zhuǎn)換回由瀏覽器32支持的MIME類型。例如,HTTP遠(yuǎn)程代理36可向網(wǎng)絡(luò)客戶機(jī)12傳輸一個(gè)用非標(biāo)準(zhǔn)、不很受支持但卻是前沿的壓縮算法壓縮的文件,客戶機(jī)側(cè)代碼轉(zhuǎn)換服務(wù)提供器52可將文件解壓回其原始格式。這個(gè)方法具有減去了HTTP本地代理48不得不提供一個(gè)用戶界面的負(fù)擔(dān)的好處,除去了由對瀏覽器32所支持的數(shù)據(jù)類型的限制而施加的限制。這樣,代碼轉(zhuǎn)換過程就能在即使其涉及將內(nèi)容改變到不同數(shù)據(jù)類型時(shí)也對用戶、瀏覽器和Web服務(wù)器保持透明。
還有另一個(gè)可能是,使能的網(wǎng)絡(luò)客戶機(jī)12包括一個(gè)或多個(gè)特別為代碼轉(zhuǎn)換、交付和回放網(wǎng)絡(luò)客戶機(jī)12所接收內(nèi)容而配置的添加與嵌入46。添加與嵌入46例如可用NetScape插入或ActiveX控制來實(shí)現(xiàn)。此外,添加與嵌入46可以按圖5中所示那樣作為客戶機(jī)軟件的一部分安裝,或者與瀏覽器32集成。這種添加與嵌入46之益處在于它們一般可配置成允許用戶點(diǎn)擊特定對象來獲得不同版本的(例如質(zhì)量更高的)表示。添加與嵌入46的另一個(gè)益處在于它們在用戶看來是與瀏覽器32很好集成的,容易得到升級。上述表示設(shè)施的組合也是可能的。
在添加與嵌入46的一種有益的可選應(yīng)用中,網(wǎng)絡(luò)客戶機(jī)12可以配置成在網(wǎng)絡(luò)客戶機(jī)12確定其不能對特定的接收數(shù)據(jù)流代碼轉(zhuǎn)換時(shí)請求從HTTP遠(yuǎn)程代理36下載適當(dāng)?shù)奶砑优c嵌入46。HTTP遠(yuǎn)程代理36然后就會(huì)下載必需的添加與嵌入46,或者以不同的格式重新發(fā)送數(shù)據(jù)流。這個(gè)設(shè)施提供系統(tǒng)的自動(dòng)擴(kuò)展,保證客戶機(jī)軟件盡可能地時(shí)新。
在圖5的實(shí)施例中,瀏覽器32被配置成通過HTTP本地代理48發(fā)送所有HTTP請求,于是允許HTTP本地代理48改進(jìn)對所請求超文本對象的檢索和提交。例如,當(dāng)HTTP本地代理48收到來自瀏覽器32對與某Web頁關(guān)聯(lián)的超文本對象的HTTP請求時(shí),它把URL傳送到客戶機(jī)側(cè)高速緩存接口54,去檢查在客戶機(jī)側(cè)高速緩沖存儲(chǔ)器56中是否已經(jīng)存在該超文本對象的副本。如果超文本對象在高速緩存中,HTTP本地代理48就將高速緩存的對象傳送到瀏覽器32供提交。如果超文本對象不在高速緩存中,HTTP本地代理48就向代碼轉(zhuǎn)換服務(wù)器34傳輸一個(gè)HTTP請求供處理。HTTP本地代理48為此可以用定制的Get()請求來使代碼轉(zhuǎn)換服務(wù)器34能識別網(wǎng)絡(luò)客戶機(jī)12是使能的。參考其它實(shí)施例來執(zhí)行上述的處理,代碼轉(zhuǎn)換服務(wù)器34將向HTTP本地代理48返回一個(gè)該超文本對象的數(shù)據(jù)流。
為了進(jìn)一步闡明本發(fā)明實(shí)施例的特點(diǎn)和好處,圖7-9中的流程圖解釋了一個(gè)方法的實(shí)施例的邏輯,通過該方法,使能的網(wǎng)絡(luò)客戶機(jī)可以再現(xiàn)因特網(wǎng)上駐留的超文本對象。該流圖并非要包含所執(zhí)行的全部處理,而是要說明該方法的總體流程。上文已經(jīng)參考所披露的各種實(shí)施例對各種處理作了詳細(xì)說明。如果可行的話,下面的說明中包括有代表前文說明過的結(jié)構(gòu)元素的參照號碼,盡管本方法并不局限那些結(jié)構(gòu)。
現(xiàn)在參看圖7。處理在網(wǎng)絡(luò)客戶機(jī)12上的用戶從瀏覽器32請求一個(gè)超文本對象時(shí)開始(步驟100)。請求的方式這可能是對特定Web頁的請求—在這種情況下,將可能有多個(gè)超文本對象被顯示給用戶,請求的方式也可以是點(diǎn)擊已經(jīng)顯示給用戶的一個(gè)圖象。瀏覽器32可配置成通過HTTP本機(jī)代理48傳送所有HTTP請求,所以HTTP本地代理48可截獲來自瀏覽器32的HTTP(URL)請求(步驟110)。
在這個(gè)特定實(shí)施例中,HTTP本地代理48首先檢查所請求超文本對象是否已經(jīng)在客戶機(jī)側(cè)高速緩沖存儲(chǔ)器56中存在(步驟120)。為此,HTTP本地代理48可以用一個(gè)GetScaleObject(URL)調(diào)用來調(diào)用客戶機(jī)側(cè)分析器50,后者有向客戶機(jī)側(cè)高速緩存接口54發(fā)出一個(gè)GetEntry調(diào)用去打開高速緩存對象的流。這實(shí)際上是從客戶機(jī)側(cè)高速緩沖存儲(chǔ)器56中“檢索”如果存在的高速緩存對象(步驟140)。HTTP本地代理48然后將該流傳送到瀏覽器32,后者將高速緩存對象顯示給用戶(步驟150)。
現(xiàn)在參看圖8,如果所請求的URL對象在客戶機(jī)側(cè)高速緩沖存儲(chǔ)器56中找不到,HTTP本地代理48就向代碼轉(zhuǎn)換服務(wù)器34傳輸一個(gè)對該對象的請求,方法是使用一個(gè)GetStage(URL,Stage=0)調(diào)用的郵件(步驟160)。收到這個(gè)調(diào)用后,HTTP遠(yuǎn)程代理36就調(diào)用分析器22,后者又向服務(wù)器側(cè)高速緩存接口28發(fā)出一個(gè)GetScaled Object()調(diào)用來確定是否在服務(wù)器側(cè)高速緩沖存儲(chǔ)器30中已經(jīng)存在所請求超文本對象的非代碼轉(zhuǎn)換版本(步驟170)。如果超文本對象存儲(chǔ)在高速緩存中,服務(wù)器側(cè)高速緩存接口28就發(fā)出GetEntry調(diào)用來打開該高速緩存對象的流(步驟200)。此外,分析器22可以向服務(wù)器側(cè)高速緩存接口28發(fā)出GetProperties(URL,…)調(diào)用去檢索關(guān)于高速緩存對象的代碼轉(zhuǎn)換特性和代碼轉(zhuǎn)換狀態(tài)(諸如精度水平)的信息。
如果分析器22確定所請求超文本對象不在服務(wù)器側(cè)高速緩沖存儲(chǔ)器30中,HTTP遠(yuǎn)程代理36就發(fā)出一個(gè)從因特網(wǎng)18檢索超文本對象的HTTP請求(步驟190)。如果找不到該對象,HTTP遠(yuǎn)程代理36就向網(wǎng)絡(luò)客戶機(jī)12返回一個(gè)錯(cuò)誤,瀏覽器32將該錯(cuò)誤通知到用戶(步驟220)。如果找到該對象,HTTP遠(yuǎn)程代理36就將該輸入數(shù)據(jù)流的句柄傳送給分析器22,后者就啟動(dòng)對所檢索超文本對象的原始版本的高速緩存(步驟230)。
現(xiàn)在參看圖9,一旦所請求超文本對象已經(jīng)開始被得到,分析器22就判斷是否(以及如何)將該對象在向網(wǎng)絡(luò)客戶機(jī)12傳輸之前進(jìn)行代碼轉(zhuǎn)換(步驟240)。上文詳細(xì)說明了這個(gè)決策過程和示例性代碼轉(zhuǎn)換過程。對于當(dāng)前示例,假設(shè)分析器22判定代碼轉(zhuǎn)換是適當(dāng)?shù)?,于是生成所請求超文本對象的一個(gè)代碼轉(zhuǎn)換的版本(步驟250)。HTTP遠(yuǎn)程代理36將該代碼轉(zhuǎn)換的超文本對象的一個(gè)數(shù)據(jù)流傳輸?shù)骄W(wǎng)絡(luò)客戶機(jī)12(步驟260)。接收后,HTTP本地代理48就啟動(dòng)對代碼轉(zhuǎn)換的超文本對象的高速緩存(步驟270)。此外,客戶機(jī)側(cè)分析器50還判斷在提交該超文本對象之前是否需要進(jìn)一步的處理(例如已經(jīng)由代碼轉(zhuǎn)換服務(wù)器34建立了一個(gè)新的MIME類型)(步驟280)。
如果不要求額外的代碼轉(zhuǎn)換,HTTP本地代理48就將所接收數(shù)據(jù)流的句柄傳送給瀏覽器32,以便向用戶顯示(步驟290)。如果要求更多的代碼轉(zhuǎn)換,客戶機(jī)側(cè)服務(wù)器50就將句柄傳送給適當(dāng)?shù)拇a轉(zhuǎn)換服務(wù)提供器52(步驟300)。這后一個(gè)處理的結(jié)果可能是一個(gè)瀏覽器能馬上向用戶顯示的超文本對象(步驟320),該結(jié)果也可能是一個(gè)具有非標(biāo)準(zhǔn)MIME類型的超文本對象,在這種情況下,瀏覽器32可調(diào)用添加與嵌入46來顯示該對象(步驟330)。
按照本發(fā)明的另一個(gè)實(shí)施例,不必插入其它數(shù)據(jù)或程序作為對客戶機(jī)的響應(yīng)的一部分。而是,沒有用戶或?yàn)g覽器32軟件的察覺或干預(yù),也可以將數(shù)據(jù)和程序透明地“推送”到網(wǎng)絡(luò)客戶機(jī)12。這種方法的一個(gè)優(yōu)點(diǎn)是,代碼轉(zhuǎn)換服務(wù)器34能夠檢測到客戶機(jī)/服務(wù)器通信鏈路14何時(shí)使用率不飽和,于是能將數(shù)據(jù)推送到客戶機(jī)12,而為此干涉其它事務(wù)的風(fēng)險(xiǎn)有限。一個(gè)特別有益的實(shí)施使用至少一個(gè)本地代理,它可以向內(nèi)容供應(yīng)商或連網(wǎng)的代理服務(wù)器發(fā)出自己的(而不是用戶驅(qū)動(dòng)的)請求,或者接收從網(wǎng)絡(luò)推送給它的非請求的數(shù)據(jù)。本地代理可以將該數(shù)據(jù)存儲(chǔ)在客戶機(jī)側(cè)高速緩存中,將其安裝成程序,或提示用戶采取某種進(jìn)一步的行動(dòng)。這種實(shí)施例的許多潛在用途都是可能的。例如,軟件產(chǎn)品或音樂的廣告商可以在用廣告向用戶促銷之前用產(chǎn)品的試用版本預(yù)裝網(wǎng)絡(luò)客戶機(jī)12,這樣就具有迅速播放功能,不會(huì)讓用戶被迫等待演示程序的下載(以及在此期間可能失去興趣)。
用許多不同的配置來實(shí)現(xiàn)本發(fā)明的實(shí)施例都是可能的。在第一個(gè)配置中,所要求的唯一的額外裝置是遠(yuǎn)程代理。就是說,無需在網(wǎng)絡(luò)客戶機(jī)12上安裝新軟件。遠(yuǎn)程代理可以駐留在諸如因特網(wǎng)的某個(gè)適當(dāng)網(wǎng)絡(luò)上的任何地方,包括位于特定的內(nèi)容供應(yīng)商站點(diǎn)?;蛘撸缛绻梦恢锰囟ǖ奶卣髯鳛轭A(yù)定選擇標(biāo)準(zhǔn),遠(yuǎn)程代理可以位于ISP本地POP(存在點(diǎn))。當(dāng)然,這種信息也能用其它方法來收集,諸如用戶首選項(xiàng)設(shè)置或向代理分配位置特定的域名。在第二個(gè)配置中,可以將一個(gè)起本地代理作用的新的客戶機(jī)軟件安裝在例如客戶機(jī)設(shè)備上。用戶于是要把客戶機(jī)應(yīng)用的代理指向本地宿主。這些示例性配置的組合也是可能的,同時(shí)有多個(gè)模式活動(dòng)也是可能的(例如,某本地代理起著有些請求的傳遞通路(pass-through)的作用,同時(shí)又是要求使用遠(yuǎn)程代理的其它請求的非傳遞通路)。
如果網(wǎng)絡(luò)客戶機(jī)12在相對較慢的通信鏈路上連接到遠(yuǎn)程代理,則在遠(yuǎn)程代理上實(shí)現(xiàn)代碼轉(zhuǎn)換和鏈接有效性檢查是特別有益的。遠(yuǎn)程和本地代理的組合有時(shí)能使某些應(yīng)用—諸如自動(dòng)數(shù)據(jù)/程序下載和交互式顯示預(yù)先消化的內(nèi)容—的實(shí)施效率更高。其它應(yīng)用,諸如翻譯和商標(biāo)強(qiáng)制使用,單獨(dú)在本地代理上就能有效地完成,但是在遠(yuǎn)程代理上完成會(huì)更加有益,因?yàn)榭梢詫⒔Y(jié)果存儲(chǔ)到高速緩存,供他人使用,由此為將來的請求節(jié)省資源。另一些其它應(yīng)用—諸如敲擊流(clickstream)分析,在本地代理上實(shí)現(xiàn)一般效果更好,因?yàn)閷τ趥€(gè)別用戶來說本地可用的資源更多,而且也有更好的隱私性。
鑒于以上說明,顯然在客戶機(jī)設(shè)備與內(nèi)容服務(wù)器設(shè)備之間安置一個(gè)以上的所謂“智能”代理是可能的。如果不加檢查,這種情況會(huì)導(dǎo)致內(nèi)容被過分改變(例如,插入許多廣告,多重?fù)p耗性壓縮導(dǎo)致圖象無法解讀)。為解決這個(gè)問題,本發(fā)明的實(shí)施例可用一種能擴(kuò)展現(xiàn)有請求/應(yīng)答結(jié)構(gòu)的特殊的代理到代理協(xié)議來指示是否對內(nèi)容進(jìn)行過代碼轉(zhuǎn)換以及是什么種類的代碼轉(zhuǎn)換。這種專業(yè)協(xié)議,加上其它可以按需要實(shí)現(xiàn)的代理到代理消息,能使多個(gè)代理協(xié)同工作,同時(shí)仍然對用戶、客戶機(jī)軟件、現(xiàn)有“標(biāo)準(zhǔn)”代理和內(nèi)容服務(wù)器保持透明。
按照本發(fā)明的另一個(gè)實(shí)施例,可以用代理服務(wù)器來為因特網(wǎng)代理或服務(wù)器用戶提供所謂的“VIP”待遇,確認(rèn)有資格的用戶(或者通過付費(fèi),或者根據(jù)某種其它標(biāo)準(zhǔn)—諸如使用程度)在與其它用戶競爭代理資源時(shí)享有更高優(yōu)先權(quán)。與此對照,對于現(xiàn)有的因特網(wǎng)代理和服務(wù)器來說,用戶得到服務(wù)的次序要么是隨機(jī)性的,要么是按先來先服務(wù)的原則。
在這種實(shí)施例的一個(gè)特定實(shí)現(xiàn)中,代碼轉(zhuǎn)換服務(wù)器34可以被配置成從它處理的請求中提取用戶的IP地址并保存關(guān)于諸如用戶瀏覽特定Web站點(diǎn)的頻率或時(shí)間長度的信息??梢杂眠@種信息來確定在特定Web站點(diǎn)的“瀏覽者??偷睦锍獭?。用戶然后就能得到在以后訪問該站點(diǎn)時(shí)響應(yīng)時(shí)間更快的獎(jiǎng)勵(lì),或者站點(diǎn)所有者可選擇提高通過同一個(gè)代理到達(dá)的所有站點(diǎn)上的性能來獎(jiǎng)勵(lì)用戶。另一種可能是用戶可以付費(fèi)享受這種優(yōu)先服務(wù),這時(shí)用戶被分配一個(gè)口令,用戶可以向代碼轉(zhuǎn)換服務(wù)器34提供這個(gè)口令。還有另一種可能是,Web站點(diǎn)所有者可以向代理供應(yīng)商付費(fèi),來提高所有用戶訪問該所有者的站點(diǎn)時(shí)的性能。
在另一個(gè)特定的實(shí)現(xiàn)中,可以將標(biāo)識要給予“VIP”待遇的用戶的信息以Web頁的形式傳送給代碼轉(zhuǎn)換服務(wù)器34。當(dāng)接收這種Web頁時(shí),代理隨后就可以讓服務(wù)線程首先為VIP用戶所生成的請求進(jìn)行工作。為此,代碼轉(zhuǎn)換服務(wù)器34可以提高(操作系統(tǒng)內(nèi)部)對VIP服務(wù)的線程調(diào)度優(yōu)先級,同時(shí)保證沒有任何線程被阻塞(即,不應(yīng)當(dāng)有用戶完全因?yàn)閂IP用戶而被拒絕訪問)。此外,代碼轉(zhuǎn)換服務(wù)器34還可以允許針對VIP用戶而優(yōu)先高速緩存特定Web站點(diǎn)和更加進(jìn)取性地預(yù)先提取。此外,代碼轉(zhuǎn)換服務(wù)器34還可以用更多的資源密集型壓縮算法,例如以降低非VIP用戶的存取速度來換取相同等待時(shí)間下提供更高質(zhì)量的內(nèi)容。
某些內(nèi)容供應(yīng)商或用戶可能并不希望他們的內(nèi)容受到任何方式的動(dòng)態(tài)改變。所以,本發(fā)明的實(shí)施例可以這樣來實(shí)現(xiàn),即既不給予內(nèi)容供應(yīng)商也不給予用戶以超越任何可能改變內(nèi)容的服務(wù)的功能。這可以例如用一種由內(nèi)容中嵌置的一個(gè)特殊標(biāo)志觸發(fā)的通路技術(shù)來實(shí)現(xiàn)。
如上述說明所展現(xiàn)的那樣,本發(fā)明的實(shí)施例可用來提供一種用于改善計(jì)算機(jī)訪問諸如因特網(wǎng)的網(wǎng)絡(luò)的通信功能的系統(tǒng)。本發(fā)明的實(shí)施例可以有益地應(yīng)用到具有有限的可用通信帶寬的計(jì)算機(jī),諸如通過調(diào)制解調(diào)器連接訪問網(wǎng)絡(luò)的移動(dòng)計(jì)算機(jī)或個(gè)人計(jì)算機(jī)。這種實(shí)施例的獨(dú)特特點(diǎn)增強(qiáng)了這些計(jì)算機(jī)以降低了用戶可見等待時(shí)間的及時(shí)性在網(wǎng)絡(luò)上訪問數(shù)據(jù)的能力,由此使內(nèi)容作者能放心去創(chuàng)作豐富的內(nèi)容,無需顧慮只有具備高度完善的數(shù)據(jù)通信和顯示功能的用戶才能欣賞其內(nèi)容。本發(fā)明的實(shí)施例也有益于除降低等待時(shí)間以外或與其并舉的目的。這種目的例如包括為沒有彩色顯示器的用戶將彩色圖象轉(zhuǎn)換成灰度級的圖象,過濾和/或刪除不喜歡的內(nèi)容諸如色情內(nèi)容,增加內(nèi)容如廣告,以及語言翻譯。
盡管對本發(fā)明的說明結(jié)合的是用于從因特網(wǎng)訪問數(shù)據(jù)的實(shí)施例,本領(lǐng)域的熟練人員會(huì)認(rèn)識到,它同樣適用于其它網(wǎng)絡(luò)環(huán)境。例如,本發(fā)明的實(shí)施例可用來加強(qiáng)網(wǎng)絡(luò)客戶計(jì)算機(jī)與“內(nèi)部網(wǎng)”之間的數(shù)據(jù)通信。內(nèi)部網(wǎng)通常是采用因特網(wǎng)結(jié)構(gòu)的安全的團(tuán)體網(wǎng)絡(luò),一般包括與諸如因特網(wǎng)的外部網(wǎng)絡(luò)進(jìn)行通信的機(jī)制。
以上是對本發(fā)明的特定實(shí)施例的詳細(xì)說明。本發(fā)明涵蓋權(quán)利要求范圍和精神內(nèi)的所有替代、修改和變異例,以及有權(quán)利要求的主題的等價(jià)例。例如上述的遠(yuǎn)程代理具有的部分或所有特點(diǎn)可以在內(nèi)容服務(wù)器中實(shí)現(xiàn)。同樣,上述的本地代理具有的部分或所有特點(diǎn)可以在瀏覽器應(yīng)用中實(shí)現(xiàn)。本領(lǐng)域的熟練人員知道,根據(jù)以上說明,就可能實(shí)現(xiàn)許多其它的替代、修改和變異例。
權(quán)利要求
1.一種用于在通信鏈路上的網(wǎng)絡(luò)服務(wù)器與網(wǎng)絡(luò)客戶機(jī)之間傳輸數(shù)據(jù)的裝置,所述裝置包含與代碼轉(zhuǎn)換服務(wù)提供器相連的分析器,所述分析器被配置成根據(jù)預(yù)定選擇標(biāo)準(zhǔn)有選擇地調(diào)用所述代碼轉(zhuǎn)換服務(wù)提供器。
2.權(quán)利要求1的裝置,其中,所述預(yù)定選擇標(biāo)準(zhǔn)包含正在傳輸?shù)臄?shù)據(jù)的特征。
3.權(quán)利要求1的裝置,其中,所述預(yù)定選擇標(biāo)準(zhǔn)包含通信鏈路的特征。
4.權(quán)利要求1的裝置,其中,所述預(yù)定選擇標(biāo)準(zhǔn)包含網(wǎng)絡(luò)服務(wù)器的特征。
5.權(quán)利要求1的裝置,其中,所述預(yù)定選擇標(biāo)準(zhǔn)包含網(wǎng)絡(luò)客戶機(jī)的特征。
6.權(quán)利要求1的裝置,其中,所述預(yù)定選擇標(biāo)準(zhǔn)包含用戶首選項(xiàng)。
7.權(quán)利要求1的裝置,其中,數(shù)據(jù)是應(yīng)網(wǎng)絡(luò)客戶機(jī)的請求從網(wǎng)絡(luò)服務(wù)器向網(wǎng)絡(luò)客戶機(jī)傳輸?shù)?,所述預(yù)定選擇標(biāo)準(zhǔn)包含在所述請求中。
8.一種用于向網(wǎng)絡(luò)客戶機(jī)提供網(wǎng)絡(luò)服務(wù)器上駐留的數(shù)據(jù)對象的方法,其中網(wǎng)絡(luò)客戶機(jī)和網(wǎng)絡(luò)服務(wù)器由一個(gè)通信鏈路相連,所述方法包含的步驟為從網(wǎng)絡(luò)服務(wù)器接收一個(gè)數(shù)據(jù)對象;按照預(yù)定選擇標(biāo)準(zhǔn)選擇性地對該數(shù)據(jù)對象進(jìn)行代碼轉(zhuǎn)換;以及將所述數(shù)據(jù)對象提供給網(wǎng)絡(luò)客戶機(jī)。
9.權(quán)利要求8的方法,其中,所述代碼轉(zhuǎn)換步驟進(jìn)一步包含將所接收數(shù)據(jù)對象的特征與預(yù)定選擇標(biāo)準(zhǔn)進(jìn)行比較。
10.權(quán)利要求8的方法,其中,所述選擇性地對數(shù)據(jù)對象代碼轉(zhuǎn)換的步驟進(jìn)一步包含確定數(shù)據(jù)對象是否包括用某個(gè)未注冊軟件產(chǎn)品創(chuàng)建的內(nèi)容。
11.權(quán)利要求10的方法,其中,所述選擇性地對數(shù)據(jù)對象代碼轉(zhuǎn)換的步驟進(jìn)一步包含將消息加到對應(yīng)于用某未注冊軟件產(chǎn)品創(chuàng)建的內(nèi)容的所述檢測的數(shù)據(jù)對象上。
12.權(quán)利要求8的方法,其中,所述選擇性地對數(shù)據(jù)對象代碼轉(zhuǎn)換的步驟包括壓縮該數(shù)據(jù)對象的一部分。
13.權(quán)利要求8的方法,其中,所述選擇性地對數(shù)據(jù)對象代碼轉(zhuǎn)換的步驟包含將該數(shù)據(jù)對象的一部分從第一種語言翻譯成第二種語言。
14.權(quán)利要求8的方法,其中,所述選擇性地對數(shù)據(jù)對象代碼轉(zhuǎn)換的步驟還包含確定該數(shù)據(jù)對象是否包括有冒犯性內(nèi)容。
15.權(quán)利要求14的方法,其中,所述選擇性地對數(shù)據(jù)對象代碼轉(zhuǎn)換的步驟進(jìn)一步包含修改該數(shù)據(jù)對象,以防止將冒犯性內(nèi)容被網(wǎng)絡(luò)客戶機(jī)再現(xiàn)。
16.權(quán)利要求8的方法,其中,所述選擇性地對數(shù)據(jù)對象代碼轉(zhuǎn)換的步驟進(jìn)一步包含在該數(shù)據(jù)對象中添加廣告信息。
17.權(quán)利要求16的方法,其中,所述廣告信息是按照用戶輪廓信息來選擇的。
18.權(quán)利要求8的方法,其中,所述選擇性地對數(shù)據(jù)對象代碼轉(zhuǎn)換的步驟進(jìn)一步包含確定該數(shù)據(jù)對象中是否包括一個(gè)到第二個(gè)數(shù)據(jù)對象的鏈接。
19.權(quán)利要求18的方法,進(jìn)一步包含確認(rèn)到第二個(gè)數(shù)據(jù)對象的鏈接的步驟。
20.權(quán)利要求19的方法,其中,所述選擇性地對數(shù)據(jù)對象代碼轉(zhuǎn)換的步驟進(jìn)一步包含糾正無效的鏈接。
21.權(quán)利要求8的方法,其中,所述選擇性地對數(shù)據(jù)對象代碼轉(zhuǎn)換的步驟進(jìn)一步包含將與所述代碼轉(zhuǎn)換相關(guān)的信息通知給網(wǎng)絡(luò)服務(wù)器。
22.權(quán)利要求8的方法,其中,所述選擇性地對數(shù)據(jù)對象代碼轉(zhuǎn)換的步驟進(jìn)一步包含確定網(wǎng)絡(luò)客戶機(jī)是否被預(yù)先配置成接受請求的優(yōu)先處理。
23.在存儲(chǔ)介質(zhì)上駐留的供計(jì)算機(jī)執(zhí)行的指令集,所述計(jì)算機(jī)與向用戶再現(xiàn)數(shù)據(jù)對象的設(shè)備相連,所述指令集包含下列功能的指令分析要被再現(xiàn)的數(shù)據(jù)對象以對照預(yù)定選擇標(biāo)準(zhǔn)檢查內(nèi)容;在再現(xiàn)數(shù)據(jù)對象之前根據(jù)所述檢查有選擇地對數(shù)據(jù)對象代碼轉(zhuǎn)換。
24.權(quán)利要求23的指令集,其中的存儲(chǔ)介質(zhì)包含磁存儲(chǔ)設(shè)備。
25.權(quán)利要求23的指令集,其中的存儲(chǔ)介質(zhì)包含安裝在計(jì)算機(jī)中的存儲(chǔ)器。
全文摘要
一個(gè)用于對計(jì)算機(jī)間傳輸?shù)臄?shù)據(jù)動(dòng)態(tài)代碼轉(zhuǎn)換的系統(tǒng)在用于在通信鏈路(14)上在網(wǎng)絡(luò)服務(wù)器(10)與網(wǎng)絡(luò)客戶機(jī)(12)之間傳輸數(shù)據(jù)的裝置中實(shí)現(xiàn)。該裝置包括與代碼轉(zhuǎn)換服務(wù)提供器(24)相連的分析器(22)。分析器(22)極配置成按預(yù)定選擇標(biāo)準(zhǔn)選擇性地調(diào)用代碼轉(zhuǎn)換服務(wù)提供器(24)。
文檔編號G06F17/30GK1294712SQ98805402
公開日2001年5月9日 申請日期1998年3月19日 優(yōu)先權(quán)日1997年3月25日
發(fā)明者M·M-H·特縈, T·G·威利斯, J·W·理查森, R·C·克瑙埃爾哈澤, D·馬西伊利恩斯基 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1