專利名稱:用于利用兩個雙重角色設(shè)備來處理作業(yè)的方法和系統(tǒng)的制作方法
雙重角色設(shè)備(dual-role device DRD)是可以作為主機(jī)或外圍設(shè)備的設(shè)備。
圖1是依照現(xiàn)有技術(shù)的系統(tǒng)的示意圖。系統(tǒng)100包括DRD102和DRD 104。DRD 102包括連接器106并且DRD包括連接器108。當(dāng)系統(tǒng)100符合通用串行總線2.0規(guī)范的On-The-Go附錄時,連接器106、108是mini-AB(小型AB)插頭。
當(dāng)插頭被分別插入到連接器106、108中時,DRD 102、104表現(xiàn)為默認(rèn)角色。當(dāng)mini-A插頭被插入到連接器106中時,DRD 102默認(rèn)為主機(jī)模式。當(dāng)mini-B插頭被插入到連接器108中時,DRD 104默認(rèn)為外圍模式。
系統(tǒng)100典型情況下是不對稱的,這是由于通常為主機(jī)的一個設(shè)備被認(rèn)為比外圍設(shè)備更有能力。而是此假設(shè)并不總是正確的。例如,默認(rèn)為主機(jī)的MP3播放器可以與默認(rèn)為外圍設(shè)備的個人數(shù)字助理(personal digital assistant PDA)交換音頻文件。某些用戶更喜歡PDA為主機(jī),這是因為所述PDA具有更大的顯示器、更大的鍵盤以及更大范圍的圖形用戶接口。然而主機(jī)不能確定哪個設(shè)備(主機(jī)還是外圍設(shè)備)更適合于作為主機(jī)。
依照本發(fā)明,提供了一種用于利用兩個雙重角色設(shè)備來處理作業(yè)的方法和系統(tǒng)。當(dāng)要處理作業(yè)時,將一合作請求發(fā)送到主機(jī)或外圍設(shè)備。所述作業(yè)包括一個或多個任務(wù)。所述主機(jī)通過分析所要執(zhí)行的任務(wù)或作業(yè)類型以及所述主機(jī)和外圍設(shè)備的能力來確定哪個設(shè)備更適合于作為主機(jī)。如果外圍設(shè)備更適合于作為主機(jī),那么所述主機(jī)和外圍設(shè)備交換角色并且任務(wù)或作業(yè)的控制被轉(zhuǎn)移到外圍設(shè)備。一旦所述任務(wù)或作業(yè)完成,主機(jī)和外圍設(shè)備就可以返回到它們默認(rèn)的角色。
圖1是依照現(xiàn)有技術(shù)的系統(tǒng)的示意圖;圖2A-2B是在依照本發(fā)明的一個實施例中由主機(jī)雙重角色設(shè)備來處理作業(yè)的方法的流程圖;圖3A-3B是在依照本發(fā)明的一個實施例中由外圍雙重角色設(shè)備來處理作業(yè)的方法的流程圖;和圖4是在依照本發(fā)明的一個實施例中雙重角色設(shè)備的示意圖。
給出以下描述以便使本領(lǐng)域技術(shù)人員能夠?qū)嵤┎⑹褂帽景l(fā)明的實施例,并且在專利申請及其要求的上下文中給出了該描述。對所公開實施例的各種修改對于那些本領(lǐng)域技術(shù)人員來說是顯而易見的,并且這里的一般原理可應(yīng)用于其它實施例。因而,本發(fā)明并不意在局限于所示出的實施例,而是應(yīng)當(dāng)為與這里所描述的附加權(quán)利要求和原理及特征一致的最寬范圍。
參考附圖特別是參考圖2A-2B,示出了在依照本發(fā)明的一個實施例中由主機(jī)雙重角色設(shè)備來處理作業(yè)的方法的流程圖。最初如塊200所示,合作請求被發(fā)送到主機(jī)。例如可以使用獨立的中斷管道來發(fā)送合作請求。
然后如塊202所示,主機(jī)從外圍設(shè)備獲得服務(wù)描述符。服務(wù)描述符包括用于規(guī)定外圍設(shè)備能力的服務(wù)列表。所述主機(jī)還向所述外圍設(shè)備發(fā)送作業(yè)請求(塊204)。作業(yè)請求規(guī)定要執(zhí)行的作業(yè)類型。所述作業(yè)可以包括一個或多個任務(wù)并且每個任務(wù)被分送給更適合于控制所述任務(wù)的設(shè)備(主機(jī)或外圍設(shè)備)。在依照本發(fā)明的一個實施例中,使用USB CTRL管道來發(fā)送服務(wù)描述符和作業(yè)請求。
然后在塊206確定所述主機(jī)是否應(yīng)當(dāng)執(zhí)行主機(jī)協(xié)商過程(HostNegotiation Process HNP)。在依照本發(fā)明的一個實施例中,HNP遵循在通用串行總線2.0規(guī)范的On-The-Go附錄中所規(guī)定的過程。如果HNP未被執(zhí)行,那么所述過程傳遞到塊208,在那里主機(jī)控制作業(yè)或任務(wù)的處理并且作業(yè)結(jié)果的產(chǎn)生。
如果HNP被執(zhí)行,那么主機(jī)分析要執(zhí)行的作業(yè)或任務(wù)類型以及所述主機(jī)和外圍設(shè)備的能力以便確定哪個設(shè)備作為主機(jī)(塊210)。作為此過程的一部分,主機(jī)確定是否應(yīng)當(dāng)交換主機(jī)和外圍設(shè)備的角色(塊212)。如更早所論述,可以針對整個作業(yè)或在所述作業(yè)中所包括的一個或多個任務(wù)來交換主機(jī)和外圍設(shè)備的角色。
如果主機(jī)和外圍設(shè)備的角色未被交換,那么所述主機(jī)控制作業(yè)或一個或多個任務(wù)的處理(塊208)。如果所述角色被交換,那么作業(yè)或任務(wù)的控制被轉(zhuǎn)移到外圍設(shè)備并且所述外圍設(shè)備承擔(dān)主機(jī)的角色(塊214)。然后作為主機(jī)的外圍設(shè)備控制作業(yè)或所述作業(yè)中的一個或多個任務(wù)的處理并且向默認(rèn)主機(jī)返回結(jié)果。
然后在塊216確定是否存在要處理的更多作業(yè)或任務(wù)。如果是的話,所述方法返回到塊202并且重復(fù)直到完成所有作業(yè)或所有任務(wù)。在此期間主機(jī)和外圍設(shè)備可以重復(fù)地交換角色。當(dāng)所有作業(yè)已經(jīng)被處理時,在塊218確定作為主機(jī)的設(shè)備是否為默認(rèn)的主機(jī)。如果不是的話,那么在塊220,主機(jī)和外圍設(shè)備的角色被返回為默認(rèn)角色并且所述方法結(jié)束。
圖3A-3B是在依照本發(fā)明的一個實施例中由外圍雙重角色設(shè)備來處理作業(yè)的方法的流程圖。最初合作請求被發(fā)送到外圍設(shè)備,并且所述外圍設(shè)備向主機(jī)發(fā)送該請求,如塊300所示。在依照本發(fā)明的一個實施例中,外圍設(shè)備使用用于USB的SRP或INT管道向主機(jī)發(fā)送合作請求。
然后外圍設(shè)備向主機(jī)呈送服務(wù)描述符,如塊302所示。服務(wù)描述符包括用于規(guī)定所述外圍設(shè)備能力的服務(wù)列表。所述主機(jī)還向所述外圍設(shè)備發(fā)送作業(yè)請求(塊304)。作業(yè)請求規(guī)定要執(zhí)行的作業(yè)類型。所述作業(yè)可以包括要處理的一個或多個任務(wù)并且每個任務(wù)被分送給更適合于處理或完成所述任務(wù)的設(shè)備(主機(jī)或外圍設(shè)備)。在依照本發(fā)明的一個實施例中,使用用于USB的CTRL管道來發(fā)送服務(wù)描述符和作業(yè)請求。
然后在塊306確定是否應(yīng)當(dāng)執(zhí)行HNP。如果HNP未被執(zhí)行,那么該過程傳遞到塊308,在那里由主機(jī)控制作業(yè)或一個或多個任務(wù)的處理。如果HNP被執(zhí)行,那么主機(jī)分析要執(zhí)行的作業(yè)或任務(wù)類型以及所述主機(jī)和外圍設(shè)備的能力以便確定哪個設(shè)備應(yīng)當(dāng)為主機(jī)(塊310)。作為此過程的一部分,主機(jī)確定是否應(yīng)當(dāng)交換主機(jī)和外圍設(shè)備的角色(塊312)。
如果主機(jī)和外圍設(shè)備的角色未被交換,那么所述主機(jī)控制作業(yè)或任務(wù)的處理(塊308)。如果所述角色被交換,那么作業(yè)的控制被轉(zhuǎn)移到外圍設(shè)備并且所述外圍設(shè)備承擔(dān)主機(jī)的角色(塊314)。作為主機(jī),外圍設(shè)備控制作業(yè)或任務(wù)的處理并且向默認(rèn)主機(jī)返回結(jié)果(塊308)。
然后在塊316確定是否存在要處理的更多作業(yè)或任務(wù)。如果是的話,所述方法返回到塊302并且重復(fù)直到所有作業(yè)都被處理。當(dāng)所有作業(yè)已經(jīng)被處理時,確定已經(jīng)承擔(dān)主機(jī)角色的設(shè)備是否為默認(rèn)的主機(jī)。如果不是的話,那么在塊320,主機(jī)和外圍設(shè)備的角色被返回為默認(rèn)角色并且所述方法結(jié)束。
在依照本發(fā)明的一個實施例中,主機(jī)和外圍設(shè)備自動地確定哪個設(shè)備更適合于作為主機(jī)。在依照本發(fā)明的其它實施例中,可以由應(yīng)用或用戶來發(fā)起角色交換。
附錄A包括USB架構(gòu)的示例性合作擴(kuò)展。這些示例性的擴(kuò)展可以用來實現(xiàn)圖2A-2B和圖3A-3B的實施例。然而依照本發(fā)明的實施例不局限于在附錄A中所示出的擴(kuò)展。在依照本發(fā)明的其它實施例中可以使用任何允許主機(jī)確定哪個設(shè)備更適合于作為主機(jī)并且向作為主機(jī)的設(shè)備傳送作業(yè)或任務(wù)的控制的擴(kuò)展。
現(xiàn)在參照圖4,示出了在依照本發(fā)明的一個實施例中雙重角色設(shè)備的示意圖。DRD 400包括主機(jī)服務(wù)容器402、外圍設(shè)備服務(wù)容器404和一般服務(wù)容器406。在圖4的實施例中,主機(jī)服務(wù)容器402包括與USB相關(guān)的主機(jī)端服務(wù),諸如目標(biāo)主機(jī)服務(wù)列表408、目標(biāo)外圍設(shè)備列表410和目標(biāo)類列表412。
目標(biāo)主機(jī)服務(wù)列表408列出了DRD 400支持哪些應(yīng)用服務(wù)。例如,目標(biāo)服務(wù)列表408可以提供諸如DPS打印服務(wù)之類的應(yīng)用特定的GUID。目標(biāo)外圍設(shè)備列表410描述了DRD 400支持哪些外圍設(shè)備。目標(biāo)外圍設(shè)備列表410例如可以包括USB產(chǎn)品標(biāo)識和USB銷售商標(biāo)識。并且目標(biāo)類列表412例如通過提供USB類代碼和USB協(xié)議代碼來列出了DRD 400支持哪些類驅(qū)動器(class driver)。
外圍設(shè)備服務(wù)容器404包括與USB相關(guān)的外圍設(shè)備端服務(wù),例如可以包括USB配置描述符414和USB接口描述符416。并且一般服務(wù)容器406包括USB不可知服務(wù),其例如可以被配置為目標(biāo)服務(wù)列表418,包括除在USB數(shù)據(jù)鏈路層上的USB鏈路和高級服務(wù)之外的數(shù)據(jù)鏈路層服務(wù)。
附錄表1標(biāo)準(zhǔn)的合作接口描述符
表2標(biāo)準(zhǔn)的合作中斷端點描述符
表3.合作描述符
表4.服務(wù)描述符
表5.服務(wù)列表
表6.作業(yè)請求描述符
表7.作業(yè)范圍
表8.作業(yè)結(jié)果描述符
表9.通知分組
表10通知消息類型
表11描述符類型
表12DRD請求
表13作業(yè)代碼
獲取合作描述符此請求會返回合作描述符。
如果USB設(shè)備不支持合作機(jī)制,那么會是請求錯誤。
如果wValue或wIndex是除如上面所指定之外的值,那么會是請求錯誤。
獲取服務(wù)描述符此請求會返回服務(wù)描述符。
如果USB設(shè)備不支持合作機(jī)制,那么會是請求錯誤。
如果wValue或wIndex是除如上面所指定之外的值,那么會是請求錯誤。
如果wlndex是0xFFFFFFFF,那么服務(wù)描述符包含所有服務(wù)列表。
如果wIndex是除0xFFFFFFFF之外的值,那么服務(wù)描述符包含特定的服務(wù)列表。
獲取作業(yè)請求此請求會返回服務(wù)描述符。
如果USB設(shè)備不支持合作機(jī)制,那么會是請求錯誤。
如果wValue或wIndex是除如上面所指定之外的值,那么會是請求錯誤。
獲取作業(yè)結(jié)果此請求會返回服務(wù)描述符。
如果USB設(shè)備不支持合作機(jī)制,那么會是請求錯誤。
如果wValue或wIndex是除如上面所指定之外的值,那么會是請求錯誤。
廣告服務(wù)描述符此請求發(fā)起服務(wù)請求。
如果USB設(shè)備不支持合作機(jī)制,那么會是請求錯誤。
如果wValue,wIndex或wLength是除如上面所指定之外的值,那么會是請求錯誤。
如果wIndex是0xFFFFFFFF,那么服務(wù)描述符包含所有服務(wù)列表。
如果wIndex是除0xFFFFFFFF之外的值,那么服務(wù)描述符包含特定的服務(wù)列表。
設(shè)置作業(yè)請求此請求發(fā)起服務(wù)請求。
如果USB設(shè)備不支持合作機(jī)制,那么會是請求錯誤。
如果wValue,wIndex或wLength是除如上面所指定之外的值,那么會是請求錯誤。
設(shè)置作業(yè)結(jié)果此請求發(fā)起服務(wù)請求。
如果USB設(shè)備不支持合作機(jī)制,那么會是請求錯誤。
如果wValue,wIndex或wLength是除如上面所指定之外的值,那么會是請求錯誤。
權(quán)利要求
1.一種用于利用默認(rèn)主機(jī)雙重角色設(shè)備和默認(rèn)外圍雙重角色設(shè)備來處理一個或多個任務(wù)的方法,包括接收合作請求;確定所述默認(rèn)主機(jī)雙重角色設(shè)備還是默認(rèn)外圍雙重角色設(shè)備將作為主機(jī)來處理所述一個或多個任務(wù)中的至少一個;并且如果必要的話,交換主機(jī)和外圍設(shè)備的角色,其中所述默認(rèn)外圍雙重角色設(shè)備充當(dāng)主機(jī)。
2.如權(quán)利要求1所述的方法,還包括當(dāng)默認(rèn)外圍雙重角色設(shè)備作為主機(jī)時把所述一個或多個任務(wù)中的至少一個的控制轉(zhuǎn)移到外圍雙重角色設(shè)備。
3.如權(quán)利要求2所述的方法,還包括處理所述一個或多個任務(wù)中的至少一個。
4.如權(quán)利要求3所述的方法,還包括當(dāng)所述默認(rèn)外圍雙重角色設(shè)備作為主機(jī)時把結(jié)果返回給默認(rèn)主機(jī)雙重角色設(shè)備。
5.如權(quán)利要求4所述的方法,還包括在所述默認(rèn)外圍雙重角色設(shè)備作為主機(jī)并且所述一個或多個任務(wù)中的至少一個已經(jīng)被處理之后,把外圍雙重角色設(shè)備的角色返回給默認(rèn)外圍雙重角色設(shè)備并且把主機(jī)角色返回給所述默認(rèn)主機(jī)雙重角色設(shè)備。
6.如權(quán)利要求1所述的方法,其中接收合作請求包括在所述默認(rèn)主機(jī)雙重角色設(shè)備接收合作請求。
7.如權(quán)利要求1所述的方法,其中接收合作請求包括在所述默認(rèn)外圍雙重角色設(shè)備接收合作請求。
8.如權(quán)利要求7所述的方法,還包括向所述默認(rèn)主機(jī)雙重角色設(shè)備發(fā)送所述合作請求。
9.如權(quán)利要求1所述的方法,其中確定所述默認(rèn)主機(jī)雙重角色設(shè)備還是默認(rèn)外圍雙重角色設(shè)備將作為主機(jī)來處理一個或多個任務(wù)中的至少一個包括分析所述默認(rèn)主機(jī)雙重角色設(shè)備的一個或多個能力;分析所述外圍設(shè)備的雙重角色設(shè)備的一個或多個能力;并且分析一個或多個任務(wù)中的至少一個以便確定是默認(rèn)主機(jī)雙重角色設(shè)備還是默認(rèn)外圍雙重角色設(shè)備將作為主機(jī)來處理所述一個或多個任務(wù)中的至少一個。
10.如權(quán)利要求1所述的方法,其中確定所述默認(rèn)主機(jī)雙重角色設(shè)備還是默認(rèn)外圍雙重角色設(shè)備將作為主機(jī)來處理一個或多個任務(wù)中的至少一個包括自動地確定所述默認(rèn)主機(jī)雙重角色設(shè)備還是默認(rèn)外圍雙重角色設(shè)備將作為主機(jī)來處理一個或多個任務(wù)中的至少一個。
11.一種雙重角色設(shè)備(400),包括含有主機(jī)服務(wù)的主機(jī)服務(wù)容器(402),其中所述主機(jī)服務(wù)包括一列所支持的應(yīng)用服務(wù)(408);和外圍設(shè)備服務(wù)容器(404),含有外圍設(shè)備服務(wù)。
12.如權(quán)利要求11所述的雙重角色設(shè)備(400),還包括一般服務(wù)容器(406)。
13.如權(quán)利要求11所述的雙重角色設(shè)備(400),其中所述主機(jī)服務(wù)還包括一列所支持的外圍設(shè)備(410);和一列所支持的類驅(qū)動器(412)。
全文摘要
當(dāng)要處理作業(yè)時,可以把合作請求發(fā)送到主機(jī)或外圍設(shè)備。所述作業(yè)可以包括一個或多個任務(wù)。所述主機(jī)通過分析要執(zhí)行的任務(wù)或作業(yè)類型以及主機(jī)和外圍設(shè)備的能力來確定哪個設(shè)備更適合于作為主機(jī)。如果外圍設(shè)備更適合于作為主機(jī),那么所述主機(jī)和外圍設(shè)備交換角色并且任務(wù)或作業(yè)的控制被轉(zhuǎn)移到所述外圍設(shè)備。一旦所述任務(wù)或作業(yè)完成,主機(jī)和外圍設(shè)備就可以返回到它們默認(rèn)的角色。
文檔編號H04L29/06GK101031885SQ200580016261
公開日2007年9月5日 申請日期2005年5月20日 優(yōu)先權(quán)日2004年5月21日
發(fā)明者J·特杰, Z·張 申請人:皇家飛利浦電子股份有限公司, 美國飛利浦公司