CN103198081A - 多主媒体元数据同步化 - Google Patents

多主媒体元数据同步化 Download PDF

Info

Publication number
CN103198081A
CN103198081A CN2012100267140A CN201210026714A CN103198081A CN 103198081 A CN103198081 A CN 103198081A CN 2012100267140 A CN2012100267140 A CN 2012100267140A CN 201210026714 A CN201210026714 A CN 201210026714A CN 103198081 A CN103198081 A CN 103198081A
Authority
CN
China
Prior art keywords
metadata
end points
upgrading
client computer
content
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.)
Pending
Application number
CN2012100267140A
Other languages
English (en)
Inventor
B·K·达科斯塔
S·麦克罗伯茨
A·L·西尔弗曼
Z·约翰逊
R·邦芬
R·弗马
J·麦克拉纳汉
J·C·亚伯拉罕
S·克伦卡克
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN103198081A publication Critical patent/CN103198081A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及多主媒体元数据同步化。公开了涉及跨计算系统中的所有端点计算设备展示内容用于同步和消费的能力的各实施例。例如,一个公开的实施例提供了用于在基于云的计算系统的经认证客户机之间进行通信的方法,包括发送对在数据存储中所聚集的、多个端点计算设备中的每一个的元数据以及存储在多个端点计算设备的每一个中的内容的元数据的读请求,接收所请求的元数据。该方法还包括执行改变所请求的元数据的状态的内容消费操作。该方法还包括发送基于内容消费操作而生成的经更新的元数据,以同步数据存储中所聚集的元数据,以及删除本地元数据。

Description

多主媒体元数据同步化
技术领域
本发明涉及数据同步,尤其涉及多主的媒体元数据的同步化。
背景技术
最终用户通常具有分布在跨越多个网络的多个端点计算设备(例如,电话、个人计算机、膝上型计算机、游戏控制台、平板设备等)上的媒体集合。随着到大多数设备的快速网络连接的出现以及为许多端点维护几乎连续的连通性的能力,用户不必为了消费内容而具有该内容的本地副本。然而,当前无法从用户的域中的用户的端点计算设备中的任一个知道用户集合中的所有内容的位置。而且,当前无法允许在不同平台上操作并具有不同能力的不同计算设备从用户域中的任何端点访问用户的整个媒体集合并与之同步以进行消费。
发明内容
公开了涉及跨计算系统中的所有端点计算设备展示内容及相关联元数据用于同步和消费的能力的各实施例。例如,一个公开的实施例提供了用于在基于云的计算系统的经认证客户机之间进行通信的方法,包括发送对在数据存储中所聚集的、多个端点计算设备中的每一个的元数据以及存储在多个端点计算设备的每一个中的内容的元数据的读请求。该方法还包括接收所请求的元数据。该方法还包括执行改变所请求的元数据的状态的内容消费操作。该方法还包括发送基于内容消费操作而生成的经更新的元数据以同步数据存储中所聚集的元数据,以及删除本地元数据。
提供本发明内容以便以简化形式介绍将在以下具体实施例中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所请求保护的主题不限于解决在本公开的任一部分中提及的任何或所有缺点的实现。
附图说明
图1是本发明的计算系统的一实施例的框图。
图2是用于在客户机之间进行通信以便在不使用本地数据存储的情况下同步元数据的方法的实施例的流程图。
图3是用于在客户机之间进行通信以便在不使用本地数据存储的情况下查询并过滤特定元数据的方法的实施例的流程图。
图4是用于在客户机之间进行通信以便同步本地元数据和所聚集的元数据的方法的实施例的流程图。
具体实施方式
本发明涉及跨用户域或计算系统中的多个端点计算设备展示媒体内容使得可从用户域或计算系统中的多个端点计算设备中的任何一个访问并消费该内容的能力。更具体地,本发明涉及访问并同步每一端点计算设备的所聚集的端点元数据以及存储在每一端点计算设备上的内容元数据。例如,元数据可被聚集到基于云的数据存储中,并跨可在全异的平台上执行的任何数量的客户机聚集。通过聚集关于每一端点计算设备的元数据以及存储在每一端点计算设备上的内容的元数据,使得元数据和内容可从计算系统中的任何客户机或端点计算设备访问,客户机可按照在线或离线方式修改元数据和/或消费内容,且通过这样的动作修改的任何元数据可跨计算云和计算系统的端点计算设备同步。
此外,所聚集的元数据可通过展示应用编程接口(API)和模式的云模块或服务来访问,客户机遵循API和模式以便与计算云和/或其他客户机通信,以便跨用户域的端点计算设备访问、修改和/或同步元数据。具体地,API可使用将元数据组织成可跨计算系统独立同步的自包含实体的一组模式。每一模式可将元数据实体定义为不同的同步类型。在一些情况中,同步类型可包含对其它同步类型的引用。例如,在音乐设置中,对于给定的音轨、专辑和艺术家同步类型,音轨元数据实体包括对专辑元数据实体和艺术家元数据实体的引用。作为另一示例,专辑元数据实体包括对艺术家元数据实体的引用。
图1示出了本发明的计算系统100的一实施例的框图。计算系统100可包括可经由计算云104在操作上耦合或通信的多个端点计算设备102。计算云104可包括各种互连的网络,由此共享的计算设备(例如,服务器)能够在需要时将资源、软件和/或数据提供、传递或共享给多个端点计算设备102和/或其他设备中的任一个、某一些或全部。
在所示实施例中,多个端点计算设备102可表示用户域或计算系统中的各种计算设备。换言之,用户可访问、使用、控制和/或拥有多个端点计算设备。这样的端点计算设备可位于不同的位置,诸如用户的家、学校、办公室、汽车、身体等。此外,这样的计算设备可用于不同的应用,诸如娱乐、教育、职业、通信、旅游等。例如,多个端点计算设备102可包括第一计算设备106(例如,个人计算机)、第二计算设备108(例如,膝上型计算机)、移动计算设备110(例如,智能电话)和游戏控制台112。另外,多个端点计算设备102可包括可由用户用来从另一合适的计算设备访问用户域的web客户机114。例如,web客户机114可由用户用来从诸如图书馆的公共计算机访问用户的媒体集合。作为另一示例,web客户机114可由用户用来从朋友的计算机访问该用户的媒体集合。在一些实现中,用户域的端点可包括由用户可从中检索或接收内容项的许可证以便消费的第三方主存的虚拟市场、库、网站或其他存储。注意,在一些实现中,计算云104包括可被归类为用户域的端点的云数据存储120。
除了通过计算云104来在操作上耦合之外,一些端点计算设备可以在不通过计算云通信的情况下直接连接,这在一些情况中可被称为“离线”通信。例如,第一计算设备106和第二计算设备108可以在不连接到计算云的情况下通过局域网138来进行通信。作为另一示例,移动计算设备110可诸如通过通用串行总线(USB)电缆,直接连接至第一计算设备106。在一些情况中,这样的连接可允许执行各种同步、流传送,和/或回放操作而不必通过计算云来通信。
多个端点计算设备102中的一些可包括或可被配置成执行本机应用134,本机应用134使用端点计算设备的资源来执行各种同步、流传送,和/或回放操作。在一些实现中,本机应用134可在诸如第一计算设备106的全能力端点计算设备上执行,该计算设备可具有与计算云104的持久连接,保存内容116(例如,合适的数据存储),且可具有执行内容项同步和管理操作的处理能力。
多个端点计算设备102共同存储用户的可包括不同的内容项116的媒体集合。作为示例,内容项116可包括任何合适的数字媒体,诸如图像文件、视频文件、音频文件等。在一些情况中,媒体集合的一个或多个内容项116可被存储在多个位置中。例如,歌曲既可被存储在用户的个人计算机上又可被存储在用户的智能手机上。在一些情况中,媒体集合中可存在内容项116多于一个的实例。例如,歌曲的访问受限(例如,数字权限管理(DRM)受限)的实例以及该歌曲的不受限的实例可被存储在用户的个人计算机(或另一端点计算设备)上。
如上所述,为了向计算系统100中的每一端点计算设备展示用户的媒体集合,可为每一端点计算设备以及存储在每一计算设备上的每一内容项聚集元数据。具体地,每一计算设备可被配置成执行位置知晓回放模块118。位置知晓回放模块118可被配置成允许多个端点计算设备102的元数据同步,使得每一端点知晓每一内容项的每一实例以供回放。具体地,经由端点元数据130和内容元数据132可使每一端点计算设备知晓用户媒体集合中每个内容项116的每个实例的存储位置,以及每一端点计算设备和每一内容项的每一实例的特征。当检索内容项的实例以供在所选端点计算设备上回放时,可考虑端点元数据130和内容元数据132以提供最合适的回放体验。例如,端点元数据130可包括端点计算设备能力、在线状态、连通速度/速率、网络位置、电池寿命、显示能力,和流传送能力。此外,内容元数据132可包括访问限制、编码比特率、包括分辨率的格式、音频流(例如2声道、5.1、7.1等)、语言、字幕,和回放状态。注意到,尽管在图1中未被示出,位置知晓回放模块118的每一实例可包括在第一计算设备106上实现的详细说明的示例中列出的元素,包括端点元数据130和内容元数据132。
在一些实现中,用于在多个计算设备102之间的元数据的通信和/或同步的过程可以是基于云的。例如,每一端点计算设备可向计算云104发送关于该端点计算设备的端点元数据130,和关于存储在该端点计算设备上的每一内容项的每一实例的内容元数据132。从多个端点计算设备102聚集的端点元数据130和内容元数据132可被保存或存储在云数据存储120中。云数据存储120可被同步到多个端点计算设备102中的每一个,或可使云数据存储120对多个端点计算设备102中的每一个可用。在一些情况中,端点计算设备可响应于元数据被更新而向云数据存储120发送元数据。在一些情况中,具有间歇性云连通性/连接持续性的端点计算设备,诸如移动计算设备,可响应于到计算云104的连接而向云数据存储120发送元数据。
另外地或另选地,在一些实现中,用于在多个计算设备102之间通信和/或同步元数据的过程可以是基于对等(P2P)的。例如,每一端点计算设备可包括数据存储,该数据存储包括从计算系统100中的所有用户端点计算设备聚集的端点元数据130和内容元数据132。注意到,此处描述的聚集操作是示例性的,且可执行其它聚集操作,而不背离本发明的范围。
一旦通过端点和内容元数据的聚集向每一端点计算设备展示了内容项的不同实例及其存储位置后,位置知晓回放模块118即可促进客户机之间的通信,以便于从用户域中的任何端点计算设备访问、检索,并同步元数据以及检索内容供用户消费。换言之,位置知晓回放模块118可担当可由计算系统100中的每一端点计算设备(或计算云104)执行的客户机以便与其它客户机(例如,其它端点计算设备)直接通信或通过计算云104来通信。具体地,位置知晓回放模块118可被配置成允许不同的平台上执行的、且具有不同水平的能力的客户机之间通过从一组API 122中所选的各个API的通信。该组API 122中的每一API被定制成允许特定类型或类的客户机访问所聚集的端点元数据130和内容元数据132以便同步、修改,和/或检索内容以供消费。
该组API 122包括富同步API 124、贫同步API 126和查询API 128。富同步API 124可由被称为富客户机的客户机使用,诸如具有本地持久存储能力的客户机。富客户机相对于被称为贫客户机的客户机,能够在本地访问更大数量的元数据和信息。例如,富客户机可存储端点元数据130和内容元数据132,且因此为了用来自不同客户机(例如,计算云或另一端点计算设备)的所聚集的元数据来更新本地存储的所聚集的元数据,富同步API 124可被配置成仅交换本地未知或过时的元数据或信息以便同步元数据。富同步API 124可采用各种协议。例如,可使用超文本传送协议(HTTP)请求,并将ATOM馈源有效负载作为接线协议来执行通信。
在使用该API的同步过程期间,客户机可各自轮流作为用于交换未知或更新后的元数据的源和目的地,以便在两端均完成同步化。作为一个示例,由第一计算设备106执行的位置知晓回放模块118,使用富同步API 124来通过局域网138与第二计算设备108直接交换元数据,以便在两个端点计算设备之间同步元数据。作为另一示例,由第一计算设备106执行的位置知晓回放模块118使用富同步API 124来经由计算云104与云数据存储120交换元数据,以便在第一计算设备与云数据存储之间同步元数据。以下参考图4更详细讨论富客户机同步API和相关联的方法。
与富客户机形成对比,贫客户机可能不具有持久存储或本地运行同步指令的能力,并因此为了访问并修改所聚集的元数据,贫同步API 126可被配置成将所聚集的元数据的大的部分或整体从计算云104(或另一客户机)传送给贫客户机,以向贫客户机告知元数据的状态。在一些情况中,所接收到的元数据可被临时存储或高速缓存。随后,贫客户机可对某些元数据执行修改。元数据可通过用户/客户机的各个动作来修改。例如,用户可直接经由用户输入来修改元数据。作为另一示例,用户可消费内容,这可改变与内容相关联的元数据的状态(例如,使内容“受喜爱”、增加播放计数等)。可将经修改的元数据经由贫同步API 126发送到计算云(或另一客户机),和/或可删除元数据。
贫同步API 126可提供使用创建、读取、更新,和/或删除(CRUD)原则的代表性状态转移服务。贫同步API 126可采用各种协议。例如,CRUD操作中的每一个可被映射到特定的超文本传输协议(HTTP)动词。此外,ATOM馈源可用作通信中的有效负载。贫同步API 126展示针对云存储中的元数据项执行的、且稍后可被使用富同步API 124的客户机检测到的基本操作,以便进行系统范围的元数据同步化。
在一些实现中,可对其它较轻量的操作采用贫同步API 126,诸如对内容项的流传送回放。贫同步API 126是较低能力的端点计算设备执行各种操作的合适的媒介;然而,应理解,贫同步API 126可由多个端点计算设备102中的任何一个采用。例如,贫同步API 126可在客用户场景中使用,在客用户场景中,用户不期望富客户机体验等。作为另一示例,可能具有有限存储能力的游戏控制台112,使用贫同步API 126来经由计算云104从云数据存储120接收元数据、修改元数据,并随后将更新后的元数据发送给云数据存储120以便进行系统范围的同步化。以下参考图2更详细讨论贫客户机同步API和相关联的方法。
查询API 128提供可由贫客户机采用的或由没有所聚集的元数据的本地数据存储的客户机采用的所聚集的元数据的结构化查询。查询API 128可允许客户机提供一个或多个过滤参数或搜索查询参数,这些参数可用于从所聚集的元数据中过滤或检索所选的元数据实体。查询API 128允许过滤和排序云数据存储120中存在的元数据,允许基于过滤参数向没有存储或存储有限的客户机提供对有针对性或所选元数据的富视图。注意到,贫客户机可以不存储从查询检索到的信息(但也可以可任选地作为高速缓存机制来存储),且可仅检索供向用户呈现的元数据或其它信息,而非关于整个集合的元数据。例如,可将批大小指定为过滤参数,且可根据批大小检索元数据。以下参考图3更详细讨论查询API和相关联的方法。
以上所述的API使用一组模式136,这组模式136表示可跨计算系统100的端点独立同步的元数据元素的自包含元数据实体。这些元数据实体(例如,内容元数据实体)可根据不同的同步类型来分类或组织。例如,定义不同同步类型的模式可包括个人、流派、专辑、音轨、受喜爱、视频、播客、图片、播放列表,和播放列表项模式。
而且,一些同步类型可包括对其它同步类型的引用。换言之,一些模式可包括对另一同步类型的元数据实体的引用。例如,给定音轨、专辑和艺术家同步类型,音轨可包括对专辑和艺术家的引用。作为另一示例,专辑可包含对艺术家的引用。在一些实现中,当包括对不同同步类型的另一元数据实体的引用的元数据实体被发送时,所引用的元数据实体也可被发送。在这样的实现中,客户机可选择在其决定向用户呈现元数据以便进行修改、消费等之前,等待所有相关的元数据被发送/可用。
下表总结了上述讨论的模式136的一个实施例,并列出了这些模式中包括的元素名和元素类型。
Figure BDA0000134314090000071
Figure BDA0000134314090000081
表1-专辑模式
Figure BDA0000134314090000082
表2-流派模式
Figure BDA0000134314090000083
表3-个人模式
表4-受喜爱模式
Figure BDA0000134314090000092
表5-播放列表模式
Figure BDA0000134314090000093
Figure BDA0000134314090000101
表6-播放列表项模式
表7-音轨模式
继续图1,在不同的实施例中,端点计算设备可以采取大型计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、家庭娱乐计算机、网络计算设备、移动计算设备、移动通信设备、游戏设备等等的形式。
而且,每一端点计算设备可包括处理设备和数据存储设备。处理设备包括被配置成执行一个或多个指令的一个或多个物理设备。例如,处理设备可被配置成执行一个或多个指令,该一个或多个指令是一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其他逻辑构造的一部分。可实现此类指令以执行任务、实现数据类型、变换一个或多个设备的状态、或以其他方式得到所需结果。
数据存储系统可包括一个或多个物理、非瞬时设备,这些设备被配置成保持数据和/或可由该逻辑子系统执行的指令,以实现此处描述的方法和过程。在实现此类方法和过程时,可变换数据存储设备的状态(例如,保存不同数据)。数据存储设备可以包括可移动计算机可读存储介质和/或内置设备。数据存储设备可包括光学存储器设备(例如,CD、DVD、HD-DVD、蓝光光盘等)、半导体存储器设备(例如,RAM、EPROM、EEPROM、闪存等)、和/或磁存储器设备(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)等。数据存储设备可以包括具有以下特性中的一个或更多个特性的设备:易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址、以及内容可寻址数据存储。
术语“模块”、“程序”、“服务”和“引擎”可用于描述被实现为执行一个或多个具体功能的计算系统100的一方面。在某些情况下,可以通过执行由数据存储设备存储所保持的指令的处理设备来实例化这样的模块、程序、服务或引擎。应当理解,可以从同一应用、服务、代码块、对象、库、例程、API、函数等来实例化不同的模块、程序和/或引擎。同样,可以由不同的应用、服务、代码块、对象、例程、API、函数等来实例化相同的模块、程序、服务和/或引擎。术语“模块”、“程序”和“引擎”意在涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。应当理解,如此处所使用的“服务”可以是跨越多个用户会话可执行的、且对一个或更多系统组件、程序、和/或其他服务可用的应用程序。在一些实现中,服务可以响应于来自客户机的请求而在服务器上运行。
图2是用于在客户机之间进行通信以便在不使用本地数据存储的情况下同步元数据的方法200的实施例的流程图。在202,方法可包括发送对在数据存储中所聚集的、多个端点计算设备的每一个的元数据以及存储在多个端点计算设备的每一个上的内容的元数据的读请求。作为一个示例,参考图1,web客户机114可向计算云104发送读请求,以读取存储在云数据存储120中的端点元数据130和内容元数据132。
在204,该方法可包括接收所请求的元数据。继续以上示例,web客户机114可从云数据存储120接收所请求的端点元数据130的内容元数据132。
在206,该方法可包括执行改变所请求的元数据的状态的内容消费操作。可执行改变所请求的元数据的状态的各种内容消费操作。例如,内容消费操作可包括消费内容项(例如,播放歌曲),这可导致与内容项相关联的元数据的修改,诸如增加内容项的播放计数。作为另一示例,内容消费操作可包括经由用户输入直接修改元数据。在一个特定示例中,用户通过提供改变音频文件的标题的输入直接改变与该文件相关联的元数据。
在208,该方法可包括发送基于内容消费操作生成的经更新的元数据以同步数据存储中所聚集的元数据。继续以上示例,web客户机114可向计算云104发送在内容消费操作期间或作为内容消费操作的结果更新的元数据,以更新在云数据存储120中所聚集的元数据。
在210,该方法可包括删除本地元数据。在一些实现中,客户机可具有有限的数据持久数据存储或没有数据持久数据存储,并且所接收的元数据可被临时存储或高速缓存。对所接收的元数据的修改之后,本地元数据可被删除以便为其它操作释放本地资源。
上述方法允许用户从包括具有受限数据存储能力的端点计算设备(例如,贫客户机)的任何客户机访问和/或修改所聚集的元数据。而且,该方法允许将经修改或经更新的元数据与所聚集的元数据和用户域中相应的每一端点计算设备自动同步。
注意到,上述方法可被实现为API。具体地,发送读请求、接收所请求的元数据、发送经更新的元数据,和删除本地元数据可经由API来执行。在一个特定的示例中,图1的贫同步API 126包括上述方法。
图3是用于在客户机之间进行通信以便在不使用本地数据存储的情况下查询和过滤特定元数据的方法300的实施例的流程图。在302,该方法可包括发送查询请求以向数据存储查询根据过滤参数检索的所选元数据。数据存储可保存用户域中所有端点计算设备的所聚集的端点元数据和内容元数据。这样的聚集可产生在搜索特定元数据时可能难以调遣的大量元数据。查询请求允许用户瞄准特定元数据以便访问或修改。
过滤参数可包括元数据实体内的任何合适的项,诸如以上讨论的同步类型模式的一个或多个项。而且,过滤参数可包括任何合适的参数,可按照这些参数对检索到的元数据进行排序或列举。而且,过滤参数可包括批大小。
在304,该方法可包括接收根据过滤参数排序的所选元数据。所选元数据可根据过滤参数来排序,使得用户可容易地搜索所选元数据寻找所需信息。在其中指定批大小的情况中,元数据可根据指定的批大小按批接收,使得如果希望,客户机/端点不必下载全部查询结果。换言之,即使在过滤的情况下,所返回的元数据可能仍然过大,而批大小允许按批返回得到的元数据,使得元数据可在客户机/端点处可管理地消费。
上述方法在没有对存储在云存储中的所选数据进行过滤和排序的本地存储的情况下为客户机提供了结构化查询。该方法允许向没有存储或存储有限的客户机提供对元数据的富视图。注意到,上述方法可被实现为API。具体地,发送查询请求和接收所选元数据可经由API来执行。在一个特定示例中,图1的查询API 128被配置成实现上述方法。
图4是用于在客户机之间进行通信以便在不使用本地数据存储的情况下同步本地元数据和所聚集的元数据的方法400的实施例的流程图。在方法中,每一客户机担当源和目的地(以允许双向元数据同步)。在402,该方法可包括向源客户机发送同步参数。同步参数可包括定义每批可执行多少元数据改变的改变批大小,以及指示本地元数据状态的同步知识元数据。元数据状态可包括本地存储的改变或元数据条目,或客户机了解的改变或元数据。同步参数可被发送至另一客户机。
作为另一示例,参考图1,第一计算设备可向计算云104发送同步参数。由计算云104执行的位置知晓回放模块118使用从第一计算设备106接收到的同步知识,来确定存储在云数据存储130中的什么元数据比存储在第一计算设备106本地的元数据更新近地被增加、改变,或删除。位置回放知晓模块118向第一计算设备106发送经更新的元数据的、至多指定改变批大小的一个或多个改变批。在一些实现中,改变批可经由HTTP POST来传输,在HTTP POST中,POST请求正文包含目的地优选的批大小和同步知识。POST响应正文可不仅包含改变批本身,而且可包含与批中的项目相关联的实际元数据。这样的通信组织可节省带宽,并避免后续的元数据检索往返。
在404,该方法可包括为源客户机接收同步参数。同步参数可包括源客户机的改变批大小和同步知识元数据。继续以上示例,第一计算设备106可从计算云104接收同步参数。在一些实现中,第一计算设备106经由HTTP GET请求检索云服务同步参数,并经由HTTP PUT请求将改变批发送给计算云104。如前所述,PUT请求可不仅包含改变批项,而且还包含计算云需要为元数据同步存储的实际元数据。而且,在一些实现中,ATOM馈源可用作HTTP消息中的有效负载。ATOM馈源包含条目的列表,每一条目包含元数据和内容。内容的模式可根据以上对每一支持的同步类型描述的不同模式(例如:流派、艺术家、专辑、音轨等)而变化。
在406,该方法可包括发送本地经更新的元数据以更新源客户机的同步知识元数据,以便反映目的地到源的同步。元数据可根据源客户机指定的改变批大小来增量式发送。本地经更新的元数据可包括相对于源客户机的元数据状态具有更新近的状态改变的本地元数据。例如,用户可离线本地修改元数据,这可被发送给计算云以便进行元数据同步。
在408,该方法可包括从源客户机接收经更新的元数据。元数据可根据目的地客户机的同步参数指定的改变批大小来增量式接收。经更新的元数据可包括具有相对于本地元数据状态更新近状态改变的元数据。换言之,经更新的元数据可以是添加的元数据或与在客户机本地存储的实例相比更新近地被编辑或删除的元数据。继续以上示例,第一计算设备106可从计算云104接收经更新的元数据。在一些实现中,目的地客户机可检查源的改变批中每一元数据项的实例来验证,元数据实际是较新的实例以及本地实例是否需要更新。可在该阶段检测并解决任何实例冲突。
在410,该方法可包括更新目的地客户机的同步知识元数据,以反映源到目的地的同步。更新可包括本地存储从源客户机接收的经更新的元数据。
上述方法允许具有本地存储的客户机确定在本地存储的所聚集的元数据集合和在计算云中(或在另一客户机上本地)存储的所聚集的元数据集合之间存在什么改变,并促进这样的元数据的传输以便完成双向同步。以此方式,所聚集的元数据可在用户域中的每一端点计算设备之间同步。
注意到,上述方法可由API实现。具体地,发送同步参数、接收经更新的元数据以及更新同步知识元数据可经由API执行。此外,接收同步参数和发送本地经更新的元数据可经由API执行。在一个特定示例中,图1的富同步API128被配置成实现上述方法。
在一些实现中,上述方法可组合实现。在一些实现中,方法可经由不同API来执行,不同的API可由程序、模块,和/或服务用来访问、修改,和/或同步元数据。在一些实现中,客户机可利用一个以上的方法/API或方法的组合来与计算系统中的其它客户机通信。
应该理解,此处所述的配置和/或方法在本质上是示例性的,并且,由于可能存在多个变体,所以这些特定实施例或示例不具有限制意义。本文中所述的具体例程或方法可表示任意数量的处理策略中的一个或多个。由此,所示的各个动作可按所述的顺序执行、按其他顺序执行、并行地执行、或者在某些情况下被省略。同样,可改变上述过程的次序。
本公开的主题包括各种过程、系统和配置的所有新颖和非显而易见的组合和子组合,和此处所公开的其他特征、功能、动作、和/或特性、以及其任何和全部等效物。

Claims (10)

1.一种用于在计算系统的经认证的客户机之间通信的方法(200),包括:
发送(202)对在数据存储中所聚集的、多个端点计算设备中的每一个的元数据和存储在所述多个端点计算设备的每一个上的内容的元数据的读请求;接收(204)所请求的元数据;执行(206)改变所请求的元数据的状态的内容消费操作;以及发送(208)基于所述内容消费操作而生成的经更新的元数据以同步所述数据存储中所聚集的元数据。
2.如权利要求1所述的方法,其特征在于,发送读请求、接收所请求的元数据、发送经更新的元数据和删除本地元数据是经由应用编程接口来执行的。
3.如权利要求1所述的方法,其特征在于,还包括:
发送查询请求以向所述数据存储查询根据过滤参数检索的所选元数据;以及接收根据所述过滤参数排序的所选元数据。
4.如权利要求3所述的方法,其特征在于,发送所述查询请求和接收所选元数据是经由应用编程接口来执行的。
5.如权利要求1所述的方法,其特征在于,还包括:
向源客户机发送同步参数;接收所述源客户机的同步参数;发送本地经更新的元数据以更新所述源客户机的同步知识元数据以反映目的地到源的同步,所述本地经更新的元数据包括具有相对于所述源客户机的元数据状态更新近的状态改变的本地元数据;从所述元客户机接收经更新的元数据,经更新的元数据包括具有相对于本地元数据状态更新近状态改变的元数据;以及更新所述同步知识元数据以反映源到目的地的同步。
6.如权利要求5所述的方法,其特征在于,所述同步参数包括定义每批可执行多少元数据改变的改变批大小,以及指示本地元数据状态的同步知识元数据。
7.如权利要求5所述的方法,其特征在于,发送同步参数、接收经更新的元数据,以及更新同步知识元数据是经由应用编程接口来执行的。
8.如权利要求7所述的方法,其特征在于,所述应用编程接口是根据超文本传输协议来执行的。
9.如权利要求1所述的方法,其特征在于,所述数据存储包括能够由所述计算系统中的多个端点计算设备访问的基于云的数据存储。
10.如权利要求1所述的方法,其特征在于,所述数据存储被包括在所述多个端点计算设备的每一个中。
CN2012100267140A 2011-02-08 2012-02-07 多主媒体元数据同步化 Pending CN103198081A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/023,404 US20120203932A1 (en) 2011-02-08 2011-02-08 Multi-master media metadata synchronization
US13/023,404 2011-02-08

Publications (1)

Publication Number Publication Date
CN103198081A true CN103198081A (zh) 2013-07-10

Family

ID=46601453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100267140A Pending CN103198081A (zh) 2011-02-08 2012-02-07 多主媒体元数据同步化

Country Status (2)

Country Link
US (1) US20120203932A1 (zh)
CN (1) CN103198081A (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
US9323921B2 (en) 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
KR101596559B1 (ko) * 2011-06-03 2016-02-22 애플 인크. 클라우드 저장소
US20130054734A1 (en) * 2011-08-23 2013-02-28 Microsoft Corporation Migration of cloud applications between a local computing device and cloud
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9389933B2 (en) 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
WO2014046380A1 (ko) * 2012-09-18 2014-03-27 에스케이플래닛 주식회사 메타 정보 기반의 클라우드 서비스 방법
US9654556B2 (en) 2012-10-02 2017-05-16 Razer (Asia-Pacific) Pte. Ltd. Managing applications on an electronic device
US9717985B2 (en) 2012-10-02 2017-08-01 Razer (Asia-Pacific) Pte. Ltd. Fragment-based mobile device application streaming utilizing crowd-sourcing
US9106721B2 (en) * 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9600552B2 (en) 2012-10-02 2017-03-21 Nextbit Systems Inc. Proximity based application state synchronization
US8892693B2 (en) 2012-10-02 2014-11-18 Nextbit Systems Inc. Enabling fragment-based mobile device application streaming
US9112885B2 (en) 2012-10-02 2015-08-18 Nextbit Systems Inc. Interactive multi-tasker
US9210203B2 (en) 2012-10-02 2015-12-08 Nextbit Systems Inc. Resource based mobile device application streaming
US9268655B2 (en) 2012-10-02 2016-02-23 Nextbit Systems Inc. Interface for resolving synchronization conflicts of application states
US8977723B2 (en) 2012-10-02 2015-03-10 Nextbit Systems Inc. Cloud based application fragmentation
US10425471B2 (en) 2012-10-02 2019-09-24 Razer (Asia-Pacific) Pte. Ltd. Multi-tasker
US9776078B2 (en) 2012-10-02 2017-10-03 Razer (Asia-Pacific) Pte. Ltd. Application state backup and restoration across multiple devices
US9747000B2 (en) 2012-10-02 2017-08-29 Razer (Asia-Pacific) Pte. Ltd. Launching applications on an electronic device
US8764555B2 (en) 2012-10-02 2014-07-01 Nextbit Systems Inc. Video game application state synchronization across multiple devices
CN104737231B (zh) * 2012-10-26 2017-10-27 索尼公司 信息处理设备、信息处理方法、程序和信息处理系统
US9811775B2 (en) * 2012-12-24 2017-11-07 Google Inc. Parallelizing neural networks during training
CN103986742B (zh) * 2013-02-08 2018-08-31 纬创资通股份有限公司 文件同步的方法及相关电子装置
KR102020358B1 (ko) * 2013-03-14 2019-11-05 삼성전자 주식회사 단말 및 그 단말에서 애플리케이션 동기화 방법
US10123189B2 (en) 2013-03-21 2018-11-06 Razer (Asia-Pacific) Pte. Ltd. Electronic device system restoration by tapping mechanism
US8954611B2 (en) 2013-03-21 2015-02-10 Nextbit Systems Inc. Mechanism for sharing states of applications and devices across different user profiles
EP2984559B1 (en) * 2013-04-09 2019-06-12 Citrix Systems Inc. Providing a native desktop using cloud-synchronized data
WO2015035396A1 (en) * 2013-09-09 2015-03-12 Layer, Inc. Federated authentication of client computers in networked data communications services callable by applications
US20150088957A1 (en) * 2013-09-25 2015-03-26 Sony Corporation System and methods for managing applications in multiple devices
USD768162S1 (en) 2013-09-30 2016-10-04 Nextbit Systems Inc. Display screen or portion thereof with graphical user interface
US9300737B1 (en) 2015-06-02 2016-03-29 Mylio, LLC Object replication using object device links and flags
US9286657B1 (en) 2015-06-25 2016-03-15 Mylio, LLC Efficient image processing using dynamically sized tiles
GB201603785D0 (en) 2016-03-04 2016-04-20 Microsoft Technology Licensing Llc Communication system
US11303647B1 (en) 2021-04-22 2022-04-12 Netskope, Inc. Synthetic request injection to disambiguate bypassed login events for cloud policy enforcement
US11178188B1 (en) 2021-04-22 2021-11-16 Netskope, Inc. Synthetic request injection to generate metadata for cloud policy enforcement
US11647052B2 (en) 2021-04-22 2023-05-09 Netskope, Inc. Synthetic request injection to retrieve expired metadata for cloud policy enforcement
US11190550B1 (en) 2021-04-22 2021-11-30 Netskope, Inc. Synthetic request injection to improve object security posture for cloud security enforcement
US11336698B1 (en) 2021-04-22 2022-05-17 Netskope, Inc. Synthetic request injection for cloud policy enforcement
US11184403B1 (en) * 2021-04-23 2021-11-23 Netskope, Inc. Synthetic request injection to generate metadata at points of presence for cloud security enforcement
US11271972B1 (en) 2021-04-23 2022-03-08 Netskope, Inc. Data flow logic for synthetic request injection for cloud security enforcement
US11271973B1 (en) 2021-04-23 2022-03-08 Netskope, Inc. Synthetic request injection to retrieve object metadata for cloud policy enforcement
US11943260B2 (en) 2022-02-02 2024-03-26 Netskope, Inc. Synthetic request injection to retrieve metadata for cloud policy enforcement

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240091B1 (en) * 1999-10-04 2007-07-03 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization
CN101001243A (zh) * 2006-01-09 2007-07-18 杭州世导科技有限公司 实现移动信息同步的系统和方法
CN101490670A (zh) * 2006-07-20 2009-07-22 桑迪士克股份有限公司 内容分布系统
CN101802809A (zh) * 2007-09-24 2010-08-11 微软公司 多主同步环境中的web服务端点的同步

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149800B2 (en) * 2002-05-29 2006-12-12 Seventh Knight Auditing computer systems components in a network
US20130097302A9 (en) * 2003-10-01 2013-04-18 Robert Khedouri Audio visual player apparatus and system and method of content distribution using the same
US20050210501A1 (en) * 2004-03-19 2005-09-22 Microsoft Corporation Method and apparatus for handling metadata
US7970823B2 (en) * 2004-09-02 2011-06-28 Broadway Technology, Llc System for sharing data objects among applications
US7257689B1 (en) * 2004-10-15 2007-08-14 Veritas Operating Corporation System and method for loosely coupled temporal storage management
US20100325153A1 (en) * 2009-06-17 2010-12-23 Microsoft Corporation Synchronized distributed media assets
US7593950B2 (en) * 2005-03-30 2009-09-22 Microsoft Corporation Album art on devices with rules management
US20070288247A1 (en) * 2006-06-11 2007-12-13 Michael Mackay Digital life server
US8095495B2 (en) * 2007-09-25 2012-01-10 Microsoft Corporation Exchange of syncronization data and metadata
US20090177836A1 (en) * 2008-01-09 2009-07-09 Yasuyuki Mimatsu Methods and apparatuses for managing data in a computer storage system
US8190683B2 (en) * 2008-02-29 2012-05-29 Microsoft Corporation Synchronizing multiple user remote content playback
US8745047B2 (en) * 2008-08-28 2014-06-03 Empire Technology Development Llc Media recommendation and acquisition system
US20120191831A1 (en) * 2011-01-26 2012-07-26 Carl Kanzabedian System and method for cataloging assets in a network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240091B1 (en) * 1999-10-04 2007-07-03 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization
CN101001243A (zh) * 2006-01-09 2007-07-18 杭州世导科技有限公司 实现移动信息同步的系统和方法
CN101490670A (zh) * 2006-07-20 2009-07-22 桑迪士克股份有限公司 内容分布系统
CN101802809A (zh) * 2007-09-24 2010-08-11 微软公司 多主同步环境中的web服务端点的同步

Also Published As

Publication number Publication date
US20120203932A1 (en) 2012-08-09

Similar Documents

Publication Publication Date Title
CN103198081A (zh) 多主媒体元数据同步化
CN101692238B (zh) 媒体文件的自动选择
EP3039562B1 (en) Network device, system and method for rendering an interactive multimedia playlist
CN102594879B (zh) 媒体内容位置知晓和决策制定
US9817828B2 (en) Digital asset hosting and distribution among user accounts
US20060080103A1 (en) Method and system for network downloading of music files
CN104967552A (zh) 消息推送方法及装置
US20090210324A1 (en) Tracking of Shared Inventory in a Virtual Universe
US10628385B2 (en) Virtual collection of entities in sync process
US20150161119A1 (en) Playlist resolver
US20120109952A1 (en) System, method, and computer program for remote management of digital content
US20220295133A1 (en) Technologies for managing collaborative and multiplatform media content playlists
WO2009048919A2 (en) Network accessible media object index
CN114331057A (zh) 一种电子书的存储及管理系统
US8103559B2 (en) Maintenance of group shared inventories in a virtual universe
US20140289626A1 (en) Cloud based audio recording system
KR20130020433A (ko) 멀티미디어 패키지 제작 장치 및 방법, 멀티미디어 패키지 서비스 제공 시스템 및 방법
KR20090060331A (ko) 미디어 라이브러리를 수정하는 시스템 및 방법
CN103403713B (zh) 文件系统中的文件变体
CN105359538A (zh) 根据网页创建播放列表
JP4869321B2 (ja) コンテンツの表示状態に基づいてマルチメディアのコントローラを提供するための方法、システム及びコンピュータ読み取り可能な記録媒体
JP5490325B2 (ja) 自律的なインテリジェント・コンテンツ項目
CN102571929B (zh) 一种用于在电子设备上远程访问数字内容的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1185168

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150727

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20171103

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1185168

Country of ref document: HK