維持連線方法
【專利摘要】本發(fā)明提供一種維持連線方法,用于維持電子裝置與服務(wù)器之間的連線狀態(tài)。該方法包括以下步驟:(a)發(fā)出第N次測試封包至服務(wù)器,第N次測試封包要求服務(wù)器于等待N段間隔時(shí)間后再響應(yīng)電子裝置;(b)判斷是否接收到服務(wù)器對第N次測試封包所發(fā)出的響應(yīng);(c)若是,則重復(fù)步驟(a);若否,則計(jì)算自發(fā)出第N-1次測試封包至接收服務(wù)器響應(yīng)所經(jīng)過時(shí)間為周期時(shí)間;以及(d)當(dāng)該電子裝置切換為一待機(jī)/休眠模式后,依據(jù)周期時(shí)間發(fā)送維持封包至服務(wù)器,以維持與服務(wù)器之間的連線狀態(tài)。通過本發(fā)明的設(shè)計(jì),讓電子裝置能在減少資源耗費(fèi)的情況下維持與服務(wù)器之間的連線狀態(tài)。
【專利說明】維持連線方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種維持連線方法,特別是涉及一種應(yīng)用于電子裝置與服務(wù)器之間的 維持連線方法。
【背景技術(shù)】
[0002] -般用戶要通過計(jì)算機(jī)與遠(yuǎn)程服務(wù)器之間進(jìn)行彼此連線,必須通過網(wǎng)絡(luò)及相關(guān)設(shè) 備(例如路由器或分享器等)建立起連線路徑。以往計(jì)算機(jī)均采用固定IP,即使計(jì)算機(jī)與服 務(wù)器之間連線中斷,服務(wù)器可以通過各自獨(dú)立的固定IP地址來找到對應(yīng)連線的計(jì)算機(jī);然 而在現(xiàn)今計(jì)算機(jī)大多采用浮動(dòng)(虛擬)IP的狀態(tài)下,一旦計(jì)算機(jī)超過一定時(shí)間未發(fā)送封包至 服務(wù)器,于連線路徑中的路由器可能會(huì)關(guān)閉計(jì)算機(jī)所使用的通信端口,使得服務(wù)器無法尋 得對應(yīng)計(jì)算機(jī)所使用的IP地址,如此將造成計(jì)算機(jī)與服務(wù)器之間連線中斷。此時(shí)必須由用 戶端計(jì)算機(jī)主動(dòng)與服務(wù)器重新建立連線,才能恢復(fù)先前的連線狀態(tài)。因此,在計(jì)算機(jī)處于某 些特定模式下(例如休眠或待機(jī)模式),若想維持兩者之間連線,計(jì)算機(jī)必須周期性發(fā)送封 包至服務(wù)器。
[0003] 前述計(jì)算機(jī)若是發(fā)送封包過于頻繁,會(huì)導(dǎo)致計(jì)算機(jī)資源的多余耗費(fèi);而若是發(fā)送 封包間隔時(shí)間過久,又會(huì)導(dǎo)致與服務(wù)器之間連線中斷。此外,計(jì)算機(jī)與服務(wù)器之間的連線路 徑往往需要經(jīng)過多個(gè)路由器連線而構(gòu)成,每個(gè)路由器關(guān)閉通信端口的設(shè)定時(shí)間并不相同, 因此如何決定出計(jì)算機(jī)發(fā)送封包的較佳間隔時(shí)間,實(shí)為一值得研究的課題。
【發(fā)明內(nèi)容】
[0004] 有鑒于此,本發(fā)明的主要目的是提供一種應(yīng)用于電子裝置與服務(wù)器之間的維持連 線方法,以解決現(xiàn)有技術(shù)存在的電子裝置因閑置過久而容易造成與服務(wù)器之間連線中斷的 技術(shù)問題。
[0005] 為達(dá)到上述的目的,本發(fā)明的維持連線方法用于維持電子裝置與服務(wù)器之間的連 線狀態(tài)。該方法包括以下步驟:(a)發(fā)出第N次測試封包至服務(wù)器,第N次測試封包要求服 務(wù)器于等待N段間隔時(shí)間后再響應(yīng)電子裝置,其中N為正整數(shù);(b)判斷是否接收到服務(wù)器 對第N次測試封包所發(fā)出的響應(yīng);(c)若是,則重復(fù)步驟(a);若否,則計(jì)算自發(fā)出第N-1次 測試封包至接收服務(wù)器響應(yīng)所經(jīng)過時(shí)間為周期時(shí)間;以及(d)當(dāng)電子裝置切換為待機(jī)/休 眠模式后,依據(jù)周期時(shí)間發(fā)送維持封包至服務(wù)器,以維持與服務(wù)器之間的連線狀態(tài)。
[0006] 在本發(fā)明的另一實(shí)施例中,本發(fā)明的維持連線方法包括以下步驟:(a)發(fā)出第N次 測試封包至服務(wù)器,第N次測試封包要求服務(wù)器于等待N段間隔時(shí)間后再響應(yīng)電子裝置,其 中N為正整數(shù);(b)判斷是否接收到服務(wù)器對第N次測試封包所發(fā)出的響應(yīng);(c)若接收到 服務(wù)器對第N次測試封包所發(fā)出的響應(yīng),則重復(fù)步驟(a);若未接收到服務(wù)器對第N次測試 封包所發(fā)出的響應(yīng),則反復(fù)發(fā)出第N-1次測試封包并判斷是否接收到服務(wù)器對所有第N-1 次測試封包所發(fā)出響應(yīng);(d)若接收到服務(wù)器對所有反復(fù)發(fā)出的第N-1次測試封包的響應(yīng), 則計(jì)算自發(fā)出第N-1次測試封包至接收服務(wù)器響應(yīng)所經(jīng)過時(shí)間為周期時(shí)間;若未接收到服 務(wù)器對所有反復(fù)發(fā)出的第N-1次測試封包的響應(yīng),則計(jì)算自發(fā)出第N-2次測試封包至接收 服務(wù)器響應(yīng)所經(jīng)過時(shí)間為周期時(shí)間;以及(e)當(dāng)電子裝置切換為待機(jī)/休眠模式后,依據(jù)周 期時(shí)間發(fā)送維持封包至服務(wù)器,以維持與服務(wù)器之間的連線狀態(tài)。
[0007] 通過本發(fā)明的設(shè)計(jì),可以找出電子裝置對服務(wù)器較為合適的封包發(fā)送周期,一方 面能維持處于待機(jī)/休眠模式下的電子裝置與服務(wù)器之間的連線狀態(tài),避免連線中斷;另 一方面則在被允許的狀態(tài)下盡量拉長封包發(fā)送周期,以減少電子裝置本身的資源耗費(fèi)。
【專利附圖】
【附圖說明】
[0008] 圖1是本發(fā)明的各電子裝置與服務(wù)器通過網(wǎng)絡(luò)連線的示意圖;
[0009] 圖2是本發(fā)明的電子裝置的系統(tǒng)方框圖;
[0010] 圖3是本發(fā)明的維持連線方法第一實(shí)施例的流程圖;
[0011] 圖4是本發(fā)明的維持連線方法第二實(shí)施例的流程圖。
[0012] 附圖標(biāo)記
[0013] 10a:第一電子裝置 l〇b:第二電子裝置
[0014] 11 :系統(tǒng)模塊 12 :傳輸模塊
[0015] 13:測試模塊 20:服務(wù)器
[0016] 30:網(wǎng)絡(luò) 31 :因特網(wǎng)
[0017] 32:局域網(wǎng)絡(luò) A、B、C、D、E、F :路由器
[0018] P1、P2:連線路徑
【具體實(shí)施方式】
[0019] 為能了解本發(fā)明的技術(shù)內(nèi)容,特舉出較佳實(shí)施例說明如下。
[0020] 在本發(fā)明的一實(shí)施例中,電子裝置可為計(jì)算機(jī)裝置、可攜式電子裝置或其它具備 網(wǎng)絡(luò)連線功能的電子裝置等,而服務(wù)器則為一般服務(wù)器主機(jī)或可提供服務(wù)器功能的類似裝 置,但本發(fā)明不以此為限。
[0021] 請參考圖1是本發(fā)明的各電子裝置與服務(wù)器20通過網(wǎng)絡(luò)30連線的示意圖。如圖 1所示,第一電子裝置10a及第二電子裝置10b通過網(wǎng)絡(luò)30與服務(wù)器20進(jìn)行連線,而在網(wǎng) 絡(luò)30環(huán)境中包括多個(gè)路由器(router) A?F,使得第一電子裝置10a及第二電子裝置10b 依據(jù)其所在位置,分別通過不同的路由器形成與服務(wù)器20之間的連線路徑。舉例來說,第 一電子裝置l〇a可經(jīng)由因特網(wǎng)31中的路由器A、D、F連線至服務(wù)器20,其構(gòu)成連線路徑P1 ; 而第二電子裝置l〇b可經(jīng)由局域網(wǎng)絡(luò)32中的路由器B、C及因特網(wǎng)31中的路由器E、F連線 至服務(wù)器20,其構(gòu)成不同的連線路徑P2。
[0022] 請參考圖2是本發(fā)明的第一電子裝置10a或第二電子裝置10b的系統(tǒng)方框圖。如 圖2所示,本發(fā)明的第一電子裝置10a或第二電子裝置10b可包括系統(tǒng)模塊11、傳輸模塊 12及測試模塊13。系統(tǒng)模塊11可為硬件、軟件及固件的至少一者或其組合,例如系統(tǒng)模塊 11可為中央處理單元,或是中央處理單元與裝置內(nèi)操作系統(tǒng)的整合等,但本發(fā)明不以此為 限。系統(tǒng)模塊11可依據(jù)用戶的指令或設(shè)定,切換第一電子裝置l〇a或第二電子裝置10b進(jìn) 入一般操作模式或待機(jī)/休眠模式等,并執(zhí)行各項(xiàng)操作指令;而在待機(jī)/休眠模式下,系統(tǒng) 模塊11會(huì)持續(xù)產(chǎn)生一維持封包并通過傳輸模塊12發(fā)送至服務(wù)器,以維持與服務(wù)器之間的 連線狀態(tài)。傳輸模塊12則用以發(fā)送封包至服務(wù)器或接收自服務(wù)器響應(yīng)的封包,此處傳輸模 塊12可為單一網(wǎng)絡(luò)處理芯片或其與傳輸端口的組合。
[0023] 測試模塊13用以產(chǎn)生不同的測試封包,以通過傳輸模塊12發(fā)送至服務(wù)器;且測試 模塊13根據(jù)服務(wù)器對各測試封包的響應(yīng)與否進(jìn)行判斷處理,以動(dòng)態(tài)決定前述維持封包的 較佳發(fā)送周期。在本發(fā)明的一實(shí)施例中,測試模塊13可為一應(yīng)用程序,但其也可以結(jié)合硬 件或固件來執(zhí)行相同功能,不以本實(shí)施例為限。而前述測試封包可為一使用者數(shù)據(jù)流協(xié)議 (user datagram protocol, UDP)封包。
[0024] 值得一提的是,對于需要通過網(wǎng)絡(luò)存取器(Access Point,AP)連線至路由器的電 子裝置來說,電子裝置除了要維持與該些路由器的連線狀態(tài)外,電子裝置另外需要維持與 網(wǎng)絡(luò)存取器之間的連線狀態(tài),以避免網(wǎng)絡(luò)發(fā)生中斷。網(wǎng)絡(luò)存取器會(huì)不定期發(fā)送封包給與其 連線的電子裝置,而電子裝置則依靠其本身的網(wǎng)絡(luò)卡(例如前述的傳輸模塊12)的驅(qū)動(dòng)程序 及固件來對應(yīng)處理該些封包,響應(yīng)給網(wǎng)絡(luò)存取器,以維持電子裝置與網(wǎng)絡(luò)存取器之間的連 線。在電子裝置與網(wǎng)絡(luò)存取器連線的前提下,電子裝置才能發(fā)送前述測試封包,經(jīng)該些路由 器至服務(wù)器。由于維持電子裝置與網(wǎng)絡(luò)存取器之間連線的技術(shù)屬于現(xiàn)有技術(shù),在此不多加 贅述。
[0025] 以下請參考圖3是本發(fā)明的維持連線方法第一實(shí)施例的流程圖。須注意的是,以 下雖配合圖1及圖2所示的第一電子裝置10a及其與服務(wù)器20的連線路徑P1為例說明本 發(fā)明的維持連線方法,但本發(fā)明并不以適用于此為限,應(yīng)根據(jù)電子裝置的組成架構(gòu)或其與 服務(wù)器20的連線路徑不同而有所變化。如圖3所示,本發(fā)明的維持連線方法包括步驟S301 至步驟S304。以下將詳細(xì)說明該方法的各個(gè)步驟。
[0026] 步驟S301 :發(fā)出一第N次測試封包至服務(wù)器20,其中第N次測試封包要求服務(wù)器 20于等待N段間隔時(shí)間后再響應(yīng)電子裝置,且N為正整數(shù)。
[0027] 當(dāng)?shù)谝浑娮友b置l〇a仍處于一般操作模式下,測試模塊13可通過傳輸模塊12發(fā) 出一次到多次的測試封包至服務(wù)器20,其中第1次測試封包會(huì)要求服務(wù)器20于等待1段間 隔時(shí)間后,再傳送對第1次測試封包的響應(yīng)給第一電子裝置l〇a ;此處間隔時(shí)間為測試模塊 13的默認(rèn)值或由用戶自行設(shè)定的時(shí)間值,其可為數(shù)秒至數(shù)十秒不等。當(dāng)?shù)谝浑娮友b置10a 發(fā)送第2次測試封包時(shí),第2次測試封包會(huì)要求服務(wù)器20于等待2段間隔時(shí)間(即間隔時(shí) 間*2)后,再傳送對第2次測試封包的響應(yīng)給第一電子裝置10a ;之后對所發(fā)出的第N次測 試封包則以此類推,要求服務(wù)器20于等待N段間隔時(shí)間后再響應(yīng)第一電子裝置10a,此處N 為正整數(shù)。
[0028] 舉例來說,假設(shè)已設(shè)定的間隔時(shí)間為5秒,則第一電子裝置10a發(fā)出的第1次測試 封包會(huì)要求服務(wù)器20在接到封包后,等待5秒間隔再發(fā)出對第1次測試封包的響應(yīng)封包; 若第一電子裝置l〇a發(fā)出的第2次測試封包,則要求服務(wù)器20在接到封包后,等待10秒(即 2段的5秒間隔)再發(fā)出對第2次測試封包的響應(yīng)封包,以此類推。
[0029] 步驟S302 :判斷是否接收到服務(wù)器20對第N次測試封包所發(fā)出的響應(yīng)。
[0030] 理論上在第一電子裝置l〇a與服務(wù)器20保持連線的狀態(tài)下,服務(wù)器20會(huì)對第一 電子裝置l〇a的封包做出響應(yīng);若是第一電子裝置10a與服務(wù)器20連線中斷,服務(wù)器20所 發(fā)出的響應(yīng)封包將無法順利傳送至第一電子裝置l〇a。因此,當(dāng)?shù)谝浑娮友b置10a的測試模 塊13發(fā)出第N次測試封包至服務(wù)器20后,測試模塊13會(huì)針對該次測試封包判斷是否接收 到服務(wù)器20對該次測試封包所發(fā)出的響應(yīng),來決定其繼續(xù)執(zhí)行步驟。
[0031] 在本發(fā)明的一實(shí)施例中,測試模塊13通過判斷等待服務(wù)器20響應(yīng)的時(shí)間是否超 過一封包來回時(shí)間加上該次測試封包所對應(yīng)的N段間隔時(shí)間的總和,作為判斷是否接收到 服務(wù)器20對第N次測試封包所發(fā)出的響應(yīng)的標(biāo)準(zhǔn),但本發(fā)明不以此為限。此處所謂封包來 回時(shí)間,為自第一電子裝置l〇a發(fā)送一封包至服務(wù)器20后,接收服務(wù)器20立即對封包做出 響應(yīng)的總時(shí)間;也即在未通知服務(wù)器20等待的狀態(tài)下,第一電子裝置10a自發(fā)送封包至接 獲對該封包的響應(yīng)的來回總時(shí)間。而此封包來回時(shí)間加上該次測試封包所對應(yīng)的N段間 隔時(shí)間的總和,即為該次測試封包理論上自發(fā)出后至接收到對該次測試封包的響應(yīng)的總時(shí) 間。
[0032] 若測試模塊13接收到服務(wù)器20對該次測試封包所發(fā)出的響應(yīng),表示服務(wù)器20在 等待該次測試封包所對應(yīng)的N段間隔時(shí)間后,第一電子裝置10a與服務(wù)器20之間仍可維持 連線路徑不中斷,因此可考慮再增加等待的間隔時(shí)間,以找出最佳的保持連線的封包發(fā)送 周期。此時(shí)測試模塊13將回到步驟S301,進(jìn)行下一次的測試封包的發(fā)送。
[0033] 步驟S303 :計(jì)算自發(fā)出第N-1次測試封包至接收服務(wù)器20響應(yīng)所經(jīng)過時(shí)間為一 周期時(shí)間。
[0034] 若測試模塊13未能接收到服務(wù)器20對第N次測試封包所發(fā)出的響應(yīng),表示服務(wù) 器20在等待該次測試封包所對應(yīng)的N段間隔時(shí)間后,第一電子裝置10a與服務(wù)器20之間 的連線可能已中斷,因此考慮回朔至前一次測試封包(即第N-1次測試封包),計(jì)算自第一電 子裝置l〇a發(fā)出第N-1次測試封包至接收服務(wù)器20響應(yīng)所經(jīng)過時(shí)間,并將其作為一周期時(shí) 間。其中當(dāng)N=1的狀態(tài)下,若未接收到服務(wù)器對該第1次測試封包所發(fā)出的響應(yīng),則以一般 狀態(tài)下的前述封包來回時(shí)間為周期時(shí)間。
[0035] 步驟S304 :當(dāng)電子裝置切換為待機(jī)/休眠模式后,依據(jù)周期時(shí)間發(fā)送維持封包至 服務(wù)器20,以維持與服務(wù)器20之間的連線狀態(tài)。
[0036] 在決定周期時(shí)間后,測試模塊13可通知系統(tǒng)模塊11 ;而當(dāng)?shù)谝浑娮友b置10a切換 為待機(jī)/休眠模式后,系統(tǒng)模塊11會(huì)以此周期時(shí)間持續(xù)且定期地發(fā)送維持封包至服務(wù)器 20,來保持與服務(wù)器20之間的連線狀態(tài)。
[0037] 以下舉出一實(shí)施方式說明如何應(yīng)用本發(fā)明的維持連線方法的第一實(shí)施例。表1表 示于圖1中各路由器A?F關(guān)閉其通信端口的等待時(shí)間假設(shè)值;表2則表示第一電子裝置 l〇a應(yīng)用本發(fā)明的維持連線方法第一實(shí)施例與服務(wù)器20進(jìn)行連線狀態(tài)測試的結(jié)果。
[0038] 表 1
[0039]
【權(quán)利要求】
1. 一種維持連線方法,用于維持一電子裝置與一服務(wù)器之間的連線狀態(tài),其特征在于, 該方法包括以下步驟: (a) 發(fā)出一第N次測試封包至該服務(wù)器,其中該第N次測試封包要求該服務(wù)器于等待N 段間隔時(shí)間后再響應(yīng)該電子裝置,且N為正整數(shù); (b) 判斷是否接收到該服務(wù)器對該第N次測試封包所發(fā)出的響應(yīng); (c) 若接收到該服務(wù)器對該第N次測試封包所發(fā)出的響應(yīng),則重復(fù)步驟(a);若未接收 到該服務(wù)器對該第N次測試封包所發(fā)出的響應(yīng),則計(jì)算前次自發(fā)出該第N-1次測試封包至 接收該服務(wù)器響應(yīng)所經(jīng)過時(shí)間為一周期時(shí)間;以及 (d) 當(dāng)該電子裝置切換為一待機(jī)/休眠模式后,依據(jù)該周期時(shí)間發(fā)送一維持封包至該 服務(wù)器,以維持與該服務(wù)器之間的連線狀態(tài)。
2. 根據(jù)權(quán)利要求1所述的維持連線方法,其特征在于,于步驟(b)中判斷等待該服務(wù)器 響應(yīng)的時(shí)間是否超過一封包來回時(shí)間加上N段間隔時(shí)間的總和,該封包來回時(shí)間為自該電 子裝置發(fā)送一封包至該服務(wù)器后,接收該服務(wù)器立即對該封包做出響應(yīng)的一總時(shí)間。
3. 根據(jù)權(quán)利要求2所述的維持連線方法,其特征在于,當(dāng)N=1的狀態(tài)下,若未接收到該 服務(wù)器對該第1次測試封包所發(fā)出的響應(yīng),則以該封包來回時(shí)間為一周期時(shí)間。
4. 根據(jù)權(quán)利要求1所述的維持連線方法,其特征在于,該間隔時(shí)間為5?20秒。
5. -種維持連線方法,用于維持一電子裝置與一服務(wù)器之間的連線狀態(tài),其特征在于, 該方法包括以下步驟: (a) 發(fā)出一第N次測試封包至該服務(wù)器,其中該第N次測試封包要求該服務(wù)器于等待N 段間隔時(shí)間后再響應(yīng)該電子裝置,且N為正整數(shù); (b) 判斷是否接收到該服務(wù)器對該第N次測試封包所發(fā)出的響應(yīng); (c) 若接收到該服務(wù)器對該第N次測試封包所發(fā)出的響應(yīng),則重復(fù)步驟(a);若未接收 到該服務(wù)器對該第N次測試封包所發(fā)出的響應(yīng),則反復(fù)發(fā)出該第N-1次測試封包并判斷是 否接收到該服務(wù)器對所有該第N-1次測試封包所發(fā)出的響應(yīng); (d) 若接收到該服務(wù)器對所有反復(fù)發(fā)出的該第N-1次測試封包的響應(yīng),則計(jì)算自發(fā)出 該第N-1次測試封包至接收該服務(wù)器響應(yīng)所經(jīng)過時(shí)間為一周期時(shí)間;若未接收到該服務(wù)器 對所有反復(fù)發(fā)出的該第N-1次測試封包的響應(yīng),則計(jì)算前次自發(fā)出該第N-2次測試封包至 接收該服務(wù)器響應(yīng)所經(jīng)過時(shí)間為一周期時(shí)間;以及 (e) 當(dāng)該電子裝置切換為一待機(jī)/休眠模式后,依據(jù)該周期時(shí)間發(fā)送一維持封包至該 服務(wù)器,以維持與該服務(wù)器之間的連線狀態(tài)。
6. 根據(jù)權(quán)利要求5所述的維持連線方法,其特征在于,于步驟(c)中發(fā)出至少3次該第 N-1次測試封包至該服務(wù)器。
7. 根據(jù)權(quán)利要求5所述的維持連線方法,其特征在于,于步驟(b)中判斷等待該服務(wù)器 響應(yīng)的時(shí)間是否超過于未延遲情況下自該電子裝置發(fā)送一封包至接收該服務(wù)器響應(yīng)該封 包的一來回時(shí)間,加上N段間隔時(shí)間的總和。
8. 根據(jù)權(quán)利要求7所述的維持連線方法,其特征在于,當(dāng)N=1的狀態(tài)下,若未接收到該 服務(wù)器對該第1次測試封包所發(fā)出的響應(yīng),則以該來回時(shí)間為一周期時(shí)間。
9. 根據(jù)權(quán)利要求5所述的維持連線方法,其特征在于,該間隔時(shí)間為5?20秒。
【文檔編號】H04L12/26GK104104647SQ201310112126
【公開日】2014年10月15日 申請日期:2013年4月2日 優(yōu)先權(quán)日:2013年4月2日
【發(fā)明者】蔡伊峰, 江書育, 蔡孟達(dá) 申請人:宏碁股份有限公司