新四季網

針對無線區域網的數據的卸載的製作方法

2023-10-17 15:04:29 1

針對無線區域網的數據的卸載的製作方法
【專利摘要】描述了用於當第一無線接口活動時,截獲來自安裝在行動裝置上的應用的套接字調用的方法、系統和設備。第一無線接口是蜂窩接口。在確定將所截獲的套接字調用釋放到套接字層之後,激活第二無線接口。第二無線接口是無線區域網(WLAN)接口。將套接字調用釋放到套接字層,並使用所激活的第二無線接口進行發送。在實質地完成套接字調用之後,去激活第二無線接口。套接字調用的截獲和第二無線接口的激活發生在行動裝置處於空閒模式時。
【專利說明】針對無線區域網的數據的卸載
[0001]交叉引用
[0002]本專利申請要求享受由Arnaud Meylan於2011年4月22日提交的、代理人案卷號為 N0.111565P1、題目為「POWER EFFICIENT OFFLOADING OF DATA IN STANDBY TO WIRELESSLOCAL AREA NETWORK (WLAN) 」的美國專利申請N0.61/478,123的優先權,該申請已轉讓給本申請的受讓人,故將其以引用方式明確地併入本文。
【背景技術】
[0003]如今,應用或設備小程序可用於操作以向無線設備提供廣泛的附加服務和特徵。例如,現在無線設備可以下載並啟動設備小程序,以執行諸如購物、搜索、定位、駕駛導航之類的增值功能或者一些其它功能。因此,設備小程序的使用可以增加無線設備的功能性和可用性,向設備用戶提供最初在設備其本身上不可獲得的特徵和便利。
[0004]無線設備可以與一個或多個通信網絡連接。例如,無線設備可以包括使用蜂窩、WiF1、藍牙或其它類型的無線接入技術提供通信的各種無線電裝置。因此,在無線設備上執行的應用可以與無線電裝置連接以建立通信信道,該信道可以由應用用於與適當的網絡進行通信。
[0005]即使當無線設備處於空閒模式時,應用也可以繼續與該設備上的無線電裝置進行連接以建立通信信道。當設備處於空閒狀態時,蜂窩接口可以提供低功耗速率,而WiFi接口可以允許設備以與蜂窩接口相比更低的功耗速率來傳送數據。隨著安裝在設備上的應用的數量增加,蜂窩數據網絡可能因與通信信道的建立相關聯的網絡信令而變得過載。

【發明內容】

[0006]描述了用於截獲來自安裝在行動裝置上的應用的套接字調用的方法、系統和設備。在某些實施例中,第一無線接口(例如,蜂窩接口)是活動的。在確定將所截獲的套接字調用釋放到套接字層之後,激活第二無線接口(例如,無線區域網(WLAN)接口)。將套接字調用釋放到套接字層,並使用所激活的第二無線接口進行發送。在實質地完成套接字調用之後,去激活第二無線接口。套接字調用的截獲和第二無線接口的激活發生在行動裝置處於空閒模式時。
[0007]在一個實施例中,激活第二無線接口可以包括:針對可用的第二無線網絡進行掃描。第二網絡可以與第一無線網絡不同。第一無線網絡可以與第一無線接口相關聯。在檢測到可用的第二無線網絡之後,可以激活第二無線接口。
[0008]在一個示例中,可以在檢測到觸發事件之後,去激活第二無線接口。檢測所述觸發事件可以包括:確定至少一個套接字調用已被實質地執行。在一種配置中,檢測所述觸發事件可以包括:確定定時器已實質到期。
[0009]在一個實施例中,可以在第二無線接口處於激活的狀態時的時段期間,維持第一無線接口處於激活的狀態。還可以在第二無線接口處於去激活的狀態時的時段期間,維持第一無線接口處於激活的狀態。[0010]在一種配置中,可以在實質地確定第二無線接口被激活之後,去激活第一無線接口。可以在實質地確定第二無線接口被去激活之後,重新激活第一無線接口。
[0011]在一個示例中,可以禁用關於第二無線接口變為活動的通知。例如,可以識別具有通過第一無線接口的持久傳輸控制協議(TCP)連接的一個或多個應用。可以阻止一個或多個應用接收關於第二無線接口變為活動的通知。阻止所述一個或多個應用接收所述通知包括:截獲關於第二無線接口變為活動的通知,並丟棄該通知。阻止所述一個或多個應用接收所述通知還可以包括:丟棄源自於所述一個或多個應用的指向所述第二無線接口的業務。
[0012]在一個實施例中,確定將所述至少一個截獲的套接字調用釋放到所述套接字層包括:檢測釋放觸發事件的發生。所述釋放觸發事件可以包括下列各項中的至少一個:定時器的到期、顯不的狀態改變、麥克風的狀態改變、揚聲器的狀態改變、行動裝置的全球定位系統(GPS)傳感器的狀態改變、通用串行總線埠在使用中的指示、音頻設備連接到行動裝置的指示、視頻設備連接到行動裝置的指示、最大數量的套接字調用的接收、或者完成無線區域網(WLAN)的指示。
[0013]在一個示例中,確定將所述至少一個截獲的套接字調用釋放到所述套接字層可以包括:將發起所述至少一個套接字調用的應用識別為關鍵應用。此外,確定將所述至少一個截獲的套接字調用釋放到所述套接字層還可以包括:確定所述至少一個截獲的套接字調用具有低於容忍閾值的延遲容忍。
[0014]在一種配置中,可以執行封裝器的指令。所執行的封裝器可以執行對所述至少一個套接字調用的截獲。所述封裝器可以位於行動裝置中的應用層和作業系統的套接字層之間。在一個實施例中,可以將由封裝器執行的操作嵌入在套接字層中。
[0015]還描述了一種配置用於無線通信的行動裝置。該設備可以包括處理器以及與所述處理器進行電通信的存儲器。所述存儲器包括作業系統。所述處理器可以包括應用連接引擎。所述引擎可以配置為執行指令以進行以下操作:當第一無線接口活動時,截獲至少一個套接字調用以阻止到達行動裝置的套接字層。此外,所述引擎還可以配置為執行指令以進行以下操作:在實質地確定將所述至少一個截獲的套接字調用釋放到所述套接字層之後,激活第二無線接口。另外,所述引擎還可以配置為執行指令以進行以下操作:將所述至少一個截獲的套接字調用釋放到所述套接字層,並使用所激活的第二無線接口來發送所釋放的套接字調用。
[0016]還描述了一種配置為對來自行動裝置上的應用的套接字調用進行管理的裝置。該裝置包括:用於當第一無線接口活動時,截獲至少一個套接字調用以阻止到達行動裝置的套接字層的模塊。該裝置還可以包括:用於在實質地確定將所述至少一個截獲的套接字調用釋放到所述套接字層之後,激活第二無線接口的模塊。該裝置還可以包括:用於將所述至少一個截獲的套接字調用釋放到所述套接字層的模塊;以及用於使用所激活的第二無線接口來發送所釋放的套接字調用的模塊。
[0017]還描述了一種配置為對來自行動裝置上的應用的套接字調用進行管理的電腦程式產品。所述產品可以包括非暫時性計算機可讀介質。所述介質可以包括:用於當第一無線接口活動時,截獲至少一個套接字調用以阻止到達行動裝置的套接字層的代碼。所述介質還可以包括:用於在實質地確定將所述至少一個截獲的套接字調用釋放到所述套接字層之後,激活第二無線接口的代碼。另外,所述介質還可以包括:用於將所述至少一個截獲的套接字調用釋放到所述套接字層的代碼;以及,用於使用所激活的第二無線接口來發送所釋放的套接字調用的代碼。
[0018]前面已對根據公開內容的示例的特徵和技術方面進行了相當廣泛的概述。在下文中將描述附加特徵。可以容易地將所公開的概念和特定示例作為用於修改或設計其它用於實現與本公開內容相同目的的結構的基礎。這種等價結構並不脫離所附權利要求的精神和範圍。當結合附圖來考慮時,從下面的描述中將能更好地理解被認為是本文所公開概念的特性的特徵(就其組織和操作的方法兩方面而論)。提供每個附圖僅為了說明和描述的目的,而非作為對權利要求的限制的定義。
【專利附圖】

【附圖說明】
[0019]通過參照下面的附圖,可以實現對於本發明的本質的進一步理解。在附圖中,類似的組件或特徵具有相同的附圖標記。此外,相同類型的各個組件可以通過在附圖標記之後加上短線以及用於區分相似組件的第二標記來進行區分。如果在說明書中僅使用了第一附圖標記,則該描述可適用於具有相同的第一附圖標記的類似組件中的任何一個,而不管第二附圖標記。
[0020]圖1示出了網絡環境的框圖;
[0021]圖2示出了描繪行動裝置的架構的框圖;
[0022]圖3示出了行動裝置的架構的另一個示例;
[0023]圖4示出了在確定釋放截獲的請求之後,實現無線接口的激活的行動裝置的框圖;
[0024]圖5示出了用於在第一無線接口活動時截獲對網絡接入的請求,以及在確定釋放對作業系統的請求之後,激活第二無線接口的行動裝置的體系結構的示例框圖:
[0025]圖6示出了套接字調用的同步釋放和無線區域網(WLAN)接口的啟用的時序圖;
[0026]圖7是示出用於接收和保持對網絡接入的請求,並在該請求要被釋放時激活無線接口的方法的一個示例的流程圖;
[0027]圖8是示出用於截獲對網絡接入的請求,並在設備處於空閒模式時建立第二無線接口的方法的一個示例的流程圖;
[0028]圖9是示出用於確定使用哪個無線網絡來進行通信的方法的一種配置的流程圖;
[0029]圖10是示出用於維持持久的傳輸控制協議(TCP)連接的方法的一種配置的流程圖。
【具體實施方式】
[0030]描述了用於當第一無線接口活動時,截獲從安裝在行動裝置上的應用發出的請求的方法、系統和設備。在行動裝置上執行的作業系統(OS)可以向應用提供第一接口作為活動的。活動接口可以向應用指示可用於在第一網絡上建立無線連接。
[0031]截獲的請求可以是用於為行動裝置建立通信信道的系統調用或者套接字調用。在本文中,術語「請求」、「系統調用」和「套接字調用」可以交換使用。可以捕獲和保持這些請求以阻止其到達在行動裝置上執行的OS。例如,請求可以被保持以阻止其到達OS的傳輸控制協議/網際網路協議(TCP/IP)棧。[0032]在諸如智慧型電話、個人數字助理等行動裝置中,即使用戶沒有積極地使用設備(例如,設備處於空閒模式),軟體應用也可以繼續操作。當設備的某些輸入是不可操作的或處於睡眠狀態時,行動裝置可以處於空閒模式。當用戶沒有使用設備時,設備可以被認作是處於背景模式(即,空閒模式)。例如,當音頻輸入(例如,麥克風)關閉時,設備可以處於空閒模式。此外,當視覺輸入(例如,設備的顯示器)關閉時,可以確定設備處於空閒模式。如下面將描述的,可以使用其它的輸入來確定行動裝置是否處於空閒模式。
[0033]即使用戶沒有正在使用設備,諸如社交網絡應用、電子郵件或者其它通信應用、數據饋送等應用(流行的示例包括Facebook?、Gmail?、Twitter?等)可以繼續發送和接收數據。即使在操作的非活動模式(例如,空閒模式)下,在即使設備表面上未在使用中時,活動時的功耗和尖峰信號仍可能發生自繼續操作的應用。這些應用的活動可以使用諸如由外部網絡提供的通信資源。這可能導致跨越外部網絡的信令的不期望的增加,這會對網絡的能力造成負面影響。
[0034]安裝在行動裝置上的當前作業系統可以向應用提供「始終開啟」的蜂窩無線接口。「始終開啟」接口可以向應用表示它們可以在任何時刻請求在蜂窩數據網絡上建立無線連接(例如,通信信道),即使當該設備處於空閒模式時。「始終開啟」接口可能使行動裝置因在該設備上運行的應用集所異步觸發的頻繁的無線連接使蜂窩數據網絡過載。
[0035]當設備處於空閒模式時,用戶可以容忍各種應用數據的更新時的延遲。因此,來自各種應用的套接字調用可以被截獲並被保持以阻止到達OS或者OS中的套接字層。隨後,可以將套接字調用以同步方式釋放到OS (或者OS中的套接字層)。由於若干應用可以同步地更新它們的信息,因此套接字調用的同步釋放可以允許無線連接的改善的利用。
[0036]由本系統和方法解決的補充性方式可以包括:使用無線區域網(WLAN)替代蜂窩無線電裝置來向行動裝置發送數據/接收來自行動裝置的數據,以傳送針對應用的數據更新。在一些示例中,應用經由OS提供的蜂窩接口跨越蜂窩網絡發送/接收數據。根據本系統和方法,當設備處於空閒模式時,應用可以轉而在WLAN接口上跨越WLAN發送/接收數據。WLAN接口可以由行動裝置上的OS激活並提供給應用。
[0037]在一些實施例中,當設備處於空閒模式而安裝在行動裝置上的多個應用請求接入蜂窩網絡時,可能出現不必要的大量網絡信令。例如,OS可以提供蜂窩接口作為「始終開啟」接口。第一應用可以看到激活的蜂窩接口,並發起可以要求在蜂窩網絡上建立通信信道的套接字調用。在已發送/接收數據之後,可以中斷該信道。第二應用也可以看到「始終開啟」蜂窩接口,並且也發起建立用於跨越蜂窩網絡發送/接收數據的通信信道的套接字調用。每次建立通信信道時,網絡信令的量會增加,使得網絡的可用帶寬會減少。因此,本系統和方法可以截獲當設備處於空閒模式時,用於接入到蜂窩網絡的請求。當確定要向OS釋放所截獲的請求時,可以激活WLAN接口。可以在WLAN接口(而不是蜂窩接口)上發送請求。當已基本執行這些請求時,可以去激活WLAN接口以節省設備的電池功率。
[0038]下面的描述提供了多個示例,其並非限制權利要求中給出的範圍、適用性或配置。在不脫離本公開內容的精神和範圍基礎上,可以對所討論的要素的功能和排列進行修改。各個實施例可以適當地省略、替代或者增加各種過程或組件。例如,所描述的方法可以以與所描述的順序不同的順序來執行,並且可以對各個步驟進行增加、省略或者組合。此外,圍繞某些實施例所描述的特徵可以組合到其它實施例中。[0039]現參見圖1,框圖示出了無線網絡環境100的示例。網絡環境100可以包括行動裝置105和通信網絡115。設備105可以使用多個無線信道110-a與網絡115進行通信。例如,可以在設備105和網絡115之間建立控制信道110-a-l。此外,還可以建立其它類型的信道110-a-2到110-a-n。這些其它類型的信道可以包括數據信道、語音信道等。
[0040]在操作期間,設備105可以執行應用,該應用可以使用多個無線電裝置中的任意一個與網絡115進行連接。例如,應用可以發出請求以與網絡115中的主機建立通信。在一個示例中,請求可以是諸如套接字層調用之類的網絡系統調用。請求可以被發往設備105上的OS的套接字層。傳統設備通常允許這些類型的請求直接進入到OS以進行處理。在接收請求之後,傳統設備開始進行網絡信令處理,以通過數據連接建立過程來建立控制信道110-a-l。當在行動裝置105上執行數據連接建立過程時,跨越網絡的信令的水平會增加,並消耗了電池功率。這會減少網絡115和行動裝置105的效率。
[0041]在一種配置中,設備105可以包括用於當第一無線接口活動時,截獲並捕獲請求以阻止其到達OS的架構。這種架構可以截獲來自應用的針對網絡接入的請求,諸如針對蜂窩網絡接入的請求。在截獲請求之後,該架構可以保持該請求以阻止到達OS的TCP/IP棧或者延遲該請求到達OS的TCP/IP棧。TCP/IP棧可以包括可以建立在OS之中的通信協議,用於向OS提供在網絡上發送數據的標準。在實質上確定向OS釋放請求之後,該架構可以激活第二無線接口。可以將所截獲的請求與從其它應用接收的針對網絡接入的其它截獲的請求進行聚合。可以將所聚合的請求捆綁在一起,並以同步方式釋放到OS中的套接字層。在一個實施例中,可以將聚合的請求以同步方式釋放到OS。隨後,可以使用第二無線接口來發送這些請求。在一個示例中,可以在發生特定的事件(例如,行動裝置變成活動的)之後,釋放請求。在一種配置中,當設備105處於空閒模式時,可以使用上面所述的與截獲、確定、激活和釋放有關的架構。
[0042]圖2示出了行動裝置105-a的一個示例200。行動裝置105_a可以是圖1的行動裝置105的示例。在一種配置中,設備105-a可以包括截獲模塊205、激活模塊210、釋放模塊215和0S220。截獲模塊205可以截獲來自應用的請求,以阻止其到達0S220。可以在第一無線接口被激活且設備105-a處於空閒模式時截獲請求。請求可以包括系統接入調用(諸如套接字調用)。可以截獲的套接字調用的示例包括connectO、send O、sendto O、gethostbyname O等。connectO套接字調用可以發起由行動裝置105_a跨越網絡建立通信信道(例如,TCP連接)的嘗試。
[0043]在一個示例中,激活模塊210可以確定何時向0S220或者0S220中的套接字層釋放所截獲的請求。在實質地確定釋放請求之後,激活模塊210可以激活第二無線接口。例如,激活模塊210可以激活WLAN接口。當已激活WLAN接口後,釋放模塊215可以釋放請求。
[0044]對釋放請求的確定可以基於一個或多個因素。在一個實施例中,對釋放所截獲的請求的確定可以包括:檢測定時器的期滿,其中該定時器表示請求已被保持或者延遲以阻止到達0S220或者阻止到達0S220中的套接字層的時間長度。還可以在檢測到隊列中保持的截獲的請求的最大數量之後釋放請求。在一種配置中,在確定關鍵應用向0S220發出請求之後釋放請求。關鍵應用可以是具有較小延遲容忍或者沒有延遲容忍的應用。因此,源自於這些應用的請求可以具有較低的延遲容忍。關鍵應用的示例可以包括但不限於:兒童跟蹤應用、基於緊急情況的應用、基於預訂的應用等。在一種配置中,在從關鍵應用發送的請求被截獲模塊205截獲之後,該請求可以不被進行保持(或者延遲)以阻止到達0S220,而是直接進到作業系統的套接字層。此外,在被截獲之後,可以不使具有低於特定閾值的延遲容忍的請求延遲到達OS220。例如,非關鍵應用可以發出請求,其中該請求被截獲。即使應用是非關鍵的,特定的請求也可以不具有延遲容忍(例如,對該應用進行關鍵更新)。因此,可以在截獲該請求之後立即向OS220釋放該請求。
[0045]可以使用另外的因素來確定何時釋放所截獲的請求,並允許應用連接到網絡。例如,如果存在建立數據連接建立過程的觸發(諸如從關鍵應用接收到系統調用,該關鍵應用諸如是不能夠進行延遲的緊急應用),則可以將截獲的請求釋放給0S220,使得可以結合該緊急應用來建立通信信道。在另一個示例中,可以將所截獲的請求釋放到0S220中的套接字層。如果無線信道的質量滿足閾值(例如,高信號強度、SNR或者其它期望的性能度量),則也可以釋放請求。可以按照行動裝置105-a所預先確定的或者按照行動裝置105-a所選擇性確定的,周期性地地釋放請求。確定釋放請求的另一個啟發,可以是(在用戶打開屏幕之前)當他/她接近該設備時,以便匿名地操作。在該示例中,加速計可以檢測到用戶抓取設備105-a,或者用戶接近傳感器可以指示該用戶正在接近。在另一個方面,當靠電池運行時,可以在屏幕被解鎖時(例如,在正確地輸入PIN之後)確定釋放請求。在這個方面,當按下隨機的按鈕時(例如,設備105-a處於提包或者口袋中),可以不釋放請求。
[0046]在一個示例中,設備105-a的顯示器的狀態改變可以是確定釋放保持的請求的因素。例如,顯示器可以從「關閉」狀態改變到「開啟」狀態。此外,麥克風的狀態改變(關閉到開啟)也可以是確定釋放截獲的請求的因素。此外,另外的因素可以包括:檢測全球定位系統(GPS)傳感器的狀態改變。例如,傳感器可以在檢測到行動裝置105-a的移動時,改變其狀態。用於確定何時釋放截獲的請求的其它因素可以包括:對通用串行總線埠在使用中的指示或者對音頻設備連接到設備105-a的指示。此外,對視頻設備連接到行動裝置105-a的指示也可以充當向行動裝置105-a的0S220釋放請求的確定因素。此外,對到某個網絡的連接可用的指示可以觸發請求的釋放。例如,對到W1-Fi類型網絡的連接的指示可以使請求被釋放。類似地,對已打開到蜂窩網絡的無線連接的指示也可以觸發將請求釋放到設備105-a的0S220。在另一個方面,可以根據上面因素或其它因素的某種組合來釋放請求。雖然前面的描述是關於應用編程接口(API)架構的,但這些概念可以等同地應用於硬體、固件或者硬體和軟體的任意組合。
[0047]圖3示出了行動裝置105-b的架構300的一個示例,其中行動裝置105_b可以是圖1或圖2的行動裝置105的示例。設備105-b的架構300可以包括應用連接引擎310。連接引擎310可以管理在設備105-b上的應用層305中執行的應用何時可以接入網絡(諸如圖1中的網絡115)。應用層305可以包括:執行以提供各種功能並且使用無線單元325的無線電裝置330-a中的一個或多個來與外部網絡(諸如網絡115)進行通信的應用。
[0048]使用本文所公開的技術和結構,行動裝置105-b可以使用提供應用程式接口(API)的軟體層(出於說明性目的,其稱為封裝器315)以捕獲來自應用的系統調用或套接字調用,並對其進行保持以阻止到達0S220-a。在一種配置中,應用連接引擎310可以執行封裝器315。在一個示例中,封裝器315可以截獲源自於應用層305中的應用的針對網絡接入的請求(例如,系統調用、套接字調用等)。在一個實施例中,封裝器315可以包括圖2的截獲模塊205。封裝器315可以使該請求延遲到達在設備105-b上執行的0S220-a。0S220_a可以向應用提供激活的第一無線接口。封裝器315可以將所截獲的請求保持在隊列中,並阻止它們到達0S220-a。封裝器315可以將截獲的請求與從另外的應用截獲的其它請求進行聚合。封裝器315可以保持或者延遲請求以阻止到達作業系統220-a的套接字層320。當針對網絡接入的請求到達套接字層320時,可以根據接口發起使用無線電裝置330-a中的一個或多個來建立通信信道的過程。例如,第一無線接口可以是蜂窩接口。當套接字調用在蜂窩接口活動時而被釋放時,可以發起建立過程以建立與蜂窩網絡的無線連接。該建立過程可以包括減少蜂窩網絡的可用帶寬的信令技術。
[0049]套接字層320可以對請求進行處理,並通知特定的無線電裝置開始連接建立過程,以在發起該請求的應用和網絡115之間建立連接。例如,套接字層320可以發出調用(或請求),以在特定的應用和無線電裝置(例如,無線電裝置1330-a-l)之間建立綁定。無線電裝置1330-a-l可以開始向網絡115發送信號,以通過建立控制信道(其可以是圖1中的控制信道110-a-l的示例)來開始連接建立過程。
[0050]當實質確定要將請求釋放到套接字層320時,0S220_a可以(在釋放請求之前)激活第二無線接口。例如,0S220-a可以包括或者使得圖2的激活模塊210來激活第二無線接口。封裝器315可以包括圖2的釋放模塊215,並在得知第二無線接口是活動的之後,封裝器315可以將所截獲的請求釋放到0S220-a的套接字層320。可以通過第二無線接口,使用第二無線網絡來向應用發送數據/從應用發送數據。第二無線網絡的示例可以包括WLAN。
[0051]因此,設備架構300提供用於:當第一無線接口活動時,截獲接入網絡的請求;在確定將請求釋放到0S220-a之後,激活第二無線接口 ;以及將請求釋放到0S220-a。第二無線接口的激活可以有助於減少蜂窩網絡上的伴隨蜂窩接口上的請求的釋放的網絡信令。
[0052]圖4示出了在確定釋放截獲的請求之後,實現第二無線接口的激活的行動裝置105-c的框圖400。行動裝置105-c可以是圖1、2或者3中的設備105的示例。設備105_c可以包括:存儲器405、處理器410、應用層305、封裝器315、應用連接引擎310、0S220_b和無線單元325,所有這些部件都使用通信總線415相耦合以進行通信。存儲器355可以存儲應用層305、封裝器315和作業系統220-b。處理器410可以包括應用連接引擎310。連接引擎310可以實現為設計成執行本文中所描述的功能的通用處理器、數位訊號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)或者其它可編程邏輯器件、分離門或電晶體邏輯器件、分離硬體組件或者其任意組合。連接引擎310可以包括:用於當第一無線接口活動時,截獲來自行動裝置上的應用的套接字調用的模塊;用於保持該套接字調用以阻止到達行動裝置上的0S220-b中的套接字層的模塊;用於在實質地確定釋放套接字調用之後,激活第二無線接口的模塊;以及用於將請求釋放到0S220-b中的套接字層的模塊。此夕卜,連接引擎310可以包括:用於將套接字調用與來自安裝在行動裝置105上的另外的應用的其它截獲的套接字調用進行聚合,並以同步方式將聚合的套接字調用釋放到0S220-b中的套接字層的模塊。連接引擎310還可以包括:用於執行圖3或圖4的封裝器315的模塊。執行的封裝器可以截獲來自應用的請求。此外,引擎310可以包括:用於將應用識別為套接字調用是從其發出的應用的類別的模塊。此外,連接引擎310可以包括:用於將應用識別為關鍵應用或者非關鍵應用的模塊,以及用於延遲來自非關鍵應用的套接字調用,直到第二無線接口被激活的模塊。應當注意的是,設備105-c僅是一種實現,並且其它實現是可能的。[0053]在一個方面,處理器410包括下列各項中的至少一個:中央處理單元(CPU)、處理器、門陣列、硬體邏輯、存儲器元件、和/或執行軟體的硬體。處理器410進行操作以控制設備105-c的操作,使得可以對由在應用層305執行的應用所發起的針對網絡接入的系統調用進行保持以阻止其到達0S220-b,直到第二無線接口被激活,然後將其釋放到0S220-b或者釋放到0S220-b中的套接字層。在一種實現中,處理器410可以執行計算機可讀指令,其中該計算機可讀指令與執行多個功能中的任意一個相關。例如,處理器410可以進行操作以分析從設備105-c接收或傳送的信息,以實行對請求的截獲和第二無線接口的激活。在另一個方面,處理器410可以進行操作以生成可以由存儲器405、無線單元325、應用層305、封裝器315、0S220-b和/或應用連接引擎310使用的信息,以在確定將截獲的請求釋放到0S220-b之後,實行第二無線接口的激活。
[0054]無線單元325可以包括執行軟體的硬體和/或處理器,其可以提供可用於將設備105-c與多個外部實體(諸如使用多個信道110-a的外部通信網絡)相連接的多個無線電裝置/接口。例如,無線單元325可以提供用以使用蜂窩、WLAN、WiF1、藍牙或者任何其它技術進行通信的無線電裝置/接口,以與使用信道110-a的通信網絡進行通信。
[0055]應用層305可以包括執行軟體的硬體和/或處理器,其可以存儲和/或執行設備105-c上的一個或多個應用。在一種實現中,應用層305可以允許應用發起網絡功能調用以請求網絡服務,諸如出於與外部網絡或系統進行通信的目的而請求到無線電裝置/接口的連接。
[0056]0S220-b可以包括套接字層。套接字層可以包括執行軟體的硬體和/或處理器,其可以執行套接字層函數。在一種實現中,套接字層函數可以包括諸如COnneCt0、bind和setsockopt 之類的函數。connectO函數操作以使用特定的無線電裝置/接口在兩個主機之間建立連接。例如,可以從由無線單元325提供的多個候選無線電裝置中選擇特定的無線電裝置/接口。在一個方面,套接字層可以執行各種套接字層功能或命令。0S220-b還可以包括多個無線接口 420-a到420-n。如先前所描述的,0S220_b可以將各個接口激活/去激活。可以使用所激活的無線接口中的至少一個從/由設備105-c發送/接收數據。無線接口的示例可以包括蜂窩接口、WLAN接口等。
[0057]應用連接引擎310可以包括執行軟體的硬體和/或處理器,其可以執行封裝器315,以使該封裝器截獲來自在行動裝置105-c上執行的應用的針對網絡接入的請求。封裝器315還可以使所截獲的請求延遲到達0S220-b。0S220-b可以激活第二無線接口(諸如WLAN接口),並且封裝器315可以將所保持的請求釋放到0S220-b。
[0058]連接引擎310可以以各種方式使封裝器315捕獲和保持針對網絡接入的請求。在確定釋放請求之後,引擎310還可以使0S220-b激活第二無線接口。在一個示例中,引擎310可以使圖2的激活模塊210執行對可用的無線網絡(諸如WLAN)的掃描。在檢測到可用的WLAN之後,激活模塊210可以使得使用該WLAN來建立無線連接。當該連接建立時,0S220_b可以激活WLAN接口以提供給應用。可以將所截獲的請求釋放到0S220-b。可以將請求釋放到0S220-b的套接字層。套接字層可以發起過程,以使用WLAN接口,跨越發起請求的應用和遠程設備(諸如伺服器)之間所建立的無線連接執行通信。
[0059]存儲器405可以包括RAM、ROM、EEPROM或者操作以允許在設備105_c處存儲和獲取信息的任何其它類型的存儲器設備。在一種實現中,存儲器405可以存儲由處理器410執行的計算機可讀指令。存儲器405還可以存儲任意多種其它類型的數據,其包括由處理器410、無線單元325、應用層305、封裝器315、0S220_b和/或應用連接引擎310中的任意一個生成的數據。存儲器405可以包括多種不同的配置,其包括隨機存取存儲器、電池支持存儲器、硬碟、磁帶等。還可以在存儲器405上實現各種特徵,諸如壓縮和自動備份。
[0060]在各種實現中,設備105-c可以包括具有存儲或體現在非暫時性計算機可讀介質上的一個或多個程序指令(「指令」)或「代碼」集的電腦程式產品。當代碼由至少一個處理器(例如,處理器360和/或應用連接引擎310)執行時,它們的執行可以使處理器410和/或連接引擎310控制設備105-c,以提供本文中所描述的激活架構的功能。例如,非暫時性計算機可讀介質可以是軟盤、CDR0M、存儲卡、快閃記憶體設備、RAM、ROM或者連接到設備105_c的任何其它類型的存儲器設備或計算機可讀介質。在另一個方面,可以從外部設備或通信網絡資源將代碼集下載到設備105-c中。當執行時,代碼集操作以提供本文中所描述的系統調用截獲和無線接口激活架構的方面。
[0061]圖5不出了用於進行如上面所描述的下列操作的行動裝置105-d的架構500的示例框圖:在第一無線接口活動時截獲針對網絡接入的請求,並且在確定將請求釋放到0S220之後,激活第二無線接口。行動裝置105-d可以是圖1、2、3或4的行動裝置105的示例。
[0062]如圖所示,在應用處理器590和數據機處理器595之間對方框進行了劃分,但可以按與圖5的示例不同的方式來組織各種功能。應用層305可以與應用連接引擎(AppCnE) 310和套接字層320進行交互。應用連接引擎310可以與數據機連接引擎(數據機CnE) 585進行通信。數據機連接引擎585可以對通信資源(諸如無線單元325以及其中的無線電裝置330-a的數量)進行管理。封裝器315可以在應用層305和0S220的套接字層320之間的應用處理器590中執行。封裝器315可以捕獲在應用層305和套接字層320之間傳遞的數據。例如,封裝器315可以放置在應用層305和套接字層320之間,以截獲從應用層305發送的去往套接字層320的套接字調用。在一種配置中,當第一無線接口(諸如蜂窩接口)活動時,封裝器315可以在設備105-d的非活動的時期期間,截獲來自應用層305的套接字調用。封裝器315可以保持所截獲的調用,直到作出確定要將套接字調用釋放到套接字層320。在確定釋放調用之後,可以激活第二無線接口(諸如WLAN接口)。套接字調用可以觸發請求,以使用無線單元325中的無線電裝置330來建立通信信道。
[0063]在另一個示例中,當蜂窩接口活動時,封裝器315可以將在設備105-d的非活動的時期期間從應用層305截獲的系統調用聚合。封裝器315可以保持所截獲的聚合調用,直到WLAN接口被激活。然後,封裝器315可以將調用釋放到套接字層320。可以從/由設備105-d使用由無線單元325在WLAN上建立的無線連接來發送/接收數據。
[0064]在一種配置中,封裝器315對應用層305處的應用可以是不可見的,因此這些應用未覺察到它們的請求被保持而沒有到達套接字層320。封裝器315可以是單獨的軟體組件,或者可以併入到諸如應用連接引擎310或0S220之類的另一個組件中。
[0065]圖6示出了套接字調用的同步釋放和WLAN接口的啟用的時序圖600。應用可以位於行動裝置105的應用層305。時序圖600可以是圖3、4或5的應用連接引擎310的實現結果。在一種配置中,可以從多個應用之中發出多個套接字調用605-a。當第一無線接口活動時,可以捕獲套接字調用605-a並從時間t0進行延遲。該接口可以是蜂窩接口。套接字調用605可以是connectO套接字調用。在一個實施例中,可以保持套接字調用605_a,以阻止到達在行動裝置上執行的0S220。例如,可以保持這些套接字調用,以阻止到達0S220的TCP/IP棧。可以將套接字調用605-a保持在隊列中。
[0066]在一個示例中,在時間h之前,可以作出要釋放所保持的套接字調用的確定。在時間h,可以啟用第二無線接口。第二無線接口可以是WLAN接口。在實質地確定釋放套接字調用605-a之後,可以激活該接口。在時間t2,可以將套接字調用605-a釋放到0S220,或者可以將調用605-a釋放到0S220中的套接字層。作為結果,行動裝置105可以在WLAN接口而不是蜂窩接口上執行套接字調用操作。在一個示例中,在時間〖3,可以去激活第二無線接口。作為結果,可以終止與WLAN網絡的無線連接。與具有激活的蜂窩接口的空閒設備相比,具有激活的WLAN接口的處於空閒模式的行動裝置(諸如圖1、2、3、4或5的設備105)可能消耗更多的功率。例如,WLAN接口的尋呼循環可以大約是100ms,而在蜂窩接口上大約為2.5秒。然而,與在蜂窩接口之上相比,數據傳輸在WLAN接口上通常有更高的功率效率。例如,與用於傳送大多數類型的內容的蜂窩接口相比,WLAN接口可以使用少得多的功率。因此,根據本系統和方法,可以調動WLAN接口來執行數據的釋放,並隨後離線以節省設備的電池功率。當TCP連接被實質關閉時,或者當連接定時器到期時,可以禁用WLAN接口。在一個實施例中,在貫穿上面所描述的步驟之中,蜂窩接口可以繼續向應用呈現為可用的。
[0067]圖7是示出用於接收並保持針對網絡接入的請求,以及在要釋放該請求時激活無線接口的方法700的一個示例的流程圖。為了清楚起見,下面參照圖1、2、3、4和5中所示的行動裝置105來描述方法700。在一種實現中,處理器410和/或應用連接引擎310可以執行一個或多個代碼集來控制設備105的功能單元,以執行下面所描述的功能。例如,應用連接引擎310可以執行截獲模塊205、激活模塊210和釋放模塊215,以實現下面所描述的各種功能。在一種配置中,方法700可以在設備105處於空閒模式時實現。
[0068]在方框705,當第一無線接口在0S220處是活動的時,可以截獲至少一個套接字調用以阻止到達套接字層。在一個示例中,可以包括封裝器315的截獲模塊205可以截獲套接字調用。該套接字調用可以是對執行針對行動裝置105的通信的請求,諸如建立針對行動裝置105的通信信道。可以從在行動裝置105的應用層305處執行的應用發送該請求。在一個示例中,套接字調用可以是對發起數據連接建立過程以使應用能與外部網絡(諸如網絡115)連接的請求。例如,套接字調用可以是針對行動裝置105上的0S220的套接字層320的系統調用。活動的第一無線接口可以是蜂窩接口。由0S220接收的套接字調用(諸如connectO套接字調用)可以使0S220發起建立過程,以在蜂窩網絡上建立無線連接。
[0069]在方框710,在實質確定將所述至少一個截獲的套接字調用釋放到0S220中的套接字層之後,可以在0S220處激活第二無線接口。在一種配置中,0S220可以包括激活模塊210。激活模塊210可以確定釋放所述至少一個套接字調用,並在該套接字調用的釋放之前激活第二無線接口。第二接口可以是WLAN接口。激活第二無線接口可以包括激活模塊210掃描信號以確定WLAN是否可用。在檢測到可用的WLAN之後,可以在該WLAN上建立無線連接。例如,數據機連接引擎585可以執行一個或多個代碼集,以便無線單元325發起無線建立過程。該過程可以包括:無線電裝置330在WLAN上建立無線連接。在WLAN上建立無線連接之後,激活模塊210可以激活WLAN接口,並生成針對應用層305中的應用的指示WLAN接口被激活的通知。[0070]在方框715,可以釋放所述至少一個截獲的套接字調用。在一個實施例中,釋放模塊215可以在接收到WLAN接口被激活的通知之後釋放該套接字調用。可以將套接字調用釋放到套接字層。在一種配置中,如先前所描述的,釋放模塊215可以在發生釋放觸發事件之後釋放該套接字調用。如果釋放觸發事件發生在WLAN接口被激活之前,則釋放模塊215可以釋放套接字調用,並可以發起建立過程以建立針對蜂窩網絡的無線連接。在一個實施例中,蜂窩接口可以保持活動,並對應用可見。
[0071]因此,方法700可以提供用於:當第一無線接口在處於空閒模式的行動裝置105上是活動的時,截獲並保持由應用所發出的套接字調用。可以保持請求,直到確定釋放該請求。在確定釋放請求之後,可以激活第二無線接口。作為結果,可以將請求釋放到套接字層,並且可以通過第二無線接口而不是先前活動的第一無線接口來發送/接收數據。應當注意的是,方法700僅是一種實現,並且可以對方法700的操作進行重新排列或以其它方式修改,使得其它實現是可能的。
[0072]圖8是示出用於當設備105處於空閒模式時,截獲針對網絡接入的請求並建立第二無線接口的方法800的一個示例的流程圖。為了清楚起見,下面參照圖1、2、3、4或5中所示的行動裝置105來描述方法800。在一種實現中,處理器360和/或應用連接引擎310可以執行一個或多個代碼集來控制設備105的功能單元,以執行下面所描述的功能。例如,引擎310和/或處理器360可以執行一個或多個代碼集,以執行和控制截獲模塊205、激活模塊210和釋放模塊215的功能。
[0073]在方框805,截獲針對網絡接入的請求。該請求可以是從在行動裝置105的應用層305處執行的應用發送的。在一個示例中,請求可以是對與外部網絡(諸如網絡115)建立通信信道的請求。請求可以是對設備105上的0S220的套接字層320的系統調用。在接收到請求之後,套接字層320可以發起用於建立通信信道的過程,並當該信道建立時,向應用提供回調函數。當第一無線接口(諸如蜂窩接口)在0S220處可用時,可以截獲該請求。
[0074]在方框810,可以作出關於設備105是否處於空閒模式的確定。例如,可以作出關於設備105是否掉電、處於睡眠模式等的確定。例如,如果設備105的顯示器是非活動的、音頻輸出是非活動的等,則也可以確定設備105處於空閒模式。如果確定設備105-a是活動的,則在方框815,可以將請求釋放到0S220的套接字層320。在方框820,可以與第一無線網絡建立無線連接。在方框825,設備105可以使用所建立的無線連接和活動的第一無線接口參與到跨越第一無線網絡的通信中。在方框830,在實質結束跨越第一無線網絡的通信之後,可以終止與該網絡的無線連接。第一無線接口可以是蜂窩接口,並且第一無線網絡可以是蜂窩網絡。
[0075]如果確定設備105處於空閒模式,則可以執行掃描以確定第二無線網絡是否可用。在方框835,可以與可用的第二無線網絡建立無線連接。在方框840,可以在0S220處針對第二無線網絡激活第二無線接口。例如,在建立無線連接之後,0S220可以激活接口以允許在應用層305中執行的應用跨越第二無線網絡進行通信。在一個實施例中,在方框845,可以將請求釋放到0S220的套接字層320。在方框850,設備105可以通過第二無線接口參與到跨越第二無線網絡的通信中。該通信可以包括:使用所建立的無線連接和第二接口跨越第二網絡發送/接收數據。在方框855,可以終止與第二網絡的無線連接,並且可以去激活第二無線接口。在第二無線接口上從應用發出的套接字調用實質完成之後,可以終止無線連接和第二接口。
[0076]因此,方法800可以提供用於:截獲並保持針對網絡接入的請求,並在確定將所保持的請求釋放到0S220之後激活第二接口。通過當第二接口活動時釋放請求,通信可以經由第二接口跨越第二網絡執行。可以通過避免多個應用向蜂窩接口釋放請求以及在蜂窩網絡上發起多個建立過程,來使信令減到最少。應當注意的是,方法800僅是一種實現,可以對方法800的操作進行重新排列或以其它方式修改,使得其它實現是可能的。
[0077]圖9是示出用於確定使用哪個無線網絡進行通信的方法900的一種配置的流程圖。為了清楚起見,下面參照圖1、2、3、4或5中所示的設備105來描述方法900。在一種實現中,處理器410和/或應用連接引擎310可以執行一個或多個代碼集來控制設備105的功能單元,以執行下面所描述的功能。
[0078]在方框905,可以對來自應用的、針對行動裝置105建立通信信道的請求進行截獲。設備105可以處於空閒模式。在一種配置中,在請求被截獲時,第一無線接口可以在0S220處是活動的。第一無線接口可以與第一無線網絡相關聯。在方框910,可以執行掃描以定位與第一無線網絡不同的可用的第二無線網絡。在方框915,可以作出關於第二無線網絡是否可用的確定。例如,第二無線網絡可以是WLAN或者W1-Fi網絡。如果確定第二無線網絡不可用,則在方框920,可以將所截獲的請求釋放到0S220的套接字層320。在方框925,可以建立與第一無線網絡的無線連接。在方框930,行動裝置105可以使用所建立的無線連接和第一無線接口參與到跨越第一無線網絡的通信中。
[0079]在方框915,如果確定第二無線網絡可用,則在方框935,可以建立與第二無線網絡的無線連接。例如,無線單元325中的無線電裝置330可以與遠程設備(例如,伺服器、其它行動裝置等)的無線電裝置建立通信,以建立跨越第二無線網絡的通信信道。在方框940,可以由0S220針對第二無線網絡激活第二無線接口。該接口可以允許在行動裝置105上執行的應用通過第二無線接口跨越第二無線網絡發送/接收數據。在方框945,可以將請求釋放到0S220的套接字層320。可以將請求釋放到套接字層320。在方框950,行動裝置105可以使用所建立的無線連接和第二無線接口參與到跨越第二無線網絡的通信中。在方框955,可以終止與第二無線網絡的無線連接。當行動裝置105實質終止跨越網絡的通信時,可以終止連接。例如,當實質地完成或者執行了從設備105上的應用發出的套接字調用時,可以終止連接。除終止與第二無線網絡的無線連接之外,0S220還可以去激活第二無線接口。作為結果,當第二接口被去激活時,安裝在設備105上的應用便發覺第二無線網絡不再可用。
[0080]因此,方法900可以提供用於:對可用的WLAN進行掃描,並如果WLAN可用,則在WLAN接口上釋放套接字調用。應當注意的是,方法900僅是一種實現,可以對方法900的操作進行重新排列或以其它方式修改,使得其它實現是可能的。
[0081]圖10是示出用於維持持久TCP連接的方法1000的一種配置的流程圖。為了清楚起見,下面參照圖1、2、3、4或5中所示的設備105來描述方法1000。在一種實現中,處理器410和/或應用連接引擎310可以執行一個或多個代碼集來控制設備105的功能單元,以執行下面所描述的功能。
[0082]在方框1005,該方法以截獲來自第一應用的請求開始。該請求可以是對建立針對行動裝置105的通信信道的套接字調用。設備105可以處於空閒模式,當設備105的0S220向應用提供活動的第一無線接口時,可以對請求進行截獲。在方框1010,可以識別具有在第一無線接口上的持久(或者長期存在的)TCP連接的一個或多個附加應用。例如,提供呈現服務的應用可以具有在擴展的時間段內保持打開的TCP連接。具有長期存在的TCP連接的
這種應用的示例可以包括Skype?。
[0083]在方框1015,可以建立與第二無線網絡的無線連接。在方框1020,當建立針對第二無線網絡的無線連接時,可以由0S220激活第二無線接口。在方框1025,可以生成指示第二無線接口被激活的通知。當WLAN接口活動時,該通知可以指示應用使用WLAN接口。在一個示例中,0S220可以生成通知,並將該通知發送到第一應用。在方框1030,可以阻止具有持久TCP連接的一個或多個附加應用接收該通知。如果當WLAN變得可用時通知這些應用,則這些應用可以關閉蜂窩接口上的長期存在的TCP連接,並向伺服器重新註冊WLAN IP位址。當終止WLAN時,這些應用可以隨後在蜂窩接口上進行重新註冊。作為結果,可能會出現到蜂窩無線電裝置的兩個連接。例如,一個用於關閉TCP連接,一個用於在終止WLAN後重新註冊應用。這會增加蜂窩網絡上的信令的水平。
[0084]在一個實施例中,應用連接引擎310可以通過一起禁止通知的生成來阻止具有長期存在的TCP連接的一個或多個應用接收通知。在另一個實施例中,安裝在行動裝置105上的應用可以針對有關接口被激活和去激活的通知向0S220進行註冊。引擎310可以在激活WLAN之前,構造具有蜂窩接口上的持久TCP連接的應用的列表。應用連接引擎310可以將這些應用從通知服務中註銷,或者截獲並丟棄去往這些應用的通知。作為阻止通知被具有長期存在的TCP連接的應用接收的另一個示例,當WLAN接口活動時,應用連接引擎310可以將來自這些應用的connectO或者其它套接字調用丟棄。引擎310還可以在WLAN失效之後的某一時間段內,將來自這些應用的系統調用丟棄。在一個實施例中,引擎310可以執行封裝器315以將來自這些應用的write O套接字調用路由到建立TCP連接的接口(例如,蜂窩接口)。不需要進行特定的處理。作為結果,這些應用可以不終止持久TCP連接,並嘗試向WLAN進行註冊。已通過bind或者通過在路由表中添加基於目的地的路由來將其套接字綁定到某些接口的應用不會受到WLAN接口的激活的影響。
[0085]在方框1035,可以將請求釋放到0S220的套接字層320。在方框1040,行動裝置105可以使用所建立的無線連接和第二無線接口參與到跨越第二無線網絡的通信中。
[0086]使用本文中所公開的技術和結構,當第一無線接口(其可以是蜂窩接口)被激活時,捕獲來自應用的套接字調用,並對其進行保持以阻止到達OS。OS可以激活第二無線接口(例如,WLAN接口),並通知應用WLAN被激活。可以將所保持的系統調用或者套接字調用釋放到OS或者OS的套接字層。激活第二無線接口減少了由經由第一接口在第一無線網絡(例如,蜂窩網絡)上異步地請求無線連接的應用所發生的信令的水平。
[0087]本領域的技術人員應理解的是,可以使用任何各種不同的技術和技藝來表示信息和信號。例如,在貫穿上面的描述中提及的數據、指令、命令、信息、信號、比特、符號和碼片可以由電壓、電流、電磁波、磁場或粒子、光場或粒子、或者其任意組合來表示。
[0088]本領域的技術人員還將意識到:結合本文公開的實施例而描述的各種說明性的邏輯框、模塊、電路和算法步驟均可以實現成電子硬體、計算機軟體或其組合。為了清楚地說明硬體和軟體之間的可交換性,上面對各種說明性的部件、框、模塊、電路和步驟均圍繞其功能進行了總體描述。至於這種功能是實現成硬體還是實現成軟體,取決於特定的應用和對整個系統所施加的設計約束條件。熟練的技術人員可以針對每個特定應用,以變通的方式實現所描述的功能,但是,這種實現決策不應解釋為造成對本發明的示例性實施例的範圍的背離。
[0089]被設計用於執行本文所述功能的通用處理器、數位訊號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)或其它可編程邏輯器件、分立門或者電晶體邏輯器件、分立硬體組件或者其任意組合,可以實現或執行結合本文公開的實施例所描述的各種說明性的邏輯框、模塊和電路。通用處理器可以是微處理器,或者,該處理器也可以是任何常規的處理器、控制器、微控制器或者狀態機。處理器也可以實現為計算設備的組合,例如,DSP和微處理器的組合、多個微處理器、一個或多個微處理器與DSP內核的結合,或者任何其它此種結構。
[0090]結合本文公開的實施例所描述的方法或者算法的步驟可直接體現為硬體、由處理器執行的軟體模塊或其組合。軟體模塊可以位於隨機存取存儲器(RAM)、快閃記憶體、只讀存儲器(ROM)、電可編程ROM (EPROM)、電可擦寫可編程ROM (EEPR0M)、寄存器、硬碟、移動磁碟、CD-ROM或者本領域熟知的任何其它形式的存儲介質中。一種示例性的存儲介質耦合到處理器,從而使處理器能夠從該存儲介質讀取信息,且可向該存儲介質寫入信息。當然,存儲介質也可以是處理器的組成部分。處理器和存儲介質可以位於ASIC中。該ASIC可以位於用戶終端中。當然,處理器和存儲介質也可以作為分立組件存在於用戶終端中。
[0091]在一個或多個示例性實施例中,所描述的功能可以在硬體、軟體、固件或其任意組合中實現。如果在軟體中實現,則可以將這些功能作為一個或多個指令或代碼存儲在非暫時性計算機可讀介質上或通過非暫時性計算機可讀介質傳送。計算機可讀介質包括計算機存儲介質和通信介質二者,通信介質包括有助於電腦程式從一個位置轉移到另一個位置的任意介質。存儲介質可以是能夠由計算機存取的任意可用介質。通過舉例而非限制的方式,這種計算機可讀介質可以包括RAM、ROM、EEPROM、CD-ROM或其它光碟存儲器、磁碟存儲器或其它磁存儲設備、或者能夠用於攜帶或存儲具有指令或數據結構形式的期望程序代碼並能夠由計算機進行存取的任何其它介質。此外,任何連接可以適當地稱為計算機可讀介質。例如,如果軟體是使用同軸電纜、光纖光纜、雙絞線、數字用戶線(DSL)或者諸如紅外線、無線和微波之類的無線技術從網站、伺服器或其它遠程源發送的,則同軸電纜、光纖光纜、雙絞線、DSL或者諸如紅外線、無線和微波之類的無線技術包括在介質的定義中。本文使用的磁碟和光碟包括壓縮光碟(⑶)、雷射光碟、光碟、數字多功能光碟(DVD)、軟盤和藍光光碟,其中,磁碟通常磁性地複製數據,而光碟用雷射光學地複製數據。上述各項的組合也應該包括在計算機可讀介質的範圍中。
[0092]為了使本領域的任何技術人員能夠實現或使用本發明,在前面提供了所公開的示例性實施例的描述。對這些示例性實施例的各種修改對於本領域的技術人員將是顯而易見的,並且在不背離本發明的精神或範圍的前提下,本文定義的總體原則可應用於其它實施例。因此,本發明並非旨在限於本文所示的示例性實施例,而是與本文所公開的原則和新穎性特性最廣泛的範圍相一致。
【權利要求】
1.一種用於無線通信的方法,包括: 當第一無線接口活動時,截獲至少一個套接字調用以阻止到達行動裝置的套接字層;在實質地確定將所述至少一個截獲的套接字調用釋放到所述套接字層之後,激活第二無線接口 ;以及 將所述至少一個截獲的套接字調用釋放到所述套接字層。
2.根據權利要求1所述的方法,其中,所述截獲發生於所述行動裝置處於空閒模式時的時段期間。
3.根據權利要求1所述的方法,還包括: 使用所激活的第二無線接口發送所釋放的套接字調用。
4.根據權利要求1所述的方法,其中,激活所述第二無線接口包括: 針對可用的第二無線網絡進行掃描,其中所述第二無線網絡不同於與所述第一無線接口相關聯的第一無線網絡;以及 在檢測到所述可用的第二無線網絡之後,激活所述第二無線接口。
5.根據權利要求1所述的方法,還包括: 在檢測到觸發事件之後,去激活所述第二無線接口。
6.根據權利要求5所述的方法,其中,檢測所述觸發事件包括: 確定所述至少一個套接字調用已被實質地執行。
7.根據權利要求5所述的方法,其中,檢測所述觸發事件包括: 確定定時器已實質到期。
8.根據權利要求1所述的方法,還包括: 在所述第二無線接口處於激活的狀態時的時段期間,以及在所述第二無線接口處於去激活的狀態時的時段期間,維持所述第一無線接口處於激活的狀態。
9.根據權利要求1所述的方法,還包括: 在實質地確定所述第二無線接口被激活之後,去激活所述第一無線接口 ;以及 在實質地確定所述第二無線接口被去激活之後,重新激活所述第一無線接口。
10.根據權利要求1所述的方法,還包括: 禁用關於所述第二無線接口變為活動的通知。
11.根據權利要求1所述的方法,還包括: 識別具有通過所述第一無線接口的持久傳輸控制協議(TCP)連接的一個或多個應用;以及 阻止所述一個或多個應用接收關於所述第二無線接口變為活動的通知。
12.根據權利要求11所述的方法,其中,阻止所述一個或多個應用接收所述通知包括: 截獲關於所述第二無線接口變為活動的通知;以及 丟棄所述通知。
13.根據權利要求11所述的方法,其中,阻止所述一個或多個應用接收所述通知包括: 丟棄源自於所述一個或多個應用的指向所述第二無線接口的業務。
14.根據權利要求1所述的方法,其中,確定將所述至少一個截獲的套接字調用釋放到所述套接字層包括: 檢測釋放觸發事件的發生。
15.根據權利要求14所述的方法,其中,所述釋放觸發事件包括:到無線區域網(WLAN)的連接完成的指示。
16.根據權利要求1所述的方法,其中,確定將所述至少一個截獲的套接字調用釋放到所述套接字層包括: 將發起所述至少一個套接字調用的應用識別為關鍵應用。
17.根據權利要求1所述的方法,其中,確定將所述至少一個截獲的套接字調用釋放到所述套接字層包括: 確定所述至少一個截獲的套接字調用具有低於容忍閾值的延遲容忍。
18.根據權利要求1所述的方法,還包括: 執行封裝器的指令,其中,所執行的封裝器執行對所述至少一個套接字調用的截獲。
19.根據權利要求18所述的方法,其中,所述封裝器位於所述行動裝置中的應用層和作業系統的套接字層之間。
20.一種配置用於無線通信的行動裝置,包括: 處理器; 與所述處理器進行電通信的存儲器,所述存儲器包括作業系統; 所述處理器包括應用連接引擎,所述引擎配置為執行指令以進行以下操作: 當第一無線接口活動時,截獲至少一個套接字調用以阻止到達行動裝置的套接字層; 在實質地確定將所述至少一個截獲的套接字調用釋放到所述套接字層之後,激活第二無線接口 ;以及 將所述至少一個截獲的套接字調用釋放到所述套接字層。
21.根據權利要求20所述的行動裝置,其中,所述截獲發生於所述行動裝置處於空閒模式時的時段期間。
22.根據權利要求20所述的行動裝置,其中,激活所述第二無線接口包括所述應用連接引擎配置為執行指令以進行以下操作: 針對可用的第二無線網絡進行掃描,其中所述第二無線網絡不同於與所述第一無線接口相關聯的第一無線網絡;以及 在檢測到所述可用的第二無線網絡之後,激活所述第二無線接口。
23.根據權利要求20所述的行動裝置,其中,所述應用連接引擎還配置為執行指令以進行以下操作: 在檢測到觸發事件之後,去激活所述第二無線接口。
24.根據權利要求23所述的行動裝置,其中,檢測所述觸發事件包括所述應用連接引擎還配置為執行指令以進行以下操作: 確定所述至少一個套接字調用已被實質地執行。
25.根據權利要求23所述的行動裝置,其中,檢測所述觸發事件包括所述應用連接引擎還配置為執行指令以進行以下操作: 確定定時器已實質到期。
26.根據權利要求20所述的行動裝置,其中,所述應用連接引擎還配置為執行指令以進行以下操作: 在所述第二無線接口處於激活的狀態時的時段期間,以及在所述第二無線接口處於去激活的狀態時的時段期間,維持所述第一無線接口處於激活的狀態。
27.根據權利要求20所述的行動裝置,其中,所述應用連接引擎還配置為執行指令以進行以下操作: 在實質地確定所述第二無線接口被激活之後,去激活所述第一無線接口 ;以及 在實質地確定所述第二無線接口被去激活之後,重新激活所述第一無線接口。
28.根據權利要求20所述的行動裝置,其中,所述應用連接引擎還配置為執行指令以進行以下操作: 禁用關於所述第二無線接口變為活動的通知。
29.根據權利要求20所述的行動裝置,其中,所述應用連接引擎還配置為執行指令以進行以下操作: 識別具有通過所述第一無線接口的持久傳輸控制協議(TCP)連接的一個或多個應用;以及 阻止所述一個或多個應用接收關於所述第二無線接口變為可用的通知。
30.根據權利要求29所述的行動裝置,其中,所述應用連接引擎還配置為執行指令以進行以下操作: 丟棄源自於所述一個或多個應用的指向所述第二無線接口的業務。`
31.根據權利要求20所述的行動裝置,其中,所述釋放觸發事件包括到無線區域網(WLAN)的連接完成的指示中的至少一個。
32.根據權利要求20所述的行動裝置,其中,確定將所述至少一個截獲的套接字調用釋放到所述套接字層包括所述應用連接引擎還配置為執行指令以進行以下操作: 將發起所述至少一個套接字調用的應用識別為關鍵應用。
33.根據權利要求20所述的行動裝置,其中,確定將所述至少一個截獲的套接字調用釋放到所述套接字層包括所述應用連接引擎還配置為執行指令以進行以下操作: 確定所述至少一個截獲的套接字調用具有低於容忍閾值的延遲容忍。
34.根據權利要求20所述的行動裝置,其中,所述存儲器還包括: 封裝器,其中,所述應用連接引擎還配置為執行所述封裝器上的指令,其中,當所述指令被執行時,所述封裝器配置為截獲來自所述應用的所述套接字調用。
35.根據權利要求34所述的行動裝置,其中,所述封裝器位於所述行動裝置中的應用層和作業系統的套接字層之間。
36.一種配置為對來自行動裝置上的應用的套接字調用進行管理的裝置,包括: 用於當第一無線接口在所述作業系統處是活動的時,截獲至少一個套接字調用以阻止到達行動裝置的套接字層的模塊; 用於在實質地確定將所述至少一個截獲的套接字調用釋放到所述套接字層之後,激活所述作業系統處的第二無線接口的模塊;以及 用於將所述至少一個截獲的套接字調用釋放到所激活的第二無線接口的所述套接字層的模塊。
37.根據權利要求36所述的裝置,其中,激活所述第二無線接口還包括: 用於針對可用的第二無線網絡進行掃描的模塊,其中所述第二無線網絡不同於與所述第一無線接口相關聯的第一無線網絡;以及在檢測到所述可用的第二無線網絡之後,用於激活所述第二無線接口的模塊。
38.根據權利要求36所述的裝置,還包括: 用於在檢測到觸發事件之後去激活所述第二無線接口的模塊。
39.根據權利要求38所述的裝置,其中,檢測所述觸發事件還包括: 用於確定所述至少一個套接字調用已被實質執行的模塊。
40.根據權利要求36所述的裝置,還包括: 用于禁用關於所述第二無線接口變為活動的通知的模塊。
41.一種配置為對來自行動裝置上的應用的套接字調用進行管理的電腦程式產品,所述產品包括非暫時性計算機可讀介質,所述介質包括: 用於當第一無線接口在所述作業系統處是活動的時,截獲至少一個套接字調用以阻止到達行動裝置的套接字層的代碼; 用於在實質地確定將所述至少一個截獲的套接字調用釋放到所述套接字層之後,激活所述作業系統處的第二無線接口的代碼;以及 用於將所述至少一個截獲的 套接字調用釋放到所激活的第二無線接口的所述套接字層的代碼。
【文檔編號】H04W76/02GK103503520SQ201280019080
【公開日】2014年1月8日 申請日期:2012年4月20日 優先權日:2011年4月22日
【發明者】A·梅朗, T·R·沙阿, J·K·孫達拉拉詹 申請人:高通股份有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀