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