用于通用串行總線設(shè)備的數(shù)據(jù)重定向的制作方法
【專利摘要】本公開內(nèi)容的方面涉及數(shù)據(jù)傳輸。在一個(gè)例子中,本公開內(nèi)容的方面包括一種方法,該方法包括:在主機(jī)設(shè)備處,生成用于在連接到通用串行總線(USB)集線器的第一USB設(shè)備與連接到該USB集線器的第二USB設(shè)備之間建立連接的USB重定向配置請(qǐng)求,其中,第一USB設(shè)備與第二USB設(shè)備之間的該連接不包括該主機(jī)設(shè)備。該方法還包括:在第一USB設(shè)備與第二USB設(shè)備之間建立了該連接之后,請(qǐng)求要通過USB集線器從第一USB設(shè)備路由到第二USB設(shè)備的數(shù)據(jù)。
【專利說明】用于通用串行總線設(shè)備的數(shù)據(jù)重定向
[0001]本公開內(nèi)容要求享有于2012年3月13日遞交的美國(guó)臨時(shí)申請(qǐng)N0.61/610,247和于2012年3月15日遞交的美國(guó)臨時(shí)申請(qǐng)N0.61/611,314的權(quán)益,故以引用方式將這兩個(gè)美國(guó)臨時(shí)申請(qǐng)的全部?jī)?nèi)容并入本文。
【技術(shù)領(lǐng)域】
[0002]本公開內(nèi)容涉及無(wú)線通信技術(shù)。
【背景技術(shù)】
[0003]移動(dòng)設(shè)備可以采用以下形式:移動(dòng)電話、平板電腦、膝上型計(jì)算機(jī)、具有無(wú)線通信卡的便攜式計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、數(shù)碼相機(jī)、視頻游戲設(shè)備、便攜式媒體播放器、具有無(wú)線通信能力的閃存設(shè)備、無(wú)線通信設(shè)備(包括所謂的“智能”電話和“智能”板或平板電腦)、電子閱讀器或其它多種多樣的其它類型的便攜式設(shè)備。隨著高功耗處理器、用于處理媒體內(nèi)容的能力以及用于與云中的網(wǎng)絡(luò)進(jìn)行交互的能力的加入,移動(dòng)設(shè)備正變得越來(lái)越強(qiáng)大。這些改進(jìn)使得可能為移動(dòng)設(shè)備開發(fā)新的使用模型,其提供更佳的用戶體驗(yàn)和提高生產(chǎn)率。
[0004]此外,移動(dòng)設(shè)備和其它計(jì)算設(shè)備(例如,個(gè)人計(jì)算機(jī)、移動(dòng)電話、電子手持設(shè)備、游戲控制臺(tái)或其它類似設(shè)備)可以使用通信標(biāo)準(zhǔn)來(lái)與多種外圍設(shè)備進(jìn)行通信。一個(gè)這樣的通信標(biāo)準(zhǔn)包括通用串行總線(USB)連接??梢允褂肬SB連接的外圍設(shè)備的一些例子包括鼠標(biāo)、鍵盤、數(shù)碼相機(jī)、打印機(jī)、個(gè)人媒體播放器、諸如閃速驅(qū)動(dòng)器之類的大容量存儲(chǔ)設(shè)備、網(wǎng)絡(luò)適配器和外部硬驅(qū)動(dòng)器。對(duì)于這些設(shè)備中的很多設(shè)備來(lái)說,USB已變成有助于實(shí)現(xiàn)外圍設(shè)備連接的非常普遍的通信標(biāo)準(zhǔn)。
【發(fā)明內(nèi)容】
[0005]本公開內(nèi)容的技術(shù)一般涉及用于在電子設(shè)備之間傳輸數(shù)據(jù)的技術(shù)。例如,本公開內(nèi)容的技術(shù)可以限制在主機(jī)設(shè)備與通過集線器連接到該主機(jī)設(shè)備的一個(gè)或多個(gè)其它設(shè)備之間交換的數(shù)據(jù)量和/或交換數(shù)據(jù)的頻率。根據(jù)一些方面,這些設(shè)備可以通過通用串行總線(USB)連接進(jìn)行通信。因此,這些設(shè)備通常可以稱為USB主機(jī)、USB集線器和USB設(shè)備。本公開內(nèi)容的方面涉及:用于以限制與USB主機(jī)設(shè)備的交互的方式來(lái)對(duì)連接到USB集線器的USB設(shè)備之間的通信進(jìn)行精簡(jiǎn)的技術(shù)。例如,本公開內(nèi)容的技術(shù)允許對(duì)數(shù)據(jù)進(jìn)行重定向,以便在連接到USB集線器的USB設(shè)備之間提供更直接的數(shù)據(jù)交換,而不是由主機(jī)設(shè)備促進(jìn)連接到USB集線器的USB設(shè)備之間的所有數(shù)據(jù)通信。
[0006]在一個(gè)例子中,本公開內(nèi)容的方面涉及一種用于傳輸數(shù)據(jù)的方法,所述方法包括:在主機(jī)設(shè)備處,生成用于在連接到通用串行總線(USB)集線器的第一 USB設(shè)備與連接到所述USB集線器的第二 USB設(shè)備之間建立連接的USB重定向配置請(qǐng)求,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括所述主機(jī)設(shè)備;以及在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間建立了所述連接之后,請(qǐng)求要通過所述USB集線器從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的數(shù)據(jù)。
[0007]在另一個(gè)例子中,本公開內(nèi)容的方面涉及一種用于傳輸數(shù)據(jù)的裝置,所述裝置包括一個(gè)或多個(gè)處理器,所述一個(gè)或多個(gè)處理器被配置為:生成用于在連接到通用串行總線(USB)集線器的第一USB設(shè)備與連接到所述USB集線器的第二USB設(shè)備之間建立連接的USB重定向配置請(qǐng)求,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括主機(jī)設(shè)備;以及在所述第一USB設(shè)備與所述第二 USB設(shè)備之間建立了所述連接之后,請(qǐng)求要通過所述USB集線器從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的數(shù)據(jù)。
[0008]在另一個(gè)例子中,本公開內(nèi)容的方面涉及一種用于傳輸數(shù)據(jù)的裝置,所述裝置包括:用于生成用于在連接到通用串行總線(USB)集線器的第一 USB設(shè)備與連接到所述USB集線器的第二 USB設(shè)備之間建立連接的USB重定向配置請(qǐng)求的單元,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括主機(jī)設(shè)備;用于在所述第一 USB設(shè)備和所述第二 USB設(shè)備之間建立了所述連接之后,請(qǐng)求要通過所述USB集線器從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的數(shù)據(jù)的單元。
[0009]在另一個(gè)例子中,本公開內(nèi)容的方面涉及一種存儲(chǔ)指令的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),當(dāng)所述指令被執(zhí)行時(shí),使一個(gè)或多個(gè)處理器進(jìn)行以下操作:生成用于在連接到通用串行總線(USB)集線器的第一 USB設(shè)備與連接到所述USB集線器的第二 USB設(shè)備之間建立連接的USB重定向配置請(qǐng)求,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括主機(jī)設(shè)備;以及在所述第一USB設(shè)備與所述第二 USB設(shè)備之間建立了所述連接之后,請(qǐng)求要通過所述USB集線器從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的數(shù)據(jù)。
[0010]在另一個(gè)例子中,本公開內(nèi)容的方面涉及一種用于傳輸數(shù)據(jù)的方法,所述方法包括:生成用于向通用串行總線(USB)主機(jī)傳輸?shù)挠糜谠诘谝?USB設(shè)備與第二 USB設(shè)備之間建立連接的USB重定向配置消息,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括所述USB主機(jī);接收用于在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸數(shù)據(jù)的請(qǐng)求;以及在接收所述請(qǐng)求之后,使用所述連接來(lái)在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間發(fā)送數(shù)據(jù),而不用向所述USB主機(jī)傳輸所述數(shù)據(jù)的至少一部分。
[0011]在另一個(gè)例子中,本公開內(nèi)容的方面涉及一種用于傳輸數(shù)據(jù)的裝置,所述裝置包括一個(gè)或多個(gè)處理器,所述一個(gè)或多個(gè)處理器被配置為:生成用于傳輸?shù)酵ㄓ么锌偩€(USB)主機(jī)傳輸?shù)?、用于在第?USB設(shè)備與第二 USB設(shè)備之間建立連接的USB重定向配置消息,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括所述USB主機(jī);接收請(qǐng)求以在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸數(shù)據(jù);以及在接收所述請(qǐng)求之后,使用所述連接在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間發(fā)送數(shù)據(jù),而不向所述USB主機(jī)傳輸所述數(shù)據(jù)的至少一部分。
[0012]在另一個(gè)例子中,公開內(nèi)容的方面涉及一種用于傳輸數(shù)據(jù)的裝置,所述裝置包括:用于生成用于傳輸?shù)酵ㄓ么锌偩€(USB)主機(jī)的、用于在第一 USB設(shè)備與第二 USB設(shè)備之間建立連接的USB重定向配置消息的單元,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括所述USB主機(jī);用于接收請(qǐng)求以在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸數(shù)據(jù)的單元;以及用于在接收所述請(qǐng)求之后,使用所述連接在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間發(fā)送數(shù)據(jù),而不向所述USB主機(jī)傳輸所述數(shù)據(jù)的至少一部分的單元。
[0013]在另一個(gè)例子中,本公開內(nèi)容的方面涉及一種存儲(chǔ)指令的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),當(dāng)所述指令被執(zhí)行時(shí),使一個(gè)或多個(gè)處理器進(jìn)行以下操作:生成用于傳輸?shù)酵ㄓ么锌偩€(USB)主機(jī)的、用于在第一 USB設(shè)備與第二 USB設(shè)備之間建立連接的USB重定向配置消息,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括所述USB主機(jī);接收請(qǐng)求以在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸數(shù)據(jù);以及在接收所述請(qǐng)求之后,使用所述連接在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間發(fā)送數(shù)據(jù),而不向所述USB主機(jī)傳輸所述數(shù)據(jù)的至少一部分。
[0014]在下面的附圖和描述中,闡述了本公開內(nèi)容的一個(gè)或多個(gè)方面的細(xì)節(jié)。通過該描述和附圖,以及通過權(quán)利要求書,在本公開內(nèi)容中所描述的技術(shù)的其它特征、目標(biāo)和優(yōu)點(diǎn)將是顯而易見的。
【專利附圖】
【附圖說明】
[0015]圖1是示出了可以實(shí)現(xiàn)本公開內(nèi)容的技術(shù)的、具有主機(jī)、集線器和設(shè)備的示例性系統(tǒng)的框圖。
[0016]圖2是示出了圖1的系統(tǒng)的另一種框圖。
[0017]圖3是示出了 USB主機(jī)與USB設(shè)備相通信的框圖。
[0018]圖4是一種無(wú)線串行總線協(xié)議棧的框圖。
[0019]圖5是示出了可以實(shí)現(xiàn)本公開內(nèi)容的技術(shù)的另一種無(wú)線串行總線協(xié)議棧的框圖。
[0020]圖6是示出了可以實(shí)現(xiàn)本發(fā)明的技術(shù)的、包括集線器的用于無(wú)線通信的系統(tǒng)的概念性框圖。
[0021]圖7是示出了可以實(shí)現(xiàn)本公開內(nèi)容的技術(shù)的、包括集線器的用于無(wú)線通信的另一種系統(tǒng)的概念性框圖。
[0022]圖8是示出了在實(shí)現(xiàn)本公開內(nèi)容的技術(shù)的無(wú)線系統(tǒng)中的示例性消息流的概念性消息通/[目圖O
[0023]圖9是示出了在實(shí)現(xiàn)本公開內(nèi)容的技術(shù)的無(wú)線系統(tǒng)中的另一種示例性消息流的概念性消息通信圖。
[0024]圖10是示出了根據(jù)本公開內(nèi)容的方面的一種示例性通信重定向的流程圖。
[0025]圖11是示出了根據(jù)本公開內(nèi)容的方面的另一種示例性通信重定向的流程圖。
【具體實(shí)施方式】
[0026]計(jì)算設(shè)備(例如,個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板電腦、諸如所謂的“智能電話”之類的移動(dòng)電話、電子手持設(shè)備、電子閱讀器、數(shù)碼攝像機(jī)、數(shù)碼相機(jī)、手持游戲設(shè)備、游戲控制臺(tái)或者其它類似設(shè)備)可以使用通信標(biāo)準(zhǔn)來(lái)與各種各樣的外圍設(shè)備進(jìn)行通信。一個(gè)這樣的通信標(biāo)準(zhǔn)包括通用串行總線(USB)連接??梢允褂肬SB連接的外圍設(shè)備的一些例子包括鼠標(biāo)、鍵盤、顯示器、數(shù)碼相機(jī)、打印機(jī)、個(gè)人媒體播放器、諸如閃速驅(qū)動(dòng)器之類的大容量存儲(chǔ)設(shè)備、網(wǎng)絡(luò)適配器和外部硬驅(qū)動(dòng)器。對(duì)于這些設(shè)備中的很多設(shè)備來(lái)說,USB已變成有助于實(shí)現(xiàn)外圍設(shè)備連接的非常普遍的通信標(biāo)準(zhǔn)。
[0027]因此,本公開內(nèi)容可以將具有能夠與主機(jī)計(jì)算設(shè)備進(jìn)行通信的USB連接的外圍設(shè)備稱為“USB設(shè)備”。在一些例子中,USB設(shè)備可以根據(jù)常規(guī)的USB通信規(guī)范來(lái)與主機(jī)設(shè)備進(jìn)行通信。也就是說,在一個(gè)例子中,USB設(shè)備可以根據(jù)USB 2.0規(guī)范(如在2010年7月26 日所修訂的,在 http://www.usb.0rg/developers/docs/usb_20_021411.zip 處公開可獲得的)來(lái)與主機(jī)設(shè)備進(jìn)行通信。在另一個(gè)例子中,USB設(shè)備和主機(jī)設(shè)備可以被配置為根據(jù)另一種 USB 規(guī)范(例如,2008 年 11 月 12 日發(fā)布的在 http://www.usb.0rg/developers/wusb/wusbl_l_20100910.zip 處公開可獲得的 USB 3.0、2010 年 9 月 9 日發(fā)布的在 http://www.usb.0rg/developers/wusb/wusbl_l_20100910.zip 處公開可獲得的無(wú)線 USB)或者當(dāng)前可獲得的或可能在未來(lái)涌現(xiàn)的其它標(biāo)準(zhǔn)或?qū)S型ㄐ乓?guī)范來(lái)進(jìn)行通信。
[0028]本公開內(nèi)容可以將支持一個(gè)以上的其它設(shè)備的連接的設(shè)備稱為集線器。例如,本公開內(nèi)容可以將USB集線器稱為支持一個(gè)以上的USB設(shè)備的連接的設(shè)備。也就是說,USB集線器可以具有用于連接到主機(jī)設(shè)備的單個(gè)“上游”連接,以及用于連接到多個(gè)各種USB設(shè)備的多個(gè)“下游”連接。在一些例子中,可以將USB集線器集成到另一個(gè)設(shè)備(例如,并入有USB集線器的電視機(jī))或者外圍設(shè)備(例如,并入有USB集線器的鍵盤)。這些USB設(shè)備可以稱為復(fù)合USB設(shè)備。
[0029]在一些例子中,主機(jī)設(shè)備可以使用無(wú)線通信信道(例如,短距離通信信道,類似于WiF1、藍(lán)牙等等)與集線器相通信。但是,該通信信道不必受限于該方面,而可以包括任何無(wú)線或有線的通信介質(zhì)(諸如射頻(RF)頻譜或者一個(gè)或多個(gè)物理傳輸線)或者無(wú)線介質(zhì)和有線介質(zhì)的任意組合。在其它例子中,該通信信道甚至可以形成基于分組的網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或者諸如互聯(lián)網(wǎng)的全球網(wǎng)絡(luò))的一部分。
[0030]在一些例子中,主機(jī)設(shè)備可以是移動(dòng)設(shè)備,例如,平板電腦、智能電話或其它便攜式電子設(shè)備。因此,主機(jī)移動(dòng)設(shè)備可以促進(jìn)多個(gè)USB設(shè)備(其包括連接到USB集線器的設(shè)備)之間的通信,如下文更為詳細(xì)描述的。
[0031]本公開內(nèi)容的某些方面涉及:用于限制在主機(jī)設(shè)備(例如,主機(jī)移動(dòng)設(shè)備)與具有一個(gè)或多個(gè)連接的USB設(shè)備的USB集線器之間交換的數(shù)據(jù)量和/或交換數(shù)據(jù)的頻率的技術(shù)。也就是說,本公開內(nèi)容的方面涉及:用于以限制與主機(jī)設(shè)備的交互的方式來(lái)對(duì)連接到USB集線器的USB設(shè)備之間的通信進(jìn)行精簡(jiǎn)的技術(shù)。因此,本公開內(nèi)容的技術(shù)允許以對(duì)數(shù)據(jù)進(jìn)行重定向這樣的方式來(lái)允許在連接到USB集線器的USB設(shè)備之間的更直接的數(shù)據(jù)交換,而不是由主機(jī)設(shè)備促進(jìn)連接到USB集線器的USB設(shè)備之間的所有數(shù)據(jù)通信。
[0032]在一個(gè)出于說明目的的例子中,主機(jī)設(shè)備通??梢载?fù)責(zé)檢測(cè)USB設(shè)備的連接和移除,管理該主機(jī)設(shè)備與USB設(shè)備之間的控制信息和數(shù)據(jù)的流動(dòng),以及收集與數(shù)據(jù)傳輸相關(guān)聯(lián)的狀態(tài)活動(dòng)和統(tǒng)計(jì)信息。為了執(zhí)行這些功能,通常必須將數(shù)據(jù)路由通過該主機(jī)設(shè)備。在一個(gè)出于說明目的的例子中,假定該主機(jī)設(shè)備連接到USB集線器,該USB集線器連接兩個(gè)或更多的其它USB設(shè)備,并且假定用戶希望在這些USB設(shè)備之間傳輸數(shù)據(jù)。在該例子中,將控制信息和數(shù)據(jù)從發(fā)送的USB設(shè)備傳輸給USB集線器、傳輸給主機(jī)、傳輸回給該USB集線器、以及傳輸給接收的USB設(shè)備。
[0033]針對(duì)上文的例子,本公開內(nèi)容的方面一般涉及:在USB集線器處對(duì)信息進(jìn)行重新路由,以便減少或者消除在數(shù)據(jù)傳輸期間路由通過主機(jī)設(shè)備的數(shù)據(jù)量。因此,發(fā)送的USB設(shè)備可以向USB集線器發(fā)送數(shù)據(jù),USB集線器對(duì)該數(shù)據(jù)進(jìn)行重新路由,以便直接傳輸給接收的USB設(shè)備(并且不用與主機(jī)設(shè)備交換數(shù)據(jù))。限制在主機(jī)設(shè)備與(通過USB集線器)連接的USB設(shè)備之間交換的數(shù)據(jù)量和/或交換數(shù)據(jù)的頻率可以使與數(shù)據(jù)傳輸相關(guān)聯(lián)的延遲最小化。也就是說,在連接到USB集線器的USB設(shè)備之間提供更直接的連接可以消除與通過主機(jī)設(shè)備來(lái)傳輸數(shù)據(jù)相關(guān)聯(lián)的延遲。
[0034]此外,限制與主機(jī)設(shè)備交換數(shù)據(jù)的數(shù)據(jù)量和/或頻率可以有助于減少由于這樣的數(shù)據(jù)交換而消耗的帶寬量。例如,通過將數(shù)據(jù)重定向通過USB集線器,不必在主機(jī)設(shè)備與USB集線器之間的連接上傳輸數(shù)據(jù)。因此,這些技術(shù)減少了在主機(jī)設(shè)備與USB集線器之間的連接上消耗的帶寬量。
[0035]此外,在主機(jī)設(shè)備是移動(dòng)設(shè)備的例子中,限制在主機(jī)設(shè)備與USB集線器之間交換的數(shù)據(jù)量和/或交換數(shù)據(jù)的頻率可以有助于使與數(shù)據(jù)傳輸相關(guān)聯(lián)的功耗最小化。例如,限制在主機(jī)設(shè)備與集線器之間傳輸?shù)臄?shù)據(jù)量還限制了為了執(zhí)行該數(shù)據(jù)傳輸所必需的主機(jī)設(shè)備處的組件(例如,一個(gè)或多個(gè)處理器、通信接口(例如,WiFi無(wú)線電裝置)等等)的數(shù)量。在一些實(shí)例中,主機(jī)設(shè)備可以是電池供電的(或者其是以某種其它方式功率受限的)移動(dòng)設(shè)備。因此,本公開內(nèi)容的技術(shù)可以有助于使功率受限的主機(jī)設(shè)備的電池壽命最大化。
[0036]因此,本公開內(nèi)容的技術(shù)可以用于:以與有線連接等同的質(zhì)量將外圍設(shè)備無(wú)線地連接到主機(jī)設(shè)備,同時(shí)還維持主機(jī)設(shè)備的可接受的功率使用。也就是說,本公開內(nèi)容的技術(shù)可以通過定義抽象層(例如,協(xié)議抽象層,如下文所描述的)(通過該抽象層可以對(duì)數(shù)據(jù)傳輸進(jìn)行控制)來(lái)在無(wú)線鏈路上提供對(duì)USB傳輸類型(例如,中斷、等時(shí)(isochixmous)、批量(bulk)和控制)的高效傳輸?shù)闹С?。本公開內(nèi)容的技術(shù)可適用于眾多設(shè)備,其包括但不限于:個(gè)人計(jì)算機(jī)(PC)、消費(fèi)電子品、手持裝置和普遍存在的現(xiàn)有USB外圍設(shè)備的集合(例如,HID設(shè)備、存儲(chǔ)設(shè)備、媒體設(shè)備和打印機(jī))。
[0037]雖然針對(duì)USB標(biāo)準(zhǔn)來(lái)描述本公開內(nèi)容的某些技術(shù),但應(yīng)當(dāng)理解的是,USB標(biāo)準(zhǔn)只是可以與本公開內(nèi)容的通信標(biāo)準(zhǔn)相一致的一些例子。因此,雖然在USB標(biāo)準(zhǔn)的背景下描述了這些技術(shù),但其它類似的通信標(biāo)準(zhǔn)(例如,IEEE 1394標(biāo)準(zhǔn)、以太網(wǎng)標(biāo)準(zhǔn)、串行高級(jí)技術(shù)附件標(biāo)準(zhǔn)、高清晰度多媒體接口(HDMI)標(biāo)準(zhǔn)和雷電(Thunderbolt)標(biāo)準(zhǔn))或者甚至未來(lái)的通信標(biāo)準(zhǔn)或技術(shù)可以同樣地從本公開內(nèi)容的教導(dǎo)中受益。
[0038]圖1是示出了具有主機(jī)、集線器和設(shè)備的示例性系統(tǒng)的框圖,該示例性系統(tǒng)可以實(shí)現(xiàn)本公開內(nèi)容的技術(shù)。例如,圖1中所示出的系統(tǒng)通常包括無(wú)線串行總線(WSB)主機(jī)20,WSB主機(jī)20與顯示器24、人工接口設(shè)備(HID) 28和WSB集線器32 (在WSB集線器支持USB連接的實(shí)例中,其可以稱為USB集線器)進(jìn)行無(wú)線地通信。WSB集線器32還連接到三個(gè)USB設(shè)備36A、36B和36C (其統(tǒng)稱為USB設(shè)備36)。圖1的組件可以通過通信信道38進(jìn)行通信。
[0039]通常,WSB主機(jī)20包括能夠與一個(gè)或多個(gè)其它設(shè)備(例如,WSB集線器32和USB設(shè)備36)主持(例如,通信)的電子設(shè)備。在一些例子中,WSB主機(jī)20可以包括智能電話、平板電腦或者其它移動(dòng)設(shè)備。雖然主要針對(duì)諸如智能電話和平板電腦之類的移動(dòng)設(shè)備來(lái)進(jìn)行了描述,但WSB主機(jī)20可以包括能夠主持(host) —個(gè)或多個(gè)其它設(shè)備的任何電子設(shè)備,并且可以例如被集成到能夠執(zhí)行與本文所描述的技術(shù)相一致的數(shù)據(jù)傳輸能力的電器、汽車、飛機(jī)、船舶或任何其它設(shè)備中。
[0040]在一些例子中,WSB主機(jī)20可以實(shí)現(xiàn)成一個(gè)或多個(gè)微處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、分立邏輯單元、軟件、硬件、固件或其任意組合。雖然為了清楚說明起見而沒有示出,但WSB主機(jī)20可以包括由各種各樣的易失性存儲(chǔ)器或者非易失性存儲(chǔ)器中的任意一種組成的存儲(chǔ)器,其包括但不限于:諸如同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)之類的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)、電可擦寫可編程只讀存儲(chǔ)器(EEPROM)、磁隨機(jī)存取存儲(chǔ)器(MRAM)、閃存等等。該存儲(chǔ)器可以包括用于存儲(chǔ)音頻數(shù)據(jù)、視頻數(shù)據(jù)、以及其它類型的數(shù)據(jù)的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。WSB主機(jī)20還可以包括發(fā)射機(jī)/接收機(jī)單元,該發(fā)射機(jī)/接收機(jī)單元包括:被設(shè)計(jì)用于信號(hào)調(diào)制的各種混頻器、濾波器、放大器和其它組件,以及被設(shè)計(jì)用于發(fā)送和接收數(shù)據(jù)的一個(gè)或多個(gè)天線和其它組件。
[0041]顯示器24可以包括各種視頻輸出設(shè)備中的任意一種,例如陰極射線管(CRT)、液晶顯示器(LCD)、等離子顯示器、發(fā)光二極管(LED)顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或者另外類型的顯示設(shè)備。在這些或者其它例子中,顯示器可以是發(fā)射型顯示器或者透射型顯示器。在一些實(shí)例中,顯示器24可以包括支持WiFi的電視機(jī)或者能夠通過一個(gè)或多個(gè)無(wú)線連接接收媒體數(shù)據(jù)的另一種設(shè)備。
[0042]HID 28可以包括多種輸入設(shè)備。例如,HID 28可以包括允許用戶與WSB主機(jī)20進(jìn)行交互的設(shè)備。HID 28通??梢园ㄊ髽?biāo)、鍵盤、軌跡板、照相機(jī)等等。HID 28可以通過有線或無(wú)線連接來(lái)與WSB主機(jī)20進(jìn)行通信。例如,HID 28可以是為了與WSB主機(jī)20進(jìn)行無(wú)線通信而啟用的WiFi或藍(lán)牙。
[0043]WSB集線器32可以支持一個(gè)以上的其它設(shè)備(例如,USB設(shè)備36)的連接,并且可以實(shí)現(xiàn)USB設(shè)備36與USB主機(jī)20之間的通信。雖然在USB標(biāo)準(zhǔn)的背景下描述了 WSB集線器32,但USB集線器只是與本公開內(nèi)容相一致的通信集線器的一個(gè)例子。雖然在圖1中沒有特別地示出,但WSB集線器32可以包括一個(gè)或多個(gè)處理器和至少一個(gè)存儲(chǔ)器(例如上文針對(duì)WSB主機(jī)20所描述的那些組件)。
[0044]在圖1所示出的例子中,WSB集線器32具有用于連接WSB主機(jī)20的單個(gè)“上游”連接,以及用于連接到USB設(shè)備36的多個(gè)“下游”連接??梢詫SB集線器32集成到另一個(gè)設(shè)備,例如計(jì)算設(shè)備(例如,智能電話、平板電腦、膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、支持WiFi的電視機(jī)等等)或者外圍設(shè)備(例如,包括并入有WSB集線器的USB鍵盤設(shè)備)。
[0045]通信信道38通常表示用于在圖1中所示出的設(shè)備之間發(fā)送數(shù)據(jù)的任何適當(dāng)?shù)耐ㄐ沤橘|(zhì)或者不同通信介質(zhì)的集合。通信信道38可以包括相對(duì)短距離的通信信道,類似于WiF1、藍(lán)牙等等。然而,通信信道38不必受限于該方面,而可以包括任何無(wú)線或有線的通信介質(zhì)(諸如射頻(RF)頻譜或者一個(gè)或多個(gè)物理傳輸線)或者無(wú)線介質(zhì)和有線介質(zhì)的任意組合。
[0046]在其它的例子中,通信信道38甚至可以形成基于分組的網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或者諸如互聯(lián)網(wǎng)的全球性網(wǎng)絡(luò))的一部分。圖1的設(shè)備可以使用諸如來(lái)自IEEE 1402.11標(biāo)準(zhǔn)族的標(biāo)準(zhǔn)的通信協(xié)議或者任何其它通信協(xié)議或格式在通信信道38上進(jìn)行通信。圖1的設(shè)備中的任何一個(gè)可以例如根據(jù)W1-Fi直連或W1-Fi顯示(WFD)標(biāo)準(zhǔn)來(lái)進(jìn)行通信,使得這些設(shè)備在不使用諸如無(wú)線接入點(diǎn)或所謂的熱點(diǎn)之類的中間媒介的情況下直接相互通信。這些設(shè)備還可以建立隧道式直接鏈路建立(TLDS)以避免或減少網(wǎng)絡(luò)擁塞。WFD和TDLS旨在建立相對(duì)短距離的通信會(huì)話。該背景下的相對(duì)短距離可以是指例如小于近似70米,雖然在嘈雜或者有障礙物的環(huán)境下,設(shè)備之間的距離可能甚至更短,例如小于近似35米,或者小于近似20米。通信信道38可以是基礎(chǔ)設(shè)施輔助的,或者可以是對(duì)等的。
[0047]在一些例子中,圖1的設(shè)備中的一個(gè)或多個(gè)通過遵循USB標(biāo)準(zhǔn)或其它無(wú)線傳輸標(biāo)準(zhǔn)(例如,WiFi)的有線或無(wú)線連接來(lái)進(jìn)行通信。例如,如上文所提到的,圖1的設(shè)備可以遵循USB 2.0規(guī)范、USB 3.0規(guī)范、無(wú)線通用串行總線規(guī)范修訂版1.1 (2010年9月9日發(fā)布,其可在http://www.usb.0rg/developers/wusb/does/處公開可獲得)或者當(dāng)前可獲得的或可能在未來(lái)涌現(xiàn)的其它標(biāo)準(zhǔn)或?qū)S型ㄐ乓?guī)范進(jìn)行通信。
[0048]WSB主機(jī)20通??梢酝ㄟ^WSB集線器32來(lái)促進(jìn)USB設(shè)備36之間的通信。例如,WSB主機(jī)20可以通過WSB集線器32來(lái)促進(jìn)USB設(shè)備36A與USB設(shè)備36B之間的數(shù)據(jù)傳輸。例如,圖1總體地示出了 USB設(shè)備36A與USB設(shè)備36C之間的數(shù)據(jù)流(其用虛線箭頭來(lái)表示),其中WSB主機(jī)20促進(jìn)該數(shù)據(jù)傳輸。在該例子中,WSB主機(jī)20(其可以是移動(dòng)設(shè)備或者其它計(jì)算設(shè)備)的用戶可以使用WSB主機(jī)20來(lái)發(fā)起從USB設(shè)備36A到USB設(shè)備36C的數(shù)據(jù)傳輸。
[0049]在一個(gè)出于說明目的的非限制性例子中,如下文更為詳細(xì)描述的,USB設(shè)備36A可以是照相機(jī)或者另一個(gè)媒體設(shè)備,而USB設(shè)備36C可以是用于存儲(chǔ)由USB設(shè)備36A生成的媒體的存儲(chǔ)設(shè)備。在這樣的例子中,用戶可以使用WSB主機(jī)20來(lái)發(fā)起媒體數(shù)據(jù)從USB設(shè)備36A到USB設(shè)備36C的傳輸。
[0050]如圖1中所示出的,WSB主機(jī)促進(jìn)設(shè)備之間的數(shù)據(jù)傳輸。也就是說,USB設(shè)備36A通過WSB集線器32來(lái)向WSB主機(jī)20發(fā)送數(shù)據(jù)。隨后,WSB主機(jī)20通過WSB集線器32將數(shù)據(jù)路由到USB設(shè)備36C。因此,在一些例子中,為了實(shí)現(xiàn)USB設(shè)備36A和36C之間的單個(gè)數(shù)據(jù)傳輸,必須沿著WSB集線器32與WSB主機(jī)20之間的通信信道38 (其可以包括一個(gè)或多個(gè)無(wú)線鏈路)對(duì)數(shù)據(jù)傳輸兩次。
[0051]在上文所描述的例子中,WSB主機(jī)20只促進(jìn)該數(shù)據(jù)傳輸,其并不是該數(shù)據(jù)的預(yù)期接收方。因此,在WSB集線器32與WSB主機(jī)20之間傳輸數(shù)據(jù)可能帶來(lái)延遲、功耗以及帶寬消耗。這些因素可能影響性能和用戶體驗(yàn)。
[0052]本公開內(nèi)容的方面一般涉及:限制或者消除在WSB主機(jī)20與WSB集線器32之間交換的數(shù)據(jù)量和/或交換數(shù)據(jù)的頻率。也就是說,針對(duì)圖1的例子,本公開內(nèi)容的方面涉及:用于以限制與WSB主機(jī)20的交互的方式來(lái)對(duì)USB設(shè)備36A與36C之間通過WSB集線器32的通信進(jìn)行精簡(jiǎn)的技術(shù)。在一些例子中,如下文針對(duì)圖2更為詳細(xì)描述的,本公開內(nèi)容的技術(shù)允許對(duì)在WSB集線器32處對(duì)數(shù)據(jù)進(jìn)行重定向,以便在USB設(shè)備36A與USB設(shè)備36C之間提供更直接的數(shù)據(jù)交換,而不是由WSB主機(jī)20促進(jìn)USB設(shè)備36A與USB設(shè)備36C之間的所有數(shù)據(jù)通信。
[0053]圖2是示出了圖1的系統(tǒng)的另一種框圖。根據(jù)本公開內(nèi)容的方面,可以在WSB集線器32處對(duì)數(shù)據(jù)進(jìn)行重定向,而不是將數(shù)據(jù)路由通過WSB主機(jī)20。也就是說,在圖2的例子中,WSB主機(jī)20可以發(fā)起USB設(shè)備36A與USB設(shè)備36C之間的數(shù)據(jù)傳輸。然而,WSB主機(jī)20可以使數(shù)據(jù)在WSB集線器32處被重定向,使得可以通過WSB集線器32在USB設(shè)備36A與USB設(shè)備36C之間直接傳輸數(shù)據(jù),而不是將數(shù)據(jù)路由通過WSB主機(jī)20。
[0054]限制在WSB主機(jī)20與USB設(shè)備36之間(通過WSB集線器32)交換的數(shù)據(jù)量和/或交換數(shù)據(jù)的頻率可以使與數(shù)據(jù)傳輸相關(guān)聯(lián)的延遲最小化。例如,避免在WSB主機(jī)20與WSB集線器32之間傳輸數(shù)據(jù)還避免了與這種數(shù)據(jù)傳輸相關(guān)聯(lián)的延遲。此外,限制在WSB主機(jī)20與USB設(shè)備36之間交換的數(shù)據(jù)量和/或交換數(shù)據(jù)的頻率可以有助于減少由于這種數(shù)據(jù)交換而消耗的帶寬量。此外,在WSB主機(jī)20是移動(dòng)設(shè)備的例子中,限制與USB設(shè)備36交換的數(shù)據(jù)量和/或交換數(shù)據(jù)的頻率可以有助于使WSB主機(jī)20的電池壽命最大化(在WSB主機(jī)20是電池供電的例子中)。
[0055]在一些例子中,可以使用協(xié)議抽象層來(lái)實(shí)現(xiàn)本公開內(nèi)容的技術(shù),如下文針對(duì)圖3-圖5所描述的。
[0056]圖3是示出了 USB主機(jī)與USB設(shè)備相通信的框圖。也就是說,圖3的例子包括:具有相關(guān)聯(lián)的USB主機(jī)控制器42、USB系統(tǒng)44的主機(jī)設(shè)備(USB主機(jī))40,以及通過集線器56與物理設(shè)備(USB設(shè)備)48A和48B (其統(tǒng)稱為物理設(shè)備48)相通信的客戶端46,物理設(shè)備48中的每一個(gè)具有USB總線接口 50、USB邏輯設(shè)備52和功能54 (為了簡(jiǎn)單起見,在設(shè)備48B中未示出)。
[0057]主機(jī)40通常負(fù)責(zé)檢測(cè)USB設(shè)備的連接和移除,管理該主機(jī)設(shè)備與USB設(shè)備之間的控制信息和數(shù)據(jù)的流動(dòng),以及收集與數(shù)據(jù)傳輸相關(guān)聯(lián)的狀態(tài)活動(dòng)和統(tǒng)計(jì)信息。因此,主機(jī)40通常充當(dāng)為USB的協(xié)調(diào)實(shí)體。也就是說,主機(jī)40通常控制對(duì)USB的訪問,并且設(shè)備48只可以在主機(jī)40準(zhǔn)許訪問的情況下獲得對(duì)總線的訪問。主機(jī)40通常還負(fù)責(zé)對(duì)USB的拓?fù)溥M(jìn)行監(jiān)視。
[0058]主機(jī)40的主機(jī)控制器42可以包括集成的根集線器,該集成的根集線器提供到USB線路的連接點(diǎn)。USB系統(tǒng)44使用主機(jī)控制器44來(lái)管理主機(jī)40與設(shè)備48之間的數(shù)據(jù)傳輸。USB系統(tǒng)44與主機(jī)控制器42之間的接口可以取決于主機(jī)控制器42的硬件規(guī)定。與主機(jī)控制器42相配合的USB系統(tǒng)44可以執(zhí)行客戶端視角的數(shù)據(jù)傳輸之間的轉(zhuǎn)換以及在主機(jī)40與設(shè)備48之間的連接上呈現(xiàn)的USB事務(wù)。USB系統(tǒng)44通常還負(fù)責(zé)管理USB資源(例如帶寬和總線功率),使得客戶端訪問該USB是可能的。
[0059]USB系統(tǒng)44通常并入有三個(gè)基本組件,它們包括主機(jī)控制器驅(qū)動(dòng)(HCD) ,USB驅(qū)動(dòng)和主機(jī)軟件。HCD將各種主機(jī)控制器實(shí)現(xiàn)映射到USB系統(tǒng)44中,使得主機(jī)40可以在不用知道設(shè)備48連接到哪個(gè)主機(jī)控制器42的情況下與該設(shè)備進(jìn)行交互。USB驅(qū)動(dòng)(USBD)提供用于主機(jī)40到設(shè)備48的基礎(chǔ)主機(jī)接口(USBDI)。HCD與USBD之間的接口可以稱為主機(jī)控制器驅(qū)動(dòng)接口(HCDI)。支持各種主機(jī)控制器實(shí)現(xiàn)的每一個(gè)操作系統(tǒng)通常定義一種特定的HCDI。USBD提供具有I/O請(qǐng)求分組(IRP)的形式的數(shù)據(jù)傳輸機(jī)制,這些IRP包含用于通過特定的管道(例如,通信信道38)來(lái)傳輸數(shù)據(jù)的請(qǐng)求。除了提供數(shù)據(jù)傳輸機(jī)制之外,USBD還負(fù)責(zé)向主機(jī)40呈現(xiàn)設(shè)備48的抽象,設(shè)備48的抽象可以被操作用于配置和狀態(tài)管理。
[0060]客戶端46包括負(fù)責(zé)與USB設(shè)備48進(jìn)行直接交互的軟件實(shí)體。當(dāng)設(shè)備48連接到該系統(tǒng)時(shí),該客戶端46可以直接與該外圍硬件(B卩,設(shè)備48)進(jìn)行交互。USB的共享特性將USB系統(tǒng)44放置在主機(jī)40于設(shè)備48之間;也就是說,客戶端通常不可以直接訪問該設(shè)備的硬件。替代地,客戶端46可以包括驅(qū)動(dòng),該驅(qū)動(dòng)生成請(qǐng)求并且將這些請(qǐng)求提交給USB驅(qū)動(dòng)棧以進(jìn)行處理。在每一個(gè)請(qǐng)求之中,客戶端驅(qū)動(dòng)提供被稱為USB請(qǐng)求塊(URB)的可變長(zhǎng)度數(shù)據(jù)結(jié)構(gòu)。URB結(jié)構(gòu)描述了該請(qǐng)求的細(xì)節(jié),并且還包含與所完成的請(qǐng)求的狀態(tài)有關(guān)的信息。例如,對(duì)于設(shè)備特定請(qǐng)求(例如,配置請(qǐng)求)來(lái)說,客戶端46使用與IRP相關(guān)聯(lián)的URB來(lái)進(jìn)行該請(qǐng)求。將URB與IRP進(jìn)行關(guān)聯(lián)以及向USB驅(qū)動(dòng)棧發(fā)送該請(qǐng)求的過程稱為提交URB。為了提交URB,客戶端驅(qū)動(dòng)可以使用特定的設(shè)備控制碼。該控制碼可以提供一個(gè)I/O接口,客戶端驅(qū)動(dòng)使用該I/O接口來(lái)管理其設(shè)備和該設(shè)備連接到的端口。
[0061]因此,客戶端46的客戶端驅(qū)動(dòng)通過URB來(lái)執(zhí)行所有設(shè)備特定的操作(其包括數(shù)據(jù)傳輸)。在將URB提交給USB驅(qū)動(dòng)棧之前,客戶端驅(qū)動(dòng)使用與請(qǐng)求有關(guān)的信息來(lái)對(duì)該URB進(jìn)行初始化。對(duì)于某些類型的請(qǐng)求來(lái)說,由客戶端46執(zhí)行的操作系統(tǒng)可以提供幫助例程和宏,這些幫助例程和宏分配和定義URB結(jié)構(gòu)并且使用由客戶端驅(qū)動(dòng)提供的細(xì)節(jié)來(lái)填充該URB結(jié)構(gòu)的必要成員。
[0062]對(duì)于USB設(shè)備48,通常,設(shè)備48可以向主機(jī)40提供另外的功能。取決于設(shè)備48的具體配置和能力,由設(shè)備48提供的功能的類型可以變化很大。但是,所有USB設(shè)備通常向主機(jī)40呈現(xiàn)相同的基本接口。這允許主機(jī)40以相同的方式來(lái)管理不同的USB設(shè)備48的USB相關(guān)的方面。
[0063]設(shè)備48通過設(shè)備48的總線接口 50與主機(jī)40進(jìn)行通信。在可以使用設(shè)備48的功能54之前,通常必須對(duì)設(shè)備48進(jìn)行配置。主機(jī)40通常負(fù)責(zé)對(duì)設(shè)備48進(jìn)行配置。主機(jī)40通常從設(shè)備48請(qǐng)求配置信息,以確定該設(shè)備的能力。所報(bào)告的信息中的一些在所有邏輯設(shè)備52之間是共同的。其它信息是特定于由設(shè)備48提供的功能54。取決于該設(shè)備的設(shè)備類型,該信息的詳細(xì)格式可以變化。
[0064]在圖3中所示出的例子中,在主機(jī)40與設(shè)備48之間連接有集線器56。通常,集線器56提供主機(jī)40與設(shè)備48之間的接口。集線器56通??梢灾С诌B接行為、功率管理、設(shè)備連接/斷開檢測(cè)、以及總線故障檢測(cè)和恢復(fù)。在一些實(shí)例中,集線器56可以包括集線器中繼器、集線器控制器和事務(wù)轉(zhuǎn)換器。集線器中繼器可以負(fù)責(zé)連接建立和拆除。集線器中繼器還可以支持異常處理(例如總線故障檢測(cè)和恢復(fù)以及設(shè)備連接/斷開檢測(cè))。集線器控制器可以提供用于主機(jī)到集線器通信的機(jī)制。集線器特定的狀態(tài)和控制命令允許主機(jī)40來(lái)配置集線器以及來(lái)監(jiān)視和控制該集線器的各個(gè)面向下游的端口。事務(wù)轉(zhuǎn)換器對(duì)高速分離事務(wù)進(jìn)行響應(yīng),并且在全速/低速設(shè)備連接在面向下游的端口上的情況下將它們轉(zhuǎn)換成全速/低速事務(wù)。
[0065]本公開內(nèi)容的方面一般涉及:在設(shè)備48之間提供數(shù)據(jù)傳輸,而不將數(shù)據(jù)路由通過主機(jī)40。但是,這些技術(shù)并不包括:在集線器56處對(duì)主機(jī)40的功能進(jìn)行模擬以執(zhí)行這樣的數(shù)據(jù)傳輸。也就是說,在集線器56處并不為了控制與設(shè)備48的事務(wù)而對(duì)客戶端46和/或USB系統(tǒng)44功能進(jìn)行鏡像(miiror)。更確切地說,根據(jù)一些方面,如下文更為詳細(xì)描述的,可以在主機(jī)40和/或集線器56處實(shí)現(xiàn)一種協(xié)議棧,該協(xié)議棧使數(shù)據(jù)能夠從一個(gè)設(shè)備48被重定向到另一個(gè)設(shè)備,而不將這樣的數(shù)據(jù)路由通過主機(jī)40。
[0066]圖4是一種無(wú)線串行總線(WSB)協(xié)議棧的框圖,該協(xié)議??梢杂芍鳈C(jī)和集線器進(jìn)行維護(hù)。例如,圖4示出了用于WSB主機(jī)80 (例如,計(jì)算設(shè)備(諸如實(shí)現(xiàn)WSB連接的移動(dòng)計(jì)算設(shè)備))和WSB集線器96 (例如,實(shí)現(xiàn)一個(gè)或多個(gè)WSB連接的集線器)的示例性協(xié)議棧。在一些例子中,WSB主機(jī)和WSB集線器可以通過WiFi連接進(jìn)行通信。在這些例子中,可以將消息封裝到傳輸控制協(xié)議(TCP)/互聯(lián)網(wǎng)協(xié)議(IP)有效載荷中,并且可以在設(shè)備之間交換這些消息。
[0067]在圖4中所示出的例子中,用于WSB主機(jī)80的棧包括應(yīng)用和設(shè)備驅(qū)動(dòng)82、每設(shè)備的USB驅(qū)動(dòng)84、USB核心驅(qū)動(dòng)86、虛擬主機(jī)控制器接口(VHCI)驅(qū)動(dòng)88和WSB傳輸層90。用于WSB集線器96的棧包括傳輸層98、VHCI驅(qū)動(dòng)100、USB核心驅(qū)動(dòng)102、USB主機(jī)控制器驅(qū)動(dòng)104、USB主機(jī)控制器106。圖4還示出了連接到USB設(shè)備IlOA和IlOB (其統(tǒng)稱為USB設(shè)備110)的USB集線器108。
[0068]對(duì)于WSB主機(jī)80,應(yīng)用和設(shè)備驅(qū)動(dòng)82通常位于WSB主機(jī)80處,并且其可以由主機(jī)處的操作系統(tǒng)來(lái)執(zhí)行。每設(shè)備的USB驅(qū)動(dòng)84可以將驅(qū)動(dòng)綁定到特定的設(shè)備,這些設(shè)備中的每一個(gè)都具有唯一的ID。USB核心驅(qū)動(dòng)86可以包括用于形成該USB的核心的一個(gè)或多個(gè)驅(qū)動(dòng),并且USB核心驅(qū)動(dòng)86可以涉及管理USB總線。
[0069]VHCI 88可以實(shí)現(xiàn)成USB主機(jī)控制器驅(qū)動(dòng)(例如,如圖3中所示出的)。VHCI 88可以模擬用于遠(yuǎn)程USB設(shè)備的虛擬連接/分離、枚舉和初始化的實(shí)際USB主機(jī)控制器接口。VHCI 88可以對(duì)USB請(qǐng)求塊(URB消息)進(jìn)行封裝,并且隨后向遠(yuǎn)程服務(wù)器主機(jī)(例如WSB集線器96)發(fā)送請(qǐng)求。傳輸層90可以負(fù)責(zé)對(duì)來(lái)自WSB主機(jī)80的消息進(jìn)行封裝以進(jìn)行傳輸。例如,在將USB I/O消息傳輸給WSB集線器98之前,傳輸層90可以將其封裝到TCP/IP有效載荷中。
[0070]對(duì)于WSB集線器96,傳輸98可以對(duì)從WSB主機(jī)80接收的消息進(jìn)行解封裝。此外,VHCI 98可以將URB消息解封裝成USB請(qǐng)求,并且將這些請(qǐng)求提交給WUB集線器98的驅(qū)動(dòng)。USB核心驅(qū)動(dòng)102可以包括用于在WSB集線器96處形成該USB的核心的一個(gè)或多個(gè)驅(qū)動(dòng),并且USB核心驅(qū)動(dòng)102可以涉及管理USB總線。如上文針對(duì)圖3所描述的,USB HCD 104可以對(duì)各種主機(jī)控制器實(shí)現(xiàn)進(jìn)行映射,以允許WSB主機(jī)80與WSB集線器96進(jìn)行交互,而不用知道WSB主機(jī)80處的主機(jī)控制器的配置。USB主機(jī)控制器106可以負(fù)責(zé)對(duì)數(shù)據(jù)向USB集線器108的傳輸進(jìn)行控制,隨后USB集線器108向USB設(shè)備110提供該數(shù)據(jù)。
[0071]可以使用圖4中所示出的系統(tǒng)來(lái)從USB設(shè)備IlOA向USB設(shè)備IlOB傳輸數(shù)據(jù)。例如,應(yīng)用和設(shè)備驅(qū)動(dòng)82可以發(fā)起數(shù)據(jù)傳輸。USB設(shè)備IlOA可以向USB集線器108傳輸數(shù)據(jù),隨后USB集線器108將數(shù)據(jù)傳送通過WSB集線器96處的棧。隨后,將該數(shù)據(jù)從WSB集線器96傳輸?shù)絎SB主機(jī)80,并且傳送通過WSB主機(jī)80處的棧。隨后,將該數(shù)據(jù)從WSB主機(jī)80通過WSB集線器96和USB集線器108傳送回給USB設(shè)備110B。以此方式,數(shù)據(jù)穿越了從USB設(shè)備IlOA到USB設(shè)備IlOB的整個(gè)總線。如下文所描述的,本公開內(nèi)容的方面一般涉及:縮短USB設(shè)備IlOA與IlOB之間的數(shù)據(jù)路徑,以提供更高效的數(shù)據(jù)傳輸。也就是說,根據(jù)本公開內(nèi)容的方面,可以在WSB集線器96處對(duì)數(shù)據(jù)進(jìn)行重定向,其減少或者消除與WSB主機(jī)80交換的數(shù)據(jù)量。
[0072]圖5是可以用于實(shí)現(xiàn)本公開內(nèi)容的某些技術(shù)的無(wú)線串行總線協(xié)議棧的另一種框圖。除了圖4中所示出的組件之外,圖5的例子還包括USB重定向應(yīng)用120、WSB重定向客戶端124和WSB重定向服務(wù)器128。根據(jù)本公開內(nèi)容的一些方面,USB重定向應(yīng)用124、WSB重定向客戶端124和WSB重定向服務(wù)器128可以用于對(duì)USB設(shè)備110之間的數(shù)據(jù)進(jìn)行重定向,而不用將數(shù)據(jù)路由通過WSB主機(jī)80。
[0073]例如,位于WSB主機(jī)80處的USB重定向應(yīng)用120可以負(fù)責(zé)發(fā)起和維持WSB集線器96處的數(shù)據(jù)重定向。在一些實(shí)例中,USB重定向應(yīng)用可以維護(hù)適用于數(shù)據(jù)重定向的設(shè)備(或者設(shè)備類型)列表。在其它實(shí)例中,USB重定向應(yīng)用120可以是用戶可配置的,以便對(duì)在用戶所選擇的設(shè)備之間的通信進(jìn)行重定向。在任一種情況下,適用于重定向的設(shè)備可以包括多種多樣的USB設(shè)備。其例子包括媒體設(shè)備、存儲(chǔ)設(shè)備和/或顯示器。在一個(gè)以上的合格的USB設(shè)備連接到WSB集線器96后(在由WSB主機(jī)80進(jìn)行枚舉之后),USB重定向應(yīng)用120可以自動(dòng)地發(fā)起重定向。
[0074]WSB重定向客戶端124和WSB重定向服務(wù)器128可以維持該重定向連接。例如,當(dāng)事實(shí)上在WSB集線器96處正對(duì)數(shù)據(jù)進(jìn)行重定向時(shí),WSB重定向客戶端124和WSB重定向服務(wù)器128可以負(fù)責(zé)使其向應(yīng)用和設(shè)備驅(qū)動(dòng)82表現(xiàn)為如同正發(fā)生普通的數(shù)據(jù)傳輸(其涉及WSB主機(jī)80,如上文針對(duì)圖4所描述的)。在一些例子中,WSB重定向客戶端124和WSB重定向服務(wù)器128可以使用WSB重定向客戶端124與WSB重定向服務(wù)器128之間的一系列URB消息來(lái)完成該任務(wù)。例如,如下文針對(duì)圖8和圖9更為詳細(xì)描述的,WSB重定向客戶端124可以進(jìn)行URB請(qǐng)求要傳輸數(shù)據(jù)。在已經(jīng)傳輸了數(shù)據(jù)之后,WSB重定向服務(wù)器128發(fā)送確認(rèn),從而與應(yīng)用和設(shè)備驅(qū)動(dòng)82維持正確的操作狀態(tài)。
[0075]以此方式,WSB重定向客戶端124和WSB重定向服務(wù)器128可以對(duì)在USB設(shè)備I1A與USB設(shè)備IlOB之間傳輸?shù)臄?shù)據(jù)進(jìn)行重定向,而不用由WSB集線器96對(duì)WSB主機(jī)80的驅(qū)動(dòng)和功能進(jìn)行鏡像或者以其它方式進(jìn)行執(zhí)行。在一個(gè)出于說明目的的例子中,這些技術(shù)可以用于WiFi顯示(WFD)應(yīng)用。例如,可以在對(duì)等(P2P)(例如,而不是獨(dú)立的基本服務(wù)集(IBSS)無(wú)線局域網(wǎng)(WLAN))上建立WFD,以便為實(shí)時(shí)視頻數(shù)據(jù)傳輸提供一跳無(wú)線鏈路。多跳無(wú)線系統(tǒng)上的視頻業(yè)務(wù)可能限制實(shí)時(shí)應(yīng)用所需要的性能。根據(jù)本公開內(nèi)容的方面,USB設(shè)備IlOA可以包括顯示設(shè)備,該顯示設(shè)備使用WFD和上文所描述的重定向技術(shù)來(lái)從USB設(shè)備IlOB接收媒體數(shù)據(jù)。在一些實(shí)例中,用于WSB的等時(shí)模式USB數(shù)據(jù)傳輸?shù)男阅芸梢耘c有線USB的性能相匹配。
[0076]雖然本文通常將圖4和圖5描述成在WiFi連接上執(zhí)行,但應(yīng)當(dāng)理解的是,這些技術(shù)還可以與其它無(wú)線通信技術(shù)一起使用。例如,在一個(gè)例子中,可以在實(shí)現(xiàn)無(wú)線USB(WUSB)通信標(biāo)準(zhǔn)的系統(tǒng)中實(shí)現(xiàn)本公開內(nèi)容的技術(shù)。
[0077]圖6是示出了可以實(shí)現(xiàn)本公開內(nèi)容的技術(shù)的、包括集線器的用于無(wú)線通信的系統(tǒng)的概念性圖。圖6的例子包括主機(jī)(在圖6中示出為移動(dòng)設(shè)備)140、WSB集線器144、照相機(jī)148、存儲(chǔ)設(shè)備152和顯示器156。應(yīng)當(dāng)理解的是,僅出于舉例的目的而提供了圖6中所示出的組件,并且可以使用不同于圖6中所示出的那些組件來(lái)執(zhí)行本公開內(nèi)容的技術(shù)。
[0078]移動(dòng)設(shè)備140可以包括多種電子設(shè)備,例如,其包括平板電腦或智能電話。在圖6中所示出的例子中,移動(dòng)設(shè)備140可以充當(dāng)為WSB主機(jī),并且可以執(zhí)行針對(duì)本公開內(nèi)容中的其它地方的WSB主機(jī)所描述的操作。例如,移動(dòng)設(shè)備140可以無(wú)線地主持通過總線而連接的一個(gè)或多個(gè)其它設(shè)備(例如通過串行總線而連接的一個(gè)或多個(gè)USB設(shè)備)。在圖6中所示出的例子中,移動(dòng)設(shè)備140通過無(wú)線連接(例如,其在圖4C中示出為WiFi連接,但也可以使用其它無(wú)線標(biāo)準(zhǔn))與WSB集線器144進(jìn)行通信。
[0079]除了與移動(dòng)設(shè)備140的連接之外,WSB集線器144支持與照相機(jī)148、存儲(chǔ)設(shè)備152和顯示器156的連接。例如,WSB集線器允許移動(dòng)設(shè)備140與照相機(jī)148、存儲(chǔ)設(shè)備152和顯示器156中的每一個(gè)進(jìn)行通信。在一些例子中,WSB集線器144可以根據(jù)一種或多種標(biāo)準(zhǔn)(例如,USB標(biāo)準(zhǔn))來(lái)支持連接。此外,根據(jù)本公開內(nèi)容的方面,WSB集線器144還可以支持照相機(jī)148、存儲(chǔ)設(shè)備152以及顯示器156之間的直接數(shù)據(jù)傳輸。
[0080]照相機(jī)148可以捕獲靜態(tài)圖像或視頻。在一些例子中,照相機(jī)148可以并入到諸如計(jì)算設(shè)備(例如,移動(dòng)設(shè)備、平板電腦等等)之類的另一個(gè)設(shè)備中。存儲(chǔ)設(shè)備152可以包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)、機(jī)器可讀存儲(chǔ)介質(zhì)或者處理器可讀存儲(chǔ)介質(zhì)。在一些例子中,存儲(chǔ)設(shè)備152可以存儲(chǔ)媒體數(shù)據(jù)(例如由照相機(jī)148捕獲的靜態(tài)圖像或者視頻)。顯示器156表示能夠顯示視頻數(shù)據(jù)、圖像、文本或者供觀看者消費(fèi)的任何其它類型的數(shù)據(jù)的組件。顯示器156的例子包括液晶顯示器(LCD)、發(fā)光二極管(LED)顯示器、有機(jī)LED (OLED)、有源矩陣OLED (AMOLED)顯示器等等。
[0081]在一個(gè)示例性使用場(chǎng)景中,用戶可以通過WSB集線器144使用移動(dòng)設(shè)備140來(lái)訪問照相機(jī)148、存儲(chǔ)設(shè)備152和顯示器156。也就是說,例如,用戶可以使用移動(dòng)設(shè)備140來(lái)使得要在顯示器146上預(yù)覽來(lái)自照相機(jī)148的圖像數(shù)據(jù)。此外,在預(yù)覽來(lái)自照相機(jī)的圖像數(shù)據(jù)之后,用戶可以使用移動(dòng)設(shè)備140來(lái)使得要在存儲(chǔ)設(shè)備152上存儲(chǔ)來(lái)自照相機(jī)148的圖像數(shù)據(jù)。在該場(chǎng)景中,移動(dòng)設(shè)備140主持照相機(jī)148、存儲(chǔ)設(shè)備152和顯示器156,并且在這些設(shè)備之間發(fā)起數(shù)據(jù)傳輸。
[0082]根據(jù)本公開內(nèi)容的方面,移動(dòng)設(shè)備140可以使得要在照相機(jī)148、存儲(chǔ)設(shè)備152和/或顯示器156之間傳輸數(shù)據(jù),而不用將數(shù)據(jù)路由通過移動(dòng)設(shè)備140。例如,如上文所提到的,可以在WSB集線器144處對(duì)數(shù)據(jù)進(jìn)行重定向,從而直接在照相機(jī)148與存儲(chǔ)設(shè)備152或顯示器156之間傳輸該數(shù)據(jù),而不是將數(shù)據(jù)路由通過移動(dòng)設(shè)備140。
[0083]在一些例子中,可以仍然在移動(dòng)設(shè)備140與照相機(jī)148、存儲(chǔ)設(shè)備152和/或顯示器156之間對(duì)一些數(shù)據(jù)進(jìn)行路由。例如,標(biāo)識(shí)所連接的設(shè)備的某些數(shù)據(jù)或者其它元數(shù)據(jù)可以繼續(xù)被路由到移動(dòng)設(shè)備140。如下文更為詳細(xì)描述的,移動(dòng)設(shè)備140可以使用這種數(shù)據(jù)來(lái)維持與所連接的設(shè)備的連接。但是,根據(jù)本公開內(nèi)容的這些方面,可以在所連接的設(shè)備之間直接傳輸其它數(shù)據(jù)(例如,有效載荷數(shù)據(jù))。
[0084]以此方式,可以降低移動(dòng)設(shè)備140的功耗。此外,連接的設(shè)備之間的數(shù)據(jù)傳輸可能不那么容易受到無(wú)線信道波動(dòng)的影響(例如,移動(dòng)設(shè)備140與WSB集線器144之間的連接中的波動(dòng)),因?yàn)檩^少的數(shù)據(jù)通過該無(wú)線信道進(jìn)行傳輸。
[0085]圖7是示出了可以實(shí)現(xiàn)本公開內(nèi)容的技術(shù)的、包括集線器的用于無(wú)線通信的另一種系統(tǒng)的概念性圖。例如,圖7中所示出的系統(tǒng)通常包括無(wú)線串行總線(WSB)主機(jī)180(其在圖7中示出為智能電話),WSB主機(jī)180與顯示器184無(wú)線地通信。顯示器184包括WSB集線器,該WSB集線器提供與人工接口設(shè)備(HID) 188、照相機(jī)190和存儲(chǔ)設(shè)備192的USB連接。顯示器184與設(shè)備188-192之間的連接可以是有線連接或者無(wú)線連接。應(yīng)當(dāng)理解的是,僅出于舉例的目的而提供圖7的設(shè)備,并且可以使用其它組件來(lái)執(zhí)行本公開內(nèi)容的技術(shù)。
[0086]在該例子中,用戶可以通過顯示器184使用主機(jī)180來(lái)訪問照相機(jī)190和存儲(chǔ)設(shè)備192。也就是說,例如,用戶可以使用主機(jī)180來(lái)使得要在顯示器184上預(yù)覽來(lái)自照相機(jī)190的圖像數(shù)據(jù)。此外,在預(yù)覽來(lái)自照相機(jī)190的圖像數(shù)據(jù)之后,用戶可以使用主機(jī)180來(lái)使得要在存儲(chǔ)設(shè)備192上存儲(chǔ)來(lái)自照相機(jī)190的圖像數(shù)據(jù)。在該場(chǎng)景中,主機(jī)180主持照相機(jī)190、存儲(chǔ)設(shè)備192和顯示器184,并且在這些設(shè)備之間發(fā)起數(shù)據(jù)傳輸。在一些例子中,主機(jī)180可以通過WiFi (例如,WiFi顯示)或者另一種無(wú)線介質(zhì)與顯示器184進(jìn)行通信。
[0087]如上文針對(duì)圖6所提到的,根據(jù)本公開內(nèi)容的方面,主機(jī)180可以使得要在照相機(jī)190、存儲(chǔ)設(shè)備192和/或顯示器184之間傳輸數(shù)據(jù),而不用將數(shù)據(jù)路由通過主機(jī)180。例如,可以在顯示器184 (其包括WSB集線器)處對(duì)數(shù)據(jù)進(jìn)行重定向,從而直接在照相機(jī)190與存儲(chǔ)設(shè)備192之間傳輸該數(shù)據(jù),而不是將數(shù)據(jù)路由通過主機(jī)180。以此方式,可以減少與設(shè)備之間的數(shù)據(jù)傳輸相關(guān)聯(lián)的時(shí)延。此外,還可以降低主機(jī)180的功耗。此外,設(shè)備之間的數(shù)據(jù)傳輸可能不那么容易受到無(wú)線信道波動(dòng)的影響。
[0088]圖8是示出了實(shí)現(xiàn)本公開內(nèi)容的技術(shù)的無(wú)線系統(tǒng)中的示例性消息流的概念性消息通信圖。例如,圖8示出了可以使用圖5中所示出的USB重定向應(yīng)用、WSB重定向客戶端和WSB重定向服務(wù)器來(lái)在組件之間傳輸?shù)氖纠韵⒘?。雖然圖8中的例子是指“USB照相機(jī)”和“USB存儲(chǔ)裝置”,但應(yīng)當(dāng)理解的是,本公開內(nèi)容的技術(shù)并不受限于該方式。例如,連接到WSB集線器的其它USB設(shè)備可以實(shí)現(xiàn)本公開內(nèi)容的技術(shù)來(lái)交換數(shù)據(jù)。
[0089]在一些例子中,被重定向的數(shù)據(jù)可以是延遲敏感性數(shù)據(jù)。例如,在照相機(jī)和/或存儲(chǔ)設(shè)備與顯示設(shè)備之間傳輸?shù)拿襟w數(shù)據(jù)可以是延遲敏感的,其意義在于該數(shù)據(jù)必須在某個(gè)時(shí)間段之內(nèi)進(jìn)行傳輸,不然某些缺陷(例如,卡殼(stutter)、塊效應(yīng)(blockiness)等等)可能呈現(xiàn)在所顯示的數(shù)據(jù)中。
[0090]無(wú)論如何,根據(jù)本公開內(nèi)容的方面,可以在URB事務(wù)層(即,負(fù)責(zé)處理URB消息的層)處使用主機(jī)(例如,圖5中所示出的WSB主機(jī)80)和集線器(例如,WSB集線器96)來(lái)執(zhí)行數(shù)據(jù)重定向。通常,如上文所提到的,URB可以包含有關(guān)的信息以執(zhí)行USB事務(wù)和傳送數(shù)據(jù)和/或狀態(tài)塊。每一個(gè)URB可以具有一個(gè)完成句柄,在成功地完成了或者取消了動(dòng)作之后可以調(diào)用該完成句柄。此外,URB還包含用于向該完成句柄傳送信息的上下文指針。用于一個(gè)設(shè)備的各端點(diǎn)可以邏輯地支持請(qǐng)求隊(duì)列。可以填充該隊(duì)列,使得當(dāng)驅(qū)動(dòng)處理另一個(gè)的完成時(shí),USB硬件可以仍然向端點(diǎn)傳輸數(shù)據(jù)。這可以使USB帶寬的使用最大化。
[0091]根據(jù)本公開內(nèi)容的方面,位于WSB主機(jī)設(shè)備上的應(yīng)用可以發(fā)起消息重定向(例如,圖5中所示出的應(yīng)用120)。例如,該應(yīng)用可以維護(hù)適用于數(shù)據(jù)重定向的設(shè)備列表(或者設(shè)備類型)。在一些例子中,如上文所描述的,這些設(shè)備可以包括媒體設(shè)備、存儲(chǔ)設(shè)備和/或顯示器。在一個(gè)以上的合格的USB設(shè)備連接到WSB集線器后,該應(yīng)用可以自動(dòng)地發(fā)起重定向。
[0092]圖8的例子總體地示出了在USB照相機(jī)與USB存儲(chǔ)設(shè)備之間傳輸?shù)臄?shù)據(jù)。下面對(duì)圖8的描述將按照從圖8的頂部到圖8的底部的時(shí)間順序來(lái)進(jìn)行。圖8的頂部處的虛線示出了 USB照相機(jī)與USB存儲(chǔ)設(shè)備之間的典型數(shù)據(jù)流,該典型數(shù)據(jù)流包括通過主機(jī)設(shè)備驅(qū)動(dòng)來(lái)傳輸?shù)臄?shù)據(jù)。圖8中所示出的每一個(gè)箭頭表示串行總線上的一個(gè)停頓(stop)。也就是說,位于每一個(gè)箭頭處的組件與該消息進(jìn)行交互(例如,對(duì)該消息進(jìn)行封裝、對(duì)該消息進(jìn)行解封裝、讀取/解釋該消息等等),如下文所描述的。
[0093]根據(jù)本公開內(nèi)容的方面,在照相機(jī)和存儲(chǔ)設(shè)備連接到集線器之后,WSB重定向客戶端(其位于WSB主機(jī)處)可以向WSB服務(wù)器(其位于WSB集線器處)發(fā)送用于建立重定向連接的重定向配置請(qǐng)求(“重定向配置請(qǐng)求”)。WSB服務(wù)器可以以同樣方式(in kind)對(duì)配置請(qǐng)求進(jìn)行響應(yīng)(“重定向配置響應(yīng)”)。通常,該重新配置請(qǐng)求和響應(yīng)可以(通過USB集線器)在USB照相機(jī)與USB存儲(chǔ)設(shè)備之間建立連接,該連接不包括主機(jī)設(shè)備。例如,該配置請(qǐng)求和/或響應(yīng)可以包括用于標(biāo)識(shí)連接到WSB集線器的設(shè)備、這些設(shè)備連接到的WSB集線器的端口等等的數(shù)據(jù)。因此,可以使用重新配置請(qǐng)求和響應(yīng)來(lái)識(shí)別在其之間將使用重定向連接來(lái)傳輸數(shù)據(jù)的端口。也就是說,在一些例子中,重定向配置請(qǐng)求和響應(yīng)建立USB地址,在這些USB地址之間將對(duì)數(shù)據(jù)進(jìn)行路由。
[0094]在建立重定向連接之后,用于USB存儲(chǔ)設(shè)備的設(shè)備驅(qū)動(dòng)可以發(fā)送用于描述要傳輸?shù)臄?shù)據(jù)的特性的數(shù)據(jù)(例如,元數(shù)據(jù))。例如,該數(shù)據(jù)可以包括:數(shù)據(jù)量、用于該數(shù)據(jù)的文件名、用于保存該數(shù)據(jù)的目錄、用于保存該數(shù)據(jù)的USB存儲(chǔ)設(shè)備的硬驅(qū)動(dòng)器上的扇區(qū)、用于保存該數(shù)據(jù)的地址等等。
[0095]在建立重定向連接和交換元數(shù)據(jù)之后,WSB主機(jī)可以開始重定向會(huì)話。例如,WSB主機(jī)可以向WSB集線器發(fā)送觸發(fā),該觸發(fā)指示W(wǎng)SB集線器應(yīng)當(dāng)根據(jù)所配置的重定向連接(“重定向觸發(fā)”)來(lái)對(duì)某些數(shù)據(jù)(例如,媒體數(shù)據(jù)或者其它預(yù)先定義的數(shù)據(jù))進(jìn)行重定向。在一些例子中,在交換上面所描述的數(shù)據(jù)之后,WSB主機(jī)可以自動(dòng)地發(fā)送該觸發(fā)。
[0096]在任一種情況下,在接收該觸發(fā)之后,WSB主機(jī)可以向WSB服務(wù)器發(fā)送用于發(fā)起連接到該WSB集線器的設(shè)備之間的數(shù)據(jù)傳輸?shù)腢RB請(qǐng)求(“由WSB重定向客戶端進(jìn)行的URB請(qǐng)求”)。也就是說,不是由WSB主機(jī)處的設(shè)備驅(qū)動(dòng)(例如,用于照相機(jī)或存儲(chǔ)器的設(shè)備驅(qū)動(dòng))發(fā)出數(shù)據(jù)傳輸?shù)恼?qǐng)求,而是WSB服務(wù)器可以進(jìn)行這種請(qǐng)求。但是,根據(jù)本公開內(nèi)容的方面,不需要對(duì)WSB主機(jī)處的設(shè)備驅(qū)動(dòng)做出任何改變。也就是說,WSB主機(jī)可以維持與設(shè)備驅(qū)動(dòng)的通信,如同通過WSB主機(jī)對(duì)數(shù)據(jù)進(jìn)行路由一樣。URB請(qǐng)求可以指示要在USB照相機(jī)和USB存儲(chǔ)裝置之間傳輸?shù)臄?shù)據(jù)量(或者“大小”)。也就是說,URB請(qǐng)求可以指示應(yīng)當(dāng)在USB照相機(jī)與USB存儲(chǔ)裝置之間傳輸多少數(shù)據(jù)。
[0097]在接收URB請(qǐng)求之后,WSB重定向服務(wù)器可以在照相機(jī)與存儲(chǔ)器之間執(zhí)行數(shù)據(jù)傳輸。也就是說,USB照相機(jī)可以向WSB重定向服務(wù)器發(fā)送數(shù)據(jù)(“照相機(jī)數(shù)據(jù)”)。隨后,WSB重定向服務(wù)器可以將該數(shù)據(jù)重定向到存儲(chǔ)器(“存儲(chǔ)裝置數(shù)據(jù)”),而不允許將該數(shù)據(jù)路由通過主機(jī)設(shè)備。
[0098]根據(jù)本公開內(nèi)容的方面,在發(fā)生了預(yù)先確定的數(shù)據(jù)傳輸之后,WSB服務(wù)器可以向WSB客戶端發(fā)送確認(rèn)或其它消息(“重定向ack”)。該確認(rèn)可以指示傳輸過多少數(shù)據(jù)。WSB服務(wù)器可以使用該確認(rèn)來(lái)維持與WSB主機(jī)處的設(shè)備驅(qū)動(dòng)的適當(dāng)狀態(tài)。以此方式,WSB主機(jī)被告知每一次成功的數(shù)據(jù)重定向。
[0099]WSB重定向客戶端和WSB重定向服務(wù)器可以繼續(xù)以此方式進(jìn)行通信,直到傳輸了全部所請(qǐng)求的數(shù)據(jù)為止。例如,WSB重定向客戶端可以發(fā)送請(qǐng)求(“由WSB重定向客戶端進(jìn)行的URB請(qǐng)求”),接著在這些設(shè)備之間交換數(shù)據(jù)(“照相機(jī)數(shù)據(jù)”和“存儲(chǔ)裝置數(shù)據(jù)”),接著是確認(rèn)(“重定向ack”)。在圖8的例子中將該過程示出為完成三次,但與圖8中所示出的那些相比,其它例子可以具有更多或者更少的數(shù)量。
[0100]在一些例子中,WSB重定向客戶端可以繼續(xù)發(fā)送URB請(qǐng)求,只要WSB重定向客戶端接收到返回的確認(rèn)。在傳輸了全部的數(shù)據(jù)之后(如WSB重定向服務(wù)器基于從這些設(shè)備接收的指示或者超時(shí)所確定的),WSB重定向服務(wù)器可以向WSB重定向客戶端發(fā)送用于結(jié)束該重定向會(huì)話的消息。例如,WSB重定向服務(wù)器可以向WSB重定向客戶端發(fā)送否定確認(rèn)或者其它消息(“重定向nack”),而不是發(fā)送確認(rèn)。
[0101]在接收否定確認(rèn)(或者某種其它事件,例如,由于數(shù)據(jù)傳輸?shù)难舆t而引起的超時(shí))之后,WSB重定向客戶端可以發(fā)送用于終止所指出的會(huì)話的請(qǐng)求(“重定向撤消請(qǐng)求”)。在接收用于終止重定向連接的請(qǐng)求之后,WSB重定向服務(wù)器可以使用確認(rèn)進(jìn)行響應(yīng)(“重定向撤消響應(yīng)”)。
[0102]如上文所提到的,雖然圖8中的例子是指“USB照相機(jī)”和“USB存儲(chǔ)裝置”,但應(yīng)當(dāng)理解的是,本公開內(nèi)容的技術(shù)并不受限于該方式。例如,連接到WSB集線器的其它USB設(shè)備可以實(shí)現(xiàn)本公開內(nèi)容的技術(shù)來(lái)交換數(shù)據(jù)。此外,圖8中所示出的消息序列是一個(gè)例子,并不需要必然地以圖8中所示出的順序來(lái)執(zhí)行這些技術(shù),而可以執(zhí)行更少的、附加的或者替代的步驟。
[0103]圖9是示出了實(shí)現(xiàn)本公開內(nèi)容的技術(shù)的無(wú)線系統(tǒng)中的另一種示例性消息流的概念性消息通信圖。圖9示出了與圖8相同的組件布置。但是,在圖9的例子中,在WSB重定向客戶端處使用“虛擬數(shù)據(jù)”以用于在USB設(shè)備驅(qū)動(dòng)之間的傳輸。也就是說,可以使用虛擬數(shù)據(jù)來(lái)維持與WSB主機(jī)處的設(shè)備驅(qū)動(dòng)的適當(dāng)狀態(tài)而不是對(duì)數(shù)據(jù)本身進(jìn)行傳輸,并且可以丟棄虛擬數(shù)據(jù)而不用將其發(fā)送給WSB服務(wù)器。
[0104]如同圖8 —樣,圖9中所示出的每一個(gè)箭頭表示串行總線上的一個(gè)停頓。也就是說,位于每一個(gè)箭頭處的組件與該消息進(jìn)行交互(例如,對(duì)該消息進(jìn)行封裝、對(duì)該消息進(jìn)行解封裝、讀取/解釋該消息等等),如下文所描述的。
[0105]在圖9的例子中,根據(jù)本公開內(nèi)容的方面,在照相機(jī)和存儲(chǔ)設(shè)備連接到集線器之后,WSB重定向客戶端(其位于WSB主機(jī)處)可以向WSB服務(wù)器(其位于WSB集線器處)發(fā)送用于建立重定向連接的重定向配置請(qǐng)求(“重定向配置請(qǐng)求”)。WSB服務(wù)器可以以同樣方式對(duì)配置請(qǐng)求進(jìn)行響應(yīng)(“重定向配置響應(yīng)”)。通常,該重新配置請(qǐng)求和響應(yīng)可以(通過USB集線器)在USB照相機(jī)與USB存儲(chǔ)設(shè)備之間建立連接,該連接不包括主機(jī)設(shè)備。例如,該配置請(qǐng)求和/或響應(yīng)可以包括用于標(biāo)識(shí)連接到WSB集線器的設(shè)備、這些設(shè)備連接到的WSB集線器的端口等等的數(shù)據(jù)。因此,可以使用重新配置請(qǐng)求和響應(yīng)來(lái)識(shí)別在其之間將使用重定向連接來(lái)傳輸數(shù)據(jù)的端口。也就是說,在一些例子中,重定向配置請(qǐng)求和響應(yīng)建立USB地址,在這些USB地址之間將對(duì)數(shù)據(jù)進(jìn)行路由。
[0106]隨后,用于照相機(jī)的設(shè)備驅(qū)動(dòng)可以向WSB重定向服務(wù)器發(fā)送URB請(qǐng)求(“URB請(qǐng)求”),從而從照相機(jī)請(qǐng)求數(shù)據(jù)傳輸。WSB重定向服務(wù)器從照相機(jī)接收該數(shù)據(jù)(“照相機(jī)數(shù)據(jù)”),并且向WSB重定向客戶端發(fā)送確認(rèn)消息(“重定向ack(大小信息)”)。在一些實(shí)例中,該確認(rèn)消息可以包括與由WSB重定向服務(wù)器(從照相機(jī))接收的數(shù)據(jù)有關(guān)的信息。也就是說,WSB重定向服務(wù)器可以提供與從照相機(jī)發(fā)送的、待被重定向的照相機(jī)數(shù)據(jù)量有關(guān)的信息。
[0107]WSB重定向客戶端可以將該信息傳送給用于USB照相機(jī)的驅(qū)動(dòng),以維持該驅(qū)動(dòng)的適當(dāng)操作狀態(tài)(“URB ack(虛擬)”)。也就是說,WSB重定向服務(wù)器可以告知WSB重定向客戶端正傳輸多少數(shù)據(jù)。在一些例子中,WSB重定向客戶端可以隨后生成適當(dāng)大小的數(shù)據(jù)(虛擬數(shù)據(jù)),以傳送給用于USB照相機(jī)的設(shè)備驅(qū)動(dòng)(“URB ack(虛擬)”)。在一些例子中,可以以URB消息的形式來(lái)提供該虛擬數(shù)據(jù)。該虛擬數(shù)據(jù)可以指示任何比特串,只要該虛擬數(shù)據(jù)具有適當(dāng)?shù)拇笮 ?br>
[0108]隨后,用于USB存儲(chǔ)裝置的驅(qū)動(dòng)可以傳送與要向USB存儲(chǔ)裝置傳輸?shù)臄?shù)據(jù)的特性有關(guān)的數(shù)據(jù)(“存儲(chǔ)裝置元數(shù)據(jù)”)。例如,該數(shù)據(jù)可以包括:用于該數(shù)據(jù)的文件名、用于保存該數(shù)據(jù)的目錄、用于保存該數(shù)據(jù)的USB存儲(chǔ)設(shè)備的硬驅(qū)動(dòng)器上的扇區(qū)、用于保存該數(shù)據(jù)的地址等等。
[0109]在傳輸了存儲(chǔ)裝置元數(shù)據(jù)之后,用于USB存儲(chǔ)裝置的驅(qū)動(dòng)可以發(fā)起數(shù)據(jù)傳輸。例如,用于USB存儲(chǔ)裝置的驅(qū)動(dòng)可以向WSB重定向客戶端提交先前生成的虛擬數(shù)據(jù),如同USB存儲(chǔ)設(shè)備驅(qū)動(dòng)向USB存儲(chǔ)裝置傳輸實(shí)際的照相機(jī)數(shù)據(jù)(“存儲(chǔ)裝置數(shù)據(jù)(虛擬)”)。如上文所提到的,該虛擬數(shù)據(jù)提供了對(duì)要傳輸?shù)臄?shù)據(jù)的大小的指示。由于沒有在主機(jī)與集線器之間傳輸該虛擬數(shù)據(jù),因此WSB重定向客戶端可以丟棄該虛擬數(shù)據(jù)。
[0110]替代地,WSB重定向客戶端向WSB重定向服務(wù)器發(fā)送重定向觸發(fā)(“重定向觸發(fā)(大小信息)”),從而發(fā)起從WSB重定向服務(wù)器到USB存儲(chǔ)裝置的數(shù)據(jù)傳輸。在接收關(guān)于有多少數(shù)據(jù)要進(jìn)行傳輸?shù)闹甘局?,WSB重定向服務(wù)器執(zhí)行該數(shù)據(jù)傳輸(“存儲(chǔ)裝置數(shù)據(jù)”)。
[0111]可以重復(fù)該過程,直到與該URB請(qǐng)求相關(guān)聯(lián)的所有數(shù)據(jù)已被傳輸?shù)経SB存儲(chǔ)裝置為止。也就是說,用于USB存儲(chǔ)裝置的設(shè)備驅(qū)動(dòng)可以使用去往WSB重定向客戶端的消息來(lái)發(fā)起該數(shù)據(jù)傳輸(“存儲(chǔ)裝置數(shù)據(jù)(虛擬)”),WSB重定向客戶端向WSB重定向服務(wù)器發(fā)送觸發(fā)(“重定向觸發(fā)(大小信息)”),WSB重定向服務(wù)器完成該數(shù)據(jù)的傳輸(“存儲(chǔ)裝置數(shù)據(jù)”)。在圖9所示出的例子中,兩個(gè)數(shù)據(jù)傳輸與URB請(qǐng)求消息相關(guān)聯(lián)。在其它例子中,更多或者更少的數(shù)據(jù)傳輸可以與URB請(qǐng)求消息相關(guān)聯(lián)。
[0112]在一些例子中,主機(jī)處的用于USB照相機(jī)的設(shè)備驅(qū)動(dòng)可以繼續(xù)發(fā)送URB請(qǐng)求,只要用于USB照相機(jī)的設(shè)備驅(qū)動(dòng)接收到返回的確認(rèn)。在傳輸了全部的數(shù)據(jù)之后(如WSB重定向服務(wù)器基于從這些設(shè)備接收的指示或者超時(shí)所確定的),WSB重定向服務(wù)器可以向WSB重定向客戶端發(fā)送用于結(jié)束該重定向會(huì)話的消息。例如,WSB重定向服務(wù)器可以向WSB重定向客戶端發(fā)送否定確認(rèn)或者其它消息(“重定向nack”),而不是發(fā)送確認(rèn)。WSB重定向客戶端可以以URB消息的形式(“URB nack”)將該消息傳送到用于USB照相機(jī)的設(shè)備驅(qū)動(dòng)。
[0113]在接收否定確認(rèn)(或者某種其它事件,例如,由于數(shù)據(jù)傳輸?shù)难舆t而引起的超時(shí))之后,WSB重定向客戶端可以發(fā)送用于終止所指出的會(huì)話的請(qǐng)求(“重定向撤消請(qǐng)求”)。在接收用于終止重定向連接的請(qǐng)求之后,WSB重定向服務(wù)器可以使用確認(rèn)來(lái)進(jìn)行響應(yīng)(“重定向撤消響應(yīng)”)。
[0114]因此,針對(duì)圖8和圖9所描述的技術(shù)在URB事務(wù)層處提供了 USB會(huì)話之間的數(shù)據(jù)減少協(xié)議,其不需要對(duì)USB設(shè)備驅(qū)動(dòng)進(jìn)行任何改變。也就是說,WSB重定向客戶端和服務(wù)器可以對(duì)消息進(jìn)行重定向,同時(shí)還維持各個(gè)設(shè)備驅(qū)動(dòng)的適當(dāng)操作狀態(tài)。
[0115]如上文所提到的,雖然圖9中的例子是指“USB照相機(jī)”和“USB存儲(chǔ)裝置”,但應(yīng)當(dāng)理解的是,本公開內(nèi)容的技術(shù)并不受限于該方式。例如,連接到WSB集線器的其它USB設(shè)備可以實(shí)現(xiàn)本公開內(nèi)容的技術(shù)來(lái)交換數(shù)據(jù)。此外,圖9中所示出的消息序列是一個(gè)例子,并不需要必然地以圖9中所示出的順序來(lái)執(zhí)行這些技術(shù),而可以執(zhí)行更少的、附加的或者替代的步驟。
[0116]圖10是示出了根據(jù)本公開內(nèi)容的方面的一種示例性通信重定向的流程圖。例如,圖10根據(jù)本公開內(nèi)容的方面,總體地示出了一個(gè)主機(jī)設(shè)備執(zhí)行重定向會(huì)話,以便對(duì)在連接到集線器的設(shè)備之間的數(shù)據(jù)傳輸進(jìn)行重定向,而不用將該數(shù)據(jù)傳輸通過該主機(jī)設(shè)備。在一些例子中,可以以類似于針對(duì)圖5的例子中示出的WSB主機(jī)80所描述的那樣來(lái)對(duì)該主機(jī)設(shè)備進(jìn)行配置。
[0117]在圖10的例子中,主機(jī)設(shè)備確定在連接到集線器的設(shè)備之間是否有數(shù)據(jù)在傳輸
(200)。例如,主機(jī)設(shè)備可以識(shí)別設(shè)備(由于它們連接到集線器),并且可以確定這些設(shè)備是否適用于重定向會(huì)話(例如,通過維護(hù)同意的設(shè)備的列表),如在本公開內(nèi)容中所描述的。如果不存在設(shè)備連接(或者這些設(shè)備未被同意用于數(shù)據(jù)重定向),則主機(jī)設(shè)備可以繼續(xù)等待,直到這些設(shè)備被連接為止(202)。
[0118]在兼容設(shè)備被連接之后,主機(jī)設(shè)備可以在集線器處建立重定向連接(204)。例如,主機(jī)設(shè)備處的應(yīng)用和重定向客戶端可以與集線器處的重定向服務(wù)器進(jìn)行通信,以建立重定向連接。在一些例子中,主機(jī)設(shè)備還可以從集線器(例如,集線器處的重定向服務(wù)器)接收重定向信息,從而在連接到該集線器的設(shè)備之間建立一條鏈路。
[0119]隨后,主機(jī)設(shè)備可以使用URB消息來(lái)請(qǐng)求在這些設(shè)備之間傳輸數(shù)據(jù)(208)。例如,主機(jī)設(shè)備處的重定向客戶端可以生成URB消息,如同該URB消息來(lái)自于主機(jī)設(shè)備處的設(shè)備驅(qū)動(dòng)。主機(jī)設(shè)備還可以等待確認(rèn)消息,該確認(rèn)消息可以指示在連接到集線器的設(shè)備之間成功地傳輸了數(shù)據(jù)(212)。只要接收到確認(rèn)消息,主機(jī)設(shè)備就可以繼續(xù)請(qǐng)求數(shù)據(jù)(步驟216的“是”分支)。
[0120]當(dāng)沒有接收到確認(rèn)消息時(shí)(步驟216的“否”分支),主機(jī)設(shè)備可以終止該重定向會(huì)話(218)。例如,重定向客戶端可以向集線器處的重定向服務(wù)器發(fā)送消息,該消息指示該重定向會(huì)話已結(jié)束。還應(yīng)當(dāng)理解的是,針對(duì)圖10所示出和描述的步驟只是被提供作為一個(gè)例子。也就是說,并不需要必然地以圖10中所示出的順序來(lái)執(zhí)行圖10的方法的步驟,而可以執(zhí)行更少的、附加的或者替代的步驟。
[0121]圖11是示出了根據(jù)本公開內(nèi)容的方面的另一種示例性通信重定向的流程圖。例如,圖11根據(jù)本公開內(nèi)容的方面,總體地示出了一個(gè)重定向服務(wù)器執(zhí)行重定向會(huì)話,以便對(duì)在連接到集線器的設(shè)備之間的數(shù)據(jù)傳輸進(jìn)行重定向,而不用將該數(shù)據(jù)傳輸通過主機(jī)設(shè)備。在一些例子中,可以以類似于針對(duì)圖5的例子中示出的WSB主機(jī)96所描述的那樣來(lái)對(duì)該重定向服務(wù)器進(jìn)行配置。該重定向服務(wù)器可以并入到集線器,或者可以是與集線器進(jìn)行通信的獨(dú)立設(shè)備。
[0122]在任一種情況下,在圖11的例子中,重定向服務(wù)器接收用于執(zhí)行重定向會(huì)話的請(qǐng)求(230)。重定向服務(wù)器可以從主機(jī)設(shè)備(例如,主機(jī)設(shè)備處的重定向客戶端)接收該請(qǐng)求。隨后,重定向服務(wù)器可以發(fā)送重定向響應(yīng),以便在連接到集線器的設(shè)備之間建立重定向連接(234)。在一些實(shí)例中,該響應(yīng)可以指示這些設(shè)備連接到集線器的方式(例如,這些設(shè)備連接到的端口的端口地址等等)。
[0123]重定向服務(wù)器還可以接收URB請(qǐng)求以在連接到集線器的設(shè)備之間傳輸數(shù)據(jù)
(238)。在接收URB消息之后,重定向服務(wù)器可以使用先前在連接到該集線器的設(shè)備之間建立的重定向連接來(lái)執(zhí)行數(shù)據(jù)傳輸(242)。在數(shù)據(jù)傳輸完成之后,重定向服務(wù)器可以發(fā)送用于指示已傳輸了該數(shù)據(jù)的確認(rèn)消息(246)。
[0124]在一些例子中,重定向服務(wù)器還可以確定數(shù)據(jù)傳輸何時(shí)完成(250)。例如,重定向服務(wù)器可以從連接到集線器的設(shè)備(和/或主機(jī)設(shè)備處的設(shè)備驅(qū)動(dòng))接收用于指示傳輸?shù)臄?shù)據(jù)量(或者與該數(shù)據(jù)傳輸相關(guān)聯(lián)的某種其它度量)的數(shù)據(jù)。在該例子中,重定向服務(wù)器可以識(shí)別在連接到該集線器的設(shè)備之間的數(shù)據(jù)傳輸何時(shí)完成。如果該數(shù)據(jù)傳輸沒有完成(步驟250的“否”分支),則重定向服務(wù)器等待接收另一個(gè)URB請(qǐng)求(238)。然而,如果該數(shù)據(jù)傳輸完成(步驟250的“是”分支),則重定向服務(wù)器可以發(fā)起該重定向連接的終止(254)。例如,重定向服務(wù)器可以向主機(jī)設(shè)備發(fā)送否定確認(rèn)消息,該否定確認(rèn)消息指示在這些設(shè)備之間沒有數(shù)據(jù)要進(jìn)行傳輸。在一些實(shí)例中,當(dāng)重定向會(huì)話完成時(shí),重定向服務(wù)器還可以發(fā)送確認(rèn)(258)。
[0125]還應(yīng)當(dāng)理解,針對(duì)圖11示出和描述的步驟只是被提供作為一個(gè)例子。也就是說,并不必然地以圖11中所示出的順序來(lái)執(zhí)行圖11的方法的步驟,而是可以執(zhí)行更少的步驟、另外的步驟或者替代的步驟。
[0126]如上文所提到的,雖然一般針對(duì)USB標(biāo)準(zhǔn)來(lái)描述本公開內(nèi)容的某些技術(shù),但應(yīng)當(dāng)理解的是,USB標(biāo)準(zhǔn)只是可以與本公開內(nèi)容相一致的通信標(biāo)準(zhǔn)的例子。因此,雖然在USB標(biāo)準(zhǔn)的背景下描述了這些技術(shù),但其它類似的通信標(biāo)準(zhǔn)(例如,IEEE 1394標(biāo)準(zhǔn)(其稱為“火線”)、以太網(wǎng)標(biāo)準(zhǔn)、串行高級(jí)技術(shù)附件標(biāo)準(zhǔn)、高清晰度多媒體接口(HDMI)標(biāo)準(zhǔn)和雷電標(biāo)準(zhǔn))或者甚至未來(lái)的通信標(biāo)準(zhǔn)或技術(shù)可以同樣地從本公開內(nèi)容的教導(dǎo)中受益。
[0127]在一個(gè)或多個(gè)例子中,所描述的功能可以用硬件、軟件、固件或其任意組合來(lái)實(shí)現(xiàn)。如果用軟件來(lái)實(shí)現(xiàn)時(shí),則所述功能可以作為計(jì)算機(jī)可讀介質(zhì)上的一個(gè)或多個(gè)指令或代碼存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上或者通過計(jì)算機(jī)可讀介質(zhì)進(jìn)行傳輸,并且由基于硬件的處理單元來(lái)執(zhí)行。計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(其對(duì)應(yīng)于諸如數(shù)據(jù)存儲(chǔ)介質(zhì)之類的有形介質(zhì))或通信介質(zhì),通信介質(zhì)包括(例如,根據(jù)通信協(xié)議)有助于將計(jì)算機(jī)程序從一個(gè)地方傳送到另一個(gè)地方的任何介質(zhì)。以此方式,計(jì)算機(jī)可讀介質(zhì)通常可以對(duì)應(yīng)于:(I)非暫時(shí)性的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì);或者(2)諸如信號(hào)或載波波形之類的通信介質(zhì)。數(shù)據(jù)存儲(chǔ)介質(zhì)可以是一個(gè)或多個(gè)計(jì)算機(jī)或者一個(gè)或多個(gè)處理器為了獲取用于實(shí)現(xiàn)本公開內(nèi)容中所描述的技術(shù)的指令、代碼和/或數(shù)據(jù)結(jié)構(gòu)而可以訪問的任何可用介質(zhì)。計(jì)算機(jī)程序產(chǎn)品可以包括計(jì)算機(jī)可讀介質(zhì)。
[0128]通過舉例而非限制性的方式,這種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲(chǔ)、磁盤存儲(chǔ)介質(zhì)或其它磁存儲(chǔ)設(shè)備、閃存、或者能夠用于存儲(chǔ)具有指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并能夠由計(jì)算機(jī)進(jìn)行存取的任何其它介質(zhì)。此外,任何連接被適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。例如,如果使用同軸電纜、光纖電纜、雙絞線、數(shù)字用戶線路(DSL)或者無(wú)線技術(shù)(諸如紅外線、無(wú)線電和微波)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳輸指令,則同軸電纜、光纖光纜、雙絞線、DSL或者無(wú)線技術(shù)(諸如紅外線、無(wú)線電和微波)包括在介質(zhì)的定義中。但是,應(yīng)當(dāng)理解的是,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和數(shù)據(jù)存儲(chǔ)介質(zhì)不包括連接、載波波形、信號(hào)或其它暫時(shí)性介質(zhì),而是針對(duì)于非暫時(shí)性、有形的存儲(chǔ)介質(zhì)。如本申請(qǐng)所使用的,盤(disk)和碟(disc)包括緊致碟(⑶)、激光光碟、光碟、數(shù)字多用途光碟(DVD)、軟盤和藍(lán)光光碟,其中盤通常磁性地復(fù)制數(shù)據(jù),而碟則用激光來(lái)光學(xué)地復(fù)制數(shù)據(jù)。上述的組合也應(yīng)當(dāng)包括在計(jì)算機(jī)可讀介質(zhì)的保護(hù)范圍之內(nèi)。
[0129]可以由諸如一個(gè)或多個(gè)數(shù)字信號(hào)處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)或者其它等效的集成或者分立邏輯電路之類的一個(gè)或多個(gè)處理器來(lái)執(zhí)行指令。因此,如本文所使用的術(shù)語(yǔ)“處理器”可以是指前述結(jié)構(gòu)中的任意一種或者適用于實(shí)現(xiàn)本文所描述的技術(shù)的任何其它結(jié)構(gòu)。此外,在一些方面,本文所描述的功能可以在被配置用于編碼和解碼的專用硬件和/或軟件模塊中提供,也可以并入到組合的編解碼器中。此外,可以將這些技術(shù)完全地實(shí)現(xiàn)在一個(gè)或多個(gè)電路或者邏輯單元中。
[0130]本公開內(nèi)容的技術(shù)可以用多種多樣的設(shè)備或裝置來(lái)實(shí)現(xiàn),所述多種多樣的設(shè)備或裝置包括無(wú)線手持裝置、集成電路(IC)或者一組IC(例如,芯片組)。在本公開內(nèi)容中描述了各種組件、模塊或單元是為了強(qiáng)調(diào)被配置為執(zhí)行所公開的技術(shù)的設(shè)備的功能方面,而并不必然地要求由不同的硬件單元來(lái)實(shí)現(xiàn)。更確切地說,如上文所描述的,可以將各個(gè)單元組合在編解碼器硬件單元中,或者結(jié)合適當(dāng)?shù)能浖?或固件由包括上文所描述的一個(gè)或多個(gè)處理器的互操作硬件單元的集合來(lái)提供。
[0131]已描述了本發(fā)明的各個(gè)實(shí)施例。這些和其它的實(shí)施例位于后面的權(quán)利要求書的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種用于傳輸數(shù)據(jù)的方法,所述方法包括: 在主機(jī)設(shè)備處,生成用于在連接到通用串行總線(USB)集線器的第一 USB設(shè)備與連接到所述USB集線器的第二 USB設(shè)備之間建立連接的USB重定向配置請(qǐng)求,其中,所述第一USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括所述主機(jī)設(shè)備;以及 在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間建立了所述連接之后,請(qǐng)求要通過所述USB集線器從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,還包括:發(fā)送與要從所述第一USB設(shè)備路由到所述第二 USB設(shè)備的所述數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù),其中,所述元數(shù)據(jù)包括所述數(shù)據(jù)的特性。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述特性包括以下各項(xiàng)中的至少一項(xiàng):數(shù)據(jù)量、與所述數(shù)據(jù)相關(guān)聯(lián)的文件名、用于保存所述數(shù)據(jù)的目錄、以及用于保存所述數(shù)據(jù)的位置。
4.根據(jù)權(quán)利要求1所述的方法,還包括: 接收確認(rèn),所述確認(rèn)包括對(duì)要通過所述USB集線器從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的所述數(shù)據(jù)的大小的指示; 生成具有所述大小的虛擬數(shù)據(jù);以及 向用于所述第一設(shè)備的設(shè)備驅(qū)動(dòng)發(fā)送所述虛擬數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的方法,還包括: 從用于所述第一設(shè)備的所述設(shè)備驅(qū)動(dòng)接收所述虛擬數(shù)據(jù),以及 其中,在接收所述虛擬數(shù)據(jù)之后,發(fā)起對(duì)要從所述第一設(shè)備路由到所述第二設(shè)備的數(shù)據(jù)的請(qǐng)求。
6.根據(jù)權(quán)利要求1所述的方法,其中,請(qǐng)求包括生成一個(gè)或多個(gè)USB請(qǐng)求塊(URB)消息,所述一個(gè)或多個(gè)URB消息包括對(duì)要在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸?shù)臄?shù)據(jù)量的指示。
7.根據(jù)權(quán)利要求1所述的方法,還包括:當(dāng)通過所建立的連接將數(shù)據(jù)從所述第一USB設(shè)備傳輸?shù)剿龅诙?USB設(shè)備時(shí),接收確認(rèn)。
8.根據(jù)權(quán)利要求1所述的方法,還包括:接收與所述第一USB設(shè)備和所述第二 USB設(shè)備相關(guān)聯(lián)的、標(biāo)識(shí)所述第一 USB設(shè)備的地址和所述第二 USB設(shè)備的地址的數(shù)據(jù),以便在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間建立所述連接。
9.根據(jù)權(quán)利要求1所述的方法,還包括:確定所述第一設(shè)備和所述第二設(shè)備適合于進(jìn)行連接以在所述第一設(shè)備與所述第二設(shè)備之間進(jìn)行數(shù)據(jù)傳輸。
10.根據(jù)權(quán)利要求1所述的方法,還包括:請(qǐng)求終止所述第一設(shè)備與所述第二設(shè)備之間的所述連接。
11.一種用于傳輸數(shù)據(jù)的裝置,所述裝置包括一個(gè)或多個(gè)處理器,所述一個(gè)或多個(gè)處理器被配置為: 生成用于在連接到通用串行總線(USB)集線器的第一 USB設(shè)備與連接到所述USB集線器的第二 USB設(shè)備之間建立連接的USB重定向配置請(qǐng)求,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括主機(jī)設(shè)備;以及 在所述第一 USB設(shè)備和所述第二 USB設(shè)備之間建立了所述連接之后,請(qǐng)求要通過所述USB集線器從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的數(shù)據(jù)。
12.根據(jù)權(quán)利要求11所述的裝置,其中,所述一個(gè)或多個(gè)處理器還被配置為:發(fā)送與要從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的所述數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù),其中,所述元數(shù)據(jù)包括所述數(shù)據(jù)的特性。
13.根據(jù)權(quán)利要求11所述的裝置,其中,所述特性包括以下各項(xiàng)中的至少一項(xiàng):數(shù)據(jù)量、與所述數(shù)據(jù)相關(guān)聯(lián)的文件名、用于保存所述數(shù)據(jù)的目錄、以及用于保存所述數(shù)據(jù)的位置。
14.根據(jù)權(quán)利要求11所述的裝置,其中,所述一個(gè)或多個(gè)處理器還被配置為: 接收確認(rèn),所述確認(rèn)包括對(duì)要通過所述USB集線器從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的所述數(shù)據(jù)的大小的指示; 生成具有所述大小的虛擬數(shù)據(jù);以及 向用于所述第一設(shè)備的設(shè)備驅(qū)動(dòng)發(fā)送所述虛擬數(shù)據(jù)。
15.根據(jù)權(quán)利要求14所述的裝置,其中,所述一個(gè)或多個(gè)處理器還被配置為: 從用于所述第一設(shè)備的所述設(shè)備驅(qū)動(dòng)接收所述虛擬數(shù)據(jù),以及 其中,在接收所述虛擬數(shù)據(jù)之后,所述一個(gè)或多個(gè)處理器發(fā)起對(duì)要從所述第一設(shè)備路由到所述第二設(shè)備的數(shù)據(jù)的所述請(qǐng)求。
16.根據(jù)權(quán)利要求11所述的裝置,其中,為了請(qǐng)求要進(jìn)行路由的數(shù)據(jù),所述一個(gè)或多個(gè)處理器被配置為:生成一個(gè)或多個(gè)USB請(qǐng)求塊(URB)消息,所述一個(gè)或多個(gè)URB消息包括對(duì)要在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸?shù)臄?shù)據(jù)量的指示。
17.根據(jù)權(quán)利要求11所述的裝置,其中,所述一個(gè)或多個(gè)處理器還被配置為:當(dāng)通過所建立的連接將數(shù)據(jù)從所述第一 USB設(shè)備傳輸?shù)剿龅诙?USB設(shè)備時(shí),接收確認(rèn)。
18.根據(jù)權(quán)利要求11所述的裝置,還包括:接收與所述第一USB設(shè)備和所述第二USB設(shè)備相關(guān)聯(lián)的、標(biāo)識(shí)所述第一 USB設(shè)備的地址和所述第二 USB設(shè)備的地址的數(shù)據(jù),以便在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間建立所述連接。
19.根據(jù)權(quán)利要求11所述的裝置,其中,所述一個(gè)或多個(gè)處理器還被配置為:確定所述第一設(shè)備和所述第二設(shè)備適合于進(jìn)行連接以在所述第一設(shè)備與所述第二設(shè)備之間進(jìn)行數(shù)據(jù)傳輸。
20.根據(jù)權(quán)利要求11所述的裝置,其中,所述一個(gè)或多個(gè)處理器還被配置為:請(qǐng)求終止所述第一設(shè)備與所述第二設(shè)備之間的所述連接。
21.一種用于傳輸數(shù)據(jù)的裝置,所述裝置包括: 用于生成用于在連接到通用串行總線(USB)集線器的第一 USB設(shè)備與連接到所述USB集線器的第二 USB設(shè)備之間建立連接的USB重定向配置請(qǐng)求的單元,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括主機(jī)設(shè)備;以及 用于在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間建立了所述連接之后,請(qǐng)求要通過所述USB集線器從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的數(shù)據(jù)的單元。
22.根據(jù)權(quán)利要求21所述的裝置,還包括:用于發(fā)送與要從所述第一USB設(shè)備路由到所述第二 USB設(shè)備的所述數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù)的單元,其中,所述元數(shù)據(jù)包括所述數(shù)據(jù)的特性。
23.根據(jù)權(quán)利要求21所述的裝置,還包括: 用于接收確認(rèn)的單元,所述確認(rèn)包括對(duì)要通過所述USB集線器從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的所述數(shù)據(jù)的大小的指示; 用于生成具有所述大小的虛擬數(shù)據(jù)的單元;以及 用于向用于所述第一設(shè)備的設(shè)備驅(qū)動(dòng)發(fā)送所述虛擬數(shù)據(jù)的單元。
24.根據(jù)權(quán)利要求23所述的裝置,還包括: 用于從用于所述第一設(shè)備的所述設(shè)備驅(qū)動(dòng)接收所述虛擬數(shù)據(jù)的單元,以及 其中,用于在接收所述虛擬數(shù)據(jù)之后,發(fā)起對(duì)要從所述第一設(shè)備路由到所述第二設(shè)備的數(shù)據(jù)的請(qǐng)求的單元。
25.根據(jù)權(quán)利要求21所述的裝置,其中,用于請(qǐng)求的單元包括用于生成一個(gè)或多個(gè)USB請(qǐng)求塊(URB)消息的單元,所述一個(gè)或多個(gè)URB消息包括對(duì)要在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸?shù)臄?shù)據(jù)量的指示。
26.根據(jù)權(quán)利要求21所述的裝置,還包括:用于確定所述第一設(shè)備和所述第二設(shè)備適合于進(jìn)行連接以在所述第一設(shè)備與所述第二設(shè)備之間進(jìn)行數(shù)據(jù)傳輸?shù)膯卧?br>
27.一種存儲(chǔ)指令的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),當(dāng)所述指令被執(zhí)行時(shí),使一個(gè)或多個(gè)處理器進(jìn)行以下操作: 生成用于在連接到通用串行總線(USB)集線器的第一 USB設(shè)備與連接到所述USB集線器的第二 USB設(shè)備之間建立連接的USB重定向配置請(qǐng)求,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括主機(jī)設(shè)備;以及 在所述第一 USB設(shè)備和所述第二 USB設(shè)備之間建立了所述連接之后,請(qǐng)求要通過所述USB集線器從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的數(shù)據(jù)。
28.根據(jù)權(quán)利要求27所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),還包括:用于使所述一個(gè)或多個(gè)處理器發(fā)送與要從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的所述數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù)的指令,所述元數(shù)據(jù)包括所述數(shù)據(jù)的特性。
29.根據(jù)權(quán)利要求27所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),還包括用于使所述一個(gè)或多個(gè)處理器進(jìn)行以下操作的指令: 接收確認(rèn),所述確認(rèn)包括對(duì)要通過所述USB集線器從所述第一 USB設(shè)備路由到所述第二 USB設(shè)備的所述數(shù)據(jù)的大小的指示; 生成具有所述大小的虛擬數(shù)據(jù);以及 向用于所述第一設(shè)備的設(shè)備驅(qū)動(dòng)發(fā)送所述虛擬數(shù)據(jù)。
30.根據(jù)權(quán)利要求29所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),還包括用于使所述一個(gè)或多個(gè)處理器進(jìn)行以下操作的指令: 從用于所述第一設(shè)備的所述設(shè)備驅(qū)動(dòng)接收所述虛擬數(shù)據(jù),以及 其中,在接收所述虛擬數(shù)據(jù)之后,發(fā)起對(duì)要從所述第一設(shè)備路由到所述第二設(shè)備的數(shù)據(jù)的請(qǐng)求。
31.根據(jù)權(quán)利要求27所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),其中,為了請(qǐng)求要進(jìn)行路由的數(shù)據(jù),所述指令使所述一個(gè)或多個(gè)處理器生成一個(gè)或多個(gè)USB請(qǐng)求塊(URB)消息,所述一個(gè)或多個(gè)URB消息包括對(duì)要在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸?shù)臄?shù)據(jù)量的指/Jn ο
32.根據(jù)權(quán)利要求27所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),還包括: 用于使所述一個(gè)或多個(gè)處理器確定所述第一設(shè)備和所述第二設(shè)備適合于進(jìn)行連接以在所述第一設(shè)備與所述第二設(shè)備之間進(jìn)行數(shù)據(jù)傳輸?shù)闹噶睢?br>
33.一種用于傳輸數(shù)據(jù)的方法,所述方法包括: 生成用于傳輸?shù)酵ㄓ么锌偩€(USB)主機(jī)的、用于在第一 USB設(shè)備與第二 USB設(shè)備之間建立連接的USB重定向配置消息,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括所述USB主機(jī); 接收請(qǐng)求以在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸數(shù)據(jù);以及 在接收所述請(qǐng)求之后,使用所述連接在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間發(fā)送數(shù)據(jù),而不向所述USB主機(jī)傳輸所述數(shù)據(jù)的至少一部分。
34.根據(jù)權(quán)利要求33所述的方法,還包括:接收與要在所述第一USB設(shè)備與所述第二USB設(shè)備之間傳輸?shù)乃鰯?shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù),所述元數(shù)據(jù)包括所述數(shù)據(jù)的特性。
35.根據(jù)權(quán)利要求34所述的方法,其中,所述特性包括以下各項(xiàng)中的至少一項(xiàng):數(shù)據(jù)量、與所述數(shù)據(jù)相關(guān)聯(lián)的文件名、用于保存所述數(shù)據(jù)的目錄、以及用于保存所述數(shù)據(jù)的位置。
36.根據(jù)權(quán)利要求33所述的方法,還包括: 向所述USB主機(jī)發(fā)送確認(rèn),所述確認(rèn)包括對(duì)要在所述第一 USB設(shè)備到所述第二 USB設(shè)備之間傳輸?shù)乃鰯?shù)據(jù)的大小的指示;以及 其中,接收所述請(qǐng)求以進(jìn)行傳輸是基于所述確認(rèn)的。
37.根據(jù)權(quán)利要求33所述的方法,還包括:在發(fā)送所述數(shù)據(jù)之后,向所述USB主機(jī)發(fā)送確認(rèn)消息。
38.根據(jù)權(quán)利要求33所述的方法,其中,接收所述請(qǐng)求包括接收USB請(qǐng)求塊(URB)消息,所述URB消息包括對(duì)要在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸?shù)臄?shù)據(jù)量的指示。
39.根據(jù)權(quán)利要求33所述的方法,還包括:向所述USB主機(jī)發(fā)送與所述第一USB設(shè)備和所述第二 USB設(shè)備相關(guān)聯(lián)的、標(biāo)識(shí)所述第一 USB設(shè)備的地址和所述第二 USB設(shè)備的地址的數(shù)據(jù)。
40.根據(jù)權(quán)利要求33所述的方法,還包括:終止所述第一設(shè)備與所述第二設(shè)備之間的所述連接。
41.一種用于傳輸數(shù)據(jù)的裝置,所述裝置包括一個(gè)或多個(gè)處理器,所述一個(gè)或多個(gè)處理器被配置為: 生成用于傳輸?shù)酵ㄓ么锌偩€(USB)主機(jī)的、用于在第一 USB設(shè)備與第二 USB設(shè)備之間建立連接的USB重定向配置消息,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括所述USB主機(jī); 接收請(qǐng)求以在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸數(shù)據(jù);以及 在接收所述請(qǐng)求之后,使用所述連接在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間發(fā)送數(shù)據(jù),而不向所述USB主機(jī)傳輸所述數(shù)據(jù)的至少一部分。
42.根據(jù)權(quán)利要求41所述的裝置,其中,所述一個(gè)或多個(gè)處理器還被配置為:接收與要在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸?shù)乃鰯?shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù),所述元數(shù)據(jù)包括所述數(shù)據(jù)的特性。
43.根據(jù)權(quán)利要求42所述的裝置,其中,所述特性包括以下各項(xiàng)中的至少一項(xiàng):數(shù)據(jù)量、與所述數(shù)據(jù)相關(guān)聯(lián)的文件名、用于保存所述數(shù)據(jù)的目錄、以及用于保存所述數(shù)據(jù)的位 置。
44.根據(jù)權(quán)利要求41所述的裝置,其中,所述一個(gè)或多個(gè)處理器還被配置為: 向所述USB主機(jī)發(fā)送確認(rèn),所述確認(rèn)包括對(duì)要在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸?shù)乃鰯?shù)據(jù)的大小的指示;以及 其中,接收所述請(qǐng)求以進(jìn)行傳輸是基于所述確認(rèn)的。
45.根據(jù)權(quán)利要求41所述的裝置,其中,所述一個(gè)或多個(gè)處理器還被配置為:在發(fā)送所述數(shù)據(jù)之后,向所述USB主機(jī)發(fā)送確認(rèn)消息。
46.根據(jù)權(quán)利要求41所述的裝置,其中,為了接收所述請(qǐng)求,所述一個(gè)或多個(gè)處理器被配置為接收USB請(qǐng)求塊(URB)消息,所述URB消息包括對(duì)要在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸?shù)臄?shù)據(jù)量的指示。
47.根據(jù)權(quán)利要求41所述的裝置,其中,所述一個(gè)或多個(gè)處理器還被配置為:向所述USB主機(jī)發(fā)送與所述第一 USB設(shè)備和所述第二 USB設(shè)備相關(guān)聯(lián)的、標(biāo)識(shí)所述第一 USB設(shè)備的地址和所述第二 USB設(shè)備的地址的數(shù)據(jù)。
48.根據(jù)權(quán)利要求41所述的裝置,其中,所述一個(gè)或多個(gè)處理器還被配置為:終止所述第一設(shè)備與所述第二設(shè)備之間的所述連接。
49.一種用于傳輸數(shù)據(jù)的裝置,所述裝置包括: 用于生成用于傳輸?shù)酵ㄓ么锌偩€(USB)主機(jī)的、用于在第一 USB設(shè)備與第二 USB設(shè)備之間建立連接的USB重定向配置消息的單元,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括所述USB主機(jī); 用于接收請(qǐng)求以在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸數(shù)據(jù)的單元; 用于在接收所述請(qǐng)求之后,使用所述連接來(lái)在所述第一 USB設(shè)備到所述第二 USB設(shè)備之間發(fā)送數(shù)據(jù),而不向所述USB主機(jī)傳輸所述數(shù)據(jù)的至少一部分的單元。
50.根據(jù)權(quán)利要求49所述的裝置,還包括:用于接收與要在所述第一USB設(shè)備與所述第二 USB設(shè)備之間傳輸?shù)乃鰯?shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù)的單元,所述元數(shù)據(jù)包括所述數(shù)據(jù)的特性。
51.根據(jù)權(quán)利要求49所述的裝置,還包括: 用于向所述USB主機(jī)發(fā)送確認(rèn)的單元,所述確認(rèn)包括對(duì)要在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸?shù)乃鰯?shù)據(jù)的大小的指示;以及 其中,接收所述請(qǐng)求以進(jìn)行傳輸是基于所述確認(rèn)的。
52.根據(jù)權(quán)利要求49所述的裝置,其中,所述用于接收所述請(qǐng)求的單元包括:用于接收USB請(qǐng)求塊(URB)消息的單元,所述URB消息包括對(duì)要在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸?shù)臄?shù)據(jù)量的指示。
53.根據(jù)權(quán)利要求49所述的裝置,還包括:用于向所述USB主機(jī)發(fā)送與所述第一USB設(shè)備和所述第二 USB設(shè)備相關(guān)聯(lián)的、標(biāo)識(shí)所述第一 USB設(shè)備的地址和所述第二 USB設(shè)備的地址的數(shù)據(jù)的單元。
54.一種存儲(chǔ)指令的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),當(dāng)所述指令被執(zhí)行時(shí),使一個(gè)或多個(gè)處理器進(jìn)行以下操作: 生成用于傳輸?shù)酵ㄓ么锌偩€(USB)主機(jī)的、用于在第一 USB設(shè)備與第二 USB設(shè)備之間建立連接的USB重定向配置消息,其中,所述第一 USB設(shè)備與所述第二 USB設(shè)備之間的所述連接不包括所述USB主機(jī); 接收請(qǐng)求以在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸數(shù)據(jù); 在接收所述請(qǐng)求之后,使用所述連接來(lái)在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間發(fā)送數(shù)據(jù),而不向所述USB主機(jī)傳輸所述數(shù)據(jù)的至少一部分。
55.根據(jù)權(quán)利要求54所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),還包括:使所述一個(gè)或多個(gè)處理器進(jìn)行以下操作的指令:接收與要在所述第一 USB設(shè)備和所述第二 USB設(shè)備之間傳輸?shù)乃鰯?shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù),所述元數(shù)據(jù)包括所述數(shù)據(jù)的特性。
56.根據(jù)權(quán)利要求54所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),還包括: 使所述一個(gè)或多個(gè)處理器向所述USB主機(jī)發(fā)送確認(rèn)的指令,所述確認(rèn)包括對(duì)要在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸?shù)乃鰯?shù)據(jù)的大小的指示;以及 其中,接收所述請(qǐng)求以進(jìn)行傳輸是基于所述確認(rèn)的。
57.根據(jù)權(quán)利要求54所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),其中,使所述一個(gè)或多個(gè)處理器接收所述請(qǐng)求的所述指令包括:使所述一個(gè)或多個(gè)處理器接收USB請(qǐng)求塊(URB)消息的指令,所述URB消息包括對(duì)要在所述第一 USB設(shè)備與所述第二 USB設(shè)備之間傳輸?shù)臄?shù)據(jù)量的指示。
58.根據(jù)權(quán)利要求54所述的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),還包括:使所述一個(gè)或多個(gè)處理器向所述USB主機(jī)發(fā)送與所述第一 USB設(shè)備和所述第二 USB設(shè)備相關(guān)聯(lián)的、標(biāo)識(shí)所述第一 USB設(shè)備的地址和所述第二 USB設(shè)備的地址的數(shù)據(jù)的指令。
【文檔編號(hào)】G06F13/40GK104246733SQ201380013600
【公開日】2014年12月24日 申請(qǐng)日期:2013年3月13日 優(yōu)先權(quán)日:2012年3月13日
【發(fā)明者】V·R·拉韋恩德朗, X·王, X·黃, J·S·弗勒利歇爾 申請(qǐng)人:高通股份有限公司