发明内容
通过如独立权利要求1中定义的根据本发明的一种网关设备、如独立权利要求7中定义的根据本发明的一种智能网关以及如独立权利要求13中定义的根据本发明的一种主干网络来实现该目的。其优选实施例分别在各自随后的从属权利要求中被定义。
于是,根据本发明,一种用于把各自的总线系统与一公共网络层连接在一起的网关设备,该公共网络层被设计来通过经由至少一个另外的网关设备把至少一个另外的总线系统连接到所述公共网络层从而构建一个主干网络,所述网关设备包括总线服务接口以便经由所述公共网络层从所述主干网络内的智能网关访问另外总线系统的所有功能性和命令。
另外,根据本发明,提供一种用于在网关设备之间通信的智能网关,该网关设备把包括至少一个物理设备的各自的总线系统分别与一公共网络层连接,该智能网关包括一个静态或动态的可能性来提供想要经由所述公共网络层进行通信的至少一个物理设备的至少一个设备表示器(presenter)和/或至少一个设备仿真器。
另外,根据本发明,提供集成了至少两个总线系统的一种主干网络,两个总线系统的每一个包括各自的根据本发明的网关设备,并且该主干网络包括根据本发明的至少一个智能网关和一个公共网络层,所述各自的网关设备和所述至少一个智能网关被连接到该公共网络层。
因此,根据本发明,为了彼此连接不同的总线系统以便构造一个主干网络,提供一个公共网络层,该总线系统连接到该公共网络层用于数据和/或控制交换。
本发明允许并入便宜的(哑)网关设备,这样的网关设备只是提供总线API,即一个与设备特定模块(即,设备表示器和仿真器)通信的总线服务接口,并且最好给它们分别连接的总线系统提供相应的虚拟设备。与该设备特定模块的通信可以被看作经由所述公共网络层访问所述公共网络层的所有功能性和命令或者访问另外一个总线系统的所有功能性和命令。设备特定(软件)模块可以在根据本发明的动态或静态智能网关上或者在其它智能网关设备上分布式地运行。
根据本发明,还可能使该公共网络层被实现用于“连接”在一个总线系统上执行的不同协议类型。在这种情况下,根据本发明的智能网关被用来经由所述公共网络层的网关设备之间的通信,该网关设备分别把同一总线系统与至少一个物理设备连接,但是该网关设备是为不同的协议类型而设计的。在这种情况下,根据本发明的智能网关只需要一个物理网络适配器。
另外,根据本发明的至少一个智能网关分布在主干网络中,即分布在根据本发明的网关设备所连接的公共网络层上。因此,优选地被安排在一个网关设备中且然后构造一个动态或者静态的智能网关设备的智能网关可以在所有其它网关设备上被访问。
可以在一个适当的总线系统的基础上实现该公共网络层,该公共网络层可以另外被提供给要被连接的总线系统或者它可以以这些总线系统中的一个或多个为基础。
由于同步流数据可能不能容易地在通用网上分布,所以这种数据由一个不依赖于总线系统的流模块在本地设备上提取并处理。
在根据本发明的网关设备中,倘若在所述各自的总线系统内的一个设备指示经由所述公共网络层通信的可能性,则所述总线服务接口最好能够在所述公共网络层上寄送(post)总线事件。
在根据本发明的网关设备中,所述总线服务接口可替代地或者另外优选地由一个设备表示器使用,以便与连接到所述各自总线系统的相应的实际(即,物理)设备通信。
可替代地或者另外,在根据本发明的网关设备中,所述总线服务接口进一步可替代地或者另外优选地能够基于设备仿真器而对于它各自的总线系统表现一个虚拟设备。
进一步可替代地或另外地,在根据本发明的网关设备中,所述总线服务接口最好按照通用即插即用协议组来经由所述公共网络层进行通信。
优选地,根据本发明的网关设备包括根据本发明的智能网关。
在根据本发明的智能网关中,优选地,设备管理器为新设备监视总线事件(所述总线事件在所述公共网络层上寄送),并且查找、载入并指配相应的设备表示器和/或仿真器。
优选地,设备管理器从外部源设备(像网关设备)或者例如设备表示器和/或仿真器数据库之类的任何网络位置中载入设备表示器和/或仿真器。
在根据本发明的智能网关中,优选地,设备表示器将总线系统上的实际设备表示为通用抽象(abstract)设备或服务。
另外,在根据本发明的智能网关中,优选地,设备仿真器基于通用抽象设备或服务表示来仿真总线系统上的设备。
优选地,所述通用抽象设备或服务表示是根据通用即插即用协议组的表示。
在本发明的环境中处理设备表示器和/或仿真器是指:这些设备表示器和/或仿真器被定位(即,被储存和/或执行)在智能网关内或者在已连接到公共网络层的任意网关设备内,并且被设备管理器管理。换言之,该公共网络层、智能网关以及与公共网络层通信的网关设备部分(即总线服务接口)为所连接的总线系统构造一个自己的“即插即用网络”,即主干网络,以使各自的总线服务接口构造一个窗口给主干网络的各个其它部分的表示和仿真,所述各自的总线服务接口只是经由该公共网络层连接到所述主干网络的各个其它部分。于是,根据本发明的网关设备可能具有(但是不必具有)完整的能力来表示并仿真其仅仅经由该公共网络层连接到的主干网络的各个其它部分。
对于处理异步通信和同步流的能力,它遵循:由智能网关(即设备表示器和/或仿真器)来管理异步通信和所述流的控制,同时该同步流数据在物理总线接口所处的设备中被提取。
当然,该公共网络层可能不仅连接不同的网关设备和智能网关,而且那些能够在提供所述公共网络层的物理总线上通信的设备可能直接连接到该公共网络层。在这种情况下,根据本发明的智能网关必须被包括到根据本发明的网关设备中,该网关设备只需要一个物理网络适配器,即与提供所述公共网络层的物理总线进行通信的一个物理网络适配器。
于是,本发明的优点是:消费者能够结合根据本发明的至少一个智能网关来利用包括总线服务接口的便宜的(哑)网关设备,该智能网关也可以并入根据本发明的网关设备中,以便实现高级别的互操作性,即不会降低互操作性的级别。当然,也可以根据本发明和联系根据本发明的网络来使用负杂的网关设备,特别是具有如上面参考的欧洲专利申请02010 086.3“Gateway Device”(网关设备)中所定义特征的网关设备。这种网关设备特别适合于与根据本发明的智能网关合并。
根据本发明的结构还使得设计未来保证的网关设备变得简单,并且它在规划、设计和扩展网络拓扑方面给予了更多灵活性。允许在不降低互操作性级别的情况下降低网关设备的成本和复杂性。
在以下描述的本发明的示范实施例中,(静态或动态的)智能网关设备也被称为网关设备。这并不限制于根据本发明的网关设备合并了根据本发明的智能网关这样的情况,而且也应该理解为独立的智能网关(即,如果在没有总线服务接口的情况下期望的)以及具有一个物理网络适配器的(静态或动态的)智能网关设备。
通用动态智能网关设备(即适合于许多不同目的的网关设备)的通信结构如图1所示。如上所述,对于设计一个具有或者不具有总线服务模块以及包括或者不包括智能网关的专用网关设备而言,不是所有示出以及描述的组件都是必需的。此动态智能网关设备以及它的功能性的大部分也在上面所参考的欧洲专利申请02 010 086.3“Gateway Device”(网关设备)中被显示和描述。
从底部开始,这里有包含总线驱动器和物理总线接口的一个总线驱动器和物理层100,例如i.LINK(IEEE 1394)接口101、MOST接口102、BT接口103以及其他接口104(例如802.11 802.2和GPRS),接着是把总线系统的所有不同传送机构带到抽象级的一个适配层200。此抽象级由同步和异步部分来提供。异步部分由基于IP的协议300(如,UDP/TCP 301和UPnP 302)给出。流处理/转换块600处理同步部分,然而流数据由共享存储器模块602直接处理。
适配层200包括用于到每一抽象传送机构301、302、602的每一接口101-104的各自的适配器。
特别是对于到UDP/TCP 301(即被用作IP上传送协议的TCP(RFC793-传输控制协议)和UDP(RFC 768-用户数据报协议))的连接,有在i.LINK接口101和UDP/TCP 301之间的1394上的IP(IP over 1394)适配器201、在MOST接口102和UDP/TCP 301之间的MOST上的IP(IP over MOST)适配器204、在BT接口103和UDP/TCP 301之间的BT上的IP(IP over BT)适配器207、在其他接口104和UDP/TCP 301之间的IP适配器210。这些IP适配器201、204、207、210确保在不同的总线系统上的IP的实现。这样的IP信道被用于网关设备之间的任何通信的隧道化。
另外,对于同步部分,在各自的接口101-104和共享存储器602之间提供各自的ISO处理机203、206、209、212来处理流数据。共享存储器602是用于处理流缓冲和同步所使用的共享存储器访问的一个模块。ISO处理机203、206、209、212为总线系统分别处理同步流的提取和插入。它的操作由对应的总线接口控制。同步数据被直接写到该共享存储器模块602以便缓冲。
在各自的接口101-104和UPnP 302(即通用即插即用协议组)之间提供了根据本发明的各自的总线服务接口202、205、208、211。这些总线服务接口202、205、208、211分别提供总线系统的UPnP表示,它们被根据本发明的设备表示器与设备仿真器使用。总线服务还控制ISO处理机对同步数据的处理。
用于一个总线系统的不同设备的、根据本发明的适配模块401-410位于IP协议块300之上。这些模块提供总线特定的设备到一抽象设备/应用级的适配。此第二抽象层也由UPnP 302提供,其由UPnP 302和各自的适配模块401-410之间的箭头来指示。UPnP在这里是用于传送级上的总线系统与设备/应用级上的设备这两者的一种中央集成点(centralintegration point)。在这里使用如UPnP的技术的优点是:UPnP是一个基于标准的协议,其不需要特定的软件环境。模块因此可以独立于操作系统和软件环境而在网络中的任何网关处运行。
一般来说,基于其实现,有两种不同类别的模块:专有模块401、402和以用于分布式应用的公共平台(如OSGI)为基础的OSGI模块403-410。一个OSGI模块运行在提供如Java/OSGI 412的相应标准化软件平台的任意网关平台上,并且不得不只被执行一次。反之,一个专有模块可以对于任何操作系统、以任何语言实现。对于任意网关平台,它不得不被分别提供,但是在软件环境的选择方面它是完全自由的。为了重用现有代码,在该结构图左手边还有被称为本地模块414、415的第三种类别。这些模块不具有传送机构的抽象。它们直接使用相应的总线驱动器和物理层100并且因此不能在网络内透明运行。
另外,基于其功能,也有两种不同类别的模块:设备表示器403、405、407、409、401、414,它们分别将总线系统上的一个实际设备表示为一个同属的(generic)UPnP设备/服务;以及设备仿真器404、406、408、410、402、415,它们基于一个设备/服务的同属的UPnP表示来仿真总线系统上的一个设备。于是,根据本发明,优选地,每一设备或者它的功能在逻辑上被用于每一物理设备的一个设备表示器和用于每一总线系统的一个设备仿真器所代替。
根据本发明的设备管理器411被用于为该总线系统上找到的设备查找、载入并指配设备表示器和仿真器模块,该设备管理器411也被连接到UPnP 302。
为了处理同步连接,除了流处理/转换块600内的共享存储器602以外,还提供了用于在网关设备的网络中的两个设备之间建立流连接的流管理器601。流管理器601也被连接到UPnP 302。另外,流处理/转换块600还包括代码转换器603,代码转换器603进行音频和视频流的编码、解码及代码转换。代码转换器可以包括几个编解码器。
共享存储器602还被连接到RTP 303(即实时传送协议,例如根据RFC 1889-RTP:实时应用的一个传送协议),后者在没有同步传送信道可用时用作网关设备之间的缺省流机构。
另外,网关设备具有设备P&E DB 413和编解码器DB 604,设备P&E DB 413就是提供设备仿真器和表示器模块的外部或内部数据库,编解码器DB 604就是提供用于音频和视频的编码、解码以及代码转换的编解码器的外部或内部数据库。
网关设备的所有这些组件由资源管理器501控制,资源管理器501用于所有网关资源的处理和表示,网关资源包括存储器、计算资源、总线系统上的同步信道数、带宽、编解码器可用率等等。
考虑到网关结构的要求,大体上有两种不同规格的网关类型。它可以被区分为哑(dummy)网关设备和智能网关,所述哑网关设备包括总线服务但是没有设备管理器,并且不必具有设备表示器和/或设备仿真器模块,所述智能网关具有设备表示器和/或仿真器模块,并且优选地包括设备管理器。智能网关可以被结合到根据本发明的网关设备中,然后也具有总线服务的选择。
不同的网关设备和智能网关类型、用于其的连接器以及它们的组合与相应的抽象符号一起在图2中显示。
哑网关设备被显示为一个大空圆,智能网关被显示为具有一组填充矩形或一组小空圈在内的大圆,是填充矩形还是小空圈取决于所包括的模块种类,即,设备表示器或设备仿真器的静态模块被描述为一组填充矩形而设备表示器或设备仿真器的动态模块被描述为一组小空圈。到总线系统的连接被显示为细线,总线上的IP连接被显示为粗线,UPnP总线服务的可能性(即,根据本发明的总线服务接口)被显示为中等尺寸的空圆,并且UPnP设备表示器或仿真器模块去往/来自总线的通信方向被描述为箭头,即,用于各自方向的箭头或者用于在两个方向上都通信的双箭头。
作为最小的网关配置,哑网关设备(即具有总线服务接口(即附加的中等尺寸的空圆)和相应总线(即附到该中等尺寸圆上的粗线)的大空圆)和静态智能网关(即一个大圆,具有一组填充矩形在内以及相应的总线,即,附加的粗线)被示出。总线服务接口可能不一定被安排在总线上的IP连接这侧,即哑网关设备到公共网络层的连接,而是也可能被安排在哑网关设备到其总线系统的连接处。同时,正如在上面所提及的,哑或智能网关设备所连接到的总线系统形成该公共网络层的基础是可能的。
作为网关示例,具有总线服务接口与去往/来自两个总线的设备表示器/仿真器模块的静态智能网关设备被示出,即具有直接附接的粗线并具有一组填充矩形在内的一个大圆,和附接一条细线的直接附接的中等尺寸的圆,在此各自的双箭头被排列在各个线的附接点之上。
作为另外一个网关示例,具有总线服务接口的动态智能网关设备被示出,即具有一条直接附接的粗线并具有一组小空圈在内的大圆和附接了一条细线的直接附接的中等尺寸的圆。
从最小的网关配置中可以看出两种网关类型都必须含有到它们总线的连接,在此, IP传送是可用的。这种所谓的IP连接被用来建立所有网关之间的抽象通信和设备云图。这对于所有网关类型是最低要求。在哑网关设备的情况下,必须有至少一个总线服务接口可用。此特征对于智能网关是可选的。也可构造一个模块网关,即包括根据本发明的智能网关,而没有一个把总线/网络的所有设备表示给抽象UPnP层的总线服务接口,但是它包括为新设备监视总线事件的设备管理器,所述的总线事件在所述公共网络层上发送,并且设备管理器查找、载入并指配相应的设备表示器和/或仿真器。在这种情况下,智能网关不需要被包括在网关设备中,而是可以被实现为“独立设备”,因为没有总线系统被连接到那里(除了公共网络层基于其实现的那个总线以外,但是在这里从智能网关一侧不需要总线服务)。
图3示出了一个抽象网络场景,即采用如图2所示的符号表示的一种网络场景。通常,根据本发明的网关结构允许非常灵活的方案,例如具有仅仅一些哑网关设备以及至少一个智能网关,该结构允许在位于不同总线/网络系统中的设备之间互相通信。
图3示出了一个动态智能网关1,其具有到车辆总线(car bus)2(即,公共网络层)的IP连接,并且没有本地连接,即没有连接到总线系统。此“网关”可以被实现为独立的智能网关,即,最好包括设备管理器并且因为它是一个动态设备,所以具有载入并执行设备表示器和/或仿真器的可能性。连接到车辆总线2的是具有总线服务接口的两个哑网关设备,即具有总线服务接口的第一哑网关设备3和具有总线服务接口的第二哑网关设备4,第一哑网关设备3经由IEEE 1394总线7(即,第一总线系统)把IEEE 1394头单元5(headunit)(即,音频渲染器(audiorenderer))连接到车辆总线2,第二哑网关设备4经由蓝牙网络(即,第二总线系统8)把BT播放器(即,音频服务器)连接到车辆总线2。
图4更详细地示出了如图3所示的网络方案,即聚焦到网关设备和智能网关中。两个哑网关设备3、4只是提供总线服务,即,第一哑网关3经由IEEE 1394总线服务接口31提供总线服务,而第二哑网关4经由蓝牙总线服务接口41提供总线服务。利用此总线服务,给出了对所有总线功能性和命令的访问。此总线服务通过UPnP技术来发现。在模块网关,即根据本发明的动态智能网关1中,可以查找设备管理器11,它从各自的总线服务中获得新设备的总线事件。在接收到事件之后,设备管理器11为相应的设备载入设备表示器。此设备表示器也使用哑网关的总线服务接口来与实际的设备通信。UPnP也发现这些设备表示器和它们的服务。在这个状态下,有一个UPnP云图,其包括所有不同总线/网络的所有设备。在所示出的情况中,IEEE 1394头单元5包括控制面板和放大器,此二者都提供自己的设备表示器,即为控制面板提供第一设备表示器12,并且为放大器提供第二设备表示器13,两个设备表示器均被载入到动态智能网关1中并连接到设备管理器11。BT播放器6包括A2DP协定(A2DP profile)和AVRCP协定(AVRCPprofile),它们为A2DP协定和AVRCP协定提供一个公共的设备表示器,即,第三设备表示器14,该设备表示器被载入到动态智能网关1中并被连接到设备管理器11。另外,动态智能网关1包括仿真BT播放器6的第一设备仿真器15和仿真头单元5(即,放大器及其控制面板)的第二设备仿真器16。此第一设备仿真器15把相应的第一虚拟设备32提供到第一哑网关设备3中,即提供到IEEE 1394总线7,并且此第二设备仿真器16把相应的第二虚拟设备42提供到第二哑网关设备4中,即,提供到蓝牙总线8。第一和第二虚拟设备32、42被显示在各自的哑网关设备中并通过各自的虚线双箭头而连接到各自相应的设备仿真器,但是这仅仅表示一个逻辑状态,因为虚拟设备实际上在各自的总线服务接口31、41之上表示。
总线服务通常也侦听云图的新UPnP设备并为所有未知设备请求设备仿真器。这一次,对于不同的总线/网络,设备管理器载入适合的设备仿真器。这些设备仿真器在总线服务上代表进入它们的总线/网络中的虚拟设备。
通过简单地寻址在把各自总线系统连接到该公共网络层的网关设备的总线服务接口上表示的相应虚拟设备,连接到各自总线系统的物理设备因而能够与连接到另外一个总线系统的设备通信。图4中,头单元5只是访问第一虚拟设备32以便与BT播放器6通信,并且BT播放器6只是访问第二虚拟设备42以便与头单元5通信。物理设备5、6并不知道这样的一次通信不是与另外一个物理设备6、5直接执行的。
现在一个透明的互操作通信网被建立。
图5中的序列图示出了一个静态网关设备和一个动态智能网关设备合并一1394总线和一蓝牙微微网的场景中所涉及的各个阶段。该序列图描述了这样一个场景,其中,用户想要在放大器上(它是1394整合(ensemble)的一部分)播放来自他的便携式蓝牙播放器的一段音乐。因为放大器不具有蓝牙接口,所以网关设备需要允许此操作。此网络场景或多或少是如图3和4所示的一个场景,差别为:动态智能网关1不是一个独立的设备,而是被合并到连接IEEE 1394总线7和车辆总线2的第一哑网关设备3中。因此,在下文中,此网关将被称为第二动态智能网关设备3A。另外,如图3和4所示的第二哑网关设备现在是静态智能网关设备,即具有静态地存储并执行由一个设备管理器处理的设备表示器和/或仿真器的可能性,但是不能找到并载入它们。因此,在下文中,此网关设备将被称为静态网关设备4A。
图5a到f的序列图显示了在第二动态智能网关设备3A合并IEEE1394总线和蓝牙微微网的场景中所涉及的各个阶段,第二动态智能网关设备3A被连接到该IEEE 1394总线,而该蓝牙微微网包括静态网关设备4A。第二动态智能网关设备3A和静态网关设备4A二者都连接到一个公共网络层,任意载体上的IP2(称为…之上的IP)。该序列图描述了这样一个场景,其中,用户10想要在一个头单元的放大器上(在这里也称为IEEE 1394音频渲染器或音频渲染器5)播放来自他的便携式蓝牙MP3播放器(在这里也称为蓝牙或BT音频服务器6)中的一段音乐,该放大器是连接到第二动态智能网关设备3A上的一个IEEE 1394整合的一部分。因为放大器没有蓝牙接口,所以需要第二动态智能网关设备3A允许此操作。
正如在图5a到f中可以看到的,在第一步S51中,用户10接通静态网关设备4A。在随后的步骤S31中,静态网关设备4A启动所有本地总线系统的总线服务作为UPnP服务,并且其后在步骤S32中静态网关设备4A的设备管理器对所有总线服务处的所有“设备改变”事件进行登记。然后,第二动态智能网关设备3A被用户10接通并且发生相同的过程,即在随后的步骤S21中第二动态智能网关设备3A启动所有本地总线系统的总线服务作为UPnP服务,并且其后在步骤S22中,该第二动态智能网关设备3A对所有总线服务处的所有“设备改变”事件进行登记。
然后,在步骤S501中,用户接通便携式蓝牙音频服务器6并且在蓝牙微微网上开始一个查询,该查询在随后的步骤S502中被导向到蓝牙音频服务器6并且其后在步骤S401中从此设备重新定向到静态网关设备4A。其后,在步骤S301中静态网关设备4A用一个友好的名字应答蓝牙音频服务器6,并且随后在步骤402中由蓝牙音频服务器6把蓝牙设备列表表示给用户10,在步骤S503中用户10经由蓝牙空中接口开始蓝牙音频服务器6到静态网关设备4A的连接。其后,在步骤S302、S303、S304和S403中,在蓝牙音频服务器6和静态网关设备4A之间、具有用于SDP、SDP查询和响应的ACL连接、L2CAP连接的蓝牙微微网被建立。
静态网关设备4A识别蓝牙音频服务器6的音频功能,并且其后在步骤S305中在其存储器中查找可获得的相应设备表示器并且(如果可获得)在步骤S307中从内部存储器中载入BT音频服务器表示器,其在步骤S308中从音频服务器中读取数据和状态并且在步骤S309中向UPnP通告该媒体服务器设备(即蓝牙音频服务器6)。
在静态网关设备4A的这种情况下,设备表示器不能从外部源中载入。这将从相应的动态智能网关设备中完成。
在步骤S305中模块(表示器或仿真器)不能被网关设备载入,在这里是不能被静态网关设备4A载入时,在步骤S306中一个事件被寄送给所有其他网关设备,其中这些网关设备被要求载入那个模块,在这种情况下是载入相应的设备表示器(如果可获得)的事件。在该情况下只有第二动态智能网关设备3A被请求,因为这是唯一的其它网关设备。第二动态智能网关设备3A识别该事件,并且其后在步骤S201中在其存储器中查找可获得的相应设备表示器并且(如果可获得)在步骤S202中从内部存储器中载入BT音频服务器表示器。如果在步骤S201中相应的设备表示器不可获得,则在随后的步骤S203中检查设备表示器是否可以从外部源(例如其它网关、设备、互联网)中载入,如果可能,就在随后的步骤S204中执行载入。在步骤S205中,内部或外部载入的BT音频服务器表示器从音频服务器中读取数据和状态,并且在步骤S206向UPnP通告该媒体服务器设备(即,蓝牙音频服务器6)。其后,在步骤S207通告所有其它网关以停止载入相应的BT音频服务器表示器。
如果在步骤S203从外部源载入设备表示器也不可能,则该操作在不进行随后描述的为特定总线系统载入设备仿真器的情况下继续,即,在步骤S213之后继续,在步骤213中,如果设备仿真器将被载入,则用于IEEE 1394的内部或外部载入的音频播放器仿真器将通告该媒体服务器设备。
现在,新的音频播放器设备需要在所有网络中被映射。因此,所有网关设备检查该新设备是否已经存在于分别连接的总线系统中。如果为否,则开始为那个特定总线系统载入设备仿真器。
在示出的示例中,在步骤S208中检查IEEE 1394的音频播放器仿真器在第二动态智能网关设备3A的内部存储器中是否可获得,并且(如果可获得)在步骤S209中IEEE 1394的音频播放器仿真器从内部存储器中载入。如果在步骤S208中IEEE 1394的音频播放器仿真器不可获得,则在随后的步骤S210中检查IEEE 1394的音频播放器仿真器是否可以从外部源中载入,如果可能,则在随后的步骤S212中执行载入。在步骤S213中,内部或外部载入的IEEE 1394的音频播放器仿真器向IEEE1394通告该媒体服务器设备(即,蓝牙音频服务器6)并且在相应设备表示器处对事件进行登记,在这里,相应的设备表示器是BT音频服务器表示器。
由于在步骤S210中时模块(表示器或仿真器)不能由网关设备载入,在这里不能被第二动态智能网关设备3A载入,所以在步骤S211中一事件被寄送给所有其他网关设备,其中这些网关设备被要求载入那个模块,在这种情况下是载入IEEE 1394的音频播放器仿真器的事件,如果该模块可获得的话。在这种情况下只有静态网关设备4A被要求,因为这是唯一的其它网关设备。
因此,在步骤S311中检查IEEE 1394的音频播放器仿真器在静态网关设备4A的内部存储器中是否可获得,并且(如果可获得)在步骤S312中IEEE 1394的音频播放器仿真器从内部存储器中载入。如果在步骤S311中IEEE 1394的音频播放器仿真器不可获得,则不能从外部源中载入IEEE 1394的音频播放器仿真器,因为这个动作仅仅对于动态智能网关设备才是可能的。在步骤S313中,内部载入的IEEE 1394的音频播放器仿真器向IEEE 1394通告该媒体服务器设备(即,蓝牙音频服务器6)并且在相应设备表示器处对事件进行登记,在这里,相应的设备表示器是BT音频服务器表示器。其后,在步骤S314向所有其它网关设备通告以停止载入IEEE 1394的相应的音频播放器仿真器。
现在,在步骤S504,用户接通IEEE 1394音频渲染器5,这将导致在步骤S101中随后的总线复位以及其后在步骤S102中连接设备对IEEE 1394总线的通告。现在,载入设备表示器(S215…S222,S315…S319)以及载入BT微微网的设备仿真器(S223…S228,S320…S325)的相同的过程启动。这些模块也能够运行于任何网关设备上。
因此,在步骤S215中,识别IEEE 1394音频渲染器5的第二动态智能网关设备3A在其存储器中查找可获得的相应设备表示器,并且(如果可获得)在步骤S216从内部存储器中载入该音频渲染器表示器。如果在步骤S215中相应的设备表示器不可获得,则在随后的步骤S217中检查设备表示器是否可以从外部源中载入,如果可能,在随后的步骤S219中执行载入。在步骤S220,内部或外部载入的音频渲染器表示器从IEEE 1394音频渲染器5中读取描述符和状态并且在步骤321向UPnP通告该IEEE 1394音频渲染器5。
由于在步骤S217中时模块(表示器或仿真器)不能由网关设备载入,在这里是不能由第二动态智能网关设备3A载入,所以在步骤S218中一个事件被寄送给所有其他网关设备,其中,这些网关设备被要求载入那个模块,在这种情况下是载入该相应的设备表示器的一个事件,如果该模块可获得的话。在这种情况下只有静态网关设备4A被请求,因为这是唯一的其它网关设备。
静态网关设备4A识别该事件,并且其后在步骤S315中在其存储器中查找可获得的相应设备表示器并且(如果可获得)在步骤S316中从内部存储器中载入该音频渲染器表示器。在步骤S317,内部载入的音频渲染器表示器从音频渲染器中读取描述符和状态并且在步骤S318向UPnP通告该IEEE 1394音频渲染器5。其后,在步骤S319向所有其它网关通告以停止载入相应的音频渲染器表示器。
在静态网关设备4A的这种情况下,设备表示器不能从外部源中载入。因此,也是在步骤S315中没有音频渲染器表示器存在于它的内部存储器中的情况下,该操作在不进行随后描述的为那个特定总线系统载入设备仿真器的情况下继续,即在步骤S324之后继续,在步骤324中,如果设备仿真器将被载入,则内部载入的BT的音频渲染器仿真器将通告该音频渲染器设备。
现在,新的音频渲染器设备需要在所有网络中被映射。因此,所有网关设备检查该新设备是否已经存在于分别连接的总线系统中。如果为否,则开始为那个特定总线系统载入设备仿真器。
在示出的示例中,在步骤S320检查BT的音频渲染器仿真器在静态网关设备4A的内部存储器中是否可获得并且(如果可获得)在步骤S322从内部存储器中载入BT的音频渲染器仿真器。如果在步骤S320中BT的音频渲染器仿真器不可获得,则它不能从外部源中载入,因为此处理是由静态网关设备4A执行的。内部载入的BT的音频渲染器仿真器向BT通告IEEE 1394音频渲染器5并且在步骤S324在相应音频渲染器表示器处对事件进行登记。
由于在步骤S320中时模块(表示器或仿真器)不能被网关设备载入,在这里是不能被静态网关设备4A载入,所以在步骤S321中一事件被寄送给所有其他网关设备,其中,这些网关设备被要求载入那个模块,在这种情况下是载入BT的音频渲染器仿真器的事件,如果该模块可获得的话。在这种情况下只有第二动态智能网关设备3A被请求,因为这是唯一的其它网关设备。
因此,在步骤S223检查BT的音频渲染器仿真器在第二动态智能网关设备3A的内部存储器中是否可获得,并且(如果可获得)在步骤S224从内部存储器中载入BT的音频渲染器仿真器。如果在步骤S223中BT的音频渲染器仿真器不可获得,则在随后的步骤S225中检查BT的音频渲染器仿真器是否可以从外部源中载入,如果可能,则在随后的步骤S226中执行此载入。内部或外部载入的BT的设备渲染器仿真器向BT通告IEEE 1394设备渲染器5并且在步骤S227在相应设备表示器(在这里是音频渲染器设备表示器)处对事件进行登记。其后,在步骤S228向所有其它网关设备通告以停止载入BT的相应音频渲染器仿真器。如果在步骤S225中BT的音频渲染器仿真器也不可以从外部源中载入,则其后处理仍然继续,类似于外部或内部载入是可能的那种情况一样,即在步骤228之后继续。
在随后的步骤S103中IEEE 1394音频渲染器5简单地通过寻址第二动态网关设备3A(在其总线服务接口内的相应设备仿真器的基础上表示BT音频服务器6的虚拟设备),而已经从BT音频源设备(即,BT音频服务器6)中读取基本子单元信息之后,在步骤S104中IEEE 1394音频渲染器5现在能够把BT音频服务器6表示给用户10。如果在随后的步骤S505中BT音频服务器6被用户选择,则在步骤S105中IEEE 1394音频渲染器5从例如在第二动态智能网关设备3A上被管理的设备仿真器模块中读取BT音频服务器6的目录数据,并且在步骤S230中BT音频服务器6的目录数据被从第二动态智能网关设备3A传送到IEEE1394音频渲染器5。在这种环境中的被管理是指设备仿真器模块能够在连接到公共的…之上的IP总线的每个网关上被载入并被执行,但是可以通过简单地与第二动态智能网关3A通信来寻址。其后,在步骤S106中,BT音频服务器6的目录数据被表示给用户10。
接着上面的描述,倘若不能为设备载入设备表示器,则将不会为那个设备载入设备仿真器。例如,倘若在步骤S305中静态网关4A认识到BT音频服务器表示器不能内部载入以及随后在步骤S203中第二动态网关3A认识到BT音频服务器表示器也不能被外部载入的情况下,则不开始该相应设备仿真器的载入。在没有用于其它总线系统的设备仿真器可获得的这种情况下,该相应的设备将不被看作这些其它总线系统中的虚拟设备,或者将不被根据本发明的智能网关看作虚拟设备。因此,如上所述,在给出的例子中,在步骤S505中用户将不能选择BT音频服务器6。当然,没有设备选择的可能性,在下文中描述的音频选择和音频渲染也将是不可能的。
在随后的步骤S506中用户作出音频选择之后,在步骤S107中AV/C目标号码选择命令(ONS)被发给1394音频服务器仿真器。在步骤S231中,音频服务器仿真器进而把相应的UPnP命令发送给BT音频服务器表示器模块,其可以运行在相同的第二动态智能网关设备3A上。BT音频服务器仿真器经由可以运行于静态网关设备4A上的BT总线服务来与BT音频服务器设备通话以便发现流端点和流端点的容量。因此,在步骤S232中它访问静态网关设备4A,静态网关设备4A然后在第一步骤S326中为AVDTP建立与BT音频服务器6的L2CAP连接,在第二步骤S327中为了找到流端点而向BT音频服务器6寄送AVDTP DISCOVER CMD命令,在第三步骤S404中接收来自BT音频服务器6的AVDTP DISCOVER RSP响应,在第四步骤S328中为了获得流端点的容量而向BT音频服务器6寄送AVDTP GET CAPABILITIES CMD命令,然后在第五步骤S405中接收来自BT音频服务器6的AVDTP GET CAPABILITIES RSP响应。
然后,在步骤S329中静态网关设备4A中的流管理器经由第二动态智能网关设备3A向设备表示器(即,音频服务器表示器)和音频渲染器表示器询问它们所支持的流格式,然后在步骤S233接收来自两个设备表示器的可能流格式,并且通过经由UPnP与其它网关设备中的流管理器通信而为这个传输进行流格式和编解码器的协商,在这里是与第二动态智能网关设备3A中的一个流管理器通信。因此,在最初的步骤S330和S234中,两个流管理器就某种编解码器达成一致意见,其后在步骤S331和S236检查适当的编解码器在它们各自的内部存储器中是否可获得,然后在步骤S332和S238分别从各自的内部存储器中载入它们,或者如果不可获得则在步骤S333和S237从外部源中载入它们。在最后的步骤S334和S239中,分别判断各自的流管理器是不是可以成功载入各自的编解码器。倘若一个或两个编解码器不能被成功载入,则各自的流管理器设法协商其它格式或者设法在其它的网关设备上载入该编解码器,即处理流程再继续最初的步骤S330和S234以便继续进行到最后的步骤S334和S239。如果这也是不可能的,则在步骤S235中,第二动态智能网关设备3A的流管理器向IEEE 1394音频渲染器5拒绝该AV/CONS命令。
如果所有编解码器都被成功地载入,则在步骤S240中蓝牙音频服务器表示器经由BT总线服务与BT音频服务器通话,并且在步骤S335中经由总线服务发送AVDTP SET CONFIGURATION CMD命令给蓝牙音频服务器6,蓝牙音频服务器6然后在步骤S406中通过经由总线服务发送AVDTP SET CONFIGURATION RSP响应来确认该配置设定。
在步骤S241中,IEEE 1394音频渲染器表示器然后通过使用CCM(连接和兼容性管理)命令来建立与音频渲染器的连接。
随后,在步骤S336和S242中,两个流管理器协商在各自的网络中是不是有足够的资源可获得。如果没有足够的资源来执行该音频流,则在步骤S336中向IEEE 1394音频渲染器5拒绝该AV/C ONS命令。
如果有足够的资源,则在步骤S244中BT音频服务器表示器发送“播放”事件给BT音频服务器仿真器,然后在步骤S245中BT音频服务器仿真器发送“已接受”响应和“播放”状态给音频渲染器。
然后,在步骤S246中蓝牙音频服务器表示器经由BT总线服务来发送与BT音频服务器的通话,并因而经由BT总线服务传送命令给蓝牙音频服务器6以便打开并启动该流。这些命令分别被音频服务器应答和确认。特别地,在步骤S337中BT音频服务器表示器首先发送AVDTP OPEN CMD命令到BT音频服务器6,并且在步骤S407中接收来自BT音频服务器6的AVDTP OPEN RSP响应。然后,在步骤S338中用于流数据的L2CAP连接由音频服务器表示器建立,在此之后,在步骤S339中BT音频服务器表示器发送AVDTP START CMD命令给BT音频服务器6,并且在步骤S408中接收来自BT音频服务器6中的一个AVDTP START RSP向应。最后,在步骤S340中BT音频服务器表示器经由AVCTP命令发送AV/C启动命令到BT音频服务器6,并且在步骤S409中经由来自BT音频服务器6的AVCTP响应接收AV/C启动响应。
然后,在步骤S410中音频服务器开始经由RTP/L2CAP发送音频流数据给静态网关设备4A。静态网关设备4A的编解码器经由…上的IP而把接收到的音频流编码到RTP中,并且把它传送给第二动态智能网关设备3A,第二动态智能网关设备3A的编解码器将接收到的SBC音频数据解码为PCM音频数据,在步骤S247中PCM音频数据将在IEEE 1394上以IEC61883格式被发送给音频渲染器。
在步骤S108中,音频渲染器然后基于接收到的数据执行音频渲染。
因此,一般来说,根据本发明提供了公共网络层,它用于把不同的总线系统彼此连接来构造一个主干网络,总线系统被连接到该公共网络层上用于经由网关设备来进行数据和/或控制交换。另外,根据本发明的智能网关分布在网络中,即分布在根据本发明的网关设备所连接的公共网络层上。因此,此智能网关可以在所有网关设备上被访问。这允许便宜的(哑)网关设备的并入,该哑网关设备仅仅提供总线API,即总线服务接口。设备特定(软件)模块可以分布在其它智能网关设备上或分布在智能网关上运行。