专利名称::在通信网络中管理对象的方法及其实现装置的制作方法
技术领域:
:本发明涉及在家庭自动化的通信网络中管理对象的方法,尤其是软件模块。本发明还涉及可以链接到此网络并包括实现此方法的单元的装置。本发明尤其应用于适合于将声频装置与视频装置互联的家用网络。在由大量销售的电子装置(如电视机、有线或卫星解码器或视频记录装置)组成的网络中,由于考虑到大量销售的装置的复杂程度和价格的制约,必需提供在装置之间进行通信的单元。根据设想中的网络类型,网络中的装置(以下也称节点)有必要确定其它装置的接入路径或地址。如果将装置的概念换成对象或软件模块的概念情况相同,装置可以含有大量的对象。这会涉及下载或驻留的应用程序,特定用户界面或低级模块。装置的各对象或模块均试图与网络上的同一个装置或另一个装置的另一个对象或模块进行通信。将各对象看作其它对象的可用资源。在这种情况下,问题是如何获得一个网络中的可用资源的动态列表。由于这个原因,本发明的目的是在包括装置的通信网络中提供一种对象目录的分布式管理的方法,该方法包括将装置中出现的本机对象注册到在此装置级管理的本机注册处的步骤,该方法的特征在于进一步包括步骤·本机对象提出对象列表请求的步骤,该请求将被发送到具有本机对象的装置的唯一本机注册处;·通过本机注册处将请求传播到远程注册处的步骤;·收集对远程注册处请求的响应和对本机注册处请求的响应的步骤;·发送对已提出初始请求的本机对象收集的响应的步骤;各节点(或装置)仅存储位于本节点或装置的信息,即在其它节点不复制这些信息,对象仅将其自己注册到本机注册处。因此,对各装置中的存储器的需求受到限制。将对对象(软件模块)的搜索分布到多个装置中进行,在本地层查询各数据库。因此,在本地层处理信息的资源需求本身受到限制。此外,只有相关信息,即满足搜索标准的信息通过网络传播,因此可以合理地使用通频带。以简单的方式保持数据的相容性,即当本机数据库发生变化时不必通过复杂处理来更新远程数据库。如果节点消失了,只丢失涉及此节点的信息。此外,在网络中,请求只传播到其它注册处。不存在对网络中的“所有”单元的传输,而是仅传输到被明确标识的子装置,即注册处。这同样限制了所要求的通频带。根据特定实施例,对于注册在其内的各对象,本机注册处包括此对象在网络中的标识符以及此对象的属性,此标识符对于该网络是唯一的。根据特定实施例,标识符(SEID)包括其中存在对象的装置的装置标识符和本机标识符,装置标识符在网络中是唯一的,在此装置层,本机标识符对于此对象是唯一的。根据特定实施例,由对象发出的一类请求是至少包括一个为对象属性所固有的选择标准的请求。根据特定实施例,对象的功能是由本机注册处根据对象存储的属性。根据特定实施例,传播请求的步骤包括确定与网络相连的装置的步骤,该装置本身有注册处。对象可以发出请求以获得其它对象的列表,与其知道这些对象是否位于相同的节点上无关。根据特定实施例,确定装置的步骤包括确定在网络中出现的装置的类型(FAV、IAV、BAV、LAV),装置的类型表示它是否管理注册处。在HAVi型网络中,FAV型装置和IAV型装置必需包括注册处,而BAV型装置和LAV型装置则不包括注册处。根据变换实施例,请求仅传播到特定的远程注册处组。例如,当事先知道包括某些属性的软件模块仅出现在给定类型的装置中时,就可以限制向此类型的装置传播请求,以限制网络中流动的消息的数目。根据变换实施例,可以由对象发出的一种请求包括选择标准和至少一个用于运算此列表的运算符,该选择标准至少用于两个对象列表。本发明的目的还包括提供一种用于通信网络的装置,该装置包括用于存储本机对象的单元、用于将含有对象目录的本机注册处存储到此装置的单元、用于将装置连接到网络的单元,该装置的特征在于进一步包括·用于将由本机对象提出的对对象列表的请求传播到其它装置的本机注册处的单元;·用于收集其它装置注册处的响应和本机注册处的响应并将这些响应发送到提出请求的对象的单元。根据特定实施例,该装置进一步包括用于确定网络上含有所谓远程注册处的装置的地址的单元。通过对附图所示的、特定非限制性的实施例的描述,本发明的其它特征和优点将更为明显,其中图1a图解说明包括四种不同类型装置的家用网络;图1b图1所示的某个装置的方框图;图2示出图1b所示的软件结构的示意图;图3说明网络装置的注册模块的状态;图4说明根据要求传播到远程注册模块的请求的消息排序;根据本典型实施例,家用网络包括四种类型的装置具有全功能性的视听装置(FAV)、具有中间功能的视听装置(IAV)、基本视听装置(BAV)以及遗留视听装置(LAV)。通信总线为IEEE1394总线,但也可以使用其它类型的总线。网络使用了通用控制语言,即HAVI语言。FAV型的装置是网络上的所有装置中功能性最全的装置,它具有通信管理程序、注册模块、装置控制模块管理程序以及装置控制模块(以下称为“DCM”),这些均可以被下载。根据变换实施例,装置还包括用户界面管理程序。FAV型装置可以利用装置控制模块控制较简单的装置,诸如BAV型装置和LAV型装置。FAV型装置可以接入其它FAV型装置或IAV型装置以便访问其缺少的资源(例如用户界面管理程序)。除了不具有下载装置控制模块的能力之外,IAV型装置与FAV型装置具有相同的功能。BAV型装置具有特有的专用控制语言,其余类型的装置不必使用此专用控制语言。FAV型装置利用从BAV型装置本身下载的适于对其进行控制的控制模块(DCM)控制BAV型装置,BAV型装置可以是打印机,其打印管理程序就是下载的。LAV型装置连接到总线或利用特定连接器连接到IAV型装置或FAV型装置。由特定控制模块(DCM)控制LAV型装置,该控制模块具有其专用语言而且不能由此装置本身发出。图1a示出具有FAV型、IAV型、BAV型以及LAV型四种装置形式的典型网络。FAV型、IAV型以及BAV型装置连接到同一总线,而LAV型装置直接连接到FAV型装置并且由FAV型装置中的控制模块进行控制。例如,利用IAV型装置控制BAV型装置。图1b图解说明FAV型装置1,它包括链接到随机存取存储器3的微处理器2和至少可以部分可重编程的只读存储器4,以及IEEE1394总线接口(参考号为5),IEEE1394总线接口包括链接电路和物理电路(根据IEEE1394术语为“PHY”)。装置1包括用于插入LAV视频记录装置的专用接口6。有四种软件模块尤其可以存储到本网络装置的存储器中。这四种软件模块是DCM装置控制模块、应用程序、服务模块以及消息传输管理程序。DCM装置控制模块对装置或此装置的子装置进行控制。该控制模块可以位于待控制的装置(假设该装置为IAV型装置或FAV型装置)内或位于不是待控制的装置的装置(如果待控制的装置为LAV型装置或BAV型装置,则控制管理程序将位于IAV型装置或FAV型装置内,IAV型装置或FAV型装置作为执行平台)内。控制管理程序即可以从外部装置获得也可以下载。在下载控制管理程序情况下,例如,在初始化装置时或应用程序请求时进行下载。功能控制模块(简称FCM)为控制装置功能的软件模块,该模块包括在DCM装置控制模块内。在这方面,装置可以具有多种功能单元记录单元、调谐器、照像机、显示器、大容量存储器等。服务模块提供系统服务或系统功能。它们或者被本机软件模块访问或者通过系统将消息发送到其它装置的模块。这些系统服务或系统功能特别包括用户界面图形管理、DCM模块管理(例如,下载)、将装置连接到网络的过程、网络的初始(网络源的列表),以及注册模块,以下将对它们做更详细的说明。如果各软件模块希望允许通过消息层访问网络的其它软件模块,那么各软件模块(DCM或应用程序或系统服务模块)必需将其本身注册到本机注册模块(即它所驻留的或载入的注册模块)。与DCM控制模块有关的FCM功能模块也将其本身注册到本机注册模块。消息传输管理程序将消息从一个软件模块传输到另一个软件模块,而与含有这些模块的装置无关。当软件模块希望将消息发送到另一个模块时,它不知道哪一个是含有目标模块的物理装置。图2示出FAV型装置的软件结构的实例。该装置包括下载的应用程序21(例如,游戏程序)、DCM控制模块A22、DCM控制模块B23、专用应用程序24(例如,电子节目预告)、IEEE1883/1394型通信总线管理程序25、注册模块26、高级用户接口27、DCM管理程序28以及消息传输系统29。通过应用程序编程接口30(以下简称“API”)可接入消息传输系统,模块利用消息传输系统互相通信。该装置还包括具有1394总线的接口31。其装入网络之后,为了使它们能使用应用程序,FAV型装置将试图载入BAV型装置的DCM控制模块。考虑到此,BAV型装置将对应于DCM模块的编码存入其存储器的已知存储区内并位于自描述数据结构内,即SDD(SDD代表“自描述装置”)。因此,FAV型装置可以读取此存储空间并载入BAV型装置的DCM模块。例如,BAV型装置为打印机。将载入的DCM控制模块注册到FAV型装置的注册模块并可以被网络上的其余装置访问。SDD型数据结构限制在FAV型、IAV型或BAV型装置内,并位于各装置中的固定地址。在其初始化时,FAV型装置就可以搜索网络以载入BAV型装置的DCM模块。它是执行此任务的FAV型装置的DCM模块的管理程序。SDD数据结构还包括装置类型(FAV、IAV、BAV、LAV)。装置的消息传输系统包括·注册模块26(用于说明并搜索软件模块);·消息层,该消息层包括消息分配器29(发送并接收消息)、用于接入传输系统的应用程序编程接口(API)30以及IEEE1394总线适配子层。通过将待发送的协议封装到适合IEEE1394标准的分组,IEEE1394总线适配子层尤其具有使数据传输适于IEEE1394协议的作用。消息由三种部分组成目标软件模块的地址、源软件模块的地址以及有效数据。软件模块的地址由执行软件模块的节点的标识符组成,此标识符对网络是唯一的,节点标识符之后为软件模块标识符,软件模块标识符对执行软件模块的节点是唯一的。消息传输系统将软件模块的标识符配置到节点。消息分配器利用地址将消息转发到适当的软件模块。根据本典型实施例,软件模块地址或标识符(以下简称“SEID”)为80位二进制字,它包括·64位装置标识符,它被存储在执行软件模块的装置中的ROM内。在下载模块情况下,所使用的就是主机的标识符。装置标识符在制造时已被配置并与IEEE1394-1995标准定义的EUI64字段对应。此装置标识符的一部分由IEEE标准化组织管理并由各制造商专用,装置标识符的其它部分由装置的制造商以这样的方式进行选择,以致所制造的各装置具有不同的标识符。·本机标识符,本机标识符包括由消息传输系统直接配置的节点的序列号,将此编号进行16位编码并与装置标识符连接以形成SEID标识符。在这方面,消息传输系统含有计数器。预留少数几个序列号(例如,从0×0000至0×0005)用于定义特定服务模块。例如,序列号0×0001常规对应于装置的注册模块。因此,网络的各软件模块包括相异且唯一的SEID标识符。然而,唯一标识符可以由单元定义而非由上述说明的装置定义。注册模块含有数据库,数据库中包括装置层局部可用的软件模块的目录。注册模块可用使用编程接口访问软件模块登录的功能单元和根据标准列表搜索的模块的功能单元。在各FAV型装置或IAV型装置中存在注册模块。在此装置中,所有的软件模块均被本机注册处的模块所注册。如果软件模块希望能够被连接,那么它就必需将其自身注册到注册模块。对于在其中注册的各软件模块,注册模块保持其在网络中的地址及此模块的属性。根据变换实施例,注册模块不包括软件模块的地址但包括其顺序号。软件模块的属性对它进行了描述。对于各软件模块,这些属性存储在表中,对于各属性该表中包括32位的属性参考、其比特数的大小以及其值。表1给出预定属性的列表表1<tablesid="table1"num="001"><table>属性参考类型格式大小存在软件模块类型整数32位MHUID标识符字节串80位M*装置类型整数32位M*图形接口整数32位Y支持格式位字段32位Y数据格式位字段32位Y装置制造商字符串15字节M*软件模块制造商字符串15字节Y软件模块版本字符串15字节Y声频/视频控制语言位字段32位Y</table></tables>软件模块类型代表模块的主要功能。如果软件模块为系统服务模块,则属性的类型表示系统服务本身。注册模块就是这种模块。如果软件模块为功能控制模块(FCM),则类型定义了功能记录装置、显示器、转动器等。如果软件模块为DCM装置控制管理程序,则类型为“DCM”。如果软件模块具有与网络的其余装置不相容的应用程序编程接口(API),那么类型为“专用”。HUID标识符为与DCM管理程序有关的装置标识符或为与FCM管理程序相关的功能标识符。如同已说明的那样,与软件模块相关的装置类型为FAV、IAV、BAV或LAV。DCM管理程序可以与图形用户界面相关。属性“图形界面”指出的情况是,在网络中提供的具有各界面层的DCM管理程序的界面的兼容度为多少才合适。属性“支持格式”指出由装置支持的数据存储支持类型。例如,DVD、DAT、DVHS、DVS均为支持格式。属性“数据格式”指出可以受装置控制的数据的格式。例如,MPEG2、JPEG、MIDⅠ、ASCⅡ均为数据格式。属性“装置制造商”和“软件模块制造商”分别指出装置的制造商的参考或软件模块制造商的参考,属性“软件模块版本”指出软件模块的版本号。最后,除了已说明的通用HAVI命令语言之外,属性“声频/视频命令语言”也指出专用于软件模块的语言种类。属性值为32位字段,各位的值指出与特定通用语言的兼容性,例如CAL或AV/C。根据变换实施例,注册模块的数据库还包括特定或“专用”属性。应该注意,各种装置的注册处的模块不相同。不存在将所有软件模块编入目录的中央注册处。软件模块仅注册在唯一注册处的注册层,即本机注册处。因此,在多个注册处不会存在双重注册。根据本典型实施例,注册模块的应用程序编程接口包括五条命令,以下将做详细说明。(a)软件模块注册此命令用于将软件模块加到本机注册处的数据库或用于调整已注册的软件模块的属性。当包括此单元的装置插入时,软件模块尤其使用此命令注册其本身。软件模块将其SEID标识符和属性发送到注册模块。如果SEID标识符已经存在,就用新的属性代替原来的属性。另外,在本机数据库(本机注册处)内建立新项目。根据确认记录或差错消息的记录结果,注册模块将状态详细发送到软件模块。(b)软件模块抽取此命令被用于读取知道其SEID标识符的软件模块的属性。指向装置的随机存取存储器的存储区、指向其数据必需被复制的存储区的指针与抽取请求一起被发送。如果软件模块未出现在本机数据库中,那么将该指针置为0并由注册模块将该指针返回。注册模块还将确认属性复制的状态消息返回或指出找寻标识符未出现。(c)从注册处清除软件模块此命令被用于从本机数据库中消除软件模块。其SEID标识符被作为命令参数使用。注册模块返回确定删除或指出相应的软件模块未找到的状态消息。(d)请求软件模块列表(简单请求)此命令可以确定满足某种标准注册在本机注册处组中的软件模块的标识符。根据本典型实施例,这些标准为属性参考和属性值。命令参数也是运算符,该运算符表示在命令中规定的属性值与基本值进行比较的方法(等号、大于号、大于或等于号、小于号、小于或等于号、不等号、按位逻辑“与”运算符、按位逻辑“异或”运算符等)。适当时,注册模块将相应软件模块的SEID标识符列表返回。该注册模块还返回指出运算成功或失败(是否找到标识符)的状态消息。(e)在软件模块的两个列表之间进行布尔运算(多重请求)标识符的两个列表之间进行布尔运算时使用此命令。该命令在参数中包括对应于各列表的请求。请求可以由在(d)段(简单请求)已经说明的标准组成,或由另一种多重请求组成。此命令的参数还是相关布尔运算符(在本典型实施例的上下文中为“与”运算符或“或”运算符)。适当时,注册模块返回SEID标识符列表以及表示运算成功或失败(任何原因引起的失败,例如资源短缺)的状态消息。为了访问其它软件模块,软件模块必需知道相应软件模块的SEID标识符。对于注册在相同注册模块的软件模块,这不成问题,只需发出上述请求使各软件模块从本机数据库抽取标识符列表。软件模块通过本机消息传输系统访问本机注册模块。软件模块还可以访问远程注册模块并由此发回在其它注册模块注册的模块的标识符。为此,各注册模块将由本机发送到其的请求传播到所有其它装置的注册模块。根据本典型实施例,可以忽略在给定时间间隔内未从其接收到响应的远程注册模块。接收初始注册模块请求的各注册模块在其本机数据库中进行搜索并在适当时分别将与请求标准对应的标识符列表返回到初始注册模块。然后,初始注册模块将所接收的所有标识符的连接列表发送到发出请求的软件模块。然后,发出请求的软件模块可以可以与其它装置的软件模块进行通信了并可以使用与其相应的资源。图3是装置的注册模块的状态图。此图中包括两个状态A和B。状态A为等待软件模块的请求的状态。状态B为等待本机注册模块对远程注册模块发出的请求作响应的状态。表2列出由本机注册模块完成的动作的事件和对应于开始状态和完成状态的事件。事件的参考号与图4中的参考号相同。<tablesid="table2"num="002"><table>事件意义动作开始状态完成状态41注册或抽取或清除数据库中的软件模块确定并发送响应AA42对从远程注册模块接收的“简单”或“多重”列表的请求确定并发送响应AA43对从本机软件模块接收的“简单”或“多重”列表的请求确定对本机数据库的响应并将请求发送到远程注册模块AB44已接收了所有的响应确定最终响应并将它发送到本机软件模块BA</table></tables>注册模块对请求进行传播。应该记得,注册模块的标识符包括制造商标识符(由IEEE安排)、装置标识符(由制造商安排)以及注册模块标识符,所有注册模块的注册模块标识符相同。为了能够传播请求,装置的注册模块对网络上获得标识符的所有装置进行登记。然后,在这些装置中确定包括注册处的装置。在本典型实施例中,包括注册处的装置仅为FAV型装置或IAV型装置。如果知道可以被网络访问的装置的标识符,那么注册模块就可以从上述SDD数据结构中读取各装置的类型。因此,注册模块删除BAV型装置。通常,具有本机标识符(序列号)的各装置标识符的连接固定到所有注册模块以获得所有注册模块的完整SEID地址列表。通过本机总线管理模块(即所谓的“CMM”),注册模块获得装置标识符的列表,本机总线管理模块监视网络装置的连接和断开。此注册模块从被称为“TOPOLOGY_MAP”(在IEEE1394-1995文本,8.3.2.4.1段有定义)的注册处读取与网络相连的节点的列表。此注册处位于总线管理装置中(在上述引述的IEEE文本中被称为“总线管理程序”),总线管理装置更新与网络拓扑有关的注册处。采用IEEE文本描述的方法,其它装置可以获知此装置的地址。图4示出第一装置的软件模块A发出的请求被传播到第二装置的注册模块,软件模块B被注册到此第二装置的注册处时的消息排序。根据上述说明的实施例,为了确定非本机软件模块组,软件模块发出的请求被传播到所有远程注册模块。根据变换实施例,此类请求还可以被限制在远程注册模块组,例如特定装置类型的远程注册模块。权利要求1.一种在包括装置的通信网络中的对象目录的分布式管理方法,该方法包括将装置中出现的本机对象注册到在此装置层管理的本机注册处的步骤,该方法的特征在于进一步包括步骤·本机对象提出对象列表请求的步骤,该请求将被发送到具有本机对象的装置的唯一本机注册处;·通过本机注册处将请求传播到远程注册处的步骤;·收集对远程注册处请求的响应和对本机注册处请求的响应的步骤;·发送对已提出初始请求的本机对象收集的响应的步骤;2.根据权利要求1所述的方法,其特征在于,对于注册在其内的各对象,本机注册处包括此对象在网络中的标识符以及此对象的属性,此标识符对于该网络是唯一的。3.根据权利要求2所述的方法,其特征在于,标识符(SEID)包括其中存在对象的装置的装置标识符和本机标识符,装置标识符在网络中是唯一的,在此装置层,本机标识符对于此对象是唯一的。4.根据权利要求2或3所述的方法,其特征在于,由对象发出的一类请求是至少包括一个为对象属性所固有的选择标准的请求。5.根据权利要求4所述的方法,其特征在于,对象的功能是由本机注册处根据对象存储的属性。6.根据上述权利要求之一所述的方法,其特征在于,传播请求的步骤包括确定与网络相连的装置的步骤,所述装置本身包括注册处。7.根据权利要求6所述的方法,其特征在于,确定装置的步骤包括确定在网络中出现的装置的类型(FAV、IAV、BAV、LAV),装置的类型表示它是否管理注册处。8.根据上述权利要求之一所述的方法,其特征在于,由对象发出的一种请求是包括选择标准和至少一个用于运算此列表的运算符的请求,该选择标准至少用于两个对象列表。9.一种用于通信网络的装置,该装置包括用于存储本机对象(21至28)的单元(3、4)、用于将含有对象目录的本机注册处(26)存储到此装置的单元(3)、用于将装置连接到网络的单元(5、31),该装置的特征在于进一步包括·用于将由本机对象提出的对对象列表的请求传播到其它装置的本机注册处的单元(26、29、31);·用于收集其它装置注册处的响应和本机注册处的响应并将这些响应发送到提出请求的对象的单元(26)。10.根据权利要求9所述的装置,其特征在于,该装置进一步包括用于确定网络上含有所谓远程注册处的装置的地址的单元。全文摘要本发明涉及一种在含有机器的通信网络中的对象目录的分布式管理方法,该方法包括将出现在机器中的本机对象记录到在机器层管理的本机注册处的步骤。该方法包括:本机对象提出对象列表请求,该请求被发送到含有此对象的机器的唯一本机注册处;本机注册处将所述请求传播到远程注册处;将收集的应答发送到发出请求的本机对象。还涉及可以连接到网络上的机器,该机器可以实现所述方法。本发明尤其可以应用于家庭自动化通信网络的情况。文档编号G06F9/46GK1298591SQ99805349公开日2001年6月6日申请日期1999年4月21日优先权日1998年4月23日发明者纪尧姆·比绍,吉勒·斯特劳布,法比耶纳·科埃,帕特里克·皮拉,赫尔穆特·比尔克林申请人:汤姆森多媒体公司