Movatterモバイル変換


[0]ホーム

URL:


CN100553209C - Caching directory server data to control deployment of multimedia data on a network - Google Patents

Caching directory server data to control deployment of multimedia data on a network
Download PDF

Info

Publication number
CN100553209C
CN100553209CCNB2005800315123ACN200580031512ACN100553209CCN 100553209 CCN100553209 CCN 100553209CCN B2005800315123 ACNB2005800315123 ACN B2005800315123ACN 200580031512 ACN200580031512 ACN 200580031512ACN 100553209 CCN100553209 CCN 100553209C
Authority
CN
China
Prior art keywords
data
synchronization object
change
directory server
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005800315123A
Other languages
Chinese (zh)
Other versions
CN101023627A (en
Inventor
V·斯蒂尔比
K·卡阿勒拉
J·科斯塔-勒凯纳
M·塔姆斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Inc
Original Assignee
Nokia Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia IncfiledCriticalNokia Inc
Publication of CN101023627ApublicationCriticalpatent/CN101023627A/en
Application grantedgrantedCritical
Publication of CN100553209CpublicationCriticalpatent/CN100553209C/en
Anticipated expirationlegal-statusCritical
Expired - Fee Relatedlegal-statusCriticalCurrent

Links

Images

Landscapes

Abstract

Synchronizing content description data between devices on an ad hoc peer-to-peer network includes storing a plurality of data entries on a directory server. Each data entry describes one or more multimedia data objects accessible via the network. The synchronization object of the directory server is associated with the data entry. The synchronization object can describe changes to the data entry. Data entries are downloaded from the directory server to the cache of the control point device via the network. The synchronization object of the directory server changes in response to a change in at least one of the data entries of the directory server. The cache of the control point device is updated with the change in the at least one data entry based on the change to the synchronization object of the directory server.

Description

Translated fromChinese
为控制网络上多媒体数据的部署而对目录服务器数据进行高速缓存Caching of directory server data for the purpose of controlling the deployment of multimedia data over the network

相关申请的交叉引用Cross References to Related Applications

本申请要求2004年8月19日提交的美国临时申请No.60/603,021的权益。This application claims the benefit of US Provisional Application No. 60/603,021, filed August 19,2004.

技术领域technical field

本发明总体涉及通信,并且更具体地涉及控制消费电子产品网络环境中的多媒体数据。The present invention relates generally to communications, and more particularly to controlling multimedia data in a consumer electronics network environment.

背景技术Background technique

诸如蜂窝电话的移动通信设备正在得到更广泛的接受,这是因为多种能力被添加到这种设备中。在增长的个人数字通信领域中,现代移动技术已经变成一个重要的特殊领域。一些移动通信设备包括允许设备与计算机和其他消费电子产品设备通信的功能。例如,公知为通用即插即用TM(UPnP)的标准提供了用于异类处理设备经由网络交换数据的方式。UPnP标准通过多个电子设备定义了针对端对端网络连通性的架构。UPnP标准包括用于服务发现的标准,并且UPnP标准主要目的是用于邻近或ad hoc网络。Mobile communication devices, such as cellular telephones, are gaining wider acceptance as capabilities are added to such devices. Modern mobile technology has become an important niche in the growing field of personal digital communications. Some mobile communication devices include features that allow the device to communicate with computers and other consumer electronics devices. For example, a standard known as Universal Plug and Play (UPnP) provides a means for heterogeneous processing devices to exchange data over a network. The UPnP standard defines an architecture for peer-to-peer network connectivity through multiple electronic devices. The UPnP standard includes standards for service discovery, and the UPnP standard is mainly intended for proximity or ad hoc networks.

各种设备公布UPnP设备和服务描述,因此创建易于连接设备的方式,并简化了网络的实现。UPnP被设计用于工作在多种环境下,包括家庭、商业、公共场所和附着于互联网的设备。UPnP标准是影响Web技术的开放架构,并且被设计用于提供ad-hoc组网和分布式计算。Various devices publish UPnP device and service descriptions, thus creating an easy way to connect devices and simplifying network implementation. UPnP is designed to work in a variety of environments, including homes, businesses, public places and Internet-attached devices. The UPnP standard is an open architecture that influences Web technologies and is designed to provide ad-hoc networking and distributed computing.

UPnP模型被设计用于支持针对多种设备类别的零配置组网和自动发现。这允许设备动态地加入网络、获取网络地址、传达设备的能力并知道其他设备的出现和能力。诸如动态主机配置协议(DHCP)和域名服务(DNS)的互联网协议可以可选地包括在UPnP网络中,尽管不需要这些协议。The UPnP model is designed to support zero-configuration networking and auto-discovery for multiple device classes. This allows a device to dynamically join a network, obtain a network address, communicate a device's capabilities, and be aware of the presence and capabilities of other devices. Internet protocols such as Dynamic Host Configuration Protocol (DHCP) and Domain Name Service (DNS) may optionally be included in a UPnP network, although these protocols are not required.

DHCP标准还包括音频-视频(AV)规范,具体面向消费电子产品(CE)设备,诸如TV、VCR、DVD播放器、立体声系统、MP3播放器等。通常,CE设备表示与多媒体内容(例如,电影、音频和静止图像)交互的任何设备,并且CE设备可以包括计算机和移动通信设备。The DHCP standard also includes audio-video (AV) specifications specifically for consumer electronics (CE) devices such as TVs, VCRs, DVD players, stereo systems, MP3 players, and the like. In general, a CE device refers to any device that interacts with multimedia content (eg, movies, audio, and still images), and CE devices may include computers and mobile communication devices.

UPnP AV框架定义三个主要逻辑实体:媒体服务器、媒体呈现器(Renderer)和AV控制点。媒体服务器可以使用多媒体内容,并可以经由UPnP网络将该内容发送到媒体呈现器设备。媒体呈现器能够将从UPnP网络接收的多媒体内容进行呈现。AV控制点基于端用户需求来协调媒体服务器和媒体呈现器的操作。The UPnP AV framework defines three main logical entities: media server, media renderer (Renderer) and AV control point. A media server can consume multimedia content and can send this content to a media renderer device via a UPnP network. The media presenter is capable of presenting multimedia content received from the UPnP network. The AV Control Point coordinates the operation of the Media Server and Media Renderer based on end-user requirements.

AV控制点包括在UPnP AV网络的命令和控制操作中。控制点访问内容目录服务器(CDS),以发现和列举经由媒体服务器可访问的内容。经由CDS可发现的内容可以包括诸如歌曲和视频剪辑的多条内容。CDS内容还可以包括容器,其代表诸如播放列表和相册的条目的集合。每个CDS内容对象,不论是条目或容器,都包括描述对象的各种属性(诸如标题、艺术家等)的元数据。The AV control point is included in the command and control operation of the UPnP AV network. The control point accesses a content directory server (CDS) to discover and list content accessible via the media server. Content discoverable via a CDS may include pieces of content such as songs and video clips. CDS content may also include containers, which represent collections of items such as playlists and photo albums. Each CDS content object, whether an item or a container, includes metadata describing various attributes of the object (such as title, artist, etc.).

UPnP媒体服务器的一个优点是,它能够在中心位置存储多媒体集合,而由于UPnP网络的分布式属性,所以内容可以由整个家庭中的不同位置的设备访问。因此,诸如移动通信设备的便携式单元制造理想的控制点以用于控制对这种数据的访问。为了移动通信设备从一个或多个媒体服务器访问数据,则移动通信设备必须与CDS进行通信。One advantage of a UPnP media server is that it can store multimedia collections in a central location, while due to the distributed nature of the UPnP network, the content can be accessed by devices at different locations throughout the home. Therefore, portable units such as mobile communication devices make ideal control points for controlling access to such data. In order for a mobile communication device to access data from one or more media servers, the mobile communication device must communicate with the CDS.

将可以理解,CDS可以包含对几千个内容对象的引用。如果移动设备必须列举出大量对象,则从移动设备访问CDS中消耗的带宽可能是非常大的。与有线设备相比,移动通信设备通常具有有限的带宽,因此如果要求移动设备重复地访问如此大的数据量,则移动设备可能显示出较差的可用率和性能。为了移动设备经由UPnP或类似的网络来控制多媒体内容的部署,希望提供一种方式,用以在移动设备和提供目录服务器的那些网络实体之间有效地传送内容目录数据。It will be appreciated that a CDS may contain references to thousands of content objects. The bandwidth consumed in accessing the CDS from a mobile device can be very large if the mobile device has to enumerate a large number of objects. Mobile communication devices generally have limited bandwidth compared to wired devices, so mobile devices may show poor availability and performance if they are required to repeatedly access such a large amount of data. For mobile devices to control the deployment of multimedia content via UPnP or similar networks, it is desirable to provide a way to efficiently communicate content catalog data between mobile devices and those network entities providing catalog servers.

发明内容Contents of the invention

本公开涉及用于控制网络上的设备之间的多媒体数据的部署的系统、设备和方法。根据本发明的一个实施方式,一种方法包括在目录服务器上存储多个数据条目。每个数据条目描述可经由网络访问的一个或多个多媒体数据对象。目录服务器的同步对象与数据条目关联。同步对象能够描述对数据条目的改变。数据条目从目录服务器经由网络下载到控制点设备的高速缓存。响应于目录服务器的数据条目的至少一个中的改变,而改变目录服务器的同步对象。基于目录服务器的同步对象的改变,利用至少一个数据条目中的改变,更新控制点设备的高速缓存。The present disclosure relates to systems, devices and methods for controlling the deployment of multimedia data between devices on a network. According to one embodiment of the invention, a method includes storing a plurality of data entries on a directory server. Each data entry describes one or more multimedia data objects accessible via the network. A synchronization object of the directory server is associated with a data entry. Synchronization objects can describe changes to data items. Data entries are downloaded from the directory server over the network to the cache of the control point device. A synchronization object of the directory server is changed in response to a change in at least one of the data entries of the directory server. A cache of the control point device is updated with a change in at least one data entry based on the change in the synchronization object of the directory server.

在更具体的实施方式中,本方法进一步包括修改所述同步对象,以反映控制点设备的高速缓存的更新。在一种配置中,同步对象可以包括数据条目的散列。在其他配置中,同步对象能够描述在与所述多媒体数据对象关联的时间戳和签名的至少一个中的改变。在其他配置中,同步对象能够描述对多个数据条目的一个条目的增加和删除。In a more specific embodiment, the method further comprises modifying said synchronization object to reflect the update of the cache of the control point device. In one configuration, a synchronization object may include a hash of data entries. In other configurations, the synchronization object can describe a change in at least one of a timestamp and a signature associated with the multimedia data object. In other configurations, a synchronization object can describe additions and deletions to one of the plurality of data items.

在更具体的实施方式中,响应于目录服务器的数据条目的至少一个中的改变,而对目录服务器的同步对象改变包括将数据添加到同步对象。所添加的数据描述至少一个数据条目中的改变。在其他更具体的实施方式中,对目录服务器的同步对象改变还可以包括创建描述改变的新的同步对象,并可以将新的同步对象与条目进行关联。在这些具体的实施方式中,更新控制点设备的高速缓存可以包括检查在高速缓存的先前更新之后和在高速缓存的当前更新之前所添加的多个新的同步对象。In a more specific embodiment, changing the synchronization object to the directory server in response to a change in at least one of the data entries of the directory server includes adding data to the synchronization object. The added data describes a change in at least one data item. In other more specific implementation manners, changing the synchronization object to the directory server may also include creating a new synchronization object describing the change, and associating the new synchronization object with the entry. In these particular implementations, updating the cache of the control point device may include checking for a plurality of new synchronization objects that were added after a previous update of the cache and before a current update of the cache.

根据本发明的另一实施方式,一种装置包括:网络接口,其能够经由ad hoc对等网络与目录服务器进行通信;处理器,其耦接到所述网络接口;以及存储器,其耦接到所述处理器。所述存储器包括能够存储数据的高速缓存并包括控制点模块。控制点模块具有使得处理器进行以下步骤的指令:将多个数据条目从目录服务器经由网络下载到高速缓存,每个数据条目描述可经由网络访问的一个或多个多媒体数据对象;经由网络访问与目录服务器的数据条目关联的目录服务器的同步对象,同步对象能够描述对数据条目的改变;检测目录服务器的同步对象中的改变,该改变响应于目录服务器的数据条目的至少一个中的改变而出现;以及基于目录服务器的同步对象的改变,利用至少一个数据条目中的改变,更新高速缓存。According to another embodiment of the present invention, an apparatus includes: a network interface capable of communicating with a directory server via an ad hoc peer-to-peer network; a processor coupled to the network interface; and a memory coupled to the processor. The memory includes a cache memory capable of storing data and includes a control point module. The control point module has instructions causing the processor to: download a plurality of data entries from the directory server to the cache via the network, each data entry describing one or more multimedia data objects accessible via the network; a synchronization object of the directory server associated with the data entry of the directory server, the synchronization object capable of describing a change to the data entry; detecting a change in the synchronization object of the directory server, the change occurring in response to a change in at least one of the data entries of the directory server ; and updating the cache with a change in at least one data entry based on a change in the synchronization object of the directory server.

根据本发明的另一实施方式,一种计算机可读介质存储了可由能够耦接到ad hoc对等网络的数据处理设备执行的指令。该指令可用于执行包括以下的步骤:存储多个数据条目,每个数据条目描述一个或多个多媒体数据对象,所述多媒体对象可由网络实体经由网络访问;将数据条目向网络实体进行传递;存储能够描述到数据条目的改变的同步对象;响应于至少一个数据条目中的改变,而改变同步对象;以及将同步对象中的改变传送到网络实体,从而网络实体能够基于同步对象中的改变而更新数据条目的高速缓存。According to another embodiment of the present invention, a computer readable medium stores instructions executable by a data processing device capable of being coupled to an ad hoc peer-to-peer network. The instructions are operable to perform steps comprising: storing a plurality of data entries, each data entry describing one or more multimedia data objects accessible by the network entity via the network; delivering the data entry to the network entity; storing a synchronization object capable of describing changes to a data item; changing the synchronization object in response to a change in at least one data item; and communicating the change in the synchronization object to a network entity so that the network entity can update based on the change in the synchronization object A cache of data entries.

根据本发明的另一实施方式,一种设备包括能够经由ad hoc对等网络进行通信的网络接口。处理器耦接到网络接口,而存储器耦接到处理器。存储器包括目录服务模块,其具有引起所述处理器进行以下操作的指令:存储多个数据条目,每个数据条目描述一个或多个多媒体数据对象,所述多媒体对象是网络实体可经由网络访问的;将数据条目向网络实体传递;将同步对象与数据实体关联,同步对象能够描述对数据实体的改变;响应于与同步对象关联的至少一个数据条目中的改变,而改变所述同步对象;以及将同步对象中的改变传送到网络实体,从而网络实体能够基于同步对象中的改变而更新数据条目的高速缓存。According to another embodiment of the present invention, a device comprises a network interface capable of communicating via an ad hoc peer-to-peer network. The processor is coupled to the network interface, and the memory is coupled to the processor. The memory includes a directory services module having instructions that cause the processor to: store a plurality of data entries, each data entry describing one or more multimedia data objects accessible by a network entity via the network ; passing the data entry to the network entity; associating a synchronization object with the data entity, the synchronization object being capable of describing changes to the data entity; changing the synchronization object in response to a change in at least one data entry associated with the synchronization object; and Changes in the synchronization object are communicated to the network entity so that the network entity can update a cache of data entries based on the change in the synchronization object.

根据本发明的另一实施方式,计算机可读介质具有存储的指令,该指令可由能够耦接到ad hoc对等网络的数据处理设备执行。该指令可以用于执行包括以下的步骤:存储多个数据条目,每个数据条目描述一个或多个多媒体数据对象,所述多媒体对象是网络实体可经由网络访问;将数据条目向网络实体传递;存储能够描述对数据实体的改变的同步对象;响应于在至少一个数据实体中的改变,而改变所述同步对象;以及将所述同步对象中的改变传递到网络实体,从而所述网络实体能够基于所述同步对象中的改变而更新所述数据条目的高速缓存。According to another embodiment of the present invention, a computer readable medium has stored instructions executable by a data processing device capable of being coupled to an ad hoc peer-to-peer network. The instruction may be used to perform steps comprising: storing a plurality of data entries, each data entry describing one or more multimedia data objects, the multimedia objects being accessible by the network entity via the network; delivering the data entry to the network entity; storing a synchronization object capable of describing a change to a data entity; changing the synchronization object in response to a change in at least one data entity; and communicating the change in the synchronization object to a network entity so that the network entity can The cache of data entries is updated based on changes in the synchronization objects.

根据本发明的另一实施方式,一种系统包括ad hoc对等网络。目录服务器耦接到网络并被配置为在数据仓库(data store)上存储多个数据条目。每个数据条目描述可经由网络访问的一个或多个多媒体数据对象。将目录服务器的同步对象与所述数据实体关联。响应于改变所述数据条目,而改变目录服务器的同步对象。该系统还包括耦接到网络的控制点。该控制点被配置为将多个数据条目从目录服务器下载到控制点的高速缓存,并检测目录服务器的同步对象中的改变。控制点基于目录服务器的同步对象的改变,利用至少一个数据条目中的改变,更新高速缓存。According to another embodiment of the present invention, a system includes an ad hoc peer-to-peer network. A directory server is coupled to the network and is configured to store a plurality of data items on a data store. Each data entry describes one or more multimedia data objects accessible via the network. Associating a synchronization object of the directory server with the data entity. In response to changing the data entry, a synchronization object of the directory server is changed. The system also includes a control point coupled to the network. The control point is configured to download a plurality of data entries from the directory server to the control point's cache, and to detect changes in synchronization objects of the directory server. The control point updates the cache with the change in at least one data entry based on the change in the synchronization object of the directory server.

根据本发明的另一实施方式,一种设备包括:用于将从目录服务器下载的多个数据条目进行存储的装置,每个数据条目描述可经由网络访问的一个或多个多媒体数据对象;用于访问与目录服务器的数据条目关联的目录服务器的同步对象的装置,同步对象能够描述对目录服务器的数据条目的改变;用于检测目录服务器的同步对象中的改变的装置,所述改变响应于目录服务器的数据条目的至少一个中的改变而出现;以及用于基于所述目录服务器的同步对象的改变,利用至少一个数据条目中的改变,更新所述设备上存储的数据条目的装置。According to another embodiment of the present invention, an apparatus comprises: means for storing a plurality of data entries downloaded from a directory server, each data entry describing one or more multimedia data objects accessible via a network; means for accessing a synchronization object of a directory server associated with a data entry of the directory server, the synchronization object being capable of describing a change to a data entry of the directory server; means for detecting a change in a synchronization object of the directory server, the change being responsive to a change in at least one of the directory server's data entries; and means for updating the data entry stored on the device with the change in the at least one data entry based on the change in the synchronization object of the directory server.

根据本发明的另一实施方式,一种设备包括:用于将从目录服务器下载的多个数据条目进行存储的装置,每个数据条目描述可经由网络访问的一个或多个多媒体数据对象;用于访问与目录服务器的数据条目关联的目录服务器的同步对象的装置,同步对象能够描述对目录服务器的数据条目的改变;用于检测目录服务器的同步对象中的改变的装置,所述改变响应于所述目录服务器的数据条目的至少一个中的改变而出现;以及用于基于所述目录服务器的同步对象的改变,利用至少一个数据条目中的改变,更新所述设备上存储的数据条目的装置。According to another embodiment of the present invention, an apparatus comprises: means for storing a plurality of data entries downloaded from a directory server, each data entry describing one or more multimedia data objects accessible via a network; means for accessing a synchronization object of a directory server associated with a data entry of the directory server, the synchronization object being capable of describing a change to a data entry of the directory server; means for detecting a change in a synchronization object of the directory server, the change being responsive to occurs from a change in at least one of the data entries of the directory server; and means for updating the data entry stored on the device with the change in the at least one data entry based on the change in the synchronization object of the directory server .

根据本发明的另一实施方式,一种方法包括在目录服务器上存储多个数据条目。每个数据条目描述可经由网络访问的一个或多个多媒体数据对象。将目录服务器的唯一ID与至少一个数据条目进行关联。将数据条目从所述目录服务器经由网络下载到移动终端的高速缓存。响应于与所述唯一ID关联的数据条目的至少一个中的改变,改变所述目录服务器的唯一ID。基于目录服务器的唯一ID的改变,利用至少一个数据条目中的改变,更新所述移动终端的高速缓存。According to another embodiment of the present invention, a method includes storing a plurality of data entries on a directory server. Each data entry describes one or more multimedia data objects accessible via the network. The unique ID of the directory server is associated with at least one data entry. Data entries are downloaded from the directory server to a cache of the mobile terminal via a network. The unique ID of the directory server is changed in response to a change in at least one of the data entries associated with the unique ID. A cache of the mobile terminal is updated with a change in at least one data entry based on a change in the unique ID of the directory server.

特别地,利用附在这里并形成这里一部分的权利要求书指出了表征本发明新颖性的这些和各种其他优势和特征。然而,为了更好地理解本发明,其优点以及通过其使用所达到的目的,应该对形成本发明另外部分的附图进行参考,并对伴随的描述性内容进行参考,其中存在根据本发明的系统、设备和方法而示出的和描述的特定例子。These and various other advantages and features of novelty which characterize the invention are pointed out with particularity in the claims annexed hereto and forming a part hereof. However, for a better understanding of the invention, its advantages and objects attained by its use, reference should be made to the accompanying drawings which form a further part hereof, and to the accompanying descriptive matter in which there are Specific examples of systems, devices, and methods are shown and described.

附图说明Description of drawings

结合在以下附图中示出的实施方式描述本发明。The invention is described in conjunction with the embodiments shown in the following figures.

图1示出根据本发明的实施方式的通用即插即用多媒体系统;Fig. 1 shows a universal plug and play multimedia system according to an embodiment of the present invention;

图2A示出根据本发明的实施方式的用于初始填充目录服务器高速缓存的过程;Figure 2A illustrates a process for initially populating a directory server cache according to an embodiment of the invention;

图2B示出根据本发明的实施方式的递归地读取目录服务器容器从而填充目录服务器高速缓存的过程。Figure 2B illustrates the process of recursively reading a directory server container to populate a directory server cache, according to an embodiment of the invention.

图3示出根据本发明的实施方式的在可用于跟踪内容目录改变的目录服务器上存储的对象和容器的设置;Figure 3 illustrates an arrangement of objects and containers stored on a directory server that can be used to track content directory changes, according to an embodiment of the invention;

图4示出根据本发明的实施方式的用于使用高速缓存同步来备份媒体服务器数据的交换序列;以及Figure 4 illustrates an exchange sequence for backing up media server data using cache synchronization, according to an embodiment of the invention; and

图5示出根据本发明的实施方式的被配置为控制点和媒体呈现器的移动终端。FIG. 5 illustrates a mobile terminal configured as a control point and a media renderer according to an embodiment of the present invention.

具体实施方式Detailed ways

在以下各种示例性实施方式的描述中,参考构成这里一部分的附图,其中通过图示可实现本发明的各种实施方式来进行表示。将理解到在不偏离本发明的范围的情况下,可以利用其他的实施方式,如可以做出结构上的和操作上的改变。In the following description of various exemplary embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration various embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized, as structural and operational changes may be made without departing from the scope of the present invention.

通常,本发明提供一种由控制设备控制多媒体数据的部署的方式。控制设备利用描述多媒体对象的目录数据以及多媒体对象之间的定义关系(例如分层结构)。元数据可以包括诸如多媒体数据文件的位置、多媒体对象的描述和分类、编解码器、传输协议、定制用户数据等的信息。关系数据可以包括对多媒体对象进行分组的集合定义或容器。In general, the invention provides a way of controlling the deployment of multimedia data by a control device. The control device utilizes catalog data describing multimedia objects and defined relationships (eg hierarchical structures) between multimedia objects. Metadata may include information such as the location of multimedia data files, description and classification of multimedia objects, codecs, transport protocols, custom user data, and the like. Relational data may include collection definitions or containers that group multimedia objects.

本发明可以利用一种机制,该机制使用现有的UPnP AV框架来提供用于触发CDS和UPnP AV控制点之间的元数据的同步的信息。另外,CDS元数据可以由控制点或作为代表该控制点的设备来存储/高速缓存,从而可以根据用户的位置以良好的方式管理媒体文件(即,高级搜索、上下文感知搜索等)。这些同步机制还可以用于使得家庭网络中的媒体文件的备份过程自动化。The present invention may utilize a mechanism that uses the existing UPnP AV framework to provide information for triggering synchronization of metadata between CDS and UPnP AV control points. In addition, CDS metadata can be stored/cached by the control point or as a device acting on behalf of the control point, so that media files can be managed in a good way according to the user's location (ie, advanced search, context-aware search, etc.). These synchronization mechanisms can also be used to automate the backup process of media files in the home network.

典型地,多媒体目录数据存储在网络的一个或多个服务器单元。控制设备经由网络访问来自服务器单元(例如,媒体服务器的CDS)的多媒体目录数据。控制设备在数据存储装置中对目录数据进行本地高速缓存。用户设备和服务器单元可以通过系统和对象标识符的使用来对数据进行同步。标识符是使得控制设备确定服务器单元的数据是否已经整体出现改变的标记。标识符还可以用于提供更细粒度的改变确定,诸如跟踪多媒体对象、容器或其他关系数据的状态。Typically, multimedia catalog data is stored at one or more server units of the network. The control device accesses multimedia catalog data from a server unit (eg CDS of a media server) via a network. The control device caches the directory data locally in the data store. User equipment and server units can synchronize data through the use of system and object identifiers. The identifier is a flag that enables the control device to determine whether or not the data of the server unit has changed as a whole. Identifiers can also be used to provide more fine-grained determination of changes, such as tracking the state of multimedia objects, containers, or other relational data.

标识符可以包括在CDS中具体格式化的条目,该CDS将存储媒体服务器的“签名”。每次在CDS中增加、删除或更新新的条目时,媒体服务器将更新该签名。该签名可以表示为每次有改变时进行增加的简单的计数器、元数据的散列或者可以具有也指示改变的属性的更高级的含义。可选地,CDS可以定义新条目以用于同步,或者内容总结/备份数据,并且该条目可以包括:时间戳、签名等。在这种设置中的控制点还将存储与控制点连接的每个CDS的唯一ID。The identifier may comprise a specifically formatted entry in the CDS that will store the "signature" of the media server. The media server will update the signature every time a new entry is added, deleted or updated in the CDS. This signature may represent a simple counter that is incremented each time there is a change, a hash of metadata, or may have a higher-level meaning that also indicates a property of the change. Optionally, CDS can define a new entry for synchronization, or content summary/backup data, and this entry can include: timestamp, signature, etc. A control point in such a setup will also store a unique ID for each CDS connected to the control point.

传统上,消费电子产品设备使用专用电缆和电接口交换数据。例如,音频/视频(AV)接收器可以具有用于接收模拟合成视频、模拟音频、数字音频、模拟分量视频、数字视频、远程控制信号等的任何组合的输入端。消费电子设备通常经由电缆连接到AV接收器,因此通常的娱乐中心在中央位置周围聚集。随着无线家庭组网的不断采用,要求所有设备连接到诸如AV接收器的控制位置和中央交换的概念正在变得过时。数字组网技术使得将被访问的多媒体和其他内容分布于家庭中。在一些设置中,还可以经由诸如互联网的长距离接入网而远程访问数据。Traditionally, consumer electronics devices exchange data using specialized cables and electrical interfaces. For example, an audio/video (AV) receiver may have inputs for receiving any combination of analog composite video, analog audio, digital audio, analog component video, digital video, remote control signals, and the like. Consumer electronics devices are usually connected to the AV receiver via cables, so a typical entertainment center is clustered around a central location. As wireless home networking continues to be adopted, the concept of requiring all devices to be connected to a control location and central switch such as an AV receiver is becoming obsolete. Digital networking technologies enable the distribution of accessed multimedia and other content throughout the home. In some settings, data may also be accessed remotely via a long-distance access network such as the Internet.

在家庭环境中提供数据分发能力的期望导致产生诸如UPnP标准的技术。UPnP被开发用于允许在诸如家庭网络的本地网络中的电子设备之间的容易互操作性。UPnP AV规范是UPnP的修改版,其允许消费电子产品设备在整个家庭网络中分发娱乐内容。尽管针对UPnP网络描述了本发明,可以理解,本发明还可以应用于允许在设备之间数字地分发娱乐内容的其他技术。例如,这里描述的概念可以等同地应用于家庭自动化技术中,诸如X-10、xAP、Jini、HomeRF、蓝牙、IrDA等。The desire to provide data distribution capabilities in the home environment has led to technologies such as the UPnP standard. UPnP was developed to allow easy interoperability between electronic devices in a local network, such as a home network. The UPnP AV specification is a modified version of UPnP that allows consumer electronics devices to distribute entertainment content throughout a home network. Although the invention has been described with respect to a UPnP network, it will be appreciated that the invention can also be applied to other technologies that allow digital distribution of entertainment content between devices. For example, the concepts described here can be equally applied in home automation technologies such as X-10, xAP, Jini, HomeRF, Bluetooth, IrDA, etc.

现在参考图1,根据本发明的实施方式示出了UPnP AV架构100的各种实体。具体地,示出了UPnP架构的三个逻辑实体:媒体服务器102、媒体呈现器104和控制点106。媒体服务器102可以对位于一个或多个数据仓库108中的娱乐内容107访问。媒体服务器102能够经由网络112向诸如媒体呈现器104的另一个UPnP AV设备发送内容107。媒体呈现器104能够从网络112接收多媒体内容107,并将内容107呈现在其硬件接口上。控制点106协调媒体服务器102和媒体呈现器104的操作,从而执行端用户所期望的动作。Referring now to FIG. 1 , various entities of a UPnP AV architecture 100 are shown in accordance with an embodiment of the present invention. Specifically, three logical entities of the UPnP architecture are shown:Media Server 102, Media Renderer 104 andControl Point 106.Media server 102 may have access to entertainment content 107 located in one ormore data repositories 108 .Media server 102 is capable of sending content 107 to another UPnP AV device, such as media renderer 104, via network 112. The media renderer 104 is capable of receiving multimedia content 107 from the network 112 and rendering the content 107 on its hardware interface.Control point 106 coordinates the operation ofmedia server 102 and media renderer 104 to perform actions desired by the end user.

媒体服务器102和媒体呈现器104实现一组UPnP AV服务。这些服务能够由控制点106使用,以将内容从服务器102传送到呈现器104。在媒体服务器102与媒体呈现器104之间传输数据中,通常仅在命令和控制操作中涉及控制点106。这些操作通常包括识别和选择将要用于数据传输的数据、数据传输协议和数据格式。媒体服务器102和媒体呈现器104将使用由网元102、104二者都支持的协议和格式来传输希望的内容。因此,可以独立于由服务器102和呈现器104所用的协议或数据格式而实现控制点106。Media server 102 and media renderer 104 implement a set of UPnP AV services. These services can be used by thecontrol point 106 to transfer content from theserver 102 to the renderer 104 . In transferring data betweenmedia server 102 and media renderer 104,control point 106 is generally only involved in command and control operations. These operations typically include identifying and selecting the data, data transfer protocols, and data formats to be used for data transfer. Themedia server 102 and media renderer 104 will use the protocols and formats supported by bothnetwork elements 102, 104 to transmit the desired content. Thus,control point 106 may be implemented independently of the protocol or data format used byserver 102 and renderer 104 .

媒体服务器102、媒体呈现器104和控制点106是在UPnP AV架构100中定义的逻辑实体。在架构100中采用的设备可以包括这些实体102、104、106的任意组合的功能。例如,设备可以包括如虚线114所标识的媒体服务器104和嵌入的控制点106。这样的设备114包括对来自呈现内容的相同位置的操作进行控制的能力。Media server 102, media renderer 104 andcontrol point 106 are logical entities defined in UPnP AV architecture 100. The devices employed in the architecture 100 may include the functionality of any combination of theseentities 102 , 104 , 106 . For example, a device may include a media server 104 and an embeddedcontrol point 106 as identified by dashed line 114 . Such devices 114 include the ability to control operations from the same location where the content is presented.

UPnP架构100适合于由广泛的电子设备使用。例如,消费电子产品设备120可以利用UPnP网络112。消费电子设备120可以包括音频设备122,电视124、摄像机126、视频游戏128、红外(IR)远程控制129或传统上与消费娱乐相关的任何其他设备,如通用消费电子产品设备130所代表的。The UPnP framework 100 is suitable for use by a wide range of electronic devices. For example, consumer electronics device 120 may utilize UPnP network 112 . Consumer electronics device 120 may include audio equipment 122, television 124, video camera 126, video game 128, infrared (IR) remote control 129, or any other device traditionally associated with consumer entertainment, as represented by general consumer electronics device 130.

还可以在UPnP架构100中利用数据处理设备132。数据处理设备132通常提供计算或通信功能。数据处理设备132的例子包括蜂窝电话134、台式计算机136、便携式计算机138、路由器140、个人数字助理(PDA)142或由通用设备144所代表的任何其他设备。将可以理解,消费电子产品设备120与数据处理设备132之间的区别是稍微任意的,因为大多数现代电子设备包括数据处理功能(例如,嵌入式微处理器)并且大多数有用的计算/通信设备具有家用应用。Data processing device 132 may also be utilized in UPnP architecture 100 . Data processing device 132 typically provides computing or communication functionality. Examples of data processing device 132 include cellular telephone 134 , desktop computer 136 , portable computer 138 , router 140 , personal digital assistant (PDA) 142 , or any other device represented by general purpose device 144 . It will be appreciated that the distinction between consumer electronics device 120 and data processing device 132 is somewhat arbitrary, since most modern electronic devices include data processing functionality (e.g., embedded microprocessors) and most useful computing/communication devices Has household applications.

通常在例如家庭或办公室的本地环境中利用UPnP架构100。架构100可以利用有线和无线网络媒体和协议的任何组合。还可以使得UPnP架构100的网络和设备120、132是经由诸如互联网146的公共数据传输媒体外部可访问的。例如,UPnP网关/路由器148可以使得远程设备150经由互联网146或其他公共可访问媒体(例如,公共无线电波)来访问UPnP网络112的一些或所有单元。The UPnP architecture 100 is typically utilized in a local environment such as a home or office. Architecture 100 can utilize any combination of wired and wireless networking media and protocols. The network and devices 120 , 132 of the UPnP architecture 100 may also be made externally accessible via a public data transmission medium such as the Internet 146 . For example, UPnP gateway/router 148 may enable remote device 150 to access some or all elements of UPnP network 112 via Internet 146 or other publicly accessible medium (eg, public airwaves).

利用UPnP AV网络的AV能力通常涉及设备之间的交互,所述设备扮演媒体服务器102、媒体呈现器104和控制点106的一个或多个角色。这些实体102、104、106的逻辑功能可以包括在现有技术已知的消费电子产品和数据处理设备120、132中。例如,PDA 142可以作为控制点106,以便从用作媒体服务器102的计算机136选择可用的流传输视频。流传输视频可以被引导到用作媒体呈现器104的电视124。假设架构100中的所有设备统一地包括UPnP标准,则在设备之间的这种类型的交互可以仅利用用户的最少设置和配置而发生。AV capabilities utilizing UPnP AV networks typically involve interactions between devices that play one or more roles ofMedia Server 102, Media Renderer 104, andControl Point 106. The logical functions of theseentities 102, 104, 106 may be included in consumer electronics and data processing devices 120, 132 known in the art. For example, the PDA 142 may act as thecontrol point 106 to select available streaming video from the computer 136 acting as themedia server 102. Streaming video may be directed to television 124 serving as media renderer 104 . Assuming that all devices in architecture 100 uniformly include the UPnP standard, this type of interaction between devices can occur with only minimal setup and configuration by the user.

UPnP AV技术的特别有用的应用包括将无线设备(例如,蜂窝电话134)用作控制点106。通常,这些无线设备134可以被适用于通过多种无线网络和协议通信,包括802.11 WLAN、蓝牙、CDMA、TDMA等。无线设备134通常是便携式的和由电池供电的,并且理想地适于作为控制点106,因为用户易于携带无线设备134用于例如接收电话呼叫的目的。因此,能够提供UPnP控制106的无线设备134使得用户不必搜索指定的远程控制129或其他设备。而且,现代蜂窝电话134和类似设备的高级显示能力对于传送控制点106所需的潜在的复杂用户接口而言是理想的。A particularly useful application of UPnP AV technology includes using a wireless device (eg, cell phone 134) ascontrol point 106. In general, these wireless devices 134 may be adapted to communicate over a variety of wireless networks and protocols, including 802.11 WLAN, Bluetooth, CDMA, TDMA, and the like. Wireless device 134 is typically portable and battery powered, and is ideally suited ascontrol point 106 because a user can easily carry wireless device 134 for purposes such as receiving telephone calls. Thus, a wireless device 134 capable of providingUPnP control 106 frees the user from having to search for a specific remote control 129 or other device. Also, the advanced display capabilities of modern cellular phones 134 and similar devices are ideal for communicating the potentially complex user interface required bycontrol point 106 .

使用无线设备134作为控制点106的缺点涉及这种设备使用的通常低的带宽连接。尽管一些无线协议(例如,802.11g)提供不断增加的带宽,但大多数便携式设备不能利用这种带宽,例如由于功率传输限制。因此,当执行网络通信时,用作UPnP控制点106的无线设备134将需要仔细限制带宽的使用。为了更好地理解UPnP控制点106的带宽利用率的问题,提出了关于控制点106在UPnP AV规范中怎样操作的更详细的讨论。A disadvantage of using wireless devices 134 as control points 106 relates to the typically low bandwidth connections used by such devices. Although some wireless protocols (eg, 802.11g) provide ever-increasing bandwidth, most portable devices cannot take advantage of this bandwidth, for example due to power transfer limitations. Accordingly, a wireless device 134 acting as aUPnP control point 106 will need to carefully limit bandwidth usage when performing network communications. To better understand the issue of bandwidth utilization by UPnP control points 106, a more detailed discussion on how control points 106 operate in the UPnP AV specification is presented.

UPnP控制点106通常控制媒体服务器102和媒体呈现器104之间的数据传输。这可以包括:在网络上定位服务器102和呈现器104;列举从服务器102可获得的内容;询问服务器102和呈现器106,以确定公共传输协议和数据格式;利用期望的内容以及选择的协议和格式,配置服务器102和呈现器104;启动内容的传输;规定对于诸如数据速率、数量等内容的调整。控制点106通常将包括用户接口152,用于将目录信息传达给用户并从用户接收命令。控制管理器154可以用于用户接口152和服务器102以及呈现器104之间的通信,以便执行用户所期望的数据传输任务。TheUPnP control point 106 generally controls data transfer between themedia server 102 and the media renderer 104 . This may include: locating theserver 102 and renderer 104 on the network; enumerating the content available from theserver 102; querying theserver 102 andrenderer 106 to determine common transport protocols and data formats; format, configures theserver 102 and renderer 104; initiates transmission of content; specifies adjustments to content such as data rate, volume, etc. Thecontrol point 106 will typically include a user interface 152 for communicating directory information to and receiving commands from the user.Control manager 154 may be used for communication between user interface 152 andserver 102 and renderer 104 in order to perform data transfer tasks desired by the user.

控制点106执行的一个任务包括询问媒体服务器102,以确定服务器102上可用的内容。媒体服务器102可以访问娱乐内容107,并能够将该内容107发送到另一设备用于呈现。媒体服务器102包括内容目录服务(CDS)156,其使得控制点106发现和列举服务器的所有内容。服务器102还包括连接管理器158,其允许控制点106协商并选择当在媒体服务器102和呈现器104之间传输内容时所使用的协议和数据格式。服务器102可以可选择地包括AV传送服务160,其用于在媒体呈现器104上回放期间控制内容流(例如暂停、快进)。One task performed by thecontrol point 106 includes querying themedia server 102 to determine what content is available on theserver 102 . Themedia server 102 has access to the entertainment content 107 and can send the content 107 to another device for presentation.Media server 102 includes a content directory service (CDS) 156 that enablescontrol point 106 to discover and enumerate all of the server's content. Theserver 102 also includes a connection manager 158 that allows thecontrol point 106 to negotiate and select the protocol and data format to use when transferring content between themedia server 102 and the renderer 104 . Theserver 102 may optionally include an AV delivery service 160 for controlling content flow (eg, pause, fast-forward) during playback on the media renderer 104 .

媒体呈现器104被配置为经由网络112或其他装置(例如直接的有线连接)接收内容107,并呈现内容107。内容107可以由任何形式的电子设备呈现,所述电子设备包括视频显示器、扬声器、发动机、加热/制冷单元、电化学设备、开关设备等。媒体呈现器104包括呈现控制162,其可以被用于控制内容怎样被呈现。呈现控制162可以用于改变诸如视频亮度和音量的参数。媒体呈现器104包括连接管理器164,其用于与媒体服务器102协商和选择协议和数据格式。类似于媒体服务器102,媒体呈现器可以包括AV传送服务166,其被用于控制内容流。Media renderer 104 is configured to receive content 107 via network 112 or other means (eg, a direct wired connection) and to render content 107 . Content 107 may be presented by any form of electronic device, including video displays, speakers, motors, heating/cooling units, electrochemical devices, switchgear, and the like. Media renderer 104 includes rendering controls 162, which may be used to control how content is rendered. Presentation controls 162 may be used to change parameters such as video brightness and volume. The media renderer 104 includes aconnection manager 164 for negotiating and selecting protocols and data formats with themedia server 102 . Similar to themedia server 102, the media renderer may include anAV delivery service 166, which is used to control the flow of content.

关于由无线设备134所使用的带宽,特别关注的是CDS 156与控制点106之间的通信。CDS 156使得控制点106发现和列举可由媒体服务器102访问的内容107。以术语“对象”描述媒体服务器102上可用的内容107。CDS 156提供描述这些对象的各种属性的元数据。元数据包括诸如作为题目、持续时间、创建时间、修改时间等属性。Of particular concern with respect to the bandwidth used by the wireless device 134 is the communication between theCDS 156 and thecontrol point 106.CDS 156 enablescontrol point 106 to discover and list content 107 accessible bymedia server 102. The content 107 available on themedia server 102 is described in terms of "object".CDS 156 provides metadata describing various properties of these objects. Metadata includes attributes such as title, duration, creation time, modification time, etc.

当控制点106加入网络112时,其使用简单服务发现协议(SSDP)来发现网络中的所有媒体服务器102和媒体呈现器104。实现媒体服务器和媒体呈现器模板的所有设备将以设备的描述文档的URL来响应于该请求。一旦定位媒体服务器和呈现器,控制点106得到和解析描述文档,以确定每个设备的确切能力。When thecontrol point 106 joins the network 112, it uses the Simple Service Discovery Protocol (SSDP) to discover all themedia servers 102 and media renderers 104 in the network. All devices implementing the MediaServer and MediaRenderer templates will respond to this request with the URL of the device's description document. Once the media servers and renderers are located, thecontrol point 106 obtains and parses the description documents to determine the exact capabilities of each device.

在初始化之后,控制点106可以使用每个媒体服务器的CDS 156来列举可从服务器102获得的内容。控制点106可以从多个服务器收集CDS 156信息,并且将该信息聚集到可从特定网络112获得的所有内容的单个视图中。CDS 156利用可扩展标记语言(XML)描述对象和它们的相关性质。对象是能够由CDS从浏览或搜索动作返回的任何数据实体。一种性质代表CDS 156或对象的客户端定义特征。CDS 156将XML中的性质表达为单元或属性。After initialization, thecontrol point 106 may use each media server'sCDS 156 to enumerate the content available from theserver 102.Control point 106 may collectCDS 156 information from multiple servers and aggregate this information into a single view of all content available from a particular network 112.CDS 156 utilizes Extensible Markup Language (XML) to describe objects and their associated properties. An object is any data entity that can be returned by the CDS from a browse or search action. A property represents aCDS 156 or client-defined characteristic of an object.CDS 156 expresses properties in XML as elements or attributes.

CDS 156利用对象分类的层次。具体地,对象的两个高层分类是“项目”和“容器”。项目通常表示AV数据的单元,诸如CD轨道或电影文件。容器代表对象的集合。容器可以包含项目和其他容器。CDS 156形成提供这些对象的描述的XML文档。CDS 156 utilizes a hierarchy of object classifications. Specifically, the two high-level classifications of objects are "items" and "containers". Items generally represent units of AV data, such as CD tracks or movie files. A container represents a collection of objects. Containers can contain items and other containers.CDS 156 forms XML documents that provide descriptions of these objects.

CDS 156主要是基于“动作”的,意指能够从控制点106调用某些预定的动作,并且CDS 156以数据做出响应。控制点106可以调用至少两个动作,以从CDS发现对象:“浏览”和“搜索”。CDS 156至少支持“浏览”动作,并且可以选择地支持“搜索”动作。浏览包括在CDS目录结构的条目点(即,容器对象)处提取数据对象列表。浏览动作可以由功能原型“Browse(ObjectID、BrowseFlag、Filter、StartingIndex、RequestedCount)”来表示。ObjectID指当前被浏览的对象的ID。CDS 156中的根容器具有总是为“0”的ObjectID。如果BrowseFlag被设置为“BrowseMetadata”,则CDS 156将返回与ObjectID相关的元数据。如果BrowseFlag被设置为“BrowseDirectChildren”,则ObjectID指容器,并且CDS 156将返回与在容器中包含的对象关联的元数据的列表。TheCDS 156 is primarily "action-based," meaning that certain predetermined actions can be invoked from thecontrol point 106, and theCDS 156 responds with data. Thecontrol point 106 can invoke at least two actions to discover objects from the CDS: "Browse" and "Search".CDS 156 supports at least a "browse" action, and optionally a "search" action. Browsing involves extracting a list of data objects at entry points (ie, container objects) of the CDS directory structure. The browsing action can be represented by the function prototype "Browse(ObjectID, BrowseFlag, Filter, StartingIndex, RequestedCount)". ObjectID refers to the ID of the currently browsed object. The root container inCDS 156 has an ObjectID that is always "0". If BrowseFlag is set to "BrowseMetadata", theCDS 156 will return metadata related to the ObjectID. If BrowseFlag is set to "BrowseDirectChildren", the ObjectID refers to a container, and theCDS 156 will return a list of metadata associated with the objects contained in the container.

控制点106可以使用在根容器处开始的浏览动作来发现CDS156的整个内容。作为该动作和随后动作所找到的结果的任何容器被用作针对随后的浏览请求的条目点。以这种方式,控制点106可以遍历由CDS所展示的整个目录结构。Control point 106 can discover the entire content ofCDS 156 using a browse action initiated at the root container. Any containers found as a result of this and subsequent actions are used as entry points for subsequent browse requests. In this way, thecontrol point 106 can traverse the entire directory structure exposed by the CDS.

响应于“浏览”动作,CDS 156将返回描述所请求的对象的XML段。CDS 156还将返回指示结果中返回的对象数目、容器中对象的总数目(如果BrowseFlag被设置为BrowseDirectChildren)以及UpdateID的值。UpdateID是由CDS 156使用的标识符,以指示容器的当前状态。如果容器的性质或内容改变,则其UpdateID被增加。如果ObjectID是零(即,对象是根容器),则返回的UpdateID是称为SystemUpdateID的特定标识符。无论何时CDS 156目录中发生任何改变,SystemUpdateID变量都改变。In response to the "Browse" action,CDS 156 will return an XML segment describing the requested object. TheCDS 156 will also return a value indicating the number of objects returned in the result, the total number of objects in the container (if BrowseFlag is set to BrowseDirectChildren), and UpdateID. UpdateID is an identifier used byCDS 156 to indicate the current state of the container. If the nature or content of the container changes, its UpdateID is incremented. If ObjectID is zero (that is, the object is the root container), then the returned UpdateID is a specific identifier called SystemUpdateID. Whenever any change occurs in theCDS 156 directory, the SystemUpdateID variable changes.

CDS 156可以可选择地相应于“搜索”动作。搜索用于找到匹配特定搜索准则的一组对象。CDS 156能够提供性质列表,在其上能够通过响应于GetSearchCapability动作进行搜索。由于利用浏览动作,所以CDS 156将返回描述满足该搜索的对象的XML段(如果能够找到任何所述对象)。CDS 156 may optionally correspond to a "search" action. Search is used to find a set of objects matching certain search criteria. TheCDS 156 can provide a list of properties on which to search by responding to the GetSearchCapability action. As a result of utilizing the browse action, theCDS 156 will return an XML segment describing objects that satisfy the search (if any can be found).

在控制点106通过浏览或搜索动作得到对象的列表时,控制点106可以将结果显示在用户接口152中。用户可以从该接口152选择项目以用于进一步浏览,或选择项目以用于呈现。在用户选择将要被呈现的内容之后,控制点106从CDS 156提取元数据,用于所选择的项目。该元数据被用于确定所支持的传送协议和数据格式。接着控制点106将该元数据与来自呈现器的连接管理器164的数据进行比较,以确定呈现器104是否能够呈现所期望的内容。Whencontrol point 106 obtains a list of objects through a browse or search action,control point 106 may display the results in user interface 152 . From this interface 152 a user may select items for further browsing or select items for presentation. After the user selects the content to be presented, thecontrol point 106 extracts metadata from theCDS 156 for the selected item. This metadata is used to determine supported transport protocols and data formats. Thecontrol point 106 then compares this metadata with data from the renderer'sconnection manager 164 to determine whether the renderer 104 is capable of rendering the desired content.

在识别公共协议/格式之后,控制点106在服务器102和呈现器104二者上调用连接管理器服务158、164。向每个设备通知目标协议/格式,并且相应的连接管理器158、164基于所选择的公共协议和格式建立和配置多媒体回放会话。After identifying the common protocol/format, thecontrol point 106 invokes theconnection manager services 158 , 164 on both theserver 102 and the renderer 104 . Each device is notified of the target protocol/format and therespective connection manager 158, 164 establishes and configures a multimedia playback session based on the selected common protocol and format.

CDS 156主要设计用于使得控制点106发现可经由CDS 156访问的数据。控制点106可以完全依赖于CDS 156来确定媒体服务器102上的内容的当前状态。但是,存在当将CDS 156数据高速缓存在控制点设备106上是优选的情况。例如,控制点106可以提供经由CDS 156不可得到的高级搜索能力,诸如上下文感知搜索。另外,控制点106可以更快地搜索本地高速缓存而不是通过低带宽连接向CDS 156发送请求。当从网络112完全断开连接时,控制点106甚至可以访问本地高速缓存。在其他情况下,控制点106可以访问多个CDS 156服务器,所述多个CDS 156服务器不总是可由控制点106访问。通过将搜索限制到仅在当前网络连接上可用的那些CDS,可以改善搜索。CDS 156 is primarily designed to enablecontrol point 106 to discover data accessible viaCDS 156. Thecontrol point 106 may rely entirely on theCDS 156 to determine the current state of the content on themedia server 102. However, there are situations when it is preferable to cache theCDS 156 data on thecontrol point device 106. For example,control point 106 may provide advanced search capabilities not available viaCDS 156, such as context-aware search. In addition, thecontrol point 106 can search the local cache more quickly instead of sending requests to theCDS 156 over a low bandwidth connection. When completely disconnected from the network 112, thecontrol point 106 can even access the local cache. In other cases, thecontrol point 106 may have access tomultiple CDS 156 servers that are not always accessible by thecontrol point 106. Searches can be improved by limiting the search to only those CDSs that are available on the current network connection.

根据本发明的一个实施方式,控制点106包含高速缓存管理器168和高速缓存170,该高速缓存用于存储从CDS 156接收的对象元数据。高速缓存170可以在任何形式的易失性或非易失性存储器上实现,所述易失性或非易失性存储器包括硬驱动器、可移动介质、闪存、随机存取存储器(RAM)等。高速缓存168是软件组件,其能够自动启动动作(例如,浏览),以从CDS 156提取对象数据,并将该数据存储到高速缓存170中。高速缓存管理器168还可以监视由用户接口152执行的CDS动作,以及控制管理器154以创建部分CDS高速缓存和/或以更新现有的高速缓存条目。用户接口152可以显示数据和启动动作,例如,经由高速缓存管理器168进行搜索,代替经由控制管理器154和CDS 156进行搜索。According to one embodiment of the invention, thecontrol point 106 includes acache manager 168 and acache 170 for storing object metadata received from theCDS 156.Cache 170 may be implemented on any form of volatile or nonvolatile memory, including hard drives, removable media, flash memory, random access memory (RAM), and the like.Cache 168 is a software component that can automatically initiate an action (eg, browse) to extract object data fromCDS 156 and store that data intocache 170.Cache manager 168 may also monitor CDS actions performed by user interface 152 andcontrol manager 154 to create partial CDS caches and/or to update existing cache entries. User interface 152 may display data and initiate actions, such as searching viacache manager 168 instead of searching viacontrol manager 154 andCDS 156.

当在UPnP网络上第一次发现CDS 156时,控制点106设备可以被配置为读取和高速缓存整个CDS 156数据集合。用于根据本发明的实施方式的将CDS数据读取到高速缓存170的一个示例过程在图2A和2B中示出。通过以根容器作为参量调用202图2B中所示的Read_Container例程204,Build_Cache例程200开始。通过取得206This_Container中的所有对象,Read_Container例程204开始,This_Container是传递到例程204中的参量。例如,通过以BrowseDirectChildren的BrowseFlag调用浏览(Browse),可以执行该步骤206。通过在This_Container中找到的容器(如果有的话)循环迭代208,并且在每个找到的容器上重复地调用210Read_Container。在Read_Container 210返回之后,针对每个容器的元数据被添加212添加到高速缓存。接着,通过循环迭代214,项目以及每个项目的元数据被添加216添加到高速缓存。在所有容器和项目的元数据被添加到高速缓存之后,例程退出218。When aCDS 156 is first discovered on the UPnP network, theControl Point 106 device can be configured to read and cache theentire CDS 156 data set. One example process for reading CDS data intocache 170 according to an embodiment of the invention is shown in FIGS. 2A and 2B . The Build_Cache routine 200 begins by calling 202 the Read_Container routine 204 shown in FIG. 2B with the root container as an argument. The Read_Container routine 204 begins by fetching all objects in 206 This_Container, which is a parameter passed intoroutine 204 . For example, thisstep 206 can be performed by calling Browse with the BrowseFlag of BrowseDirectChildren. The loop iterates 208 through the containers (if any) found in This_Container and repeatedly calls 210 Read_Container on each found container. AfterRead_Container 210 returns, metadata for each container is added 212 to the cache. Next, throughloop iteration 214, items and metadata for each item are added 216 to the cache. The routine exits 218 after all container and item metadata has been added to the cache.

作为图2A和图2B所示例程的可选方案,对于CDS接口的修改可以允许在单个动作中下载整个CDS目录结构。例如,浏览动作可以被扩展到允许在单个调用中下载整个CDS数据集合。这可以通过配置浏览动作以支持诸如“BrowseAll”的BrowseFlag而完成。使用BrowseAll标志的浏览动作将返回列出整个CDS元数据存放的文档。As an alternative to the routine shown in Figures 2A and 2B, modifications to the CDS interface may allow downloading of the entire CDS directory structure in a single action. For example, the browse action can be extended to allow downloading an entire collection of CDS data in a single call. This can be done by configuring the browse action to support a BrowseFlag such as "BrowseAll". A browse action using the BrowseAll flag will return a document listing the entire CDS metadata repository.

再次参考图1,当第一次连接到UPnP网络112上时,高速缓存170可以被填充一些或所有的CDS数据。一旦高速缓存170包含至少部分的CDS内容时,必须存在一种方式来确定CDS 156中的条目何时改变。重要的是,高速缓存170和CDS 156仍是同步的,以便控制点106正确地操作。目前,CDS 156保持SystemUpdateID,无论何时当由CDS 156跟踪的任何对象被添加或删除时,或当对象的元数据改变时,该SystemUpdateID将改变。CDS 156提供异步事件,该异步事件将SystemUpdateID的值通知给系统实体。另外,在任何时间,客户端实体都能够通过在CDS 156处调用GetSystemUpdateID动作来请求SystemUpdateID的当前值。客户端可以使用后一种方法,以针对SystemUpdateID的当前值而轮询CDS 156。Referring again to FIG. 1, when connecting to the UPnP network 112 for the first time, thecache 170 may be filled with some or all of the CDS data. Once thecache 170 contains at least part of the CDS content, there must be a way to determine when an entry in theCDS 156 changes. Importantly,cache 170 andCDS 156 are still synchronized in order forcontrol point 106 to operate correctly. Currently, theCDS 156 maintains a SystemUpdateID that will change whenever any object tracked by theCDS 156 is added or deleted, or when the object's metadata changes.CDS 156 provides asynchronous events that notify system entities of the value of SystemUpdateID. Additionally, at any time, a client entity can request the current value of SystemUpdateID by calling the GetSystemUpdateID action atCDS 156. Clients can use the latter method to poll theCDS 156 for the current value of SystemUpdateID.

通常,控制点106将本地存储其遇到的每个CDS的内容。当控制点106连接到已知的CDS 156时,控制点106将首先读取“签名”条目(例如,SystemUpdateID)。如果“签名”不同于在控制点106中高速缓存的“签名”,则CDS内容已经改变,并且同步过程被触发。Typically, thecontrol point 106 will locally store the content of each CDS it encounters. When acontrol point 106 connects to a knownCDS 156, thecontrol point 106 will first read the "signature" entry (e.g., SystemUpdateID). If the "signature" is different from the "signature" cached in thecontrol point 106, then the CDS content has changed and a synchronization process is triggered.

无论何时CDS对象改变,CDS 156仅被要求修改SystemUpdateID,但不规定SystemUpdateID被改变的方式。SystemUpdateID可以是每次改变时增加的计数器,或可以是被特定编码以指示改变的属性和范围的值。最后一个选择的一个例子是设置SystemUpdateID的一个位元,以指示最后一次改变包含或不包含对元数据的改变。类似的位元可以用于指示对象的添加或删除,或其他改变类型。在另一实现中,SystemUpdateID的一些位元可以用于指示其中发生改变的一部分CDS目录树,从而加速对所改变的数据的提取。TheCDS 156 is only required to modify the SystemUpdateID whenever the CDS object changes, but does not dictate the manner in which the SystemUpdateID is changed. SystemUpdateID may be a counter that increments on each change, or may be a value that is specifically coded to indicate the properties and scope of the change. An example of a last option would be to set a bit of SystemUpdateID to indicate that the last change included or did not include changes to metadata. Similar bits can be used to indicate the addition or deletion of objects, or other types of changes. In another implementation, some bits of the SystemUpdateID can be used to indicate the portion of the CDS directory tree where the change occurred, thereby speeding up the fetching of changed data.

SystemUpdateID的使用给出了CDS 156内的改变的粗粒度指示,因为其仅指示CDS 156已经改变,但不指示改变了什么或在哪里发生改变。CDS 156还可以提供ContainerUpdateID,当单个容器的内容改变时,该ContainerUpdateID改变。ContainerUpdateID可以作为事件由CDS 156发送出去。ContainerUpdateID事件包括一组定制(ordered)对。每个定制对包括“ContainerID、ContainerUpdateID”。控制点106可以监视ContainerUpdateID事件,通过浏览或搜索提取当前容器数据,并使用所提取的数据以更新高速缓存170。The use of SystemUpdateID gives a coarse-grained indication of changes within theCDS 156, as it only indicates that theCDS 156 has changed, but not what has changed or where. TheCDS 156 can also provide a ContainerUpdateID that changes when the content of a single container changes. ContainerUpdateID may be sent out byCDS 156 as an event. The ContainerUpdateID event includes an ordered set of pairs. Each custom pair includes "ContainerID, ContainerUpdateID". Thecontrol point 106 can monitor the ContainerUpdateID event, extract current container data by browsing or searching, and use the extracted data to update thecache 170 .

控制点106可以存储这些ContainerUpdateID和/或SystemUpdateID作为用于CDS 156的每个对应条目的唯一标识符。这使得控制点106智能地仅激活网络中实际可用的高速缓存107中的那些条目。例如,用户可以在家庭或工作处具有音乐收藏。用户可能想在这两个位置使用相同的应用和相同的设备来管理音乐。工作和家庭CDS将具有不同的唯一ID(例如,SystemUpdateID),并且CDS内的各个条目还将具有唯一ID(例如,ContainerUpdateID)。通过跟踪这些唯一ID,控制点106能够为用户检测位置和激活可用条目。Control point 106 may store these ContainerUpdateIDs and/or SystemUpdateIDs as unique identifiers for each corresponding entry ofCDS 156. This enables thecontrol point 106 to intelligently activate only those entries in the cache 107 that are actually available in the network. For example, a user may have a music collection at home or work. Users may want to use the same app and the same device to manage music in both locations. The work and home CDS will have different unique IDs (eg, SystemUpdateID), and individual entries within the CDS will also have unique IDs (eg, ContainerUpdateID). By tracking these unique IDs, thecontrol point 106 is able to detect location and activate available entries for the user.

通常,控制点106能够针对更新ID中的改变而轮询CDS 156或监听常规出现的更新事件。尽管更新ID的这种跟踪对连续地连接的系统是有用的,但用作控制点106的移动设备134可以仅与CDS 156间断地连接。因此,如果控制点106在给定的时间量与网络112断开连接,则关于接收更新事件的信任(reliance)将不保证高速缓存170被同步。在这种情况下,控制点106可在重新连接时遍历CDS目录并且重新下载所有或一些改变的条目时。但是,如果仅存在对CDS 156的微小改变而控制点106被断开连接,则这可能消耗大量带宽,并且不是有效的。Typically, thecontrol point 106 can either poll theCDS 156 for a change in the update ID or listen to regularly occurring update events. While this tracking of update IDs is useful for continuously connected systems, mobile devices 134 serving as control points 106 may only be intermittently connected withCDS 156. Therefore, if thecontrol point 106 is disconnected from the network 112 for a given amount of time, the reliance on receiving update events will not guarantee that thecache 170 is synchronized. In this case, thecontrol point 106 may traverse the CDS directory upon reconnection and re-download all or some changed entries. However, if there are only minor changes to theCDS 156 and thecontrol point 106 is disconnected, this can consume a large amount of bandwidth and is not efficient.

一种用于对于间断连接的控制点106的高速缓存170进行同步的方案是,将CDS 156改变的记录作为CDS目录服务的一部分保存。根据本发明的一个实施方式的保存CDS改变的一种方式如图3所示。CDS 156可以保存特定分类的容器,所述特定分类的容器存储在根容器302之下。在该例子中,容器是类object.container.cache_delta的。当将多媒体对象数据提供给用户时,控制点和其他客户端将被配置为忽略这种类型的容器。没有这种同步特性的控制点还将忽略该条目,因为其与常规的树相分离,并且该条目将不截断现有的条目。直接在根容器之下的cache_delta容器的位置是任意的;CDS目录结构中的任何已知位置将是足够的。可以理解,利用最新的CDS树信息,媒体服务器将连续地保存这些条目。One approach for synchronizing thecache 170 of an intermittently connectedcontrol point 106 is to keep records ofCDS 156 changes as part of the CDS directory service. A way of saving CDS changes according to an embodiment of the present invention is shown in FIG. 3 .CDS 156 may hold containers of a particular category, which are stored under root container 302. In this example, the container is of class object.container.cache_delta. Control points and other clients will be configured to ignore this type of container when serving multimedia object data to the user. Control points that do not have this synchronization feature will also ignore this entry, since it is separate from the regular tree, and this entry will not truncate existing entries. The location of the cache_delta container directly below the root container is arbitrary; any known location in the CDS directory structure will suffice. It will be appreciated that the Media Server will continuously store these entries with the latest CDS tree information.

在所示的例子中,两个cache_delta容器302、304位于根容器300之下。针对两个客户端CLIENT_1和CLIENT_2保存容器302、304。通过CDS 156上调用的动作,控制点或其他客户端能够自动地创建这些目录结构。在每个容器之下是object.ite.cache_delta类型的对象列表,例如项目306。在本例中,容器302、304包含多个cache_delta项目。每个cache_delta可以包含对CDS目录的单次改变的记录。控制点或其他客户端可以查看它们自身的cache_delta容器,读取该cache_delta项目,并将cache_delta项目中列出的改变应用到客户端的本地高速缓存。接着客户端可以从容器删除cache_delta项目。其他设置可以包括针对当前或未来的删除而对已经检查的条目加标志或者标记。这样,CDS 156可以将改变列表提供给客户端,而客户端不必遍历整个CDS目录结构。In the example shown, two cache_delta containers 302 , 304 are located below the root container 300 . Containers 302, 304 are held for two clients CLIENT_1 and CLIENT_2. Through actions invoked on theCDS 156, control points or other clients can automatically create these directory structures. Below each container is a list of objects of type object.ite.cache_delta, eg item 306 . In this example, containers 302, 304 contain multiple cache_delta items. Each cache_delta can contain a record of a single change to the CDS directory. Control points or other clients can look into their own cache_delta container, read the cache_delta entry, and apply the changes listed in the cache_delta entry to the client's local cache. The client can then delete the cache_delta item from the container. Other settings may include flagging or flagging checked entries for current or future deletion. In this way, theCDS 156 can provide the change list to the client without the client having to traverse the entire CDS directory structure.

在另一设置中,cache_delta目录302、304可以仅包含与改变相连的单个文件。在这种设置中,可以针对根容器300或CDS 156中的其他已知位置的每个客户端保存单个文件,因此消除了对于特定cache_delta容器302、304的需要。在每个设置中,cache_delta项目将包含这种数据,诸如时间戳、签名、0bjectID、改变的属性和更新本地高速缓存所需的其他数据。In another arrangement, the cache_delta directory 302, 304 may contain only a single file associated with a change. In such an arrangement, a single file can be saved for each client in the root container 300 or other known location in theCDS 156, thus eliminating the need for a specific cache_delta container 302, 304. In each setting, the cache_delta item will contain such data as timestamp, signature, ObjectID, changed attributes and other data needed to update the local cache.

图3中所示的设置上的其他变化包括在CDS 156中放置“同步元数据”条目。同步元数据可以包括类似于SystemID的唯一ID,但还将包括签名或全部或部分CDS 156的散列。同步元数据还可以包括允许控制点确定改变的属性的其他元数据,类似于cache_delta项目306。控制点可以包括“同步代理”,其被配置为读取该元数据并仅应用在该元数据中描述的那些改变。Other variations on the setup shown in Figure 3 include placing a "Sync Metadata" entry in theCDS 156. Sync metadata can include a unique ID similar to SystemID, but will also include a signature or a hash of all or part of theCDS 156. Synchronization metadata may also include other metadata that allows a control point to determine changed attributes, similar to cache_delta items 306 . A control point may include a "sync agent" configured to read this metadata and apply only those changes described in the metadata.

根据UPnP执行同步所使用的同步协议,CDS 156可以具有这种同步元数据条目的多个实例。例如,如果利用SyncML完成同步,则将存在包括SyncML需要的一些元数据的一个条目。在另一设置中,可以保存多个同步元数据条目,每个条目包括关联的SystemID。如果SystemID是计数器,则控制点将比较SystemID的高速缓存值与CDS 156上最近的值。更新控制点将包含增加地读取和应用具有关联的id值的每个同步元数据条目,该关联的id值的范围在旧的SystemID和当前SystemID之间。将可以理解,多CDS系统中的每个CDS 156可以利用不同的同步协议,并且该条目将包括这种信息和那些协议所需的其他元数据。Depending on the synchronization protocol used by UPnP to perform the synchronization, theCDS 156 may have multiple instances of such synchronization metadata entries. For example, if synchronization is done using SyncML, there will be an entry including some metadata that SyncML needs. In another arrangement, multiple synchronization metadata entries may be maintained, each entry including an associated SystemID. If SystemID is a counter, the control point will compare the cached value of SystemID with the most recent value on theCDS 156. Updating a control point will involve incrementally reading and applying each synchronization metadata entry with an associated id value that ranges between the old SystemID and the current SystemID. It will be appreciated that eachCDS 156 in a multi-CDS system may utilize a different synchronization protocol, and that this entry will include such information and other metadata required by those protocols.

如在以上各个例子中所描述的同步能够由用户当进行浏览或搜索动作时触发,或者可能由运行在设备上的同步代理自动触发。控制点106可以这种方式被配置,即当接近于媒体服务器102时,控制点106将自动地下载所有相关数据,和/或在object.container.cache_delta或其他同步元数据中搜索。在控制点106已确定可下载的数据可从CDS 156获得之后,可以自动地触发同步,或者控制点106能够提示用户,指示在媒体服务器102中存在新的或修改的数据。接着用户可以浏览以观看新内容和启动同步。Synchronization as described in the various examples above can be triggered by the user when browsing or searching, or possibly automatically by a synchronization agent running on the device. Thecontrol point 106 can be configured in such a way that when in proximity to themedia server 102, thecontrol point 106 will automatically download all relevant data, and/or search in object.container.cache_delta or other synchronized metadata. After thecontrol point 106 has determined that downloadable data is available from theCDS 156, synchronization can be triggered automatically, or thecontrol point 106 can prompt the user indicating that there is new or modified data in themedia server 102. The user can then browse to watch new content and initiate a sync.

通常,在搜索和系统浏览期间,对数据进行有规律地高速缓存的控制点将具有较快地响应。对于无线设备而言尤其如此,所述无线设备通常具有比有线连接更低的带宽和更高的延时。由于典型的系统仅不频繁地改变,所以本地高速缓存的下载和更新将对带宽利用具有最小的影响。In general, control points that regularly cache data will have faster responses during searches and system browsing. This is especially true for wireless devices, which typically have lower bandwidth and higher latency than wired connections. Since typical systems change only infrequently, the download and update of the local cache will have minimal impact on bandwidth utilization.

CDS改变的跟踪可以用于除移动控制点之外的其他应用中。图4示出了根据本发明的实施方式的使用高速缓存更新概念的数据备份方案。在图4中,媒体服务器102包含如前所述的数据仓库108和CDS 156。备份服务器402包括用于与CDS 156交互的控制点106。备份服务器402发挥功能以将来自媒体数据仓库108的数据备份到备份数据仓库404上。Tracking of CDS changes can be used in other applications than moving control points. Figure 4 shows a data backup scheme using the cache update concept according to an embodiment of the present invention. In FIG. 4,media server 102 includesdata warehouse 108 andCDS 156 as previously described.Backup server 402 includescontrol point 106 for interacting withCDS 156.Backup server 402 functions to back up data frommedia data repository 108 ontobackup data repository 404 .

在第一次使用中,控制点106可能需要确定CDS 156的整个内容。在该说明中,控制点106使用具有先前描述的BrowseAll扩展的浏览命令406。作为响应,CDS 156以针对CDS数据存储装置108中的所有条目408的元数据进行回答。将理解到使用如图2A和2B中所示的目录遍历,可以得到相同的条目408。On first use, thecontrol point 106 may need to determine the entire contents of theCDS 156. In this illustration, thecontrol point 106 uses thebrowse command 406 with the previously described BrowseAll extension. In response,CDS 156 answers with metadata for allentries 408 inCDS data store 108. It will be appreciated that thesame entry 408 can be obtained using directory traversal as shown in Figures 2A and 2B.

控制点106向备份数据存储装置404发出备份命令410,该备份数据存储装置404包括需要被提取以供备份的所有条目。备份数据存储装置404启动条目的提取412(例如,FTP GET),并且条目从媒体数据存储装置108下载414到备份数据存储装置404。将可以理解,提取414的数据可以包括存储在媒体服务器102或任何其他地方的实际数据对象(例如,媒体文件)与CDS元数据的任何组合。此后,备份服务器402仅需要执行增加的备份。Thecontrol point 106 issues abackup command 410 to abackup data store 404 that includes all entries that need to be extracted for backup.Backup data storage 404 initiatesextraction 412 of the entry (eg, FTP GET), and the entry is downloaded 414 frommedia data storage 108 tobackup data storage 404. It will be appreciated that the extracted 414 data may include any combination of actual data objects (eg, media files) and CDS metadata stored on themedia server 102 or elsewhere. Thereafter,backup server 402 only needs to perform incremental backups.

图4示出了增加备份的两个方案。在第一方案中,控制点106针对改变主动地轮询416CDS 156。该轮询156可以包含检查SystemUpdateID、ContainerUpdateID,或使用关于图3所述的规定的高速缓存的数据。如果已经发生了改变,响应418用于确定delta。类似于完全备份,控制点106命令420备份数据仓库404对文件进行备份。然而,这次仅delta需要被备份。如以前那样,数据仓库404、108执行提取请求422并下载424,以立即备份该数据。Figure 4 shows two schemes for adding backup. In a first approach, thecontrol point 106 activelypolls 416 theCDS 156 for changes. Thispolling 156 may involve checking the SystemUpdateID, ContainerUpdateID, or using specified cached data as described with respect to FIG. 3 . If a change has occurred,response 418 is used to determine delta. Similar to a full backup, thecontrol point 106 instructs 420 thebackup data store 404 to back up the files. However, only the delta needs to be backed up this time. As before, thedata warehouse 404, 108 executes the extract request 422 and download 424 to immediately back up the data.

图4中的下一个方案使用由CDS 156生成的异步更新事件。CDS156有规律地发送传递媒体数据存储装置108中任何改变的事件426。控制点106仅将delta高速缓存428到内部高速缓存(例如,图1所示的高速缓存170)。在这种方案下,备份服务器402被配置为在一定时间期间执行备份,诸如在深夜当网络可能不活跃时。因此,在预定时间,控制点106响应于内部产生的定时器事件430并启动备份请求432,这将得到数据提取请求434和递增数据436的下载。将可以理解,如图4所示的完全的和增加的备份可以使用CDS轮询和CDS事件的任何组合以确定备份数据,以及立即备份和定时器时间备份的任何组合。The next scheme in FIG. 4 uses asynchronous update events generated byCDS 156.CDS 156 regularly sendsevents 426 communicating any changes inmedia data storage 108 .Control point 106only caches 428 deltas to an internal cache (eg,cache 170 shown in FIG. 1 ). Under this approach,backup server 402 is configured to perform backups during certain times, such as late at night when the network may be inactive. Thus, at a predetermined time, thecontrol point 106 responds to an internally generatedtimer event 430 and initiates abackup request 432 , which will result in adata extraction request 434 and a download ofincremental data 436 . It will be appreciated that full and incremental backups as shown in FIG. 4 may use any combination of CDS polling and CDS events to determine backup data, and any combination of immediate backups and timer backups.

UPnP标准是足够灵活的,以允许多种类型的设备执行作为媒体服务器、媒体呈现器和控制点的角色。移动设备作为控制点是特别有用的,并且还可以用作媒体呈现器。现在参考图5,示出了代表性的移动计算设备500的例子,其能够根据本发明的实施方式执行操作。本领域的技术人员将可以理解,示例性移动计算设备500仅代表可以与这种移动设备关联的通用功能,而且地面计算系统类似地包括计算电路,以执行这种操作。The UPnP standard is flexible enough to allow various types of devices to perform roles as media servers, media renderers, and control points. Mobile devices are especially useful as control points and can also be used as media renderers. Referring now to FIG. 5 , there is shown an example of a representativemobile computing device 500 capable of performing operations in accordance with embodiments of the present invention. Those skilled in the art will appreciate that the exemplarymobile computing device 500 is merely representative of general functionality that may be associated with such a mobile device, and that terrestrial computing systems similarly include computing circuitry to perform such operations.

所示的移动计算设备500适于执行作为UPnP AV网络中的媒体呈现器和控制点二者的角色。移动计算设备500包括处理/控制单元502,诸如微处理器、简化指令集计算机(RISC)或其他中央处理模块。处理单元502不需要是单个设备,并且可以包括一个或多个处理器。例如,处理器单元可以包括主处理器和关联的从处理器,所述从处理器被耦接用于与主处理器进行通信。The illustratedmobile computing device 500 is adapted to perform the roles of both a media renderer and a control point in a UPnP AV network.Mobile computing device 500 includes a processing/control unit 502, such as a microprocessor, reduced instruction set computer (RISC), or other central processing module.Processing unit 502 need not be a single device, and may include one or more processors. For example, a processor unit may include a master processor and associated slave processors coupled for communication with the master processor.

处理单元502控制设备500的基本功能。可以包括关联的那些功能作为存储在程序存贮器/存储器504中的指令。在本发明的一个实施方式中,与存贮器/存储器504关联的程序模块存储在非易失性电可擦可编程只读存储器(EEPROM)、闪存只读存储器(ROM)等中,从而当移动终端掉电时信息不会丢失。用于执行传统的移动终端操作和根据本发明的操作的相关软件还可以经由数据信号被发送到移动计算设备500,例如经由诸如互联网和中间无线网络的一个或多个网络进行电下载。Theprocessing unit 502 controls the basic functions of thedevice 500 . Those functions associated therewith may be included as instructions stored in program storage/memory 504 . In one embodiment of the present invention, program modules associated with memory/storage 504 are stored in non-volatile electrically erasable programmable read-only memory (EEPROM), flash read-only memory (ROM), etc., so that when Information will not be lost when the mobile terminal is powered off. Associated software for performing conventional mobile terminal operations and operations in accordance with the present invention may also be transmitted tomobile computing device 500 via data signals, eg, electronically downloaded via one or more networks such as the Internet and intervening wireless networks.

程序存贮器/存储器504还可以包括操作系统,用于执行与移动计算设备500上的功能关联的应用和功能。程序存储器504可以包括一个或多个只读存储器(ROM)、闪存ROM、可编程和/或可擦ROM、随机存取存储器(RAM)、用户接口模块(SIM)、无线接口模块(WIM)、智能卡、硬盘驱动器或其他可移动存储设备。Program storage/memory 504 may also include an operating system for executing applications and functions associated with functions onmobile computing device 500 .Program memory 504 may include one or more of read only memory (ROM), flash ROM, programmable and/or erasable ROM, random access memory (RAM), subscriber interface module (SIM), wireless interface module (WIM), Smart cards, hard drives, or other removable storage devices.

为了执行控制点功能,程序存贮器/存储器504包括控制点管理器154、高速缓存管理器168和高速缓存170。控制点管理器154与用户接口应用程序接口(API)506进行接口连接,用于显示媒体服务器元数据,并用于接收用户选择,从而控制UPnP多媒体服务。为了执行媒体呈现功能,程序存贮器/存储器504包含连接管理器164、AV传送模块166和呈现器控制162。呈现器控制162还与UP API 506进行接口连接,以便将输出呈现给诸如显示器和扬声器的物理设备。To perform control point functions, program storage/memory 504 includescontrol point manager 154 ,cache manager 168 andcache memory 170 . Thecontrol point manager 154 interfaces with a user interface application program interface (API) 506 for displaying media server metadata and for receiving user selections to control UPnP multimedia services. To perform media rendering functions, program storage/memory 504 includesconnection manager 164 ,AV delivery module 166 andrenderer control 162 .Renderer Control 162 also interfaces withUP API 506 to render output to physical devices such as displays and speakers.

移动计算设备500包括耦合到处理/控制单元502的硬件和软件部件,用于执行网络数据交换。移动计算设备500可以包括多网络接口,用于维持有线或无线数据连接的任何组合。具体地,所示的移动计算设备500包括无线数据传输电路,用于执行网络数据交换。Mobile computing device 500 includes hardware and software components coupled to processing/control unit 502 for performing network data exchanges.Mobile computing device 500 may include multiple network interfaces for maintaining any combination of wired or wireless data connections. Specifically, the illustratedmobile computing device 500 includes wireless data transmission circuitry for performing network data exchange.

该无线电路包括数字信号处理器(DSP)516,用于执行多种功能,包括模数(A/D)转换,数模(D/A)转换、语音编码/解码、加密/解密、检错和纠错、比特流变换、滤波等。通常耦接到天线520的收发器518发射输出的无线电信号522并接收与该无线设备关联的进入的无线电信号524。The wireless circuitry includes a digital signal processor (DSP) 516 for performing a variety of functions including analog-to-digital (A/D) conversion, digital-to-analog (D/A) conversion, speech encoding/decoding, encryption/decryption, error detection And error correction, bitstream transformation, filtering, etc. Atransceiver 518, typically coupled to anantenna 520, transmitsoutgoing radio signals 522 and receivesincoming radio signals 524 associated with the wireless device.

处理器502还耦合到与移动终端关联的用户接口528单元。移动终端的用户接口528可以包括,例如,诸如液晶显示器的显示器526、键盘510、扬声器512和麦克风514。将这些和其他用户接口部件耦接到处理器502是现有技术所公知的。可以采用其他用户接口机制,诸如语音命令、开关、触摸板/屏、使用指向设备、跟踪球、操纵杆的图形用户接口、或任何其他用户接口机制。Theprocessor 502 is also coupled to auser interface 528 unit associated with the mobile terminal. Theuser interface 528 of the mobile terminal may include, for example, adisplay 526 such as a liquid crystal display, akeypad 510 , aspeaker 512 and amicrophone 514 . Coupling these and other user interface components toprocessor 502 is known in the art. Other user interface mechanisms may be employed, such as voice commands, switches, touchpad/screen, graphical user interface using a pointing device, trackball, joystick, or any other user interface mechanism.

提供图5的移动计算设备500作为计算环境的代表性例子,在该环境中可以应用本发明的原理。根据这里提供的描述,本领域的那些技术人员将可以理解,本发明可等同地应用于多种其他当前已知的和未来的移动和地面计算环境。例如,桌面计算设备类似地包括处理器、存储器、用户接口和数据通信电路。因此,本发明可应用于任何已知的计算结构,其中可以经由网络对数据进行传递。Mobile computing device 500 of FIG. 5 is provided as a representative example of a computing environment in which the principles of the present invention may be applied. Those skilled in the art will appreciate, from the description provided herein, that the present invention is equally applicable to a variety of other currently known and future mobile and terrestrial computing environments. For example, a desktop computing device similarly includes a processor, memory, user interface, and data communication circuitry. Thus, the present invention is applicable to any known computing architecture in which data can be communicated via a network.

硬件、固件、软件或其组合可以用于执行这里所描述的各种功能和操作。用以执行与本发明关联的功能的多项包含代码的加工产品旨在包含在任何计算机可用媒体上或在传输这种程序的任何传输媒体中永久存在或临时存在的计算机程序。传输媒体包括但不限于经由无线/无线电波通信网络、互联网、内联网、基于电话/调制解调器的网络通信、硬连线/电缆连接的通信网络、卫星通信和其他静止或移动网络系统/通信链接的传输。从这里提供的描述,本领域的技术人员很容易能够将如所述创建的软件与合适的通用或专用计算机硬件进行组合,以创建根据本发明的系统、设备和方法。Hardware, firmware, software, or a combination thereof can be used to perform the various functions and operations described herein. The various code-containing work-ups to carry out the functions associated with the present invention are intended to comprise the computer program, whether permanently or temporarily, on any computer-usable medium or in any transmission medium that transmits such a program. Transmission media include, but are not limited to, via wireless/radio wave communication networks, the Internet, intranets, telephone/modem based network communications, hardwired/cable connected communications networks, satellite communications and other stationary or mobile network systems/communication links transmission. From the description provided herein, one skilled in the art will readily be able to combine software created as described with suitable general purpose or special purpose computer hardware to create systems, devices and methods in accordance with the present invention.

为了说明和描述的目的,给出了本发明的示例性实施方式的以上描述。其不旨在将本发明进行穷尽或限制到所公开的精确形式。根据以上教导,可以进行多种修改和变形。不旨在利用该详细描述对本发明的范围进行限制,而由这里所附的权利要求书来限定。The foregoing description of exemplary embodiments of the present invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teaching. It is not intended that the scope of the invention be limited by this detailed description, but rather be defined by the claims appended hereto.

Claims (44)

Translated fromChinese
1.一种将ad hoc对等网络上的设备之间的内容描述数据进行同步的方法,包括:1. A method for synchronizing content description data between devices on an ad hoc peer-to-peer network, comprising:将多个数据条目存储在目录服务器上,每个数据条目描述可经由网络访问的一个或多个多媒体数据对象;storing a plurality of data entries on the directory server, each data entry describing one or more multimedia data objects accessible via the network;将所述目录服务器的同步对象与数据条目进行关联,所述同步对象能够描述对所述数据条目的改变;associating a synchronization object of the directory server with a data entry, the synchronization object capable of describing changes to the data entry;将所述数据条目从所述目录服务器经由网络下载到移动通用即插即用控制点设备的高速缓存,其中所述移动通用即插即用控制点设备呈现数据条目以提供经由所述移动通用即插即用控制点设备对一个或多个多媒体数据对象的远程用户访问;downloading the data entry from the directory server to a cache of a mobile UPnP control point device via a network, wherein the mobile UPnP control point device presents the data entry for provisioning via the mobile UPnP control point device. Remote user access to one or more multimedia data objects by a plug-and-play control point device;响应于所述目录服务器的至少一个数据条目中的改变,改变所述目录服务器的同步对象;以及changing a synchronization object of the directory server in response to a change in at least one data entry of the directory server; and基于所述目录服务器的同步对象的改变,利用至少一个数据条目中的改变,更新移动通用即插即用控制点设备的高速缓存;以及updating a cache of a mobile Universal Plug and Play control point device with a change in at least one data entry based on a change in a synchronization object of the directory server; and基于更新的高速缓存来更新经由所述移动通用即插即用控制点设备呈现的所述数据条目。The data entry presented via the mobile Universal Plug and Play control point device is updated based on the updated cache.2.根据权利要求1所述的方法,进一步包括修改所述同步对象,以反映所述移动通用即插即用控制点设备的高速缓存的更新。2. The method of claim 1, further comprising modifying the synchronization object to reflect an update of a cache of the mobile UPnP control point device.3.根据权利要求1所述的方法,其中所述同步对象包括数据条目的散列。3. The method of claim 1, wherein the synchronization object comprises a hash of data entries.4.根据权利要求1所述的方法,其中所述同步对象能够描述在与所述多媒体数据对象关联的时间戳和签名的至少一个中的改变。4. The method of claim 1, wherein the synchronization object is capable of describing changes in at least one of a timestamp and a signature associated with the multimedia data object.5.根据权利要求1所述的方法,其中所述同步对象能够描述对多个数据条目的一个条目的增加和删除。5. The method of claim 1, wherein the synchronization object is capable of describing additions and deletions to an entry of a plurality of data entries.6.根据权利要求1所述的方法,其中响应于所述目录服务器的数据条目的至少一个中的改变,而改变所述目录服务器的同步对象,包括:将数据添加到所述同步对象,其中所述数据描述至少一个数据条目中的改变。6. The method of claim 1 , wherein changing a synchronization object of the directory server in response to a change in at least one of the data entries of the directory server comprises: adding data to the synchronization object, wherein The data describes a change in at least one data item.7.根据权利要求1所述的方法,其中响应于所述目录服务器的数据条目的至少一个中的改变,而改变所述目录服务器的同步对象,包括:7. The method of claim 1, wherein changing a synchronization object of the directory server in response to a change in at least one of the data entries of the directory server comprises:创建描述所述改变的新的同步对象;以及create a new synchronization object describing the change; and将所述新的同步对象与所述条目进行关联。Associating the new synchronization object with the entry.8.根据权利要求7所述的方法,其中对所述移动通用即插即用控制点设备的高速缓存的更新包括:检查在所述高速缓存的先前更新之后和在所述高速缓存的当前更新之前所添加的多个新的同步对象。8. The method of claim 7, wherein updating the cache of the mobile UPnP control point device comprises: checking for updates after a previous update of the cache and at a current update of the cache A number of new synchronization objects that were previously added.9.一种移动设备,包括:9. A mobile device comprising:网络接口,能够经由ad hoc对等网络与目录服务器进行通信;A network interface capable of communicating with the directory server via an ad hoc peer-to-peer network;用户接口;user interface;处理器,耦接到所述网络接口和所述用户接口;以及存储器,耦接到所述处理器,所述存储器包括能够存储数据的高速缓存;a processor coupled to the network interface and the user interface; and a memory coupled to the processor, the memory including a cache capable of storing data;通用即插即用控制点模块,其包括:Universal plug and play control point module, which includes:用于将多个数据条目从所述目录服务器经由网络下载到所述高速缓存的装置,每个数据条目描述可经由网络访问的一个或多个多媒体数据对象;means for downloading a plurality of data entries from said directory server to said cache via a network, each data entry describing one or more multimedia data objects accessible via a network;用于经由所述用户接口呈现所述数据条目的装置,以提供经由所述用户接口对一个或多个多媒体数据对象的远程用户访问;means for presenting said data item via said user interface to provide remote user access via said user interface to one or more multimedia data objects;用于经由网络访问与所述目录服务器的数据条目关联的所述目录服务器的同步对象的装置,所述同步对象能够描述对所述数据条目的改变;means for accessing via a network a synchronization object of said directory server associated with a data entry of said directory server, said synchronization object capable of describing changes to said data entry;用于检测所述目录服务器的同步对象中的改变的装置,所述改变响应于所述目录服务器的数据条目的至少一个中的改变而出现;以及means for detecting a change in a synchronization object of the directory server, the change occurring in response to a change in at least one of the data entries of the directory server; and用于基于所述目录服务器的所述同步对象的改变,利用至少一个数据条目中的改变,更新所述高速缓存的装置;以及means for updating said cache with a change in at least one data entry based on a change of said synchronization object of said directory server; and用于基于更新的高速缓存来更新经由所述用户接口呈现的所述数据条目的装置。means for updating the data entry presented via the user interface based on the updated cache.10.根据权利要求9所述的移动设备,其中所述通用即插即用控制点模块进一步包括用于使得所述处理器修改所述目录服务器的同步对象,以反映所述高速缓存的更新的装置。10. The mobile device of claim 9 , wherein the UPnP control point module further comprises an element for causing the processor to modify a synchronization object of the directory server to reflect an update of the cache device.11.根据权利要求9所述的移动设备,其中所述同步对象包括与所述同步对象关联的数据条目的散列。11. The mobile device of claim 9, wherein the synchronization object comprises a hash of data entries associated with the synchronization object.12.根据权利要求9所述的移动设备,其中所述同步对象能够描述在与所述多媒体对象关联的元数据中的改变。12. The mobile device of claim 9, wherein the synchronization object is capable of describing changes in metadata associated with the multimedia object.13.根据权利要求9所述的移动设备,其中所述同步对象能够描述对多个数据条目的一个条目的增加和删除。13. The mobile device of claim 9, wherein the synchronization object is capable of describing addition and deletion of an entry of a plurality of data entries.14.根据权利要求9所述的移动设备,其中用于检测同步对象中的改变的装置包括用于检测被添加到所述同步对象中的数据的装置,其中所述数据描述至少一个数据条目中的改变。14. The mobile device of claim 9, wherein the means for detecting a change in a synchronization object comprises means for detecting data added to the synchronization object, wherein the data describes change.15.根据权利要求9所述的移动设备,其中用于检测同步对象中的改变的装置包括用于检测对描述所述改变的所述目录服务器的新的同步对象的创建的装置。15. The mobile device of claim 9, wherein means for detecting a change in a synchronization object comprises means for detecting creation of a new synchronization object to the directory server describing the change.16.根据权利要求15所述的移动设备,其中对所述高速缓存的更新包括检查在所述高速缓存的先前更新之后和在所述高速缓存的当前更新之前所添加的目录服务器的多个新的同步对象。16. The mobile device of claim 15 , wherein updating the cache includes checking for a plurality of new directory servers added after a previous update of the cache and before a current update of the cache. The synchronization object.17.一种移动数据处理设备,其能够耦接到ad hoc对等网络,包括:17. A mobile data processing device capable of being coupled to an ad hoc peer-to-peer network comprising:用于将多个数据条目从所述目录服务器经由网络下载到所述数据处理设备的高速缓存的装置,每个数据条目描述可经由网络访问的一个或多个多媒体数据对象;means for downloading a plurality of data entries from said directory server to a cache of said data processing device via a network, each data entry describing one or more multimedia data objects accessible via a network;用于经由所述数据处理设备的通用即插即用控制点模块来呈现所述数据条目以提供对一个或多个多媒体数据对象的远程用户访问的装置;means for presenting said data item via a Universal Plug and Play Control Point module of said data processing device to provide remote user access to one or more multimedia data objects;用于经由网络访问与所述目录服务器的数据条目的至少一个关联的所述目录服务器的同步对象的装置;means for accessing via a network a synchronization object of said directory server associated with at least one of said directory server's data entries;用于检测所述目录服务器的同步对象中的改变的装置,所述改变响应于与所述同步对象关联的目录服务器的数据条目的至少一个中的改变而出现;以及means for detecting a change in a synchronization object of the directory server, the change occurring in response to a change in at least one of the data entries of the directory server associated with the synchronization object; and用于基于所述目录服务器的所述同步对象的改变,利用至少一个数据条目中的改变,更新所述高速缓存的装置;以及means for updating said cache with a change in at least one data entry based on a change of said synchronization object of said directory server; and用于基于更新的高速缓存来更新所述呈现的数据条目的装置。means for updating said presented data entry based on the updated cache.18.根据权利要求17所述的移动数据处理设备,其中所述通用即插即用控制点模块修改所述目录服务器的同步对象,以反映所述高速缓存的更新。18. The mobile data processing device of claim 17, wherein the UPnP control point module modifies the synchronization object of the directory server to reflect the update of the cache.19.根据权利要求17所述的移动数据处理设备,其中所述同步对象包括与所述同步对象关联的数据条目的散列。19. The mobile data processing device of claim 17, wherein the synchronization object comprises a hash of data entries associated with the synchronization object.20.根据权利要求17所述的移动数据处理设备,其中所述同步对象能够描述在与所述多媒体对象关联的元数据中的改变。20. The mobile data processing device of claim 17, wherein the synchronization object is capable of describing changes in metadata associated with the multimedia object.21.根据权利要求17所述的移动数据处理设备,其中所述同步对象能够描述对多个数据条目的一个条目的增加和删除。21. A mobile data processing device according to claim 17, wherein said synchronization object is capable of describing addition and deletion of an entry of a plurality of data entries.22.根据权利要求17所述的移动数据处理设备,其中检测同步对象中的改变包括检测被添加到所述同步对象中的数据,其中所述数据描述至少一个数据条目中的改变。22. The mobile data processing device of claim 17, wherein detecting a change in a synchronization object comprises detecting data added to the synchronization object, wherein the data describes a change in at least one data entry.23.根据权利要求17所述的移动数据处理设备,其中对同步对象中的改变的检测包括检测对描述所述改变的所述目录服务器的新的同步对象的创建。23. The mobile data processing device of claim 17, wherein detecting a change in a synchronization object comprises detecting creation of a new synchronization object to the directory server describing the change.24.根据权利要求23所述的移动数据处理设备,其中对所述高速缓存的更新包括检查在所述高速缓存的先前更新之后和在所述高速缓存的当前更新之前所添加的目录服务器的多个新的同步对象。24. The mobile data processing device of claim 23 , wherein the updating of the cache includes checking for multiple directory servers added after a previous update of the cache and before a current update of the cache. A new synchronization object.25.一种移动设备,包括:25. A mobile device comprising:网络接口,能够经由ad hoc对等网络进行通信;A network interface capable of communicating via an ad hoc peer-to-peer network;处理器,耦接到所述网络接口;以及a processor coupled to the network interface; and存储器,耦接到所述处理器,所述存储器包括目录服务模块,该目录服务模块包括:A memory, coupled to the processor, the memory includes a directory service module, the directory service module includes:用于存储多个数据条目的装置,每个数据条目描述一个或多个多媒体数据对象,所述多媒体对象是网络实体可经由网络访问的,其中所述网络实体包括移动通用即插即用控制点;means for storing a plurality of data entries, each data entry describing one or more multimedia data objects accessible via a network to a network entity comprising a Mobile Universal Plug and Play Control Point ;用于将数据条目向网络实体传递的装置,以便促进经由所述网络实体来呈现所述数据条目并且由此提供经由所述网络实体对一个或多个多媒体数据对象的远程用户访问;means for communicating a data item to a network entity to facilitate presentation of said data item via said network entity and thereby provide remote user access via said network entity to one or more multimedia data objects;用于将同步对象与所述数据条目关联的装置,所述同步对象能够描述对所述数据条目的改变;means for associating a synchronization object with said data entry, said synchronization object capable of describing changes to said data entry;用于响应于与所述同步对象关联的数据条目的至少一个中的改变,而改变所述同步对象的装置;以及means for changing the synchronization object in response to a change in at least one of the data entries associated with the synchronization object; and用于将所述同步对象中的改变传递到网络实体的装置,从而所述网络实体能够基于所述同步对象中的改变而更新所述数据条目的高速缓存,并且其中所述网络实体基于所述更新的高速缓存来更新所述呈现的数据条目。means for communicating a change in the synchronization object to a network entity, such that the network entity can update the cache of data entries based on the change in the synchronization object, and wherein the network entity based on the An updated cache to update the presented data entries.26.根据权利要求25所述的移动设备,其中所述目录服务模块进一步包括用于使得处理器允许网络实体修改所述同步对象,以反映对所述网络实体的高速缓存进行的更新的装置。26. The mobile device of claim 25, wherein the directory service module further comprises means for causing a processor to allow a network entity to modify the synchronization object to reflect updates made to the network entity's cache.27.根据权利要求25所述的移动设备,其中所述同步对象包括与所述同步对象关联的数据条目的散列。27. The mobile device of claim 25, wherein the synchronization object comprises a hash of data entries associated with the synchronization object.28.根据权利要求25所述的移动设备,其中所述同步对象能够描述在与所述多媒体对象关联的元数据中的改变。28. The mobile device of claim 25, wherein the synchronization object is capable of describing changes in metadata associated with the multimedia object.29.根据权利要求25所述的移动设备,其中所述同步对象能够描述对多个数据条目的一个条目的增加和删除。29. The mobile device of claim 25, wherein the synchronization object is capable of describing additions and deletions to one of a plurality of data items.30.根据权利要求25所述的移动设备,其中用于改变所述同步对象的装置包括用于将数据添加到所述同步对象中的装置,其中所述数据描述至少一个数据条目中的改变。30. The mobile device of claim 25, wherein means for changing the synchronization object comprises means for adding data to the synchronization object, wherein the data describes a change in at least one data entry.31.根据权利要求25所述的移动设备,其中用于改变所述同步对象的装置包括:31. The mobile device of claim 25, wherein means for changing the synchronization object comprises:用于创建描述所述改变的新的同步对象的装置;以及means for creating a new synchronization object describing said change; and用于将所述新的同步对象与所述数据条目进行关联的装置。means for associating the new synchronization object with the data entry.32.一种数据处理设备,其能够耦接到ad hoc对等网络,包括:32. A data processing device capable of being coupled to an ad hoc peer-to-peer network, comprising:用于存储多个数据条目的装置,每个数据条目描述一个或多个多媒体数据对象,所述多媒体对象是网络实体可经由网络访问的,其中所述网络实体包括移动通用即插即用控制点;means for storing a plurality of data entries, each data entry describing one or more multimedia data objects accessible via a network to a network entity comprising a Mobile Universal Plug and Play Control Point ;用于将数据条目向网络实体传递的装置,以便促进经由所述网络实体来呈现所述数据条目并且由此提供经由所述网络实体对一个或多个多媒体数据对象的远程用户访问;means for communicating a data item to a network entity to facilitate presentation of said data item via said network entity and thereby provide remote user access via said network entity to one or more multimedia data objects;用于存储能够描述对所述数据条目的改变的同步对象的装置;means for storing synchronization objects capable of describing changes to said data items;用于响应于所述数据条目的至少一个中的改变,而改变所述同步对象的装置;以及means for changing said synchronization object in response to a change in at least one of said data entries; and用于将所述同步对象中的改变传递到网络实体的装置,从而所述网络实体能够基于所述同步对象中的改变而更新所述数据条目的高速缓存,并且其中所述网络实体基于所述更新的高速缓存来更新所述呈现的数据条目。means for communicating a change in the synchronization object to a network entity, such that the network entity can update the cache of data entries based on the change in the synchronization object, and wherein the network entity based on the An updated cache to update the presented data entries.33.根据权利要求32所述的数据处理设备,其中所述网络实体修改所述同步对象,以反映对所述网络实体的高速缓存进行的更新。33. A data processing apparatus as claimed in claim 32, wherein the network entity modifies the synchronization object to reflect updates made to the network entity's cache.34.根据权利要求32所述的数据处理设备,其中所述同步对象包括与所述同步对象关联的数据条目的散列。34. A data processing apparatus as claimed in claim 32, wherein the synchronization object comprises a hash of data entries associated with the synchronization object.35.根据权利要求32所述的数据处理设备,其中所述同步对象能够描述在与所述多媒体对象关联的元数据中的改变。35. The data processing apparatus of claim 32, wherein the synchronization object is capable of describing changes in metadata associated with the multimedia object.36.根据权利要求32所述的数据处理设备,其中所述同步对象能够描述对多个数据条目的一个条目的增加和删除。36. A data processing apparatus as claimed in claim 32, wherein said synchronization object is capable of describing addition and deletion of an entry of a plurality of data entries.37.根据权利要求32所述的数据处理设备,其中改变所述同步对象包括将数据添加到所述同步对象,其中所述数据描述至少一个数据条目中的改变。37. The data processing apparatus of claim 32, wherein changing the synchronization object comprises adding data to the synchronization object, wherein the data describes a change in at least one data entry.38.根据权利要求32所述的数据处理设备,其中对所述同步对象的改变包括:38. A data processing apparatus as claimed in claim 32, wherein changes to said synchronization objects comprise:创建描述所述改变的新的同步对象;以及create a new synchronization object describing the change; and将所述新的同步对象与所述数据条目进行关联。Associating the new synchronization object with the data entry.39.一种用于将ad hoc对等网络上的设备之间的内容描述数据进行同步的系统,包括:39. A system for synchronizing content description data between devices on an ad hoc peer-to-peer network, comprising:ad hoc对等网络;ad hoc peer-to-peer network;目录服务器,耦接到网络并被配置为,a directory server, coupled to the network and configured as,在数据仓库上存储多个数据条目,每个数据条目描述一个或多个多媒体数据对象,所述多媒体数据对象是可经由网络访问的;storing a plurality of data entries on the data repository, each data entry describing one or more multimedia data objects, the multimedia data objects being accessible via a network;将所述目录服务器的同步对象与所述数据条目关联;associating a synchronization object of the directory server with the data entry;响应于改变所述数据条目,而改变所述目录服务器的同步对象;以及changing a synchronization object of the directory server in response to changing the data entry; and移动通用即插即用控制点,耦接到所述网络并被配置为,a mobile UPnP control point, coupled to said network and configured to,将多个数据条目从所述目录服务器下载到所述控制点的高速缓存;downloading a plurality of data entries from the directory server to the control point's cache;呈现所述数据条目以提供对一个或多个多媒体数据对象的远程用户访问;presenting the data item to provide remote user access to one or more multimedia data objects;检测所述目录服务器的同步对象中的改变;以及detecting changes in synchronization objects of the directory server; and基于所述目录服务器的同步对象的改变,利用至少一个数据条目中的改变,更新所述高速缓存;以及updating the cache with a change in at least one data entry based on a change in a synchronization object of the directory server; and基于所述更新的高速缓存来更新所述呈现的数据条目。The presented data entry is updated based on the updated cache.40.根据权利要求39所述的系统,其中所述控制点进一步被配置为修改所述同步对象,以反映所述高速缓存的更新。40. The system of claim 39, wherein the control point is further configured to modify the synchronization object to reflect the cached update.41.根据权利要求39所述的系统,其中所述同步对象包括所述数据条目的散列。41. The system of claim 39, wherein the synchronization object comprises a hash of the data entry.42.一种移动通用即插即用控制点设备,包括:42. A mobile universal plug and play control point device comprising:用于存储从目录服务器下载的多个数据条目的装置,每个数据条目描述可经由网络访问的一个或多个多媒体数据对象;means for storing a plurality of data entries downloaded from a directory server, each data entry describing one or more multimedia data objects accessible via a network;用于呈现所述数据条目以提供经由所述设备对一个或多个多媒体数据对象的远程用户访问的装置;means for presenting said data item to provide remote user access via said device to one or more multimedia data objects;用于访问与所述目录服务器的数据条目关联的所述目录服务器的同步对象的装置,所述同步对象能够描述对所述目录服务器的数据条目的改变;means for accessing a synchronization object of said directory server associated with a data entry of said directory server, said synchronization object capable of describing changes to said directory server's data entry;用于检测所述目录服务器的同步对象中的改变的装置,所述改变响应于所述目录服务器的数据条目的至少一个中的改变而出现;以及means for detecting a change in a synchronization object of the directory server, the change occurring in response to a change in at least one of the data entries of the directory server; and用于基于所述目录服务器的同步对象的改变,利用至少一个数据条目中的改变,更新所述设备上存储的数据条目的装置;以及means for updating a data entry stored on said device with a change in at least one data entry based on a change in a synchronization object of said directory server; and用于基于所述更新的高速缓存来更新所述呈现的数据条目的装置。means for updating said presented data entry based on said updated cache.43.一种用于处理数据的设备,包括:43. A device for processing data comprising:用于存储多个数据条目的装置,每个数据条目描述一个或多个多媒体数据对象,所述多媒体数据对象是可由网络实体访问的,其中所述网络实体包括移动通用即插即用控制点;means for storing a plurality of data entries, each data entry describing one or more multimedia data objects, said multimedia data objects being accessible by a network entity, wherein said network entity comprises a Mobile Universal Plug and Play Control Point;用于将数据条目向网络实体传递的装置,以便促进经由所述网络实体来呈现所述数据条目并且由此提供经由所述网络实体对一个或多个多媒体数据对象的远程用户访问;means for communicating a data item to a network entity to facilitate presentation of said data item via said network entity and thereby provide remote user access via said network entity to one or more multimedia data objects;用于存储能够描述对数据条目的改变的同步对象的装置;means for storing synchronization objects capable of describing changes to data items;用于响应于与所述同步对象关联的数据条目的至少一个中的改变,而改变所述同步对象的装置;以及means for changing the synchronization object in response to a change in at least one of the data entries associated with the synchronization object; and用于将所述同步对象中的改变传递到网络实体的装置,从而所述网络实体能够更新存储在所述网络实体上的数据条目的高速缓存,并且其中所述网络实体基于更新的高速缓存来更新所述呈现的数据条目。means for communicating changes in the synchronization object to a network entity, such that the network entity can update a cache of data entries stored on the network entity, and wherein the network entity, based on the updated cache, The presented data entry is updated.44.一种控制在网络上的设备之间的多媒体数据的部署的方法,包括:44. A method of controlling deployment of multimedia data between devices on a network, comprising:在目录服务器上存储多个数据条目,每个数据条目描述可经由网络访问的一个或多个多媒体数据对象;storing a plurality of data entries on the directory server, each data entry describing one or more multimedia data objects accessible via the network;将所述目录服务器的唯一ID与所述数据条目的至少一个进行关联;associating a unique ID of the directory server with at least one of the data entries;将所述数据条目从所述目录服务器经由网络下载到移动终端的高速缓存,以便促进经由所述移动终端来呈现所述数据条目,从而提供经由所述移动终端对一个或多个多媒体数据对象的远程用户访问,其中移动终端包括通用即插即用控制点;downloading the data item from the directory server to the cache of the mobile terminal via the network to facilitate presentation of the data item via the mobile terminal, thereby providing access to one or more multimedia data objects via the mobile terminal Remote user access, where the mobile terminal includes a UPnP control point;响应于与所述唯一ID关联的数据条目的至少一个中的改变,而改变所述目录服务器的唯一ID;changing the unique ID of the directory server in response to a change in at least one of the data entries associated with the unique ID;从所述目录服务器提取描述至少一个数据条目中的改变的一个或多个数据对象;extracting from the directory server one or more data objects describing a change in at least one data entry;基于所述一个或多个数据对象,利用至少一个数据条目中的改变,更新所述移动终端的高速缓存;以及updating a cache of the mobile terminal with a change in at least one data entry based on the one or more data objects; and基于所述更新的高速缓存来更新所述呈现的数据条目。The presented data entry is updated based on the updated cache.
CNB2005800315123A2004-08-192005-08-11Caching directory server data to control deployment of multimedia data on a networkExpired - Fee RelatedCN100553209C (en)

Applications Claiming Priority (3)

Application NumberPriority DateFiling DateTitle
US60302104P2004-08-192004-08-19
US60/603,0212004-08-19
US11/029,0272005-01-03

Publications (2)

Publication NumberPublication Date
CN101023627A CN101023627A (en)2007-08-22
CN100553209Ctrue CN100553209C (en)2009-10-21

Family

ID=38710462

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CNB2005800315123AExpired - Fee RelatedCN100553209C (en)2004-08-192005-08-11Caching directory server data to control deployment of multimedia data on a network

Country Status (1)

CountryLink
CN (1)CN100553209C (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US9432433B2 (en)2006-06-092016-08-30Qualcomm IncorporatedEnhanced block-request streaming system using signaling or block creation
US9386064B2 (en)*2006-06-092016-07-05Qualcomm IncorporatedEnhanced block-request streaming using URL templates and construction rules
US8806101B2 (en)*2008-12-302014-08-12Intel CorporationMetaphysical address space for holding lossy metadata in hardware
US20110060812A1 (en)*2009-09-102011-03-10Level 3 Communications, LlcCache server with extensible programming framework
US9917874B2 (en)2009-09-222018-03-13Qualcomm IncorporatedEnhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9444876B2 (en)2010-11-082016-09-13Microsoft Technology Licensing, LlcContent distribution system
CN102279880B (en)*2011-07-282014-07-16赵香芳Method and system for updating cache in real time
US9002973B2 (en)*2011-10-212015-04-07Fisher Controls International LlcDelayed publishing in process control systems
US9294582B2 (en)*2011-12-162016-03-22Microsoft Technology Licensing, LlcApplication-driven CDN pre-caching
CN103780682B (en)*2014-01-072017-03-08中国船舶重工集团公司第七0九研究所A kind of information sharing system towards Ad Hoc network
CN105516794B (en)*2015-12-112019-04-16Oppo广东移动通信有限公司The method and device of file read list is provided

Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN1200608A (en)*1997-05-081998-12-02国际商业机器公司Method for coordinating actions among group of servers
CN1327349A (en)*2000-06-032001-12-19三星电子株式会社System and method for providing multimedia business by using mobile communication terminal
US6513056B1 (en)*1994-09-162003-01-28International Business Machines CorporationSystem and method for efficiently synchronizing cache and persistant data in an object oriented transaction processing system
WO2003107597A1 (en)*2002-06-152003-12-24Lg Electronics Inc.SYNCHRONIZATION METHOD OF UPnP-BASED HOME NETWORK
US20040024580A1 (en)*2002-02-252004-02-05Oak Technology, Inc.Server in a media system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6513056B1 (en)*1994-09-162003-01-28International Business Machines CorporationSystem and method for efficiently synchronizing cache and persistant data in an object oriented transaction processing system
CN1200608A (en)*1997-05-081998-12-02国际商业机器公司Method for coordinating actions among group of servers
CN1327349A (en)*2000-06-032001-12-19三星电子株式会社System and method for providing multimedia business by using mobile communication terminal
US20040024580A1 (en)*2002-02-252004-02-05Oak Technology, Inc.Server in a media system
WO2003107597A1 (en)*2002-06-152003-12-24Lg Electronics Inc.SYNCHRONIZATION METHOD OF UPnP-BASED HOME NETWORK

Also Published As

Publication numberPublication date
CN101023627A (en)2007-08-22

Similar Documents

PublicationPublication DateTitle
US20060041596A1 (en)Caching directory server data for controlling the disposition of multimedia data on a network
CN101681320B (en)Synchronizing content between content directory service and control point
US20060168126A1 (en)Aggregated content listing for ad-hoc peer to peer networks
US11138150B2 (en)Network repository for metadata
SinitsynA synchronization framework for personal mobile servers
US7890470B2 (en)Method and apparatus for synchronizing device providing content directory service with device not providing content directory
US20070078959A1 (en)Low-power proxy for providing content listings in ad-hoc, peer to peer networks
US20060200570A1 (en)Discovering and mounting network file systems via ad hoc, peer-to-peer networks
CN101385020B (en)Method of synchronizing a plurality of content directory service (cds) devices, cds device, and system
US20050055352A1 (en)Content directory and synchronization bridge
KR20050113626A (en)A method of sharing files between user stations in a network
US20090248713A1 (en)Method and apparatus for synchronizing metadata and media based on upnp protocol
CN101690129A (en)Coordination and management of content distribution
CN102124752A (en) Apparatus and method for sharing bookmarks with other users in home network
CN100553209C (en)Caching directory server data to control deployment of multimedia data on a network
US20070220114A1 (en)Advanced search feature for UPnP media content
CN101517957B (en)Method and apparatus synchronizing content directory service objects of universal plug and play media servers
CN101438563A (en) Storage Capacity Query for UPNP AV Media Server CDS
US8756303B2 (en)Method and apparatus for determining object updates in a home network
KR20070101000A (en) Content classification method and apparatus using digital content management function in DLAN network
US20080120338A1 (en)Trigger for targeted brute force synchronization in a upnp client-driven synchronization model

Legal Events

DateCodeTitleDescription
C06Publication
PB01Publication
C10Entry into substantive examination
SE01Entry into force of request for substantive examination
C14Grant of patent or utility model
GR01Patent grant
C17Cessation of patent right
CF01Termination of patent right due to non-payment of annual fee

Granted publication date:20091021

Termination date:20110811


[8]ページ先頭

©2009-2025 Movatter.jp