CN105493070B - 用于高效数据共享的任务上下文架构 - Google Patents

用于高效数据共享的任务上下文架构 Download PDF

Info

Publication number
CN105493070B
CN105493070B CN201380079194.2A CN201380079194A CN105493070B CN 105493070 B CN105493070 B CN 105493070B CN 201380079194 A CN201380079194 A CN 201380079194A CN 105493070 B CN105493070 B CN 105493070B
Authority
CN
China
Prior art keywords
equipment
task
file
client
metadata
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
Application number
CN201380079194.2A
Other languages
English (en)
Other versions
CN105493070A (zh
Inventor
D·库尔卡尼
S·纳卢瑞
K·霍尔德
K·K·度若
S·山卡
V·克瑞斯纳普
K·盖德
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.)
McAfee LLC
Original Assignee
McAfee LLC
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 McAfee LLC filed Critical McAfee LLC
Publication of CN105493070A publication Critical patent/CN105493070A/zh
Application granted granted Critical
Publication of CN105493070B publication Critical patent/CN105493070B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

为跨多个设备提供比较无缝的体验,任务流送系统和方法允许用户创建“任务上下文”,并管理跨多个数据存储设备存储的文件的元数据以及与多个设备的用于对文件进行操作的能力相关联的用户偏好。进一步地,提供任务流送系统和方法,以允许任务上下文被从一个设备到另一设备共享。任务上下文指定一个或多个文件以及要对一个或多个文件执行的一个或多个操作。通过从一个设备向其他设备提供任务上下文,用户可以完成对于特定文件的任务,并利用最小的中断和努力,无缝地在各设备之间迁移。

Description

用于高效数据共享的任务上下文架构
优先权数据
本申请要求对2013年9月27日提交的标题为“TASK-CONTEXT ARCHITECTURE FOREFFICIENT DATA SHARING(用于高效数据共享的任务上下文架构)”的印度临时专利申请系列No.4387/CHE/2013的优先权,这里引用了该申请的全部内容作为参考。
技术领域
此处所描述的各实施例一般涉及数据同步领域,更具体而言,涉及用于跨多个设备的高效数据共享的任务上下文架构。
背景技术
两个关键的使用变化正在快速地改变由各种形状因子的智能设备推动的消费者世界:a)设备流行到社会所有层面;以及b)快速地增大用于家庭中的设备的数量。多项研究表明新的使用正在涌现。在标题为“The New Multiscreen World:Understanding Cross-platform Consumer Behavior(新多屏世界:理解跨平台消费者行为)”(Google(谷歌),2012年8月)的出版物中作为涌现的新的用法讨论了“连续筛选(sequential screening)”(许多示例中的一个)。通过连续筛选,用户可以在开始和结束任务之间使用多个屏幕,例如,智能电话、平板,以及笔记本。这种涌现的用法有许多原因,包括,作为非限制性示例:a)在家里以及在工作单位有许多设备可用;b)与设备物理接近;c)用户的对于某些应用程序以及设备的偏好;d)特定设备对于特定需求的易用性;以及,e)连通性。这是将浏览器历史存储到云中,以便一个设备上的浏览活动在用户在另一设备离开的位置开始的一个动机。该用法预期随着设备能力扩展以及随着消费者认识到可能性而发展。
附图简述
为提供对本发明以及其特征和优点的比较完整的理解,将参考与附图一起进行的下面的描述,其中,相同参考编号表示相同部件,其中:
图1A-B示出了根据本发明的一些实施例的跨用户与其进行交互的多个设备的“任务上下文”的概念和示例;
图2是根据本发明的一些实施例的跨设备数据管理框架的框图;
图3是根据本发明的一些实施例的任务上下文流送架构的框图;
图4是根据本说明书的一个或多个示例实施例的任务上下文流送系统的用户界面元素。
图5是示出根据本发明的一些实施例的用户通过任务上下文架构来与多个设备进行交互的图示;
图6是公开了根据本发明的一些实施例的用于任务插件的接口的框图,该接口提供在云中创建全局任务列表并跨多个设备同步它的机制;
图7是根据本发明的一些实施例的任务流送客户端的框图;
图8是根据本发明的一些实施例的对跨设备偏好的管理的框图;
图9A-C是根据本发明的一些实施例的客户端的说明性屏幕截图,该客户端给用户提供搜索文件并跨不同的设备流送任务的用户界面;
图10是根据一实施例的耦合到示例处理器的存储器的框图;以及
图11是根据一实施例的按点对点(PtP)配置排列的示例计算系统的框图。
具体实施方式
某些用户任务,包括围绕创造性和效率使用的那些,涉及跨多个设备地开发和改善用户生成的内容,包括,例如,文档、照片、研究与分析,以及视频。这些任务中有许多要求与多个设备的多个会话,以便任务跨多个屏幕地启动、进行以及完成。有时,这样的跨设备使用是用户的为手边的任务选择正确的设备的必要性的结果,例如,根据设备的能力、屏幕的大小、设备的安全特征、应用程序的可用性以及能力,易用性、或简单地,基于接近度或个人选择的用户的偏好。
为跨多个设备提供比较无缝的体验,此处所公开的任务流送系统和方法允许用户创建“任务上下文”,并管理跨多个数据存储设备存储的文件的元数据以及与多个设备的用于对文件进行操作的能力相关联的用户偏好。进一步地,提供任务流送系统和方法,以允许任务上下文从一个设备被共享到另一设备。任务上下文指定一个或多个文件以及要对一个或多个文件执行的一个或多个操作。通过从一个设备向其他设备提供任务上下文,用户可以完成对于特定文件的任务,并利用最小的中断和努力,无缝地在各设备之间迁移。
在本发明的上下文内,用于标识一个或多个文件的元数据包括下列各项中的一项或多项:文件名、文件标识符、文件位置、文件大小、文件类型、所有权信息、权限、诸如扫描结果之类的安全信息、预览图标、最后一次编辑时间和日期、创建时间和日期,以及与文件相关联的任何其他合适的属性或特征。元数据不包括文件的完整的内容。
在一个示例中,公开了用于在多个设备之间上下文地共享文件和数据的系统和方法。用户可以通过第一设备,对文件进行操作,并在完成操作之后,标识要在第二设备上执行的第二操作。用户可以通过用户界面,将任务上下文元数据标签附加到文件。然后,第一设备可以向第二设备发送通知消息,指出文件将被接收,以及将执行什么任务/操作。在任务/操作完成之后,第二设备可以将文件返回到第一设备或将它转发到第三设备,供执行另一操作。
不同的实施例可以具有不同的优点,没有特定优点是任何实施例一定需要的。
任务上下文:定义和示例
在本发明的上下文内,“任务上下文”涉及由用户执行的一件工作,例如,使用用户设备的一个或多个能力,对文件的操作,其中,此任务上下文可以跨多个设备存在。任务上下文可以与用户可能希望对数据或文件实现的特定目标或朝着目标的步骤相关联,不管要使用的应用程序或实现目标所在的位置。随着许多设备正在被同时或按顺序使用,比以前更需要传输、流送,或共享此任务上下文所需的解决方案。
本说明书的公开认识到,数据是用户活动的基础。即,随着数据跨设备移动,与数据相关联的任务也应该如此。这里的任务是在用户正在尝试利用数据完成的事情的更广泛的上下文中(操作、任务,例如,编辑电影、编辑文件、上传到网站),不是执行特定的应用程序。本说明书定义“任务上下文”,并提供用于从一个设备到另一设备流送任务上下文的机制。任务上下文的流送是通过用于跨设备共享数据和相关的任务的框架实现的,以便用户/用户组可以跨一组设备完成活动/任务/操作。
为说明“任务上下文”的概念,图1A示出了根据本发明的一些实施例的跨用户与其进行交互的多个设备的“任务上下文”102的概念。一般而言,诸如设备1、设备2,或设备3之类的设备具有与对应于该设备相关联的能力的一组一个或多个用户偏好(表示为围绕设备的圆圈)。示例性任务上下文102可以跨设备1、设备2、和设备3存在,并且可以在不同的设备中使用用于在这些设备之间共享的任务上下文的不同的能力。例如,任务上下文涉及读取Word文档(操作)。对于设备1,例如,智能电话,可以具有用于读取Word文档的Word doc预览器应用程序(能力)。对于设备2,例如,平板,可以具有用于读取Word文档的轻型Word应用程序(能力)。对于设备3,例如,膝上型计算机,可以具有用于读取、审阅和编辑Word文档的重型(heavy-weight)Word应用程序(能力)。所有这些能力都可以在各设备之间不同,但是,读取Word文档的任务上下文(即,对文件的任务/操作)保持不变,并跨设备共享。
在某些实施例中,这些能力可以与对于特定的应用程序的用户偏好或用于操纵数据或不同类型的文件的能力相关联。用户可以首选使用特定用户设备上的特定应用程序来执行特定操作。在某些情况下,用户可以相对于某些其他应用程序首选使用特定应用程序来执行特定操作(尽管在相同用户设备上有那些其他应用程序可用)。可以根据用户活动和/或设备的配置来推导/推断某些用户偏好。在某些情况下,某些用户偏好可以由用户或管理员以人工方式提供。对于一个特定文件,取决于与特定设备相关联的用户偏好,不同的能力可以被不同的设备用来执行相同操作是可能的。
示例性使用情况
本说明书的一个实施例提供跨设备,包括,作为非限制性示例,智能电话、上网本、台式计算机、笔记本电脑、平板电脑、超极本,以及类似的东西,无缝地共享数据并流送“任务上下文”的系统和方法。这在跨设备实现创造性和效率任务的同时实现无缝用户体验。该方法还帮助家庭成员之间的协作以及用于帮助记忆的工具。该方法简化并自动化用户通常在他们的设备上执行的操作,无需线路,无需记住数据的位置,并且无需记住对于数据执行了什么操作。
此处作为非限制性示例,提供了多种使用情况。具体而言,图1B示出了根据本发明的一些实施例的跨用户与其进行交互的多个设备流送“任务上下文”的多种示例性使用情况。提供这些示例使用情况以说明创建任务上下文并跨设备流送的易用性。
在一个示例中,用户利用设备1(例如,智能电话)拍照。电话上的照片编辑器可能相当初级,用户可能更习惯于设备2(例如,台式机/膝上型计算机)上的编辑应用程序。根据本说明书的示例实施例,用户可以创建任务上下文,以将编辑照片的任务推到他的台式机/膝上型计算机(由箭头104指出的)。
在另一个示例中,设备3(例如,家庭膝上型计算机)具有家庭的完整的音乐库。妈妈需要具有设备2(例如,平板)上的小孩的收藏夹(kid’s favorites),用于路途旅行。妈妈可以搜索,选择并所需的歌曲并将它们推到平板中(由箭头106指出的)。另选地或另外地,妈妈可以搜索,选择所需的歌曲并将它们推到智能电话中(由箭头108指出的)。
在再一个示例中,用户从因特网将某些文件下载到设备2(例如,平板)。他不信任这些文件的安全性,如此,他将文件推到设备3(例如,他的台式机/膝上型计算机),要求返回扫描报告(由箭头110指出的)。
在另一个示例中,一个儿童正在制定学校计划,并希望妈妈在设备3(例如,妈妈的超极本)上审阅该计划。该儿童简单地直接从制定该文件的上下文从设备2(例如,平板电脑)将文件推到设备3(例如,妈妈的机器)(由箭头104指出的),可能带有要求妈妈看看该计划的某一方面的文本注释。然后,妈妈在设备3上接到通知,并可以在她有时间时着手处理该文档。值得注意的是,当妈妈有时间来处理该计划时,她具有她所需的一切,上下文和数据,以致于她的效率显著提高。进一步注意,妈妈又可以使用另一任务上下文,将已校正的计划从设备3返回儿童的设备2。
在另一个示例中,妈妈使用设备1(例如,智能电话)拍摄了儿童的视频,并希望与祖父母一起在视频设备2(例如,平板)的较大的屏幕上查看该视频。妈妈可以作为任务上下文,将视频文件从设备1(可任选地,转换为更适用于平板的不同的格式)推到设备2(由箭头112指出的)。转换可以对用户透明地发生,即,用户选择查看视频的任务,但是,不会了解视频文件已转换为更适用于平板的不同的格式。
上面的跨多个设备的任务流送的使用情况伴随有:(1)跨设备搜索、显示,以及转换内容的能力;(2)管理元数据和内容传输的能力,以及,(3)通知系统。注意,根据本说明书的一个或多个示例实施例,用户可以避免交换信息的低效率并且迂回的方法,诸如使用电缆将设备连接在一起,交换带有附件的电子邮件。
在某些情况下,用户可以依赖于共享数据的替代的手段,作为非限制性示例,包括下列各项:
a.诸如iCloud和DropBox之类的基于云的存储服务200s的文件同步机制。
这些提供了自动地同步数据的手段,以便数据也可以跨多个设备可用。
b.“人工网络(sneaker-net)”机制,用户通过USB驱动器和附接到USB电缆的设备,物理地传输数据。类似地,用户可以发送带有数据以及有关做什么的注释的电子邮件,或发送带有文件附件的即时消息。
c.注意,虽然如此,用户必须以人工方式传输并记住数据的上下文,如在目标设备上对数据执行什么操作。
尽管文件同步机制和人工网络机制提供用于跨设备完成任务的方式,但是,这些机制会非常麻烦,并且效率低。有利地,本说明书的系统和方法提供正当用户正在访问相关数据以及结束任务的一部分时共享任务上下文的无缝机制。更重要的是,本说明书的系统和方法在至少三个方面不同于这些“仅数据(data-only)”服务:
a.任务上下文以及任务上下文的跨设备的共享的意图将目的或意图添加到数据共享动作中,特别是在创意和效率活动的上下文中。
b.一种公开了上下文需求驱动的方法,其中用户在他/她结束任务的一部分时--正好从数据的上下文--与另一设备共享数据;以及,
c.在一个示例中,用户不需要访问云服务以在局域网内共享数据。
d.提供跨设备和云搜索内容并访问内容的机制以便不需要电缆的综合基础框架。
如此,本说明书可以被视为简化和自动化用户已经在他们的设备上执行的某些任务的机制,无需,例如,阻塞线路、记住执行了什么,或记住数据的位置。
任务流送管理器和客户端;对元数据和用户偏好的管理
图2是根据本发明的一些实施例的跨设备数据管理框架的框图。为提供定义任务上下文并将任务上下文从一个用户设备流送到另一设备的能力,任务流送管理系统200包括一个或多个通信网络202、联网的存储设备204a(远程存储设备、云存储设备)、本地存储设备204b(用户设备本地的存储设备)、配备有任务流送客户端的用户设备206,以及任务流送管理器208。任务流送管理系统200的这些组件可以通过一个或多个网络202(例如,因特网、局域网、内联网,等等),以通信方式彼此相连接。
本发明涉及存储在联网的存储设备204a以及本地存储设备204b中的文件的任务流送。换言之,任务流送是“位置不可知论的(location-agnostic)”,允许与存储在任何地方的文件相关联的任务上下文被跨用户设备流送。用户设备是用户可以用来对文件进行操作的设备,其中,每一用户设备都可以与一个或多个用户偏好相关联,而一个或多个用户偏好又与用户设备的用于对不同类型的文件进行操作的能力相关联。联网的存储设备204a可以是用于存储文件的存储设备,而存储设备可以与云存储服务或在线远程存储服务(用户设备不是是本地的)相关联(相反,存储设备通常位于远离用户设备的数据中心)。本地存储设备204b可以是用于存储文件的存储设备,其中,存储设备是诸如计算机或移动设备之类的用户设备本地的。存储在联网的存储设备204a和/或本地存储设备204b中的文件可以要求认证(例如,登录凭证),以便任务流送管理器208和/或用户设备206访问那些文件或者检索与那些文件相关联的元数据。
为创建任务上下文,第一用户设备(例如,用户设备206)上的任务流送客户端可以接收用户对下列各项的的一个或多个选择:文件、要在第二用户设备上对文件执行的操作,以及第二设备。用户可以使用第一设备上的任务流送客户端来从存储在多个设备(联网的或本地的)中的多个文件中选择文件,从第二设备的用于对文件进行操作的可用操作中选择操作,并从一个或多个用户设备中选择第二设备。任务流送客户端一般为用户提供用于搜索、查看、选择,和/或标识跨联网的存储设备204a及其他本地存储设备204b存储的文件的用户界面。通过使用任务流送客户端,用户可以指定/标识文件以及要对文件执行的操作,以便可以生成任务上下文元数据标签,并将其流送到第二用户设备。任务流送客户端可以作为标识文件、操作、以及第二设备的任务上下文元数据标签来传输任务上下文,以使任务流送管理器208能够使用第二用户设备上的任务流送客户端来将任务上下文元数据标签通知给第二用户设备。
任务流送管理系统200实现数据/文件以及用户设备的能力的统一,以便任务上下文可以在许多设备之间流送。具体而言,一个或多个用户设备206配置有任务流送客户端,该任务流送客户端被配置成提供用于标识存储在第一设备中的一个或多个文件以及与用户设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的元数据。任务流送客户端是在用户设备上运行的应用程序(即,存储在非瞬态计算机可读介质上的可由设备执行的指令/逻辑),或是通过网络202提供的并可通过用户设备查看的/使用的应用程序。
为提供跨联网的存储设备204a及其他本地存储设备204b存储的数据/文件的统一视图,可以在用户设备206上提供监听器(例如,作为任务流送客户端的一部分),以监视/收集与存储在本地存储设备中的文件相关联的元数据以及对这样的元数据的任何更新,并将元数据和任何更新传输到任务流送管理器208。监听器被配置成检测对元数据的修改、添加,和/或删除(作为对存储在本地存储设备中的文件作出的更改的结果),并如果检测到任何更新的话,监听器进一步被配置成将更新传输到任务流送管理器。进一步地,任务流送管理器208可以向网络存储设备204a执行认证,以检索与存储在网络存储设备204a中的文件相关联的元数据。例如,用户可以通过用户设备上的任务流送客户端,向网络存储设备204a提供登录凭证,而任务流送客户端向任务流送管理器208提供登录凭证。相应地,任务流送管理器208可以访问(例如,通过一个或多个应用程序编程接口(API))存储在网络存储设备204a中的文件,并检索与那些文件相关联的元数据。
为跨多个用户设备提供能力的统一视图,监听器也可以收集与用户设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好,并将那些用户偏好传输到任务流送管理器208。在本发明的上下文内,与用户设备的能力相关联的用户偏好指定什么特定操作(天生地)可用于对特定类型的文件进行操作(例如,执行PDF阅读器可用于读取PDF文档,运行防病毒扫描器可用于扫描.exe文件,等等)。任务流送管理器208可以向用户设备提供各种用户设备的用于对不同类型的文件进行操作的可用的操作的本地副本。相应地,当创建用于流送到另一设备的任务上下文时,任务流送客户端可以向用户显示特定用户设备的用于对特定文件进行操作的可用的操作。监听器被配置成检测对用户偏好的修改、添加,和/或删除(作为对用户设备的配置的文件作出的更改的结果),并且如果检测到任何更新的话,监听器进一步被配置成将更新传输到任务流送管理器。
可用的操作与用户偏好
在某些情况下,特定用户设备的可用操作组可以不同于用户设备的用户偏好组。如果文件可以被转换为不同的格式,可能会发生这种情况:其他操作变得可用于通过使用用户设备对已转换的文件进行操作。任务流送管理器208(在某些情况下,用户设备本身)可以具有用于在各设备之间协调用户偏好的差异的一个或多个能力,以使任务流送无缝地发生。这些能力可包括将文件从一种格式转换为更适用于目标用户设备的另一格式的能力。例如,用户设备可能具有执行PDF阅读器来读取PDF文件的用户偏好。然而,可用操作可包括执行PDF阅读器以读取从Word文档转换的PDF文件,执行PDF阅读器以读取从PowerPoint文档转换的PDF文件,以及执行PDF阅读器以读取PDF文件,等等--如果任务流送管理器208或用户设备206具有将Word文档转换为PDF文件的能力,或将PowerPoint文档转换为PDF文件的能力。任务流送管理器208可以向用户设备的任务流送客户端提供各种用户设备的用户偏好,作为各种用户设备的用于对不同类型的文件进行操作的“可用操作”。具体而言,“可用操作”计及用于在于任务上下文中标识的操作和目标设备的用户偏好之间协调差异的任何转换能力。
根据本发明的一个方面,任务流送管理器可以基于与第二设备的能力相关联的一个或多个用户偏好以及(任务流送管理器或某些其他用户设备的)用于将文件转换为适用于与第二设备的能力相关联的一个或多个用户偏好中的某些的格式的一个或多个能力,来生成第二设备的用于对不同类型的文件进行操作的可用操作。如果任务流送管理器将转换文件,则任务流送管理器可以检索文件,在任务流送管理器处使用任务流送管理器的一个或多个能力来将文件转换为适用于与第二设备的能力相关联的一个或多个用户偏好中的某些的格式,并向第二任务流送客户端提供对已转换的文件的访问。
对用户偏好和可用的操作的管理是任务流送的概念和传统的文件共享系统之间的几个差异之一。代替简单地提供将文件传输到目标设备的方式(让其猜测目标设备是否能够实际对文件进行操作),任务流送管理器208考虑与目标设备的用于对文件进行操作的能力相关联的用户偏好以及可用于文件的任何转换能力。
维护全局视图
任务流送管理器管理并维护全局视图,即,包括跨许多设备存储的文件的元数据和那些设备的用户偏好的数据库。还作为全局视图的一部分,接收并维护对标识文件和用户偏好的元数据的更新。此特点有利地使存储在联网的存储设备204a和本地存储设备204b中的文件和能力的全局视图被维护,甚至在这些存储设备中的一个或多个离线或变得临时不可用的情况下。
任务流送管理器可以可任选地将存储在联网的存储设备204a和本地存储设备204b中的文件和用户设备206的用户偏好的元数据的全局视图的副本以及对该全局视图的任何更新推到用户设备206中的每一个中的本地缓存中,以便用户设备能够分别地维护全局视图的本地副本。换言之,第一任务流送客户端被配置成接收与存储在第二设备的本地存储设备和/或一个或多个联网的存储设备中的文件相关联的元数据。进一步地,第一任务流送客户端被配置成从任务流送管理器接收与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用的操作。此外,第一任务流送客户端还被配置成从任务流送管理器处接收下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用的操作的更新。此本地缓存机制使用户设备206具有文件和能力的全局视图,甚至在一个或多个用户设备变得临时与任务流送管理器208断开连接,任务流送管理器208离线,或任务流送管理器变得临时不可用的情况下。在用户拥有/利用零配置注册的每个设备上都有用户数据占用空间的统一视图可用。即,一旦用户在一个设备上初始化全局视图,相同视图和相同控件在用户在其上使用任务流送系统的任何设备上都可用。
在某些实施例中,全局视图维护用户设备206的存在数据,该存在数据跟踪用户设备的在线/离线状态。进一步地,在某些实施例中,任务流送管理器208负责维护全局视图和全局视图的本地缓存副本的数据一致性。注意,查看跨多个设备存储的文件的列表以及搜索那些文件,甚至在设备离线的情况下也将会起作用,确保设备离线之前的数据一致性级别。
文件传输:云到目标设备与对等设备传输
流送任务上下文一般意味着标识文件、操作、以及用于对文件执行操作的目标用户设备。一般而言,图2的任务流送管理器208充当用于接收任务上下文元数据标签并将任务上下文元数据标签提供到目标用户设备的代理。然而,可能存在使文件可用于目标用户设备的各种情况,这些情况可能涉及或可能不涉及任务流送管理器208。
在第一种情况下,由任务上下文所标识的文件可能已经存在于目标用户设备的本地存储设备中。在此情况下,不需要文件传输。目标用户设备可以执行由任务上下文所标识的操作。
在第二种情况下,如果正在被流送到用户设备的任务上下文标识存储在联网的存储设备中的文件,则目标用户设备可以通过图2的网络202,例如,因特网,从联网的存储设备下载该文件。在从联网的存储设备下载文件时,目标用户设备可以执行所标识的操作。
在第三种情况下,如果正在被流送到用户设备的任务上下文标识存储在本地存储设备中的文件(在远离目标用户设备的用户设备上),则目标用户设备可以,例如,通过局域网或内联网,(直接)从本地存储设备下载该文件。在下载文件时,目标用户设备可以执行所标识的操作。
在第四种情况下,如果在可以执行所标识的操作之前需要转换,则任务流送管理器可以从其中存储了文件的存储设备检索文件,并将该文件提供给能够进行转换的实体。该实体可以是任务流送管理器本身或带有转换该文件的能力的任何合适的用户设备。可另选地,任务流送管理器不检索文件,而是导致该文件被传输到能够进行转换的实体。然后,目标用户设备接收已转换的文件,然后,可以执行所标识的操作。
在第五种情况下,任务流送管理器在云中维护有关任何一个设备或云存储服务上的最新的活动的详细信息,例如,对文件的修改,新文件,或标签的添加。系统可以自动地传输带有最新的更改的文件,以便它们在所有设备上都可用或使它们可以被所有设备访问,服从优化传输成本的策略。利用此设施,在创建任务上下文之前,特定任务上下文所需的数据文件在目标设备中可用。如此,任务上下文在目标设备上的执行变得更有效率,无需等待数据传输。
提供虚拟个人云
图3是根据本发明的一些实施例的任务上下文流送架构的框图。此示例演示了对于跨多个用户设备和存储服务的数据映射并提供均匀并且“位置不可知论的”访问的能力。图3演示了在一个示例中交互的客户端和云服务的集合如何能够提供用户拥有的所有数据的“虚拟个人云”310。虚拟个人云310,图2的提供任务流送管理器208的结果,提供与数据的位置无关的搜索和访问数据的能力。该机制在数据管理中具有许多用途,包括根据本说明书的任务流送。
示例性系统300示出了用于提供任务流送的各种数据流。系统300包括云存储服务302(对应于图2的联网的存储设备204a),服务数据库(DB)304、服务/设备更新管理器306,服务器支持代表性状态传输应用程序编程接口(REST API)308,用户设备312a-d。服务DB304、服务/设备更新管理器306,服务器支持REST API 308是图2的任务流送管理器208的组件。这些组件一起管理标识存储在用户设备312a-d中的文件和与用户设备312a-d的用于对不同类型的文件进行操作的能力相关联的用户偏好的元数据。元数据和用户偏好由用户设备312a-d(由向服务器支持REST API 308的箭头所示出的)提供到任务流送管理器,元数据数据和用户偏好可以存储在服务DB 304中,对元数据和用户偏好的维护/更新可以由服务/设备更新管理器306管理。元数据和用户偏好的全局视图可以通过服务器支持REST API308,被提供到每一用户设备312a-312d。还可以进一步提供云扫描305,以使用登录凭证(由任务流送管理器从使用任务流送客户端的用户那里收集到的)来检索与存储在云存储服务302中的文件相关联的元数据。在某些实施例中,用户提供的元数据标签(例如,通过使用任务流送客户端进行用户输入)也可以被存储在服务DB 304中,并被管理。
组件还使任务上下文元数据标签通过虚拟个人云312,被从一个用户设备提供到另一用户设备。图3示出了用户设备312a-c可以在不同的平台(例如,安卓、Windows、iPhone,等等)上操作,但是,每一用户设备312a-c都配备有用于提供适用于与服务器308进行协作的任务流送客户端的“客户端平台”。用户设备312d使用浏览器来访问任务流送客户端的特点(代替使用“客户端平台”)。在此情况下,任务流送客户端被作为被托管的应用程序提供到用户设备312d。进一步地,图3示出了用户设备312a-312d中的任何一个都可以直接从云存储服务302或从用来存储所标识的文件的用户设备下载任务上下文的所标识的文件。
将任务上下文元数据标签排队在任务列表中
除向虚拟个人云312提供元数据和与用户设备的能力相关联的用户偏好之外,任务流送客户端还可以使用虚拟个人云312来跟踪任务-上下文。用户设备可以通过服务器支持REST API 308和服务/设备更新管理器306,将任务上下文元数据标签传输到服务数据库(DB)304。服务DB 304可以被配置成存储和排队从第一任务流送客户端传输到第二任务流送客户端的任务上下文元数据标签。例如,服务DB 304可以将接收到的任务上下文元数据标签排队在任务列表中。当任务流送管理器接收到任务上下文元数据标签时,任务流送管理器可以将任务上下文元数据标签添加到与第二任务流送客户端相关联的任务列表中,其中任务列表被存储在服务DB 304中。当第二设备不与任务流送管理器进行通信时(即,当第二任务流送客户端离线时),任务列表可以维护面向第二任务流送客户端的所有任务。当第二设备以通信方式与任务流送管理器进行连接时,任务流送管理器可以推送与第二设备相关联的任务列表,以将任务上下文元数据标签通知给第二设备(或第二设备可以从任务流送管理器拉任务列表)。
在某些实施例中,如果任务流送管理器从第二设备接收到任务上下文已经被成功地流送到第二设备的通知,可以将任务上下文元数据标签从队列中去除。
用于创建任务上下文的示例用户界面
图4是根据本说明书的一个或多个示例实施例的任务上下文流送系统的用户界面元素400。此用户界面元素400可以由在第一设备上运行的第一任务流送客户端提供。任务上下文指定数据文件“movie-clip-1(电影-剪辑-1)”(在用户界面部分402示出)和要在目标设备“我的超极本”中完成的操作“编辑”(在用户界面部分404示出)以及首选的目标设备“我的超极本”(在用户界面部分406示出)。
文件“movie-clip-1”可以从存储在多个设备(跨许多位置)中的文件中选择。文件可包括存储在第一设备中的文件、存储在目标设备,和/或一个或多个联网的存储设备中的文件。任务流送系统的位置不可知论的方面使来自多个设备的文件被查看和搜索。具体而言,任务流送管理器从设备中收集标识跨多个设备存储的文件的元数据,并将元数据提供到在第一设备上运行的第一任务流送客户端。通过使用元数据,在第一设备上运行的第一任务流送客户端可以呈现跨多个设备存储的文件的列表,以供通过用户界面元素显示。
除提供元数据之外,任务流送管理器还基于与各种用户设备的能力相关联的用户偏好,确定与各种用户设备相关联的可用的操作。任务流送管理器可以将与各种用户设备相关联的可用的操作提供到第一任务流送客户端。在接收到对文件的选择时,第一任务流送客户端可以基于文件的类型(例如,使用文件的元数据,或文件的文件扩展名),确定适用于由第二设备对文件进行操作的可用操作。在确定可用的操作之后,第一任务流送客户端可以呈现适用于对特定文件进行操作的可用操作(参见框408),以供显示在用户界面元素上。用户界面元素,具体而言,框408,允许第一任务流送客户端上的用户选择可用操作中的一项或多项作为操作。所示出的操作仅仅是说明性的,取决于应用,文件,以及目标设备,可以不同。
第一流送客户端可以确定可能的目标设备的列表,例如,属于用户或一组用户的用户设备。然后,第一任务流送客户端可以呈现可能的目标设备的列表,供显示(参见框410)。第一流送客户端可以基于接收到的用于标识各种用户设备的文件的元数据,或基于由任务流送管理器所提供的信息,确定列表。这些用户设备可能已经预先注册到任务流送系统中,作为可能的目标设备,作为与特定用户、特定用户组、家庭、组织等等相关联的一组用户设备。所示出的可能的目标设备仅仅是说明性的,取决于应用,文件,以及选择的操作,可以不同。
图4的用户界面元素可以提供禁用某些操作或某些目标设备的方式(或将那些操作和目标设备示为不可用)。这在两种情况下有用。在第一种情况下,用户可以选择不是某些目标设备上的可用操作的操作。那些目标设备可以被“禁用”,变灰,或在用户界面元素上变得不可用或不可见。在第二种情况下,用户可以选择没有某些可用操作的目标设备。那些可用的操作可以被“禁用”,变灰,或在用户界面元素上变得不可用或不可见。
通过使用此用户界面元素,用户可以,使用第一设备上的第一任务流送客户端,提供用户对文件的选择,要对文件在第二设备上执行的操作,以及第二设备,其中所述文件是从存储在多个设备中的多个文件中选择的,所述操作是从所述目标设备的用于对所述文件进行操作的可用操作中选择的。第二设备可以是从一个或多个用户设备中选择的。基于那些选择,第一任务流送客户端可以传输标识文件、操作,以及目标设备的任务上下文元数据标签,以允许任务流送管理器,使用所述目标设备上的第二任务流送客户端,将所述任务上下文元数据标签通知给所述目标设备。
在某些实施例中,如图4所示的用户界面元素提供注释字段412,该注释字段允许用户输入个人注释,作为任务流送元数据标签的一部分。在此示例中,个人注释叙述“合并来自库的音频”。当任务流送管理器将任务上下文元数据标签通知给目标设备时,目标设备也接收到个人注释,并可以使用目标设备,向用户显示个人注释。
通知系统
也可以提供通知系统。根据一个示例,通知系统在目标设备上示出了数据和相关联的任务上下文,以及当消耗通知时,通知其他设备的机制。当创建任务上下文时,系统将任务上下文转发到下一设备,作为通知。当用户位于下一设备上时,通知可以被呈现给用户,当用户完成任务时,消耗通知。他可以创建面向后面的设备的另一任务上下文。如果下一设备离线,则任务流送管理器可以使通知排队。
通知可以使用用于向用户显示通知的各种用户界面技术来实现。例如,图形用户界面可以向用户指出对于特定设备存在通知(例如,弹出式消息、指示符图标、消息通知,等等)。也可以使用触觉、音频,其他可视输出来指出对于特定设备的通知的存在(例如,振动、声音、指示灯,等等)
与多个设备进行交互,以便完成任务
一般而言,完整的任务可以由跨设备的一系列任务-上下文来实现。作为示例,图5是示出根据本发明的一些实施例的用户通过任务上下文架构来与多个设备进行交互的图示。此图示示出了跨设备编辑和存档电影的任务。任务流送系统500包括设备502、设备504、设备506、设备508,以及虚拟个人云510。虚拟个人云510,类似于图3的虚拟个人云310,是由设备502、设备504、设备506,和设备508的任务流送客户端的集合访问的任务流送管理器所提供的。虚拟个人云510可以使file1(文件1)、file2(文件2)、file 3(文件3)...file-n(文件-n)对设备502、设备504、设备506,以及设备508可用。通过使用设备502,用户可以为设备504,创建第一任务上下文“file1:视图”。通过使用设备504,用户可以为设备506创建第二任务上下文“file1:添加到电影”。通过使用设备504,用户可以为设备508创建第三任务上下文“file1:存档”。通过任务上下文系列,用户能够为特定操作,使用首选的设备,无缝地跨不同的设备,对file1进行操作。
全局任务列表和任务插件
本发明描述根据本说明书的一个或多个示例实施例的用于在云中创建全局任务列表并跨多个设备同步它的机制。相应地,任务流送管理器通过存储从用户设备中的任何一个接收到的任务上下文元数据标签,在云中维护全局任务列表。全局任务列表包括创建的多个任务,在一个示例实施例中:每一任务都呈现下列形式:Task<Task Name,targetdevice(s),data,Task status>(任务<任务名称,目标设备,数据,任务状态>)。任务流送管理器可以在“云”中,为多个用户设备维护此全局任务列表。有利地,甚至在(目标)用户设备中的一个或多个离线的情况下,也可以维护任务上下文。
图6是示出了根据本发明的一些实施例的用于任务插件的接口的框图,该接口提供在云中创建全局任务列表并跨多个设备同步它的机制。可以提供发布各种设备的能力以及访问它们的接口的机制。“客户端系统-发布者”用户设备602可包括用于每一类型的任务(或操作)的任务插件(被示为“任务插件”604)。插件可以发布接口606,通过该接口606,“客户端系统-消费者”用户设备608可以请求任务。通过此机制,任务流送管理器和任务流送客户端可以获得与能力相关的信息(例如,与各种设备上的能力相关联的用户偏好),并具有使用那些能力来执行操作的接口。在一示例实施例中,接口可以呈现下列形式:Task-Publish<task name,description,parameters>(任务-发布<任务名称,描述,参数>)。例如,对发布照片的任务上下文的请求可以如下所示:EditPhoto<EditPhoto,″editsphoto″,Redeye/auto-enhance/filter-xxx/downsample-web>(编辑照片<编辑照片,″编辑照片″,鱼眼/自动增强/过滤-xxx/下采样-web>)。用户设备之间的此接口有效地允许一个用户设备访问另一用户设备的能力。
任务流送客户端的架构
图7是根据本发明的一些实施例的用户设备的示例性任务流送客户端的框图。示例性任务流送客户端包括客户端用户界面(UI)702、设备管理器704、服务管理器706、高速缓存管理器708、扫描管理器710,以及加密管理器。
客户端UI使用户观看/搜索跨许多设备存储的文件,并创建任务上下文。在某些实施例中,客户端UI提供被配置成在第一设备上在第一任务流送客户端上接收登录凭证的用户界面元素。然后,客户端可以将登录凭证从述第一任务流送客户端提供到所述任务流送管理器的所述,以允许所述任务流送管理器检索与存储在一个或多个联网的存储设备中的文件相关联的元数据。
设备管理器704(类似于此处所描述的监听器)被配置成收集标识存储在诸如设备714a-c之类的用户设备的本地存储设备中的文件的元数据。设备管理器704也可以被配置成收集对元数据的更新。设备管理器也可以收集与用户设备的能力相关联的用户偏好以及对其的任何更新。
服务管理器706一般被配置成收集与任务上下文相关的用户输入,并创建该任务上下文元数据标签。然后,元数据标签可以被提供到驻留在云存储服务718中的任务流送管理器。也可以使用服务管理器706来通知用户,如果用户设备已经被标识为任务上下文的目标设备。一旦任务-上下文的任务完成,可以使用服务管理器706来通知云存储服务718。
高速缓存管理器708维护元数据以及由各种用户设备对不同类型的文件的可用的操作的高速缓存。任务流送客户端可包括同步适配器,用以确保任务流送客户端处的元数据和可用操作的高速缓存与驻留在云存储服务718中的任务流送管理器处的元数据和可用操作的全局视图同步。
可以可任选地在任务流送客户端处提供扫描管理器710,以检查由任务上下文所标识的文件是否对于用户设备是安全的。可以可任选地提供加密管理器712,以解密由任务上下文所标识的经加密的文件。加密管理器712加密任务上下文、元数据、用户偏好,以及在任务流送管理器和任务流送客户端之间穿越的任何其他数据,以提高安全性。
跨设备用户偏好的管理;任务上下文的智能自动化
用户倾向于对用于完成某些任务的某些应用程序,具有天然的偏好,无论是由于熟悉、特点还是训练。例如,一个人可以首选Windows媒体播放器(Media Player)用于在PC上播放音频,但是,首选VLC播放器,用于在音频格式之间转换,或首选Audacity来编辑音频。如此,基于多用途因特网邮件扩展(MIME)类型的应用程序选择或内容类型的指示不能捕捉用户上下文和偏好。在跨设备环境中,对设备的选择和对利用选择的设备执行的操作的选择添加新维度。提供任务流送的最终结果是基于意图和偏好,将数据文件映射到特定设备上的应用程序的跨设备能力。
随着用户与设备上的数据进行交互,可以连同任何设备配置参数一起收集数据,以确定与设备的能力相关联的用户偏好。用户还可以以人工方式定义这些用户偏好。在本发明的上下文内,“意图”是指用户打算对数据执行的操作。典型的操作的词汇表可以是预定义的,并可由用户和用户社区扩展。意图包括,但不仅限于“播放”、“编辑”、“读取”、“安全”、“加密”、“存档”、“共享”等等。列表中的第一设备是用于动作的第一选择。
图8是根据本发明的一些实施例的对跨设备偏好的管理的框图。如图8所示的系统800包括偏好管理器802(例如,作为任务流送管理器的一部分),跨设备偏好接口804,以及用于将用户偏好存储在虚拟个人云808内的数据库806。设备810、设备812、设备814,以及设备816中每一个都维护相应的偏好集,即,偏好集818、偏好集820、偏好集822,以及偏好集824。每一个偏好集都可包括与相应的用户设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好。
用户设备可以通过相应的任务流送客户端,通过跨设备偏好接口804,将偏好集818、820、822,以及824提供到虚拟个人云808。然后,偏好管理器802可以核对来自用户设备的用户偏好,以生成统一的用户偏好,该统一的用户偏好考虑了首选用于对特定类型的文件执行特定操作的设备和应用程序。
示例统一用户偏好可以具有下列数据格式:MIME类型:意图:(Dev 1:App 1):(Dev2:App 2):(Dev 3:App 3)。如此,统一用户偏好定义下列意图:对于特定类型的文件(MIME类型),使用Dev 1(设备1)和App 1(应用程序1),对于相同类型的文件(MIME类型),使用Dev2(设备2)和App 2(应用程序2),对于相同类型的文件(MIME类型),使用Dev 3(设备3)和App3(应用程序3)。此数据格式传达多段信息。例如,此数据格式使任务流送管理器确定哪些设备能够对具有特定MIME类型的文件执行特定操作/意图。进一步地,此数据格式使任务流送管理器确定哪一个应用程序将被执行以对具有特定MIME类型的文件执行特定操作/意图。如果统一的用户偏好包括设备和应用程序对(例如,(Dev X:App Y))的排序的列表,则任务流送管理器甚至可以默认地选择特定设备/应用程序对,或向用户提出使用特定设备/应用程序对的建议。可以从历史用户数据(例如,特定设备和应用程序用于特定类型的文件的频度)导出设备和应用程序对的这样的排序的列表。另选地或另外地,用户可以以人工方式提供排序。
此信息可以有利地用于“任务流送”中,以智能地并自动地将任务上下文路由到合适的设备,并在目标设备上创建合适的通知(当偏好管理器802可以导出对于目标设备和应用程序的用户偏好以执行特定操作时,减轻用户指定目标设备和应用程序的必要性)。例如,当用户选择音乐文件并选择编辑意图时,系统自动地推荐带有Audacity应用程序的用户的PC,作为示例,作为从云中的偏好导出的目标。用户可以选择别的东西,但是,随着时间的推移,建议将捕捉用户偏好。
说明性屏幕截图
图9A-C是根据本发明的一些实施例的客户端的说明性屏幕截图,该客户端给用户提供搜索文件并跨不同的设备流送任务的用户界面。在图9A的屏幕截图910中,示出了示例性任务流送客户端的多个用户界面元素。根据一个方面,提供搜索字段,以使用户通过标识跨多个设备存储的文件的元数据来进行搜索(“位置不可知论的搜索902”)。此可搜索的元数据甚至可以包括用于分类或标签文件的用户指定的元数据标签。根据另一方面,用户可以查看所有文件,或分别地查看与不同的存储设备相关联的文件(“我的设备和服务904”)。根据再一个方面,用户可以使用用户设备上的任务流送客户端中的任何一个,查看相同组的文件(“所有数据在每个设备上都跟着我906”)。
在图9B的屏幕截图920中,任务流送客户端提供用户界面部分,以使用户在从来自各种设备的多个文件中选择一个文件时定义任务上下文(“定义任务上下文922”)。用户界面部分给予用户选择目标设备的机会,然后,选择用于对选定的文件进行操作以定义任务上下文的任务/操作。提供了一个字段,使用户可任选地提供任务上下文的消息,以便用户可以添加任务上下文的任何个人注释。
在图9C的屏幕截图930中,目标设备上的任务流送客户端的用户界面部分显示指向该目标设备的任务上下文的通知(“目标设备上的通知932”)。目标设备上的任务流送客户端呈现任务上下文元数据标签的通知,以供显示在第二设备上。进一步地,用户界面部分还提供单击用户界面元素以执行操作。目标用户界面上的任务流送客户端可任选地提供用户界面,以允许用户指出接受对由任务上下文元数据标签所标识的文件执行所述操作。响应于通过用户界面接收到接受的点击,目标设备上的任务流送客户端可以,使用第二设备,对由任务上下文元数据标签所标识的文件执行操作。任务流送客户端可以使用由与目标设备的能力相关联的用户偏好所标识的应用程序来执行操作。
系统图示
图10是根据一实施例的耦合到示例处理器的存储器的框图。图10示出了根据一个实施例的处理器核1000。处理器核1000可以是任何类型的处理器,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器,或执行代码的其他设备的核。虽然在图10中只示出了一个处理器核1000,但是,处理元件可以可另选地包括一个以上的图10中所示出的处理器核1000。(参见,例如,下面的图12中的多核实施例)。处理器1000可以是任何类型的处理器,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、多核处理器,单核处理器,或执行代码的其他设备。处理器核1000可以是单线程的核,或对于至少一个实施例,处理器核1000可以是多线程的,它可每个核包括一个以上的硬件线程上下文(或“逻辑处理器”)。这样的核1000可以被配置成以此处所公开的方式执行指令代码。如图10所示的此可以被用来执行此处所描述的要由用户设备、任务流送客户端、任务流送管理器、以及如图1A-B、2-3,以及5-8所示的任何组件执行的功能。
图10还示出了耦合到处理器1000的存储器1070。存储器1070可以是当前已知或以别的方式可用的各种存储器中的任何一种(包括存储器层次结构的各层)。存储器1070可包括要由处理器1000核执行的一个或多个代码指令1013。处理器核1000遵循由代码1013指出的程序指令序列。每一指令都可以进入前端部分1010,并由一个或多个解码器1020处理。解码器可以以预定义的格式生成诸如固定宽度微操作之类的微操作,作为其输出,或可以生成其他指令、微指令,或反映原始代码指令的控制信号。前端1010还包括寄存器重命名逻辑1025以及调度逻辑1030,它们一般分配资源并排队对应于转换指令的操作,供执行。
处理器1000被示为包括具有一组执行单元1055-1到1055-N的执行逻辑1050。一些实施例可以包括专用于特定功能或功能组的若干个执行单元。其他实施例可只包括一个执行单元或能够执行特定的功能的一个执行单元。执行逻辑1050执行由代码指令所指定的操作。
在由代码指令所指定的操作的执行完成之后,后端逻辑1060引退代码1013的指令。在一个实施例中,处理器1000允许无序执行,但是,要求指令的按顺序引退。引退逻辑x65可以呈现本领域技术人员已知的各种形式(例如,重排序缓存等等)。如此,处理器核1000在代码1013的执行过程中被转换,至少就由解码器所生成的输出、硬件寄存器和由寄存器重命名逻辑1025使用的表,以及由执行逻辑1050修改的任何寄存器(未示出)而言。
虽然在图10中未示出,但是,处理元件与处理器核1000一起可包括芯片上的其他元件。例如,处理元件可与处理器核1100一起包括存储器控制逻辑(参见,例如,下面的图11的MC 1172)。处理元件可包括I/O控制逻辑和/或可包括与存储器控制逻辑集成的I/O控制逻辑。处理元件也可以包括一个或多个高速缓存。
图11是根据一实施例的按点对点(PtP)配置排列的示例计算系统的框图。图11所示出的是包括第一处理元件1170和第二处理元件1180的多处理器系统1100。尽管示出了两个处理元件1170和1180,但是,可以理解,系统1100的实施例还可以只包括一个这样的处理元件。如图11所示的此可以被用来执行此处所描述的要由用户设备、任务流送客户端、任务流送管理器、以及如图1A-B、2-3,以及5-8所示的任何组件执行的功能。
系统1100被示为点对点互连系统,其特征在于,第一处理元件1170和第二处理元件1180通过点对点互连1150耦合。应该理解,图11中所示出的任何或全部互连都可以实现为多点分支总线,而并非点对点互连。
如图11所示,处理元件1170和1180中的每一个都可以是多核处理器,包括第一和第二处理器核1(即,处理器核1174a和1174b,以及处理器核1184a和1184b)。这样的核1174、1174b、1184a、1184b可以被配置成以此处所公开的方式执行指令代码。
每一处理元件1170,1180都可以包括至少一个共享缓存1896。共享缓存1896a,1896b可以存储分别被处理器的一个或多个组件(诸如核1174a、1174b、以及1184a、1184b)使用的数据(例如,指令)。例如,共享缓存可以本地缓存存储在存储器1132,1134中的数据,用于被处理器的组件更快的访问。在一个或多个实施例中,共享缓存546a,546b可以包括一个或多个中级缓存,诸如级别2(L2)、级别3(L3)、级别4(L4),或其他级别的缓存,末级缓存(LLC),和/或其组合。
尽管只利用两个处理元件1170、1180来示出,但是,可以理解,本发明的范围不仅限于此。在其他实施例中,一个或多个额外的处理元件可以存在于给定处理器中。可另选地,一个或多个处理元件1170,1180可以是除处理器以外的元件,诸如ASIC芯片或场可编程门阵列。例如,额外的处理元件可包括与第一处理器1170相同的额外的处理器,与第一处理器1170异构或非对称的额外的处理器,加速器(诸如,例如,图形加速器或数字信号处理(DSP)单元),场可编程门阵列,或任何其他处理元件。就包括体系结构、微体系结构、热的,功率消耗特征等等的一系列优点的度量而言,在处理元件1170,1180之间可能会有各种差异。这些差异可能有效地将其本身表现为处理元件1170,1180之间的不对称性和异质性。对于至少一个实施例,各种处理元件1170,1180可以驻留在相同管芯封装中。
第一处理元件1170还可以包括存储器控制器逻辑(MC)1172以及点对点(P-P)接口1176以及1178。类似地,第二处理元件1180可包括MC 1182以及P-P接口1186以及1188。如图11所示,MC 1172和1182将处理器耦合到相应的存储器,即,存储器1132和存储器1134,它们可以是本地连接到相应的处理器的主存储器的一部分。尽管MC逻辑1172和1182被示为集成到处理元件1170,1180中,但是,对于替换实施例,MC逻辑可以是处理元件1170,1180外面的单独逻辑,而并非集成在其中。
第一处理元件1170和第二处理元件1180可以分别通过P-P互连1176,1190和1186耦合到I/O子系统1184。如图11所示,I/O子系统1190包括P-P接口1194和1198。此外,I/O子系统1190还包括将I/O子系统1192与高性能图形引擎1138耦合的接口1190。在一个实施例中,总线1149可以被用来将图形引擎1138耦合到I/O子系统1190。交替地,点对点互连1139可以将这些组件耦合。
I/O子系统1190又可以通过接口1196耦合到第一总线1116。在一个实施例中,第一总线1116可以是外围组件互连(PCI)总线,或诸如PCI Express总线或其它第三代I/O互连总线之类的总线,但本发明的范围并不受此限制。
如图11所示,各种I/O设备1114以及将第一总线1116耦合到第二总线1110的总线桥1118可以耦合到第一总线1116。在一个实施例中,第二总线1120可以是低管脚数(LPC)总线。在一个实施例中,各种设备可以耦合到第二总线1120,包括,例如,键盘/鼠标1112、通信设备1126(它们又可以与计算机网络202进行通信)以及数据存储单元1128,诸如磁盘驱动器或可以包括代码1130的其他大容量存储设备。代码1130可以包括用于执行上文所描述的方法中的一个或多个的实施例的指令。此外,音频I/O 1124可耦合至第二总线1120。
请注意,还可以构想其他实施例。例如,代替图11的点对点架构,系统可以实现多点分支总线或另一这样的通信拓朴。此外,还可以使用比图11中所示出的多一些或少一些的集成芯片,来分区图11的元件。
请注意,对于此处所提供的示例,可以以两个、三个、或更多计算设备来描述交互。然而,这只是为了清楚起见,并且只作为示例。在某些情况下,可以通过只引用数量有限的计算设备,更容易地描述给定流程集的功能中的一个或多个。此外,任务流送也轻松地可缩放,并可以跨大量的组件,以及更复杂的布局和配置来实现。相应地,所提供的示例不应该限制范围或抑制任务流送的广泛的原理,因为潜在地应用于无数其他体系结构。
还应该指出,与任务流送相关的功能只示出了可以执行图1A-B、2、5-8、12,以及13中所示出的系统执行的某些可能的任务流送功能。这些操作中的某些可以在合适的情况下删除,或者可以在不偏离本发明的范围的情况下,显著地修改或改变这些操作。另外,还可以显著地改变这些操作的时间。前面的操作流程是作为示例和讨论而提供的。由此处所描述的各实施例提供相当大的灵活性,因为在不偏离本发明的原理的情况下,可以提供任何合适的布局、时序、配置,以及定时机制。
虽然参考特定布局以及配置详细描述了本发明,但是,在不偏离本发明的范围的情况下,可以显著更改这些示例配置和布局。另外,虽然是参考促进任务流送功能的特定元件以及操作来说明图1A-B、2、5-8、12以及13中的系统的,但是,这些元件以及操作可以替换为实现任务流送系统的计划的功能的任何合适的架构、协议,和/或过程。
在一个示例实现中,实现此处所描述的各实施例所涉及的各种设备或组件可包括用于实现所描述的功能的软件,此处所公开的这些设备或组件可以包括用于促进此处所描述的活动的在一个或多个非瞬时的,有形的介质中体现的软件。此处所公开的系统和设备的至少一部分(例如,用户设备、任务流送客户端、任务流送管理器,以及如图1A-B、2-3,以及5-8等等所示的任何组件)也可以包括用于存储用于实现此处概述的功能的信息的存储器设备(或存储器元件)。另外,系统和设备(例如,用户设备、任务流送客户端、任务流送管理器,以及如图1A-B、2-3,以及5-8,等等所示的任何组件)可包括能够执行软件或算法以执行在本说明书所讨论的功能的一个或多个处理器。这些设备还可以进一步将信息保留在任何合适的存储器元件(随机存取存储器元件(“RAM”)、ROM、EPROM、EEPROM、ASIC等等)、软件、硬件中,或保留在任何其他合适的组件、设备、元件,或对象中,只要合适并基于特定需要。此处所讨论的存储器项目中的任何一个都应该解释为包含在广义的术语“存储器元件”内。类似地,本说明书中所描述的潜在的处理元件、模块,以及机器中的任何一个应该解释为包含在广义的术语″处理器″内。网络元件中的每一个也都可以包括用于接收、传输,和/或以别的方式在网络环境中传递数据或信息的合适的接口。
注意,在某些示例实现中,此处以及在此处包括的图形中的任何一个中概述的功能可以通过编码在一个或多个有形的介质中的逻辑(例如,在专用集成电路(“ASIC”)中的嵌入式逻辑,数字信号处理器(“DSP”)指令、要由处理器,或其他类似的机器执行的软件(潜在地包括目标代码以及源代码),等等)来实现。在这些实例中的某些中,提供存储器元件,以存储用于此处所描述的操作的数据。这包括存储器元件能够存储被执行以实现本说明书中所描述的活动的软件、逻辑、代码或处理器指令。处理器可以执行与数据相关联的任何类型的指令以实现本说明书中详述的操作。在一个示例中,处理器可以将元件或项目(例如,数据)从一种状态或东西转换为另一种状态或东西。在另一个示例中,此处概述的活动可以利用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现,此处所标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(“FPGA”)、可擦可编程只读存储器(“EPROM”)、电可擦可编程序只读存储器(“EEPROM”))或包括数字逻辑、软件、代码、电子指令,或其任何合适的组合的ASIC。
可以使用程序指令来使利用指令编程的通用或专用的处理系统来执行此处所描述的操作。另选地,操作可由包含用于执行操作的硬连线逻辑的专用硬件组件来执行,或由编程的计算机组件和自定义的硬件组件的任何组合来执行。此处所描述的方法可以作为计算机程序产品来提供,该计算机程序产品可以包括在其上存储了指令的一个或多个非瞬时的,有形的机器可读的介质,指令可以被用来编程处理系统(或其他电子器件)以执行方法。此处所使用的术语“机器可读的介质”应该包括能够存储、编码由机器执行的指令序列并且使机器执行此处所描述的方法中的任何一个的任何介质。术语“非瞬时的机器可读的介质”应该相应地包括但不局限于,诸如固态存储器以及光盘和磁盘之类的存储器。进一步地,以一种形式或另一种形式(例如,程序、过程,进程、应用程序、模块、逻辑,等等)将软件表述为采取动作或导致结果是常见的。这样的表达只是陈述导致处理器执行动作或产生结果的处理系统执行软件的简洁方式。
应该指出的是,此处所讨论的基础结构的大部分(例如,用户设备、任务流送客户端、任务流送管理器,以及如图1A-B、2-3,以及5-8,等等所示的任何组件)可以作为任何类型的网络元件的一部分提供。如此处所使用的,术语“用户设备”、“任务流送客户端”、“任务流送管理器”,以及如图1A-B、2-3,以及5-8所示的用于启用任务流送的任何组件都可以包含计算机、服务器、网络电器、主机、路由器、交换机、网关、桥接器、虚拟设备、负载平衡器、防火墙、处理器、模块,或可操作以在网络环境中交换信息的任何其他合适的设备、组件、元件,或对象。此外,网络元件还可包括促进其操作的任何合适的硬件、软件、组件、模块、接口,或对象。这可以包括允许数据或信息的有效交换的合适的算法和通信协议。
在一种实现中,网络元件/设备(例如,用户设备、任务流送客户端、任务流送管理器,以及如图1A-B、2-3,以及5-8所示的具有与另一组件的网络连接或通信信道的任何组件)可包括实现(或培植)任务流送的提供的软件。这可包括此处包括的图示所示出的组件、引擎、逻辑等等中的任何一个的实例的实现。另外,这些设备中的每一个都可以具有内部结构(例如,处理器、存储器元件,等等)以促进此处所描述的操作中的某些。在其他实施例中,这些管理活动可以从这些设备外部执行,或包括在某种其他网络元件中,以实现计划的功能。可另选地,这些网络设备可包括可以与其他网络元件协调以便实现此处所描述的管理活动的软件(或往复的软件)。在其他实施例中,一个或多个设备可包括促进其操作的任何合适的算法、硬件、软件、组件、模块、接口或对象。
请注意,对于上文所提供的示例,以及此处所提供的很多其他示例,可以以两个、三个、或四个网络元件来描述交互。然而,这只是为了清楚起见,并且只作为示例。在某些情况下,可以通过只引用数量有限的网络元件,更容易地描述给定流程集的功能中的一个或多个。应该理解,参考此处包括的图形所说明以及描述的拓扑(以及它们的原理)是可轻松地扩展的,并可以接纳大量的组件,以及更复杂的布局和配置。相应地,所提供的示例不应该限制范围或抑制所示出的拓扑的宽的原理,因为潜在地应用于无数其他体系结构。
还应该指出,前面的流程图中的步骤只示出了可以由此处包括的图形所示出的通信系统执行的某些可能的信令情况以及模式。这些步骤中的某些可以在合适的情况下删除,或者可以在不偏离本发明的范围的情况下,显著地修改或改变这些步骤。另外,这些操作中许多被描述为与一个或多个额外的操作并行地执行。然而,还可以显著地改变这些操作的时间。前面的操作流程是作为示例和讨论而提供的。由图形所示出的通信系统提供相当大的灵活性,因为在不偏离本发明的原理的情况下,可以提供任何合适的布局、时序、配置,以及定时机制。
虽然参考特定布局以及配置详细描述了本发明,但是,在不偏离本发明的范围的情况下,可以显著更改这些示例配置和布局。例如,虽然参考特定通信交换描述了本发明,但是,此处所描述的各实施例也可以适用于其他架构。
本领域技术人员可以认识到很多其他改变、替换、变体、更改,以及修改,本发明包含在所附权利要求书的范围内的所有这样的改变、替换、变体、更改,以及修改。为了协助美国专利局(USPTO),另外,在本申请中颁发的任何专利的任何读者在解释所附的权利要求时,申请人希望指出,申请人:(a)不打算所附权利要求中的任何一个调用35 U.S.C.112章的段落6,因为它在提交的日期存在,除非“用于的装置”或“用于的步骤”具体地用于特定权利要求中;以及(b)不打算通过说明书中的任何陈述,以没有反映在所附权利要求中的任何方式限制本发明。
下列示例涉及本发明的一些实施例。
示例1是至少一个或一个在其上存储了用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的指令的机器可读非瞬态存储介质,其中所述指令,当由至少一个处理器执行时,导致所述至少一个处理器执行下列操作:从所述第一设备上的任务流送客户端向任务流送管理器,提供用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的元数据;在所述第一设备上的所述第一任务流送客户端上,接收用户对下列各项的一个或多个选择:文件、利用所述文件,在所述第二设备上执行的操作,以及所述第二设备,其特征在于,所述文件是从存储在多个设备中的多个文件中选择的,所述操作是从用于对所述文件进行操作的所述第二设备的可用操作中选择的;以及,从所述第一任务流送客户端向所述任务流送管理器,传输标识所述文件、所述操作、以及所述第二设备的任务上下文元数据标签,以允许所述任务流送管理器,使用所述第二设备上的第二任务流送客户端,将所述任务上下文元数据标签通知给所述第二设备。
在示例2中,示例1的主题可以可任选地包括:其中存储在多个设备中的多个文件包括存储在第一设备、第二设备,和/或一个或多个联网的存储设备中的文件。
在示例3中,示例1或2的主题可以可任选地包括:在所述第一任务流送客户端上,从所述任务流送管理器,接收与存储在所述第二设备和/或一个或多个联网的存储设备中的文件相关联的元数据。
在示例3中,示例1-3中的任何一个的主题可以可任选地包括:在所述第一任务流送客户端上,从所述任务流送管理器,接收与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用操作。
在示例5中,示例1-4中的任何一个的主题可以可任选地包括:,在接收到对所述文件的选择时,基于所述文件的所述类型,确定适用于由所述第二设备对所述文件进行操作的所述可用操作;以及,呈现适用于对所述文件进行操作的所述可用的操作,供显示在用户界面上,以使所述第一任务流送客户端上的用户能够选择所述操作中的一项或多项作为所述操作。
在示例6中,示例1-6中的任何一个的主题可以可任选地包括:使用所述第一设备上的所述第一流送客户端的监听器,检测对用于标识存储在所述第一设备中的所述一个或多个文件的所述元数据的更新和/或对与所述第一设备的用于对不同类型的文件进行操作的能力相关联的所述一个或多个用户偏好的更新;以及,如果检测到更新,则从所述第一任务流送客户端向所述任务流送管理器传输所述更新。
在示例7中,示例1-6中的任何一个的主题可以可任选地包括:在所述第一任务流送客户端上,从所述任务流送管理器,接收下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的操作的更新。
在示例8中,示例1-7中的任何一个的主题可以可任选地包括:在所述第一设备上的所述第一任务流送客户端上,接收登录凭证;以及,从所述第一任务流送客户端向所述任务流送管理器提供所述登录凭证,以允许所述任务流送管理器检索与存储在一个或多个联网的存储设备中的文件相关联的元数据。
示例9是至少一个或一个在其上存储了用于管理第一设备和远离所述第一设备的第二设备之间的任务流送的指令的机器可读非瞬态存储介质,其中所述指令,当由至少一个处理器执行时,导致所述至少一个处理器执行下列操作:在任务流送管理器处,从所述第一设备上的第一任务流送客户端,接收用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的第一元数据;在所述任务流送管理器处,从所述第二设备上的第二任务流送客户端,接收用于标识存储在所述第二设备中的一个或多个文件以及与所述第二设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的第二元数据;在所述任务流送管理器处,从所述第一任务流送客户端,接收标识文件、操作,以及所述第二设备的任务上下文元数据,其中所述文件是使用所述第一任务流送客户端,从存储在多个设备中的多个文件中选择的,而所述操作是使用所述第一任务流送客户端,从所述第二设备的用于对所述文件进行操作的可用操作中选择的;以及,从所述任务流送管理器向所述第二任务流送客户端传输所述任务上下文元数据标签的通知。
在示例10中,示例9的主题可以可任选地包括:基于与所述第二设备的能力相关联的所述一个或多个用户偏好以及所述任务流送管理器的用于将所述文件转换为适用于与所述第二设备的能力相关联的所述一个或多个用户偏好中的某些的格式的一个或多个能力,生成所述第二设备的用于对不同类型的文件进行操作的所述可用操作。
在示例11中,示例9或10中的主题可以可任选地包括:检索所述文件;在所述任务流送管理器上,使用所述任务流送管理器的所述一个或多个能力,将所述文件转换为适用于与所述第二设备的能力相关联的所述一个或多个用户偏好中的某些的格式;以及,给所述第二任务流送客户端提供对所述已转换的文件的访问。
在示例12中,示例9-11中的任何一个的主题可以可任选地包括:将所述任务上下文元数据标签添加到与所述第二设备相关联的任务列表中;当所述第二设备不与所述任务流送管理器进行通信时,保持与所述第二设备相关联的所述任务列表;以及,当所述第二设备以通信方式与所述任务流送管理器进行连接时,推送与所述第二设备相关联的所述任务列表。
在示例13中,示例9-12中的任何一个的主题可以可任选地包括:从所述任务流送管理器向所述第一任务流送客户端,提供所述第二元数据以及与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用的操作;以及,从所述任务流送管理器向所述第二任务流送客户端,提供所述第一元数据以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的可用的操作。
在示例14中,示例9-13中的任何一个的主题可以可任选地包括:在所述任务流送管理器上,接收下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的更新;以及,从所述任务流送管理器向所述第一任务流送客户端,提供下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用操作的更新。
示例9a是在其上存储了指令的机器可读非瞬态存储介质,其中所述指令,当由至少一个处理器执行时,导致所述至少一个处理器执行下列操作:从第一设备,接收用于标识存储在所述第一设备中的一个或多个文件以及用于标识与所述第一设备的用于对不同类型的文件操作的能力相关联的一个或多个用户偏好的第一元数据;从第二设备,接收用于标识存储在所述第二设备中的一个或多个文件以及用于标识与所述第二设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的第二元数据;从所述第一设备,接收标识文件、操作,以及所述第二设备的任务上下文元数据标签,其中所述文件是从存储在多个设备中的多个文件中选择的,而所述操作是从所述第二设备用于对所述文件进行操作的可用操作中选择的;以及,向所述第二设备传输所述任务上下文元数据标签的通知。
在示例10a中,示例9a的主题可以可任选地包括:操作进一步包括:基于与所述第二设备的能力相关联的所述一个或多个用户偏好以及用于将所述文件转换为适用于与所述第二设备的能力相关联的所述一个或多个用户偏好中的某些的格式的一个或多个能力,生成所述第二设备的用于对不同类型的文件进行操作的所述可用的操作。
在示例11a中,示例9a或10a的主题可以可任选地包括,操作进一步包括:检索所述文件;使用所述一个或多个能力,将所述文件转换为适用于与所述第二设备的能力相关联的所述一个或多个用户偏好中的某些的格式;以及,给所述第二设备提供对所述已转换的文件的访问。
在示例12a中,示例9a,10a,以及11a中的任何一个的主题可以可任选地包括,操作进一步包括:将所述任务上下文元数据标签添加到与所述第二设备相关联的任务列表中;当所述第二设备不与任务流送管理器进行通信时,保持与所述第二设备相关联的所述任务列表;以及,当所述第二设备与所述任务流送管理器通信地连接时,推送与所述第二设备相关联的所述任务列表。
在示例13a中,示例9a,10a,11a,以及12a中的任何一个的主题可以可任选地包括,操作进一步包括:向所述第一设备,提供所述第二元数据以及与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用的操作;以及,向所述第二设备,提供所述第一元数据以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的可用的操作。
在示例14a中,示例9a,10a,11a,12a,以及13a中的任何一个的主题可以可任选地包括,操作进一步包括:接收下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的更新;以及向所述第一设备,提供下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及,(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用的操作的更新。
示例15是至少一个或一个在其上存储了用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的指令的机器可读非瞬态存储介质,其中所述指令,当由至少一个处理器执行时,导致所述至少一个处理器执行下列操作:从所述第二设备上的第二任务流送客户端上的任务流送管理器,接收用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的第一元数据;以及,从所述第二任务流送客户端上的所述任务流送管理器,接收标识文件、操作,以及所述第二设备的任务上下文元数据标签的通知,其中所述文件是使用所述第一设备上的第一任务流送客户端,从存储在多个设备中的多个文件中选择的,所述操作是使用所述第一任务流送客户端,从所述第二设备的用于对所述文件进行操作的可用的操作中选择的。
在示例16中,示例15的主题可以可任选地包括:呈现所述任务上下文元数据标签的所述通知,供显示在所述第二设备上。
在示例17中,示例15或16的主题可以可任选地包括:使用所述第二任务流送客户端,提供用户界面,以允许用户指出接受对由所述任务上下文元数据标签所标识的所述文件执行所述操作。
在示例18中,示例15-17中的任何一个的主题可以可任选地包括:使用所述第二设备,对由所述任务上下文元数据标签所标识的所述文件执行所述操作。
示例19是用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的设备,所述设备包括:至少一个存储器元件;耦合到所述至少一个存储器元件的至少一个处理器;以及,所述第一设备上的任务流送客户端,当由所述至少一个处理器执行时,被配置成:从所述第一设备上的任务流送客户端向任务流送管理器,提供用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件操作的能力相关联的一个或多个用户偏好的元数据;使用第一设备上的第一任务流送客户端,提供用户界面,供用户创建任务上下文;通过所述用户界面,接收对下列各项的一个或多个用户选择:文件、利用所述文件,在所述第二设备上执行的操作,以及所述第二设备,其中所述文件是从存储在多个设备中的多个文件中选择的,所述操作是从用于对所述文件进行操作的所述第二设备的可用的操作中选择的;以及,从所述第一任务流送客户端向所述任务流送管理器,传输标识所述文件、所述操作、以及所述第二设备的任务上下文元数据标签,以允许所述任务流送管理器,使用所述第二设备上的第二任务流送客户端,将所述任务上下文元数据标签通知给所述第二设备。
在示例20中,示例19的主题可以可任选地包括:存储在多个设备中的多个文件包括存储在第一设备、第二设备,和/或一个或多个联网的存储设备中的文件。
在示例21中,示例19或20的主题可以可任选地包括:在所述第一任务流送客户端上,从所述任务流送管理器,接收与存储在所述第二设备和/或一个或多个联网的存储设备中的文件相关联的元数据。
在示例22中,示例19-21中的任何一个的主题可以可任选地包括:在所述第一任务流送客户端上,从所述任务流送管理器,接收与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用操作。
在示例23中,示例19-22中的任何一个的主题可以可任选地包括:,在接收到对所述文件的选择时,基于所述文件的所述类型,确定适用于由所述第二设备对所述文件进行操作的所述可用的操作;以及,呈现适用于对所述文件进行操作的所述可用的操作,供显示在用户界面上,以使所述第一任务流送客户端上的用户能够选择所述操作中的一项或多项作为所述操作。
在示例24中,示例19-23中的任何一个的主题可以可任选地包括:使用所述第一设备上的所述第一流送客户端的监听器,检测对用于标识存储在所述第一设备中的所述一个或多个文件的所述元数据的更新和/或对与所述第一设备的用于对不同类型的文件进行操作的能力相关联的所述一个或多个用户偏好的更新;以及,如果检测到更新,则从所述第一任务流送客户端向所述任务流送管理器传输所述更新。
在示例25中,示例19-24中的任何一个的主题可以可任选地包括:在所述第一任务流送客户端上,从所述任务流送管理器,接收下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及,(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的操作的更新。
在示例26中,示例19-25中的任何一个的主题可以可任选地包括:在所述第一设备上的所述第一任务流送客户端上,接收登录凭证;以及,接收从所述第一任务流送客户端到所述任务流送管理器的所述登录凭证,以允许所述任务流送管理器检索与存储在一个或多个联网的存储设备中的文件相关联的元数据。
示例27是用于在第一设备和远离所述第一设备的第二设备之间管理任务流送的设备,所述设备包括:至少一个存储器元件;耦合到所述至少一个存储器元件的至少一个处理器;任务流送管理器,当由所述至少一个处理器执行时,被配置成:在任务流送管理器处,从所述第一设备上的第一任务流送客户端,接收用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的第一元数据;在所述任务流送管理器处,从所述第二设备上的第二任务流送客户端,接收用于标识存储在所述第二设备中的一个或多个文件以及与所述第二设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的第二元数据;在所述任务流送管理器处,从所述第一任务流送客户端,接收标识文件、操作,以及所述第二设备的任务上下文元数据,其中所述文件是使用所述第一任务流送客户端,从存储在包括所述第一设备、所述第二设备,以及一个或多个联网的存储设备的多个设备中的多个文件中选择的,所述操作是使用所述第一任务流送客户端,从所述第二设备的用于对所述文件进行操作的可用的操作中选择的;以及,从所述任务流送管理器向所述第二任务流送客户端,传输所述任务上下文元数据标签的通知。
在示例28中,示例27的主题可以可任选地包括:基于与所述第二设备的能力相关联的所述一个或多个用户偏好以及所述任务流送管理器的用于将所述文件转换为适用于与所述第二设备的能力相关联的所述一个或多个用户偏好中的某些的格式的一个或多个能力,生成所述第二设备的用于对不同类型的文件进行操作的所述可用的操作。
在示例29中,示例27或28的主题可以可任选地包括:检索所述文件;在所述任务流送管理器上,使用所述任务流送管理器的所述一个或多个能力,将所述文件转换为适用于与所述第二设备的能力相关联的所述一个或多个用户偏好中的某些的格式;以及,给所述第二任务流送客户端提供对所述已转换的文件的访问。
在示例30中,示例27--29中的任何一个的主题可以可任选地包括:将所述任务上下文元数据标签添加到与所述第二设备相关联的任务列表中;当所述第二设备不与所述任务流送管理器进行通信时,保持与所述第二设备相关联的所述任务列表;以及,当所述第二设备以通信方式与所述任务流送管理器进行连接时,(向所述第二设备)推送与所述第二设备相关联的所述任务列表。
在示例32中,示例27-30中的任何一个的主题可以可任选地包括:从所述任务流送管理器向所述第一任务流送客户端,提供所述第二元数据以及与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用操作;以及,从所述任务流送管理器向所述第二任务流送客户端,提供所述第一元数据以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的可用操作。
在示例32中,示例27-31中的任何一个的主题可以可任选地包括:在所述任务流送管理器处,接收下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的更新;以及,从所述任务流送管理器向所述第一任务流送客户端提供下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用的操作的更新。
示例33是用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的设备,所述设备包括:至少一个存储器元件;耦合到所述至少一个存储器元件的至少一个处理器;以及,所述第二设备上的第二任务流送客户端,当由所述至少一个处理器执行时,被配置成:从所述第二设备上的第二任务流送客户端上的任务流送管理器,接收用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的第一元数据;以及,从所述第二任务流送客户端上的所述任务流送管理器,接收标识文件、操作,以及所述第二设备的任务上下文元数据标签的通知,其特征在于,所述文件是使用所述第一设备上的第一任务流送客户端,从存储在多个设备中的多个文件中选择的,所述操作是使用所述第一任务流送客户端,从所述第二设备的用于对所述文件进行操作的可用的操作中选择的;以及,使用所述第二任务流送客户端处的所述任务流送管理器,提供用于向所述第二设备的用户提供所述通知的用户界面。
在示例34中,示例33的主题可以可任选地包括:呈现所述任务上下文元数据标签的所述通知,供显示在所述第二设备上。
在示例35中,示例33或34的主题可以可任选地包括:使用所述第二任务流送客户端,提供用户界面,以允许用户指出接受对由所述任务上下文元数据标签所标识的所述文件执行所述操作。
在示例36中,示例33-35中的任何一个的主题可以可任选地包括:使用所述第二设备,对由所述任务上下文元数据标签所标识的所述文件执行所述操作。
示例37是一种用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的方法,所述方法包括:从所述第一设备上的任务流送客户端向任务流送管理器,提供用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件操作的能力相关联的一个或多个用户偏好的元数据;使用所述第一设备上的所述第一任务流送客户端,提供用户界面,供用户创建任务上下文;通过所述用户界面,接收用户对下列各项的一个或多个选择:文件、利用所述文件,在所述第二设备上执行的操作,以及所述第二设备,其中所述文件从存储在多个设备中的多个文件中选择的,所述操作是从用于对所述文件进行操作的所述第二设备的可用的操作中选择的;以及,从所述第一任务流送客户端向所述任务流送管理器,传输标识所述文件、所述操作、以及所述第二设备的任务上下文元数据标签,以允许所述任务流送管理器,使用所述第二设备上的第二任务流送客户端,将所述任务上下文元数据标签通知给所述第二设备。
在示例38中,示例37的主题可以可任选地包括:存储在多个设备中的所述多个文件包括存储在所述第一设备、所述第二设备,和/或一个或多个联网的存储设备中的文件。
在示例39中,示例37或38的主题可以可任选地包括:在所述第一任务流送客户端上,从所述任务流送管理器,接收与存储在所述第二设备和/或一个或多个联网的存储设备中的文件相关联的元数据。
在示例40中,示例37-39中的任何一个的主题可以可任选地包括:在所述第一任务流送客户端上,从所述任务流送管理器,接收与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用的操作。
在示例41中,示例37-40中的任何一个的主题可以可任选地包括:,在接收到对所述文件的选择时,基于所述文件的所述类型,确定适用于由所述第二设备对所述文件进行操作的所述可用的操作;以及,呈现适用于对所述文件进行操作的所述可用的操作,供显示在用户界面上,以使所述第一任务流送客户端上的用户能够选择所述操作中的一项或多项作为所述操作。
在示例42中,示例37-41中的任何一个的主题可以可任选地包括:使用所述第一设备上的所述第一流送客户端的监听器,检测对用于标识存储在所述第一设备中的所述一个或多个文件的所述元数据的更新和/或对与所述第一设备的用于对不同类型的文件进行操作的能力相关联的所述一个或多个用户偏好的更新;以及,如果检测到更新,则从所述第一任务流送客户端向所述任务流送管理器传输所述更新。
在示例43中,示例37-42中的任何一个的主题可以可任选地包括:在所述第一任务流送客户端上,从所述任务流送管理器,接收下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的操作的更新。
在示例44中,示例37-43中的任何一个的主题可以可任选地包括:在所述第一设备上的所述第一任务流送客户端上,接收登录凭证;以及,从所述第一任务流送客户端向所述任务流送管理器提供所述登录凭证,以允许所述任务流送管理器检索与存储在一个或多个联网的存储设备中的文件相关联的元数据。
示例45是一种用于在第一设备和远离所述第一设备的第二设备之间管理任务流送的方法,所述方法包括:
在任务流送管理器处,从所述第一设备上的第一任务流送客户端,接收用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的第一元数据;在所述任务流送管理器处,从所述第二设备上的第二任务流送客户端,接收用于标识存储在所述第二设备中的一个或多个文件以及与所述第二设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的第二元数据;在所述任务流送管理器处,从所述第一任务流送客户端,接收标识文件、操作,以及所述第二设备的任务上下文元数据,其特征在于,所述文件是使用所述第一任务流送客户端,从存储在包括所述第一设备、所述第二设备,以及一个或多个联网的存储设备的多个设备中的多个文件中选择的,所述操作是使用所述第一任务流送客户端,从所述第二设备的用于对所述文件进行操作的可用的操作中选择的;以及,从所述任务流送管理器向所述第二任务流送客户端,传输所述任务上下文元数据标签的通知。
在示例46中,示例45的主题可以可任选地包括:基于与所述第二设备的能力相关联的所述一个或多个用户偏好以及所述任务流送管理器的用于将所述文件转换为适用于与所述第二设备的能力相关联的所述一个或多个用户偏好中的某些的格式的一个或多个能力,生成所述第二设备的用于对不同类型的文件进行操作的所述可用的操作。
在示例47中,示例45或46的主题可以可任选地包括:检索所述文件;在所述任务流送管理器上,使用所述任务流送管理器的所述一个或多个能力,将所述文件转换为适用于与所述第二设备的能力相关联的所述一个或多个用户偏好中的某些的格式;以及,给所述第二任务流送客户端提供对所述已转换的文件的访问。
在示例48中,示例45-47中的任何一个的主题可以可任选地包括:将所述任务上下文元数据标签添加到与所述第二设备相关联的任务列表中;当所述第二设备不与所述任务流送管理器进行通信时,保持与所述第二设备相关联的所述任务列表;以及,当所述第二设备以通信方式与所述任务流送管理器进行连接时,推送与所述第二设备相关联的所述任务列表。
在示例49中,示例45-47中的任何一个的主题可以可任选地包括:从所述任务流送管理器向所述第一任务流送客户端,提供所述第二元数据以及与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用的操作;以及,从所述任务流送管理器向所述第二任务流送客户端,提供所述第一元数据以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的可用的操作。
在示例50中,示例45-49中的任何一个的主题可以可任选地包括:在所述任务流送管理器处,接收下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的更新;以及,从所述任务流送管理器向所述第一任务流送客户端,提供下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及,(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用的操作的更新。
示例51是一种用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的方法,所述方法包括:从所述第二设备上的第二任务流送客户端上的任务流送管理器,接收用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的第一元数据;以及,从所述第二任务流送客户端上的所述任务流送管理器,接收标识文件、操作,以及所述第二设备的任务上下文元数据标签的通知,其中所述文件是使用所述第一设备上的第一任务流送客户端,从存储在多个设备中的多个文件中选择的,所述操作是使用所述第一任务流送客户端,从所述第二设备的用于对所述文件进行操作的可用操作中选择的;以及,使用所述第二任务流送客户端处的所述任务流送管理器,提供用于向所述第二设备的用户提供所述通知的用户界面。
在示例52中,示例51的主题可以可任选地包括:呈现所述任务上下文元数据标签的所述通知,供显示在所述第二设备上。
在示例53中,示例51或53的主题可以可任选地包括:使用所述第二任务流送客户端,提供用户界面,以允许用户指出接受对由所述任务上下文元数据标签所标识的所述文件执行所述操作。
在示例54中,示例51-53中的任何一个的主题可以可任选地包括:使用所述第二设备,对由所述任务上下文元数据标签所标识的所述文件执行所述操作。
示例55是用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的设备,所述设备包括:用于从所述第一设备上的任务流送客户端向任务流送管理器,提供用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件操作的能力相关联的一个或多个用户偏好的元数据的装置;用于在所述第一设备上的所述第一任务流送客户端上,接收用户对下列各项的一个或多个选择的装置:文件、利用所述文件,在所述第二设备上执行的操作,以及所述第二设备,其中所述文件从存储在多个设备中的多个文件中选择的,所述操作是从用于对所述文件进行操作的所述第二设备的可用的操作中选择的;以及,装置,用于从所述第一任务流送客户端向所述任务流送管理器,传输标识所述文件、所述操作、以及所述第二设备的任务上下文元数据标签,以允许所述任务流送管理器,使用所述第二设备上的第二任务流送客户端,将所述任务上下文元数据标签通知给所述第二设备。
示例56是用于在第一设备和远离所述第一设备的第二设备之间管理任务流送的设备,所述设备包括:装置,用于在任务流送管理器处,从所述第一设备上的第一任务流送客户端,接收用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的第一元数据;装置,用于在所述任务流送管理器处,从所述第二设备上的第二任务流送客户端,接收用于标识存储在所述第二设备中的一个或多个文件以及与所述第二设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的第二元数据;装置,用于在所述任务流送管理器处,从所述第一任务流送客户端,接收标识文件、操作,以及所述第二设备的任务上下文元数据,其中所述文件是使用所述第一任务流送客户端,从存储在多个设备中的多个文件中选择的,所述操作是使用所述第一任务流送客户端,从所述第二设备的用于对所述文件进行操作的可用的操作中选择的;以及,装置,用于从所述任务流送管理器向所述第二任务流送客户端,传输所述任务上下文元数据标签的通知。
示例57是用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的设备,所述设备包括:装置,用于从所述第二设备上的第二任务流送客户端上的任务流送管理器,接收用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的第一元数据;以及,装置,用于从所述第二任务流送客户端上的所述任务流送管理器,接收标识文件、操作,以及所述第二设备的任务上下文元数据标签的通知,其中所述文件是使用所述第一设备上的第一任务流送客户端,从存储在多个设备中的多个文件中选择的,所述操作是使用所述第一任务流送客户端,从所述第二设备的用于对所述文件进行操作的可用操作中选择的。
示例58是用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的设备,所述设备包括:用于执行示例37-54中的任何一个的方法的装置。
在示例59中,示例58的主题可以可任选地包括用于执行方法的装置,包括至少一个处理器和至少一个存储器元件。
在示例60中,示例59的主题可以可任选地包括至少一个存储器元件,包括机器可读取的指令,所述指令,当被执行时,导致设备执行示例37-54中的任何一个的方法。
在示例61中,示例58-60中的任何一个的主题可以可任选地包括设备是计算设备。
示例62是至少一个或一个包括用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的指令的机器可读非瞬态存储介质,其特征在于,所述指令,当被执行时,实现方法或实现如示例19-61中的任何一个所描述的设备。
示例63一种用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的任务-上下文元数据标签,所述任务上下文元数据标签包括:文件的第一标识符,其中所述文件是可从存储在多个设备中的多个文件选择的;要对所述文件在所述第二设备上执行的操作的第二标识符,其中所述操作是可从所述第二设备的用于对所述文件进行操作的可用操作中选择的;第二设备的第三标识符;其中所述任务上下文元数据标签包括用于使任务流送管理器能使用所述第二设备上的第二任务流送客户端,将所述任务上下文元数据标签通知给所述第二设备的信息。

Claims (25)

1.一种用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的方法,所述方法包括:
从所述第一设备上的第一任务流送客户端向任务流送管理器提供元数据,所述元数据用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好;
使用所述第一设备上的所述第一任务流送客户端提供用户界面,供用户创建任务上下文;
通过所述用户界面接收对下列各项的一个或多个用户选择:文件、将在所述第二设备上对所述文件执行的操作、以及所述第二设备,其中所述文件是从存储在多个设备中的多个文件中选择的,而所述操作是从用于对所述文件进行操作的所述第二设备的可用操作中选择的;以及
从所述第一任务流送客户端向所述任务流送管理器传输标识所述文件、所述操作、以及所述第二设备的任务上下文元数据标签,以允许所述任务流送管理器使用所述第二设备上的第二任务流送客户端来将所述任务上下文元数据标签通知给所述第二设备。
2.如权利要求1所述的方法,其特征在于,存储在多个设备中的所述多个文件包括存储在所述第一设备、所述第二设备,和/或一个或多个联网的存储设备中的文件。
3.如权利要求1或2所述的方法,其特征在于,进一步包括:
在所述第一任务流送客户端上,从所述任务流送管理器接收与存储在所述第二设备和/或一个或多个联网的存储设备中的文件相关联的元数据。
4.如权利要求1或2所述的方法,其特征在于:进一步包括:
在所述第一任务流送客户端上,从所述任务流送管理器接收与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用操作。
5.如权利要求1或2所述的方法,其特征在于,进一步包括:
在接收到对所述文件的选择时,基于所述文件的所述类型,确定适用于由所述第二设备对所述文件进行操作的所述可用操作;以及
呈现适用于对所述文件进行操作的所述可用操作,供显示在用户界面上,以使所述第一任务流送客户端处的用户能够选择所述操作中的一项或多项作为所述操作。
6.如权利要求1或2所述的方法,其特征在于,进一步包括:
使用所述第一设备上的所述第一任务流送客户端的监听器来检测对用于标识存储在所述第一设备中的所述一个或多个文件的所述元数据的更新和/或对与所述第一设备的用于对不同类型的文件进行操作的能力相关联的所述一个或多个用户偏好的更新;以及
如果检测到更新,则从所述第一任务流送客户端向所述任务流送管理器传输所述更新。
7.如权利要求1或2所述的方法,其特征在于:进一步包括:
在所述第一任务流送客户端上,从所述任务流送管理器,接收下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的操作的更新。
8.如权利要求1或2所述的方法,其特征在于,进一步包括:
在所述第一设备上的所述第一任务流送客户端上,接收登录凭证;以及
从所述第一任务流送客户端向所述任务流送管理器提供所述登录凭证,以允许所述任务流送管理器检索与存储在一个或多个联网的存储设备中的文件相关联的元数据。
9.一种用于管理第一设备和远离所述第一设备的第二设备之间的任务流送的方法,所述方法包括:
在任务流送管理器处从所述第一设备上的第一任务流送客户端接收第一元数据,所述第一元数据用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好;
在所述任务流送管理器处从所述第二设备上的第二任务流送客户端接收第二元数据,所述第二元数据用于标识存储在所述第二设备中的一个或多个文件以及与所述第二设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好;
在所述任务流送管理器处从所述第一任务流送客户端接收标识文件、操作、以及所述第二设备的任务上下文元数据标签,其中所述文件是通过使用所述第一任务流送客户端从存储在多个设备中的多个文件中选择的,而所述操作是通过使用所述第一任务流送客户端从所述第二设备用于对所述文件进行操作的可用操作中选择的;以及
从所述任务流送管理器向所述第二任务流送客户端传输对所述任务上下文元数据标签的通知。
10.如权利要求9所述的方法,其特征在于,进一步包括:
基于与所述第二设备的能力相关联的所述一个或多个用户偏好以及所述任务流送管理器的用于将所述文件转换为适用于与所述第二设备的能力相关联的所述一个或多个用户偏好中的某些的格式的一个或多个能力,生成所述第二设备的用于对不同类型的文件进行操作的所述可用操作。
11.如权利要求9或10所述的方法,其特征在于,进一步包括:
检索所述文件;
在所述任务流送管理器处,使用所述任务流送管理器的所述一个或多个能力,将所述文件转换为适用于与所述第二设备的能力相关联的所述一个或多个用户偏好中的某些的格式;以及
向所述第二设备提供对所述已转换的文件的访问。
12.如权利要求9或10所述的方法,其特征在于,进一步包括:
将所述任务上下文元数据标签添加到与所述第二设备相关联的任务列表中;
当所述第二设备不与所述任务流送管理器进行通信时,保持与所述第二设备相关联的所述任务列表;以及
当所述第二设备与所述任务流送管理器通信地连接时,推送与所述第二设备相关联的所述任务列表。
13.如权利要求9或10所述的方法,其特征在于,进一步包括:
从任务流送管理器向所述第一任务流送客户端提供所述第二元数据以及与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用操作;以及
从所述任务流送管理器向所述第二任务流送客户端提供所述第一元数据以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的可用操作。
14.如权利要求9或10所述的方法,其特征在于,进一步包括:
在所述任务流送管理器处接收下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好的更新;以及
从所述任务流送管理器向所述第一任务流送客户端提供下列各项中的一项或多项:(i)对与存储在所述第二设备中的文件相关联的元数据的更新,(ii)对与存储在一个或多个联网的存储设备中的文件相关联的元数据的更新;以及(iii)对与所述第二设备的用于对不同类型的文件进行操作的能力相关联的可用操作的更新。
15.一种用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的方法,所述方法包括:
从所述第二设备上的第二任务流送客户端上的任务流送管理器接收第一元数据,所述第一元数据用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好;以及
从所述第二任务流送客户端上的所述任务流送管理器接收对标识文件、操作,以及所述第二设备的任务上下文元数据标签的通知,其中所述文件是使用所述第一设备上的第一任务流送客户端从存储在多个设备中的多个文件中选择的,而所述操作是使用所述第一任务流送客户端从所述第二设备的用于对所述文件进行操作的可用操作中选择的;以及
使用所述第二任务流送客户端处的所述任务流送管理器,提供用户界面,所述用户界面用于向所述第二设备的用户提供所述通知。
16.如权利要求15所述的方法,其特征在于,所述操作进一步包括:
呈现所述任务上下文元数据标签的所述通知,供显示在所述第二设备上。
17.如权利要求15或16所述的方法,其特征在于,所述操作进一步包括:
使用所述第二任务流送客户端提供用户界面,以允许用户指示接受对由所述任务上下文元数据标签标识的所述文件执行所述操作。
18.如权利要求15或16所述的方法,其特征在于,所述操作进一步包括:
使用所述第二设备,对由所述任务上下文元数据标签所标识的所述文件执行所述操作。
19.一种用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的设备,所述设备包括:
至少一个存储器元件;
耦合到所述至少一个存储器元件的至少一个处理器;以及,
所述第一设备上的第一任务流送客户端,当由所述至少一个处理器执行时被配置成:
从所述第一设备上的所述第一任务流送客户端向任务流送管理器提供元数据,所述元数据用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好;
使用所述第一设备上的所述第一任务流送客户端提供用户界面,供用户创建任务上下文;
通过所述用户界面接收对下列各项的一个或多个用户选择:文件、在所述第二设备上要对所述文件执行的操作、以及所述第二设备,其中所述文件是从存储在多个设备中的多个文件中选择的,而所述操作是从所述第二设备的用于对所述文件进行操作的可用操作中选择的;以及
从所述第一任务流送客户端向所述任务流送管理器传输标识所述文件、所述操作、以及所述第二设备的任务上下文元数据标签,以允许所述任务流送管理器使用所述第二设备上的第二任务流送客户端将所述任务上下文元数据标签通知给所述第二设备。
20.一种用于在第一设备和远离所述第一设备的第二设备之间管理任务流送的设备,所述设备包括:
至少一个存储器元件;
耦合到所述至少一个存储器元件的至少一个处理器;
任务流送管理器,当由所述至少一个处理器执行时,所述任务流送管理器被配置成:
在任务流送管理器处,从所述第一设备上的第一任务流送客户端接收第一元数据,所述第一元数据用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好;
在所述任务流送管理器处,从所述第二设备上的第二任务流送客户端接收第二元数据,所述第二元数据用于标识存储在所述第二设备中的一个或多个文件以及与所述第二设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好;
在所述任务流送管理器处,从所述第一任务流送客户端接收标识文件、操作、以及所述第二设备的任务上下文元数据,其中所述文件是使用所述第一任务流送客户端从存储在包括所述第一设备、所述第二设备、以及一个或多个联网的存储设备的多个设备中的多个文件中选择的,而所述操作是使用所述第一任务流送客户端从所述第二设备的用于对所述文件进行操作的可用操作中选择的;以及
从所述任务流送管理器向所述第二任务流送客户端传输对所述任务上下文元数据标签的通知。
21.如权利要求20所述的设备,其特征在于,所述任务流送管理器还被配置成:
基于与所述第二设备的能力相关联的所述一个或多个用户偏好以及所述任务流送管理器的用于将所述文件转换为适用于与所述第二设备的能力相关联的所述一个或多个用户偏好中的某些的格式的一个或多个能力,生成所述第二设备的用于对不同类型的文件进行操作的所述可用操作。
22.一种用于在第一设备和远离所述第一设备的第二设备之间进行任务流送的设备,所述设备包括:
至少一个存储器元件;
耦合到所述至少一个存储器元件的至少一个处理器;以及,
所述第二设备上的第二任务流送客户端,当由所述至少一个处理器执行时,所述第二任务流送客户端被配置成:
从所述第二设备上的第二任务流送客户端上的任务流送管理器接收第一元数据,所述第一元数据用于标识存储在所述第一设备中的一个或多个文件以及与所述第一设备的用于对不同类型的文件进行操作的能力相关联的一个或多个用户偏好;以及
从所述第二任务流送客户端上的所述任务流送管理器,接收标识文件、操作、以及所述第二设备的任务上下文元数据标签的通知,其中所述文件是使用所述第一设备上的第一任务流送客户端从存储在多个设备中的多个文件中选择的,而所述操作是使用所述第一任务流送客户端从所述第二设备的用于对所述文件进行操作的可用操作中选择的;以及
使用所述第二任务流送客户端处的所述任务流送管理器,提供用户界面,所述用户界面用于向所述第二设备的用户提供所述通知。
23.一种用于任务流送的设备,所述设备包括用于执行如权利要求1-18中任一项所述的方法的装置。
24.如权利要求23所述的设备,其特征在于,所述设备是计算设备。
25.包括用于任务流送的指令的至少一个机器可读存储介质,其中所述指令在被执行时实现如权利要求1-18中任一项所述的方法。
CN201380079194.2A 2013-09-27 2013-12-14 用于高效数据共享的任务上下文架构 Active CN105493070B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN4387CH2013 2013-09-27
IN4387/CHE/2013 2013-09-27
PCT/US2013/075205 WO2015047433A1 (en) 2013-09-27 2013-12-14 Task-context architecture for efficient data sharing

Publications (2)

Publication Number Publication Date
CN105493070A CN105493070A (zh) 2016-04-13
CN105493070B true CN105493070B (zh) 2018-04-24

Family

ID=52744297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380079194.2A Active CN105493070B (zh) 2013-09-27 2013-12-14 用于高效数据共享的任务上下文架构

Country Status (3)

Country Link
US (1) US9936018B2 (zh)
CN (1) CN105493070B (zh)
WO (1) WO2015047433A1 (zh)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
DE112014000709B4 (de) 2013-02-07 2021-12-30 Apple Inc. Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten
EP3937002A1 (en) 2013-06-09 2022-01-12 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US9936018B2 (en) 2013-09-27 2018-04-03 Mcafee, Llc Task-context architecture for efficient data sharing
US9778817B2 (en) 2013-12-31 2017-10-03 Findo, Inc. Tagging of images based on social network tags or comments
KR102267015B1 (ko) * 2014-01-21 2021-06-18 삼성전자주식회사 데이터 처리 방법 및 그 전자 장치
CN106462541A (zh) * 2014-05-13 2017-02-22 关德 用于管理、共享和组织存储在多项云端服务上的信息的系统和方法
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10936494B1 (en) 2014-12-05 2021-03-02 EMC IP Holding Company LLC Site cache manager for a distributed file system
US10430385B1 (en) 2014-12-05 2019-10-01 EMC IP Holding Company LLC Limited deduplication scope for distributed file systems
US10951705B1 (en) 2014-12-05 2021-03-16 EMC IP Holding Company LLC Write leases for distributed file systems
KR101670687B1 (ko) * 2014-12-17 2016-10-31 주식회사 케이티 메시지 전송 시스템, 방법 및 컴퓨터 프로그램
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10440106B2 (en) * 2015-09-14 2019-10-08 Microsoft Technology Licensing, Llc Hosted file sync with stateless sync nodes
US9641553B2 (en) 2015-09-25 2017-05-02 Intel Corporation Methods and apparatus to facilitate end-user defined policy management
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10430040B2 (en) 2016-01-18 2019-10-01 Microsoft Technology Licensing, Llc Method and an apparatus for providing a multitasking view
JP6828277B2 (ja) * 2016-06-09 2021-02-10 富士ゼロックス株式会社 クライアント装置、情報処理システム及びプログラム
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10261830B2 (en) * 2016-06-14 2019-04-16 Microsoft Technology Licensing, Llc Cross-device task execution
US10313404B2 (en) 2016-06-30 2019-06-04 Microsoft Technology Licensing, Llc Sharing user context and preferences
US11138566B2 (en) * 2016-08-31 2021-10-05 Fulcrum Global Technologies Inc. Method and apparatus for tracking, capturing, and synchronizing activity data across multiple devices
US10713604B2 (en) * 2016-09-30 2020-07-14 Salesforce.Com, Inc. Bi-directional notification framework
US11171905B1 (en) 2016-10-17 2021-11-09 Open Invention Network Llc Request and delivery of additional data
CN106557362B (zh) * 2016-11-15 2020-09-18 北京光年无限科技有限公司 应用于智能机器人的任务迁移方法及系统
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US11385930B2 (en) * 2017-06-21 2022-07-12 Citrix Systems, Inc. Automatic workflow-based device switching
CN107911365B (zh) * 2017-11-17 2020-03-24 厦门市美亚柏科信息股份有限公司 一种多网络用户信息安全交互方法、终端设备及存储介质
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
CN108874971B (zh) * 2018-06-07 2021-09-24 北京赛思信安技术股份有限公司 一种应用于海量标签化实体数据存储的工具和方法
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
WO2021223174A1 (en) 2020-05-07 2021-11-11 Citrix Systems, Inc. Task shifting between computing devices
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
CN115145439B (zh) * 2020-11-16 2024-06-11 Oppo广东移动通信有限公司 桌面元数据的显示方法、访问方法及相关装置
CN113704670A (zh) * 2021-09-02 2021-11-26 工银科技有限公司 数据共享方法、装置、设备、介质和程序产品
CN114286167A (zh) * 2021-12-03 2022-04-05 杭州逗酷软件科技有限公司 跨设备的交互方法、装置、电子设备以及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1577279A (zh) * 2003-06-27 2005-02-09 微软公司 从共享文档的上下文中观看和管理协作数据的方法和设备
CN1609858A (zh) * 2003-10-24 2005-04-27 微软公司 对等组共享空间中进行文件共享的系统和方法
CN102523346A (zh) * 2011-12-15 2012-06-27 广州市动景计算机科技有限公司 跨设备文件传输方法、装置、中转服务器及设备
CN102801847A (zh) * 2011-05-25 2012-11-28 深圳富泰宏精密工业有限公司 远端操作共享系统及方法
CN102893272A (zh) * 2010-05-19 2013-01-23 微软公司 对象的共享和同步
CN103064829A (zh) * 2011-10-19 2013-04-24 王国臣 一种基于互联网的复制粘贴方法和系统
CN103118077A (zh) * 2013-01-15 2013-05-22 百度在线网络技术(北京)有限公司 跨设备的内容传输方法、系统和客户端

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073142A (en) 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US6460050B1 (en) 1999-12-22 2002-10-01 Mark Raymond Pace Distributed content identification system
US6901519B1 (en) 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
JP2004038941A (ja) * 2002-04-26 2004-02-05 Matsushita Electric Ind Co Ltd ユニバーサル・マルチメディア・フレームワークの端末装置、サーバ、及びゲートウエイのコンテンツ適合方法
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8713615B2 (en) 2006-02-17 2014-04-29 Verizon Laboratories Inc. Systems and methods for providing a shared folder via television
US7805403B2 (en) * 2007-01-07 2010-09-28 Apple Inc. Synchronization methods and systems
KR20120082390A (ko) * 2009-06-05 2012-07-23 모자이크 멀티미디어, 인코포레이티드 스마트 콘텐츠 태깅 및 상호 작용을 위한 에코시스템
US11308449B2 (en) 2011-04-28 2022-04-19 Microsoft Technology Licensing, Llc Storing metadata inside file to reference shared version of file
US9936018B2 (en) 2013-09-27 2018-04-03 Mcafee, Llc Task-context architecture for efficient data sharing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1577279A (zh) * 2003-06-27 2005-02-09 微软公司 从共享文档的上下文中观看和管理协作数据的方法和设备
CN1609858A (zh) * 2003-10-24 2005-04-27 微软公司 对等组共享空间中进行文件共享的系统和方法
CN102893272A (zh) * 2010-05-19 2013-01-23 微软公司 对象的共享和同步
CN102801847A (zh) * 2011-05-25 2012-11-28 深圳富泰宏精密工业有限公司 远端操作共享系统及方法
CN103064829A (zh) * 2011-10-19 2013-04-24 王国臣 一种基于互联网的复制粘贴方法和系统
CN102523346A (zh) * 2011-12-15 2012-06-27 广州市动景计算机科技有限公司 跨设备文件传输方法、装置、中转服务器及设备
CN103118077A (zh) * 2013-01-15 2013-05-22 百度在线网络技术(北京)有限公司 跨设备的内容传输方法、系统和客户端

Also Published As

Publication number Publication date
US20160212208A1 (en) 2016-07-21
WO2015047433A1 (en) 2015-04-02
US9936018B2 (en) 2018-04-03
CN105493070A (zh) 2016-04-13

Similar Documents

Publication Publication Date Title
CN105493070B (zh) 用于高效数据共享的任务上下文架构
US11063888B2 (en) Shared content item commenting
JP6854041B2 (ja) コンテンツ管理システムにおけるプロジェクトの管理
AU2017203690C1 (en) File-level commenting
US9628582B2 (en) Social-driven precaching of accessible objects
CN102520841B (zh) 收集用户接口
US9501762B2 (en) Application recommendation using automatically synchronized shared folders
US9374326B2 (en) Providing information for shared content
JP7307712B2 (ja) 端末、端末の制御方法、及びプログラム
US20150350221A1 (en) Shared data within a family
US10324614B2 (en) Sharing a file with a single contact
US11995521B2 (en) Cross-model score normalization
US20220164743A1 (en) Managing projects in a content management system
US20240241861A1 (en) Embedded folder views
WO2014120220A1 (en) Providing access to information across multiple computing devices
US20150381754A1 (en) Unifying cloud services for online sharing
JP2016224949A (ja) タスクトラッキング方法、コンピュータプログラム、およびシステム
Marzuni et al. Cross-MapReduce: Data transfer reduction in geo-distributed MapReduce
CN113360473A (zh) 一种面向医学检验图像大数据的云存储计算系统
US20150142859A1 (en) Document collections distribution and publishing
US10452683B2 (en) Selectively synchronizing data on computing devices based on selective sync templates
JP2020161114A (ja) 検索に基づく収集支援方法およびコンピュータ装置
US20200177531A1 (en) Photo sharing in a trusted auto-generated network
Wickes Why Not Custom KBART? Converging Trends of Automation and Migration
Sadeghipour Roudsari CAD-Integrated Web-Based Building Performance Simulation Platform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: McAfee limited liability company

Address before: American California

Patentee before: Mcafee, Inc.

CP01 Change in the name or title of a patent holder