專利名稱:用于為移動設備提供服務器代理的方法、設備及系統的制作方法
技術領域:
本發明總的涉及信息匯集,并且更具體地但不是排他性地涉及利用代理來匯集帶外信息供移動設備使用。
背景技術:
一般來說,代理是在工作在前臺的另一應用程序的后臺執行某種類型的信息匯集和/或處理的應用程序。代理程序通常具有相對較小且明確的任務。例如隨著互聯網的發展,對于與搜索請求相關的信息匯集來說,代理已經變得更加重要。由代理匯集的信息可以被拖(pull)或推(push)到工作在前臺的另一應用程序。因此,基于這些考慮和其它的考慮提出了本發明。
參考下面附圖描述本發明的實施例,這些實施例不是限制性的,也不是排他性的。在附圖中,除非另外規定,在所有的圖中相似的標號表示相似的部件。
為了更好的理解本發明,將參考下面對本發明的詳細描述,并且閱讀時結合附圖,在附圖中圖1示出了說明實現本發明的環境的一個實施例的功能性框圖;圖2示出了移動設備和服務器代理設備可利用的組件概況的一個實施例;圖3圖示了總體上示出用于為與移動設備相關聯的收件箱收集信息的過程的一個實施例的邏輯流程圖;圖4示出了說明可用來進行配置和/或向服務器代理設備配置發送請求的若干接口的一個實施例的功能性框圖;圖5圖示了總體上示出用于向服務器代理設備轉達請求的過程的一個
具體實施例方式
在下面的詳細描述中,參考示出了本發明的特定示例性實施例的附圖。對這些實施例進行非常詳細地描述以使得本領域技術人員能夠實現本發明,并且應當理解在不脫離本發明的精神或范圍的情況下,可以利用其它的實施例并且可以進行其它的改變。因此,下面的詳細描述不應被認為是限制性的,并且本發明的范圍僅由所附的權利要求書來限定。
簡單地說,本發明使得具有一個或多個服務器代理的設備能夠匯集來自網絡上的至少一個資源的信息,并且自動地將該信息按適當的格式提供給移動設備的收件箱。服務器代理設備提供用于預處理對信息的請求、收集帶外信息、過濾收集到的信息以及封裝信息以按照適合于移動設備的收件箱的格式傳送的過程。服務器代理可以基于至少一個要素來獨立地收集和處理信息,所述要素包括但不限于時間、事件、用戶概況、移動設備概況、請求、警報、歷史數據、行為數據等。
服務器代理設備可以利用不同類型的服務器代理來收集信息,所述服務器代理包括但不限于編輯器、搜索代理、警報代理和前瞻(forwardlooking)代理。服務器代理設備利用收集模塊來收集由服務器代理預處理的信息,所述收集模塊包括用于收集由第三方代理提供的信息的模塊以及收集由服務器代理預處理的信息的前攝取(proactive fetch)模塊。
封裝模塊按適合移動設備使用的至少一種格式封裝收集到的信息,所述格式包括但不限于無線應用協議(WAP)等。此外,封裝模塊可以提供加密和壓縮來按照適合于向移動設備的收件箱傳送的格式封裝收集到的信息。
接口模塊使得服務器代理設備能夠響應于檢索請求提供經預處理的收集到的信息或者自動地將信息推入移動設備的收件箱。
示例性操作環境圖1示出了可以實現本發明的示例性環境中的組件。實現本發明并不需要所有的組件,并且在不脫離本發明的精神或范圍的情況下可以在組件的布置和類型上進行改動。
在圖1中,網絡102中包括一個或多個局域網(“LAN”)和/或廣域網(“WAN”),例如互聯網,其實現了各個用戶、設備、服務器、代理、模塊、客戶端、處理塊等之間的通信。如圖所示,客戶端計算機104和服務器計算機108利用網絡102來彼此進行通信并且與類似的設備進行通信。無線網絡110被連接到網絡102。無線網絡110可以包括各種組件,例如服務器、消息中心以及被用來提供到移動設備的無線連接的塔。這些組件中很多是通過電線進行互連的;無線標志適用于使用無線網絡的設備,而不適用于那些表示其結構的設備。無線網絡110與網絡102之間的連接可以利用各種已知的方法來實現,例如利用網關。移動設備106可以利用無線通信介質耦合到無線網絡110。而且,移動設備可以包括移動電話、智能手機、尋呼機、對講機、射頻(RF)設備、紅外(IR)設備、Wi-Fi設備以及組合了一個或多個前述設備的集成設備等。雖然未被示出,但是移動設備106可以包括消息傳送工具的收件箱,所述消息傳送工具例如是電子郵件、即時消息傳送(IM)、短消息服務(SMS)等。
雖然未被示出,但是網絡102中的LAN和WAN通常通過路由器和/交換機互相連接。而且,LAN和WAN內的通信鏈路可以包括雙絞線、光纖或同軸電纜,而網絡間的通信鏈路可以利用模擬電話線、完全的或部分的專用數字線(包括T1、T2、T3和T4)、綜合業務數字網(ISDN)、數字用戶線(DSL)、無線鏈路等。此外,在不脫離本發明的精神或范圍的情況下,圖1中的WAN和LAN的數目可以任意地增加或減少。
上述用于通信鏈路中傳送信息的介質為一種計算機可讀介質,即通信介質。一般來說,計算機可讀介質可以包括任何可以通過計算機設備訪問的介質。計算機可讀介質可以包括計算機存儲介質、通信介質或它們的任意組合。
另外,通信介質通常具體包括計算機可讀指令、數據結構、程序塊或者被調制的數據信號(例如載波或其它傳輸機制)中的其它數據并且包括任何信息傳送介質。術語“被調制的數據信號”和“載波信號”包括這樣的信號,所述信號中的一個或多個特征被按照某種方式設置或改變以在信號中對信息、指令、數據等進行編碼。例如,通信介質包括有線介質和無線介質,所述有線介質例如雙絞線、同軸電纜、光纖、波導及其它有線介質,所述無線介質例如聲、RF、紅外及其它無線介質。
服務器計算機108可以包括中央處理單元(處理器)、用于存儲指令的存儲器和經總線連接的網絡接口單元等。處理器結合存儲在存儲器中的指令實現在服務器計算機108上執行的一個或多個應用的操作。這些應用包括但不限于服務器、客戶端、協議、接口、編譯器、轉換器、模塊、代理等。
對于服務器計算機108,網絡接口單元包括用于將服務器計算機連接到網絡102的必要電路,并且被配置為可以利用各種通信協議,這些通信協議包括但不限于TCP/IP、UDP/IP、SMS、IM和WAP。網絡接口單元可以包括用于在有線和/或無線通信介質上傳送信息的電路和組件或者與該電路和組件相接口,上述信息例如圖形化顯示、廣告數據等。網絡接口單元有時指收發器。
圖2示出了移動設備與服務器代理設備之間的通信結構的概況200。移動設備(未示出)包括收件箱202,其與在移動設備上工作的消息傳送工具進行通信,所述消息傳送工具例如是電子郵件、SMS、IM等。服務器代理設備在至少一個服務器計算機、客戶端計算機或主機計算機等(未示出)上工作。
如圖所示,服務器代理設備包括至少四類彼此相互通信的模塊接口模塊、封裝模塊、代理模塊和收集模塊。當出現到移動設備的無線連接并且確定有足夠的帶寬可以用來提供收集到且經預處理的信息時,接口模塊實現收集到且經預處理的信息向收件箱202的傳送。
接口模塊可以包括推入(push)組件204和檢索(retrieve)組件206。如果無線連接可用,則推入組件204被配置為自動地將收集到且經預處理的信息提供給移動設備的收件箱202。如果無線連接可用,則檢索組件206被配置為響應于來自移動設備的請求向收件箱202提供基本類似的信息。
位于接口模塊和封裝模塊之間的是傳送代理205。傳送代理205被配置為監視移動設備以確定其是否可用。如果移動設備可用,則傳送代理205可以經接口模塊將來自位于服務器上的臨時收件箱的響應提供給移動設備上的收件箱。
封裝模塊被配置為按適合于收件箱202的格式封裝收集到且經預處理的信息。取決于收件箱202的特性,封裝模塊可用利用規格化組件208來安排收集到且經預處理的信息,利用壓縮組件210來壓縮信息并且/或者利用加密組件212來加密信息。
代理模塊包括可用來實現對信息的收集和/或預處理的各種代理。這些代理可以包括用于編輯收集到的信息的編輯器代理214。例如,編輯器代理214可用于確定搜索所提供的前十個結果。代理模塊還可以包括可以用于收集與查詢相關的信息的搜索代理216。警報代理218也可以包括在代理模塊內以收集與事件(警報)相關的信息,所述事件(警報)例如是股票價格的變化、天氣變化、新聞稿等。而且,如圖所示,代理模塊還可以包括前瞻代理220,其可用來使用諸如移動設備、用戶等的概況,并且使用歷史數據和/或行為數據來預測可能有用的信息。這種歷史數據和/或行為數據可以包括例如對飛機票的搜索、在特定城市中與移動設備的當前位置不相關的方向以及類似的與行為有關的信息。基于歷史數據和/或行為數據,前瞻代理220可以預測在那個特定城市中收集天氣信息將是有用的。然后前瞻代理220可以收集上述被預測的信息,從而該信息可以被提供給收件箱202。此外,前瞻代理220還可以被用于提供統計、預測和類似的信息供移動設備使用。
雖然圖2中僅示出了四種代理,但是本發明并不局限于此,并且可以包括其操作至少間接地與收集和預處理移動設備可用的信息相關聯的大部分任何其它類型的代理。
服務器代理設備中的收集模塊被配置為使得信息能夠在移動設備工作的帶外被收集。收集模塊包括前攝取組件222和第三方收集組件224。前攝取組件222可用于收集代理模塊內代理所指示的信息。第三方收集組件224可用于收集可能不直接是服務器代理設備的一部分的代理和/或程序所指示的信息。這樣的一個代理可以包括外部代理,其被安排為響應查詢來提供飛機票信息。通常,這種類型的信息是用批量方法進行收集的;但是本發明并不局限于此,也可以利用其它的方法和外部代理。
圖3示出了總體上顯示了用于為與移動設備相關聯的收件箱收集信息的過程300的一個實施例的邏輯流程圖。例如,過程300可以在圖1的服務器計算機108上實現。
開始框之后,過程300開始于框302,其中在移動設備工作的帶外收集信息。然后可以利用服務器代理設備中的代理對收集到的信息進行預處理,如圖2中所示。可以基于多種標準中的任一種自動地配置和至少部分地選擇代理對信息的收集和預處理,所述標準包括但不限于時間、偏好、概況、情況、事件、歷史數據、行為數據等。
過程300接下來到框304,其中按適合于向移動設備的收件箱傳送的格式封裝信息。過程300繼續往下到框305,其中將封裝后的信息發送到位于服務器計算機上的臨時收件箱中,所述服務器計算機例如圖1中的服務器計算機108等。
過程300繼續往下到判決框306,在這里確定移動設備的收件箱是否可用。這個判定通常是由傳送代理來執行并且基于是否存在網絡連接以及對于移動設備是否有足夠的可用帶寬。如果移動設備的收件箱不可用或者帶寬不夠,則該過程在判決框306處循環一直等到移動設備可用為止。但是,如果判決框306處的判定為真,則該過程往前到框308,其中傳送代理將經預處理/收集到的信息提供給接口模塊,該接口模塊能夠向移動設備的收件箱提供信息。過程300完成以后,處理返回到調用過程來執行其它動作。
圖4示出了說明可用來配置和/或發送請求給服務器代理設備406的若干接口的一個實施例的功能性框圖400。如圖所示,如果用戶想要在移動設備中接收信息,則該用戶可以向服務器代理設備406發送對信息的請求。除了對信息的請求以外,該請求還可以包括預定的指令。而且,如圖所示,可以用電話呼叫404口頭提出對信息的請求。也可以利用提示符(未示出)、web表單403、菜單、文本消息401、電子郵件402、即時消息(IM)、移動電話400呼叫等的輔助提出該請求。
一般地,對信息的請求被提供給服務器代理設備406,該服務器代理設備的操作基本與圖2中所示出的服務器代理設備類似。通常有幾種請求,包括一次性請求、基于事件的請求和基于時間的請求。可以使用連接到無線網絡110的移動電話400將上述請求發送到服務器代理設備。移動電話400可以與圖1中的移動設備106相同或者不同。雖然在此移動電話被示為耦合到無線網絡110,但是移動電話400和移動設備106不必耦合到相同的網絡。相反,移動設備106可以無線地耦合到網絡102上的WAN,或者可以有類似的安排。
服務器代理設備406被配置為向使用移動電話400的用戶提供接口,例如使用戶能夠口頭地傳達請求的語音菜單、電話按鍵信號和/或以上的組合。該接口可以包括語音識別模塊以捕獲用戶所說的單詞或預定命令。而且,該接口可以包括智能語言識別模塊以適應普通的口語,并且減少對預定命令的使用。
在一個實施例中,用戶可以利用耦合到陸線(land line)的電話404來傳達請求,例如普通老式電話業務(POTS)405。可以按與移動設備400提出的請求類似的方式提出這種請求并對其處理。
或者,用戶可以利用文本消息401來傳達請求。例如,該文本消息可以是短消息業務(SMS)消息或類似的協議。可以使用移動設備、客戶端計算機、陸線電話、移動電話400等傳送文本消息401。包括在服務器代理設備406中或者與之通信的接口接收并處理文本消息中的請求。
Web表單403也可以被提供給客戶。Web表單403可以由包括在服務器代理設備406中或者耦合到服務器代理設備406的web服務器模塊提供。用戶可以將包括請求的信息填充到web表單403中,然后執行動作,例如按下指示客戶端向服務器代理設備406發送信息的按鈕。也可以使用其它軟件和通信協議將請求通過網絡102傳達給服務器代理設備406。上述軟件和通信協議包括但不限于即時消息、互聯網中繼聊天、文件傳輸協議等。
圖5示出了總體上顯示了用于向服務器代理設備轉達請求的過程500的一個實施例的邏輯流程圖。在一個實施例中,在圖1中的服務器計算機108中實現過程500。
在開始框之后,過程500開始于框502,在此從移動設備接收對信息的請求。過程接下來到框504,在此解析接收到的請求。對接收到的請求的解析可以包括利用語音識別應用、程序、腳本等。也可以包括將對信息的請求解析成預定的命令、句法等。該請求可以被解析成預定的格式以便其可以更容易地被服務器代理設備中的另一模塊處理。過程繼續到框506,在此解析后的請求被發送給配置為進一步處理該請求的服務器代理設備中的相關模塊。該相關模塊取決于特定的實施例。例如,可以利用代理模塊內的一個代理來進一步處理上述請求。無論如何,一旦框506完成,過程就返回到調用過程以執行其它動作。
圖6示出了總體上顯示了向服務器代理設備內的被選擇代理轉達請求的過程的一個實施例的邏輯流程圖。該請求可以用各種形式觸發,包括一次性請求、基于事件的請求和/或基于時間的請求。特別是,如圖所示,該請求可以被轉達給搜索代理或警報代理。但是,本發明不局限于此,整個發明可以利用其它的代理類型,不過未在過程600中對它們進行描述。圖6中的過程600可以在圖1的服務器計算機108中實現。
如圖6所示,在開始框之后,過程600開始于框602,此時在服務器代理設備內接收到對信息的請求。過程接下來到判決框604,在此確定上述請求是否包括可以由警報代理服務的動作,例如上面結合圖2描述的。如果上述請求可以由警報代理服務,則過程分叉到框608;否則處理繼續往下到判決框606。在框608處,警報代理可以操作為利用如下面結合圖8所描述的過程收集與接收到的請求相關聯的信息。例如,可以被收集的信息可以包括與觸發事件相關聯的信息,例如股票價格的變化等。實際上任何警報信息都可以通過警報代理收集。然后過程600繼續往下到判決框606。
在判決框606處,確定被接收的請求是否包括可以由搜索代理服務的動作。如果要利用搜索代理,則過程分叉到框610,在此搜索代理被用來服務對信息的請求。搜索代理可以查詢數據庫、文件、網絡基礎設施等以尋找可以響應于對信息的請求中的查詢的信息。在一個實施例中,搜索代理可以利用如下面結合圖7所描述的過程。一旦框610完成或者如果不使用搜索代理,則處理就被配置為循環回到框602以監視對信息的下一個請求的接收。
圖7示出了總體上顯示了管理搜索請求的過程700的一個實施例的邏輯流程圖。在一個實施例中,從圖6的框610中調用過程700。此外,過程700可以在圖2的搜索代理216內實現。
在開始框之后,過程700開始于框702,在此接收搜索請求。過程接下來到框704,在此確定適合于處理請求的收集組件。不同的收集組件可以與請求內的不同字段、字段的組合和/或搜索方法相關聯。例如,經第三方收集組件收集信息可以更好地滿足一組字段。無論如何,一旦確定了收集組件,過程就往下到框706,在此請求被轉發給所確定的收集組件。在一個實施例中,在將請求發送給所確定的收集組件之前,在框704處修改上述請求。這種修改可以包括但不限于將請求和/或相關聯的字段重新格式化為適合所確定的收集組件使用的格式。
過程接下來到框708,在此從所確定的收集組件中接收收集請求的結果。然后,過程繼續到判決框710,在此確定是否對結果進行編輯。例如,可以進行編輯以按用戶可以更好地使用的格式設置返回的結果。而且,這種編輯可以基于多種標準中的任一種,所述標準包括但不限于用戶指定的預定標準、用戶的計算設備的性能、瀏覽器格式等。例如,用戶可能希望只接收搜索的前十個命中結果,或者用戶可能希望只接收關于某個股票的特定值。無論如何,如果要進行編輯,則過程分叉到框712,在此結果被發送給編輯器代理。當編輯完成時,或者如果不進行編輯,則過程700往下到框714,在此發送結果以進行封裝后用于向用戶傳送。下面結合圖11更詳細地描述用于封裝結果的過程的一個實施例。一旦框714完成,過程700就返回到調用過程以執行其它動作。
圖8示出了總體上顯示了管理警報請求的過程800的一個實施例的邏輯流程圖。例如,過程800可以在圖2的警報代理218中實現。
開始框之后,過程800開始于框802,在此接收警報請求。在一個實施例中,從圖6的框608中接收警報請求。如上所述,警報請求可以與事件、狀態等相關聯,當滿足所述事件、狀態等時,警報請求使得與警報相關聯的信息被發送給用戶。
過程接下來到框804,在此確定適合收集被請求的警報信息的收集組件。確定收集組件可以基于各種標準,包括所請求的警報信息的類型。而且,一個收集組件可以相比另一個收集組件進行更好地配置以處理特定的警報請求。無論如何,一旦確定了合適的收集組件,過程就進入框806,在此就警報信息的狀態查詢所確定的收集組件。
過程繼續到判決框808,在此確定是否接收到響應于查詢的警報信息。在一個實施例中,當所確定的收集組件確定滿足警報請求時接收警報信息。如果確定沒有接收到響應于查詢的警報信息,則過程循環回到框806,在此進行另一次查詢直到滿足警報請求為止,例如接收到與警報請求相關聯的信息。上述警報也可以被配置為在預定的時間以后超時。例如,如果用戶想要知道給定時間內股票價格的變化,并且股票沒有變化,則警報信息可以顯示在給定時間內股票沒有變化。
但是在判決框808處,如果已經接收到警報信息,則過程往下到框810,在此發送接收到的警報信息以進行封裝用于傳送給用戶。在一個實施例中,接收到的警報信息被發送到下面結合圖11描述的過程1100中。在另一個實施例中,接收到的警報信息被發送到與上面結合圖2描述的封裝模塊基本類似的封裝模塊中。無論如何,一旦框810完成,過程就返回到調用過程以執行其它動作。
圖9示出了總體上顯示了供前瞻代理使用的過程的一個實施例的邏輯流程圖。因而,在一個實施例中,在圖2的前瞻代理220中實現圖9的過程900。
來自用戶的請求通常不專門針對前瞻代理。作為代替,前瞻代理可以監視去往其它代理的請求,確定預測性信息并且將該預測性信息提供給用戶。同樣,在開始框之后,過程900開始于框902,在此監視到其它代理的請求。過程900接下來到框904,在此確定是否檢測到發往另一個代理的請求。如果是,則過程往下到框906;否則過程循環回到框902來繼續檢測到其它代理的警報。
在框906處,與發送請求的用戶相關聯的用戶記錄被檢索。該用戶記錄包括與發送請求的用戶相關聯的信息,例如統計信息、行為信息、用戶可應用的配置信息、計費信息等等。用戶記錄可以包括一個或多個數據記錄并且用戶記錄的多個部分可以按不同的格式保存在一個或多個地方。
過程往下到框908,在此部分地基于檢測到的請求利用統計數據、歷史數據和/或行為數據修改用戶記錄。可以基于各種統計的和/或歷史的行為數據修改用戶記錄。例如,與用戶發送的大量請求相關聯的統計數據可能已被另一個用戶收集。統計數據、歷史數據和/或行為數據也可以與一類請求、與請求相關聯的時間、這類請求的頻率等相關聯。類似地,統計數據、歷史數據和/或行為數據可以包括與請求中的關鍵字、請求的場景或實質、請求被發送的地點等相關聯的信息。在一個實施例中,與檢測到的請求相關聯的用戶設置可以用于幫助確定什么統計數據、歷史數據和/或行為數據要被收集并用來修改用戶記錄。例如,在另一個實施例中,用戶可能會指示要保存之前的請求并且在稍后的某個時間將其返回給用戶。實際上,任何統計數據、歷史數據和/或行為數據都可以被收集并且用于修改用戶記錄。而且,這樣的統計數據、歷史數據和/或行為數據還可以被用于其它用途,包括但不限于計費、研究等。
過程900接下來到框910,在此確定是否要提供附加的信息來修改用戶記錄。這個附加信息可以不是直接響應于檢測到的請求的。但是,由于各種其它原因需要提供這種信息,例如其可以間接地幫助用戶。因而例如,如果用戶請求關于小說的信息,則可以發送關于小說的作者的附加信息,雖然這種信息不是用戶直接請求的。確定是否提供附加信息可以取決于各種因素,包括用戶標準、用戶設置、服務器代理設備的配置、請求本身等。在一個實施例中,附加信息可以被提供給預定類型的請求,該請求可以由關鍵字、主題、頻率等限定。此外,確定提供附加信息可以基于一類用戶、一組預定用戶等。無論如何,如果不提供附加信息,則過程循環回到框902;否則過程繼續到框912。
在框912中,基于被檢測到的請求和/或用戶記錄制訂對附加信息的請求。例如,對附加信息的請求可以基于在檢測到的請求中找到的關鍵字。除了用戶記錄中存在的某些歷史、統計、行為或其它信息以外,對附加信息的請求也可以基于在檢測到的請求中找到的關鍵字。因而,如果用戶記錄顯示用戶已經執行了關于地理位置A的預定次數的搜索,但是被監視的請求涉及地理位置B,則對附加信息的請求可以涉及關于從地理位置A到地理位置B的交通選擇的信息。
在框914中,對附加信息的請求被發送給合適的收集組件。在一個實施例中,對附加信息的請求被發送給收集組件以執行與下面結合圖10描述的那些動作基本類似的動作。但是,本發明并不局限于此,而是可以采用其它處理。例如,可以確定合適的收集組件包括一個能夠收集并存儲與廣告信息相關聯的附加信息的收集組件等。在本示例中,作為替代可以利用被專門配置為訪問廣告信息的收集組件。然后上述廣告收集組件可以利用其自己的處理來搜索、收集和提供附加的廣告信息。無論如何,一旦框916完成,過程就往下到框918,在此獲得附加信息。然后過程繼續往下到框920,在此接收到的附加信息被發送以按適合于向用戶傳送的格式進行封裝。在一個實施例中,附加信息被發送給封裝模塊,該封裝模塊基本類似于上面結合圖2所描述的。在另一個實施例中,在發送要封裝的附加信息之前,發送附加信息進行編輯。在該實施例中,例如可以利用圖2的編輯器代理214進行編輯。但是,本發明不局限于此,并且在附加信息被發送進行封裝之前可以利用另一個編輯器或代理來執行對附加信息的動作。無論如何,一旦過程900完成,過程就返回到調用過程以執行其它動作。
圖10示出了總體上顯示了利用收集模塊(如圖2中所示)收集信息的過程1000的一個實施例的邏輯流程圖。例如過程1000可以在圖1的服務器計算機108中實現。
開始框之后,過程1000開始于框1002,在此接收對內容的請求。該請求可以從各種源中接收,包括但不限于圖2的服務器代理設備中的代理等。例如,在一個實施例中,從圖9的過程900中接收對內容的請求。一旦接收到對內容的請求,過程就往下到判決框1004,在此確定要用來為對內容的請求提供服務的收集組件的類型。如圖10和圖2中所示,示出了兩種可能的收集組件前攝取組件和第三方收集組件。但是,本發明并不局限于此,其它的收集組件也可以用于為對內容的請求提供服務。
通常,如果對內容的請求涉及一般可訪問的信息,例如通常可以通過互聯網、通過服務器代理設備等得到的信息等,則該過程沿前攝取的方向往下。但是,在對內容的請求涉及一般不能通過上述源得到的信息的情況下,該過程可以利用第三方收集組件。例如這種信息可以包括旅館預定信息、航班價格信息等。在一種配置中,服務器代理設備的操作者可以與第三方(例如航空公司)簽訂協議,其中服務器代理設備將訪問屬于第三方的某些其它專有信息等。這種訪問通常可以通過第三方收集模塊來實現。因而,如果確定了對內容的請求可以由前攝取組件來提供服務,則過程1000往下到框1006;否則,過程1000往下到框1010以由第三方收集組件處理。
在框1006處,對內容的請求被轉發給前攝取組件進行處理。往下到框1008處,前攝取組件基于上述請求進行搜索、得到結果并且返回結果。在一個實施例中,框1008的動作利用上面結合圖7描述的過程700。一旦框1008完成,過程就往下到框1018。
但是,在框1010處,對內容的幾個請求可以在一起成批處理。雖然本發明并不局限于對請求成批處理,但是在一個實施例中可以進行成批處理以減少成本、簡化對內容的共同請求等。無論如何,如果需要這樣,則請求就和其它請求一起成批處理。框1010完成以后,過程繼續往下到框1012,在此成批的請求(在分批的情況下)被發送給第三方收集組件進行處理。過程繼續往下到框1014,在此接收與不同的成批請求相關聯的結果。接下來,過程往下到框1016,在此分離成批的結果。然后過程繼續往下到框1018。
在框1018處,所提供的結果被發送到用戶的收件箱。在一個實施例中,結果被發送回請求代理做進一步的處理,例如利用封裝模塊準備結果或向用戶的傳送等。框1018完成以后,過程1000返回到調用過程以執行其它動作。
圖11圖示了總體上示出封裝向移動設備傳送的信息的過程的一個實施例的邏輯流程圖。在一個實施例中,在上面結合圖2描述的服務器代理設備內實現圖11的過程1100。
在開始框之后,圖11的過程1100開始于框1102,在此接收預期傳送給移動設備的收件箱的信息。例如這樣的信息可以包括從搜索代理接收到的搜索結果、從警報代理接收到的警報信息、預測性信息、歷史信息、行為信息等。接收到這樣的信息以后,過程往下到判決框1104,在此確定信息是否要規格化。信息的規格化可以包括修改信息的格式。可以基于各種因素作出上述判定,所述因素例如但不限于信息本身、信息要被送往的移動設備的類型以及用戶設置。例如,移動設備可能不能顯示某些信息格式。在這種情況下,信息會被重新格式化以在移動設備上查看。類似地,用戶可以指示用預定的格式傳送信息。
無論如何,如果確定了信息應當進行規格化,則過程往下到框1106,在此改變信息的格式;否則過程繼續往下到判決框1108。在一個實施例中,可以通過圖2的規格化組件208來執行框1106。信息的規格化可以引起信息的各種特征的變化,包括但不限于調整圖像大小、改變圖像格式/編碼、改變字型大小、調整文本大小、重組文本等。類似地,例如可以通過操縱內容對根據例如HTML的描述語言或標記語言組織的信息進行重新格式化、重新組織等以改變表述格式。信息也可以被重新格式化為標記語言,或者如果已經是標記語言,則可以用不同的標記語言來設置信息。例如,可以按照遵從同步多媒體集成語言(SMIL)的格式來設置信息用以由移動設備表現。然后過程往下到判決框1108。
在判決框1108處,確定信息是否應當被壓縮。可以基于各種因素作出上述判定,所述因素包括服務器代理設備的配置、移動設備的類型、可用帶寬、用戶設置等。還可以至少部分地基于網絡連接的性能和移動設備解壓信息的能力來確定壓縮的類型。對壓縮的使用也可以基于例如對由于“有損”的壓縮等而可能引起的數據損壞的考慮。無論如何,如果確定了要進行壓縮,則過程往下到框1110;否則,過程往下到判決框1112。
在框1110處,信息被壓縮。在一個實施例中,利用圖2的壓縮組件210來完成壓縮。可以根據一種或多種壓縮機制來進行壓縮,所述壓縮機制包括但不限于行程長度編碼、最小冗余編碼、離散不規則變換壓縮、分形(fractal)壓縮等。實際上,任何的壓縮機制都可以用來壓縮信息。壓縮完成以后,過程繼續往下到判決框1112。
在判決框1112處,確定是否執行加密。加密是針對確保信息的私密性的。加密也可以被用于復制保護。無論如何,可以基于各種因素決定是否對信息加密,所述因素包括但不限于服務器代理設備的配置、移動設備的類型、信息的類型、用戶設置等。如果決定了要進行加密,則過程往下到框1114;否則過程到框1116。
在框1114處,可以利用各種加密機制中的任一種對信息加密,所述加密機制包括但不限于公共密鑰加密、對稱密鑰加密、混合加密等。完成了對信息的加密以后,過程往下到框1116。
在框1116處,信息被轉發以傳送給移動設備。在一個實施例中,信息被轉發給接口模塊,例如上面結合圖2所描述的接口模塊。在另一個實施例中,在框1116中利用例如圖12中所描述的過程來準備用于傳送給移動設備的信息。
圖12示出了總體上顯示了管理到移動設備的接口的過程的一個實施例的邏輯流程圖。例如,可以在圖2的接口模塊中實現圖12的過程1200。
在開始框之后,過程1200開始于框1202處,在此接收預期向移動設備傳送的信息。通常從例如結合圖11描述的封裝模塊中接收上述信息,但是也可以從服務器代理設備的其它組件中接收該信息,所述其它組件例如是收集模塊或代理之一。
接收到信息以后,過程往下到判決框1204,在此決定接收到的信息是被推入移動設備還是由移動設備檢索。可以基于各種標準作出上述決定,所述標準包括但不限于用戶設置、移動設備的類型、信息的類型等。
如果決定了信息要由移動設備檢索,則過程繼續往下到框1210,在此通知被轉發給移動設備的收件箱,指示信息可用。上述通知實際上可以用任何格式或形式,例如包括文本消息、SMS消息、即時消息、電子郵件等。過程接下來到框1212,在此從移動設備接收對信息的請求。然后過程往下到判決框1206。
在框1206處,確定包括用于發送信息的足夠帶寬的無線連接當前是否可用。雖然通知消息已經在框1210處被發送,但是現在的帶寬可能不足以發送信息。很多現有的無線網絡支持具有不同帶寬容量的不同類型的連接。例如,典型的無線電話網可以支持用于發送短消息和語音通信的標準連接以及用于發送較大量數據的數據連接(例如1X CDMA連接)。因而,根據要發送的信息量和發送信息的帶寬可用性作出框1206的決定。如果確定沒有足夠的帶寬或者連接已經斷開,則過程循環回到框1206直到連接可用并且具有足夠的帶寬為止。然而,當連接可用并且具有足夠的帶寬時,過程往下到判決框1214。
在判決框1214處,確定要發送的信息是否還是新的。當接口模塊正在等待移動設備可用的具有足夠帶寬的連接時,信息可能已經過時。某個信息項變得過時所經歷的時間可以取決于各種標準,例如信息的類型。因而,在判決框1214處檢查預定的若干信息類型列表和指示對于相關的信息類型要變成過時的所必須經過的時間(例如保鮮時間)的相關值。某些類型的信息也可以被認為是決不會過時的,例如具有無限長的保鮮時間。但是在一個實施例中,判決框1214可以被刪除或者基于其它可預定義的標準有選擇地執行等。但是,如果確定信息要被更新,則過程分叉到框1218;否則過程進入到框1216,在此信息被發送給移動設備。框1216完成之后,過程返回到調用過程來執行其它動作。
但是在框1218處,信息可以被更新,例如通過執行對信息的另一次搜索,重新請求對信息的收集等。更新信息以后,過程循環回到判決框1206。
應當理解上述流程圖中的每個框以及多個框的組合可以用計算機程序指令來實現。這些程序指令可以被提供給處理器以產生一種裝置,以使得在處理器上執行的指令創建用于實現流程圖的框中指定的動作的裝置。處理器可以執行計算機程序指令來產生由處理器執行的一系列操作步驟以形成通過計算機實現的過程,因此在處理器上執行的指令提供了用于實現流程圖的框中指定的動作的步驟。
因此,流程圖中的框支持用于執行所指定的動作的操作組合、用于執行所指定的動作的步驟的組合以及用于執行所指定的動作的程序指令裝置。還應當理解流程圖中的每個框以及多個框的組合可以通過執行所指定的動作或步驟的基于專用硬件的系統或者專用硬件和計算機指令的組合來實現。
上面的說明書、示例和數據提供了對制作和使用本發明的完整的描述。由于在不脫離本發明的精神和范圍的情況下可以實現本發明的很多實施例,所以本發明的范圍落在所附的權利要求書中。
權利要求
1.一種用于在網絡上向移動設備提供信息的方法,包括利用服務器代理設備中的至少一個模塊來收集信息;利用所述服務器代理設備中的至少另一個模塊來封裝收集到的信息;以及使用所述服務器代理設備中的至少第三模塊將所述信息發送給所述移動設備。
2.如權利要求1所述的方法,還包括將所述收集到的信息發送到與服務器相關聯的臨時收件箱;以及如果所述移動設備可用,則利用傳送代理進行監視。
3.如權利要求1所述的方法,其中封裝收集到的信息還包括執行所述信息的規格化、所述信息的壓縮和所述信息的加密中的至少一項。
4.如權利要求3所述的方法,其中所述信息的規格化還包括修改所述信息的格式。
5.如權利要求1所述的方法,其中利用所述服務器代理設備中的至少一個模塊來收集信息還包括利用前攝取組件和第三方收集組件中的至少一個。
6.如權利要求1所述的方法,其中向所述移動設備發送所述信息還包括確定所述信息是否要被所述移動設備檢索,并且如果所述信息要被所述移動設備檢索,則向所述移動設備提供所述信息可用的通知。
7.如權利要求1所述的方法,其中發送所述信息還包括確定服務器和所述移動設備之間的無線連接是否包括用于所述信息的足夠帶寬。
8.如權利要求1所述的方法,其中所述服務器代理設備中的所述至少一個模塊、所述至少一個其它模塊以及第三個模塊每個能夠在遠離所述移動設備的服務器上執行。
9.一種用于向移動設備提供信息的方法,包括從一個或多個代理中選擇代理;利用所選擇的代理處理來自所述移動設備的請求;利用收集模塊收集信息;利用封裝模塊將所述信息封裝成適合于所述移動設備的格式;以及利用接口模塊將所述信息發送到所述移動設備,其中所述一個或多個代理、所述收集模塊、所述封裝模塊以及所述接口模塊與服務器代理設備相關聯。
10.如權利要求9所述的方法,其中所述多個代理中的一個還包括至少一個搜索代理。
11.如權利要求9所述的方法,還包括利用編輯器代理編輯所述信息,所述編輯器代理進一步被包括在所述服務器代理設備中。
12.如權利要求9所述的方法,還包括利用前瞻代理監視所述請求,所述前瞻代理不同于處理所述請求的代理;檢索與發起所述請求的移動設備相關聯的用戶概況;基于所述請求確定附加信息;以及向所述移動設備發送所述附加信息,其中所述附加信息不構成對所述請求的響應。
13.如權利要求9所述的方法,其中封裝所述信息還包括規格化所述信息、壓縮所述信息和加密所述信息中的至少一個。
14.如權利要求9所述的方法,其中收集所述信息還包括利用前攝取組件和第三方收集組件中的至少一個,所述前攝取組件用于從可直接訪問源收集信息,所述第三方收集組件用于從至少一個專用源收集信息,所述前攝取組件和所述第三方收集組件被包括在所述服務器代理設備中。
15.一種用于向移動設備提供信息的方法,包括利用警報代理處理請求;通過查詢收集模塊確定是否存在警報狀態,并且如果存在所述警報狀態,則使用封裝模塊以適合于所述移動設備的格式封裝包括所述警報狀態的存在的通知在內的信息;以及使用接口模塊將所述信息發送到所述移動設備,其中所述警報代理、所述收集模塊、所述封裝模塊以及所述接口模塊被包括在服務器代理設備中。
16.一種用于在網絡上向移動設備提供信息的服務器,包括收發器,其用于接收并向所述移動設備發送信息;以及耦合到所述收發器的服務器代理設備,包括接口模塊,被配置為使用所述收發器按照推入模式和檢索模式中的至少一種模式向所述移動設備提供信息;封裝模塊,被配置為準備用于傳送到所述接口模塊的信息;代理模塊,被配置為能夠確定用于傳送到所述封裝模塊的信息;以及收集模塊,被配置為從所述代理模塊接收對信息的請求并且收集傳送到所述代理模塊的信息。
17.如權利要求16所述的服務器,其中所述服務器代理設備還包括推入組件和檢索組件。
18.如權利要求16所述的服務器,其中所述封裝模塊還包括規格化組件、壓縮組件和加密組件中的至少一個。
19.如權利要求18所述的服務器,其中所述規格化組件被配置為修改信息的格式。
20.如權利要求16所述的服務器,其中所述代理模塊還包括編輯器、搜索組件、警報組件和轉發組件中的至少一個。
21.如權利要求20所述的服務器,其中所述轉發組件被配置為監視來自所述移動設備的對信息的請求并且部分地基于所述請求以及時間、事件、用戶概況、移動設備概況、統計數據、歷史數據和行為數據中的至少一個來確定至少某些附加信息。
22.如權利要求16所述的服務器,其中所述收集模塊還包括前攝取模塊和第三方收集模塊中的至少一個。
23.如權利要求16所述的服務器,其中所述收集模塊還被配置為利用對信息的請求的至少一個帶外處理來收集信息。
24.一種用于在網絡上傳送信息的經調制的數據信號,所述經調制的數據信號包括使得服務器代理設備中的接口模塊能夠使用所述收發器按照推入模式和檢索模式中的至少一種模式向移動設備提供信息;使得所述服務器代理設備中的封裝模塊能夠準備用于向所述接口模塊傳送的信息;使得所述服務器代理設備中的代理模塊能夠確定用于向所述封裝模塊傳送的信息;以及使得所述服務器代理設備中的收集模塊能夠從所述代理模塊接收對信息的請求并且收集用于向所述代理模塊傳送的信息。
25.如權利要求24所述的經調制的數據信號,其中所述代理模塊還被使得能夠部分地基于對信息的請求執行對附加信息的編輯、搜索、警報和前瞻中的至少一個。
26.如權利要求24所述的經調制的數據信號,其中所述封裝模塊還被使得能夠執行對所述信息的規格化、壓縮和加密中的至少一個。
27.一種用于在網絡上傳送信息的設備,包括收發器,用于接收并向移動設備發送信息;接口裝置,用于使用所述收發器按照推入模式和檢索模式中的至少一種模式向移動設備提供信息;封裝裝置,用于準備用于向所述接口裝置傳送的信息;代理裝置,用于確定用于向所述封裝裝置傳送的信息;以及收集裝置,用于從所述代理裝置接收對信息的請求并且收集用于向所述代理裝置傳送的信息。
28.如權利要求27所述的設備,其中所述接口裝置、所述封裝裝置、所述代理裝置以及所述收集裝置被包括在服務器代理設備中。
全文摘要
本發明使得一個或多個代理能夠匯集來自網絡上的至少一個服務器的信息并且自動地將該信息提供給服務器上的收件箱,然后如果與移動設備的無線連接是可用的,則將上述信息提供給移動設備上的收件箱。服務器代理設備用于預處理來自移動設備的對信息的請求,包括收集帶外信息,過濾收集到的信息,以及封裝信息從而以適合于移動設備的格式傳送。服務器代理設備內的服務器代理可以主動地基于多種要素來收集信息,所述要素包括但不限于時間、事件、用戶概況、移動設備概況、請求、警報和歷史行為。
文檔編號G06F15/16GK1879100SQ200480033086
公開日2006年12月13日 申請日期2004年11月10日 優先權日2003年11月10日
發明者蔣昭瑋, 英慶·勞倫斯·崔, 周民 申請人:雅虎公司