CN101395591A - 标识媒体设备内容的改变 - Google Patents

标识媒体设备内容的改变 Download PDF

Info

Publication number
CN101395591A
CN101395591A CNA2007800074855A CN200780007485A CN101395591A CN 101395591 A CN101395591 A CN 101395591A CN A2007800074855 A CNA2007800074855 A CN A2007800074855A CN 200780007485 A CN200780007485 A CN 200780007485A CN 101395591 A CN101395591 A CN 101395591A
Authority
CN
China
Prior art keywords
sequence
indicator
value
slave unit
maximum
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.)
Granted
Application number
CNA2007800074855A
Other languages
English (en)
Other versions
CN101395591B (zh
Inventor
B·D·曼德斯
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 CN101395591A publication Critical patent/CN101395591A/zh
Application granted granted Critical
Publication of CN101395591B publication Critical patent/CN101395591B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了一种向主设备展示关于一组数据对象的信息的方法。结合每个都与数据对象(诸如设备上的媒体文件)相关的一组序列指示符来使用基准序列指示符以满足对关于满足传送自多个做出请求的应用程序的序列准则的特定对象的信息的多个独立请求。一种具体化的数据结构包括与数据对象相关联的一组属性以及也与该数据对象相对应的并且用指示数据对象何时发生改变的数据对象指示符填充的序列标识字段。

Description

标识媒体设备内容的改变
背景
数码照相机、个人媒体播放器、移动电话、以及其他设备在全世界范围内持续变得日益流行。用户照相、听音乐、看视频等等,并且经常在这些设备与诸如计算机等的其他设备之间共享数据。例如,音乐文件可首先被下载到计算机并且然后被传输到便携式音乐播放器。可以拍摄数码图片然后传输到计算设备。持续存在的延及全部的问题是以高效的并且合乎用户需要的方式来标识给定设备的数据的改变。
考虑两个说明性示例:数码照相机和数字音乐播放器。在数码照相机的情况下,用户可能拍摄几十或几百张图片但期望在已经上传了先前一组图片后仅将一部分上传到计算机。或者在便携式音乐播放器的情况下,可以操控其内容,并且期望发生的无论什么改变都在计算机上复制。至少两种情况正在加剧该问题:电子设备的存储容量的巨大增长,以及对一个设备与许多发起的应用程序进行通信的需求。
便携式音乐播放器,以及其他设备例行地存储数十亿字节的信息,并且存储容量将毫无疑问地继续增长。历史上,当传输速度已线性增长时存储容量已平方级地增长。传送存储在电子设备上的关于数百亿字节的数据的信息比传送关于数百万字节的数据的信息要困难得多。当前,处理该问题的一种方式是询问电子设备以确定其组件的完整映射,并且然后让做出请求的应用程序确定如何管理该设备的内容。在这一范例中,没有假设存在设备与PC之间的关系。PC通过从该设备下载内容来获悉在连接设备上的信息。
尽管各种技术已试图利用设备与计算机之间增长的数据传输速度,但是仅仅增长的传输速度出于各种原因并不是适当的解决方案。第一,毫无必要地将数百亿字节的信息发送到PC本身是浪费的。第二,使得用户等待比存在适当的替换方案的情况下必要的等待时间更久。并且最重要的是,多个应用程序竞争对耦合的设备上的内容的访问。例如,只要便携式音频播放器一耦合到计算机,多个音频文件应用程序就将试图建立与该播放器的通信链路。如果每个播放器都单独行动,则每个播放器都不得不下载耦合的设备上的所有信息以获悉该耦合的设备上的内容。
在某些设置中,在计算机和电子设备之间存在一对一的关系。这使得事情变得更容易但有明显的缺点。例如,某些媒体播放应用程序被设计为只与特定品牌的媒体播放设备一起工作。在这种情形下,可以假设在计算机设备和电子设备之间存在一种关系。这使得同步数据库的选项可用。数据库存在于计算设备上并且数据库也存在于电子设备上。当任一数据库发生改变时,规定将对一个数据库做出的无论什么改变复制到另一个数据库,反之亦然。但是当在该计算设备上的两个或更多应用程序试图传输关于在耦合的电子设备上的数据的信息时,该范例是不可行的。这个难以解决并且公知的问题被称为多主同步问题。再者,同步存储数十亿字节,并且迟早存储数万亿字节的数据库或信息是资源敏感的,并且如将所示的,是不必要的。
概括地,在计算设备和电子设备之间同步数据的两种主要的方法是制造每个设备上的数据库的镜像,或者接收耦合到计算设备的电子设备上的所有内容的完整映射。这些方式中没有一个提供快速及高效地获悉设备的内容而不必实际上传输该设备的所有媒体内容的有效方式。例如,在将数百张图片留在数码照相机上后,用户可能只拍摄一些额外的图片并将该照相机重新连接到计算设备。这些方法中没有一个提出接收只有少数最近的图片是新的的指示以及将向用户呈现操控改变的内容的选项的能力提供给计算设备的通用方式。这类问题对于诸如移动电话、PDA、便携式媒体播放器等各种设备是普遍的。
概述
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明描述高效地接收和呈现与诸如电子设备等的媒体设备上的特定数据对象有关的对象信息的各种方法和数据结构。数据对象包括诸如媒体文件(音频、视频、图片等等)等的项目。使用面向对象的原语(对象元数据、设备元数据、以及运算)来仅仅展示允许多个请求应用程序执行与设备的基于同步的交互(选择性枚举、获取、放置等等)所必需的信息。当对象发生改变时,该对象接收可稍后用于关连地确定改变何时发生的序列指示符。该方法并不依赖于诸如同步时钟或改变日志等的在设备之间所建立的任何伙伴关系或共享信息。本发明在本技术领域中具有若干实际应用,包括减少与标识各种类型电子设备上的改变的、新的、以及删除的内容相关联的时间和资源。
附图简述
以下将参考附图详细描述本发明的各实施例,附图通过引用结合于此,并且其中:
图1是根据本发明的实施例的适于操作的说明性发起设备的框图;
图2A是是根据本发明的实施例的描绘说明性操作环境的框图;
图2B示出了根据本发明的实施例的存储在存储设备上的数据对象的各方面并示出了维护的删除列表;
图3A和3B示出了根据本发明的实施例的包括用于接收序列标识字段的保留位置的数据结构的几乎无限的变型的两种表示;
图4描绘了根据本发明的实施例的从设备的操作的说明性流程;
图5描绘了根据本发明的实施例的结合描绘从设备的说明性操作的状态图来参考的流程图;
图6是根据本发明的实施例的描绘从设备向潜在地许多请求应用程序展示其内容的一种方法的流程图;
图7是根据本发明的实施例的描绘应用程序接收关于存储在从设备上的对象的信息的说明性方法的流程图;
图8A和8B提供由本发明的一个实施例执行的示例性过程的更详细的综述。
详细描述
将要描述的各技术的确切实现能够变化而不会背离所附权利要求书的范围。提供了允许标识在其中对象在设备上被改变(包括创建和删除)的序列的属性,该属性还与允许标识序列中的当前位置的至少一个属性相关联。注意,此处所使用的“序列”、“顺序”、以及其他变型并不是指具有公差的连续数列或一组连续值。相反,充分考虑了间隙。因此,集合{1,4,897,6987}将会是此处所使用的序列中的值。这允许向请求设备快速地呈现诸如对于落入序列的期望范围(例如,大于某个值)的特定对象的句柄列表等信息。
贯穿本发明的说明书,使用若干缩写和简写符号来帮助理解关于相关联的系统和服务的特定概念。这些缩写和简写符号只是出于提供交流此处所表达的概念的简单的方法的目的且并不意味着限制本发明的范围。以下是这些缩写的列表:
                  缩写        短语               简略的解释,但可查看说明书来
                                            得到完整的解释
              MSVI       最大序列值指示          可从中确定一组值的最大序列
                         符                 值的指示符,能够提供确定后续OSI
                                            的基础。其最初与从设备相关联,指
                                            示对应于在该设备上的给定的一组
                                            对象的最大对象序列指示符并且也
                                            由主设备来接收,该设备可以跟踪在
                                            当前连接的设备的当前最大序列值
                                            指示符和/或在上一次的已知连接的
                                            设备的前一个最大序列值指示符。
              OSI        对象序列指示符          指定至少相对于最大序列值指
                                            示符,但在某些实施例中相对于其他
                                            对象的改变,对象何时发生改变(包
                                            括新的和删除的对象)的属性。
本发明的各说明性方面都会在以下详细描述。列出某些方面不应被认为是其他方面不存在的指示。但是出于说明性目的提供了选择列表。
在第一说明性方面中,提供了一种用于使主设备执行用于接收关于在从设备上的各种对象的对象信息的方法的计算机程序产品。在一个实施例中,从设备上的每个对象都与一单调序列指示符相关联。该方法包括从主设备检索指示从设备上一次何时与主设备进行通信的前一个最大序列值指示符。基于该前一个最大序列值指示符以及各种对象的对象序列指示符,能够接收与从设备上的新的或自从从设备上一次与主设备进行通信以来已经改变的一组对象相关联的信息。
在第二说明性方面中,提供了一种用于协助将关于电子设备的对象的信息呈现给另一设备的具体化的数据结构。对于设备上的每一个数据对象有一数据结构。还提供了与该组对象相关联的最大序列值指示符(MSVI)。该数据结构不但包括描述对象的各方面的各种属性,而且包括用指示相对于最大序列值指示符数据对象何时发生改变的对象序列指示符(OSI)填充的序列标识字段。创建新对象被包括在“改变”的范围中。
在第三说明性方面中,提供了一种用于存储与包含在存储介质上的、关连于至少一个MSVI的一组数据对象相关联的信息的方法。该方法包括从多个做出请求的应用程序接收多个相应的独立对象信息请求,其中每个请求都针对关于至少一部分数据的信息;从每个请求中标识指示从设备上一次何时与相应的做出请求的应用程序进行通信的相应的前一个MSVI;以及结合相应的前一个最大序列值指示符来利用先前存储的对象序列指示符以满足每一个这样的请求以使得每个做出请求的应用程序接收只关于其相应的对象序列指示符相对于最大序列值指示符满足准则的那些数据对象的信息。
在第四说明性方面中,提供了一种用于标识在其中数据对象在设备上被改变或创建的序列的方法。该方法包括提供序列位置指示符与每个数据对象的关联,该序列位置指示符相对于一组先前分配的序列位置指示符单调地变化。该方法还包括提供对应于一组对象的一组对象引用的通信,该对象包括新创建的对象以及其至少一个属性在定义的时间点后已改变的对象。
在最后一个说明性方面中,一实施例采用了便于从设备与主设备之间的信息交换的具体化的指令的形式。提供了与从设备上的一组一个或多个对象相关联的基准序列指示符的接收。每个对象分别与一单调序列指示符相关联。还提供了基于基准指示符对在从设备上有什么对象的确定。
本发明可以在计算机代码或机器可使用指令的一般上下文中描述,该机器可使用指令包括由诸如个人数据助理或其他手持式设备等执行的诸如程序模块等的计算机可执行指令。一般而言,包括例程、程序、对象、组件、数据结构、协议等的程序模块指的是执行特定任务或实现特定抽象数据类型的代码。本发明可以在各种系统配置中实施,这些系统配置包括手持式设备、消费电子产品、通用计算机、更专用计算设备等等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实施。
具体地参考图1,提供了示例性主设备100的各方面。主设备100可以是计算机或计算设备、游戏控制台、立体声汽车音响本体等等,并且只是合适的操作环境的一个示例。并不旨在对本发明的使用范围或功能提出任何限制。不应存在关于所示的组件的任何一个或组合的任何依赖或需要的解释。
参考图1,主设备100包括直接或间接地耦合以下设备的总线110:存储器112、一个或多个处理器114、一个或多个呈现接口116、输入/输出端口118、输入/输出组件120、以及说明性电源122。总线110可以是一条或多条总线(诸如地址总线、数据总线、或其组合)。尽管为了清楚起见用线条示出了图1的各框,但是,实际上,描绘各组件并不是那样清楚,并且用比喻方法,线条更精确地将是灰色的和模糊的。例如,人们可以将诸如显示设备等的呈现组件认为是I/O组件。同样,处理器具有存储器。可以认识到,这是本领域的特性并且重申图1只是例示可结合本发明的一个或多个实施例来使用的示例性主设备。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,因为所有都被认为是在图1的范围之内的并且被引用为作为一种类型的计算机的主设备。
主设备100通常包括各种计算机可读介质。作为示例而非限制,计算机可读介质可以包括随机访问存储器(RAM);只读存储器(ROM);电可擦除可编程只读存储器(EEPROM);闪存或其他存储器技术;磁带盒、磁带、磁盘存储或其他磁存储设备;诸如拇指型驱动器、闪存卡等的可移动介质;以及载波或可用于对所需信息进行编码并且可由主设备100访问的任何其他介质。存储器112包括易失性和/或非易失性存储器形式的计算机存储介质并且包括上述介质类型中的任一个。
主设备100包括从诸如存储器112或I/O组件120等各种实体读取数据的一个或多个处理器。呈现接口116向用户或其他设备呈现数据指示并且可以成为设备100的一部分或耦合到设备100。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等等。I/O端口118允许主设备100逻辑上耦合至包括I/O组件120的其他设备,其中某些可以是内置的。说明性组件包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、无线设备等等。
现在转到图2A,示出了耦合到主设备212的媒体设备210。媒体设备210能够读取由参考标号211A和211B指定的一个或多个机器可读媒体。该媒体如上所述可以是永久的或可移动的。在各实施例中,媒体设备210可以采用电子设备的形式,诸如数码照相机214、PDA216、移动电话218、便携式音乐播放器220、或便携式媒体播放器222、或者未示出但指示为由省略号224来构想的各种其他设备。下文中,媒体设备210将被称为从设备210,因为在本发明的上下文中,它作为相对于主设备212的从设备来操作。主设备212包括用于执行本发明的各功能方面的一组机器可读指令225。主设备212可以采用膝上型计算机226、无线电汽车音响本体228、游戏控制台230、某一其他形式的计算设备232、或者未示出但也由省略号来表示的某一其他主设备。
主设备212被示为包括由参考标号234、236、和238指定的多个做出请求的应用程序。这并不是对等环境,因为从设备210与主设备212上的做出请求的应用程序234-238是一对多的关系。每个主应用程序各自包括分别由参考标号234A、236A、和238A来表示的前一个最大序列值指示符(MSVI)。它将在以下更详细地解释,但是前一个最大序列值指示符是由从设备210提供的,并且在其连接到主设备212时指示该设备的最大序列指示符。在某些实施例中,维护两个基准指示符:前一个最大序列值指示符和当前最大序列值指示符,其中当前最大序列值指示符采用来自新耦合的从设备210的当前值,而前一个最大序列值指示符存储最近替换的当前最大序列值指示符。同样地,这将在以下具体参考图8来更详细地解释。
主设备212启动对从设备210的请求,从设备210用与在其上的各种对象相关联的信息来进行响应。从设备210描绘了比较不复杂的实施例更复杂的实施例。例如,从设备210描绘了两个分离的对象集,第一对象集242和第二对象集246。对象集242包括相应的最大序列值指示符248。类似地,对象集246包括相应的最大序列值指示符250。在该应用中,将解释各种情形。并且将对对象集242做出不需要更复杂的解释参考的情况,对象集242具有结合各自的序列指示符来使用以向诸如应用程序234等的说明性应用程序呈现信息的最大序列值指示符。
在本发明的实施例中,使用基于对象属性的协议(OPB)来便于信息243A、243B、和243C(诸如对象句柄、其他引用、概要信息、以及对象本身等等)向主设备212的传送,并且如果适用的话,便于响应于相应的信息请求241A、241B、和241C向相应的做出请求的应用程序234、236、和238的传送。
此处所使用的OPB协议是在其中所有元素被呈现为对象并由属性来描述而不必检索对象本身的任何协议。内容被展示为对象并由与对象分离的属性来描述。基于对象的协议是使用操作、响应、以及(可任选地)事件的组合来提供对设备及其内容的访问的协议。设备使用这些来描述其以对象形式表示的内容。对象由用于在协议中称呼对象的指示符(例如,对象句柄、文件名、或对象名);描述对象并且可检索而不必检索二进制净荷本身的一些元数据(例如,属性);以及包含组成对象主体的二进制文件的一个或多个二进制资源组成。存在仅由属性组成并且不具有二进制分量的对象。这些对象被称为抽象对象。
一个说明性的这样的协议包括媒体传输协议(MTP),该协议连同关于在电子设备之间同步数据的额外信息一起在以下文献中更全面地描述:1)2004年5月3日提交的美国专利申请第10/836,260号,2)2004年5月5日提交的美国申请第10/839,299号中,3)在可以从MSDN.Microsoft.com得到的题为“Media Transfer Protocol(媒体传输协议)”的规范中。这三个文献中的每一个至少出于所描述的目的通过引用明确结合于此。
在基于对象的协议中,对象作为整个对象来传输。即,对对象做出请求。这一方案的优点是所请求的文件对于诸如文件结构和操作系统之类的事情变得不可知。因此,文件能够跨不同的操作系统和文件系统来传送。文件变成简单地从一个设备传输到另一个设备的互存在。注意,当此处对于传输文件做出引用时,旨在包括传输文件的副本的概念而不是实际上移动文件。这在本领域中是公认的,并且在本申请全文中阐明每个区别会模糊本发明。
在一个实施例中,主设备212是在控制之下的,并且从设备210将试图展示其内容。在对等环境中,其角色可以是颠倒的。即,主设备也可以是从设备而从设备也可以是主设备。本发明涉及解决呈现出不同于对等环境的问题的问题的一对多环境中相关联的问题。本发明的适用操作环境包括向媒体播放器请求其内容的汽车无线电、请求耦合到其上的设备的信息的游戏控制台、以及都明确地在图2A中示出的大量其他示例、以及本领域的普通技术人员在阅读本发明时可构想的许多其他设置。
如上所述,本发明要解决的问题之一(不是唯一)是能够向电子设备的做出请求的应用程序快速地展示新的或改变的内容。对于该问题有许多方面,并且进一步的目标是能够标识出在一改变序列中至少相对于该设备上一次与主设备212进行通信的时间一特定对象何时发生了特定改变。各种方法将不起作用。例如,数码照相机上的时钟不是图片实际上何时拍摄的可靠指示符,不提供相对于上一次与做出请求的设备进行通信何时发生改变的指示,并且甚至可能不提供足够的粒度以唯一地标识何时拍摄图片的序列位置。不幸的是,许多消费者简单地不设置其数码照相机上的时钟。
此外,当人们穿过时区,尤其是向西旅行时,甚至设置其时钟的人将最终向后设置其时钟,这可导致某张图片是在另一张之前拍摄的错误指示,而实际上它是在另一张之后拍摄的。该时钟也不提供关于该设备上一次何时与主设备212进行通信的任何相对测量。
使用时钟作为潜在的序列指示符的另一个说明性缺点是该时钟可能不够精确。某些高端照相机具有快速连续地拍摄多张图片的能力,包括作为保守估计的每秒若干张图片。如果时钟只将时间维持到秒,则快速连续地用高速快门速度拍摄的十张图片将得到所有图片上的相同的时间戳。
注意诸如并包括对等同步技术的现有技术将不会对确定能够通用地标识可归于诸如从设备210等的电子设备上的对象的关系序列属性有任何指导。因为已经在不同的范例中完成的旧方式想法并不有助于应用到解决包括对象集242和许多发起应用程序234、236、以及238之间的一对多关系在内的本发明的操作环境中的问题,所以这一传统逻辑实际上混淆了该问题。再一次,问题之一是能够快速地标识改变的对象(包括属性已改变的对象)以及新创建的对象而不必在主设备212上完整地制作从设备210的内容(以及或许对应于所存在的那样多的主应用程序的其许多实例)的镜像并且不必枚举电子设备的完整内容。
图2B示出了从设备210的某些对象在其他对象改变(修改或新的)时如何能够保持不变。例如,由参考标号260表示的对象是未改变对象;即,相对于从设备210上一次与主设备212进行通信的时间没有改变。在某些实施例中,该指定可以是用户控制的或设备控制的,以使得仅仅将从设备210连接到主设备212并不用作通信事件。
改变的对象由参考标号262来指示。如此处所使用的,“改变的”对象是修改的或包括新创建的对象的对象。还示出了已删除文件列表264,这提供了跟踪从从设备210删除的对象的一种方式。该列表可被设置为预设长度以使其不消耗比所需更多的空间。例如,它可被配置为跟踪最后N个对象。该列表能够简单地由主设备212来请求以标识哪些对象已被删除。在一个实施例中,该列表采用由标识已删除对象的标识符以及相应的序列指示符组成的2 x N数组265的形式,其中序列指示符指示至少相对于从设备的最大序列值指示符248或250,并且还相对于对现有对象何时做出改变或新对象何时被创建,对象何时被删除。
在本发明的一个实施例中,标识修改的对象或新创建的对象262通过提供每个对象上的额外属性来实现,该属性在一个实施例中接收可用于标识相对于其他对象的改变,并且在某些实施例中仅仅至少相对于基准指示符(可以是最大序列值指示符)一对象何时发生改变的对象序列指示符(OSI)。该序列指示符可以是单调递增或单调递减的。在两种情形中,后续值至少与所有先前的值一样极端。单调指示符是非递增或非递减的。非递减值从不减少,但相邻的值可能是相同的。类似地,非递增值从不减少,但相邻的值可能是相同的。在一个实施例中,序列指示符是非递减的。即,该值始终增加,从不振荡。但是在所附权利要求书的范围内可以构想可以从一个极大的数字开始并随着时间继续而减小。因此,在一个实施例中,本发明采用具体化的数据结构的形式,一个说明性的此类数据结构在图3A中由标号300来引用。
图3A描绘了可结合本发明的一个实施例来使用的数据结构的说明性表示。该数据结构包括一新的字段,即包括序列指示符312作为其属性之一的序列标识字段310。数据结构300还包括由标号314引用的一组其他数据对象属性,这些属性说明性地包括文件名属性316、分辨率属性(视情况而定)318、以及由标号320说明性地表示的各种其他属性。本发明还提供净荷改变指示符字段322以接收指示当与其相应属性中的一个比较时媒体净荷326本身是否已经改变的相应的属性324。例如,如果媒体净荷的实际内容已改变,则净荷改变指示符322可以是“1”,而如果与净荷相关联的属性而不是净荷本身改变,则该指示符可以是“0”。
如将在以下讨论的,当数据对象改变或新创建时,其序列标识字段310用序列指示符312来填充。设备可能存储数百、数千、或甚至更多的数据对象,其每一个都具有相应的序列标识字段310和序列指示符312。这些序列指示符的集合将结合通常与设备相关联的、而且还可与相应的数据对象集相关联的最大序列值指示符来使用,以使得能够标识出序列中相对于最大序列值指示符和/或相对于彼此(视情况而定)对各对象发生的改变。图3B仅仅描绘了由标号300A引用的表达数据结构300的可选方式。该数据结构也包括序列标识字段310A以及相应的序列指示符312A。本领域的普通技术人员可以理解,存在多种描绘图3A的数据结构的方式,该多种方式并不意味着本质上是限制的,而是意味着仅示出将额外的属性关联到对象以使得该属性指示在改变的序列中即时对象何时发生改变的具体化的概念。
因此,在一个实施例中,本发明利用基于对象属性的协议中的单调递增属性来标识于其做出改变的序列,并进一步利用与一组对象和/或与设备本身相关联的基准指示符来标识在该序列中发生改变的位置。这提供了检索已创建或诸如在上一次与主设备212进行通信之后等在某一事件后已改变的对象列表的能力。
本发明的许多优点中的一个是其提供了对于如何将数据存储在从设备210上的实现细节的高度的灵活性。只要对象是以使每个对象都附带有诸如字段310A等的序列标识字段(主设备212知道以便进行查找的字段)的方式来存储的,就可给予开发者许多自由。数据(例如,242、246、248、以及250)可以用各种方式来存储,但是它以标准形式呈现给主设备212。设备210跟踪改变的方式能够跨各种设备而变化,并且可留给设备制造商决定。这实际上是本发明的益处。通过建立用于表达对这些改变的跟踪的公共平台而不管设备如何在内部存储它,在设备类型和做出请求的应用程序之间的一对一关系就不是必需的,并且不需要专有解决方案。因此,重要的是理解先前所提及的图3A和3B的说明性数据结构并不是轻率地被称为说明性的。它们仅仅是非常说明性的。可以利用各种存储方案,但仅出于解释的目的只提供两种。
首先参考图4来提供从设备210可以存储其数据的仅仅一种方式的额外细节。图4的方法400示出了在步骤410处提供将与设备或数据对象集相关联的最大序列值指示符。因此,在一个实施例中,最大序列值指示符将对应于图2A上的参考标号248,并且数据对象集将对应于参考标号242。最大序列值指示符是具有特定值的基准指示符。最大序列值指示符的值可基于各种情况而改变。例如,在一个实施例中,该值在与主设备212进行通信后更新。在其他实施例中,该值在对象的序列指示符被更新后更新。在另外一些实施例中,该值可以自动地周期性地更新。将首先提供对于在其中最大序列值指示符在每次从设备210上的对象发生一个或一组改变时更新的实施例的解释。
回到图4,在步骤412处,为每个数据对象242提供包括序列标识字段的数据结构。因此,可以使用图3A所示格式的数据结构。在步骤414处,做出关于是否已经改变或新创建了任何对象242的判断。本发明能够跟踪现有对象的改变以及跟踪新对象何时被创建。对象的改变包括与该对象相关联的属性的改变。
如果对象没有发生改变,则处理继续到步骤416,在其中相应的对象的序列指示符312被设为比最大序列值指示符248大。本领域的技术人员可以理解实现类似功能的方式,这些方式被认为是在所附权利要求书的范围之内。已经描述了从一个非常大的数字开始并使所有数字相对于起始数字减小的说明性示例。在该实施例中,在步骤418处最大序列值指示符在处理回到在其中从设备210等待(420)直到对象改变或已被创建的状态前更新。
现在将参考图5提供对于本发明的实施例的更详细的解释。图5描绘了一流程图以及一组数据对象的三个状态以及由标号510、512、和514引用的其相应的对象序列指示符(OSI)。状态510、512、和514表示从设备210上的对象的不同状态。在第一个状态510中,一组对象序列指示符与相应的一组对象518相关联。
对象序列指示符516具有值“1001”、“1002”、“1003”、以及“1004”。从图例520可以看出,每个对象都处于未改变状态。步骤522指示集合518中的一个对象发生了改变。在该示例中,假设由标号526引用的对象524改变状态。流程图500示出了在步骤528处从未改变状态到已改变状态的转换通过由参考标号528所指示的更新对象的相应的对象序列指示符来表示。此处,对象524的对象序列指示符从“1002”更新到“1006”。数字“1006”是通过引用那时的当前最大序列值指示符530(具有值“1005”)并且将对象526的对象序列指示符设置为比最大序列值指示符530的值大的值来选择的。参考标号532所示的判定步骤指示最大序列值指示符基于本发明的各实施例可以被更新或不更新。例如,在第一实施例中最大序列值指示符没有被更新,并且处理将继续到步骤534,该步骤是指示最大序列值指示符值“1005”在更新对象526的相应的对象序列指示符后继续的占位符步骤。因为从设备210上一次与主设备212进行通信时也将其最大序列值指示符530“1005”传送到主设备212,所以这种情况是有可能的。
因此,在主设备212希望发现其上一次与从设备210进行通信之后的所有改变的情况下,只要在与主设备212进行通信之后发生的改变用比前一个最大序列值指示符530大的序列指示符来表示,主设备就将能够发现所有这样的改变。包括该解释以示出基于实现者的期望这一范例是可能的。
但在另一个实施例中,最大序列值指示符自动地或伴随着对对象的对象序列指示符的更新而更新。在这种情况下,处理将继续到步骤536,其示出了其中最大序列值指示符被更新,例如加2的一个实施例,其中对象的对象序列指示符被更新为只比初始最大序列值指示符530大1。再一次,状态514示出被创建为可能具有甚至是与对象526的对象序列指示符相同的值的对象序列指示符1006的新对象538。但在另一个实施例中,对象538的对象序列指示符将采用比对象序列指示符“1006”大的值。在该实施例中,最大序列值指示符仍然还将加1,采用由参考标号540引用的值“1007”。在最大序列值指示符在每个对象的对象序列指示符被更新后没有更新的情况下,它将在从设备210被耦合到主设备212时更新并且被给予比对象序列指示符516中的任何一个都大的值。
现在转向图6,提供了概括地由标号600引用的供从设备210向主设备212展示关于一组对象242的信息的说明性方法。在步骤610处,从设备210能够从诸如234、236、以及238等多个做出请求的应用程序接收多个对象信息请求(诸如241A、241B、以及241C所指示的那些请求等)。这是本发明的另一个优点,即能够向多个应用程序而不是仅仅向单个应用程序提供诸如与各对象的改变相关联的序列信息等信息。
当从设备210被耦合到主设备212时,许多应用程序可能试图与从设备210进行通信。例如,如果从设备210采用音频播放器220的形式,则各厂商所创建的各种音频播放应用程序将都感测到从设备210到主设备212的连接并试图询问该设备。诸如241A、B、C的那些请求等的请求将被发送到从设备210以供其或许列出所有新的内容,或只列出满足特定准则的内容。
为了满足这些请求,在步骤612处从设备210将确定正确的前一个最大序列值指示符。例如,如果从设备从应用程序234接收到一个请求,则该从设备将确定与应用程序234相关联的正确的最大序列值指示符是由标号234A指示的最大序列值指示符。类似地,如果请求241B来自于应用程序236,则应用程序236将体提供逻辑以使得从设备210将知道最大序列值指示符236A是正确的最大序列值指示符。
在步骤614处,从设备210使用做出请求的应用程序的最大序列值指示符以及一组对象的序列指示符(诸如242或246的序列指示符)来满足每个请求。例如,如果做出请求的应用程序238将请求241C发送到从设备210以列出在集合246中是新的所有那些对象,则从设备210将比较对象246中的每一个的序列标识字段310并且传回与其序列指示符比238A的序列指示符大的那些对象相关联的信息243C。应用程序238可以是具有最大序列值指示符“973”的摄影应用程序。如果从设备210是照相机,并且具有组成参考标号246所指示的集合的几千张图片,但是只有两张图像具有比“973”大的对象序列指示符,则只与那两张图片相关联的信息将被发送到设备212上的做出请求的应用程序238。
类似地,如果应用程序238请求其在某一事件之前或之后删除的所有对象的指示,则从设备210能够引用其删除日志264以满足这一请求。在另一个示例中,应用程序可以请求只被通知对象的实际的二进制文件或媒体净荷326是否已经改变。在这种情况下,从设备210能够引用各对象的净荷改变指示符322以快速指示哪些对象的媒体净荷已经改变。
如上所述,关于在从设备210上存储信息的各方面的较低级细节能够变化,且如何将信息存储并且甚至呈现给主设备212的较低级细节也能够变化。例如,在一个实施例中,每次对对象做出改变,并且更新该对象的相应的对象序列指示符时,可以将该对象的指示符316添加到用作快速引用以满足做出请求的应用程序的信息请求的日志。在其他实施例中,伴随着接收请求可在数据上执行查询。在该实施例中,如果做出请求的应用程序请求例如具有比某一数字大的序列指示符的所有数据对象,则可基于所提供的准则快速查询元数据314、310、322。更重要的是,应结合基于对象的协议来提供数据结构以使得序列标识字段310与对象相关联并且伴随着在该对象的改变而填充以使得可至少相对于基准指示符,但在其他实施例中相对于对其他对象所做出的改变,来确定这一对象的时序。
现在转向图7,提供了流程700作为主设备能够执行用于接收关于存储在从设备210上的对象的信息的方法的示例性方式。在步骤710处,主设备212接收从设备210被耦合到主设备212的指示。在步骤712处,主设备212从存储中检索可能特定于应用程序的,与某一应用程序相关联的前一个最大序列值指示符。因此如果应用程序234是相关的应用程序,则该应用程序将接收最大序列值指示符234A。类似地,应用程序236将检索最大序列值指示符236A。应用程序238也一样。
如上所述,主设备212,或更具体地,诸如应用程序234等的应用程序可能涉及两个基准指示符:前一个基准指示符和当前基准指示符。在这一方案中,前一个最大序列值指示符将用作用于测试从设备210上的对象的对象序列指示符的基准,而当前最大序列值指示符将接收该设备的最大序列值指示符的当前值。将参考图8更详细地解释该方面。
在步骤714处,主设备212将接收诸如来自从设备210的信息243A等的信息。该信息将例如基于对象序列指示符以及所检索的最大序列值指示符来与集合242的特定数据对象相关。再一次,或许做出请求的应用程序234简单地请求例如所有新的图片。在该情况下,做出请求的应用程序234会将其前一个最大序列值指示符234A传递给从设备210,从设备210将使用该指示符来比较对象集242的对象序列指示符并且返回只与那些对象相关联的信息243A。信息234A可包括对象242或其子集的句柄,或对那些对象的一部分的其他引用或与该对象相关联的元数据。无论主设备212请求以及可由从设备210来检索什么,都包括在信息243A的范围内。
接收到这些信息允许主设备212在步骤716处关于所确定的对象执行所需的任何操作。说明性操作可包括获取、放置、以及改变检测操作。主设备212可能希望接收在信息243A中所指示的对象的副本。主设备212可能希望删除一组对象。此处可包括大量示例,而这样做是不切实际的,但是本领域的普通技术人员将容易理解当应用程序234能够基于在数据300存在的情况下提供的序列准则接收与对象集242的特定对象相关联的信息234A的情况下有大量的可能性适用以满足该准则。在步骤718处,主设备212接收从设备的当前最大序列值指示符248,该指示符现在被存储为前一个最大序列值指示符。因此在步骤720处,基于该设备的当前最大序列值指示符来更新前一个最大序列值指示符。
现在将参考包括本发明的各方面的图8A和8B提供最一个说明性示例。出于该示例的目的,做出请求的应用程序将被假定为234,而适用的数据集将会是与最大序列值指示符248相关联的数据242。在图8A本身中还提供了具体的示例,并且这些示例将用出现在图8A和/或8B中的新标号来引用。首先转向图8A,在步骤810处,从设备210被耦合到主设备212。状态812表示具有相应的对象序列指示符816的对象814的说明性状态。如图所示,对象814包括三张图片,每张都具有相应的对象序列指示符,并且还包括设备最大序列值指示符818“00151”。在步骤820处,主设备212参考其具有如“00145”的说明性值的前一个最大序列值指示符(诸如由标号248表示的最大序列值指示符)。在某些实施例中,一个或多个设备最大序列值指示符可在此时被更新。在其他实施例中,主设备可以只跟踪单个基准指示符。在这一实施例中,主设备的单个最大序列值指示符将在与从设备210的通信会话后更新。但是在该实施例中,在当前最大序列值指示符字段824中保留从设备210的最大序列值指示符818。如上所述,该设备234的前一个最大序列值指示符值826是“00145”。在步骤828处,主设备212确定图片0049到0051是相关的,因为其各自的对象序列指示符830都比主设备前一个最大序列值指示符“00145”大。
在步骤832处,用户选择复制所有图片但也选择将它们留在该设备上。在步骤832处这些图片也被复制到主设备212。这是在其中可更新主设备212的一个或多个最大序列值指示符的步骤834处的一个说明性要点。如图所示,前一个最大序列值指示符字段836现在具有曾经是当前最大序列值指示符并且是从设备210的基准指示符248的值“00151”。在步骤838处,用户断开该设备并且再拍摄了三张图片。对象及其相应的对象序列指示符840的状态由状态842来表示。可以看出,新图片844具有比该设备的先前的最大序列值指示符818大的相应的对象序列指示符846。在这种情况下,新图片具有对象序列指示符“00152”、“00154”、以及“00156”。还如状态842所示,从设备210的设备最大序列值指示符已被更新到值“00157”。
继续至图8B,假设在步骤848处用户重新连接到主设备212。在一个实施例中,保留从设备的最大序列值指示符,如由状态852中的参考标号850所指示的。与相应的做出请求的应用程序相关联的前一个最大序列值指示符仍旧是“00151”。在步骤854处,表示为具有标号0052至0054的图片844被识别为相关的,因为其各自的对象序列指示符846比主设备的前一个最大序列值指示符“00151”大。在步骤856处,如果需要可以只在相关的对象上可任选地执行操作。在步骤858处,主设备212的前一个最大序列值指示符被更新为从设备210的最大序列值指示符“00157”。在步骤860处,假设该用户断开连接但然后改变了pic_0050的分辨率。如状态862所指示的,pic_0050的对象序列指示符864被更新为具有比值为“00157”的该设备的当前基准指示符850大的值。从设备210的最大序列值指示符被更新为如参考标号866所指示的值“00159”。步骤868指示当重新连接时,pic_0050将被识别为相关的,因为其具有比前一个最大序列值指示符“00156”大的相应的对象序列指示符。主设备将存储从设备的最大序列值指示符“00159”。
此处已对执行诸如确定什么对象具有比某一基准值大的值等的分析做出了参考。当然,人们也可基于什么值大于或等于该值或某一其他变型来执行分析。但在所有情况下,结合一组序列标识值来使用某一基准值。如何精确地使用那些值可能变化,但是利用它们被认为是在所附权利要求书的范围之内的。在某些实施例中,最大序列值指示符可以自动地并独立于改变主动地增大。
以上某些示例是在作为主设备212的计算设备的上下文中提供的。但是如上所简述,主设备并不限于是计算机。本发明的各实施例适用于在其中改变由标准格式的序列指示符来标记,并且将这些序列指示符与基准指示符相比较以确定相关对象的任何环境。
所描绘的各组件以及未示出的组件的许多不同的安排都是可能的,而不背离本发明的精神和范围。已带着说明而非限制的意图描述了本发明的各实施例。不背离其范围的各替换实施例将对本领域的技术人员是显而易见的。技术人员可以开发实现上述改进的各替换手段而不背离本发明的范围。例如,最大序列值指示符的当前和前一个值可以在主设备、从设备、或其组合上维护。并且最大序列值指示符可用于确定最大对象序列标识符(或其范围,例如,“最大对象序列标识符比X小”),但其本身并不需要比所有对象序列标识符大。更重要的是,利用该最大对象序列标识符来确定下一个正确的对象序列标识符。
可以理解,特定的特征和子组合是有用的,并且可以使用而无需参考其他特征和子组合并且被认为是在权利要求书的范围之内的。并非需要以所描述的特定次序来执行在各附图中所列出的所有步骤。

Claims (20)

1.一种利用用于在主设备(212)和从设备(210)之间通信的基于对象的协议的方法700,所述方法包括:
帮助与所述从设备的通信链接,所述从设备包括,
(1)分别与一组相应的对象序列指示符(312、830、846)相关联的一个或多个对象(242、246);以及
(2)指示所述从设备上的最大对象序列指示符的当前最大序列值指示符(248、250);
基于指示所述从设备(210)前一次何时与所述主设备(212)进行通信的前一个最大序列值指示符,来传送对于关于所述从设备(210)上的对象的信息的请求;
基于所述前一个最大序列值指示符(826)以及所述对象序列指示符(312、830、846),来接收与满足所述请求的对象相关的信息(243A、243B、243C)。
2.如权利要求1所述的方法,其特征在于,所述主设备包括计算设备,并且其中所述从设备包括媒体播放设备。
3.如权利要求2所述的方法,其特征在于,所述媒体播放设备是播放音频文件、视频文件、或其他数据文件中的一个或多个的设备。
4.如权利要求1所述的方法,其特征在于,所述对象序列指示符是一组值中的一个值,在该组值中,对于任意两个值,后面的值至少与前面的值一样极端。
5.如权利要求4所述的方法,其特征在于,结合所述对象序列指示符来利用所述前一个最大序列值指示符包括确定其相应的对象序列指示符超过所述前一个最大序列值指示符的第一对象集。
6.如权利要求4所述的方法,其特征在于,还包括以下的一个或多个:
将对所述第一对象集的引用传送到所述主设备;或者
将所述第一对象集传送到所述主设备。
7.如权利要求1所述的方法,其特征在于,所述前一个最大序列值指示符由所述主设备来提供。
8.如权利要求7所述的方法,其特征在于,还包括从所述从设备接收其当前最大序列值指示符并且将其存储为所述前一个最大序列值指示符。
9.如权利要求1所述的方法,其特征在于,还包括标识从所述主设备删除的一组对象。
10.一种或多种有形机器可读介质(211A、211B),其上包含有一组一个或多个数据对象(242)、分别与每个数据对象相关联的数据结构(300)、以及用于协助呈现关于所述数据对象的信息的与所述一组一个或多个数据对象(242)相关联的最大序列值指示符(248),所述数据结构(300)包括:
与第一数据对象相关联的第一属性集(314);以及
也与所述第一对象相对应的并且用指示相对于所述最大序列值指示符(248)所述第一数据对象何时发生改变的对象序列指示符(312)来填充的序列标识字段(310),所述改变包括新数据对象的创建。
11.如权利要求10所述的介质,其特征在于,所述最大序列值指示符被更新为至少与所述数据结构的对象序列指示符中的任一个一样极端。
12.如权利要求10所述的介质,其特征在于,所述数据对象发生的改变包括与所述对象相关联的属性的改变。
13.如权利要求10所述的介质,其特征在于,还包括已删除对象的指示,该指示包括指示至少相对于所述最大序列值指示符一对象何时被删除的相应对象序列指示符。
14.一种用于标识从设备的新创建的对象、修改的对象、或删除的对象中的一个或多个的方法,包括利用如权利要求10所述的数据结构。
15.一种或多种具有包含在其上的一组机器可读指令的有形机器可读介质(211A、211B),当由从设备(210)来处理所述指令时,使得所述从设备执行向在主设备(212)上运行的一个或多个做出请求的应用程序(234、236、238)展示关于一组数据对象(242)的信息(243A、243B、243C)的方法400,所述方法包括:
从所述做出请求的应用程序(234、236、238)接收多个独立对象信息请求(241A、241B、241C),所述对象信息请求中的每一个都针对关于所述数据对象集中的至少一部分数据对象的信息;
从每个请求(241A、241B、241C)中标识指示所述从设备(210)上一次何时与相应的做出请求的应用程序(234、236、或238)进行通信的相应的前一个最大序列值指示符(248);以及
结合所述相应的前一个最大序列值指示符(248)来利用先前存储的对象序列指示符(516)以满足所述多个对象信息请求(241A、241B、241C)中的每一个,以使得每个做出请求的应用程序接收只关于其相应的对象序列指示符相对于所述最大序列值指示符(248)满足准则的那些数据对象的信息(243A、243B、243C)。
16.如权利要求15所述的介质,其特征在于,所述对象序列指示符是在一组单调递增的值中的值。
17.如权利要求16所述的介质,其特征在于,所述对象序列指示符指示相对于其他数据对象的改变何时发生了改变。
18.如权利要求16所述的介质,其特征在于,所述对象序列指示符甚至在时间戳不指示唯一的序列位置时指示相对于其他数据对象的改变何时发生了改变。
19.如权利要求15所述的介质,其特征在于,所述机器可读指令还包括用于标识已删除对象以及相对于所述前一个最大序列值指示符所述已删除对象何时被删除的指令。
20.如权利要求15所述的介质,其特征在于,所述机器可读指令还包括用于将对所述数据对象的至少一部分的一个或多个引用从所述从设备传送到所述主设备的指令。
CN200780007485.5A 2006-03-03 2007-01-23 标识媒体设备内容的改变 Expired - Fee Related CN101395591B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/368,145 2006-03-03
US11/368,145 US8769033B2 (en) 2006-03-03 2006-03-03 Identifying changes to media-device contents
PCT/US2007/002092 WO2007106234A1 (en) 2006-03-03 2007-01-23 Identifying changes to media-device contents

Publications (2)

Publication Number Publication Date
CN101395591A true CN101395591A (zh) 2009-03-25
CN101395591B CN101395591B (zh) 2011-11-16

Family

ID=38472645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780007485.5A Expired - Fee Related CN101395591B (zh) 2006-03-03 2007-01-23 标识媒体设备内容的改变

Country Status (7)

Country Link
US (1) US8769033B2 (zh)
EP (1) EP1997013B1 (zh)
JP (1) JP5149815B2 (zh)
KR (1) KR101467583B1 (zh)
CN (1) CN101395591B (zh)
TW (1) TWI477990B (zh)
WO (1) WO2007106234A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033895A (zh) * 2009-09-24 2011-04-27 巴比禄股份有限公司 本地服务器以及本地服务器的控制方法
CN114077448A (zh) * 2020-08-11 2022-02-22 深圳云天励飞技术股份有限公司 数据管理方法及相关设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7945734B2 (en) * 2007-08-10 2011-05-17 Eastman Kodak Company Removable storage device with code to allow change detection
US8832341B2 (en) 2011-09-27 2014-09-09 International Business Machines Corporation Dynamically determining a primary or slave assignment based on receiving a power signal from the cable at the port of a device
JP5890674B2 (ja) * 2011-12-07 2016-03-22 キヤノン株式会社 情報処理装置、情報処理方法
US10521449B1 (en) * 2014-12-17 2019-12-31 Amazon Technologies, Inc. Cross-region replication architecture

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5710922A (en) * 1993-06-02 1998-01-20 Apple Computer, Inc. Method for synchronizing and archiving information between computer systems
US5966714A (en) * 1995-04-28 1999-10-12 Intel Corporation Method and apparatus for scaling large electronic mail databases for devices with limited storage
US5661665A (en) * 1996-06-26 1997-08-26 Microsoft Corporation Multi-media synchronization
US5974238A (en) * 1996-08-07 1999-10-26 Compaq Computer Corporation Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements
JP3042600B2 (ja) 1996-08-22 2000-05-15 日本電気株式会社 分散ファイルの同期方式
AU731871B2 (en) 1996-11-04 2001-04-05 Sun Microsystems, Inc. Method and apparatus for thread synchronization in object-based systems
US6052735A (en) * 1997-10-24 2000-04-18 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
US6449622B1 (en) * 1999-03-08 2002-09-10 Starfish Software, Inc. System and methods for synchronizing datasets when dataset changes may be received out of order
US6694335B1 (en) * 1999-10-04 2004-02-17 Microsoft Corporation Method, computer readable medium, and system for monitoring the state of a collection of resources
KR100379457B1 (ko) 1999-10-08 2003-04-10 엘지전자 주식회사 개인 정보 관리 방법
JP3963417B2 (ja) * 1999-11-19 2007-08-22 株式会社東芝 データ同期処理のための通信方法および電子機器
US6643652B2 (en) * 2000-01-14 2003-11-04 Saba Software, Inc. Method and apparatus for managing data exchange among systems in a network
US6671757B1 (en) * 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US20010042099A1 (en) * 2000-02-02 2001-11-15 Doongo Technologies, Inc. Apparatus and methods for optimizing traffic volume in wireless email communications
WO2001058141A1 (en) * 2000-02-04 2001-08-09 Ideo Product Development Inc. System and method for synchronization of image data between a handheld device and a computer
US6820088B1 (en) * 2000-04-10 2004-11-16 Research In Motion Limited System and method for synchronizing data records between multiple databases
JP4568954B2 (ja) 2000-04-26 2010-10-27 株式会社ニコン データファイル管理用記録媒体、データファイル管理装置、画像データの伝送方法およびデータの伝送方法
KR20020003674A (ko) 2000-06-24 2002-01-15 정승채 데이타 동기화 시스템 및 그 방법
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
US6931454B2 (en) * 2000-12-29 2005-08-16 Intel Corporation Method and apparatus for adaptive synchronization of network devices
US20040058710A1 (en) * 2001-05-25 2004-03-25 Timmins Timothy A. Technique for synchronizing data in user devices through an information service
US7668535B2 (en) * 2001-07-09 2010-02-23 Palm, Inc. Notification infrastructure for sending device-specific wireless notifications
US7243163B1 (en) * 2001-08-07 2007-07-10 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a messaging system
US7149813B2 (en) * 2001-08-14 2006-12-12 Microsoft Corporation Method and system for synchronizing mobile devices
EP1440402A1 (en) * 2001-10-22 2004-07-28 Apple Computer, Inc. Intelligent synchronization for a media player
US7032033B1 (en) * 2001-11-30 2006-04-18 Microsoft Corporation Handling collisions during synchronization of data between client and server computers
US20030112849A1 (en) * 2001-12-18 2003-06-19 Gorday Paul Edward Efficient quadrature code position modulation
US6882993B1 (en) * 2002-01-28 2005-04-19 Oracle International Corporation Incremental refresh of materialized views with joins and aggregates after arbitrary DML operations to multiple tables
US7155464B2 (en) * 2002-03-29 2006-12-26 Panasas, Inc. Recovering and checking large file systems in an object-based data storage system
WO2003083667A1 (en) 2002-03-29 2003-10-09 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a data service
EP1540503A4 (en) * 2002-09-03 2006-07-19 Nokia Corp METHOD, DEVICE AND SYSTEM FOR SYNCHRONIZING DATA TO PROVIDE THE HANDLING OF AN INTERRUPTED SYNCHRONIZATION PROCESS
SE525748C2 (sv) * 2002-10-28 2005-04-19 Devlabs Ab Förfarande för direkta utskrifter i nätverk
US6996818B2 (en) * 2002-11-22 2006-02-07 Bitfone Corporation Update system for facilitating software update and data conversion in an electronic device
US7177918B2 (en) * 2002-12-20 2007-02-13 International Business Machines Corporation Method and system for efficiently processing multiframe data in a client/server computing environment
US7673020B2 (en) * 2003-05-02 2010-03-02 Microsoft Corporation System and method for facilitating communication between a computing device and multiple categories of media devices
US7610387B1 (en) * 2003-11-12 2009-10-27 Cisco Technology, Inc. Method and apparatus for providing sticky bindings using version vectors
KR100547896B1 (ko) * 2004-03-05 2006-01-31 삼성전자주식회사 데이터 동기화 시스템 및 서버와 클라이언트의 데이터동기화 방법
US20050203905A1 (en) * 2004-03-12 2005-09-15 Samsung Electronics Co., Ltd. Method of synchronizing data between server and user terminal using messenger service system and system using the same
US8209537B2 (en) * 2004-03-30 2012-06-26 Hewlett-Packard Development Company, L.P. Secure information distribution between nodes (network devices)
US20060003806A1 (en) * 2004-07-02 2006-01-05 Sbc Knowledge Ventures, L.P. Phone synchronization device and method of handling personal information
US7539889B2 (en) * 2005-12-30 2009-05-26 Avega Systems Pty Ltd Media data synchronization in a wireless network
US9058372B2 (en) * 2006-08-23 2015-06-16 Kyocera Corporation Database management in a wireless communication system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033895A (zh) * 2009-09-24 2011-04-27 巴比禄股份有限公司 本地服务器以及本地服务器的控制方法
CN102033895B (zh) * 2009-09-24 2014-02-26 巴法络股份有限公司 本地服务器以及本地服务器的控制方法
CN114077448A (zh) * 2020-08-11 2022-02-22 深圳云天励飞技术股份有限公司 数据管理方法及相关设备

Also Published As

Publication number Publication date
WO2007106234A1 (en) 2007-09-20
JP5149815B2 (ja) 2013-02-20
EP1997013A1 (en) 2008-12-03
EP1997013B1 (en) 2019-01-09
EP1997013A4 (en) 2016-06-08
US20070208818A1 (en) 2007-09-06
TWI477990B (zh) 2015-03-21
TW200817940A (en) 2008-04-16
CN101395591B (zh) 2011-11-16
JP2009528617A (ja) 2009-08-06
US8769033B2 (en) 2014-07-01
KR101467583B1 (ko) 2014-12-10
KR20080106534A (ko) 2008-12-08

Similar Documents

Publication Publication Date Title
CN101385017B (zh) 部分项改变跟踪和同步
CN101512498B (zh) 向用户提供对分布在多个不同类型的用户设备中的数据文件的访问
CN101933294B (zh) 用于多主同步环境的基于知识的框架中的质量上的对象变更的表示
CN101395591B (zh) 标识媒体设备内容的改变
CN100458679C (zh) 具有打印日志管理功能的图像形成装置及其方法
CN103299602A (zh) 数据同步
CN1954317A (zh) 用于管理媒体项的方法、系统、计算机程序和设备
EP3139645B1 (en) Method and system for transferring and sharing information among mobile devices
CN101677325A (zh) 发布媒体描述信息和获取媒体的方法、装置、系统
CN104272280A (zh) 服务器装置、系统及其控制方法
CN101753416A (zh) 消息发送方法及装置
CN101645935B (zh) 基于QoS指标和Web服务输出参数的Web服务组合方法和装置
CN103389910A (zh) 构建虚拟机的方法、虚拟机的管理方法及其装置
US7818369B2 (en) System and method for displaying digital image files
CN103209355A (zh) 多媒体转码方法和系统
JP2006244428A (ja) セッション管理方法及びセッション管理装置
JP2003208375A (ja) 情報配信システム、携帯情報端末、情報配信サーバ装置および情報配信方法
EP2381620A1 (en) Method for retrieving object from device management client and associated device management system
US20210012055A1 (en) Secondary Device for a Sensor and/or Information System and Sensor and/or Information System
CN102298610A (zh) 媒体文件的管理
JP4637004B2 (ja) データ複製方法及びデータ複製システム
JP2010117794A (ja) 携帯端末、予測候補蓄積システム、広告管理サーバおよび広告配信システム
JP2008015716A (ja) 要求集約通信装置、その通信方法、通信システムおよび制御プログラムならびに携帯情報端末
CN104123361A (zh) 导航页面的配置方法、装置
CN116303265A (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150430

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

Effective date of registration: 20150430

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111116

Termination date: 20220123

CF01 Termination of patent right due to non-payment of annual fee