欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

針對無線局域網(wǎng)的數(shù)據(jù)的卸載的制作方法

文檔序號:7989634閱讀:334來源:國知局
針對無線局域網(wǎng)的數(shù)據(jù)的卸載的制作方法
【專利摘要】描述了用于當?shù)谝粺o線接口活動時,截獲來自安裝在移動設備上的應用的套接字調用的方法、系統(tǒng)和設備。第一無線接口是蜂窩接口。在確定將所截獲的套接字調用釋放到套接字層之后,激活第二無線接口。第二無線接口是無線局域網(wǎng)(WLAN)接口。將套接字調用釋放到套接字層,并使用所激活的第二無線接口進行發(fā)送。在實質地完成套接字調用之后,去激活第二無線接口。套接字調用的截獲和第二無線接口的激活發(fā)生在移動設備處于空閑模式時。
【專利說明】針對無線局域網(wǎng)的數(shù)據(jù)的卸載
[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的優(yōu)先權,該申請已轉讓給本申請的受讓人,故將其以引用方式明確地并入本文。
【背景技術】
[0003]如今,應用或設備小程序可用于操作以向無線設備提供廣泛的附加服務和特征。例如,現(xiàn)在無線設備可以下載并啟動設備小程序,以執(zhí)行諸如購物、搜索、定位、駕駛導航之類的增值功能或者一些其它功能。因此,設備小程序的使用可以增加無線設備的功能性和可用性,向設備用戶提供最初在設備其本身上不可獲得的特征和便利。
[0004]無線設備可以與一個或多個通信網(wǎng)絡連接。例如,無線設備可以包括使用蜂窩、WiF1、藍牙或其它類型的無線接入技術提供通信的各種無線電裝置。因此,在無線設備上執(zhí)行的應用可以與無線電裝置連接以建立通信信道,該信道可以由應用用于與適當?shù)木W(wǎng)絡進行通信。
[0005]即使當無線設備處于空閑模式時,應用也可以繼續(xù)與該設備上的無線電裝置進行連接以建立通信信道。當設備處于空閑狀態(tài)時,蜂窩接口可以提供低功耗速率,而WiFi接口可以允許設備以與蜂窩接口相比更低的功耗速率來傳送數(shù)據(jù)。隨著安裝在設備上的應用的數(shù)量增加,蜂窩數(shù)據(jù)網(wǎng)絡可能因與通信信道的建立相關聯(lián)的網(wǎng)絡信令而變得過載。

【發(fā)明內(nèi)容】

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

【附圖說明】
[0019]通過參照下面的附圖,可以實現(xiàn)對于本發(fā)明的本質的進一步理解。在附圖中,類似的組件或特征具有相同的附圖標記。此外,相同類型的各個組件可以通過在附圖標記之后加上短線以及用于區(qū)分相似組件的第二標記來進行區(qū)分。如果在說明書中僅使用了第一附圖標記,則該描述可適用于具有相同的第一附圖標記的類似組件中的任何一個,而不管第二附圖標記。
[0020]圖1示出了網(wǎng)絡環(huán)境的框圖;
[0021]圖2示出了描繪移動設備的架構的框圖;
[0022]圖3示出了移動設備的架構的另一個示例;
[0023]圖4示出了在確定釋放截獲的請求之后,實現(xiàn)無線接口的激活的移動設備的框圖;
[0024]圖5示出了用于在第一無線接口活動時截獲對網(wǎng)絡接入的請求,以及在確定釋放對操作系統(tǒng)的請求之后,激活第二無線接口的移動設備的體系結構的示例框圖:
[0025]圖6示出了套接字調用的同步釋放和無線局域網(wǎng)(WLAN)接口的啟用的時序圖;
[0026]圖7是示出用于接收和保持對網(wǎng)絡接入的請求,并在該請求要被釋放時激活無線接口的方法的一個示例的流程圖;
[0027]圖8是示出用于截獲對網(wǎng)絡接入的請求,并在設備處于空閑模式時建立第二無線接口的方法的一個示例的流程圖;
[0028]圖9是示出用于確定使用哪個無線網(wǎng)絡來進行通信的方法的一種配置的流程圖;
[0029]圖10是示出用于維持持久的傳輸控制協(xié)議(TCP)連接的方法的一種配置的流程圖。
【具體實施方式】
[0030]描述了用于當?shù)谝粺o線接口活動時,截獲從安裝在移動設備上的應用發(fā)出的請求的方法、系統(tǒng)和設備。在移動設備上執(zhí)行的操作系統(tǒng)(OS)可以向應用提供第一接口作為活動的?;顒咏涌诳梢韵驊弥甘究捎糜谠诘谝痪W(wǎng)絡上建立無線連接。
[0031]截獲的請求可以是用于為移動設備建立通信信道的系統(tǒng)調用或者套接字調用。在本文中,術語“請求”、“系統(tǒng)調用”和“套接字調用”可以交換使用??梢圆东@和保持這些請求以阻止其到達在移動設備上執(zhí)行的OS。例如,請求可以被保持以阻止其到達OS的傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)棧。[0032]在諸如智能電話、個人數(shù)字助理等移動設備中,即使用戶沒有積極地使用設備(例如,設備處于空閑模式),軟件應用也可以繼續(xù)操作。當設備的某些輸入是不可操作的或處于睡眠狀態(tài)時,移動設備可以處于空閑模式。當用戶沒有使用設備時,設備可以被認作是處于背景模式(即,空閑模式)。例如,當音頻輸入(例如,麥克風)關閉時,設備可以處于空閑模式。此外,當視覺輸入(例如,設備的顯示器)關閉時,可以確定設備處于空閑模式。如下面將描述的,可以使用其它的輸入來確定移動設備是否處于空閑模式。
[0033]即使用戶沒有正在使用設備,諸如社交網(wǎng)絡應用、電子郵件或者其它通信應用、數(shù)據(jù)饋送等應用(流行的示例包括Facebook?、Gmail?、Twitter?等)可以繼續(xù)發(fā)送和接收數(shù)據(jù)。即使在操作的非活動模式(例如,空閑模式)下,在即使設備表面上未在使用中時,活動時的功耗和尖峰信號仍可能發(fā)生自繼續(xù)操作的應用。這些應用的活動可以使用諸如由外部網(wǎng)絡提供的通信資源。這可能導致跨越外部網(wǎng)絡的信令的不期望的增加,這會對網(wǎng)絡的能力造成負面影響。
[0034]安裝在移動設備上的當前操作系統(tǒng)可以向應用提供“始終開啟”的蜂窩無線接口?!笆冀K開啟”接口可以向應用表示它們可以在任何時刻請求在蜂窩數(shù)據(jù)網(wǎng)絡上建立無線連接(例如,通信信道),即使當該設備處于空閑模式時?!笆冀K開啟”接口可能使移動設備因在該設備上運行的應用集所異步觸發(fā)的頻繁的無線連接使蜂窩數(shù)據(jù)網(wǎng)絡過載。
[0035]當設備處于空閑模式時,用戶可以容忍各種應用數(shù)據(jù)的更新時的延遲。因此,來自各種應用的套接字調用可以被截獲并被保持以阻止到達OS或者OS中的套接字層。隨后,可以將套接字調用以同步方式釋放到OS (或者OS中的套接字層)。由于若干應用可以同步地更新它們的信息,因此套接字調用的同步釋放可以允許無線連接的改善的利用。
[0036]由本系統(tǒng)和方法解決的補充性方式可以包括:使用無線局域網(wǎng)(WLAN)替代蜂窩無線電裝置來向移動設備發(fā)送數(shù)據(jù)/接收來自移動設備的數(shù)據(jù),以傳送針對應用的數(shù)據(jù)更新。在一些示例中,應用經(jīng)由OS提供的蜂窩接口跨越蜂窩網(wǎng)絡發(fā)送/接收數(shù)據(jù)。根據(jù)本系統(tǒng)和方法,當設備處于空閑模式時,應用可以轉而在WLAN接口上跨越WLAN發(fā)送/接收數(shù)據(jù)。WLAN接口可以由移動設備上的OS激活并提供給應用。
[0037]在一些實施例中,當設備處于空閑模式而安裝在移動設備上的多個應用請求接入蜂窩網(wǎng)絡時,可能出現(xiàn)不必要的大量網(wǎng)絡信令。例如,OS可以提供蜂窩接口作為“始終開啟”接口。第一應用可以看到激活的蜂窩接口,并發(fā)起可以要求在蜂窩網(wǎng)絡上建立通信信道的套接字調用。在已發(fā)送/接收數(shù)據(jù)之后,可以中斷該信道。第二應用也可以看到“始終開啟”蜂窩接口,并且也發(fā)起建立用于跨越蜂窩網(wǎng)絡發(fā)送/接收數(shù)據(jù)的通信信道的套接字調用。每次建立通信信道時,網(wǎng)絡信令的量會增加,使得網(wǎng)絡的可用帶寬會減少。因此,本系統(tǒng)和方法可以截獲當設備處于空閑模式時,用于接入到蜂窩網(wǎng)絡的請求。當確定要向OS釋放所截獲的請求時,可以激活WLAN接口??梢栽赪LAN接口(而不是蜂窩接口)上發(fā)送請求。當已基本執(zhí)行這些請求時,可以去激活WLAN接口以節(jié)省設備的電池功率。
[0038]下面的描述提供了多個示例,其并非限制權利要求中給出的范圍、適用性或配置。在不脫離本公開內(nèi)容的精神和范圍基礎上,可以對所討論的要素的功能和排列進行修改。各個實施例可以適當?shù)厥÷浴⑻娲蛘咴黾痈鞣N過程或組件。例如,所描述的方法可以以與所描述的順序不同的順序來執(zhí)行,并且可以對各個步驟進行增加、省略或者組合。此外,圍繞某些實施例所描述的特征可以組合到其它實施例中。[0039]現(xiàn)參見圖1,框圖示出了無線網(wǎng)絡環(huán)境100的示例。網(wǎng)絡環(huán)境100可以包括移動設備105和通信網(wǎng)絡115。設備105可以使用多個無線信道110-a與網(wǎng)絡115進行通信。例如,可以在設備105和網(wǎng)絡115之間建立控制信道110-a-l。此外,還可以建立其它類型的信道110-a-2到110-a-n。這些其它類型的信道可以包括數(shù)據(jù)信道、語音信道等。
[0040]在操作期間,設備105可以執(zhí)行應用,該應用可以使用多個無線電裝置中的任意一個與網(wǎng)絡115進行連接。例如,應用可以發(fā)出請求以與網(wǎng)絡115中的主機建立通信。在一個示例中,請求可以是諸如套接字層調用之類的網(wǎng)絡系統(tǒng)調用。請求可以被發(fā)往設備105上的OS的套接字層。傳統(tǒng)設備通常允許這些類型的請求直接進入到OS以進行處理。在接收請求之后,傳統(tǒng)設備開始進行網(wǎng)絡信令處理,以通過數(shù)據(jù)連接建立過程來建立控制信道110-a-l。當在移動設備105上執(zhí)行數(shù)據(jù)連接建立過程時,跨越網(wǎng)絡的信令的水平會增加,并消耗了電池功率。這會減少網(wǎng)絡115和移動設備105的效率。
[0041]在一種配置中,設備105可以包括用于當?shù)谝粺o線接口活動時,截獲并捕獲請求以阻止其到達OS的架構。這種架構可以截獲來自應用的針對網(wǎng)絡接入的請求,諸如針對蜂窩網(wǎng)絡接入的請求。在截獲請求之后,該架構可以保持該請求以阻止到達OS的TCP/IP?;蛘哐舆t該請求到達OS的TCP/IP棧。TCP/IP??梢园梢越⒃贠S之中的通信協(xié)議,用于向OS提供在網(wǎng)絡上發(fā)送數(shù)據(jù)的標準。在實質上確定向OS釋放請求之后,該架構可以激活第二無線接口。可以將所截獲的請求與從其它應用接收的針對網(wǎng)絡接入的其它截獲的請求進行聚合。可以將所聚合的請求捆綁在一起,并以同步方式釋放到OS中的套接字層。在一個實施例中,可以將聚合的請求以同步方式釋放到OS。隨后,可以使用第二無線接口來發(fā)送這些請求。在一個示例中,可以在發(fā)生特定的事件(例如,移動設備變成活動的)之后,釋放請求。在一種配置中,當設備105處于空閑模式時,可以使用上面所述的與截獲、確定、激活和釋放有關的架構。
[0042]圖2示出了移動設備105-a的一個示例200。移動設備105_a可以是圖1的移動設備105的示例。在一種配置中,設備105-a可以包括截獲模塊205、激活模塊210、釋放模塊215和0S220。截獲模塊205可以截獲來自應用的請求,以阻止其到達0S220。可以在第一無線接口被激活且設備105-a處于空閑模式時截獲請求。請求可以包括系統(tǒng)接入調用(諸如套接字調用)??梢越孬@的套接字調用的示例包括connectO、send O、sendto O、gethostbyname O等。connectO套接字調用可以發(fā)起由移動設備105_a跨越網(wǎng)絡建立通信信道(例如,TCP連接)的嘗試。
[0043]在一個示例中,激活模塊210可以確定何時向0S220或者0S220中的套接字層釋放所截獲的請求。在實質地確定釋放請求之后,激活模塊210可以激活第二無線接口。例如,激活模塊210可以激活WLAN接口。當已激活WLAN接口后,釋放模塊215可以釋放請求。
[0044]對釋放請求的確定可以基于一個或多個因素。在一個實施例中,對釋放所截獲的請求的確定可以包括:檢測定時器的期滿,其中該定時器表示請求已被保持或者延遲以阻止到達0S220或者阻止到達0S220中的套接字層的時間長度。還可以在檢測到隊列中保持的截獲的請求的最大數(shù)量之后釋放請求。在一種配置中,在確定關鍵應用向0S220發(fā)出請求之后釋放請求。關鍵應用可以是具有較小延遲容忍或者沒有延遲容忍的應用。因此,源自于這些應用的請求可以具有較低的延遲容忍。關鍵應用的示例可以包括但不限于:兒童跟蹤應用、基于緊急情況的應用、基于預訂的應用等。在一種配置中,在從關鍵應用發(fā)送的請求被截獲模塊205截獲之后,該請求可以不被進行保持(或者延遲)以阻止到達0S220,而是直接進到操作系統(tǒng)的套接字層。此外,在被截獲之后,可以不使具有低于特定閾值的延遲容忍的請求延遲到達OS220。例如,非關鍵應用可以發(fā)出請求,其中該請求被截獲。即使應用是非關鍵的,特定的請求也可以不具有延遲容忍(例如,對該應用進行關鍵更新)。因此,可以在截獲該請求之后立即向OS220釋放該請求。
[0045]可以使用另外的因素來確定何時釋放所截獲的請求,并允許應用連接到網(wǎng)絡。例如,如果存在建立數(shù)據(jù)連接建立過程的觸發(fā)(諸如從關鍵應用接收到系統(tǒng)調用,該關鍵應用諸如是不能夠進行延遲的緊急應用),則可以將截獲的請求釋放給0S220,使得可以結合該緊急應用來建立通信信道。在另一個示例中,可以將所截獲的請求釋放到0S220中的套接字層。如果無線信道的質量滿足閾值(例如,高信號強度、SNR或者其它期望的性能度量),則也可以釋放請求??梢园凑找苿釉O備105-a所預先確定的或者按照移動設備105-a所選擇性確定的,周期性地地釋放請求。確定釋放請求的另一個啟發(fā),可以是(在用戶打開屏幕之前)當他/她接近該設備時,以便匿名地操作。在該示例中,加速計可以檢測到用戶抓取設備105-a,或者用戶接近傳感器可以指示該用戶正在接近。在另一個方面,當靠電池運行時,可以在屏幕被解鎖時(例如,在正確地輸入PIN之后)確定釋放請求。在這個方面,當按下隨機的按鈕時(例如,設備105-a處于提包或者口袋中),可以不釋放請求。
[0046]在一個示例中,設備105-a的顯示器的狀態(tài)改變可以是確定釋放保持的請求的因素。例如,顯示器可以從“關閉”狀態(tài)改變到“開啟”狀態(tài)。此外,麥克風的狀態(tài)改變(關閉到開啟)也可以是確定釋放截獲的請求的因素。此外,另外的因素可以包括:檢測全球定位系統(tǒng)(GPS)傳感器的狀態(tài)改變。例如,傳感器可以在檢測到移動設備105-a的移動時,改變其狀態(tài)。用于確定何時釋放截獲的請求的其它因素可以包括:對通用串行總線端口在使用中的指示或者對音頻設備連接到設備105-a的指示。此外,對視頻設備連接到移動設備105-a的指示也可以充當向移動設備105-a的0S220釋放請求的確定因素。此外,對到某個網(wǎng)絡的連接可用的指示可以觸發(fā)請求的釋放。例如,對到W1-Fi類型網(wǎng)絡的連接的指示可以使請求被釋放。類似地,對已打開到蜂窩網(wǎng)絡的無線連接的指示也可以觸發(fā)將請求釋放到設備105-a的0S220。在另一個方面,可以根據(jù)上面因素或其它因素的某種組合來釋放請求。雖然前面的描述是關于應用編程接口(API)架構的,但這些概念可以等同地應用于硬件、固件或者硬件和軟件的任意組合。
[0047]圖3示出了移動設備105-b的架構300的一個示例,其中移動設備105_b可以是圖1或圖2的移動設備105的示例。設備105-b的架構300可以包括應用連接引擎310。連接引擎310可以管理在設備105-b上的應用層305中執(zhí)行的應用何時可以接入網(wǎng)絡(諸如圖1中的網(wǎng)絡115)。應用層305可以包括:執(zhí)行以提供各種功能并且使用無線單元325的無線電裝置330-a中的一個或多個來與外部網(wǎng)絡(諸如網(wǎng)絡115)進行通信的應用。
[0048]使用本文所公開的技術和結構,移動設備105-b可以使用提供應用程序接口(API)的軟件層(出于說明性目的,其稱為封裝器315)以捕獲來自應用的系統(tǒng)調用或套接字調用,并對其進行保持以阻止到達0S220-a。在一種配置中,應用連接引擎310可以執(zhí)行封裝器315。在一個示例中,封裝器315可以截獲源自于應用層305中的應用的針對網(wǎng)絡接入的請求(例如,系統(tǒng)調用、套接字調用等)。在一個實施例中,封裝器315可以包括圖2的截獲模塊205。封裝器315可以使該請求延遲到達在設備105-b上執(zhí)行的0S220-a。0S220_a可以向應用提供激活的第一無線接口。封裝器315可以將所截獲的請求保持在隊列中,并阻止它們到達0S220-a。封裝器315可以將截獲的請求與從另外的應用截獲的其它請求進行聚合。封裝器315可以保持或者延遲請求以阻止到達操作系統(tǒng)220-a的套接字層320。當針對網(wǎng)絡接入的請求到達套接字層320時,可以根據(jù)接口發(fā)起使用無線電裝置330-a中的一個或多個來建立通信信道的過程。例如,第一無線接口可以是蜂窩接口。當套接字調用在蜂窩接口活動時而被釋放時,可以發(fā)起建立過程以建立與蜂窩網(wǎng)絡的無線連接。該建立過程可以包括減少蜂窩網(wǎng)絡的可用帶寬的信令技術。
[0049]套接字層320可以對請求進行處理,并通知特定的無線電裝置開始連接建立過程,以在發(fā)起該請求的應用和網(wǎng)絡115之間建立連接。例如,套接字層320可以發(fā)出調用(或請求),以在特定的應用和無線電裝置(例如,無線電裝置1330-a-l)之間建立綁定。無線電裝置1330-a-l可以開始向網(wǎng)絡115發(fā)送信號,以通過建立控制信道(其可以是圖1中的控制信道110-a-l的示例)來開始連接建立過程。
[0050]當實質確定要將請求釋放到套接字層320時,0S220_a可以(在釋放請求之前)激活第二無線接口。例如,0S220-a可以包括或者使得圖2的激活模塊210來激活第二無線接口。封裝器315可以包括圖2的釋放模塊215,并在得知第二無線接口是活動的之后,封裝器315可以將所截獲的請求釋放到0S220-a的套接字層320??梢酝ㄟ^第二無線接口,使用第二無線網(wǎng)絡來向應用發(fā)送數(shù)據(jù)/從應用發(fā)送數(shù)據(jù)。第二無線網(wǎng)絡的示例可以包括WLAN。
[0051]因此,設備架構300提供用于:當?shù)谝粺o線接口活動時,截獲接入網(wǎng)絡的請求;在確定將請求釋放到0S220-a之后,激活第二無線接口 ;以及將請求釋放到0S220-a。第二無線接口的激活可以有助于減少蜂窩網(wǎng)絡上的伴隨蜂窩接口上的請求的釋放的網(wǎng)絡信令。
[0052]圖4示出了在確定釋放截獲的請求之后,實現(xiàn)第二無線接口的激活的移動設備105-c的框圖400。移動設備105-c可以是圖1、2或者3中的設備105的示例。設備105_c可以包括:存儲器405、處理器410、應用層305、封裝器315、應用連接引擎310、0S220_b和無線單元325,所有這些部件都使用通信總線415相耦合以進行通信。存儲器355可以存儲應用層305、封裝器315和操作系統(tǒng)220-b。處理器410可以包括應用連接引擎310。連接引擎310可以實現(xiàn)為設計成執(zhí)行本文中所描述的功能的通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或者其它可編程邏輯器件、分離門或晶體管邏輯器件、分離硬件組件或者其任意組合。連接引擎310可以包括:用于當?shù)谝粺o線接口活動時,截獲來自移動設備上的應用的套接字調用的模塊;用于保持該套接字調用以阻止到達移動設備上的0S220-b中的套接字層的模塊;用于在實質地確定釋放套接字調用之后,激活第二無線接口的模塊;以及用于將請求釋放到0S220-b中的套接字層的模塊。此夕卜,連接引擎310可以包括:用于將套接字調用與來自安裝在移動設備105上的另外的應用的其它截獲的套接字調用進行聚合,并以同步方式將聚合的套接字調用釋放到0S220-b中的套接字層的模塊。連接引擎310還可以包括:用于執(zhí)行圖3或圖4的封裝器315的模塊。執(zhí)行的封裝器可以截獲來自應用的請求。此外,引擎310可以包括:用于將應用識別為套接字調用是從其發(fā)出的應用的類別的模塊。此外,連接引擎310可以包括:用于將應用識別為關鍵應用或者非關鍵應用的模塊,以及用于延遲來自非關鍵應用的套接字調用,直到第二無線接口被激活的模塊。應當注意的是,設備105-c僅是一種實現(xiàn),并且其它實現(xiàn)是可能的。[0053]在一個方面,處理器410包括下列各項中的至少一個:中央處理單元(CPU)、處理器、門陣列、硬件邏輯、存儲器元件、和/或執(zhí)行軟件的硬件。處理器410進行操作以控制設備105-c的操作,使得可以對由在應用層305執(zhí)行的應用所發(fā)起的針對網(wǎng)絡接入的系統(tǒng)調用進行保持以阻止其到達0S220-b,直到第二無線接口被激活,然后將其釋放到0S220-b或者釋放到0S220-b中的套接字層。在一種實現(xiàn)中,處理器410可以執(zhí)行計算機可讀指令,其中該計算機可讀指令與執(zhí)行多個功能中的任意一個相關。例如,處理器410可以進行操作以分析從設備105-c接收或傳送的信息,以實行對請求的截獲和第二無線接口的激活。在另一個方面,處理器410可以進行操作以生成可以由存儲器405、無線單元325、應用層305、封裝器315、0S220-b和/或應用連接引擎310使用的信息,以在確定將截獲的請求釋放到0S220-b之后,實行第二無線接口的激活。
[0054]無線單元325可以包括執(zhí)行軟件的硬件和/或處理器,其可以提供可用于將設備105-c與多個外部實體(諸如使用多個信道110-a的外部通信網(wǎng)絡)相連接的多個無線電裝置/接口。例如,無線單元325可以提供用以使用蜂窩、WLAN、WiF1、藍牙或者任何其它技術進行通信的無線電裝置/接口,以與使用信道110-a的通信網(wǎng)絡進行通信。
[0055]應用層305可以包括執(zhí)行軟件的硬件和/或處理器,其可以存儲和/或執(zhí)行設備105-c上的一個或多個應用。在一種實現(xiàn)中,應用層305可以允許應用發(fā)起網(wǎng)絡功能調用以請求網(wǎng)絡服務,諸如出于與外部網(wǎng)絡或系統(tǒng)進行通信的目的而請求到無線電裝置/接口的連接。
[0056]0S220-b可以包括套接字層。套接字層可以包括執(zhí)行軟件的硬件和/或處理器,其可以執(zhí)行套接字層函數(shù)。在一種實現(xiàn)中,套接字層函數(shù)可以包括諸如COnneCt0、bind()和setsockopt ()之類的函數(shù)。connectO函數(shù)操作以使用特定的無線電裝置/接口在兩個主機之間建立連接。例如,可以從由無線單元325提供的多個候選無線電裝置中選擇特定的無線電裝置/接口。在一個方面,套接字層可以執(zhí)行各種套接字層功能或命令。0S220-b還可以包括多個無線接口 420-a到420-n。如先前所描述的,0S220_b可以將各個接口激活/去激活??梢允褂盟せ畹臒o線接口中的至少一個從/由設備105-c發(fā)送/接收數(shù)據(jù)。無線接口的示例可以包括蜂窩接口、WLAN接口等。
[0057]應用連接引擎310可以包括執(zhí)行軟件的硬件和/或處理器,其可以執(zhí)行封裝器315,以使該封裝器截獲來自在移動設備105-c上執(zhí)行的應用的針對網(wǎng)絡接入的請求。封裝器315還可以使所截獲的請求延遲到達0S220-b。0S220-b可以激活第二無線接口(諸如WLAN接口),并且封裝器315可以將所保持的請求釋放到0S220-b。
[0058]連接引擎310可以以各種方式使封裝器315捕獲和保持針對網(wǎng)絡接入的請求。在確定釋放請求之后,引擎310還可以使0S220-b激活第二無線接口。在一個示例中,引擎310可以使圖2的激活模塊210執(zhí)行對可用的無線網(wǎng)絡(諸如WLAN)的掃描。在檢測到可用的WLAN之后,激活模塊210可以使得使用該WLAN來建立無線連接。當該連接建立時,0S220_b可以激活WLAN接口以提供給應用??梢詫⑺孬@的請求釋放到0S220-b??梢詫⒄埱筢尫诺?S220-b的套接字層。套接字層可以發(fā)起過程,以使用WLAN接口,跨越發(fā)起請求的應用和遠程設備(諸如服務器)之間所建立的無線連接執(zhí)行通信。
[0059]存儲器405可以包括RAM、ROM、EEPROM或者操作以允許在設備105_c處存儲和獲取信息的任何其它類型的存儲器設備。在一種實現(xiàn)中,存儲器405可以存儲由處理器410執(zhí)行的計算機可讀指令。存儲器405還可以存儲任意多種其它類型的數(shù)據(jù),其包括由處理器410、無線單元325、應用層305、封裝器315、0S220_b和/或應用連接引擎310中的任意一個生成的數(shù)據(jù)。存儲器405可以包括多種不同的配置,其包括隨機存取存儲器、電池支持存儲器、硬盤、磁帶等。還可以在存儲器405上實現(xiàn)各種特征,諸如壓縮和自動備份。
[0060]在各種實現(xiàn)中,設備105-c可以包括具有存儲或體現(xiàn)在非暫時性計算機可讀介質上的一個或多個程序指令(“指令”)或“代碼”集的計算機程序產(chǎn)品。當代碼由至少一個處理器(例如,處理器360和/或應用連接引擎310)執(zhí)行時,它們的執(zhí)行可以使處理器410和/或連接引擎310控制設備105-c,以提供本文中所描述的激活架構的功能。例如,非暫時性計算機可讀介質可以是軟盤、CDR0M、存儲卡、閃存設備、RAM、ROM或者連接到設備105_c的任何其它類型的存儲器設備或計算機可讀介質。在另一個方面,可以從外部設備或通信網(wǎng)絡資源將代碼集下載到設備105-c中。當執(zhí)行時,代碼集操作以提供本文中所描述的系統(tǒng)調用截獲和無線接口激活架構的方面。
[0061]圖5不出了用于進行如上面所描述的下列操作的移動設備105-d的架構500的示例框圖:在第一無線接口活動時截獲針對網(wǎng)絡接入的請求,并且在確定將請求釋放到0S220之后,激活第二無線接口。移動設備105-d可以是圖1、2、3或4的移動設備105的示例。
[0062]如圖所示,在應用處理器590和調制解調器處理器595之間對方框進行了劃分,但可以按與圖5的示例不同的方式來組織各種功能。應用層305可以與應用連接引擎(AppCnE) 310和套接字層320進行交互。應用連接引擎310可以與調制解調器連接引擎(調制解調器CnE) 585進行通信。調制解調器連接引擎585可以對通信資源(諸如無線單元325以及其中的無線電裝置330-a的數(shù)量)進行管理。封裝器315可以在應用層305和0S220的套接字層320之間的應用處理器590中執(zhí)行。封裝器315可以捕獲在應用層305和套接字層320之間傳遞的數(shù)據(jù)。例如,封裝器315可以放置在應用層305和套接字層320之間,以截獲從應用層305發(fā)送的去往套接字層320的套接字調用。在一種配置中,當?shù)谝粺o線接口(諸如蜂窩接口)活動時,封裝器315可以在設備105-d的非活動的時期期間,截獲來自應用層305的套接字調用。封裝器315可以保持所截獲的調用,直到作出確定要將套接字調用釋放到套接字層320。在確定釋放調用之后,可以激活第二無線接口(諸如WLAN接口)。套接字調用可以觸發(fā)請求,以使用無線單元325中的無線電裝置330來建立通信信道。
[0063]在另一個示例中,當蜂窩接口活動時,封裝器315可以將在設備105-d的非活動的時期期間從應用層305截獲的系統(tǒng)調用聚合。封裝器315可以保持所截獲的聚合調用,直到WLAN接口被激活。然后,封裝器315可以將調用釋放到套接字層320??梢詮?由設備105-d使用由無線單元325在WLAN上建立的無線連接來發(fā)送/接收數(shù)據(jù)。
[0064]在一種配置中,封裝器315對應用層305處的應用可以是不可見的,因此這些應用未覺察到它們的請求被保持而沒有到達套接字層320。封裝器315可以是單獨的軟件組件,或者可以并入到諸如應用連接引擎310或0S220之類的另一個組件中。
[0065]圖6示出了套接字調用的同步釋放和WLAN接口的啟用的時序圖600。應用可以位于移動設備105的應用層305。時序圖600可以是圖3、4或5的應用連接引擎310的實現(xiàn)結果。在一種配置中,可以從多個應用之中發(fā)出多個套接字調用605-a。當?shù)谝粺o線接口活動時,可以捕獲套接字調用605-a并從時間t0進行延遲。該接口可以是蜂窩接口。套接字調用605可以是connectO套接字調用。在一個實施例中,可以保持套接字調用605_a,以阻止到達在移動設備上執(zhí)行的0S220。例如,可以保持這些套接字調用,以阻止到達0S220的TCP/IP棧??梢詫⑻捉幼终{用605-a保持在隊列中。
[0066]在一個示例中,在時間h之前,可以作出要釋放所保持的套接字調用的確定。在時間h,可以啟用第二無線接口。第二無線接口可以是WLAN接口。在實質地確定釋放套接字調用605-a之后,可以激活該接口。在時間t2,可以將套接字調用605-a釋放到0S220,或者可以將調用605-a釋放到0S220中的套接字層。作為結果,移動設備105可以在WLAN接口而不是蜂窩接口上執(zhí)行套接字調用操作。在一個示例中,在時間〖3,可以去激活第二無線接口。作為結果,可以終止與WLAN網(wǎng)絡的無線連接。與具有激活的蜂窩接口的空閑設備相比,具有激活的WLAN接口的處于空閑模式的移動設備(諸如圖1、2、3、4或5的設備105)可能消耗更多的功率。例如,WLAN接口的尋呼循環(huán)可以大約是100ms,而在蜂窩接口上大約為2.5秒。然而,與在蜂窩接口之上相比,數(shù)據(jù)傳輸在WLAN接口上通常有更高的功率效率。例如,與用于傳送大多數(shù)類型的內(nèi)容的蜂窩接口相比,WLAN接口可以使用少得多的功率。因此,根據(jù)本系統(tǒng)和方法,可以調動WLAN接口來執(zhí)行數(shù)據(jù)的釋放,并隨后離線以節(jié)省設備的電池功率。當TCP連接被實質關閉時,或者當連接定時器到期時,可以禁用WLAN接口。在一個實施例中,在貫穿上面所描述的步驟之中,蜂窩接口可以繼續(xù)向應用呈現(xiàn)為可用的。
[0067]圖7是示出用于接收并保持針對網(wǎng)絡接入的請求,以及在要釋放該請求時激活無線接口的方法700的一個示例的流程圖。為了清楚起見,下面參照圖1、2、3、4和5中所示的移動設備105來描述方法700。在一種實現(xiàn)中,處理器410和/或應用連接引擎310可以執(zhí)行一個或多個代碼集來控制設備105的功能單元,以執(zhí)行下面所描述的功能。例如,應用連接引擎310可以執(zhí)行截獲模塊205、激活模塊210和釋放模塊215,以實現(xiàn)下面所描述的各種功能。在一種配置中,方法700可以在設備105處于空閑模式時實現(xiàn)。
[0068]在方框705,當?shù)谝粺o線接口在0S220處是活動的時,可以截獲至少一個套接字調用以阻止到達套接字層。在一個示例中,可以包括封裝器315的截獲模塊205可以截獲套接字調用。該套接字調用可以是對執(zhí)行針對移動設備105的通信的請求,諸如建立針對移動設備105的通信信道??梢詮脑谝苿釉O備105的應用層305處執(zhí)行的應用發(fā)送該請求。在一個示例中,套接字調用可以是對發(fā)起數(shù)據(jù)連接建立過程以使應用能與外部網(wǎng)絡(諸如網(wǎng)絡115)連接的請求。例如,套接字調用可以是針對移動設備105上的0S220的套接字層320的系統(tǒng)調用?;顒拥牡谝粺o線接口可以是蜂窩接口。由0S220接收的套接字調用(諸如connectO套接字調用)可以使0S220發(fā)起建立過程,以在蜂窩網(wǎng)絡上建立無線連接。
[0069]在方框710,在實質確定將所述至少一個截獲的套接字調用釋放到0S220中的套接字層之后,可以在0S220處激活第二無線接口。在一種配置中,0S220可以包括激活模塊210。激活模塊210可以確定釋放所述至少一個套接字調用,并在該套接字調用的釋放之前激活第二無線接口。第二接口可以是WLAN接口。激活第二無線接口可以包括激活模塊210掃描信號以確定WLAN是否可用。在檢測到可用的WLAN之后,可以在該WLAN上建立無線連接。例如,調制解調器連接引擎585可以執(zhí)行一個或多個代碼集,以便無線單元325發(fā)起無線建立過程。該過程可以包括:無線電裝置330在WLAN上建立無線連接。在WLAN上建立無線連接之后,激活模塊210可以激活WLAN接口,并生成針對應用層305中的應用的指示W(wǎng)LAN接口被激活的通知。[0070]在方框715,可以釋放所述至少一個截獲的套接字調用。在一個實施例中,釋放模塊215可以在接收到WLAN接口被激活的通知之后釋放該套接字調用??梢詫⑻捉幼终{用釋放到套接字層。在一種配置中,如先前所描述的,釋放模塊215可以在發(fā)生釋放觸發(fā)事件之后釋放該套接字調用。如果釋放觸發(fā)事件發(fā)生在WLAN接口被激活之前,則釋放模塊215可以釋放套接字調用,并可以發(fā)起建立過程以建立針對蜂窩網(wǎng)絡的無線連接。在一個實施例中,蜂窩接口可以保持活動,并對應用可見。
[0071]因此,方法700可以提供用于:當?shù)谝粺o線接口在處于空閑模式的移動設備105上是活動的時,截獲并保持由應用所發(fā)出的套接字調用。可以保持請求,直到確定釋放該請求。在確定釋放請求之后,可以激活第二無線接口。作為結果,可以將請求釋放到套接字層,并且可以通過第二無線接口而不是先前活動的第一無線接口來發(fā)送/接收數(shù)據(jù)。應當注意的是,方法700僅是一種實現(xiàn),并且可以對方法700的操作進行重新排列或以其它方式修改,使得其它實現(xiàn)是可能的。
[0072]圖8是示出用于當設備105處于空閑模式時,截獲針對網(wǎng)絡接入的請求并建立第二無線接口的方法800的一個示例的流程圖。為了清楚起見,下面參照圖1、2、3、4或5中所示的移動設備105來描述方法800。在一種實現(xiàn)中,處理器360和/或應用連接引擎310可以執(zhí)行一個或多個代碼集來控制設備105的功能單元,以執(zhí)行下面所描述的功能。例如,引擎310和/或處理器360可以執(zhí)行一個或多個代碼集,以執(zhí)行和控制截獲模塊205、激活模塊210和釋放模塊215的功能。
[0073]在方框805,截獲針對網(wǎng)絡接入的請求。該請求可以是從在移動設備105的應用層305處執(zhí)行的應用發(fā)送的。在一個示例中,請求可以是對與外部網(wǎng)絡(諸如網(wǎng)絡115)建立通信信道的請求。請求可以是對設備105上的0S220的套接字層320的系統(tǒng)調用。在接收到請求之后,套接字層320可以發(fā)起用于建立通信信道的過程,并當該信道建立時,向應用提供回調函數(shù)。當?shù)谝粺o線接口(諸如蜂窩接口)在0S220處可用時,可以截獲該請求。
[0074]在方框810,可以作出關于設備105是否處于空閑模式的確定。例如,可以作出關于設備105是否掉電、處于睡眠模式等的確定。例如,如果設備105的顯示器是非活動的、音頻輸出是非活動的等,則也可以確定設備105處于空閑模式。如果確定設備105-a是活動的,則在方框815,可以將請求釋放到0S220的套接字層320。在方框820,可以與第一無線網(wǎng)絡建立無線連接。在方框825,設備105可以使用所建立的無線連接和活動的第一無線接口參與到跨越第一無線網(wǎng)絡的通信中。在方框830,在實質結束跨越第一無線網(wǎng)絡的通信之后,可以終止與該網(wǎng)絡的無線連接。第一無線接口可以是蜂窩接口,并且第一無線網(wǎng)絡可以是蜂窩網(wǎng)絡。
[0075]如果確定設備105處于空閑模式,則可以執(zhí)行掃描以確定第二無線網(wǎng)絡是否可用。在方框835,可以與可用的第二無線網(wǎng)絡建立無線連接。在方框840,可以在0S220處針對第二無線網(wǎng)絡激活第二無線接口。例如,在建立無線連接之后,0S220可以激活接口以允許在應用層305中執(zhí)行的應用跨越第二無線網(wǎng)絡進行通信。在一個實施例中,在方框845,可以將請求釋放到0S220的套接字層320。在方框850,設備105可以通過第二無線接口參與到跨越第二無線網(wǎng)絡的通信中。該通信可以包括:使用所建立的無線連接和第二接口跨越第二網(wǎng)絡發(fā)送/接收數(shù)據(jù)。在方框855,可以終止與第二網(wǎng)絡的無線連接,并且可以去激活第二無線接口。在第二無線接口上從應用發(fā)出的套接字調用實質完成之后,可以終止無線連接和第二接口。
[0076]因此,方法800可以提供用于:截獲并保持針對網(wǎng)絡接入的請求,并在確定將所保持的請求釋放到0S220之后激活第二接口。通過當?shù)诙涌诨顒訒r釋放請求,通信可以經(jīng)由第二接口跨越第二網(wǎng)絡執(zhí)行。可以通過避免多個應用向蜂窩接口釋放請求以及在蜂窩網(wǎng)絡上發(fā)起多個建立過程,來使信令減到最少。應當注意的是,方法800僅是一種實現(xiàn),可以對方法800的操作進行重新排列或以其它方式修改,使得其它實現(xiàn)是可能的。
[0077]圖9是示出用于確定使用哪個無線網(wǎng)絡進行通信的方法900的一種配置的流程圖。為了清楚起見,下面參照圖1、2、3、4或5中所示的設備105來描述方法900。在一種實現(xiàn)中,處理器410和/或應用連接引擎310可以執(zhí)行一個或多個代碼集來控制設備105的功能單元,以執(zhí)行下面所描述的功能。
[0078]在方框905,可以對來自應用的、針對移動設備105建立通信信道的請求進行截獲。設備105可以處于空閑模式。在一種配置中,在請求被截獲時,第一無線接口可以在0S220處是活動的。第一無線接口可以與第一無線網(wǎng)絡相關聯(lián)。在方框910,可以執(zhí)行掃描以定位與第一無線網(wǎng)絡不同的可用的第二無線網(wǎng)絡。在方框915,可以作出關于第二無線網(wǎng)絡是否可用的確定。例如,第二無線網(wǎng)絡可以是WLAN或者W1-Fi網(wǎng)絡。如果確定第二無線網(wǎng)絡不可用,則在方框920,可以將所截獲的請求釋放到0S220的套接字層320。在方框925,可以建立與第一無線網(wǎng)絡的無線連接。在方框930,移動設備105可以使用所建立的無線連接和第一無線接口參與到跨越第一無線網(wǎng)絡的通信中。
[0079]在方框915,如果確定第二無線網(wǎng)絡可用,則在方框935,可以建立與第二無線網(wǎng)絡的無線連接。例如,無線單元325中的無線電裝置330可以與遠程設備(例如,服務器、其它移動設備等)的無線電裝置建立通信,以建立跨越第二無線網(wǎng)絡的通信信道。在方框940,可以由0S220針對第二無線網(wǎng)絡激活第二無線接口。該接口可以允許在移動設備105上執(zhí)行的應用通過第二無線接口跨越第二無線網(wǎng)絡發(fā)送/接收數(shù)據(jù)。在方框945,可以將請求釋放到0S220的套接字層320??梢詫⒄埱筢尫诺教捉幼謱?20。在方框950,移動設備105可以使用所建立的無線連接和第二無線接口參與到跨越第二無線網(wǎng)絡的通信中。在方框955,可以終止與第二無線網(wǎng)絡的無線連接。當移動設備105實質終止跨越網(wǎng)絡的通信時,可以終止連接。例如,當實質地完成或者執(zhí)行了從設備105上的應用發(fā)出的套接字調用時,可以終止連接。除終止與第二無線網(wǎng)絡的無線連接之外,0S220還可以去激活第二無線接口。作為結果,當?shù)诙涌诒蝗ゼせ顣r,安裝在設備105上的應用便發(fā)覺第二無線網(wǎng)絡不再可用。
[0080]因此,方法900可以提供用于:對可用的WLAN進行掃描,并如果WLAN可用,則在WLAN接口上釋放套接字調用。應當注意的是,方法900僅是一種實現(xiàn),可以對方法900的操作進行重新排列或以其它方式修改,使得其它實現(xiàn)是可能的。
[0081]圖10是示出用于維持持久TCP連接的方法1000的一種配置的流程圖。為了清楚起見,下面參照圖1、2、3、4或5中所示的設備105來描述方法1000。在一種實現(xiàn)中,處理器410和/或應用連接引擎310可以執(zhí)行一個或多個代碼集來控制設備105的功能單元,以執(zhí)行下面所描述的功能。
[0082]在方框1005,該方法以截獲來自第一應用的請求開始。該請求可以是對建立針對移動設備105的通信信道的套接字調用。設備105可以處于空閑模式,當設備105的0S220向應用提供活動的第一無線接口時,可以對請求進行截獲。在方框1010,可以識別具有在第一無線接口上的持久(或者長期存在的)TCP連接的一個或多個附加應用。例如,提供呈現(xiàn)服務的應用可以具有在擴展的時間段內(nèi)保持打開的TCP連接。具有長期存在的TCP連接的
這種應用的示例可以包括Skype?。
[0083]在方框1015,可以建立與第二無線網(wǎng)絡的無線連接。在方框1020,當建立針對第二無線網(wǎng)絡的無線連接時,可以由0S220激活第二無線接口。在方框1025,可以生成指示第二無線接口被激活的通知。當WLAN接口活動時,該通知可以指示應用使用WLAN接口。在一個示例中,0S220可以生成通知,并將該通知發(fā)送到第一應用。在方框1030,可以阻止具有持久TCP連接的一個或多個附加應用接收該通知。如果當WLAN變得可用時通知這些應用,則這些應用可以關閉蜂窩接口上的長期存在的TCP連接,并向服務器重新注冊WLAN IP地址。當終止WLAN時,這些應用可以隨后在蜂窩接口上進行重新注冊。作為結果,可能會出現(xiàn)到蜂窩無線電裝置的兩個連接。例如,一個用于關閉TCP連接,一個用于在終止WLAN后重新注冊應用。這會增加蜂窩網(wǎng)絡上的信令的水平。
[0084]在一個實施例中,應用連接引擎310可以通過一起禁止通知的生成來阻止具有長期存在的TCP連接的一個或多個應用接收通知。在另一個實施例中,安裝在移動設備105上的應用可以針對有關接口被激活和去激活的通知向0S220進行注冊。引擎310可以在激活WLAN之前,構造具有蜂窩接口上的持久TCP連接的應用的列表。應用連接引擎310可以將這些應用從通知服務中注銷,或者截獲并丟棄去往這些應用的通知。作為阻止通知被具有長期存在的TCP連接的應用接收的另一個示例,當WLAN接口活動時,應用連接引擎310可以將來自這些應用的connectO或者其它套接字調用丟棄。引擎310還可以在WLAN失效之后的某一時間段內(nèi),將來自這些應用的系統(tǒng)調用丟棄。在一個實施例中,引擎310可以執(zhí)行封裝器315以將來自這些應用的write O套接字調用路由到建立TCP連接的接口(例如,蜂窩接口)。不需要進行特定的處理。作為結果,這些應用可以不終止持久TCP連接,并嘗試向WLAN進行注冊。已通過bind()或者通過在路由表中添加基于目的地的路由來將其套接字綁定到某些接口的應用不會受到WLAN接口的激活的影響。
[0085]在方框1035,可以將請求釋放到0S220的套接字層320。在方框1040,移動設備105可以使用所建立的無線連接和第二無線接口參與到跨越第二無線網(wǎng)絡的通信中。
[0086]使用本文中所公開的技術和結構,當?shù)谝粺o線接口(其可以是蜂窩接口)被激活時,捕獲來自應用的套接字調用,并對其進行保持以阻止到達OS。OS可以激活第二無線接口(例如,WLAN接口),并通知應用WLAN被激活??梢詫⑺3值南到y(tǒng)調用或者套接字調用釋放到OS或者OS的套接字層。激活第二無線接口減少了由經(jīng)由第一接口在第一無線網(wǎng)絡(例如,蜂窩網(wǎng)絡)上異步地請求無線連接的應用所發(fā)生的信令的水平。
[0087]本領域的技術人員應理解的是,可以使用任何各種不同的技術和技藝來表示信息和信號。例如,在貫穿上面的描述中提及的數(shù)據(jù)、指令、命令、信息、信號、比特、符號和碼片可以由電壓、電流、電磁波、磁場或粒子、光場或粒子、或者其任意組合來表示。
[0088]本領域的技術人員還將意識到:結合本文公開的實施例而描述的各種說明性的邏輯框、模塊、電路和算法步驟均可以實現(xiàn)成電子硬件、計算機軟件或其組合。為了清楚地說明硬件和軟件之間的可交換性,上面對各種說明性的部件、框、模塊、電路和步驟均圍繞其功能進行了總體描述。至于這種功能是實現(xiàn)成硬件還是實現(xiàn)成軟件,取決于特定的應用和對整個系統(tǒng)所施加的設計約束條件。熟練的技術人員可以針對每個特定應用,以變通的方式實現(xiàn)所描述的功能,但是,這種實現(xiàn)決策不應解釋為造成對本發(fā)明的示例性實施例的范圍的背離。
[0089]被設計用于執(zhí)行本文所述功能的通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其它可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件或者其任意組合,可以實現(xiàn)或執(zhí)行結合本文公開的實施例所描述的各種說明性的邏輯框、模塊和電路。通用處理器可以是微處理器,或者,該處理器也可以是任何常規(guī)的處理器、控制器、微控制器或者狀態(tài)機。處理器也可以實現(xiàn)為計算設備的組合,例如,DSP和微處理器的組合、多個微處理器、一個或多個微處理器與DSP內(nèi)核的結合,或者任何其它此種結構。
[0090]結合本文公開的實施例所描述的方法或者算法的步驟可直接體現(xiàn)為硬件、由處理器執(zhí)行的軟件模塊或其組合。軟件模塊可以位于隨機存取存儲器(RAM)、閃存、只讀存儲器(ROM)、電可編程ROM (EPROM)、電可擦寫可編程ROM (EEPR0M)、寄存器、硬盤、移動磁盤、CD-ROM或者本領域熟知的任何其它形式的存儲介質中。一種示例性的存儲介質耦合到處理器,從而使處理器能夠從該存儲介質讀取信息,且可向該存儲介質寫入信息。當然,存儲介質也可以是處理器的組成部分。處理器和存儲介質可以位于ASIC中。該ASIC可以位于用戶終端中。當然,處理器和存儲介質也可以作為分立組件存在于用戶終端中。
[0091]在一個或多個示例性實施例中,所描述的功能可以在硬件、軟件、固件或其任意組合中實現(xiàn)。如果在軟件中實現(xiàn),則可以將這些功能作為一個或多個指令或代碼存儲在非暫時性計算機可讀介質上或通過非暫時性計算機可讀介質傳送。計算機可讀介質包括計算機存儲介質和通信介質二者,通信介質包括有助于計算機程序從一個位置轉移到另一個位置的任意介質。存儲介質可以是能夠由計算機存取的任意可用介質。通過舉例而非限制的方式,這種計算機可讀介質可以包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲器、磁盤存儲器或其它磁存儲設備、或者能夠用于攜帶或存儲具有指令或數(shù)據(jù)結構形式的期望程序代碼并能夠由計算機進行存取的任何其它介質。此外,任何連接可以適當?shù)胤Q為計算機可讀介質。例如,如果軟件是使用同軸電纜、光纖光纜、雙絞線、數(shù)字用戶線(DSL)或者諸如紅外線、無線和微波之類的無線技術從網(wǎng)站、服務器或其它遠程源發(fā)送的,則同軸電纜、光纖光纜、雙絞線、DSL或者諸如紅外線、無線和微波之類的無線技術包括在介質的定義中。本文使用的磁盤和光盤包括壓縮光盤(⑶)、激光光盤、光盤、數(shù)字多功能光盤(DVD)、軟盤和藍光光盤,其中,磁盤通常磁性地復制數(shù)據(jù),而光盤用激光光學地復制數(shù)據(jù)。上述各項的組合也應該包括在計算機可讀介質的范圍中。
[0092]為了使本領域的任何技術人員能夠實現(xiàn)或使用本發(fā)明,在前面提供了所公開的示例性實施例的描述。對這些示例性實施例的各種修改對于本領域的技術人員將是顯而易見的,并且在不背離本發(fā)明的精神或范圍的前提下,本文定義的總體原則可應用于其它實施例。因此,本發(fā)明并非旨在限于本文所示的示例性實施例,而是與本文所公開的原則和新穎性特性最廣泛的范圍相一致。
【權利要求】
1.一種用于無線通信的方法,包括: 當?shù)谝粺o線接口活動時,截獲至少一個套接字調用以阻止到達移動設備的套接字層;在實質地確定將所述至少一個截獲的套接字調用釋放到所述套接字層之后,激活第二無線接口 ;以及 將所述至少一個截獲的套接字調用釋放到所述套接字層。
2.根據(jù)權利要求1所述的方法,其中,所述截獲發(fā)生于所述移動設備處于空閑模式時的時段期間。
3.根據(jù)權利要求1所述的方法,還包括: 使用所激活的第二無線接口發(fā)送所釋放的套接字調用。
4.根據(jù)權利要求1所述的方法,其中,激活所述第二無線接口包括: 針對可用的第二無線網(wǎng)絡進行掃描,其中所述第二無線網(wǎng)絡不同于與所述第一無線接口相關聯(lián)的第一無線網(wǎng)絡;以及 在檢測到所述可用的第二無線網(wǎng)絡之后,激活所述第二無線接口。
5.根據(jù)權利要求1所述的方法,還包括: 在檢測到觸發(fā)事件之后,去激活所述第二無線接口。
6.根據(jù)權利要求5所述的方法,其中,檢測所述觸發(fā)事件包括: 確定所述至少一個套接字調用已被實質地執(zhí)行。
7.根據(jù)權利要求5所述的方法,其中,檢測所述觸發(fā)事件包括: 確定定時器已實質到期。
8.根據(jù)權利要求1所述的方法,還包括: 在所述第二無線接口處于激活的狀態(tài)時的時段期間,以及在所述第二無線接口處于去激活的狀態(tài)時的時段期間,維持所述第一無線接口處于激活的狀態(tài)。
9.根據(jù)權利要求1所述的方法,還包括: 在實質地確定所述第二無線接口被激活之后,去激活所述第一無線接口 ;以及 在實質地確定所述第二無線接口被去激活之后,重新激活所述第一無線接口。
10.根據(jù)權利要求1所述的方法,還包括: 禁用關于所述第二無線接口變?yōu)榛顒拥耐ㄖ?br> 11.根據(jù)權利要求1所述的方法,還包括: 識別具有通過所述第一無線接口的持久傳輸控制協(xié)議(TCP)連接的一個或多個應用;以及 阻止所述一個或多個應用接收關于所述第二無線接口變?yōu)榛顒拥耐ㄖ?br> 12.根據(jù)權利要求11所述的方法,其中,阻止所述一個或多個應用接收所述通知包括: 截獲關于所述第二無線接口變?yōu)榛顒拥耐ㄖ灰约? 丟棄所述通知。
13.根據(jù)權利要求11所述的方法,其中,阻止所述一個或多個應用接收所述通知包括: 丟棄源自于所述一個或多個應用的指向所述第二無線接口的業(yè)務。
14.根據(jù)權利要求1所述的方法,其中,確定將所述至少一個截獲的套接字調用釋放到所述套接字層包括: 檢測釋放觸發(fā)事件的發(fā)生。
15.根據(jù)權利要求14所述的方法,其中,所述釋放觸發(fā)事件包括:到無線局域網(wǎng)(WLAN)的連接完成的指示。
16.根據(jù)權利要求1所述的方法,其中,確定將所述至少一個截獲的套接字調用釋放到所述套接字層包括: 將發(fā)起所述至少一個套接字調用的應用識別為關鍵應用。
17.根據(jù)權利要求1所述的方法,其中,確定將所述至少一個截獲的套接字調用釋放到所述套接字層包括: 確定所述至少一個截獲的套接字調用具有低于容忍閾值的延遲容忍。
18.根據(jù)權利要求1所述的方法,還包括: 執(zhí)行封裝器的指令,其中,所執(zhí)行的封裝器執(zhí)行對所述至少一個套接字調用的截獲。
19.根據(jù)權利要求18所述的方法,其中,所述封裝器位于所述移動設備中的應用層和操作系統(tǒng)的套接字層之間。
20.一種配置用于無線通信的移動設備,包括: 處理器; 與所述處理器進行電通信的存儲器,所述存儲器包括操作系統(tǒng); 所述處理器包括應用連接引擎,所述引擎配置為執(zhí)行指令以進行以下操作: 當?shù)谝粺o線接口活動時,截獲至少一個套接字調用以阻止到達移動設備的套接字層; 在實質地確定將所述至少一個截獲的套接字調用釋放到所述套接字層之后,激活第二無線接口 ;以及 將所述至少一個截獲的套接字調用釋放到所述套接字層。
21.根據(jù)權利要求20所述的移動設備,其中,所述截獲發(fā)生于所述移動設備處于空閑模式時的時段期間。
22.根據(jù)權利要求20所述的移動設備,其中,激活所述第二無線接口包括所述應用連接引擎配置為執(zhí)行指令以進行以下操作: 針對可用的第二無線網(wǎng)絡進行掃描,其中所述第二無線網(wǎng)絡不同于與所述第一無線接口相關聯(lián)的第一無線網(wǎng)絡;以及 在檢測到所述可用的第二無線網(wǎng)絡之后,激活所述第二無線接口。
23.根據(jù)權利要求20所述的移動設備,其中,所述應用連接引擎還配置為執(zhí)行指令以進行以下操作: 在檢測到觸發(fā)事件之后,去激活所述第二無線接口。
24.根據(jù)權利要求23所述的移動設備,其中,檢測所述觸發(fā)事件包括所述應用連接引擎還配置為執(zhí)行指令以進行以下操作: 確定所述至少一個套接字調用已被實質地執(zhí)行。
25.根據(jù)權利要求23所述的移動設備,其中,檢測所述觸發(fā)事件包括所述應用連接引擎還配置為執(zhí)行指令以進行以下操作: 確定定時器已實質到期。
26.根據(jù)權利要求20所述的移動設備,其中,所述應用連接引擎還配置為執(zhí)行指令以進行以下操作: 在所述第二無線接口處于激活的狀態(tài)時的時段期間,以及在所述第二無線接口處于去激活的狀態(tài)時的時段期間,維持所述第一無線接口處于激活的狀態(tài)。
27.根據(jù)權利要求20所述的移動設備,其中,所述應用連接引擎還配置為執(zhí)行指令以進行以下操作: 在實質地確定所述第二無線接口被激活之后,去激活所述第一無線接口 ;以及 在實質地確定所述第二無線接口被去激活之后,重新激活所述第一無線接口。
28.根據(jù)權利要求20所述的移動設備,其中,所述應用連接引擎還配置為執(zhí)行指令以進行以下操作: 禁用關于所述第二無線接口變?yōu)榛顒拥耐ㄖ?br> 29.根據(jù)權利要求20所述的移動設備,其中,所述應用連接引擎還配置為執(zhí)行指令以進行以下操作: 識別具有通過所述第一無線接口的持久傳輸控制協(xié)議(TCP)連接的一個或多個應用;以及 阻止所述一個或多個應用接收關于所述第二無線接口變?yōu)榭捎玫耐ㄖ?br> 30.根據(jù)權利要求29所述的移動設備,其中,所述應用連接引擎還配置為執(zhí)行指令以進行以下操作: 丟棄源自于所述一個或多個應用的指向所述第二無線接口的業(yè)務。`
31.根據(jù)權利要求20所述的移動設備,其中,所述釋放觸發(fā)事件包括到無線局域網(wǎng)(WLAN)的連接完成的指示中的至少一個。
32.根據(jù)權利要求20所述的移動設備,其中,確定將所述至少一個截獲的套接字調用釋放到所述套接字層包括所述應用連接引擎還配置為執(zhí)行指令以進行以下操作: 將發(fā)起所述至少一個套接字調用的應用識別為關鍵應用。
33.根據(jù)權利要求20所述的移動設備,其中,確定將所述至少一個截獲的套接字調用釋放到所述套接字層包括所述應用連接引擎還配置為執(zhí)行指令以進行以下操作: 確定所述至少一個截獲的套接字調用具有低于容忍閾值的延遲容忍。
34.根據(jù)權利要求20所述的移動設備,其中,所述存儲器還包括: 封裝器,其中,所述應用連接引擎還配置為執(zhí)行所述封裝器上的指令,其中,當所述指令被執(zhí)行時,所述封裝器配置為截獲來自所述應用的所述套接字調用。
35.根據(jù)權利要求34所述的移動設備,其中,所述封裝器位于所述移動設備中的應用層和操作系統(tǒng)的套接字層之間。
36.一種配置為對來自移動設備上的應用的套接字調用進行管理的裝置,包括: 用于當?shù)谝粺o線接口在所述操作系統(tǒng)處是活動的時,截獲至少一個套接字調用以阻止到達移動設備的套接字層的模塊; 用于在實質地確定將所述至少一個截獲的套接字調用釋放到所述套接字層之后,激活所述操作系統(tǒng)處的第二無線接口的模塊;以及 用于將所述至少一個截獲的套接字調用釋放到所激活的第二無線接口的所述套接字層的模塊。
37.根據(jù)權利要求36所述的裝置,其中,激活所述第二無線接口還包括: 用于針對可用的第二無線網(wǎng)絡進行掃描的模塊,其中所述第二無線網(wǎng)絡不同于與所述第一無線接口相關聯(lián)的第一無線網(wǎng)絡;以及在檢測到所述可用的第二無線網(wǎng)絡之后,用于激活所述第二無線接口的模塊。
38.根據(jù)權利要求36所述的裝置,還包括: 用于在檢測到觸發(fā)事件之后去激活所述第二無線接口的模塊。
39.根據(jù)權利要求38所述的裝置,其中,檢測所述觸發(fā)事件還包括: 用于確定所述至少一個套接字調用已被實質執(zhí)行的模塊。
40.根據(jù)權利要求36所述的裝置,還包括: 用于禁用關于所述第二無線接口變?yōu)榛顒拥耐ㄖ哪K。
41.一種配置為對來自移動設備上的應用的套接字調用進行管理的計算機程序產(chǎn)品,所述產(chǎn)品包括非暫時性計算機可讀介質,所述介質包括: 用于當?shù)谝粺o線接口在所述操作系統(tǒng)處是活動的時,截獲至少一個套接字調用以阻止到達移動設備的套接字層的代碼; 用于在實質地確定將所述至少一個截獲的套接字調用釋放到所述套接字層之后,激活所述操作系統(tǒng)處的第二無線接口的代碼;以及 用于將所述至少一個截獲的 套接字調用釋放到所激活的第二無線接口的所述套接字層的代碼。
【文檔編號】H04W76/02GK103503520SQ201280019080
【公開日】2014年1月8日 申請日期:2012年4月20日 優(yōu)先權日:2011年4月22日
【發(fā)明者】A·梅朗, T·R·沙阿, J·K·孫達拉拉詹 申請人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乐亭县| 昌图县| 论坛| 蓝山县| 扬中市| 象山县| 炎陵县| 忻州市| 建德市| 富宁县| 全南县| 菏泽市| 镶黄旗| 方城县| 临沭县| 广河县| 德清县| 马山县| 合作市| 淮南市| 宝应县| 丹江口市| 上犹县| 友谊县| 海宁市| 藁城市| 石城县| 柘城县| 武清区| 白银市| 安吉县| 图们市| 安龙县| 乐安县| 和林格尔县| 巫溪县| 青田县| 镇赉县| 巴南区| 满洲里市| 神木县|