控制家用视听互操作设备的方法及其系统的制作方法

文档序号:7946331阅读:163来源:国知局
专利名称:控制家用视听互操作设备的方法及其系统的制作方法
技术领域
本发明涉及家用视听互操作(HAVi)网络系统,尤其涉及通过非IEEE(电气电子工程师学会)1394网络,控制与根据IEEE1394网络设计的HAVi网络系统连接的设备。
背景技术
家用视听互操作性(HAVi)是将各种各样的卖方提供的许多家用电子产品与一个网络相连接,和通过一个产品,用户可以控制其它电子产品的家用网络标准规范。
与HAVi网络连接的产品被称为HAVi设备。在HAVi设备当中,负责控制其它设备的设备被称为控制设备,受控制设备控制的其余设备被称为受控设备。HAVi网络的物理层遵从支持异步传输和同步传输的IEEE1394协议。异步传输主要用于传输控制数据,而同步传输用于传输音频/视频(AV)数据。
图1是现有家用视听互操作(HAVi)系统的简图。
参照图1,HAVi设备10和30与IEEE1394网络相连接。标号10表示控制标号30所指的受控设备的控制设备。
控制设备10是含有显示设备(未示出)的Full AV(FAV)设备,它包括通信媒体管理器(CMM)1394 600和消息传送系统500。消息传送系统500在单元与单元之间,即,在设备控制模块(DCM)400与Havlet 800之间,或在DCM 400与受控设备30之间传送HAVi消息。CMM 1394 600使HAVi设备能够根据IEEE1394物理层异步地或同步地相互通信HAVi消息。
此外,把DCM代码单元200安装在控制设备100上,因此,控制设备10含有DCM 400和功能控制模块(FCM)300。DCM 400含有能够提供Havlet800的信息。Havlet 800是基于Java的应用程序,并且,是从DCM 400中下载的,然后安装在控制设备100中的。Havlet 800是含有用作用户界面的菜单系统和通过HAVi Java API(HJA)900在Java虚拟机(JVM)1000上执行的Java应用程序。
通过Havlet 800输入的用户控制命令由消息传送系统500转换成HAVi消息,然后被发送到DCM 400。与发送到DCM 400的HAVi消息相对应的控制命令或数据通过消息传送系统500和CMM 1394 600再次被发送到受控设备20。
假设控制设备10是数字电视(DTV),和受控设备30是便携式摄像放像机,如果用户通过菜单屏幕输入便携式摄像放像机的控制命令,那么,Havlet800使控制命令变成适当的HAVi消息,并且把该消息发送到DCM 400。DCM400根据接收消息的控制命令控制便携式摄像放像机。
但是,由于现有HAVi网络系统是在IEEE1394网络的基础上建立起来的,尽管HAVi设备与外部网络物理或逻辑连接,但是,如果外部网络不是IEEE1394网络,那么,就不能控制HAVi设备。也就是说,Havlet 800不能通过诸如以太网(Ethernet)之类的非IEEE1394网络来运行。因此,通过非IEEE1394网络,不能控制受控设备。

发明内容
为了解决上述问题,本发明的第一个目的是提供一种甚至通过非IEEE1394网络也可以控制与HAVi网络系统连接的HAVi设备的方法和系统。
本发明的第二个目的是提供一种甚至在非IEEE1394网络中,也可以使Havlet运行,以便可以控制与HAVi网络系统连接的HAVi设备的方法和系统。
在一个方面,本发明提供了通过非IEEE1394网络控制与家用视听互操作(HAVi)网络系统连接的设备的方法,该方法包括(a)在与HAVi网络系统连接的控制设备中安装非IEEE1394通信模块和代理管理器;(b)在含有非IEEE1394通信模块的控制器中安装havlet和客户代理器;(c)把通过havlet输入的用户控制命令转换成HAVi消息;(d)通过客户代理器把HAVi消息组装成可在非IEEE1394网络中通信的消息,和通过非IEEE1394通信模块把消息传输到代理管理器;和(e)通过代理管理器从接收消息中提取HAVi消息,和把HAVi消息发送到安装在控制设备中的消息传送系统。
最好,步骤(b)包括(b1)控制器从外部下载havlet、HAVi Java API(HJA)、和客户代理器,和安装havlet、HJA、和客户代理器。
最好,步骤(b)还包括(b2)客户代理器通过代理管理器下载havlet,和以可执行方式安装havlet。在这种情况中,步骤(b2)包括客户代理器通过代理管理器下载执行havlet的HJA,和安装HJA。
最好,步骤(d)包括(d1)通过把非IEEE1394首标加入HAVi消息中,把HAVi消息组装成非IEEE1394分组。
根据本发明的控制方法还包括(f)消息传送系统把接收的HAVi消息发送到控制受控设备的控制模块;和(g)控制模块把与HAVi消息相对应的控制命令发送到受控设备。
在另一个方面,本发明提供了与HAVi网络系统连接的控制设备,该控制设备包括通信媒体管理器(CMM)1394;消息传送系统;非IEEE1394通信模块;和代理管理器,其中,在可通信方式下通过非IEEE1394通信模块与非IEEE1394网络连接、和在可执行方式下与安装在含有havlet的控制器中的客户代理器连接的代理管理器,在通过非IEEE1394网络的可通信模式下,从havlet接收消息和把接收的消息发送到消息传送系统,并且,从消息传送系统接收消息和把接收的消息发送到havlet。
最好,控制设备还包括设备控制模块(DCM),用于接收havlet通过消息传送系统发送的消息和控制与消息相对应的受控设备。
最好,代理管理器包括与客户代理器形成网络连接和把标识符给予客户代理器的应用程序接口(API)、把有关havlet的信息提供给客户代理器的API、提供用于安装havlet的Havlet Code Unit的API、和在执行havlet之后,能够在havlet和与HAVi网络系统连接的其它设备或单元之间进行通信的API。
在另一个方面,本发明提供了包括如下部件的控制器非IEEE1394通信模块;Java虚拟机;和客户代理器,用于从外部下载havlet和以可执行方式安装havlet。
最好,客户代理器从安装在HAVi网络系统的控制设备中的代理管理器下载havlet和以可执行方式安装havlet。在这种情况中,客户代理器包括havlet安装模块,用于下载和安装havlet;和传送模块,用于把havlet的运行结果传送到安装在HAVi网络系统的控制设备中的代理管理器。传送模块把来自havlet的HAVi消息组装成通过非IEEE1394网络传输的非IEEE1394分组,和通过非IEEE1394网络把分组传送到代理管理器。
根据本发明的控制器还包括在执行havlet的过程中需要的HAVi Java API或Java字节代码。
在根据本发明的控制器中,最好,客户代理器含有接收异步消息的API。


通过参照附图,对本发明的优选实施例进行详细描述,本发明的上述目的和优点将更加清楚,在附图中图1是现有家用视听互操作(HAVi)系统的简图;图2是基于本发明优选实施例的网络系统的简图;图3是图2所示的装置的例子;图4是基于本发明优选实施例的非IEEE1394分组的数据结构的图形;图5是说明根据本发明优选实施例,通过非IEEE1394网络控制受控设备的方法的参考图;图6是说明根据本发明优选实施例安装havlet的过程的参考图;和图7是说明包括根据应用程序接口(API)安装havlet的过程在内的、通过havlet控制受控设备的方法的参考图。
具体实施例方式
参照图2,HAVi设备1和2与IEEE1394网络连接。标号2所指的HAVi设备是受控设备。标号1所指的HAVi设备是控制设备,并且还以可通信方式与非IEEE1394网络相连接。非IEEE1394网络是在物理层通信中不使用IEEE1394协议的通信网络,例如,以太网。
通过执行havlet,控制器3通过非IEEE1394网络把用户输入的控制命令传输到控制设备1,和通过非IEEE1394网络从控制设备1接收对命令的响应。
图3是图2所示的装置的例子。
参照图3,控制设备1是含有显示设备(未示出)的FAV,并且含有CMM1394 60和消息传送系统50。消息传送系统50在单元与单元之间传送HAVi消息,和CMM 1394 60使HAVi设备1和2能够根据IEEE1394物理层异步地或同步地相互通信HAVi消息。另外,通过安装DCM代码单元20,控制设备1含有DCM 40和FCM 30。DCM 40包含能够生成可以控制受控设备2的havlet 80的信息。
并且,在控制设备1中,根据本发明,安装代理管理器11和支持非IEEE1394物理层的非IEEE1394通信模块12。代理管理器11通过非IEEE1394网络把havlet 80提供给控制器3。此外,代理管理器11从控制器3传输的非IEEE1394分组中提取HAVi消息,把HAVi消息发送到消息传送系统50,和把消息传送系统50发送的HAVi消息组装成非IEEE1394分组。
安装在控制器3中的是通过非IEEE1394网络进行通信的非IEEE1394通信模块32和执行havlet 80的Java虚拟机(JVM)。此外,在控制器3中,根据本发明,还安装了客户代理器31。客户代理器31由下载和安装havlet 80的havlet安装模块和把havlet 80的运行结果传送到代理管理器11的传送模块构成。havlet安装模块起下载,然后安装havlet 80的容器作用,并且应该事先安装havlet。可以事先安装传送模块,从外部下载传送模块和安装它,或者从代理管理器11下载传送模块和执行它。但是,如果存在能够执行控制器3中的havlet 80的容器,也就是说,如果提供了执行Java的环境(如果安装了能够翻译和执行Java的万维网浏览器),那么,可以从代理管理器11或从外部下载Java小应用程序,并且动态地执行它们。传送模块把havlet 80提供的HAVi消息组装成可以通过非IEEE1394网络传送的非IEEE1394分组。
havlet 80是为控制受控设备2提供用户界面的应用程序。havlet是与受控设备2相对应地制备的。也就是说,如果受控设备2是便携式摄像放像机,那么,相应havlet 80提供含有在控制便携式摄像放像机时需要的菜单屏幕的用户界面。把在执行havlet 80时需要的HAVi JavaAPI(HJA)或Java字节代码事先安装在控制器3中,或者,在执行时,从代理管理器11或从外部动态地下载它们,然后,执行它们。这样,在与非IEEE1394网络相连接的控制器3中可以执行havlet 80。
图4是由客户代理器31和代理管理器11的传送模式组装的非IEEE1394分组的数据结构的图形。
非IEEE1394分组由非IEEE1394首标和HAVi消息构成。非IEEE1394首标包含作为源信息的客户代理器31的地址(标识符)和作为目的地信息的代理管理器11的地址(标识符)。另外,可以加入诸如纠错码之类的首标信息。HAVi消息由源信息Src、目的地信息Dest、消息类型信息Type、消息长度信息Message Length、和消息主体HAVi Message Body。
现在说明实现本发明的应用程序接口(API)。用在本实施例中的API可以分为用于代理管理器11的API、用于客户代理器31的API、和用于DCM代码单元20的API。代理管理器API包括Connect()、Close()、getHavletList(clientId)、getHavletCodeUnit(clientld,havletId)、getHavletCodeUnitProfile(clientld,havletId)、和sendMessage(clientId,msg)。客户代理器API是NotifyMessage(clientId,msg)。DCM代码单元API包括DCM∷GetHavletCodeUnitProfile和DCM∷GetHavletCodeUnit。现在说明这些语法的每一个。
1.代理管理器API

建立代理管理器11和客户代理器31之间的网络连接,和把标识符ID给予客户代理器31。

含有客户代理器31的标识符‘clientId’作为参数,和终止代理管理器11和客户代理器31之间的连接。

含有客户代理器31的标识符‘clientId’作为参数,和返回有关存在于HAVi网络系统中的havlet的信息。借此,把有关havlet的信息提供给客户代理器31,以便客户代理器31可以选择适当的havlet。

含有客户代理器31的标识符‘clientId’和havlet的标识符‘havletId’作为参数。havlet标识符‘havletId’表示getHavletList获得的havlet信息Havlet List中希望安装的havlet的标识符ID。这个API返回用于安装所需havlet的HavletCode Unit。客户代理器31调用这个API,以获得Havlet Code Unit,然后,代理管理器11调用如下所述的DCM∷GetHavletCodeUnitAPI,然后,通过非IEEE1394网络把接收的HavletCodeUnit传输到客户代理器31。

含有客户代理器31的标识符‘clientId’和havlet标识符‘havletId’作为参数。havlet标识符‘havletId’含有getHavletList获得的Havlet List中希望安装的havlet的标识符ID。这个API返回HayletCodeUnitProfile,HavletCodeUnitProfile是在确定是否可以安装相应的Havlet Code Unit过程中需要的信息。客户代理器31调用控制器31,以便获得确定是否可以在控制器3中安装Havlet Code Unit需要的信息。代理管理器11通过非IEEE1394网络,把通过调用如下所述的DCM∷GetHavletCodeUnitProfile获得的HavletCodeUnitProfile传输到客户代理器31。

含有客户代理器31的标识符‘clientId’和havlet 80希望将其传输到DCM代码单元20的HAVi消息‘msg’作为参数。这个API返回havlet 80处理消息的结果。在执行了havlet 80之后,需要在havlet 80与DCM 40或与其它HAVi网络系统连接的HAVi设备或单元之间进行通信。
2.客户代理器API

含有客户代理器31的标识符‘clientId’和出现在HAVi网络系统中的事件或异步消息‘msg’作为参数。这个返回有关是否成功传输消息的信息。在HAVi网络系统中,生成包括事件和CMM 1394 60的通知的、到客户代理器31的异步消息,并且把这些消息发送到客户代理器31。
3.DCM API

含有‘firstByte’、‘lastByte’和‘byteArray’作为参数,其中,‘firstByte’是希望接收的havlet字节代码单元阵列的第一字节的号码,‘lastByte’是希望接收的最后字节的号码,和‘byteArray’是请求发送回来的东西。当调用这个API时,返回有关传输是否成功的信息。这样就提供了Havlet Code Unit,从而安装和执行作为存储在DCM 40中的第2层应用程序的havlet 80。

含有‘version’、‘transferSize’、‘codeSpace’、‘workingSpace’和‘chunkSize’作为参数,其中,‘version’是havlet 80请求的消息传送系统50的最低版本,‘transferSize’是要传送的Havlet Code Unit字节的长度(即,JAR文件长度),‘codeSpace’是在安装Havlet Code Unit时需要的字节数,‘workingSpace’是安装的Havlet Code Unit所需的工作空间,和‘chunkSize’是可以同时传输的Havlet Code Unit字节的最大个数。这个API提供了确定是否可以安装和执行havlet 80的信息。
基于上述结构,现在说明根据本发明优选实施例,通过非IEEE1394网络控制与HAVi网络系统相连接的受控设备的方法。
图5是说明根据本发明优选实施例,通过非IEEE1394网络控制受控设备的方法的参考图。
参照图5,以可执行方式把havlet 80安装在控制器3中。如果用户请求执行havlet 80,那么,执行havlet 80,以便为用户显示菜单系统。如果用户输入执行预定功能的控制命令,那么,在步骤1中,havlet 80把这个命令转换成HAVi消息,并且把消息发送到客户代理器31。在步骤2中,客户代理器31把HAVi消息组装成非IEEE1394分组,并且通过非IEEE1394网络把分组发送到代理管理器11。在步骤3中,代理管理器11拆开接收的非IEEE1394分组,提取HAVi消息,并且把提取的HAVi消息发送到DCM 40。在步骤4中,DCM 40通过消息传送系统50、CMM 1394 60和IEEE1394模块,把与接收的HAVi消息相对应的控制命令传输到受控设备2。此外,在步骤5中,DCM 40根据控制命令,把来自受控设备2的响应转换成HAVi消息,并且,通过消息传送系统50把HAVi消息发送到代理管理器11。在步骤6中,代理管理器11把接收的HAVi消息组装成非IEEE1394分组,并且通过非IEEE1394网络把分组传输到客户代理器31。在步骤7中,客户代理器31拆开接收的非IEEE1394分组,提取HAVi消息,并且把HAVi消息发送到havlet 80。
图6是说明根据本发明优选实施例安装havlet的过程的参考图。
参照图6,在步骤11中,客户代理器31的havlet安装模块向代理管理器请求连接。当代理管理器11作出响应时,在步骤12中,建立连接。然后,在步骤13中,客户代理器31向代理管理器11请求havlet 80。代理管理器11在步骤14中,向DCM 40请求havlet 80,并且传输在步骤15中从DCM 40接收的和在步骤16中发送到客户代理器31的havlet 80。在步骤17中,客户代理器31的havlet安装模块安装和执行接收的havlet 80。步骤18到23与上面参照5所述的步骤相同,因此,略去不述。在步骤15和16中,可以一起提供HJA 90和Java字节代码,或者,如上所述,可以从其它信源下载它们,并且安装它们,或者,在安装和执行havlet 80时,可以动态地下载它们。
图7是说明包括根据上述API安装havlet 80的过程在内的、通过havlet 80控制受控设备的方法的参考图。
参照图7,在步骤31中,客户代理器31调用Connect()和请求与代理管理器11连接,并且,在步骤32中,根据代理管理器11的响应response(clientId),建立网络连接。如果在步骤33中客户代理器31调用getHavlet List(),那么,在步骤34中代理管理器11提供使用response(list)的列表。如果在步骤35中客户代理器31调用getHavletUnitProfile(),那么,代理管理器11在步骤36中通过调用DCM∷GetHavletCodeUnit()向DCM 40请求profile,在步骤37中接收附带response()的相应profile,并且在步骤38中利用response()把profile传输到客户代理器31。客户代理器31确认profile。如果确定可以安装,那么,在步骤39中客户代理器31调制getHavletCodeUnit()。然后,代理管理器11在步骤40中,通过调用DCM∷Get HavletCodeUnit(),请求在安装havlet 80时需要的Havlet Code Unit,在步骤40中,利用response()接收Havlet CodeUnit,并且在步骤42中,利用response()把Havlet Code Unit传输到客户代理器31。然后,在步骤43中,客户代理器31把havlet 80安装在控制器中,和执行havlet 80。如果在步骤44中,havlet 80从用户那里接收到控制命令和把控制命令作为HAVi消息发送到客户代理器31,那么,在步骤45中,客户代理器31调用send Message(clientId,msg)和把非IEEE1394分组传输到代理管理器11。在步骤46中,代理管理器11从非IEEE1394分组中提取HAVi消息和利用Messaging System∷sendReliable(msg)把消息发送到DCM 46。因此,在步骤47中,DCM40控制受控设备2和利用MessagingSystem∷sendReliable(msg)把结果发送到代理管理器11。在步骤48中,代理管理器11通过调用notifyMessage(clientId,msg)把结果传输到客户代理器31。在步骤49中,客户代理器31向havlet 80通告相应的事件。
如上所述,根据本发明,通过执行非IEEE1394网络上的havlet,可以控制与HAVi网络系统相连接的受控设备。也就是说,通过在安装了Java虚拟机(JVM)的非IEEE1394网络中,执行作为可根据Java移动的的应用程序的havlet,无需作任何修改,就可以再使用已经编码的havlet。
权利要求
1.一种通过非IEEE1394网络控制与家用视听互操作(HAVi)网络系统连接的设备的方法,该方法包括(a)在与HAVi网络系统连接的控制设备中安装非IEEE1394通信模块和代理管理器;(b)在合有非IEEE1394通信模块的控制器中安装havlet和客户代理器;(c)把通过havlet输入的用户控制命令转换成HAVi消息;(d)通过客户代理器把HAVi消息组装成可在非IEEE1394网络中通信的消息,和通过非IEEE1394通信模块把消息传输到代理管理器;和(e)通过代理管理器从接收消息中提取HAVi消息,和把HAVi消息发送到安装在控制设备中的消息传送系统。
2.根据权利要求1所述的方法,其中,步骤(b)包括;(b1)控制器从外部下载havlet、HAVi Java API(HJA)、和客户代理器,和安装havlet、HJA、和客户代理器。
3.根据权利要求1所述的方法,其中,步骤(b)还包括(b2)客户代理器通过代理管理器下载havlet,和以可执行方式安装havlet。
4.根据权利要求3所述的方法,其中,步骤(b2)包括客户代理器通过代理管理器下载执行havlet的HJA,和安装HJA。
5.根据权利要求1所述的方法,其中,步骤(d)还包括(d1)通过把非IEEE1394首标加入HAVi消息中,把HAVi消息组装成非IEEE1394分组。
6.根据权利要求1所述的方法,还包括(f)消息传送系统把接收的HAVi消息发送到控制受控设备的控制模块;和(g)控制模块把与HAVi消息相对应的控制命令发送到受控设备。
7.一种与HAVi网络系统连接的控制设备,该控制设备包括通信媒体管理器(CMM)1394;消息传送系统;非IEEE1394通信模块;和代理管理器,其中,在可通信方式下通过非IEEE1394通信模块与非IEEE1394网络连接、和在可执行方式下与安装在含有havlet的控制器中的客户代理器连接的代理管理器,在通过非IEEE1394网络的可通信模式下,从havlet接收消息和把接收的消息发送到消息传送系统,并且,从消息传送系统接收消息和把接收的消息发送到havlet。
8.根据权利要求7所述的控制设备,还包括设备控制模块(DCM),用于接收havlet通过消息传送系统发送的消息和控制与消息相对应的受控设备。
9.根据权利要求8所述的控制设备,其中,DCM是通过DCM代码单元安装的。
10.根据权利要求7所述的控制设备,其中,代理管理器包括与客户代理器形成网络连接和把标识符给予客户代理器的应用程序接口(API)、把有关havlet的信息提供给客户代理器的API、提供用于安装havlet的Havlet CodeUnit的API、和在执行havlet之后,能够在havlet和与HAVi网络系统连接的其它设备或单元之间进行通信的API。
11.根据权利要求8所述的控制设备,其中,代理管理器包括与客户代理器形成网络连接和把标识符给予客户代理器的API、把有关havlet的信息提供给客户代理器的API、提供用于安装havlet的Havlet Code Unit的API、和在执行havlet之后,能够在havlet和与HAVi网络系统连接的其它设备或单元之间进行通信的API。
12.根据权利要求9所述的控制设备,其中,代理管理器包括与客户代理器形成网络连接和把标识符给予客户代理器的API、把有关havlet的信息提供给客户代理器的API、提供用于安装havlet的Havlet Code Unit的API、和在执行havlet之后,能够在havlet和与HAVi网络系统连接的其它设备或单元之间进行通信的API。
13.一种控制器,包括非IEEE1394通信模块;Java虚拟机;和客户代理器,用于从外部下载havlet和以可执行方式安装havlet。
14.根据权利要求13所述的控制器,其中,客户代理器从安装在HAVi网络系统的控制设备中的代理管理器下载havlet和以可执行方式安装havlet。
15.根据权利要求14所述的控制器,其中,客户代理器包括havlet安装模块,用于下载和安装havlet;和传送模块,用于把havlet的运行结果传送到安装在HAVi网络系统的控制设备中的代理管理器。
16.根据权利要求15所述的控制器,其中,传送模块把来自havlet的HAVi消息组装成通过非IEEE1394网络传输的非IEEE1394分组,和通过非IEEE1394网络把分组传送到代理管理器。
17.根据权利要求13所述的控制器,还包括在执行havlet的过程中需要的HAVi Java API或Java字节代码。
18.根据权利要求13所述的控制器,其中,客户代理器含有接收异步消息的API。
19.根据权利要求14所述的控制器,其中,客户代理器含有接收异步消息的API。
20.根据权利要求15所述的控制器,其中,客户代理器含有接收异步消息的API。
全文摘要
本发明提供了通过非IEEE1394网络控制HAVi网络系统的设备的方法和设备。通过非IEEE1394网络控制与家用视听互操作(HAVi)网络系统连接的设备的方法包括(a)在与HAVi网络系统连接的控制设备中安装非IEEE1394通信模块和代理管理器;(b)在含有非IEEE1394通信模块的控制器中安装hav1et和客户代理器;(c)把通过hav1et输入的用户控制命令转换成HAVi消息;(d)通过客户代理器把HAVi消息组装成可在非IEEE1394网络中通信的消息,和通过非IEEE1394通信模块把消息传输到代理管理器;和(e)通过代理管理器从接收消息中提取HAVi消息,和把HAVi消息发送到安装在控制设备中的消息传送系统。根据该方法和设备,通过执行非IEEE1394网络上的havlet,可以控制与HAVi网络系统相连接的设备。
文档编号H04Q9/00GK1430380SQ0215780
公开日2003年7月16日 申请日期2002年12月19日 优先权日2001年12月24日
发明者李旻锡, 陆贤圭, 李京训 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1