数据传输系统、数据传输方法以及媒体装置的制作方法

文档序号:4060248阅读:111来源:国知局
专利名称:数据传输系统、数据传输方法以及媒体装置的制作方法
技术领域
本发明涉及一种数据传输系统、数据传输方法以及媒体装置。
背景技术
将音频设备和视频设备(以下将称作AV设备)通过网络相互耦合以相互交换视频数据或音频数据的应用场合在增加。为了耦合这些AV设备,以在这些AV设备之间执行数据传输,需要某种协议。例如,诸如利用串行总线的IEEE(电气和电子工程师学会)1394方案、超文本传输协议(HTTP)、或者实时流播协议(RTSP)这类的协议是公知的。HTTP和RTSP是基于IEEE802网络上的TCP/IP协议定义的。
用在AV设备中的协议是各种各样的。因此,使用各种协议的设备可能设置在同一网络上。因此,需要控制网络上的AV设备之间数据传输的程序与不同的协议兼容。一种实现该程序的协议是通用即插即用(UPnP)协议。具体地,UPnP AV协议用于将AV设备相互连接在一起。
在UPnP AV协议中,通过利用虚拟连接的概念来执行AV设备之间的AV数据传输。尽管虚拟连接与设备的实际传输路径或输入/输出插件相联系,但是在UPnP AV协议中,以虚拟连接不依赖于实际传输路径或传输协议的方式来处理虚拟连接。由UPnP AV执行的AV数据传输和控制是利用虚拟连接来管理的。即,通过将虚拟连接用作自变量(argument)来控制AV数据传输。
然而,用在UPnP AV中的传统的虚拟连接并不总是与实际AV数据传输相关。为此,对AV数据传输的管理和控制常常不能有效地执行。
例如,在IEEE 1394协议中,通过在AV设备的输入插件和另一个AV设备的输出插件之间建立连续的连接来执行通信。在这种情况下,实际连接和虚拟连接可以容易地相互联系。这是因为实际连接是预先建立的,并且可以使虚拟连接和实际连接相联系。更具体地,可以理解,虚拟连接的两端与一个实际AV设备的输入插件以及另一个实际AV设备的输出插件相联系,并且可以理解,在实际连接继续期间执行数据传输,使得虚拟连接也继续。
另一方面,在HTTP协议中,当建立虚拟连接时,不建立任何实际连接。在建立虚拟连接之后,当UPnP AV的AV传输服务的SetAvTransportURI()动作、播放动作和来自于AV数据传输的再现方或者传输方的传输请求被执行时,建立实际连接。在建立实际连接时,通过控制点的控制,在媒体呈现器(media renderer)和媒体服务器中,可以基于虚拟连接ID和URI将虚拟连接以及实际连接相互联系在一起,其中该ID和URI是SetAvTransportURI动作的自变量(argument)。然而,对于作为另一方的媒体服务器或媒体呈现器,没有涉及虚拟连接和实际连接的信息。在这里,媒体呈现器是再现多媒体数据的设备,媒体服务器是向媒体呈现器提供多媒体数据的设备。控制点是控制媒体呈现器和媒体服务器的设备。
该问题已经被指出。例如,在参考文献“Designing a UPnP AVMedia Renderer v1.0 Intel Corporation,2003”的5.4章至5.6章中,描述了虚拟连接和实际连接必须相互联系。然而,在该参考文献中没有描述任何具体的方法。此外,在参考文献“Designing a UPnP AV MediaServer v1.0 Intel Corporation,2003”的5.14.1部分中,描述了当使用HTTP_SET传送内容时,虚拟连接和实际连接不能相互联系。公开号为2002-304333的日本专利申请“传输方法和传输装置”解释了用在UPnP AV中的内容搜索、内容传输以及内容再现的程序。该参考文献没有提到虚拟连接和实际连接之间的任何联系。

发明内容
根据本发明的一个方面,提供了一种数据传输系统,包括根据预定的传输协议相互通信的第一和第二媒体设备,以及根据UPnP AV协议控制第一和第二媒体设备的控制设备。该控制设备包括虚拟连接建立装置,根据UPnP AV协议在第一和第二媒体设备之间建立虚拟连接;以及通信控制器,向第一媒体设备发送指令数据,用于指示第一媒体设备通过利用虚拟连接从第二媒体设备接收媒体数据或者向第二媒体设备发送媒体数据;第一媒体设备包括实际连接建立请求装置,生成实际连接建立请求,用于请求第二媒体设备建立实际连接,以在接收指令数据的情况下接收或发送媒体数据,并且该实际连接建立请求装置向第二媒体设备发送实际连接建立请求,该实际连接建立请求包括虚拟连接的信息;以及第一通信装置,通过利用建立的实际连接,接收来自第二媒体设备的媒体数据或者将媒体数据发送到第二媒体设备;第二媒体设备包括实际连接建立装置,基于来自第一媒体设备的实际连接建立请求,建立与第一媒体设备的实际连接,建立的实际连接与虚拟连接相联系;和第二通信装置,通过利用建立的实际连接将媒体数据发送到第一媒体设备或从第一媒体设备接收媒体数据。
根据本发明的一个方面,提供了一种数据传输方法,该方法利用根据预定的传输协议相互通信的第一和第二媒体设备以及基于UPnPAV协议控制第一和第二媒体设备的控制设备,该方法包括在控制设备的控制下,在第一和第二媒体设备之间建立虚拟连接;将实际连接建立请求从第一媒体设备发送到第二媒体设备,该实际连接请求包括虚拟连接的信息;在第一和第二媒体设备之间建立实际连接,该建立的实际连接与虚拟连接相联系;以及利用建立的实际连接,将媒体数据从第二媒体设备发送到第一媒体设备,或者将媒体数据从第一媒体设备发送到第二媒体设备。
根据本发明的一个方面,提供了一种媒体设备,根据预定的传输协议与另一个媒体设备进行通信,并且由控制设备根据UPnP AV协议来控制,该媒体设备包括虚拟连接建立装置,在从控制设备接收到指示建立虚拟连接的指令的情况下,与所述另一个媒体设备建立虚拟连接;请求生成装置,在控制设备指示该请求生成装置通过利用的虚拟连接从所述另一个媒体设备接收媒体数据或者向所述另一个媒体设备发送媒体数据时,该请求生成装置生成请求,用于请求所述另一个媒体设备建立实际连接,以接收或发送媒体数据,该请求包括建立的虚拟连接的信息;请求发送装置,其将生成的请求发送到所述另一个媒体设备,其中该生成的请求包括建立的虚拟连接的信息;以及数据通信装置,在建立了实际连接的情况下,该数据通信装置利用建立的实际连接从所述另一媒体设备接收媒体数据或者向所述另一媒体设备发送媒体数据。
根据本发明的一个方面,提供了一种媒体设备,该媒体设备根据预定的传输协议与另一个媒体设备进行通信,并且由控制设备根据UPnP AV协议来控制,该媒体设备包括虚拟连接建立装置,在从控制设备接收到指示建立虚拟连接的指令时,该虚拟连接建立装置与所述另一个媒体设备建立虚拟连接,并且将建立的虚拟连接的信息发送到控制设备;请求接收装置,其从所述另一个媒体设备接收实际连接建立请求,以向所述另一个媒体设备发送媒体数据或者从所述另一个媒体设备接收数据;实际连接建立装置,在建立的虚拟连接的信息包括在所述建立请求中的情况下,该实际连接建立装置建立与虚拟连接有关的实际连接;以及数据通信装置,该数据通信装置利用实际连接将媒体数据发送到所述另一媒体设备或者从所述另一媒体设备接收媒体数据。


图1是表示根据本发明的传输系统的例子的框图;图2是表示虚拟连接信息和实际连接信息的基本格式的图表;图3是表示由图1中的传输系统执行的基本操作的序列表;图4表示虚拟连接信息生成进程的流程的流程图;图5是表示虚拟连接信息的具体实例的图表;图6是表示虚拟连接信息生成进程的另一个实例的流程的流程图;图7是表示媒体呈现器MR侧的实际连接建立进程的流程的流程图;图8是表示媒体服务器MS侧的实际连接建立进程的流程的流程图;图9是用于说明第一连接释放进程的流程的流程图;图10是用于说明第二连接释放进程的流程的流程图;图11是用于说明最终非活动转换时间(last inactivity shift time)的更新进程的流程的流程图;图12是用于说明第三连接释放进程的流程的流程图;图13是用于说明第四连接释放进程的流程的流程图;以及图14是表示虚拟连接信息和实际连接信息的具体实例的图表。
具体实施例方式
图1是表示根据本发明的传输系统的范例的框图。媒体服务器MS、媒体呈现器MR以及控制点CP通过网络例如家庭网络相互连接在一起。媒体服务器MS、媒体呈现器MR以及控制点CP可以根据UPnP AV协议来执行程序。UPnP AV协议和涉及UPnP AV协议的规范在例如“http//www.upnp.org/standardizeddcps/mediaserver.asp”“UPnP AVArchiteture v0.83,June 12,2002”,“Connection Managerv1.0,June 25,2002”,“Designing a UPnP AV Media Renderer V1.0,Intel Corporation,2003(http//www.intel.com/technology/upnp/download/Designing_a_UPnP_AV_MediaRenderer_v1_0-XF.pdf)”,“Designing a UPnP AV Media Server V1.0,Intel Corporation,2003(http//www.intel.com/technology/upnp/download/Designing_a_UPnP_AV_Mediaserver_v1_0-XF.pdf)”中进行了描述。
在附图1中,媒体服务器MS是例如DVD播放器、CD播放器、卫星广播接收器、有线电视接收器等。媒体服务器MS中的媒体源存储单元21存储媒体呈现器MR将再现的内容。
媒体呈现器MR是例如电视机、立体音响、扩音器、移动音频播放器等。媒体呈现器MR中的再现装置31再现通过网络从媒体服务器MS获取的数据内容。
控制点CP控制媒体服务器MS和媒体呈现器MR。控制点CP可以由用户通过例如输入接口(未示出)来操作。
媒体服务器MS中的实际连接管理单元22通过实际数据通信路径11执行与媒体呈现器MR中的实际连接管理单元32的数据通信。更具体地,在实际数据通信路径11中,实际连接管理单元22形成与实际连接管理单元32的实际连接,以传输AV数据。实际连接管理单元22和32管理作为实际连接信息的实际连接的状态。
媒体服务器MS中的虚拟连接管理单元23和媒体呈现器MR中的虚拟连接管理单元33执行UPnP AV协议的AV传输服务(AVTS)和连接管理服务(CMS)的操作。虚拟连接管理单元23和33根据UPnP,通过UPnP通信路径12,与控制点CP一起执行各种处理。UPnP通信路径12和实际数据通信路径11可以包括在例如相同的传输介质(例如电缆)中,或者可以包括在不同的传输介质中。根据控制点CP执行的指令(连接管理器服务中的PrepareForConnectin()动作的执行指令)虚拟连接管理单元23和33生成虚拟连接信息。以这种方式,在虚拟连接管理单元23和33之间的UPnP通信路径上,控制点CP形成虚拟连接。虚拟连接管理单元23和33管理各自生成的虚拟连接信息。在虚拟连接管理单元23和33之间可以形成多个虚拟连接。在这种情况下,每个虚拟连接管理单元23和33生成并管理多条虚拟连接信息。
媒体服务器MS中的内容目录服务单元(CDS)25传输信息诸如可以供应给媒体呈现器MR的各种内容数据的标识符、与内容数据兼容的传输协议、以及与内容数据兼容的数据格式,这取决于来自于控制点CP的请求。
媒体服务器MS中的连接映射(connection map)24以及媒体呈现器MR中的连接映射34管理形成实际连接的资源的单元作为信道。在该实施例中,连接映射24具有7个信道24(1)至24(7),并且连接映射34也具有7个信道34(1)至34(7)。每个信道包括注册在信道中的一对虚拟连接信息和实际连接信息。
图2表示虚拟连接信息和实际连接信息的基本格式。
虚拟连接信息是连接管理器规范中所示的下列四条信息的集合。
同等管理器(Peer Manager)另一方设备的标识符(UDN唯一设备名称)同等服务ID(Peer Service Id)另一方设备的连接管理器服务的服务ID(服务Id)。
同等连接ID(Peer Connection ID)由另一方设备的连接管理器发布的虚拟连接ID。
连接ID(Connection ID)由自身设备的连接管理器服务发布的虚拟连接ID。
这里,自身设备是媒体服务器MS或媒体呈现器MR,另一方设备是用于媒体服务器MS的媒体呈现器MR或用于媒体呈现器MR的媒体服务器MS。
在下列的描述中,媒体服务器MS的UDN由“uuidE6CAB760-6863-43e8-8184-CC22FB4CB62C”给出,并且媒体呈现器MR的UDN是由“uuidB7DA4840-C028-4259-A56D-59551C79BF30”给出的。每个媒体服务器MS和媒体呈现器MR中的连接管理器服务的服务Id是由相同的“urnupnp-orgserviceIdConnectionManager”给出的。
另一方面,实际连接信息是下列三条信息的集合。
句柄(handle)实际连接的标识符。
状态表示实际连接的状态的(活动的或非活动的)标记。
最终关闭时间实际连接最终变为非活动(例如由传输协议获得的连接断开、数据不流动达到预定的一段时间等)的时间(最终非活动转换时间)。
在每个信道中,当虚拟连接信息和实际连接信息没有注册时,意味着该信道没有用在虚拟连接管理单元中和实际连接管理单元中。例如,这对应于虚拟连接和实际连接没有建立的情况。
另一方面,当注册了虚拟连接信息和实际连接信息时,意味着该信道用在了虚拟连接管理单元中和实际连接管理单元中。这对应于已经建立虚拟连接和实际连接的情况。
当只有虚拟连接信息注册时,这意味着尽管信道已经由虚拟连接管理单元使用,但该信道没有被实际连接管理单元使用。例如,这对应于尽管已经建立了虚拟信道,而没有建立实际信道的情况。
另外,当只有实际连接信息注册时,这意味着尽管信道已经由实际连接管理单元使用,但该信道没有被虚拟连接管理单元使用。例如,这对应于尽管没有由虚拟连接管理单元建立虚拟信道,但建立了实际信道的情况。更具体地,这对应于不用UPnP AV的连接管理器服务而建立对另一方的传输路径的情况。
图3是表示由图1中的传输系统执行的基本操作的序列表。
媒体服务器MS中的http服务器包括例如图1中所示的实际连接单元22,UPnP单元包括虚拟连接管理单元23。媒体呈现器MR中的http客户端包括例如图1中所示的再现装置31和实际连接管理单元32,UPnP单元包括虚拟连接管理单元33。
控制点CP命令媒体服务器MS中的内容目录服务单元25执行Brower()动作(步骤S11)。被命令执行Brower()动作的内容目录服务单元25向控制点CP给出信息诸如媒体源存储单元21中保持的内容数据的标识符(URI)、与内容数据兼容的传输协议以及与内容数据兼容的数据格式。
控制点CP命令媒体呈现器MR中的虚拟连接管理单元33的控制管理器服务执行GetProtocolInfo()动作(步骤S12)。被命令执行GetProtocolInfo()动作的虚拟连接管理单元33向控制点CP给出信息诸如兼容的传输协议和兼容的数据格式。
控制点CP命令媒体服务器MS中的虚拟连接管理单元23的连接管理器服务执行准备连接动作(PFC()动作)(步骤S13)。这时,作为自变量,给出分配在媒体呈现器中的媒体呈现器MR的UDN、连接管理器服务的服务ID以及虚拟连接ID(PeerConnectionID)。根据UPnP协议,通过多点传输预先将UDN和服务Id从媒体呈现器MR告知控制CP。另一方面,关于同等连接ID,由于虚拟连接信息这时没有注册在媒体呈现器中作为媒体呈现器MR的虚拟连接ID,从控制点CP给出“-1”或“0”,其中该虚拟连接ID是当控制点CP调用媒体服务器MS的连接管理器服务的PFC()动作时使用的自变量的其中之一。被控制点CP命令执行PFC()动作的媒体服务器MS中的虚拟连接管理单元23执行如图4中流程图所示的虚拟连接信息生成进程。
搜索连接映射24寻找可用的(空闲的)信道(步骤A1)。可用的(空闲的)信道是虚拟连接信息和实际连接信息都没有注册的信道。
当存在可用的信道时(步骤A2中是),获取一个信道,并生成虚拟连接ID(步骤A3)。
生成的虚拟连接ID注册在该信道中,作为PFC()动作的自变量而给出的UDN和服务Id也注册在该信道中。以这种方式,更新连接映射24(步骤A4)。在这种情况下,假定“25”作为虚拟连接ID(ConnectionID)分配给获取的信道,并且假定“uuidE6CAB760-6863-43e8-8184-CC22FB4CB62C”注册为UDN(PeerManager)以及“urnupnp-orgserviceIdConnectionManager”注册为服务器ID(PeerServiceId)。由于虚拟连接信息这时没有注册在媒体呈现器MR中,假定作为媒体呈现器MR的虚拟连接ID(PeerConenctionID),注册上述的“-1”。图5表示注册为虚拟连接信息的内容。从图5显而易见的是,实际连接信息没有注册(句柄是空的)。媒体服务器MS将注册的虚拟连接信息返回给控制点CP。
当在步骤A2中没有可用的信道时(在步骤A2中否),作为PFC()动作的执行结果,将错误返回给控制点CP(步骤A5)。代替返回错误,可以释放使用中的信道,并且可以将虚拟连接信息注册在释放的信道中。在该种情况下执行的处理步骤如图6中的流程图所示。
更具体地,当没有可用的信道时(在步骤A2中否),搜索没有注册实际连接信息的信道(步骤A6)。当存在这种信道时(步骤A7中是),释放找到的信道(步骤A12),并且流程返回步骤A1。
当不能找到没有注册实际连接信息的信道时(步骤A7中否),即,当实际连接信息注册在了所有的信道中时,从这些信道中搜索没有注册虚拟信息的信道(步骤A8)。当找到该信道时(步骤A9中是),释放找到的信道(步骤A12),流程返回步骤A1。
当不能找到没有注册虚拟连接信息的信道时(步骤A9中否),即,当虚拟连接信息和实际连接信息都注册在所有的信道中时,搜索其上的实际连接的非活动时间是预定的一段时间或更长的信道(步骤A10)。当找到这样的信道时(步骤A11中是),释放找到的信道(步骤A12),并且流程返回步骤A1。当没有找到这样的信道时(步骤A11中否),返回错误(步骤A5)。
回到附图3,控制点CP同样地命令媒体呈现器MR中的虚拟连接管理单元33的连接管理器服务执行PrepareForconnection()动作(PFC()动作)(步骤S14)。这时,作为自变量,媒体服务器MS的UDN、连接管理器服务的服务ID以及虚拟连接ID包括在步骤S13中从媒体服务器MS接收的虚拟连接信息中,并由媒体服务器MS的连接管理器服务来分配。根据UPnP,通过多点传输,媒体服务器MS预先将媒体服务器MS的UDN和服务ID告知控制点CP。被控制点CP命令去执行PFC()动作的媒体呈现器MR中的虚拟连接管理单元33执行上述的附图4或6中的流程图中所示的进程。当虚拟信道信息可以注册在连接映射34上的信道中时,媒体呈现器将虚拟信道信息返回给控制点CP。
作为实例,在媒体呈现器MR的连接管理器服务中,假定分配了“ConnectionID=3”。因此,媒体呈现器MR方的虚拟连接信息由以下给出PeerManager=“uuidE6CAB760-6863-43e8-8184-CC22FB4CB62C”PeerServiceID=“urnupnp-orgserviceIdConnectionManager”PeerConnectionID=“25”ConnectionID=“3”以这种方式,建立媒体服务器MS中的虚拟连接管理单元23和媒体呈现器MR中的虚拟连接管理单元33之间的虚拟连接。
控制点CP命令媒体呈现器MR执行AV传输服务的SetAVTransport URI()动作。这时,作为自变量,控制点CP给出预先从媒体呈现器MR获取的虚拟连接信息。作为SetAVTransportURI()动作的执行结果,媒体呈现器MR从控制点CP获取由控制点CP的用户指定的内容数据的URI。
控制点CP命令媒体呈现器MR执行AV传输服务的Play()动作(步骤S16)。这时,作为自变量,控制点CP也给出预先从媒体呈现器MR获取的虚拟连接信息。作为Play()动作的执行结果,媒体呈现器MR从媒体服务器MS获取内容数据,以再现该内容数据,该内容数据具有由步骤S15中控制点CP给出的URI。
更具体地,媒体呈现器MR中的实际连接管理单元32对媒体服务器MS中的实际连接管理单元22建立实际连接(步骤S17和S18)。
图7是表示媒体呈现器MR侧的实际连接建立进程(步骤S17)的流程的流程图。
媒体呈现器MR中的实际连接管理单元32搜索连接映射34以便寻找一条信道,当命令实际连接管理单元32执行SetAVTransportURI()动作或者Play()动作时从控制点CP接收的虚拟连接信息注册在该信道中(步骤B1)。
当找到该信道时(步骤B2中是),将实际连接信息注册在该信道中(步骤S3)。更具体地,将识别实际连接的值设置在句柄字段中(见图2),将状态字段设为非活动,并且将合适的初始值设置在最终关闭时间字段中。
实际连接管理单元32将实际连接建立请求传输到媒体服务器MS的实际连接管理单元22中(步骤B4),其中该实际连接建立请求包括虚拟连接信息。更具体地,通过HTTP的GET(获取)请求来传输实际连接建立请求。在该请求中,例如,将下列的几条信息添加到GET请求的请求报头字段的用户定义的字段中。
Get/foo/bar.mpgHTTP/1.0X-AV-ConnectionInfoPeerUDN=uuidE6CAB760-6863-43e8-8184-CC22FB4CB62C;PeerServiceID=urnupnp-orgserviceIdConnectionManager;PeerConnectionID=25UDN=uuidB7DA4840-C028-4259-A56D-59551C79BF30;ServiceID=urnupnp-orgserviceIdConnectionManager;ConnectionID=3该实例包括有全部的请求报头。“X-AV-ConnectionInfo”至“ConnectionID=25”部分表达为一行。在该实例中,与实际连接建立请求相联系的虚拟连接信息存储在X-AV-ConnectionInfo字段中。X-AV-ConnectionInfo字段由分号(;)分割开的六部分组成。在四部分中,即PeerUDN、PeerServiceId、PeerConnecionID以及ConnecionID,将与由媒体呈现器MR管理并且在步骤S14分配的虚拟连接信息的PeerManager、PeerServiceID、PeerConneeionID以及ConnecionID对应的值隐藏。在两个剩余的部分,即UDN和ServieeId中,将保持有虚拟连接信息的媒体呈现器的UDN和连接管理器服务的ServiceId隐藏。确保了由以前的四个部分表达的虚拟连接信息的唯一性。由于X-AV-ConneetionInfo字段没有包括在标准的规范中并且是由用户定义的,没有采用本发明的HTTP服务器以忽略该字段的方式来执行进程。这时,没有以任何方式阻塞HTTP服务器。
回到附图7,媒体呈现器MR中的传输实际连接建立请求的实际连接管理单元32等待来自于媒体服务器MS中的实际连接管理单元22的响应(步骤B5)。当从实际连接管理单元22告知实际连接管理单元32注册了实际连接信息时,即,当在实际连接管理单元22和32之间建立实际连接时,更新连接映射(步骤B6)。即,激活信道上的状态字段。此后,媒体呈现器MR中的实际连接管理单元32根据HTTP从媒体服务器MS中的实际连接管理单元22接收内容数据并再现接收到的内容数据。
当在步骤S2中没有获取信道时(步骤B2中否),媒体呈现器MR向控制点CP返回错误(步骤B7)。
图8是表示媒体服务器MS侧的实际连接建立进程(图3中步骤S18)的流程的流程图。
媒体服务器MS中的接收附图7步骤B4中的实际连接建立请求(步骤C1)的实际连接管理单元22从接收到的建立请求中提取虚拟连接信息(步骤C2)。
实际连接管理单元22搜索连接映射24寻找对应于被提取的虚拟连接信息的信道(步骤C3中是、步骤C4)。例如,实际连接管理单元22搜索连接映射24寻找一信道,该信道包括有与媒体服务器MS的连接ID的值相同的值,该媒体服务器MS的连接ID的值包括在虚拟连接信息中。
在这种情况下,分配在媒体呈现器MR中并包括在从步骤C3提取的虚拟连接信息中的ConnectionID(在X-AV-ConnectionInfo中)是“3”。这与媒体呈现器MR侧的由媒体服务器MS识别的ConnectionID(=Peer ConnectionID)=“-1”不同。该区别是基于当由控制点CP调用媒体服务器MS和媒体呈现器MR的PFC()动作时自变量内容之间的差异。在媒体服务器MS中,这种区别是可以忽略的。
当不存在相应的信道时(步骤C5中否)或者当实际连接的建立请求不包括虚拟连接信息时(步骤C3中否),搜索可用的信道(步骤C6和C7)。
当在步骤C5或C7中可以获取信道时(步骤C5中是,步骤C5中是),实际连接管理单元22更新获取的信道中的实际连接信息(步骤C8)。即,将识别实际连接的值设置在句柄字段中,激活状态字段,在最终关闭时间字段中设置合适的初始值。这里,假定虚拟连接信息包括在步骤C3中,并且假定如图14所示的信息注册为实际连接信息。
当虚拟连接信息不包括在步骤C3中时(步骤C3中否),流程继续步骤C6,注册实际连接信息而不将其与虚拟连接信息相联系。即,确定实际连接的建立请求不是基于预留的虚拟连接。更新连接映射而不将其与特定的虚拟连接相联系。以这种方式,可以保持与基于传统的方法操作的另一方设备的连接兼容性。可以处理与特定的虚拟连接没有联系的实际连接,使得在建立之后,降低维护实际连接的优先权(见附图6中步骤A8和A9)。
注册了实际连接信息的实际连接管理单元22响应媒体呈现器MR中的实际连接管理单元32,以告知实际连接管理单元32实际连接已建立在实际连接管理单元22和媒体呈现器MR中的实际连接管理单元32之间(步骤C10)。
当实际连接管理单元22告知媒体呈现器MR实际连接已建立时,通过下列方式,实际连接管理单元22将媒体服务器侧的虚拟连接信息隐藏进HTTP GET响应报头字段。该实例包括整个响应报头。X-AV-ConnectionInfo”至“Connection=25”部分由一行来表达。HTTP/1.1 200 OKDateMON,29 Mar 2004 05:37;17 GMTServerApache/1.3.29(Unix)Last-ModifiedThu,25 Jul 2002 06:51:36 GMTEtag”7e0aa2-bf8-3d3f9ff8”Accept-RangesbytesContent-Lenghth3064000ConnectioncloseContent-Typevideo/mpegX-AV-ConnectionInfoPeerUDN=uuidB7DA4840-C028-4259-A56D-59551C79BF30;PeerServiceId=urnupnp-orgserviceIdConnectionManager;PeerConnectionID=-1;UDN=uuidE6CAB760-6863-43e8-8184-CC22FB4CB62C;ServiceId=urnupnp-orgserviceIdConnectionManager;ConnectionID=25该内容基本上与隐藏进步骤B4中的GET请求中的信息相同。然而,该内容与隐藏进GET请求中的信息不同之处在于该内容具有来自于HTTP服务器,即媒体服务器MS侧,的视点。HTTP客户端,即媒体呈现器,通过接收虚拟连接信息,可以认识到在另一方设备中虚拟连接和实际连接相联系。
由媒体服务器MS识别的媒体呈现器MR方的ConnectionID(在X-AV-ConnectionInfo中的PeerConnectionID)是“-1”,并且与分配在媒体呈现器MR中的ConnectionID=“3”不同。该区别是基于当由控制点CP调用媒体服务器MS和媒体呈现器MR的PFC()动作时使用的自变量内容的差异。在媒体呈现器MR中,这种区别可以忽略。
当来自于媒体服务器MS的响应是通过步骤C7中的“是”执行的进程的结果时,媒体服务器MS中的实际连接信息并不与虚拟连接信息恰当地相关联。结果,存储在X-AV-ConnectionInfo中的信息可能是不完全的,或者可能没有X-AV-ConnectionInfo字段。在这种情况下,媒体呈现器MR可以认识到,尽管可以建立实际连接,但该实际连接不能和媒体服务器MS中的虚拟连接相联系。
在上述的系列程序中,可以用来辨别虚拟连接的唯一性的信息可以只限定到分配在媒体服务器MS中的ConnectionID,重要的信息被指定到该ConnectionID,该ConnectionID由媒体服务器MS和媒体呈现器MR来辨别,在两种设备中其具有匹配的值。
在这种情况下,虚拟连接信息被定义为一组ConnectionID,该虚拟连接信息是诸如由媒体服务器MS和媒体呈现器MR管理的并且与实际连接信息有关的信息以及诸如在步骤B4和C10中存储在X-AV-ConnectionInfo中的信息,该ConnectionID被识别用来分配在媒体服务器MS、媒体服务器MS的UDN和serviceID、媒体服务器MS和媒体呈现器MR这二者中,并且可以执行上述的系列进程。
而且,另一个虚拟连接信息可以由任意条信息或多条信息的组合构成。
返回到附图8,当在步骤C7中不能获取信道时(步骤C7中否),实际连接管理单元22响应媒体呈现器MR中的实际连接管理单元32,以告知实际连接管理单元32实际连接建立失败(步骤C9)。
返回到附图3,根据例如用户的指令,控制点CP命令媒体服务器MS和媒体呈现器MR中的虚拟连接管理单元23和33执行ConnectionComplete()动作(步骤S19和S20)。这时,各自的虚拟连接信息被指定到虚拟连接管理单元23和33。以这种方式,与指定的虚拟连接信息对应的虚拟连接以及与虚拟连接相关的实际连接被释放(连接释放进程)。
图9是用于解释连接释放进程(第一连接释放进程)的流程的流程图。下列的进程分别在媒体服务器MS和媒体呈现器MR中执行。
在连接映射上搜索包括由控制点CP指定的虚拟连接信息的信道(步骤D1)。
当找到该信道时(步骤D2中是),将虚拟连接信息从该信道上删除(虚拟连接被释放)(步骤D3)。
将与被删除的虚拟连接信息相对应的实际连接信息从该信道上删除(例如,至少句柄为空,并且状态为非活动)(实际连接被释放)(步骤D4)。在执行数据传输的情况下,数据传输停止后,删除实际连接信息。以这种方式,释放该信道。
当在步骤D2中没有找到信道时(步骤D2中否),将错误返回到控制点CP(步骤D5)。
在上述的第一连接释放进程中,控制点CP使得媒体服务器MS和媒体呈现器MR执行ConnectionComplete()动作,以明确定释放该连接,就是说,由用户通过指令释放了该连接。以下将描述自动释放该连接。
图10是用于解释连接的自动释放进程(第二连接释放进程)的流程的流程图。
媒体服务器MS和媒体呈现器MR中的虚拟连接管理单元23和33选择一个信道(步骤E1)以确定是否注册了实际连接信息(步骤E2)。
当注册了实际连接信息时(步骤E2中是),判断该实际连接是活动的或者是非活动的。
当该实际连接是非活动的时(步骤E3中是),基于包括在实际连接信息中的最终非活动转换时间计算“最终非活动转换时间+暂停时间(time out)-现在时间”(步骤E4)。暂停时间是预定的值。尽管实际连接是非活动的,但是在由暂停时间表示的时间中虚拟连接继续。这在反复建立以及断开再现进程中的连接中是有效的。
当计算的值为0或大于0时(步骤E4为是),即在最终非活动转换时间之后经过暂停时间后,根据附图9中的流程图执行连接释放进程(步骤E5)。
当在步骤E2中实际连接信息没有注册时(步骤E2为否)、当在在步骤E3中实际连接激活时(步骤E3中否),以及当在步骤E4中计算的值小于0时(步骤E4中是),如果进程继续(步骤E6中是),则选择下一个信道(步骤E1)执行上述的相同进程。
图11是用于解释最终非活动转换时间的更新进程的流程图。
当实际连接的状态转移到非活动状态时(步骤F1),媒体服务器MS和媒体呈现器MR中的实际连接管理单元22和32搜索连接映射寻找与实际连接相对应的信道(步骤F2)。
当虚拟连接信息没有注册在找到的信道中时(步骤F3中否),以与附图9中步骤D4相同的方式删除实际连接信息,以释放该信道(步骤F6)。
另一方面,当虚拟连接信息注册在找到的信道中时(步骤F3中是),激活实际连接信息中的状态字段(步骤F4),并且更新最终关闭时间字段中的最终非活动转换时间(步骤F5)。
在这种情况下,尽管也可以根据第一和第二连接释放进程(见附图9和10)来执行该连接释放进程,但可以以附图12和13中的流程图所示的方式,通过向媒体服务器MS和媒体呈现器MR添加UPnP控制点的功能来执行该连接释放进程。
附图12是用于解释第三连接释放进程的流程的流程图。
媒体服务器MS或者媒体呈现器MR从媒体呈现器MR、媒体服务器MS或者外围的UPnP设备(媒体服务器或者媒体呈现器)接收结束通知(例如SSDP再见)(步骤G1)。该结束通知包括该设备的UDN等。
提取包括在结束通知中的该UDN来搜索连接映射,以检查是否存在具有提取的UDN的信道(步骤G2和G3)。
当找到信道时(步骤G4中是),根据附图9中的流程图释放该信道(步骤G5)。当没有找到该信道时(步骤G4中否),不执行任何特殊的进程。
附图13是用于解释第四连接释放进程的流程的流程图。
媒体服务器MS或者媒体呈现器MR从连接映射中选择信道(步骤H1)。当虚拟连接信息注册在该选择的信道中时(步骤H2中是),执行SSDP发现(搜索UPnP的搜索程序)来发现虚拟信道信息中的UDN(步骤H3和H4)。
当不能从具有该UDN的设备获取响应时(步骤H5中否),确定该设备没有连接到网络,并且释放该信道(步骤H6)。
当在步骤H2中没有注册虚拟连接信息时(步骤H2中否)、当在步骤H5中获得响应时(步骤H5中是)以及当在步骤H6之后进程继续时(步骤H7中是),选择下一个信道(步骤H1)。
以这种方式,当另一个设备的动作结束或者没有由如图12和13所示的程序认出时,可以释放分配到另一个设备的信道。
在上述的实施例中,执行拉式(Pull-type)流传输,其中从媒体再现方诸如HTTP-GET向媒体供应方建立实际连接,以请求数据传输。然而,本发明也可以应用到推式(Push-type)流传输。在这种情况下,在传统的方法中,用作媒体发送方的媒体服务器方,在建立实际连接中,将实际连接与虚拟连接相联系。在媒体再现方的媒体呈现器中,根据本发明虚拟连接可以与实际资源相联系。
本发明可以应用于协议,在该协议中虚拟连接信息隐藏在实际连接的建立中,并且可以提取隐藏的虚拟连接信息。例如,当使用RTSP/RTP/UDP时,可以将用户定义的报头添加到RTSP中。因此,当虚拟连接隐藏在RTSP中时,可以应用本发明。
认为该实施例与用在网络应用程序中的cookie或者会话ID类似。然而,它们之间的区别之一是,例如,在正常的网络应用程序中,只在服务器和客户端之间交换会话信息。与此形成对比的是,在该实施例中,控制点可以在服务器和客户端之间传输会话信息。
在上述的描述中,如图1所示的部件的所有或一些功能可以实现为硬件、可以通过使计算机执行由通常的编程技术生成的程序来实现、或者可以由上述两种方式来实现。
如上所述,根据该实施例,在实际连接的建立过程中,将虚拟连接信息传输到另一方设备。为此,尽管实际连接是在形成虚拟连接之后形成的,但实际连接和虚拟连接可以相互联系。因此,可以通过虚拟连接对实际连接进行适当的控制。
根据该实施例,基于从虚拟连接信息提取的另一方设备的标识符(UDN),识别另一方设备的动作状态。当确定另一方设备处于非活动的状态时,释放该信道。因此,可以适当地执行信道管理。
根据该实施例,从实际连接的最终非活动转换时间开始预定的一段时间或更长时间后,释放该信道。因此,可以适当地执行信道管理。
根据该实施例,当虚拟连接信息没有包括在实际连接的建立请求中时,不将注册在虚拟连接建立中的信道分配到建立请求(见步骤C6和C7中的否)。更适当地执行基于UPnP AV协议的数据传输。
权利要求
1.一种数据传输系统,包括根据预定的传输协议相互通信的第一和第二媒体设备,以及根据UPnP AV协议控制第一和第二媒体设备的控制设备,该控制设备包括虚拟连接建立装置,根据UPnP AV协议在第一和第二媒体设备之间建立虚拟连接;以及通信控制器,向第一媒体设备发送指令数据,用于指示第一媒体设备通过利用虚拟连接从第二媒体设备接收媒体数据或者向第二媒体设备发送媒体数据;第一媒体设备包括实际连接建立请求装置,生成实际连接建立请求,用于请求第二媒体设备建立实际连接,以在接收到指令数据的情况下接收或发送媒体数据,并且该实际连接建立请求装置向第二媒体设备发送实际连接建立请求,该实际连接建立请求包括虚拟连接的信息;以及第一通信装置,通过利用建立的实际连接,接收来自第二媒体设备的媒体数据或者将媒体数据发送到第二媒体设备;第二媒体设备包括实际连接建立装置,基于来自第一媒体设备的实际连接建立请求,建立与第一媒体设备的实际连接,建立的实际连接与虚拟连接相联系;和第二通信装置,通过利用建立的实际连接将媒体数据发送到第一媒体设备或从第一媒体设备接收媒体数据。
2.根据权利要求1的数据传输系统,其中控制设备中的虚拟连接建立装置具有第一指示装置,其将指示生成第二媒体设备侧虚拟连接信息的第一指令发送到第二媒体设备;以及第二指示装置,在从第二媒体设备接收到第二媒体设备侧虚拟连接信息的情况下,将指示生成第一媒体设备侧虚拟连接信息的第二指令发送到第一媒体设备,该第二指令包括第二媒体设备侧虚拟连接信息;第二媒体设备进一步包括第一分配装置,在接收到第一指令的情况下,生成第二媒体设备侧虚拟连接信息,并且将生成的第二媒体设备侧虚拟连接信息分配给第二媒体设备侧通信资源之一;以及信息发送装置,将生成的第二媒体设备侧虚拟连接信息发送到控制设备;第一媒体设备进一步包括第二分配装置,在接收到第二指令的情况下,生成第一媒体设备侧虚拟连接信息,将生成的第一媒体设备侧虚拟连接信息分配给第一媒体设备侧通信资源之一;以及第三分配装置,在从控制设备接收到指令数据的情况下,生成第一媒体设备侧实际连接信息,并且将该生成的第一媒体设备侧实际连接信息分配到所述第一媒体设备侧通信资源;以及在从第一媒体设备接收到实际连接建立请求的情况下,第二媒体设备中的实际连接建立装置生成第二媒体设备侧实际连接信息,将生成的第二媒体设备侧实际连接信息分配到所述第二媒体设备侧通信资源,第二媒体设备侧虚拟连接信息被包括在来自第一媒体设备的实际连接建立请求中,作为虚拟连接的信息。
3.根据权利要求2的数据传输系统,其中第一或第二媒体设备进一步包括检测装置,其检测实际连接上的数据通信是处于活动状态还是非活动状态;以及释放装置,在数据通信处于非活动状态的情况下,释放第一媒体设备侧或第二媒体设备侧通信资源。
4.根据权利要求3的数据传输系统,其中在第一或第二媒体设备中的释放装置检测到数据通信连续处于非活动状态达到预定的一段时间的情况下,该释放装置释放第一媒体设备侧或第二媒体设备侧通信资源。
5.根据权利要求2的数据传输系统,其中第一或第二媒体设备进一步包括获取装置,其根据UPnP AV协议,通过控制设备获取作为另一方设备的第二或第一媒体设备的操作状态;以及释放装置,基于获取的操作状态,在另一方设备处于非活动状态的情况下,释放第一媒体设备侧和第二媒体设备侧通信资源。
6.一种数据传输方法,该方法利用根据预定的传输协议相互通信的第一和第二媒体设备以及基于UPnP AV协议控制第一和第二媒体设备的控制设备,该方法包括在控制设备的控制下,在第一和第二媒体设备之间建立虚拟连接;将实际连接建立请求从第一媒体设备发送到第二媒体设备,该实际连接请求包括虚拟连接的信息;在第一和第二媒体设备之间建立实际连接,该建立的实际连接与虚拟连接相联系;以及利用建立的实际连接,将媒体数据从第二媒体设备发送到第一媒体设备,或者将媒体数据从第一媒体设备发送到第二媒体设备。
7.根据权利要求6的数据传输方法,其中建立虚拟连接包括生成第二媒体设备侧虚拟连接信息,以将生成的第二媒体设备侧虚拟连接信息分配给第二媒体设备侧通信资源之一;经过控制设备,将第二媒体设备侧虚拟连接信息发送到第一媒体设备;以及基于第二媒体设备侧虚拟连接信息生成第一媒体设备侧虚拟连接信息,以将生成的第一媒体设备侧虚拟连接信息分配给第一媒体设备侧通信资源之一;发送实际连接建立请求包括将实际连接建立请求发送到第二媒体设备,该实际连接请求具有生成的第二媒体设备侧虚拟连接信息,作为虚拟连接的信息;建立实际连接包括生成第一媒体设备侧实际连接信息,以将生成的第一媒体设备侧实际连接信息分配到所述第一媒体设备侧通信资源;以及生成第二媒体设备侧实际连接信息,以将生成的第二媒体设备侧实际连接信息分配到所述第二媒体设备侧通信资源。
8.根据权利要求7的数据传输方法,进一步包括检测实际连接上的数据通信是处于活动状态还是非活动状态;在数据通信处于非活动状态的情况下,释放第一媒体设备侧或第二媒体设备侧通信资源。
9.根据权利要求8的数据传输方法,其中在数据通信连续处于非活动状态达到预定的一段时间的情况下,所述释放包括释放第一媒体设备侧或第二媒体设备侧通信资源。
10.根据权利要求7的数据传输方法,进一步包括根据UPnP AV协议,获取第二或第一媒体设备的操作状态;以及基于获取的操作状态,在第二或第一媒体设备处于非活动状态的情况下,释放第一媒体设备侧或第二媒体设备侧通信资源。
11.一种媒体设备,根据预定的传输协议与另一个媒体设备进行通信,并且由控制设备根据UPnP AV协议来控制,该媒体设备包括虚拟连接建立装置,在从控制设备接收到指示建立虚拟连接的指令的情况下,与所述另一个媒体设备建立虚拟连接;请求生成装置,在控制设备指示该请求生成装置通过利用虚拟连接从所述另一个媒体设备接收媒体数据或者向所述另一个媒体设备发送媒体数据的情况下,该请求生成装置生成请求,用于请求所述另一个媒体设备建立实际连接,以接收或发送媒体数据,该请求包括建立的虚拟连接的信息;请求发送装置,其将生成的请求发送到所述另一个媒体设备,其中该生成的请求包括建立的虚拟连接的信息;以及数据通信装置,在建立了实际连接的情况下,该数据通信装置利用建立的实际连接从所述另一媒体设备接收媒体数据或者向所述另一媒体设备发送媒体数据。
12.根据权利要求11的媒体设备,其中虚拟连接建立装置通过控制设备接收另一媒体设备侧虚拟连接信息,并且基于该另一媒体设备侧虚拟连接信息生成自身媒体设备侧虚拟连接信息,并将该生成的自身媒体设备侧虚拟连接信息分配给自身媒体设备侧通信资源之一;并且在上述的被指示接收或发送媒体数据的情况下,该请求生成装置生成自身媒体设备侧实际连接信息,将生成的自身媒体设备侧实际连接信息分配到所述自身媒体设备侧通信资源,并且生成请求,该请求包括另一媒体设备侧虚拟连接信息,作为虚拟实际连接的信息。
13.根据权利要求12的媒体设备,进一步包括检测装置,其检测实际连接上的数据通信是处于活动状态还是非活动状态;以及释放装置,在数据通信处于非活动状态的情况下,该释放装置释放自身媒体设备侧通信资源。
14.根据权利要求13的媒体设备,其中在数据通信连续处于非活动状态达到预定的一段时间的情况下,该释放装置释放自身媒体设备侧通信资源。
15.根据权利要求12的媒体设备,进一步包括获取装置,其根据UPnP AV协议,通过控制设备获取所述另一个媒体设备的操作状态;以及释放装置,在所述另一媒体设备处于非活动状态的情况下,该释放装置释放自身媒体设备侧通信资源。
16.一种媒体设备,该媒体设备根据预定的传输协议与另一个媒体设备进行通信,并且由控制设备根据UPnP AV协议来控制,该媒体设备包括虚拟连接建立装置,在从控制设备接收到指示建立虚拟连接的指令时,该虚拟连接建立装置与所述另一个媒体设备建立虚拟连接,并且将建立的虚拟连接的信息发送到控制设备;请求接收装置,其从所述另一个媒体设备接收实际连接建立请求,以向所述另一个媒体设备发送媒体数据或者从所述另一个媒体设备接收媒体数据;实际连接建立装置,在建立的虚拟连接的信息包括在所述建立请求中的情况下,该实际连接建立装置建立与虚拟连接有关的实际连接;以及数据通信装置,该数据通信装置利用实际连接将媒体数据发送到所述另一媒体设备或者从所述另一媒体设备接收媒体数据。
17.根据权利要求16的媒体设备,其中在接收到指令的情况下,该虚拟连接建立装置生成自身媒体设备侧虚拟连接信息,将该生成的自身媒体设备侧虚拟连接信息分配给自身媒体设备侧通信资源之一,并将自身媒体设备侧虚拟连接信息发送到控制设备;以及在自身媒体设备侧虚拟连接信息包括在来自所述另一媒体设备的实际连接建立请求中的情况下,实际连接建立装置生成自身媒体设备侧实际连接信息,将生成的自身媒体设备侧实际连接信息分配到所述自身媒体设备侧通信资源。
18.根据权利要求16的媒体设备,进一步包括检测装置,其检测实际连接上的数据通信是处于活动状态还是非活动状态;以及释放装置,在数据通信处于非活动状态的情况下,该释放装置释放自身媒体设备侧通信资源。
19.根据权利要求18的媒体设备,其中在数据通信连续处于非活动状态达到预定的一段时间的情况下,该释放装置释放自身媒体设备侧通信资源。
20.根据权利要求17的媒体设备,进一步包括获取装置,其根据UPnP AV协议,通过控制设备获取所述另一媒体设备的操作状态;以及释放装置,在所述另一媒体设备处于非活动状态的情况下,该释放装置释放自身媒体设备侧通信资源。
全文摘要
根据本发明的一个方面,提供了一种数据传输方法,该方法利用根据预定的传输协议相互通信的第一和第二媒体设备以及基于UpnP AV协议控制第一和第二媒体设备的控制设备,该方法包括在控制设备的控制下,在第一和第二媒体设备之间建立虚拟连接;将实际连接建立请求从第一媒体设备发送到第二媒体设备,该实际连接请求包括虚拟连接的信息;在第一和第二媒体设备之间建立实际连接,该建立的实际连接与虚拟连接相联系;以及利用建立的实际连接,将媒体数据从第二媒体设备发送到第一媒体设备,或者将媒体数据从第一媒体设备发送到第二媒体设备。
文档编号H04L29/06GK1750539SQ20051009813
公开日2006年3月22日 申请日期2005年9月7日 优先权日2004年9月15日
发明者森冈靖太 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1