控制通过因特网连接到家庭网络的设备的方法及装置 【技术领域】
本发明涉及用于控制连接到家庭网络上的设备的方法,更具体地说,涉及用于控制通过因特网连接到家庭网络的受控设备的方法及装置。
背景技术
家用视听交互操作(HAVi)规范是一种家庭网络标准,该标准能通过网络连接由各提供商所提供的电子设备,使得某一电子设备可以被另一电子设备设备所控制。连接到HAVi网络上的设备被称为HAVi设备。在HAVi网络中,数据的物理传输,是根据由电气和电子工程师协会(IEEE)1394标准所提供的规范而实现的。IEEE 1394允许异步传输或同步传输。异步传输主要传输控制数据,而同步传输主要传输音频/视频(AV)数据。
图1是普通HAVi网络系统的方框图。参考图1,HAVi设备10、HAVi设备20、HAVi设备30和HAVi设备40连接到IEEE 1394总线1。HAVi设备10保持数据驱动交互(DATA-driven Interaction)(DDI)数据11,并具有DDI目标12,DDI目标12是一个设备控制模块(DCM)或一个应用程序。设备20包括具有显示单元的用户接口22、和DDI控制器21。设备30和设备40分别表示磁带录像机(VTR)和便携式摄像机。
DDI数据11具有树状结构,用于构成用户接口屏幕,而DDI目标12是控制VTR 30或便携式摄像机40的控制程序,即,一个DCM或一个应用程序。DCM或应用程序保持所要求的DDI数据或动态地产生DDI数据。当用户要求通过用户接口22控制VTR 30或便携式摄像机40时,DDI控制器21通过解析从DDI目标12接收的DDI数据11而产生用户接口屏幕、显示结果、并将通过用户接口屏幕输入的控制命令发送到DDI目标12。然后,响应该控制命令,DCM或应用程序12控制VTR 30或便携式摄像机40。
现有地HAVi系统的一个问题是,设备之间的通信只是基于IEEE 1394总线1,所以不能与其它类型的总线兼容,尽管这些总线在物理上或逻辑上连接到了外部网络。另一个问题是,基于DDI数据11的用户接口不能使用传统的因特网浏览器来显示。
【发明内容】
为解决上面的和相关的问题,本发明的一个目的是提供一种用于通过因特网浏览器来控制连接到家庭网络上的设备的方法及装置。
本发明的另一个目标是提供一种用于控制连接到HAVi网络上的设备的方法和装置。
为实现上述目标的一个方面,提供了一种方法,用于控制至少一个连接到家庭网络或家庭网络系统的设备,其中,家庭网络系统包括一个控制设备,其具有用于通过家庭网络来控制至少一个设备的控制器,该方法包括安装可以与控制器和连接到因特网的客户机上的万维网浏览器通信的万维网服务器。
最好是,该方法包括:(b)万维网服务器从万维网浏览器接收用户控制命令;(c)万维网服务器将接收的控制命令发送到控制器;和(d)控制器将控制命令发送到相关设备。更好的是,该方法包括:(e)控制器按照命令控制,从至少一个设备接收响应的信息;(f)控制器将响应的信息转换成以可以通过万维网浏览器显示的格式的文件;(g)控制器将文件发送到万维网服务器;和(h)万维网服务器将文件发送到万维网浏览器。
家庭网络可以基于具有家用视听交互操作(HAVi)协议,并且,在(c)中所接收的控制命令是通过应用程序编程接口(API)而发送的。
(d)可以包括(d1)控制器将控制命令发送到用于控制至少一个设备的驱动器;和(d2)响应控制命令,驱动器控制至少一个设备。
为实现上述目的的其他方面,提供了一种控制连接到家庭网络或家庭网络系统的至少一个设备的方法,其中,家庭网络系统包括具有控制器的控制装置,控制器用于通过家庭网络来控制该设备,该方法包括:(a)为了与控制器通信而安装的万维网服务器,从连接到因特网的客户机上的万维网浏览器接收用户信息,该万维网服务器注册用户信息;(b)万维网服务器从被注册的用户接收请求与设备相对应的用户接口屏幕的请求;(c)万维网服务器将该请求发送到控制器;(d)控制器将所请求的用户接口屏幕转换成可以通过万维网浏览器显示的文件,并将该文件发送到万维网服务器;和(e)万维网服务器将文件发送到万维网服务器。
最好是,(a)包括产生用于控制器与万维网服务器之间进行接口的API,和(d)包括万维网服务器通过API将请求用户接口屏幕的请求发送到控制器。并且,最好地,(e)包括:(e1)将请求用户接口屏幕的请求发送到用于控制该设备的驱动器;和(e2)将所请求的用户接口屏幕发送到控制器。家庭网络可以是基于HAVi协议的HAVi网络,并且,驱动器是用于DDI数据的DDI目标。
更好的是,API包括:具有用于识别DDI目标的标识符、用于客户机的标识符、和用于识别在万维网浏览器和万维网服务器之间建立的会话的标识符的通用API;用于允许用户登录进来的API;用于允许用户退出的API;用于请求用户接口屏幕的API;用于通知客户机受控设备的状态的API。
为实现上述目的的另一方面,提供了一种用于控制通过因特网连接到家庭网络上的至少一个设备的装置,该装置包括一个万维网服务器,用于接收从连接到因特网的客户机上的万维网浏览器输出的用户控制命令,并将控制命令发送到控制器;然后,用于通过家庭网络,将控制命令发送到相关的受控设备。
最好是,控制器按照控制命令从受控设备接收响应的信息,将响应的信息转换成可以通过万维网浏览器显示的文件,并将该文件发送到万维网服务器,然后,万维网服务器将文件发送到万维网浏览器。并且最好,家庭网络是基于HAVi协议,万维网服务器通过API将从客户机输出的控制命令发送到控制器。
控制器将控制命令发送到用于控制该设备的驱动器,并且,驱动器响应控制命令控制该设备。更好的是,家庭网络是基于HAVi协议,并且,驱动器是DDI目标。
万维网服务器从客户机接收请求与受控设备相对应的用户接口屏幕的请求,并将请求发送到控制器,控制器将所请求的用户接口屏幕转换成可以通过万维网浏览器显示的文件,并将文件发送到万维网服务器,然后,万维网服务器将文件发送到万维网浏览器。万维网服务器可以通过API与控制器通信,也就是说,它通过相关的API将对于用户接口屏幕的请求发送到控制器。控制器将对于用户接口屏幕的请求发送到用于控制受控设备的驱动器,并从驱动器接收所请求的用户接口屏幕。
API包括:具有用于识别DDI目标的标识符、用于客户机的标识符、和用于识别在万维网浏览器和万维网服务器之间建立的会话的标识符的通用API;用于允许用户登录进来的API;用于允许用户退出的API;用于请求用户接口屏幕的API;用于通知客户机受控设备的状态的API。
【附图说明】
通过参考附图对本发明的优选实施例的详细描述,本发明的上述目的和优点将变得更加明显,其中:
图1是传统HAVi网络的方块图;
图2是根据本发明的HAVi系统的优选实施例的方块图;
图3是图2中所示的服务器单元的例子的示意图;
图4是解释根据本发明的、用于控制通过因特网连接到家庭网络上的设备的方法的示意图;和
图5A和图5B是解释用于控制通过因特网浏览器连接到HAVi网络的HAVi设备的方法的图,是执行图4中所解释的方法的例子。
【具体实施方式】
图2是根据本发明的家用视听交互操作(HAVi)系统的方块图。参考图2,该HAVi系统包括多个HAVi设备,它们是设备50、设备60、设备70、和设备80,它们都连接到IEEE 1394总线2。HAVi设备50到HAVi设备80包括为HAVi软件的组件,或具有HAVi顺应性(compliance),所述的软件执行HAVi设备50到HAVi设备80的功能,这将在稍后解释。该HAVi软件包括:1394通信介质管理器,使得IEEE 1394能够通信;流管理器,管理AV数据的实时传输;消息系统,接收和发送消息;事件管理器,执行事件传递功能;设备控制模块(DCM),用于设备控制;数据驱动交互(DDI)数据,用于用户接口;和DDI控制器。对于HAVi设备50到HAVi设备80,HAVi顺应性的意思是,它们并非遵从HAVi协议,但却可以被其它HAVi设备所控制。
为方便起见,参考标号50和参考标号60现在将分别指控制设备,控制设备50和60可以控制其它的HAVi设备70和HAVi设备80,而HAVi设备70和HAVi设备80被称为受控设备。特别是,具有万维网服务器62的控制设备60将被称为服务器单元。
服务器单元60包括万维网DDI控制器61和万维网服务器62。控制设备50保持DDI数据51且具有DDI目标52。DDI数据51是树状结构的数据,具有将被用于为用户接口生成用户接口屏幕的信息。DDI目标52是控制代码,即,DCM或HAVi应用程序,需要用它们来控制受控设备70,并且用于保持或动态产生DDI数据。
万维网服务器62,通过因特网,分别与具有万维网浏览器91和万维网浏览器101的客户机90和客户机100通信。也就是说,万维网服务器62从万维网浏览器91或万维网浏览器101接收请求,将该请求发送到万维网DDI控制器61,从万维网DDI控制器61接收响应的信息,并将响应的信息发送到万维网浏览器91或万维网浏览器101。即使没有来自万维网浏览器91或万维网浏览器101的请求,万维网服务器62,使用“推压”(PUSH)技术,也可以将信息发送到客户机90和客户机100。万维网DDI控制器61分析和处理来自万维网服务器62的请求,将结果转换成可以通过万维网浏览器91和万维网浏览器101显示的文件,并且,将结果发送到万维网服务器62。
如果用户通过万维网浏览器91或万维网浏览器101请求对受控设备70的控制,万维网服务器62就将该请求发送到万维网DDI控制器61。接下来,万维网DDI控制器61,通过解析从DDI目标52接收的DDI数据51,产生用户接口屏幕,将用户接口屏幕转换成文件,例如,可以通过万维网浏览器91或万维网浏览器101来显示的超文本标记语言(HTML)文件,并且,将文件发送到万维网服务器62。万维网服务器2从万维网DDI控制器61接收文件,并将其发送到万维网浏览器91和万维网浏览器101。然后,万维网浏览器91和万维网浏览器101显示所接收的文件。结果,文件就显示在客户机90和客户机100上。通过万维网浏览器91和万维网浏览器101以及万维网服务器62,从用户接口屏幕输入的用户的控制命令被发送到万维网DDI控制器61。万维网DDI控制器61将用户的控制命令传递到DDI目标52。最后,响应用户的控制命令,DDI目标52控制受控设备70。
图3是图2的服务器单元60的例子的示意图。参考图3,内置在服务器单元60中的万维网DDI控制器61包括DDI控制器61a。DDI控制器61a,根据HAVi协议,与HAVi设备50、HAVi设备70、HAVi设备80交换HAVi消息。万维网DDI控制器61和万维网服务器62,通过应用编程接口(API)300,而相互通信。API 300是一种“方法”,用于在操作系统与应用程序之间或应用程序之间交换信息。API 300向万维网DDI控制器61发送用户的请求,所述的用户请求是万维网服务器62从万维网浏览器91和万维网浏览器101接收到的,API 300从万维网DDI控制器61接收响应的信息,并且,将响应的信息发送到万维网服务器62。万维网DDI控制器61将从API 300接收的参数,翻译成DDI控制器61a可读的形式,即,将参数转换成DDI控制器参数,并且,将结果发送到DDI控制器61a。而且,万维网DDI控制器61处理来自DDI控制器61a的响应的信息,并将结果发送到API 300。
根据本发明的API 300被分为通用API和用于万维网DDI控制器61的DDI控制器API。作为通用API的参数有TargetId、ClientId、和SessionID,而作为DDI控制器API的参数有DDIController∷Subscribe、DDIController∷Unsubscribe、DDIController∷GetPage和DDIController∷UserAction。而且,根据本发明的API 300也可以是<Client>∷NotifyPageChange,即使没有从作为客户机的万维网浏览器91和万维网浏览器101来的请求,<Client>∷NotifyPageChange也可以提供关于HAVi设备50到HAVi设备80的状态的信息。
下面是关于上述API的描述:
(a)TargetIDStruct TargetID{ Sequence<char>uri;}
TargetID用于为各种HAVi设备从各种DCM或应用程序中识别DDI目标52。通常,“uri”参数是以统一资源定位器(URL)的形式来描述的。
(b)ClientIDStruct ClientID{ Sequence<char>uri;}
当没有来自万维网浏览器91和万维网浏览器101的请求时,使用PUSH技术,来定义ClientId,以便将关于HAVi设备50到HAVi设备80上的信息发送到万维网浏览器91和万维网浏览器101。换句话说,使用ClientID,以显示DDI目标52的用户接口(UI),并识别用户可以向其输入信息的万维网浏览器91和万维网浏览器101,或同等设备。就象在TargetID中那样,根据所采用的PuSH技术,“uri”参数的形式可以有各种各样。
(c)SessionIDStruct SessionID{ SEID ddiTargetSeid; ushort sessionHandle;}
SessionId用于存储万维网浏览器91和万维网浏览器101的信息,该信息是万维网DDI控制器61要求获得的。也就是说,在万维网浏览器91和万维网浏览器101,与万维网服务器62之间设置的SessionId,是作为会话(session)和小甜点(cookie)而存储在客户机90和客户机100中的。
(d)DDIController∷SubscribeStatus DDIController∷Subscribe(IN TargetId targetId,IN ClientId clientID,Out SessionId sessionId)
DDIController∷Subscribe是一个API(应用编程接口),在其中注册用户标识符和口令,以允许用户登录进来并访问万维网服务器62。这个API可以阻止未受权用户通过万维网浏览器91和万维网浏览器101访问万维网服务器62和控制HAVi设备50到HAVi设备80。作为参数,有:作为DDI目标52的标识符的targetId、用于与用户接口的DDI目标52的标识符clientId、和由万维网DDI控制器61提供的状态标识符SessionId。详细地说,DDIController∷Subscribe用于为DDI目标52执行用户注册,即,执行DdiTarget∷Subscribe,并提供同等的sessionId,其中的DDI目标52与作为用户所请求的HAVi设备的标识符的targetId相对应。在这里,DdiTarget∷Subscribe是以HAVi协议定义的API。
(e)DDIController∷Unsubscribe Status DDIController∷Unsubscribe(IN SessionId sessionId)
DDIController∷Unsubscribe是允许用户退出的API,其中,万维网DDI控制器61设置的sessionId被用作参数。只要当客户机90和客户机100的万维网浏览器91和万维网浏览器101完成与DDI目标52的通信后,这个API就结束为通信而建立的现存的会话。
(f)Controller∷GetPage Status DDIController∷GetPage(IN SessionId sessionId,OUT String page)
Controller∷GetPage是具有诸如sessionId和page等的参数的API,通过该API户请求能通过万维网浏览器91和万维网浏览器101显示的用户接口屏幕。在这里,page表示可以将在万维网浏览器91和万维网浏览器101上显示的文件,包括所有的包含在万维网DDI控制器61的rootPabel中的DDI组件。rootPanel是以HAVi协议定义的一个数据结构,用于产生用户接口屏幕。通常,page(页)是超文本标记语言(HTML)文件,在其中,可以插入用诸如脚本语言(Script)和Java脚本语言(JavaScript)等的客户机解释程序语言编写的小型应用程序(applet)。这种API能使通过万维网浏览器91和万维网浏览器101显示的用户接口屏幕作为page来提供。
(g)DDIController∷UserAction Status DDIController∷UserAction(IN SessionId sessionId,IN Int action,OUT String page)
DDIController∷UserAction是通过用户接口屏幕发送用户控制命令输入的API。这个API具有如sessionId、action、和page等参数。在这里,action是描述将被发送到DDI目标52的用户输入的参数。由万维网DDI控制器61将action转换成DdiACtion。DdiACtion是以HAVi协议定义的参数,被提供到DDI目标52,以允许将用户的输入发送到万维网DDI控制器61。万维网DDI控制器61解析新的DDI数据,该新DDI数据,通过DDI目标51,对应于用户输入而被转换,万维网DDI控制器61还产生新用户接口屏幕的文件,并且,通过下一个page向万维网服务器62提供该文件。
(h)<Client>∷NotifyingPageChange Status<Client>∷NotifyPageChange(IN ClientId clientId,IN String page)
<Client>∷NotifyingPageChange是用于向客户机90和客户机100通知HAVi设备50到HAVi设备80的状态变化的API,且具有如clientId和page等的参数。clientID是客户机90或客户机100的标识符,其能保持与具有改变的DDI数据51的DDI目标52的会话。page表示新产生的用于包括改变的DDI数据51的用户接口屏幕。如果没有用户的请求,而DDI目标52的DDI数据51发生了改变,那么,万维网DDI控制器61就产生包含该变化的一个新的用户接口屏幕,并将该屏幕提供给万维网服务器62。然后,万维网服务器62将新的用户接口屏幕发送到万维网浏览器91和万维网浏览器101。在这里,可以使用PUSH技术。
PUSH技术包括从服务器到客户机传送信息的所有种类的技术。出于这种考虑,微软公司(Microsoft)推出了网络广播(Webcasting),是一种被因特网探索者浏览器(Internet explorer)所采用的PUSH技术,并且,Netscape公司已经在她的Netscape浏览器中增加了一个新组件,“网络播放器”(“Netcaster”),可以使用PUSH技术进行信息的发送。另外,还有其它各种各样的PUSH技术,但是关于它的国际标准尚未确定。如果提出了标准的PUSH技术,那么,可以适当地改变在本公开内容中所建议的API的PUSH参数。
下面,将参考图4、图5A和图5B,描述根据本发明的控制通过因特网连接到家庭网络上的设备的方法的优选实施例。
图4是解释用于控制通过因特网连接到家庭网络上的设备的方法的示意图。参考图4,在步骤401,在具有控制器的控制设备中安装有万维网服务器,用于控制通过因特网连接到家庭网络的设备。安装万维网服务器,以便与控制器通信,其实现将如稍后所示。
在步骤401之后,当在子步骤41,通过万维网浏览器将用户控制命令输入到万维网服务器时,在子步骤42中,万维网服务器通过因特网从万维网浏览器接收用户控制命令。其后,在子步骤43中,万维网服务器将所接收的控制命令发送到控制器,并在子步骤44,控制器将其发送相关的受控设备。接下来,在子步骤45中,响应控制命令,受控设备被驱使,并向控制器通知诸如关于其状态改变的信息的结果。在子步骤46,控制器将所接收的结果发送到万维网服务器,且在子步骤47,万维网服务器将其发送到万维网浏览器。
图5A和图5B是解释用于控制通过为因特网连接到HAVi网络的HAVi设备的受控设备50、70和80的方法,是执行图4中所解释的方法的一个例子。参考图2、图5A、和图5B,在步骤501,万维网服务器62被安装在控制设备60中,控制设备60也是一个HAVi设备且具有万维网DDI控制器61,用于通过HAVi网络控制受控设备50、设备70、和设备80,这样,万维网服务器62就可以与DDI控制器61a通信。为与DDI控制器61a通信的服务器62的安装,是通过万维网DDI控制器61和API 300来实现的。
在步骤501之后,用户在子步骤51中请求用户接口屏幕,在子步骤52中,万维网浏览器91和万维网浏览器101通过因特网将用户的请求传送到万维网服务器62。在子步骤502中,万维网服务器62通过API将用户的请求发送到万维网DDI控制器61。万维网DDI控制器61在子步骤53中通过API接收用户的请求,然后在子步骤54中将其发送到DDI目标52,DDI目标52是用于控制相关的受控设备50、设备70、或设备80的DCM或应用程序。在子步骤55中,DDI目标52将相关的用户接口屏幕发送到万维网DDI控制器61。万维网DDI控制器61在步骤503将用户接口屏幕转换成可以被万维网浏览器91和万维网浏览器101显示的格式,并在子步骤56中将被转换的用户接口屏幕发送到万维网服务器62。万维网服务器62在步骤504通过API接收用户接口屏幕,并在子步骤57通过因特网将用户接口屏幕发送到万维网浏览器91和万维网浏览器101。接下来,万维网浏览器91和万维网浏览器101在步骤505中显示用户接口屏幕。
在步骤505之后,万维网浏览器91和万维网浏览器101在步骤506中通过用户接口屏幕接收用户的输入,并在子步骤58中将其发送到万维网服务器62。接下来,在步骤507中,万维网服务器62通过API将所接收的用户的输入发送到万维网DDI控制器61。万维网DDI控制器61在子步骤59中接收用户的输入,并在子步骤60中将其发送到DDI目标52,然后,在子步骤61中将其发送到受控设备70。接下来,在步骤508,受控设备70根据用户的输入执行控制操作,并且,在子步骤62中将结果发送到DDI目标52,并在子步骤63中将其发送到万维网DDI控制器61。在子步骤63之后,在步骤509中,DDI控制器61将所接收的控制结果转换成以可以通过万维网浏览器91和万维网浏览器101显示的格式的文件,并在子步骤64中将文件发送到万维网服务器62。万维网服务器62在子步骤65中将文件通过因特网发送到万维网浏览器91和万维网浏览器101,然后,万维网浏览器91和万维网浏览器101在步骤511中显示该文件。
根据本发明的用于控制通过因特网连接到家庭网络上的设备的方法和装置,可以由计算机可执行的程序代码来实现,并且,可以被记录在计算机可读的信息存储介质上。
如上所述,根据本发明,可以通过因特网来控制连接到家庭网络上的设备。尤其是,可以通过万维网浏览器访问HAVi网络来控制HAVi设备。