專利名稱:用于管理包括HAVi群集設備之間的橋接器的網絡的方法
技術領域:
本發明涉及一種用于管理包括HAVi群集設備之間的橋接器的網絡的方法。
背景技術:
家庭音頻視頻互操作性(HAVi)規范由許多消費電子公司開發,以利用IEEE 1394串行總線技術來允許在家庭環境下音頻視頻設備的互連。當前規范(版本1.1,從HAVi,Inc.,2694 Bishop Drive,Suite275 San Ramon,CA 94583,USA處可以得到)的設計還沒有包括橋接幾個HAVi網絡的概念。
下面將進行參考的其他文件是從IEEE處可得到的IEEE 1394-2000標準以及IEC 61883.1,其利用IEEE 1394標準規定了音頻和視頻設備的數字接口。IEC 61883.1文件可從國際電子技術委員會處得到。
一種用于橋接兩個HAVi網絡的方法基于軟件元素代理方法。圖8是由通過橋接設備連接的兩個HAVi網絡形成的網絡的示例。設備和子設備或者功能由軟件元素表示,分別被稱為設備控制模塊(DCM)和功能組件模塊(FCM)。
HAVi設備發現處理基于IEEE 1394總線上的“GUID”識別。GUID代表全局惟一標識符。GUID惟一地標識IEEE 1394設備。
在橋接器側的設備將由另一側的設備來識別,因為這些設備在IEEE 1394級是不可見的。位于一側上的控制器將不能夠使用位于另一側上的目標。橋接設備構建了一側的DCM和FCM的表示,以將其展示為另一側上的DCM和FCM,作為其所代表的實際軟件元素的代理元素。
在圖8中,實際DCM和FCM由它們的SEID(軟件元素ID)來代表。SEID是GUID(在每一個設備的底層表示的示例)和在該設備內惟一的號碼的組合。
這些DCM和FCM在橋接器的另一側由代理SE來代表。這些DCM和FCM由虛線表示,以便與實際SE進行區分。針對每一個實際DCM和FCM存在一個代理SE。控制應用程序可以通過其代理SE來控制在橋接器后的實際目標設備。
為了構造流,HAVi應用程序使用被稱為流管理器的應用程序主機設備本地的軟件元素。由應用程序提供給流管理器的一些參數是“FcmPlug”數據結構,針對宿FCM的數據結構和/或針對源FCM的數據結構(或者兩種或者只一種數據結構,分別針對點對點或廣播流)。該“FcmPlug”參數是包含“TargetId”參數的結構,其包括目標設備(包括該FCM所代表的功能的實際設備)的GUID。
問題在于流管理器根據IEC 61883.1協議,使用該GUID來建立IEEE 1394連接。如果源或宿(或兩者)的目標設備位于橋接器后面,則流管理器無法看到該GUID,所以無法建立連接。
發明內容
本發明的目的是提出一種管理包括橋接設備(AB,分別地BC)的網絡的方法,所述橋接設備包括與第一HAVi群集(A,分別地B)連接的第一入口和與第二群集(B,分別地C)連接的第二入口,其特征在于以下步驟由每一個入口利用代理DCM軟件元素和代理FCM軟件元素來表示在入口群集上存在的DCM軟件元素和FCM軟件元素,其中,利用基于包括軟件元素的入口的全局惟一標識符(GUID)的軟件元素標識符(SEID),表示在入口的群集上的每一個代理軟件元素;在所述橋接設備中維護代理軟件元素和由所述代理軟件元素所代表的軟件元素的軟件元素標識符之間的對應關系表,其中,代理FCM、分別地代理DCM軟件元素的TargetID數據結構包括包含有該代理FCM、分別地代理DCM軟件元素的入口的全局惟一標識符。
根據特定實施例,對代理FCM軟件元素所進行的Fcm∷GetDcmSeid函數調用返回包含代理FCM的代理DCM的軟件元素標識符。
根據特定實施例,代理DCM或FCM軟件元素的HUID數據結構包括包含有該代理DCM或FCM軟件元素的入口的全局惟一標識符。
根據特定實施例,對代理DCM軟件元素所進行的DCM∷GetFcmSeidList函數調用返回包含在代理DCM中的代理FCM的軟件元素標識符。
根據特定實施例,對代理FCM或DCM軟件元素所進行的Fcm∷GetHuid或Dcm∷GetHuid函數調用返回由橋接器提供的相應代理HUID。
根據特定實施例,所述方法包括以下步驟使橋接器向DCM軟件元素轉發用于請求的函數調用,以便進行從在其上DCM軟件元素由代理DCM表示的原始群集到目的地群集的內部連接,其中橋接器利用所述對應關系表,將在包括在所述函數調用中的原始群集上有效的軟件元素標識符改變為在目的地群集上有效的軟件元素標識符。
根據特定實施例,代理DCM和代理FCM分別被聲明為DCM_NON61883和FCM_NON61883。
根據特定實施例,由流管理器軟件元素對流進行建立包括以下步驟—向第一群集上的流管理器發送StreamManager∷FlowTo函數調用,其中所述函數調用請求建立位于第一群集上的第一FCM軟件元素和另一群集上的第二FCM軟件元素之間的連接;—使流管理器軟件元素建立第一FCM軟件元素和第二FCM軟件元素的代理FCM之間的連接;—指示作為橋接器的一部分的第二流管理器建立表示第一FCM軟件元素的代理FCM軟件元素和第二軟件元素或其代理之間的第二群集上的連接。
根據特定實施例,通過由橋接器接收表示由第一流管理器所進行的連接已完成的第一群集上的消息,觸發第二流管理器的指令。
根據特定實施例,通過由橋接器接收表示由第一流管理器所進行的連接已完成的第一群集上的消息,觸發由橋接器轉發針對DCM軟件元素內部連接的函數調用。
根據特定實施例,由ConnectionAdded事件表示群集上連接建立完成,該事件不從一個群集轉發給另一群集。
根據特定實施例,所述方法包括以下步驟—向一個群集的第三流管理器發送用于丟棄通過橋接器而進行的連接的消息,其中,第三流管理器已經預先被標識為保持要丟棄的連接;—使第三流管理器丟棄在其本地群集上所進行的相應連接;—使橋接器利用其對應關系表來更新原始丟棄消息中的連接標識符;—使橋接器向另一群集上的第四流管理器轉發丟棄消息,其中,已經通過更新識別了所述流管理器。
根據特定實施例,所述方法包括以下步驟—從一個群集向入口中的第三流管理器(53)發送用于丟棄通過橋接器而進行的連接的消息,其中,第三流管理器(53)已經預先被標識為保持要丟棄的連接;—使橋接器利用其對應關系表來更新原始丟棄消息中的連接標識符;—使橋接器(BC)向另一群集(C)上的第四流管理器轉發丟棄消息,其中,已經通過更新識別了所述流管理器;—使第四流管理器觸發對兩個群集上的連接的丟棄。
本發明還涉及一種使第一設備群集與第二設備群集進行連接的橋接設備,所述設備包括用于與第一群集連接的第一入口和用于與第二群集連接的第二入口,橋接器適合于通過在一個群集上可見的代理元素來表示另一群集上的元素,其特征在于所述橋接器還包括用于產生描述代理元素的數據結構的裝置,其中,所述數據結構包括用于替代由代理元素表示的原始元素的原始數據結構的標識符的橋接器或者入口的至少一個標識符。
根據本發明的實施例,所述設備還包括用于分析對從第一群集上的元素接收到的、尋址于第二群集的元素的數據結構而進行的請求的裝置,第二群集的所述元素由第一群集上的代理元素表示,并且用于有選擇地向第二群集的元素轉發請求,或者代替第二群集的元素對請求作出響應,有選擇地轉發或響應對所請求的數據結構中存在的元素標識符類型作出回應。
根據本發明的實施例,所述橋接設備還包括用于檢測與一個群集連接的設備元素和在所述一個群集上可見的代理元素之間的新連接的裝置,并響應該檢測,觸發在去往由代理元素表示的元素的路徑上的另一群集上的連接的建立。
通過借助于附圖進行解釋的本發明的非限定性實施例的描述,本發明的其他特征和優點將變得明顯,其中,圖1到3是在建立兩個設備之間的流的不同階段上,包括兩個橋接器的同一通信網絡的方框圖。
圖4到7是在關閉流的不同階段上的圖1到3的網絡的方框圖。
圖8已被描述,它是由橋接設備連接的兩個HAVi網絡的示例。
具體實施例方式
HAVi網絡可以包括四種不同類型的設備。這些類型的不同之處在于它們運行HAVi結構的軟件元素的能力全音頻/視頻設備(FAV)、中間音頻/視頻設備(IAV)、基本音頻/視頻設備(BAV)和遺留音頻/視頻設備(LAV)。
每一個設備由被稱為設備控制模塊或者DCM的軟件元素表示。每一個DCM可以包括零個或者多個功能組件模塊(FCM)。例如,VCR設備可以適當地包括調諧器FCM和VCR FCM。針對軟件元素的許多應用可編程接口(API)由HAVi規范來定義。
總而言之,FAV設備包括HAVi軟件元素的完整集合,而LAV沒有任何軟件元素。FAV和IAV可以運行它們自己的DCM,而BAV和LAV則不能針對BAV和LAV設備的DCM和FCM必須由FAV或者IAV設備來運行。軟件元素向被稱為注冊處的、設備本地的另一元素進行登記。通過詢問在群集上的不同注冊處,可以實現對群集上可用資源的獲知。
物理設備由如引述中所提到的全局惟一標識符或GUID來識別。軟件元素參考軟件元素標識符或者SEID,其中,SEID包括軟件元素的主機設備的GUID以及主機設備內惟一的附加標識符。
流建立由被稱為“流管理器”(SM)的軟件元素來實現。在從諸如應用程序接收到函數調用時,流管理器發生作用。該管理器通過首先內部配置源和宿設備(設置流類型和傳輸格式,添加功能組件(FCM)插頭和設備(DCM)插頭),預留IEEE 1394信道和帶寬資源,以及更新IEC 61883.1插頭寄存器,建立如IEC 61883.1型等流類型連接。
為了附圖的可讀性,在圖1到6中將只示出與流建立有關的DCM和FCM和其他有用的軟件元素。
圖1所示的網絡包括通過兩個橋接器AB和BC連接的IEEE 1394總線A、B和C。這三條總線和與總線連接的設備形成了三個不同的HAVi群集。在圖上示出了每一個設備的GUID。在下文中,每一個設備將由其GUID表示。如果設備的GUID是“X”,則設備中的DCM的參考符號將是“X1”而FCM的參考符號將是“X2”。流管理器將具有參考符號“X3”。在本示例的情況下,由于只示出了在流建立中所涉及的DCM和FCM,針對每一個設備,最多示出了一個DCM和一個FCM。針對代理的參考符號是在這些代理所表示的軟件元素參考符號上加上了一個或者多個撇號,以表示與原始軟件元素相比的代理的遠端性。例如,如果軟件元素的參考符號是X,則與相同總線連接的橋接器的代理將是X’,下一個橋接器的代理是X”。代理軟件元素還將被畫為具有虛線的方框,以便將其與原始軟件元素進行區分。
SEID的符號將為(“GUID”,n),其中,“GUID”是主機設備的GUID,n表示主機內的附加標識符。
總線A與連接到天線(未示出)的BAV調諧器1(GUID=1)相連。表示調諧器的DCM和FCM軟件元素21分別地22由FAV設備2容納,也與總線A相連。橋接器AB也與總線A相連。在總線A側的橋接器入口被表示為3。該橋接器入口包括流管理器33、以及表示在總線C上的DCM和FCM的兩個代理DCM和FCM 81”和82”。
總線B與分別被表示為4和5的橋接器AB和BC的入口相連,以及與包括如用戶接口等應用程序的IAV或FAV設備6相連。入口4包括表示設備2的調諧器DCM和FCM的代理設備DCM 21’和FCM 22’。入口4還包括流管理器43,由于該流管理器43必須參與流的建立或者取消,正如其對等入口那樣。類似地,入口5包括流管理器53、以及DCM 81’和FCM 82’。
總線C與橋接器BC的入口7相連,并包括流管理器73以及代理DCM21”和FCM 22”。而且,BAV VCR設備與總線C相連,其包括VCR功能94。FAV設備8容納針對BAV設備9的DCM和FCM。IAV或FAV設備10容納如用戶接口等應用程序以及流管理器103。
橋接器AB和BC包括用于構建其中橋接器保存針對其構成代理的軟件元素的SEID和/或GUID標識符的表格的存儲器。
對于相同的元素,圖1到6所示的參考符號是相同的。
現在將描述用于構建流的方法。
作為示例,設備10的應用程序想要構建從調諧器1到VCR 9的流,以便執行記錄操作。該應用程序通過FCM 21知道VCR 9,以及通過代理FCM 22”知道調諧器1。通過對設備10的注冊處進行適當的詢問,可得到這兩個FCM的SEID標識符。
應用程序將調用流管理器103的“StreamManager∷FlowTo”函數,以便請求流的建立。該“FlowTo”調用的參數主要是源和宿的“FcmPlug”數據結構。如稍后將看到的那樣,這些數據結構依次包括被稱為“TargetID”的數據結構,被稱為“TargetID”的數據結構包括容納FCM-或者它們的代理的設備的GUID。
如圖2所示,流管理器103將通過“Fcm∷GetDcmSeid”調用,從FCM 22”中請求關聯DCM的SEID標識符。代理FCM 22”不將該請求轉發到實際FCM 22,由于應答將會是DCM 21的SEID。代理FCM 22”通過往回提供DCM 21”的SEID(這里為SEID(7,10)),對該請求作出響應。該調用還將被發送到FCM 82,FCM 82將發送回DCM 82的SEID。
因此,入口7在代理FCM級處截獲“Fcm∷GetDcmSeid”調用。入口7不會將其直接轉發到實際FCM。如稍后將會看到的那樣,考慮到在FCM 82和FCM 22之間建立流,將由流管理器103在FCM 82和代理FCM 22”之間建立總線C上的流。如果作為對“Fcm∷GetDcmSeid”函數調用的應答已經返回了實際DCM 21的SEID,則在另一群集上的流管理器103在任何情況下將不能對其進行處理。因此,由相應的代理截獲用于返回由調用軟件元素使用的標識符的如“Fcm∷GetDcmSeid”等函數調用,并且實際軟件元素的標識符由其代理的標識符替代。
HAVi惟一標識符(HUID)用來惟一地標識DCM、FCM或者應用程序模塊。HUID標識符包括TargetID(由橋接器進行修改)和許多其他標識符“InterfaceId”、“VendorId”、“n1Uniqueness”、“n2Assigner”。代理的“InterfaceId”和“VendorId”與由代理表示的原始設備或功能組件中所表示的相同。將“n1Uniqueness”設置為“真”,而將“n2Assigner”設置為針對DCM的“無”以及針對FCM的“無”或者DCM。
由于與由代理表示的設備的HUID或者TargetId相比,代理的HUID或者TargetId由橋接器改變,除了Fcm∷GetDcmSeid消息之外,不應該轉發以下的消息,而應該由橋接器應答Dcm∷GetHuidDcm∷GetFcmSeidListFcm∷GetHuid如圖3所示,為了建立設備內的內部連接,流管理器103對DCM 21”和DCM 81進行“Dcm∷Connect”調用。DCM 81將建立在記錄子單元和總線連接之間的BAV VCR中的內部連接。DCM 21”將向流管理器53轉發該請求,該流管理器53是其橋接器的另一入口的流管理器,由于其知道必須轉發到實際DCM的該類型的調用。實際上,“DCM∷Connect”函數指示DCM建立位于與DCM相同的群集上的設備的內部連接。
根據HAVi規范,預留“Dcm∷Connect”函數,以便只由流管理器使用,這是為什么根據本實施例,代理DCM 21”通過專用橋接軟件指示流管理器53執行該任務而不是自身直接進行該函數調用的原因。注意DCM 21”實際上是DCM 21’的代理,而不直接是DCM 21的代理。
流管理器53將對代理DCM 21’進行調用,代理DCM 21’將按照與剛才所述類似的方式向流管理器33轉發該調用,流管理器33最終對實際DCM 21進行調用。DCM 21將進行BAV調諧器1中的內部連接,如圖3所示。
DCM∷Connect調用包含調用軟件元素的SEID標識符,最初是流管理器103的SEID。每次流管理器轉發該DCM∷Connect調用時,流管理器用其自身的SEID來替代該調用者標識符。
DCM∷Connect調用是指示實際DCM 21執行任務的函數調用。由橋接器BC和橋接器AB將這種類型的消息轉發到實際DCM,注意,在將消息沿著其路徑傳送到目標軟件元素時,將與軟件元素標識(例如調用者SEID標識符)有關的所有相關參數修改為在群集上有效。換句話說,當橋接器從一個群集上的實體中接收到消息時,該橋接器不照原樣系統地轉發該消息,而是分析消息的特性,以確定是否允許進行轉發。如果允許轉發,則必須修改消息中的特定參數,以便符合新群集上的要求。如果不允許轉發——這是對與軟件元素的標識有關的信息進行識別的情況,則橋接器直接對調用者軟件元素作出響應,由于其已經擁有了針對該請求的有效響應。
現在,通過DCM,流管理器已經觸發了源和宿設備(根據本示例,這些設備是不容納這些DCM的設備)中所需內部連接的創建。
現在,流管理器103必須進行IEEE 1394連接。在圖4中示出了該處理。流管理器103將進行只針對總線C的該連接,雖然該連接將使人相信流管理器將進行整個網絡上的連接。流管理器103通過包括TargetId的以上所提到的FcmPlug數據結構,獲得包括GUID的源設備和宿設備的GUID。
FCM 22”的TargetId的GUID不是調諧器設備1的實際GUID,而是容納代理FCM 22”的設備的GUID(即,GUID 7),由于流管理器不能夠直接進行兩個橋接器上的IEEE 1394連接。因此,代理FCM 22”具有其自身的TargetId屬性該TargetId不是實際FCM 22的TargetId的副本。
根據HAVi,DCM和FCM被分配有類型。典型地,DCM或FCM能夠根據或不根據IEC 61883.1來對流進行處理。該標準定義了在IEEE 1394上的同步流的傳送。因此,DCM類型可以是DCM_61883(如果IEC 61883可兼容)或者DCM_NON61883。針對FCM,表示法相類似。此外,根據HAVi規范,TargetId在網絡中是惟一的,并且在每一個設備中,可以只存在一個DCM_61883型的DCM。
DCM 21”的類型——或另一代理DCM的類型不能為DCM_61883。實際上,由于如剛才所解釋的那樣,該DCM 21”的GUID與其主機設備的GUID(GUID 7)相同,因此,DCM 21”的TargetId將會與其自身的入口的DCM的TargetId相同(在圖中未示出該DCM)。
根據本實施例,可以將DCM(分別地FCM)聲明為與IEC 61883不兼容。在這種情況下,HAVi容許在TargetId中改變附加參數,從而能夠進行針對代理軟件元素的不同TargetId的創建。
另一方案將容許專用于代理元素的其他DCM和FCM類型(例如“DCM_PROXY”和“FCM_PROXY”類型),但是該方案將需要修改HAVi規范。
流管理器103構建設備7和設備9之間的IEEE 1394連接。一旦完成,流管理器103相信所述流已經被適當地建立,該流管理器在其群集上廣播ConnectionAdded事件。
流管理器73接收該ConnectionAdded事件。然后,該流管理器73調用在流管理器103的API上的StreamManager∷GetConnection函數,以便獲得與該流有關的更多信息(特別是源FcmPlug和宿FcmPlug)。然后,該流管理器可以將該信息轉發給其對等入口上的流管理器53。之后,流管理器53檢查在該連接上的源和宿,并由內部裝置推斷其必須構建FCM 22’和FCM 82’之間的IEEE 1394連接橋接設備持續知道代理和實際DCM/FCM之間的等價性,因而從由流管理器73提供的信息中知道IEEE 1394連接要被建立在哪些FCM之間。在該示例中,針對橋接設備BC,實際DCM是GUID 7側的DCM 81和GUID 5側的DCM 21’(雖然這是代理DCM,但是只要涉及到橋接器BC,其就被看作實際DCM),以及代理DCM是GUID 7側的DCM 21”和GUID 5側的DCM 81’。而且,其構建橋接設備內的內部連接。
當完成時,流管理器53在其HAVi群集上廣播新“ConnectionAdded”事件。該新事件不是由流管理器103廣播的事件的副本,由于必須由群集的變化而改變許多參數。
參考HAVi規范,表示創建了連接的流管理器的“ConnectionId”參數的“mgr”字段現在是流管理器53的SEID,并且在“Connection”結構中的字段必須根據該群集而改變(“Channel”不必相同,源和宿的“FcmPlug”數據結構不再是指FCM 22”和FCM 82,而是指FCM 22’和FCM 82’,“ConnectionId”參數已經改變,并且“owner”也已經改變)。
流管理器43接收事件,調用“StreamManager∷GetConnection”函數來獲得與連接有關的信息,并將其轉發給鄰近的流管理器33,該流管理器33推斷其必須進行DCM 21和DCM 82”之間的IEEE 1394連接(與上述相同的處理)以及橋接器AB內的內部連接。流管理器43最終在群集A上廣播新的“ConnectionAdded”事件。
注意,在圖4上,首字母縮寫詞“CMP”代表“連接管理過程”。該過程是IEC 61883.1的一部分,并且在圖4上標記CMP的箭頭對應于在IEEE 1394總線上發送的用于資源預留的消息。
如從前面的段落中可以看到的那樣,事件消息“ConnectionAdded”不被直接從一個橋接器側轉發到另一側。相反,該事件在一個群集上觸發造成事件消息的原因出現在另一個群集上的動作序列。換句話說,該動作序列從一個群集傳送到另一群集(如果流建立需要的話),一個群集上動作序列的完成對下一個群集上的序列進行觸發。
現在將描述如何結束或“丟棄”所述的流。
作為示例,具有GUID 6的設備上的應用程序確定丟棄已經建立在FCM 22和82之間的流。
如果該應用程序預定在適當的時候接收“ConnectionAdded”事件,則該應用程序接收所述流的“ConnectionId”。否則,該應用程序預先執行“StreamManager∷GetGlobalConnectionMap”函數,由此,該應用程序知道連接的存在。
針對該特定連接的“ConnectionId”數據結構具有等于53的“mgr”字段,由于其已經由流管理器53建立在HAVi網絡的該群集上。
“ConnectionId”結構還包括標記為“seq”的字段,表示由流管理器53提供給該連接的序列號,并且出于本示例的目的,向該字段任意賦予數值“3”。該連接將被標識為連接(53,3)。
應用程序對保存所述流的流管理器(這里為流管理器53)進行“StreamManager∷GetConnection”函數調用,以便獲得與該連接有關的更多信息(例如源和宿)。
如圖5所示,應用程序利用由(53,3)標識的“ConnectionId”,對流管理器53進行“StreamManager∷Drop”調用。
然后,通常的流管理器將“Dcm∷Disconnect”消息發送到連接中所涉及的兩個DCM。根據本實施例,流管理器將這樣的消息只發送到它相信其不是代理的DCM。換句話說,如果流管理器(接收到“StreamManager∷Drop”消息的流管理器)駐留在橋接器中,則其只向其所駐留的橋接器所模擬的DCM發送“Dcm∷Disconnect”消息。只有針對這些DCM,流管理器知道這些DCM是否為代理。
如圖6所示,流管理器53向DCM 21’發送“Dcm∷Disconnect”消息,而不向DCM 82’發送該消息,由于該流管理器53可以通過橋接器的內部裝置知道該DCM是代理DCM。由代理DCM將由代理21’接收到的調用轉發到流管理器33,流管理器33將其轉發給DCM 21,并且關閉BAV調諧器1的內部連接。
流管理器53關閉在其群集上的IEEE 1394連接以及其橋接設備的內部連接。
最后,作為丟失“Dcm∷Disconnect”消息的替代,流管理器53將丟棄信息轉發給其對等入口的流管理器73。流管理器73推斷ConnectionId(53,3)實際上是指由流管理器103保存的連接Id(103,1),于是,向流管理器103發送“StreamManager∷Drop”調用。
流管理器103發起在其群集上的丟棄處理,即,流管理器103向DCM82發送“Dcm∷Disconnect”消息。DCM 82通過斷開BAV VCR 9的內部連接作出響應。由于流管理器103-不是橋接器流管理器—忽略了DCM21”是代理DCM,該流管理器103還向該代理發送“Dcm∷Disconnect”消息。不需要由代理DCM 21”發生動作,由于這已由總線B上的流管理器53處理。然后,流管理器103關閉在其群集上的IEEE 1394連接,并發送“ConnectionDropped”事件。
并行地,流管理器43從流管理器53接收“ConnectionDropped”事件。該流管理器43將其轉發給連同橋接器流管理器33。這一流管理器從ConnectionId(53,3)中推斷在其群集上的真正ConnectionId,然后發起丟棄處理,即,該流管理器關閉在群集A上的IEEE 1394連接,并在其群集上發送ConnectionDropped事件(這里未示出)。
雖然圖2到7的示例涉及點到點連接的建立和取消,所述處理可以容易地應用于廣播連接(播入和播出)以及重疊連接。
在每一個群集上分別進行總線重置后的連接的自動重新建立。
可以改變在示例中所述的動作順序。這里給出了本實施例的一些變體·在由該橋接器建立IEEE 1394連接的同時,即,不是當由代理DCM轉發第一Dcm∷Connect(見圖3)時,而是當橋接器的流管理器接收到ConnectionAdded事件時,可以進行由橋接器轉發的Dcm∷Connect調用。
·在由橋接器進行IEEE 1394斷開的同時,即,不是當由代理DCM轉發第一Dcm∷Disconnect(見圖6)時,而是當橋接器的流管理器接收到ConnectionDropped事件(見圖7)時,可以進行由橋接器轉發的Dcm∷Disconnect調用。
·當所述流的原始發起者(即流管理器103)在其群集上發送Dcm∷Disconnect消息時,并且由橋接器BC的代理DCM(例如21”)檢測到該DCM∷Disconnect消息時,可以執行由橋接器的流管理器(例如流管理器53)進行的Dcm∷Disconnect調用,而不是使流管理器的明顯的保存器來傳送該調用。
·可以將StreamManager∷Drop轉發給原始啟動器(流管理器103),而無需由中間橋接器采取行動。然后,原始啟動器發起斷開處理,然后,該處理的傳送與連接處理相似。
雖然已經在HAVi的幀中描述了本發明,但是許多特征可以應用于其他環境中。
每一個橋接器包括如在本領域中所公知的存儲器以及接口和處理電路(例如微處理器),用于執行所述方法。這些元素在附圖中并未示出。
權利要求
1.一種用于管理包括橋接設備(AB,分別地BC)的網絡的方法,所述橋接設備包括與第一HAVi群集(A,分別地B)相連的第一入口以及與第二群集(B,分別地C)相連的第二入口,其特征在于以下步驟由每一個入口利用代理DCM軟件元素和代理FCM軟件元素來表示在入口群集上存在的DCM軟件元素和FCM軟件元素,其中,利用基于包括軟件元素的入口的全局惟一標識符(GUID)的軟件元素標識符(SEID),表示在入口的群集上的每一個代理軟件元素;在所述橋接設備中維護代理軟件元素和由所述代理軟件元素所代表的軟件元素的軟件元素標識符之間的對應關系表,其中,代理FCM、分別地代理DCM軟件元素的TargetID數據結構包括包含有該代理FCM、分別地代理DCM軟件元素的入口的全局惟一標識符。
2.根據權利要求1所述的方法,其特征在于代理DCM或者FCM軟件元素的HUID數據結構包括包含有該代理DCM或者FCM軟件元素的入口的全局惟一標識符。
3.根據權利要求1或2所述的方法,其特征在于對代理FCM軟件元素所進行的Fcm∷GetDcmSeid函數調用返回包含代理FCM在內的代理DCM的軟件元素標識符。
4.根據權利要求1到3之一所述的方法,其特征在于對代理DCM軟件元素所進行的DCM∷GetFcmSeidList函數調用返回包含在代理DCM中的代理FCM的軟件元素標識符。
5.根據權利要求1到4之一所述的方法,其特征在于對代理FCM或DCM軟件元素所進行的Fcm∷GetHuid或Dcm∷GetHuid函數調用返回由橋接器提供的相應代理HUID。
6.根據權利要求1到5之一所述的方法,其特征在于包括以下步驟使橋接器向DCM軟件元素轉發用于請求的函數調用,以便進行從在其上由代理DCM表示DCM軟件元素的原始群集到目的地群集的內部連接,其中,橋接器利用所述對應關系表,將在包括在所述函數調用中的原始群集上有效的軟件元素標識符改變為在目的地群集上有效的軟件元素標識符。
7.根據權利要求1到6之一所述的方法,其特征在于代理DCM和代理FCM分別被聲明為DCM_NON61883和FCM_NON61883。
8.根據權利要求1到7之一所述的方法,其特征在于由流管理器軟件元素進行的流的建立包括以下步驟—向第一群集(C)上的流管理器(103)發送StreamManager∷FlowTo函數調用,其中所述函數調用請求建立位于第一群集(C)的第一FCM軟件元素(82)和位于另一群集(A)上的第二FCM軟件元素(22)之間的連接;—使流管理器軟件元素建立第一FCM軟件元素(82)和第二FCM軟件元素(22)的代理FCM(22”)之間的連接;—指示作為橋接器(BC)的一部分的第二流管理器(53)建立表示第一FCM軟件元素的代理FCM軟件元素(FCM 82’)和第二軟件元素(22)或其代理(22’)之間的第二群集(B)上的連接。
9.根據權利要求8所述的方法,其特征在于通過由橋接器(BC)接收表示已完成由第一流管理器(103)進行的連接的第一群集上的消息,觸發第二流管理器(53)的指令。
10.根據權利要求6和8所述的方法,其特征在于通過由橋接器(BC)接收表示已完成由第一流管理器(103)進行的連接的第一群集上的消息,觸發由橋接器轉發針對DCM軟件元素內部連接的函數調用。
11.根據權利要求8到10之一所述的方法,其特征在于由ConnectionAdded事件表示在群集上連接建立的完成,該事件不從一個群集轉發給另一群集。
12.根據權利要求8到11之一所述的方法,其特征在于包括以下步驟—向一個群集(B)的第三流管理器(53)發送用于丟棄通過橋接器而進行的連接的消息,其中,第三流管理器(53)已經預先被標識為保持要丟棄的連接;—使第三流管理器(53)丟棄在其本地群集上所進行的相應連接;—使橋接器利用其對應關系表來更新原始丟棄消息中的連接標識符;—使橋接器(BC)向另一群集(C)上的第四流管理器轉發丟棄消息,其中,已經通過更新識別了所述流管理器。
13.根據權利要求8到11之一所述的方法,其特征在于包括以下步驟—從一個群集向入口中的第三流管理器(53)發送用于丟棄通過橋接器而進行的連接的消息,其中,第三流管理器(53)已經預先被標識為保持要丟棄的連接;—使橋接器利用其對應關系表來更新原始丟棄消息中的連接標識符;—使橋接器(BC)向另一群集(C)上的第四流管理器轉發丟棄消息,其中,已經通過更新識別了所述流管理器;—使第四流管理器觸發兩個群集上的連接的丟棄。
14.一種使第一設備群集與第二設備群集相連的橋接設備(AB,BC),所述設備包括用于與第一群集連接的第一入口(3,5)和用于與第二群集(4,7)連接的第二入口,橋接器適合于通過在另一群集上可見的代理元素(21’,21”,22’,22”,81’,81”,82’,82”)來表示在群集上的元素(21,22,81,82),其特征在于所述橋接器還包括用于產生描述代理元素的數據結構的裝置,其中,所述數據結構包括用于替代由代理元素表示的原始元素的原始數據結構的標識符的橋接器或者入口的至少一個標識符。
15.根據權利要求14所述的設備,其特征在于所述設備還包括用于分析對尋址于第二群集的元素的、從第一群集上的元素接收到的數據結構而進行的請求的裝置,第二群集的所述元素由第一群集上的代理元素表示,并且用于有選擇地向第二群集的元素轉發請求,或者代替第二群集的元素對請求作出響應,有選擇地轉發或響應對所請求的數據結構中存在的元素標識符類型作出回應。
16.根據權利要求14或15所述的設備,其特征在于還包括裝置(33,43,53,73),用于檢測與一個群集連接的設備元素和在所述一個群集上可見的代理元素之間的新連接,并響應該檢測,觸發在去往由代理元素表示的元素的路徑上的另一群集上的連接的建立。
全文摘要
本發明涉及一種用于管理包括橋接設備的網絡的方法,所述橋接設備包括與第一HAVi群集相連的第一入口以及與第二群集相連的第二入口。所述方法包括以下步驟由每一個入口利用代理DCM軟件元素和代理FCM軟件元素來表示在入口群集上存在的DCM軟件元素和FCM軟件元素,其中,利用基于包括軟件元素的入口的全局惟一標識符的軟件元素標識符,表示在入口的群集上的每一個代理軟件元素;在所述橋接設備中維護代理軟件元素和由所述代理軟件元素所代表的軟件元素的軟件元素標識符之間的對應關系表,其中,代理FCM、分別地代理DCM軟件元素的TargetID數據結構包括包含有該代理FCM、分別地代理DCM軟件元素的入口的全局惟一標識符。
文檔編號H04L29/06GK1545782SQ02816466
公開日2004年11月10日 申請日期2002年8月20日 優先權日2001年8月22日
發明者讓-巴蒂斯特·亨利, 讓-巴蒂斯特 亨利 申請人:湯姆森許可貿易公司