TWI386805B - 一種具有自動切換能力的usb共享切換器 - Google Patents

一種具有自動切換能力的usb共享切換器 Download PDF

Info

Publication number
TWI386805B
TWI386805B TW098107683A TW98107683A TWI386805B TW I386805 B TWI386805 B TW I386805B TW 098107683 A TW098107683 A TW 098107683A TW 98107683 A TW98107683 A TW 98107683A TW I386805 B TWI386805 B TW I386805B
Authority
TW
Taiwan
Prior art keywords
computer
controller
switch
shared
switcher
Prior art date
Application number
TW098107683A
Other languages
English (en)
Other versions
TW201019117A (en
Inventor
Xiong Yan
Original Assignee
Aten Int Co Ltd
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 Aten Int Co Ltd filed Critical Aten Int Co Ltd
Publication of TW201019117A publication Critical patent/TW201019117A/zh
Application granted granted Critical
Publication of TWI386805B publication Critical patent/TWI386805B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Description

一種具有自動切換能力的USB共享切換器
本發明是有關一種萬用串列匯流排(USB)共享切換器,尤其是有關於擁有自動切換能力之USB共享切換器。
一共享切換器可以將數台電腦,連接共享一台或多台週邊設備,例如印表機、掃描器、資料儲存裝置等。多台電腦可以同時利用此共享切換器分享上述的週邊設備。萬用串列匯流排(Universal Serial Bus;USB)共享切換器使用USB通訊協定來作為電腦及週邊設備之間的溝通協定。在傳統的USB共享切換器上,必須藉由手動按共享切換器上的按鈕或從電腦發出一指令給共享切換器來進行切換動作。USB共享切換器藉由USB線來連接電腦與週邊裝置,藉由分享切換器傳輸USB格式之資料而無須改變其格式。
可共享印表機之另一形式的裝置為印表機伺服器。典型來說,電腦透過一網路,如:乙太網連接到印表機伺服器,且印表機伺服器是藉由一電線,如:USB線連接到印表機。引表機伺服器處理在網路上從電腦收到之封包資料並且為印表機將其轉化為USB資料。
本發明提供共享切換器及其操作方法,此共享切換器可為萬用串列匯流排(Universal Serial Bus;USB)切換器,電腦及週邊設備藉由USB通訊協定進行溝通。
本發明所揭露之一種共享切換器,用以將一電腦週邊設備與複數個電腦連接,包括下列:複數電腦端切換器、一集線器裝置、複數個裝置控制器及一控制器端切換器。每個切換器耦接到該所對應之電腦。集線器裝置包含:一連接到電腦端切換器的上資料流連接端點,一第一下資料流連接端點,耦接到電腦週邊設備,及一第二下資料流連接端點。每個裝置控制器耦接到對應的電腦端切換器,其中每個電腦端切換器將對應電腦之連接切換到對應的裝置控制器或集線器裝置的上資料流連接端點。一控制器端切換器,耦接到裝置控制器及集線器裝置之第二下資料流連接端點,使得集線器裝置之第二下資料流連接端點可以耦接到一裝置控制器。
依據本發明之一面相,提供一連接埠監測程式,應用於一電腦週邊設備共享系統,電腦週邊設備共享系統包括如申請專利範圍第1項之一共享切換器、一週邊設備以及連接到共享切換器之複數個電腦,週邊設備為一印表機,連接埠監測程式安裝在每一電腦上,包含下列:第一程式碼、第二程式碼及第三程式碼,第一程式碼為當連接埠監測程式從電腦上之一排存服務程式收到一排存服務指令後,自動傳輸一切換請求給共享切換器;第二程式碼為當偵測到一印表機已連接之後,使電腦監測該印表機之一印表機連接狀態及對印表機啟動排存服務。第三程式碼為當對印表機之排存服務已完成後,使電腦傳輸一資料傳輸完成指令到共享切換器。
依據本發明之一面相,提供一種耦接到一週邊設備及複數個電腦的共享切換器,包括下列:N個電腦端切換器、一個共同連接線、一忙碌偵測線路、N-1個裝置控制器及複數個控制器端切換器。N個電腦端切換器中N為複數,每個電腦端切換器耦接到一對應電腦。共同連接線耦接到週邊設備及電腦端切換器。忙碌偵測線路耦接到共同連接線,偵測共同連接線之一忙碌狀態,並且產生代表一偵測結果之訊號。控制器端切換器耦接到裝置控制器及電腦端切換器,將電腦中任意組合的N-1個電腦切換到上述N-1個裝置控制器,其中每一電腦端切換器將對應電腦切換到共同連接線或控制器端切換器。
依據本發明之一面相,提供一連接埠監測程式,應用於一電腦週邊設備共享系統,電腦週邊設備共享系統包括如申請專利範圍第1項之一共享切換器、一電腦週邊設備以及連接到共享切換器之複數個電腦,週邊設備為一印表機,連接埠監測程式安裝在每一電腦上,包括下列:第一程式碼及第二程式碼。第一程式碼為當連接埠監測程式從電腦上之一排存服務程式收到一排存服務指令後,自動傳輸一切換請求給共享切換器。第二程式碼為當偵測到一印表機已連接之後,使電腦監測該印表機之一印表機連接狀態及對印表機啟動排存服務。
依據本發明之一面相,提供一種實施於一共享切換器及電腦之方法,應用於一電腦週邊設備共享系統,電腦週邊設備共享系統包括一共享切換器、一週邊設備以及耦接到共享切換器之複數個電腦,上述方法包括下列步驟:在共享切換器上的步驟:(a)將一目前所選擇的電腦連接到週邊裝置;(b)接收來自電腦之複數個切換請求指令;(c)將切換請求指令放入一佇列;(d)判斷目前選定之電腦傳輸到週邊設備的資料傳輸是否完成;及(e)如果判斷目前所選定之電腦之資料傳輸已完成,從佇列擷取一其次切換請求指令,並且根據其次切換請求指令將下一台選擇到的電腦連接到週邊設備。
前述為示例性及解釋性之描述,並不用以限定本發明。
下述將示例本發明之實施例,然本發明之技術、系統及操作結構可以多樣化的形式及模式實施,其中部分可與下述揭露之實施例相異。因此,下述特定之結構與功能僅為象徵性並不用以限定本發明。
本發明提供一種具有自動切換能力的萬用串列匯流排(Universal Serial Bus;USB)共享切換器,此共享切換器使得複數個電腦可以很方便地共享一USB印表機。電腦及印表機皆藉由USB線連接到此共享切換器,此共享切換器可直接以USB的格式傳遞資料而不需作資料轉換。此自動切換功能是由共享切換器上的硬體和韌體及電腦上的驅動軟體(driver software)所共同完成的。
圖一所示之印表機共享系統是依據本發明之第一具體實施例,印表機共享系統包含一共享切換器10。如圖中所示,此共享切換器10耦接(couple)到一印表機30及複數個電腦20,而圖中之實施例中以四部電腦20(PC-1到PC-4)來舉例說明。
共享切換器10包括複數個連接到電腦20的電腦端切換器(computer-side switch)12及複數個連接到此電腦端切換器12的USB裝置控制器(USB device controller)14,而圖一中之實施例以四個電腦端切換器12(SW-1到SW-4)及四個USB裝置控制器14(Contr-1到Contr-4)來舉例說明。
共享切換器10中也包含一USB集線器(USB hub)16,電腦端切換器12亦連接到同一集線器16之一上資料流連接埠(upstream port),因此電腦端切換器12就可以將其對應之電腦20的連接,切換到此USB集線器16或對應之USB裝置控制器14。
共享切換器10中另包含一控制器端切換器18(controller-side switch),此控制器端切換器18連接到每個USB裝置控制器14之另一端及集線器16之一第一下資料流連接埠(downstream port),因此此控制器端切換器18可以將集線器16切換到USB裝置控制器14中之任何一台。
印表機30連接到集線器16之一第二下資料流連接埠。
USB裝置控制器14可以是低速的裝置控制器,在某些應用上其可以是萬用串列匯流排人機介面裝置(Human Interface Device;HID)等級的裝置控制器,因此電腦20可以直接利用其預設HID驅動軟體(HID driver)跟USB裝置控制器14做溝通。
USB裝置控制器14之間是彼此耦接且利用主從模式(master-slave model)來進行彼此的溝通,因此這些USB裝置控制器中有一個為主(master)裝置控制器,其餘為從(slave)裝置控制器。為了讓圖一不至於太擠,因此USB裝置控制器14之間的連接線並未畫出。
一個或多個USB裝置控制器14被制定程序成控制電腦端切換器12及控制器端切換器18之切換操作。原則上USB裝置控制器14之一,例如主控制器(master controller),可以控制所有切換器12及18之操作,然而實際上因為控制器的接腳的數目是有限的,因此控制器可以控制的切換器也是有限的,尤其是當使用價格不貴的USB裝置控制器晶片。因此需要主控制器及一或多個從控制器一起合作來控制切換器12及18。以此著眼,當本說明書或申請專利範圍中指稱”裝置控制器”控制切換器的切換,這是不是代表所有的裝置控制器都涉入其中。控制訊號是藉由控制排線在控制器14與其控制之切換器12及18之間傳遞,為了避免圖一過於擁擠,此控制線並未畫出。
每一部電腦20皆載入一USB連接埠監測程式20A。此程式20A與電腦20的排存服務(spooler service)及共享切換器10協力配合完成印表機30的列印資料之排存服務(spooling of print data),此部分將在後續有更詳盡的描述。
圖二是以一特定例子描述共享切換器10的操作。在此例子中,第四台電腦PC-4目前連接到印表機30,而且排存服務列印資料到印表機30(步驟21),第四台電腦PC-4可視為目前選定之電腦。在此時,對應於第四台電腦PC-4的電腦端切換器SW-4切換到集線器16。經由集線器16及切換器SW-4,資料可以在第四台電腦PC-4及印表機30之間傳遞。其它的電腦端切換器12(SW-1,SW-2及SW-3)則被分別切換到其所對應的控制器14(Contr-1,Contr-2及Contr-3)。控制器端切換器18在此時則被切換到電腦PC-4所對應之控制器Control-4。因電腦PC-4則經由對應之電腦端切換器12、USB集線器16及控制器端切換器18連接到所對應之控制器14,而切換器10未切換選擇到的電腦PC-1,PC-2及PC-3則是經由電腦端切換器12連接到所對應之控制器14。因此每一電腦20皆能與其對應之控制器14進行溝通。
當第四台電腦完成列印資料之排存服務(spooling print data),它經由第四電腦端切換器SW-4、USB集線器16及控制器端切換器18發出排存服務完成(spooling finished)命令給對應的控制器Contr-4(步驟S22)。控制器Contr-4將此排存服務完成(spooling finished)指令傳送到主控制器(在本實施例中假設此時主控制器為第一控制器Contr-1)。此主控制器內含一佇列(queue),存放來自各電腦20所傳遞過來之請求切換指令。此主控制器在接收到來自第四台電腦的排存服務完成指令後,主控制器從佇列(queue)中擷取一個其次請求切換指令(步驟S23)。如果佇列(queue)是空的,主控制器會等待電腦所傳遞過來之其次請求切換指令而且將其放入佇列。
在這個例子當中,假設在佇列中之其次請求切換指令是來自於第一台電腦PC-1(視為下一個選定的電腦)。主控制器和從控制器14(在主控制器的指令之下)控制切換器的切換功能,將印表機30從目前選定的電腦PC-4切換到下一選定之電腦PC-1。
此時,第四個電腦端切換器SW-4被控制而將第四台電腦PC-4從USB集線器16切換到第四個USB控制器Contr-4(步驟S24)。控制第一電腦端切換器SW-1切換到集線器16(步驟S25),而控制控制器端切換器18切換至第一控制器Contr-1,即對應到下一個選定電腦之控制器。步驟S24到S26的先後順序並不重要。第二及第三電腦端切換器SW-2及SW-3在此期間並無需執行切換動作,因其切換狀態並無改變。
經過上述切換動作後,其次選定之電腦PC-1經由其對應之電腦端切換器SW-1及USB集線器16連接到印表機30。其次選定之電腦PC-1也經由其對應之電腦端切換器SW-1、USB集線器16及控制器端切換器18連接到其對應之控制器Contr-1。而此時沒有被共享切換器10選定的電腦20(PC-2,PC-3及PC-4)則經由電腦端切換器12(SW-2,SW-3及SW-4)連接到其對應的控制器14(Contr-2,Contr-3及Contr-4)。其次選定連接到印表機30的電腦PC-1即可進行列印動作(步驟S27)。當電腦PC-1列印完成之後,可以對其次切換需求重複類似上述動作。
在上述例子中,主控制器是USB裝置控制器14其中之一,在另一實施例中,主控制器也可以是一獨立的控制器(非四個USB裝置控制器14其中之一),而四個USB裝置控制器14為從控制器。又,四個USB裝置控制器14也可以整單晶片(例如用ASIC、FPGA等)之方式完成,此晶片包含上述描述之功能。實際上的實施方式並不重要,只要有四個USB裝置控制器對應到四台電腦PC-1至PC-4即可。
圖三說明在電腦20上的USB連接埠監測程式20A之執行過程。在Windows列印架構中,USB連接埠監測程式20A是介於排存服務(spooler)及USB驅動程式堆疊(USB Driver Stack)之間,此兩者皆由Windows系統所提供。例如,USB連接埠監測程式20A可以取代Windows系統所提供之USB連接埠監測程式(Usbmon.dll)。
如圖三所示,當USB連接埠監測程式20A從排存服務接收到一個排存服務請求(spooling request)(步驟S31),USB連接埠監測程式傳送一切換請求指令到共享切換器10(步驟S32)。此切換請求為程式自動產生的,電腦使用者無需被知會去下達此切換指令,電腦使用者只須下達列印指令即可。就如之前所提到的,共享切換器10內含一佇列(queue),存放來自各電腦20所傳遞過來之請求切換指令,且自動執行切換動作,在適當時機執行切換操作將印表機30從一台電腦20切換到另外一台電腦20。因此在傳送切換請求後,連接埠監測程式20A監測共享切換器10的連接狀態,來確認是否共享切換器10將此台特定之電腦連接到印表機30(步驟S33)。例如,連接埠監測程式20A可監測電腦之裝置佔據狀態,其中”佔據”狀態代表對印表機的連線已建立。當此20A監測程式監測結果是尚未連接到印表機(“N”in步驟S34),監測狀態會一直持續下去直到監測到共享切換器10將此電腦20連接到印表機30(“Y”in步驟S34)。
如果判斷已經建立連接(“Y”in步驟S34),此連接埠監測程式20A送出一”鎖住”指令給共享切換器10,然後藉由切換器10送回之一回應確認切換鎖住狀態(步驟S35)。步驟S35是選用性步驟,因為共享切換器10可以設計成將在切換後自動鎖住連接,而僅在收到來自目前選定之電腦的排存服務完成指令後解除鎖定。接下來連接埠監測程式20A通知排存服務開始排存服務資料(步驟S36),排存服務的過程是連續不斷的方式實行(步驟S37)。更具體地說,此連接埠監測程式20A從排存服務接收列印資料,然後經過共享切換器10將其傳給印表機30,並接收印表機狀態資訊並透過共享切換器10將其傳給排存服務。在完成排存服務列印(spooling print)後,連接埠監測程式20A從排存服務得到一通知,然後將一排存服務完成指令傳給共享切換器10(步驟S38)。
如同之前所提到的,一旦印表機30被切換到電腦20的其中一台(稱為目前選定的電腦),共享切換器10不會作切換到其他台電腦除非從目前所選定的電腦收到排存服務完成指令。在完成步驟S24到S26(圖二)的切換動作之後,如果共享切換器10從連接埠監測程式20A收到一鎖住指令(參照圖三中之S35步驟),共享切換器10也會送回一鎖住確認指令給連接埠監測程式20A。這保證了在一些異常狀況發生時(例如:印表機卡紙、缺紙等)可以完成排存服務。
如先前已提到的,電腦20使用預設USB HID等級裝置驅動軟體跟共享切換器10之USB裝置控制器14作溝通。因此,除了以上連接埠監測程式20A以外,電腦20並不需要再裝設其它特殊的應用程式。
如圖四所示,依據本發明的共享切換器之第二具體實施例。共享切換器40耦接到印表機30及複數個電腦20(此實施例中以四部電腦:PC-1到PC-4來舉例說明)。共享切換器40具有複數個耦接到電腦20的電腦端切換器42(computer-side switch)(此實施例中以四個切換器:SW-1到SW-4來舉例說明)及複數個USB裝置控制器44(USB device controller)(此實施例中以三個裝置控制器:Contr-1到Contr-3來舉例說明)。也就是說USB裝置控制器44的個數是小於電腦端切換器42的個數(此電腦端切換器個數記為”N”)。在此實施例中,此三個USB裝置控制器44藉由對應的三個控制器端切換器(controller-side switch)48(SW-5至SW-7)耦接到四個電腦端切換器42的其中三個,並使此三個USB裝置控制器44可被切換至四個電腦端切換器42中之任三個。具體上來看,第一控制器端切換器SW-5可以將第一控制器Contro-1切換連接到第一電腦端切換器SW-1或下一個電腦端切換器SW-2,第二控制器端切換器SW-6可以將第二控制器Contro-2切換連接到第二電腦端切換器SW-2或下一個電腦端切換器SW-3,以此類推。
每一個電腦端切換器42也經由一共同連接線49耦接到印表機30,因此電腦端切換器42可使對應之電腦20切換到印表機30或是控制器端切換器48其中之一。
如同第一實施例,USB裝置控制器44可以是USB HID等級的裝置控制器,電腦20可以直接利用其預設HID驅動軟體跟USB裝置控制器44溝通。此複數個USB裝置控制器44之間利用主從模式(master-slave model)來進行彼此的溝通,為了讓圖四不至於太亂,此複數個USB裝置控制器44之間的連接線並未畫出。此些主、從USB裝置控制器44控制電腦端切換器42及控制器端切換器48之切換操作。又,為了讓圖四不至於太亂,此些USB裝置控制器44與其等控制之切換器之間的連接線並未畫出。
共享切換器40亦包含一個USB忙碌(USB busy)偵測線路46,藉由一條共同連接線49耦接於電腦端切換器42及印表機30之間。此USB忙碌(USB busy)偵測線路46偵測共同連接線49上的訊號得知此訊號線是否處於忙碌狀態(資料傳輸),即,是否電腦20目前正對印表機30傳送排存服務資料。此USB忙碌偵測線路46根據偵測結果,藉由一條控制線(未繪於圖四中)傳送訊號到控制器44之一(例如:主USB裝置控制器)。
每一台電腦20裝設一特殊的USB連接埠監測程式20B,此程式與電腦的排存服務(spooler service)及共享切換器40合作完成對印表機30的排存列印資料(spooling of print data),此部分的細節後續再詳述。
圖五試舉一例說明圖四之共享切換器40的操作原理。在此例子中,第四台電腦PC-4目前是連接到印表機30,而且對印表機30傳送排存列印資料(步驟S51)。在此時,對應於第四台電腦的電腦端切換器SW-4經由共享接線49切換到印表機30。資料可經由第四電腦端切換器SW-4在第四台電腦PC-4及印表機30之間傳遞。其他三個電腦端切換器42(SW-1,SW-2及SW-3)則被切換到其他三個控制器端切換器48(SW-5、SW-6及SW-7)。此三個控制器端切換器48將未被選擇到的電腦(PC-1、PC-2及PC-3)切換成連接到一USB裝置控制器44。而在此例子中,第一控制器端切換器SW-5將第一控制器Contr-1切換到第一電腦端切換器SW-1,第二控制器端切換器SW-6將第二控制器Contr-2切換到第二電腦端切換器SW-2,第三控制器端切換器SW-7將第三控制器Contr-3切換到第三電腦端切換器SW-3。因此,三個未被選擇到的電腦20(PC-1,PC-2及PC-3)連接到三個控制器44(Contr-1,Contr-2及Contr-3),並且可以與對應的控制器44進行指令溝通。
當某台電腦正在排存列印資料,共享切換器40會持續判斷是否完成排存服務(步驟S52)。在圖四之具體實施例中,目前選定的電腦20(在此例為PC-4)在對印表機30傳送排存服務資料時並未連接到任何USB裝置控制器44。因此,目前選定的電腦PC-4是無法傳遞一排存服務完成指令給共享切換器40的。所以排存服務是否完成的決定是由USB忙碌偵測線路46獨力執行或其與主控制器44共同執行的。
為了保證排存服務不會被過早打斷,共享切換器40實施一種延遲機制,以致必須偵測到共同連接線49在一段預定時間內無動作,共享切換器40才能切換到另外一台電腦。在一實施例中,此忙碌偵測線路46傳送忙碌與否的訊號給主控制器44,例如每當共同連接線49從忙碌變成不忙碌或其相反狀況時,忙碌偵測線路46傳送一新的訊號給主控制器44。根據此訊號,主控制器44使用一計時器來監測共同連接線49已是多久在不忙碌狀態,並決定在不忙碌狀態中一預定時間之後排存服務是已經完成。在另外一種實施例中,USB忙碌偵測線路46擁有一計時器,可以決定共同連接線49已有多久時間在不忙碌狀態,並在共同連接線49在不忙碌狀態一段預定時間之後,傳輸一個排存服務完成指令給主控制器44。
主控制器44包括一佇列(queue),存放來自各電腦20所傳遞過來之請求切換指令。在主控制器確認目前選定的電腦已排存服務完成後,主控制器從佇列中擷取其次請求切換指令(步驟S53)。如果佇列是空的,主控制器會等待從一電腦所傳遞過來之其次請求切換指令而且將其放入佇列。在這個例子當中,假設在佇列中之其次請求切換指令是來自於第一台電腦PC-1(視為下一個要切換的電腦)。主控制器和從控制器44(在主控制器的指令之下)實施適當的控制功能以將印表機30從目前的電腦PC-4切換到下一部電腦PC-1。
在本例中,此時,第四個電腦端切換器SW-4在控制之下將第四台電腦PC-4切換到第三個控制器端切換器SW-7(也就是,第四台電腦PC-4不再連接到印表機30)(步驟S54)。控制第一電腦端切換器SW-1以將第一台電腦PC-1切換到印表機30(步驟S55)。又,第三控制器端切換器SW-7被控制以切換到第四電腦端切換器SW-4,第二控制器端切換器SW-6被控制以切換到第三電腦端切換器SW-3,並且第一控制器端切換器SW-5被控制以切換到第二電腦端切換器SW-2(步驟S56)。切換步驟S54至S56之次序並非固定。而第二、第三電腦端切換器SW-2、SW-3無須執行任何動作因為其等之切換狀態並無改變。
經過上述切換操作後,其次被選定之電腦PC-1經由其對應之電腦端切換器SW-1連接到印表機30,而此時沒有被選定的電腦20(PC-2,PC-3及PC-4)則經由對應之電腦端切換器42(SW-2,SW-3及SW-4)及控制器端切換器48連接到控制器44(Contr-2,Contr-3及Contr-4)。其次選定的電腦PC-1即可進行列印動作(步驟S57)。當電腦PC-1列印完成之後,可以重複類似上述程序以回應其次切換需求指令。
在圖四所示的第二實施例中,由裝載於電腦20中的USB連接埠監測程式20B執行之程序是類似於在圖一所示之第一具體實施例中的連接埠監測程式20A於圖三所示的程序,其中一些不一樣的地方則解釋於下。
第一個不同點是在步驟S33,連接埠監測程式20B藉由輪詢(polling)HID(控制器44)來確認HID連接是否喪失以決定印表機連接狀態。如果HID喪失連接則代表印表機的連接已經建立。第二個不同點是連接埠監測程式20B並沒有執行步驟S35的操作(送出鎖住指令及確認鎖住狀態)。第三個不同點是連接埠監測程式20B並沒有執行步驟S38的操作(送出一個排存服務完成指令給USB共享切換器)。原因是如前所述,USB共享切換器40是由一個USB忙碌偵測線路46所決定一電腦之排存服務是否完成。
如前所述,一旦印表機30切換到一特定電腦20(目前選定的),共享切換器40不會將印表機切換到其他電腦,除非USB忙碌偵測線路46或主控制器確認排存服務動作已完成。因此一般而言目前選定電腦之排存服務是不會被中斷的,雖然中斷排存服務並非百分之百被防止的。
在圖四之共享切換器40中,如果一電腦20藉由對應之電腦端切換器42連接到印表機,此電腦是不會連接到一控制器44的。控制器44的數目可以比電腦端切換器42之數目少一個,因此節省成本。三個控制器端切換器48可以使得不管哪一台電腦20皆可切換到印表機,而其他三個電腦端切換器42可以連接到三個控制器44。
圖六顯示第二實施例的一種變化型。共享切換器60中包含同樣數量的控制器64、電腦端切換器62及電腦20。每一個控制器64直接連接到對應的電腦端切換器62,圖四中的控制器端切換器48則為不必要。在此架構之下,如果控制器64所對應到的電腦20連接到印表機30,此控制器64是不會有任何動作的。在圖六中的USB忙碌偵測線路66和主控制器44的操作如同圖四實施例中的USB忙碌偵測線路46和主控制器44的操作。
電腦端切換器62的切換操作是類似於圖四之電腦端切換器42的操作。圖四之連接埠監測程式20B也可使用在此實施例中。
圖7總結在共享切換器10/40/60之主控制器14/44/64的訊號溝通及切換程序。雖然並未畫在圖一、四及六中,可在切換器的外殼選擇地提供一個或多個按鈕。當主控制器收到一切換請求指令時(步驟S71),它會判斷此切換請求指令是否來自於共享切換器的按鈕或是來自於電腦20(步驟S72,為一選擇性步驟)。如果此切換請求指令是來自一按鈕,只有當印表機不被其他電腦鎖定的情況下,此共享切換器10/40/60才會啟始切換動作,否則此切換請求指令將會被忽略且不處理(步驟S76)。如果此切換需求不是來自於按鈕(步驟S72中之“N”),此切換請求命令會被放入佇列(步驟S73)。主控制器然後監測是否有一電腦20正在列印並確認列印何時完成(步驟S74)。如前述,這個步驟在圖一、圖四及圖六的實施例中是有差別的。當列印已完成,主控制器從佇列的開頭擷取切換請求指令,並啟始切換動作將其次選定的電腦20切換到印表機30(步驟S75)。
使用此處所述的共享切換器,在電腦的軟體和共享切換器的硬/韌體彼此配合下,此系統將可以完成全自動的切換和列印。只要USB連接埠監測程式裝在電腦上,使用者將可以執行列印動作而無須去執行另外的切換步驟。共享切換器的主控制器建置一個切換請求指令的佇列,以先到先服務的基本原則處理。而且在圖一之實施例中,共享切換器的韌體可以執行切換且鎖住功能而無任何延遲。
印表機30可為任何型式的印表機,例如噴墨或雷射印表機。
雖然上述實施例中之共享切換器是使用USB協定,其它協定例如IEEE 1394也可使用於其與電腦及印表機之介面,只要對電腦和印表機使用同一種協定即可,因此共享切換器無須在電腦及印表機之間作資料格式轉換的動作。
雖然在上述實施例中是使用印表機為例子,此共享切換器也可使用其他週邊設備如儲存設備、掃描機等等。
至於上述使用之名詞”排存服務(spooling)”或”列印(printing)”可以用更一般的詞”資料傳輸(data transfer)”來取代。例如”排存服務完成(spooling finished)”指令可以更廣泛的指為”資料傳輸完成(data transfer finished)”。在使用其它週邊設備的情況下,電腦中的驅動程式也許需要修正來與此共享切換器協同運作。
本發明雖以較佳實例闡明如上,然其並非用以限定本發明精神與發明實體僅止於上述實施例爾。是以,在不脫離本發明之精神與範圍內所作之修改,均應包含在下述申請專利範圍內。
10、40、60...共享切換器
12、42、62...電腦端切換器
14、44、64...USB裝置控制器
16...USB集線器(USB hub)
18、48...控制器端切換器
20...電腦
20A、20B...USB埠監測程式
30...印表機
46、66...USB忙碌(busy)偵測線路
49、69...共同連接線
圖一為依據本發明之第一實施例,包含共享切換器之系統方塊圖。
圖二依據本發明之第一實施例,舉例說明共享切換器之運作。
圖三為舉例說明一連接於圖一之共享切換器上的電腦程式的操作程序。
圖四為依據本發明之第二實施例,包含共享切換器之系統方塊圖。
圖五依據本發明之第二實施例,舉例說明共享切換器之運作。
圖六為依據本發明之第三實施例,包含共享切換器之系統方塊圖。
圖七為舉例說明在圖一、四及六之共享切換器上,主控制器操作程序。
10、40、60...共享切換器
12、42、62...電腦端切換器
14、44、64...USB裝置控制器
16...USB集線器(USB hub)
18、48...控制器端切換器
20...電腦
20A、20B...USB埠監測程式
30...印表機
46、66...USB忙碌(busy)偵測線路
49、69...共同連接線

Claims (23)

  1. 一種共享切換器,用以將一電腦週邊設備與複數個電腦連接,包括下列:複數電腦端切換器,每個電腦端切換器耦接到該所對應之電腦;一集線器裝置,包含:一連接到該複數個電腦端切換器的上資料流連接端點,一第一下資料流連接端點,耦接到該電腦週邊設備,及一第二下資料流連接端點;複數個裝置控制器,每個該裝置控制器耦接到該對應的電腦端切換器,其中每個該電腦端切換器將該對應電腦之連接切換到該對應的裝置控制器或集線器裝置的上資料流連接端點;及一控制器端切換器,耦接到該複數個裝置控制器及該集線器裝置之該第二下資料流連接端點,使得該集線器裝置之第二下資料流連接端點可以耦接到一裝置控制器。
  2. 如申請專利範圍第1項之共享切換器,其中該裝置控制器為萬用串列匯流排裝置控制器,該集線器裝置為萬用串列匯流排集線器。
  3. 如申請專利範圍第2項之共享切換器,其中該裝置控制器為萬用串列匯流排人機介面裝置等級之裝置控制器。
  4. 如申請專利範圍第1項之共享切換器,其中該電腦端切換器在該些電腦及該集線器間傳遞資料無須作資料格式的轉換。
  5. 如申請專利範圍第1項之共享切換器,其中該裝置控制器控制該電腦端切換器及該控制器端切換器之切換,使得一選定之電腦所對應之該電腦端切換器切換至該集線器裝置,而其它電腦端切換器切換至與其等對應之該裝置控制器,並且該控制器端切換器切換至與該選定電腦對應之該裝置控制器,因此該選定之電腦,經由該對應之電腦端切換器及該集線器裝置,連接到該電腦週邊設備。
  6. 如申請專利範圍第1項之共享切換器,其中該複數個裝置控制器之一為一主裝置控制器,而其它裝置控制器為複數個從裝置控制器,該些從裝置控制器被該主裝置控制器所控制。
  7. 如申請專利範圍第6項之共享切換器,其中該些從裝置控制器從其等對應之電腦接收請求切換指令及資料傳輸完成指令,然後將這些指令傳給該主裝置控制器,其中該主裝置控制器內有一佇列,此佇列儲存來自該對應電腦或從裝置控制器之複數個請求切換指令,及其中當該主裝置控制器從其對應之該電腦或自該些從裝置控制器之一接收到一資料傳輸完成指令,該主裝置控制器從該佇列中擷取一其次請求切換指令,並啟動該些電腦端切換器及該控制器端切換器之切換,使得下一個電腦得以連接到週邊設備。
  8. 如申請專利範圍第7項之共享切換器,其中該主裝置控制器只有在接收到一資料完成指令後才會啟動該些電腦端切換器及該控制器端切換器之切換。
  9. 一連接埠監測程式,應用於一電腦週邊設備共享系統,該電腦週邊設備共享系統包括如申請專利範圍第1項之一共享切換器、一週邊設備以及連接到該共享切換器之複數個電腦,該週邊設備為一印表機,該連接埠監測程式安裝在每一電腦上,包含下列:第一程式碼,當該連接埠監測程式從該電腦上之一排存服務程式收到一排存服務指令後,自動傳輸一切換請求給該共享切換器;第二程式碼,當偵測到一印表機已連接之後,使該電腦監測該印表機之一印表機連接狀態及對印表機啟動排存服務;及第三程式碼,當對印表機之排存服務已完成後,使該電腦傳輸一資料傳輸完成指令到該共享切換器。
  10. 一種耦接到一週邊設備及複數個電腦的共享切換器,包括下列:N個電腦端切換器,N為複數,每個電腦端切換器耦接到一對應電腦;一個共同連接線,耦接到該週邊設備及該N個電腦端切換器;一忙碌偵測線路,耦接到該共同連接線,偵測該共同連接線之一忙碌狀態,並且產生代表一偵測結果之訊號;N-1個裝置控制器;及複數個控制器端切換器,耦接到該N-1個裝置控制器及該N個電腦端切換器,將該N個電腦中任意組合的N-1個電腦切換到該N-1個裝置控制器,其中每一電腦端切換器將該對應電腦切換到該共同連接線或該些控制器端切換器。
  11. 如申請專利範圍第10項之共享切換器,其中該些裝置控制器為萬用串列匯流排裝置控制器。
  12. 如申請專利範圍第10項之共享切換器,其中該些電腦端切換器在該些電腦及該共同連接線間傳遞資料無須作資料格式的轉換。
  13. 如申請專利範圍第10項之共享切換器,其中該裝置控制器控制該些電腦端切換器及該些控制器端切換器,讓一選定電腦對應之該電腦端切換器切換到該共同連接線,其他N-1個電腦端切換器切換到該些控制器端切換器,且切換該控制器端切換器讓其他N-1個電腦端切換器連接到該N-1個裝置控制器,因此該選定電腦連接到該電腦週邊設備。
  14. 如申請專利範圍第10項之共享切換器,其中該複數個裝置控制器之一為主裝置控制器,而其它裝置控制器為從裝置控制器,從裝置控制器被主裝置控制器所控制。
  15. 如申請專利範圍第14項之共享切換器,其中該些從裝置控制器自其等所連接之該些電腦接收複數個請求切換指令,然後將這些指令傳給該主裝置控制器,其中該主裝置控制器內有一佇列,此佇列儲存來自該連接電腦或該從裝置控制器之複數個請求切換指令,其中該忙碌偵測線路傳輸代表該偵測結果之訊號到該主裝置控制器,其中當主裝置控制器從該忙碌偵測線路接收之訊號決定是否資料傳輸是否完成,且當主裝置控制器確認資料傳輸已完成,該主裝置控制器從該佇列中擷取一其次請求切換指令,啟動該些控制電腦端切換器及該些控制器端切換器之切換,使得下一個電腦得以連接到該週邊設備。
  16. 如申請專利範圍第15項之共享切換器,其中該忙碌偵測線路傳送的訊號代表資料傳輸完成與否,且其中該忙碌偵測線路在偵測到該共同連接線上一預定時間無資料傳輸後,將該訊號傳遞到該主裝置控制器。
  17. 如申請專利範圍第15項之共享切換器,其中該忙碌偵測線路傳送的訊號代表該共同連接線是否忙碌,且該主裝置控制器在從該忙碌偵測線路接收到非忙碌訊號一預定時間後,確認資料傳輸完成。
  18. 一連接埠監測程式,應用於一電腦週邊設備共享系統,該電腦週邊設備共享系統包括如申請專利範圍第1項之一共享切換器、一電腦週邊設備以及連接到該共享切換器之複數個電腦,該週邊設備為一印表機,該連接埠監測程式安裝在每一電腦上,包括下列:第一程式碼,當該連接埠監測程式從該電腦上之一排存服務程式收到一排存服務指令後,自動傳輸一切換請求給該共享切換器;及第二程式碼,當偵測到一印表機已連接之後,使該電腦監測該印表機之一印表機連接狀態及對印表機啟動排存服務。
  19. 一種實施於一共享切換器及電腦之方法,應用於一電腦週邊設備共享系統,該電腦週邊設備共享系統包括一共享切換器、一週邊設備以及耦接到該共享切換器之複數個電腦,該方法包括下列步驟:在該共享切換器上的步驟:(a)將一目前所選擇的電腦連接到該週邊裝置;(b)接收來自該些電腦之複數個切換請求指令;(c)將該些切換請求指令放入一佇列;(d)判斷該目前選定之電腦傳輸到該週邊設備的資料傳輸是否完成;及(e)如果判斷目前所選定之電腦之資料傳輸已完成,從該佇列擷取一其次切換請求指令,並且根據該其次切換請求指令將下一台選擇到的電腦連接到該週邊設備。
  20. 如申請專利範圍第19項之方法,其更包含下列步驟:在每一電腦上的步驟:(f)當該電腦上的一程式要求傳輸資料到該週邊設備或從該週邊設備傳入資料時,自動傳遞一切換請求指令給該共享切換器;(g)監測該週邊設備的一連接狀態;及(h)在確認該週邊設備已經連接上之後,對該週邊設備傳入/輸出資料。
  21. 如申請專利範圍第20項之方法,其更包含下列步驟:在電腦上的步驟:(i)當(h)步驟的資料傳輸已完成後,傳送一資料傳輸完成指令給該共享切換器。
  22. 如申請專利範圍第21項之方法,其中在步驟(d)中,從目前選定之電腦接收到一資料傳輸完成指令後,該共享切換器確認資料傳輸完成。
  23. 如申請專利範圍第19項之方法,其中在步驟(d)中,在偵測一連接到該週邊設備的訊號線是否忙碌,該共享切換器得以確認資料傳輸是否完成。
TW098107683A 2008-11-11 2009-03-10 一種具有自動切換能力的usb共享切換器 TWI386805B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/268,974 US7886106B2 (en) 2008-11-11 2008-11-11 USB sharing switch with automatic switching capabilities

Publications (2)

Publication Number Publication Date
TW201019117A TW201019117A (en) 2010-05-16
TWI386805B true TWI386805B (zh) 2013-02-21

Family

ID=42166224

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098107683A TWI386805B (zh) 2008-11-11 2009-03-10 一種具有自動切換能力的usb共享切換器

Country Status (3)

Country Link
US (2) US7886106B2 (zh)
CN (1) CN101739377B (zh)
TW (1) TWI386805B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836241B2 (en) * 2008-11-14 2010-11-16 Genesys Logic, Inc. Electronic apparatus having switching unit
US20100312926A1 (en) * 2009-06-03 2010-12-09 Silicon Storage Technology, Inc. Switch for a two way connection between a removable card, a mobile wireless communication device, or a computer
US20110113166A1 (en) * 2009-11-06 2011-05-12 Cpo Technologies Corporation Method and Apparatus of USB 3.0 Based Computer, Console and Peripheral Sharing
US20110161428A1 (en) * 2009-12-28 2011-06-30 Ezpnp Technologies Corp. Two-way data and resources sharing method
US8427680B2 (en) * 2010-03-03 2013-04-23 Xerox Corporation Delayed printing from a computerized device
WO2012154609A2 (en) * 2011-05-06 2012-11-15 Belkin International Inc. Keyboard-video-mouse system and method of providing and using the same
KR101831785B1 (ko) 2011-12-30 2018-04-05 에스프린팅솔루션 주식회사 복수의 호스트들과 연결 가능한 화상형성장치 및 화상형성장치에서 화상형성 작업을 제어하는 방법
CN102566949B (zh) * 2012-01-05 2015-09-09 石家庄科林电气股份有限公司 变电站中智能设备打印机的共享打印方法
JP2013178743A (ja) * 2012-01-31 2013-09-09 Ricoh Co Ltd 機器管理装置、機器管理システム、及びプログラム
FR2997775B1 (fr) * 2012-11-06 2016-03-25 Renault Sas Dispositif et procede d'evaluation de compatibilite d'un systeme electronique avec plusieurs appareils
KR101827704B1 (ko) * 2016-04-12 2018-03-22 현대자동차주식회사 Usb 멀티 호스트 장치, 그를 포함하는 차량 및 usb 멀티 호스트 장치의 제어방법
US10582636B2 (en) * 2017-08-07 2020-03-03 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Server having a dual-mode serial bus port enabling selective access to a baseboard management controller
TWI647571B (zh) * 2017-09-20 2019-01-11 旺玖科技股份有限公司 萬用串列匯流排集線器
TWI685752B (zh) * 2017-09-20 2020-02-21 旺玖科技股份有限公司 萬用串列匯流排集線器
CN108228509B (zh) * 2018-01-04 2020-06-09 中科创达软件股份有限公司 一种usb接口切换装置和电子设备
US11176071B2 (en) * 2018-11-09 2021-11-16 Cypress Semiconductor Corporation USB signal switch circuitry using standard USB hub and method of operation the same
DE102019126059A1 (de) * 2019-09-26 2021-04-01 Computer Mack GmbH USB Automatik Umschalter
CN115391255B (zh) * 2022-10-27 2023-01-31 北京恩威特科技有限公司 一种高可用usb设备共享服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010032280A1 (en) * 1996-11-07 2001-10-18 Hitachi, Ltd. Interface switching apparatus and switching control method
GB2352540B (en) * 1999-04-28 2003-12-17 Adder Tech Ltd USB switching device & system
US20070255869A1 (en) * 2006-04-27 2007-11-01 Microsoft Corporation Device evaluation using automatic connection path reconfiguration
TW200825839A (en) * 2006-12-13 2008-06-16 Tangtop Technology Co Ltd USB auto switch

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280585A (en) * 1990-09-28 1994-01-18 Hewlett-Packard Company Device sharing system using PCL macros
DE59209363D1 (de) * 1992-10-12 1998-07-09 Leunig Gmbh Einrichtung für die wahlweise Datenübertragung und Dateiübertragung
CN1105768A (zh) * 1994-01-17 1995-07-26 北京联想计算机集团公司 打印机内置式多并口共享器
JP2000076038A (ja) * 1998-08-28 2000-03-14 Matsushita Electric Ind Co Ltd Usbハブ回路及びディスプレイ装置
US6600739B1 (en) * 1999-06-07 2003-07-29 Hughes Electronics Corporation Method and apparatus for switching among a plurality of universal serial bus host devices
US6546450B1 (en) * 1999-12-22 2003-04-08 Intel Corporation Method and apparatus for sharing a universal serial bus device among multiple computers by switching
US6957287B2 (en) * 2001-11-09 2005-10-18 Aten International Co., Ltd. Asynchronous/synchronous KVMP switch for console and peripheral devices
TWI295885B (en) * 2002-06-03 2008-04-11 Action Star Entpr Co Ltd Ubs sharer for use with an usb device
US20040075638A1 (en) * 2002-10-17 2004-04-22 Hsu Han USB based on-line on-screen display and method for switching between microprocessor based electronic devices
TWI220476B (en) * 2003-03-18 2004-08-21 Aten Int Co Ltd Resources sharing device
US6993620B2 (en) * 2003-06-13 2006-01-31 Hewlett-Packard Development Company, L.P. User resource sharing through the USB interface
US7502878B1 (en) * 2003-06-27 2009-03-10 Cypress Semiconductor Corporation Method and apparatus for switching USB devices between multiple USB hosts
US20050216620A1 (en) * 2004-03-26 2005-09-29 Francisc Sandulescu KVM and USB peripheral switch
US20060123182A1 (en) * 2004-12-07 2006-06-08 Francisc Sandulescu Distributed KVM and peripheral switch
US7523243B2 (en) * 2006-04-14 2009-04-21 Standard Microsystems Corporation Multi-host USB device controller
US7478191B2 (en) * 2006-04-14 2009-01-13 Standard Microsystems Corporation Method for automatically switching USB peripherals between USB hosts
CN100568202C (zh) * 2007-01-23 2009-12-09 福建升腾资讯有限公司 计算机外围设备共享服务器控制方法
US7769940B2 (en) * 2008-02-13 2010-08-03 Belkin International, Inc. Switching device configured to couple a first computer to a first peripheral device and one or more second peripheral devices and method of manufacturing same
TW200935226A (en) * 2008-02-15 2009-08-16 Alcor Micro Corp KVM switch and operation method thereof
US8135874B2 (en) * 2008-04-02 2012-03-13 June-On Technology Co., Ltd. Automatic mapping and updating computer switching device
US20090257089A1 (en) * 2008-04-10 2009-10-15 Action Star Enterprise Co., Ltd. Method and System for Managing Print Jobs for a Shared Printer
JP5371348B2 (ja) * 2008-09-19 2013-12-18 株式会社Pfu スキャナ共有器
US7769941B2 (en) * 2008-09-23 2010-08-03 Aten International Co., Ltd. USB matrix switch system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010032280A1 (en) * 1996-11-07 2001-10-18 Hitachi, Ltd. Interface switching apparatus and switching control method
GB2352540B (en) * 1999-04-28 2003-12-17 Adder Tech Ltd USB switching device & system
US20070255869A1 (en) * 2006-04-27 2007-11-01 Microsoft Corporation Device evaluation using automatic connection path reconfiguration
TW200825839A (en) * 2006-12-13 2008-06-16 Tangtop Technology Co Ltd USB auto switch

Also Published As

Publication number Publication date
TW201019117A (en) 2010-05-16
US20100122010A1 (en) 2010-05-13
CN101739377A (zh) 2010-06-16
CN101739377B (zh) 2012-05-30
US20110093641A1 (en) 2011-04-21
US7886106B2 (en) 2011-02-08
US8352668B2 (en) 2013-01-08

Similar Documents

Publication Publication Date Title
TWI386805B (zh) 一種具有自動切換能力的usb共享切換器
RU2464626C2 (ru) Электронное устройство и способ управления им
CN101638009B (zh) 印刷装置、印刷装置的控制方法及控制程序
US7752498B2 (en) Information processing device, interface controller initializing method and program
JPH11296316A (ja) 周辺処理装置およびその制御方法
US10158771B2 (en) Information processing apparatus that transfers diagnosis information on a unit to another unit through a communication line for CPU to CPU communication, method of controlling an information processing apparatus, and storage medium
JP2007272832A (ja) 印刷システム、ホスト装置、印刷装置、印刷制御方法、印刷方法、それらの方法をコンピュータに実行させるプログラム、および記録媒体
JP5929431B2 (ja) 画像記録装置、画像記録装置の制御方法、及び制御プログラム
AU2001267838B9 (en) Image forming device
JP4299994B2 (ja) 複合デバイスシステム
JP6582830B2 (ja) モニタプログラム、通信プログラム、情報処理装置、画像形成装置、及び画像形成システム
JP2012000874A (ja) 電子機器、電子機器の制御方法、及び、プログラム
JP5106058B2 (ja) 印刷制御装置の異常を判断して印刷装置を復旧する印刷システム
JP2006202234A (ja) Usb通信経路切り換え制御装置
JPH0511938A (ja) 高機能並列ポートインタフエース
JP6399279B2 (ja) 通信装置
WO2013111507A1 (ja) 制御装置
JPH10229538A (ja) データ通信システム、プリントシステム及びデータ通信装置
JP2018130910A (ja) 省電力モードを有する画像形成装置、その制御方法及びプログラム
JP2001067193A (ja) 印刷システム及び印刷装置及びその制御方法
JP2004304324A (ja) データ伝送システム、端末装置及びプログラム
JP2012061639A (ja) 画像形成装置および印刷制御方法
US20130166804A1 (en) Information processing apparatus and recording apparatus using the same
JPH10228364A (ja) データ転送装置及びその制御方法及び印刷システム
JPH10154049A (ja) ネットワークプリントシステム