專利名稱:用于為移動通信設備提供遠程數據訪問的系統和方法
技術領域:
本發明涉及移動通信,并且特別涉及提供從移動通信設備對遠程數據的訪問。
背景技術:
使用移動通信設備提供對數據的遠程訪問的已知方案趨于相對受到限制。例如,用于移動設備的無線應用協議(WAP)瀏覽器通常提供只對與WAP適應源相關的信息的訪問。盡管其它已知和類似的產品可允許移動設備用戶訪問另外的信息源,這些產品一般沒有有效地使用移動通信網絡資源,特別是無線通信鏈路,并且經常需要諸如要在移動設備上執行信息解析之類的高強度的處理器操作。
此外,大部分已知的數據訪問系統和方法不適合于提供對存儲在專用網絡上的保密信息,諸如在位于安全防火墻之后的數據存儲器上的公司信息的真正安全訪問。
發明內容
本申請描述了一種用于向移動通信設備提供對遠程信息源的訪問的系統和方法。
在此描述的系統和方法提供對多種類型和格式的信息的任何一種的訪問。信息翻譯操作可在移動通信系統的信息源側執行,以減少了設備處理操作的復雜性和與這些操作相關的任何設備硬件和軟件組件。
在一個示例實施例中,用于提供信息源和移動通信設備之間的數據訪問的系統包括代碼轉換系統和第一網絡設備。代碼轉換系統包括多個代碼轉換器,每個代碼轉換器可操作將信息內容從各第一內容類型代碼轉換成相應的第二內容類型。第一網絡設備與代碼轉換系統通信,并且包括連接處理機系統。該連接處理雞系統可操作以接收用于信息源和移動通信設備之間的連接的連接數據和選擇對應的連接處理機。連接處理機可操作從多個代碼轉換器選擇一個或多個代碼轉換器,以對信息內容進行代碼轉換。
圖1是提供從移動通信設備對遠程信息源的訪問的通信系統的總體方框圖。
圖2是圖1所示系統的更詳細的方框圖。
圖3是表示在系統中的一般連接的處理機相關操作的流程圖。
圖4是連接處理機數據處理操作的流程圖。
圖5是表示基于可用代碼轉換器由HTTP連接處理機進行的接受內容類型擴展的信號流向圖。
圖6是表示用于HTTP操作的多代碼轉換操作的信號流向圖。
圖7是帶有外部代碼轉換器系統的通信系統的一般方框圖。
圖8是表示用于諸如圖7所示的外部代碼轉換器系統的示例HTTP操作的信號流向圖。
圖9示出用于外部代碼轉換器系統的另一個信號流向圖。
圖10是具有外部代碼轉換器系統和外部連接處理機系統的通信系統的方框圖。
圖11是用于圖10的系統的示例信號流向圖。
圖12是表示信息請求派送到外部連接處理機的信號流向圖。
圖13是表示圖12的請求派送的變體的信號流向圖。
圖14是表示到外部處理機的請求的越區切換(hand-off)的信號流向圖。
圖15是在安全網絡中實現的IP代理系統的方框圖。
圖16是表示公司數據訪問操作的信號流向圖。
具體實時方式系統總體描述圖1是提供從無線移動通信設備(“移動設備”)12對遠程信息源20的訪問的通信系統的總體方框圖。在圖1中,系統10包括移動設備12,無線網絡14,網關15,廣域網(WAN)16,網絡協議(IP)代理系統18,和信息源20。盡管在圖1所示的示例系統中IP示出了代理系統18,用于除IP協議外的代理系統也可以按照在此描述的系統和方法來實現。也可使用這些系統和方法代理在操作系統互連(OSI)模型內的其它層的協議。這些其它協議包括但不限于超文本傳輸協議(HTTP)和傳輸控制協議(TCP)。
移動設備12可以是適于操作于無線通信網絡14內的任何移動設備,并且最好是雙向通信設備。移動設備12還可以具有語音和數據通信能力。根據移動設備12提供的功能,移動設備12還可以是指數據消息設備,雙向尋呼機,具有數據消息能力的蜂窩電話,無線互聯網用具或數據通信設備(帶有或不帶有電話能力)。很顯然,對于通信領域技術人員明顯,移動設備12內的通信子系統的具體設計將取決于移動設備12打算運行于其中的通信網絡14。例如,針對北美市場的移動設備12可包括設計運行于MobitexTM移動通信系統或DataTACTM移動通信系統內的通信子系統,而打算用于歐洲的移動設備12可包括通用分組無線業務(GPRS)通信子系統。本領域技術人員還將理解也可期望其它類型的移動設備和網絡。在此描述的本發明的系統和方法可以結合實際上的任何無線網絡14實現。
圖1所示的網關15提供無線網絡14和WAN16,例如可以是互聯網,之間的接口。這些功能,如移動設備尋址、WAN協議和無線網絡協議之間的數據轉換、存儲并且將數據前送到移動設備12及從移動設備前送數據,和其它接口功能可以由網關15執行。
IP代理也能由與無線網絡14相關的網絡運營者/操作者主持。在該情況下,IP代理系統18和網關15之間的連接將使用運營者的專用網絡而不是WAN16。然后,WAN能夠用于IP代理系統18和信息源20之間的通信。
IP代理系統18是有效提供移動設備12對信息源20的訪問的系統,并且下面進一步詳細描述。通過IP代理系統18,移動設備12可以訪問能夠與IP代理系統18通信的任何信息源20,例如互聯網或網絡服務器。因此信息源20不需要特殊的應用或協議支持用于無線網絡通信,因為它與IP代理系統18通信而不直接與移動設備12通信。盡管圖1示出為直接連接,IP代理系統18和信息源20也能夠通過諸如局域網(LAN)或WAN包括互聯網之類的網絡進行通信。
無線網絡和互聯網使用類似的尋址方案,其中,由數字地址標識諸如在無線網絡中的移動設備或連接互聯網的計算機之類的接收者。例如,在Mobitex網絡中使用Mobitex訪問號碼(MAN)標識移動設備,并且使用IP地址方案標識公共互聯網節點。然而,無線網絡和互聯網傳輸機構之間的差別防止了大部分是基于互聯網的信息源20和移動設備12之間的直接通信。此外,信息源內容主要針對具有相對強大的處理器的桌面或其它計算機系統,并且可要求諸如由接收者執行的信息解析之類的高強度的處理器操作。由于移動設備趨于具有較小強度的處理器,這些操作在這些移動設備上比在計算機系統上花費更多時間,并且能夠消耗通常有限的電源的大量功率。IP代理系統18填補了基于互聯網和可能其它信息源20和移動設備12有關的無線網絡14之間的間隙。由IP代理系統18支持的這些服務例如可以包括地址映射,內容轉換和驗證和協議映射和優化。
IP代理的詳細描述圖2是圖1所示的IP代理系統18的更詳細的方框圖。IP代理系統18可包括分配器22,TCP處理機24,HTTP處理機26,代碼轉換系統28,總表示為30的一個或多個推服務,狀態持續單元34,監視系統36和登錄系統38。圖2還示出了推服務器42,網絡服務器46,網絡瀏覽器48和文件系統40,IP代理系統18可以時常與它們交互。圖2所示的很多組件主要作為計算機軟件模塊實現。IP代理系統18內的單元將典型地運行在相同的計算機上,而IP代理系統18外的組件通常駐留在分離的計算機上。然而在其它的實施例中,IP代理系統18的單元可改為分布在分布于網絡上的一組計算機中。
分配器22管理數據流和與網關15的連接。例如根據連接的類型或被傳送數據的類型或被執行的數據交易,分配器22與TCP處理機24或HTTP處理機26交互。代碼轉換系統28包括一個或多個數據濾波器,每個將數據或其它信息從一種格式轉換成能夠由移動設備12處理的格式。
推服務30提供通過IP代理系統18將來自諸如推服務器42(例如可以是網絡服務器或軟件應用)之類的信息源“主動提供的”信息傳送到移動設備12。推服務組件30允許推服務器42使用例如移動設備擁有者的電子郵件地址或某些其它方便的標記尋址移動設備12。相應地,推服務器42不需要知道移動設備12在無線網絡14中的地址。
狀態持續單元34與數據文件系統40或數據庫一起使其能夠管理IP代理系統18能連接到的網絡服務器46相關的應用小程序,口令和可能的其它狀態信息。它最好存儲有關分離的網絡分組,例如HTTP請求/響應對之間存在的連接的狀態信息。監視系統36允許監督者通過諸如網絡瀏覽器48之類的接口對IP代理系統18的性能、效率、使用情況和健康進行遠端監視。正如其名稱所暗示的,日志系統38可以被配置用來存儲使用情況、連接、用戶統計等到文件系統40或某些其它備用存儲器。
連接和處理機IP代理系統18最好能操作和處理來自各信息源20包括基于互聯網的源的內容。該功能由連接處理機提供,連接處理機是具有能夠處理來自與IP代理系統18的輸入連接和輸出連接的內容的中間物。在圖2所示的IP代理系統18中,示出了兩個這樣的處理機,TCP處理機24和HTTP處理機26。這些處理機最好能夠被替換和客戶化,或附加的處理機能夠根據需要被添加到IP代理系統18。連接處理機不僅能夠優化內容而且能夠優化協議。例如,將通常被發送到移動設備12的某些請求(諸如口令請求)可以由連接處理機解決,此處請求的數據例如通過狀態持續單元34已經存儲在文件系統40或對于連接處理機可訪問的另一個存儲器中。這種協議優化的情況能夠通過減少經無線網絡發送到移動設備的業務量、由此減少無線網絡帶寬限制和等待時間的影響而使所謂的“閑話”協議更加無線友好。
輸出連接能夠從移動設備12進行,以便向和從諸如互聯網節點之類的其它實體發送和接收數據。IP代理系統18最好使用特定協議,例如稱為IP代理協議的專用協議或本發明的受讓人開發的IPPP從移動設備12接收連接請求。也可以使用其它協議。IP代理系統18然后按照由移動設備12在連接請求中提供的協議和路由信息,建立互聯網連接,并且翻譯和映射該連接以開始在兩個方向上前送數據。數據濾波和代碼轉換過程根據需要被調用,例如基于經連接傳送的內容的類型。這些輸出連接將在網絡瀏覽操作的上下文進一步詳細描述。
例如,能夠使用輸入連接來實現數據推模式。在該模式中,移動設備12可以不用發出取信息的請求而被發送信息。正如輸出連接的情況。如上簡單描述的,移動設備12可以存在于不同于互聯網節點的網絡域上。IP代理系統18負責架接互聯網和無線網絡域。于是,IP代理系統18需要一定的路由信息以路由業務到特定的移動設備12。在推操作中,至少某些該路由信息必須由發出請求以建立輸入連接的、諸如推服務器42之類的互聯網節點提供。IP代理系統18可以將公知的諸如電子郵件或IP號之類的尋址方案轉換成計劃接收者移動設備12的合適的無線網絡地址。
在IP代理系統18中的連接處理機是基于流的物體。當請求輸出或輸入連接時,在移動設備12和合適的連接處理機之間建立虛擬管流。連接處理機將用例子說明,并且開始處理內容用于建立的連接。基于連接請求裝載連接處理機,該請求最好包含合適處理機名稱的引用,該處理機名稱將暗示通常穿過虛擬管流的業務的類型和如果沒有被裝載則必須被裝載的處理機的位置。連接處理機的功能包括映射互聯網或其它信息源側連接和移動設備側的連接,前送這些連接之間的業務,和針對預定給移動設備12的信息來裝載和調用合適的代碼轉換器。
每個連接最好與連接處理機的情況相關。即使對于不需要內容由IP代理系統18處理的連接,例如移動設備12和服務器之間的純TCP連接也是如此。該類型的連接處理機來回傳送內容,不用對內容進行任何修改,盡管它可以對協議進行修改。為了清楚起見,本領域技術人員將會理解數據或內容(移動設備所請求的或正被發送的)和協議(被要求傳遞數據的“封套(wrappers)”和轉換)之間的差別。
連接處理機也負責裝載合適的內容濾波器或代碼轉換器。在上面的例子中,如果網絡服務器46例如返回超文本標記語言(HTML)內容,然后如果移動設備不能接受HTML內容,HTTP連接處理機26將使用在代碼轉換器系統28中的HTML代碼轉換器。
圖3是表示在IP代理系統中一般連接處理機相關操作的流程圖。在步驟50,IP代理系統18接收連接請求,如上所述,該連接請求可以涉及輸入連接或輸出連接。當連接與諸如需要HTTP連接處理機26的HTTP連接之類的特定處理機相關聯時,在步驟54,裝載并且執行合適的處理機,并且如在步驟58指示的,建立連接。如果請求是輸出(來自移動設備12),那么分配器22檢查與該連接請求相關聯的協議類型,并且派遣該連接到合適的處理機。然后,數據可以在移動設備12和互聯網服務,推服務器42,網絡服務器46或其它信息源20之間交換。
如果某連接處理機,例如用于如上所述的純TCP連接,被用于連接,數據則可以無改變地通過IP代理系統18。然而,在某些IP代理系統中,經TCP處理機發送的內容可以被修改。然而當使用其它連接處理機時,針對移動設備12的數據可能需要被轉換成合適的最終的內容。
圖4是連接處理機數據處理操作的流程圖。在步驟62,接收針對移動設備12的數據。例如跟隨來自移動設備12的信息請求,盡管被標志為來自連接的響應,應理理解,由連接處理機接收的數據可替換為要從諸如42之類的推服務器,經推服務30推到移動設備12的信息。基于在步驟62接收的數據類型,在步驟64,連接處理機確定是否需要代碼轉換。如果不需要,那么在步驟70將信息發送到移動設備12。否則,在步驟66裝載和執行合適的代碼轉換器。并且在數據被發送到移動設備12之前,在步驟68數據被代碼轉換成可接受的格式,如下面將詳細描述的。啟動通信的實體,用于被取數據的移動設備12或用于被推數據的推服務器42最好能夠替換為請求特定的代碼轉換器,以進行被取和被推數據的代碼轉換。
連接處理機可以在計算機軟件中作為JavaTM類文件被實現,放置在文件系統中的某個目錄中,以便IP代理系統Java虛擬機(VM)當被需要或被請求時可以定位和裝載文件。正如本領域技術人員將理解的,Java使用CLASSPATH環境變量作為到哪個地方應該執行查詢用戶定義的類的指導。在一個實施例中,到連接處理機的路徑是在CLASSPATH中的第一列表路徑中,以便當它們被請求時相對快地裝載。連接方向(輸入或輸出)和與連接處理機相關聯的名稱也可以在定義處理機的全類名稱中起作用。本領域技術人員可以理解,能夠根據目標操作系統使用動態鏈接數據庫(DLL)或動態共享目標(DSO)實現相同的方案。
連接處理機能夠與代表應用層上的協議的名稱相關聯。例如,如果用網絡瀏覽器使移動設備12運行,并且由此可以請求開通到諸如46的互聯網服務器的連接,應該理解,讓HTTP作為用于該連接處理機的名稱,正如用連接處理機26所示出的。處理機名稱可以遵循在Java語言中命名數據包的已知規則。處理機名稱處在較低的情況(case)中;然而,從IP代理系統的觀點來看,這沒有關系,只要JavaVM能夠裝載那個連接處理機。任何連接處理機也可以讓其類名作為Handler.class。代表連接處理機的有效的全類名的例子如下net.rim.protocol.iplayer.connection.handler.<connectiondirection>.<connection handler name>.Hadler.class
在此連接方向可以是暗示輸出連接的設備或暗示輸入連接的服務器。連接處理機名稱是與處理機相關聯的名稱,例如http,ftp等。
有至少兩個方法使諸如互聯網節點之類的信息源能夠通過示于圖2的示例IP代理系統18建立到移動設備12的連接(1)直接使用傳輸層協議,例如TCP,開通到IP代理系統18的直接連接,或(2)使用應用層的數據報協議,例如HTTP。IP代理系統18包括兩個相應的連接處理機,其例如可以表示能夠處理兩個最普通類型的連接的基本IP代理系統。第一個是例如與名稱tcp相關聯的TCP連接處理機24。第二個是如上所述類似與名稱http相關來年的HTTP連接處理機26。除了支持普通連接類型外,這些連接處理機還滿足在移動設備12的移動信息設備簡要(MIDP)實現的要求。然而,IP代理系統18和移動設備12能夠被擴展到支持任何其它類型的連接。在IP代理系統18中,可以能夠通過例如在IP代理系統18中提供應用編程接口(API)和發展遵循API的新連接處理機來添加連接處理機。
在一個實施例中,IP代理系統18中的連接處理機從本地存儲介質,例如與IP代理系統軟件運行在其上的計算機相關來年的盤驅動裝載。在另一實施例中,連接處理機存儲器也可以是或改為是遠離IP代理系統18,例如在由IP代理系統18通過局域網(LAN)連接或甚至WAN,如互聯網,可訪問的存儲介質上。該實施例允許在能夠與連接處理機存儲器通信的所有IP代理系統18中連接處理機的單個目錄的共享。通過在連接處理機Java類能夠被找到的地方嵌入URL,也能夠讓第三方擴展連接處理機組。
如果被連接到互聯網,連接處理機目錄能夠潛在地由所有進行互聯網連接的IP代理系統18訪問并且由此共享。公共互聯網連接的連接處理機目錄最好從IP代理系統接收連接處理機請求,并且對此響應,向請求的IP代理系統18傳送任何被請求的連接處理機。當與IP代理系統18通信的移動設備12下載新的軟件應用或調用使用新的連接方案或移動設備12先前沒有使用的連接方法的新移動設備特征時,新連接處理機可由IP代理系統18要求。然后,移動設備用戶或新應用或特征發送控制消息到IP代理系統18,例如指示被要求連接處理機的名稱,或許要求新連接處理機的移動設備應用,和與新連接處理機可以從其請求的連接處理機目錄相關聯的地址。然后IP代理系統18最好從該目錄請求新連接處理機。連接處理機目錄能夠例如被作為使用HTTP請求可對IP代理系統18訪問的網絡服務器類實現。
當從遠端源裝載一個連接處理機時,IP代理系統18最好在本地存儲器中存儲處理機,以便提供處理機的較快裝載用于涉及連接的相應類型的后面操作,用于連接處理機從目錄被初始裝載的移動設備12或由IP代理系統18支持的不同移動設備12。依據可供IP代理系統18使用的存儲器資源,可以無限期地存儲下載的連接處理機,或存儲特定的時間段。作為替換,當下載新處理機時,通過覆寫相對不常使用的連接處理機,最近較少使用的或LRU代替方案能夠被提供用于更有效地使用可用存儲器。也可使用其它存儲器管理技術來優化本地IP代理系統連接處理機存儲配置。
代碼轉換相對于諸如互聯網之類的計算機網絡,無線通信網絡較慢。架接兩者的任何系統,正如IP代理系統作的,可能必須轉換互聯網數據,以便它被適當地針對無線網絡和移動設備格式化。該過程在此被稱為濾波或代碼轉換,并且通常涉及這些操作,如將來自互聯網的數據壓縮成為適合于無線傳輸的更緊密的格式。
在下面的描述中,在上面HTTP處理機26和HTTP連接的示例的上下文中主要示處了代碼轉換操作。HTTP連接和處理機例子是特別有用的,因為HTTP允許多用途互聯網郵件擴展(MIME)類型形式的內容標簽,其可以用來針對接收的信息確定合適的代碼轉換器。
按照在此公開的IP代理系統18,有用于每種類型的連接處理機的單個配置文件。例如在IP代理系統18中,單個配置文件與HTTP連接處理機26相關聯并且包括用于所有HTTP內容代碼轉換器的信息。該配置文件用于將代碼轉換器映射到某些內容類型。IP代理系統18可以詢問該文件,以確定它應該裝載哪個內容代碼轉換器來操作針對移動設備12的任何接收的內容。
在配置文件中,最好是指定如何定義內容類型和代碼轉換器之間的映射的一般規則。一個可能的配置文件條目的例子如下Entry={[default]:{RSV|<Transcoder name>}}|
{[[InputType]|<->OutputType>]:[Transcoder name]}其中,default向IP代理服務器指示在沒有一個代碼轉換器與接收的內容類型相關聯的情況下應該裝載哪個缺省的代碼轉換器;RSV是配置文件中使用的一組保留的關鍵字,諸如通過(即,前送數據到移動設備而沒有代碼轉換)或放棄(即,不進行代碼轉換或前送數據到移動設備);Transcoder name是映射的代碼轉換器的名稱;InputType指示映射的代碼轉換器接受的輸入內容類型,對于HTTP代碼轉換器,配置文件可以是MIME類型;和OutputType指示輸出類型,諸如代碼轉換器產生的用于HTTP代碼轉換器的MIME類型。
通過使用內容代碼轉換器配置文件,可以添加新代碼轉換器供IP代理系統18使用。因此,隨著新代碼轉換器開發和變得可用,它們能夠添加到配置文件以用于任何合適的連接處理機,并且此后當需要時能夠由連接處理機裝載,并且不影響IP代理系統18的其它組件。例如,可以添加配置文件條目而不用關掉整個IP代理系統18,于是,允許為了傳輸能夠轉換到移動設備12的數據的動態擴展。
在另一個實施例中,使用用于所有連接處理機的公共配置文件格式,于是只需要準備單個配置文件條目,并且能夠添加到針對任何連接處理機的配置文件中。還可以進一步擴展用于所有連接處理機的公共配置文件格式的概念,以便提供用于IP代理系統18的單個配置文件。然后,可由IP代理系統18中的所有連接處理機使用這樣一個配置文件,以確定哪些內容代碼轉換器是可用的,并且選擇特定的代碼轉換器用于接收的內容。然而,應該理解,公共配置文件格式不是必需的。某些連接處理機可以共享一個配置文件入口格式或甚至單個配置文件,而由相同IP代理系統18支持的其它連接處理機可以具有不同的配置文件和入口格式。
IP代理系統18最好基于有關被推到移動設備12或從移動設備12拉出的數據內容類型的可用信息來裝載代碼轉換器。IP代理系統18可以使用接受和內容類型頭標字段來確定應該裝載哪個代碼轉換器。下面進一步詳細描述幾個示例內容代碼轉換器裝載控制方案。盡管這些示例主要涉及HTTP連接和處理機,本領域技術人員應該理解,當IP代理系統18接收到內容時,其它連接類型和處理機可使用類似配置和方法以選擇代碼轉換器。
還應理解,代碼轉換器可以改為基于內容類型之外的信息進行選擇,所述信息包括在來自移動設備的連接請求的首標部分或其它部分中的信息,對連接請求的響應,或來自包括要被推到移動設備的信息的信息源的通信。例如,可以配置IP代理系統18以確定數據將發送到的移動設備12的類型。由IP代理系統18進行的代碼轉換器選擇能夠類似地基于移動設備12的網絡地址或其它標識符。依賴移動設備或設備類型的代碼轉換器選擇方案可以通過提供可訪問IP代理系統18的設備或設備類型映射表得到支持,該映射表將設備或設備類型映射到代碼轉換器。作為替換,可以調整配置文件包括設備或設備類型標識符,由此將特定代碼轉換器與設備或設備類型相關聯。
以類似的方式,可以基于信息源的地址(例如URL)或其它信息源的標識符來選擇代碼轉換器,以使特定信息源的代碼轉換啟動。可以使用可訪問諸如18之類的IP代理系統的映射表或配置文件,基于信息源來啟動代碼轉換器選擇。例如當使用特定的代碼轉換器對來自特定的網站和針對移動設備的任何內容進行代碼轉換時,該類型的代碼轉換可以是有用的。
盡管下面描述的代碼轉換器選擇方案的主要類型是基于內容類型的代碼轉換器選擇,這些可選的方案的任何一個可被使用代替基于內容類型的代碼轉換器選擇。例如,當由基本代碼轉換器選擇方案指定的代碼轉換器不可用時,諸如當代碼轉換器系統不包括被配置為將接收的內容類型代碼轉換成為配置移動設備接受的內容類型的代碼轉換器時,還可以使用可選方案來選擇一個代碼轉換器。
在IP代理系統18中的HTTP連接處理機將基于接受行和內容類型首標字段正常地設法裝載代碼轉換器。如果代碼轉換器具有關于移動設備12被配置接受的內容類型和服務器或其它信息源20返回的內容類型的信息,IP代理可以裝載該代碼轉換器。例如,在IP代理系統18中的HTTP連接處理機26可以使用輸入類型->輸出類型(InputType->OutputType)密鑰格式以詢問其配置文件的情況下,當配置文件入口包括內容類型字段時,如在上例文件入口中那樣。
如果代碼轉換器具有只與服務器或源20的內容類型有關的,而不是移動設備12能夠接受的信息,HTTP連接處理機26也可以裝載該代碼轉換器。在這種情況下,IP代理18能夠使用輸入類型(InputType)密鑰格式詢問其配置文件。如果連接處理機不能確定應該使用哪個代碼轉換器,它最好裝載一預定缺省代碼轉換器。當使用缺省代碼轉換器時,如果缺省代碼轉換器的輸出內容類型不是由移動設備12可接受的或如果缺省被放棄(見上例配置文件入口),IP代理18可以發送出錯消息到移動設備12。由于當這些傳遞差錯發生時大部分基于拉的信息源,例如網絡服務器的數據不能實現自動重發送或重試功能,差錯消息通常只發送到請求移動設備12。然后,移動設備用戶可以發送新請求以檢索信息。然而,當信息在推服務器42發出時,差錯可以返回到發送服務器,然后可以開始新的推操作。
考慮沒有指定接受首標的簡單HTTP操作的情況。移動設備用戶或在移動設備12上的應用程序發出HTTP請求,沒有指示移動設備12或應用能夠接受的內容類型的接受首標字段。在缺少接受首標信息的情況下,IP代理18可以推斷任何類型的內容能夠被接受和前送請求到合適的信息源20。當響應于所述請求針對移動設備12的信息內容由IP代理18中的HTTP連接處理機接收時,內容按原樣發送到移動設備12,而與內容類型無關。由于在該情況下移動設備12能夠假定接受任何內容類型,HTTP處理機確定不需要代碼轉換,并且因此不裝載或使用任何HTTP代碼轉換器。作為替換,可以配置IP代理18嘗試將返回的內容類型與其代碼轉換器之一匹配。在發現能夠代碼轉換返回的內容類型的合適的代碼轉換器的情況下,裝載該代碼轉換器并且用于代碼轉換傳送到移動設備12的內容。否則,IP代理18可以裝載缺省的代碼轉換器或放棄接收的內容。
用于處理丟失來自移動設備12的請求中的內容類型信息的其它機構對于本領域技術人員是顯而易見的。依據存儲在對于IP代理18可訪問的數據庫中的,或由IP代理擁有者或運營者確定的移動設備用戶概要中的設定,當信息請求未指示可接受的內容類型時,在IP代理系統18中實現的特定機構例如可以是由IP代理系統18使用的缺省機構。然而,移動設備12和駐留其上的任何應用最好被配置成在移動設備12處產生的所有信息請求中包括接受的內容類型指示符,以便給IP代理18提供關于移動設備12能夠接受的內容類型的可靠和當前信息。還可以使用模式匹配技術以產生更復雜的缺省行為,例如應用代碼轉換器以代碼轉換所有的數據成為普通輸出類型,而與輸入類型無關。這種模式/代碼轉換器規則的順序可意味著優先權。
如上所述,最好具有一個針對由IP代理系統18支持的每個連接處理機的代碼轉換器配置文件,或可能由所有連接處理機共享的單個配置文件。這樣的配置文件不僅提供一機構用于當這些新代碼轉換器變成可用時添加新代碼轉換器,而且允許連接處理機快速確定哪些代碼轉換器在IP代理系統18中是可用的,然后響應于信息請求有效擴展能夠被接受的內容的類型。
圖5是表示HTTP連接處理機基于可用的代碼轉換器接受的內容類型的擴展的信號流向圖。盡管圖5只示出了在來自移動設備12的HTTP請求的例子中直接涉及的IP代理系統18的那些組件,本領域技術人員應該理解,可以呈現其它系統組件。然而為了避免圖中擁擠,如圖2中的30到48這些組件沒有在圖5中示出。
在圖5中,通過無線網關和可能通過WAN和合適的網關,HTTP請求從移動設備12發送到IP代理系統18。如上所述,移動設備12可以使用除HTTP外的協議,例如專用IPPP,與IP代理系統18通信。在這種配置中,盡管連接請求遵循特定的協議,該請求可以指定與不同協議相關的連接類型或連接處理機,在該例中為HTTP。因此,對從移動設備12發送的HTTP請求的引用應該解釋為包括HTTP請求,如果移動設備到IP代理系統通信通過HTTP,以及遵循其它協議但是指定HTTP或HTTP連接處理機并且由IP代理系統18解釋為HTTP請求的連接請求。
連接請求由分配器22接收,其標識該請求為HTTP請求并且裝載HTTP處理機26。在接受行,在該例中的請求指定移動設備12能夠接受一般稱為匯編WML或簡單WMLC的無線標記語言(WML)的被標記的、壓縮版本。然后,HTTP處理機使用該接受的內容類型(WMLC)執行在配置文件72中的查找,如圖5中的代碼轉換系統28中所示。然而,本領域技術人員應該理解,配置文件72可以替換為在代碼轉換器系統28的外部,作為HTTP處理機26的一部分,或甚至在IP代理系統18的外部,假定HTTP處理機能夠訪問文件。在大部分實施中,配置文件將存儲在可由IP代理系統18訪問的數據存儲器中,通常在IP代理系統18運行的或相結合的相同計算機系統上。
HTTP處理機26搜索配置文件72,以確定是否任何一個其相關的代碼轉換器輸出被請求的內容類型,WMLC。在一個實施例中,當代碼轉換器被首先裝載到IP代理系統18時,構建一個用于所有被配置的代碼轉換器的查找表,該查找表映射輸入內容類型成為輸出內容類型。然后,IP代理系統18訪問該表,并且確定它能將哪些類型轉換成被請求的內容類型(WMLC)。在圖5中,配置文件72,或作為替換,一個查找表,包括用于兩個代碼轉換器的入口,一個用于從WML到WMLC的轉換,另一個用于從HTML到WMLC的轉換。然后HTTP處理機26添加它能夠轉換為被請求類型(WMLC)的額外的MIME類型(WML,HTML),并且提交一請求到網絡服務器76。如圖5所示,由IP代理18準備和發送到網絡服務器76的請求在其接受行中包括WMLC,WML和HTML。
所述請求最好以優選順序列出被接受的內容類型。例如,由于移動設備12能夠接受WMLC,該類型的內容不需要代碼轉換,并且因此最好在IP代理請求中首先出現。然后其它內容類型可以例如以代碼轉換復雜性遞減的順序或基于某些其它準則被列出。內容類型的優選順序還可以被明確指示,例如使用在接受行中的質量因數。
響應于來自IP代理系統18的HTTP請求,網絡服務器76以在圖5的例子中的WML格式返回請求的內容到IP代理系統18。然后,HTTP處理機26確定返回的內容是WML,例如從本地存儲器裝載合適的WML->WMLC代碼轉換器74,并且執行代碼轉換器以轉換接收的內容成為WMLC。然后WMLC內容通過分配器22前送到移動設備12。當WMLC內容由網絡服務器76返回時,HTTP處理機26前送內容到分配器22而不進行代碼轉換,而如果HTML內容被返回,HTML->WMLC代碼轉換器將被調用以將內容代碼轉換成為WMLC。盡管圖5示出了由分配器22處理的對移動設備12的響應,由處理機26使用的HTTP和由移動設備12使用的通信協議之間的類似協議翻譯或轉換可替換為由HTTP處理機26或其它IP代理協議翻譯/轉換模塊執行。
如上所述,如果返回的內容不能被轉換成被請求的類型,例如,如果HTTP處理機26不具有合適的代碼轉換器或不能確定要使用的最好的代碼轉換器,則最好使用缺省的代碼轉換器。如果缺省的代碼轉換器的輸出不能由移動設備接受或缺省的代碼轉換器被丟掉,差錯消息可返回到移動設備12。
連接處理機的接受行擴展不限于單個代碼轉換器操作。在圖5的例子中,每個代碼轉換器從一種格式直接轉換成被請求的格式。另一實施例,可進行配置文件72的更廣搜索,或可以組織更詳細的查找表。于是,可以使用多個代碼轉換器以轉換接收的內容成為可以由移動設備接受的格式或類型。
圖6示出了HTTP操作的多個或“成鏈”代碼轉換操作的信號流向圖。如同圖5,圖6只示出了在來自移動設備12的HTTP請求中直接涉及的IP代理系統18的那些組件,以避免圖中的擁擠。
HTTP請求可能通過一個或多個中間網絡和接口組件從移動設備12發送到IP代理系統18。如同上面例子,該請求由分配器22接收,其標識該請求為HTTP請求并且裝載HTTP處理機26。然后,HTTP處理機26詢問配置文件78,不僅搜索輸出WMLC的代碼轉換器名稱,而且搜索輸出可以被輸入到輸出WMLC的任何代碼轉換器的內容類型的代碼轉換器。因此,按照該實施例,額外的MIME類型不僅基于代碼轉換器輸出,而且基于代碼轉換器輸入被附加到HTTP請求的首標接受行。例如,在圖6中,HTTP處理機26,可能在通過配置文件78的第一次搜索穿過中找到了WML->WMLC代碼轉換器入口。然后,HTTP處理機26可以重復配置文件,搜索轉換內容成為WML的任何代碼轉換器,例如HTML->WML代碼轉換器,它能夠轉換成請求的WMLC內容類型,由此進一步擴展被接受內容類型的列表。配置文件搜索還可以根據例如在HTTP請求處理中可接受的延遲,由HTTP處理機26進一步重復。
為了避免延遲和對與通過配置文件和該多次搜索穿過相關聯的處理資源的需要,可以使用代碼轉換器內容類型查找表。當代碼轉換器第一次安裝在IP代理系統18中時,最好構建綜合映射表,以映射接收的內容類型成為可能的輸出內容類型。例如,在圖6中,WMLC內容的查找表入口將指示是WML還是HTML能夠被轉換成WMLC。這樣的表最好還指示HTML->WMLC代碼轉換涉及兩個代碼轉換階段。該表可替換為組織成單個和成鏈的代碼轉換部分,由此如果只優選單個代碼轉換操作,包括WML->WMLC代碼轉換器的入口的表的單個代碼轉換器部分將被訪問。如圖所示,轉換HTML成為WMLC的成鏈代碼轉換器82可以從HTML->WML和WML->WMLC代碼轉換器創建。還可以獨立調用HTML->WML和WML->WMLC代碼轉換器。
如果可接受進一步的代碼轉換操作和相關處理操作和時間延遲,那么HTTP處理機26可在表的成鏈代碼轉換器部分執行接受內容類型或可能先前標識的代碼轉換器的輸入類型的查找。最好是,可以改變代碼轉換配置文件的格式,以表示僅是這樣一個查找表,以便加速搜索。這是通過,例如,指定涉及多代碼轉換器的內容類型之間的路徑完成的。
可以執行表或配置文件查找操作之前或之后,在HTTP請求發送到網絡服務器80之前,或甚至在從信息源20接收被請求的內容之后,由HTTP處理機26進行是否允許多代碼轉換操作的判定。在圖6的例子中,很明顯,可以調用多代碼轉換器以代碼轉換接收的內容成為WMLC。因此,在來自移動設備12的HTTP請求的首標中的接受行被擴展成除了WMLC還包括WML和HTML。如上所述,接受格式最好按優選順序列出。由于HTML需要兩個代碼轉換操作,而不是從WML轉換成WMLC所需的單個代碼轉換操作,WML最好列在從IP代理系統18發送到網絡服務器80的HTTP請求的接受行中的HTML之前。類似地,WMLC不需要代碼轉換并且最好首先列在接受行中。
代碼轉換器鏈包括本地和遠程代碼轉換服務二者也是可行的。這些遠程代碼轉換服務能夠是IP代理系統18發現,下載,和執行的代碼轉換器文件,或它們能夠是以一種格式接收數據并且以另一種格式返回的基于網絡的外部轉換服務,正如下面將詳細描述的。
然后,網絡服務器80響應HTTP請求,以在圖6中的例子中的HTML格式向IP代理系統18返回被請求的內容。HTTP處理機26確定所述返回的內容是HTML,裝載和執行HTML->WML代碼轉換器,然后根據第一代碼轉換操作的WML結果,裝載和執行WML->WMLC代碼轉換器。將得到的WMLC內容前送到分配器22,然后到移動設備12。如果WMLC內容由網絡服務器80返回,HTTP處理機26前送內容到分配器22而沒有代碼轉換,而如果WML內容被返回,調用WML->WMLC代碼轉換器。
期望關于是否允許多代碼轉換操作的判定將根據例如預定規則,如最大HTTP請求處理時間或最大內容代碼轉換時間或處理器時間進行。該判決還可以考慮用戶指定的優先權。如果高時間優先權(低時間延遲)由用戶分配給提交的請求,則可以選擇單個代碼轉換器操作。作為替換,如果高數據優先權與請求相關,則可以允許任何數目的成鏈代碼轉換器操作,以便以可接受的格式使所請求的數據回到移動設備。可以由連接處理機應用的其它準則包括但不限于允許成鏈的代碼轉換器僅用于相對少量的接收內容,僅在一天的某些時刻,在特定當前業務情況下,或僅當配置文件或查找表存儲在本地文件系統中時。另外的準則對本領域技術人員是顯而易見的,并且由此保留在本發明的范圍內。
在從諸如42(圖2)之類的推服務器向移動設備12推數據推的情況下,如果服務器推數據內容但不指定MIME類型,則最好使用缺省代碼轉換器。如果缺省代碼轉換器輸出不能由移動設備12接受的內容類型,最好向推服務器42返回差錯消息,然后重發數據到移動設備12。差錯信號最好進一步向推服務器42指示任何這種傳遞失敗的原因,以便推服務器42,如果可能的話,在數據重法之前可以設法解決傳遞問題。對于由于例如沒有MIME類型被指定和缺省代碼轉換器不能代碼轉換數據成為可接受內容類型數據而不能被傳遞到移動設備12的情況,推服務器42則可以用合適的MIME類型重發數據。
具有指定MIME類型的服務器數據推的處理可以取決于是否IP代理18知道移動設備12能夠接受的內容類型。不象HTTP請求和響應處理的上述例子,IP代理18不具有來自移動設備12的請求指示當數據被推到移動設備12時可接受的內容類型。如果IP代理18不知道移動設備12能夠接受的內容類型,則最好使用缺省的代碼轉換器。然而,在該情況下,激活的連接處理機可以替換為詢問代碼轉換器配置文件或查找表,以確定接受返回的內容類型作為輸入的代碼轉換器是否是可用的。如果發現可用的代碼轉換器,則裝載并使用,以便對接收的內容進行代碼轉換。如果發現多于一個合適的代碼轉換器,則它們中的一個,例如具有在配置文件中的第一入口的代碼轉換器或被先前使用的代碼轉換器,如最近被使用的代碼轉換器可以被裝載和執行,以便為獲得內容的特定移動設備12代碼轉換數據。還可以基于先前發送到移動設備12的內容類型選擇和使用代碼轉換器。
外部代碼轉換器系統如上簡單描述的,可以根據需要從IP代理系統18已經在其上實現的計算機系統上的本地存儲器裝載代碼轉換器。在另一實施例中,代碼轉換器還可以從外部存儲器裝載。圖7是帶有外部代碼轉換器系統的通信系統的總體方框圖。
除了外部代碼轉換系統86之外,圖7示出的系統90類似于圖1的系統10。上面已經描述了對系統10和90二者公共的單元。如圖7中的虛線所示,IP代理系統84可以通過某些直接連接,如串行端口或連接,通過WAN16,如互聯網,或通過IP代理系統84和代碼轉換器系統86被配置操作其中的LAN88與代碼轉換器系統86通信。IP代理84和代碼轉換器系統86之間的其它通信鏈路對于本領域技術人員將是顯而易見的。
圖8是示出用于外部代碼轉換器系統諸如示于圖8中的示例HTTP操作的的信號流向圖。如同前面的例子,從移動設備12向IP代理系統84發送HTTP請求,指示在移動設備12處接受WMLC內容。由IP代理系統84中的分配器22接收請求,其確定該請求是HTTP請求,并且前送該請求到HTTP連接處理機94。HTTP處理機94例如可以基本類似于圖2中的HTTP連接機26,盡管它的操作稍微不同于處理機24以裝載內容代碼轉換器。HTTP處理機94從移動設備12截獲HTTP請求,然后可以引用如上所述的代碼轉換器配置文件92或查找表,確定是否任何代碼轉換器是有效的,以轉換內容的其它類型成為在移動設備12處可接受的類型。如果在配置文件92或查找表中發現對應于一個或更多合適的代碼轉換器的入口,HTTP處理機94則在發送到信息源,如網絡服務器76的請求中最好包括任何進一步的內容類型。網絡服務器76處理來自IP代理系統84的請求,并且返回WML內容到HTTP處理機94。這些操作基本上如在前面例子中描述的。
當由HTTP處理機94接收WML內容時,當合適的代碼轉換器被裝載時,最好存儲在文件系統或其它數據存儲器98中。在圖8的例子中,HTTP處理機94從代碼轉換器系統86請求需要的WML->WMLC代碼轉換器。盡管該請求在圖8示為來自HTTP處理機94的HTTP請求,顯而易見的是,可以替換其它傳送機構,而使用IP代理系統84從遠端代碼轉換系統86檢索代碼轉換器。例如,如果IP代理系統84通過LAN88(圖7)與代碼轉換器系統86通信,LAN協議或數據訪問和傳送方案則可由HTTP處理機94調用,以便檢索任何需要的代碼轉換器。在圖8中,代碼轉換器系統86在其可用的代碼轉換器96中定位請求的WML->WMLC代碼轉換器,并向IP代理系統84返回請求的代碼轉換器。
與實施的特定代碼轉換器傳送機構無關,IP代理系統84或在圖8的例子中HTTP處理機94,如在100指示的,接收和裝載返回的WML->WMLC代碼轉換器。然后,先前接收和可能存儲的WML內容可以由代碼轉換器100處理,以代碼轉換WML內容成為移動設備12可接受的WMLC內容,并且包含代碼轉換的內容的響應由分配器22返回到移動設備12。
如果啟動成鏈的代碼轉換器操作,則可由IP代理系統84向代碼轉換器系統86做出一個以上的代碼轉換器請求。請求多代碼轉換器可代替為在向代碼轉換器系統86的單個請求。對成鏈的代碼轉換器操作先前接收內容的處理可以在或是利用可能在文件系統或數據存儲器,如98中存儲的中間代碼轉換的內容當IP代理系統18裝載每個需要的代碼轉換器時進行,或是僅在已經裝載所有需要的代碼轉換器時進行。
當完成代碼轉換操作時,從外部系統86裝載的代碼轉換器最好由IP代理系統84本地存儲,以避免后面對外部代碼轉換器系統86請求相同的代碼轉換器。從IP代理系統84中的本地或內部存儲器檢索和裝載代碼轉換器通常比向遠程系統請求更快地完成,并且減少IP代理系統84和代碼轉換系統86之間的通信鏈路上的業務。在該IP代理系統中,作為圖8中的HTTP處理機94的激活的連接處理機最好在從外部代碼轉換器系統86請求代碼轉換器之前,確定所需的代碼轉換器是否存儲在本地數據存儲器中。根據可用存儲器的量,代碼轉換器可以無限期地存儲或存儲某一預定時間段。其它存儲器管理方案,如象在URL基礎上覆寫存儲的代碼轉換器,當存儲器資源有限時也可以使用。
配置文件92或代碼轉換器查找表可以通過在配置文件中包括代碼轉換器的位置指示或包括代碼轉換器的表入口而被調整用于外部代碼轉換器裝載。如果代碼轉換器被存儲到本地存儲器或被覆寫進本地存儲器中,最好更新文件92或表,以便激活的處理機能夠從初始查找操作中確定是否該代碼轉換器必需從外部代碼轉換器系統86裝載。當代碼轉換器沒有被本地存儲或不再本地存儲時,那么文件92或查找表最好指示從哪里可以檢索代碼轉換器。對于可以通過HTTP連接檢索的代碼轉換器,相應的文件或表入口可以指示代碼轉換器系統86的IP地址,而當使用LAN連接時,網絡地址可以在配置文件或查找表中指定。
也期望多于一個外部代碼轉換器系統可以在通信系統,如90中被實現。在這種配置中,配置文件92或查找表最好包括通過能夠與其通信的所有外部代碼轉換系統供IP代理系統84使用的所有代碼轉換器的入口。IP代理系統84可由此通過直接或網絡連接從多個代碼轉換器系統的任何一個下載代碼轉換器。具有多代碼轉換器系統的IP代理系統84的整個操作基本上如上所述,除了可能使用不同的傳送機構和通信協議,可以訪問不同的代碼轉換器系統用于每個數據代碼轉換操作。成鏈的代碼轉換操作也可以潛在地涉及與不同代碼轉換器系統的通信。
當特定類型的代碼轉換器可從一個以上的代碼轉換器系統得到時,配置文件92或查找表最好被配置為方便簡單的決議方案。盡管IP代理系統84能夠訪問多代碼轉換器系統,IP代理系統84的擁有者或監督者可以指定這些代碼轉換器系統之一為IP代理系統84首先從其嘗試下載代碼轉換器的優選或缺省系統。用于從一個以上的代碼轉換器系統得到的任何代碼轉換器的代碼轉換器系統的優選順序例如可以以配置文件或查找表入口的順序反映。如果文件或表按代碼轉換器類型安排,那么用于特定代碼轉換器的相應于最優選源的入口最好列在與其它代碼轉換器系統相關的入口之前。配置文件或查找表可替換為按照代碼轉換器系統排列,帶有用于首先發生的缺省或優選代碼轉換器系統的所有入口。在這兩個示例配置中,IP代理系統84在訪問任何其它源之前最好嘗試從其優選源裝載特定代碼轉換器。
從前面的描述中明顯可以看到,如果在配置文件或查找表中的代碼轉換器不能由IP代理系統84裝載,則可向移動設備12和可能是信息源20返回差錯,尤其是當信息源正嘗試將內容推到移動設備12時更是如此。不能裝載代碼轉換器也可以通過找到可選的代碼轉換器或代碼轉換器鏈來解決。解決代碼轉換器問題的另外的方法是修改可接受行以移去引起問題的數據類型,并且將請求重新提交到網絡服務器或信息源20。
如上所述,通過添加一相應入口到配置文件92或代碼轉換器查找表,新代碼轉換器可以向IP代理系統84登記。因此,當新代碼轉換器添加到任何外部代碼轉換器系統時,最好相應地更新可以從代碼轉換器系統下載代碼轉換器的每個IP代理系統84中的配置文件92或查找表。這可通過例如當新代碼轉換器被添加時配置代碼轉換器系統以發送更新消息到IP代理系統84來完成。代碼轉換器系統可以替換為附加一更新消息或指示符到隨著新代碼轉換器的添加而來自IP代理系統84的請求的響應。按照該方案,更新消息或指示符可以被附加到在新代碼轉換器已經被添加之后第一次從代碼轉換器系統請求任何代碼轉換器時對IP代理系統84的響應。通過執行一發現例程,IP代理代碼轉換配置文件或查找表還可以與一個或更多外部代碼轉換器系統保持一致,由此,可用代碼轉換器的登記處被周期地詢問以便當新代碼轉換器有效時“發現”它們。
圖9示出了外部代碼轉換器系統的另一個信號流向圖。在圖9中,不僅代碼轉換器系統86,而且配置文件102對IP代理系統84來講是外部的,因此可以在多個IP代理系統間共享。IP代理系統84和配置文件102之間的通信可以通過直接連接或網絡連接進行,并且對于不同的IP代理系統可以是不同的。例如,配置文件102可以由通過直接通信鏈路鏈接到配置文件的特定IP代理系統的擁有者或運行者維持,而其它IP代理系統可以通過局域或廣域網連接與配置文件102通信。如上所述,配置文件102的實施可以替換為查找表。于是配置文件102可以被認為是登記處,一個或多個外部代碼轉換器系統,如86,用該登記處登記有效的代碼轉換器。
現在更詳細地描述在圖9中概括的操作。當HTTP請求由IP代理系統84中的分配器22接收時,它被前送到HTTP處理機94,其如上所述確定是否任何附加的內容類型能夠被代碼轉換成移動設備兼容的WMLC格式。然而,在圖9的例子中,配置文件102遠離IP代理系統84。如果配置文件102可通過HTTP可訪問,HTTP處理機94則用配置文件102管理代碼轉換器查找功能。如果配置文件102不適用于HTTP,則可調用不同的連接處理機,以便于代碼轉換器查找或配置文件搜索。
依據IP代理系統84可用的代碼轉換器,HTTP處理機94可以在來自移動設備12的請求中擴展接受的內容類型,以包括可以被代碼轉換成移動設備12可接受的WMLC格式的附加內容類型。如上所述,假定從其請求內容的網絡服務器76返回WML內容到HTTP處理機94。在一個實施例中,代碼轉換器系統86啟動內容的遠程代碼轉換。代替從代碼轉換器系統86請求和裝載WML->WMLC內容代碼轉換器104a,HTTP處理機94(或另一連接處理機,取決于它支持的特定代碼轉換器系統和傳送方案)傳送WML內容到代碼轉換系統86。在代碼轉換系統86內,執行合適的WML->WMLC代碼轉換器104a,并且WML內容被代碼轉換成WMLC格式。然后WMLC內容返回到HTTP處理機94,或如果IP代理系統84到代碼轉換器系統86的通信不使用HTTP,則返回到另一連接處理機。當WMLC內容可能通過與代碼轉換系統86通信的另一連接處理機由代碼轉換系統86返回并且由HTTP處理機94接收時,它被前送到分配器22。然后分配器22準備包括WMLC內容的響應,并且發送該響應到移動設備12。HTTP處理機94可以替換為準備響應,然后將由分配器22翻譯(如果需要)遵循由移動設備12使用的通信協議或方案。在數據傳送或代碼轉換差錯發生的情況下,如圖所示,由網絡服務器76返回的WML內容可以由HTTP處理機94存儲。WML內容的本地存儲允許IP代理系統84重新提交用于代碼轉換的內容或者給同一代碼轉換器系統86或者給不同的代碼轉換器系統,不必首先從網絡服務器76請求內容。
在圖9的系統中,期望代碼轉換器系統86和配置文件102也可以相互通信以保證配置文件102準確指示哪些代碼轉換器是可用的。可以使用上述更新方案之一以保證配置文件保持最新。配置文件可以與連接的特定類型,如HTTP連接和由此的HTTP連接處理機相關聯。如果配置文件102與特定代碼轉換器系統86相關聯,配置文件則可以駐留在代碼轉換系統86內。如果實現多代碼轉換系統,存儲在所有代碼轉換器系統中可用的代碼轉換器的代碼轉換器入口的共享配置文件可以簡化連接處理機執行的代碼轉換器查找。然后IP代理系統84只需詢問單個配置文件,以確定是否從它能夠通信的任何代碼轉換器系統中得到合適的代碼轉換器。這種單個配置文件/服務器還能支持允許外部代碼轉換服務器登記的協議。該登記過程例如能夠添加可用代碼轉換器列表到單個配置文件。
因此,外部代碼轉換系統86包括下載系統,可以由IP代理系統84從該下載系統下載代碼轉換器并且本地執行(見圖8),并且包括遠程代碼轉換系統,內容被發送到所述系統用于在代碼轉換系統進行代碼轉換(見圖9)。在另一實施例中,“混合”代碼轉換器系統合并這兩種類型的代碼轉換系統的情況。當混合代碼轉換器系統可用于IP代理系統84時,IP代理系統84可以或是從代碼轉換器系統下載需要的代碼轉換器,或是發送內容到要遠程代碼轉換的代碼轉換器系統。代碼轉換器下載或遠程代碼轉換的選擇可以取決于例如要代碼轉換的數據量、代碼轉換的復雜性(單或成鏈操作)或其它準則。
外部連接處理機系統圖10示出了帶有外部的、可能共享組件的分布IP代理系統的概念的進一步擴展。圖10是帶有外部代碼轉換系統86和外部連接處理機系統108的通信系統的方框圖。除了連接處理機系統108在IP代理系統106的外部之外,圖10的系統110基本上與圖7中的系統90相同。IP代理系統106能夠從連接處理機系統108通過直接連接、LAN88或WAN16諸如互聯網下載連接處理機。
圖11是用于圖10的系統的示例信號流向圖。在圖11中,連接處理機系統108,代碼轉換器系統86和配置文件102均是外部組件,并且因此可以在多IP代理系統106中共享。這些外部組件可以被實現用于例如由公司、互聯網提供商(ISP)或應用服務提供商(ASP)擁有和/或運營的所有IP代理系統106,諸如通過公司內部網、撥號連接或其它通信配置訪問。連接處理機系統108,代碼轉換器系統86和配置文件102可以替換為通過互聯網可公共訪問任何IP代理106。本領域技術人員將理解,IP代理系統,如106可潛在地訪問專用、可能基于公司、ISP或ASP的外部組件和公共連接處理機系統、配置文件或代碼轉換器系統。如上所述,IP代理106和外部組件之間的通信可以通過直接連接或網絡連接,并且可以針對不同的IP代理系統而不同。
通過示例,下面將針對HTTP請求描述與系統諸如110相關的操作。當HTTP請求由IP代理系統106中的分配器22接收時,合適的處理機可能必需從連接處理機系統108下載,除非處理機已經駐留在IP代理106上,正如下面進一步詳細描述的。這在圖11中作為處理機請求示出,該請求通過與連接處理機系統108匹配的駐留處理機112,如TCP處理機而被處理。該駐留處理機112通常在IP代理系統108中本地提供,以便能夠在IP代理系統和外部連接處理機系統108之間進行通信。然而,該處理機可以被替換為通過IP代理系統106從連接處理機系統,最好經自動下載程序下載。
然后,處理機112從外部連接處理機系統108請求合適的連接處理機,在該示例中的HTTP連接處理機。如果被請求的連接處理機不可用或不能下載,則將差錯返回到移動設備12。然而,如果連接處理機系統108返回需要的HTTP連接處理機108a,則由IP代理系統106裝載。然后,分配器將原始的HTTP請求從移動設備12前送到HTTP處理機108a。HTTP處理機108a可以確定是否可將任何附加的內容類型能夠代碼轉換成移動設備匹配的WMLC格式。如上所述,該確定可以通過在本地配置文件或查找表或外部配置文件102或查找表中執行代碼轉換器查找進行。如果可通過HTTP訪問配置文件102,HTTP處理機108a則管理代碼轉換器查找;否則,可能在另外的處理機下載操作之后,調用不同的連接處理機,以方便代碼轉換器查找或配置文件查找。
依據代碼轉換器查找的結果,HTTP處理機108a可以在從移動設備到信息源諸如網絡服務器76的請求中擴展接受的內容類型。如上所述,假定網絡瀏覽器76返回WML內容到HTTP處理機108a。通過調用存儲在IP代理系統106中的存儲器中的WML->WMLC代碼轉換器,通過從外部代碼轉換器系統下載代碼轉換器然后調用在IP代理系統106的代碼轉換器,或通過發送WML內容從IP代理系統106到外部代碼轉換器系統86,以便由在代碼轉換系統86中的WML->WMLC代碼轉換器104a進行遠程代碼轉換,返回的WML內容可以被代碼轉換成WMLC內容。盡管在圖11中示出了單個代碼轉換器操作,成鏈的代碼轉換操作和任何需要的相關下載或傳送操作也可以執行。然后,當WMLC內容返回到HTTP處理機108a時,如果IP代理106到代碼轉換器系統86通信不使用HTTP,可能通過另一連接處理機,準備包括WMLC內容的響應并且通過分配器22發送到移動設備12。
外部連接處理機系統108設有連接類型的擴展,通過它IP代理系統106可以訪問要發送到移動設備12的數據。一旦從外部連接處理機系統下載,諸如HTTP處理機108a之類的連接處理機可以由IP代理系統106存儲到本地數據存儲器。在這些系統中,分配器22最好訪問本地存儲器以確定是否需要的處理機已經駐留在IP代理系統106內。由此能夠避免以后下載先前使用的連接處理機。下載操作可以通過在初始化IP代理系統106時在本地存儲器中提供一個或更多最常用的連接處理機進一步減少,這樣只有較少使用的連接處理機按照需要從外部連接處理機系統下載。
類似于上述的外部代碼轉換系統,外部連接處理機系統可以是如圖11所示的下載系統或者是一個遠程連接處理系統,其中連接處理機被調用并在連接處理機系統執行,而不是被下載用于在IP代理系統106執行。在HTTP請求的例子中,當啟動遠程連接處理時,來自移動設備12的請求可以被派遣給或切換給外部連接處理機系統。
圖12示出了信息請求派遣給外部連接處理機的信號流向圖。在圖12的例子中,來自移動設備12的請求由IP代理系統106a中的分配器22接收,并且前送到駐留處理機112。盡管稱為駐留處理機,處理機112還可以從外部連接處理機系統下載到IP代理系統106a。然后,駐留處理機112可以詢問代碼轉換器配置文件72和在請求中擴展接受的內容類型。從前面描述中可以看到,還可以實現外部配置文件。如上所述與連接處理機系統108兼容的駐留處理機112前送所述請求,可能具有擴展的接受行,到連接處理機系統108。連接處理機系統108確定該請求是HTTP請求并且調用HTTP連接處理機108a。由此,該請求被派遣給外部處理機108a,其發送HTTP請求到信息源,在該例中為網絡服務器76,并且接收返回的WML內容。然后,將WML內容返回到駐留處理機112,其使用WML->WMLC代碼轉換器74將WML內容代碼轉換成移動設備兼容的WMLC內容。作為替換,如上所述,該代碼轉換能夠涉及成鏈代碼轉換器和/或外部代碼轉換器。然后,將得到的WMLC內容通過分配器22返回到移動設備12。
在圖12中,接受的內容類型和內容代碼轉換的擴展在IP代理系統106a內得到管理。圖13是展示圖12的請求派遣的變體的信號流向圖。在圖13中,來自移動設備12的請求由分配器22前送到駐留處理機112。然后駐留處理機112前送所述請求到連接處理機系統108,其啟動HTTP處理機108a。HTTP處理機108a詢問配置文件102或查找表,確定哪個代碼轉換器(如果有)可用于代碼轉換其它內容類型成為請求的類型WMLC,然后修改請求,以包括這些其它內容類型,在該例中是WML和HTML。該修改的請求發送到網絡瀏覽器76,其返回WML內容。然后,將返回的WML內容發送到代碼轉換器系統86中的合適的WML->WMLC代碼轉換器104a,并且代碼轉換的內容返回到HTTP處理機108a,然后到IP代理系統106a中的駐留處理機112。包括WMLC內容的響應通過分配器22發送到移動設備以完成操作。
圖14是展示對外部連接處理機的請求的切換的信號流向圖。在切換方案中,IP代理系統106c通過其駐留處理機112前送請求到外部處理機系統108。連接處理機和合適的處理機,在該例中是HTTP處理機108b,則管理信息請求/響應操作的提醒者。一旦請求被切換到外部連接處理機系統,IP代理系統106c最好不進一步涉及操作。
現在詳細參考圖14,來自移動設備12的請求發送到連接處理機系統108。連接處理機系統108調用合適的處理機,圖示的HTTP處理機108a,其修改請求以包括另外的內容類型并發送該請求到信息源(網絡服務器76),接收來自信息源的內容,并且調用在外部代碼轉換系統86中的任何需要的代碼轉換操作,基本如上面結合圖13所做的描述。然而,代替返回代碼轉換的WMLC內容到IP代理系統106c,外部連接處理機系統最好包括移動設備協議處理機108c,其發送響應到移動設備12。
當移動設備協議不同于請求協議,以致調用不同的處理機與信息源和移動設備通信時,如圖14所示,HTTP處理機108b和移動設備協議處理機108c被有效地鏈接,類似于上述的代碼轉換器鏈。盡管示出了相同連接處理機系統108的一部分,HTTP處理機108b和移動設備協議處理機108c可以替換為與不同的連接處理機系統相關聯。連接處理機系統108可以例如從另一連接處理機系統下載移動設備協議處理機108c,并且調用在遠程系統處的移動設備協議處理機。從前面描述中明顯可以看到,圖14中的移動設備協議處理機108c與分配器22在功能上的類似處在于當需要時,它在連接處理機和移動設備通信協議之間進行翻譯。
在相同或不同連接處理機系統中的連接處理機也可以被鏈接,以便處理來自移動設備12的信息請求,例如請求來自信息源的信息和管理返回的內容的代碼轉換。任何連接處理機鏈操作可涉及派遣或切換,并且最好由連接處理機系統或請求被初始接收處的IP代理系統控制。
還期望一個以上的連接處理機系統可用于任何IP代理系統。如上所述,對于外部代碼轉換器系統,外部連接處理機系統可以登記在一個或更多登記處,該登記處可以由IP代理系統詢問,以找到可用的連接處理機。在需要連接處理機鏈的地方,連接處理機系統也可以訪問登記處,以定位在另外連接處理機系統中的特定類型的連接處理機。登記處方案還可以通過促進發現功能來簡化動態連接處理機管理,以允許IP代理系統和連接處理機系統當新連接處理機和系統變得可用時發現它們。在帶有多外部連接處理機系統的系統中,IP代理系統可以有效地變成一個裝載平衡模塊,該模塊可以在不同連接處理機之間分配輸入的移動設備請求。
上面主要是在通信或連接協議的背景下描述了連接處理機。然而,還期望處理機可實現用于其它功能和服務,例如包括加密、壓縮、用戶驗證和狀態管理。這些“服務處理機”可以嵌入連接處理機,但最好是按照需要與連接處理機鏈接的不同模塊。鏈機構設有在連接管理和請求處理方方面的更多的靈活性,這在于,基本連接處理機可以按照需要與很多服務處理機鏈接,以客戶化連接或請求/響應操作。連接處理機系統可包括服務處理機,并且還可以或替換為通過下載或遠程執行在一個或更多其它服務處理機系統中的服務處理機,完成連接處理機和服務處理機鏈。
示例實現現在描述IP代理系統的示例實現。圖15是在安全網絡中實現的IP代理系統的方框圖。
圖15中的系統120包括操作于無線網絡14內的移動設備12。通過網關15,移動設備能夠通過諸如互聯網之類的WAN16接收并且最好還發送數據。系統120的這些單元基本上與在圖1中類似標示的單元相同。然而在系統120中,IP代理系統124配置在安全防火墻127后面的諸如公司網絡130之類的專用網絡內,并且通過網絡服務器計算機122與網關15通信。在具體的示例實施例中,網絡服務器122與電子郵件系統128相關聯。兩個信息源,即內部源126和外部源132也示于圖15中。
網絡服務器122最好能與移動設備12進行安全通信,如由加密和解密模塊122a和122b指示。網絡服務器122加密指向移動設備12的任何通信。計劃的接收者移動設備12使用存儲于其中的保密密鑰能夠解密來自網絡服務器122的加密通信。移動設備12類似地加密發送到網絡服務器122的任何信息,其能夠由解密模塊122b解密。加密技術領域的技術人員將理解,最好是選擇在網絡服務器122和移動設備12處使用的密鑰和加密算法,以致沒有所需的秘密密鑰使對加密信息的解密在計算上不可行。一個優選的加密方案是三重DES(Data Encryption Standard,數據加密標準)。
在網絡服務器122和移動設備12之間的密鑰分發可以通過安全連接,如移動設備12和網絡服務器122之間,或移動設備12和公司網絡內的另一計算機之間的安全物理連接完成。已知的公共密鑰加密技術可替換為用于密鑰分發。在公共密鑰方案中,使用公共密鑰以這樣的方法對信息加密,即使用相應的專用密鑰對加密的信息解密。公共密鑰由一般稱為證書機構或CA的公共訪問的密鑰儲存庫存儲并且可從其檢索,而專用密鑰僅在移動設備或公共密鑰與其相關聯的系統處存儲。這樣,希望發送加密的信息到移動設備12的網絡服務器122或任何其他發送者可以從CA檢索移動設備的公共密鑰,并且使用公共密鑰加密針對移動設備12的加密信息。移動設備12可以類似地從CA獲得網絡服務器的公共密鑰,并且使用公共密鑰加密要發送到服務器的通信信號。
與使用的具體密鑰分發方案和加密技術無關,移動設備12和網絡服務器122之間的加密的通信可以被使用,例如使用移動設備訪問公司或其它專用信息。考慮下面參照圖16描述的安全防火墻127內的內部信息源126的例子。圖16是公司數據訪問操作的信號流向圖。與上面示出的示例的操作一致,圖16示出了基于HTTP的數據訪問操作。
在圖16中,HTTP請求在其通過圖15的無線網絡14和可能其它的中間網絡或組件,如圖15中所示的網關15和WAN16,發送到網絡服務器122之前,最好使用強加密例程,如三重DES(3DES)在移動設備12被加密。然后,加密的請求由網絡服務器122接收并且在解密模塊122b解密。解密的請求被前送到IP代理系統124,其可以基本上如上所述進行對該請求的處理。激活的處理機,在該例中是HTTP處理機26,可以詢問配置文件72或代碼轉換器查找表并且擴展接受的內容類型,以包括能夠代碼轉換成可由移動設備12接受的格式的內容類型。然后由HTTP處理機26將一個請求,可能包括另外的內容類型,發送到信息源126,然后返回請求的信息,在該例中以WML格式。如果需要,由HTTP處理機26裝載和調用合適的代碼轉換器74,并且被請求的內容最好以由移動設備12請求的格式,通過分配器22返回到網絡服務器122。然后,網絡服務器122在其加密模塊122a加密中從IP代理系統124接收的內容,并且響應于移動設備12發送加密的內容。在某些實現中,與分配器22相關聯的協議轉換或翻譯操作可替換為由網絡服務器122執行。
信息源126可以是最好配置用于在專用網絡130上操作的計算機系統或數據存儲器,如通過網絡130可訪問的文件服務器或其它數據存儲器。在公司網絡的例子中,信息源126可包括網絡130的擁有者努力保持專有的保密或另外的敏感信息。安全防火墻127設法防止對包括信息源126的專用網絡組件的未授權訪問。在某些情形下,存儲在信息源處的信息的絕對存在必須保持保密。如圖16所示對來自移動設備的請求的加密防止了未經授權方沒有破解加密而確定請求的內容,如上所述,對對于強加密方案,如3DES,在計算上是不可行的。該請求保持加密,直到由安全防火墻127后面的網絡服務器122接收和解密,如圖12中的134處所指示。因此,該請求實際上正如從網絡130上的計算機系統發送的請求那樣安全。
一旦被解密,如上所述,該請求由IP代理系統124和信息源126處理。然而,由網絡服務器122中的加密模塊122a對被請求內容進行的加密在發送到移動設備12之前同樣保證內容只能由移動設備12觀看。因此,保密公司信息直到在移動設備12被接收和解密為止一直保持被加密并因此而安全。從而將安全防火墻127有效地擴展到移動設備12。請求和對此響應而返回到移動設備的信息二者都是安全的。
在已知的諸如WAP之類的遠程數據訪問方案中,使用移動設備提供數據訪問的網關系統通常位于例如在服務提供商的場所處公司或專用建筑物外部。在專用建筑物處加密的任何保密或敏感信息在公司防火墻外部的網關系統處解密,然后在被發送到目的移動設備或一些設備之前被重新加密。因此,信息在網關系統處是未加密的,并且由此可由網關系統的擁有者或運行者訪問。此外,從其發送信息的專用網絡的擁有者或運營者通常不對網關系統處的安全配置進行控制,這樣信息在網關系統易于受到攻擊。
圖15和16所示的配置提供對專用、保密或其它敏感信息的安全遠程訪問。信息被從網絡服務器122和任何移動設備12之間的端對端加密。在安全防火墻127處可以實現任何級的安全,以保護存儲在信息源,如126的保密信息,并且當由網絡服務器122加密時,信息在移動設備12處接收之前,不在任何中間點被解密。信息僅在安全防火墻127后面的點134“內部”和在移動設備上是未加密的。安全配置諸如口令或口令句控制也最好在移動設備12處被實現,以防止未授權的用戶使用移動設備12或解密接收的加密信息。例如,計算機工作站可以由口令去激活系統鎖定保護,并且對公司網絡130的訪問通常由登錄口令保護。類似地,可以需要口令使用移動設備12,而不同的口令句可以是解密任何存儲在移動設備上的加密信息必需的。移動設備12和存儲其上的信息由此正好象網絡工作站和存儲在網絡上的信息那么安全。如同受限口令字或口令句輸入重試這樣技術,在口令或口令句輸入失敗預定數目后,移動設備12或移動設備存儲器復位,動態并可能隨機地更新口令/口令句,并可以被用來進一步改善移動設備的安全性。
對于外部信息源132(圖15),除了信息源是在防火墻127外部之外,數據訪問操作基本上與圖16所示出的相同。移動設備12和網絡服務器122之間的請求和響應可以被加密,但是與信息源132交換的信息可能是不安全的。如果由信息源132提供的信息不是專用的或保密的,那么IP代理系統124和源132之間的非安全交換對于大部分用途將是足夠的。
改善從外部源132請求的信息的安全性的一個可能的措施將是使IP代理系統124和源132之間的通信安全。例如,可以調整IP代理系統124支持安全HTTP(HTTPS),安全套接層(SSL)或其它安全通信方案,以便安全訪問在信息源132處的信息。來自源132的信息可以由此安全傳送到IP代理系統124,然后由安全防火墻127保護。加密信息可以由IP代理系統124例如由激活的連接處理機解密,并被傳送到網絡服務器122,其然后加密該信息用于傳送到移動設備12。如上,信息僅在防火墻127之后是未加密的。或者,通過IP代理系統124在移動設備12和源132之間建立安全通信會話。在圖15的系統中,移動設備12和網絡服務器122之間的通信然后將被雙重加密。
如圖15所示,網絡服務器122也與電子郵件系統128相關聯。在一個實施例中,網絡服務器122提供從電子郵件系統128向移動設備12發送數據項。美國專利6,219,694詳細描述了這樣一個系統,該專利題為“從主系統到具有共享電子地址的移動數據通信設備推信息的系統和方法”,并且在2001年4月17日授予本發明的受讓人。該專利的全部公開在此被引用包含在該申請中。
由于網絡服務器122也與IP代理系統124相關聯,在電子郵件系統128和IP代理系統124之間的集成功能也是可以的。例如,IP代理系統124使用網絡服務器122的加密功能以及傳輸機構,通過該傳輸機構網絡服務器122與移動設備12通信。網絡服務器122的其它功能,諸如象數據壓縮,可以由IP代理系統124開發,以改善無線通信資源的使用效率。如上面簡單描述的,針對移動設備12的內容,可以使用在與移動設備用戶相關聯的電子郵件系統128中的電子郵件地址,被編址到移動設備。在該例中,由IP代理系統124前送到移動設備12的內容可以由網絡服務器122存儲在電子郵件系統128上的用戶信箱中,如圖15指示的,由此提供IP代理系統操作的記錄和任何前送內容的存儲復制件。其它集成的功能可以包括,但決不限于使用電子郵件系統128的電子郵件地址通過IP代理系統124的來自移動設備的基于電子郵件的內容請求和針對設備的信息的尋址。與任何其它服務相關聯的網絡服務器122或IP代理系統124可以使用其它的集成功能。
應該理解,上述說明書僅以示例涉及了優選實施例。本領域技術人員就會理解本發明的很多其它變化,并且這些變體是在上述本發明的范圍內,無論是否被清楚描述。例如,本發明的實施例已經主要在基于IP系統的情況小進行了描述。用于通信系統的其它類型的類似代理系統也期望在本發明的范圍內。除了上面描述的那些外的其它類型的連接、連接處理機和代碼轉換器對于本領域技術人員也是明顯的。
依據遠程數據訪問系統的具體實施和要支持的特征,圖2所示的所有單元并不都是必需的。例如如果不支持推服務,代理系統將不包括推服務30。
本發明也決不限于使用MIME類型的內容類型指示。MIME類型結合本發明是有用的,但不需要實施本發明。其它內容類型指示器可以替換MIME類型以指示被請求或接收的內容的類型或格式。
盡管上述代碼轉換器在已知的信息類型或格式之間轉換,客戶化的代碼轉換器能夠被開發和實現用于實際任何信息格式,例如包括應用程序文件類型和專有格式。如上所述,按照本發明的代理系統最好是可配置的,并且新內容代碼轉換器也可以被添加。
來自信息源的信息內容也能包括多種不同的內容類型,不只是上述的單個內容類型。對于這種多類型內容,可以選擇代碼轉換器例如代碼轉換內容成為單內容類型,或成為在移動設備處可接受的多種內容類型。按照上述的任何一個代碼轉換器選擇方案可以控制代碼轉換器的選擇。
在由移動設備或信息源進行代碼轉換器的選擇的情況下,用于任何或每一部分多類型信息類型內容的代碼轉換器列表可以在連接請求中,響應于一個請求,或一個推請求被指定。相應代碼轉換器可以被選擇并且用于具有特定內容類型的信息內容的每部分。
當多類型信息內容的任何部分不能按照希望或需要被代碼轉換時,例如,合適的代碼轉換器不可用時,只有信息內容的其它部分可能被代碼轉換和發送到移動設備。或者,如上所述缺省的代碼轉換操作可以用于代碼轉換部分多種內容類型。多類型內容的未代碼轉換的部分或可能所有多類型內容能夠改為利用可用于隨后訪問信息內容或其部分的一鏈路或其它信息替換,并且發送到移動設備。指示多種內容類型和/或需要或推薦的代碼轉換器的信息也能被發送到移動設備。然后,信息內容或其一部分可以通過提交一連接請求或可能進一步的代碼轉換指示或一備用的代碼轉換器選擇到IP代理系統由移動設備檢索。
此外,代理系統可以在任何網絡中實現,而不僅在圖11所示的公司網絡中。在ISP、ASP或虛擬運營商(VNO)系統中代理系統的安裝提供對網絡信息的安全遠程訪問和任何網絡用戶之間的信息的安全傳送,包括ISP、ASP或VNO用戶的移動設備之間的傳送。
盡管已經參照特定的圖示實施例詳細描述了本發明,其變化和改進存在于下面的權利要求所描述和定義的本發明的范圍和精神內。
權利要求
1.一種用于提供信息源和移動通信設備之間的數據訪問的系統,該系統包括代碼轉換系統,包括多個代碼轉換器,每個代碼轉換器可操作以便將信息內容從各個第一內容類型代碼轉換成各個第二內容類型;和第一網絡設備,與所述代碼轉換系統通信,并且包括連接處理器系統,該連接處理機系統可操作以接收用于信息源和移動通信設備之間的連接的連接數據和選擇相應的連接處理機,連接處理機可操作以從多個代碼轉換器選擇一個或更多代碼轉換器,以代碼轉換信息內容。
2.如權利要求1所述的系統,其中所述連接處理機系統包括連接處理機目錄,所述連接處理機目錄存儲連接處理機數據。
3.如權利要求2所述的系統,其中所述連接處理機數據包括與至少一個連接處理機相關聯的連接處理機數據。
4.如權利要求2所述的系統,其中所述連接處理機數據包括指定連接處理機的位置的網絡地址。
5.如權利要求4所述的系統,其中所述連接處理機系統可操作以訪問由所述網絡地址指定的位置,檢索所述連接處理機,并且存儲與在所述連接處理機目錄中的連接處理機相關聯的連接處理機數據。
6.如權利要求1所述的系統,其中所述連接處理機系統包括一個代碼轉換器目錄,所述代碼轉換器目錄存儲代碼轉換器數據。
7.如權利要求6所述的系統,其中所述連接處理機數據包括與至少一個代碼轉換器相關聯的代碼轉換器數據。
8.如權利要求6所述的系統,其中所述連接處理機數據包括指定代碼轉換器的位置的網絡地址。
9.如權利要求8所述的系統,其中所述代碼轉換器系統可操作以訪問由所述網絡地址指定的位置,檢索所述代碼轉換器,并且存儲與在所述代碼轉換器目錄中的代碼轉換器相關聯的代碼轉換器數據。
10.如權利要求1所述的系統,其中所述連接數據包括接受數據,所述接受數據指示移動通信設備可操作以接收的可接受的內容類型。
11.如權利要求10所述的系統,其中所述連接處理機可操作以確定從信息源接收的信息內容的接收內容類型,并且確定接收的內容類型是否與可接受的內容類型匹配。
12.如權利要求11所述的系統,其中所述連接處理機進一步可操作以選擇一個或更多代碼轉換器,以便在接收的內容類型不與可接受的內容類型匹配的情況代碼轉換該信息內容。
13.如權利要求11所述的系統,其中所述連接處理機進一步可操作,如果所述信息內容不能被代碼轉換成可接受的內容類型,則向移動通信設備發送差錯消息。
14.如權利要求6所述的系統,其中所述代碼轉換器系統可操作以產生和存儲包括代碼轉換鏈的映射數據,每個代碼轉換鏈選擇一個或更多代碼轉換器,以便將信息內容從各個輸入內容類型代碼轉換成各個輸出內容類型。
15.如權利要求14所述的系統,其中所述映射數據根據代碼轉換數據的增加或刪除被更新。
16.如權利要求14所述的系統,其中所述連接處理機可操作以確定從信息源接收的信息內容的接收內容類型,確定移動設備可操作接收的可接受內容類型,并且選擇代碼轉換鏈之一,以便將信息內容從接收的內容類型代碼轉換成為可接受的內容類型。
17.如權利要求1所述的系統,其中所述連接處理機可操作以優選順序指定內容類型列表,并且向信息源提供內容類型列表。
18.如權利要求17所述的系統,其中所述連接處理機可操作以確定從信息源接收的信息內容的接收內容類型,確定移動設備可操作接收的可接受內容類型,并且選擇一個或更多代碼轉換器,以便將信息內容從接收的內容類型代碼轉換成為可接受的內容類型。
19.如權利要求1所述的系統,其中所述連接處理機可操作以確定移動通信設備的類型,并且基于所述確定從多個代碼轉換器選擇一個或更多代碼轉換器。
20.如權利要求1所述的系統,其中所述連接處理機可操作以確定與移動通信設備相關聯的地址,并且基于所述確定從多個代碼轉換器選擇一個或更多代碼轉換器。
21.如權利要求1所述的系統,其中所述連接處理機可操作以確定與信息源相關聯的地址,并且基于所述確定從多個代碼轉換器選擇一個或更多代碼轉換器。
22.如權利要求17所述的系統,其中所述信息內容包括多種不同的內容類型;和所述連接處理機可操作以選擇一個相應的代碼轉換器,以代碼轉換多種不同內容類型中的每一種的信息內容。
23.一種向移動通信設備提供遠程數據訪問的方法,包括步驟接收連接請求;響應于所述連接請求,與信息源建立連接;從所述信息源接收信息內容;提供多個代碼轉換器,每個代碼轉換器被配置為將信息內容從各個輸入內容類型代碼轉換成為各個輸出內容類型;使用多個代碼轉換器中的一個或更多來代碼轉換信息內容,以創建代碼轉換的信息內容;和前送代碼轉換的信息內容到移動通信設備。
24.如權利要求23所述的方法,其中接收連接請求的步驟包括步驟從移動通信設備接收連接請求。
25.如權利要求23所述的方法,其中所述連接請求標識所述信息源。
26.如權利要求25所述的方法,其中響應于連接請求與信息源建立連接的步驟包括發送信息請求到信息源的步驟。
27.如權利要求26所述的方法,其中所述連接請求遵從第一通信協議;和所述信息請求遵從第二通信協議。
28.如權利要求27所述的方法,其中所述第二通信協議是超文本傳輸協議(HTTP)。
29.如權利要求26所述的方法,其中所述連接請求標識一個或更多接受的內容類型,還包括步驟確定是否配置多個代碼轉換器中的任何一個將任何另外的內容類型代碼轉換成為一個或更多接受的內容類型的任何一個;和在所述信息請求中包括所述一個或更多接受的內容類型和所述另外的內容類型。
30.如權利要求23所述的方法,其中所述連接請求標識一個或更多接受的內容類型;和使用多個代碼轉換器中的一個或更多來代碼轉換信息內容以創建代碼轉換的信息內容的步驟包括確定信息內容的接收的內容類型是否可被代碼轉換成一個或更多接受的內容類型的步驟。
31.如權利要求30所述的方法,其中確定信息內容的接收的內容類型是否可被代碼轉換成一個或更多接受的內容類型的步驟包括步驟確定是否配置多個代碼轉換器中的任何一個將接收的內容類型代碼轉換成為所述接受的內容類型的一個或更多;和對于多個代碼轉換器的任何一個被配置為代碼轉換接收的內容類型成為一個或更多接受的內容類型的情況,選擇一個代碼轉換器,用于將信息內容代碼轉換成為接受的內容類型之一。
32.如權利要求31所述的方法,還包括步驟對于多個代碼轉換器中沒有一個被配置為代碼轉換接收的內容類型成為一個或更多接受的內容類型的情況,放棄所述信息內容。
33.如權利要求31所述的方法,還包括步驟對于多個代碼轉換器中沒有一個被配置為代碼轉換接收的內容類型成為一個或更多接受的內容類型情況,對所述信息內容執行缺省代碼轉換操作。
34.如權利要求33所述的方法,其中對信息內容執行缺省代碼轉換操作的步驟包括傳遞信息內容的步驟。
35.如權利要求33所述的方法,其中對信息內容執行缺省代碼轉換操作的步驟包括將信息內容代碼轉換成為響應于先前連接請求前送到移動通信設備的內容類型的步驟。
36.如權利要求30所述的方法,其中所述信息內容包括多種內容類型;和確定是否可將信息內容的接收內容類型代碼轉換成一個或更多接受的內容類型的步驟包括步驟確定是否配置多個代碼轉換器的任何一個將多種內容類型的任何一個代碼轉換成為一個或更多接受的內容類型;和在配置多個代碼轉換器的任何一個將多種內容類型的任何一種代碼轉換成為一個或更多接受的內容類型的情況下,選擇一個相應的代碼轉換器,用于將多種內容類型的每一個的信息內容代碼轉換成為接受的內容類型之一。
37.如權利要求23所述的方法,其中所述信息內容包括多種內容類型;和使用多個代碼轉換器中的一個或更多來代碼轉換信息內容以創建代碼轉換的信息內容的步驟包括選擇一個相應的代碼轉換器,用于代碼轉換多種內容類型的每一種的信息內容的步驟。
38.如權利要求23所述的方法,其中使用多個代碼轉換器中的一個或更多來代碼轉換信息內容以創建代碼轉換的信息內容的步驟包括步驟確定移動通信設備的類型;和選擇與移動通信設備的類型相關聯的多個代碼轉換器中的一個或更多。
39.如權利要求38所述的方法,其中選擇與移動設備的類型相關聯的多個代碼轉換器中的一個或更多的步驟包括訪問將移動通信設備類型映射到代碼轉換器的映射表的步驟。
40.如權利要求23所述的方法,其中使用多個代碼轉換器中的一個或更多來代碼轉換信息內容以創建代碼轉換的信息內容的步驟包括步驟確定與移動通信設備相關聯的標識符;和選擇與移動通信設備的標識符相關聯的多個代碼轉換器中的一個或更多。
41.如權利要求23所述的方法,還包括步驟映射多個代碼轉換器以創建多個代碼轉換鏈,每個代碼轉換鏈與一個或更多代碼轉換器相關以代碼轉換各輸入內容類型成為各輸出內容類型。
42.如權利要求41所述的方法,其中所述連接請求標識一個或更多接受的內容類型,并且其中使用多個代碼轉換器中的一個或更多來代碼轉換信息內容以創建代碼轉換的信息內容的步驟包括步驟確定信息內容的接收內容類型;從代碼轉換鏈搜索與接收的內容類型匹配的各輸入內容和與所述一個或更多接受的內容類型之一匹配的各輸出內容類型;和選擇代碼轉換鏈以代碼轉換信息內容。
43.如權利要求23所述的方法,其中使用多個代碼轉換器的一個或更多來代碼轉換信息內容的步驟包括步驟將信息內容代碼轉換成為中間內容類型;和將內容從中間格式代碼轉換成為最終內容類型。
44.如權利要求23所述的方法,其中所述連接請求標識一個或更多接受的內容類型,并且其中與信息源建立連接的步驟包括步驟從多個代碼轉換器搜索被配置代碼轉換信息內容成為一個或更多接受的內容類型的一組代碼轉換器;產生對應于所述一組代碼轉換器的各輸入內容類型的列表;和發送各輸入內容類型的列表和一個或更多接受的內容類型到信息源。
45.如權利要求23所述的方法,其中使用多個代碼轉換器的一個或更多來代碼轉換信息內容的步驟包括步驟發送信息內容到代碼轉換系統;和從代碼轉換系統接收代碼轉換的信息內容。
46.權利要求23所述的方法,其中前送代碼轉換的信息內容到移動通信設備的步驟包括加密代碼轉換的信息內容的步驟。
47.如權利要求23所述的方法,其中前送代碼轉換的內容到移動通信設備的步驟包括壓縮代碼轉換的內容的步驟。
48.如權利要求23所述的方法,其中前送代碼轉換的內容到移動通信設備的步驟包括加密代碼轉換的內容的步驟。
49.如權利要求23所述的方法,其中信息源是被配置操作于安全防火墻之后的專用計算機網絡內的專用信息源。
50.如權利要求23所述的方法,還包括步驟按照優選順序產生代碼轉換器列表;和基于所述優選順序在代碼轉換器列表中選擇代碼轉換器之一。
51.如權利要求23所述的方法,其中所述輸入內容類型和輸出內容類型包括從下列組成的組中選擇的內容類型無線標記語言(WML),超文本標記語言(HTML),匯編WML(WMLC),和可擴展標記語言(XML)。
52.一種向移動通信設備提供遠程數據訪問的系統,包括接收連接請求的裝置,該連接請求標識一個或更多接受的內容類型;響應于所述連接請求與信息源建立連接的裝置;從信息源接收信息內容的裝置;提供多個代碼轉換器,并且使用多個代碼轉換器的一個或更多來代碼轉換信息內容成為代碼轉換的信息內容的裝置,每個代碼轉換器被配置為將信息內容從各輸入內容類型代碼轉換成為各輸出內容類型;和前送代碼轉換的信息內容到移動通信設備的裝置。
53.如權利要求52所述的系統,其中接收標識一個或更多接受的內容類型的連接請求的裝置從移動通信設備接收連接請求。
54.如權利要求53所述的系統,其中來自移動通信設備的連接請求使用網際協議(IP)地址標識信息源。
55.如權利要求54所述的系統,其中從信息源接收信息內容的裝置確定信息內容的接收內容類型是否是接受的內容類型之一。
56.如權利要求52所述的系統,其中從信息源接收信息內容的裝置確定多個代碼轉換器的任何一個是否被配置為代碼轉換信息內容成為接受的內容類型的一個或更多,并且對于多個代碼轉換器中的任何一個被配置為代碼轉換信息內容成為一個或更多接受的內容類型的情況,選擇多個代碼轉換器中的一個以代碼轉換信息內容成為接受的內容類型之一。
57.如權利要求56所述的系統,其中所述一個或更多接受的內容類型按優選順序分類,并且代碼轉換器之一的選擇基于所述一個或更多接受的內容類型的優選順序。
58.如權利要求56所述的系統,其中對于多個代碼轉換器中沒有一個被配置為代碼轉換信息內容成為一個或更多接受的內容類型的情況,從信息源接收信息內容的裝置選擇一個缺省代碼轉換器。
59.如權利要求58所述的系統,其中所述缺省代碼轉換器丟棄信息內容。
60.如權利要求58所述的系統,其中對于多個代碼轉換器中沒有一個被配置為代碼轉換信息內容成為一個或更多接受的內容類型的情況,用于前送的裝置返回一個差錯指示給移動通信設備。
61.如權利要求60所述的系統,其中對于多個代碼轉換器中沒有一個被配置為代碼轉換信息內容成為一個或更多接受的內容類型的情況,用于建立連接的裝置返回一個差錯指示給信息源。
62.如權利要求58所述的系統,其中所述缺省的代碼轉換器可操作以傳遞信息內容。
63.如權利要求58所述的系統,其中所述缺省代碼轉換器可操作以代碼轉換信息內容成為響應來自移動通信設備的先前連接請求前送到移動通信設備的內容類型。
64.如權利要求63所述的系統,還包括一個代碼轉換器配置文件,該配置文件包括與多個代碼轉換器的每一個相關聯的文件入口;并且其中用于從信息源接收信息內容的裝置通過搜索所述配置文件確定代碼轉換器中的任何一個是否被配置為代碼轉換信息內容成為一個或更多接受的內容類型。
65.一種經網絡訪問數據的系統,包括移動通信設備,可操作經網絡傳送連接請求,并且可操作接收第一內容類型的信息內容,所述連接請求包括指定第一代碼轉換器的位置的網絡地址,所述第一代碼轉換器可操作以便將信息內容代碼轉換成為第一內容類型。
66.如權利要求65所述的系統,其中所述連接請求還包括備用代碼轉換器列表,每個備用代碼轉換器可操作以將信息內容代碼轉換成為各備用內容類型。
67.如權利要求65所述的系統,其中所述連接請求還包括按優選順序、在所述優選順序中第一為第一內容類型的可接受內容類型列表,其中所述第一代碼轉換器可操作以將信息內容代碼轉換成為第一內容類型。
68.如權利要求67所述的系統,其中所述連接請求還包括用戶優先權,該用戶優先權包括高數據優先權和高時間優先權。
69.如權利要求67所述的系統,其中所述移動通信設備進一步可操作以在傳送連接請求之前加密連接請求。
70.一種經網絡提供數據的方法,包括步驟提供多個代碼轉換器,每個代碼轉換器可操作以將輸入內容類型代碼轉換成為輸出內容類型;映射多個代碼轉換器以創建多個映射入口,每個映射入口關聯一個或更多代碼轉換器,以便代碼轉換各接收的內容類型成為各接受的內容類型;接收對信息內容的請求;接收信息內容;確定信息內容的接收的內容類型;確定接受的內容類型;確定接收的內容類型是否與接受的內容類型匹配,并且對于所述接收的內容類型不與接受的內容類型匹配的情況,選擇一映射入口,以便將信息內容從接收的內容類型代碼轉換成為接受的內容類型;和響應于用于信息內容的請求以所述接受的內容類型傳送信息內容。
71.如權利要求70所述的方法,其中映射多個代碼轉換器以創建多個映射入口,每個映射入口關聯一個或更多代碼轉換器以代碼轉換各接收的內容類型成為各接受的內容類型的步驟包括步驟確定用于多個代碼轉換器的所述輸入內容類型;確定用于多個代碼轉換器的所述輸出內容類型;創建多個映射入口,每個映射入口將一個相應的接收內容類型與一個相應的接受內容類型關聯;和對于每個映射入口,選擇一個或更多代碼轉換器以代碼轉換相應的接收內容類型成為相應的接受內容類型。
72.如權利要求71所述的方法,其中確定所述接受的內容類型的步驟包括接收接受的內容類型標識符的步驟。
73.如權利要求70所述的方法,其中接收信息內容的步驟包括步驟與信息源建立連接;從信息源接收信息內容;和確定從信息源接收的信息內容的接收內容類型。
74.如權利要求70所述的方法,還包括步驟比較接受的內容類型與每個映射入口的相應的接受內容類型;產生與和接受的內容類型匹配的相應的接受內容類型對應的各接收的內容類型的列表;和傳送各接收的內容類型列表和接受的內容類型到信息源。
全文摘要
在一個示例實施例中,用于提供信息源和移動通信設備之間的數據訪問的系統包括代碼轉換系統和第一網絡設備。代碼轉換系統包括多個代碼轉換器,每個代碼轉換器可操作以將信息內容從相應的第一內容類型代碼轉換成相應的第二內容類型。第一網絡設備與所述代碼轉換系統通信,并且包括連接處理器系統。連接處理機系統可操作以接收用于信息源和移動通信設備之間的連接的連接數據和選擇相應的連接處理機,連接處理機可操作,以從多個代碼轉換器選擇一個或更多代碼轉換器以代碼轉換信息內容。
文檔編號H04W12/02GK1554195SQ02817835
公開日2004年12月8日 申請日期2002年7月12日 優先權日2001年7月12日
發明者薩立姆·H·奧馬爾, 薩立姆 H 奧馬爾, N 歐文, 拉塞爾·N·歐文, A 利特爾, 赫伯特·A·利特爾, K 雷巴克, 托馬什·K·雷巴克, S 布朗, 邁克爾·S·布朗, P 亞切, 戴維·P·亞切 申請人:捷訊研究有限公司