TWI616758B - 遠端多電腦切換技術之儲存裝置、系統及方法 - Google Patents

遠端多電腦切換技術之儲存裝置、系統及方法 Download PDF

Info

Publication number
TWI616758B
TWI616758B TW105125798A TW105125798A TWI616758B TW I616758 B TWI616758 B TW I616758B TW 105125798 A TW105125798 A TW 105125798A TW 105125798 A TW105125798 A TW 105125798A TW I616758 B TWI616758 B TW I616758B
Authority
TW
Taiwan
Prior art keywords
computer
program
remote
server
remote multi
Prior art date
Application number
TW105125798A
Other languages
English (en)
Other versions
TW201743222A (zh
Inventor
李永富
Original Assignee
廣達電腦股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 廣達電腦股份有限公司 filed Critical 廣達電腦股份有限公司
Publication of TW201743222A publication Critical patent/TW201743222A/zh
Application granted granted Critical
Publication of TWI616758B publication Critical patent/TWI616758B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/24Keyboard-Video-Mouse [KVM] switch
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

遠端多電腦切換通信技術可包括故障回復的機制。在一些實施例中,系統可在系統上之控制台程序與伺服器上之控制器所執行的第一伺服器程序之間建立第一遠端多電腦切換通信。透過系統與控制器之間的第一網路連接可建立第一遠端多電腦切換通信。接著,系統可偵測與第一遠端多電腦切換通信相關的錯誤。回應於錯誤,系統可在控制台程序與由伺服器上之作業系統程式或基本輸入輸出程式所執行之第二伺服器程序之間建立第二遠端多電腦切換通信。透過在系統與第二伺服器程序之間的第二網路連接可建立第二遠端多電腦切換通信。

Description

遠端多電腦切換技術之儲存裝置、系統及方法
本發明係涉及一種遠端多電腦切換(remote keyboard,video,and mouse)通信(session)之協議及機制。
遠端管理軟體係日益普遍地運用,以使用戶遠端地控制或管理伺服器。實際上,現代伺服器(modern servers)一般包括可讓用戶從另一裝置遠端地連接至伺服器並控制伺服器之遠端多電腦切換(remote keyboard,video,and mouse,rKVM)功能(feature)。透過遠端多電腦切換功能,用戶可檢視伺服器的螢幕並存取伺服器的元件,例如鍵盤和滑鼠。遠端多電腦切換功能通常是藉由伺服器上之基板管理控制器(BMC)來操作。因此,遠端多電腦切換通信的可靠性及穩定度係絕大部分取決於基板管理控制器與遠端多電腦切換之網路連接。若基板管理控制器或遠端多電腦切換網路連接遇到問題時,遠端多電腦切換通信可能會變得不穩定。在許多例子中,當基板管理控制器或遠端多電腦切換網路連接遇到問題時,遠端多電腦切換通信會提前終止。且若上述問題一直持續, 用戶可能甚至無法重建遠端多電腦切換通信。這樣可能會非常困擾用戶,特別是當實體上存取伺服器是很困難或無法實行時。
本揭露之其他特色和優點將於下述說明中闡述,且部分將從說明中顯而易見或可從實施本文揭示原則時得知。本揭露之特色和優點可藉由從所附的申請專利範圍中特別指出之儀器和組合的方式來實現及獲得。本揭露之此些及其他特色將從下列說明及所附的申請專利範圍中變得更充分顯現,或可從實施本文所述之原理而得知。
揭露一種針對遠端多電腦切換通信的故障回復之技術。在部分實施例中,系統可在系統上之控制台程序與在伺服器上藉由控制器,例如基板管理控制器(BMC)所執行之第一伺服器程序之間建立第一遠端多電腦切換通信。透過在系統和伺服器上之控制器之間的第一網路連接可建立第一遠端多電腦切換通信。舉例來說,控制器可具有其自身通訊介面以透過網路與系統通訊。通訊介面可不同於由伺服器所使用的其他通訊介面以建立網路連接。
再者,系統可以偵測與第一遠端多電腦切換通信相關的錯誤。舉例來說,系統可以發送週期性命令給控制器及/或相關的伺服器程序,請求控制器回應。命令可請求與其他伺服器元件相關的網路位址,例如作業系統(operating system,OS)或者伺服器的基本輸入輸出系統(BIOS)。若經過一段時間閥值或一連串的嘗試閥值,系統仍然沒有收到回應,則可推定錯誤產生於第一遠端多電腦切換通信及/或系統與控制器之間的相關連接。
回應於錯誤,系統可在控制台程序與在伺服器上藉由作業系統或基本輸入輸出系統所執行之第二伺服器程序之間建立第二遠端多電腦切換通信。透過在系統與第二伺服器程序之間的第二網路連接可建立第二遠端多電腦切換通信。相對於(as opposed to)控制器,第二伺服器程序可由伺服器之作業系統或基本輸入輸出系統來執行或管理。再者,第二伺服器程序可透過與第一伺服器程序不同之通訊介面來建立與控制台程序的連接。用這種方式,即使控制器、第一伺服器程序及/或與控制器相關之通訊介面遇到錯誤或故障,第二伺服器程序仍然會持續作用及與控制台程序通訊。
100、150、200‧‧‧系統
102‧‧‧匯流排
104、132‧‧‧記憶體
106‧‧‧唯讀記憶體
108、168‧‧‧隨機存取記憶體
110‧‧‧控制器
112、166‧‧‧儲存裝置
114‧‧‧模組一
116‧‧‧模組二
118‧‧‧模組三
120‧‧‧輸入裝置
122、164‧‧‧輸出裝置
124、158、212‧‧‧通訊介面
126‧‧‧感測器
128‧‧‧快取記憶體
130、160‧‧‧處理器
134‧‧‧基本輸入輸出系統
136‧‧‧顯示器
152‧‧‧晶片
154‧‧‧電橋
156‧‧‧用戶介面元件
162‧‧‧韌體
170‧‧‧基板管理控制器
202‧‧‧網路
204‧‧‧用戶端
206‧‧‧遠端多電腦切換控制台
208‧‧‧作業系統
210‧‧‧顯示器記憶體
214‧‧‧影像元件
218‧‧‧主機連接
220‧‧‧基板管理控制器連接
222、224、226‧‧‧遠端多電腦切換伺服器程序
300、350‧‧‧流程
302、304、306、308、310、312、314、316、352、354、355、356、358、360、361、362、364、500、502、504‧‧‧步驟
400‧‧‧通訊流
402、404、406、408、410、412、414、416、418、420、422、424、426、428‧‧‧訊息
為了描述其中本揭露之上述及其他優點及特色可實現的方法,將藉由參照繪示於所附圖式的特定實施例來呈現上文簡要地描述之原理的更具體說明。要明白的是這些圖式僅示出本揭露之例示性實施例且非因而被視為限制其範圍,透過使用附圖以進一步之具體內容與細節來說明及解釋本文之原則,其中;第1A圖及第1B圖繪示例示性系統的實施例之示意圖;第2圖繪示遠端多電腦切換服務之系統的示意圖;第3A圖繪示遠端多電腦切換服務的例示性伺服器端處理(process)之示意圖;第3B圖描述遠端多電腦切換服務的例示性用戶端處理之示意圖; 第4圖繪示例示性遠端多電腦切換服務的通訊流之故障回復的示意圖;以及第5圖描述遠端多電腦切換服務之故障回復的例示性方法之示意圖。
接下來會詳細說明本揭露之各種實施例。當論述具體實施方式時,其應理解為僅用於說明用途。所屬技術領域中具有通常知識者將認知在不脫離本揭露之精神與範疇下可使用其他元件及配置。
下文揭露的是一種靈活且可靠之遠端管理程序之系統、方法及非暫存電腦可讀儲存媒體。首先文中揭露遠端多電腦切換之例示性系統及配置的簡要介紹說明。接下來將接續介紹遠端多電腦切換包含例示及變化之詳細說明。這些變化應根據闡述不同的實施例而在文中說明。本揭露首先參照第1A圖及第1B圖。
如本文所使用,遠端多電腦切換(rKVM)的術語是指遠端管理之任何軟體、協議、介面、韌體及/或硬體,例如:遠端桌面軟體,其可被用來透過網路遠端地存取或控制第一裝置、第二裝置的鍵盤、影像裝置(亦即,螢幕或影像控制台顯示器)、滑鼠以及任何其他元件,例如:儲存裝置或圖像、記憶裝置、周邊元件等。再者,遠端多電腦切換可以藉由使用一種或多種協議來實施像是遠端桌面協議(remote desktop protocol,RDP)、遠端幀緩衝(remote framebuffer,RFB)、獨立計算結構(independent computing architecture,ICA)、安全外殼協議(secure shell,SSH)、遠端登錄協議(telnet)、超文本傳輸協議(hypertext transfer protocol,HTTP)及/或其後繼物和等效物,包含遠端地存取或控制裝置之鍵盤、影像裝置、及滑鼠之專用協議。
如本文使用,「BIOS」及「基本輸入輸出系統」可以指任何韌體用於初始化系統的硬體元件、檢查系統的硬體元件、從記憶裝置載入啟動加載程式、從記憶裝置載入作業系統等。舉例來說,如本文所使用,BIOS及基本輸入輸出系統之術語可被認知為在本領域中習知作為基本輸入輸出系統之韌體或其後繼物或等效物,像是可延伸韌體介面(Extensible Firmware Interface,EFI)或是統一可延伸韌體介面(Unified Extensible Firmware Interface,UEFI)。
第1A圖和第1B圖繪示例示性系統的實施例。對所屬技術領域中具有通常知識者而言將顯而易見實施本發明時有許多適當實施例。所屬技術領域中具有通常知識者將輕易明白其他系統之實施例亦為可能的。
第1A圖繪示匯流排電腦系統結構之系統100,其中系統之元件使用匯流排102相互電性連接。此例示性系統100包括處理單元(中央處理器(CPU)或處理器130)以及耦接各種系統元件至處理器130之系統匯流排102,系統元件包括系統記憶體104,像是唯讀記憶體(ROM)106及隨機存取記憶體(RAM)108。系統100可包括直接連結於、緊鄰於或整合為處理器130之一部分的高速快取記憶體。系統100可藉著處理器130從記憶體104及/或儲存裝置112複製資料至快取記憶體128以快速存取。因此,快取記憶體可以藉由避免處理器130等待資料時延遲來提升表現。這些及其他模組可被控制或配置以控制處理器130來執行不同的作動。其他系統的記憶體104也是可行的。記憶體104可包含具有不同表現特性之許多不同類的記憶體。處理器130可包括任何通用處理器及硬體模組或軟體模組,像是儲存在儲存裝置112的模組一114、模組二116、及模組三118配置以控 制處理器,以及其中軟體指令整合入實際處理器設計(actual processor design)之專用處理器。處理器130可實質上為包含多核心或處理器、匯流排、記憶體控制器、快取記憶體等的完全獨立電腦系統(completely self-contained computing system)。多核心的處理器可能是對稱或是非對稱的。
為了讓用戶與電腦裝置系統100互動,輸入裝置120可以表示任何數量之輸入機制,像是語音輸入之麥克風、手勢或圖像輸入的觸控式螢幕、鍵盤、滑鼠、動作輸入(motion input)、語音(speech)等。輸出裝置122亦可為本領域所習知的一或多種輸出機制。在某些例子中,多模組的系統可以提供多種型態的輸入讓用戶與電腦裝置系統100進行通訊。通訊介面124一般可主控(govern)及管理用戶輸入及系統輸出。在任何特定硬體配置之操作上是沒有限制的,且因此隨著硬體或韌體配置的開發,文中基本特徵可輕易取代為改良之硬體或韌體配置。
儲存裝置112是非揮發性記憶體,像是非揮發性記憶體(NVMe)驅動器,且可以是可儲存由電腦存取的資料之硬碟或是其他形式的電腦可讀媒體,例如磁式卡帶(magnetic cassettes)、快閃記憶卡(flash memory cards)、固態記憶裝置(solid state memory devices)、數位光碟(digital versatile disks)、磁帶盒(cartridges)、隨機存取記憶體(RAM)108、唯讀記憶體(ROM)106及其混合物等。
為了控制處理器130,儲存裝置112可以包含軟體模組一114、模組二116、模組三118。其他硬體模組或軟體模組亦擬為提出。儲存裝置112可與系統匯流排102連結。在一態樣中,執行特定功能的硬體模組可以包括儲存在電腦可讀媒體內的軟體元件,與所需硬體模組相連,例如處理器130、匯流排102、顯示器136等,以執行功能。
控制器110可能是系統100上專用微控制器或處理器,例如BMC(基板管理控制器)。在某些實例中,控制器110可能是智慧平台管理介面(Intelligent Platform Management Interface,IPMI)的一部分。再者,在某些實例中,控制器110可以被裝載在系統100的主機板或主要電路板上。控制器110可以管理在系統管理軟體和硬體平台之間的介面。控制器110亦可與各種系統裝置及元件(內部及/或外部)通訊,例如其他控制器或周邊元件,如進一步於下文所述。
控制器110可對通知、警告、及/或事件產生特定回應且與遠端裝置或元件進行通訊(例如:電子信箱訊息、網路訊息等),針對自動硬體復原程序(automatic hardware recovery procedures)產生指令或命令等。管理者可與控制器110遠端通訊,以初始化或進行特定的硬體復原程序或操作,如進一步於下文所述。
在系統100上的不同感側器(例如感測器126)可以向控制器110報告參數,例如冷卻風扇的轉速、電源狀態、作業系統(OS)狀態、硬體狀態等。 控制器110亦可以包括系統事件日誌(system event log)控制器及/或儲存器以管理及維持由控制器110接收之事件、警告及通知。舉例來說,控制器110或系統事件日誌控制器可接收來自一或多個裝置及元件的警告或通知,且在系統事件日誌儲存元件中維持警告或通知。
快閃記憶體(Flash memory)132可以是電子非揮發性電腦儲存媒體或晶片,電子非揮發性電腦儲存媒體或晶片可被系統100使用以儲存及/或傳輸資料。快閃記憶體132可被電子式消除及/或重新程式化。舉例來說,快閃記憶體132可包括可抹除可編程唯讀記憶體(erasable programmable read-only memory,EPROM)、電子可抹除可編程唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、或互補式金屬氧化物半導體(complementary metal-oxide semiconductor,CMOS)。當系統100首先電源開啟時,快閃記憶體132可以儲存由系統100執行的基本輸入輸出系統(BIOS)134之韌體,連同一組基本輸入輸出系統134的專用組態。快閃記憶體132亦可以儲存由基本輸入輸出系統134使用的組態。
每次系統100啟動時,基本輸入輸出系統134可以載入並執行作為順序程式。基本輸入輸出系統134可以基於該組組態識別、初始化、並測試系統100中存在的硬體。基本輸入輸出系統134可在系統100上執行自我測試,例如開機自我測試(Power-on-Self-Test,POST)。自我測試可以測試不同硬體元件的功能,例如硬式磁碟機(hard disk drives)、光學讀取裝置(optical reading devices)、冷卻裝置、記憶模組、擴充卡(expansion cards)等。為了儲存作業系統(OS),基本輸入輸出系統134可尋址並分配記憶體104、唯讀記憶體106、隨機存取記憶體108及/或儲存裝置112之區域。基本輸入輸出系統134可載入啟動加載程式及/或作業系統,且將系統100之控制轉予作業系統。
系統100之基本輸入輸出系統134可包含韌體組態,其定義基本輸入輸出系統134如何控制系統100中不同的硬體元件。韌體組態可以決定系統100中不同的硬體元件啟動之順序。基本輸入輸出系統134可以提供允許不同的參數設定之介面,例如統一可延伸韌體介面(UEFI),參數設定可不同於韌體預設組態的參數。舉例來說,用戶(例如,管理者)可使用基本輸入輸出系統134以指定時序和匯流排的速度,定義附接至系統100的周邊元件,監控健康狀況(例如風扇轉 速及CPU溫度限制),及/或提供影響系統100之整體表現及電源使用的各種其他參數。
雖然基本輸入輸出系統134被示出為儲存於快閃記憶體132,然而所屬技術領域中具有通常知識者將輕易認知到基本輸入輸出系統134可以被儲存到其他記憶元件,例如記憶體104或唯讀記憶體106。然而,基本輸入輸出系統134被示出為儲存在快閃記憶體132作為非限制性示例以用於說明目的。
系統100可包含一或多個感測器126。舉例來說,一或多個感測器126也可以包含,一或多個溫度感測器、熱感測器、氧氣感測器、化學感測器、噪音感測器、熱感測器、電流感測器、電壓偵測器、空氣流量感測器、流量感測器、紅外線溫度計、熱流量感測器、溫度計、高溫計等。舉例來說,一或多個感測器126也可以藉由匯流排102與處理器、快取記憶體128、快閃記憶體132、通訊介面124、記憶體104、唯讀記憶體106、隨機存取記憶體108、控制器110及儲存裝置112進行通訊。
在系統100中,不同元件(例如感測器126、處理器130、控制器110、儲存裝置112等)可以透過一種或多種不同方法與系統100中其他元件通訊,例如內部積體電路匯流排(inter-integrated circuit bus,I2C bus)、系統管理匯流排(system management bus,SMBus)、增強型串列週邊介面(enhanced serial peripheral interface,eSPI)、低接腳數(low pin count,LPC)、通用串列通訊介面(general purpose input/output interface,GPIO interface)、周邊裝置元件快速連接介面(peripheral component interconnect express interface,PCIe interface)等。
第1B圖繪示具有晶片結構的例示性電腦系統150,具有晶片結構的電腦系統可以被使用來執行描述方法或操作,且生成並顯示圖形化使用者介 面(graphical user interface,GUI)。電腦系統150可包括可被用於執行所揭露技術之電腦硬體、軟體、及韌體。系統150可包括處理器160,表示可執行配置以實行不同運算之軟體、韌體、及硬體的任意數量之物理及/或邏輯上的不同資源。 處理器160可與晶片152進行通訊,晶片152可以控制處理器160的輸入和輸出。 在這個實例,晶片152對輸出裝置164輸出資訊,例如顯示器,且可從儲存裝置166讀取和寫入資訊,舉例來說,儲存裝置166可以包括磁性媒體、固態或非揮發性媒體(例如NVMe)。晶片152可以從隨機存取記憶體168讀取和寫入資料。用來互相連接不同的使用者介面元件156之電橋154也提供與晶片152的互相連接。這樣的使用者介面元件156可包括鍵盤、麥克風、碰觸偵測、處理電路、指向元件(pointing device),例如滑鼠等。大致來說,系統150的輸入可能來自於機器及/或人類所製造的不同來源。
晶片152可以跟一個或多個通訊介面158互相連接,通訊介面158可具備不同的物理介面。這樣的通訊介面可包含有線及無線的區域網路介面、廣域無線網路介面、以及私人區域網路介面。本文所揭露之用於產生、顯示和使用圖形化使用者介面的一些方法程序,可包括透過物理介面接收排序資料集(ordered datasets)或為機器本身藉由處理器160分析儲存於儲存裝置166或隨機存取記憶體168之資料所產生。再者,機器可透過使用者介面元件156接收來自用戶之輸入且執行適當的功能(functions),例如使用處理器160解譯(interpreting)此些輸入之瀏覽功能(browsing functions)。
再者,晶片152可以跟韌體162通訊,當電源開啟時,韌體162可以電腦系統150執行。根據韌體162的組態設定,韌體162可以識別、初始化和測試存在於電腦系統150的硬體。韌體162可在系統150上執行自我測試,例如 POST。自我測試可以測試不同硬體元件(152-168)的功能性。韌體162可以尋址及分配隨機存取記憶體168之區域,以儲存作業系統。韌體162可以載入啟動加載程式及/或作業系統,且交予系統控制權至作業系統。在某些狀況,韌體162可以與硬體元件(152-160及164-168)通訊。此處,透過晶片152及/或一或多個其他元件,韌體162可以與硬體元件(152-160及164-168)通訊。在某些狀況,韌體162可以直接地與硬體元件(152-160及164-168)通訊。
再者,晶片152可以與基板管理控制器170通訊。基板管理控制器170可能是專用處理器或是控制器,其可執行管理、監測、及控制操作,相似於前述參照第1A圖所述之控制器110。舉例來說,基板管理控制器170可以監視系統150和其他任意元件、產生日誌、發送控制訊號至一個或多個特定元件、及/或與其他裝置元件進行通訊、或是透過可為獨立網路連接之網路連接來管理。
可明白的是例示性系統100和系統150可具有一個以上之處理器(例如處理器130及160),或是為透過網路連接在一起之電腦裝置群組或叢集的一部分,以提供更好的處理能力。
第2圖說明遠端多電腦切換(rKVM)的系統200之示意圖。透過網路202,用戶端204可與系統150建立遠端多電腦切換通信。網路202可包含一個或多個網路。再者,網路202可以包括公共網路,例如網際網路(Internet),也可以包括私人網路,例如區域網路(local area network,LAN),及/或也包括上述兩者的結合,例如虛擬私人網路(virtual private network,VPN)。
透過網路的連結,用戶端204之系統可為任何計算裝置,例如桌上型電腦、筆記型電腦、平板電腦、智慧型手機。用戶端204之系統可包含用於 遠端多電腦切換的遠端多電腦切換控制台206,其可用於以系統150上的遠端多電腦切換伺服器程序222-226建立遠端多電腦切換通信。
為了透過網路202建立和維持網路連結,系統150可包括通訊介面158。系統150亦可包括用於執行各種指令並控制不同元件、操作及通訊之處理器160及基板管理控制器170。系統150亦可包括作業系統(OS)208,作業系統208被儲存在系統150上的儲存裝置,例如儲存裝置166。作業系統208可管理系統的硬體和軟體資源,並提供電腦程式服務。再者,透過網路202,作業系統208可以使用通訊介面158去連結其他裝置。透過網路202,作業系統208可以使用分配給作業系統208之指定網路位址(例如,網際網路協議位址)去通訊。
透過網路202,基本輸入輸出系統(韌體162)可以使用通訊介面158去通訊。透過網路202,基本輸入輸出系統(韌體162)可以使用分配給基本輸入輸出系統(韌體162)之指定網路位址去通訊。分配給基本輸入輸出系統(韌體162)的網路位址可不同於分配給作業系統208的網路位址。然而,在某些狀況下,當作業系統208在載入和運行時,基本輸入輸出系統(韌體162)可能不會發送或接收網路通訊。因此,在某些狀況下,基本輸入輸出系統(韌體162)可分配與作業系統208相同的網路位址,而不會造成位址衝突。
基板管理控制器170可以包含針對影像之影像元件214,例如視頻圖形陣列(video graphics array,VGA)。影像元件214可以包括針對影像之指定硬體及/或軟體。為了透過網路202建立網路連接,基板管理控制器170亦可以包含通訊介面212。為了讓基板管理控制器170可透過網路202進行通訊,在基板管理控制器170上的通訊介面212可以使用分配給通訊介面212的網路位址。分配給通訊介面212的網路位址(且因而對基板管理控制器170)可不同於分配給基本輸入 輸出系統(韌體162)及作業系統208的網路位址。因此,在某些示例中,系統150可能針對基本輸入輸出系統(韌體162)、作業系統208及基板管理控制器170具有不同網路位址。
系統150可以包括顯示器記憶體210,顯示器記憶體也包括分配給影像使用的記憶體。顯示器記憶體210可包括硬體記憶元件,例如隨機存取記憶體及/或虛擬記憶體,例如邏輯資料(logical file)或碟片(disk)。系統150亦可以包括晶片152,晶片152可以管理在處理器160、儲存裝置166、基本輸入輸出系統(韌體162)、基板管理控制器170、顯示器記憶體210和其他任何元件之間的資料流。 晶片152可以使不同的元件產生帶內連接(in-band connections)。
系統150可包括由作業系統208主控(hosted)的遠端多電腦切換伺服器程序224、由基本輸入輸出系統(韌體162)主控的遠端多電腦切換伺服器程序222及/或由基板管理控制器170主控的遠端多電腦切換伺服器程序226。遠端多電腦切換伺服器程序222-226可用於建立及維持與用戶端204之系統之遠端多電腦切換控制台206之程序的遠端多電腦切換通信。
在基板管理控制器170的遠端多電腦切換伺服器程序226可使用在基板管理控制器170的通訊介面212,去透過網路202與用戶端204之系統之遠端多電腦切換控制台206之程序建立基板管理控制器170的連結。再者,在基本輸入輸出系統(韌體162)的遠端多電腦切換伺服器程序222與作業系統208的遠端多電腦切換伺服器程序224可以使用系統150之通訊介面158,以透過網路202與用戶端204之系統的遠端多電腦切換控制台206之程序建立主機連接218。主機連接218與基板管理控制器連接220可與用戶端204之系統的遠端多電腦切換控制台206之程序透過網路202進行遠端多電腦切換通信。
再者,主機連接218和基板管理控制器連接220可以使用不同的網路位址透過網路202去和遠端多電腦切換控制台206之程序與用戶端204之系統進行通訊。舉例來說,基板管理控制器連接220可基於分配給基板管理控制器170的網路位址,而主機連接218可基於分配給根據作業系統208及/或基本輸入輸出系統(韌體162)的一個或多個不同網路位址。
遠端多電腦切換伺服器程序222-226可用於提供遠端多電腦切換通信的故障回復。舉例來說,藉由基板管理控制器連接220,遠端多電腦切換控制台206之程序可以建立與遠端多電腦切換伺服器程序226的遠端多電腦切換通信。遠端多電腦切換控制台206之程序可以週期性地向基板管理控制器170發送命令,請求基本輸入輸出系統(韌體162)及/或作業系統208的網路位址。遠端多電腦切換控制台206之程序可週期性地自基板管理控制器170接收基本輸入輸出系統(韌體162)及/或作業系統208的網路位址。若遠端多電腦切換控制台206之程序偵測到與遠端多電腦切換伺服器程序226透過基板管理控制器連接220之目前遠端多電腦切換通信有錯誤或故障,則遠端多電腦切換控制台206之程序可以使用基本輸入輸出系統(韌體162)及/或作業系統208的網路位址來持續遠端多電腦切換通信,或透過主機連接218建立新的遠端多電腦切換通信。
遠端多電腦切換控制台206之程序可以基於事件偵測錯誤或故障,例如封包丟失、連接退化、用戶輸入、遠端多電腦切換伺服器程序226未回應之判斷、或是其他任何因素。舉例來說,若遠端多電腦切換控制台206之程序一段時間無法自遠端多電腦切換伺服器程序226接收一或多個回應,則遠端多電腦切換控制台206之程序會偵測到問題。為了說明,如前文所述,遠端多電腦切換控制台206之程序可週期地發送命令至遠端多電腦切換伺服器程序226,請求 基本輸入輸出系統(韌體162)及/或作業系統208的網路位址。因此,若遠端多電腦切換控制台206之程序有一段時間無法自遠端多電腦切換伺服器程序226接收回應、一段時間內為特定數量之遠端多電腦切換伺服器程序226回應、及/或超過一臨界值之回應延遲,則遠端多電腦切換控制台206之程序會偵測到故障。
當遠端多電腦切換控制台206之程序偵測到錯誤,其可觸發與遠端多電腦切換伺服器程序222或224透過主機連接218之連接。因此,透過主機連接218,遠端多電腦切換控制台206之程序可與遠端多電腦切換伺服器程序222或224連接,以持續或重新建立與系統150的遠端多電腦切換通信。以這樣的方式,即使基板管理控制器170、遠端多電腦切換伺服器程序226、通訊介面212及/或基板管理控制器連接220遇到問題或故障,遠端多電腦切換控制台206之程序仍然會持續或維持與系統150的遠端多電腦切換通信,否則這些問題或故障可能會影響遠端多電腦切換控制台206之程序與遠端多電腦切換伺服器程序226之間的遠端多電腦切換通信。
透過主機連接218與遠端多電腦切換伺服器程序222或224之遠端多電腦切換通信期間,遠端多電腦切換控制台206之程序可週期性地發送命令至遠端多電腦切換伺服器程序222或224,請求基板管理控制器170及遠端多電腦切換伺服器程序226的網路位址。因此,遠端多電腦切換控制台206之程序週期性地接收來自遠端多電腦切換伺服器程序222及224的回應,驗證基板管理控制器170和遠端多電腦切換伺服器程序226的網路位址。遠端多電腦切換控制台206之程序可監測回應,以偵測如之前所述的任何錯誤或故障。當遠端多電腦切換控制台206之程序偵測到錯誤或故障,透過基板管理控制器連接220,遠端多電腦切換控制台206之程序可再次連接至遠端多電腦切換伺服器程序226,以持續或 重新建立與系統150的遠端多電腦切換通信。以此方式,即使主機連接218(例如基本輸入輸出系統(韌體162)、作業系統208、通訊介面158)遇到問題,遠端多電腦切換控制台206之程序仍然可維持與系統150的遠端多電腦切換通信。
基板管理控制器170、基本輸入輸出系統(韌體162)和作業系統208可互相交換其各別網路位址,所以可各自提供其餘之網路位址給遠端多電腦切換控制台206之程序,以回應於從遠端多電腦切換控制台206的程序所接受之請求或命令。舉例來說,透過帶內連接,基板管理控制器170、基本輸入輸出系統(韌體162)和作業系統208可互相交換其各自的網路位址。當基板管理控制器170自遠端多電腦切換控制台206之程序接收基本輸入輸出系統(韌體162)及/或作業系統208的網路位址之請求時,透過帶內連接,基板管理控制器170可回應自基本輸入輸出系統(韌體162)及/或作業系統208所接收的網路位址。
使用各別之遠端多電腦切換伺服器程序222-226,基板管理控制器170、基本輸入輸出系統(韌體162)及作業系統208可互相交換其各別網路位址。舉例來說,遠端多電腦切換伺服器程序222-226之每一個可被配置以報告其各自網路位址至其他遠端多電腦切換伺服器程序222-226。在一些示例中,基本輸入輸出系統(韌體162)及作業系統208可各別包括程式設計以分別回報基本輸入輸出系統(韌體162)和作業系統208的網路位址給基板管理控制器170,且自基板管理控制器170取得基板管理控制器的網路位址。這些程式可為獨立的程式或被合併在遠端多電腦切換伺服器程序222及224中。再者,這些程式可透過帶內連接來通訊,例如LPC、SMBus、I2C、eSPI、PCIe等。
第3A圖繪示遠端多電腦切換服務的例示性伺服器端流程300之示意圖。在步驟302,伺服器系統150電源開啟且啟動基板管理控制器170及基本 輸入輸出系統(韌體162)。在步驟304,基板管理控制器170發動其遠端多電腦切換伺服器程序226,且在步驟306,基本輸入輸出系統(韌體162)發動其遠端多電腦切換伺服器程序222。
在步驟308,基本輸入輸出系統(韌體162)發送其網路位址(例如IP位址)給基板管理控制器170,並且從基板管理控制器170取得基板管理控制器170的網路位址。基本輸入輸出系統(韌體162)透過帶內連接及命令與基板管理控制器170進行通訊。
在步驟310,基板管理控制器170發送基本輸入輸出系統(韌體162)的網路位址給遠端用戶端204之系統中的遠端多電腦切換控制台206之程序。回應於從遠端多電腦切換控制台206之程序所接收到的命令或請求,基板管理控制器170發送基本輸入輸出系統的網路位址。舉例來說,基板管理控制器170可自遠端多電腦切換控制台206之程序接收命令,請求基本輸入輸出系統的網路位址,而且在步驟310回應包括基本輸入輸出系統的網路位址之訊息至遠端多電腦切換控制台206之程序。
在某些狀況中,步驟310可執行多次。舉例來說,基板管理控制器170可週期性地發送基本輸入輸出系統(韌體162)的網路位址給遠端多電腦切換控制台206之程序。基板管理控制器170亦可週期性地自遠端多電腦切換控制台206之程序接收命令或請求,其可觸發基板管理控制器170週期性地發送基本輸入輸出系統(韌體162)的網路位址給遠端多電腦切換控制台206之程序。
在步驟312,伺服器系統150可啟動作業系統208且自作業系統208發動遠端多電腦切換伺服器程序224。在步驟314,基板管理控制器170和作業系統208可彼此交換網路位址。舉例來說,作業系統208可運行程式,此程式請求 基板管理控制器170的網路位址,且回報作業系統208的網路位址給基板管理控制器170。此程式可能是獨立程式或可為由作業系統208所主控之遠端多電腦切換伺服器程序224的一部分。
在步驟316,基板管理控制器170可發送作業系統208的網路位址給遠端多電腦切換控制台206之程序。回應於來自遠端多電腦切換控制台206之程序的命令或請求,基板管理控制器170可發送作業系統208的網路位址給遠端多電腦切換控制台206之程序。此外,基板管理控制器170可以不同次數發送作業系統208之網路位址。舉例來說,回應於來自遠端多電腦切換控制台206之程序的週期性命令或請求,基板管理控制器170週期性地發送作業系統208的網路位址。
第3B圖繪示遠端多電腦切換服務的例示性用戶端流程350之示意圖。在步驟352,用戶端204之系統可發動遠端多電腦切換控制台206之程序。 在步驟354,遠端多電腦切換控制台206之程序可與基板管理控制器的遠端多電腦切換伺服器程序226連接,以建立遠端多電腦切換通信。遠端多電腦切換控制台206之程序可使用基板管理控制器170的網路位址透過基板管理控制器連接220而與遠端多電腦切換伺服器程序連接。
在步驟355,透過現有的遠端多電腦切換通信,遠端多電腦切換控制台206之程序可以基板管理控制器之遠端多電腦切換伺服器程序226執行遠端多電腦切換功能。遠端多電腦切換功能可以是由遠端多電腦切換控制台206之程序所使用之命令,以查詢(query)基板管理控制器之遠端多電腦切換伺服器程序226及/或確認通信狀態(例如啟動運作、未啟動等)或顯示器記憶體的資料。
在步驟356,遠端多電腦切換控制台206之程序可發送命令給基板管理控制器170,請求基本輸入輸出系統(韌體162)及/或作業系統208的網路位址。遠端多電腦切換控制台206之程序可發送命令多次。舉例來說,基於時間間隔或事件,遠端多電腦切換控制台206之程序可週期性地發送命令。
在步驟358,遠端多電腦切換控制台206之程序可判斷遠端多電腦切換控制台206之程序是否已自基板管理控制器170接收對命令之回應。當遠端多電腦切換控制台206之程序收到回應,流程350回到步驟355,其中遠端多電腦切換控制台206之程序可與遠端多電腦切換伺服器程序226繼續遠端多電腦切換通信。在步驟360,當遠端多電腦切換控制台206之程序沒有收到回應,則遠端多電腦切換控制台206之程序連接至遠端多電腦切換伺服器程序222或224。使用在步驟356中自基板管理控制器170所接收之網路位址資訊,遠端多電腦切換控制台206之程序可連接遠端多電腦切換伺服器程序222或224。
藉由連接遠端多電腦切換伺服器程序222或224,遠端多電腦切換控制台206之程序可透過主機連接218持續或重新建立遠端多電腦切換通信。因此,當遠端多電腦切換控制台206之程序偵測透過基板管理控制器連接220連接至遠端多電腦切換伺服器程序226有問題時,可以透過主機連接218持續與伺服器系統150的遠端多電腦切換通信,且限制任何中斷。
在步驟361,透過現有的遠端多電腦切換通信,遠端多電腦切換控制台206之程序可執行與基本輸入輸出系統/作業系統之遠端多電腦切換伺服器程序222或224的遠端多電腦切換功能。再次,遠端多電腦切換功能可以是由遠端多電腦切換控制台206之程序所使用之命令,以查詢遠端多電腦切換伺服器 程序222及/或224、及/或確認通信狀態(例如啟動運作、未啟動等)或顯示器記憶體的資料。
在步驟362,遠端多電腦切換控制台206之程序可發送命令至作業系統208及/或基本輸入輸出系統(韌體162),請求基板管理控制器170的網路位址。舉例來說,基於時間間隔或事件,遠端多電腦切換控制台206之程序可週期性地發送命令。
在步驟364,遠端多電腦切換控制台206之程序判定遠端多電腦切換控制台206之程序是否接收對於來自步驟361或步驟362的命令之回應。若遠端多電腦切換控制台206之程序判定收到回應,則回到步驟361,其中遠端多電腦切換控制台206之程序保持與遠端多電腦切換伺服器程序222或224的連接。在另一方面,若遠端多電腦切換控制台206之程序判定一段臨界時間內未接收到回應,則回到步驟354,其中遠端多電腦切換控制台206之程序與遠端多電腦切換伺服器程序226連接,以透過基板管理控制器連接220持續或重新建立遠端多電腦切換通信。
第4圖繪示對遠端多電腦切換故障回復的例示性通訊流400之示意圖。在訊息402,基本輸入輸出系統(韌體162)首先發送基本輸入輸出系統之網路位址給基板管理控制器170。在訊息404,基板管理控制器170發送基板管理控制器之網路位址給基本輸入輸出系統(韌體162)。
在訊息406,遠端多電腦切換控制台206之程序與基板管理控制器170(亦即,遠端多電腦切換伺服器程序226)建立遠端多電腦切換連接。在訊息408,遠端多電腦切換控制台206之程序發送命令至基板管理控制器170,請求基本輸入輸出系統的網路位址。
在訊息410,基板管理控制器170發送基本輸入輸出系統的網路位址至遠端多電腦切換控制台206之程序。作業系統208啟動之後,在訊息412,作業系統208發送作業系統的網路位址給基板管理控制器170。在訊息414,基板管理控制器170發送基板管理控制器的網路位址給作業系統208。
在訊息416,遠端多電腦切換控制台206發送命令給基板管理控制器170,請求作業系統的網路位址。在訊息418,基板管理控制器170發送作業系統的網路位址給遠端多電腦切換控制台206。
在訊息420,遠端多電腦切換控制台206發送另一個命令給基板管理控制器170,請求作業系統的網路位址及/或基本輸入輸出系統的網路位址,或執行遠端多電腦切換的功能。在訊息422,基板管理控制器170無法發送作業系統或是基本輸入輸出系統的網路位址,或是無法回應遠端多電腦切換命令給遠端多電腦切換控制台206。遠端多電腦切換控制台206可以判定是否收到對訊息420的回應,訊息420包括命令,且接著發送訊息424至作業系統208,以連接至作業系統208和遠端多電腦切換伺服器程序224。
在訊息426,遠端多電腦切換控制台206發送命令至作業系統208,請求基板管理控制器的網路位址。在訊息428,作業系統208可發送基板管理控制器的網路位址給遠端多電腦切換控制台206。
在訊息430,遠端多電腦切換控制台206發送另一個命令給作業系統208,請求基板管理控制器的網路位址。若遠端多電腦切換控制台206沒有收到來自作業系統208的回應,則可接著使用基板管理控制器的網路位址去連結基板管理控制器170。遠端多電腦切換控制台206可週期性地持續發送命令和等待 回應。若遠端多電腦切換控制台206未收到一種或多種回應,則遠端多電腦切換控制台206再次跟作業系統208或基本輸入輸出系統(韌體162)連接。
第5圖繪示對遠端多電腦切換故障回復的例示性方法實施例。在步驟500,在遠端多電腦切換控制台206之程序與遠端多電腦切換伺服器程序226之間,遠端多電腦切換控制台206之程序建立遠端多電腦切換通信。在基板管理控制器170與用戶端204之間透過基板管理控制器連接220可建立遠端多電腦切換通信。
步驟502,遠端多電腦切換控制台206之程序可以偵測在遠端多電腦切換控制台206之程序與遠端多電腦切換伺服器程序226之間的遠端多電腦切換通信的錯誤。舉例來說,遠端多電腦切換控制台206之程序發送一個或多個命令給遠端多電腦切換伺服器程序226並聽取來自遠端多電腦切換伺服器程序226的一個或多個回應。一種或多種命令可以包括請求以觸發遠端多電腦切換伺服器程序226發送基本輸入輸出系統及/或作業系統的網路位址給遠端多電腦切換控制台206之程序。若遠端多電腦切換控制台206之程序沒有收到回應,可以判定錯誤的發生。一段時間內無法收到一種或多種回應、收到比預期少的回應、收到延遲臨界值的回應等都可觸發判定錯誤的發生。
步驟504,回應於錯誤,在遠端多電腦切換控制台206之程序與遠端多電腦切換伺服器程序222或224之間,遠端多電腦切換控制台206之程序可建立遠端多電腦切換通信。舉例來說,若遠端多電腦切換伺服器程序226不可取得時,遠端多電腦切換控制台206之程序可與遠端多電腦切換伺服器程序222或224建立遠端多電腦切換通信,且反之亦然。遠端多電腦切換通信可以是與遠端多電腦切換伺服器程序226、222或224之早期遠端多電腦切換通信的持續或延伸 (extension),新的遠端多電腦切換通信、或是早期遠端多電腦切換通信之重新建立。
無論與哪個遠端多電腦切換伺服器程序222-226目前進行遠端多電腦切換通信,遠端多電腦切換控制台206之程序可以持續發送訊息、並聽取等待回應。若遠端多電腦切換控制台206之程序無法收到臨界數量值的回應,則可接著與另一個遠端多電腦切換伺服器程序連接,以維持或重建遠端多電腦切換通信。
當與遠端多電腦切換伺服器程序222或224連接時,相較於與遠端多電腦切換伺服器程序226連接,遠端多電腦切換控制台206之程序可連接至不同的網路位址及/或通訊介面。以此方式,遠端多電腦切換控制台206之程序可以維持對遠端多電腦切換通信之故障回復路徑及連接。
在伺服器端,基本輸入輸出系統(韌體162)、基板管理控制器170、及作業系統208可透過帶內連接進行通信,以互相交換各自的網路位址資訊。舉例來說,基板管理控制器170與基本輸入輸出系統(韌體162)和作業系統208連接以交換網路位址的資訊。基板管理控制器170可因此維持對基本輸入輸出系統(韌體162)及作業系統208的網路位址資訊;基本輸入輸出系統(韌體162)可以維持對基板管理控制器170的網路位址資訊;且作業系統208可維持對基板管理控制器170的網路位址資訊。因此,基本輸入輸出系統(韌體162)、基板管理控制器170及作業系統208可以報告各自的網路位址給遠端多電腦切換控制台206之程序。
為了清楚解釋,本發明描述相對於周邊裝置元件快速連接裝置(peripheral component interconnect express devices)。然而,根據之前示例的方法 及概念,可執行對其他種裝置之硬體恢復。實際上,這些文中所述的概念可以執行於硬體恢復,包括具熱插拔(hot-plug)或熱抽換(hot-swap)支持之任何裝置的熱新增(hot-add)和熱移除(hot-remove),例如通用串列匯流排(USB)裝置。同樣地,為了清楚起見及說明目的,周邊裝置元件快速連接裝置被使用於此作為非限制性示例。
為了清楚說明,本發明之一些例子可能呈現為包含個別功能方塊,包含具有裝置、裝置元件、軟體內實施的方法之步驟或例程、或硬體及軟體之組合的功能方塊。
在某些實施例中,電腦可讀儲存裝置、媒體和記憶體可以包括具有位元流等的有線及無線訊號。然而,當上述元件被提及時,非暫存電腦可讀儲存媒體明確地排除例如能量、載波訊號、電磁波和訊號本身之介質(media)。
根據上述示例之方法可以被執行,使用儲存於或另外可從電腦可讀媒體取得之電腦可讀指令。舉例來說,這些指令可以包括致使或另外組態通用電腦、專用電腦或特殊用途處理裝置以執行特定功能或功能組之指令及資料。可使用之電腦資源之一部分可透過網路取得。舉例來說,電腦可執行的指示可能是二進制、中間格式指令,例如組合語言(assembly language)、韌體或原始碼(source code)。在根據之前所述的示例的方法期間,可用來儲存指令、所使用的資訊、及/或所創造的資訊之電腦可讀媒體之示例包括磁碟片或光碟片、快閃記憶體、設置非揮發性記憶體的通用串列匯流排(USB)裝置、網路儲存裝置等。
根據之前所述之裝置執行方法可包括硬體、韌體及/或軟體,且可以採取任何各種形式要件(factors)。典型的此類形式要件的例子包括筆記型電腦、智慧型手機、小型要件的個人電腦、個人數位助理等。本文所述之功能性 亦可實施於周邊裝置或附加介面卡(add-in cards)。進一步舉例而言,這些功能性可以在不同晶片的電路板或不同處理過程中於單一裝置實施。
指令、為了傳遞此類指令的媒體、為了執行指令的電腦資源以及為了支持這樣的電腦資源的其他結構為在這些揭露中所述之提供功能性的方法。
雖然不同的例子或其他資訊被用來解釋所附申請專利範圍之範疇內的態樣,然而並非提示基於此類例子的特定特徵或安排對申請專利範圍進行限制,所屬技術領域中具有通常知識者將能夠使用這些例子去衍生多元廣義的執行方式。再者雖然有些標的係特定於結構特徵及/或方法步驟之示例而以文本闡述,將理解的是,在所附申請專利範圍中定義之標的並不必然限於這些所述的特徵或作動。舉例來說,這樣的功能性可以被不一樣地分散於或是執行於除了本文所述者外的元件。而且,所述的特徵和步驟係揭露作為落在所附的申請專利範圍中的範疇內之系統及方法的元件之示例。
「一(a)」或「一(an)」單位之用語指的是一個或多個單位。因此,「一(a)」(或「一(an)」)、「一或多個」及「至少一個」之用語可以在本文中互相交換使用。「至少一個」、「一或多個」和「及/或」之片語為開放式敘述,在操作上可為合取的(conjunctive)或分離的(disjunctive)。舉例來說,表述語「A、B、及C之至少一個」、「A、B、或C之至少一個」、「A、B、及C之一或多個」、「A、B、或C之一或多個」以及「A、B、及/或C」意思是單指A、單指B、單指C、A及B一起、A及C一起、B及C一起、或ABC一起。另外,指出群組「之至少一個」的申請專利範圍用語表示群組之一構成或群組之多個構成符合申請專利範圍。舉例來說,指示「A、B、及C之至少一個」以及「A、B、 或C之至少一個」的申請專利範圍用語表示單指A、單指B、單指C、A及B一起、A及C一起、B及C一起、或ABC一起。
「通訊」之用語當用於本文中時是指任何耦合、連接、或交互作用,其利用任何系統、硬體、軟體、協議或程式使用光訊號及/或和電訊號以交換資訊或資料。
「電腦可讀儲存媒體」、「電腦可讀媒體」、「電腦可讀儲存裝置」或「電腦可讀記憶裝置」之用語當在文中時使用時是指任何有形(tangible)的儲存物,有形的儲存物可以參與提供指令給處理器去執行。這樣的媒體或裝置可以是任何形式,包括但不限於非揮發性媒體、揮發性媒體等。非揮發性媒體可以包括,例如NVRAM、SSD、NVMe、磁碟或光碟等。舉例來說,揮發性媒體可包括動態記憶體(dynamic memory),例如主記憶體(main memory)。
舉例來說,電腦可讀媒體或裝置之一些形式可以包括軟碟機(floppy disk)、軟碟機(flexible disk)、硬碟機(hard disk)、記憶體(memory)、磁帶機(magnetic tape)、或是任何磁性媒體(magnetic medium)、磁光碟媒體(magneto-optical medium)、CD-ROM、DVD、任何其他光學媒體(optical medium)、穿孔卡(punch cards)、紙帶(paper tape)、任何其他有孔形式的物理媒體、RAM、PROM、EPROM、EEPROM、FLASH-EPROM、固體媒體(solid state medium)像是記憶卡、任何其他形式的記憶晶片(memory chip)或卡匣(cartridge)、或是任何其他電腦可讀之媒體。當電腦可讀媒體或裝置被配置為資料庫時,將理解的是資料庫可以是任何型式的資料庫,例如:關聯性、階層性、物件導向性及/或其相似形式。因此,所揭露技術可視為包含有形儲存媒體或裝置、以及任何識別等效及後繼媒體或裝置,其中儲存了本發明之軟體實施。

Claims (10)

  1. 一種用於遠端多電腦切換通信之方法,其包含:在一電腦裝置運行之一控制台程序與在一伺服器上由一控制器所執行之一第一伺服器程序之間建立一第一遠端多電腦切換通信,其中該第一遠端多電腦切換通信係透過該電腦裝置與該控制器之間的一第一網路連接而建立;偵測在該控制台程序與該第一伺服器程序之間與該第一遠端多電腦切換通信相關的錯誤;回應於錯誤,在該控制台程序與由該伺服器上之一作業系統或該伺服器上之一基本輸入輸出系統之其中之一所執行的一第二伺服器程序之間,建立一第二遠端多電腦切換通信,其中透過在該電腦裝置與該第二伺服器程序之間的一第二網路連接來建立該第二遠端多電腦切換通信。
  2. 如申請專利範圍第1項所述之方法,其中該第一網路連接係基於分配給一控制器之一第一網路位址所建立,且其中該第二網路連接係基於分配給該作業系統或該基本輸入輸出系統之程序的至少之一第二網路位址所建立。
  3. 如申請專利範圍第1項所述之方法,其中偵測錯誤包含:在該第一遠端多電腦切換通信期間,向該控制器週期性地發送分配給該作業系統或該基本輸入輸出系統之程序之其中之一的一網路位址之請求,或執行一遠端多電腦切換功能之請求;及判定對請求的回應是否於一段預定時間期間內由該控制台程序所接收。
  4. 如申請專利範圍第1項所述之方法,其進一步包含:從該第二伺服器程序,基於對於請求該控制器之網路位址、或對於請求執行該遠端多電腦切換功能之接收回應的故障,偵測與該第二遠端多電腦切換通信相關之一第二錯誤;以及回應於該第二錯誤,在該控制台程序與該第一伺服器程序之間重新建立該第一遠端多電腦切換通信,其中該第一遠端多電腦切換通信透過在該電腦裝置與該第一伺服器程序之間的該第一網路連接來重新建立。
  5. 一種具有指令儲存於其中之電腦可讀儲存裝置,當一處理器執行該指令時,使該處理器執行下列操作,包含:在一電腦裝置運行的一控制台程序與在一伺服器上的一控制器所執行的一第一伺服器程序之間建立一第一遠端多電腦切換通信,其中透過該電腦裝置與該控制器之間的一第一網路連接來建立該第一遠端多電腦切換通信,偵測在該控制台程序與由該控制器所執行之該第一伺服器程序之間與該第一遠端多電腦切換通信相關的錯誤;回應於錯誤,在該控制台程序與由該伺服器上之一作業系統或該伺服器上之一基本輸入輸出系統之程序的其中之一所執行之一第二伺服器程序之間,建立一第二遠端多電腦切換通信,其中該第二遠端多電腦切換通信係透過介於該電腦裝置與該第二伺服器程序之間的一第二網路連接來建立。
  6. 如申請專利範圍第5項所述之電腦可讀儲存裝置,其中偵測錯誤包含: 向該控制器發送對分配給在該伺服器上運行之該作業系統或在該伺服器上運行之該基本輸入輸出系統的其中之一的網路位址之請求,或是執行一遠端多電腦切換功能之請求;及當該控制台程序在一段預定時間期間內無法從該控制器收到對於請求之回應時,則判定為錯誤。
  7. 如申請專利範圍第5項所述之電腦可讀儲存裝置,其中該第二網路連接是基於分配給該作業系統或該基本輸入輸出系統之至少一個的一第一網路位址而建立,而其中該第一網路連接是基於分配給該控制器的一第二網路位址而建立。
  8. 一種用於遠端多電腦切換通信之系統,其包括:一處理器:一或多種電腦可讀儲存媒體,該一或多種電腦可讀儲存媒體儲存一作業系統以及一基本輸入輸出系統之程序;以及一控制器,該控制器配置以:從該基本輸入輸出系統之程序接收與該基本輸入輸出系統之程序相關的一第一網路位址;發送與該控制器相關的一第二網路位址給該基本輸入輸出系統之程序;在一遠端裝置運行的一控制台程序與由該控制器執行的一第一伺服器程序之間建立一遠端多電腦切換通信,其中該遠端多電腦切換通信係透過在該遠端裝置與該控制器之間的一網路連接而建立; 在該遠端多電腦切換通信期間發送與該基本輸入輸出系統之程序相關的該第一網路位址至該遠端裝置;發送與該控制器相關的一第二網路位址至由該作業系統執行的一第二伺服器程序;從該第二伺服器程序接收與該作業系統相關之一第三網路位址;以及發送與該作業系統相關之該第三網路位址至在該遠端裝置的該控制台程序。
  9. 如申請專利範圍第8項所述之系統,其中該控制器從該基本輸入輸出系統之程序接收該第一網路位址,且透過該控制器與該基本輸入輸出系統之程序之間的一帶內連接來發送該第二網路位址至該基本輸入輸出系統之程序。
  10. 如申請專利範圍第8項所述之系統,其進一步包含該遠端裝置,其中該遠端裝置包含一電腦可讀儲存媒體,其中該電腦可讀儲存媒體儲存該控制台程序,該控制台程序包含一電腦可執行指令:在該控制台程序與由該控制器執行的該第一伺服器程序之間,建立該遠端多電腦切換通信並執行一遠端多電腦切換功能;偵測在該控制台程序與由該控制器執行的該第一伺服器程序之間與該遠端多電腦切換通信相關的錯誤;回應於錯誤,在該控制台程序與由該作業系統或該基本輸入輸出系統之程序的其中之一所執行的該第二伺服器程序之間,建立一第二遠端多電腦切換通信,其中,該第二遠端多電腦 切換通信係透過該遠端裝置與該第二伺服器程序之間的一第二網路連接而建立。
TW105125798A 2016-06-07 2016-08-12 遠端多電腦切換技術之儲存裝置、系統及方法 TWI616758B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/175,922 US10333772B2 (en) 2016-06-07 2016-06-07 Remote keyboard-video-mouse technologies
US15/175,922 2016-06-07

Publications (2)

Publication Number Publication Date
TW201743222A TW201743222A (zh) 2017-12-16
TWI616758B true TWI616758B (zh) 2018-03-01

Family

ID=58707341

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105125798A TWI616758B (zh) 2016-06-07 2016-08-12 遠端多電腦切換技術之儲存裝置、系統及方法

Country Status (5)

Country Link
US (1) US10333772B2 (zh)
EP (1) EP3255527B1 (zh)
JP (1) JP6383839B2 (zh)
CN (1) CN107479721B (zh)
TW (1) TWI616758B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180338007A1 (en) * 2017-05-17 2018-11-22 American Megatrends, Inc. System and method for providing extensible communication gateway with session pooling
US10649832B2 (en) * 2017-08-15 2020-05-12 Intel Corporation Technologies for headless server manageability and autonomous logging
CN108134827A (zh) * 2017-12-20 2018-06-08 联想(北京)有限公司 一种远程控制方法及电子设备
CN112219103A (zh) * 2018-01-31 2021-01-12 伊利诺斯工具制品有限公司 为测试装置提供远程支持服务的系统和方法
CN108763138A (zh) * 2018-04-03 2018-11-06 郑州云海信息技术有限公司 一种通过单串口访问多系统的方法及系统
TWI679579B (zh) * 2018-08-17 2019-12-11 英業達股份有限公司 遠端登錄伺服器子系統方法與遠端登錄系統
CN109240862A (zh) * 2018-08-23 2019-01-18 郑州云海信息技术有限公司 一种带外管理测试bmc稳定性的方法
CN109862109B (zh) * 2019-03-06 2022-04-12 广州市高科通信技术股份有限公司 基于互联网的移动终端的控制方法、电子设备及存储介质
TWI709037B (zh) * 2019-05-23 2020-11-01 神雲科技股份有限公司 基本輸入輸出系統設置方法
CN112015690A (zh) * 2019-05-29 2020-12-01 中兴通讯股份有限公司 智能设备管理方法、装置、网络设备和可读存储介质
CN110865958B (zh) * 2019-11-19 2021-05-18 北京计算机技术及应用研究所 一种基于lrm的综合交换管理模块的设计方法
US11099838B1 (en) * 2020-02-26 2021-08-24 Quanta Computer Inc. Method and system for recovery for custom integrated circuit
CN111459863B (zh) * 2020-03-08 2021-09-28 苏州浪潮智能科技有限公司 一种基于nvme-mi的机箱管理系统及方法
US11126518B1 (en) * 2020-03-16 2021-09-21 Quanta Computer Inc. Method and system for optimal boot path for a network device
US11132471B1 (en) * 2020-08-21 2021-09-28 Waleed A. Elmandouh Methods and apparatus for secure access
CN113655900A (zh) * 2021-08-20 2021-11-16 合肥移瑞通信技术有限公司 计算机的操作设备及系统
TWI803213B (zh) * 2022-02-25 2023-05-21 研華股份有限公司 基於智慧型基板管理控制器的網路連線方法
US20230289194A1 (en) * 2022-03-14 2023-09-14 Sony Interactive Entertainment Inc. Sled level boot management control of compute nodes for context switching using boot controllers

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100061538A1 (en) * 2008-09-09 2010-03-11 David Coleman Methods and Systems for Calling Conference Participants to Establish a Conference Call
US20120131685A1 (en) * 2010-11-19 2012-05-24 MobileIron, Inc. Mobile Posture-based Policy, Remediation and Access Control for Enterprise Resources
TWI378352B (en) * 2007-11-27 2012-12-01 Aten Int Co Ltd Improved remote universal serial bus access method
TWI463327B (zh) * 2010-11-01 2014-12-01 Aten Int Co Ltd 遠端管理裝置及遠端管理系統

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228345B2 (en) * 2002-10-15 2007-06-05 Hewlett-Packard Development Company, L.P. Server with LAN switch that connects ports based on boot progress information
JP2004280636A (ja) * 2003-03-18 2004-10-07 Internatl Business Mach Corp <Ibm> ユーザインターフェース非装備の通信接続型情報処理装置を含む情報処理システムおよびその制御方法
US7552213B2 (en) 2005-05-12 2009-06-23 Avocent Fremont Corp. Remote network node management system and method
US20080313319A1 (en) * 2007-06-18 2008-12-18 Avocent Huntsville Corporation System and method for providing multi-protocol access to remote computers
US20090055157A1 (en) 2007-08-23 2009-02-26 Beyond Blades Ltd. Server Having Remotely Manageable Emulated Functions
CN101453356B (zh) * 2007-12-03 2017-05-24 联想(北京)有限公司 一种计算机切换器及其与多台服务器匹配的方法
JP5094377B2 (ja) * 2007-12-28 2012-12-12 富士通コンポーネント株式会社 Kvmスイッチ及び遠隔システム
US7792914B2 (en) * 2008-01-14 2010-09-07 Aten International Co., Ltd. Server with network-based remote access and server management functions using reduced number of network connections
CN101227329B (zh) * 2008-02-18 2011-04-06 华为技术有限公司 网络设备管理的方法、装置及系统
JP5708502B2 (ja) * 2012-01-04 2015-04-30 日本電気株式会社 情報保存システム、情報保存装置、及び、情報保存方法
US10003525B2 (en) * 2014-11-14 2018-06-19 Fisher-Rosemount Systems, Inc. Methods and apparatus to provide redundancy in a process control system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI378352B (en) * 2007-11-27 2012-12-01 Aten Int Co Ltd Improved remote universal serial bus access method
US20100061538A1 (en) * 2008-09-09 2010-03-11 David Coleman Methods and Systems for Calling Conference Participants to Establish a Conference Call
TWI463327B (zh) * 2010-11-01 2014-12-01 Aten Int Co Ltd 遠端管理裝置及遠端管理系統
US20120131685A1 (en) * 2010-11-19 2012-05-24 MobileIron, Inc. Mobile Posture-based Policy, Remediation and Access Control for Enterprise Resources

Also Published As

Publication number Publication date
JP2017220241A (ja) 2017-12-14
JP6383839B2 (ja) 2018-08-29
CN107479721A (zh) 2017-12-15
US20170353347A1 (en) 2017-12-07
EP3255527B1 (en) 2019-02-20
CN107479721B (zh) 2020-12-29
EP3255527A1 (en) 2017-12-13
US10333772B2 (en) 2019-06-25
TW201743222A (zh) 2017-12-16

Similar Documents

Publication Publication Date Title
TWI616758B (zh) 遠端多電腦切換技術之儲存裝置、系統及方法
TWI684859B (zh) 遠端系統復原之方法
JP6453373B2 (ja) スケーラブルプールNVMeストレージボックス(a scalable pooled nvme storage box)
US9965367B2 (en) Automatic hardware recovery system
TWI644259B (zh) 計算機實施方法、系統、以及非暫時性計算機可讀儲存媒體
US9182998B2 (en) Remote bios update in system having multiple computers
TWI610167B (zh) 改善平台管理的計算裝置建置方法、保持電腦可執行指令之非暫存媒體及配置為提供強化管理資訊之計算裝置
US9489274B2 (en) System and method for performing efficient failover and virtual machine (VM) migration in virtual desktop infrastructure (VDI)
JP2018045688A (ja) プロキシ装置、その動作方法、及びプロキシ装置に係る装置の動作方法
US9912535B2 (en) System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI)
US20170031694A1 (en) System and method for remote system configuration managment
EP3540605A1 (en) Cpld cache application in a multi-master topology system
JP2021009683A (ja) ブートデバイスのリモート選択方法及びシステム
US9712382B2 (en) Retrieving console messages after device failure
JP6864718B2 (ja) ハイブリッド電源のシステム及び方法
JP6633146B2 (ja) 複数のファンモジュールの管理
EP3739446B1 (en) Method and system for communication channels to management controller
US11144326B2 (en) System and method of initiating multiple adaptors in parallel
JP2019121338A (ja) 機器ラック及び機器ラックからの状態報告を保証する方法
CN109391327B (zh) 自动组合数据中心数据的方法及系统