CN102227720B - 在多个设备的范围内支持媒体内容回复功能 - Google Patents
在多个设备的范围内支持媒体内容回复功能 Download PDFInfo
- Publication number
- CN102227720B CN102227720B CN2009801490984A CN200980149098A CN102227720B CN 102227720 B CN102227720 B CN 102227720B CN 2009801490984 A CN2009801490984 A CN 2009801490984A CN 200980149098 A CN200980149098 A CN 200980149098A CN 102227720 B CN102227720 B CN 102227720B
- Authority
- CN
- China
- Prior art keywords
- image
- version
- computing equipment
- equipment
- user
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
- G06F16/1787—Details of non-transparently synchronising file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
- Information Transfer Between Computers (AREA)
Abstract
第一图像的已编辑版本和第一图像的原始版本二者都被存储在第一计算设备处。响应于在多个范围内同步图像的用户请求,第一图像的已编辑版本和第一图像的原始版本二者都与第二计算设备同步。无论已编辑版本是在所述多个计算设备中的哪个计算设备上被改变的,用户都被允许回复到第一图像的原始版本。
Description
背景技术
随着计算和数字成像技术的进步,计算机已经成为用于管理、查看和共享照片、视频和其它媒体内容的日益流行的平台。尽管其流行,但当前系统仍存在问题。这些问题例如包括存储被编辑图像的备份副本的麻烦过程、以及用户从多个计算机中访问其图像的麻烦过程。这些问题贬低了这类系统的可用性,并使用户体验降级。
发明内容
提供本发明内容以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
根据一个或多个方面,第一图像的已编辑版本和第一图像的原始版本二者都被存储在第一计算设备处。响应于在多个计算设备范围内同步图像的用户请求,第一图像的已编辑版本和第一图像的原始版本二者都与第二计算设备同步。无论已编辑版本是在所述多个计算设备中的哪个计算设备上被改变的,用户都被允许回复到第一图像的原始版本。
根据一个或多个方面,标识第一计算设备的第一文件夹。s第一文件夹存储第一媒体内容的原始版本,该第一媒体内容具有被存储在第一计算设备的第二文件夹中的已编辑版本。第一媒体内容是第一计算设备上的多个媒体内容之一。对第一计算设备上的所述多个媒体内容将与第二计算设备同步的指示被接收。响应于接收该指示,第一计算设备的同步模块被通知:第一文件夹将与第二计算设备的第三文件夹同步。
附图说明
在全部附图中,使用相同的标号来指示相同的特征。
图1示出了根据一个或多个实施例的实现在多个设备的范围内支持媒体内容回复功能的示例性系统。
图2示出了根据一个或多个实施例的在多个设备的范围内支持媒体内容回复功能的示例。
图3是示出了根据一个或多个实施例的在多个设备的范围内支持媒体内容回复功能的示例性过程的流程图。
图4是示出了根据一个或多个实施例的在多个设备的范围内支持媒体内容回复功能的另一示例性过程的流程图。
图5示出了根据一个或多个实施例的可以被配置为在多个设备范围内实现对内容回复功能的支持的示例性计算设备。
具体实施方式
在此所讨论的是在多个设备的范围内支持媒体内容回复功能。存储在设备上的图像、视频和/或其他媒体内容可以被该设备的用户编辑。该内容也可以与其他设备同步,从而允许该内容在多个不同的设备上被用户编辑和/或查看。附加地,回复功能允许用户在已经进行编辑以后回复到该图像的原始版本。该回复功能在所述多个不同的设备的范围内被支持,从而允许用户无论所述编辑是在哪个设备上进行的都可以从多个设备中的任意设备回复到原始版本。
图1示出了根据一个或多个实施例的实现在多个设备的范围内支持媒体内容回复功能的示例性系统100。系统100包括可以通过网络106与服务器104通信的一个或多个(x个)计算设备102。网络106可以是各种不同的网络,包括因特网、局域网、公共电话网、蜂窝或其他无线电话网、内联网、其他公共和/或专用网络及其组合等。
每个计算设备102都可以是各种不同类型的设备。例如,计算设备102可以是台式计算机、移动站、娱乐装置、以可通信方式耦合到显示设备的机顶盒、蜂窝或其他无线电话、个人数字助理(PDA)、游戏控制台、汽车计算机等等。因此,计算设备102的范围可以是从具有充足存储器和处理器资源的全资源设备(如个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(如传统机顶盒、手持式游戏控制台)。不同计算设备102可以是相 同类型的或者可替代地是不同类型的设备。
服务器104也可以是各种不同类型的计算设备。类似于对计算设备102的讨论,服务器104的范围可以是从具有充足存储器和处理器资源的全资源设备到具有有限存储器和/或处理资源的低资源设备。尽管在系统100中仅示出一个服务器104,但可以在系统100中可替代地包括多个服务器104。
每个计算设备102都包括图像管理模块112、同步模块114、以及任选的存储设备116。图像管理模块112管理由计算设备102所存储的图像,包括图像的存储、检索、显示、通信等。图像可以由计算设备102本地存储,或者可替代地存储在远程存储设备上。同步模块114管理在多个计算设备102的范围内的图像的同步。用户能够请求在两个或更多个不同设备102间同步图像,并且同步模块114支持该同步。
每个计算设备102都具有相应的存储设备116。在一个或多个实施例中,存储设备116作为计算设备102的一部分(例如计算设备102的内部盘驱动器)被包括在内。这样的存储设备的示例被示出为存储设备116(1)。可替代地,该存储设备可以比如通过总线(例如IEEE 1394总线、通用串行总线(USB)、无线通用串行总线(无线USB)等等)、通过局域网(例如LAN)等等耦合到计算设备102。这样的存储设备的示例被示出为存储设备116(x)。对于每个设备102而言,被模块112管理并且被模块114同步的图像被存储在存储设备116中。
服务器104包括图像同步模块122和图像管理服务124。图像同步模块122可以被实现为图像管理服务124的一部分,或者可替代地被独立地实现。图像同步模块122促进在计算设备102间或在计算设备102的范围内图像的同步,这将在下面予以更详细讨论。
图像管理服务124促进计算设备102对图像的管理。设备102的用户能够访问服务124,通常利用他的或她的凭证(例如用户标识符以及任选的口令)登陆到服务124或者可替代地通过另一用户认证机制建立用户的标识。能够理解,用户标识符是用户使用的标识符,但是不需要向其他人明确标识出该用户是谁。例如,用户标识符可以是该用户所使用的为该用户所知但是其他人不知道的一系列字母、数字和/或其他字符。
服务124与设备102的各种图像管理模块112通信。当用户从特定设备102登陆到服务124时,服务124与该特定设备102上的图像管理模块112通信以标识出该特定设备102。对设备102的标识允许服务124标识出该用户使用的各种计算设备102(例如用户从其登陆到服务124的设备102),并且因此标识出之间将同步图像的不同计算设备102。
设备102的标识符可以采取多种不同形式,比如分配给设备102的网卡或适配器的标识符(例如介质访问控制(MAC)地址)、分配给设备102的序列号或其他标识符、基于安装在设备102的软件程序所生成的散列(hash)值、由设备102的用户分配给设备102的名称等等。该标识符任选地仅在用户给予模块122将标识符传递给服务124的许可时才被传递给服务124。该许可可以是全局许可(例如由用户请求:该标识符在每当该用户登陆到服务124时被发送),或者可替代地是单独许可(例如可以在每当用户登陆到服务器124时向用户提示是否将该标识符传递给服务124)。因此,用户能够在该用户期望时防止设备102的标识被发送给服务124。
图像管理服务124维护与登陆到服务124的用户相关联的计算设备的记录。与用户相关联的这些设备102是被用户用来登陆到服务124的那些设备102。每当用户登陆到服务124时,服务124将设备102的标识符添加到该记录。任选地,标识符仅在用户已经赋予他的或她的将标识符添加到记录的许可以后才被添加。在一个或多个实施例中,当用户登陆到服务124时,服务124检查:用户从其访问服务124的计算设备102是否之前已经被该用户用于访问服务124。该检查可以以不同方式来执行,比如通过检查由服务器124所维护的记录来确定用户当前从其访问服务器124的设备102的标识符是否被包括在其中。
如果用户之前还未从用户当前从其访问服务124的设备102来使用服务124,则服务124与设备102通信以向该用户显示如下的用户界面(UI):该用户界面向用户询问该用户是否期望让该设备102上的图像与同该用户相关联的其他设备102同步。用户可以通过经由UI作出肯定响应来请求将该设备102上的图像与同该用户相关联的其他设备102同步。可替代地,用户可以输入特定的请求(例如选中屏幕上的按钮,从下拉菜单中选中选项等等)来让他或她 当前使用的设备102与同该用户相关联的其他设备102同步。如果用户请求让该设备102上的图像被同步,则服务124将该设备102的标识符添加到与用户相关联的哪些设备102将被同步的记录,这将在下面予以更详细讨论。
图像管理模块112允许设备102的用户对图像作出改变。该功能可以由模块112来提供,或者可替代地由一个或多个被模块112调用或者以其他方式与模块112通信的其他组件或模块来提供。可以对图像作出各种不同的改变,比如校正图像中的红眼、改变图像的大小或分辨率、改变图像的颜色或亮度、应用不同的滤波器来改动图像的外观等等。
针对被用户改变的每个图像,图像管理模块112将该图像的原始版本存储在存储设备116的特定的一个或多个文件夹中。该图像的原始版本是该图像的未经改变或未经改动的版本。其中存储有原始版本的所述一个或多个文件夹也可以被称为原件文件夹。由用户作出的任何改变都被施加到存储在与原件文件夹不同的位置处的另一图像版本,比如存储在已编辑图像文件夹中的另一图像版本。
在一个或多个实施例中,在用户请求对图像作出改变时,该图像的原始版本被存储在原件文件夹中。可替代地,图像的原始版本可以在不同时刻被存储在原件文件夹中。例如,每当新图像被计算设备102获得时,图像管理模块112都可以自动地将该新图像的副本保存在原件文件夹中以及将图像的另一副本保存在已编辑图像文件夹中。
图像管理模块112还支持回复功能,该回复功能允许用户回复到图像的原始版本。因此,如果用户期望丢弃对该图像作出的任何改变,则他或她可以输入回复请求以调用回复功能。响应于回复请求,模块112用存储在原件文件夹中的原始版本替换该图像的已编辑版本。在替换图像的已编辑版本以后,原件文件夹中的该图像的原始版本可以被维护在原件文件夹中或者可替代地可以从原件文件夹中删除。附加地,图像的已编辑版本可以被删除或重写,或者可替代地,已编辑版本可以在被替换以前存储(至少临时地)在存储设备116的某个其他文件夹中。因此,利用该回复功能,不管用户对图像作出的改变,用户能够在期望时回复到该图像的原始版本,由此有效地撤销已编辑版本中作出的任何改变。
附加地,在一个或多个实施例中,与图像的不同版本相关联的元数据可以被合并。该合并可以以各种不同的方式完成,比如比较与元数据相关联的时间戳以确定哪个是最新的,用与已编辑版本相关联的元数据替换与原始版本相关联的元数据。通过合并元数据,对元数据的任何改变(例如将标签或口令添加到图像)可以在即使用户已经从该图像的已编辑版本回复到该图像的原始版本的情况下仍然被保留。
图像管理服务124还可以维护与用户相关联的哪些设备102将被同步的记录。设备的同步是指,设备102上的图像和/或文件夹在设备102之间同步。用户请求同步的设备102的标识符被添加到该记录,而与该用户相关联的其他设备102不被添加到该记录。
与同步模块114一起工作的图像同步模块122管理在多个计算设备102的范围内的图像的同步。由用户对设备102之一上的图像作出的任何改变都被自动地复制到同步的设备102之中的一个或多个其他设备。由于所述改变在各个同步的设备102间或者在所述设备102的范围内被复制,因此由各个设备所存储的图像的副本保持同步。
图2示出了根据一个或多个实施例的在多个设备的范围内支持媒体内容回复功能的示例。图2中示出了两个计算设备200和220,所述设备中的每个都可以是图1的计算设备102。尽管在图2中仅仅示出了两个计算设备200和220,但是能够理解,在此所述的同步可以在三个或更多设备的范围内执行。
计算设备200在存储设备上存储图像文件夹202和原件文件夹204二者。可以被编辑(和/或已经被编辑)的图像的多个已编辑版本206被存储在图像文件夹202中。图像的多个原始版本208被存储在原件文件夹204中。类似地,计算设备220在存储设备上存储:图像文件夹222,该图像文件夹222存储图像的多个已编辑版本226;以及原件文件夹224,该原件文件夹224存储图像的多个原始版本228。
当图像已经在计算设备200和220间或计算设备200和220的范围内被同步时,原件文件夹204和224维持图像的相同原始版本,并且图像文件夹202和222维持图像的相同已编辑版本。每当对设备200或220之一上的图像版本作出改变时,该改变都被复制到设备200或220之中的另一设备。类似地,每 当图像版本被添加到设备200或220之一上的文件夹时,该改变都被复制到设备200或220之中的另一设备。
在一个或多个实施例中,同步过程对一个或多个文件夹进行同步。对该文件夹的任何改变都与其他设备同步。这样的改变的例子包括:将文件(或其他文件夹)添加到文件夹;将文件(或其他文件夹)移动到文件夹;对文件夹中的文件作出改变等等。可替代地,该同步过程可以以文件为基础而不是以文件夹为基础运行,从而对单个文件而不是整个文件夹进行同步。
该同步过程可以以各种不同的方式来实现。在一个或多个实施例中,在多个计算设备范围内的图像的同步由远程服务(例如图1的服务器104的图像同步模块122)来促进。每当对所同步的文件夹作出改变时(比如该文件夹中的图像被改变,图像被添加到该文件夹,图像被从该文件夹中移除等等),该改变的指示都被发送给远程服务,该远程服务进而向其他设备通知该改变。特定的改变(例如,图像的版本,新添加的图像,对所移除的特定文件的指示等等)被从在其上作出该改变的设备传递给其他计算设备。该远程服务通常维护哪些改变已经被传递给哪些计算设备的记录。该记录允许远程服务在特定计算设备变为可用时(例如用该计算设备登陆到该远程服务,该计算设备被开启并且耦合到网络等等)将新的改变传递给该计算设备。可替代地,特定的改变可以被发送给远程服务,并且该远程服务可以负责将该改变传播给其他计算设备。
在其他实施例中,在计算设备范围内的图像的同步在没有这样的远程设备辅助的情况下来实现。在这样的实施例中,每当对所同步的文件夹作出改变时,该改变的指示都由在其上作出该改变的计算设备来发送给其他计算设备。在这样的实施例中未使用远程服务来促进该同步过程。更确切而言,每个计算设备都可以维护哪些改变已经被传递给哪些计算设备的记录。
在一个或多个实施例中,使用安全机制来允许之间同步图像的计算设备102将图像在彼此之间传递,但是防止其他计算设备能够获得图像的可用副本。可以使用各种不同的安全机制。例如,之间将同步图像的每个计算设备都可以被赋予加密密钥(例如由图像同步模块122或图像管理服务124来赋予),从而允许图像被加密并且仅允许具有加密密钥的那些计算设备来对图像进行解 密。举另一例子来说,可以使用之间将同步图像的设备的一个或多个数字证书来保证图像仅仅针对那些特定设备被加密和/或设备彼此进行认证。举又一例子来说,可以给设备赋予单个设备标识符或其他凭证(或者可替代地,可以为之间将同步图像的所有设备使用相同的标识符或凭证),并且可以将该标识符或凭证用于设备彼此进行认证。
回到图1,在一个或多个实施例中,在每个计算设备102上,向同步模块114通知之间同步图像的各个计算设备102。该信息可以由模块114从图像同步模块122获得,或者可替代地从诸如图像管理模块112之类的其他源获得。在其他实施例中,同步模块114不需要知道之间同步图像的各个计算设备102。更确切而言,同步模块114可以依靠图像同步模块122来维护之间同步图像的各个计算设备102的记录,并且作为同步过程的一部分可以依靠来自其他设备的对图像副本的请求。
附加地,在每个计算设备102上,图像管理模块112向同步模块114通知存储设备116上的哪个或哪些文件夹将在计算设备102间同步。图像管理模112发起对存储设备116上的哪个或哪些文件夹含有图像的原始版本的知识的创建或以其他方式具有该知识。所述一个或多个文件夹可以是以目录层次存储在具有缺省名称的缺省位置处的一个或多个文件夹,可以由模块112来创建(例如通过调用应用程序编程接口(API)或以其他方式调用设备102上的操作系统的功能等)等等。在一个或多个实施例中,存储设备116上的包含图像的原始版本的所述一个或多个文件夹是通过调用Microsoft Windows Vista 操作系统中的由CLSID_KnownFolderManager COM服务器所实现的IKnownFolderManage COM(组件对象模型)接口的RegisterFolder(注册表文件夹)方法而被创建的。调用该接口时,原件文件夹的ID是FOLDERID_OriginalImages。关于该接口的附加信息可以从华盛顿州雷蒙德市的微软公司获得。
图像管理模112也发起对存储设备116上的哪个或哪些文件夹含有图像的已编辑版本的知识的创建或以其他方式具有该知识。类似于原件文件夹,所述一个或多个已编辑图像文件夹可以是以目录层次存储在具有缺省名称的缺省位置处的一个或多个文件夹,可以由模块112来创建等等。
尽管存在一个或多个原件文件夹,但是在如在此所讨论的那样在多个设备范围内支持媒体内容回复功能时,通常使设备102的用户免于知道存在一个或多个原件文件夹。更确切而言,向用户通知回复功能,但是可以使用户免于知道该回复功能是如何实现的。即使用户知道所述一个或多个文件夹的存在,通常仍然使用户免于知道存储设备116上的哪个或哪些文件夹存储图像的原始版本。
当设备102的用户请求将图像从设备102与一个或多个其他设备同步时,图像管理模块112自动向同步模块114通知其中存储有图像的已编辑版本的一个或多个文件夹、以及其中存储有图像的原始版本的一个或多个文件夹。因此,响应于在多个计算设备范围内同步图像的用户请求,其中存储有图像的原始版本的一个或多个文件夹被自动选择为将同步的文件夹并且被向同步模块114标识出。同步模块114因此可以自动对所述一个或多个原件文件夹进行同步,并且因此自动在所同步的其他设备102的范围内复制图像的原始版本。因此,给用户解除了知道所述一个或多个原件文件夹位于何处或者甚至知道存在一个或多个存储图像的原始版本的原件文件夹的任何负担。
在一个或多个实施例中,同步模块114是由与实现图像管理模块112不同的另一应用实现的模块或组件。例如,同步模块114可以是操作系统或网络服务(例如其由服务器104和/或图像管理系统124提供)的模块或组件。在这样的实施例中,同步模块114的功能被展示并且可以被图像管理模块112调用以向同步模块114通知存储将同步的图像版本的一个或多个文件夹。该功能可以被展示并且以不同方式、比如通过API来调用。
由于图像的已编辑版本和原始版本二者都在多个设备102间被同步,因此支持多个设备102的范围内的图像改变和回复功能。例如,如果对设备102之一上的图像的已编辑版本作出改变,则作为同步过程的一部分,该改变被传播给其他设备102。举另一例子来说,如果图像的新的原始版本被添加到设备102之一的文件夹,则作为同步过程的一部分,该新的原始版本被传播给其他设备102。因此,无论对于图像的改变是在一个或多个设备102上的哪个上作出的,回复功能都可以由用户在任何同步的设备102上来调用。
能够理解,可能出现的情况是,在作为同步过程的一部分将图像传播给 设备102时存在延迟。例如,图像将被发送给的一个或多个计算设备可能被关闭或以其他方式不可用。举另一例子来说,网络106的问题可能临时阻止或延迟图像在设备102间的发送。在将图像传播给设备102时的这些延迟可能导致在使特定图像的回复功能对用户可用时的延迟。
在一个或多个实施例中,在特定图像的原始版本已经被保存在特定设备的原件文件夹中以后使该特定图像的回复功能对该特定设备的用户可用。因此,如果在将该特定图像的原始版本发送给该特定设备时存在延迟,则在使回复功能对用户可用时存在相应延迟。
在此处的讨论中,对图像的存储、编辑和同步进行各种参考。然而应当理解,在此参考图像所讨论的相同存储、编辑和同步功能也可以应用于其他类型的媒体内容,比如图像序列或图像集合、视频、音频内容等等。因此,在此所讨论的技术适用于各种不同类型的媒体内容。
还应当注意,在此所述的在多个设备的范围内对媒体内容回复功能的支持以每用户为基础维护包括图像的已编辑版本和原始版本在内的图像。多个不同的用户可以利用相同计算设备102登陆到服务124,但是仍然具有用于图像的已编辑版本和图像的原始版本的单独的文件夹。还能够理解,使用相同登陆凭证登陆到服务124的多个不同用户可以共享用于图像的已编辑版本和图像的原始版本的相同的文件夹。可替代地,在此所述的在多个设备的范围内对媒体内容回复功能的支持可以以每设备为基础而不是以每用户为基础维护图像。该同步可以以与在每用户的基础上进行的方式类似的方式执行,只是无论登陆到服务124的用户是谁、服务124都在设备的范围内同步图像。
图3是示出了根据一个或多个实施例的在多个设备的范围内支持媒体内容回复功能的示例性过程300的流程图。过程300由诸如图1的设备102之类的设备来执行,并且可以以软件、固件、硬件、或其组合来实现。过程300是在多个设备的范围内支持媒体内容回复功能的示例性过程;在此参考不同附图来包括对在多个设备的范围内支持媒体内容回复功能的附加讨论。
在过程300,计算设备上的原件文件夹被标识出(动作302)。该原件文件夹存储在实现过程300的计算设备上已经被编辑和/或可以被编辑的图像的原始版本。该原件文件夹可以以不同方式来标识出,比如其是缺省文件夹、是 由实现过程300的设备的图像管理模块所创建的文件夹等等。
对计算设备上的媒体内容将与一个或多个其他计算设备同步的指示也被接收(动作304)。该指示可以采取各种不同的形式,比如来自实现过程300的设备的用户的对该设备上的图像进行同步的请求、来自远程图像同步模块(例如图1的模块122)同步图像的请求等等。
响应于在动作304对该指示的接收,同步模块被通知:在动作302所标识出的原件文件夹将与一个或多个其他计算设备同步(动作306)。这些一个或多个其他计算设备是在动作304被指示的一个或多个其他计算设备。如果未另行通知存储图像的已编辑版本的一个或多个文件夹,则也可以在动作306向同步模块通知这样的文件夹。
图4是示出了根据一个或多个实施例的在多个设备的范围内支持媒体内容回复功能的示例性过程400的流程图。过程400由诸如图1的设备102之类的设备来执行,并且可以以软件、固件、硬件、或其组合来实现。过程400是在多个设备的范围内支持媒体内容回复功能的示例性过程;在此参考不同附图来包括对在多个设备的范围内支持媒体内容回复功能的附加讨论。
在过程400,图像的已编辑版本和原始版本二者都被存储在设备上(动作402)。这些不同的版本可以如上面所讨论的那样被存储在不同文件夹中。
图像的已编辑版本和原始版本二者都与一个或多个其他设备同步(动作404)。该同步可以如上面所讨论的那样以各种不同的方式来实现,包括如上面所讨论的那样是基于文件夹或基于图像的。无论实现同步的方式如何,对同步的图像的改变都在同步的设备间传播。
到图像的原始版本的回复被从所述设备中的任意设备中允许(动作406)。动作406中的这些设备是之间同步图像的设备。如上面所讨论的那样,无论对图像的已编辑版本的改变是在哪个或哪些设备上作出的,该回复都可以在所述设备中的任意设备上执行。
在上面的讨论中所参考的是,对原件文件夹进行同步并且允许用户回复到图像的原始版本。尽管上面的讨论主要涉及单个原件文件夹,但是能够理解,在计算设备上可以存在多个原件文件夹,并且所述多个原件文件夹中的每个都可以如上面所讨论的那样在多个设备的范围内被同步。
此外能够理解,除了维护图像的原始版本,还可以维护图像的多个附加版本。这些多个附加版本被存储为被用户编辑的图像,每个附加版本都反映图像在编辑过程的不同时刻的状态。对何时生成这样的版本的确定可以不同,比如每当用户按下“保存”按钮时、每天、在图像已经被图像编辑应用打开了阈值量的时间以后等等。用户可以每当在他或她期望回复到这些附加版本之一时将请求输入到计算机设备。该用户可以标识出所期望的特定附加版本,并且类似于上面所讨论的到图像的原始版本的回复而让该标识出的版本替换当前的已编辑版本。
这些多个附加版本可以以不同方式来存储。在一个或多个实施例中,附加的版本被存储在一个或多个附加版本文件夹中。也可以向同步模块通知这些备份版本文件夹之中的每个,从而与上面关于原件文件夹和图像的原始版本的讨论类似地允许这些备份版本文件夹之中的每个都在多个设备的范围内被同步。可替代地,附加的版本可以被存储在已经被同步的文件夹(例如包含图像的已编辑版本的文件夹、包含图像的原始版本的文件夹等等)中。这些附加的版本可以使用将其标识为附加版本的文件名来存储,比如通过向图像的文件名添加“修订1”、“修订2”、“修订3”等等。这些附加的版本也可以以其他方式来标识,比如通过让具有将图像映射到修订的单独记录、让对应于图像的其他元数据来标识出附加版本等等。
图5示出了根据一个或多个实施例的可以被配置为在多个设备范围内实现对内容回复功能的支持的示例性计算设备500。计算设备500例如可以是图1的计算设备102、图1的服务器104、图2的计算设备200或220等等中的任意项。
计算设备500包括一个或多个处理器或处理单元502、可以包括一个或多个存储器和/或存储组件506的一个或多个计算机可读介质504、一个或多个输入/输出(I/O)设备508、以及允许各组件和设备彼此通信的总线510。计算机可读介质504和/或一个或多个I/O设备508可以作为计算设备500的一部分来包括,或可替代地可以耦合到计算设备700。总线510表示若干类型的总线结构中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、使用各种不同总线体系结构的处理器或局部总线等。总线510可包括有线 和/或无线总线。
存储器/存储组件506表示一个或多个计算机存储介质。组件506可以包括易失性介质(如随机存取存储器(RAM))和/或非易失性介质(如只读存储器(ROM)、闪存、光盘、磁盘等等)。组件506可以包括固定介质(例如RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如闪存驱动器、可移动硬盘驱动器、光盘等等)。
此处所讨论的技术可以用软件来实现,其中各指令由一个或多个处理单元502来执行。能够理解,不同的指令可以存储在计算设备500的不同组件中,如存储在处理单元502中、存储在处理单元502的各种高速缓存存储器中、存储在设备500的其他高速缓存存储器(未示出)中、存储在其他计算机可读介质上,等等。另外,能够理解,指令被存储在计算设备500中的位置可以随时间改变。
一个或多个输入/输出设备508允许用户向计算设备500输入命令和信息,并还允许向用户和/或其它组件或设备呈现信息。输入设备的示例包括键盘、光标控制设备(例如鼠标)、话筒、扫描仪等。输出设备的示例包括显示设备(例如监视器或投影仪)、扬声器、打印机、网卡等。
各种技术在此可以在软件或程序模块的一般上下文中描述。一般而言,软件包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。这些模块和技术的实现可以存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质传输。计算机可读介质可以是可由计算机访问的任何一个或多个可用介质。作为示例而非限制,计算机可读介质可以包括“计算机存储介质”和“通信介质”。
“计算机存储介质”包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、盒式磁带、磁带、磁盘存储或其他磁存储设备,或者可用于存储所需信息并可由计算机访问的任何其他介质。
“通信介质”通常用诸如载波或其他传输机制等已调制数据信号来体现 计算机可读指令、数据结构、程序模块或其他数据。通信介质还包括任意信息传递介质。术语“已调制数据信号”是指如下信号:该信号的一个或多个特征被设置或改变为使得将信息编码在信号中。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其他无线介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
一般而言,本文描述的任何功能或技术可使用软件、固件、硬件(例如,固定逻辑电路)、手动处理或这些实现的组合来实现。在此使用的术语“模块”、“组件”和“功能”通常表示软件、固件、硬件、或其组合。在软件实现的情况下,模块、组件或功能表示当在处理器(例如一个或多个CPU)上执行时执行指定任务的程序代码。该程序代码可以被存储在一个或多个计算机可读介质中,对其的进一步描述可参考图5找到。在此所述的在多个设备范围内支持媒体内容回复功能的技术的各个特征是平台无关的,从而意味着该技术可在具有各种处理器的各种商用计算平台上实现。
尽管用专门描述结构特征和/或方法动作的语言描述了主题,但是应当理解,在所附权利要求书中限定的主题并不一定局限于上述特定的特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
Claims (14)
1.一种在第一计算设备中实现的方法,所述方法包括:
存储(402)第一图像的已编辑版本和第一图像的原始版本二者;
响应于在多个计算设备的范围内同步图像的用户请求,将第一图像的已编辑版本和第一图像的原始版本二者与第二计算设备同步(404);以及
无论已编辑版本是在所述多个计算设备中的哪个计算设备上被改变的,都允许(406)用户回复到第一图像的原始版本;
其中,所述方法还包括:
合并与所述第一图像的不同版本相关联的元数据,以便在即使所述用户已经从所述第一图像的已编辑版本回复到所述第一图像的原始版本的情况下保留对所述元数据的任何改变。
2.如权利要求1所述的方法,其特征在于,进一步包括:
从第二计算设备接收第一图像的新的已编辑版本;
用第一图像的新的已编辑版本替换第一图像的已编辑版本;
允许用户从第一计算设备回复到第一图像的原始版本。
3.如权利要求1所述的方法,其特征在于,该存储包括:响应于在第一计算设备处对改动第一图像的请求的接收,存储第一图像的原始版本。
4.如权利要求1所述的方法,其特征在于,进一步包括:
标识出第一计算设备的存储第一图像的原始版本的第一文件夹;以及
向第一计算设备的同步模块通知:第一文件夹将与第二计算设备上的第二文件夹同步。
5.如权利要求4所述的方法,其特征在于,进一步包括:将第一图像的原始版本传递给第二计算设备以供存储在第二文件夹中。
6.如权利要求4所述的方法,其特征在于,进一步包括:将第一图像的原始版本传递给远程服务以用于将第一图像存储在所述多个计算设备上。
7.如权利要求1所述的方法,其特征在于,进一步包括:
从第二计算设备获得第二图像的原始版本;以及
允许用户在第二图像已经在所述多个计算设备中的一个或多个处被编辑以后回复到第二图像的原始版本。
8.如权利要求7所述的方法,其特征在于,进一步包括:
从远程服务接收对第二图像的原始版本已经被添加到第二计算设备的原件文件夹的指示;以及
其中该获得包括:响应于该指示获得第二图像的原始版本。
9.如权利要求1所述的方法,其特征在于,进一步包括:
从远程服务获得第二图像的原始版本;以及
允许用户在第二图像已经在所述多个计算设备中的一个或多个处被编辑以后回复到第二图像的原始版本。
10.如权利要求1所述的方法,其特征在于,进一步包括:
在一个或多个附加的文件夹中维护第一图像的一个或多个附加的版本;以及
允许用户标识出第一图像的一个或多个附加的版本之一并且回复到所述一个或多个附加的版本中的所标识出的附加的版本。
11.如权利要求1所述的方法,其特征在于,进一步包括:调用第一计算设备的操作系统的应用程序编程接口(API)来创建原件文件夹,在所述原件文件夹中存储第一图像的原始版本。
12.一种在第一计算设备中实现的系统,所述系统包括:
用于存储第一图像的已编辑版本和第一图像的原始版本二者的装置;
用于响应于在多个计算设备的范围内同步图像的用户请求,将第一图像的已编辑版本和第一图像的原始版本二者与第二计算设备同步的装置;以及
用于无论已编辑版本是在所述多个计算设备中的哪个计算设备上被改变的,都允许用户回复到第一图像的原始版本的装置;
其中,所述系统还包括:
用于合并与所述第一图像的不同版本相关联的元数据的装置,以便在即使所述用户已经从所述第一图像的已编辑版本回复到所述第一图像的原始版本的情况下保留对所述元数据的任何改变。
13.一种在一计算设备中实现的方法,包括:
标识出(302)该计算设备的第一文件夹,所述第一文件夹存储第一媒体内容的原始版本,该第一媒体内容具有被存储在该计算设备的第二文件夹中的已编辑版本,第一媒体内容是该计算设备上的多个媒体内容之一;
接收(304)对该计算设备上的所述多个媒体内容将与附加的计算设备同步的指示;以及
响应于接收该指示,向该计算设备的同步模块通知(306):第一文件夹将与该附加的计算设备的第三文件夹同步;
其中,无论所述第一媒体内容是在所述计算设备中的哪个计算设备上被改变的都允许用户从所述第一媒体内容的已编辑版本回复到所述第一媒体内容的原始版本;
其中,所述方法还包括:
合并与所述第一媒体内容的不同版本相关联的元数据,以便在即使所述用户已经从所述第一媒体内容的已编辑版本回复到所述第一媒体内容的原始版本的情况下保留对所述元数据的任何改变。
14.如权利要求13所述的方法,其特征在于,还包括:
从该附加的计算设备获得第二媒体内容的原始版本;以及
允许用户在第二媒体内容已经在该计算设备和该附加的计算设备之一或二者处被编辑以后回复到第二媒体内容的原始版本。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/325,392 US8639661B2 (en) | 2008-12-01 | 2008-12-01 | Supporting media content revert functionality across multiple devices |
US12/325,392 | 2008-12-01 | ||
PCT/US2009/064059 WO2010065256A2 (en) | 2008-12-01 | 2009-11-11 | Supporting media content revert functionality across multiple devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102227720A CN102227720A (zh) | 2011-10-26 |
CN102227720B true CN102227720B (zh) | 2013-11-20 |
Family
ID=42223715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801490984A Active CN102227720B (zh) | 2008-12-01 | 2009-11-11 | 在多个设备的范围内支持媒体内容回复功能 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8639661B2 (zh) |
EP (1) | EP2361409A4 (zh) |
CN (1) | CN102227720B (zh) |
WO (1) | WO2010065256A2 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047277B2 (en) * | 2008-12-18 | 2015-06-02 | Adobe Systems Incorporated | Systems and methods for synchronizing hierarchical repositories |
US8965076B2 (en) | 2010-01-13 | 2015-02-24 | Illumina, Inc. | Data processing system and methods |
US8817701B2 (en) * | 2010-06-22 | 2014-08-26 | Samsung Electronics Co., Ltd. | Method and system for self-enabling portable television band devices |
JP2012033141A (ja) * | 2010-07-06 | 2012-02-16 | Dowango:Kk | 操作情報転送サーバ、操作情報転送システム、操作情報転送方法 |
US8941863B1 (en) * | 2010-11-29 | 2015-01-27 | Symantec Corporation | Techniques for image duplication optimization |
DK177308B1 (en) * | 2011-06-21 | 2012-11-12 | Bang & Olufsen As | A method and system to synchronize data sets for personal devices |
US9152659B2 (en) * | 2011-12-30 | 2015-10-06 | Bmc Software, Inc. | Systems and methods for migrating database data |
CN102609489A (zh) * | 2012-01-21 | 2012-07-25 | 华为技术有限公司 | 数据自动复制的方法及终端 |
US9141634B2 (en) | 2012-01-21 | 2015-09-22 | Huawei Technologies Co., Ltd. | Method for automatic data replication and terminal |
US20130321306A1 (en) * | 2012-05-21 | 2013-12-05 | Door Number 3 | Common drawing model |
JP6195340B2 (ja) * | 2013-03-08 | 2017-09-13 | キヤノン株式会社 | コンテンツ管理システム、サーバ装置、制御方法及びプログラム |
CN105122207A (zh) * | 2013-04-03 | 2015-12-02 | 惠普发展公司,有限责任合伙企业 | 管理固件更新 |
US9852533B2 (en) | 2015-08-10 | 2017-12-26 | Zazzle Inc. | System and method for digital markups of custom products |
CA3041791C (en) * | 2016-10-28 | 2023-12-12 | Zazzle Inc. | Process for defining, capturing, assembling, and displaying customized video content |
CN108521861A (zh) * | 2017-09-25 | 2018-09-11 | 深圳市大疆创新科技有限公司 | 图像同步存储方法、图像处理设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1508713A (zh) * | 2002-12-18 | 2004-06-30 | 广达电脑股份有限公司 | 具有硬件备用结构的刀片型服务器管理系统 |
CN101291342A (zh) * | 2008-06-18 | 2008-10-22 | 中兴通讯股份有限公司 | 一种分布式体系中的数据同步方法及系统 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6904185B1 (en) * | 1999-12-16 | 2005-06-07 | Eastman Kodak Company | Techniques for recursively linking a multiply modified multimedia asset to an original digital negative |
US6671757B1 (en) * | 2000-01-26 | 2003-12-30 | Fusionone, Inc. | Data transfer and synchronization system |
US7216289B2 (en) * | 2001-03-16 | 2007-05-08 | Microsoft Corporation | Method and apparatus for synchronizing multiple versions of digital data |
US20020169893A1 (en) * | 2001-05-09 | 2002-11-14 | Li-Han Chen | System and method for computer data synchronization |
US7711771B2 (en) * | 2001-05-25 | 2010-05-04 | Oracle International Corporation | Management and synchronization application for network file system |
US7243103B2 (en) * | 2002-02-14 | 2007-07-10 | The Escher Group, Ltd. | Peer to peer enterprise storage system with lexical recovery sub-system |
US7039663B1 (en) * | 2002-04-19 | 2006-05-02 | Network Appliance, Inc. | System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot |
US20040068505A1 (en) * | 2002-10-04 | 2004-04-08 | Chung-I Lee | System and method for synchronously editing a file on different client computers |
US7286723B2 (en) * | 2003-06-27 | 2007-10-23 | Hewlett-Packard Development Company, L.P. | System and method for organizing images |
US7441182B2 (en) * | 2003-10-23 | 2008-10-21 | Microsoft Corporation | Digital negatives |
US20060101064A1 (en) * | 2004-11-08 | 2006-05-11 | Sharpcast, Inc. | Method and apparatus for a file sharing and synchronization system |
US7305420B2 (en) * | 2005-05-25 | 2007-12-04 | Microsoft Corporation | Synchronizing modifiable documents with multiple clients using document subsections |
US7769723B2 (en) * | 2006-04-28 | 2010-08-03 | Netapp, Inc. | System and method for providing continuous data protection |
US7647361B2 (en) * | 2006-06-27 | 2010-01-12 | Microsoft Corporation | Automatically maintaining metadata in a file backup system |
US8131670B2 (en) | 2007-02-22 | 2012-03-06 | Microsoft Corporation | Techniques to cross-synchronize data |
US9166941B2 (en) * | 2007-04-24 | 2015-10-20 | Microsoft Technology Licensing, Llc | Synchronizing email messages between external and local email servers and/or a wireless device |
US8595381B2 (en) * | 2007-10-31 | 2013-11-26 | Caseware International Inc. | Hierarchical file synchronization method, software and devices |
US7953833B2 (en) * | 2008-01-31 | 2011-05-31 | Wanova Technologies Ltd. | Desktop delivery for a distributed enterprise |
-
2008
- 2008-12-01 US US12/325,392 patent/US8639661B2/en active Active
-
2009
- 2009-11-11 CN CN2009801490984A patent/CN102227720B/zh active Active
- 2009-11-11 EP EP09830822A patent/EP2361409A4/en not_active Withdrawn
- 2009-11-11 WO PCT/US2009/064059 patent/WO2010065256A2/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1508713A (zh) * | 2002-12-18 | 2004-06-30 | 广达电脑股份有限公司 | 具有硬件备用结构的刀片型服务器管理系统 |
CN101291342A (zh) * | 2008-06-18 | 2008-10-22 | 中兴通讯股份有限公司 | 一种分布式体系中的数据同步方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2361409A2 (en) | 2011-08-31 |
US20100138385A1 (en) | 2010-06-03 |
WO2010065256A3 (en) | 2010-08-26 |
WO2010065256A2 (en) | 2010-06-10 |
US8639661B2 (en) | 2014-01-28 |
EP2361409A4 (en) | 2012-06-20 |
CN102227720A (zh) | 2011-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102227720B (zh) | 在多个设备的范围内支持媒体内容回复功能 | |
KR101566566B1 (ko) | 리치 클라이언트와 브라우저 클라이언트 간의 스프레드시트 협업 | |
US10891301B2 (en) | Synchronization methods and systems | |
TWI335519B (en) | Method for managing file replication in applications | |
US7761414B2 (en) | Asynchronous data synchronization amongst devices | |
US7739410B2 (en) | Synchronization methods and systems | |
KR101138491B1 (ko) | 동기화 방법 및 시스템 | |
US8375112B2 (en) | Synchronization methods and systems | |
US7778971B2 (en) | Synchronization methods and systems | |
CN102413168A (zh) | 呈现同步对象的可用性状态 | |
US9311109B2 (en) | Synchronizing device association data among computing devices | |
KR101212858B1 (ko) | 동기화 방법 및 시스템 | |
US20080163743A1 (en) | Synchronization methods and systems | |
CN102332016B (zh) | 目录机会锁 | |
JP2009048393A (ja) | 電子機器、およびコンテンツ共有システム | |
JP4829368B1 (ja) | ファイル処理プログラム、装置及び方法 | |
JP5415721B2 (ja) | 表示システム及びその表示方法 | |
JP2015207031A (ja) | 情報処理システム、情報管理方法、情報処理装置及びプログラム |
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: 20150505 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150505 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |