專利名稱:一種實現網絡終端設備節電的方法及裝置的制作方法
技術領域:
本發明涉及電子及信息技術領域,具體涉及一種實現網絡終端設備節 電的方法及裝置。
背景技術:
對于便攜式設備而言,其系統功耗及電池續航能力是必須面臨的核心 問題之一。在系統功耗中,網卡(也稱為網絡適配器)功耗占系統功耗較
大的比重,如一個idle狀態下12W的筆記本,千兆網卡功耗在1W左右, 約10%。因此,為降低功耗,網卡廠商都提供了很多的節電模式,如No Link 以及深度睡眠模式等。這些模式大部分都是針對沒有插入網線或者不需要 網絡功能的場景(如LOM Disable )。
在網絡連接(Linked)的狀態下,目前還沒有適宜的靈活的解決方案。 各網卡廠商現采用的措施大同小異,如在電池供電的情況下,網絡連接被 固定在某個模式,如100Mbps。這樣確實在一定程度上降低了系統的功耗 (對小負載任務、小文件傳輸以及idle狀態),但卻犧牲了網絡的帶寬和 傳輸速度。對某些大負載任務(如大文件傳輸,大傳輸速度環境),這種 做法并不能節省網卡的功耗,因為傳輸時間更長了,系統功耗反而增加了。 現有的解決方案不能很好地平衡功耗和網絡帶寬,并且對某些特殊任 務不能提供較好的省電效果,從根本上來說歸咎于其固定的連接模式。
現有技術提供的一種解決方案電池供電模式下,將千兆網卡強制降 為100Mbps模式。其缺點是在電池供電時,網絡連接被強制連接在 100Mbps模式下,無論網絡負載大小、傳輸速度如何,網卡始終處于 100Mbps纟莫式。
該方案不僅限制了在大容量文件傳輸時的速度,更因此可能增加系統 的電源消耗。例如,假如傳輸10Gb的數據,在100Mbps模式下,理論上 需要100s的時間,而功摔毛為500mW* 100s;而lGbps才莫式下,理_論上需 要10s的時間,功耗約為1000mW*10s。顯然,即使在100Mbps模式下, 在大負載任務傳輸時,該方案并不能提供較好的省電效果,反而使功耗更
5大;而且連接模式固定,限制了網絡帶寬,降低數據傳輸速度;對于大負 載任務(如大文件傳輸),不能有效地降低功耗;只針對電池供電情況, 對AC Adaptor供電情況無效。
現有技術中的另 一解決方法是手動調節網絡連接模式以適應負載變化。
采用該方法,用戶需要通過手動調節網卡驅動的設置,以使網卡連接 在用戶所需的連接模式。
對于大負載任務完成后,需再次手動調節連接模式于低速,否則在高 速連接模式下,網卡功耗將維持在較大功耗狀態(千兆網卡約lOOOmW), 將造成極大的功耗浪費;對非專業人士并不知道各種連接狀態下的具體功 耗情況,無法準確判斷出那個連接模式最適合當前任務;需頻繁的手動調 節以適應網絡任務的變化,操作麻煩,不利于用戶體驗。
發明內容
有鑒于此,本發明提供一種實現網絡終端設備節電的方法及裝置,可 降低耗電量,從而延長電池支持時間。
本發明實施例才是供的一種實現網絡終端設備節電的方法,所述方法應
網絡終端具有固有傳輸速率的無線網卡; 獲得待發送或接收的數據包;
判斷所述待發送或接收的數據包的數據類型,產生一判斷信息,所述 數據類型為因特網數據包或局域網數據包;
當所述判斷信息表示所述待發送或接收的數據包的數據類型為因特 網數據包時,按照第 一傳輸速率向無線路由器發送或從無線路由器接收所 述待發送或接收的數據包,所述第一傳輸速率為所述調制解調器連接因特 網的傳輸速率,且小于所述無線網卡的所述固有傳輸速率。
本發明實施例提供的另 一種實現網絡終端設備節電的方法,所述方法 應用于通過無線路由器連接調制解調器訪問因特網的網絡終端設備中,所 述網絡終端具有固有傳輸速率的無線網卡;
獲得待發送或接收的數據包;
6判斷所述待發送或接收的數據包的數據類型,產生一判斷信息,所述 數據類型為因特網數據包或局域網數據包;
當所述判斷信息表示所述待發送或接收的數據包的數據類型為局域
網數據包時,獲得所述待發送/待接收的數據包的容量;
根據所述待發送或接收的數據包的容量以及傳輸速率與功耗對應關
系,確定第二傳輸速率;
按照所述第二傳輸速率向無線路由器上發送或從無線路由器接收所
述待發送或接收的數據包。
本發明實施例還提供一種具有節電功能的終端設備,包括 判斷才莫塊,用于識別所述待發送或接收的數據包的類型; 速率調整模塊,用于調整網絡終端設備的操作速率; 若所述判斷模塊判定所述數據包為因特網數據包,則所述速率調整模
塊將所述網絡終端設備的揭:作速率調整為第一傳輸速率,所述第一傳輸速
率為連接因特網的傳輸速率,且小于所述無線網卡的固有傳輸速率;
若所述判斷模塊判定所述數據包為局域網數據包,則所述速率調整模
塊將所述網絡終端設備的才喿作速率調整為第二傳輸速率,該第二傳輸速率
是根據所述待發送或接收數據包的容量以及傳輸速率與功耗對應關系確
定的;
所述第一和第二傳輸速率用于向無線路由器發送或從無線路由器接 收所述待發送或接收的數據包。
本發明提供的技術方案中,應用于通過無線路由器連接調制解調器訪 問因特網的網絡終端設備中,所述網絡終端設備具有固有傳輸速率的無線 網卡,判斷所述待發送或接收的數據包的數據類型,所述數據類型為因特 網數據包或局域網數據包;根據所述待發送或接收的數據包的數據類型調 整所述終端設備的操作速率。根據本發明可實現操作速率與功耗的動態匹 配,降低網絡終端設備的能耗,從而到達節電的目的。與現有技術中采用 固定的網絡連接模式或手動調節網絡連接模式以適應負載變化相比,可自 適應地調節終端設備的操作速率的速率,可很好地平衡能耗和網絡帶寬, 有效地降低功耗。
圖1為本發明實施例中提供的實現網絡終端設備節電的方法流程圖2為現有技術中的IPv4數據包報頭數據結構示意圖3為現有技術中的IPv6數據包報頭數據結構示意圖4為本發明實施例提供的具有節電功能的終端裝置架構示意圖。
具體實施例方式
鑒于便攜式網絡終端設備在使用電池供電的情況下,對耗電量及電池 支持時間的要求,本發明提出的一種節電方法,可降低耗電量,從而延長 電池支持時間。
本發明提供的技術方案中,根據實時監控網絡數據流量、傳輸速度或 文件的大小來動態地改變網絡的連接模式,以實現網絡帶寬和網卡功耗的 最優動態匹配,從而降低網卡功耗。其根本思想是當網絡輕載時(低速, 小文件傳輸,網頁瀏覽等),連接在低速模式,如10Mbps,省電為主要目 的;當網絡重載時(高速,大文件傳輸),連接在高速模式,提高網絡帶 寬為主要目的,同時由于網絡帶寬增加,傳輸時間減小,功耗也相應降低 了。
下面以終端設備以無線方式接入因特網或無線本地局域網WLAN為 了描述本發明的具體實現方案。 實施例一
制解調器訪問因特網的網絡終端設備中,所述網絡終端具有固有傳輸速率 的無線網卡,該方法包括如下步驟
5101, 獲得待發送或接收的數據包;
5102, 判斷所述待發送或接收的數據包的數據類型,產生一判斷信息, 所述數據類型為因特網數據包或局域網數據包;
所述判斷所述待發送/待接收的數據包的數據類型,具體包括 檢查所述終端設備待發送的數據包中的目的地址; 若所述目的地址為無線路由器的地址,則判定所述數據包的數據類型 為因特網數據包;若所述目的地址為本地局域網內裝置的地址,判定所述
8數據包為局域網數據包;
檢查所述終端設備接收數據包的源地址;
若所述源地址為無線路由器的地址,則判定所述數據包為因特網數據 包;若所述源地址為本地局域網內裝置的地址,則判定所述數據包為局域 網數據包。
S103,根據所述待發送或接收的數據包的數據類型調整所述終端設備 的操作速率。
當所述判斷信息表示所述待發送或接收的數據包的數據類型為因特網 數據包時,按照第 一傳輸速率向無線路由器發送或從無線路由器接收所述 待發送或接收的數據包,所述第一傳輸速率小于所述無線網卡的所述固有 傳輸速率。
判斷所述待發送或接收的數據包的數據類型,具體包括
檢查所述終端設備待發送的數據包中的目的MAC地址,若目的MAC 地址為用于連接因特網的無線路由器的MAC地址,則所述終端設備接入 因特網,若所述目的MAC地址為本地局域網內裝置的MAC地址,判定 所述網絡終端設備連接到本地局域網。或
檢查所述終端設備接收的數據包中的源MAC地址,若源MAC地址 為用于連接因特網的無線路由器的MAC地址,則所述終端設備接入因特 網,若所述源MAC地址為本地局域網內裝置的MAC地址,判定所述網 絡終端設備連接到本地局域網。
所述MAC地址可通過IP數據包中的IP地址釆用ARP進行解析(映 射)得到。
根據所述MAC地址判定所述終端設備的網絡連接狀態。 所述第 一傳輸速率可通過檢測網絡終端設備連接到因特網時的網絡 帶寬得到。
具體地說,第 一傳輸速率為所述調制解調器連接因特網的傳輸速率。 實施例二
本實施例的步驟與實施例一基本相同,其不同之處在于,實施例描述 的是當所述待發送或接收的數據包為局域網數據包上的處理流程。
9首先,獲得待發送或接收的數據包,并判斷所述待發送或接收的數據 包的數據類型;所述判斷所述待發送/待接收的數據包的數據類型可采用與 實施例一相同的方法。
由于終端設備接入無線本地局域網WLAN,判定所述終端設備處于接 入本地局域網的狀態,則檢測本地數據傳輸速率;
當所述判斷信息表示所述待發送或接收的數據包的數據類型為局域 網數據包時,獲得所述待發送/待接收的數據包的容量;
根據所述待發送或接收的數據包的容量以及傳輸速率與功耗對應關 系,確定第二傳輸速率;
述待發送或接收的數據包。
根據當前數據傳輸速率,將所述終端設備的操作速率調整到與所述數 據傳輸速率相匹配的速率,比如,以BroadCom4321為例,其操:作速率范 圍為IMb/s-3G0Mb/s,具體可選4奪的速率1 Mb/s, 11 Mb/s, 54 Mb/s, 100Mb/s, 300 Mb/s。當終端設備接入因特網時,可才艮據當前接入帶寬將 該終端設備的操作速率調整為相應的速率,如lMb/s;當終端設備接入因 特網時,傳輸大文件時,可根據當前接入帶寬將該無線網卡的操作速率調 整為300Mb/s。
另外,所述終端設備接入本地局域網進行數據傳輸時,可根據所傳輸 文件的大小來調整操作速率。
所述檢測所傳輸文件的數據量,可根據所傳輸的IP報頭中的數據包 長度參數值,確定所傳輸文件的數據量。
圖2和圖3分別為IPv4及IPv6的數據包"^艮頭數據結構示意圖,參照 圖2和圖3。
具體地,IPv4數據報頭中數據包長度值(16bit),所示為傳輸數據包 的數據量。
IPv6數據報頭中的流量標識(24bit),所示為傳輸的數據包的數據量。 例如,若所傳輸文件的lt據量大于預定值,如2MB,則將所述網卡 的操作速率提高到適當的速率,比如,11Mb/s。
10當終端設備通過所述WiFi的接入點AP(Access Point)路由裝置接入因特網Internet的情況下,4全測網絡終端設備連接到因特網時的網絡帶寬;
具體地,可根據所連接的路由裝置獲取連接到因特網的網絡帶寬。
S103,根據所檢測到的網絡帶寬或數據傳輸速率,實時將所述網絡終端設備的網卡調整到相應的工作速率。
具體地,要獲得網卡支持的速率,并根據當前實際的網絡帶寬或數據傳輸速率設定網卡的操作速率,步驟的程序如下
NdisFreeBuffer(RateOID.QUERY—INFORMATION.InformationBuffer);NdisZeroMemory(&RateOID,sizeof(RateOID));NDIS—OID_REQUEST RateOID={0};
RateOID.SET_INFORMATION.Oid=OID—802—ll—DESIRED—RATES;RateOID.SET—INFORMATION.InformationBuffer=NdisAllocateMemoryWithTagPriority(handle,128,'sss',HighPoolPriority);(這個緩沖區里指定速率)RateOID.SET—INFORMATION.InformationBufferLength=128;NdisOidRequest(handle,&RateOID);
NdisFreeBuffer(RateOID.SET—INFORMATION.InformationBuffer);以Intel 5100網卡(802.11n)以及BroadCom網卡(802.11g )為例,對網卡工作在各操作速率的功耗進行檢測。
對802.11n Card Intel 5100 WIFI卡在不同的才喿作速率下的功庫毛進4亍實測,結果如下
在20MHZ帶寬802.11G沖莫式下,網卡操作速率為54Mb/s,采用電池供電時,持續10分鐘的功耗為3119mWh;
在40MHZ帶寬802.11N模式下,網卡操作速率為135Mb/s,釆用電池供電時,持續10分鐘的功耗為3741mWh。
對802.11g Broadcom 4311 WIFI卡在不同的操作速率下的功耗進行實測,結果如下
在20MHZ帶寬802.11G模式下,網卡操作速率為54Mb/s,采用電池供電時,持續11分鐘的功耗為4984mWh;
在40MHZ帶寬802.11N模式下,網卡操作速率為1Mb/s,采用電池供電時,持續11分鐘的功耗為4362mWh。
由上述實測功耗數據可以看出,網卡操作速率不同,其相應的功耗也不同,速率操作越高,功耗越大。本發明通過自適應地調整網卡速率來減少功耗,從而增強電池續航能力。
參照圖4,本發明實施例還提供一種具有節電功能的終端設備200,包括
判斷模塊210,用于識別所述待發送或接收的數據包的類型;速率調整模塊220,用于調整網絡終端設備的操作速率;若所述判斷模塊210判定所述數據包為因特網數據包,則所述速率調整模塊220將所述網絡終端設備的操作速率調整為第一傳輸速率,所述第一傳輸速率為連接因特網的傳輸速率,且小于所述無線網卡的固有傳輸速
率;
若所述判斷模塊210判定所述數據包為局域網數據包,則所述速率調整^^莫塊220將所述網絡終端設備的操作速率調整為第二傳輸速率,該第二傳輸速率是根據所述待發送或接收數據包的容量以及傳輸速率與功耗對應關系確定的;
所述第一和第二傳輸速率用于向無線路由器發送或從無線路由器接收所述待發送或接收的數據包。所述判斷模塊210包括
地址檢測模塊210A,檢查所述終端設備待發送的數據包中的目的地址或4妄收數據包的源地址;
數據包類型判定模塊210B,根據所述目的地址或所述源地址識別所述數據包的類型;
若所述地址檢測模塊210A檢測到所述待發送的數據包的目的地址或接收數據包的源地址為無線路由器的地址,則所述數據包類型判定^^莫塊210B判定所述數據包的數據類型為因特網數據包;
若所述地址檢測模塊210A檢測到所述待發送的數據包的目的地址或接收數據包的源地址為本地局域網內裝置的地址,則所述數據包類型判定模塊210B判定所述數據包為局域網數據包。
12該終端設備還包括
數據量檢測模塊,用于檢測數據包的容量,并將所檢測到的數據包容量值提供給所述速率調整模塊。
本發明不僅適用于電池供電模式,也同樣適用于AC供電模式,節約系統功耗,增進環保能力。隨著半導體工藝的飛速發展,采用更小的制程將極大地降低系統的功耗,同時千兆網的普及,本發明的優點和應用效果將更加明顯。
顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。
以上所述僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發明的保護范圍內。
1權利要求
1、一種實現網絡終端設備節電的方法,所述方法應用于通過無線路由器連接調制解調器訪問因特網的網絡終端設備中,所述網絡終端具有固有傳輸速率的無線網卡,其特征在于,獲得待發送或接收的數據包;判斷所述待發送或接收的數據包的數據類型,產生一判斷信息,所述數據類型為因特網數據包或局域網數據包;當所述判斷信息表示所述待發送或接收的數據包的數據類型為因特網數據包時,按照第一傳輸速率向無線路由器發送或從無線路由器接收所述待發送或接收的數據包,所述第一傳輸速率為所述調制解調器連接因特網的傳輸速率,且小于所述無線網卡的所述固有傳輸速率。
2、 如權利要求要求1所述的方法,其特征在于,所述判斷待發送/待接 收的數據包的數據類型,具體包括檢查所述終端設備待發送的數據包中的目的地址;若所述目的地址為無線路由器的地址,則判定所述數據包的數據類型為 因特網數據包;若所述目的地址為本地局域網內裝置的地址,則判定數據包 的數據類型為局域網數據包;和/或檢查所述終端設備接收數據包的源地址;若所述源地址為無線路由器的地址,則判定所述數據包的數據類型為因 特網數據包;若所述源地址為本地局域網內裝置的地址,判定數據包的數據 類型為局域網數據包。
3、 一種實現網絡終端設備節電的方法,所述方法應用于通過無線路由 器連接調制解調器訪問因特網的網絡終端設備中,所述網絡終端具有固有傳 輸速率的無線網卡,其特征在于,獲得待發送或接收的數據包;判斷所述待發送或接收的數據包的數據類型,產生一判斷信息,所述數 據類型為因特網數據包或局域網數據包;當所述判斷信息表示所述待發送或接收的數據包的數據類型為局域網 數據包時,獲得所述待發送/待接收的數據包的容量;根據所述待發送或接收的數據包的容量以及傳輸速率與功耗對應關系, 確定第二傳輸速率;待發送或接收的數據包。
4、 如權利要求要求3所述的方法,其特征在于,所述判斷所述待發送/ 待接收的數據包的數據類型,具體包括檢查所述終端設備待發送的數據包中的目的地址;若所述目的地址為無線路由器的地址,則判定所述數據包的數據類型為 因特網數據包;若所述目的地址為本地局域網內裝置的地址,判定所述數據 包為局域網數據包;^r查所述終端設備接收數據包的源地址;若所述源地址為無線路由器的地址,則判定所述數據包為因特網數據 包;若所述源地址為本地局域網內裝置的地址,則判定所述凄t據包為局域網 數據包。
5、 如權利要求要求3所述的方法,其特征在于,根據所述數據包的容 量以及傳輸速率與功耗對應關系,確定第二傳輸速率,具體包括若所述數據包的容量大于預定值,則將所述第二傳輸速率確定為大于所 述無線網卡的所述固有傳輸速率。
6、 一種具有節電功能的終端設備,其特征在于,包括 判斷模塊,用于識別所述待發送或接收的數據包的類型; 速率調整模塊,用于調整網絡終端設備的操作速率; 若所述判斷模塊判定所述數據包為因特網數據包,則所述速率調整模塊將所述網絡終端設備的才喿作速率調整為第一傳輸速率,所述第一傳輸速率為 連接因特網的傳輸速率,且小于所述無線網卡的固有傳輸速率;若所述判斷模塊判定所述數據包為局域網數據包,則所述速率調整模塊 將所述網絡終端設備的操作速率調整為第二傳輸速率,該第二傳輸速率是根 據所述待發送或接收數據包的容量以及傳輸速率與功耗對應關系確定的;所述第一和第二傳輸速率用于向無線路由器發送或從無線路由器接收 所述待發送或接收的數據包。
7、 如權利要求要求6所述的終端設備,所述判斷模塊包括 地址檢測模塊,檢查所述終端設備待發送的數據包中的目的地址或接收數據包的源地址;數據包類型判定模塊,根據所述目的地址或所述源地址識別所述數據包 的類型;若所述地址^r測模塊檢測到所述待發送的數據包的目的地址或接收數 據包的源地址為無線路由器的地址,則所述數據包類型判定模塊判定所述數 據包的數據類型為因特網數據包;若所述地址檢測模塊檢測到所述待發送的數據包的目的地址或接收數 據包的源地址為本地局域網內裝置的地址,則所述數據包類型判定模塊判定 所述數據包為局域網數據包。
8、 如權利要求要求6所述的終端設備,其特征在于,還包括 數據量檢測模塊,用于檢測數據包的容量,并將所檢測到的數據包容量值提供給所述速率調整模塊。
全文摘要
本發明公開了一種實現網絡終端設備節電的方法,應用于通過無線路由器連接調制解調器訪問因特網的網絡終端設備中,所述網絡終端具有固有傳輸速率的無線網卡,所述方法包括獲得待發送或接收的數據包;判斷所述待發送或接收的數據包的數據類型,所述數據類型為因特網數據包或局域網數據包;根據所述待發送或接收的數據包的數據類型調整所述終端設備的操作速率。根據本發明實現操作速率與功耗的動態匹配,降低網絡終端設備的能耗,從而到達節電的目的。
文檔編號H04L12/56GK101686195SQ20081022328
公開日2010年3月31日 申請日期2008年9月28日 優先權日2008年9月28日
發明者張要增, 琴 李, 過曉冰, 郭翰林, 黃竹智 申請人:聯想(北京)有限公司