專利名稱:一種基于IEEE1394與UPnP技術的遠程控制和訪問方法及裝置的制作方法
技術領域:
本發明涉及ー種遠程控制與訪問技術,具體涉及通過橋接IEEE1394設備與UPnP(Universal Plug and Play,通用即插即用)設備,實現遠程控制和訪問的方法及裝置。
背景技術:
IEEE 1394 是 1995 年 12 月由 IEEE (Institute of Electronic and ElectricalEngineers)制定的ー種高性能串行總線標準,又名火線(Fire Wire) 。同時支持等時和異步兩種傳輸模式。對等時傳輸的支持,可以保證在規定的時間內完成規定數據量的傳輸。低于I微秒的時間延遲非常有利于圖像、聲音等對時間延遲比較敏感的數據的傳輸。而異步請求-響應方式可重試的傳輸可用于對傳輸正確性要求較高的數據的傳輸。采用基于CSR(Control and Status Register,控制和狀態寄存器)的64位尋■址方式,節點間采用內存至內存的傳遞,無需軟件傳輸開銷,優化了帶寬利用。1394總線網絡是ー個對等網絡,各節點可以脫離主機執行事務,實現分布式控制,適合實時多任務系統。采用ー個1394網絡,便可以實現所有數據、圖形、圖像、話音、視頻、遙測和控制等信息的傳輸。1394技術廣泛的應用在家庭網絡中,并且由于其以上的優點甚至被認為是將來在航天和軍事領域載荷網絡總線。但是1394網絡傳輸距離比較短,普通電纜的傳輸距離為4. 5米,采用光纖也只能達到100米。對1394網絡與IP網絡想結合,實現對1394網絡的遠程訪問與控制就非常值得研究且是實用的技木。以IP協議為基礎的UPnP技術是ー種基于C/S (Client Service客戶端服務器)結構的服務發現網絡。UPnP技術擴展了傳統單機的設備和計算機系統的概念,在基于分布式、開放的網絡結構上,提供了聯網設備之間的發現、接ロ聲明和其它信息的交換等互動操作功能。它主要用于實現設備的智能互連互通,它被設計為透明網絡和可自動發現任何供應商提供的UPnP智能設備,支持零配置。如果將UPnP網絡和IEEE1394網絡相結合,將會對1394設備進行遠程控制和訪問變得非常簡單。UPnP協議是基于HTTP (Hyper TextTransfer Protocol,超文本傳送協議)和IP的協議,底層的協議基礎是TCP/UDP協議,而1394設備通過1394協議組成網絡。在應用中,需要實現UPnP設備對非UPnP設備(1394設備)的訪問,這就需要IEEE1394橋來實現UPnP協議和IEEE1394協議之間的互聯,使得UPnP設備和1394設備進行無縫連接。該橋必須解決的幾個問題1) IEEE1394設備的尋址,這是對其進行訪問的基礎。同一個1394設備的通信地址會在1394網絡發生復位時發生變化;2)協議的轉換,UPnP協議的實現依賴幾種協議,比如SSDP(Simple Service DiscoveryProtocol,簡單服務發現協議),SOAP (Simple Object Access Protocol,簡單對象訪問協議)和 GENA (Generic Event Notification Architecture,普通用事件通知體系)協議,這就需要將這些協議轉化為1394的等時事務或異步事務,反之將1394的等時事務和異步事務轉化為SSDP,SOAP和GENA協議。3) 1394協議和基于IP的UPnP協議在帶寬,傳輸速率,包長度,包發送速率等方面都不同。例如1394b能達到的傳輸速率100Mbps,200Mbps,400Mbps, 800Mbps, I. 6Gbps,而一般的 Internet 傳輸速率為 1Mbps, 2Mbps, 10Mbps。1394傳輸數據時,數據包長比較短,數據包傳輸速率快,而IP數據包包長較長,傳輸速率慢。4)IEEE1394網絡在傳輸大量數據時,比如視頻數據,采用的是等時傳輸方式,這種服務方式是有QoS (Quality of Service,服務質量)保障的,一旦等時傳輸獲得了總線帶寬,那么信道就在每個125us周期內收到保證的時間包。每個總線周期最多有80%可分配給等時通道。而IP協議是ー種盡力而為的協議,它不提供QoS保證,于是這個橋需要提供應用層QoS來保證UPnP端視頻傳輸質量。也就是說,在采用IEEE1394橋來實現UPnP協議和IEEE1394協議之間的互聯時,存在IEEE1394網絡和UPnP網絡在傳輸視頻流時的QoS不匹配問題。現有的橋接技術,如參考文件I (《IEEE1394/UPnP軟件橋分析及應用》,冷雪峰,蘇紹景,2006 年 I 月 8 日)及參考文件 2 (《IEEE1394software bridge)), Donghee Kim, JunHee Park等,2005年2月I日)中,并沒有提供IEEE1394設備的具體尋址方式,而在軟件橋中1394設備的尋址對于UPnP控制點的正確訪問非常重要;也沒有提供具體的數據處理方法,比如解決兩種協議在傳輸過程中的協議轉換和速率匹配等問題。現有的橋接技術也沒 有對UPnP/1394橋設備做節點地址調度,這樣在接受遠程控制訪問時會造成地址浪費以及出現數據傳輸錯誤等問題,也沒有考慮到兩者總線在進行視頻傳輸時的QoS保證協議。
發明內容
本發明所要解決的技術問題是當IEEE1394總線作為現場總線時,具體如何實現對1394網絡的遠程控制和訪問,包括如何解決1394設備的尋址、在傳輸過程中的協議轉換和速率匹配、節點內存空間的自動調度以及進行實時數據傳輸時的QoS保證等問題。本發明利用UPnP協議支持零配置,自動設備發現和服務發現的特點,將UPnP技術和1394技術相結合,提出一種基于IEEE1394與UPnP技術的遠程控制和訪問方法及裝置。本發明為基于IEEE1394與UPnP技術的遠程控制和訪問裝置,也稱為UPnP/1394軟件橋,包括UPnP堆棧層模塊、1394通信層模塊和UPnP over 1394層模塊。UPnP堆棧層模塊實現了 UPnP協議中的SSDP協議、GENA協議和SOAP協議。UPnP over 1394層模塊實現UPnP協議與1394協議之間的轉換,包括七個模塊服務描述模塊、數據庫模塊、ARP模塊、IP over 1394模塊、緩沖區控制模塊、UPnP/1394軟件橋內存管理模塊和QoS控制模塊;UPnP/1394軟件橋內存管理模塊用于對UPnP/1394軟件橋的內存地址進行調度管理,維護了 UPnP/1394軟件橋的地址管理表;ARP模塊用于地址尋址,將各1394設備的節點ID和唯一標示符保存在1394設備地址表中;服務描述模塊用于將IEEE1394網絡中的1394設備提供的服務進行描述,具體服務可以抽象為節點服務和代理服務,節點服務包括設置傳輸速率、獲得可用帶寬、控制總線復位、發送物理層數據包、獲得總線管理器、設置時間碼、獲得總線節點數、以及開啟/關閉端ロ,代理服務包括訪問1394設備內部文件、獲得1394傳感器數據、以及獲取1394視頻采集設備的視頻數據;IP over 1394模塊進行協議的轉化,將UPnP的控制信息轉化為1394的控制信息。緩沖區控制模塊用于控制等時數據流的傳輸,建立了一個緩沖池及一個緩沖區處理線程,緩沖池中包含四個緩沖區,每個緩沖區的大小為一幀數據的大小,1394通信層模塊接收等時通道上的數據填充緩沖區,當一個緩沖區被填滿,則發送ー個信號給緩沖區處理線程,將填滿的緩沖區交給UPnP over 1394層模塊。QoS控制模塊用于保證等時數據傳輸的服務質量;數據庫模塊用于存儲各數據表的數據,包括UPnP/1394軟件橋的地址管理表,1394設備地址表,SOAP狀態信息表,所述的SOAP狀態信息表,記錄了 UPnP控制點的SOAP請求信息的處理狀態,包括=UPnP控制點的IP地址、服務操作、目的1394設備的唯一標識符、處理狀態、參數名稱和參數類型;處理狀態總共由四種,分別為確認請求、請求中、超時和完成。1394通信層模塊用于接收UPnP over 1394層模塊的信息并發送給1394網絡,或是接收1394網絡的信息并轉發給UPnP over 1394層模塊。一種應用本發明上述裝置的基于IEEE1394與UPnP技術的遠程控制和訪問方法,具體包括如下步驟步驟I :當1394設備上有節點的插入或移除或者UPnP控制點發出了總線復位信息時,發生總線復位,總線復位后,初始化UPnP/1394軟件橋的地址管理表;步驟2 :設備尋址,包括UPnP/1394軟件橋的尋址和1394設備的尋址;1394設備的尋址通過下面過程實現UPnP/1394軟件橋向1394網絡廣播ARP請求報文,請求獲取各1394設備的惟一標識符,各1394設備發回ARP應答報文,UPnP/1394軟件橋在收到ARP應·答報文后,獲得各1394設備的惟一標識符和節點ID號,并保存到1394設備地址表中;步驟3 :設備發現,包括如下子步驟步驟3. I UPnP/1394軟件橋向1394設備發送服務描述文檔請求信息,生成1394設備的服務描述文檔;所述的UPnP/1394軟件橋實現了節點服務和代理服務;節點服務包括設置傳輸速率,獲得可用帶寬,控制總線復位,發送物理層數據包,獲得總線管理器,設置時間碼,獲得總線節點數,以及開啟/關閉端ロ ;代理服務包括訪問1394設備內部文件,獲得1394傳感器數據,獲取1394視頻采集設備的視頻數據;步驟3. 2 UPnP/1394軟件橋獲取服務描述文檔后,通過SSDP通知信息對UPnP網絡中的UPnP控制點公布1394設備的服務;步驟4 =UPnP控制點對1394設備進行控制和訪問,包括如下步驟步驟4. I :當UPnP控制節點對1394設備的服務比較感興趣時,發送SOAP請求信息給UPnP/1394軟件橋,請求1394網絡設備中的服務;步驟4. 2 UPnP/1394軟件橋在接收到SOAP請求信息后,將SOAP請求信息記錄在SOAP狀態信息表中,并對接收到的SOAP請求信息進行解析,通過1394設備地址表查找到目的1394設備的節點ID,通過UPnP/1394軟件橋內存管理模塊及其維護的地址管理表,在UPnP/1394軟件橋中分配唯一的地址空間范圍給該操作,既在該地址范圍內等待接收該操作的目的1394設備返回的數據;然后將解析的SOAP請求信息封裝為符合1394協議的數據包發送給1394網絡的目的1394設備;在此過程中,更新SOAP狀態信息表中對應SOAP請求的處理狀態;步驟4. 3 :在目的1394設備完成所請求的操作后,返回數據給UPnP/1394軟件橋,更新SOAP狀態信息表中對應SOAP請求的處理狀態;步驟4. 4 :UPnP/1394軟件橋將1394設備返回的數據進行SOAP封裝后返回給UPnP控制點,并更新SOAP狀態信息表中對應SOAP請求信息的處理狀態。本發明的優點與積極效果在于(I)本發明的裝置通過UPnP over 1394層模塊,實現了 IEEE1394設備和UPnP設備之間的互聯,使得兩種協議上的設備能進行無縫連接。(2)本發明的裝置和方法對UPnP/1394軟件橋的內存地址進行了調度管理,防止了橋設備地址浪費和可能出現的數據傳輸錯誤。(3)本發明的裝置和方法采用1394ARP協議獲取1394網絡的統ー資源標識符(UEI-64),建立了 1394設備地址表,保存1394設備的64位唯一地址標識符(ΕΠ-64)和異步通信地址節點ID的之間的映射關系,對外公布的服務地址為ΕΠ-64,這樣當發生總線復位或網絡故障恢復吋,從UPnP控制點發出的控制信息中解析出目的1394設備的EUI-64,通過查找1394設備地址表,能夠方便地找到對應的1394設備的節點ID,不需要重新公布1394設備新的ID地址。(4)本發明的裝置和方法中設置了 SOAP狀態信息表,保存了 UPnP控制點和1394設備的控制狀態,當在控制執行過程中整個1394網絡發生復位或是網絡故障恢復時,可以讀取狀態信息并完成未完成的操作,使得操作能夠迅速恢復。
(5)本發明的裝置和方法采用H264解決UPnP網絡和IEEE1394的傳輸速率不匹配問題,并通過RTP的發送端和接收端報告,預測網絡帶寬,控制H264的起始幀量化參數,使輸出碼流適應網絡帶寬,解決IEEE1394網絡和UPnP網絡在傳輸視頻流時的QoS不匹配問題。
圖I是本發明的遠程控制和訪問裝置的應用場景示意圖;圖2是本發明提供的遠程控制和訪問裝置的整體結構示意圖;圖3是UPnP/1394軟件橋提供的節點服務框圖;圖4是UPnP/1394軟件橋提供的代理服務框圖;圖5是UPnP/1394軟件橋控制處理數據的流程圖;圖6是等時數據流傳輸的示意圖;圖7是保證QoS的等時數據流傳輸的示意圖;圖8是本發明的遠程控制和訪問方法的整體信號流示意圖;圖9是本發明的地址調度管理的流程示意圖。
具體實施例方式下面將結合附圖和實施例對本發明作進ー步的詳細說明。如圖I所示,為本發明的遠程控制和訪問裝置所應用的整個網絡的拓撲結構,整個通信系統由基于以太網的UPnP網絡、基于IEEE1394的1394網絡、以及本發明的裝置組成。本發明的遠程控制和訪問裝置也稱為UPnP/1394軟件橋。在由1394網絡組成的通信系統中,UPnP/1394軟件橋實現了把1394設備連接到UPnP控制點上的功能,這樣UPnP控制點就可以非常方便地通過UPnP/1394軟件橋對1394網絡進行控制,以及訪問其1394設備提供的服務。UPnP/1394軟件橋支持四個先后基本的過程1394設備地址管理,設備尋址,設備發現、控制和事件處理過程。在設備發現過程中,UPnP/1394軟件橋必須將1394設備情況向UPnP網絡進行廣播,保證1394設備連接上計算機或網絡吋,UPnP控制點可以發現新的1394設備。為此,UPnP/1394軟件橋必須知道連接的是哪種類型的設備,井能對新接入的設備進行設備和服務的描述。如圖2所示,本發明提供的遠程控制和訪問裝置包括三個協議棧層模塊,分別為UPnP堆棧層模塊,UPnP over 1394層模塊以及1394通信層模塊。UPnP堆棧層模塊實現了 UPnP協議中的SSDP簡單訪問協議,GENA協議和SOAP協議,使得UPnP控制點能夠發現1394設備,查找1394設備,以及接收UPnP控制點的控制信息,是和UPnP網絡的外部接ロ,此外,UPnP堆棧層模塊中還提供了用戶接ロ、迷你服務器、XML解析模塊和HTTP解析模塊。UPnP over 1394層模塊主要實現的是UPnP協議與1394協議之間的轉換,以及解決兩種協議之間的傳輸速率不匹配,帶寬不匹配,包發送速率不匹配等問題,包括七 個模塊,分別是服務描述模塊,數據庫模塊,ARP模塊,IP over 1394模塊,緩沖區控制模塊,UPnP/1394軟件橋內存管理模塊和QoS控制模塊。UPnP/1394軟件橋內存管理模塊用于對各UPnP/1394軟件橋的內存地址進行調度管理,維護了 UPnP/1394軟件橋的地址管理表。UPnP/1394軟件橋的地址管理表,是ー個將遠程控制操作和UPnP/1394軟件橋用于接收遠程控制操作所對應的返回數據的內存地址進行映射的數據表,對于1394設備內部的寄存器空間,采用16進制表示的48位地址范圍是(FFFFF0000000-FFFFFFFFFFFF),對于1394/UPnP軟件橋的內存空間,采用16進制表示的48位地址范圍為(000000000000-FFFFDFFFFFFF),表I給出了一個該表的示例,UPnP/1394軟件橋內存管理模塊通過內存映射表對該48位地址進行合理的分配,保證某段內存空間的獨占和防止內存碎片的形成。ARP模塊用于地址尋址,將各1394設備的的節點ID和唯一標示符(ΕΠ-64)保存在1394設備地址表中,表5給出了 1394設備地址表的示例,該表中記錄各1394設備的信息,包括節點ID、最大有效數據長度、最大傳輸速度和硬件地址;所述的硬件地址是指1394設備的唯一標示符。服務描述模塊用于將IEEE1394網絡中的1394設備提供的服務進行描述,服務包括節點服務和代理服務,如圖3所示,節點服務包括設置傳輸速率、獲得可用帶寬、控制總線復位、發送物理層數據包、獲得總線管理器、設置時間碼、獲得總線節點數、以及開啟/關閉端ロ。如圖4所示,代理服務包括訪問1394設備內部文件、獲得1394傳感器數據、以及獲取1394視頻采集設備的視頻數據。IP over 1394模塊進行協議的轉化,將UPnP的控制信息轉化為1394的控制信息。緩沖區控制模塊用于控制等時數據的傳輸,建立了一個緩沖池及一個緩沖區處理線程,緩沖池中包含四個緩沖區,每 個緩沖區的大小為ー幀數據的大小,1394通信層模塊接收等時通道上的數據填充緩沖區,當一個緩沖區被填滿,則發送ー個信號給緩沖區處理線程,將填滿的緩沖區交給UPnP over1394層模塊。QoS控制模塊用于保證等時數據的傳輸的QoS。數據庫模塊用于存儲各數據 表的數據,包括UPnP/1394軟件橋的地址管理表,1394設備地址表,SOAP狀態信息表。所述的SOAP狀態信息表,記錄了 UPnP控制點的SOAP請求信息的處理狀態,包括=UPnP控制點的IP地址、服務操作、目的1394設備的唯一標識符、處理狀態、參數名稱和參數類型;處理狀態總共由四種,分別為確認請求、請求中、超時和完成。1394通信層模塊,主要是和UPnP over 1394層模塊進行通信,接收UPnP over1394層模塊的信息發送給1394網絡或是接收1394網絡的信息轉發給UPnP over 1394層模塊,包括1394API模塊、串行總線管理器、應用層、1394硬件驅動層、1394鏈路層和1394
物理層。
本發明的一種基于IEEE1394與UPnP技術的遠程控制和訪問方法,如圖8所示,具備包括如下步驟
步驟I :當1394設備上有節點的插入或移除或是UPnP控制點發出了總線復位信息時,本發明的遠程控制和訪問裝置(UPnP/1394軟件橋)接收到總線復位信號,執行下一步驟。發生總線復位吋,1394設備的節點標識(節點ID)會發生變化,這個時候初始化1394設備的地址管理表。本步驟對應圖8中的SI,SlO0在IEEE1394通信模型中,一般的數據請求信息和控制信息都是通過異步傳輸方式完成的。這種傳輸方式采用了 64位地址空間到地址空間的映射。具體來說就是通過ID號找到通信的目的主機,而通過余下的48位找到節點內部的數據傳輸地址。其中有ー些固定的地址是指其內部的寄存器地址,不能應用于節點之間數據傳輸地址。為了防止地址浪費和有可能出現的數據傳輸錯誤,必須對地址進行統一有效的管理。本發明采用UPnP/1394軟件橋內存管理模塊來實現對地址的統一有效的管理,具體方法是首先建立一個將遠程控制操作和UPnP/1394軟件橋用于接收遠程控制操作所對應的返回數據的內存地址進行映射的數據表。如表I所示,在該表中的1394設備地址分為兩類,ー類是寄存器空間,48位的地址范圍是FFFFF0000000-FFFFFFFFFFFF (用16進制表示的48位地址空間),例如,獲得1394總線上的循環開始寄存器(Get_CyCle_Time)的值,必須向循環控制器的節點地址為FFFF FFFF F00002000進行數據的讀寫。另外ー種1394設備地址是存儲空間,其地址范圍為000000000000-FFFFDFFFFFFF,UPnP/1394軟件橋需在這個地址空間內進行數據的讀寫。為了實現遠程控制與訪問,對這類地址就需要UPnP/1394軟件橋內存管理模塊進行合理的調度和利用。UPnP/1394軟件橋內存管理模塊通過地址管理表對該48位地址進行合理的分配,保證某段內存空間的獨占和防止內存碎片的形成。其流程如圖9所示,包括如下步驟步驟I. 1,UPnP/1394軟件橋發送寫請求給1394設備;‘步驟I. 2,1394設備返回寫響應信息,該信息中包含請求信息地址長度;步驟I. 3,UPnP/1394軟件橋根據地址管理表對節點地址空間進行調度計算,并且分配合理的內存空間給本次操作步驟I. 4,UPnP/1394軟件橋發送數據傳輸信息,在上面分配的地址空間內等待數據的接收;步驟I. 5,開始數據傳輸;步驟I. 6,數據傳輸完畢更新節點地址管理表。以請求某個1394設備的文件(LoadFile)操作為例,軟件橋接收到UPnP控制點的LoadFile信息時,則準備進行文件數據的獲取。在IEEE1394網絡中進行文件傳輸時,采用數據塊讀寫的方式進行,既需要在節點存儲空間內分配連續的地址接收數據。比如此時遍歷軟件橋的1394設備的地址管理表,發現了獲得遠程數據(Get Remote Data)操作,使用的地址空間為(FFFF 0FFFF000, FFFF 0FFFFFFF),那么為LoadFile分配的地址空間則為(FFFF 10000000, FFFF 10002000),當操作完成以后,需將地址空間釋放,其他的操作可以在該層內完成。此時如果有其他的操作,比如同時還需要獲取其他的文件數據,則必須在新的地址空間內進行傳輸,而不能出現地址復用情況,若出現地址復用情況,必將導致數據的傳輸錯誤,導致此次遠程訪問出錯。表IUPnP/1394軟件橋的地址管理表
權利要求
1.一種基于IEEE1394與UPnP技術的遠程控制和訪問裝置,也稱為UPnP/1394軟件橋,包括UPnP堆棧層模塊和1394通信層模塊,UPnP堆棧層模塊實現了 UPnP協議中的SSDP協議、GENA協議和SOAP協議,其特征在于,該裝置還包括UPnP over 1394層模塊;所述的UPnP over 1394層模塊實現UPnP協議與1394協議之間的轉換,包括七個模塊服務描述模塊、數據庫模塊、ARP模塊、IP over 1394模塊、緩沖區控制模塊、UPnP/1394軟件橋內存管理模塊和QoS控制模塊;1394通信層模塊用于接收UPnP over 1394層模塊的信息并發送給1394網絡,或是接收1394網絡的信息并轉發給UPnP over 1394層模塊; UPnP/1394軟件橋內存管理模塊用于對UPnP/1394橋設備的內存地址進行調度管理,通過維護UPnP/1394軟件橋的地址管理表完成調度;ARP模塊用于地址尋址,將各1394設備的節點ID和唯一標示符保存在1394設備地址表中;服務描述模塊用于將IEEE1394網絡中的1394設備提供的服務進行描述,服務包括節點服務和代理服務,節點服務包括設置傳輸速率、獲得可用帶寬、控制總線復位、發送物理層數據包、獲得總線管理器、設置時間碼、獲得總線節點數、以及開啟/關閉端口,代理服務包括訪問1394設備內部文件、獲得1394傳感器數據、以及獲取1394視頻采集設備的視頻數據;IP over 1394模塊進行協議的轉化,將UPnP的控制信息進行解析得到目的1394設備的唯一地址標識符和節點內存地址,并通過1394設備內存管理模塊得到返回數據的接收地址,然后調用1394通信層模塊,發送給目的1394設備;緩沖區控制模塊用于控制等時數據流的傳輸,建立了一個緩沖池及一個緩沖區處理線程,緩沖池中包含四個緩沖區,每個緩沖區的大小為一幀數據的大小,1394通信層模塊接收等時通道上的數據填充緩沖區,當一個緩沖區被填滿,則發送一個信號給緩沖區處理線程,將填滿的緩沖區交給UPnP over 1394層模塊;QoS控制模塊用于保證等時數據流傳輸的服務質量;數據庫模塊用于存儲各數據表的數據,包括UPnP/1394軟件橋的地址管理表,1394設備地址表,SOAP狀態信息表; 所述的SOAP狀態信息表,記錄了 UPnP控制點的SOAP請求信息的處理狀態,包括=UPnP控制點的IP地址、服務操作、目的1394設備的唯一標識符、處理狀態、參數名稱和參數類型;處理狀態總共由四種,分別為確認請求、請求中、超時和完成; 其中,UPnP表示通用即插即用,SSDP協議表示簡單服務發現協議,GENA協議表示普通用事件通知體系協議,SOAP協議表示簡單對象訪問協議,ARP表示地址解析協議,QoS表示服務質量。
2.根據權利要求I所述的遠程控制和訪問裝置,其特征在于,所述的UPnP/1394軟件橋的地址管理表,是一個將遠程控制操作和UPnP/1394軟件橋用于接收遠程控制操作所對應的返回數據的內存地址進行映射的數據表,對于UPnP/1394軟件橋的寄存器空間,采用16進制表示的48位地址范圍是(FFFFF0000000-FFFFFFFFFFFF),對于UPnP/1394軟件橋的內存空間,采用16進制表示的48位地址范圍為(000000000000-FFFFDFFFFFFF),UPnP/1394軟件橋內存管理模塊通過內存映射表對該48位地址進行合理的分配,保證某段內存空間的獨占和防止內存碎片的形成。
3.根據權利要求I所述的遠程控制和訪問裝置,其特征在于,所述的1394設備地址表,用于記錄各1394設備的信息,包括節點ID、最大有效數據長度、最大傳輸速度和硬件地址;所述的硬件地址是指1394設備的唯一標示符。
4.一種應用權利要求I所述的遠程控制和訪問裝置的基于IEEE1394與UPnP技術的遠程控制和訪問方法,其特征在于,包括如下步驟 步驟I :當1394設備上有節點的插入或移除或是UPnP控制點發出了總線復位信息時,發生總線復位,總線復位后,初始化UPnP/1394軟件橋的地址管理表;UPnP表示通用即插即用; 步驟2 :設備尋址,包括UPnP/1394軟件橋的尋址和1394設備的尋址;1394設備的尋址通過下面過程實現UPnP/1394軟件橋向1394網絡廣播ARP請求報文,請求獲取各1394設備的惟一標識符,各1394設備發回ARP應答報文,UPnP/1394軟件橋在收到ARP應答報文后,獲得各1394設備的惟一標識符和節點ID號,并保存到1394設備地址表中;ARP表示地址解析協議; 步驟3 :設備發現,包括如下子步驟 步驟3. I UPnP/1394軟件橋向1394設備發送服務描述文檔請求信息,生成1394設備的服務描述文檔;所述的UPnP/1394軟件橋實現了節點服務和代理服務;節點服務包括設置傳輸速率,獲得可用帶寬,控制總線復位,發送物理層數據包,獲得總線管理器,設置時間碼,獲得總線節點數,以及開啟/關閉端口 ;代理服務包括訪問1394設備內部文件,獲得1394傳感器數據,獲取1394視頻采集設備的視頻數據; 步驟3. 2 UPnP/1394軟件橋完成服務描述文檔后,通過SSDP通知信息對UPnP網絡中的UPnP控制點公布1394設備的服務;SSDP表示簡單服務發現協議; 步驟4 =UPnP控制點對1394設備進行控制和訪問,具體包括如下子步驟 步驟4. I :當UPnP控制節點對1394設備的服務比較感興趣時,發送SOAP請求信息給UPnP/1394軟件橋,請求1394網絡設備中的服務; 步驟4. 2 UPnP/1394軟件橋在接收到SOAP請求信息后,將SOAP請求信息記錄在SOAP狀態信息表中,并對接收到的SOAP請求信息進行解析,通過1394設備地址表查找到目的1394設備的節點ID,通過UPnP/1394軟件橋內存管理模塊及其維護的地址管理表,在1394/UPnP軟件橋中分配唯一的地址空間范圍給該操作,在該地址空間范圍內等待接收目的1394設備的返回數據,然后將解析的SOAP請求信息封裝為符合1394協議的數據包發送給1394網絡的目的1394設備;在此過程中,更新SOAP狀態信息表中對應SOAP請求的處理狀態;S0AP協議表示簡單對象訪問協議; 步驟4. 3 :在目的1394設備完成所請求的操作后,返回數據給UPnP/1394軟件橋,更新SOAP狀態信息表中對應SOAP請求的處理狀態; 步驟4. 4 =UPnP/1394軟件橋將1394設備返回的數據進行SOAP封裝后返回給UPnP控制點,并更新SOAP狀態信息表中對應SOAP請求信息的處理狀態。
5.根據權利要求4所述的基于IEEE1394與UPnP技術的遠程控制和訪問方法,其特征在于,步驟I中所述的初始化UPnP/1394軟件橋的地址管理表,具體是建立一個將遠程控制操作和UPnP/1394軟件橋用于接收遠程控制操作所對應的返回數據的內存地址進行映射的數據表,該映射表就是地址管理表,對于寄存器空間,采用16進制表示的48位地址范圍是(FFFFF0000000-FFFFFFFFFFFF),對于存儲空間,采用16進制表示的48位地址范圍為(000000000000-FFFFDFFFFFFF)。
6.根據權利要求4所述的基于IEEE1394與UPnP技術的遠程控制和訪問方法,其特征在于,步驟2中所述的1394設備地址表,其中記錄各1394設備的信息,包括節點ID、最大有效數據長度、最大傳輸速度和硬件地址;所述的硬件地址是指1394設備的唯一標示符。
7.根據權利要求4所述的基于IEEE1394與UPnP技術的遠程控制和訪問方法,其特征在于,步驟4. 2中所述的SOAP狀態信息表,其中記錄了 UPnP控制點的SOAP請求信息的處理狀態,包括=UPnP控制點的IP地址、服務操作、目的1394設備的唯一標識符、處理狀態、參數名稱和參數類型;處理狀態總共由四種,分別為確認請求、請求中、超時和完成。
8.根據權利要求4所述的基于IEEE1394與UPnP技術的遠程控制和訪問方法,其特征在于,所述的步驟4. 4具體包括如下子步驟 步驟A : 1394/UPnP軟件橋接收到1394網絡發來的數據包后,將該數據包拷貝到數據緩沖區中; 步驟B:判斷數據包類型,返回的數據類型分為兩種,一種是以異步數據包的形式返回,一種是以等時數據包的形式返回,若是異步數據包執行步驟C,若是等時數據包執行步驟D; 步驟C :當UPnP/1394軟件橋接收到異步數據包時,將該數據包添加到緩沖區,并且判斷緩沖區的大小,當緩沖區大小達到了 SOAP數據的封裝大小N時,將緩沖區內的數據重組為SOAP數據,發送給UPnP網絡; 步驟D :當UPnP/1394軟件橋接收到的是等時數據包時,將等時數據包填入緩沖池中的緩沖區,當填滿一個緩存區時,對該緩存區進行RTP格式封裝,然后發送給UPnP網絡中的支持RTP協議的視頻播放器;所述的緩沖區的大小為一幀數據的大小,緩沖池中有兩個以上的緩沖區;在等時數據包的傳送過程中,還通過QoS控制模塊保證等時數據傳輸的服務質量,QoS表不服務質量,RTP表不實時傳輸協議。
9.根據權利要求8所述的基于IEEE1394與UPnP技術的遠程控制和訪問方法,其特征在于,所述的緩沖區,由160個數據包組成,每20ms完成一幀完整數據的發送。
10.根據權利要求8所述的基于IEEE1394與UPnP技術的遠程控制和訪問方法,其特征在于,所述的通過QoS控制模塊保證等時數據傳輸的服務質量,具體通過如下步驟實現 (1)從1394等時數據緩沖區接收等時數據包,將等時數據包通過X264編碼器進行壓縮,打包為RTP格式數據,然后保存到緩沖區中發送到UPnP網絡,在獲取RTCP的接收方報告RR后,對報告RR進行數據分析,獲得丟包率Y ;RTCP表示實時傳輸控制協議; (2)對當前的丟包率進行低通濾波,得到濾波后的丟包率YlYl= (1-d) Y+dYO其中,YO為上次濾波后的丟包率,d為YO和Yl之間的相關性系數,取值為O. 3 ; 判斷當前濾波后的丟包率Yl是否在(O. 2,O. 6)之間,若是,則證明當前碼流適應當前網絡狀況,等待接收下一個RTCP的RR數據包,然后執行(I);否則進行下一步驟; (3)確定當前輸出碼率X:
全文摘要
本發明為一種基于IEEE1394與UPnP技術的遠程控制和訪問方法及裝置,所述裝置在UPnP堆棧模塊和1394通信模塊之間新增了UPnP over 1394模塊,新增模塊實現了1394設備和UPnP控制點的無縫連接。所述方法在總線復位后,對1394設備內存地址進行統一調度管理,通過ARP協議獲取1394設備的硬件地址和節點ID號之間的映射,發現1394設備并生成其服務描述文檔,保存控制點控制信息狀態用于故障分析,由緩沖區控制模塊和QoS控制模塊保證等時視頻流傳輸和服務質量。本發明防止了橋設備地址沖突和浪費,且不會因為節點ID變化而導致遠程訪問失敗,并且具有故障診斷能力和視頻傳輸的QoS能力。
文檔編號H04L12/28GK102685149SQ20121017765
公開日2012年9月19日 申請日期2012年5月31日 優先權日2012年5月4日
發明者萬月亮, 叢向超, 史潔琴 申請人:北京航空航天大學