專利名稱:用于為專用網(wǎng)絡(luò)上的資源提供安全訪問的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及客戶機(jī)-服務(wù)器計(jì)算,尤其涉及經(jīng)由網(wǎng)絡(luò)而對資源進(jìn)行安全訪問的客戶機(jī)-服務(wù)器計(jì)算。
背景技術(shù):
諸如Netscape Navigator或Microsoft Explorer之類的網(wǎng)絡(luò)瀏覽器(瀏覽器應(yīng)用)允許客戶機(jī)用戶經(jīng)由因特網(wǎng)而從遠(yuǎn)端服務(wù)器設(shè)備中請求并檢索資源。這些網(wǎng)絡(luò)瀏覽器可以顯示或再現(xiàn)遠(yuǎn)端服務(wù)器設(shè)備提供的超文本標(biāo)記語言(HTML)文檔。此外,這些瀏覽器還能執(zhí)行HTML文檔中嵌入的腳本程序,以便提供某種本地功能。
通常,網(wǎng)絡(luò)瀏覽器被用于訪問諸如因特網(wǎng)之類的公共網(wǎng)絡(luò)。而專用網(wǎng)絡(luò)則通常受到防火墻保護(hù),因此處于專用網(wǎng)絡(luò)外部的計(jì)算設(shè)備上的瀏覽器不能訪問專用網(wǎng)絡(luò)上的任何資源。
雖然防火墻在防止外部訪問專用網(wǎng)絡(luò)方面是非常有效的,但是一般來說,外部人員或公司至少需要對其他人或其他公司的專用網(wǎng)絡(luò)進(jìn)行有限制的訪問。例如,商業(yè)客戶的零件供應(yīng)商可以通過訪問商業(yè)客戶專用網(wǎng)絡(luò)上保存的信息(例如庫存量或訂單)來為商業(yè)客戶提供更好的服務(wù)。有一種常規(guī)方法允許供應(yīng)商設(shè)備經(jīng)由公共網(wǎng)絡(luò)并穿過防火墻來訪問專用網(wǎng)絡(luò)。這樣將會(huì)在防火墻中提供一個(gè)嚴(yán)重危及專用網(wǎng)絡(luò)安全的“空穴”。因此,如果非常關(guān)注安全,那么通常不允許使用這種常規(guī)方法。另一種常規(guī)方法是與供應(yīng)商設(shè)備建立虛擬專用網(wǎng)(VPN)。在這里,供應(yīng)商設(shè)備也能通過公共網(wǎng)絡(luò)和防火墻來訪問專用網(wǎng)絡(luò),但是所有數(shù)據(jù)傳輸都是經(jīng)過加密的。某些防火墻支持VPN并且可以使用諸如點(diǎn)到點(diǎn)隧道協(xié)議(PPTP)這類提供了加密通信的協(xié)議,然而,雖然VPN提供了遠(yuǎn)程安全訪問,但是很難對其進(jìn)行安裝、配置和管理。而且還必須為每一個(gè)訪問專用網(wǎng)絡(luò)的外部人員或公司提供一個(gè)VPN。此外,VPN的費(fèi)用很高并且每一個(gè)VPN都為整個(gè)專用網(wǎng)絡(luò)提供了某種安全隱患。
因此,需要一種改進(jìn)的方法,以便為專用網(wǎng)絡(luò)上保存的資源提供安全的遠(yuǎn)程訪問。
發(fā)明內(nèi)容
本發(fā)明涉及的是那些為專用網(wǎng)絡(luò)上保持的資源提供安全訪問的改進(jìn)方法。所述安全訪問可以通過使用標(biāo)準(zhǔn)的網(wǎng)絡(luò)瀏覽器并經(jīng)由一個(gè)公共網(wǎng)絡(luò)來提供。多個(gè)遠(yuǎn)程用戶可以通過一個(gè)公共接入點(diǎn)而對至少一部分專用網(wǎng)絡(luò)進(jìn)行有限制的受控訪問。
此外,本發(fā)明涉及那些為專用網(wǎng)絡(luò)上保持的電子郵件資源提供安全的遠(yuǎn)程訪問的改進(jìn)方法。所述安全訪問可以通過使用標(biāo)準(zhǔn)的網(wǎng)絡(luò)瀏覽器并經(jīng)由一個(gè)公共網(wǎng)絡(luò)來提供。多個(gè)遠(yuǎn)程用戶可以通過一個(gè)公共接入點(diǎn)而對專用網(wǎng)絡(luò)內(nèi)部郵件服務(wù)器上的電子郵件進(jìn)行有限制的受控訪問。本發(fā)明提供的解決方案不但允許本地訪問電子郵件資源,而且還提供了加強(qiáng)的驗(yàn)證方法。
本發(fā)明可以采用多種方式來加以實(shí)施,其中包括將其作為系統(tǒng)、方法、設(shè)備以及計(jì)算機(jī)可讀介質(zhì)。以下將對本發(fā)明的幾個(gè)實(shí)施例進(jìn)行論述。
作為一種經(jīng)由中間服務(wù)器來對專用網(wǎng)絡(luò)上的資源進(jìn)行訪問的方法,本發(fā)明的一個(gè)實(shí)施例至少包括以下操作接收來自用戶的訪問中間服務(wù)器的登錄請求;對用戶進(jìn)行驗(yàn)證;隨后在中間服務(wù)器上接收來自用戶的資源請求;所述資源請求要求對來自專用網(wǎng)絡(luò)的資源執(zhí)行特定操作;獲取用戶的訪問權(quán)限;確定用戶的訪問權(quán)限是否允許用戶在專用網(wǎng)絡(luò)上執(zhí)行所述特定操作;當(dāng)確定用戶的訪問權(quán)限不允許其在專用網(wǎng)絡(luò)上執(zhí)行所述特定操作的時(shí)候,阻止在專用網(wǎng)絡(luò)上執(zhí)行所述特定操作,由此不會(huì)具有針對所述資源請求的響應(yīng)。
作為一種經(jīng)由中間服務(wù)器來為專用網(wǎng)絡(luò)提供遠(yuǎn)程訪問的方法,本發(fā)明的一個(gè)實(shí)施例至少包括以下操作接收來自遠(yuǎn)程用戶的訪問中間服務(wù)器的請求;確定是否允許遠(yuǎn)程用戶訪問中間服務(wù)器;在確定允許遠(yuǎn)程用戶進(jìn)行訪問的時(shí)候,授權(quán)所述遠(yuǎn)程用戶訪問中間服務(wù)器,其中得到授權(quán)的訪問中傳送了關(guān)于專用網(wǎng)絡(luò)預(yù)定部分的訪問權(quán)限;隨后在中間服務(wù)器上接收來自遠(yuǎn)程用戶的資源請求,其中所述資源請求針對的是某種資源;通過所述訪問權(quán)限來確定是否允許來自遠(yuǎn)程用戶的資源請求;當(dāng)確定允許執(zhí)行來自用戶的資源請求的時(shí)候,向遠(yuǎn)程用戶提供所述特定資源;而在確定不允許來自用戶的資源請求的時(shí)候,拒絕遠(yuǎn)程用戶訪問所述特定資源。
作為一種中間服務(wù)器系統(tǒng),本發(fā)明的一個(gè)實(shí)施例至少包括一個(gè)萬維網(wǎng)服務(wù)器、一個(gè)協(xié)議處理機(jī)以及一個(gè)內(nèi)容變換器。萬維網(wǎng)服務(wù)器經(jīng)由網(wǎng)絡(luò)而接收來自客戶機(jī)設(shè)備的資源請求。協(xié)議處理機(jī)接收關(guān)于資源的請求,修改這些將要經(jīng)由專用網(wǎng)絡(luò)而被直接接到合適的遠(yuǎn)程服務(wù)器的請求,并且將經(jīng)過修改的資源請求轉(zhuǎn)發(fā)到合適的遠(yuǎn)程服務(wù)器。內(nèi)容轉(zhuǎn)換器則接收合適的遠(yuǎn)程服務(wù)器響應(yīng)于修改過的請求所提供的資源并且對所述資源進(jìn)行修改,以便對其中包含的至少某些鏈接進(jìn)行修改,從而將其直接接到中間服務(wù)器而不是遠(yuǎn)程服務(wù)器。
作為一種至少包括能夠經(jīng)由中間服務(wù)器來訪問專用網(wǎng)絡(luò)上的資源的計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀介質(zhì),本發(fā)明的一個(gè)實(shí)施例至少包括用于在中間服務(wù)器上接收來自用戶的資源請求的計(jì)算機(jī)代碼,其中所述資源請求要求對來自專用網(wǎng)絡(luò)的資源進(jìn)行特定操作;用于為用戶獲取訪問權(quán)限的計(jì)算機(jī)代碼;用于確定所述用戶訪問權(quán)限是否允許用戶在專用網(wǎng)絡(luò)上執(zhí)行所述特定操作的計(jì)算機(jī)代碼;以及用于在所述用于確定的計(jì)算機(jī)代碼確定用戶訪問權(quán)限不允許用戶在專用網(wǎng)絡(luò)上執(zhí)行所述特定操作的時(shí)候,阻止在專用網(wǎng)絡(luò)上執(zhí)行所述特定操作,由此不會(huì)具有針對所述資源請求的響應(yīng)的計(jì)算機(jī)代碼。
作為一種至少包括了簡化經(jīng)由中間服務(wù)器所對專用網(wǎng)絡(luò)訪問的計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀介質(zhì),本發(fā)明的一個(gè)實(shí)施例至少包括用于從用戶那里接收一個(gè)要求訪問中間服務(wù)器的登錄請求的計(jì)算機(jī)程序代碼;用于確定是否允許用戶訪問所述中間服務(wù)器的計(jì)算機(jī)程序代碼;用于在所述用于確定的計(jì)算機(jī)程序代碼確定允許用戶訪問的時(shí)候許可所述用戶訪問中間服務(wù)器的計(jì)算機(jī)程序代碼,其中這個(gè)得到許可的訪問還攜帶了關(guān)于專用網(wǎng)絡(luò)預(yù)定部分的訪問權(quán)限;用于在中間服務(wù)器上后續(xù)接收來自用戶的資源請求的計(jì)算機(jī)程序代碼,所述資源請求要求得到特定資源;用于確定所述訪問權(quán)限是否允許執(zhí)行來自用戶的資源請求的計(jì)算機(jī)程序代碼;用于在所述用于確定的計(jì)算機(jī)程序代碼確定允許執(zhí)行來自用戶的資源請求的時(shí)候,向所述用戶提供特定資源的計(jì)算機(jī)程序代碼;以及用于在所述用于確定的計(jì)算機(jī)程序代碼確定不允許執(zhí)行來自用戶的資源請求的時(shí)候拒絕用戶訪問所述特定資源的計(jì)算機(jī)程序代碼。
作為一種用于簡化郵件客戶機(jī)經(jīng)由中間服務(wù)器來遠(yuǎn)程訪問郵件服務(wù)器的方法,本發(fā)明的一個(gè)實(shí)施例至少包括以下操作在中間服務(wù)器上接收郵件訪問請求,其中所述郵件訪問請求是從用于請求者的郵件客戶機(jī)發(fā)送到中間服務(wù)器的;接收與郵件訪問請求有關(guān)的口令;根據(jù)接收到的口令并使用郵件服務(wù)器來對請求者進(jìn)行驗(yàn)證;基于接收到的口令并且使用驗(yàn)證服務(wù)器來對請求者進(jìn)行驗(yàn)證,其中所述驗(yàn)證服務(wù)器與包含郵件服務(wù)器的專用網(wǎng)絡(luò)相關(guān)聯(lián);以及,當(dāng)郵件服務(wù)器和驗(yàn)證服務(wù)器對所述請求者進(jìn)行了驗(yàn)證的時(shí)候,允許執(zhí)行所述郵件訪問請求。
作為一種用于對試圖訪問郵件服務(wù)器的遠(yuǎn)程郵件客戶機(jī)的請求者進(jìn)行驗(yàn)證的方法,本發(fā)明的一個(gè)實(shí)施例至少包括以下操作從遠(yuǎn)程郵件客戶機(jī)那里接收口令;檢索先前保存的散列口令;確定所接收口令的散列版本是否匹配于先前保存的散列口令;基于接收到的口令并使用郵件服務(wù)器來對請求者進(jìn)行驗(yàn)證;當(dāng)確定接收到的口令的散列版本不匹配先前保存的散列口令時(shí),根據(jù)接收口令并使用驗(yàn)證服務(wù)器來對請求者進(jìn)行驗(yàn)證,其中所述驗(yàn)證服務(wù)器與包含所述郵件服務(wù)器的專用網(wǎng)絡(luò)相關(guān)聯(lián)。
作為一種至少包含了用于簡化郵件客戶機(jī)經(jīng)由中間服務(wù)器而對郵件服務(wù)器進(jìn)行遠(yuǎn)程訪問的計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀介質(zhì),本發(fā)明的一個(gè)實(shí)施例至少包括用于在中間服務(wù)器上接收郵件訪問請求的計(jì)算機(jī)程序代碼,其中所述郵件訪問請求是從用于請求者的郵件客戶機(jī)發(fā)送到中間服務(wù)器的;用于接收與郵件訪問請求相關(guān)聯(lián)的口令的計(jì)算機(jī)程序代碼;用于根據(jù)接收到的口令并使用郵件服務(wù)器來對請求者進(jìn)行驗(yàn)證的計(jì)算機(jī)程序代碼;用于根據(jù)接收到的口令并使用驗(yàn)證服務(wù)器來對請求者進(jìn)行驗(yàn)證的計(jì)算機(jī)程序代碼,其中所述驗(yàn)證服務(wù)器與包含郵件服務(wù)器的專用網(wǎng)絡(luò)相關(guān)聯(lián);以及用于在郵件服務(wù)器和驗(yàn)證服務(wù)器都對請求者進(jìn)行了驗(yàn)證的時(shí)候允許所述郵件訪問請求的計(jì)算機(jī)程序代碼。
作為一種至少包含了用于對試圖訪問郵件服務(wù)器的遠(yuǎn)程郵件客戶機(jī)的請求者進(jìn)行驗(yàn)證的計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀介質(zhì),本發(fā)明的一個(gè)實(shí)施例至少包括用于從遠(yuǎn)程郵件客戶機(jī)那里接收口令的計(jì)算機(jī)程序代碼;用于接收先前保存的散列口令的計(jì)算機(jī)程序代碼;用于確定接收到的口令的散列版本是否匹配于先前保存的散列口令的計(jì)算機(jī)程序代碼;用于根據(jù)接收到的口令并使用郵件服務(wù)器來驗(yàn)證請求者的計(jì)算機(jī)程序代碼;以及用于在所述用于確定的計(jì)算機(jī)程序代碼確定接收到的口令的散列版本不匹配先前保存的散列口令的時(shí)候,根據(jù)接收到的口令并使用驗(yàn)證服務(wù)器來對請求者進(jìn)行驗(yàn)證的計(jì)算機(jī)程序代碼,其中驗(yàn)證服務(wù)器與包含郵件服務(wù)器的專用網(wǎng)絡(luò)相關(guān)聯(lián)。
本發(fā)明的其他方面和優(yōu)點(diǎn)將從以下結(jié)合附圖的詳細(xì)描述中變得清楚,其中所述附圖是借助實(shí)例來對本發(fā)明原理進(jìn)行描述的。
通過以下結(jié)合附圖的詳細(xì)描述,可以非常容易地理解本發(fā)明,其中相同的參考數(shù)字表示的是相同的結(jié)構(gòu)成分,并且其中圖1A是根據(jù)本發(fā)明一個(gè)實(shí)施例的信息檢索系統(tǒng)的框圖。
圖1B是根據(jù)本發(fā)明另一個(gè)實(shí)施例的信息檢索系統(tǒng)的框圖。
圖2A是根據(jù)本發(fā)明一個(gè)實(shí)施例的中間服務(wù)器的框圖。
圖2B是根據(jù)本發(fā)明一個(gè)實(shí)施例的遠(yuǎn)程訪問系統(tǒng)的框圖。
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的請求處理的流程圖。
圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的驗(yàn)證處理的流程圖。
圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的訪問權(quán)限處理的流程圖。
圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的操作權(quán)限處理的流程圖。
圖7是根據(jù)本發(fā)明一個(gè)實(shí)施例的詳細(xì)的外部驗(yàn)證處理的流程圖。
圖8A和8B是根據(jù)本發(fā)明一個(gè)實(shí)施例的文件訪問請求處理的流程圖。
圖9A~9C是根據(jù)本發(fā)明一個(gè)實(shí)施例的萬維網(wǎng)資源請求處理的流程圖。
圖10描述的是根據(jù)本發(fā)明一個(gè)實(shí)施例的信息檢索系統(tǒng)的圖示;圖11是根據(jù)本發(fā)明一個(gè)實(shí)施例的URL修改處理的流程圖。
圖12是根據(jù)本發(fā)明一個(gè)實(shí)施例的腳本修改處理的流程圖。
圖13A和13B是根據(jù)本發(fā)明另一個(gè)實(shí)施例的腳本修改處理的流程圖。
圖14是根據(jù)本發(fā)明一個(gè)實(shí)施例的電子郵件請求處理的流程圖。
圖15是根據(jù)本發(fā)明一個(gè)實(shí)施例的郵件操作處理修改處理的流程圖。
圖16是根據(jù)本發(fā)明一個(gè)實(shí)施例的驗(yàn)證處理的流程圖。
圖17A和17B描述的是可以依照本發(fā)明使用的計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)例。
具體實(shí)施例方式
本發(fā)明的一個(gè)方面涉及那些用于為專用網(wǎng)絡(luò)上保持的資源提供安全訪問的改進(jìn)方法。這種安全訪問可以通過使用標(biāo)準(zhǔn)的網(wǎng)絡(luò)瀏覽器并經(jīng)由一個(gè)公共網(wǎng)絡(luò)來提供。多個(gè)遠(yuǎn)程用戶可以通過一個(gè)公共接入點(diǎn)而對至少一部分專用網(wǎng)絡(luò)進(jìn)行有限制的受控訪問。
這種解決方案使得雇員、承包商或合伙人之類的用戶能在遠(yuǎn)離與專用網(wǎng)絡(luò)的直接連接的同時(shí),能夠以一種安全的方式訪問專用網(wǎng)絡(luò)上的資源。本發(fā)明提供的這種解決方案不但易于建立和管理,而且還能以一種節(jié)省成本的方式來支持眾多遠(yuǎn)程用戶。
本發(fā)明的另一個(gè)方面涉及的是用于對專用網(wǎng)絡(luò)上保持的電子郵件資源提供安全遠(yuǎn)程訪問的改進(jìn)方法。這種安全訪問可以通過使用標(biāo)準(zhǔn)的網(wǎng)絡(luò)瀏覽器并經(jīng)由一個(gè)公共網(wǎng)絡(luò)來提供。多個(gè)遠(yuǎn)程用戶可以通過一個(gè)公共接入點(diǎn)來對專用網(wǎng)絡(luò)中郵件服務(wù)器上的電子郵件進(jìn)行有限制的受控訪問。本發(fā)明提供的解決方案不但允許在本地訪問電子郵件資源,而且還提供了加強(qiáng)的驗(yàn)證方法。
以下參考圖1A~17B來論述本發(fā)明這個(gè)方面的實(shí)施例。然而本領(lǐng)域技術(shù)人員很容易了解,在此參考附圖所給出的詳細(xì)說明僅僅是出于說明的目的,本發(fā)明也可以擴(kuò)展到這些有限實(shí)施例的范圍之外。
圖1A是根據(jù)本發(fā)明一個(gè)實(shí)施例的信息檢索系統(tǒng)100的框圖。信息檢索系統(tǒng)100包括網(wǎng)絡(luò)102、客戶機(jī)設(shè)備104和106、中間服務(wù)器108、遠(yuǎn)程服務(wù)器110和112、專用網(wǎng)絡(luò)114以及專用服務(wù)器116和118。網(wǎng)絡(luò)102充當(dāng)一種通信介質(zhì),其中客戶機(jī)設(shè)備104和106、中間服務(wù)器108以及遠(yuǎn)程服務(wù)器110和112可以經(jīng)由所述介質(zhì)來進(jìn)行通信。例如,網(wǎng)絡(luò)102可以是一個(gè)數(shù)據(jù)網(wǎng)絡(luò),其中可以包括因特網(wǎng)、廣域網(wǎng)或局域網(wǎng)。在這里,因特網(wǎng)是指全球性的互連計(jì)算機(jī)網(wǎng)絡(luò)。專用網(wǎng)絡(luò)114也充當(dāng)一種通信介質(zhì),其中中間服務(wù)器108與專用服務(wù)器116和118可以經(jīng)由所述介質(zhì)進(jìn)行通信。此外,網(wǎng)絡(luò)114也是一個(gè)數(shù)據(jù)網(wǎng)絡(luò)。通常,專用網(wǎng)絡(luò)114與一個(gè)實(shí)體相關(guān)聯(lián),由此那些操作專用網(wǎng)絡(luò)114上的計(jì)算設(shè)備的雇員可以與專用服務(wù)器116和118進(jìn)行通信。例如,在這里可以將專用網(wǎng)絡(luò)114稱為企業(yè)網(wǎng)或內(nèi)部網(wǎng)。然而,外部計(jì)算設(shè)備訪問專用網(wǎng)絡(luò)114通常會(huì)受到防火墻(未示出)的限制。而中間服務(wù)器108則被允許經(jīng)由防火墻而與專用網(wǎng)絡(luò)114進(jìn)行通信。在這里,就驗(yàn)證和許可客戶機(jī)設(shè)備(請求者)而言,中間服務(wù)器108是代表客戶機(jī)設(shè)備(請求者)而與專用網(wǎng)絡(luò)114進(jìn)行通信的。事實(shí)上,中間服務(wù)器108控制了它允許外部計(jì)算設(shè)備訪問的專用網(wǎng)絡(luò)114的范圍。
根據(jù)本發(fā)明,可以從客戶機(jī)設(shè)備104和106中接收處于專用服務(wù)器116和118上的內(nèi)容的請求。如這里使用的那樣,“內(nèi)容”是可以保存在服務(wù)器上并由客戶機(jī)檢索的任何信息或資源。一般來說,所述內(nèi)容是作為電子文件來體現(xiàn)的,并且其中包含了文本和/或圖像。通常,客戶機(jī)設(shè)備104和106操作的是瀏覽器應(yīng)用,所述應(yīng)用簡化了對網(wǎng)絡(luò)102和專用網(wǎng)絡(luò)114上的內(nèi)容進(jìn)行的請求和檢索。在這種情況下,所述內(nèi)容通常是作為一個(gè)可以用瀏覽器查看的文檔(例如標(biāo)記語言文檔、網(wǎng)頁等等)返回到瀏覽器應(yīng)用的,由此瀏覽器應(yīng)用可以顯示該內(nèi)容??蛻魴C(jī)設(shè)備104和106與一個(gè)中間服務(wù)器108進(jìn)行通信。一開始,中間服務(wù)器108確定是否對尋找內(nèi)容的客戶機(jī)設(shè)備104和106進(jìn)行驗(yàn)證以及是否允許這種針對專用網(wǎng)絡(luò)114的訪問。在進(jìn)行了成功驗(yàn)證和許可檢驗(yàn)之后,中間服務(wù)器108轉(zhuǎn)而代表客戶機(jī)設(shè)備104和106來訪問專用網(wǎng)絡(luò)114上的專用服務(wù)器116和118。一旦中間服務(wù)器108從專用服務(wù)器116和118種得到了所請求的內(nèi)容,那么中間服務(wù)器108可以將所請求的內(nèi)容直接返回給客戶機(jī)設(shè)備104和106,也可以先修改所請求的內(nèi)容,然后再將所述內(nèi)容遞送給客戶機(jī)設(shè)備104和106。
中間服務(wù)器108可以用多種形式修改所請求的內(nèi)容。作為一個(gè)實(shí)例,在將所請求的內(nèi)容遞送給客戶機(jī)設(shè)備104和106之前,中間服務(wù)器108可以向所請求的內(nèi)容中插入一個(gè)工具欄。作為另一個(gè)實(shí)例,中間服務(wù)器108也可以改變所請求內(nèi)容內(nèi)部的超鏈接,從而指向一個(gè)中間服務(wù)器(例如中間服務(wù)器108)。中間服務(wù)器108還可以對所請求的內(nèi)容執(zhí)行多種其他任務(wù)。此外,信息檢索系統(tǒng)100可以在中間服務(wù)器108上支持服務(wù)器存儲(chǔ)信息的集中保存。服務(wù)器存儲(chǔ)信息通常稱為“cookie”,但是cookie通常保存在客戶機(jī)設(shè)備上。
盡管圖1A中說明的信息檢索系統(tǒng)100僅僅描述了一對客戶機(jī)設(shè)備、一對遠(yuǎn)程服務(wù)器、一個(gè)單獨(dú)的中間服務(wù)器以及一對專用服務(wù)器,但是應(yīng)該理解,所述信息檢索系統(tǒng)100也可以支持多個(gè)客戶機(jī)設(shè)備和多個(gè)服務(wù)器設(shè)備。此外還應(yīng)該理解的是,所述信息檢索系統(tǒng)100可以支持多個(gè)中間服務(wù)器。
圖1B是根據(jù)本發(fā)明一個(gè)實(shí)施例的信息檢索系統(tǒng)150的框圖。舉例來說,信息檢索系統(tǒng)150是圖1A中描述的信息檢索系統(tǒng)100的一種更詳細(xì)的實(shí)施方式。
信息檢索系統(tǒng)150使用了因特網(wǎng)152以及經(jīng)由有線或無線裝置耦合到因特網(wǎng)152的客戶機(jī)設(shè)備154和156。通常,客戶機(jī)設(shè)備154和156操作的是客戶端應(yīng)用,例如網(wǎng)絡(luò)瀏覽器或郵件應(yīng)用程序。當(dāng)客戶機(jī)設(shè)備154和156的請求者(用戶)希望訪問遠(yuǎn)程資源的時(shí)候,資源請求是從客戶機(jī)設(shè)備154和156經(jīng)由因特網(wǎng)152發(fā)送到中間服務(wù)器158的。通常,客戶機(jī)設(shè)備154和156與中間服務(wù)器158之間通信是借助一種加密技術(shù)(例如安全套接字層(SSL))來保護(hù)的。中間服務(wù)器158提供了針對內(nèi)部網(wǎng)160的訪問。而客戶機(jī)設(shè)備154和156所請求的資源則處于內(nèi)部網(wǎng)160以內(nèi)。由于防火墻通常限制或阻止從外部訪問內(nèi)部網(wǎng)160,因此必須允許中間服務(wù)器158經(jīng)由防火墻162與內(nèi)部網(wǎng)進(jìn)行通信。內(nèi)部網(wǎng)160通常包含了能以電子方式訪問的不同類型的資源。一般來說,這些資源保存在與內(nèi)部網(wǎng)耦合或是作為內(nèi)部網(wǎng)一部分的服務(wù)器設(shè)備上。如圖1B所示,內(nèi)部網(wǎng)160耦合或包含了一個(gè)驗(yàn)證服務(wù)器164、一個(gè)萬維網(wǎng)服務(wù)器166、一個(gè)郵件服務(wù)器168、一個(gè)文件服務(wù)器170以及一個(gè)日志服務(wù)器172。因此,指定的客戶機(jī)設(shè)備可以經(jīng)由中間服務(wù)器158來訪問處于內(nèi)部網(wǎng)160之中的服務(wù)器164~172中的任何一個(gè)服務(wù)器。這樣一來,指定的客戶機(jī)設(shè)備可以使用一個(gè)網(wǎng)絡(luò)瀏覽器應(yīng)用來請求和接收那些處于萬維網(wǎng)服務(wù)器166上的資源。作為另一個(gè)實(shí)例,指定的客戶機(jī)設(shè)備可以使用一個(gè)客戶端郵件應(yīng)用程序來訪問郵件服務(wù)器168上的郵件資源。此外,作為另一個(gè)實(shí)例,指定的客戶機(jī)設(shè)備可以訪問處于內(nèi)部網(wǎng)160內(nèi)部或是所述網(wǎng)絡(luò)上的文件服務(wù)器170,以便獲取、存儲(chǔ)或查看其上的電子文件。
在這里對中間服務(wù)器158進(jìn)行了配置,以便確保經(jīng)由中間服務(wù)器158所進(jìn)行的訪問內(nèi)部網(wǎng)160的操作能夠得到保護(hù)。關(guān)于這一點(diǎn),在這里必須對那些嘗試訪問內(nèi)部網(wǎng)160上的資源或內(nèi)容的請求者進(jìn)行驗(yàn)證。所述驗(yàn)證可以使用內(nèi)部網(wǎng)160內(nèi)部或是所述網(wǎng)絡(luò)上的驗(yàn)證服務(wù)器164。關(guān)于這一點(diǎn),在中間服務(wù)器158上,在對請求者進(jìn)行驗(yàn)證的過程中,可以使用內(nèi)部網(wǎng)160所使用的本地驗(yàn)證技術(shù)。此外,中間服務(wù)器158可以由管理員進(jìn)行配置,以便在內(nèi)部網(wǎng)160內(nèi)部或是所述網(wǎng)絡(luò)上為不同請求者(例如客戶機(jī)設(shè)備的用戶)給出關(guān)于不同資源(例如服務(wù)器)的不同訪問權(quán)限。日志服務(wù)器172則允許在中間服務(wù)器158上保存那些涉及針對內(nèi)部網(wǎng)160的訪問請求的日志信息。所述日志信息可以在應(yīng)用級上提供,由此用戶更能對其加以辨別。
圖2A是根據(jù)本發(fā)明一個(gè)實(shí)施例的中間服務(wù)器200的框圖。舉例來說,中間服務(wù)器200適合用作圖1所示的中間服務(wù)器108。
中間服務(wù)器200包含了不同的處理模塊,這些模塊通常是通過中間服務(wù)器使用的處理設(shè)備執(zhí)行計(jì)算機(jī)程序代碼來實(shí)施的。更具體的說,中間服務(wù)器200的處理模塊包括一個(gè)萬維網(wǎng)服務(wù)器202和一個(gè)協(xié)議處理機(jī)204。萬維網(wǎng)服務(wù)器202經(jīng)由鏈路206(經(jīng)由一個(gè)網(wǎng)絡(luò))耦合到客戶機(jī)設(shè)備,而協(xié)議處理機(jī)204則經(jīng)由鏈路208(經(jīng)由一個(gè)網(wǎng)絡(luò))耦合到遠(yuǎn)程服務(wù)器。此外,萬維網(wǎng)服務(wù)器202與協(xié)議處理機(jī)204不但彼此進(jìn)行通信,而且還與不同的支持模塊以及一個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備210進(jìn)行通信。所述數(shù)據(jù)存儲(chǔ)設(shè)備210為中間服務(wù)器200保持的不同數(shù)據(jù)項(xiàng)提供永久或非易失存儲(chǔ)。通常,所述數(shù)據(jù)存儲(chǔ)設(shè)備為與客戶機(jī)設(shè)備相關(guān)聯(lián)的每一個(gè)用戶或請求者都提供了單獨(dú)的存儲(chǔ)器。
而處理模塊則包括一個(gè)驗(yàn)證管理器212和一個(gè)訪問管理器214。驗(yàn)證管理器212管理的是用于確定是否請求者即為其所稱謂的人員的驗(yàn)證處理。驗(yàn)證處理可以在本地進(jìn)行,也可在中間服務(wù)器200外部進(jìn)行。例如,外部驗(yàn)證可以由一個(gè)處于專用網(wǎng)絡(luò)內(nèi)部的驗(yàn)證服務(wù)器(例如驗(yàn)證服務(wù)器164)提供。訪問管理器214則對專用網(wǎng)絡(luò)上的不同資源提供了訪問限制。也就是說,在這里可以為不同的請求者分配不同的訪問權(quán)限等級、類型或區(qū)域。舉例來說,請求者A可以訪問服務(wù)器X,但是不能訪問服務(wù)器Y和Z,請求者B能以只讀方式訪問服務(wù)器Y,但是不能訪問服務(wù)器X和Z。
中間服務(wù)器200還包括一個(gè)內(nèi)容變換器216,所述變換器是另一個(gè)處理模塊,它對從遠(yuǎn)程服務(wù)器接收的請求內(nèi)容進(jìn)行解析,然后以預(yù)定方式修改所述內(nèi)容。
中間服務(wù)器200包括的另一個(gè)處理模塊是cookie管理器218。cookie管理器管理的是“cookie”,由此對那些從遠(yuǎn)程服務(wù)器接收的cookie保存到數(shù)據(jù)存儲(chǔ)設(shè)備210,并且在恰當(dāng)時(shí)間將先前保存在數(shù)據(jù)存儲(chǔ)設(shè)備210中的這些“cookie”遞送到遠(yuǎn)程服務(wù)器。一般來說,“cookie”指的是服務(wù)器存儲(chǔ)信息。這種服務(wù)器存儲(chǔ)信息通常由遠(yuǎn)程服務(wù)器設(shè)定并用于會(huì)話、狀態(tài)或標(biāo)識目的。
圖2B是根據(jù)本發(fā)明一個(gè)實(shí)施例的遠(yuǎn)程訪問系統(tǒng)250的框圖。遠(yuǎn)程訪問系統(tǒng)250在客戶機(jī)-服務(wù)器環(huán)境中運(yùn)作,以使客戶機(jī)用戶能夠訪問遠(yuǎn)程服務(wù)器上的資源。特別地,遠(yuǎn)程訪問系統(tǒng)250包括一個(gè)網(wǎng)絡(luò)瀏覽器254和一個(gè)郵件客戶機(jī)256。所述網(wǎng)絡(luò)瀏覽器254和郵件客戶機(jī)256都是在客戶機(jī)設(shè)備上操作或運(yùn)行的客戶機(jī)應(yīng)用。通常,用戶或請求者與一個(gè)或多個(gè)客戶機(jī)程序進(jìn)行交互,以便請求那些處于遠(yuǎn)程服務(wù)器上的資源。網(wǎng)絡(luò)瀏覽器254和郵件客戶機(jī)256則通過安全鏈路或連接耦合到一個(gè)中間服務(wù)器252。中間服務(wù)器252也經(jīng)由安全或不安全連接或鏈路而與遠(yuǎn)程服務(wù)器相耦合。所述中間服務(wù)器252可以支持針對多個(gè)不同服務(wù)器的連接,例如在專用網(wǎng)絡(luò)上找到的服務(wù)器。專用網(wǎng)絡(luò)的一個(gè)實(shí)例是企業(yè)網(wǎng)。圖2B中描述的服務(wù)器包括萬維網(wǎng)服務(wù)器258、電子郵件服務(wù)器260、Windows文件服務(wù)器262,UNIX文件服務(wù)器264、驗(yàn)證服務(wù)器266以及日志服務(wù)器268。
中間服務(wù)器252包括一個(gè)安全套接字層(SSL)272,在到達(dá)前端協(xié)議處理機(jī)層270之前,所述安全套接字層為所述服務(wù)器與客戶機(jī)應(yīng)用的連接或鏈路提供加密處理。前端協(xié)議處理機(jī)層270包括多個(gè)協(xié)議處理機(jī),以便對不同客戶機(jī)應(yīng)用可以使用的不同類型的輸入?yún)f(xié)議進(jìn)行處理。如圖2B所示,前端協(xié)議處理機(jī)層270包括用于HTTP、IMAP、SMTP、POP和MAPI這些協(xié)議的單獨(dú)的協(xié)議處理機(jī)。在為一個(gè)輸入請求使用了恰當(dāng)?shù)膮f(xié)議處理機(jī)之后,可以使用中間服務(wù)器252內(nèi)部的其他功能模塊。特別地,訪問管理器274可以確定是否允許關(guān)聯(lián)于輸入請求的請求者使用所請求的訪問類型。驗(yàn)證管理器276可以確定請求者是否能夠通過驗(yàn)證。內(nèi)容變換器278可以對接收到的請求或是遠(yuǎn)程服務(wù)器提供的所請求的響應(yīng)的內(nèi)容進(jìn)行轉(zhuǎn)換。系統(tǒng)管理器280則允許系統(tǒng)管理員與中間服務(wù)器252進(jìn)行交互,以便對訪問權(quán)限、系統(tǒng)配置和登錄特征進(jìn)行配置。
中間服務(wù)器252還包括后端協(xié)議處理機(jī)282。所述后端協(xié)議處理機(jī)282為相對于特定服務(wù)器所進(jìn)行的輸入和輸出通信提供恰當(dāng)?shù)膮f(xié)議。如圖2B所示,后端協(xié)議處理機(jī)層包含用于如下協(xié)議的協(xié)議處理機(jī)HTTP、IMAP、SMTP、POP、SMB、NFS,NIS、RADIUS、LDAP以及NT。就中間服務(wù)器252的輸入?yún)f(xié)議不同于中間服務(wù)器252的輸出協(xié)議而言,內(nèi)容變換器278可以執(zhí)行協(xié)議變換(例如轉(zhuǎn)換)。此外,中間服務(wù)器252還包括一個(gè)數(shù)據(jù)存儲(chǔ)器284、一個(gè)日志管理器286以及一個(gè)數(shù)據(jù)同步管理器288。數(shù)據(jù)存儲(chǔ)器284可以為中間服務(wù)器252的不同組件提供臨時(shí)或半永久性的數(shù)據(jù)存儲(chǔ)器。例如對每一個(gè)客戶機(jī)或請求者來說,用于驗(yàn)證目的的本地記錄可以保存在數(shù)據(jù)存儲(chǔ)器284中。此外還可以將客戶機(jī)或請求者的會(huì)話標(biāo)識符或cookie以一種集中方式保存在數(shù)據(jù)存儲(chǔ)器284中。數(shù)據(jù)同步管理器288則是一個(gè)能夠通過將一個(gè)中間服務(wù)器與另一個(gè)中間服務(wù)器相耦合來提供容錯(cuò)功能的模塊。因此,如果一個(gè)中間服務(wù)器出現(xiàn)故障,那么出現(xiàn)故障的中間服務(wù)器可以經(jīng)由鏈路290耦合到一個(gè)正在運(yùn)行的中間服務(wù)器,從而提供通常與一個(gè)中間服務(wù)相關(guān)聯(lián)的某些或全部操作。在這里還提供了日志管理器286,以便能對通過中間服務(wù)器252發(fā)出的不同接入請求進(jìn)行應(yīng)用級的日志記錄。由日志管理器286形成的日志保存在日志服務(wù)器268中。
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的請求處理300的流程圖。無論何時(shí),只要中間服務(wù)器接收到了來自請求者的請求,則調(diào)用請求處理300,其中舉例來說,所述中間服務(wù)器可以是圖1A中描述的中間服務(wù)器108、圖1B中描述的中間服務(wù)器158、圖2A中描述的中間服務(wù)器200或圖2B中描述的中間服務(wù)器252。
請求處理300始于判定塊302,所述判定塊確定是否接收到的請求是一個(gè)系統(tǒng)登錄請求。當(dāng)判定塊302確定接收到的請求是一個(gè)系統(tǒng)登錄請求時(shí),所述請求處理300嘗試對請求者進(jìn)行驗(yàn)證304。所述驗(yàn)證既可以在本地執(zhí)行也可以在遠(yuǎn)端執(zhí)行。下文中提供了關(guān)于驗(yàn)證的附加細(xì)節(jié)。此后,判定塊306確定請求者是否通過了驗(yàn)證。當(dāng)判定塊306確定請求者不能通過驗(yàn)證時(shí),登錄嘗試將會(huì)失敗并且可以向請求者返回一個(gè)登錄頁面308。這個(gè)登錄頁面便于請求者重新嘗試登錄。在執(zhí)行了操作308之后,請求處理300完成并且在登錄請求失敗的情況下結(jié)束。
作為選擇,當(dāng)判定塊306確定請求者通過驗(yàn)證時(shí),則向請求者返回一個(gè)會(huì)話標(biāo)識符310。根據(jù)環(huán)境,所述請求者指的是客戶機(jī)設(shè)備或是客戶機(jī)設(shè)備用戶。只要會(huì)話有效,則在針對中間服務(wù)器的后續(xù)請求中使用所述會(huì)話標(biāo)識符。此外還向請求者返回一個(gè)初始訪問頁面312。而請求者則能夠從初始訪問頁面開始訪問專用網(wǎng)絡(luò)上的多種可用資源。在執(zhí)行了操作312之后,請求處理300完成并且在登錄請求成功的情況下結(jié)束。
除了關(guān)于登錄請求的處理之外,所述請求處理300還進(jìn)行操作,以便對其他所有經(jīng)由中間服務(wù)器的遠(yuǎn)程訪問進(jìn)行處理。因此,當(dāng)判定塊302確定接收到的請求不是一個(gè)系統(tǒng)登錄請求時(shí),判定塊314確定接收到的請求是否具有一個(gè)有效會(huì)話標(biāo)識符。如果請求者通過了驗(yàn)證(也就是登錄到中間服務(wù)器上)并且會(huì)話仍然有效,則接收到的請求具有一個(gè)有效會(huì)話標(biāo)識符。因此,當(dāng)判定塊314確定關(guān)聯(lián)于所接收的請求的會(huì)話標(biāo)識符無效時(shí),針對中間服務(wù)器的訪問將被拒絕,并且可以將登錄頁面返回給請求者308。作為選擇,當(dāng)判定塊314確定會(huì)話標(biāo)識符有效時(shí),判定塊316確定會(huì)話是否超時(shí)。當(dāng)判定塊316確定會(huì)話超時(shí)的時(shí)候,針對中間服務(wù)器的訪問將被拒絕,并且可以向請求者返回登錄頁面308。在這里,如果請求者具有一個(gè)無效會(huì)話標(biāo)識符或者所述會(huì)話已經(jīng)超時(shí),則迫使請求者進(jìn)行登錄,以便對其進(jìn)行驗(yàn)證。
另一方面,當(dāng)判定塊316確定會(huì)話沒有超時(shí)的時(shí)候,則允許請求者經(jīng)由中間服務(wù)器來訪問專用網(wǎng)絡(luò)。此后,根據(jù)請求者嘗試進(jìn)行的訪問的類型而會(huì)執(zhí)行附加的處理,以便確保請求者只能訪問那些被認(rèn)為是恰當(dāng)和預(yù)期的資源。特別地,根據(jù)請求處理300,在這里將會(huì)獲取與請求者相關(guān)聯(lián)的訪問權(quán)限318。所述訪問權(quán)限表示的是那些請求者有權(quán)訪問的資源。接著,判定塊320確定與接收到的請求相關(guān)聯(lián)的特定訪問類型是否得到許可。當(dāng)判定塊320確定這種與接收到的請求相關(guān)聯(lián)的訪問類型沒有得到許可的時(shí)候,則向請求者返回一個(gè)拒絕訪問的頁面322。作為選擇,當(dāng)判定塊320確定許可所接收的請求的訪問類型的時(shí)候,則允許對接收到的請求進(jìn)行處理324。在這里,對接收到的請求所進(jìn)行的處理能使請求者訪問(例如查看、檢索等等)那些來自專用網(wǎng)絡(luò)的受保護(hù)資源。在執(zhí)行了操作322和324之后,請求處理300完成并且所述處理只在認(rèn)為許可所述訪問時(shí)已處理了接收到的請求時(shí)結(jié)束。
圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的驗(yàn)證處理400的流程圖。舉例來說,所述驗(yàn)證處理400是與圖3描述的驗(yàn)證操作304相關(guān)聯(lián)的處理。
驗(yàn)證處理400始于判定塊402,所述判定塊402確定是否存在請求者(用戶)的本地記錄。當(dāng)判定塊402確定存在請求者的本地記錄時(shí),判定塊404確定是否有必要執(zhí)行本地或外部驗(yàn)證。在這里,本地記錄表示是否應(yīng)該執(zhí)行本地或外部驗(yàn)證。除了關(guān)于是否應(yīng)該執(zhí)行本地或外部驗(yàn)證的指示之外,本地記錄還可以保存其它有用信息,例如請求者(用戶)姓名、上次登錄時(shí)間、帳號狀態(tài)等等。當(dāng)判定塊404確定將要執(zhí)行本地驗(yàn)證時(shí),對一個(gè)為了進(jìn)行驗(yàn)證而被處理的具有登錄請求的口令進(jìn)行散列(hash)。所述散列是將一個(gè)字符串變成另一個(gè)表示原始字串并且名為“密鑰(key)”字符串的變換。散列函數(shù)可以執(zhí)行所述散列運(yùn)算。而所述散列通常是在加密與解密環(huán)境中執(zhí)行的。
接著,判定塊408確定經(jīng)過散列的口令是否與一個(gè)存儲(chǔ)的散列口令相匹配。當(dāng)判定塊408確定存在匹配時(shí),則認(rèn)為驗(yàn)證成功410。作為選擇,當(dāng)判定塊408確定不匹配時(shí),則認(rèn)為驗(yàn)證失敗412。此外,當(dāng)判定塊408確定不匹配時(shí),可以在日志中記錄一個(gè)訪問失敗414。在一個(gè)實(shí)施例中,所述日志可以由日志服務(wù)器提供。關(guān)于訪問失敗的日志記錄414可以提供應(yīng)用級信息,該信息便于在稍后查看日志時(shí)理解訪問失敗的性質(zhì)。在進(jìn)行了操作410和414之后,驗(yàn)證處理400完成并且是在驗(yàn)證成功或失敗的情況下結(jié)束,其中所述驗(yàn)證的成功和失敗取決于登錄請求是否包含了正確的口令。
另一方面,當(dāng)判定塊402確定不存在請求者的本地記錄時(shí),則判定塊416確定是否需要本地設(shè)定。在這里可以使用系統(tǒng)設(shè)定來表明是否需要本地記錄。管理員可以使用這種系統(tǒng)設(shè)定來做出限制,從而只有那些具有本地記錄的用戶才能進(jìn)行訪問。當(dāng)判定塊416確定需要本地設(shè)定的時(shí)候,由于沒有可用的本地記錄,因此認(rèn)為驗(yàn)證失敗412。同樣,在這里可以在日志中記錄414所述訪問失敗。作為選擇,當(dāng)判定塊416確定不需要本地設(shè)定或是判定塊404確定執(zhí)行外部驗(yàn)證時(shí),則獲取用于驗(yàn)證的外部驗(yàn)證服務(wù)器(EAS)的地址和類型418。不同的處理通常是結(jié)合不同類型的外部驗(yàn)證服務(wù)器來執(zhí)行的。一般來說,這些驗(yàn)證服務(wù)器是出于執(zhí)行驗(yàn)證的目的而在專用網(wǎng)絡(luò)內(nèi)部提供的。并且通常存在一個(gè)表示將要使用的外部驗(yàn)證服務(wù)器的系統(tǒng)設(shè)定。因此,驗(yàn)證處理400可以利用由這種外部驗(yàn)證服務(wù)器提供的本地驗(yàn)證。下文中涉及圖7的論述提供了關(guān)于不同類型的外部驗(yàn)證的附加細(xì)節(jié)。
接著,判定塊420確定外部驗(yàn)證是否成功。在這里,外部驗(yàn)證的執(zhí)行依賴于所指示的外部驗(yàn)證的特定類型。當(dāng)判定塊420確定外部驗(yàn)證并未成功時(shí),則認(rèn)為驗(yàn)證失敗412。此外如先前所述,在這里可以在日志中記錄所述訪問失敗414。另一方面,當(dāng)判定塊420確定外部驗(yàn)證成功時(shí),則認(rèn)為驗(yàn)證取得成功422。在執(zhí)行了操作422之后,驗(yàn)證處理400完成并且所述處理在請求者通過了驗(yàn)證的情況下結(jié)束。
圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的訪問權(quán)限處理500的流程圖。舉例來說,所述訪問權(quán)限處理500是圖3的判定塊320所執(zhí)行的處理。也就是說,訪問權(quán)限處理500確定特定請求者請求的訪問類型是否得到許可。事實(shí)上,所述訪問類型提供了可用于對請求者的訪問進(jìn)行限制的不同準(zhǔn)則。相對于圖5所示的實(shí)施例而言,所述準(zhǔn)則包含了源網(wǎng)際協(xié)議(IP)地址、時(shí)刻和操作。
訪問權(quán)限處理500始于判定塊502,其中確定是否認(rèn)可與接收到的請求(也就是請求者)相關(guān)聯(lián)的源IP地址。當(dāng)判定塊502確定關(guān)聯(lián)于所接收請求的源IP地址沒有得到認(rèn)可的時(shí)候,訪問權(quán)限處理500拒絕訪問504。在這里,為了降低進(jìn)行未經(jīng)認(rèn)可的訪問的風(fēng)險(xiǎn),訪問權(quán)限處理500將會(huì)確保只有那些已知的請求者的IP地址才能夠訪問專用資源。
當(dāng)判定塊502確定源IP地址得到認(rèn)可的時(shí)候,判定塊506確定發(fā)出請求的時(shí)間是否滿足訪問時(shí)刻的限制。一般來說,這個(gè)限制可以是針對所有請求者來進(jìn)行配置的,也可以單獨(dú)為每一個(gè)請求者配置這個(gè)限制。在這里,如果需要的話,可以對中間服務(wù)器進(jìn)行配置,以便只在某些時(shí)段才允許訪問專用資源。例如,這種處理可以只允許在營業(yè)時(shí)間或其它受限時(shí)間進(jìn)行訪問。當(dāng)判定塊506確定所接收的請求的時(shí)間不在許可時(shí)刻以內(nèi)時(shí),訪問權(quán)限處理500拒絕訪問504。
在確定了關(guān)聯(lián)于接收到的請求的時(shí)間是在許可時(shí)刻以內(nèi)時(shí),判定塊508確定是否允許進(jìn)行與接收到的請求相關(guān)聯(lián)的特定操作。在這里,輸入請求可以要求對專用資源執(zhí)行多種不同的操作。這些多種不同的操作往往隨著所提供的應(yīng)用類型而變化。判定塊508通過進(jìn)行操作,可以對允許不同請求者使用的操作進(jìn)行限制。當(dāng)判定塊508確定不允許進(jìn)行所請求的操作時(shí),則訪問將被拒絕504。另一方面,當(dāng)判定塊508確定允許進(jìn)行所請求的操作時(shí),則訪問將會(huì)得到許可510。在執(zhí)行了操作504和510之后,所述訪問權(quán)限處理500完成并結(jié)束。
圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的操作權(quán)限處理600的流程圖。舉例來說,所述操作權(quán)限處理600是由圖5中的判定塊508執(zhí)行的。此外應(yīng)該注意的是,操作權(quán)限處理600是在確定允許進(jìn)行所請求的操作的時(shí)候執(zhí)行所述操作的,由此操作權(quán)限處理600可以與圖3的操作320以及324相關(guān)聯(lián)。
操作權(quán)限處理600始于判定塊602,其中確定是否請求了文件瀏覽操作。當(dāng)判定塊602確定請求了文件瀏覽操作時(shí),判定塊604確定是否能為請求者啟用文件瀏覽。當(dāng)判定塊604確定不能為請求者啟用文件瀏覽時(shí),訪問將被拒絕606并且由此結(jié)束操作權(quán)限處理600。作為選擇,當(dāng)判定塊604確定能為請求者啟用文件瀏覽時(shí),判定塊608確定是否正在請求一個(gè)讀或?qū)懖僮?。?dāng)判定塊608確定請求了一個(gè)寫操作時(shí),判定塊610確定是否允許進(jìn)行寫訪問。在一個(gè)實(shí)施例中,判定塊610確定是否允許發(fā)出請求的特定請求者進(jìn)行寫訪問。當(dāng)判定塊610確定不允許進(jìn)行寫訪問時(shí),訪問將被拒絕606并且由此結(jié)束操作權(quán)限處理600。作為選擇,當(dāng)判定塊610確定允許進(jìn)行寫訪問時(shí),則執(zhí)行寫請求處理612,從而實(shí)現(xiàn)接收到的請求。在進(jìn)行了操作612之后,操作權(quán)限處理600是在執(zhí)行了所請求的操作的情況下結(jié)束。
另一方面,當(dāng)判定塊608確定正在請求一個(gè)讀操作時(shí),判定塊614確定是否允許進(jìn)行讀訪問。在一個(gè)實(shí)施例中,判定塊614確定是否允許發(fā)出請求的特定請求者執(zhí)行讀訪問。當(dāng)判定塊614確定不允許進(jìn)行讀訪問時(shí),所述訪問將被拒絕606。作為選擇,當(dāng)判定塊614確定允許進(jìn)行讀訪問時(shí),則通過執(zhí)行讀請求處理616來實(shí)現(xiàn)所請求的操作。在執(zhí)行了操作616之后,操作權(quán)限處理600完成并且在執(zhí)行了所請求的處理的情況下結(jié)束。
另一方面,當(dāng)判定塊602確定所請求的操作不是文件瀏覽操作時(shí),判定塊618確定是否所請求的操作是一個(gè)萬維網(wǎng)瀏覽操作。當(dāng)判定塊618確定所請求的操作是一個(gè)萬維網(wǎng)瀏覽操作時(shí),判定塊620確定請求者是否可以訪問與萬維網(wǎng)瀏覽操作相關(guān)聯(lián)的服務(wù)器。當(dāng)判定塊620確定請求者不能訪問該服務(wù)器時(shí),所述訪問將被拒絕606。在一個(gè)實(shí)施例中,中間服務(wù)器可以保持一個(gè)可以由特定請求者訪問的服務(wù)器的列表。這就使得中間服務(wù)器可以通過服務(wù)器名稱來對特定請求者能夠?yàn)g覽的資源進(jìn)行控制。例如,盡管專用網(wǎng)絡(luò)可以包括大量服務(wù)器,但是可以分別對請求者進(jìn)行限制,使之只能訪問某些服務(wù)器。作為選擇,當(dāng)判定塊620確定請求者能夠訪問與萬維網(wǎng)瀏覽操作相關(guān)的服務(wù)器時(shí),則執(zhí)行萬維網(wǎng)瀏覽請求處理622。換句話說,由于請求者有權(quán)訪問特定服務(wù)器,因此在這里將會(huì)執(zhí)行所請求的萬維網(wǎng)瀏覽操作622。在執(zhí)行了操作622之后,操作權(quán)限處理600在執(zhí)行了所請求的操的情況下結(jié)束。
另一方面,當(dāng)判定塊618確定所請求的操作不是萬維網(wǎng)瀏覽操作時(shí),則判定塊624確定是否所請求的操作是一個(gè)電子郵件操作。當(dāng)判定塊624確定所請求的操作是電子郵件操作時(shí),則判定塊626確定是否為請求者啟用電子郵件(email)。當(dāng)判定塊626確定沒有為請求者啟用電子郵件時(shí),所述訪問將被拒絕606。在這里,中間服務(wù)器能對特定請求者訪問電子郵件的操作進(jìn)行控制。作為選擇,當(dāng)判定塊626確定為請求者啟用電子郵件時(shí),則執(zhí)行電子郵件請求處理628。換句話說,由于請求者具有執(zhí)行所述操作的適當(dāng)權(quán)限,因此執(zhí)行了所請求的電子郵件操作。在執(zhí)行了操作628之后,所述操作權(quán)限處理600在執(zhí)行了所請求的操作的情況下結(jié)束。
此外,當(dāng)判定塊624確定所請求的操作不是電子郵件操作時(shí),則判定塊630確定是否所請求的操作是中間服務(wù)器所允許的某種其他操作。在這里,所述其他操作可以是由中間服務(wù)器簡化的任何適當(dāng)操作。事實(shí)上,所述其他操作可以表示一種能在中間服務(wù)器上得到的普通服務(wù)。所述其他操作也可以指一種在沒有訪問專用網(wǎng)絡(luò)的情況下由中間服務(wù)器執(zhí)行的本地操作。本地操作的實(shí)例差別很大但是可以包括添加書簽,添加、編輯或刪除本地記錄,修改文件共享等等。然而,所述其他操作也可以是一個(gè)在專用網(wǎng)絡(luò)內(nèi)部執(zhí)行的操作。當(dāng)判定塊630確定所請求的操作是所述其他操作之一時(shí),則判定塊632確定是否允許執(zhí)行所述其他操作。當(dāng)判定塊632確定所請求的操作不是得到許可的其他操作中的一個(gè)操作時(shí),所述訪問將被拒絕606。作為選擇,當(dāng)判定塊632確定允許執(zhí)行所述其他操作時(shí),則執(zhí)行所述其他請求處理634。在進(jìn)行了操作634之后,所述操作權(quán)限處理600完成并且在執(zhí)行了所述其他類型的操作的情況下結(jié)束。
另一方面,當(dāng)判定塊630確定所請求的操作并非允許(由請求者)執(zhí)行的其他操作中的一個(gè)操作時(shí),所述操作權(quán)限處理600在不執(zhí)行所請求操作的情況下結(jié)束。在這里,由于操作權(quán)限處理600不支持所請求的操作,因此在中間服務(wù)器上不會(huì)處理所請求的操作(也就是阻止所述操作)。
圖7是根據(jù)本發(fā)明一個(gè)實(shí)施例的詳細(xì)的外部驗(yàn)證處理700的流程圖。舉例來說,所述詳細(xì)的外部驗(yàn)證處理700是與圖4所述的判定塊420相關(guān)聯(lián)的詳細(xì)處理。所述詳細(xì)的外部驗(yàn)證處理700支持多種不同類型的外部驗(yàn)證系統(tǒng),其中包括網(wǎng)絡(luò)信息系統(tǒng)(NIS),遠(yuǎn)程驗(yàn)證撥號用戶服務(wù)(RADIUS),輕型目錄訪問協(xié)議(LDAP)以及NT域。因此,為中間服務(wù)器執(zhí)行的外部驗(yàn)證可以使用由專用網(wǎng)絡(luò)提供的多種本地驗(yàn)證方法中的任何一種。
詳細(xì)的外部驗(yàn)證處理700始于判定塊702,其中確定是否外部驗(yàn)證服務(wù)器(EAS)是NIS。當(dāng)外部驗(yàn)證服務(wù)器是NIS時(shí),則讀取一個(gè)NIS記錄704。然后對注冊請求提供的口令執(zhí)行散列操作706。經(jīng)過散列的口令與NIS記錄內(nèi)部提供的口令進(jìn)行比較708。然后,判定塊710確定散列口令是否匹配。在口令匹配的時(shí)候,所述驗(yàn)證成功712。當(dāng)口令不匹配時(shí),所述驗(yàn)證失敗714。
另一方面,當(dāng)判定塊702確定外部驗(yàn)證服務(wù)器不是NIS時(shí),則判定塊716確定是否外部驗(yàn)證服務(wù)器是RADIUS。當(dāng)外部驗(yàn)證服務(wù)器是RADIUS時(shí),則使用RADIUS共享秘密來對登錄請求提供的用戶名和口令進(jìn)行加密718。所述RADIUS共享秘密通常是一個(gè)共享密鑰。此后將經(jīng)過加密的值發(fā)送到RADIUS服務(wù)器,以便對其進(jìn)行驗(yàn)證720。判定塊722確定是否接收到了來自RADIUS服務(wù)器的響應(yīng)。當(dāng)接收到響應(yīng)時(shí),所述響應(yīng)指示驗(yàn)證成功還是失敗724。
另一方面,當(dāng)判定塊716確定外部驗(yàn)證服務(wù)器不是RADIUS時(shí),則判定塊726確定是否所述外部驗(yàn)證服務(wù)器是LDAP。當(dāng)判定塊726確定外部驗(yàn)證服務(wù)器是LDAP時(shí),則向LDAP服務(wù)器發(fā)送具有登錄請求的用戶名和口令以便進(jìn)行驗(yàn)證728。然后,判定塊730確定是否接收到來自LDAP服務(wù)器的響應(yīng)。在接收到響應(yīng)時(shí),所述響應(yīng)指示驗(yàn)證取得成功還是失敗732。
另一方面,當(dāng)判定塊726確定外部驗(yàn)證服務(wù)器不是LDAP時(shí),則判定塊734確定所述外部驗(yàn)證服務(wù)器是否是NT域(NT域服務(wù)器)。當(dāng)判定塊734確定所述外部驗(yàn)證服務(wù)器是NT域時(shí),則從NT域服務(wù)器獲取一個(gè)隨機(jī)數(shù)736。然后使用所述隨機(jī)數(shù)來對具有登錄請求的口令執(zhí)行散列操作738。接下來則將所述散列值發(fā)送到NT域服務(wù)器以便進(jìn)行驗(yàn)證740。然后,判定塊742確定是否接收到了來自NT域服務(wù)器的響應(yīng)。所述響應(yīng)表示驗(yàn)證成功或失敗744。
圖8A和8B是根據(jù)本發(fā)明一個(gè)實(shí)施例的文件訪問請求處理800的流程圖。舉例來說,文件訪問請求處理800是在請求者請求了萬維網(wǎng)瀏覽操作時(shí)執(zhí)行的處理。換言之,舉例來說,文件訪問請求處理800可以是由圖6的塊622的一個(gè)實(shí)施例執(zhí)行的處理。
文件訪問請求處理800始于判定塊802,所述判定確定是否發(fā)現(xiàn)一個(gè)服務(wù)器。當(dāng)判定塊802確定發(fā)現(xiàn)了服務(wù)器時(shí),則判定塊804確定所述文件訪問請求是否嘗試查看文件夾內(nèi)容。當(dāng)判定塊804確定文件訪問請求確實(shí)希望查看文件夾內(nèi)容時(shí),則對文件夾內(nèi)容進(jìn)行檢索805。然后將檢索到的內(nèi)容發(fā)送到請求者808。
另一方面,當(dāng)判定塊804確定文件訪問請求并未嘗試查看文件夾內(nèi)容時(shí),則判定塊810確定所述文件訪問請求是否正在請求一個(gè)新建文件夾。當(dāng)判定塊810確定所述文件訪問請求正在請求一個(gè)新建文件夾時(shí),則提示請求者輸入新建文件夾的名稱812。然后,判定塊813確定是否接收到一個(gè)文件夾名稱。當(dāng)判定塊813確定尚未接收到文件夾名稱時(shí),所述文件訪問處理800將會(huì)等待文件夾名稱。一旦判定塊813確定接收到文件夾名稱,則創(chuàng)建這個(gè)新建文件夾814。
作為選擇,當(dāng)判定塊810確定文件訪問請求不希望創(chuàng)建一個(gè)新建文件夾時(shí),則判定塊816確定文件訪問請求是否希望下載一個(gè)文件。當(dāng)判定塊816確定所述文件訪問請求希望下載一個(gè)文件時(shí),則將所請求的文件下載到請求者818。另一方面,當(dāng)判定塊816確定所述文件訪問請求不希望下載文件時(shí),則判定塊820確定所述文件訪問請求是否希望上傳一個(gè)文件。當(dāng)判定塊820確定文件訪問請求希望上傳一個(gè)文件時(shí),則將所請求的文件上傳給請求者822。作為選擇,當(dāng)判定塊820確定文件訪問請求不希望上傳一個(gè)文件時(shí),則可以處理附加類型的文件訪問請求,但是在圖8A中并未顯示這類操作。因此,在執(zhí)行了判定塊820之后,當(dāng)文件訪問請求不希望上傳文件(并且不支持附加類型的文件訪問請求)時(shí),文件訪問請求處理800完成并且所述處理在沒有執(zhí)行任何文件訪問操作的情況下結(jié)束。同樣,在完成了塊808、814、818和822之后,文件訪問請求處理800將會(huì)完成,但卻是在執(zhí)行了所請求的文件訪問情況下結(jié)束的。
此外,當(dāng)判定塊802確定尚未發(fā)現(xiàn)一個(gè)服務(wù)器時(shí),所述文件訪問請求處理800將會(huì)執(zhí)行圖8B所示的處理。在這種情況下,一開始將會(huì)發(fā)現(xiàn)一個(gè)可用服務(wù)器列表824。然后,判定塊826等待請求者選擇其中一個(gè)可用服務(wù)器。一旦判定塊826確定接收到了關(guān)于所述服務(wù)器的選擇,則檢索與選定服務(wù)器有關(guān)的共享信息828。在一個(gè)實(shí)施例中,所述共享信息標(biāo)識的是那些保存在選定服務(wù)器上并能與遠(yuǎn)程請求者之類的第三方共享的文件夾。然后,判定塊830確定是否應(yīng)該將關(guān)于服務(wù)器的信息設(shè)定為永久信息。當(dāng)判定塊830確定應(yīng)該將關(guān)于服務(wù)器的信息變成永久性信息時(shí),則保存所述服務(wù)器信息832。通過保存服務(wù)器信息,可以使所述服務(wù)器成為一個(gè)“可用服務(wù)器”,由此不必由于后續(xù)系統(tǒng)登錄來發(fā)現(xiàn)服務(wù)器可用性。另一方面,當(dāng)判定塊830確定不應(yīng)該將關(guān)于服務(wù)器的信息變成永久性信息時(shí),則繞過塊832。無論出現(xiàn)哪種情況,在執(zhí)行了塊830之后,在未曾將服務(wù)器信息變成永久性信息的時(shí)候,以及在方框832之后,在將服務(wù)器信息變?yōu)橛谰眯孕畔⒌臅r(shí)候,尋找服務(wù)器的處理將會(huì)完成并且文件訪問請求處理800由此返回到重復(fù)進(jìn)行判定802以及后續(xù)操作。
圖9A~9C是根據(jù)本發(fā)明一個(gè)實(shí)施例的萬維網(wǎng)資源請求處理900的流程圖。舉例來說,所述萬維網(wǎng)資源請求處理900由一個(gè)中間服務(wù)器執(zhí)行,其中所述服務(wù)器可以是如圖1A所示的中間服務(wù)器108或是圖1B所示的中間服務(wù)器158。此外,在這里是通過執(zhí)行萬維網(wǎng)資源請求處理900來處理萬維網(wǎng)資源請求的。
一開始獲取的是恰當(dāng)?shù)倪h(yuǎn)程服務(wù)器的主機(jī)名稱902。在一個(gè)實(shí)施例中,可以從存儲(chǔ)器中獲取所述主機(jī)名稱。舉例來說,在這里,所述存儲(chǔ)器可以是圖2A所示的數(shù)據(jù)存儲(chǔ)設(shè)備214。而在另一個(gè)實(shí)施例中則能從與萬維網(wǎng)資源請求相關(guān)聯(lián)的URL中獲取主機(jī)名稱。在獲取了恰當(dāng)?shù)倪h(yuǎn)程服務(wù)器的主機(jī)名稱902之后,通過執(zhí)行一個(gè)主機(jī)名稱查找來獲取所述恰當(dāng)?shù)倪h(yuǎn)程服務(wù)器的IP地址904。然后則向遠(yuǎn)程服務(wù)器開放一個(gè)連接(如果已經(jīng)開放了連接,則保持所述連接)906。接下來,如有必要,則在中間服務(wù)器與遠(yuǎn)程服務(wù)器之間執(zhí)行一個(gè)安全握手機(jī)制908。隨后獲取與所獲取的主機(jī)名相關(guān)聯(lián)的任何“cookie”910。在執(zhí)行了操作910之后,在中間服務(wù)器上將會(huì)完成關(guān)于萬維網(wǎng)資源請求的預(yù)處理,并且現(xiàn)在能夠?qū)⑺稣埱筠D(zhuǎn)發(fā)到遠(yuǎn)程服務(wù)器。這時(shí)則將萬維網(wǎng)資源請求與相關(guān)的“cookie”一起發(fā)送到遠(yuǎn)程服務(wù)器912。
然后,判定塊914確定是否接收到一個(gè)響應(yīng)。當(dāng)判定塊914確定尚未接收到響應(yīng)時(shí),則萬維網(wǎng)資源請求處理900將會(huì)等待這個(gè)響應(yīng)。一旦判定塊914確定接收到一個(gè)響應(yīng),則判定塊916確定所述響應(yīng)中是否存在“cookie”。當(dāng)判定塊916確定所述響應(yīng)中存在“cookie”時(shí),則從所述響應(yīng)中提取所述“cookie”918。此后則保存所提取的“cookie”。通常,“cookie”保存在中間服務(wù)器內(nèi)部提供的中央存儲(chǔ)器或是關(guān)聯(lián)或耦合中間服務(wù)器的其它存儲(chǔ)器中。在執(zhí)行操作920之后以及在進(jìn)行了判定916之后,當(dāng)確定響應(yīng)中沒有“cookie”的時(shí)候,將對所述響應(yīng)報(bào)頭內(nèi)部的URL進(jìn)行修改922。
然后,判定塊924確定所述響應(yīng)是否是一種將要修改的類型。在這里,響應(yīng)通常可以具有多種形式,例如HTML、圖形、pdf、MPEG或其他格式。當(dāng)判定塊924確定該響應(yīng)具有不能修改的類型(例如圖形)的時(shí)候,則直接將所述響應(yīng)發(fā)送(或轉(zhuǎn)發(fā))到請求者926。然后,判定塊928確定是否完成了所述響應(yīng)。當(dāng)判定塊928確定完成了所述響應(yīng)的時(shí)候,萬維網(wǎng)資源請求處理900將會(huì)返回到重復(fù)執(zhí)行判定914以及后續(xù)操作,由此可以對附加的萬維網(wǎng)資源請求進(jìn)行處理。作為選擇,當(dāng)判定塊928確定迄今為止僅僅將一部分響應(yīng)發(fā)送到請求者時(shí),萬維網(wǎng)資源請求處理900將會(huì)返回到重復(fù)執(zhí)行判定塊914以及后續(xù)操作或類似操作,從而以相同方式來對響應(yīng)的后續(xù)部分進(jìn)行處理。
另一方面,當(dāng)判定塊924確定所述響應(yīng)是一種可以修改的類型(例如HTML)時(shí),則通過對這個(gè)響應(yīng)進(jìn)行處理而在將其返回給請求者之前對其進(jìn)行修改。圖9C中描述的處理代表了這種處理的一個(gè)實(shí)施例,其中可以通過執(zhí)行所述處理來修改所述響應(yīng)。特別地,判定塊932確定是否希望得到一個(gè)工具欄。在這里可以對中間服務(wù)器進(jìn)行配置,以便始終、偶爾或者從不插入工具欄。此外中間服務(wù)器還可以對工具欄進(jìn)行標(biāo)準(zhǔn)化或者定制工具欄。在判定塊932確定希望得到工具欄的時(shí)候,則將工具欄的HTML插入所述響應(yīng)。由工具欄HTML生成的工具欄可以提供那些添加到因此得到的響應(yīng)中的控制或內(nèi)容,從而簡化中間服務(wù)器提供的特征或功能。
接下來可以對所述響應(yīng)的HTML部分內(nèi)部的某些URL進(jìn)行修改936。在一個(gè)實(shí)施例中,通過對因此得到的HTML的某些標(biāo)簽內(nèi)部的主機(jī)名稱部分進(jìn)行修改,可以實(shí)現(xiàn)針對某些URL的修改。在另一個(gè)實(shí)施例中,對某些URL的修改可以通過向某些URL添加后綴來實(shí)現(xiàn)。這樣一來,這些后綴用于允許URL傳送附加信息。此外還可以對因此得到的HTML內(nèi)部的腳本語言部分提供或產(chǎn)生的某些URL進(jìn)行修改938。腳本語言的實(shí)例包括JavaScript和VBscript。在一個(gè)實(shí)施例中將因此得到的HTML內(nèi)部的腳本語言部分提供或生成的某些URL的主機(jī)名稱部分進(jìn)行修改938。在另一個(gè)實(shí)施例中,通過對腳本語言部分提供或生成的某些URL進(jìn)行修改938,以便包括攜帶了補(bǔ)充信息的后綴。在下文中,修改腳本語言部分的附加細(xì)節(jié)是參考圖13A和13B而被提供的。此后則將經(jīng)過修改的響應(yīng)發(fā)送到請求者940。
然后,判定塊942確定是否完成所述請求。當(dāng)判定塊942確定已經(jīng)完成該請求時(shí),所述萬維網(wǎng)資源請求處理900將會(huì)完成和結(jié)束。另一方面,當(dāng)判定塊942確定尚未完成所述請求時(shí),則萬維網(wǎng)資源請求處理900返回到重復(fù)執(zhí)行判定914以及后續(xù)操作,從而在接收到響應(yīng)的時(shí)候以相同方式來處理響應(yīng)的剩余部分。這樣一來,萬維網(wǎng)資源請求處理900可以通過進(jìn)行操作來處理針對多個(gè)數(shù)據(jù)或數(shù)據(jù)塊中的資源請求的響應(yīng)。在這種情況下,萬維網(wǎng)資源請求處理900可以在一個(gè)來自遠(yuǎn)程服務(wù)器的響應(yīng)到達(dá)的時(shí)候處理所述響應(yīng),由此不會(huì)妨礙對于所述請求者的響應(yīng)性。針對這一點(diǎn),萬維網(wǎng)資源請求處理900會(huì)為關(guān)聯(lián)于響應(yīng)的每一個(gè)數(shù)據(jù)或數(shù)據(jù)塊重復(fù)執(zhí)行操作914~942。
圖10描述的是根據(jù)本發(fā)明一個(gè)實(shí)施例的信息檢索系統(tǒng)1000的圖示。所述信息檢索系統(tǒng)1000通常類似于圖1A的信息檢索系統(tǒng)100或圖1B的信息檢索系統(tǒng)150。下文中參考一個(gè)典型實(shí)例而對信息檢索系統(tǒng)1000的操作進(jìn)行了論述,其中所述實(shí)例描述的是根據(jù)一個(gè)實(shí)施例的所述系統(tǒng)的操作。信息檢索系統(tǒng)1000包括一個(gè)客戶機(jī)1002,一個(gè)帶有數(shù)據(jù)存儲(chǔ)器1006的中間服務(wù)器1004以及一個(gè)遠(yuǎn)程服務(wù)器1008。在這里假設(shè)已經(jīng)執(zhí)行了圖3的請求處理300并且允許請求者以所尋求的方式來訪問所請求的資源。
這個(gè)典型實(shí)例與一個(gè)安全請求相關(guān)聯(lián),其中所述請求可以通過用戶在萬維網(wǎng)瀏覽請求內(nèi)容中顯示的網(wǎng)頁中選擇一個(gè)超鏈接而被發(fā)起。在這里假設(shè)選擇的超鏈接是https∥secure.danastreet.com/quote/msftdanainfohost=www.xyz.com在這個(gè)超鏈接中,“https”是使用安全套接字層(SSL)的協(xié)議,而“secure.danastreet.com”則是主機(jī)名稱,其中“danastreet.com”是一個(gè)域,“secure”是一個(gè)子域,“/quote/msft”則是連至通過選擇超鏈接所請求的特定資源的路徑,“danainfo”是一個(gè)關(guān)鍵字,“www.xyz.com”則是被請求的資源所處的主機(jī)。因此,關(guān)于主機(jī)名稱“secure.danastreet.com”的域名查找將被解析成danastreet.com的IP地址,對這個(gè)實(shí)例來說,所述地址即為中間服務(wù)器1004。然后則將所述請求從客戶機(jī)1002發(fā)送到中間服務(wù)器1004。其中舉例來說,所述請求如下所示GET/quote/msftdanainfohost=www.xyz.com HTTP/1.0Hostsecure.danastreet.comCookieDSID=123xyzzbc在這個(gè)請求內(nèi)部也可以包括其他信息,例如附加的cookie、可接受編碼等等。在這個(gè)實(shí)例中,cookie是一個(gè)會(huì)話cookie(會(huì)話標(biāo)識符)并且在確定是否許可客戶機(jī)1002與中間服務(wù)器1004結(jié)合使用的過程中得到了使用。
對安全請求而言,所述請求內(nèi)部的主機(jī)名稱不能直接標(biāo)識所述請求最終所要遞送的遠(yuǎn)程服務(wù)器1008。然而,遠(yuǎn)程服務(wù)器1008的主機(jī)名稱是從具有所述請求的信息中獲取的。更具體的說,所述信息(也就是主機(jī)變量)是作為后綴而與所述請求一起提供的。在這個(gè)實(shí)例中,所述后綴包含了如下信息,即遠(yuǎn)程服務(wù)器1008的主機(jī)名稱是“www.xyz.com”。一旦獲取了恰當(dāng)?shù)闹鳈C(jī)名稱,則會(huì)對所述主機(jī)名稱(“www.xyz.com”)進(jìn)行域名查詢。接著將會(huì)從中間服務(wù)器1004以及遠(yuǎn)程服務(wù)器1008中打開一個(gè)連接(如果已經(jīng)打開了連接,則保持所述連接)并且可選地執(zhí)行安全握手機(jī)制。然后可以獲取數(shù)據(jù)存儲(chǔ)器1006中任何與主機(jī)名稱以及請求者相關(guān)聯(lián)的cookie。接著,中間服務(wù)器1004將一個(gè)請求發(fā)送到遠(yuǎn)程服務(wù)器1008。舉例來說,所述請求如下所示GET/quote/msft HTTP/1.0Hostwww.xyz.comCookiexyzUserID=sam在這個(gè)請求中也可以包含其他信息。應(yīng)該注意的是,具有初始請求的cookie與中間服務(wù)器1004相關(guān)聯(lián),由此不能將其與請求一起轉(zhuǎn)發(fā)給遠(yuǎn)程服務(wù)器1008。
遠(yuǎn)程服務(wù)器1008接收所述請求并且返回一個(gè)響應(yīng)報(bào)頭以及所請求資源的某些或全部內(nèi)容。示范性的響應(yīng)可以具有以下格式HTTP/1.0 200 OKSet-cookiexyzuserlD=Samual,expires=01-Jul-2002Content-typetext/htmlContent-length2000Locationhttps∥www.xyz.com/quote/msft<HTML>
**</HTML>
由于該響應(yīng)曾經(jīng)包括一個(gè)將要設(shè)定的“cookie”,因此從響應(yīng)中刪除了set-cookie的命令,然后將所述命令保存在數(shù)據(jù)存儲(chǔ)器1006中。接著,就存在URL的情況而言,在這里將對報(bào)頭內(nèi)部的URL進(jìn)行修改,以便指向中間服務(wù)器1004。在這個(gè)實(shí)例中,位置報(bào)頭包括一個(gè)完整路徑(包括主機(jī)名稱),即https∥www.xyz.com/quote/msft,由此將其修改成了https∥secure.danastreet.com/quote/msftdanainfohost=www.xyz.com,SSL。
在這個(gè)實(shí)例中不但對主機(jī)名稱進(jìn)行了修改,而且還向URL末端添加了變量(也就是后綴)。添加的變量信息可以是一個(gè)具有所請求的資源的主機(jī)服務(wù)器的指示以及一個(gè)SSL指示符。通過使用這個(gè)實(shí)例,有必要對相關(guān)的URL進(jìn)行修改,以便在相關(guān)URL的末端包含變量信息(“danainfohost=www.xyz.com”)。而相關(guān)URL的主機(jī)名稱則是由客戶機(jī)1002上運(yùn)作的瀏覽器應(yīng)用恰當(dāng)提供的,由此將會(huì)導(dǎo)致將當(dāng)前主機(jī)名稱(“secure.danastreet.com”)用于這種路徑。如果需要的話,也可以將一個(gè)工具欄插入HTML數(shù)據(jù),從而簡化中間服務(wù)器1004支持的操作或函數(shù)。此外,在這里還對由此得到的HTML或是由腳本語言生成的HTML中的某些標(biāo)簽內(nèi)部的URL進(jìn)行了修改,以便指向中間服務(wù)器1004。
舉例來說,如果HTML數(shù)據(jù)包括以下超鏈接<a ref=https∥www.xyz.com/quote/msft>
則將所述超鏈接修改成<a ref=https∥secure.danastreet.com/quote/msftdanainfohost=www.xyz.com,SSL>.
同樣,如果HTML數(shù)據(jù)包括以下相關(guān)的超鏈接<a ref=a.html>
則將所述超鏈接修改成<a ref=a.htmldanainfohost=www.xyz.com,SSL>。
應(yīng)該注意的是,在URL末端提供的變量信息(也就是后綴)不必處于實(shí)際末端。在這里,后綴通常被用于指示域名右側(cè)。實(shí)際上,變量信息可以處于URL中的多種不同位置(甚至是域名左側(cè))。例如,倘若初始超鏈接自身具有諸如其后跟隨了字符“?”或“#”的變量,那么在一個(gè)實(shí)例中,變量信息(“danainfohost=www.xyz.com”)可以處于指示初始變量的字符“?”或″#″之前。例如,倘若HTML數(shù)據(jù)包括以下超鏈接<a ref=https∥www.xyz.com/quote/msft?color=red>
則將所述超鏈接修改成<a ref=https∥secure.danastreet.com/quote/msftdanainfohost=www.xyz.com?color=red>。
同樣,如果HTML數(shù)據(jù)包括下列相關(guān)超鏈接<a ref=a.html?x=1234>
那么將所述超鏈接修改成<a ref=a.htmldanainfohost=www.xyz.com?x=1234>。
作為另一個(gè)實(shí)例,如果HTML數(shù)據(jù)包含了下列相關(guān)超鏈接<a ref=a.html,port=1234>
則將所述超鏈接修改成<a ref=a.htmldanainfohost=www.xyz.com,port=1234>。
圖11是根據(jù)本發(fā)明一個(gè)實(shí)施例的URL修改處理1100的一個(gè)流程圖。舉例來說,URL修改處理1100是由圖9C的操作936執(zhí)行的處理。并且舉例來說,URL修改處理1100可以由圖2A所述的內(nèi)容變換器216或圖2B所述的內(nèi)容變換器278來執(zhí)行。
URL修改處理1100是通過在響應(yīng)(例如網(wǎng)頁)的HTML部分以內(nèi)選擇一個(gè)目標(biāo)URL而開始的1102。通常,通過掃描HTML數(shù)據(jù),先前已經(jīng)識別了一個(gè)或多個(gè)目標(biāo)URL。然后,判定塊1104確定是否目標(biāo)URL是一個(gè)相關(guān)URL。相關(guān)URL繼承了源URL的特征。所述源URL則是與包括目標(biāo)URL的網(wǎng)頁(包括由此得到的HTML)相關(guān)聯(lián)的URL。當(dāng)判定塊1104確定目標(biāo)URL是一個(gè)相關(guān)URL時(shí),則將來自源URL的主機(jī)名稱和/或端口后綴附加到目標(biāo)URL 1106。
作為選擇,當(dāng)判定塊1104確定目標(biāo)URL不是相關(guān)URL時(shí),判定塊1108確定目標(biāo)URL是否與安全請求(例如HTTPS)相關(guān)聯(lián)。當(dāng)判定塊1108確定關(guān)于目標(biāo)URL的請求是一個(gè)安全請求時(shí),則將一個(gè)安全指示符(例如HTTPS)添加到目標(biāo)URL 1110。另一方面,如果判定塊1108確定目標(biāo)URL不與安全請求相關(guān)聯(lián),則繞過操作1110。
在執(zhí)行了操作1110之后以及緊隨判定塊1108之后,當(dāng)目標(biāo)URL不與安全請求相關(guān)聯(lián)時(shí),則在別處將具有目標(biāo)URL的主機(jī)名稱添加到目標(biāo)URL 1112。例如,可以將具有目標(biāo)URL的主機(jī)名稱追加到目標(biāo)URL上。然后,使用一個(gè)預(yù)定主機(jī)名稱來替換具有目標(biāo)URL的初始主機(jī)名稱。換句話說,在這里有效改寫了一開始為目標(biāo)URL提供的主機(jī)名稱,以便用預(yù)定的主機(jī)名稱來替換初始主機(jī)名稱,但是初始主機(jī)名稱保留了一部分目標(biāo)URL。例如,預(yù)定主機(jī)名稱即為恰當(dāng)?shù)闹虚g服務(wù)器的主機(jī)名稱。
接著,判定塊1116確定是否在目標(biāo)URL中指定了一個(gè)端口號。當(dāng)判定塊1116確定在目標(biāo)URL中指定了端口號時(shí),則將一個(gè)端口號后綴添加到目標(biāo)URL中1118。此外還刪除了跟隨在主機(jī)名稱之后的目標(biāo)URL中一開始指定的端口號1120。
在進(jìn)行了操作1120之后,URL修改處理1100將會(huì)執(zhí)行一個(gè)判定1122。另外,當(dāng)判定塊1116確定沒有在目標(biāo)URL中指定端口號時(shí),則不會(huì)有需要進(jìn)行處理的端口號,由此執(zhí)行了判定1122。判定塊1122確定是否還要處理更多的目標(biāo)URL。如先前所指,先前已經(jīng)通過掃描由此得到的HTML數(shù)據(jù)而識別了這些目標(biāo)URL。當(dāng)判定塊1122確定存在更多目標(biāo)URL時(shí),URL修改處理1100將會(huì)返回到重復(fù)進(jìn)行操作1102以及后續(xù)操作,由此可以對附加的目標(biāo)URL進(jìn)行處理。作為選擇,當(dāng)判定塊1122確定不再有目標(biāo)URL時(shí),URL修改處理1100完成并且結(jié)束。
圖12是根據(jù)本發(fā)明一個(gè)實(shí)施例的腳本修改處理1200的流程圖。舉例來說,所述腳本修改處理1200是由圖9C中描述的操作938執(zhí)行的。通常,腳本修改處理1200通過執(zhí)行操作來修改由此得到的HTML內(nèi)部的腳本部分。
一開始,腳本修改處理1200對(例如由此得到的HTML的)HTML數(shù)據(jù)進(jìn)行掃描,以便尋找一個(gè)<script>標(biāo)簽。然后,判定塊1204確定是否發(fā)現(xiàn)一個(gè)腳本。當(dāng)判定塊1204確定沒有發(fā)現(xiàn)腳本時(shí),判定塊1206確定是否還要掃描更多的HTML數(shù)據(jù)。當(dāng)判定塊1206確定還要掃描更多HTML數(shù)據(jù)時(shí),腳本修改處理1200返回到重復(fù)執(zhí)行操作1202以及后續(xù)操作。作為選擇,當(dāng)判定塊1206確定不再有HTML數(shù)據(jù)要進(jìn)行掃描的時(shí)候,腳本修改處理1200完成并結(jié)束。
另一方面,當(dāng)判定塊1204確定發(fā)現(xiàn)了一個(gè)腳本時(shí),則對所述腳本進(jìn)行搜索1208,以便定位一個(gè)其后跟隨了主機(jī)名稱的文本串“http∥”或“https∥”。然后,判定塊1210通過搜索1208這個(gè)腳本來確定是否發(fā)現(xiàn)了URL主機(jī)名稱。當(dāng)判定塊1210確定沒有發(fā)現(xiàn)URL主機(jī)名稱時(shí),判定塊1212確定是否到達(dá)腳本末端。當(dāng)判定塊1212確定尚未到達(dá)腳本末端時(shí),腳本修改處理1200將會(huì)返回到重復(fù)進(jìn)行操作1208以及后續(xù)操作。作為選擇,當(dāng)判定塊1212確定到達(dá)了腳本末端時(shí),所述腳本修改處理1200將會(huì)返回到重復(fù)執(zhí)行操作1202以及后續(xù)操作,從而發(fā)現(xiàn)并處理附加腳本。
另一方面,當(dāng)判定塊1210確定發(fā)現(xiàn)了URL主機(jī)名稱的時(shí)候,則產(chǎn)生一個(gè)經(jīng)過改寫的主機(jī)名稱1214。然后則使用改寫的主機(jī)名稱來替換所述腳本內(nèi)部提供的主機(jī)名稱1216。在執(zhí)行了操作1216之后,腳本修改處理1200將會(huì)返回到重復(fù)執(zhí)行操作1208以及后續(xù)操作,由此以相同的方式來對腳本內(nèi)部的附加主機(jī)名稱進(jìn)行處理。
圖13A和13B是根據(jù)本發(fā)明另一個(gè)實(shí)施例的腳本修改處理1300的流程圖。舉例來說,所述腳本修改處理1300是由圖9C中描述的操作938執(zhí)行的。通常,腳本修改處理1300是通過執(zhí)行操作來修改由此得到的HTML內(nèi)部的腳本部分的。
一開始,腳本修改處理1300對(例如由此得到的HTML的)HTML數(shù)據(jù)進(jìn)行掃描,以便尋找一個(gè)<script>標(biāo)簽。然后,判定塊1302確定是否發(fā)現(xiàn)一個(gè)腳本。當(dāng)判定塊1302確定發(fā)現(xiàn)一個(gè)腳本時(shí),則對所述腳本進(jìn)行解析1304,以便確定或定位與所述腳本相關(guān)聯(lián)的預(yù)定屬性和函數(shù)。然后,判定塊1306確定是否在腳本中發(fā)現(xiàn)了至少一個(gè)屬性或函數(shù)。當(dāng)判定塊1306確定發(fā)現(xiàn)了至少一個(gè)屬性或函數(shù)時(shí),腳本修改處理1300將會(huì)繼續(xù)進(jìn)行,以使相對于腳本內(nèi)部發(fā)現(xiàn)的屬性或功能來對其進(jìn)行修改,這樣一來,即使在客戶機(jī)設(shè)備與遠(yuǎn)程服務(wù)器之間插入了中間服務(wù)器,也可以像預(yù)期的那樣來執(zhí)行操作。
特別地,用于在腳本內(nèi)部發(fā)現(xiàn)的每一個(gè)屬性或函數(shù)的處理如下所示。判定塊1308確定在腳本內(nèi)部發(fā)現(xiàn)的選定屬性或函數(shù)是否與讀取cookie屬性有關(guān)。當(dāng)判定塊1308確定所識別的屬性或函數(shù)確實(shí)涉及讀取cookie屬性時(shí),則使用一個(gè)get_cookie函數(shù)調(diào)用來替換所述讀取cookie屬性1310。作為選擇,當(dāng)判定塊1308確定所識別的屬性或函數(shù)不是讀取cookie屬性時(shí)以及在執(zhí)行了操作1310之后,判定塊1312確定所識別的屬性或函數(shù)是否與寫入cookie屬性有關(guān)。當(dāng)判定塊1312確定所識別的屬性或函數(shù)不與寫入cookie屬性有關(guān)時(shí),則使用一個(gè)set_cookie函數(shù)調(diào)用來替換這個(gè)寫入cookie屬性1314。
另一方面,當(dāng)判定塊1312確定所識別的屬性或功能不關(guān)聯(lián)寫入cookie屬性時(shí)以及在進(jìn)行了操作1314之后,判定塊1316將會(huì)確定所識別的屬性或函數(shù)是否涉及一種發(fā)起請求的寫入屬性。當(dāng)判定塊1316確定所識別的屬性或函數(shù)涉及一種發(fā)起請求的寫入屬性時(shí),則使用一個(gè)set_URL函數(shù)調(diào)用來替換這個(gè)發(fā)起(導(dǎo)致產(chǎn)生)請求的寫入屬性1318。作為選擇,當(dāng)判定塊1316確定所識別的屬性或功能不涉及發(fā)起請求的寫入屬性時(shí),以及在執(zhí)行了操作1318之后,則判定塊1320將會(huì)確定所識別的屬性或函數(shù)是否涉及一個(gè)返回URL的讀取屬性。當(dāng)判定塊1320確定所識別的屬性或函數(shù)確實(shí)涉及一個(gè)返回URL的讀取屬性時(shí),則使用一個(gè)恰當(dāng)字串來替換這個(gè)返回URL的讀取屬性1322。
此外,在進(jìn)行了判定1320之后,當(dāng)所識別的屬性或函數(shù)并未涉及一個(gè)返回URL的讀取屬性時(shí),以及在進(jìn)行了操作1322,判定塊1324確定在腳本中是否發(fā)現(xiàn)了更多需要處理的屬性或函數(shù)。當(dāng)發(fā)現(xiàn)了附加屬性或功能并且需要對其進(jìn)行處理時(shí),腳本修改處理1300返回到重復(fù)進(jìn)行判定1308以及后續(xù)操作,由此能以相同方式來處理附加的屬性或功能。另一方面,當(dāng)判定塊1324確定已經(jīng)處理了那些在腳本內(nèi)部發(fā)現(xiàn)的屬性或函數(shù)時(shí),腳本修改處理1300將會(huì)執(zhí)行一個(gè)判定1326。當(dāng)判定塊1302確定沒有發(fā)現(xiàn)腳本時(shí),同樣也執(zhí)行判定1326。判定塊1326確定是否還要掃描更多HTML數(shù)據(jù)。當(dāng)判定塊1326確定要掃描更多HTML數(shù)據(jù)時(shí),所述腳本修改處理1300返回到重復(fù)執(zhí)行操作1301以及后續(xù)操作。作為選擇,當(dāng)判定塊1326確定不再掃描HTML數(shù)據(jù)時(shí),腳本修改處理1300完成并結(jié)束。
在下文中提供了get_cookie函數(shù)、set_cookie函數(shù)、set_URL函數(shù)以及字串替換的典型實(shí)例。通過提供這些實(shí)例,有助于理解本發(fā)明的任何方面并且由此不應(yīng)該將這些實(shí)例視為是對本發(fā)明的任何方面進(jìn)行限制。以下實(shí)例將JavaScript用作腳本語言。
根據(jù)get_cookie函數(shù)和操作1310的第一實(shí)例如下所示。在這個(gè)實(shí)例中,所述腳本包括一個(gè)腳本指令var c=document.cookie;所述指令將關(guān)聯(lián)于文檔(頁面)的cookie分配給變量c。在這里可以使用如下所示的指令來替換這個(gè)腳本指令var c=get_cookie(“othercookie=abc″)其中所述指令將中間服務(wù)器上的cookie分配給文檔(頁面)和特定用戶(例如“othercookie=abc″)的特定域。此外,get_cookie函數(shù)從中間服務(wù)器上獲取cookie,以此作為其自變量并且向其添加腳本設(shè)定的cookie。
根據(jù)set_cookie函數(shù)以及操作1314的第二實(shí)例如下所示。在這個(gè)實(shí)例中,所述腳本包括了一個(gè)腳本指令document.cookie=″selection=ijk;expires=...″;所述腳本指令保存了與瀏覽器中的文檔(頁面)相關(guān)聯(lián)的cookie。在這里可以使用以下指令來替換這個(gè)腳本指令(語句)document.cookie=set_cookie(″<domain>″,″selection=ijk;expires=...″;);所述指令保存的是與瀏覽器中的文檔(頁面)相關(guān)聯(lián)的cookie并且同樣將其保存到中間服務(wù)器上。所述set_cookie函數(shù)包括兩個(gè)自變量。第一個(gè)自變量識別的是具有腳本的頁面域。第二個(gè)自變量則是初始分配給document.cookie屬性的值。所述set_cookie函數(shù)組合這兩個(gè)自變量并且設(shè)定一個(gè)沒有截止時(shí)間并且名為servercookieX的cookie,其中X表示的是有區(qū)別的數(shù)值。游覽器使這個(gè)cookie發(fā)送給中間服務(wù)器。然后,中間服務(wù)器可以將cookie引入用于用戶的cookie存儲(chǔ)器中。此外也可以使用cookie來終止用于用戶的存儲(chǔ)器中的現(xiàn)有cookie。一旦在中間服務(wù)器上保存了cookie,那么,由于不再需要servercookieX,因此中間服務(wù)器返回的下一個(gè)頁面將會(huì)導(dǎo)致servercookieX終止。針對set_cookie函數(shù)的任何調(diào)用同樣會(huì)添加servercookieX內(nèi)部提供的任何cookie值。
為了進(jìn)行更進(jìn)一步的描述,設(shè)想以下實(shí)例,其中來自www.xyz.com的頁面具有下列腳本document.cookie=″a=b″;var x=document.cookie;在這里同樣假設(shè)www.xyz.com服務(wù)器先前向名為“id1”且值為“sam”的中間服務(wù)器返回了一個(gè)cookie。以上代碼將會(huì)轉(zhuǎn)換成document.cookie=set_cookie(″www.xyz.com″,″a=b″);var x=get_cookie(″id1=sam″);其中第一行會(huì)對值為“a=b~domain=www.xyz.com”的cookie“servercookie0”進(jìn)行設(shè)定,因此整個(gè)cookie將會(huì)變成servercookie0=a=b~domain=www.xyz.com應(yīng)該注意的是,servercookie0的域部分僅僅由中間服務(wù)器使用,因此所述服務(wù)器知道設(shè)定這個(gè)cookie的是哪一個(gè)域。第二行調(diào)用了get_cookie函數(shù),所述函數(shù)采用了其第一自變量(在改寫腳本的同時(shí)由中間服務(wù)器填充)并且在瀏覽器上檢查所有servercookie0的cookie。它將第一自變量連同其他servercookieX級連在了一起,并且返回如下結(jié)果id1=sam;a=b應(yīng)該注意的是,這個(gè)結(jié)果與沒有改寫初始頁面時(shí)返回的結(jié)果是相同的。
根據(jù)set_URL和操作1318的第三實(shí)例如下所示。Set_URL函數(shù)通過進(jìn)行操作來修改那些導(dǎo)致產(chǎn)生請求的屬性。在這個(gè)實(shí)例中,腳本包含了一個(gè)腳本指令document.location=“httpwww.xyz.com/foo.html”;所述指令將瀏覽器引導(dǎo)到一個(gè)新的頁面。這個(gè)腳本指令可以由以下指令替換。
document.location=set_URL(“”,”http∥www,xyz.com/foo.html”);set_URL函數(shù)調(diào)用采取了兩個(gè)自變量。第一自變量是在改寫腳本的同時(shí)由中間服務(wù)器填充的,其中包含了通常在后綴(例如“danainfo”)中提供來跟隨在一個(gè)URL之后的任何參數(shù)。如下文將要說明的那樣,在這里并非始終都需要所述第一自變量。第二自變量是URL,但是它實(shí)際上可以是一個(gè)聚合或返回URL的腳本表述(例如函數(shù)調(diào)用)。
所述set_URL函數(shù)檢查正在設(shè)定的URL并且將其改寫成具有將瀏覽器引導(dǎo)到中間服務(wù)器的形式。如上所述,可以使用多種技術(shù)來實(shí)現(xiàn)針對URL的修改。
如果頁面正在使用主機(jī)名稱修改技術(shù),那么,由于主機(jī)名稱對必要信息進(jìn)行了編碼,因此沒有必要對相關(guān)的URL進(jìn)行修改。如果所述URL是一個(gè)完整的URL,那么set_URL函數(shù)具有轉(zhuǎn)換URL所需要的全部信息。舉例來說,在這里可以向URL追加一個(gè)后綴(例如“danaInfohost=xxx”)。因此,如果出現(xiàn)了腳本的頁面正在使用主機(jī)名稱修改技術(shù),則set_URL函數(shù)不需要第一自變量。
作為選擇,如果腳本所在的頁面正在使用URL后綴技術(shù),則傳遞到set_URL函數(shù)的相關(guān)URL需要將同一后綴應(yīng)用于所述函數(shù)。在這種情況下,作為set_URL函數(shù)的第一自變量,中間服務(wù)器將會(huì)插入任何需要在后綴中傳遞的自變量。舉例來說,如果頁面的URL是https∥secure.danastreet.com/quote/msftdanaInfohost=www.xyz.com并且頁面上的腳本指令包括
document.location=“/quote/ibm”;那么改寫的腳本指令像是document.location=set_URL(“Host=www.xyz.com”,“/quote/ibm”);從set_URL函數(shù)返后的結(jié)果是/quote/ibmdanaInfohost=www.xyz.com而這將會(huì)產(chǎn)生一個(gè)來自瀏覽器的請求,以便請求https∥secure.danastreet.com/quote/ibmdanaInfohost=www.xyz.com作為選擇,如果插入腳本指令document.location=“https∥www.abc.com/info/msft”;則改寫的腳本指令是document.location=set_URL(“Host=www.xyz.com”,“http∥eee.abc.com/info/msft”);并且從set_URL函數(shù)返回的結(jié)果是https∥secure.danastreet.com/info/msftdanalnfohost=www.abc.com應(yīng)該注意的是,在這種情況下,由于第二自變量是一個(gè)完整的URL并且包含了構(gòu)造最終URL所必需的所有信息,因此不需要set_URL函數(shù)的第一自變量。
應(yīng)該指出的是目前存在多種函數(shù)或?qū)傩?,?dāng)被寫入時(shí),所述函數(shù)和屬性會(huì)使瀏覽器獲取一個(gè)URL,某些實(shí)例包括window.open(‘url’,...)form.action=‘url’;document.location=‘url’;document.location.replace(‘url’);image.src=‘url’;相對于字串替換和操作1322的第四實(shí)例如下所示。字串替換通過進(jìn)行操作來修改那些返回URL的屬性。在這里,從一個(gè)返回URL的屬性中讀取的腳本指令是用一個(gè)恒定字串來替換的。在這個(gè)實(shí)例中,如果腳本包括var url=document.location;
那么它將被替換成var url=“http∥www.yahoo.com/foo.html”;這個(gè)操作用于確保不會(huì)因?yàn)轫撁娴膶?shí)際URL不同于預(yù)期URL這一事實(shí)而使得任何檢查其環(huán)境的腳本發(fā)生混亂。應(yīng)該注意的是,在這里有可能存在一種以上的屬性需要進(jìn)行修改。可以進(jìn)行這種修改的屬性的某些實(shí)例包括document.location(返回完整的URL)document.domain(只返回URL的主機(jī)名稱部分)圖14是根據(jù)本發(fā)明一個(gè)實(shí)施例的電子郵件請求處理1400的流程圖。舉例來說,所述電子郵件請求處理1400適合用作在圖6的塊628上執(zhí)行的電子郵件請求處理。
一開始,電子郵件請求處理1400接受一個(gè)與郵件客戶機(jī)相連的安全連接1402。舉例來說,在這里可以通過使用一個(gè)安全套接字層(SSL)來保證所接受1402的郵件客戶機(jī)與中間服務(wù)器之間的安全連接的安全性。接下來則提示請求者進(jìn)行驗(yàn)證1404。通常,在這里提示請求者輸入至少一個(gè)可用于驗(yàn)證請求者的口令1404。然后,判定塊1406確定是否接收到一個(gè)口令。通常而非必要的是,在這里以某種方式來對正在接收的口令進(jìn)行編碼。舉例來說,在這里經(jīng)常使用的是基-64編碼。當(dāng)判定塊1406確定接收到口令時(shí),則可以將口令分成郵件服務(wù)器口令和驗(yàn)證服務(wù)器口令1408。作為一個(gè)實(shí)例,接收到的口令可以同時(shí)包括由口令分隔符分離的郵件服務(wù)器口令以及驗(yàn)證服務(wù)器口令。
接下來,所述郵件服務(wù)器嘗試對所述郵件服務(wù)器口令進(jìn)行核實(shí)1410。大約在同一時(shí)間,可以使用驗(yàn)證服務(wù)器來核實(shí)所述驗(yàn)證服務(wù)器口令1412。接著,判定塊1414確定塊1410和1412的驗(yàn)證是否都取得了成功。當(dāng)判定塊1414確定這兩個(gè)驗(yàn)證都已成功的時(shí)候,則保存所述口令的一個(gè)散列版本1416。然后則執(zhí)行與電子郵件請求相關(guān)聯(lián)的郵件操作處理1418。另一方面,當(dāng)判定塊1414確定塊1410和1412的驗(yàn)證沒有全部成功的時(shí)候,所述電子郵件請求將被拒絕1420。在執(zhí)行了操作1418和1420之后,電子郵件請求處理1400完成并結(jié)束。
圖15是根據(jù)本發(fā)明一個(gè)實(shí)施例的郵件操作處理1500的流程圖。舉例來說,所述郵件操作處理1500是由圖14所示的塊1418所執(zhí)行的處理的一個(gè)實(shí)例。
郵件操作處理1500始于判定塊1502,其中確定連接是否超時(shí)或者是否關(guān)閉了所述連接。在這里,這個(gè)連接指的是郵件客戶機(jī)與中間服務(wù)器之間的安全連接。當(dāng)判定塊1502確定安全連接超時(shí)或關(guān)閉的時(shí)候,針對郵件服務(wù)器所進(jìn)行的電子郵件訪問將被拒絕1504。因此,在執(zhí)行了塊1504之后,郵件操作處理完成并且在安全連接超時(shí)或關(guān)閉的時(shí)候結(jié)束。然而,所述處理可以繼續(xù)進(jìn)行,以便向請求者返回一個(gè)登錄頁面,從而迫使請求者進(jìn)行登錄操作并進(jìn)行驗(yàn)證,以便能夠訪問所述郵件服務(wù)器。
另一方面,當(dāng)判定塊1502確定一個(gè)現(xiàn)有連接沒有超時(shí)或關(guān)閉時(shí),判定塊1506確定是否接收到一個(gè)來自郵件客戶機(jī)的命令。當(dāng)判定塊1506確定沒有接收到來自郵件客戶機(jī)的命令時(shí),郵件操作處理1500返回到重復(fù)執(zhí)行判定1502以及后續(xù)操作的狀態(tài),直到接收了來自郵件客戶機(jī)的命令或者直到所述連接超時(shí)或以其他方式關(guān)閉為止。
一旦判定塊1506確定接收了來自郵件客戶機(jī)的命令,則將所述命令轉(zhuǎn)發(fā)到郵件服務(wù)器1508。接著,判定塊1510確定是否接收了一個(gè)來自郵件服務(wù)器的響應(yīng)。當(dāng)判定塊1510確定尚未接收到來自郵件服務(wù)器的響應(yīng)時(shí),郵件操作處理1500將會(huì)等待這個(gè)響應(yīng)。一旦判定塊1510確定接收到一個(gè)響應(yīng),則對響應(yīng)內(nèi)部的某些統(tǒng)一資源定位符(URL)進(jìn)行修改1512。例如,作為內(nèi)容轉(zhuǎn)換的一部分,可以對鏈接或URL進(jìn)行修改,從而通過中間服務(wù)器來重定向所述鏈接或URL。接著將所述響應(yīng)發(fā)送到郵件客戶機(jī)1514。在這里,所述響應(yīng)是使用郵件客戶機(jī)與中間服務(wù)器之間的連接發(fā)送到郵件客戶機(jī)的。在執(zhí)行了塊1514之后,郵件操作處理1500返回到重復(fù)進(jìn)行判定1502以及后續(xù)操作的狀態(tài),由此可以相對于郵件服務(wù)器來處理附加命令。
圖16是根據(jù)本發(fā)明一個(gè)實(shí)施例的驗(yàn)證處理1600的流程圖。驗(yàn)證處理1600代表了圖14中描述的塊1412的一個(gè)實(shí)施例。在這個(gè)實(shí)施例中,當(dāng)滿足某些條件時(shí),中間服務(wù)器可以使用驗(yàn)證服務(wù)器來繞過或免除口令的實(shí)際驗(yàn)證。這樣一來,在很多情況下可以快速進(jìn)行驗(yàn)證,但卻不需要加重請求者的負(fù)擔(dān)或是打擾請求者。
驗(yàn)證處理1600始于判定塊1602,其中確定了是否可以得到一個(gè)經(jīng)過保存的散列口令。在先前保存散列口令(圖14中的操作1416)的時(shí)候,稍后可以對所述散列口令進(jìn)行檢索并且將其用在這個(gè)方面。因此,在判定塊1602確定可以得到保存的散列口令的時(shí)候,將會(huì)對所保存的口令進(jìn)行檢索1604,其中所保存的口令即為最后一次許可的口令以及最后一次使用的口令。通常,這個(gè)值保存在與中間服務(wù)器相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)器中,并且這些值是請求者特有的存儲(chǔ)值。
接著,判定塊1606確定接收到的口令散列是否與所保存的散列口令相同。事實(shí)上,當(dāng)判定塊1606確定接收到的口令散列與保存的散列口令相同的時(shí)候,由于在會(huì)話的較早時(shí)候輸入了經(jīng)過驗(yàn)證的正確口令,因此請求者通過了驗(yàn)證。此外,判定塊1610還確定從上次得到許可以來的時(shí)間是否大于一個(gè)最大會(huì)話時(shí)間。在這里,表明從上次得到許可以來的持續(xù)時(shí)間已經(jīng)終止的持續(xù)時(shí)間將會(huì)與最大會(huì)話持續(xù)時(shí)間相比較。通常,最大會(huì)話持續(xù)時(shí)間是由請求者或中間服務(wù)器的系統(tǒng)管理員設(shè)定的。
無論發(fā)生那種情況,當(dāng)判定塊1610確定從上次得到許可以來的時(shí)間并未超出最大會(huì)話持續(xù)時(shí)間時(shí),判定塊1612確定從上次使用口令以來的時(shí)間是否超出了一個(gè)最大空閑時(shí)間。在這里,將表明從上次使用口令以來的持續(xù)時(shí)間已經(jīng)期滿的變量與最大空閑時(shí)間進(jìn)行比較。當(dāng)判定塊1612確定從最后一次使用口令以來的時(shí)間沒有超出最大空閑時(shí)間的時(shí)候,則在不必與驗(yàn)證服務(wù)器進(jìn)行交互的情況下將驗(yàn)證服務(wù)器執(zhí)行的驗(yàn)證視為是成功的1614。因此,當(dāng)接收到的口令散列與所保存的散列口令相同的時(shí)候,如果從上次許可以來的時(shí)間沒有超出最大會(huì)話持續(xù)時(shí)間并且從上次使用口令以來的時(shí)間沒有超出最大空閑時(shí)間,則可以繞過相對于驗(yàn)證服務(wù)器所進(jìn)行的驗(yàn)證。
另一方面,在沒有這些特定條件時(shí),所述口令是使用驗(yàn)證服務(wù)器來核實(shí)的1608。例如,當(dāng)判定塊1602確定不能得到所保存的散列口令時(shí),所述核實(shí)1608是使用驗(yàn)證服務(wù)器實(shí)施的。同樣,當(dāng)判定塊1606確定接收到的口令散列與所保存的散列口令不等時(shí),所述口令的核實(shí)1608是使用驗(yàn)證服務(wù)器來進(jìn)行的。此外,當(dāng)判定塊1610確定從上次許可以來的時(shí)間超出了最大會(huì)話時(shí)間或是判定塊1612確定從上次使用口令以來的時(shí)間超出了最大空閑時(shí)間時(shí),則需要使用驗(yàn)證服務(wù)器來對口令進(jìn)行核實(shí)1608。
在執(zhí)行了操作1608和1614之后,驗(yàn)證處理1600返回到執(zhí)行其他處理的狀態(tài),也就是返回到圖14所示的操作1414。因此,在由于存在上述特殊條件而能夠繞過核實(shí)1608的時(shí)候,可以極大地簡化驗(yàn)證處理并且通常避免了相對于驗(yàn)證服務(wù)器所執(zhí)行的復(fù)雜驗(yàn)證處理的需要,也可以免除提示請求者輸入驗(yàn)證信息的需要。
圖17A和17B描述的是可以依照本發(fā)明使用的計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)例。舉例來說,所述計(jì)算機(jī)系統(tǒng)可以對應(yīng)于客戶機(jī)設(shè)備、中間服務(wù)器或是遠(yuǎn)程或?qū)S梅?wù)器中的任何一種設(shè)備。圖17A顯示了一個(gè)計(jì)算機(jī)系統(tǒng)1721,其中包括顯示器1723、屏幕1725、機(jī)箱1727、鍵盤1729以及鼠標(biāo)1731。鼠標(biāo)1731可以具有一個(gè)或多個(gè)按鈕,以便與圖形用戶界面進(jìn)行交互。機(jī)箱1727收容了可移動(dòng)介質(zhì)(例如CD-ROM)驅(qū)動(dòng)器1733、系統(tǒng)存儲(chǔ)器以及硬盤(參見圖17B),這些裝置可用于保存和檢索那些結(jié)合了實(shí)施本發(fā)明的計(jì)算機(jī)代碼的軟件程序以及供本發(fā)明使用的數(shù)據(jù)等等。盡管在這里將CD-ROM 1735顯示為示范性的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),但是也可以使用其他計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中包括軟盤、磁帶、DVD、閃存、系統(tǒng)存儲(chǔ)器以及硬盤。此外,具體在載波中(例如在一個(gè)包含因特網(wǎng)的網(wǎng)絡(luò)中)包含的數(shù)據(jù)信號可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。在一種實(shí)施方式中,在系統(tǒng)存儲(chǔ)器、硬盤驅(qū)動(dòng)器、CD-ROM 1735或其他計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中提供了一個(gè)用于計(jì)算機(jī)系統(tǒng)1721的操作系統(tǒng),并且所述操作系統(tǒng)用于引入實(shí)施本發(fā)明的計(jì)算機(jī)代碼。
圖17B顯示的是用于執(zhí)行本發(fā)明一個(gè)實(shí)施例的處理的計(jì)算機(jī)系統(tǒng)1721的系統(tǒng)框圖。與圖17A中一樣,計(jì)算機(jī)系統(tǒng)1721包括監(jiān)視器1723、鍵盤1729和鼠標(biāo)1731。此外,計(jì)算機(jī)系統(tǒng)1721還包括子系統(tǒng),例如中央處理器1751、系統(tǒng)存儲(chǔ)器1753、固定存儲(chǔ)器1755(例如硬盤)、可移除存儲(chǔ)器1757(例如光盤)、顯示適配器1759、聲卡1761、揚(yáng)聲器1763以及網(wǎng)絡(luò)接口1765。舉例來說,中央處理器1751可以通過執(zhí)行計(jì)算機(jī)程序代碼(例如操作系統(tǒng))來實(shí)施本發(fā)明。通常而非必要的是,在執(zhí)行過程中,操作系統(tǒng)駐留在系統(tǒng)存儲(chǔ)器1753中。其他適合與本發(fā)明一起使用的計(jì)算機(jī)系統(tǒng)可以包括附加或少數(shù)子系統(tǒng)。舉例來說,其他計(jì)算機(jī)系統(tǒng)可以包括一個(gè)以上的處理器1751(也就是多處理器系統(tǒng))或是一個(gè)緩沖存儲(chǔ)器。
計(jì)算機(jī)系統(tǒng)1721的系統(tǒng)總線架構(gòu)由箭頭1767表示。然而,這些箭頭描述的是用于鏈接子系統(tǒng)的任何互連方案。舉例來說,在這里可以使用本地總線將中央處理器連接到系統(tǒng)存儲(chǔ)器以及顯示適配器。圖17A所示的計(jì)算機(jī)系統(tǒng)1721只是一個(gè)適合與本發(fā)明結(jié)合使用的計(jì)算機(jī)系統(tǒng)的實(shí)例。而在這里也可以使用具有不同子系統(tǒng)結(jié)構(gòu)的其他計(jì)算機(jī)架構(gòu)。
盡管上述實(shí)施例涉及的是使用信息檢索系統(tǒng)內(nèi)部的一個(gè)單獨(dú)的中間服務(wù)器,但是應(yīng)該認(rèn)識到,所述信息檢索系統(tǒng)也可以包括多個(gè)中間服務(wù)器。不同的中間服務(wù)器各自接收來自客戶機(jī)設(shè)備的請求并將這些請求轉(zhuǎn)發(fā)到恰當(dāng)?shù)姆?wù)器,以及將響應(yīng)經(jīng)由中間服務(wù)器返回給客戶機(jī)設(shè)備。借助于多個(gè)服務(wù)器,不但可以實(shí)現(xiàn)附加處理,而且還可以解決負(fù)載均衡、故障容忍度以及本地化的問題。
如上所述的本發(fā)明的不同方面、特征、實(shí)施例或?qū)嵤┓绞郊瓤梢詥为?dú)使用,也可以通過多種組合來加以使用。
本發(fā)明最好以軟件方式實(shí)施,但是也可以采用硬件方式或以軟件與硬件相結(jié)合的方式來實(shí)施。本發(fā)明還可以作為計(jì)算機(jī)可讀代碼保存在計(jì)算機(jī)可讀介質(zhì)上。所述計(jì)算機(jī)可讀介質(zhì)可以是任何一種能夠保存數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)設(shè)備,此后可以由一個(gè)計(jì)算機(jī)系統(tǒng)來讀取所述數(shù)據(jù)。計(jì)算機(jī)可讀介質(zhì)的實(shí)例包括只讀存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器、CD-ROM、DVD、磁帶、光數(shù)據(jù)存儲(chǔ)設(shè)備以及載波。此外還可以將計(jì)算機(jī)可讀介質(zhì)分布到與網(wǎng)絡(luò)耦合的計(jì)算機(jī)系統(tǒng)中,從而以一種分布方式來保存和執(zhí)行計(jì)算機(jī)可讀代碼。
本發(fā)明的優(yōu)點(diǎn)很多。不同的實(shí)施例或?qū)嵤┓绞娇梢援a(chǎn)生以下的一個(gè)或多個(gè)優(yōu)點(diǎn)。本發(fā)明的一個(gè)優(yōu)點(diǎn)是可以通過在遠(yuǎn)程服務(wù)器與客戶機(jī)之間插入一個(gè)中間服務(wù)器來簡化安全訪問。本發(fā)明的另一個(gè)優(yōu)點(diǎn)是通過改變客戶機(jī)請求的內(nèi)容而將后續(xù)的客戶機(jī)請求引導(dǎo)到一個(gè)中間服務(wù)器,所述服務(wù)器轉(zhuǎn)而為所述客戶機(jī)獲取所請求的內(nèi)容。此外,本發(fā)明的另一個(gè)優(yōu)點(diǎn)是中間服務(wù)器可以使用專用網(wǎng)絡(luò)提供的本地驗(yàn)證來對試圖訪問專有網(wǎng)絡(luò)上的資源的請求者進(jìn)行驗(yàn)證。本發(fā)明的另一個(gè)優(yōu)點(diǎn)是易于以合理的費(fèi)用來為得到許可的人員提供針對專用網(wǎng)絡(luò)的安全遠(yuǎn)程訪問。本發(fā)明的另一個(gè)優(yōu)點(diǎn)是在遠(yuǎn)程服務(wù)器與客戶機(jī)之間插入了一個(gè)中間服務(wù)器,由此可以簡化針對電子郵件資源所進(jìn)行的安全訪問。本發(fā)明的另一個(gè)優(yōu)點(diǎn)是可以使用專用網(wǎng)絡(luò)提供的本地驗(yàn)證來對試圖訪問專用網(wǎng)絡(luò)的請求者進(jìn)行驗(yàn)證。而本發(fā)明的另一個(gè)優(yōu)點(diǎn)則是易于以合理費(fèi)用來為得到許可的人員提供專用網(wǎng)絡(luò)的安全遠(yuǎn)程訪問。
從撰寫的說明書中可以明顯看出本發(fā)明的眾多特征和優(yōu)點(diǎn),因此在這里意圖通過附加權(quán)利要求來覆蓋本發(fā)明的所有這些特征和優(yōu)點(diǎn)。此外,由于本領(lǐng)域技術(shù)人員很容易想到多種修改和變化,因此在這里不希望將本發(fā)明局限于所描述和說明的確切結(jié)構(gòu)。因此,在這里可以采取落入本發(fā)明范圍以內(nèi)的所有那些適當(dāng)?shù)男薷暮偷葍r(jià)物。
權(quán)利要求
1.一種經(jīng)由中間服務(wù)器來對專用網(wǎng)絡(luò)上的資源進(jìn)行訪問的方法,所述方法包括(a)接收來自用戶的訪問中間服務(wù)器的登錄請求;(b)對用戶進(jìn)行驗(yàn)證;(c)隨后在中間服務(wù)器上接收來自用戶的資源請求,其中所述資源請求要求對來自專用網(wǎng)絡(luò)的資源執(zhí)行特定操作;(d)獲取用戶的訪問權(quán)限;(e)確定用戶的訪問權(quán)限是否允許用戶在專用網(wǎng)絡(luò)上執(zhí)行所述特定操作;以及(f)當(dāng)所述確定步驟(e)確定用戶的訪問權(quán)限不允許其在專用網(wǎng)絡(luò)上執(zhí)行所述特定操作時(shí),阻止在專用網(wǎng)絡(luò)上執(zhí)行所述特定操作,由此不會(huì)具有針對所述資源請求的響應(yīng)。
2.如權(quán)利要求1所述的方法,其中特定操作是資源請求、文件訪問操作或電子郵件操作中的一種。
3.如權(quán)利要求1所述的方法,其中中間服務(wù)器保存多個(gè)用戶的訪問權(quán)限。
4.如權(quán)利要求1~3中任一項(xiàng)所述的方法,其中所述驗(yàn)證步驟(b)基于外部驗(yàn)證服務(wù)器確定用戶是否通過了驗(yàn)證。
5.如權(quán)利要求1~3中任一項(xiàng)所述的方法,其中中間服務(wù)器為多個(gè)用戶中的每一個(gè)用戶保存驗(yàn)證標(biāo)識符,所述驗(yàn)證標(biāo)識符標(biāo)識的是用于執(zhí)行所述驗(yàn)證步驟(b)的外部驗(yàn)證服務(wù)器。
6.如權(quán)利要求4或5所述的方法,其中外部驗(yàn)證服務(wù)器處于專用網(wǎng)絡(luò)內(nèi)部。
7.如權(quán)利要求6所述的方法,其中驗(yàn)證標(biāo)識符包括外部驗(yàn)證服務(wù)器的網(wǎng)絡(luò)地址。
8.如權(quán)利要求1所述的方法,其中所述方法還包括(g)當(dāng)所述確定步驟(e)確定用戶的訪問權(quán)限允許用戶在專用網(wǎng)絡(luò)上執(zhí)行特定操作的時(shí)候,在專用網(wǎng)絡(luò)上執(zhí)行特定操作,以便確定針對所述資源請求的響應(yīng)。
9.如權(quán)利要求1所述的方法,其中用戶具有與之相關(guān)的網(wǎng)際協(xié)議(IP)地址,并且其中所述確定步驟(e)包括(e1)確定用戶的訪問權(quán)限是否允許用戶在專用網(wǎng)絡(luò)上執(zhí)行特定操作;以及(e2)確定與用戶相關(guān)聯(lián)的IP地址是否通過了驗(yàn)證。
10.如權(quán)利要求9所述的方法,其中所述確定步驟(e)還包括(e3)確定是否滿足了時(shí)刻限制。
11.如權(quán)利要求10所述的方法,其中訪問權(quán)限包括允許的操作、經(jīng)過驗(yàn)證的IP地址以及關(guān)于多個(gè)用戶的時(shí)刻限制。
12.如權(quán)利要求1~11中任一項(xiàng)所述的方法,其中資源請求來自在客戶機(jī)設(shè)備上運(yùn)作的客戶端應(yīng)用。
13.如權(quán)利要求12所述的方法,其中客戶端應(yīng)用是從包含如下應(yīng)用的組中選出的萬維網(wǎng)瀏覽器、電子郵件應(yīng)用或文件訪問應(yīng)用。
14.如權(quán)利要求1~13中任一項(xiàng)所述的方法,其中資源請求來自網(wǎng)絡(luò)瀏覽器。
15.如權(quán)利要求14所述的方法,其中用戶是遠(yuǎn)程用戶。
16.一種經(jīng)由中間服務(wù)器來提供針對專用網(wǎng)絡(luò)的遠(yuǎn)程訪問的方法,所述方法包括(a)接收來自遠(yuǎn)程用戶的訪問中間服務(wù)器的請求;(b)確定是否允許遠(yuǎn)程用戶訪問中間服務(wù)器;(c)當(dāng)所述確定步驟(b)確定允許遠(yuǎn)程用戶進(jìn)行訪問時(shí),授權(quán)所述遠(yuǎn)程用戶訪問中間服務(wù)器,其中得到授權(quán)的訪問還傳送關(guān)于專用網(wǎng)絡(luò)預(yù)定部分的訪問權(quán)限;(d)隨后在中間服務(wù)器上接收來自遠(yuǎn)程用戶的資源請求,其中所述資源請求針對的是特定資源;(e)通過所述訪問權(quán)限來確定是否允許來自遠(yuǎn)程用戶的資源請求;(f)當(dāng)所述確定步驟(e)確定允許執(zhí)行來自遠(yuǎn)程用戶的資源請求時(shí),向所述遠(yuǎn)程用戶提供所述特定資源;以及(g)在所述確定步驟(e)確定不允許來自遠(yuǎn)程用戶的資源請求的時(shí)候,拒絕所述遠(yuǎn)程用戶訪問所述特定資源。
17.如權(quán)利要求16所述的方法,其中所述提供步驟(f)包括(f1)從內(nèi)容服務(wù)器中檢索特定資源;(f2)對特定資源內(nèi)部的至少一個(gè)URL進(jìn)行修改;以及(f3)將經(jīng)過修改的資源發(fā)送到遠(yuǎn)程用戶。
18.如權(quán)利要求16所述的方法,其中所述提供步驟(f)包括(f1)修改所述響應(yīng),以使響應(yīng)內(nèi)部的鏈接指向中間服務(wù)器;以及(f2)將經(jīng)過修改的資源發(fā)送到遠(yuǎn)程用戶。
19.如權(quán)利要求16所述的方法,其中所述提供步驟(f)包括(f1)確定關(guān)于提供所請求的特定資源的遠(yuǎn)程服務(wù)器的主機(jī)名稱;(f2)根據(jù)所確定的主機(jī)名稱而將關(guān)于特定資源的請求發(fā)送到遠(yuǎn)程服務(wù)器;以及(f3)在中間服務(wù)器上接收來自遠(yuǎn)程服務(wù)器的針對所述請求的響應(yīng)。
20.如權(quán)利要求19所述的方法,其中所述提供步驟(f)包括(f4)修改所述響應(yīng),以使響應(yīng)內(nèi)部的鏈接指向中間服務(wù)器;以及(f5)將經(jīng)過修改的資源發(fā)送到遠(yuǎn)程用戶。
21.如權(quán)利要求16~20中任一項(xiàng)所述的方法,其中資源請求來自在遠(yuǎn)程客戶機(jī)設(shè)備上運(yùn)作的客戶端應(yīng)用。
22.一種中間服務(wù)器,包括萬維網(wǎng)服務(wù)器,所述服務(wù)器經(jīng)由網(wǎng)絡(luò)接收來自客戶機(jī)設(shè)備的資源請求;以可操作方式連接到所述萬維網(wǎng)服務(wù)器的協(xié)議處理機(jī),所述協(xié)議處理機(jī)接收關(guān)于資源的請求,修改這些將要經(jīng)由專用網(wǎng)絡(luò)而直接連接到恰當(dāng)?shù)倪h(yuǎn)程服務(wù)器的請求,并且將經(jīng)過修改的資源請求轉(zhuǎn)發(fā)到所述恰當(dāng)?shù)倪h(yuǎn)程服務(wù)器;以及以可操作方式連接到所述協(xié)議處理機(jī)的內(nèi)容變換器,所述內(nèi)容轉(zhuǎn)換器接收恰當(dāng)?shù)倪h(yuǎn)程服務(wù)器響應(yīng)于修改過的請求所提供的資源并且對所述資源進(jìn)行修改,以便對其中包含的至少某些鏈接進(jìn)行修改,從而將其直接連接中間服務(wù)器而不是遠(yuǎn)程服務(wù)器。
23.如權(quán)利要求22所述的中間服務(wù)器系統(tǒng),其中所述中間服務(wù)器系統(tǒng)還包括驗(yàn)證管理器,它管理的是所述客戶機(jī)設(shè)備對專用網(wǎng)絡(luò)上的資源所進(jìn)行的訪問;以及數(shù)據(jù)存儲(chǔ)器,用于保存用戶的會(huì)話驗(yàn)證信息和訪問權(quán)限,其中除非請求進(jìn)行訪問的用戶通過驗(yàn)證并且具有足夠的訪問權(quán)限,否則不允許對資源進(jìn)行訪問。
24.如權(quán)利要求23所述的系統(tǒng),其中所述系統(tǒng)還包括在所述專用網(wǎng)絡(luò)內(nèi)部提供的驗(yàn)證服務(wù)器,以便對用戶進(jìn)行驗(yàn)證,從而提供驗(yàn)證結(jié)果,以及其中所述中間服務(wù)器根據(jù)驗(yàn)證結(jié)果允許或拒絕用戶經(jīng)由所述中間服務(wù)器對所述專用網(wǎng)絡(luò)進(jìn)行訪問。
25.一種至少包含能夠經(jīng)由中間服務(wù)器來訪問專用網(wǎng)絡(luò)上的資源的計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)包括用于在中間服務(wù)器上接收來自用戶的資源請求的計(jì)算機(jī)代碼,其中所述資源請求要求對來自專用網(wǎng)絡(luò)的資源進(jìn)行特定操作;用于為用戶獲取訪問權(quán)限的計(jì)算機(jī)代碼;用于確定所述用戶訪問權(quán)限是否允許用戶在專用網(wǎng)絡(luò)上執(zhí)行所述特定操作的計(jì)算機(jī)代碼;以及用于在所述用于確定的計(jì)算機(jī)代碼確定用戶訪問權(quán)限不允許用戶在專用網(wǎng)絡(luò)上執(zhí)行所述特定操作的時(shí)候,阻止在專用網(wǎng)絡(luò)上執(zhí)行所述特定操作,由此不會(huì)具有針對所述資源請求的響應(yīng)的計(jì)算機(jī)代碼。
26.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中特定操作是資源請求、文件訪問操作或電子郵件操作中的一種。
27.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中用于驗(yàn)證的計(jì)算機(jī)代碼基于外部驗(yàn)證服務(wù)器來確定用戶是否通過驗(yàn)證。
28.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中中間服務(wù)器保存多個(gè)用戶的訪問權(quán)限,以及其中中間服務(wù)器為多個(gè)用戶中的每一個(gè)用戶保存驗(yàn)證標(biāo)識符,所述驗(yàn)證標(biāo)識符標(biāo)識的是用于執(zhí)行驗(yàn)證的外部驗(yàn)證服務(wù)器。
29.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中資源請求來自在客戶機(jī)設(shè)備上運(yùn)作的客戶端應(yīng)用,并且其中所述客戶端應(yīng)用是從包含如下應(yīng)用的組中選出的萬維網(wǎng)瀏覽器、電子郵件應(yīng)用或文件訪問應(yīng)用。
30.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中所述計(jì)算機(jī)可讀介質(zhì)還包括用于在所述用于確定的計(jì)算機(jī)代碼確定用戶訪問權(quán)限允許用戶在專用網(wǎng)絡(luò)上執(zhí)行特定操作的時(shí)候,在所述專用網(wǎng)絡(luò)上執(zhí)行特定操作,以便確定一個(gè)針對所述資源請求的響應(yīng)的計(jì)算機(jī)代碼。
31.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中用戶具有與之相關(guān)的網(wǎng)際協(xié)議(IP)地址,以及其中所述用于確定的計(jì)算機(jī)代碼包含用于確定用戶訪問權(quán)限是否允許該用戶在專用網(wǎng)絡(luò)上執(zhí)行特定操作的計(jì)算機(jī)代碼,以及用于確定與該用戶相關(guān)聯(lián)的IP地址是否通過驗(yàn)證的計(jì)算機(jī)代碼。
32.如權(quán)利要求31所述的計(jì)算機(jī)可讀介質(zhì),其中所述用于確定的計(jì)算機(jī)代碼還包括用于確定是否滿足了時(shí)刻限制的計(jì)算機(jī)代碼,并且其中訪問權(quán)限包括允許的操作、經(jīng)過驗(yàn)證的IP地址以及針對多個(gè)用戶的時(shí)刻限制。
33.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其中所述計(jì)算機(jī)可讀介質(zhì)還包括用于接收來自用戶的訪問中間服務(wù)器的登錄請求的計(jì)算機(jī)代碼;以及用于對用戶進(jìn)行驗(yàn)證的計(jì)算機(jī)代碼。
34.一種用于簡化郵件客戶機(jī)經(jīng)由中間服務(wù)器遠(yuǎn)程訪問郵件服務(wù)器的方法,所述方法包括(a)在中間服務(wù)器上接收郵件訪問請求,其中所述郵件訪問請求是從請求者的郵件客戶機(jī)發(fā)送到中間服務(wù)器的;(b)接收與郵件訪問請求有關(guān)的口令;(c)基于接收到的口令并使用郵件服務(wù)器對請求者進(jìn)行驗(yàn)證;(d)基于接收到的口令并且使用驗(yàn)證服務(wù)器對請求者進(jìn)行驗(yàn)證,其中所述驗(yàn)證服務(wù)器與包含郵件服務(wù)器的專用網(wǎng)絡(luò)相關(guān)聯(lián);以及,(e)當(dāng)郵件服務(wù)器和驗(yàn)證服務(wù)器對所述請求者進(jìn)行驗(yàn)證的時(shí)候,允許執(zhí)行所述郵件訪問請求。
35.如權(quán)利要求34所述的方法,其中所述驗(yàn)證步驟(d)包括(d1)檢索與請求者或郵件客戶機(jī)相關(guān)聯(lián)的先前保存的散列口令;(d2)確定接收到的口令的散列版本是否匹配于先前保存的散列口令;(d3)基于接收到的口令并使用驗(yàn)證服務(wù)器對請求者進(jìn)行驗(yàn)證;以及(d4)當(dāng)所述確定步驟(d2)確定接收到的口令的散列版本匹配于先前保存的散列口令的時(shí)候,繞過所述驗(yàn)證步驟(d3)并且將接收到的口令視為已經(jīng)得到了驗(yàn)證。
36.如權(quán)利要求35所述的方法,其中所述接收步驟(d1)還包括至少檢索驗(yàn)證服務(wù)器的上次驗(yàn)證時(shí)間;以及其中所述方法還包括(d5)確定驗(yàn)證服務(wù)器的上次驗(yàn)證時(shí)間是否超出第一預(yù)定持續(xù)時(shí)間;以及(d6)當(dāng)所述確定步驟(d5)確定驗(yàn)證服務(wù)器的上次驗(yàn)證時(shí)間超出第一預(yù)定持續(xù)時(shí)間時(shí),阻止所述繞過步驟(d4)繞過所述驗(yàn)證步驟(d3)。
37.如權(quán)利要求34~36中任一項(xiàng)所述的方法,其中第一預(yù)定持續(xù)時(shí)間是最大會(huì)話時(shí)間。
38.如權(quán)利要求34~36中任一項(xiàng)所述的方法,其中郵件服務(wù)器口令和驗(yàn)證服務(wù)器口令包含在接收到的口令中或者從所述口令中導(dǎo)出的,其中所述驗(yàn)證步驟(c)使用郵件服務(wù)器口令并結(jié)合郵件服務(wù)器來對請求者進(jìn)行驗(yàn)證;以及其中所述驗(yàn)證步驟(d)使用驗(yàn)證服務(wù)器口令并結(jié)合驗(yàn)證服務(wù)器來對請求者進(jìn)行驗(yàn)證。
39.如權(quán)利要求35~36中任一項(xiàng)所述的方法,其中所述接收步驟(d1)還包括至少檢索上次使用口令的時(shí)間;以及其中所述方法還包括(d5)確定上次使用口令的時(shí)間是否超出第二預(yù)定持續(xù)時(shí)間;以及(d6)當(dāng)所述確定步驟(d5)確定上次使用口令的時(shí)間超出第二預(yù)定持續(xù)時(shí)間時(shí),阻止所述繞過步驟(d4)繞過所述驗(yàn)證步驟(d3)。
40.如權(quán)利要求39所述的方法,其中第二預(yù)定持續(xù)時(shí)間是最大空閑持續(xù)時(shí)間。
41.如權(quán)利要求39或40所述的方法,其中郵件服務(wù)器口令和驗(yàn)證服務(wù)器口令包含在接收到的口令中或者從所述口令中導(dǎo)出的,其中所述驗(yàn)證步驟(c)使用郵件服務(wù)器口令并結(jié)合郵件服務(wù)器來對請求者進(jìn)行驗(yàn)證;以及其中所述驗(yàn)證步驟(d)使用驗(yàn)證服務(wù)器口令并結(jié)合驗(yàn)證服務(wù)器來對請求者進(jìn)行驗(yàn)證。
42.一種用于對試圖訪問郵件服務(wù)器的遠(yuǎn)程郵件客戶機(jī)的請求者進(jìn)行驗(yàn)證的方法,所述方法包括(a)從遠(yuǎn)程郵件客戶機(jī)接收口令;(b)檢索先前保存的散列口令;(c)確定所接收口令的散列版本是否匹配于先前保存的散列口令;(d)基于接收到的口令并使用郵件服務(wù)器來對請求者進(jìn)行驗(yàn)證;以及(e)當(dāng)所述確定步驟(c)確定接收到的口令的散列版本不匹配先前保存的散列口令時(shí),根據(jù)接收口令并使用驗(yàn)證服務(wù)器來對請求者進(jìn)行進(jìn)一步驗(yàn)證,其中所述驗(yàn)證服務(wù)器與包含所述郵件服務(wù)器的專用網(wǎng)絡(luò)相關(guān)聯(lián)。
43.如權(quán)利要求42所述的方法,其中接收到的口令是驗(yàn)證口令,并且其中驗(yàn)證口令用于向驗(yàn)證服務(wù)器驗(yàn)證所述請求者或遠(yuǎn)程郵件客戶機(jī)。
44.如權(quán)利要求42或43所述的方法,其中所述接收步驟(a)還接收驗(yàn)證服務(wù)器的上次驗(yàn)證時(shí)間;其中所述確定步驟(c)還確定從驗(yàn)證服務(wù)器的上次驗(yàn)證時(shí)間以來的時(shí)間是否超出第一預(yù)定持續(xù)時(shí)間;以及其中不管所述確定步驟(c)是否確定接收到的口令的散列版本與先前保存的散列口令相匹配,所述驗(yàn)證步驟(e)都在所述確定步驟(c)確定從驗(yàn)證服務(wù)器的上次驗(yàn)證時(shí)間以來的時(shí)間超出第一預(yù)定持續(xù)時(shí)間的時(shí)候執(zhí)行。
45.如權(quán)利要求42或43所述的方法,其中所述接收步驟(a)還接收上次使用口令的時(shí)間;其中所述確定步驟(c)還確定從上次使用口令時(shí)間以來的時(shí)間是否超出第二預(yù)定持續(xù)時(shí)間;以及其中不管所述確定步驟(c)是否確定接收到的口令的散列版本與先前保存的散列口令相匹配,所述驗(yàn)證步驟(e)都在所述確定步驟(c)確定從上次使用口令時(shí)間以來的時(shí)間超出第二預(yù)定持續(xù)時(shí)間的時(shí)候執(zhí)行。
46.如權(quán)利要求42或43所述的方法,其中所述接收步驟(a)還接收驗(yàn)證服務(wù)器的上次驗(yàn)證時(shí)間以及上次使用口令的時(shí)間;其中所述確定步驟(c)還確定從驗(yàn)證服務(wù)器的上次驗(yàn)證時(shí)間以來的時(shí)間是否超出第一預(yù)定持續(xù)時(shí)間,以及確定從上次使用口令時(shí)間以來的時(shí)間是否超出第二預(yù)定持續(xù)時(shí)間;以及其中不管所述確定步驟(c)是否確定接收到的口令的散列版本與先前保存的散列口令相匹配,所述驗(yàn)證步驟(e)都在所述確定步驟(c)確定從驗(yàn)證服務(wù)器的上次驗(yàn)證時(shí)間以來的時(shí)間超出第一預(yù)定持續(xù)時(shí)間或是從上次使用口令時(shí)間以來的時(shí)間超出第二預(yù)定持續(xù)時(shí)間的時(shí)候執(zhí)行。
47.如權(quán)利要求46所述的方法,其中第一預(yù)定持續(xù)時(shí)間是最大會(huì)話持續(xù)時(shí)間,并且其中第二預(yù)定持續(xù)時(shí)間是最大空閑持續(xù)時(shí)間。
48.一種至少包含用于簡化郵件客戶機(jī)經(jīng)由中間服務(wù)器而對郵件服務(wù)器進(jìn)行遠(yuǎn)程訪問的計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)包括用于在中間服務(wù)器上接收郵件訪問請求的計(jì)算機(jī)程序代碼,其中所述郵件訪問請求是從請求者的郵件客戶機(jī)發(fā)送到中間服務(wù)器的;用于接收與郵件訪問請求相關(guān)聯(lián)的口令的計(jì)算機(jī)程序代碼;用于基于接收到的口令并結(jié)合郵件服務(wù)器來對請求者進(jìn)行驗(yàn)證的計(jì)算機(jī)程序代碼;用于根據(jù)接收到的口令并結(jié)合驗(yàn)證服務(wù)器來對請求者進(jìn)行驗(yàn)證的計(jì)算機(jī)程序代碼,其中所述驗(yàn)證服務(wù)器與包含郵件服務(wù)器的專用網(wǎng)絡(luò)相關(guān)聯(lián);以及用于在郵件服務(wù)器和驗(yàn)證服務(wù)器都對請求者進(jìn)行驗(yàn)證的時(shí)候允許所述郵件訪問請求的計(jì)算機(jī)程序代碼。
49.如權(quán)利要求48所述的計(jì)算機(jī)可讀介質(zhì),其中郵件服務(wù)器口令和驗(yàn)證服務(wù)器口令包含在接收到的口令中或者從所述口令中導(dǎo)出,其中所述用于驗(yàn)證的計(jì)算機(jī)程序代碼進(jìn)行操作,以便使用郵件服務(wù)器口令并結(jié)合郵件服務(wù)器來對請求者進(jìn)行驗(yàn)證;以及其中所述用于驗(yàn)證的計(jì)算機(jī)程序代碼進(jìn)行操作,以便使用驗(yàn)證服務(wù)器口令并結(jié)合驗(yàn)證服務(wù)器來對請求者進(jìn)行驗(yàn)證。
50.如權(quán)利要求48所述的計(jì)算機(jī)可讀介質(zhì),其中用于驗(yàn)證的所述計(jì)算機(jī)程序代碼包括用于檢索與請求者或郵件客戶機(jī)相關(guān)聯(lián)的先前保存的散列口令的計(jì)算機(jī)程序代碼;用于確定接收到的口令的散列版本是否匹配于先前保存的散列口令的計(jì)算機(jī)程序代碼;用于基于接收到的口令并結(jié)合驗(yàn)證服務(wù)器來對請求者進(jìn)行驗(yàn)證的計(jì)算機(jī)程序代碼;當(dāng)用于確定的所述計(jì)算機(jī)程序代碼確定接收到的口令的散列版本匹配于先前保存的散列口令時(shí),用于繞過所述驗(yàn)證并且將接收到的口令視為是經(jīng)過驗(yàn)證的計(jì)算機(jī)程序代碼。
51.一種至少包含用于對試圖訪問郵件服務(wù)器的遠(yuǎn)程郵件客戶機(jī)的請求者進(jìn)行驗(yàn)證的計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)包括用于從遠(yuǎn)程郵件客戶機(jī)接收口令的計(jì)算機(jī)程序代碼;用于檢索先前保存的散列口令的計(jì)算機(jī)程序代碼;用于確定接收到的口令的散列版本是否匹配于先前保存的散列口令的計(jì)算機(jī)程序代碼;用于基于接收到的口令并結(jié)合郵件服務(wù)器來驗(yàn)證請求者的計(jì)算機(jī)程序代碼;以及用于在所述用于確定的計(jì)算機(jī)程序代碼確定接收到的口令的散列版本不匹配先前保存的散列口令的時(shí)候,基于接收到的口令并結(jié)合驗(yàn)證服務(wù)器來對請求者進(jìn)行驗(yàn)證的計(jì)算機(jī)程序代碼,其中驗(yàn)證服務(wù)器與包含郵件服務(wù)器的專用網(wǎng)絡(luò)相關(guān)聯(lián)。
52.如權(quán)利要求51所述的計(jì)算機(jī)可讀介質(zhì),其中接收到的口令是驗(yàn)證口令,并且其中所述驗(yàn)證口令用于向驗(yàn)證服務(wù)器驗(yàn)證請求者或是遠(yuǎn)程郵件客戶機(jī)。
53.如權(quán)利要求51或52所述的計(jì)算機(jī)可讀介質(zhì),其中所述用于接收的計(jì)算機(jī)程序代碼還接收驗(yàn)證服務(wù)器的上次驗(yàn)證時(shí)間;其中所述用于確定的計(jì)算機(jī)程序代碼還確定從驗(yàn)證服務(wù)器的上次驗(yàn)證時(shí)間以來的時(shí)間是否超出預(yù)定持續(xù)時(shí)間;以及其中不管所述用于確定的計(jì)算機(jī)程序代碼是否確定接收到的口令的散列版本與先前保存的散列口令相匹配,所述驗(yàn)證都在所述用于確定的計(jì)算機(jī)程序代碼確定從驗(yàn)證服務(wù)器的上次驗(yàn)證時(shí)間以來的時(shí)間超出所述預(yù)定持續(xù)時(shí)間的時(shí)候,由所述用于驗(yàn)證的計(jì)算機(jī)程序代碼執(zhí)行。
全文摘要
本發(fā)明公開了一種用于為專用網(wǎng)絡(luò)上保持的資源提供安全訪問的改進(jìn)方法。在一個(gè)實(shí)施例中,所訪問的資源可以是電子郵件資源。所述安全訪問可以使用標(biāo)準(zhǔn)的網(wǎng)絡(luò)瀏覽器并通過公共網(wǎng)絡(luò)來提供。多個(gè)遠(yuǎn)程用戶能夠通過公共接入點(diǎn)而對至少一部分專用網(wǎng)絡(luò)進(jìn)行有限制的受控訪問。這種改進(jìn)方法所提供的解決方案不但易于建立和管理,而且還能以一種節(jié)省成本的方式來支持眾多遠(yuǎn)程用戶。對電子郵件資源來說,這種改進(jìn)方法所提供的解決方案不但允許在本地訪問電子郵件資源,而且還提供了加強(qiáng)的驗(yàn)證方法。
文檔編號H04L29/06GK1605181SQ02825046
公開日2005年4月6日 申請日期2002年10月29日 優(yōu)先權(quán)日2001年11月2日
發(fā)明者希倫·托克, 桑帕斯·斯林尼瓦斯, 伊馮·P·F·桑 申請人:紐特利斯公司