访问家庭存储器或互联网存储器的方法和设备转让专利

申请号 : CN200610156673.1

文献号 : CN1996848B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 尹铉植赵俊皓李京训崔相勋

申请人 : 三星电子株式会社

摘要 :

提供一种用于访问互联网存储器的方法和设备。在所述方法中,控制对家庭存储器的访问,并且如果对家庭存储器的访问不可用,则访问比家庭存储器具有更高访问可靠性的互联网存储器。因此,即使家庭存储器不在操作中,也可获得内容和内容元数据。

权利要求 :

1.一种访问存储器的方法,包括:

控制对第一存储器的访问;以及

如果UPnP媒体服务器模块对第一存储器的访问不可用,则在UPnP媒体服务器模块的代理访问比第一存储器具有更高访问可靠性的第二存储器,以代替UPnP媒体服务器模块对第一存储器的访问,其中,存储在第一存储器中的内容的副本被存储在第二存储器中,第一存储器位于家庭网络中,第二存储器位于互联网中。

2.如权利要求1所述的方法,其中,在控制对第一存储器的访问的步骤中,通过调用执行用于获得对第一存储器的访问的操作的API来控制对第一存储器的访问,以及在访问第二存储器的步骤中,通过响应于调用API对第二存储器,而不是对第一存储器执行API来访问第二存储器。

3.如权利要求2所述的方法,其中,API是通用即插即用动作。

4.一种存储器访问设备,包括:

控制模块,控制对第一存储器的访问;以及

服务器代理,如果UPnP媒体服务器模块对第一存储器的访问不可用,则访问比第一存储器具有更高访问可靠性的第二存储器,以代替UPnP媒体服务器模块对第一存储器的访问,其中,存储在第一存储器中的内容的副本被存储在第二存储器中,第一存储器位于家庭网络中,第二存储器位于互联网中。

5.一种访问存储器的方法,包括:

执行服务器代理作为访问第一存储器的服务器代替访问第一存储器的UPnP媒体服务器模块的操作;以及相应于由服务器代理执行的操作,访问比第一存储器具有更高访问可靠性的第二存储器,其中,存储在第一存储器中的内容的副本被存储在第二存储器中,第一存储器位于家庭网络中,第二存储器位于互联网中。

6.如权利要求5所述的方法,还包括:

将访问控制从根据用于第一存储器的第一标准的格式转换为根据用于第二存储器的第二标准的格式,其中,在访问第二存储器的步骤中,通过使用转换成根据第二标准的格式的访问控制来访问第二存储器。

7.如权利要求6所述的方法,其中,在转换访问控制的步骤中,将以根据第一标准的格式的用于获得对第一存储器的访问的API转换为用于获得对第二存储器的访问的根据第二标准的格式,以及在访问第二存储器的步骤中,通过执行以根据第二标准的格式的API来访问第二存储器。

8.如权利要求6所述的方法,还包括:

获得访问第二存储器的结果;以及

将访问第二存储器的结果从根据第二标准的格式转换为根据访问第一存储器的第一标准的格式。

9.如权利要求6所述的方法,其中,第一标准是通用即插即用标准,第二标准是分布式哈希表标准。

10.一种存储器访问设备,包括:

第一服务器模块,充当代替访问第一存储器的现有UPnP媒体服务器模块的访问第一存储器的服务器;以及第二服务器模块,相应于由第一服务器模块执行的操作,访问比第一存储器具有更高访问可靠性的第二存储器,其中,存储在第一存储器中的内容的副本被存储在第二存储器中,第一存储器位于家庭网络中,第二存储器位于互联网中。

说明书 :

访问家庭存储器或互联网存储器的方法和设备

[0001] 本申请要求于2006年1月4日提交到韩国知识产权局的第10-2006-0000968号韩国专利申请的优先权,该申请公开于此以资参考。

技术领域

[0002] 符合本发明的方法和设备涉及访问互联网存储器,更具体地说,本发明涉及根据通用即插即用(UPnP)标准访问分布式哈希表(DHT)存储器。

背景技术

[0003] 图1和图2是现有技术的根据通用即插即用(UPnP)标准的家庭存储环境的框图。图1的现有技术的存储环境包括UPnP控制点(CP)11和UPnP媒体服务器(MS)12。通常,UPnP MS 12的存储装置存储内容和内容元数据。UPnP CP 11通过控制对UPnP MS 12的存储装置的访问来控制对内容的获取。
[0004] 图2的家庭存储环境包括:UPnP CP 21、第一UPnP MS 22、第二UPnP MS23和中央服务器24。通常,将内容和内容元数据存储在第一UPnP MS 22和第二UPnP MS 23的存储装置中,将存储内容副本以及存储内容元数据副本存储在中央服务器24的存储装置中。UPnP CP 21通过控制对第一UPnP MS22和第二UPnP MS 23的存储装置的访问来控制对内容的获取。然而,当第一UPnP MS 22和第二UPnP MS 23不在操作中时,UPnP CP 21通过控制对中央服务器24的存储装置的访问来控制对内容的获取。
[0005] 图3是示出现有技术的互联网存储环境的框图。参照图3,现有技术的互联网存储环境包括:第一客户机31、第二客户机32和中央服务器33。通常,将内容和内容元数据存储在中央服务器33的互联网存储器中。互联网存储器的示例是由互联网服务提供商提供的图像共享系统(picture sharingsystem)和在http://idisk.megapass.net提供的互联网盘服务。第一客户机31和第二客户机32请求中央服务器33提供内容,并获得响应于请求的内容。
[0006] 如上所述,目前存在各种现有技术的存储环境。然而,图1的家庭存储环境的缺点在于当UPnP MS 12不在操作中时,不可能访问UPnP MS 12的存储装置。图2的家庭存储环境好于图1的家庭存储环境,但是当第一UPnP MS22(或第二UPnP MS 23)和中央服务器24两者均不在操作中时,也不可能访问它们的存储装置。在图3的互联网存储环境中,虽然由于ISP直接提供互联网存储服务,所以存储访问不受限制,但是经由互联网上传和下载内容,由此增加了互联网流量。

发明内容

[0007] 本发明提供一种即使当对家庭存储器的访问不可用时,也允许获取内容和内容元数据的方法和设备。
[0008] 本发明还提供记录有用于执行所述方法的计算机程序的计算机可读介质。
[0009] 根据本发明的一方面,提供一种访问存储器的方法,包括:控制对第一存储器的访问,并且如果对第一存储器的访问不可用,则访问比第一存储器具有更高访问可靠性的第二存储器。
[0010] 根据本发明的另一方面,提供一种存储器访问设备,包括:控制模块,控制对第一存储器的访问;以及服务器代理,如果对第一存储器的访问不可用,则其访问比第一存储器具有更高访问可靠性的第二存储器。
[0011] 根据本发明的另一方面,提供记录有用于执行存储器访问方法的计算机程序的计算机可读介质。
[0012] 根据本发明的另一方面,提供一种访问存储器的方法,包括:执行服务器代理作为访问第一存储器的服务器代替访问第一存储器的服务器模块的操作;以及相应于由服务器代理执行的操作,访问比第一存储器具有更高访问可靠性的第二服务器。
[0013] 根据本发明的另一方面,提供一种存储器访问设备,包括:第一服务器模块,充当代替访问第一存储器的现有服务器模块的访问第一存储器的服务器;以及第二服务器模块,相应于由第一服务器模块执行的操作,访问比第一存储器具有更高访问可靠性的第二存储器。
[0014] 根据本发明的另一方面,提供记录有用于执行第二存储器访问方法的计算机程序的计算机可读介质。
[0015] 根据本发明的另一方面,提供一种访问存储器的方法,包括:接收以根据第一标准的格式的对存储器的访问控制;将对存储器的访问控制从根据第一标准的格式转换为根据第二标准的格式;以及使用具有根据第二标准的转换格式的访问控制来访问存储器。
[0016] 根据本发明的另一方面,提供一种存储器访问设备,包括:第一服务器模块,接收以根据第一标准的格式的对存储器的访问控制;转换器,将对存储器的访问控制从根据第一标准的格式转换为根据第二标准的格式;以及第二服务器模块,使用具有根据第二标准的转换格式的访问控制来访问存储器。
[0017] 根据本发明的另一方面,提供记录有用于执行第三存储器访问方法的计算机程序的计算机可读介质。

附图说明

[0018] 通过参照附图进行的对本发明示例性实施例的详细描述,本发明的上述和其它方面将会变得更加清楚,其中:
[0019] 图1和图2是现有技术的根据UPnP标准的家庭存储环境的框图;
[0020] 图3是现有技术的互联网存储环境的框图;
[0021] 图4是根据本发明示例性实施例的存储器访问系统的框图;
[0022] 图5是根据本发明示例性实施例的UPnP存储器访问系统的框图;
[0023] 图6是根据本发明示例性实施例的图5的UPnP MS代理的框图;
[0024] 图7是示出根据本发明示例性实施例的活动消息的格式的一段计算机代码;
[0025] 图8是示出根据本发明示例性实施例的UPnP装置描述的格式的一段计算机代码;
[0026] 图9是示出根据本发明示例性实施例的用于转换存储器访问控制格式的伪码的示例的一段计算机代码;
[0027] 图10是根据本发明另一示例性实施例的UPnP存储器访问系统的框图;
[0028] 图11是根据本发明另一示例性实施例的UPnP存储器访问系统的框图;
[0029] 图12是示出根据本发明示例性实施例的存储器访问方法的流程图;
[0030] 图13是示出根据本发明示例性实施例的UPnP存储器访问方法的流程图;以及[0031] 图14是示出根据本发明另一示例性实施例的UPnP存储器访问方法的流程图。

具体实施方式

[0032] 图4是根据本发明示例性实施例的存储器访问系统的框图。参照图4,存储器访问系统包括:装置41、服务器42和互联网存储器43。具体说来,存储器访问系统包括两个存储器,即,家庭存储器422和互联网存储器43。将存储在家庭存储器422中的内容和内容元数据的副本存储在互联网存储器43中,从而如果对家庭存储器422的访问不可用,则访问比家庭存储器422具有更高访问可靠性的互联网存储器43,因此,即使对家庭存储器422的访问不可用时,也可以重新得到存储在家庭存储器422中的内容和内容元数据的副本。家庭存储器422位于家庭网络中,互联网存储器43位于互联网中。互联网存储器的示例是由互联网服务提供商(ISP)提供的图像共享系统(picture sharing system)和在http://idisk.megapass.net提供的互联网盘服务,作为一组分布在互联网中的存储器的分布式哈希表(DHT)存储器等。家庭存储器422和互联网存储器43可以是诸如硬盘、光盘和闪速存储装置的物理装置。
[0033] 通常,当服务器42不在操作中时,例如,当服务器42断电时,对家庭存储器422的访问不可用。因此,互联网存储器43的访问可靠性高于家庭存储器422的访问可靠性的事实表示家庭存储器422与互联网存储器43相比,不经常在操作中。也就是说,由于家庭存储器422位于家庭网络中,所以很可能家庭用户经常开启/关闭家庭存储器422。相反,由于互联网存储器43位于互联网中并且由ISP提供,所以不大可能经常开启/关闭互联网存储器43。
[0034] 装置41包括控制模块411和服务器代理412。
[0035] 控制模块411控制服务器42的服务器模块421对家庭存储器422的访问。详细说来,控制模块411通过调用应用程序接口(API)来控制服务器模块421对家庭存储器422的访问,所述API执行用于服务器模块421对家庭存储器422进行访问的各种操作。在本发明的当前实施例和以下示例性实施例中,对存储器的访问指示从存储器读取数据或向存储器写入数据的处理。
[0036] 当服务器42的服务器模块421不在操作中时,服务器代理412充当代替服务器模块421的服务器。在这种情况下,控制模块411将服务器代理412当作服务器模块421。详细说来,服务器代理412检测由控制模块411控制的服务器模块421对家庭存储器422的访问是否可用,如果所述访问不可用,则服务器代理412访问比家庭存储器422具有更高访问可靠性的互联网存储器43。也就是说,当检测到由控制模块411控制的服务器模块421对家庭存储器422的访问不可用时,服务器代理412代替访问家庭存储器422的服务器模块421来访问互联网存储器43。
[0037] 更具体地说,当检测到由控制模块411控制的服务器模块421对家庭存储器422的访问不可用时,服务器代理412代替服务器模块421从控制模块411接收对执行用于访问家庭存储器422的各种操作的API的调用。接着,响应于对API的调用,服务器代理412对互联网存储器43执行API,而不是对家庭存储器422执行,以便访问互联网存储器43,来代替服务器模块421来访问家庭存储器422。
[0038] 图5是根据本发明示例性实施例的UPnP存储器访问系统的框图。参照图5,UPnP存储器访问系统包括:装置51、服务器52和DHT存储器53。具体说来,通过将UPnP网络和DHT存储器53应用于图4的存储器访问系统来实现UPnP存储器访问系统。
[0039] 装置51包括:UPnP控制点(CP)模块511、UPnP媒体服务器(MS)代理512和UPnP媒体渲染器(MR,Media Renderer)模块513。
[0040] UPnP CP模块511通过调用用于UPnP MS模块521或UPnP MS代理512的UPnP动作来控制服务器52的UPnP MS模块521,其中,所述UPnP动作是几种类型的API。具体说来,UPnP CP模块511通过调用UPnP动作来控制服务器52的UPnP MS模块521对家庭存储器522的访问,所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。此外,UPnP CP模块511通过从UPnP MS代理512接收执行接连的UPnP动作的结果来获得调用所述UPnP动作的返回值,所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()、ExportResource()。
[0041] 当服务器52的UPnP MS模块521不在操作中时,UPnP MS代理512代替UPnP MS模块521充当UPnP媒体服务器。因此,UPnP CP模块511将UPnP MS代理512当作UPnP MS模块521。具体说来,UPnP MS代理512检测在UPnP CP模块511的控制下UPnP MS模块521对家庭存储器522的访问是否可用,如果所述访问不可用,则UPnP MS代理512访问比家庭存储器522具有更高访问可靠性的DHT存储器53。也就是说,当检测到在UPnPCP模块
511的控制下UPnP MS模块521对家庭存储器522的访问不可用时,UPnP MS代理512访问DHT存储器53,代替UPnP MS模块521对家庭存储器522的访问。
[0042] 更具体地说,当检测到由UPnP CP模块511控制的服务器52的UPnP MS模块521对家庭存储器522的访问不可用时,UPnP MS代理512代替UPnP MS模块521从UPnP CP模块511接收UPnP动作,诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。接着,UPnP MS代理512响应于对UPnP动作的调用,对代替家庭存储器522的DHT存储器53执行UPnP动作,并且访问DHT存储器53,来代替UPnP MS模块521对家庭存储器522进行访问。
[0043] 图6是根据本发明示例性实施例的图5的UPnP MS代理512的框图。参照图6,UPnP MS代理512包括:UPnP MS模块61、转换器62和DHT MS模块63。
[0044] UPnP MS模块61充当代替UPnP MS模块521访问图5的家庭存储器522的UPnP媒体服务器。具体说来,UPnP MS模块61通过从UPnP CP模块511接收对UPnP动作的调用来接收对家庭存储器522的访问控制,所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。此外,UPnP MS代理模块512将由转换器62执行UPnP动作的结果提供给UPnP CP模块511。
[0045] 更具体地说,UPnP MS模块61执行UPnP寻址。也就是说,UPnP MS模块61分配UPnP MS模块61的互联网协议(IP)地址。此外,UPnP MS模块61执行UPnP发现。也就是说,UPnP MS模块61基于分配的IP地址,产生指示UPnP MS模块61连接到网络的广告消息(活动消息,alive message),并将其发送到UPnP CP模块511。
[0046] 图7是示出根据本发明示例性实施例的活动消息(alive message)的格式的一段计算机代码。参照图7,由UPnP MS模块61产生的活动消息具有根据UPnP标准的超文本传输通讯协议(HTTP)文档格式。具体说来,根据本发明示例性实施例的活动消息的定位头部(location header)记录由UPnPMS模块61产生的UPnP装置描述的统一资源定位符(URL),即,从中可提供UPnP装置描述的UPnP MS模块61的IP地址。
[0047] 此外,UPnP MS模块61执行UPnP描述。也就是说,当通过UPnP发现而发现UPnP MS模块61的UPnP CP模块511访问记录在图7所示的活动消息的定位头部中的URL时,UPnP MS模块61产生UPnP装置描述,并将其提供给UPnP CP模块511。可将UPnP MS模块61需要产生UPnP装置描述的信息存储在UPnP MS模块61、家庭存储器522或DHT存储器
53中。
[0048] 图8是示出根据本发明示例性实施例的UPnP装置描述的格式的一段计算机代码。参照图8,由图6的UPnP MS模块61产生的UPnP装置描述具有根据UPnP标准的XML文档格式。此外,由于UPnP MS模块61代替UPnP MS模块521充当用于访问家庭存储器522的UPnP媒体服务器,所以根据本发明示例性实施例的UPnP装置描述与关于UPnP MS模块521的现有UPnP装置描述是相同的,但是在UPnP装置描述中描述的IP地址从UPnP MS模块
521的IP地址改变为UPnP MS模块61的IP地址。
[0049] 此外,UPnP MS模块61执行UPnP控制。也就是说,UPnP MS模块61执行与UPnP CP模块511通过UPnP描述获取关于UPnP MS模块61的描述的控制操作相应的动作。
[0050] 此外,UPnP MS模块61执行UPnP事件触发。也就是说,UPnP MS模块61将包含关于由UPnP MS模块61提供的事件的信息的事件消息发送到UPnP CP模块511,所述UPnP CP模块511控制UPnP MS模块61以相应于UPnP控制。例如,UPnP MS模块61发送UPnP内容发现服务事件中的指示系统更新ID参数SystemUpdateID的事件,作为初始事件消息。如果内容目录中的至少一个改变,则改变系统更新ID参数SystemUpdateID。
[0051] 在本发明的实施例中,由于DHT MS模块63是根据DHT标准仅执行用于获得对DHT存储器53的访问的动作的模块,所以DHT MS模块63不支持根据UPnP标准的事件触发。然而,如果DHT MS模块63支持诸如内容更新事件的根据UPnP标准的事件触发,则转换器62将由DHT MS模块63提供的事件的格式转换为根据UPnP标准的事件格式,并将转换的事件发送到UPnPMS模块61。在这种情况下,UPnPMS模块61可执行UPnP事件触发。
[0052] 转换器62将访问控制从用于根据UPnP标准的家庭存储器522的格式转换为用于根据DHT标准的DHT存储器53的格式。具体说来,转换器62将根据UPnP标准的由UPnP MS模块61接收的UPnP动作的格式转换为根据DHT标准的API的格式,其中,,所述UPnP动作诸如,Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource(),所述API诸如Get(key)、Put(key,value)、Destroy(key)、Update(key,value)、Join(node)和Leave(node)。
[0053] 此外,转换器62将通过DHT MS模块63对DHT存储器53的访问获得的值的格式转换为通过根据UPnP标准对家庭存储器522的访问获得的值的格式。更具体地说,转换器62将通过由DHT MS模块63执行API获得的值的格式转换为通过根据UPnP标准执行UPnP动作获得的值的格式,其中,所述API诸如Get(key)、Put(key,value)、Destroy(key)、Update(key,value)、Join(node)和Leave(node),所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。
[0054] 例如,当UPnP CP模块511调用Browse(root directory)时,UPnP MS模块61接收所述调用,并将Browse(root directory)被UPnP CP模块511调用通知给转换器62。然后,转换器62根据图9所示的伪码转换存储器访问控制的格式。
[0055] 图9是示出根据本发明示例性实施例的用于转换存储器访问控制的格式的伪码的示例的一段计算机代码。参照图9,伪码是用于将由UPnP CP模块511调用的Browse(root directory)转换为根据DHT标准的Get(key)的代码的示例。当UPnP MS模块61将对Browse(root directory)的调用通知给转换器62时,转换器62使用与家庭网络相应的家庭关键字对于DHTMS模块63调用Get(home key),以便从对Get(home key)的调用的返回值获得家庭数据。这里,家庭数据指的是家庭网络,并包括家庭网络中的媒体服务器的哈希关键字,特别是,UPnP MS模块521的哈希关键字。
[0056] 接着,转换器62通过使用UPnP MS模块521的哈希关键字对于DHT MS模块63调用Get(hash key of Media Server),并从对Get(hash key of MediaServer)的调用的返回值获得UPnP MS模块521的哈希数据。UPnP MS模块521的哈希数据包括UPnP MS模块521的目录的哈希关键字,具体说来,包括UPnP MS模块521的根目录的哈希关键字。
[0057] 接着,转换器62通过使用UPnP MS模块521的根目录的哈希关键字对于DHT MS模块63调用Get(hash key of Media Server),并从对Get(hash key ofMedia Server)的调用的返回值获得UPnP MS模块521的根目录数据。根目录数据包含关于UPnP MS模块521的根目录的子目录、项目等的元数据。接着,转换器62将获得的根目录数据的格式转换为根据UPnP标准对Browse(rootdirectory)的调用的返回值的格式,并将转换的根目录数据发送到DHT MS模块63。
[0058] DHT MS模块63充当访问DHT存储器53的DHT媒体服务器,以相应于由UPnP MS模块61执行的操作。也就是说,DHT MS模块63充当根据DHT标准提供API的DHT媒体服务器,所述API诸如Get(key)、Put(key,value)、Destroy(key)、Update(key,value)、Join(node)和Leave(node)。Get(key)是使用哈希关键字执行对来自DHT存储器53的值的检测并返回值以与UPnP标准相应的API。Put(key,value)是将哈希关键字和哈希关键字的与UPnP标准相应的值存储在DHT存储器53中的API。Destroy(key)是从DHT存储器53删除哈希关键字和哈希关键字的与UPnP标准相应的值的API。Update(key,value)是执行更新哈希关键字的与UPnP标准相应的值的API。Join(node)是允许新的节点连入DHT存储器53的API。Leave(node)是允许现有节点离开DHT存储器53的API。
[0059] 具体说来,DHT MS模块63访问比家庭存储器522具有更高访问可靠性的DHT存储器53以相应于UPnP MS模块61的操作。也就是说,DHT MS模块63根据由转换器62转换的访问控制格式来访问DHT存储器53,并获得访问结果。更具体地说,DHT MS模块63通过执行根据DHT标准的由转换器62转换的API访问DHT存储器53,并获得访问结果,其中,所述API诸如Get(key)、Put(key,value)、Destroy(key)、Update(key,value)、Join(node)和Leave(node)。
[0060] 参照图5,UPnP MR模块513充当UPnP媒体渲染器。具体说来,根据本发明的示例性实施例,UPnP MR模块513对作为由UPnP CP模块511调用ExportResource()的结果获得的内容执行渲染。
[0061] 现在将描述在UPnP CP模块511的控制下从DHT存储器53读取数据的操作。UPnP MS模块61从UPnP CP模块511接收对Browse()的调用,并向UPnP CP模块511提供作为对Browse()的调用的结果值的对内容目录的对象的浏览。接着,UPnP CP模块511通过调用ExportResource()从DHT存储器53读取数据,所述ExportResource()指示将内容目录的对象之一的内容从DHT存储器53导出到UPnP MR模块513。
[0062] 现在将描述在UPnP CP模块511的控制下向DHT存储器53写入数据的操作。UPnP MS模块61从UPnP CP模块511接收对CreateObject()的调用,并在UPnP内容目录中创建新的对象。接着,UPnP CP模块511分配创建的新对象的标识,作为从UPnP MS模块61调用CreateObject()的结果,并调用ImportResource()以便向DHT存储器53写入数据,所述ImportResource()指示将与分配的标识相应的对象的内容导入DHT存储器53。
[0063] UPnP CP模块511周期性确定存在于家庭网络中的内容元数据与内容和DHT存储器53中的内容元数据是否相同。如果不相同,则UPnP CP模块51反应出它们之间的差别。
[0064] 图10是根据本发明另一示例性实施例的UPnP存储器访问系统的框图。参照图10,UPnP存储器访问系统包括:UPnP CP 101、UPnP MS 102、UPnPMS代理103、UPnP MR 104和DHT存储器105。与图5所示的UPnP存储器访问系统相比,UPnP CP 101、UPnP MS 102、UPnP MS代理103和UPnP MR104分别相应于UPnP CP模块511、UPnP MS模块521、UPnP MS代理512和UPnP MR模块513。也就是说,图10的UPnP存储器访问系统显示构成图5的装置51的UPnP CP模块511、UPnP MS代理512和UPnP MR模块513可作为分离的装置存在。
[0065] 图11是根据本发明另一示例性实施例的UPnP存储器访问系统的框图。参照图11,存储器访问系统包括:UPnP CP 111、装置112和DHT存储器113。具体说来,与图5和图10所示的存储器访问系统不同,图11的UPnP存储器访问系统仅包括DHT存储器113,而没有家庭存储器。也就是说,DHT存储器113分别充当图5和图10所示的存储器访问系统中所示的家庭存储器522和家庭存储器1021。
[0066] UPnP CP 111对于装置112的UPnP MS模块1121调用作为各种类型的API的UPnP动作,以便控制UPnP MS模块1121。具体说来,UPnP CP 111调用诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()的UPnP动作,以便控制UPnP MS模块1121对DHT存储器113的访问。此外,UPnP CP 111从装置112接收通过执行UPnP动作获得的值,作为对UPnP动作的调用的返回值。
[0067] 参照图11,装置112还包括转换器1122和DHT MS模块1123以及UPnPMS模块1121。
[0068] UPnP MS模块1121充当访问DHT存储器113的UPnP媒体服务器。更具体地说,UPnP MS模块1121如同图6的UPnP MS模块61执行UPnP寻址、发现、控制和事件触发。然而,与图6的UPnP MS模块61不同,UPnP MS模块1121不代替另一UPnP MS模块,因此,在没有使用现有的另一UPnP MS模块的UPnP装置描述的情况下创建UPnP装置描述。具体说来,UPnP MS模块1121通过从UPnP CP 111接收对UPnP动作的调用来获取对根据UPnP标准访问DHT存储器113的控制,其中,所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。此外,UPnP MS模块1121将执行由转换器1122转换的UPnP动作的结果提供给UPnP CP 111,其中,所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。
[0069] 转换器1122将由UPnP MS模块1121接收的对DHT存储器113的访问控制从根据UPnP标准的格式转换为根据DHT标准的格式。详细说来,转换器1122将由UPnP MS模块1121接收的UPnP动作从根据UPnP标准的格式转换为根据DHT标准的API的格式,其中,所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource(),所 述API诸 如Get(key)、Put(key,value)、Destroy(key)、Update(key,value)、Join(node)和Leave(node)。也就是说,如同图6的转换器62,转换器1122可根据图9所示的伪码转换存储器访问控制的格式。
[0070] 此外,转换器1122将由DHT MS模块1123接收的根据DHT标准的对DHT存储器113的访问控制的格式转换为根据UPnP标准的对DHT存储器113的访问控制的格式。详细说来,转换器1122将由DHT MS模块1123获得的执行API的结果的格式转换为根据UPnP标准的UPnP动作的格式,其中,所述API诸如Get(key)、Put(key,value)、Destroy(key)、Update(key,value)、Join(node)和Leave(node),所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。
[0071] DHT MS模块1123充当访问DHT存储器113的DHT媒体服务器,以相应于由UPnP MS模块1121执行的操作。具体说来,DHT MS模块1123根据由转换器1122转换的访问控制的格式访问DHT存储器113,并获得访问结果。具体说来,DHT MS模块1123通过执行由转换器1122转换的根据DHT标准的API来访问DHT存储器113,并获得访问结果,其中,所述API诸如Get(key)、Put(key,value)、Destroy(key)、Update(key,value)、Join(node)和Leave(node)。
[0072] 图12是示出根据本发明示例性实施例的存储器访问方法的流程图。参照图12,存储器访问方法包括由图4的存储器访问系统执行的操作。因此,尽管没有在这里描述,但是关于图4的存储器访问系统的上述描述也应用于图12的存储器访问方法。
[0073] 参照图12,在操作121,控制模块411通过调用API来控制服务器42的服务器模块421对家庭存储器422的访问,所述API执行服务器42的服务器模块421访问家庭存储器422所需的操作。
[0074] 在操作122,如果确定在控制模块411的控制下的服务器模块421对家庭存储器422的访问不可用,则服务器代理412执行操作123。如果所述访问可用,则停止服务器访问方法。
[0075] 在操作123,服务器代理412接收对API的调用,所述API执行操作以代替服务器模块421从控制模块411获得对家庭存储器422的访问。
[0076] 在操作124,服务器代理412代替服务器模块421对家庭存储器422的访问,响应于API的执行,通过对于互联网存储器43而不是家庭存储器422执行API来访问互联网存储器43。
[0077] 图13是示出根据本发明示例性实施例的UPnP存储器访问方法的流程图。参照图13,UPnP存储器访问方法包括由图5和图6所示的UPnP存储器访问系统执行的操作。因此,尽管没有在这里描述,但是图5和图6的UPnP存储器访问系统的上述描述也应用于图
13的UPnP存储器访问方法。
[0078] 参照图13,在操作131,UPnP CP模块511调用UPnP动作以控制服务器52的UPnP MS模块521对家庭存储器522的访问,所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。
[0079] 在操作132,如果确定在UPnP CP模块511的控制下的UPnP MS模块521对家庭存储器522的访问不可用,则UPnP MS代理512执行操作133。如果所述访问可用,则终止UPnP存储器访问方法。
[0080] 在操作133,UPnP MS代理512从UPnP CP模块511接收对UPnP动作的调用,以便获得对家庭存储器522的访问控制,所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。
[0081] 在操作134,UPnP MS代理512将在操作133接收的根据UPnP标准的UPnP动作的格式转换为根据DHT标准的API的格式,其中,所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource() 和 ExportResource(),API 诸如 Get(key)、Put(key,value)、Destroy(key)、Update(key,value)、Join(node) 和Leave(node)。
[0082] 在操作135,UPnP MS代理512通过执行在操作134转换的根据DHT标准的API来访问DHT存储器53,并获得访问结果,所述API诸如Get(key)、Put(key,value)、Destroy(key)、Update(key,value)、Join(node)和Leave(node)。
[0083] 在操作136,UPnP MS代理512将在操作135获得的执行API的结果的格式转换为根据UPnP标准的执行UPnP动作的结果的格式,其中,所述API诸如Get(key)、Put(key,value)、Destroy(key)、Update(key,value)、Join(node)和Leave(node),所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。
[0084] 在操作137,UPnP MS代理512将在操作136获得的执行UPnP动作的结果提供给UPnP CP模块511,所述UPnP动作诸如Browse()、Search()、CreateObj ect()、DestroyObject()、ImportResource()和ExportResource()。
[0085] 在操作138,UPnP CP模块511接收在操作137提供的执行UPnP动作的结果,作为对UPnP动作的调用的返回值,所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。
[0086] 图14是示出根据本发明另一示例性实施例的UPnP存储器访问方法的流程图。图14的UPnP存储器访问方法包括由图11的UPnP存储器访问系统执行的操作。尽管没有在这里示出,但是关于图11的UPnP存储器访问系统的上述描述也应用于图14的UPnP存储器访问方法。
[0087] 参照图14,在操作141,UPnP CP 111通过调用诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()的UPnP动作来控制装置112的UPnP MS模块1121对DHT存储器113的访问。
[0088] 在操作142,装置112通过从UPnP CP 111接收对UPnP动作的调用,获得对根据UPnP标准访问DHT存储器113的控制,所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。
[0089] 在操作143,装置112将在操作142接收的根据UPnP标准的UPnP动作的格式转换为根据DHT标准的API的格式,其中,所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource(),所 述API诸 如 Get(key)、Put(key,value)、Destroy(key)、Update(key,value)、Join(node) 和Leave(node)。
[0090] 在操作144,装置112通过执行在操作143转换的根据DHT标准的API来访问DHT存储器113,并获得访问结果,其中,所述API诸如Get(key)、Put(key,value)、Destroy(key)、Update(key,value)、Join(node)和Leave(node)。
[0091] 在操作145,装置112将在操作144获得的执行API的结果的格式转换为根据UPnP标准执行UPnP动作的结果的格式,其中,所述API诸如Get(key)、Put(key,value)、Destroy(key)、Update(key,value)、Join(node)和Leave(node),所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。
[0092] 在操作146,装置112将在操作145转换的执行UPnP动作的结果提供给UPnP CP 111,所述UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。
[0093] 在操作147,UPnP CP模块111接收在操作146提供的执行UPnP动作的结果,作为对UPnP动作的调用的返回值,其中,执行的UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource(),调用的UPnP动作诸如Browse()、Search()、CreateObject()、DestroyObject()、ImportResource()和ExportResource()。
[0094] 可将本发明的上述示例性实施例实施为计算机可读程序,并在通过使用计算机可读介质执行所述程序的通用计算机上执行。此外,可经由各种装置将用于上述实施例的数据结构记录在计算机可读介质上。
[0095] 计算机可读介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)和光记录介质(例如,CD-ROM、DVD等)。
[0096] 根据本发明的示例性实施例,检测到对家庭存储器的访问是否可用,当对家庭存储器的访问不可用时,访问比家庭存储器具有更高访问可靠性的互联网存储器。因此,即使家庭存储器不可用,例如,当家庭存储器关闭时,也可获得内容和内容的元数据。
[0097] 本发明的示例性实施例提出代理,其充当代替访问家庭存储器的UPnP媒体服务器模块的UPnP媒体服务器,并访问比家庭存储器具有更高访问可靠性的互联网存储器,以相应于UPnP媒体服务器,由此与现有的UPnP标准兼容。结果,可最小化由应用传统环境造成的根据UPnP标准的家庭存储环境中的改变。具体说来,根据本发明的示例性实施例,当DHT存储器用作互联网存储器时,可将诸如数据冗余和位置透明性的DHT存储器的优点应用于家庭存储环境。
[0098] 此外,根据本发明的示例性实施例,首先访问家庭存储器,当对家庭存储器的访问不可用时,访问互联网存储器。也就是说,没有必要总是经由互联网上传和下载内容,由此减少了互联网流量。
[0099] 尽管已经参照本发明的示例性实施例具体显示和描述了本发明,但是本领域的技术人员将理解:在不脱离由权利要求所限定的本发明的精神和范围的情况下,可进行形式和细节上的各种改变。