TWI537740B - 主機計算裝置、用以路由安排通用串列匯流排資料之方法及非暫態電腦可讀儲存媒體 - Google Patents

主機計算裝置、用以路由安排通用串列匯流排資料之方法及非暫態電腦可讀儲存媒體 Download PDF

Info

Publication number
TWI537740B
TWI537740B TW103122822A TW103122822A TWI537740B TW I537740 B TWI537740 B TW I537740B TW 103122822 A TW103122822 A TW 103122822A TW 103122822 A TW103122822 A TW 103122822A TW I537740 B TWI537740 B TW I537740B
Authority
TW
Taiwan
Prior art keywords
computing device
usb
host computing
attached
usb data
Prior art date
Application number
TW103122822A
Other languages
English (en)
Other versions
TW201516693A (zh
Inventor
佛列洽 利佛安斯
湯瑪士J 弗琳
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 TW201516693A publication Critical patent/TW201516693A/zh
Application granted granted Critical
Publication of TWI537740B publication Critical patent/TWI537740B/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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • 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/4027Coupling between buses using bus bridges
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Systems (AREA)

Description

主機計算裝置、用以路由安排通用串列匯流排資料之方法及非暫態電腦可讀儲存媒體
本發明係有關於通用串列匯流排資料路由安排技術。
發明背景
電腦系統的使用者可能希望可在另一網路上,諸如雇主的網路上,使用他們自己的裝置。舉例來說,一使用者可能希望使用他自己的計算裝置,諸如一膝上型電腦、平板電腦、等等,來安全地連接到他雇主的網路,無論是在工作中或是從一遠端位置。
發明概要
依據本發明之一實施例,係特地提出一種方法,其包含有:藉由一主機計算裝置安裝一通用串列匯流排(USB)資料路由安排模組在該主機計算系統上;藉由安裝在該主機計算裝置上的該USB資料路由安排模組從一附接的計算裝置接收一USB資料訊息,該附接的計算裝置係在一第一USB介面被通信地耦合到該主機計算裝置;以及藉由安裝在該主機計算裝置上的該USB資料路由安排模組,把從位於該第一USB介面之該附接的計算裝置所接收到的該 USB資料訊息路由到一週邊裝置,該週邊裝置係在一第二USB介面被通信地耦合到該主機計算裝置。
100‧‧‧主機計算裝置
102‧‧‧處理器
104‧‧‧記憶體
106‧‧‧資料儲存區
108‧‧‧USB資料路由安排模組
120‧‧‧附接的計算裝置
121‧‧‧USB埠
123‧‧‧USB連接
130‧‧‧週邊裝置
131‧‧‧USB埠
133‧‧‧USB連接
200‧‧‧主機計算裝置
202‧‧‧處理器
204‧‧‧記憶體
206‧‧‧資料儲存區
208‧‧‧USB資料路由安排模組
220‧‧‧附接的計算裝置
221‧‧‧連接埠
222‧‧‧處理器
223‧‧‧USB通信鏈路
224‧‧‧記憶體
226‧‧‧驅動程式安裝模組
228‧‧‧作業系統模組
231‧‧‧USB介面
232‧‧‧印表機
233‧‧‧USB通信鏈路
234‧‧‧外部資料儲存區
236‧‧‧成像裝置
300‧‧‧流程圖
302~306‧‧‧方塊
400‧‧‧方塊圖
410‧‧‧主機計算裝置
412‧‧‧主機USB資料路由安排模組
414‧‧‧主機USB子系統
416‧‧‧主機作業系統
420‧‧‧附接的計算裝置
423‧‧‧USB通信鏈路
424‧‧‧附接裝置USB子系統
426‧‧‧附接裝置作業系統
430‧‧‧週邊裝置
433‧‧‧USB通信鏈路
以下的詳細描述參考到所附圖示,其中:圖1根據本發明的實例圖示出一主機計算裝置的方塊圖,其可在一附接的計算裝置和一週邊裝置之間路由USB資料;圖2根據本發明的實例圖示出一主機計算裝置的方塊圖,其可在一附接的計算裝置和一週邊裝置之間路由USB資料;圖3根據本發明的實例圖示出一方法300的流程圖,該方法可用於在一附接的計算裝置和一週邊裝置之間透過一主機計算裝置路由USB資料;以及圖4圖示出在一主機計算裝置、一附接的計算裝置、以及一週邊裝置之間的一USB資料路由安排方塊圖。
較佳實施例之詳細說明
希望遠端存取一網路,諸如該使用者雇主的網路,的一使用者會利用一特殊的計算裝置,諸如在一USB記憶棒上的一計算裝置,連接到該使用者自己的計算裝置。當使用在該USB記憶棒上的該計算裝置時,該使用者可能希望可使用連接到該使用者自己的計算裝置的一週邊裝置。
一計算裝置的一使用者可能希望連接一特殊的 計算裝置來存取一遠端網路。舉例來說,一使用者可能希望從一遠端位置或從該使用者自己的裝置使用該使用者雇主的網路。為了要達該目的,該使用者會把一特殊的計算裝置附接到該使用者的電腦,該裝置有諸如一通用串列匯流排(USB)裝置之小型裝置的形式。這個特殊的或附接的計算裝置可連接到一主機計算裝置,該附接的計算裝置致使該使用者可透過該主機計算裝置來進入在該附接的計算裝置上的一專用計算環境。一旦該使用者把該附接的計算裝置連接到該主機計算裝置,該附接的計算裝置可以啟動並載入一作業系統在該附接的計算裝置上。然後,該使用者可以透過該主機電腦經由一網頁瀏覽器來接取在該附接計算裝置上的該作業系統,舉例來說。
然而,該使用者可能無法藉由USB從在該附接的計算裝置上運行的該作業系統會期使用連接到該主機計算裝置的任何週邊裝置。舉例來說,該使用者可能希望在該附接的計算裝置上運行的該作業系統會期中在一連接到該主機計算裝置的印表機上列印一文件。事實上,該附接的計算裝置可能不知道該主機計算裝置有任何附接的週邊裝置,所以在該附接的計算裝置上運行的該作業系統會期不能使用那些附接的週邊裝置。
在此之前,該主機計算裝置可能會利用一自定的USB驅動程式和一專用的協定來進行解碼和重新編碼在該附接的計算裝置和該週邊裝置之間的該USB訊息。這個過程涉及在該主機計算裝置上該作業系統的安裝和運行以接 收、解碼、重新編碼、和重新傳輸該資料。在這種情況下,該主機計算裝置可以透過一USB通信鏈路從該附接的計算裝置接收資料,該資料會被發送到連接到該主機計算裝置的一週邊裝置。該主機計算裝置將會接收該資料、解碼該資料、把該資料分段成封包、重新編碼該資料,然後將該資料發送到該週邊裝置。然後該週邊裝置可以接收該資料、解碼該資料、並以通常的方式處理該資料。
類似地,對於正從該週邊被發送到該附接的計算裝置的資料,該主機計算裝置會接收該資料、解碼該資料、把該資料分段成封包、重新編碼該資料,然後把該資料透過一網路協定諸如TCP/IP或UDP發送到該週邊裝置,然後重新組裝該USB資料並把它們插入到該附接的計算裝置的USB匯流排協定訊息佇列中。然後該附接的計算裝置可以通常的方式處理該資料。
先前的方法有不直接使用該等USB訊息的缺點。此外,需要進行編碼、傳輸、解碼之所有的USB訊息會對同步裝置和高頻寬裝置諸如智慧卡、網路攝影機、和成像裝置造成問題。
以下描述得各種實例將參考到通用串列匯流排(USB)資料路由安排的一些實例,包括由該主機計算裝置在該附接的計算裝置和連接到該主機計算裝置的週邊裝置之間所做的USB資料路由安排。本文所揭露的USB資料路由安排利用一安裝在該主機計算裝置上之特別的USB驅動程式,其使得在該主機計算裝置與該附接的計算裝置之間的 USB訊息可共享,使得該附接的計算裝置可以存取和控制連接到該相同USB匯流排的週邊裝置,而不需要更高層次的裝置控制,諸如涉及到該主機計算裝置的作業系統。
在一些實施方式中,USB訊息不需要被分割、編碼成封包、透過一更高層級的網路協定(例如TCP/IP或UDP)進行傳輸,然後再進行解碼、重新組裝、並進行處理。在先前過程中所產生的負擔可能會導致定時的問題並可能會增加顯著的複雜性,因為USB訊息從未被設計成或被打算要被分解成封包。本說明書中所描述的實例藉由使用現有的USB基礎設施和介面直接地在該附接的計算裝置和一連接到該主機計算裝置的週邊裝置之間傳送該等USB訊息來避免USB訊息編碼、封包化、和傳送等不必要的負擔。從之後的描述來看,這些和其他的優點將會是顯而易見的。
根據本發明的實例,圖1圖示出一主機計算裝置100的一方塊圖,其可在一附接的計算裝置120和一週邊裝置130之間路由USB資料。應被理解的是,該主機計算裝置可以包括任何適當類型的計算裝置,例如包括智慧型手機、平板電腦、桌上型電腦、筆記型電腦、工作站、伺服器、智慧型監控器、智型型電視、數位招牌、科學儀器、零售銷售點裝置、電視牆、成像裝置、週邊、等等。
該主機計算裝置100可包括一處理器102,其被配置成可處理和執行指令。該處理器102可以是任何合適類型的處理器或微處理器,其包括一ARM處理器或其他類型基於RISC的處理器,或者該處理器102可以包括一通用處理器 或特殊的處理器。
該等指令可以被儲存在一非暫時性之有形的電腦可讀取儲存媒體,諸如記憶體裝置104,或在一分開的裝置上(圖中未示出),或在任何其他類型的依電性或非依電性記憶體上,其所儲存的指令致使一可編程的處理器執行本說明書所描述的技術。可替代地或是另外地,該主機計算裝置100可包括專用的硬體,例如一個或多個積體電路、特定應用積體電路(ASIC)、特定應用特殊處理器(ASSP)、場可程式閘陣列(FPGA)、或上述專用硬體實例的任何組合,以用來執行本說明書所描述的技術。在一些實施方式中,多個處理器可以被使用,只要合適的話,伴隨多個記憶體和/或記憶體類型。
在一些實例中,如在圖1中所示,一資料儲存區106可以被包含在主機計算裝置100中,其可被用來儲存資料。該資料可以包括,舉例來說,一作業系統、一裝置驅動程式或驅動程式、和/或其他適當的資料。該資料儲存區106可以是一硬碟、一快閃記憶體裝置、一唯讀記憶體裝置、一隨機存取記憶體裝置、或其他合適的裝置來儲存資料。該資料儲存區106還可以儲存應用程式或程式,其可被該主機計算裝置100的一使用者發起並使用。多個資料儲存區(具相同或不同的類型)可以在其他的實例中被使用。
該主機計算裝置100還可以包括一USB資料路由安排模組108來在USB附接的USB裝置之間路由USB資料。在一實例中,該USB資料路由安排模組108可在一附接的計 算裝置120和一週邊裝置130之間路由USB資料。在其他的實例中,該USB資料路由安排模組108可在附接到或通信地耦合到該主機計算裝置100之各種其他的裝置之間和之中路由USB資料。
在一實例中,該USB資料路由安排模組108可以是一專用的硬體組件,諸如一經修改的USB控制器晶片組。然而,在另一實例中,該USB資料路由安排模組可被集成到該USB主機控制器韌體或在安裝在該主機計算裝置200之該作業系統上的該USB驅動程式中。
該USB資料路由安排模組108致使該主機計算裝置可在該附接的計算裝置120和該週邊裝置130之間和之中路由USB流量,舉例來說,不需要在該主機計算裝置100上一應用層的幫忙。更正確的說,該USB資料路由安排模組108可用硬體層級在該附接的計算裝置120和該週邊裝置130之間處理和和路由USB資料。在這種情況下,該USB資料並不需要被解碼、被分解成封包、被重新編碼、然後再被重新發送。另外,由於該USB資料可以被發送為一單一USB訊息而不是把一USB訊息拆解後的多個封包,該接收裝置(例如,該週邊裝置130,如果該附接的計算裝置120是該發送裝置的話)不必重新組裝該等封包。以這種方式,在該資料發送過程中所發生的延遲會較少。此外,因為該USB資料訊息是以一整體來做發送,故經分段後之訊息其某一單一封包可能遺失的機率會下降。
該主機計算裝置100的一使用者,其可以是一一 般使用者或一管理員使用者、或該主機計算裝置100的製造商,對於該USB資料路由安排模組可具有某種程度的控制。舉例來說,該適當的當事人可以選擇哪些訊息、以及哪些裝置,應被路由到該附接的計算裝置120而不是到該主機計算裝置100。此外,在一實例中,當該等裝置被附接和進行通信時,不用重置或拔除任何的裝置就可以修改此行為。
該附接的計算裝置120可以是連接到該主機計算裝置100的一裝置,其使得一使用者可啟動一個作業系統環境,諸如透過遠端桌面協定,Citrix、虛擬機器、或類似物的一遠端會期。舉例來說,該主機計算裝置的一使用者可以把該附接的計算裝置120連接到一USB埠121。以這種方式,一USB連接123會在該附接的計算裝置120與該主機計算裝置100之間被形成。該USB連接123會在該主機計算裝置100與該附接的計算裝置120之間傳送資料。資料可透過該USB連接123從該主機計算裝置100被發送到該附接的計算裝置120。類似地,資料可透過該USB連接123從該附接的計算裝置120被發送到該主機計算裝置100。該USB連接可以包括一實體電纜、電纜串連、和/或一USB集線器或其他合適的連接,或該附接的計算裝置可被直接連接到該主機計算裝置100的該USB埠121。該USB埠121和該USB埠131可以是在該計算裝置100內之相同的或不同的USB控制器上。此外,該等USB埠121和131可被連接到不同類型的USB控制器,諸如USB 1.0、1.1、2.0、和/或3.0。該主機計算裝 置100可以在每一個控制器上安裝一模組,從而使該等不同的控制器可以進行通信。在另一實例中,該主機計算裝置100的該作業系統可以管理該等USB控制器。
該週邊裝置130可以包括各種附接和/或通信地耦合到該主機計算裝置100之不同的週邊裝置。舉例來說,該週邊裝置130可以是連接到該主機計算裝置100的一印表機。該週邊裝置130也可以是一種成像裝置,諸如網路攝影機或掃描器、一外部資料儲存裝置、一智慧卡、一安全接取裝置、或任何數量之各種合適的週邊裝置。
該週邊裝置130可透過位在該主機計算裝置之一USB介面埠131的一USB連接133被附接到和/或被通信地耦合到該主機計算裝置100。該USB連接133會在該主機計算裝置100和該週邊裝置130之間傳送資料。資料可透過該USB連接133從該主機計算裝置100被發送到該週邊裝置130。類似地,資料可透過該USB連接133從該週邊裝置130被發送到該主機計算裝置100。該USB連接可以包括一實體電纜、電纜串連、和/或一USB集線器或其他合適的連接,或該附接的計算裝置可被直接連接到該主機計算裝置100的該USB埠121。
在一實例中,USB資料可以從該附接的計算裝置120透過該USB連接123來傳送,並且可以在該主機計算裝置100的該USB埠121被接收。該接收到的USB資料可由該主機計算裝置的該USB資料路由安排模組108來處理。在處理該USB資料時,該路由安排模組108可以決定該USB資料 應該被路由到另一附接的裝置,諸如週邊裝置130。在這種情況下,該USB資料路由安排模組108可把從該附接的計算裝置120所接收到的該USB資料120經由USB埠131透過USB連接133路由到該週邊裝置。
透過使用該USB資料路由安排模組108來處理和路由該資料,該主機計算裝置100不需要利用該作業系統和/或應用層來路由該資料,免除了要進行解碼、分解該資料轉換成封包、和重新傳送該資料的需要。另外,在這種情況下,該週邊裝置130所接收到之USB資料的形式會和其被該附接的計算裝置120所發送出的形式是相同的,因而節省了時間和計算力,同時減少了延遲和錯誤。在另一實例中,該主機計算裝置100可利用該主機計算裝置108的該作業系統來執行該USB資料路由安排。
在一實例中,該USB介面埠121和該USB連接埠131可以位於或被連接到一單一USB控制器。在另一實例中,該單一USB控制器可以具有額外的USB介面埠。在又另一實例中,該USB介面埠121和該USB連接埠131可能是在不同的USB控制器上。
根據本發明的實例,圖2圖示出一主機計算裝置100的一方塊圖,其可在一附接的計算裝置120和一週邊裝置之間路由USB資料。
該主機計算裝置200可以包括一USB資料路由安排模組208,用於在USB連接的USB裝置之間路由USB資料。在一如圖2所示的實例中,該USB資料路由安排模組208 可以在一附接的計算裝置220和一週邊裝置諸如印表機232、外部資料儲存區234、和/或成像裝置236之間路由USB資料,在其他的實例中,該USB資料路由安排模組208可在各種附接到或通信地耦合到該主機計算裝置200的其他裝置之間和之中路由USB資料。
在一實例中,該USB資料路由安排模組208可以是一專用的硬體組件,諸如一經修改的USB控制器晶片組。然而,在另一實例中,該USB資料路由安排模組208可被集成到該USB主機控制器韌體中或在被安裝在該主機計算裝置200之該作業系統上的該USB驅動程式中。
該USB資料路由安排模組208致使該主機計算裝置可在該附接的計算裝置220和各式各樣的週邊裝置諸如該印表機232、該外部資料儲存區234、和/或該成像裝置236之間和之中路由USB流量,不需要在該主機計算裝置200上一應用層的幫忙。更正確的說,該USB資料路由安排模組208會以硬體層級在該附接的計算裝置220和該等週邊裝置,包括該印表機232、該外部資料儲存區234、和/或該成像裝置236,的一個或多個之間處理和和路由USB資料。在這種情況下,該USB資料並不需要被解碼、被分解成封包、被重新編碼、然後再被重新發送。另外,由於該USB資料可以被發送為一單一USB訊息而不是把一USB訊息拆解後的多個封包,該接收裝置(例如,該印表機232,如果該附接的計算裝置220是該發送裝置的話)不必重新組裝該等封包。以這種方式,在該資料發送過程中所發生的延遲會較 少。此外,因為該USB資料訊息是以一整體來做發送,故一訊息經分段後其一單一封包可能遺失的機率會下降。
在圖2中所示的該附接的計算裝置220可包括一處理器222用於執行指令、一記憶體224用於儲存指令、一驅動程式安裝模組226致使一用以路由在該主機計算裝置中USB資料之USB裝置驅動程式可被安裝或更新在該主機計算裝置200中、和一作業系統模組228用於發起在該主機計算裝置200上的一作業系統會期。
一網路介面(圖中未示出)也可以被包含在該主機計算裝置200中。該網路介面可以是任何適當類型的網路介面卡,諸如無線或有線網路介面卡。舉例來說,該網路介面可以是一被配置成根據該802.11標準使用無線電頻率操作的無線網卡。該網路介面也可以是被配置成可經由一條導線連接到一網路的一有線網路介面卡,諸如透過一乙太網連接。各種其他的網路介面可被使用在不同的實例中,包括藍牙、WLAN、近場通信、RF、或任何其他合適類型之有線或無線網路介面。
在一個實例中,該附接的計算裝置220可以包括一驅動程式安裝模組。該驅動程式安裝模組可被儲存在該記憶體224中,可執行在該處理器222上,並致使一用於路由在該主機計算裝置200內之該USB資料的USB裝置驅動程式可在該主機計算裝置上被安裝或更新。在一實例中,在安裝之前,該裝置驅動程式可被儲存在該記憶體224中,或在另一實例中,可以被儲存在該連接的計算裝置220的一 資料儲存區中。多個USB裝置驅動程式可以被儲存在該資料儲存區中,而該正確的USB裝置驅動程式可以由該驅動程式安裝模組或者由該主機計算裝置的一使用者來選擇。
該裝置驅動程式致使該主機計算裝置200可在該附接的計算裝置220和一週邊裝置之間和之中路由USB流量,而不需要在該主機計算裝置200上一應用層的幫忙。
一驅動程式安裝模組226也被包括在該附接的計算裝置220中,並致使該主機計算裝置200可安裝該USB裝置驅動程式用以路由USB訊息。舉例來說,當該計算裝置被附接到該主機計算裝置時,如果該主機計算裝置200已被通電,該主機計算裝置200會自動地被觸發。在這種情況下,該驅動程式安裝模組226可把該USB裝置驅動程式傳遞或傳達給該主機計算裝置200,伴隨一命令(或一組命令)以致使該主機計算裝置200可安裝裝置該驅動程式。該驅動程式安裝模組226也可以被手動觸發,諸如透過實體的壓下按鈕、透過在命令提示符下所輸入的命令、或透過一使用者介面的一選擇。
在一實例中,該主機計算裝置200可提示該主機計算裝置200的一使用者來允許或接受該USB裝置驅動程式的安裝。在另一實例中,該主機計算裝置200也可以在沒有該使用者的輸入和/或在該使用者不知情的情況下安裝該USB裝置驅動程式。一旦該USB裝置驅動程式被安裝在該主機計算裝置上,該主機計算裝置200可在一附接的計算裝置和一個或多個週邊裝置之間和之中路由USB訊息。
該附接的計算裝置220還可以包括一作業系統模組220,其可啟動在該主機計算裝置200上的一作業系統會期。舉例來說,該作業系統模組220致使一作業系統(例如,Linux、微軟Windows、Android OS、蘋果iOS、等等)的啟動並啟動該附接的計算裝置220。這可包括載入為了要啟動在該附接的計算裝置220上之該作業系統會期所需要之相關的作業系統軟體和/或驅動程式。該作業系統會期可被載入到該記憶體224中而且可被執行在該處理器222上。一旦該附接的計算裝置220正被附接到該主機計算裝置200(如果該主機計算裝置已經被接通電源),或者一旦該主機計算裝置200被開啟(如果該附接的計算裝置220已經連接到該主機計算裝置),該作業系統模組228就可以開始啟動該作業系統。
一旦該作業系統被啟動,該附接的計算裝置220會致使該主機計算裝置在該主機計算裝置200的使用者介面上啟動一網頁瀏覽器介面。一使用者也可以經由其使用者介面手動地啟動在該主機計算裝置200上的該網頁瀏覽器介面。該網頁瀏覽器介面可以經由在該附接的計算裝置220與該主機計算裝置200之間所建立的一USB通信鏈路223,例如,經由連接埠221,連接到該附接的計算裝置220。
該附接的計算裝置220和該主機計算裝置200可以使用各種應用層通信型態以及透過其他的層級來在該通信鏈路上進行通信。舉例來說,該裝置可以使用超文字傳輸協定(無安全性的或安全性的)在該應用層進行通信。此 外,該附接的計算裝置220可與該主機計算裝置200在硬體層中進行通信,藉由透過USB通信鏈路223來發送和接收USB訊息會由該主機計算裝置200在USB埠221來接收。在一實例中,這些USB資料訊息不會由該主機計算裝置200的作業系統在該應用層中被處理。相反的是,該USB資料路由安排模組208可以在硬體層級中處理和路由該USB資料訊息。然而,在另一實例中,該主機計算裝置100可以利用該主機計算裝置108的該作業系統來執行該USB資料路由安排。
同樣地,一週邊裝置,諸如該印表機232、該外部資料儲存區234、和/或該成像裝置236,被發送到其或從其傳送出的資料可由該主機計算裝置200的該USB資料路由模組208來處理,而不是(或除其之外)由該主機計算裝置200的作業系統在該應用層中來處理。
在圖2中所圖示出的該主機計算裝置200可被配置成可處理在該處理器200上的指令,並且該等指令可被儲存在一非暫時性之有形的電腦可讀取儲存媒體中,諸如該記憶體204,或在一分開的裝置上(圖中未示出),或在任何其他類型的依電性或非依電性記憶體上,其儲存指令以致使一可編程處理器來執行本文所描述的技術。
舉例來說,該等指令可致使該處理器202至少執行以下的功能:一附接的計算裝置220在一第一USB介面221上通信地耦合到該主機計算裝置200,從該附接的計算裝置接收一USB資料訊息;把接收自位於該第一USB介面 221的該附接的計算裝置220的USB資料訊息路由到一週邊裝置(例如,印表機232、外部資料儲存區234、以及成像裝置236),其在一第二USB上介面231上通信地耦合到該主機計算裝置200;經由該第二USB介面231從該週邊裝置接收一USB資料訊息;以及把經由該第二USB介面231接收自該週邊裝置的該USB資料訊息經由該第一USB介面221路由到該附接的計算裝置220。在一實例中,該等指令還可使得該處理器200讓該主機計算裝置200可在該主機計算系統200上安裝一USB資料路由安排模組208。
圖3根據本發明的實例,圖示出一方法300的一流程圖,該方法可用以在一附接的計算裝置和一週邊裝置之間透過一主機計算裝置來路由USB資料。舉例來說,該方法可分別由在圖1和圖2中所示的計算裝置100和200來執行,或由另一類似的適合裝置來執行。
該方法300至少包括:藉由一主機計算裝置安裝一USB資料路由安排模組在該主機計算系統上(方塊302);藉由該主機計算裝置接收來自一附接的計算裝置的USB資料訊息,該附接的計算裝置係在一第一USB介面被通信地耦合到該主機計算裝置(方塊304);以及藉由安裝在該主機計算裝置上的USB資料路由安排模組,把接收自該位於該第一USB介面之附接計算裝置的USB資料訊息路由到一週邊裝置,該週邊裝置係在一第二USB介面被通信地耦合到該主機計算裝置(方塊306)。
在該所示的實例中,在方塊302,該方法300包括 藉由一主機計算裝置安裝一USB資料路由安排模組在該主機計算系統上。在另一實例中,該安裝可透過一附接的計算裝置來觸發。在這種情況下,該附接的計算裝置會包含有一USB資料路由安排模組安裝套件,其可被安裝在該主機計算裝置上。
在一實例中,在該主機計算系統上安裝該USB資料路由安排模組可以包括修改在該主機計算系統上一現存的USB模組來包含該USB資料路由安排模組。如果該主機計算裝置已經包括一USB模組,該方法300可檢測到該現存USB模組的存在,並判定該現存的模組是否包含有USB資料路由安排模組的相關功能。如果判定為否的話,該正確的USB資料路由安排模組可以被安裝或更新。然後該流程可以繼續至方塊304。
在方塊304,該方法300可以包括藉由該主機計算裝置接收來自一附接的計算裝置的USB資料訊息,該附接的計算裝置係在一第一USB介面被通信地耦合到該主機計算裝置。該附接的計算裝置可發送一USB資料訊息(例如,一命令來列印一文件),舉例來說,其旨在被一週邊裝置諸如一印表機來接收。在這種情況下,該主機計算裝置會在該第一USB介面接收到該USB資料訊息。然後該流程可以繼續至方塊306。
在塊306,該方法300可以包括藉由安裝在該主機計算裝置上的USB資料路由安排模組,把接收自該位於該第一USB介面之附接計算裝置的USB資料訊息路由到一週 邊裝置,該週邊裝置係在一第二USB介面被通信地耦合到該主機計算裝置。在以上的實例中,其中一USB資料訊息係從該該附接的計算裝置被發送並旨在由該週邊裝置(諸如一印表機)來接收,該主機計算裝置可路由該USB資料訊息到該週邊裝置。
該主機計算裝置可以使用安裝在該主機計算裝置上的該USB資料路由安排模組來路由該USB資料訊息。在這種情況下,該USB資料路由安排模組執行所有的路由功能,而無需任何應用層或作業系統協助的參與,諸如編碼、解碼、封包化、等等。該等所有的路由功能會發生在該主機計算裝置的該硬體層。
額外的程序也可以被納入,並且應當被理解的是,在圖3所示意的該等過程係表示一廣義的圖示,而其他程序可被加入或現存的程序可被移除、修改、或重新佈置,而不脫離本發明的範疇和精神。
舉例來說,該方法300可以包括經由該第二USB介面由該主機計算裝置接收來自該週邊裝置的一USB資料訊息。該方法300還可以包括藉由安裝在該主機計算裝置上的USB資料路由安排模組,把經由該第二USB介面從該週邊裝置所接收到的該USB資料訊息透過該第一USB介面路由到該附接的計算裝置。這兩個步驟可以被執行以對從該附接的計算裝置接收到一USB資料訊息做出回應,或者可以被獨立地啟動。
圖4圖示出在一主機計算裝置410、一附接的計算 裝置420、以及一週邊裝置430之間的一USB資料路由安排方塊圖400。在該實例中,該方塊圖400展示出了從該週邊裝置430透過該主機USB資料路由安排模組412到達該附接裝置USB子系統424的該USB資料流的路由安排。當然,該USB資料可以以相反的順序來流動,從該附接裝置USB子系統424透過主機USB資料路由安排模組412向該週邊裝置430來流動。
該主機計算裝置410可以包括一主機USB資料路由安排模組412、一主機USB子系統414、和主機作業系統416。該主機USB子系統414和該主機作業系統416致使主該機計算裝置可與該附接的週邊裝置430和/或該附接的計算裝置420進行互動。但是,正如該資料流所顯示,因該附接的計算裝置420和該週邊裝置430係透過USB通信鏈路423和433來交換資料,故這兩個模組是不需要的。
類似地,該附接的計算裝置420可包括一附接裝置USB子系統424和一附接裝置作業系統426。該附接裝置USB子系統會與該主機USB資料路由安排模組直接地進行通信來交換USB資料,而不涉及該主機USB子系統414或該主機作業系統416。
應當被強調的是,上述該等實例僅僅是實現方式的一些可能的實例,並係設定來對本發明有一清楚的了解。在不脫離本發明其本質精神和原理的情況下,可對上述實例進行許多變化和修改。此外,本發明的範疇旨在涵蓋所有在以上所討論之元件、特徵、和方面其任何及所有 適當的組合和子組合。所有如此適當的修改和變化被意圖被包括在本發明的範疇之內,並且對於元件或步驟的個別方面或其組合之所有可能的請求項都意圖由本發明所支援。
400‧‧‧方塊圖
410‧‧‧主機計算裝置
412‧‧‧主機USB資料路由安排模組
414‧‧‧主機USB子系統
416‧‧‧主機作業系統
420‧‧‧附接的計算裝置
423‧‧‧USB通信鏈路
424‧‧‧附接裝置USB子系統
426‧‧‧附接裝置作業系統
430‧‧‧週邊裝置
433‧‧‧USB通信鏈路

Claims (15)

  1. 一種用以路由安排通用串列匯流排資料之方法,其包含有:藉由一主機計算裝置安裝一通用串列匯流排(USB)資料路由安排模組在該主機計算系統上;藉由安裝在該主機計算裝置上的該USB資料路由安排模組從一附接的計算裝置接收一USB資料訊息,該附接的計算裝置係在一第一USB介面通信耦合到該主機計算裝置,以及藉由安裝在該主機計算裝置上的該USB資料路由安排模組,把在該第一USB介面從該附接的計算裝置所接收到的該USB資料訊息路由到一週邊裝置,該週邊裝置係在一第二USB介面通信耦合到該主機計算裝置。
  2. 如請求項1之方法,其中在該主機計算系統上安裝該USB資料路由安排模組包括對在該主機計算系統上的一現存USB模組進行修改以納入該USB資料路由安排模組。
  3. 如請求項1之方法,其中在該主機計算系統上安裝該USB資料路由安排模組係由通信耦合到該主機計算裝置之該附接的計算裝置所觸發。
  4. 如請求項1之方法,其更包含有:藉由安裝在該主機計算裝置上的該USB資料路由安排模組經由該第二USB介面從該週邊裝置接收一 USB資料訊息。
  5. 如請求項4之方法,其更包含有:藉由安裝在該主機計算裝置上的該USB資料路由安排模組,把經由該第二USB介面從該週邊裝置所接收到的該USB資料訊息經由該第一USB介面路由到該附接的計算裝置。
  6. 如請求項1之方法,其中路由該USB資料訊息發生在該主機計算裝置的一硬體層中。
  7. 如請求項1之方法,其中從該第一USB介面被路由到該第二USB介面的該USB資料訊息具有相同的格式並且沒被改變。
  8. 一主機計算裝置,其包含有:一個或多個處理器;一記憶體;一資料儲存區;一第一通用串列匯流排(USB)連接埠,可把一附接的計算裝置通信地耦合到該主機計算裝置;一第二USB連接埠,可把一週邊裝置通信地耦合到該主機計算裝置;以及一USB資料路由安排模組,其被儲存在該記憶體中並在該等一個或多個處理器的至少一個上執行,以在該附接的計算裝置和該週邊裝置之間經由該主機計算裝置來路由USB資料。
  9. 如請求項8之主機計算裝置,其中該附接的計算裝置包 含有一模組來啟動可由該主機計算裝置之使用者來存取的一作業系統會期。
  10. 如請求項8之主機計算裝置,其中一USB控制器控制該第一USB連接埠和該第二USB連接埠。
  11. 如請求項8之主機計算裝置,其中路由該USB資料發生在該主機計算裝置的一硬體層中。
  12. 如請求項8之主機計算裝置,其中從該第一USB連接埠被路由到該第二USB連接埠的該USB資料具有相同的格式並且沒被改變。
  13. 如請求項8之主機計算裝置,其中該第一USB連接埠和該第二USB連接埠係被通信地耦合到一單一USB控制器。
  14. 一種非暫態電腦可讀儲存媒體,其儲存有指令,當由一處理器執行時,會致使該處理器可以:從一附接的計算裝置接收一通用串列匯流排(USB)資料訊息,該附接的計算裝置係在一第一USB介面被通信地耦合到該主機計算裝置;把在該第一USB介面從該附接的計算裝置所接收到的該USB資料訊息路由到一週邊裝置,該週邊裝置係在一第二USB介面被通信地耦合到該主機計算裝置;經由該第二USB介面從該週邊裝置接收一USB資料訊息;以及把從該週邊裝置經由該第二USB介面所接收到的該USB資料訊息經由該第一USB介面路由到該附接的 計算裝置。
  15. 如請求項14之非暫態電腦可讀儲存媒體,其更包含有指令可致使該處理器可以:在該主機計算系統上安裝一USB資料路由安排模組。
TW103122822A 2013-07-03 2014-07-02 主機計算裝置、用以路由安排通用串列匯流排資料之方法及非暫態電腦可讀儲存媒體 TWI537740B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/049216 WO2015002648A1 (en) 2013-07-03 2013-07-03 Universal serial bus data routing

Publications (2)

Publication Number Publication Date
TW201516693A TW201516693A (zh) 2015-05-01
TWI537740B true TWI537740B (zh) 2016-06-11

Family

ID=52144093

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103122822A TWI537740B (zh) 2013-07-03 2014-07-02 主機計算裝置、用以路由安排通用串列匯流排資料之方法及非暫態電腦可讀儲存媒體

Country Status (5)

Country Link
US (2) US10423564B2 (zh)
EP (1) EP3017376B1 (zh)
CN (1) CN105378692B (zh)
TW (1) TWI537740B (zh)
WO (1) WO2015002648A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5670391B2 (ja) * 2012-07-27 2015-02-18 住友電気工業株式会社 コンテンツ管理装置、コンテンツ管理方法およびコンテンツ管理プログラム
US10078608B2 (en) * 2016-09-16 2018-09-18 Intel Corporation USB-C multiple connector support for host and device mode configurations
CN110692219B (zh) * 2017-05-01 2023-09-05 惠普发展公司,有限责任合伙企业 输入数据切换器

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745785A (en) * 1995-05-09 1998-04-28 Sofmap Future Design, Inc. System for alternatively transferring data from external memory to memory device and from memory device to internal memory depending upon processing unit's operational
KR100462589B1 (ko) * 1998-12-07 2005-04-06 삼성전자주식회사 프린터와, 이를 적용한 화상인쇄시스템 및 그 비밀문서 인쇄방법
JP4046897B2 (ja) * 1999-06-30 2008-02-13 キヤノン株式会社 画像入力装置およびその制御方法
US6704824B1 (en) * 1999-07-27 2004-03-09 Inline Connection Corporation Universal serial bus adapter with automatic installation
JP2002077641A (ja) * 2000-08-30 2002-03-15 Matsushita Electric Ind Co Ltd ファクシミリ装置
US7124086B2 (en) * 2001-05-30 2006-10-17 Olympus Corporation Data reproducing apparatus and data reproducing system for reproducing contents stored on a removable recording medium
EP1492016B1 (en) * 2003-06-26 2009-01-14 Broadcom Corporation Interface device coupled to PC host via USB
WO2005010730A2 (en) * 2003-07-24 2005-02-03 Idea Place Corporation Mobile memory device with integrated applications and online services
JP2005056130A (ja) * 2003-08-04 2005-03-03 Fuji Photo Film Co Ltd プリントシステム
US8504707B2 (en) 2004-12-07 2013-08-06 Cisco Technology, Inc. Method and system for sending and receiving USB messages over a data network
US7912987B2 (en) 2005-01-14 2011-03-22 Microsoft Corporation USB devices in application server environments
US7984228B2 (en) * 2006-02-28 2011-07-19 Microsoft Corporation Device connection routing for controller
US20080052770A1 (en) * 2006-03-31 2008-02-28 Axalto Inc Method and system of providing security services using a secure device
US7478191B2 (en) * 2006-04-14 2009-01-13 Standard Microsystems Corporation Method for automatically switching USB peripherals between USB hosts
US7587536B2 (en) * 2006-07-28 2009-09-08 Icron Technologies Corporation Method and apparatus for distributing USB hub functions across a network
US20080141042A1 (en) * 2006-12-11 2008-06-12 Phison Electronics Corp. Memory card and security method therefor
JP4337891B2 (ja) * 2007-03-01 2009-09-30 セイコーエプソン株式会社 記憶端末および情報処理システム
TW200844755A (en) 2007-05-03 2008-11-16 Realtek Semiconductor Corp Method for setting configuration, electronic system, computer and USB device
TWI420317B (zh) 2007-06-08 2013-12-21 雙向溝通連接之usb控制裝置及其運作方法
US8341087B2 (en) 2010-03-03 2012-12-25 Cassis International Pte Ltd Method for implementing and application of a secure processor stick (SPS)
US8429678B1 (en) * 2010-04-20 2013-04-23 American Megatrends, Inc. Redirecting video to a remote client using a service processor
TWI528161B (zh) 2010-09-30 2016-04-01 瑞昱半導體股份有限公司 資料傳輸系統以及資料傳輸方法
US9858126B2 (en) 2010-12-16 2018-01-02 Microsoft Technology Licensing, Llc Device redirection for remote systems
US9116821B2 (en) 2011-03-23 2015-08-25 Avocent Corporation Method and system for USB device virtualization
KR101831785B1 (ko) * 2011-12-30 2018-04-05 에스프린팅솔루션 주식회사 복수의 호스트들과 연결 가능한 화상형성장치 및 화상형성장치에서 화상형성 작업을 제어하는 방법
US9467368B2 (en) * 2013-03-04 2016-10-11 Dell Products, Lp System and method for routing data to devices within an information handling system

Also Published As

Publication number Publication date
US10423564B2 (en) 2019-09-24
EP3017376B1 (en) 2020-12-16
WO2015002648A1 (en) 2015-01-08
TW201516693A (zh) 2015-05-01
CN105378692B (zh) 2018-08-31
EP3017376A1 (en) 2016-05-11
US20170262399A1 (en) 2017-09-14
CN105378692A (zh) 2016-03-02
US10853302B2 (en) 2020-12-01
US20190370210A1 (en) 2019-12-05
EP3017376A4 (en) 2017-02-22

Similar Documents

Publication Publication Date Title
US9442876B2 (en) System and method for providing network access for a processing node
EP3276481B1 (en) Nvme networked storage implementation method, terminal, server, and system
EP2825969B1 (en) Data redirection for universal serial bus devices
JP3138119U (ja) リモート起動制御装置
US20130007224A1 (en) Lightweight Method for Out-Of-Band Management of a Remote Computer with a Mirror of Remote Software Resources
US10853302B2 (en) Data routing by a driver installed from a computing device
JP2006217283A (ja) データ転送方法、データ転送プログラム、情報処理端末装置及び情報システム
KR101251212B1 (ko) Usb 장치의 원격 제어 방법 및 이를 수행하는 시스템
JP6081193B2 (ja) メモリデバイス、保守作業支援プログラム、メモリシステムおよび保守システム
JP2007525756A (ja) ダウンロード方式のオペレーティングシステムに駆動されるネットワーク端末装置及びその作動方法
US9866443B1 (en) Server data port learning at data switch
TW201928671A (zh) 機箱監控系統及機箱監控方法
CN115499505A (zh) Usb网卡和通信方法
US8140712B2 (en) System, method, and computer program product for inserting a gap in information sent from a drive to a host device
JP6418021B2 (ja) 情報処理装置及び情報処理装置の制御方法
US9436644B1 (en) Apparatus and method for optimizing USB-over-IP data transactions
US8483847B2 (en) Control system and control method
US8516092B2 (en) Method and system for providing keyboard, video, and mouse switching
US10310993B2 (en) Emulation of physical equipment
US20230333735A1 (en) System and method for managing data storage in network interface controllers
JP2017531871A (ja) Usbストリームを通したサイドチャネルアクセス
TW201642127A (zh) 主機板及開機的方法
CN114257585A (zh) 一种网络访问方法、装置、设备及介质
JP2017010192A (ja) デバイス制御装置、その制御方法、およびデバイス制御システム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees