專利名稱:動(dòng)態(tài)控制一個(gè)網(wǎng)絡(luò)設(shè)備的系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總的涉及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,更具體地,涉及將一個(gè)設(shè)備作為一個(gè)網(wǎng)絡(luò)代理進(jìn)行配置以響應(yīng)動(dòng)態(tài)輸入執(zhí)行一個(gè)預(yù)定的動(dòng)作的方法和裝置。
背景技術(shù):
眾所周知,可以將一個(gè)網(wǎng)絡(luò)代理或代理服務(wù)器作為一個(gè)中間設(shè)備布置在一個(gè)或多個(gè)客戶計(jì)算機(jī)和一個(gè)諸如因特網(wǎng)的外部網(wǎng)絡(luò)之間。在Ian S.Graham所著的HTML SourceBookA Complete GuidetoHTML3.0403(1996年第2版)中已基本上描述了網(wǎng)絡(luò)代理。然而大多數(shù)現(xiàn)有的網(wǎng)絡(luò)代理缺乏命令處理或者動(dòng)態(tài)配置的能力。網(wǎng)絡(luò)代理通常使用靜態(tài)控制面板和例如存儲(chǔ)在諸如“.INI”文件或者M(jìn)S-Windows注冊(cè)項(xiàng)中的設(shè)置進(jìn)行預(yù)先配置。只要該網(wǎng)絡(luò)代理仍在運(yùn)行,這些設(shè)置就保持不變。而且,這種網(wǎng)絡(luò)代理缺乏動(dòng)態(tài)接收和執(zhí)行通常進(jìn)行網(wǎng)絡(luò)代理的重新配置的命令或者指令的能力。這是因?yàn)橥ǔ>褪菍⒕W(wǎng)絡(luò)代理作為一個(gè)管道使用。例如,用于環(huán)球網(wǎng)(WWW)接入的網(wǎng)絡(luò)代理簡(jiǎn)單地將從一個(gè)客戶計(jì)算機(jī)接收的HTTP請(qǐng)求傳送給能夠服務(wù)該請(qǐng)求的一個(gè)服務(wù)器計(jì)算機(jī)。同樣地,也簡(jiǎn)單地將網(wǎng)絡(luò)代理響應(yīng)這一請(qǐng)求從該服務(wù)器計(jì)算機(jī)接收的內(nèi)容傳送給該請(qǐng)求客戶計(jì)算機(jī)。換句話說,該網(wǎng)絡(luò)代理并不查看通過它傳送的內(nèi)容。
考慮到現(xiàn)有技術(shù)的上述限制,因此需要一種能夠?qū)魉偷狡渖系男畔⑦M(jìn)行操作的網(wǎng)絡(luò)代理,無論這種信息是嵌入在從一個(gè)客戶計(jì)算機(jī)發(fā)出的請(qǐng)求中的命令,還是由一個(gè)服務(wù)器計(jì)算機(jī)提供的內(nèi)容。盡管網(wǎng)絡(luò)代理的這種動(dòng)態(tài)控制是理想的,期望廣闊的因特網(wǎng)的基礎(chǔ)結(jié)構(gòu)迅速改變以適應(yīng)這一新的功能是不現(xiàn)實(shí)的。為此,希望以一種方式實(shí)現(xiàn)這一新的功能,該方式不要求改變現(xiàn)有的客戶計(jì)算機(jī)或服務(wù)器計(jì)算機(jī)。
發(fā)明內(nèi)容
本發(fā)明涉及用于動(dòng)態(tài)控制一個(gè)網(wǎng)絡(luò)代理的系統(tǒng),方法和設(shè)備。例如可以使用多種實(shí)施例動(dòng)態(tài)進(jìn)行網(wǎng)絡(luò)的重新配置,以改變網(wǎng)絡(luò)代理的操作參數(shù),以及在將網(wǎng)絡(luò)內(nèi)容傳送給客戶機(jī)設(shè)備之前將其進(jìn)行代碼轉(zhuǎn)換。
根據(jù)一個(gè)特定的實(shí)施例,一個(gè)動(dòng)態(tài)可控制的網(wǎng)絡(luò)設(shè)備包括一個(gè)分析器和一個(gè)服務(wù)提供器。該分析器包括響應(yīng)從該網(wǎng)絡(luò)設(shè)備接收的一個(gè)外部輸入所分析出的命令選擇性地調(diào)用該服務(wù)提供器的指令。
圖1是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)動(dòng)態(tài)可控制的網(wǎng)絡(luò)設(shè)備的一個(gè)示意圖。
圖2是本發(fā)明的一個(gè)實(shí)施例的一個(gè)示意圖,其中將一個(gè)動(dòng)態(tài)可控制的網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)為一個(gè)網(wǎng)絡(luò)代理。
圖3是本發(fā)明的一個(gè)實(shí)施例的一個(gè)示意圖,其中將一個(gè)動(dòng)態(tài)可控制的網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)為一個(gè)變碼服務(wù)器。
圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種動(dòng)態(tài)控制一個(gè)網(wǎng)絡(luò)設(shè)備的方法的一個(gè)示意圖。
具體實(shí)施例方式
根據(jù)本發(fā)明的第一個(gè)實(shí)施例,如圖1所示出的,提供了一個(gè)裝置,其中通過該裝置,指示一個(gè)網(wǎng)絡(luò)設(shè)備2(其可以是配置成以另一個(gè)計(jì)算機(jī)的名義用于網(wǎng)絡(luò)事務(wù)處理的計(jì)算機(jī))基于一個(gè)來自外部的輸入以一種特定的方式工作。這種輸入可以源自例如一個(gè)系統(tǒng)管理員。將網(wǎng)絡(luò)設(shè)備2配置成對(duì)通過它的網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行檢查。在某些實(shí)例中,網(wǎng)絡(luò)設(shè)備2可以攔截命令,并采取某些預(yù)定的響應(yīng)動(dòng)作。在其他實(shí)例中,網(wǎng)絡(luò)設(shè)備2可以基于它接收到的內(nèi)容的特征(諸如一個(gè)數(shù)據(jù)類型或者M(jìn)IME(多用途因特網(wǎng)郵件擴(kuò)展)類型)采取某些動(dòng)作,這種動(dòng)作可以包括例如設(shè)置網(wǎng)絡(luò)設(shè)備2的操作參數(shù),諸如一個(gè)高速緩沖存儲(chǔ)器的大小;網(wǎng)絡(luò)設(shè)備2的遠(yuǎn)程管理,諸如檢索/清除日志文件,獲得系統(tǒng)狀態(tài)信息,以及重新啟動(dòng)網(wǎng)絡(luò)設(shè)備2;以及發(fā)布軟件的升級(jí)。
在這一實(shí)施例中,網(wǎng)絡(luò)設(shè)備2包括一個(gè)控制模塊4,該模塊具有一個(gè)分析器6和多個(gè)業(yè)務(wù)提供器8??刂颇K4可以例如實(shí)現(xiàn)為安裝在網(wǎng)絡(luò)設(shè)備2中的一個(gè)軟件模塊。分析器6被配置成根據(jù)控制模塊4接收的外部輸入進(jìn)行動(dòng)作,諸如對(duì)于由一個(gè)客戶設(shè)備產(chǎn)生的網(wǎng)絡(luò)目標(biāo)的請(qǐng)求,或者對(duì)由一個(gè)網(wǎng)絡(luò)服務(wù)器設(shè)備提供的請(qǐng)求的回答。在這一特定的實(shí)施例中,分析器6根據(jù)一個(gè)預(yù)定的選擇準(zhǔn)則,負(fù)責(zé)有選擇地調(diào)用一個(gè)或多個(gè)業(yè)務(wù)提供器8。該預(yù)定的選擇準(zhǔn)則可以例如是一個(gè)嵌入在一個(gè)請(qǐng)求中的一個(gè)命令,一個(gè)所接收的請(qǐng)求或數(shù)據(jù)目標(biāo)的特征,網(wǎng)絡(luò)設(shè)備2自身的一個(gè)條件,前者的組合等等。
根據(jù)本發(fā)明的另一個(gè)實(shí)施例,其如圖2所示出的,可以將一個(gè)動(dòng)態(tài)可控制的網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)為一個(gè)網(wǎng)絡(luò)代理。一個(gè)網(wǎng)絡(luò)代理或者代理服務(wù)器通常與所謂的“防火墻”軟件結(jié)合使用以防止通過因特網(wǎng)對(duì)一個(gè)LAN(局域網(wǎng))的未授權(quán)的使用。防火墻通常安在一個(gè)將LAN連接到外部世界的網(wǎng)關(guān)計(jì)算機(jī)上,該防火墻限制源自外部的網(wǎng)絡(luò)分組進(jìn)入局部網(wǎng)絡(luò),從而保護(hù)LAN防止諸如未授權(quán)訪問等災(zāi)難。然而,該防火墻也防止網(wǎng)絡(luò)的用戶直接訪問諸如Web的外部資源。通常使用網(wǎng)絡(luò)代理來解決這一缺點(diǎn)。見Graham的文章(第403頁)。
網(wǎng)絡(luò)代理通常配置成自由接入內(nèi)部LAN資源和外部資源,并且可以安全地將數(shù)據(jù)來回傳過防火墻。然后通過配置用戶的Web瀏覽器來引用網(wǎng)絡(luò)代理,而不是外部目標(biāo)服務(wù)器,可以將用戶安全地(盡管是間接地)接入Web資源。在使用Web瀏覽器來從防火墻的外部檢索信息時(shí),它將一個(gè)請(qǐng)求發(fā)送給網(wǎng)絡(luò)代理,該網(wǎng)絡(luò)代理然后完成該請(qǐng)求,并且將結(jié)果返回給該請(qǐng)求者。Id.
現(xiàn)在參見圖2,根據(jù)這一實(shí)施例,一個(gè)動(dòng)態(tài)的可控制的網(wǎng)絡(luò)代理34管理數(shù)據(jù)從因特網(wǎng)18到一個(gè)網(wǎng)絡(luò)客戶機(jī)12的傳輸。網(wǎng)絡(luò)客戶機(jī)12和網(wǎng)絡(luò)代理34可以是任何具有適當(dāng)?shù)臄?shù)據(jù)通訊能力和處理能力的任何計(jì)算機(jī)。網(wǎng)絡(luò)客戶機(jī)12通過一個(gè)客戶/服務(wù)器通訊鏈路14向網(wǎng)絡(luò)代理34傳送對(duì)于信息的請(qǐng)求和從網(wǎng)絡(luò)代理34接收信息??蛻?服務(wù)器通訊鏈路14可以包括例如一個(gè)所謂的使用例如POTS(普通老式電話業(yè)務(wù))撥號(hào)技術(shù)或者無線連接的“慢網(wǎng)絡(luò)”。替代方案是,客戶/服務(wù)器通訊鏈路14可以包括一個(gè)所謂的諸如LAN或WAN(廣域網(wǎng))的“快網(wǎng)絡(luò)”,該網(wǎng)絡(luò)能夠以比慢網(wǎng)絡(luò)可能有的速度更快的速度(例如5到10倍)運(yùn)行。這些接入方法的組合也是可能的。例如網(wǎng)絡(luò)客戶機(jī)12可以使用一個(gè)POTS或者無線撥號(hào)連接到一個(gè)由一個(gè)ISP(因特網(wǎng)業(yè)務(wù)提供商)維護(hù)的一個(gè)調(diào)制解調(diào)器堆,其又通過一個(gè)LAN連接到一個(gè)網(wǎng)絡(luò)代理34。網(wǎng)絡(luò)代理34通過服務(wù)器/網(wǎng)絡(luò)通訊鏈路16與因特網(wǎng)18上的計(jì)算機(jī)進(jìn)行通訊,該鏈路可以包括在本技術(shù)中公知的任何適當(dāng)?shù)耐ㄓ嵔橘|(zhì)。服務(wù)器/網(wǎng)絡(luò)通訊鏈路16的連接通常比客戶機(jī)/服務(wù)器通訊鏈路14更快。
網(wǎng)絡(luò)代理34例如可以實(shí)現(xiàn)為一個(gè)網(wǎng)絡(luò)服務(wù)器的一部分,作為與一個(gè)網(wǎng)絡(luò)服務(wù)器通訊的一個(gè)獨(dú)立的計(jì)算機(jī),或者甚至作為一個(gè)計(jì)算機(jī)的分布式系統(tǒng)。網(wǎng)絡(luò)代理34例如可以連接到因特網(wǎng)18上的一個(gè)網(wǎng)絡(luò)服務(wù)器(未示出),一個(gè)ISP的網(wǎng)絡(luò),一個(gè)企業(yè)網(wǎng),或任何地方,并且向多個(gè)用戶提供獲得因特網(wǎng)18上駐留的內(nèi)容的方式。網(wǎng)絡(luò)代理34明顯不同于公知的網(wǎng)絡(luò)代理,其通常只是向外部因特網(wǎng)資源請(qǐng)求和自外部因特網(wǎng)資源接收響應(yīng)的通道。這里,網(wǎng)絡(luò)代理34不僅檢查這種請(qǐng)求和響應(yīng),而且可以通過例如動(dòng)態(tài)重新配置一個(gè)或者多個(gè)操作參數(shù)根據(jù)請(qǐng)求中的命令進(jìn)行工作。
現(xiàn)在參見圖3,根據(jù)本發(fā)明的又一實(shí)施例,動(dòng)態(tài)可控制的網(wǎng)絡(luò)設(shè)備可以實(shí)現(xiàn)為一個(gè)變碼服務(wù)器34,該變碼服務(wù)器包括一個(gè)變碼器20,該變碼器20包括一個(gè)分析器22和多個(gè)變碼業(yè)務(wù)提供器24。分析器22被配置成對(duì)變碼器20接收的數(shù)據(jù)進(jìn)行操作,諸如對(duì)于由一個(gè)客戶機(jī)設(shè)備產(chǎn)生的一個(gè)網(wǎng)絡(luò)目標(biāo)的請(qǐng)求或者對(duì)由一個(gè)內(nèi)容服務(wù)器設(shè)備提供的請(qǐng)求的回答。在這一特定的實(shí)施例中,分析器22根據(jù)一個(gè)預(yù)定的選擇準(zhǔn)則負(fù)責(zé)有選擇地調(diào)用一個(gè)或多個(gè)變碼業(yè)務(wù)提供器24。如圖所示出的,變碼服務(wù)器34可以包括一個(gè)HTTP(超文本傳輸協(xié)議)遠(yuǎn)程代理36,該遠(yuǎn)程代理能夠通過服務(wù)器/網(wǎng)絡(luò)通訊鏈路16接入因特網(wǎng)18。HTTP遠(yuǎn)程代理36使用變碼器20能夠在將從因特網(wǎng)18接收的內(nèi)容返回到一個(gè)請(qǐng)求網(wǎng)絡(luò)客戶機(jī)12之前對(duì)其進(jìn)行變碼(例如增加,改變和/或刪除)。
現(xiàn)在更仔細(xì)地分析圖3的實(shí)施例,分析器22管理從變碼服務(wù)器34到網(wǎng)絡(luò)客戶機(jī)12傳送的數(shù)據(jù)的變碼。為此,分析器22根據(jù)一個(gè)預(yù)定的選擇準(zhǔn)則控制變碼業(yè)務(wù)提供器24以選擇性地變碼內(nèi)容。例如一個(gè)或多個(gè)變碼業(yè)務(wù)提供器24可以提供壓縮和/或縮放不同類型的數(shù)據(jù)內(nèi)容(諸如圖象,視頻或HTML(超文本標(biāo)記語言))的能力。如下面將要進(jìn)一步解釋的,也可以提供一個(gè)或多個(gè)變碼業(yè)務(wù)提供器24以根據(jù)包含在由變碼服務(wù)器34接收的一個(gè)請(qǐng)求或者一個(gè)數(shù)據(jù)目標(biāo)中包含的一個(gè)命令或者其他信息,或者是由變碼服務(wù)器34確定的任一其他信息,以實(shí)施這里所描述的動(dòng)態(tài)控制功能。
如圖3所示,變碼服務(wù)器34也可以包括一個(gè)由一個(gè)服務(wù)器側(cè)的高速緩沖存儲(chǔ)器接口28管理的服務(wù)器側(cè)的高速緩沖存儲(chǔ)器30。服務(wù)器側(cè)的高速緩沖存儲(chǔ)器30可用于存儲(chǔ)內(nèi)容的原始版本和變碼后的版本,用于以后傳輸?shù)骄W(wǎng)絡(luò)客戶機(jī)12,而不需要從因特網(wǎng)18重新檢索該內(nèi)容或重新變碼該內(nèi)容。
將變碼服務(wù)器34通過客戶機(jī)/服務(wù)器通訊鏈路14連接到網(wǎng)絡(luò)客戶機(jī)12。網(wǎng)絡(luò)客戶機(jī)12包括一個(gè)瀏覽器32,諸如網(wǎng)景公司的NetscapeNavigator v.3.0瀏覽器(盡管本發(fā)明不限于這一方面),該瀏覽器管理向用戶的數(shù)據(jù)顯示。在這一實(shí)施例中,網(wǎng)絡(luò)客戶機(jī)12是一個(gè)“非使能的”,這意味著沒有專業(yè)化的變碼軟件要預(yù)先加載到網(wǎng)絡(luò)客戶機(jī)12。
分析器22可以包括一個(gè)相當(dāng)簡(jiǎn)單的一致的到HTTP遠(yuǎn)程代理36的接口,并且可以提供一個(gè)用于動(dòng)態(tài)控制變碼服務(wù)器34和/或用于變碼由HTTP遠(yuǎn)程代理36接收的數(shù)據(jù)的API(應(yīng)用編程接口)。分析器22管理一個(gè)或者多個(gè)變碼業(yè)務(wù)提供器24,其通過一個(gè)公共SPI(業(yè)務(wù)提供器接口)被接入。在這一特定的實(shí)施例中,分析器22被設(shè)計(jì)成與該窗口開放系統(tǒng)體系結(jié)構(gòu)(WOSA)一致,并且可以實(shí)現(xiàn)為一個(gè)Win32 DLL(動(dòng)態(tài)連接庫)。在Readings on Microsoft Windows and WOSA(MicrosoftCorp.1995)所描述的WOSA體系結(jié)構(gòu)允許將另外的變碼業(yè)務(wù)提供器24動(dòng)態(tài)加入到該系統(tǒng)中以提供新的特征,諸如新的或改進(jìn)的變碼算法,同時(shí)不要求改變或者重新測(cè)試該系統(tǒng)中的其他軟件部件。這一特征在變碼服務(wù)器34也與“所使能的”安裝了專業(yè)化的變碼軟件的網(wǎng)絡(luò)客戶機(jī)進(jìn)行交互時(shí)也極其有用。有利的是,變碼服務(wù)器34可以足夠靈活地配置以隨時(shí)與非使能的和使能的網(wǎng)絡(luò)客戶機(jī)進(jìn)行交互。
象分析器22一樣,服務(wù)器側(cè)高速緩沖存儲(chǔ)器接口28可以仿照一個(gè)標(biāo)準(zhǔn)的獲得/設(shè)置(Get/Set)接口進(jìn)行制造。實(shí)質(zhì)上,服務(wù)器側(cè)高速緩沖存儲(chǔ)器30“擁有”所有的被高速緩存的目標(biāo),其中它管理這些目標(biāo)的特性和存儲(chǔ),并且可以使任何非鎖定的目標(biāo)在任何時(shí)候無效;然而,任一給定的被高速緩存的目標(biāo)的實(shí)際格式只為分析器22和其相關(guān)的變碼業(yè)務(wù)提供器24所知。因此,為了數(shù)據(jù)的完整性和變碼效率的目的,所有對(duì)于這一實(shí)施例中的服務(wù)器側(cè)高速緩沖存儲(chǔ)器30的接入都通過分析器22。
在這一特定的實(shí)施例中,分析器22包括下列調(diào)用GetObject(URL,InParams,&Outparams,&OutStream,...);GetScaledObject(URL,InParams,&OutParams,&OutStream,Stage,...);PutObject(URL,InParamStruct,&InStream,&OutParams,&OutStream,...).
分析器22使用這些調(diào)用以管理向網(wǎng)絡(luò)客戶機(jī)12提供所請(qǐng)求的內(nèi)容。
GetObject()調(diào)用用于服務(wù)非使能的客戶機(jī)請(qǐng)求,并且返回一個(gè)特定的超文本目標(biāo)的一個(gè)非變碼(即原始)的版本。在這一實(shí)施例中,變碼服務(wù)器34假設(shè)每一HTTP請(qǐng)求具有一個(gè)唯一的線程,該線程可以被阻塞直到該請(qǐng)求被滿足。相應(yīng)地,該GetObject()調(diào)用將阻塞,直到它返回該所請(qǐng)求的數(shù)據(jù)流或者指示失敗的原因(例如目標(biāo)不存在)。為了兼容的原因,這一返回一個(gè)所謂的標(biāo)準(zhǔn)的超文本目標(biāo)的能力是有利的,其允許本發(fā)明的實(shí)施例與現(xiàn)有的不包括支持某些變碼功能(例如先進(jìn)的數(shù)據(jù)壓縮)的瀏覽器一起使用,并且允許用戶選擇性地檢索非變碼的版本。
GetScaledObject()調(diào)用類似于Getobject(),并且也用于從服務(wù)器側(cè)高速緩沖存儲(chǔ)器30請(qǐng)求一個(gè)目標(biāo);然而,它加入了對(duì)請(qǐng)求該目標(biāo)的一個(gè)特定版本的支持,諸如一種高質(zhì)量的再現(xiàn)。與傳統(tǒng)的高速緩存代理不同,變碼業(yè)務(wù)提供器24可以使用服務(wù)器側(cè)高速緩沖存儲(chǔ)器30來存儲(chǔ)一個(gè)目標(biāo)的幾個(gè)不同的版本,以支持具有不同的通訊和/或表示能力的客戶機(jī)。從而,一個(gè)傳統(tǒng)的″Stage″參數(shù)可用于指示將該高速緩存的目標(biāo)的哪一版本返回給網(wǎng)絡(luò)客戶機(jī)12。在配置變碼業(yè)務(wù)提供器24以縮放網(wǎng)絡(luò)內(nèi)容的情況下,可以使用這一參數(shù)請(qǐng)求一個(gè)具有比如一個(gè)缺省縮放質(zhì)量的一個(gè)高速緩存的目標(biāo)的一個(gè)版本,改進(jìn)的具有較好質(zhì)量的版本,或者該最初的非縮放的版本。
在這一實(shí)施例中,在網(wǎng)絡(luò)客戶機(jī)12請(qǐng)求一個(gè)超文本目標(biāo)的時(shí)候,HTTP遠(yuǎn)程代理36使用GetObject()或者GetScaledObject()調(diào)用(根據(jù)網(wǎng)絡(luò)客戶機(jī)12是否能夠接收該縮放的/變碼的數(shù)據(jù)類型)從分析器22檢索該超文本目標(biāo)。如果該超文本目標(biāo)沒有找到,分析器22使用該CreateEntry()調(diào)用在服務(wù)器側(cè)高速緩沖存儲(chǔ)器30創(chuàng)建一項(xiàng)(實(shí)際上是一個(gè)保存場(chǎng)所)用于該新目標(biāo)。該新項(xiàng)返回給HTTP遠(yuǎn)程代理36,后者從因特網(wǎng)18請(qǐng)求該超文本目標(biāo)。在將該超文本目標(biāo)的一個(gè)數(shù)據(jù)流返回時(shí),HTTP遠(yuǎn)程代理36使用PutObject()調(diào)用調(diào)用分析器22,將該新項(xiàng)和要放入該項(xiàng)中的數(shù)據(jù)流的句柄傳送進(jìn)該調(diào)用中。分析器22根據(jù)例如該數(shù)據(jù)流的內(nèi)容類型選擇一個(gè)適當(dāng)?shù)淖兇a業(yè)務(wù)提供器24。在這一上下文中,術(shù)語內(nèi)容類型包括一個(gè)數(shù)據(jù)類型,一個(gè)HTTP MIME(多用途因特網(wǎng)郵件擴(kuò)展)類型,一種內(nèi)容格式等等。該所選擇的變碼業(yè)務(wù)提供器24使用一個(gè)單獨(dú)的線程來讀取該進(jìn)入的數(shù)據(jù)流,將之變碼,并且放入服務(wù)器側(cè)高速緩沖存儲(chǔ)器30的該項(xiàng)中。該當(dāng)前的線程立即返回給HTTP遠(yuǎn)程代理36,后者再次調(diào)用GetScaledObject()(或者GetObject())。這種情況總是造成高速緩存命中。然后這一線程與在PutObject()中的該單獨(dú)的線程同時(shí)工作,將數(shù)據(jù)(原始的或變碼的)從變碼服務(wù)器34傳送到網(wǎng)絡(luò)客戶機(jī)12。
在開始發(fā)送一個(gè)超文本目標(biāo)給網(wǎng)絡(luò)客戶機(jī)12之前,通過不等待一個(gè)超文本目標(biāo)完全被HTTP遠(yuǎn)程代理36接收或者將其整體進(jìn)入到服務(wù)器側(cè)高速緩沖存儲(chǔ)器30中,可以使用多線程處理來改進(jìn)變碼服務(wù)器34的效率。多線程處理的另一好處是分析器12可以有效地處理來自多個(gè)網(wǎng)絡(luò)客戶機(jī)12的對(duì)于同一超文本目標(biāo)的請(qǐng)求。該超文本目標(biāo)只須從因特網(wǎng)18檢索一次,以及同時(shí)可以將適當(dāng)?shù)陌姹緜鬏數(shù)酵瑯拥亩鄠€(gè)網(wǎng)絡(luò)客戶機(jī)12。然而,應(yīng)當(dāng)注意的是沒有多線程處理也可實(shí)現(xiàn)本發(fā)明的實(shí)施例。
根據(jù)圖3的實(shí)施例,可以動(dòng)態(tài)地控制變碼服務(wù)器34以進(jìn)行較廣范圍的操作,諸如重新配置變碼服務(wù)器34的操作參數(shù)。例如,為了重新配置允許哪些網(wǎng)絡(luò)設(shè)備訪問變碼服務(wù)器34,可以將一個(gè)HTTP消息發(fā)送到分析器22,使分析器22更新(其自身或者通過變碼業(yè)務(wù)提供器24)由變碼服務(wù)器34維持的一種安全機(jī)制(例如一個(gè)有效的網(wǎng)絡(luò)地址的表)。類似地,可以將一個(gè)HTTP消息傳送到變碼服務(wù)器34以對(duì)由變碼業(yè)務(wù)提供器24使用的一個(gè)或者多個(gè)參數(shù)進(jìn)行重新配置,將內(nèi)容在傳送給網(wǎng)絡(luò)客戶機(jī)12之前對(duì)其進(jìn)行變碼,比如指示變碼業(yè)務(wù)提供器24從通過它的內(nèi)容中刪除所有出現(xiàn)的一個(gè)特定的字。使用本發(fā)明的實(shí)施例所發(fā)揮的動(dòng)態(tài)控制的類型的其他例子包括使變碼服務(wù)器34使用更多(或者更少)的CPU資源用于特定的操作,重新配置高速緩沖存儲(chǔ)器30,以及清除高速緩沖存儲(chǔ)器30。
為了進(jìn)一步描述一個(gè)動(dòng)態(tài)可控制的網(wǎng)絡(luò)設(shè)備的操作,圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于動(dòng)態(tài)控制網(wǎng)絡(luò)設(shè)備的一個(gè)概括的方法的流程圖。處理是由動(dòng)態(tài)可控制網(wǎng)絡(luò)設(shè)備從另一網(wǎng)絡(luò)設(shè)備接收一個(gè)輸入開始的(步驟20)。在該動(dòng)態(tài)可控制網(wǎng)絡(luò)設(shè)備包括一個(gè)網(wǎng)絡(luò)代理的情況下,這種其他網(wǎng)絡(luò)設(shè)備可能包括一個(gè)客戶機(jī)設(shè)備或者一個(gè)內(nèi)容服務(wù)器。該動(dòng)態(tài)可控制網(wǎng)絡(luò)設(shè)備然后分析所接收的輸入以從中提取出一個(gè)命令(步驟30)。假設(shè)找到一個(gè)命令,該動(dòng)態(tài)可控制網(wǎng)絡(luò)設(shè)備然后根據(jù)該命令執(zhí)行某些預(yù)定的動(dòng)作(步驟40)。例如可以使用這一實(shí)施例的方法以提供上述的動(dòng)態(tài)控制功能。
根據(jù)本發(fā)明的實(shí)施例的一個(gè)動(dòng)態(tài)可控制網(wǎng)絡(luò)設(shè)備的好處在于不需對(duì)現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)進(jìn)行任何改變。在該網(wǎng)絡(luò)設(shè)備包括一個(gè)用于Web事務(wù)的網(wǎng)絡(luò)代理的一個(gè)實(shí)施例中,例如可以將命令通過標(biāo)準(zhǔn)的到特殊的URL的HTTP“POST”方法發(fā)送到該網(wǎng)絡(luò)代理。相應(yīng)地,要求僅用來分發(fā)代理命令的該客戶機(jī)軟件是一個(gè)標(biāo)準(zhǔn)的Web瀏覽器,除了要求以本領(lǐng)域當(dāng)前所公知的方式指定一個(gè)HTTP代理作為一個(gè)目的設(shè)備之外對(duì)該客戶機(jī)設(shè)備沒有特殊的配置要求。另一方面,該網(wǎng)絡(luò)代理也可以接受來自專業(yè)化的客戶機(jī)軟件的命令(如果存在的話)。類似地,該動(dòng)態(tài)可控制網(wǎng)絡(luò)代理可以自由地與現(xiàn)有的服務(wù)器設(shè)備進(jìn)行交互。該代理可以產(chǎn)生關(guān)于該客戶機(jī)的所需要的其自己的表格和狀態(tài)應(yīng)答,不需要任何特殊配置的HTTP服務(wù)器軟件或者CGI(公共網(wǎng)關(guān)接口)腳本處理能力。例如,該代理可以產(chǎn)生一個(gè)由該客戶機(jī)瀏覽器顯示的HTML表格。該用戶可以填充該表格并且將它提交。該瀏覽器取得該填充的表格,并且使用該輸入創(chuàng)建一個(gè)POST,將來自該HTML表格的結(jié)果進(jìn)行通訊。然后,該代理可以根據(jù)該P(yáng)OST進(jìn)行動(dòng)作,可能產(chǎn)生其自己的狀態(tài)響應(yīng),以便通知用戶該輸入命令是否工作。這種狀態(tài)響應(yīng)然后可由該瀏覽器顯示。使用這種類型的安排,現(xiàn)有的服務(wù)器和客戶機(jī)就可以與該動(dòng)態(tài)可控制網(wǎng)絡(luò)代理進(jìn)行交互,其方式和它們與任何其他網(wǎng)絡(luò)代理交互一樣。因此,本發(fā)明的實(shí)施例可以透明地實(shí)現(xiàn)在現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)中,不需要特殊的通訊端口或特殊協(xié)議。
本發(fā)明的實(shí)施例可以例如作為一組位于一個(gè)存儲(chǔ)介質(zhì)上的指令進(jìn)行分布。這一存儲(chǔ)介質(zhì)可能是一個(gè)計(jì)算機(jī)的存儲(chǔ)器;一塊固件;一個(gè)可攜帶存儲(chǔ)設(shè)備,諸如一個(gè)磁盤或者其他磁存儲(chǔ)設(shè)備,或者一個(gè)CD-ROM;或任何其他公知的用以存儲(chǔ)可執(zhí)行指令的介質(zhì)。
雖然已經(jīng)參照從因特網(wǎng)訪問數(shù)據(jù)的實(shí)施例描述了本發(fā)明,但是本領(lǐng)域的普通技術(shù)人員很容易就會(huì)認(rèn)識(shí)到該發(fā)明可以同樣應(yīng)用于其他網(wǎng)絡(luò)環(huán)境。比如,可以使用本發(fā)明的實(shí)施例增強(qiáng)一個(gè)網(wǎng)絡(luò)客戶機(jī)計(jì)算機(jī)和一個(gè)“內(nèi)部網(wǎng)”之間的數(shù)據(jù)通訊。一個(gè)內(nèi)部網(wǎng)通常是一個(gè)仿照因特網(wǎng)體系結(jié)構(gòu)建立的一個(gè)安全的企業(yè)網(wǎng)絡(luò),并且通常包括用于與諸如因特網(wǎng)的外部網(wǎng)絡(luò)進(jìn)行通訊的機(jī)制。
上述是本發(fā)明的具體實(shí)施例的一種詳細(xì)描述。本發(fā)明包括落在本發(fā)明的權(quán)利要求的字面和精神內(nèi)的所有替換,修改和變化,以及所要求的客體的代價(jià)物。例如,本領(lǐng)域的普通技術(shù)人員很容易就會(huì)認(rèn)識(shí)到這里所描述的功能可以以事實(shí)上能夠接收HTTP消息的任何網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn),這些網(wǎng)絡(luò)設(shè)備包括內(nèi)容服務(wù)器和客戶機(jī)設(shè)備。而且,本發(fā)明的實(shí)施例可以應(yīng)用于HTTP協(xié)議之外的其他通訊協(xié)議。本領(lǐng)域的普通技術(shù)人員將會(huì)從前面的詳細(xì)描述認(rèn)識(shí)到其他許多替換,修改和變化都是可能的。
權(quán)利要求
1.一種能夠通過一個(gè)外部輸入而被動(dòng)態(tài)控制的網(wǎng)絡(luò)設(shè)備,該網(wǎng)絡(luò)設(shè)備包括一個(gè)分析器和一個(gè)業(yè)務(wù)提供器,所述分析器包括響應(yīng)從由所述網(wǎng)絡(luò)設(shè)備接收的一個(gè)外部輸入中分析出的一個(gè)代理命令來選擇性地調(diào)用所述業(yè)務(wù)提供器的指令。
2.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)設(shè)備,其中該外部輸入包括一個(gè)HTTP一致的消息。
3.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)設(shè)備,其中所述網(wǎng)絡(luò)設(shè)備位于一個(gè)客戶機(jī)和一個(gè)服務(wù)器之間,所述分析器還包括響應(yīng)從該客戶機(jī)接收的一個(gè)請(qǐng)求中分析出的一個(gè)命令來選擇性地調(diào)用所述業(yè)務(wù)提供器的指令。
4.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)設(shè)備,其中所述網(wǎng)絡(luò)設(shè)備位于一個(gè)客戶機(jī)和一個(gè)服務(wù)器之間,所述分析器還包括響應(yīng)從該服務(wù)器接收的一個(gè)數(shù)據(jù)目標(biāo)中分析出的一個(gè)命令來選擇性地調(diào)用所述業(yè)務(wù)提供器的指令。
5.根據(jù)權(quán)利要求4的網(wǎng)絡(luò)設(shè)備,其中所述業(yè)務(wù)提供器包括在傳送所述數(shù)據(jù)目標(biāo)至該客戶機(jī)之前用于變碼所述數(shù)據(jù)目標(biāo)的指令。
6.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)設(shè)備,其中所述網(wǎng)絡(luò)設(shè)備位于一個(gè)客戶機(jī)和一個(gè)第二網(wǎng)絡(luò)設(shè)備之間,所述分析器還包括響應(yīng)由所述網(wǎng)絡(luò)設(shè)備從該第二網(wǎng)絡(luò)設(shè)備接收的一個(gè)數(shù)據(jù)目標(biāo)中分析出的一個(gè)命令來選擇性地調(diào)用所述業(yè)務(wù)提供器的指令。
7.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)設(shè)備,其中所述業(yè)務(wù)提供器包括用于重新配置所述網(wǎng)絡(luò)設(shè)備的指令。
8.根據(jù)權(quán)利要求7的網(wǎng)絡(luò)設(shè)備,其中所述業(yè)務(wù)提供器還包括用于設(shè)置所述網(wǎng)絡(luò)設(shè)備的一個(gè)操作參數(shù)的指令。
9.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)設(shè)備,其中所述業(yè)務(wù)提供器還包括用于管理所述網(wǎng)絡(luò)設(shè)備使用的一個(gè)日志文件的指令。
10.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)設(shè)備,其中所述業(yè)務(wù)提供器還包括用于從所述網(wǎng)絡(luò)設(shè)備獲得狀態(tài)消息的指令。
11.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)設(shè)備,其中所述業(yè)務(wù)提供器還包括用于重新啟動(dòng)所述網(wǎng)絡(luò)設(shè)備的指令。
12.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)設(shè)備,其中所述網(wǎng)絡(luò)設(shè)備還包括一個(gè)網(wǎng)絡(luò)代理。
13.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)設(shè)備,其中所述網(wǎng)絡(luò)設(shè)備還包括一個(gè)內(nèi)容服務(wù)器。
14.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)設(shè)備,其中所述網(wǎng)絡(luò)設(shè)備還包括一個(gè)客戶機(jī)設(shè)備。
15.一種用于動(dòng)態(tài)控制一個(gè)網(wǎng)絡(luò)設(shè)備的方法,其中該網(wǎng)絡(luò)設(shè)備連接到一個(gè)第二網(wǎng)絡(luò)設(shè)備,所述方法包括下述步驟從該第二網(wǎng)絡(luò)設(shè)備接收一個(gè)輸入;從所述輸入提取一個(gè)命令;以及響應(yīng)所述提取的命令而執(zhí)行一個(gè)動(dòng)作。
16.根據(jù)權(quán)利要求15的方法,其中所述輸入包括接收一個(gè)HTTP一致的消息。
17.根據(jù)權(quán)利要求15的方法,其中所述動(dòng)作包括重新配置該網(wǎng)絡(luò)設(shè)備。
18.根據(jù)權(quán)利要求17的方法,其中所述輸入包括接收一個(gè)HTML表格的結(jié)果。
19.根據(jù)權(quán)利要求15的方法,其中所述第二網(wǎng)絡(luò)設(shè)備包括一個(gè)網(wǎng)絡(luò)服務(wù)器,并且所述網(wǎng)絡(luò)設(shè)備位于一個(gè)客戶設(shè)備與所述第二網(wǎng)絡(luò)設(shè)備之間,所述輸入包括由所述客戶設(shè)備所請(qǐng)求的數(shù)據(jù)目標(biāo),所述動(dòng)作包括在發(fā)送所述數(shù)據(jù)目標(biāo)到所述客戶設(shè)備之前對(duì)所述數(shù)據(jù)目標(biāo)進(jìn)行變碼。
全文摘要
在一個(gè)網(wǎng)絡(luò)設(shè)備(2)中實(shí)現(xiàn)一個(gè)用于動(dòng)態(tài)控制一個(gè)網(wǎng)絡(luò)設(shè)備的系統(tǒng),該網(wǎng)絡(luò)設(shè)備(2)包括一個(gè)分析器(6)和一個(gè)業(yè)務(wù)提供器(8)。該分析器(6)包括響應(yīng)從該網(wǎng)絡(luò)設(shè)備(2)接收的一個(gè)外部輸入中分析出的一個(gè)命令選擇性地調(diào)用該業(yè)務(wù)提供器(8)的指令。
文檔編號(hào)H04L29/06GK1716940SQ200510059450
公開日2006年1月4日 申請(qǐng)日期1998年3月20日 優(yōu)先權(quán)日1997年3月25日
發(fā)明者R·C·克瑙埃爾哈澤, M·M-H·特索 申請(qǐng)人:英特爾公司