TWI502508B - 提升預先啟動執行環境之伺服端穩定度的方法及伺服端裝置 - Google Patents
提升預先啟動執行環境之伺服端穩定度的方法及伺服端裝置 Download PDFInfo
- Publication number
- TWI502508B TWI502508B TW099120018A TW99120018A TWI502508B TW I502508 B TWI502508 B TW I502508B TW 099120018 A TW099120018 A TW 099120018A TW 99120018 A TW99120018 A TW 99120018A TW I502508 B TWI502508 B TW I502508B
- Authority
- TW
- Taiwan
- Prior art keywords
- server
- client
- boot program
- network boot
- network
- Prior art date
Links
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Description
本發明係指一種提升預先啟動執行環境之伺服端穩定度的方法及伺服端裝置,尤指一種有效避免過多用戶端同時進行下載,進而防止伺服端毀損或用戶端放棄開機的方法及伺服端裝置。
預先啟動執行環境(Preboot eXecution Environment,PXE)是一種網路開機的環境,也可稱為無磁碟開機,旨在使網路介面成為電腦開機裝置。簡單來說,在預先啟動執行環境中,伺服端提供服務,使用戶端在無儲存媒介(例如:硬碟)的狀況下,不需事先安裝作業系統,就能開機進入作業系統。
PXE通訊協定結合了動態主機設定協定(Dynamic Host Configuration Protocol、DHCP)、小型文件傳輸協定(Trivial File Transfer Protocol、TFTP)及網路引導程式(Network Bootstrap Program、NBP)三個既有的規範。其中,DHCP係由伺服端執行,用來自動分配網路位址給用戶端,並指示用戶端相關於TFTP與NBP的資訊;TFTP係由伺服端執行,用來提供檔案下載服務,使用戶端取得特定檔案(即NBP);NBP係儲存在伺服端的檔案,經由TFTP傳送到用戶端,由用戶端執行。關於習知PXE的開機運作方式,請參考第1圖。
如第1圖所示,當啟動開機後,用戶端的基本輸出輸入系統(Basic Input/Output System)會執行開機測試等流程,接著將執行權交給開機程式。由開機程式取得執行權到用戶端取得作業系統(Operation System)可大致分為三個階段,分別為A1、A2、A3。在階段A1,開機程式向伺服端的DHCP單元提出服務需求,則DHCP單元會分配網路位址給用戶端,並指示相關於TFTP與NBP的資訊。在階段A2,開機程式根據DHCP單元所提供的資訊,向伺服端的TFTP單元提出下載需求,以取得NBP並將NBP儲存於記憶體中。最後,在階段A3,開機程式將執行權交給NBP,則NBP會向伺服端的TFTP單元提出下載需求,以取得作業系統並將作業系統儲存於記憶體中。在階段A3取得作業系統後,NBP會將執行權交給作業系統,由作業系統完成開機程序。
因此,透過階段A1、A2、A3,用戶端可取得作業系統,達到無磁碟開機的目的。然而,在階段A2或A3中,用戶端皆需由伺服端下載檔案,若同時間過多的用戶端同時處於階段A2或A3,則會對伺服端的TFTP單元造成很大的負擔。在此情形下,伺服端的TFTP單元的反應速度變慢、下載速度變慢,使得用戶端的NBP等待時間過長,而放棄或重新啟動開機。更有甚者,若同時下載的用戶端激增,甚至可能會造成伺服端毀損,使所有用戶端無法下載檔案,導致系統停擺。
由此可知,習知PXE的運作方式實有改進之必要。
因此,本發明之主要目的即在於提供一種提升預先啟動執行環境之伺服端穩定度的方法及伺服端裝置。
本發明揭露一種提升一伺服端之穩定度的方法,該伺服端支援一預先啟動執行環境,該方法包含有於一用戶端透過該預先啟動執行環境進行開機時,指示該用戶端執行一第一網路引導程式;接收該第一網路引導程式所輸出之一請求訊號,該請求訊號用來請求該伺服端允許該用戶端下載一第二網路引導程式,該第二網路引導程式用來由該伺服端下載一作業系統;以及根據該伺服端之服務情形,輸出對應於該請求訊號之一回應訊號,以允許或禁止該用戶端下載該第二網路引導程式。
本發明另揭露一種可提升穩定度之伺服端裝置,該伺服端裝置支援一預先啟動執行環境,其包含有一處理器;以及一記憶體,用來儲存一程式,該程式用來指示該處理器執行以下步驟:於一用戶端透過該預先啟動執行環境進行開機時,指示該用戶端執行一第一網路引導程式;接收該第一網路引導程式所輸出之一請求訊號,該請求訊號用來請求該伺服端允許該用戶端下載一第二網路引導程式,該第二網路引導程式用來由該伺服端下載一作業系統;以及根據該伺服端之服務情形,輸出一回應訊號,以允許或禁止該用戶端下載該第二網路引導程式。
習知PXE開機流程的主要缺點在於TFTP規範對於所有用戶端要求,都是來者不拒,以致無法限制用戶端的數量,造成系統當機或運作速度變慢。要改善此缺點,由於無法修改第三方編寫之NBP程式的TFTP等待時間,所以只能增加伺服端的效能或以人為的動作,來限制用戶端的數目,以確保每一個用戶端都能PXE開機成功。在此情形下,為了在不修改既有PXE系統的設定,也不更動用戶端的原始設定下,改善習知PXE的缺點,本發明導入一詢答機制,由用戶端先詢問TFTP的狀況,使伺服端可據以控制後續流程的進行。而此詢答機制的具體實現係透過一新增之輔助NBP,並適當修改TFTP之流程,以決定是否允許用戶端下載用來取得作業系統的NBP(以下稱其為傳統NBP)。
詳細來說,請參考第2圖,第2圖為本發明實施例一PXE開機運作方式之示意圖。如第2圖所示,當啟動開機後,用戶端的基本輸出輸入系統會執行開機測試等流程,接著將執行權交給開機程式。由開機程式取得執行權到用戶端取得作業系統分為五個階段,分別為B1、B2、B3、B4、B5。在階段B1,開機程式向伺服端的DHCP單元提出服務需求,則DHCP單元會分配網路位址給用戶端,並指示相關於TFTP與輔助NBP的資訊。在階段B2,開機程式根據DHCP單元所提供的資訊,向伺服端的TFTP單元提出下載需求,以取得輔助NBP並將輔助NBP儲存於記憶體中。在階段B3,開機程式將執行權交給輔助NBP,輔助NBP會向伺服端的TFTP單元提出下載傳統NBP的請求。若TFTP單元允許用戶端下載傳統NBP,則進入階段B4;反之,則維持在階段B3,等待伺服端的允許。當輔助NBP取得TFTP單元的許可後,在階段B4,輔助NBP會向TFTP單元提出下載需求,以取得傳統NBP並將傳統NBP儲存於記憶體中。最後,在階段B5,輔助NBP將執行權交給傳統NBP,則傳統NBP會向TFTP單元提出下載需求,以取得作業系統並將作業系統儲存於記憶體中。在階段B5得作業系統後,傳統NBP會將執行權交給作業系統,由作業系統完成開機程序。
因此,比較第1圖及第2圖可知,本發明係修改TFTP流程(階段B2),並增加詢問TFTP狀況的機制(階段B3、B4),換言之,第2圖中階段B1、B5與第1圖中階段A1、A3係相同運作方式。此外,需注意的是,在PXE架構中,用戶端僅具有被動執行NBP的功能,換言之,本發明不需對用戶端的軟、硬體進行任何修改,僅需於伺服端中增加輔助NBP的下載機制,並修改TFTP的運作程序,因而可大幅降低具體實現時的複雜度或困難度。
進一步地,在第2圖中,階段B3係用戶端詢問伺服端相關於TFTP的狀況。因此,伺服端的TFTP單元可預設用戶端數量的判斷機制。例如,當同時下載的用戶端未達一預設上限值時,若有一用戶端要求下載傳統NBP,則TFTP單元可允許其進行下載(即進入階段B4)。反之,若同時下載的用戶端已達預設上限值時,若有一用戶端要求下載傳統NBP,則TFTP單元不會允許其進行下載(即維持在階段B3)。在階段B3中,若用戶端未受到伺服端的允許,則用戶端會保持在等待的狀態下,並持續詢問TFTP單元,直到得到允許進入階段B4為止。由於用戶端會詢問TFTP的狀況,且在未得到許可之前,會持續等待,不進行其他動作,因此伺服端可以藉此控制用戶端PXE開機的優先順序。
也就是說,當同時下載的用戶端已達預設上限值時,後續要求下載傳統NBP的用戶端皆會保持在等待狀態下;此時,若有一用戶端完成下載,而使伺服端可提供下載服務給等待狀態下的用戶端時,伺服端可依預設的判斷邏輯,設定用戶端的優先順序,並依照這個順序,給予用戶端許可。而優先順序的決定依據,可以是以提出下載請求的時間為準,或是依用戶端的型號、優先程度等為判斷依據,且不限於此。若伺服端係以提出下載請求的時間為準,則當用戶端提出下載請求時,TFTP單元應記錄用戶端的識別資料(如網路位址)及提出請求的時間,然後依照時間的先後順序,給予用戶端許可,讓等待最久的用戶端優先執行。此外,若伺服端係依用戶端的型號為決定依據,則輔助NBP應先從用戶端的基本輸出輸入系統裡,取得系統資訊,再將此系統資訊伴隨下載請求傳送給TFTP單元,使TFTP單元可據以依照型號的順序,給予用戶端許可,讓特定型號的用戶端優先執行。
需注意的是,前述依提出下載請求的時間或用戶端型號來判斷用戶端優先順序的做法僅為本發明可行之實施例,實際上,伺服端決定優先順序的依據不限於此,亦可以同時考慮提出下載請求的時間及用戶端型號,或是依其他資訊進行判斷。而此優先順序判斷機制的實現同樣不涉及用戶端的軟、硬體架構,而僅需調整TFTP流程或輔助NBP的內容。
另一方面,由於輔助NBP會詢問伺服端的TFTP狀況,若無法得到許可,則會保持在等待狀態,因此可確保用戶端的等待時間不會過期,而且每一個用戶端都可以順利開機,僅有先後順序上的差別。換言之,本發明不需修改第三方編寫之NBP程式的TFTP等待時間,即可確保用戶端的等待時間不會過期,且每一個用戶端都可以順利開機。更重要的是,伺服端可透過排程或優先權控制的機制,避免過多用戶端同時進行下載,因而可防止伺服端毀損或用戶端放棄開機的情形。
在習知技術中,若同時間過多的用戶端同時下載檔案,則會對伺服端的TFTP單元造成很大的負擔,可能導致反應速度及下載速度變慢,甚至可能造成伺服端當機。相較之下,本發明導入一詢答機制,由用戶端先詢問TFTP的狀況,使伺服端可據以控制後續流程的進行。而此詢答機制的實現不會更動用戶端的軟、硬體結構,僅需適度修改TFTP流程及增加輔助NBP,因而可有效降低具體實現時的複雜度或困難度。
由於本發明僅需修改伺服端的運作,因此以下進一步將伺服端中相關於詢答機制的運作方式歸納為一流程30,如第3圖所示。流程30可提升伺服端之穩定度,包含有以下步驟:
步驟300:開始。
步驟302:於一用戶端透過PXE進行開機時,指示該用戶端執行輔助NBP。
步驟304:接收輔助NBP所輸出之一請求訊號,該請求訊號用來請求伺服端允許該用戶端下載傳統NBP。
步驟306:根據伺服端之服務情形,輸出對應於該請求訊號之一回應訊號,以允許或禁止該用戶端下載傳統NBP。
步驟308:結束。
流程30之詳細說明與可能之變化可參考前文,於此不贅述。另一方面,在硬體實現方面,可以軟體、韌體等方式,將流程30轉換為一程式,並儲存於一記憶體中,以指示一處理器執行流程30之步驟。此等將流程30轉換為適當程式以實現對應之伺服端裝置,應為本領域具通常知識者所熟習之技藝。
綜上所述,針對PXE開機流程,本發明導入一詢答機制,由用戶端先詢問TFTP的狀況,使伺服端可據以控制後續流程的進行。而此詢答機制的實現不會更動用戶端的軟、硬體結構,僅需適度修改TFTP流程及增加輔助NBP,因而可有效降低具體實現時的複雜度或困難度,同時可確保用戶端的等待時間不會過期,而且每一個用戶端都可以順利開機。更重要的是,本發明可有效避免過多用戶端同時進行下載,進而防止伺服端毀損或用戶端放棄開機。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
A1、A2、A3、B1、B2、B3、B4、B5...階段
30...流程
300、302、304、306、308...步驟
第1圖為習知技術中PXE開機運作方式之示意圖。
第2圖為本發明實施例PXE開機運作方式之示意圖。
第3圖為本發明實施例一流程30之示意圖。
B1、B2、B3、B4、B5...階段
Claims (12)
- 一種提升一伺服端之穩定度的方法,該伺服端支援一預先啟動執行環境,該方法包含有:於一用戶端透過該預先啟動執行環境進行開機時,該伺服端指示該用戶端下載並執行一第一網路引導程式;該伺服端接收該用戶端執行該第一網路引導程式所輸出之一請求訊號,該請求訊號用來請求該伺服端允許該用戶端下載一第二網路引導程式,該第二網路引導程式用來由該伺服端下載一作業系統;以及根據該伺服端之服務情形,該伺服端輸出對應於該請求訊號之一回應訊號,以於該伺服端無法提供下載該第二網路引導程式之服務予該用戶端時,禁止該用戶端下載該第二網路引導程式。
- 如請求項1所述之方法,其中根據該伺服端之服務情形,輸出對應於該請求訊號之該回應訊號之步驟,係於該伺服端尚可提供下載該第二網路引導程式之服務予該用戶端時,輸出該回應訊號,以允許該用戶端下載該第二網路引導程式。
- 如請求項1所述之方法,其另包含:設定該用戶端下載該第二網路引導程式之一順序;以及根據該順序,對該用戶端下載該第二網路引導程式之運作進行 排程。
- 如請求項3所述之方法,其中設定該用戶端下載該第二網路引導程式之該順序之步驟,係根據該第一網路引導程式輸出該請求訊號的時間,設定該順序。
- 如請求項3所述之方法,其中設定該用戶端下載該第二網路引導程式之該順序之步驟,係根據該用戶端之一特徵,設定該順序。
- 如請求項5所述之方法,其中該特徵係該用戶端之一型號。
- 一種可提升穩定度之伺服端裝置,該伺服端裝置支援一預先啟動執行環境,其包含有:一處理器;以及一記憶體,用來儲存一程式,該程式用來指示該處理器執行以下步驟:於一用戶端透過該預先啟動執行環境進行開機時,該伺服端指示該用戶端下載並執行一第一網路引導程式;該伺服端接收該用戶端執行該第一網路引導程式所輸出之一請求訊號,該請求訊號用來請求該伺服端允許該用戶端下載一第二網路引導程式,該第二網路引導程式用來由該伺服端下載一作業系統;以及 根據該伺服端之服務情形,該伺服端輸出一回應訊號,以於該伺服端無法提供下載該第二網路引導程式之服務予該用戶端時,禁止該用戶端下載該第二網路引導程式。
- 如請求項7所述之伺服端裝置,其中根據該伺服端之服務情形,輸出對應於該請求訊號之該回應訊號之步驟,係於該伺服端尚可提供下載該第二網路引導程式之服務予該用戶端時,輸出該回應訊號,以允許該用戶端下載該第二網路引導程式。
- 如請求項7所述之伺服端裝置,其另包含:設定該用戶端下載該第二網路引導程式之一順序;以及根據該順序,對該用戶端下載該第二網路引導程式之運作進行排程。
- 如請求項9所述之伺服端裝置,其中設定該用戶端下載該第二網路引導程式之該順序之步驟,係根據該第一網路引導程式輸出該請求訊號的時間,設定該順序。
- 如請求項9所述之伺服端裝置,其中設定該用戶端下載該第二網路引導程式之該順序之步驟,係根據該用戶端之一特徵,設定該順序。
- 如請求項11所述之伺服端裝置,其中該特徵係該用戶端之一型號。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099120018A TWI502508B (zh) | 2010-06-18 | 2010-06-18 | 提升預先啟動執行環境之伺服端穩定度的方法及伺服端裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099120018A TWI502508B (zh) | 2010-06-18 | 2010-06-18 | 提升預先啟動執行環境之伺服端穩定度的方法及伺服端裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201201100A TW201201100A (en) | 2012-01-01 |
TWI502508B true TWI502508B (zh) | 2015-10-01 |
Family
ID=46755675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099120018A TWI502508B (zh) | 2010-06-18 | 2010-06-18 | 提升預先啟動執行環境之伺服端穩定度的方法及伺服端裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI502508B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070005950A1 (en) * | 2005-07-01 | 2007-01-04 | Novell, Inc. | System and method for enabling automated run-time input to network bootstrapping processes |
TWI278199B (en) * | 2004-03-26 | 2007-04-01 | Quanta Comp Inc | Deployment method and system for multiple remote computers |
TW200825920A (en) * | 2006-12-15 | 2008-06-16 | Inventec Corp | Network communication method |
-
2010
- 2010-06-18 TW TW099120018A patent/TWI502508B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI278199B (en) * | 2004-03-26 | 2007-04-01 | Quanta Comp Inc | Deployment method and system for multiple remote computers |
US20070005950A1 (en) * | 2005-07-01 | 2007-01-04 | Novell, Inc. | System and method for enabling automated run-time input to network bootstrapping processes |
TW200825920A (en) * | 2006-12-15 | 2008-06-16 | Inventec Corp | Network communication method |
Also Published As
Publication number | Publication date |
---|---|
TW201201100A (en) | 2012-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4113291B1 (en) | Request processing method, system on chip, and public cloud management component | |
JP5307706B2 (ja) | オペレーティングシステムの段階的ブート処理 | |
US9632798B2 (en) | Method and device for optimizing loading and booting of an operating system in a computer system via a communication network | |
US11194588B2 (en) | Information handling systems and method to provide secure shared memory access at OS runtime | |
JP2001356913A (ja) | Biosプリブート環境を利用したユーザ認証型ネットワークosブート方法及びシステム | |
US9836306B2 (en) | Parallelizing boot operations | |
US11671379B1 (en) | System and method for subscription management using dynamically composed management entities | |
CN107463388B (zh) | 一种uefi无盘启动方法 | |
US20100169629A1 (en) | Method for configuring computer by bios, server, computer, system startup method and computer system | |
US8370617B2 (en) | Booting method and computer system using the booting method | |
WO2021120830A1 (zh) | 操作系统的启动方法、装置、计算机设备及存储介质 | |
US20230222470A1 (en) | System and method for subscription based solution modification implementation | |
US20230221784A1 (en) | System and method for power state enforced subscription management | |
TW201428613A (zh) | 無盤工作站啟動系統及方法 | |
TW201222411A (en) | A method, a system and a computer program product for remote OS installation with monitoring | |
TW201117094A (en) | Basic input/output system capable of supporting multi-platforms and constructing method thereof | |
WO2013029354A1 (zh) | 外部设备扩展方法及外部设备 | |
JP6050528B2 (ja) | セキュリティ・コプロセッサ・ブート性能 | |
TWI502508B (zh) | 提升預先啟動執行環境之伺服端穩定度的方法及伺服端裝置 | |
US8539215B2 (en) | Protocol converter for performing protocol conversion between loading an OS image using a first protocol in communication with a remote disk drive and second protocol to be used to load boot loader in communication with a memory | |
JP4063573B2 (ja) | デバイスドライバの組み込み・実行方式、組み込み・実行方法、及びプログラム | |
CN114064135A (zh) | 服务器系统启动的方法、装置、电子设备及存储介质 | |
CN102299935B (zh) | 提升预启动执行环境的服务器稳定度的方法及服务器装置 | |
CN114138351B (zh) | 一种vmd功能自启动方法、系统及装置 | |
TWI811063B (zh) | 基本輸入輸出系統設定方法 |