新四季網

遠程地執行使用行動裝置的地理位置數據的應用的伺服器的製造方法

2023-05-20 02:59:11

遠程地執行使用行動裝置的地理位置數據的應用的伺服器的製造方法
【專利摘要】在遠程虛擬化伺服器上執行的應用基於從移動計算設備接收的地理位置信息,提供輸出數據以用於在移動計算設備上顯示。例如,遠程虛擬化伺服器可以發送對於地理位置信息的請求,該地理位置信息指示移動計算設備的地理位置。遠程虛擬化伺服器可以從移動計算設備接收地理位置信息,並且基於地理位置信息生成輸出數據以用於在移動計算設備上顯示。遠程虛擬化伺服器可以然後將所生成的輸出數據發送到移動計算設備。
【專利說明】遠程地執行使用行動裝置的地理位置數據的應用的伺服器
[0001]相關申請的交叉引用
[0002]本申請要求第61/474,695號美國專利申請的優先權,該申請為2011年4月12日提交的臨時專利申請並且標題為「Methods and Systems for Using Geographic LocationData of a Mobile Device by an Application Executing Remotely on a Server,,,其公開內容為了所有的目的而通過引用併入本文。
【技術領域】
[0003]本公開內容一般地涉及計算機網絡和遠程計算,包括在其中伺服器代表客戶端設備執行應用的環境。更具體地,本文所描述的方面涉及由在伺服器上遠程地執行的應用來使用來自傳感器的數據,該傳感器來自行動裝置。
【背景技術】
[0004]隨著計算設備中移動性的增長,也已經存在從行動裝置訪問和執行應用的增長的需求。許多行動裝置具有受制的計算和存儲能力。行動裝置通過遠程地連接至伺服器以代表行動裝置而執行應用,來克服這些限制。
[0005]諸如智慧型電話和平板計算機的行動裝置已經變得更加複雜,它們經常包括傳感器,傳感器採集、存儲並傳輸各種類型的信息。傳感器能夠採集或生成表示物理現象的數據,物理現象諸如溫度和地理位置。一些應用提供全部或部分依賴於地理數據的應用輸出。然而,情況經常是,在伺服器上執行的應用將反映來自伺服器本地的傳感器的信息。因此,當用戶使用行動裝置訪問在伺服器上執行的應用時,顯示在該行動裝置上的輸出經常不反映該行動裝置的地理位置。

【發明內容】

[0006]存在對於一種系統的需求,該系統例如將移動計算設備的本地(例如,地理位置)信息提供給在伺服器上執行的應用。地理位置信息例如可以是指示移動計算設備的地理位置的信息,諸如關於移動計算設備的數據、地理坐標(例如,緯度、經度、高度)、位置精度數據、用戶簡檔信息(例如,移動計算設備的用戶的地理位置,諸如街道地址、城市、省份、郵編、以及國家信息),或者由移動計算設備所採集的、所生成的、或者與移動計算設備相關聯的任何其他合適的數據。在伺服器上遠程地執行的應用可以使用移動計算設備的地理位置信息以適當地在移動計算設備上發揮作用(例如,替代使用遠程伺服器的地理位置)。該系統可以支持在移動計算設備上可用的任何傳感器,移動計算設備諸如智慧型電話或平板計算機。
[0007]在一個方面中,本文描述了一種用於將移動計算設備的地理位置信息提供給在伺服器上遠程地執行的應用的方法。在一個實施例中,這些方法和系統可以包括行動裝置顯示在伺服器上執行的應用的輸出。由在伺服器上執行的應用生成的該輸出利用了移動計算設備的地理位置信息。[0008]在一個方面中,本文描述了在伺服器上執行的接收器將對於行動裝置的地理位置信息的請求發送到在行動裝置上執行的客戶端代理。在伺服器上執行的用戶會話經由面向地理位置的虛擬信道來接收移動計算設備的地理位置信息。在伺服器的用戶會話中執行的應用使用移動計算設備的地理位置信息。該應用使用移動計算設備的地理位置信息來生成輸出數據。接收器將該應用所生成的輸出數據發送到客戶端代理以用於顯示在移動計算設備上。
[0009]在一些實施例中,用戶會話響應於策略來授權該應用使用移動計算設備的地理位置信息。例如,在伺服器上執行的策略引擎可以訪問存儲在伺服器上的策略庫中的策略,該策略用於在確定是否授權該應用使用移動計算設備的地理位置信息時使用。在一些實施例中,接收器可以響應於行動裝置的地理位置上的改變來接收移動計算設備的地理位置信息。在進一步的實施例中,當移動計算設備的地理位置從行動裝置的先前地理位置的改變超過了預先確定的距離閾值時,接收器可以接收移動計算設備的地理位置信息。
[0010]在一些實施例中,在用戶會話中執行的第二應用使用行動裝置的地理位置信息。在一些實施例中,接收器可以響應於策略而周期性地接收移動計算設備的地理位置信息,該策略指定預定的時間長度。在一些實施例中,接收器將應用對地理位置信息的使用記入事件日誌。在一些實施例中,在從客戶端代理接收到更新後,接收器便分發行動裝置的地理位置數據。
[0011]在另一個方面中,本文描述了一種用於在行動裝置上顯示執行於伺服器上的應用的輸出的方法,所述應用使用行動裝置的地理位置信息。在一個實施例中,在伺服器上執行的接收器將對於行動裝置的地理位置信息的請求發送到在行動裝置上執行的客戶端代理。在伺服器上執行的用戶會話經由面向位置的虛擬信道接收行動裝置的地理位置信息。在用戶會話中執行的應用使用行動裝置的地理位置信息。在用戶會話中執行的該應用連接至在第二用戶會話中執行的第二應用。第二應用使用從客戶端代理接收的行動裝置的地理位置信息。第二應用將使用行動裝置的地理位置信息生成的輸出數據發送到該應用。該應用使用行動裝置的地理位置信息和從第二應用接收的輸出數據來生成輸出數據。接收器向客戶端代理髮送由該應用使用行動裝置的地理位置信息生成的輸出數據。
[0012]該概述不旨在識別本文公開內容的關鍵或者必不可少的特徵,而是僅僅概述了本文公開內容的某些特徵和變化。在下面的附圖和描述中闡述了本文所描述的方法和系統的各種實施例的細節。
【專利附圖】

【附圖說明】
[0013]下列的附圖描繪了本文所描述的方法和系統的某些說明性實施例,其中相似的參考數字指代類似的元件。這些被描繪的實施例將被理解為,通過示例的方式而不通過限定的方式,對所公開的方法和系統是說明性的。
[0014]圖1A圖示了網絡環境的一個實施例,該實施例提供了對能夠執行應用程式的計算設備的遠程訪問。
[0015]圖1B和圖1C圖示了描繪計算設備的實施例的框圖。
[0016]圖2A圖示了描繪系統的一個實施例的框圖,該系統用於通過在伺服器上執行的應用使用行動裝置的地理位置數據。[0017]圖2B圖示了描繪平臺的架構的一個實施例的框圖,該平臺支持將行動裝置的地理位置提供給在伺服器上執行的應用。
[0018]圖2C圖示了描繪平臺的架構的一個實施例的框圖,該平臺支持將行動裝置的地理位置提供給在伺服器上執行的應用。
[0019]圖2D圖示了描繪平臺的架構的一個實施例的框圖,該平臺支持將行動裝置的地理位置提供給在伺服器上執行的應用。
[0020]圖3圖示了用於將行動裝置的地理位置數據提供給在伺服器上執行的應用的過程流程。
【具體實施方式】
[0021]為了閱讀下面的各種實施例的描述的目的,對本說明書的章節的下述描述以及它們各自的內容可能是有幫助的:
[0022]章節A描述了非限制性說明性的網絡環境和計算環境,它們對於實行本文所描述的實施例可能是有用的;
[0023]章節B描述了系統的非限制性說明性的實施例,這些系統用於將行動裝置的地理位置數據提供給在伺服器上執行的應用;以及
[0024]章節C描述了方法的非限制性說明性的實施例,這些方法用於將行動裝置的地理位置數據提供給在伺服器上執行的應用。
[0025]童節A:網絡和計算環塏
[0026]圖1A圖示了計算環境101的一個實施例,計算環境101包括一個或多個客戶端機器102A-102N (—般在本文稱為「客戶端機器102」),一個或多個客戶端機器102A-102N與一個或多個遠程機器(一般在本文稱為「伺服器106」)通信。安裝在客戶端機器102與伺服器106之間的是網絡104。
[0027]在一個實施例中,計算環境101能夠包括安裝在伺服器106與客戶端機器102之間的裝置。該電器能夠管理客戶端/伺服器連接,並且在一些情況中能夠在多個後端伺服器之間對客戶端連接進行負載平衡。
[0028]在一些實施例中,客戶端機器12能夠被稱為單個客戶端機器102或者單組客戶端機器102,而伺服器106可以被稱為單個伺服器106或單組伺服器106。在一個實施例中,單個客戶端機器102與多於一個伺服器106通信,而在另一個實施例中,單個伺服器106與多於一個客戶端機器102通信。在再一個實施例中,單個客戶端機器102與單個伺服器106通信。
[0029]在一些實施例中,客戶端機器102能夠通過下述術語中的任何一個來指代:客戶端機器102、客戶端、客戶端計算機、客戶端設備、客戶端計算設備、本地機器、遠程機器、客戶端節點、端點、端點節點、或第二機器。在一些實施例中,伺服器106可以通過下述術語中的任何一個來指代:伺服器、本地機器、遠程機器、伺服器機群(server farm)、主機計算設備、或第一機器。
[0030]在一個實施例中,客戶端機器102可以是虛擬機器102C。在一些實施例中,虛擬機器102C能夠由管理程序、虛擬機管理器(VMM)、或者任何其他適當的硬體虛擬化技術來管理。[0031]客戶端機器102在一些實施例中能夠執行、操作或以其他方式提供一個應用,該應用可以是下列中的任何一種:軟體、程序、可執行的指令、虛擬機、管理程序、web瀏覽器、基於web的客戶端、客戶端-伺服器應用、瘦客戶端計算客戶端、ActiveX控制項、Java小程序、與通過網際網路協議的語音(VoIP)通信有關的軟體(如軟體IP電話)、用於流傳輸視頻和/或音頻的應用、用於促進實時數據通信的應用、HTTP客戶端、FTP客戶端、Oscar客戶端、Telnet客戶端、或者可執行指令的任何其他集合。還有其他的實施例包括顯示應用輸出的客戶端設備102,該應用輸出由在伺服器106或者其他遠程定位的機器上執行的應用遠程地生成。在這些實施例中,客戶端設備102能夠在應用窗口、瀏覽器、或者其他輸出窗口中顯示該應用輸出。在一個實施例中,該應用可以是桌面,而在其他實施例中,該應用可以是生成桌面的應用。
[0032]在一些實施例中,伺服器106執行遠程表示客戶端或其他客戶端或程序,遠程表示客戶端或其他客戶端或程序使用瘦客戶端或遠程顯示協議來採集由在伺服器106上執行的應用所生成的顯示輸出,並且將該應用顯示輸出發送到遠程客戶端102。瘦客戶端或遠程顯示協議的說明性示例包括:佛羅裡達州Ft.Lauderdale的Citrix Systems公司所製作的獨立計算架構(ICA)協議;以及華盛頓州Redmond的微軟公司所製作的遠程桌面協議(RDP)0
[0033]計算環境能夠包括多於一個伺服器106A-106N,使得伺服器106A-106N在邏輯上被分組為伺服器機群106。伺服器機群106能夠包括地理分散並且邏輯地在伺服器機群106中成群在一起的伺服器106,或者相互接近定位並且在伺服器機群106中成群在一起的伺服器106。在一些實施例中,伺服器機群106內的地理分散的伺服器106A-106N能夠使用廣域網(WAN)、城域網(MAN)、或區域網(LAN)進行通信,其中不同的地理區域的特徵可在於:不同的大陸、大陸的不同區域、不同的國家、不同的州、不同的城市、不同的校園、不同的房間、或者前述地理位置的任意組合。在一些實施例中,伺服器機群106可以作為單個實體來管理,而在其他的實施例中,伺服器機群106能夠包括多個伺服器機群106。
[0034]在一些實施例中,伺服器機群106能夠包括執行基本類似類型的作業系統平臺的伺服器106。在其他實施例中,伺服器機群106能夠包括執行第一類型的作業系統平臺的第一組伺服器106,以及執行第二類型的作業系統平臺的第二組伺服器106。在其他的實施例中,伺服器機群106能夠包括執行不同類型的作業系統平臺的伺服器106。
[0035]在一些實施例中,伺服器106可以是任何伺服器類型。在其他實施例中,伺服器106可以是下列伺服器類型中的任何一種:文件伺服器、應用伺服器、web伺服器、代理伺服器、裝置、網絡裝置、網關、應用網關、網關伺服器、虛擬化伺服器、部署伺服器、SSL VPN伺服器、防火牆、web伺服器、應用伺服器或者作為主應用伺服器、執行活動目錄的伺服器106、或者執行應用加速程序的伺服器106,該應用加速程序提供防火牆功能、應用功能、或者負載平衡功能。在一些實施例中,伺服器106可以是包括遠程認證撥入用戶服務的RADIUS伺服器。一些實施例包括第一伺服器106A,第一伺服器106A從客戶端機器102接收請求,將該請求轉發給第二伺服器106B,並且用來自第二伺服器106B的響應對客戶端機器102所生成的該請求進行響應。第一伺服器106A能夠獲得客戶端機器102可用的應用枚舉,以及與應用伺服器106關聯的地址信息,其中應用伺服器106託管在應用枚舉內所識別的應用。第一伺服器106A然後能夠使用web接口呈現對客戶端請求的響應,並且直接與客戶端102通信以向客戶端102提供對所識別的應用的訪問。
[0036]在一些實施例中,伺服器106能夠執行下列應用中的任何一個:使用瘦客戶端協議來將應用顯示數據發送到客戶端的瘦客戶端應用;或者遠程顯示呈現應用。另一個實施例包括伺服器106,伺服器106是一種應用伺服器,諸如提供電子郵件服務的電子郵件伺服器、web或網際網路伺服器、桌面共享伺服器、協同伺服器、或者任何其他類型的應用伺服器。還有其他的實施例包括執行託管伺服器應用的伺服器106,諸如遠程會議或桌面共享應用。
[0037]在一些實施例中,客戶端機器102可以是尋求接入由伺服器106所提供的資源的客戶端節點。在其他實施例中,伺服器106可以向客戶端102或客戶端節點提供對託管資源的訪問。在一些實施例中,伺服器106作為主節點而運行,從而它與一個或多個客戶端102或伺服器106通信。在一些實施例中,主節點能夠識別關聯於伺服器106的地址信息,並且將關聯於伺服器106的地址信息提供給一個或多個客戶端102或伺服器106,其中伺服器106託管所請求的應用。在另外的其他實施例中,主節點可以是伺服器機群106、客戶端102、客戶端節點102的集群、或者裝置。
[0038]一個或多個客戶端102和/或一個或多個伺服器106能夠通過網絡104傳輸數據,網絡104安裝在計算環境101內的機器與裝置之間。網絡104能夠包括一個或多個子網,並且能夠被安裝在客戶端102、伺服器106、計算環境101內所包括的計算機器和電器的任意組合之間。在一些實施例中,網絡104可以是:區域網(LAN)、城域網(MAN)、廣域網(WAN)、包括位於客戶端機器102與伺服器106之間的多個子網104的主網絡104、具有私有子網104的主公共網絡104、具有公共子網104的主私有網絡104、或者具有私有子網104的主私有網絡104。更進一步的實施例包括網絡104,網絡104可以是下列網絡類型中的任何一種:點對點網絡、廣播網絡、電信網絡、數據通信網絡、計算機網絡、異步傳輸模式(ATM)網絡、同步光纖網(SONET)網絡、同步數字層級(SDH)網絡、無線網絡、有線網絡、或者包括無線鏈路可以是紅外信道或衛星頻段的無線鏈路的網絡104。網絡104的網絡拓撲在不同的實施例內能夠不同。可能的網絡拓撲包括:總線網絡拓撲、星形網絡拓撲、環形網絡拓撲、基於中繼器的網絡拓撲、或者分層的星形網絡拓撲。另外的實施例可以包括行動電話網絡的網絡104,該行動電話網絡使用協議來在行動裝置之間通信,其中該協議可以是下列協議中的任何一個:高級行動電話系統(AMPS)、時分多址(TDMA)、碼分多址(CDMA)、全球移動通信系統(GSM)、通用分組無線服務(GPRS)、通用移動通信系統(UMTS)、演進數據最優化(EV-D0)、長期演進(LTE)、或者能夠在行動裝置之間傳輸數據的任何其他協議,如802.11、藍牙、以及近場通信。
[0039]在圖1B中圖示的是計算設備100的一個實施例,其中在圖1A中圖示的客戶端機器102和伺服器106能夠被部署為本文所圖示和描述的計算設備100的任何實施例、和/或在本文所圖示和描述的計算設備100的任何實施例上執行。在計算設備100內包括系統總線150,系統總線150與下列組件進行通信:中央處理單元121、主存儲器122、存儲存儲器128、輸入/輸出(I/O)控制器123、顯示設備124A-124N、安裝設備116、以及網絡接口 118。在一個實施例中,存儲存儲器128包括:作業系統、軟體例程、以及客戶端代理120。在一些實施例中,I/O控制器123進一步連接至鍵盤126以及定點設備127。其他實施例可以包括連接至多於一個輸入/輸出設備130A-130N的I/O控制器123。
[0040]圖1C圖示了計算設備100的一個實施例,其中在圖1A中圖示的客戶端機器102和伺服器106能夠部署為本文所圖示和描述的計算設備100的任何實施例、和/或在本文所圖示和描述的計算設備100的任何實施例上執行。在計算設備100內包括系統總線150,系統總線150與下列組件進行通信:橋接器170以及第一 I/O設備130A。在另一個實施例中,橋接器170進一步與主中央處理單元121通信,其中中央處理單元121能夠進一步與第二 I/O設備130B、主存儲器122、以及緩存存儲器140通信。在中央處理單元121內包括I/O埠 125A-N、存儲器埠 103、以及主處理器121。
[0041]計算機器100的實施例能夠包括中央處理單元121,中央處理單元121以下列組件配置中的任何一個為特徵:響應並且處理從主存儲單元122獲取的指令的邏輯電路、微處理器單元、微處理器、微控制器、具有單個處理核的中央處理單元、具有兩個處理核的中央處理單元、具有多於一個處理核的中央處理單元、可編程的邏輯設備、或者邏輯電路的任何其他的適當組合。
[0042]儘管圖1C圖示了包括單個中央處理單元121的計算設備100,但是在一些實施例中,計算設備100能夠包括一個或多個處理單元121。在這些實施例中,計算設備100可以存儲並執行固件或其他可執行的指令,當執行該固件或該其他可執行的指令時,該固件或該其他可執行的指令指示一個或多個處理單元121同時地執行指令,或者同時地執行單個數據上的指令。在其他實施例中,計算設備100可以存儲並執行固件或其他可執行的指令,當執行該固件或該其他可執行的指令時,該固件或該其他可執行的指令指示一個或多個處理單元各自執行一組指令的一部分。例如,每個處理單元121可以被指示來執行一個程序的一部分或者一個程序內的特定模塊。
[0043]在一些實施例中,處理單元121能夠包括一個或多個處理核。例如,處理單元121可以具有兩核、四核、八核等。在一個實施例中,處理單元121可以包括一個或多個並行處理核。處理單元121的處理核在一些實施例中可以訪問作為全局地址空間的可用存儲器,或者在其他實施例中,計算設備100內的存儲器能夠被分區並且被分配給處理單元121內的特定核。在一個實施例中,計算設備100中的一個或多個處理核或處理器能夠各自訪問本地存儲器。在又一個實施例中,計算設備100內的存儲器能夠在一個或多個處理器或處理核之間共享,而其他的存儲器能夠被特定的處理器或者處理器的子集訪問。在計算設備100包括多於一個處理單元的實施例中,該多個處理單元能夠被包括在單個集成電路(IC)中。在一些實施例中,這些多個處理器能夠通過內部高速總線來連結在一起,該內部高速總線可以被稱為元件互連總線。
[0044]在計算設備100包括一個或多個處理單元121或者一個處理單元121包括一個或多個處理核的實施例中,處理器能夠在多個數據上同時執行單個指令(SMD),或者在其他實施例中能夠在多個數據上同時執行多個指令(MMD)。在一些實施例中,計算設備100能夠包括任何數量的SMD和MMD處理器。
[0045]在一些實施例中,計算設備100能夠包括圖形處理器或圖形處理單元。圖形處理單元能夠包括軟體和硬體的任意組合,並且能夠進一步輸入圖形數據和圖形指令,渲染來自所輸入的數據和指令的圖形,並且輸出所渲染的圖形。在一些實施例中,圖形處理單元能夠被包括在處理單元121內。在其他實施例中,計算設備100能夠包括一個或多個處理單元121,其中至少一個處理單元121專用於處理和渲染圖形。
[0046]計算機器100的一個實施例包括中央處理單元121,中央處理單元121經由也稱為背面總線(backside bus)的輔總線與高速緩存存儲器140通信,而計算機器100的另一個實施例包括經由系統總線150與高速緩存存儲器通信的中央處理單元121。在一些實施例中,局部系統總線150也由中央處理單元用來與多於一種類型的I/O設備130A-130N通信。在一些實施例中,局部系統總線150可以是下列類型的總線中的任何一種:視頻電子標準協會局部(VL)總線、工業標準結構(ISA)總線、擴展ISA (EISA)總線、微信道架構(MCA)總線、外部設備互連(PCI)總線、PCI擴展(PC1-X)總線、PC1-Express (PCIe)總線、或者加速圖形埠(AGP)總線。計算機器100的其他實施例包括作為與中央處理單元121通信的視頻顯示器124的I/O設備130A-130N。其他版本的計算機器100包括經由任何適當連接(諸如超傳輸、快速I/O、或無限帶寬)而連接至I/O設備130A-130N的處理器121。計算機器100的進一步實施例包括處理器121,處理器121使用局部互連總線與一個I/O設備130A通信,並且使用直接連接與第二 I/O設備130B通信。
[0047]在一些實施例中,計算設備100包括主存儲器單元122和高速緩存存儲器140。高速緩存存儲器140和主存儲器單元122可以、並且在一些實施例中能夠是下列類型的存儲器中的任何一種:靜態隨機訪問存儲器(SRAM)、突發SRAM或同步突發SRAM (BSRAM)、動態隨機訪問存儲器(DRAM)、快速頁面模式DRAM (FPM DRAM)、增強型DRAM (EDAM)、擴展數據輸出 RAM (EDO RAM)、擴展數據輸出 DRAM (EDO DRAM)、突發 EDO DRAM (BED0DRAM)、同步DRAM (SDRAM)、聯合電子設備工程會議(JEDEC)SRAM、PC100SDRAM、雙倍數據速率SDRAM (DDRSDRAM)、增強型SDRAM (ESDRAM)、同步鏈路DRAM (SLDRAM)、鐵電性RAM (FRAM)、基於憶阻器的存儲器、或者任何其他類型的存儲器。進一步的實施例包括能夠經由以下各項之一來訪問主存儲器122的中央處理單元121:系統總線150、存儲器埠 103、或者允許處理器121訪問存儲器122的任何其他的連接、總線或埠。
[0048]計算設備100的一個實施例提供了對下列安裝設備116中的任何一個的支持:CD-ROM驅動器、CD-R/RW驅動器、DVD-ROM驅動器、各種格式的磁帶驅動器、通用串行總線(USB)設備、安全數字卡、預啟動執行環境(PXE)固件、可啟動的介質、可啟動的⑶、硬碟驅動器、或者適於安裝應用或軟體的任何其他設備。在一些實施例中,應用可包括客戶端代理120或者客戶端代 理120的任何部分。計算設備100可以進一步包括存儲設備128,存儲設備128可以是一個或多個硬碟驅動器,或者是一個或多個獨立磁碟冗餘陣列;其中該存儲設備被配置為存儲作業系統、軟體、程序應用、或者客戶端代理120的至少一部分。計算設備100的進一步實施例包括用作存儲設備128的安裝設備116。
[0049]計算設備100可以進一步包括網絡接口 118來通過各種各樣的連接對接至LAN、WAN、或網際網路,這些連接包括但不限於:標準電話線路、LAN或WAN鏈路(例如,802.11、Tl、T3、56kb、X.25)、寬帶連接(例如,集成服務數字網絡(ISDN)、幀中繼、ATM、吉比特乙太網、通過SONET的乙太網)、無線連接、或者上述連接中的任何連接或全部連接的某個組合。連接還能夠使用各種各樣的通信協議(例如,TCP/IP、乙太網、附接資源計算機網絡(ARCNET)、50肥1\50!1、光纖分布式數據接口斤001)、1?232、1?485、IEEE802.11、IEEE802.lla/b/g/n、CDMA、GSM、W1-F1、WiMAX、以及直接異步連接)來建立。一個版本的計算設備100包括網絡接口 118,網絡接口 118能夠經由任何類型和/或形式的網關或隧道協議與附加的計算設備通信,隧道協議諸如安全套接層(SSL)或傳輸層安全性(TLS)。網絡接口 118的版本能夠包括以下各項中的任何一項:內置式網絡適配器、網絡接口卡、個人計算機存儲器卡國際協會(PCMCIA)網卡、卡總線網絡適配器、無線網絡適配器、USB網絡適配器、數據機、或者適於將計算設備100對接至能夠通信並且執行本文所描述的方法和系統的網絡的任何其他設備。
[0050]計算設備100的實施例包括下列I/O設備130A-130N中的任何一種:小鍵盤126、定點設備127、滑鼠、觸控板、光學筆、跟蹤球、麥克風、繪圖板、視頻顯示器、揚聲器、噴墨印表機、雷射印表機、以及染料熱升印表機、或者能夠執行本文所描述的方法和系統的任何其他輸入/輸出設備。在一些實施例中,I/O控制器123可以連接至多個I/O設備103A-130N,以控制該一個或多個I/O設備。I/O設備130A-130N的一些實施例可以被配置為提供存儲或者提供安裝介質116,而其他實施例可以提供USB接口以用於接收USB存儲設備。還有其他的實施例包括I/O設備130,I/O設備130可以是系統總線150與外部通信總線之間的橋接器,外部通信總線諸如USB總線、RS-232串行連接、小型計算機系統接口(SCSI)總線、IEEE1394總線、乙太網總線、吉比特乙太網總線、ATM總線、高性能並行接口( HPPI)總線、超級HIPPI總線、串行加(SerialPlus)總線、可擴縮同調接口(SCI)總線、光纖信道總線、或者串行附接SCSI (SAS)總線。
[0051]在一些實施例中,計算機器100能夠連接至多個顯示設備124A-124N,在其他實施例中,計算機設備100能夠連接至單個顯示設備124,而在另外的實施例中,計算設備100連接至作為相同類型或形式的顯示器的顯示設備124A-124N,或者連接至不同類型或形式的顯示設備。顯示設備124A-124N的實施例能夠由下列設備支持和啟用:一個或多個I/O設備130A-130N ; I/O控制器123 ; I/O設備130A-130N和I/O控制器123的組合;能夠支持顯示設備124A-124N的硬體和軟體的任意組合;對接、通信、連接或以其他方式使用顯示設備124A-124N的任何類型和/或形式的視頻適配器、視頻卡、驅動器、和/或庫。在一些實施例中,計算設備100被配置為使用一個或多個顯示設備124A-124N。這些配置可以包括:具有多個連接器來對接至多個顯示設備124A-124N ;具有多個視頻適配器,每個視頻適配器連接至一個或多個顯示設備124A-124N ;具有被配置為支持多個顯示器124A-124N的作業系統;使用包括在計算設備100內的電路和軟體以連接至多個顯示設備124A-124N並且使用顯示設備124A-124N ;以及執行主計算設備100和多個輔計算設備上的軟體,以使得主計算設備100能夠將輔計算設備的顯示器用作用於主計算設備100的顯示設備124A-124N。計算設備100的其他實施例可以包括多個顯示設備124A-124N,這些顯示設備124A-124N由多個輔計算設備提供並且經由網絡連接至主計算設備100。
[0052]在一些實施例中,計算機器100能夠執行任何作業系統,而在其他實施例中,計算機器100能夠執行下列作業系統中的任何一種:任何嵌入式作業系統、任何實時作業系統、任何遠程作業系統、用於移動計算設備的任何作業系統、或者任何其他作業系統。在又一個實施例中,計算機器100能夠執行多個作業系統。例如,計算機器100能夠執行虛擬化平臺,該虛擬化平臺能夠執行或管理執行第一作業系統的虛擬機,同時計算機器100執行不同於第一作業系統的第二作業系統。
[0053]計算機器100能夠具體化在下列計算設備中的任何一種中:計算工作站;臺式計算機;膝上型計算機或筆記本計算機;伺服器;手持計算機;行動電話;可攜式電信設備;媒體播放設備;遊戲系統;移動計算設備;上網本;數字音頻播放器;或者能夠通信並且具有足夠的處理器功率和存儲器容量來執行本文所描述的方法和系統的任何其他類型和/或形式的計算設備、電信設備或媒體設備。在其他實施例中,計算機器100可以是行動裝置,諸如下列行動裝置中的任何一種:蜂窩電話或個人數字助理(PDA);智慧型電話;手持計算設備;具有不同的處理器、作業系統、以及符合該設備的輸入設備的任何計算設備;或者能夠執行本文所描述的方法和系統的任何其他的移動計算設備。在一個實施例中,計算設備100可以是數字音頻播放器,該數字音頻播放器充當可攜式媒體播放器和大容量存儲設備兩者。在一些實施例中,計算設備100可以具有不同的處理器、作業系統、以及符合該設備的輸入設備。
[0054]在一些實施例中,計算設備100包括設備的組合,諸如行動電話與數字音頻播放器或可攜式媒體播放器的組合。在這些實施例中的一個實施例中,計算設備100是數字音頻播放器和行動電話的組合。在這些實施例中的另一個實施例中,計算設備100是智慧型電話。在這些實施例中的另一個實施例中,計算設備100是平板計算機。
[0055]章節B:用於將行動裝置的地理位置提供給在伺服器上遠程地執行的應用的系統
[0056]現在參考圖2A,框圖描繪了系統200的一個實施例,系統200用於將移動計算設備102的地理位置信息提供給在一個或多個伺服器106上遠程地執行的應用225。在一個實施例中,移動計算設備102是如上面關於圖1A-1C所描述的客戶端102。移動計算設備102可以使用任何適當的通信鏈路或協議與一個或多個伺服器106通信。客戶端代理210可以在移動計算設備102上執行。接收器215可以在伺服器106上執行。接收器215可以與用戶會話220通信,用戶會話220也可以在伺服器106上執行。應用225可以在伺服器106上的用戶會話220中遠程地執行。
[0057]移動計算設備102可以包含一個或多個傳感器212。在一些實施例中,一個或多個傳感器212可以包括硬體設備和邏輯傳感器,邏輯傳感器通過以軟體或固件對傳感器功能的仿真也能夠提供信息。單個硬體設備,諸如移動計算設備102,可以包含多個傳感器212。傳感器212可以測量任何數量的物理現象,諸如溫度、二維中的加速度、三維中的加速度、光照、物理位置、或其他類似可測量的事件或實體。
[0058]在某些實施方式中,地理位置信息可以通過處理從移動計算設備接收的、或者與移動計算設備相關聯的信息來確定,這些信息諸如全球定位系統(GPS)信息、蜂窩塔三角測量信息、無線信號強度、以及無線信號的到達時間。例如,一個或多個傳感器212可以包括地理位置傳感器。地理位置傳感器可以例如包括地理定位系統(GPS)接收器、基於網際網路地址提供地理位置信息的IP分析器、基於附近塔確定地理位置信息的行動電話塔三角儀、或者靜態提供器,諸如從所連結的無線網絡集線器讀取地理位置信息的W1-Fi網絡位置提供器。在一些實施例中,可以使用用於GPS設備的NMEA0183協議將來自行動裝置102的地理位置信息發送到伺服器106。
[0059]移動計算設備102包括客戶端代理210。客戶端代理210可以包括任何類型或形式的硬體和/或硬體和軟體的組合。例如,客戶端代理210可以包括任何應用、程序、庫、腳本、過程、任務線程、或者在客戶端計算設備102上執行的任何類型和形式的可執行指令。客戶端代理210可以通過表示層協議或其他合適的網絡協議連接至系統200中的一個或多個伺服器106。在一些實施例中,在移動計算設備102上執行的客戶端代理210從一個或多個傳感器212、或者移動計算設備102的其他類似硬體或應用接收數據。在一些實施例中,該數據可以包括關於移動計算設備102的數據,諸如指示移動計算設備102地理位置的地理位置信息。地理位置信息可以例如包括GPS數據;地理坐標;位置精度數據;用戶簡檔信息(例如,移動計算設備的用戶的地理地址);或者由移動計算設備所採集的、所生成的任何其他合適的數據,或者關聯於移動計算設備的任何其他合適的數據。在一些實施例中,該數據可以包括關於移動計算設備102的數據或者由移動計算設備102接收的數據的任意組
口 ο
[0060]在一些實施例中,客戶端代理210發起與系統200的伺服器106的連接。伺服器106可以是本文所描述的任何類型的伺服器或計算設備。例如,伺服器106可以是被實施為邏輯伺服器的虛擬化伺服器,邏輯伺服器使用單個實例或多個實例在一個或多個計算設備上執行。在一些實施例中,伺服器106可以包括如本文所描述的一個或多個伺服器或設備。在伺服器106上執行的接收器215可以包括任何類型或形式的硬體和/或硬體和軟體的組合。接收器215可以包括任何應用、程序、庫、腳本、過程、任務線程、或者在計算設備上執行的任何類型和形式的可執行指令。移動計算設備102可以使用任何網絡協議或者如本文所描述的任何網絡協議,通過圖1A中所示出的網絡104連接至在伺服器106上執行的接收器215。在一些實施例中,接收器215通過為了傳輸和接收數據而建立的連接來與客戶端代理210通信。接收器215可以將請求發送給客戶端代理210,以從移動計算設備102請求數據(諸如地理位置信息),並且從客戶端代理210接收所請求的信息。在一些實施例中,接收器215可以使用面向地理位置的遠程協議虛擬信道來發送數據和接收來自移動計算設備102的數據。在一些實施例中,接收器215可以使用網絡協議的不同虛擬信道來發送數據和接收來自移動計算設備102的數據。在一些實施例中,虛擬信道可以由接收器215終止於主機側。接收器使得經由虛擬信道所接收的地理位置信息對圖2B中所示出的傳感器API258可用。
[0061]從移動客戶端設備102到伺服器106的虛擬信道可以包括關於移動計算設備102的信息以及地理位置信息,該地理位置信息包括位置精度信息。客戶端代理210可以包括虛擬驅動器,該虛擬驅動器作為用於面向地理位置的虛擬信道的終點。虛擬驅動器可以周期地用來自客戶端代理210的地理位置信息更新伺服器。在一些實施例中,可以實施優化,其中行動裝置210不使用GPS功能或其他傳感器,直到需要為止或者在一些實例中直到被觸發以緩解由使用這樣的傳感器所引起的增大的功率消耗為止。
[0062]在伺服器106上遠程地執行的應用225可以接收由接收器215以許多方式從客戶端接收的數據。在一個實施例中,應用225可以通過請求特定的屬性或者數據欄位來同時地接收數據。在其他實施例中,應用225可以通過訂閱由接收器215提出的事件來異步地接收數據。
[0063]接收器215與在伺服器106上執行的用戶會話220通信,並且發送從移動計算設備102接收的數據,使得所接收的數據可用於由應用225使用。應用225可以包括任何類型或形式的硬體和/或硬體和軟體的組合。應用225可以例如包括任何應用、程序、庫、腳本、過程、任務線程、或者在計算設備上執行的任何類型和形式的可執行指令。移動計算設備102的用戶可以發起應用225。在其他實施例中,當移動計算設備通過所建立的連接而連接至伺服器106時,應用225可以執行。應用225使用從接收器215接收的數據以生成輸出,該輸出將被發送到移動計算設備以在移動計算設備102上向用戶顯示。
[0064]在一些實施例中,伺服器106可以包括策略庫(policy bank)216。策略庫216例如可以是存儲了一個或多個策略的存儲設備或資料庫,這些策略用來確定和授權由移動計算設備102對伺服器106的訪問、由應用225對從客戶端代理210所接收的數據的使用、或者執行任何其他適當的任務。在一些實施例中,策略可以用來配置客戶端代理210或接收器 215。
[0065]在一些實施例中,在設備上執行的策略引擎,諸如策略引擎217,可以解釋、評估、和/或執行關於該設備功能的策略。例如,策略引擎217可以在伺服器106上執行,並且解釋和執行導引伺服器106的其他動作和模塊的多個策略,包括但不限於:應用225對數據的訪問或者特定用戶、移動計算設備102、或者特定類型的移動計算設備對伺服器106的訪問。策略可以以任何方式存儲在設備上,諸如存儲於伺服器106的策略庫216中。
[0066]策略引擎217可以包括任何類型或形式的硬體和/或硬體和軟體的組合。策略引擎217可以包括任何應用、程序、庫、腳本、過程、任務線程、或者在計算設備上執行的任何類型和形式的可執行指令。策略引擎217可以例如包括智能統計引擎或其他可編程的應用。在一個實施例中,策略引擎217可以提供一種配置機制,以允許用戶識別、指定、定義或配置策略。在一些實施例中,策略引擎217還可以訪問存儲器,以支持諸如查找表或哈希表的數據結構,以便啟用用戶選擇的策略決定。在其他實施例中,策略引擎217可以包括任何邏輯、規則、功能或操作,以便在確定和提供對數據的訪問、控制和管理以及對伺服器106的訪問或者伺服器106所執行的任何其他功能或操作、或者在伺服器106上執行的應用之夕卜,還確定和提供對伺服器106正在使用的對象、數據或內容的訪問、控制和管理。
[0067]在一些實施例中,策略引擎217可以提供一種配置機制,以允許用戶識別、指定、定義或配置用於導引伺服器的任何其他組件或功能的行為的策略。在其他實施例中,策略引擎217可以響應於任何所配置的策略而檢查、評估、實施、或者以其他方式發揮作用,並且還可以響應於策略而導弓I 一個或多個伺服器功能的操作。
[0068]在一些實施例中,策略可以在設備上被執行之前被編譯。在其他實施例中,策略可以在運行時間被解釋。在一些實施例中,策略可以存儲在資料庫、表、或伺服器106上的其他數據結構中,諸如策略庫216中。在一些實施例中,策略可以存儲在不同的計算設備106上並且通過網絡來訪問。
[0069]策略可以包括表達式、規則或動作。在一些實施例中,策略在製造時被預先確定。在一些實施例中,策略能夠由管理員或用戶創建、修改、或刪除。在一些實施例中,響應於其他已有的策略或者響應於用戶的某些動作,創建、修改、或刪除策略。
[0070]在一些實施例中,響應於策略,客戶端代理210可以提示用戶準許啟用位置傳感器。因為位置傳感器能夠揭露敏感信息,所以位置傳感器可能默認不被啟用。在一些實施例中,客戶端代理210可以請求用戶的準許,以啟用位置傳感器、禁用位置傳感器、或者針對更多的選項而打開圖2B中所示出的控制面板260 (例如,通過與接收器215直接通信的位置 API254)。
[0071]如果沒有安裝位置傳感器並且在圖2B中所示出的控制面板260中沒有提供默認的位置,則在一個實施例中,接收器215可以通過要求用戶輸入默認的地理位置來請求用於行動裝置102的地理位置信息。用戶還可以選擇不輸入默認的位置。
[0072]在一些實施例中,伺服器106上可用的地理位置信息可以被推送給移動計算設備102。在一些實施例中,地理位置信息可以不是連接至伺服器106的移動計算設備102的地理位置信息。
[0073]在一些實施例中,移動計算設備102建立與在伺服器106上執行的接收器215的連接。伺服器106識別行動裝置102。在一些實施例中,伺服器106通過使用預先確定的策略來識別行動裝置102。在一些實施例中,該策略由管理員設置。在一些實施例中,伺服器106通過辨識屬於所識別的組的行動裝置來識別行動裝置102。可以響應於一個策略,使用關於行動裝置102或用戶的識別信息來確定該組。該組也可以由管理員手動地識別或者由用戶加入。在一些實例中,一個組可能是有用的,因為系統可以能夠對整個組應用所識別的策略,而不是對多個個別的設備應用相同的策略。
[0074]一旦行動裝置102連接至伺服器106並且伺服器106辨識出或識別出行動裝置102,接收器215就將地理位置信息發送到在行動裝置102上執行的客戶端代理210。客戶端代理210然後將所接收的地理位置信息傳送到在行動裝置102本地執行的應用。在一個說明性示例中,快速路由(fleet routing)應用在伺服器106上執行。移動計算設備102的用戶連接至伺服器106,並且使用船隊路由應用的客戶端代理210與在伺服器106上執行的船隊理由應用225通信,以顯示下一次遞送的地理位置。接收器215從客戶端代理210接收請求,並且查詢應用225可用的數據,來確定下一個約定的地理位置。接收器215將所識別出的被請求的地理位置信息發送到客戶端代理210。在一個實施例中,客戶端代理210將所接收的數據存儲在移動計算設備102上,從而在移動計算設備102上執行的應用可以取回從伺服器106接收的數據。在一些實施例中,客戶端代理210將所接收的數據直接發送到請求該信息的應用。在一些實施例中,客戶端代理210將所接收的信息直接發送到在移動計算設備102上執行的導航應用。
[0075]在一些實施例中,應用225不能從移動計算設備102直接接收地理位置信息,儘管它有能力使用地理位置信息。在一些實施例中,託管應用225的伺服器106提供一種服務,該服務對來自應用225的對於地理位置數據的請求進行響應。該服務請求客戶端代理210提供它的地理位置信息。修改應用225的配置,使得當做出嘗試來檢索地理位置信息時,應用225使用在伺服器106本地執行的該服務,而不是不感知移動計算設備102的應用225的位置服務。在一些實施例中,應用225不能被配置為使用在伺服器106本地執行的該服務。那麼,應用225對於地理位置信息的請求被重定向至外部位置服務,該外部位置服務通向在伺服器106本地執行的服務。當該服務接收到對於地理位置信息的請求時,該服務將一個請求發送到客戶端代理210並且從客戶端代理210接收地理位置信息。因此,該服務能夠將該信息供應給應用225,儘管應用225不能從接收器215接收外部地理位置信息。
[0076]現在參考圖2B,框圖描繪了一個平臺的架構250的一個實施例,該平臺支持將行動裝置的地理位置提供給在伺服器106本地執行的應用225。位置應用編程接口(API)254將數據提供給位置感知應用,諸如應用225。位置數據通過接收器215被呈現給位置API254,接收器215與移動計算設備102和接收器類擴展264 —起工作。接收器類擴展264是使用用戶模式驅動程序框架(UMDF)262實施的數據對象。接收器215也使用UMDF262來實施。如由圖2B中的虛線所描繪的,可以使用窗口可攜式設備(WPD)266驅動程序模型,基於UMDF262來實施傳感器設備驅動程序。
[0077]傳感器API258提供了方法、性質、以及事件的集合,來與所連接的傳感器和傳感器數據一起工作。傳感器數據可以例如包括對應於或者得自以下各項之一的數據:地理位置傳感器、加速度計、溫度計、或者能夠測量或採集指示其環境的任何其他傳感器。位置API254提供一組編程對象。這些對象包括用於與位置信息一起工作的腳本對象。控制面板260使計算機管理員啟用用於個別用戶的傳感器,包括位置傳感器。可以通過使用窗口可攜式設備(WPD)驅動程序模型,諸如基於用戶模式驅動程序框架(UMDF)的驅動程序模型,來實施傳感器設備驅動程序。
[0078]在一些實施例中,使用UMDF來開發用戶模式傳感器驅動程序允許一種解決方案,該解決方案將最佳地解決顧客問題並且允許最高級別的應用和系統兼容性。在一個實施例中,位置API254被鉤到本文所描述的系統中。在一些實施例中,位置API記錄日誌包括所有的應用訪問或者使用由移動計算設備102或由其他適當的技術從傳感器接收的數據。
[0079]傳感器API258使得開發者能夠通過使用一組組件對象模型(COM)接口來創建基於傳感器的程序。傳感器API258對接口進行定義,以執行公共傳感器編程任務,這些任務包括:通過種類、類型、或ID來管理傳感器,管理傳感器事件,與個別傳感器和傳感器匯集一起工作,以及與傳感器數據一起工作。
[0080]在一些實施例中,構建於傳感器API258上的位置API254提供了取回關於地理位置的數據同時保護用戶隱私的方式。位置API254通過一組COM接口來提供它的功能。這些接口能夠在諸如Jscript的腳本語言中被使用,或者通過C++程式語言由COM編程者使用。
[0081]控制面板260準許計算機管理員啟用或禁用整個系統的傳感器或者用於每個用戶的傳感器。因為一些傳感器能夠揭露敏感數據,所以這個用戶接口給予管理員對於程序是否訪問針對每個用戶的每個傳感器的控制。用戶還能夠查看傳感器屬性並且改變出現在用戶界面中的傳感器描述。
[0082]如圖2C中所示出的,框圖描繪了一個平臺的架構251的一個實施例,該平臺支持將行動裝置的地理位置提供給在伺服器106上遠程地執行的應用225。特別地,位置API254可以直接與接收器215通信,因此繞過了圖2B中所示出的傳感器API258、UMDF262、接收器類擴展264、用戶控制面板260、以及WPD對象266。
[0083]現在參考圖2D,框圖描繪了一個平臺的架構252的一個實施例,該平臺支持將行動裝置的地理位置提供給在伺服器106上遠程地執行的應用225。接收器215與傳感器硬體277 —起工作,以提供基於位置的數據。在一些實施例中,傳感器硬體277是移動計算設備102的一部分。在其他實施例中,傳感器硬體可以是通過諸如串行埠或藍牙的手段與移動計算設備102關聯的設備。接收器類擴展264提供了 一組簡單的接口,這些接口允許應用225的組件和位置平臺(諸如傳感器API258、位置API254、以及控制面板260)發現和列舉所連接的傳感器。接收器類擴展264還有助於確保用戶隱私得到很好地保護,因為接收器類擴展264對於處理個人信息的傳感器施行了適當的訪問控制限制。在一些實施例中,接收類擴展264還提供了從驅動程序取回數據並且通過API層發出事件通知的標準方式。
[0084]章節C:用於將行動裝置的地理位置提供給在伺服器上遠程地執行的應用的方法
[0085]現在參考圖3,示出了說明性的過程流程300,說明性的過程流程300用於顯示在使用移動計算設備的地理位置信息的伺服器上執行的應用的輸出。
[0086]在步驟305,在伺服器(例如,伺服器106)上執行的接收器(例如,接收器215)將對於移動計算設備(例如,移動計算設備102)的地理位置信息的請求發送到在移動計算設備上執行的客戶端代理(例如,客戶端代理210)。在一些實施例中,響應於策略(例如,存儲在策略庫216中的策略),用戶會話(例如,用戶會話220)授權應用(例如,應用225)使用該移動計算設備的地理位置信息。在一些實施例中,在伺服器上執行的接收器可以使用所建立的遠程網絡協議來與在移動計算設備上執行的客戶端代理通信。在其他實施例中,在伺服器上執行的接收器可以使用其他形式的通信,諸如短消息服務(SMS)消息傳送協議或另一種合適的協議,來與在該移動計算設備上執行的客戶端代理通信。在該移動計算設備上執行的客戶端代理可以確認該請求,並且發起表示層協議連接。在一些實施例中,在該伺服器上執行的接收器可以將對於該移動計算設備的傳感器數據的請求發送到在該移動計算設備上執行的客戶端代理。
[0087]在步驟310,在伺服器上執行的用戶會話接收行動裝置的地理位置信息,諸如地理定位系統數據、位置精度數據和任何其他合適的數據或者它們的組合。在一些實施例中,傳感器或者移動計算設備的其他類似硬體(例如,傳感器硬體277 )可以採集該地理位置信息。例如,移動計算設備可以使用GPS來採集或收集該地理位置信息。在一些實施例中,可以通過其他機制(諸如IP位址信息、無線接入點信息或者用於在位置推測或提取中使用的其他適當的識別信息)來獲取地理位置信息。例如,IP位址信息或無線接入點信息可以被發送到一個服務,例如web服務或移動計算設備的位置應用,以確定地理位置數據。一旦移動計算設備從該服務接收到地理位置信息,移動計算設備則可以將地理位置發送到在伺服器上執行的接收器。
[0088]在一些實施例中,接收器可以響應於移動計算設備地理位置上的改變來接收移動計算設備的地理位置信息。當移動計算設備的地理位置從移動計算設備先前的地理位置的改變超過預先確定的距離閾值時,移動計算設備的地理位置信息可以由在移動計算設備上執行的客戶端代理髮送到在伺服器上執行的接收器。在伺服器上執行的接收器可以響應於指定預定時間長度的策略、以任何合適的頻率來接收行動裝置的地理位置信息。在一些實施例中,在從執行於移動計算設備上的客戶端代理接收到更新後,在伺服器上執行的接收器就可以分發移動計算設備的地理位置信息。
[0089]在步驟315,在伺服器的用戶會話中執行的應用使用移動計算設備的地理位置信息。在一些實施例中,可以從多個源接收地理位置信息,諸如從伺服器本地的傳感器,以及從在移動計算設備上執行的傳感器。在一些實施例中,由伺服器的本地傳感器提供的地理位置信息可以被移動計算設備所提供的地理位置信息替代。在一些實施例中,用戶會話可以將優先級值分配給提供了地理位置信息的傳感器的類型或位置,並且當從多個源接收地理位置信息時,應用將使用從具有最高優先級的傳感器接收的地理位置信息。在一些實施例中,響應於策略來分配優先級。例如,該策略可以基於傳感器的相對位置,將優先級分配給遠程地執行在伺服器上的應用、用戶、數據傳感器的類型、傳感器的使用年限、傳感器的型號、傳感器的製造商、或者任何其他合適的信息。在一些實施例中,優先級值可以是在製造時預先確定的。在一些實施例中,可以由用戶或系統管理員來分配優先級值。在一些實施例中,可以使用任何適當的組合因素來確定優先級值。
[0090]在一些實施例中,在用戶會話中執行的第二應用可以使用移動計算設備的地理位置信息。在一些實施例中,第二應用可以從在伺服器上遠程地執行的應用接收地理位置信息或傳感器數據。在其他實施例中,第二應用可以從用戶會話接收地理位置信息或傳感器數據。在一些實施例中,第二應用可以從接收器接收地理位置信息或傳感器數據。
[0091]在步驟320,伺服器確定該應用是否需要通信或者發起在第二用戶會話中執行的第二應用。在一些實施例中,該應用可能需要發起第二用戶會話中的第二應用,以便於完成動作或任務。在一些實施例中,在伺服器上遠程地執行的該應用連接至第二應用以接收由第二應用生成的數據,該第二應用已經在第二用戶會話中執行。如果該應用不需要通信或者不需要發起在第二用戶會話中執行的第二應用,則過程300可以進行至步驟325。如果該應用需要通信或者發起在第二用戶會話中執行的第二應用,則過程300可以進行至步驟335。
[0092]在步驟325,在伺服器上遠程地執行的應用使用移動計算設備的地理位置信息來生成輸出。在一些實施例中,接收器將應用對地理位置信息的使用記入事件日誌。在步驟330,接收器將應用所生成的輸出發送到客戶端代理,並且過程300可以結束。
[0093]在步驟335,在伺服器上遠程地執行的該應用連接至在第二用戶會話中執行的第二應用。在步驟340,該應用將移動計算設備的地理位置信息發送到第二應用。第二應用使用移動計算設備的地理位置信息來生成輸出數據。第二應用將第二應用所生成的輸出數據發送到該應用(即,根據步驟305-315的應用)。在步驟345,該應用接收第二應用所生成的輸出數據。在步驟350,該應用使用地理位置信息和從第二應用接收的輸出數據來生成輸出數據。在步驟330,接收器將在伺服器上遠程地執行的應用所生成的輸出數據發送到在移動計算設備上執行的客戶端代理,以用於顯示在移動計算設備上。在一些實施例中,接收器將該應用對地理位置信息的使用記入事件日誌。在步驟350之後,過程300可以進行至步驟330。
[0094]儘管已經在附圖中描述並示出了某些實施例,但是將理解這樣的實施例對本文所描述的方法和系統僅是說明性的,並且不是限制性的。另外,有可能以硬體、可編程設備、固件、軟體或它們的組合來實施本文所描述的方法和系統,或者一些它的特徵。本文所描述的方法和系統,或者本文所描述的方法和系統的部分,還可以以可執行指令來具體化,這些可執行指令存儲在計算機可讀存儲介質或機器可讀介質中,諸如磁性(例如,硬碟驅動器、軟盤驅動器)、光學(例如,壓縮光碟、數字多功能光碟等)、或半導體存儲介質(例如,易失性的、非易失性的)。
【權利要求】
1.一種方法,包括: 在執行於虛擬化伺服器上的用戶會話處,從在移動計算設備上執行的客戶端代理接收地理位置信息,所述地理位置信息指示所述移動計算設備的地理位置; 在執行於所述用戶會話中的應用中,基於所述地理位置信息生成輸出數據,以用於在所述移動計算設備上顯示;以及 從在所述虛擬化伺服器上執行的接收器,將所生成的輸出數據發送到在所述移動計算設備上執行的所述客戶端代理。
2.根據權利要求1所述的方法,進一步包括: 從在所述虛擬化伺服器上執行的所述用戶會話,將對於所述地理位置信息的請求發送到在所述移動計算設備上執行的所述客戶端代理, 其中接收所述地理位置信息包括響應於發送對於所述地理位置信息的所述請求來接收所述地理位置信息。
3.根據權利要求1所述的方法,其中接收所述地理位置信息包括:經由遠程協議的面向地理位置的虛擬信道來接收所述地理位置信息。
4.根據權利要求1所述的方法,其中接收所述地理位置信息包括:響應於所述移動計算設備的所述地理位置的改變來接收所述地理位置信息。
5.根據權利要求4所述的方法,其中接收所述地理位置信息包括:響應於確定所述移動計算設備的所述地理位置的所述改變大於預定距離閾值來接收所述地理位置信息。
6.根據權利要求1所述的方法,其中接收所述地理位置信息包括:基於指定預定時間長度的策略來周期性地接收所`述地理位置信息。
7.根據權利要求1所述的方法,其中所述地理位置信息包括以下各項中的一項或多項:關於所述移動計算設備的數據、地理定位系統數據、地理坐標、位置精度數據、用戶簡檔信息、以及傳感器數據。
8.根據權利要求1所述的方法,進一步包括: 基於策略來授權所述應用使用所述地理位置信息。
9.根據權利要求1所述的方法,其中所述應用是第一應用,其中所述用戶會話是第一用戶會話,並且其中所述輸出數據是第一輸出數據,所述方法進一步包括: 將所述地理位置信息發送到在第二用戶會話中執行的第二應用;以及 接收由所述第二應用生成的第二輸出數據, 其中生成所述第一輸出數據包括基於所述地理位置信息和所述第二輸出數據來生成所述第一輸出數據。
10.一種計算設備,包括: 處理器;以及 存儲指令的存儲器,當所述指令被所述處理器執行時,所述指令促使所述計算設備: 通過在所述計算設備上執行的虛擬化伺服器,從在移動計算設備上執行的客戶端代理接收地理位置信息,所述地理位置信息指示所述移動計算設備的地理位置; 通過在所述虛擬化伺服器的用戶會話中執行的應用,基於所述地理位置信息來生成輸出數據,以用於在所述移動計算設備上顯示;以及 將所生成的輸出數據發送到在所述移動計算設備上執行的所述客戶端代理。
11.根據權利要求10所述的計算設備,其中所述存儲器進一步存儲如下指令,當所述指令被所述處理器執行時,所述指令促使所述計算設備: 將對於所述地理位置信息的請求發送到在所述移動計算設備上執行的所述客戶端代理;以及 響應於發送對於所述地理位置信息的所述請求,從在所述移動計算設備上執行的所述客戶端代理接收所述地理位置信息。
12.根據權利要求10所述的計算設備,其中所述存儲器進一步存儲如下指令,當所述指令被所述處理器執行時,所述指令促使所述計算設備: 經由遠程協議的面向地理位置的虛擬信道來接收所述地理位置信息。
13.根據權利要求10所述的計算設備,其中所述存儲器進一步存儲如下指令,當所述指令被所述處理器執行時,所述指令促使所述計算設備: 響應於所述移動計算設備的所述地理位置的改變來接收所述地理位置信息。
14.根據權利要求13所述的計算設備,其中所述存儲器進一步存儲如下指令,當所述指令被所述處理器執行時,所述指令促使所述計算設備: 響應於確定所述移動計算設備的所述地理位置的所述改變大於預定距離閾值,來接收所述地理位置信息。
15.根據權利要求10所述的計算設備,其中所述存儲器進一步存儲如下指令,當所述指令被所述處理器執行時,所述指令促使所述計算設備: 基於指定預定時間長度的策略來周期性地接收所述地理位置信息。
16.根據權利要求10所述的計算設備,其中所述地理位置信息包括以下各項中的一項或多項:關於所述移動計算設備的數據、地理定位系統數據、地理坐標、位置精度數據、用戶簡檔信息、以及傳感器數據。
17.根據權利要求10所述的計算設備,其中所述存儲器進一步存儲如下指令,當所述指令被所述處理器執行時,所述指令促使所述計算設備: 基於策略來授權所述應用使用所述地理位置信息。
18.根據權利要求10所述的計算設備,其中所述應用是第一應用,其中所述用戶會話是第一用戶會話,其中所述輸出數據是第一輸出數據,並且其中所述存儲器進一步存儲如下指令,當所述指令被所述處理器執行時,所述指令促使所述計算設備: 將所述地理位置信息發送到在第二用戶會話中執行的第二應用; 接收由所述第二應用生成的第二輸出數據;以及 基於所述地理位置信息和所述第二輸出數據來生成所述第一輸出數據。
19.一種非瞬態計算機可讀存儲介質,所述非瞬態計算機可讀存儲介質存儲計算機可讀指令,所述計算機可讀指令當由計算機讀取時指示所述計算機執行如下步驟: 在執行於虛擬化伺服器中的應用處,接收地理位置信息,所述地理位置信息指示遠程移動計算設備的地理位置; 在執行於所述虛擬化伺服器中的所述應用中,基於所述地理位置信息生成輸出數據,以用於在所述遠程移動計算設備上顯示;以及 將所生成的輸出數據發送到所述遠程移動計算設備。
20.根據權利要求19所述的非瞬態計算機可讀存儲介質,其中所述計算機可讀存儲介質進一步存儲如下計算機可讀指令,所述計算機可讀指令當由所述計算機讀取時指示所述計算機執行如下步驟: 將對於所述地理位置信息的請求發送到所述遠程移動計算設備, 其中接收所述地理位置信息包括響應於發送對於所述地理位置信息的所述請求來接收所述地理位置信息。`
【文檔編號】H04W24/00GK103548374SQ201280024745
【公開日】2014年1月29日 申請日期:2012年4月11日 優先權日:2011年4月12日
【發明者】L·拉博奇法爾維, A·羅伊喬迪裡, A·瑪拉諾, M·特寧, A·博齊克基 申請人:西裡克斯系統公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀