在代理伺服器中為無線用戶代理緩存印鑑的方法和裝置的製作方法
2023-09-11 22:48:00 2
專利名稱:在代理伺服器中為無線用戶代理緩存印鑑的方法和裝置的製作方法
技術領域:
本發明涉及無線數據通信系統領域。具體地,本發明公開了一種方法和裝置,用於在代理伺服器中緩存印鑑,這些印鑑由無線客戶機設備在訪問受保護的資源時使用。
為了能夠在全球網際網路上進行商業事務處理,彼此通信的雙方必須能夠彼此認證。具體說,在事務處理中的每一方必須確認,在事務處理的另一端的人是對方所宣稱是的人。認證正試圖連接到伺服器系統的客戶機系統的一個方法是要求該客戶機系統提供印鑑(credential)。印鑑是用於認證用戶的認證信息,該用戶想要訪問受保護的資源,比如一伺服器。
典型的印鑑是用戶名(userid,用戶標識符)和口令對。另一個常見印鑑是用戶名和口令對的派生形式,比如64基編碼的用戶名和口令對。例如,在網際網路環境中,64基編碼的用戶名和口令對印鑑被全球資訊網(World Wide Web)伺服器廣泛使用,以便在用戶被允許訪問希望的伺服器前認證客戶機用戶。每個全球資訊網伺服器用著名的HTTP協議(RFC2068)通信,並提供各種資源,諸如HTML文檔。每個資源由URI或URL標識(RFC2068)。
為了保護一組網際網路資源不受到未授權的訪問,這些資源被分組為「區域」(realm)。每個區域包括一系列網際網路資源,這些資源定義了所保護的空間。當一個用戶想要訪問在特定區域內的任何資源時,用戶必須提供一個印鑑,以認證用戶為被授權訪問在該區域內的資源的一個實體。
HTTP協議為用戶代理(User agent)定義了一種標準化方式,將一印鑑遞交網際網路伺服器,稱為基本認證(Basic Authentication)。「基本認證」定義在IETF的RFC2068中。在基本認證系統中,用戶代理,也稱為Web客戶機或Web瀏覽器,首先訪問由URL標識的受保護的資源,而不提供任何在初始請求內的印鑑。網際網路伺服器拒絕訪問並送回一狀況碼401以及HTTP首標「WWW-Authenticate」(WWW認證),請求一訪問被保護區域的印鑑。用「WWW-Authenticate」首標的響應包括一通知響應(challenge response),該通知響應包括一文本串,標識用戶代理試圖訪問的區域。
用戶代理(Web客戶機或Web瀏覽器)然後可以提示用戶輸入印鑑信息(用戶名和口令)。在收到印鑑信息後,用戶代理然後再遞交被拒絕的請求以及在HTTP首標「Authorization」(授權)欄位所要求的印鑑信息。如果印鑑認證了該用戶是允許訪問該區域內的受保護資源的實體,則網際網路伺服器批准訪問該區域內的受保護資源的實體。用戶代理(Web客戶機或Web瀏覽器)可以緩存該印鑑,這樣在任何後續請求中用戶代理將自動把該印鑑添附給同一區域內的任何其它資源,而無需用戶介入。
在無線環境中,用戶代理(瘦客戶機或微瀏覽器)存在於無線客戶機設備上,諸如具有無線通信能力的蜂窩電話或個人數字助手(PDA)。在這種環境中,用戶代理的處理能力和存儲容量都有限。另外,通信帶寬量低,通信帶寬的成本高。由於在RFC2068中定義的基本認證系統每次請求都要求印鑑連續地被通過,對於無線環境,其中無線客戶機設備的處理能力有限,存儲器有限,無線基礎設施的數據通信帶寬有限,基本認證系統是不能勝任的。
本發明介紹了一種代理伺服器,為一系列無線客戶機設備處理印鑑緩存,這些無線客戶機設備希望訪問一第二網絡上的受保護資源,其中受保護的資源需要印鑑。在一個實施例中,當印鑑從無線用戶代理第一次送到網際網路上的受保護資源時,代理伺服器截獲和緩存無線客戶機的印鑑。為了截獲該印鑑,代理伺服器在來自無線客戶機設備的消息的首標中找到該印鑑,其中被檢查的印鑑首標等價於HTTP「Authorization」首標。一旦找到特定區域的印鑑,代理伺服器在代理伺服器的存儲器中緩存該印鑑(短期或長期)。緩存的印鑑然後將被用於到同一區域內的資源的所有請求。這樣,在第一次送出用於訪問特定區域的資源的第一印鑑後,無線用戶代理不需要為所有後續的屬於同一區域的任何其它資源的請求添加印鑑。
在一個替換實施例中,當代理伺服器需要印鑑時(可能由於一被拒絕的請求),代理伺服器送出一特殊的請求到無線客戶機設備,請求用於特定資源的印鑑。該特殊請求可以採用簡單的預定格式的顯示頁的形式,這樣「啞(dumb)終端」無線客戶機設備可以被用於與受保護的網際網路資源通信,即使「啞」無線客戶機設備沒有認證和授權的概念。
本發明的公開提供了幾個優點。本發明的最重要的優點之一是,由於印鑑不需要對於每個到受保護區域的請求都送出,本發明減少了必須在低帶寬和昂貴的無線通信基礎設施上傳輸的位和字節的數目。另外,由於無線用戶代理不必實施用於保存印鑑的機構,無線客戶機設備也不必保留存儲器以存儲這些印鑑,本發明減少了用在每個無線客戶機設備內的存儲器的數量。本發明還避免了無線客戶機設備用戶為訪問屬於同一受保護區域的受保護資源而一再鍵入印鑑。
結合附圖從以下的詳細說明中,本發明的其它方面和優點將變得明顯,附圖通過例子示出了本發明的原理。
通過以下結合附圖的詳細描述,本發明的這些和其它特徵、方面和優點將變得更好理解,附圖中
圖1示出實踐本發明的示意結構。
圖2示出了用於無線客戶機設備的網際網路代理系統的功能圖,其中提供了印鑑緩存。
圖3示出了描述無線客戶機如何訪問受保護的區域內的網際網路信息伺服器和代理伺服器如何自動緩存用於訪問網際網路信息伺服器的印鑑的流程圖。
符號和術語在下面的本發明的詳細描述中,種種具體細節的提出是為了提供對本發明的充分理解。然而,對本領域的技術人員而言很顯然,可以沒有這些具體細節而實施本發明。在其它例子中,公知方法、過程、組件和電路沒有詳細描述,以避免不必要地模糊了本發明的主要方面。
在下面提出的本發明的詳細描述中,大量採用過程、步驟、邏輯塊、處理和其它符號表示,表示連接到網絡的數據處理設備。這些處理描述和表示是由本領域的技術人員使用的手段,以最有效地將他們的工作的內容傳遞給其它的本領域技術人員。下面要詳細描述的本發明的方法以及裝置是導出希望的結果的處理或步驟的自洽的順序。這些步驟或處理需要物理量的物理操縱。通常,儘管不是必須,這些量可以採用電信號的形式,能夠在計算機系統或電子計算設備中被存儲、傳遞、組合、比較、顯示及其它操縱。已經多次證明,主要是為了公用的原因,將這些信號稱為位、值、因素、符號、操作、消息、術語、數字等是方便的。應該指出,所有這些類似的術語是與合適的物理量相聯繫的,它們僅僅是應用於這些量的方便標記。除非在下面的描述中具體地指出,應該理解,貫穿本發明的始終,利用諸如「處理」或「計算」或「查對」或「顯示」等等的術語的討論是指計算設備的動作或處理,該計算設備操縱和變換代表該計算設備的寄存器和存儲器中的物理量的數據為其它數據,這些其它數據類似地代表該計算設備或其它電子設備內的物理量。
無線數據網現在參見附圖,其中各圖中相同的數字指相同的部件。圖1示出了實踐本發明的示意結構。數據網絡100包括空網(airnet)102,通常被稱為無線網絡;和地網(landnet)104,通常被稱為陸地線路網絡,每個作為通信媒體用於數據通過它們傳輸。空網102,其中數據經空中傳輸,有時被稱為載波(carrier)網絡,因為每個空網用一載波控制和操作,例如,ATT和GTE,每個有其自己的通信方案,諸如CDPD、CDMA(碼分多址)、GSM(全球通移動通信系統)和TDMA(時分多址),用於空網102。空網102可以包括多於一個的不同類型的無線網絡。例如,空網102可以包括用於一些無線客戶機設備的GSM無線網絡和用於其它無線客戶機設備的CDPD無線網絡。
106所標是雙向交互通信設備之一,可以是行動裝置、蜂窩電話、無線個人數字助理或無線遙控器,能夠經空網102與天線108通信,天線108也代表一載波基礎設施。通常理解載波基礎設施或天線108同時於服務多個雙向交互通信設備,其中僅一行動裝置106在圖中示出。類似地,多個桌面個人電腦(PC)110和許多信息服務計算機112(諸如Web伺服器)被連接到網際網路104,儘管只分別在圖中示出了一個代表。個人電腦系統110,如圖所示,可以是Dell計算機公司的基於Intel處理器的個人電腦。個人電腦系統可以運行HTML Web瀏覽器,諸如Netscape Navigator,以便使用HTTP經網際網路104通信,以訪問存儲在信息伺服器112中的信息,信息伺服器112可以是Sun Microsystem公司的工作站。對本領域的技術人員而言,應該理解,個人電腦110可以存儲可訪問信息,也能成為信息伺服器。
在網際網路104和空網102之間,有一連結基礎設施,包括代理伺服器設備114和一個或多個無線載波基礎設施108。代理伺服器設備114,也稱為代理伺服器或無線數據伺服器或網關伺服器,可以是工作站或個人電腦,執行映射或翻譯功能。例如,代理伺服器可以從一個網絡協議映射到另一個網絡協議。使用代理伺服器114,行動裝置106可以與在網際網路上的任何一個計算機伺服器112或個人電腦110經無線載波基礎設施108通信。代理伺服器114可以作主機支持(host)許多其它的可以由連接到網際網路104的行動裝置和計算機使用的應用程式。
無線載波基礎設施108通常包括基站和操作中心,用於支持的每個類型的無線網絡。基站控制與各行動裝置的無線電或電信鏈路。操作和維護中心包括移動切換中心,執行在各行動裝置和其它固定或行動網路用戶之間的呼叫的切換。另外,操作和維護中心管理移動服務,諸如認證,監視無線網絡的正確操作和設置。在基站中的每個硬體組件和處理,以及每種類型無線網絡的操作和維護中心對本領域的技術人員而言是已知的,沒有在此描述,以避免不必要地模糊本發明的主要方面。
在網際網路104上的全球資訊網(WWW,World Wide Web)的通信協議是著名的超文本傳輸協議(HTTP,HyperText Transport Protocol)或HTTPS(HTTP的加密版)。HTTP在傳輸控制協議(TCP,Transport Control Protocol)和網際網路協議(IP,Internet Protocol)之上運行的。HTTP用於在代理伺服器114和HTML Web伺服器的一個之間傳遞諸如HTML和HDML形式的信息,所述H TML Web伺服器駐留在計算機110、112或122中。
在移動計算設備106和代理伺服器114之間經空網102的通信協議可以是針對無線網絡的協議之一。這些協議的例子可以包括無線通話協議(WSP,Wireless Session Protocol)和手持設備傳輸協議(HDTP,Handheld DeviceTransport Protocol)。WSP或HDTP最好運行在用戶數據報協議(UDP,UserDatagram protocol)上,UDP用於控制行動裝置106中的瀏覽器程序連接到代理伺服器114。在行動裝置106中的瀏覽器程序可以支持一個或多個標註語言,諸如無線標註語言(WML,Wireless Markup Language),手持設備標註語言(HDML,Handheld Device Markup language)和壓縮超文本標註語言(cHTML,compact HyperText Markup Language)。類似於慣常的HTML,cHTML、WML或HDML語言是基於標籤(tag)的文檔語言,包括列在一卡片中的一系列命令或表述,指明如何在行動裝置106的小屏幕上顯示信息。為了便於根據實施例描述本發明,下面將考慮WML和HDML。支持WML和HDML、在WSP和HDTP上操作的瀏覽器可以從Unwired Planet公司獲得,該公司位於美國800 Chesapeake Drive.Redwood City.CA 94063。
一般許多卡片分組為卡片組(deck),卡片組是可以在行動裝置106和代理伺服器114之間交換的HDML信息的最小單位。題目是「HDTP說明書」的HDTP的說明書和題目是「HDML2.0語言參考」的HDML包含在此作為全面參考。另外,關於無線通話協議(WSP,Wireless Session Protocol)和無線標註語言(WML,Wireless Markup Language)的附加信息可以在無線應用程式協議論壇找到,網址在http//www.wapforum.org/。
WSP和HDTP是通話級協議,類似於HTTP,但WSP和HDTP是設計成系統開銷小,因為HDTP是設計成用於較低帶寬無線環境的。例如,WSP和HDTP協議已經設計成為使以下分組數最小,在信息可以被交換之前當在無線客戶機設備和無線伺服器之間協商連接時需要交換這些分組。另外,WSP和HDTP被優化用於在小客戶機設備中使用,諸如移動計算設備,包括蜂窩電話和個人數字助理。移動計算設備通常比桌面個人電腦的計算能力和存儲器小得多。交換很小量的分組是很有限計算能力和存儲器的行動裝置所希望的特點之一,以便有效地與陸上通信線設備交互。
無線計算設備為了便於所公開的系統的描述,在移動計算設備106中的一些特徵被列舉。根據一個實施例,移動計算設備106是行動電話。行動電話106包括顯示屏116和鍵盤板118,允許其用戶與行動電話交互通信。行動電話106中包括微控制器、ROM、RAM的數字硬體組件為本領域的技術人員所熟知。
編譯和連結後的處理通常存儲在ROM中,作為客戶機模塊,使行動裝置106與代理伺服器114通信。用顯示屏幕116和鍵板118,行動裝置106的用戶可以交互地與代理伺服器114在空網102上通信。例如,利用鍵板118,基於預定鍵次序的激活,微控制器使用ROM中的客戶機模塊發出通信通話請求到代理伺服器114。一旦建立了通信通話,行動裝置106通常從代理伺服器114接收單個HDML或WSP卡片組,並存儲該卡片組,如同緩存在RAM中。如上所述,HDML卡片組包括一個或多個卡片。每個卡片包括在顯示屏幕116上產生屏幕顯示需要的信息。在卡片組中卡片的數目被選擇,以便於行動裝置106和空網102中的資源的有效使用。
無線數據網絡的網際網路代理現在參見圖2,示出了用於多個無線設備的網際網路代理系統的功能方框圖。Web伺服器設備202、204、205、206和207提供能夠由網際網路104上的其它計算設備訪問的信息。第一無線行動裝置106和第二無線行動裝置107訪問經網際網路代理伺服器設備114通過第一無線網絡102連接到網際網路的Web伺服器設備202、204、205、206和207中的信息。
實際的網際網路通信和翻譯是由網際網路代理進程217執行的。網際網路代理進程217使用網際網路協議(IP)地址與和連接到網際網路104的其它設備通信。圖2還示出了第三無線行動裝置176和第四無線行動裝置177,經網際網路代理伺服器設備114通過第二無線網絡172訪問Web伺服器設備202、204、205、206和207中的信息。第二無線網絡172與第一無線網絡102有不同的特性。這樣,網際網路代理進程217可以負責提供到幾個使用不同無線基礎設施通信的無線客戶機的網際網路接入。
為了避免在本發明的進一步描述中的歧義,每個伺服器設備,諸如Web伺服器設備202、204、205、206和207和代理伺服器設備114,指一個硬體設備,包括一個或多個微處理器、工作存儲器、總線和必要的接口和其它組件,它們對本領域的技術人員而言是熟悉的。而伺服器模塊表示所公開系統的編譯和連結後的進程裝入工作存儲器,以按照本發明通過伺服器設備中的部件和組件進行指定操作。有關一個可能的代理伺服器的設計,結構和操作的進一步的細節可見美國專利申請08/978701,名稱「交互雙向數據通信網絡的方法和結構」,申請人為Alain Rossmann,以及09/071235,名稱「集成窄帶和寬帶數據傳輸的方法的系統」,申請人Stephens,Boyle等,申請日1998年4月3日,這裡列出作為參考。
網際網路HTTP基本認證如上所述,在全球網際網路上可用的許多服務需要用戶認證自己為允許訪問該特定服務的實體。例如,當投資者試圖訪問在經紀人處的伺服器的他的經紀人帳戶時,該投資者被要求在批准到經紀人帳戶的訪問前認證自己。用戶的Web瀏覽器將請求用戶鍵入一組印鑑,包括用戶名(userid)和口令。Web瀏覽器然後將在與經紀人處的伺服器通信時遞交該印鑑。
認證客戶機系統的標準方法是使用基本認證系統,該基本認證系統在網際網路工程任務要點(IETF,Internet Engineering Task Force)送審(RFC,Request For Comment)文檔2068中可得的HTTP說明書的版本1.1中提出。在RFC2068定義的基本認證系統中,一個受保護的伺服器將請求客戶機以下面方式認證自己,即通過送出一個帶首標的響應,該首標請求對特定區域的認證,諸如WWW-認證基本區域=「Wally World」客戶機應該用包括有合適的授權印鑑的首標的一個請求來響應,該印鑑由64基編碼來編碼。例如,如果用戶代理試圖送發用戶名「Aladdin」和口令「open sesame」,應該使用以下授權首標欄位授權基本QWxhZGRpbjpvcGVuIHNlc2FtZQ==如果受保護的伺服器批准了認證印鑑,受保護的伺服器將處理該請求。對於所有到在同一受保護區域的伺服器的後續請求,客戶機被推薦包括同一授權首標欄位以避免因缺少授權被拒絕請求。
為了防止用戶被迫為每個後續請求鍵入印鑑,用戶代理(Web客戶機或Web瀏覽器)可以與區域名一起緩存該印鑑。這樣,對於所有後續的到在該同一區域內的伺服器的請求,用戶代理自動添加授權印鑑,而無需用戶介入。
無線設備的緩存的認證如上所述,在全球網際網路上可用的許多服務需要用戶在訪問受保護的服務前認證自己。對於在RFC 2068中定義的基本認證系統,認證印鑑必須與到所保護區域內資源的每個請求一起送出。在無線通信環境中,通信系統開銷必須保持到最小,本發明提出了消除要傳輸的大多數認證請求和授權響應。具體說,在本發明中,處理無線客戶機設備和網際網路上資源之間的通信的代理伺服器被用於緩存印鑑。
當印鑑首次從無線用戶代理送到受保護的網際網路伺服器時,代理伺服器截獲和緩存無線客戶機的印鑑。為了截獲該印鑑,代理伺服器查找HDTP或WSP首標中的印鑑,該HDTP或WSP首標等效於在來自無線用戶代理的請求中的HTTP「Authorization」首標。一旦找到特定區域的印鑑,該印鑑就被緩存在代理伺服器的存儲器中(短期或長期)。在首次發送訪問特定區域的資源的印鑑後,無線用戶代理不需要為屬於同一區域的任何其它資源的所有後續請求添加該印鑑。代理伺服器通過使用一特定請求所要發至的URL,從其緩存取出該印鑑。如果該URL屬於該代理伺服器有印鑑的已知受保護區域,則代理伺服器將用於該區域的印鑑添加到該請求,該請求被送至網際網路伺服器。
本發明的公開方案提供了幾個優點。首先,由於印鑑不需要對每個到受保護區域的請求都送出,本發明減少了必須在低帶寬和昂貴的無線通信基礎設施上傳輸的位和字節的數目。第二,由於無線用戶代理不必實施保存該印鑑的機構,也不必存儲該印鑑,本發明減小了用在每個無線客戶機設備內的存儲器的量。第三,相比無線用戶代理沒有印鑑緩存機構的情況,本發明減少了經無線通信送出的消息量。最後,相比無線用戶代理沒有印鑑緩存機制或在無線客戶機設備中的緩存量小的情況,本發明使用戶無需一再鍵入訪問屬於同一區域的印鑑。
實施概要再參考圖2,為了實現印鑑緩存系統,網際網路代理進程217被編程為對從無線客戶機設備送到網際網路資源的每個請求使用印鑑緩存214。具體說,網際網路代理進程217被編程為查找每個請求中的授權印鑑。如果檢測到一個新印鑑,則網際網路代理進程217將包含在請求的首標中的該新印鑑存儲在印鑑緩存214中。如果網際網路代理進程217沒有檢測到帶印鑑的授權首標,則網際網路代理進程217檢查印鑑緩存214以確定是否網際網路代理處理217先前已經緩存了用於要訪問的網際網路資源的印鑑。如果網際網路代理進程217找到了用於要訪問的網際網路資源的印鑑,該印鑑通過HTTP「Authorization」首標被添附到請求上,並送到所希望的網際網路資源。
例如,如果無線行動裝置106希望與受保護區域230內的Web伺服器206通信,該行動裝置106必須提供一印鑑。該印鑑可以在初始請求(可能該行動裝置106緩存該印鑑)過程中被提供,或者該印鑑可以響應於來自Web伺服器206的消息而提供,該消息使用公知的HTTP401狀態代碼表示該訪問被拒絕。當網際網路代理進程217發現來自行動裝置106的請求中的印鑑時,網際網路代理進程217將該印鑑存儲在印鑑緩存214中。在所有後續的到Web伺服器206的訪問中,行動裝置106不需要提供印鑑,因為網際網路代理進程217將自動從印鑑緩存214插入該印鑑。另外,如果行動裝置106訪問Web伺服器205或Web伺服器207,行動裝置106也不需要提供一印鑑。由於Web伺服器205和Web伺服器207駐留在與Web伺服器206相同的受保護區域,這樣網際網路代理進程217將自動從印鑑緩存214插入該印鑑,所以,不需要印鑑。
緩存印鑑事務處理的一個例子為了充分地描述本發明,參考在無線客戶機設備、網際網路代理伺服器和受保護網際網路伺服器之間的示例性事務處理(transaction),來描述典型的緩存印鑑事務處理。在該例子中,假定代理伺服器已經以下面方式配置,使得無線用戶代理必須明示地請求緩存印鑑,以便代理伺服器執行緩存功能。應該注意無線客戶機設備可以選擇在代理伺服器中不使能印鑑緩存功能,代理伺服器可以不管無線用戶代理是否緩存了該印鑑而選擇使能緩存印鑑。
參考圖3的上部,在認證事務處理中涉及的三個單元被顯示無線客戶機設備301、網際網路代理伺服器302和受保護網際網路伺服器303。在三個單元的下面,將描述每個單元的一系列步驟和單元之間發送的消息。
為了使代理伺服器能夠為特定無線客戶機設備緩存印鑑,無線用戶代理產生一個請求,該請求包含步驟305中所述的印鑑的代理緩存的請求。在圖3的實施例中,無線代理通過在WSP會議產生消息306中包括首標「x-up-ba-enable1」產生該請求。響應於代理緩存使能請求,代理伺服器302在步驟307使能緩存特定無線客戶機設備的印鑑。此時,代理伺服器302可以產生一與無線客戶設備帳戶相關的空緩存記錄,用於存儲印鑑。代理伺服器302然後在給通話產生請求的回覆消息308中,用相同「x-up-ba-enable1」首標回復該通話產生請求,表示已經使能緩存。當該協商完成後,無線用戶代理301和代理伺服器302都已經同意,將由代理伺服器302執行印鑑的緩存,這樣無線用戶代理301不需要執行緩存。
在印鑑的代理緩存已經使能後,代理伺服器302檢查所有後續請求,並確定在該請求被從WSP或HDTP翻譯為送到希望的網際網路信息伺服器的HTTP之前,是否緩存的印鑑應該被添附到該請求。每個請求的檢查包括檢查在緩存中的已知的受保護區域看是否請求的目的地URL屬於已知的受保護區域之一。如果請求的URL屬於緩存的區域,則代理伺服器302將通過使用HTTP首標「Authorization」添附上與該區域相關的印鑑,將該請求轉交到希望的伺服器。
在一個特定實施例中,代理伺服器302分析(parse)請求的URL,以獲得網際網路主機名和所要資源的路徑,以便確定該URL請求是否屬於在緩存中的受保護區域。代理伺服器302然後使用主機名和路徑對,以試圖找到印鑑緩存中的匹配的項目(entry)。主機名必須完全匹配於在緩存項目中的主機名,以產生一緩存「hit(命中)」。使用根路徑比較執行路徑比較。具體說,僅當緩存項目中的路徑是URL中的路徑的根路徑時,才會有路徑匹配。例如,為了實現本發明的目的,包含路徑「/alpha/beta」的緩存項目將匹配於有路徑「/alpha/beta/gamma」的請求,因為「/alpha/beta」是「/alpha/beta/gamma」的根路徑。如果在印鑑緩存中的項目與主機名和路徑都匹配,則由URL指明的被請求資源屬於與具有相匹配的主機名和路徑對的緩存項目相關的受保護區域。在一實施例中,每個項目包括一TCP埠號。在該實施例中,埠號必須也精確匹配,以標識匹配的項目。
如果包含目的地URL的區域沒有在印鑑緩存中找到,代理伺服器302就發送給該URL請求給起初的伺服器。這樣的一個例子示於步驟310,其中在無線客戶機設備301中的無線客戶代理將用於網際網路信息伺服器303的請求311送給代理伺服器302。代理伺服器302然後檢查該請求,確定URL不在任何已知受保護區域內,因為在此例中此時在代理伺服器的印鑑緩存中沒有已知受保護區域。因此,代理伺服器302在步驟305翻譯該請求,並將翻譯的請求317送給目的地URL,網際網路信息伺服器303。
在圖3的例子中,網際網路信息伺服器303在受保護區域399內,當317到達在399內的網際網路信息伺服器303時,該網際網路信息伺服器303將在步驟320拒絕所述的請求。為了拒絕該請求,網際網路信息伺服器303送出一響應消息321,該321包含公知的HTTP狀態代碼401,指明因為訪問不能被授權故該訪問已經被拒絕。通過包括HTTP「WWW Authenticate」首標,該首標通知信息接收方提供授權印鑑,該響應消息也包含了認證通知。在圖3的例子中,HTTP「WWW Authenticate」首標表示基本認證系統正被使用。HTTP「WWW Authenticate」首標還表示正在訪問的區域名。在圖3的例子中,分配給受保護區域的名字「Valley」在呼叫認證首標中被傳送。
當代理伺服器302從網際網路伺服器諸如網際網路信息伺服器303收到認證通知消息時,代理伺服器302可以使用在通知消息中指明的區域,首先查找和檢查該印鑑緩存。如果找到該區域的匹配緩存項目,代理伺服器302取出與該區域相聯繫的該印鑑信息,並通過設置載有從印鑑緩存取出的印鑑的「Authorization」首標,再遞交HTTP請求。當HTTP請求成功時,新緩存項目將在印鑑緩存中產生。該印鑑的新緩存項目首先在緩存中產生作為原始項目。在HTTP請求被證明成功後,原始緩存項目被使有效,其狀態從原始提升為有效。原始緩存項目僅僅意味著,在該緩存項目可以被用於訪問同一區域中資源的其它請求之前,需要進一步的有效化。該緩存項目可以包含主機名、區域名、印鑑、路徑和埠。重複的緩存項目在被檢測到時可以被除去。然而,如果在緩存中沒有找到印鑑,代理伺服器302在步驟325中翻譯所述的認證通知響應。代理伺服器302通過WSP發送所翻譯的認證通知消息327以及相應的WSP或HDTP「Authenticate」首標給無線用戶代理,該首標載有到無線用戶代理的通知。應該注意帶認證通知的WSP或HDTP響應327包括要訪問的區域名(「Valley」)。
在收到帶認證通知的響應327後,無線用戶代理用要訪問的區域名檢查印鑑的本地緩存。如果本地用戶緩存有該特定區域的項目,則無線用戶代理再遞交請求333以及來自印鑑緩存的授權信息,該授權信息載於WSP首標「Authorization」中。
如果本地客戶機緩存不包括該特定區域的印鑑信息或者如果用戶代理沒有印鑑緩存,則用戶代理向用戶要訪問該特定URL的印鑑。在用戶提供用於所需資源(網際網路信息伺服器303)的印鑑之後,無線客戶機代理再遞交請求333以及用戶鍵入的印鑑信息。當無線客戶機設備301再遞交請求333時,它包括WSP「Authorization」首標,載有通過代理伺服器302到網際網路信息伺服器303的請求中的印鑑信息。再遞交請求也包括區域名(此例中為「Valley」)。在一個實施例中,無線客戶機設備301在再遞交的WSP或HDTP請求333中的「x-up-ba-realm」首標中指明區域。
當代理伺服器302接收到在「Authorization」首標中遞交的印鑑時,代理伺服器302在步驟330在所述的印鑑緩存中產生原始(proto)印鑑緩存項目。印鑑緩存項目包括實際印鑑(通常是用戶名和口令)、區域名、來自URL的主機伺服器名、來自URL的路徑名和正訪問的埠。最少,每個緩存項目必須包含印鑑和受保護區域的名字。例如,如果無線客戶機設備301正使用網際網路URL https//www.uplanet.com8200/alpha/beta以用戶名「Aladdin」和口令「sesame」訪問在「Valley」區域中的網際網路信息伺服器303,則印鑑緩存用印鑑「Aladdin/sesame」(用戶名和口令對)、區域名「Valley」、主機名www.uplanet.com、路徑「/alpha/beta」和TCP埠「8200」存儲原始緩存項目。至少,印鑑項目必須包含印鑑「Aladdin/sesame」和區域名「Valley」。注意區域名(「Valley」)是從在再遞交WSP和HDTP請求333中的「x-up-ba-realm」首標獲得的。新產生的印鑑緩存項目被標記為原始的,因為用戶(或者無線客戶機設備)可能已經提供了一印鑑,該印鑑直到相應的HTTP請求成功時才有效。
在產生原始印鑑緩存項目後,代理伺服器302將再遞交的WSP和HDTP請求333翻譯成帶HTTP「Authorization」首標的HTTP請求337。該翻譯後的帶HTTP「Authorization」首標的HTTP請求337被送到網際網路信息伺服器303。假定該區域的正確印鑑在再遞交的WSP或HDTP請求333中被提供,則網際網路信息伺服器303在步驟340處理該請求。網際網路信息伺服器303然後用正常HTTP響應341進行響應。
響應於表明授權成功的正常響應,代理伺服器302在步驟305使最近產生的原始印鑑緩存項目有效。該有效步驟提升該原始緩存項目為印鑑緩存中的有效緩存項目,這樣它可以被訪問同一區域的資源的所有其它請求重複使用。代理伺服器302還翻譯該響應,並將翻譯後的HDTP或WSP響應352傳給無線客戶機設備301。
當代理伺服器將來從無線用戶代理接收新請求時,所有有效的印鑑緩存項目,包括剛有效的印鑑緩存項目,都將被檢查。從無線用戶代理301來的將來請求可以指定剛放入該緩存的在同一受保護域內的資源。如果來自無線客戶機設備301的新請求被查明屬於同一區域,則代理伺服器302在請求被送交網際網路之前,將自動插入該緩存的印鑑到請求中。因為代理伺服器將印鑑保持在其緩存中,無線客戶機設備301不在新請求中發送印鑑給代理伺服器。
在使緩存項目有效之前,代理伺服器302將檢查是否新產生的緩存項目與較早印鑑緩存項目重複。如果新的緩存項目與較早印鑑緩存項目的重複,則老的緩存項目被除去。如果新產生的印鑑緩存項目的路徑包含一路徑,該路徑是到緩存中的現存項目的路徑的根路徑,且所有其它緩存項目中的域(field)都匹配,則新產生的印鑑緩存項目被認為是重複的。例如,由於請求URL包含「/alpha」,它是「/alpha/beta」的根路徑,所以新的緩存項目(name/password,
,www.uplanet.com./alpha,8200)是與包含(name/password,
www.uplanet.com,/alpha/beta,8200)現存緩存項目的重複項目。在該例中,name/password是用戶名/口令,
是區域。
實施細節每個放入印鑑緩存的印鑑並不是無限期地保留在緩存中。用緩存到期規則,使這些印鑑到期。在一個實施例中,無線客戶機設備當WSP會議結束時無效或刪除所有緩存項目。典型的到期時間可以是一天。然而,如果代理伺服器選擇這一策略,通過使用一短的或固定的到期時間段(例如,每30分鐘),無線客戶機設備可以比WSP會議循環周期更早到期。在另一個實施例中,每個緩存項目被給予其自己的到期時間。如果在到期時間之前,已知受保護區域內的資源被訪問,則到期時間可以延展。
在一個實施例中,代理伺服器302可以送出一特殊的印鑑請求HDML或WML卡片組或預先格式化的顯示頁面。如果使用了一個HDML或WML卡片組,該消息還將包括以特殊代理URI形式,諸如「uplink」的返回地址。特殊印鑑卡片組或頁面讓用戶鍵入印鑑,並指示用戶代理將一特殊請求發送給代理伺服器302。來自無線客戶機代理301的特殊請求包含印鑑、區域、主機、路徑和埠號(如果需要)。在這一實施例中,即使無線客戶機設備不知道基本認證概念,印鑑緩存系統也可以被實現。例如,非常簡單的瀏覽器可以不具備認證/授權特徵。另外,「啞終端」類型客戶機設備甚至可以不具備標記語言解釋器,這樣預先格式化的頁面被簡單顯示在屏幕上,並且請求消息被返回。
應該注意,印鑑緩存系統不是強制性的。如果特定無線客戶機設備用戶不信任印鑑緩存系統的安全性,則用戶可以關閉代理伺服器印鑑緩存。然而,在一個實施例中,管理者有權力不理會無線客戶機設備用戶的願望。具體說,代理伺服器管理者具有強制進行緩存印鑑的選擇,而不管無線用戶代理是否緩存這些印鑑。該選擇可以在峰值數據業務量期間使用,以使數據業務量被最小化。
前面已經描述了在代理伺服器環境中用於緩存印鑑的方法和裝置。應該指出本領域普通技術人員可能對本發明的要素的材料和安排進行各種改變和修改,而不脫離本發明的範圍。
權利要求
1.一種用代理伺服器緩存印鑑信息的方法,所述方法包括用代理伺服器將第一數據網絡上的一系列服務代理到第二數據網絡上的一系列客戶機設備;產生可以由所述代理伺服器訪問的印鑑緩存;使用所述代理伺服器截獲由客戶機設備發送到在所述第一數據網絡中的資源印鑑;和在所述印鑑緩存中存儲所述印鑑到第一印鑑項目中。
2.如權利要求1所述的方法,其中在所述印鑑緩存中存儲所述印鑑包括產生一原始印鑑項目,所述印鑑被傳送到所述資源,並且如果所述資源批准所述印鑑則使所述原始印鑑項目有效。
3.如權利要求1所述的方法,其中每個印鑑項目包括一印鑑和一區域名。
4.如權利要求3所述的方法,其中每個印鑑登陸項還包括主機名、埠號和所需資源的路徑。
5.如權利要求1所述的方法,其中每個客戶機設備可以指示所述代理伺服器是否應該緩存印鑑。
6.如權利要求1所述的方法,還包括通知所述客戶機設備所述代理伺服器將執行印鑑緩存,使得所述客戶機設備僅發送每個印鑑僅一次。
7.如權利要求1所述的方法,其中所述代理伺服器為所有後續的到所述資源的訪問使用所述存儲的印鑑。
8.如權利要求1所述的方法,其中在所述印鑑緩存中的所述各項目根據一系列確定的到期規則到期。
9.如權利要求1所述的方法,其中在到所述資源的訪問被拒絕後,所述印鑑由所述客戶機設備送出。
10.如權利要求1所述的方法,其中所述印鑑指示一受保護區域,其中所述印鑑被使用。
11.如權利要求10所述的方法,其中所述代理伺服器為所有後續的到所述受保護區域內的資源的訪問使用所述存儲的印鑑。
12.如權利要求4所述的方法,其中所述代理伺服器將在未來請求中的所需主機和所需路徑與在所述緩存項目中的所述主機名和所述路徑相比較。
13.一種用代理伺服器緩存印鑑信息的方法,所述方法包括用代理伺服器將第一數據網絡上的一系列服務代理到第二數據網絡上的一系列客戶機設備;產生可由所述代理伺服器訪問的印鑑緩存;使用所述代理伺服器向客戶機設備請求,用於在所述第一數據網絡中的資源的印鑑;和在所述印鑑緩存中存儲所述印鑑到第一印鑑項目中。
14.如權利要求13所述的方法,其中每個印鑑項目包括一印鑑和一區域名。
15.如權利要求14所述的方法,其中每個印鑑項目還包括主機名和所需資源的路徑。
16.如權利要求13所述的方法,其中所述代理伺服器為所有後續的到所述資源的訪問使用所述存儲的印鑑。
17.如權利要求13所述的方法,其中在所述印鑑緩存中的所述項目根據一系列確定的到期規則到期。
18.如權利要求13所述的方法,其中在到所述資源的訪問被拒絕後,所述印鑑由所述客戶機設備送出。
19.如權利要求13所述的方法,其中所述印鑑指示一受保護區域,其中所述印鑑被使用。
20.如權利要求19所述的方法,其中所述代理伺服器為所有後續的到所述受保護區域內的資源的訪問使用所述存儲的印鑑。
21.如權利要求15所述的方法,其中所述代理伺服器將在未來請求中的所需主機和所需路徑與在所述緩存項目中的所述主機名和所述路徑相比較。
22.一種用於在通信系統內緩存印鑑信息的裝置,所述裝置包括第一通信網絡;一系列客戶機設備,使用所述第一通信網絡通信;第二通信網絡,所述第二通信網絡提供一系列所需的服務;代理系統,所述代理系統將到在所述第二通信網絡上的所述一系列期望的服務代理到所述第一通信網絡上的所述一系列客戶機設備;印鑑緩存,所述印鑑緩存可由所述代理伺服器訪問;在所述代理伺服器中的印鑑緩存模塊,所述印鑑緩存模塊截獲由在所述第一通信網絡中的客戶機設備發送到在所述第二通信網絡中的資源的印鑑並在所述印鑑緩存中存儲所述印鑑到第一印鑑項目中。
23.如權利要求22所述的裝置,其中在所述印鑑緩存中存儲所述印鑑包括產生原始印鑑項目,所述印鑑被傳送到所述資源,並且如果所述資源批准所述印鑑則使所述原始印鑑項目有效。
24.如權利要求22所述的裝置,其中每個印鑑項目包括一印鑑和一區域名。
25.如權利要求24所述的裝置,其中每個印鑑項目還包括主機名、埠號和所需資源的路徑。
26.如權利要求22所述的裝置,其中每個客戶機設備可以指示所述代理伺服器是否應該緩存印鑑。
27.如權利要求22所述的裝置,其中所述代理伺服器通知所述客戶機設備所述代理伺服器將執行印鑑緩存,以使所述客戶機設備僅發送每個印鑑僅一次。
28.如權利要求22所述的裝置,其中所述代理伺服器為所有後續的到所述資源的訪問使用所述存儲的印鑑。
29.如權利要求22所述的裝置,其中在所述印鑑緩存中的所述項目根據一系列確定的到期規則到期。
30.如權利要求22所述的裝置,其中在到所述資源的訪問被拒絕後,所述印鑑由所述客戶機設備送出。
31.如權利要求22所述的裝置,其中所述印鑑指示一受保護區域,其中所述印鑑被使用。
32.如權利要求31所述的裝置,其中所述代理伺服器為所有後續的到所述受保護區域內的資源的訪問使用所述存儲的印鑑。
33.如權利要求24所述的裝置,其中所述代理伺服器將在未來請求中的所需主機和所需路徑與在所述緩存項目中的所述主機名和所述路徑相比較。
全文摘要
一種印鑑緩存代理伺服器,為希望訪問受保護區域的資源的無線客戶機設備處置印鑑緩存。當印鑑從無線用戶代理第一次送到受保護伺服器時,代理伺服器截獲和緩存無線客戶機的印鑑。緩存的印鑑然後將被用於到同一受保護區域內的資源的所有請求。這樣,在第一次送出用於訪問特定區域的資源的第一印鑑後,無線用戶代理不需要為所有後續的對屬於同一區域的任何其它資源的請求添附印鑑。或者,代理伺服器送出一特殊的請求到無線客戶機設備,請求特定資源的印鑑。
文檔編號G06F12/00GK1249590SQ9912053
公開日2000年4月5日 申請日期1999年9月29日 優先權日1998年9月29日
發明者廖漢清, 彼得·F·金, 拉塞爾·S·格裡爾 申請人:電話通有限公司