CN104395855A - 用户组之间的基于云端的数据项共享和协作 - Google Patents
用户组之间的基于云端的数据项共享和协作 Download PDFInfo
- Publication number
- CN104395855A CN104395855A CN201380032457.4A CN201380032457A CN104395855A CN 104395855 A CN104395855 A CN 104395855A CN 201380032457 A CN201380032457 A CN 201380032457A CN 104395855 A CN104395855 A CN 104395855A
- Authority
- CN
- China
- Prior art keywords
- data item
- user
- client device
- amendment
- user account
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
云计算***可用于通过创建和管理集合来促成用户组间的数据项共享和协作。一组用户可订阅集合,其中每一个用户与至少一个客户端设备相关联。订阅用户可在客户端设备上本地创建数据项并将该数据项分配给集合。响应于该分配,订阅该集合的每个用户可接收并将该数据项的副本本地存储在客户端设备上。对数据项的本地副本所做的任何修改可自动发布给每个订阅用户的客户端设备。可将包括冲突修改在内的修改合并到本地副本中。
Description
相关申请的交叉引用
本专利申请要求提交于2012年5月16日的名称为“CLOUD-BASEDDATA ITEM SHARING AND COLLABORATION AMONG GROUPS OFUSERS”的美国专利申请序列号13/473,575的优先权,其全文据此以引用方式并入本文。
背景技术
1.技术领域
本公开涉及云计算,更具体地涉及用户组间的基于云端的数据项共享和协作。
2.简介
一些云计算***所提供的一种热门服务是共享文件(诸如文字处理文档、电子表格、或用于演示的一组幻灯片)的能力。当前,云计算***正在提供基于云端的共享特征的两种通用变型。在第一变型中,用户可使用基于云端的应用程序创建文档。该用户继而可为云计算***的其他用户提供对该文档的访问。在一些情况下,受邀用户甚至还具有直接编辑云端中文档的能力。遗憾的是,此种形式的文档共享具有多种缺点。例如,用户在可共享的数据类型上受到限制,因为用户仅能够共享利用基于云端的应用程序能创建的数据。另外,数据创建和协作需要在编辑过程期间连续访问基于云端的应用程序。最后,一些云计算***中,文档上的协作能力略为有限,因为每次仅有一个用户能够编辑文档。
在第二变型中,用户使用该用户的本地设备上的应用程序创建文档,然后通过云计算***发布该文档。在文档发布之后,用户可发送或者用户可使云计算***发送所发布文档的URL至一个或多个其他用户。在一些情况下,云计算***将允许用户私用地发布文档使得仅受邀用户可查看该文档。此外,一些云计算***允许受邀用户将所发布文档的副本下载到受邀用户的本地设备。然而,在许多情况下,下载格式是不可编辑的。遗憾的是,此种形式的数据共享将繁重的负担强加于用户。例如,如果受邀用户想要向文档创建者提供反馈,则该受邀用户必须要么下载该文档并将反馈嵌入该文档中,要么将反馈放置在单独的文件中。受邀用户继而可要么通过发布反馈,要么通过将反馈经由诸如电子邮件之类的一些其他通信方式发送至文档创建者来共享反馈。无论用哪种方法发送反馈,一旦文档创建者接收到反馈,文档创建者将必须手动地将该反馈并入原始文档中。随着用户数量的增加,这可能成为一项很费力的任务。
发明内容
本公开的附加特征和优点将在随后的描述中进行阐述,并且部分地将从该描述显而易见,或者可以通过实践本文所公开的原理而获知。本公开的特征和优点可借助于所附权利要求中特别指出的器械和组合来实现并获得。本公开的这些和其他特征将通过以下描述和所附权利要求变得更加充分地明显,或者可以通过本文所阐述的原理的实践而获知。
本发明所公开的技术使用户组间的数据项共享和协作成为可能。数据项共享和协作特征围绕集合概念,其能够将一组用户和一个或多个数据项结合起来。云计算***和/或对等***可促成集合、创建、管理、和终止特征。一种用于用户组间的数据项共享和集合的方法包括将第一数据项分配给集合。第一数据项源于与订阅该集合的第一用户账户相关联的第一客户端设备。第一用户账户为订阅该集合的多个用户账户中的一个用户账户。每个订阅该集合的用户账户接收该数据项的副本以本地存储在与相应的用户账户相关联的客户端设备上。在一些情况下,一个用户账户可与多个客户端设备相关联。在这种情况下,可将数据项的本地副本存储在与用户账户相关联的每个客户端设备上。响应于检测到对分配给集合的数据项的本地副本的修改,该方法可将修改发送至分别与订阅该集合的每个用户账户相关联的客户端设备。这个发送可使得数据项修改被合并到存储在客户端设备上的数据项的本地副本中。此外,这个合并即使在冲突修改存在的情况下也可进行。在一些情况下,修改可为一系列修改。此外,修改可被记录在与集合相关联的日志文件中。
在一些实施例中,该方法可邀请一个或多个另外的用户订阅集合。在完成了可包括用户认证的订阅过程时,该方法可将分配给集合的每个数据项发送至与用户账户相关联的客户端设备。另外,该方法可将新的数据项分配给集合。响应于该分配,该方法可将新分配的数据项的副本发送至分别与订阅该集合的每个用户账户相关联的每个客户端设备。
用于一组用户间的数据项共享和协作的第二种方法包括接收来自与第一用户账户相关联的第一客户端设备的形成数据共享群组的请求。该请求可包括被授权订阅该数据共享群组的一个或多个用户账户标识符。另外,该方法可接收将数据项分配给该数据共享群组的请求。在一些情况下,该方法可与形成数据共享群组的请求一起接收分配数据项的请求。另选地,该方法可单独接收分配数据项的请求。此外,在一些情况下,该方法可接收来自与订阅数据共享群组的用户账户相关联的任何客户端设备的请求。分配数据项使得订阅数据共享群组的每个用户账户具有存储在与用户账户相关联的客户端设备上的该数据项的本地副本。在某一时刻,该方法可将数据项修改发布给与订阅数据共享群组的每个用户账户相关联的客户端设备。该发布可使得数据项修改被合并到存储在客户端设备上的该数据项的本地副本中。此外,合并可结合冲突修改。
在一些实施例中,用户账户可被指定为数据共享群组的管理员。管理员可授权将数据项分配给集合和/或邀请订阅集合。另外,管理员可将阻止分配规定类型的数据项的策略与数据共享群组相关联。此外,在一些情况下,管理员可仅授权订阅集合的用户账户中一个子组的用户账户分配数据项和/或修改数据项。
第三种方法包括将数据项的本地副本存储在第一客户端设备上。第一客户端设备可与用户账户相关联,该用户账户为订阅该数据项被分配给的集合的多个用户账户中的一个。订阅该集合的每个用户账户可接收数据项的副本。在随后的某一时刻,第一客户端设备可接收数据项修改。数据项修改可在与订阅该集合的用户账户相关联的第二客户端设备上进行。
响应于接收到数据项修改,客户端设备可将所接收的修改合并到数据项的本地副本中。合并可使用冲突解决策略来将冲突修改结合到本地副本中。在一些情况下,冲突解决策略可使得冲突修改在本地副本中能够被区分。
附图说明
为了描述可获得本公开的上述和其他优点及特征的方式,将通过参考附图中示出的具体实施例来呈现以上简述的原理的更为具体的描述。理解这些附图仅示出了本公开的示例性实施例,并且因此不被视为是对本公开范围的限制,将通过使用附图以另外的特异性和细节来描述和解释本文的原理,其中:
图1示出云计算***中的设备的一种示例性配置;
图2示出一种示例性云计算资源***;
图3示出使用增强的基于云端的存储装置存储数据项的一种示例性请求;
图4示出使用增强的基于云端的存储装置检索数据项的一种示例性请求;
图5示出具有应用程序资源文件的一种示例性应用程序;
图6示出具有应用程序资源文件和应用程序资源文件占位符的一种示例性应用程序;
图7示出具有资源文件和资源文件占位符的一种示例性操作***;
图8示出使用应用程序资源文件的应用程序的一种示例性执行;
图9示出一种示例性数据项集合;
图10示出一种示例性集合形成交换;
图11示出数据项向集合的一种示例性分配;
图12示出用于使用增强的基于云端的存储装置存储数据项的一种示例性方法实施例;
图13示出用于使用增强的基于云端的存储装置检索数据项的一种示例性方法实施例;
图14示出用于安装具有应用程序资源文件占位符的应用程序的一种示例性方法实施例;
图15示出用于获取应用程序资源文件的一种示例性方法实施例;
图16示出用于数据项共享和协作的一种示例性方法实施例;
图17示出使用户订阅集合一种示例性方法实施例;
图18示出用于将数据项分配给集合的一种示例性方法实施例;
图19示出用于修改分配给集合的数据项的一种示例性方法实施例;以及
图20示出一种示例性***实施例。
具体实施方式
下面详细论述本公开的各个实施例。虽然论述了具体实施例,但应当理解这仅仅为了说明目的而进行。相关领域的技术人员将认识到,在不脱离本公开的实质和范围的情况下可以使用其他组件和配置。本公开解决了本领域中对在基于云端的计算环境中共享和存储数据的改进方法的需求。
1.云计算环境概述
云计算是一种基于互联网的计算,在云计算中多种资源由实体托管和/或控制并且经由互联网通过该实体对授权用户可用。一种示例性云计算***配置100在图1中示出,其中多种电子设备可经由网络进行通信以交换内容和其他数据。***可被配置用于促成电子设备互通的各种网络配置。例如,图1中***100的每个部件可以局部式或分布式的形式在网络中实施。
***100可被配置为包括云计算资源120。云资源可包括多种硬件和/或软件资源,诸如云服务器122、云数据库124、基于云端的存储装置126、云网络128、云端应用程序、云端平台、和/或任何其他基于云端的资源。在一些情况下,云资源为分布式的。例如,基于云端的存储装置126可包括多个存储设备。在一些情况下,云资源可跨多个云计算***和/或各个支持网络的计算设备分布。例如,云计算资源120可与服务器1041、1042、…、104n(总称“104”)、数据库106、和/或任何其他支持网络的计算设备通信以提供云资源。
此外,在一些情况下,云资源可以是冗余的。例如,如果云计算资源120被配置为提供数据备份服务,则可存储数据的多个副本使得数据即使在存储资源处于脱机状态、繁忙状态或以其他方式不可用于处理请求时仍然对用户可用。又如,如果云计算资源120被配置为提供应用程序,则可从不同的云服务器获得该应用程序使得应用程序能够从不同云服务器中的任一个中提供。可应用算法使得最靠近的服务器或具有最低当前负荷的服务器被选择以处理给定请求。
在***100中,用户与云计算资源120通过经由直接和/或间接通信连接至网络的用户终端1021、1022、…、102n(总称“102”)进行交互。云计算资源120可支持来自多种不同电子设备的连接,诸如服务器;台式计算机;移动式计算机;手持式通信设备,例如移动电话、智能电话、平板电脑;机顶盒;支持网络的硬盘驱动器;和/或任何其他支持网络的计算设备。此外,云计算资源120可同时接受来自多个电子设备的连接并与其交互。与多个电子设备进行交互可按优先次序进行或同时进行。
云计算资源120可通过多种部署模型提供云资源,诸如公用、私用、社区、混合式、和/或任何其他云部署模型。在一些情况下,云计算资源120可支持多种部署模型。例如,云计算资源120可通过公用部署模型提供一组资源并通过私用部署模型提供另一组资源。
在一些配置中,用户终端102可从互联网连接可用的任何位置访问云计算资源120。然而,在其它情况下,云计算资源120可被配置为限制访问某些资源使得仅能够从某些位置访问资源。例如,如果云计算资源120被配置为使用私用部署模型提供资源,则云计算资源120可限制访问该资源,诸如通过要求用户终端102从防火墙后访问该资源。
云计算资源120可通过多种服务模型向用户终端102提供云资源,诸如软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(IaaS)、和/或任何其他云服务模型。在一些情况下,云计算资源120可向用户终端102提供多种服务模型。例如,云计算资源120可向用户终端102提供SaaS和IaaS二者。在一些情况下,云计算资源120可向不同用户终端102提供不同的服务模型。例如,云计算资源120可向用户终端1021提供SaaS,而向用户终端1022提供PaaS。
在一些情况下,云计算资源120可维护账户数据库。账户数据库可存储注册用户的简档信息。简档信息可包括资源访问权限,诸如允许用户使用的软件、最大存储空间等。简档信息还可包括使用信息,诸如所消耗的计算资源、数据存储位置、安全设置、个人配置设置等。在一些情况下,账户数据库可位于远离云计算资源120的数据库或服务器上,诸如服务器104或数据库106。
云计算资源120可提供需要用户交互的多种功能性。因此,可提供用户界面(UI)用于与云计算资源120通信和/或执行与云资源相关联的任务。可经由与云计算资源120通信的最终用户终端102来访问UI。UI可被配置为根据云计算资源120和/或用户终端102的存储和处理能力以多种客户端模式进行操作,包括胖客户端模式、瘦客户端模式、或混合型客户端模式。因此,在一些实施例中,UI可以被实现为在用户终端操作的独立应用程序。在其它实施例中,基于web浏览器的门户可用于提供UI。在各种实施例中,也可使用用于访问云计算资源120的任何其他配置。
2.云计算资源***
已公开了一种示例性云计算环境,本公开现在转向图2,该图示出一种示例性云计算资源(CCR)***200,诸如图1中的云计算资源120。CCR***200可包括用于增强用户的存储、共享、和访问来自多种不同客户端设备类型的数据的能力的多个特征。这些特征可包括增强的基于云端的存储、基于云端的资源、以及分组数据项共享和协作。例如,CCR***200可提供通过使用诸如支持个人网络的外部硬盘驱动器之类的外部网络存储设备而扩展的基于云端的存储。又如,CCR***200可提供用于应用程序资源文件(诸如不常使用的模板文件)的基于云端的存储。又如,CCR***200可促成订阅集合的一组用户之间的数据共享。这些特征以及可用于提供这些特征的架构和资源将在下文更详细地论述。
2.1架构
如图2所示,CCR***200的架构可包含多个部件。这些部件可包括用于存储与***操作相关的数据的一个或多个数据库,例如账户数据库240、集合数据库242、和应用程序资源数据库246;一个或多个存储设备,例如基于云端的存储装置244;以及用于与数据库、存储设备交互和/或对由***所提供的特征进行控制的一个或多个模块和/或引擎,例如通信接口210、账户管理模块212、用户接口模块214、数据项共享引擎220、和云存储引擎230。图2中的每个部件在下文更详细地论述;然而,本领域技术人员应当理解,图2中示出的架构配置仅仅是一个可能的配置,并且具有更多或更少部件的其他配置也是可能的。
CCR***200为能够与多种不同的客户端设备通信的基于网络的***。为了便于通信,CCR***200可包括通信接口210。通信接口210可被配置为接收来自客户端设备的通信(诸如请求、数据等),并且将该通信传送给CCR***200中的适当的模块和/或引擎进行处理。通信接口210还可被配置为将通信发送至客户端设备。此外,通信接口210还可被配置为与包括其他云计算***在内的任何计算设备通信。
由CCR***200所提供的特征中的一些可能需要用户交互,诸如对存储在基于云端的存储装置中的特定文件的请求、邀请新用户订阅数据文件集合、和/或将新文件添加至集合。因此,可提供用户界面(UI)用于与用户接口模块214通信以执行此类任务。可经由与CCR***200通信的客户端设备202访问用于用户接口模块214的UI。UI和用户接口模块214可根据CCR***200和客户端设备202的存储和处理能力以多种客户端模式来操作,包括胖客户端模式、瘦客户端模式、或混合型客户端模式。因此,在一些实施例中,用于用户接口模块的UI可以被实现为操作在客户端设备上的独立应用程序。在其它实施例中,基于web浏览器的门户可用于提供用户接口模块214的UI。在各种实施例中,也可使用远程或本地访问CCR***200的任何其他配置。另外,UI可为便于用户交互的任何类型的UI,诸如图形用户界面、音频用户接口、和/或任何其他类型的UI。
在一些情况下,CCR***200可基于每一个用户提供特征,诸如基于云端的存储装置,或者特征可需要用户认证。为了使这些特征成为可能,CCR***200可包括账户数据库240和账户管理模块212。存储在账户数据库中的信息可根据特征而变化。例如,如果账户数据库240用于存储与增强的基于云端的存储相关的信息,则账户信息可包括用户信息、被授权的最大存储空间、已使用的存储空间、被授权客户端设备的标识符、被授权外部网络存储设备的标识符、文件存储位置等。另选地,如果账户数据库240用于存储与数据文件集合相关的信息,则账户信息可包括用户信息、订阅的集合、被授权客户端设备的标识符等。在一些配置中,单个账户数据库可在整个CCR***200中使用以存储所有特征的账户信息。然而,CCR***200可被配置为为不同特征维护不同账户数据库,诸如一个账户数据库用于基于云端的存储而另一账户数据库用于数据文件集合。
账户管理模块212可被配置为更新和/或获取用户账户数据库240中的用户账户详情。例如,在接收到存储文件的请求时,账户管理模块212可获取用户的账户详情,CCR***200继而可使用用户的账户详情确定该用户是否已授权将外部网络存储设备作为存储位置。又如,响应于用户接受订阅集合的邀请,账户管理模块212可更新用户的账户详情以包括该集合。账户管理模块212可被配置为与CCR***200中的任何数量的其他模块和/或引擎进行交互。
以下将更详细论述的CCR***200的特征之一在于CCR***200可用于促成用户组间的数据项共享和协作。共享和协作可通过创建集合来实现。一组用户可订阅一集合。在已形成集合之后,一个或多个订阅用户可将数据项分配给该集合,并且每个所分配的数据项的副本可被发布给每个订阅用户。与集合相关的信息可被存储在集合数据库242中。所存储的信息可包括集合标识符、订阅用户的标识符、所分配的数据项、维护修改记录的一个或多个日志文件等。
CCR***200可包括用于管理与集合相关联的共享和协作活动的数据项共享引擎220。例如,数据项共享引擎220可接收对分配给集合的数据项的修改、更新集合数据库242中的集合信息、并将修改发布给订阅集合的其他用户。为了实现管理与集合相关联的共享和协作活动的任务,数据项共享引擎220可包括一个或多个模块,诸如集合管理模块222和版本控制模块224。数据项共享引擎220还可被配置为与CCR***200中的任何数量的其他模块和/或引擎交互。
以下将更详细论述的CCR***200的另一特征在于CCR***200可提供增强的基于云端的存储。为了促成增强的基于云端的存储,CCR***200可包括云存储引擎230。例如,云存储引擎230可接收存储数据项的请求。响应于存储请求,云存储引擎230可获取与该请求相关联的用户账户详情,将数据项存储在基于云端的存储装置244中和/或存储在被授权的外部网络存储设备上,并且对于存储位置更新账户详情。同样地,云存储引擎230可接收检索数据项的请求。响应于检索请求,云存储引擎230可获取与请求相关联的用户账户详情以识别存储位置,并且从该存储位置获取数据项。另外,云存储引擎230可用于管理应用程序资源文件(诸如模板文件)的存储和检索。云存储引擎230可包括诸如数据管理模块232之类的一个或多个模块和诸如应用程序资源数据库246之类的一个或多个数据库以提供基于云端的应用程序资源功能性。云存储引擎230还可被配置为与CCR***200中的任何数量的其他模块和/或引擎交互。
2.2特征
如上所述,CCR***200可包括用于增强用户的存储、共享、和访问来自多种不同客户端设备类型的数据的能力的多个特征。这些特征可包括增强的基于云端的存储、基于云端的资源、和分组数据共享。
2.2.1增强的基于云端的存储
CCR***200可被配置为提供基于云端的存储。在一些配置中,云存储引擎230可管理基于云端的存储特征。云存储引擎可接收来自客户端设备的存储请求和检索请求。在一些情况下,存储和检索请求经由通信接口210和/或用户接口模块214传送至云存储引擎230。
用户可向CCR***200建立账户用以将数据项从客户端设备存储在基于云端的存储装置中,诸如基于云端的存储装置244。云存储引擎230可获取账户详情,诸如从账户管理模块212中获取。在一些情况下,云存储引擎230可为用户账户分配最大存储容量。例如,云存储引擎230可为所有用户分配统一的存储容量,例如4GB。又如,云存储引擎230可基于预定义标准为不同用户分配不同的存储容量,例如,基于用户从属关系分配容量、基于订阅费分配容量等。最大存储容量可被记录在用户的账户详情中,诸如通过将该信息传送至账户管理模块212。然而,在一些情况下,云存储引擎230可允许无限制的存储容量。
除存储容量之外,云存储引擎230还可被配置为维护用户的当前存储使用的记录。例如,如果用户已存储了总容量为500MB的五个文件,则云存储引擎230可通过将该信息记录在用户的账户详情中来维护此类信息。在一些情况下,可对使用信息进行维护,而不论是否将最大存储容量分配给用户。
云存储引擎230还可被配置为使得用户能够在单个用户账户上授权多个客户端设备,从而允许用户从多个客户端设备访问存储在基于云端的存储装置中的数据项。例如,用户能够授权家用台式计算机和便携式计算机。用户继而能够从台式计算机将数据项存储到基于云端的存储装置并且随后能够使用便携式计算机检索该数据项。被授权的客户端设备可被记录在用户的账户详情中,诸如通过记录用于客户端设备的唯一标识符。另外,在一些情况下,一个客户端设备可与多个用户账户相关联。
迄今所描述的基于云端的存储详情是非常传统的基于云端的存储特征。然而,云存储引擎230可通过结合在用户账户中被授权的外部网络存储设备来提供增强的基于云端的存储。本文所用的外部网络存储设备可为用户拥有和/或经由用户的本地网络连接至CCR***200的诸如外部硬盘驱动器之类的任何支持网络的存储设备,例如个人网络存储设备2021。即,与任何云计算***无关的支持网络的存储设备。例如,外部网络存储设备可为用户已连接至他们家中的本地网络的外部硬盘驱动器。另选地,外部网络存储设备可为连接至组织的本地网络的支持网络的存储设备。即,外部网络存储设备可为位于本地网络上的任何支持网络的存储设备,而不是作为CCR***200的一部分或一些其他云计算***的一部分。
用户可在CCR***200中的他们的用户账户上授权一个或多个外部网络存储设备。在一些情况下,一个外部网络存储设备可在多个用户账户上被授权。例如,一家庭可包括三个人和单个外部网络存储设备,每个人都拥有用户账户。家庭中的每个用户可在他们的账户上授权该外部网络存储设备。
一旦在用户账户中授权外部网络存储设备,云存储引擎230可使用该外部网络存储设备来扩展基于云端的存储装置。即,云存储引擎230可将数据项存储在被授权的外部网络存储设备中,而不是将数据项存储在基于云端的存储装置244中。然而,如果用户请求存储数据项,并且用户尚未在其账户上授权外部网络存储设备,则云存储引擎230可恢复到传统的基于云端的存储。
当在用户账户中授权多个外部网络存储设备时,云存储引擎230可选择这些外部网络存储设备中的一个作为数据项的存储位置。该选择可基于多种标准,诸如随机性、可用空间量、与云存储引擎230的距离、数据项类型、用户偏好、外部网络存储设备的可靠性等。
云存储引擎230可被配置为包括能够管理存储在基于云端的存储中的数据项的数据管理模块232。例如,数据管理模块232可作为增强的文件***来操作。数据管理模块232可被配置为确定数据项是应存储在基于云端的存储装置244中还是存储在被授权的外部网络存储设备上。将数据项存储在被授权的外部网络存储设备上的决定可基于对预定义标准的满足。所使用的标准可随***的配置而变化。在一些情况下,当确定在基于云端的存储装置中没有足够的空间分配给用户时,数据管理模块232可选择将数据项存储在被授权的外部网络存储设备上。例如,云存储引擎230可被配置为分配比用户账户的准许最大容量小的空间。当数据管理模块232确定所分配的空间不足,并且用户尚未超过用户的准许最大存储容量时,数据管理模块232可将数据项存储在被授权的外部网络存储设备上,而不是在基于云端的存储装置244中分配更多空间。在一些情况下,当确定用户已超过用户的准许最大存储容量时,数据管理模块232可选择将数据项存储在被授权的外部网络存储设备上。例如,数据管理模块232可将数据项存储在被授权的外部网络存储设备上,而不是拒绝用户的存储请求或要求用户增加其在基于云端的存储装置244中的存储容量。另选地,在一些情况下,当数据管理模块232确定在外部网络存储设备上存储可能更有效时,数据管理模块232可被配置为选择将数据项存储在被授权的外部网络存储设备上。例如,如果外部网络存储设备比基于云端的存储装置244更近,则将数据项存储在外部网络存储设备上能够减少延迟并提高性能。另外,在一些情况下,数据管理模块232可被配置为基于用户偏好选择将数据项存储在被授权的外部网络存储设备上。例如,用户可规定特定数据项或数据项的特定类型应存储在外部网络存储设备上。
数据管理模块232还可被配置为在基于云端的存储装置244中维护数据项的多个副本。可执行该冗余以降低被请求数据项不可用的可能性。例如,数据管理模块232可被配置为每当将数据项存储在外部网络存储设备上时就将数据项的副本存储在基于云端的存储装置244中。在一些情况下,冗余选项可基于用户偏好。例如,用户可规定用户指示云存储引擎230存储在外部网络存储设备上的数据项不应存储在基于云端的存储装置244中,但可存储在另外的被授权的外部网络存储设备上。
在一些情况下,数据管理模块232可被配置为对数据项进行分离并将这些片段存储在一个或多个基于云端的存储位置中,包括存储在外部网络存储设备上。例如,可将数据项分离成两个片段并且一个片段存储在基于云端的存储装置244中,另一片段存储在外部网络存储设备上。另外,在一些配置中,数据管理模块232可将数据项分离成多个片段并冗余地存储这些片段。
图3示出在CCR***200接收使用增强的基于云端的存储来存储数据项的请求的一示例性场景300。在场景300中,用户302拥有各式各样的客户端设备304、306、和308。用户已在用户账户上授权客户端设备304和306用于向基于云端的存储发送数据项并从基于云端的存储检索数据项。另外,用户已授权外部网络存储设备308作为用户数据项的被授权存储位置。当用户从客户端设备304进行存储请求时,云存储引擎230接收该请求和数据项。在确定数据项应存储在外部网络存储设备308上时,云存储引擎230可将数据项发送至外部网络存储设备308并更新用户的账户详情以反映存储位置选择。云存储引擎230可以对用户透明的方式确定数据项应存储在外部网络存储设备308上。即,云存储引擎230可选择将数据项存储在外部网络存储设备308上,而无需来自用户的输入。
图4示出用户302请求检索先前存储在基于云端的存储中的数据项的一示例性场景400。在场景400中,用户进行检索数据项的请求。可从先前用于存储数据项的同一客户端设备和/或从不同设备进行检索该数据项的请求。在场景400中,从客户端设备306进行检索请求,该客户端设备306不同于先前用于存储数据项的设备。响应于接收到该请求,云存储引擎230获取用户账户信息来确定数据项的位置。在确定数据项被存储在外部网络存储设备上时,云存储引擎230可从外部网络存储设备308获取该数据项并将该数据项发送至客户端设备306。由于存储位置信息由CCR***200来维护,因此云存储引擎230可获取存储在外部网络存储设备上的数据项,而无需来自用户的附加输入。因此,数据项被存储在外部网络存储设备上的事实对用户可以是透明的。
2.2.2基于云端的资源
CCR***200还可被配置为为客户端设备提供基于云端的应用程序资源和/或促成从其他存储位置检索应用程序资源。在许多情况下,在客户端设备上执行的应用程序可包括需要使用可执行主应用程序之外的资产或资源的功能性。应用程序资源可包括应用程序为了提供应用程序功能性的一些方面所需的任何资源,例如,模板文件、库文件、数据文件、其他应用程序、守护进程等。例如,文字处理程序可包括提供核心功能性的可执行主应用程序。为了提供专业功能性,诸如用户可重复利用的特别设计的文档格式化,文字处理程序可包括模板。当用户选择使用预定义文档格式时,从外部资源文件加载对应的模板。在该实例中,每个模板为应用程序资源。又如,音乐应用程序可包括不同乐器的集合。每个乐器可为应用程序资源。乐器的功能性可包含在应用程序资源文件中,该应用程序资源文件是在用户选择该特定应用程序时由音乐应用程序加载的。又如,应用程序可为包括内核的操作***,内核提供最基本的功能性并允许其他应用程序与设备的硬件进行交互。为了提供更高级的功能性,操作***可包括其他应用程序和守护进程形式的其他资源,其中的许多根据需要来执行。更高级的应用程序和守护进程中的每一个为用于操作***的应用程序资源。从内核的角度来讲,更高级的功能性是通过应用程序资源文件来提供的。
图5示出具有应用程序资源文件的应用程序的一示例性场景500。在场景500中,应用程序502包括三个应用程序资源文件504、506、和508。在应用程序502执行时,加载应用程序资源文件。在场景500中,资源文件504和506已被加载,但资源文件508尚未加载。
应用程序所包括的应用程序资源文件的完整集合被设计为涵盖广泛的应用程序使用范围,而大多数用户可能仅使用这些应用程序资源的一个子集。例如,文字处理应用程序常包括针对一系列使用案例的许多模板,这些使用案例包括个人使用和商业使用。为了个人使用安装文字处理应用程序的用户使用商业相关的模板的可能性低于使用针对个人使用案例而设计的模板的可能性。另外,在一些情况下,用户可能从不使用任一模板或可能仅使用个人创建的模板。从未使用的模板占用用户设备上的空间,这些空间可用于存储实际上被用户使用的数据。因此,为了减少应用程序的存储占用空间,应用程序可仅以最小的一组应用程序资源文件甚至完全不含应用程序资源文件地安装在客户端设备上。
随应用程序一起安装的这组应用程序资源文件可随配置而变化,可由应用程序开发人员确定,和/或可由用户来确定。例如,应用程序开发人员可维护应用程序使用历史信息。基于使用历史信息,开发人员可确定应用程序资源文件的特定子集是最常使用的并且仅将这些资源文件包括在应用程序中。又如,应用程序安装可被配置为允许用户指定待安装的应用程序资源文件的子集,诸如归类为特定使用案例或特定资产类型(例如家用或商用)的资源文件。又如,客户端设备可被配置为基于诸如资源文件大小或所有安装的应用程序资源文件的最大总容量之类的预定义标准仅自动安装应用程序的子集。
取代应用程序资源文件,应用程序可包括应用程序资源文件占位符。应用程序资源文件占位符可提供安装实际应用程序资源文件的表象,但其实际上反而为被伪装成看起来与实际资源文件相同的空文件。即,应用程序资源文件占位符可具有相同的名称、类型等。它甚至可显示与实际资源文件的大小相匹配的文件大小,这可成为用于防止意外删除占位符文件的安全措施。占位符可不同于实际资源文件之处在于占位符不包含数据并且可将特定的位置位来指示该文件为占位符。
为了促成检索应用程序资源文件,安装在客户端设备上的操作***可包括特定的资源文件提取过程或守护进程。当应用程序请求应用程序资源文件时,资源文件提取过程可接收该请求,然后通过所述特定的位检测所安装的资源文件是实际资源文件还是占位符。如果该过程检测到占位符文件,则触发故障并从云端获取实际资源文件。一旦获得实际资源文件,则可对其进行安装以取代资源文件占位符。由于单独的过程负责将资源文件提供至进行请求的应用程序,所以安装的是实际资源文件还是占位符对应用程序而言可以是透明的。该透明性等级还意味着无需特殊的应用程序准备。即,应用程序本身不需要包括用于提取资源文件的特定功能性和/或应用程序开发人员不需要识别和替换具有资源文件占位符的程序片段。安装占位符文件可在任何时间进行,包括在已经安装了资源文件之后。
图6示出具有应用程序资源文件和应用程序资源文件占位符的应用程序的一示例性场景600。在场景600中,来自图5的应用程序502仍包括由三个应用程序资源文件所提供的功能性,但现在应用程序502仅安装有两个应用程序资源文件:资源文件504和508。取代应用程序资源文件506,应用程序包括应用程序资源文件占位符510。在应用程序502执行时,加载应用程序资源文件。当遇到应用程序资源文件占位符510时,客户端设备获取实际应用程序资源文件。
图7示出安装在客户端设备704上的具有应用程序资源文件和应用程序资源文件占位符的操作***702的另一示例性场景700。操作***702可以包括内核和资源文件检索守护进程的最小限度的功能性安装在客户端设备704上。还可将最小限度的一组附加功能性安装在客户端设备704上。例如,可安装常使用的应用程序,诸如web浏览器和媒体播放器,但不太常用的应用程序(诸如日历应用程序、电子邮件客户端、地址簿应用程序等)可作为资源文件占位符来安装。
如果在客户端设备上执行应用程序期间故障被触发,则客户端设备可与CCR***200通信以获取应用程序资源文件。CCR***200可被配置为使得云存储引擎230能够管理基于云端的应用程序资源特征。在一些情况下,通信接口214可接收请求并将该请求传送至云存储引擎230进行处理。
在一些情况下,CCR***200被配置为维护一组应用程序资源文件。例如,CCR***200可将这组应用程序资源文件存储在基于云端的存储装置244中。应用程序资源文件的范围可随CCR***200和/或应用程序的配置而变化。例如,由CCR***200为应用程序维护的这组应用程序资源文件可包括由应用程序所使用的资源文件的完整集合。另选地,由CCR***200维护的这组应用程序资源文件可仅包括原始应用程序安装不包含的那些应用程序资源文件。即,能够从CCR***200获得的应用程序资源文件可排除所述最小限度的一组应用程序资源文件中的应用程序资源文件。
云存储引擎230可被配置为包括可管理存储在基于云端的存储中的应用程序资源文件的数据管理模块232。在一些情况下,在接收到对应用程序资源文件的请求时,数据管理模块232可从基于云端的存储装置244中检索应用程序资源文件并将该应用程序资源文件发送至进行请求的客户端设备。另选地,在接收到对应用程序资源文件的请求时,数据管理模块232可被配置为从CCR***200外部的存储位置检索应用程序资源文件,诸如从另一云计算***和/或另一客户端设备中检索。在一些情况下,CCR***200可包括应用程序资源数据库246,该应用程序资源数据库包括CCR***200所已知的有关应用程序资源的信息,诸如资源文件的存储位置。在这种情况下,在接收到对应用程序资源文件的请求时,数据管理模块232可访问应用程序资源文件数据库246以获取任何应用程序资源文件详情。如果应用程序资源文件详情指定存储位置,则数据管理模块232可从指定的存储位置获取应用程序资源文件。
在一些情况下,云存储引擎230可被配置为限制对一些或全部应用程序资源文件的访问。例如,应用程序资源文件可仅可供注册用户使用。通过将访问限制到注册用户,云存储引擎230可用于阻止不具有应用程序的授权副本的用户对应用程序资源文件进行访问。又如,应用程序资源可仅可供特定订阅级别的用户使用,例如家用版、专业版等。为了使对应用程序资源文件的受限制访问成为可能,云存储引擎230例如可从账户管理模块212获取用户账户详情以确定进行请求的用户是否有资格接收所请求的应用程序资源。
在一些配置中,被安装应用程序资源在客户端设备上可被自动替换为应用程序资源文件占位符。在一些情况下,可以对应用程序透明的方式来执行这个替换。移除应用程序资源文件的条件可随客户端设备和/或应用程序的配置而变化。在一些情况下,可基于以下内容来选择应用程序资源文件:对附加空间的需求、达到与特定应用程序相关联的应用程序资源文件的最大空间分配、和/或指示不再需要该应用程序资源文件的使用模式。确定应何时移除应用程序资源文件的其他方法也是可能的。另外,被选择移除的具体应用程序资源文件可随客户端设备和/或应用程序的配置而变化。在一些情况下,所选择的具体应用程序资源文件可基于:随机选择、大小、使用历史、用户偏好、和/或应用程序开发人员偏好。选择特定应用程序资源文件用于移除的其他方法也是可能的。此外,可在任何时间来替换应用程序资源文件。即,不论应用程序正在执行与否均可对应用程序资源文件进行替换。
图8示出利用应用程序资源文件812、814、和816的应用程序810正在客户端设备802上执行的一示例性场景800。将应用程序810连同应用程序资源文件812和816一起安装在客户端设备802上。取代应用程序资源文件814,将应用程序资源文件占位符818安装在客户端设备802上。在执行期间,应用程序810需要应用程序资源文件814,这触发了故障。响应于该故障,客户端设备802与CCR***200通信以请求应用程序资源文件814。云存储引擎230经由数据管理模块232从基于云端的存储装置或某个其他存储位置检索应用程序资源文件814,并将应用程序资源文件814发送至客户端设备802。继而将应用程序资源文件814安装在客户端设备802上。
2.2.3数据集合管理
CCR***200还可被配置为促成用户组之间的数据项共享和协作。数据项共享和协作特征围绕集合的概念,其能够将一组用户和一个或多个数据项结合起来。图9提供集合概念的一示例性说明。首先,集合900包括一组用户,该组用户各自订阅了该集合并且能够通过一个或多个被授权的客户端设备(诸如客户端设备902、904、和906)与该集合共享数据项。集合900还包括已分配给集合900的一个或多个数据项,诸如数据项910、912、和914。尽管集合概念以一组设备访问中央的数据项池示出,但这仅用以示出集合的不同方面之间的关系。在具体实施中,每个被授权的客户端设备可保持分配给该集合的每个数据项的本地副本。另外,用户可订阅多个集合。
在一些配置中,数据项共享引擎220可管理共享和协作特征的各个方面,诸如集合形成、集合维护、和/或集合终止。数据项共享引擎220可与账户管理模块212和/或集合数据库242交互。集合数据库242可存储与集合相关的信息,诸如集合标识符、订阅用户的标识符、所分配的数据项、维护数据项修改记录的一个或多个日志文件等。另外,在一些配置中,数据项共享引擎220可通过通信接口210和/或用户接口模块214与客户端设备通信。
在一些配置中,客户端设备可运行客户端侧集合应用程序,其提供用于数据项共享和协作特征的客户端侧功能性。用户可与客户端侧集合应用程序交互的特征和方式可随客户端设备、集合应用程序、CCR***200、和/或网络连接的配置而变化。
数据项共享和协作的一个方面为集合形成。形成集合的方式可随客户端设备、CCR***200、和/或网络连接的配置而变化。然而,集合形成可包括两个方面:授权和认证。授权方面可有关邀请一个或多个用户订阅集合,而认证方面可有关验证用户被实际授权订阅集合。
在一种集合形成方法中,用户可通过邀请一个或多个用户订阅集合来发起集合形成。在一些情况下,客户端设备可被配置为使得用户可右击桌面以激活菜单,在该菜单中可用菜单项之一为“形成集合”或它的某种变型。另选地,客户端设备可被配置为使得用户可点击图标或选择菜单项。客户端设备还可被配置有包括用于创建一个或多个集合的用户界面的应用程序。集合应用程序可要求用户进行认证,诸如通过提供用户名和密码来认证。
用户可通过指定每个用户的用户标识符(诸如用户名、电子邮件地址、和/或任何其他唯一用户标识符)来邀请一个或多个用户。邀请可用作集合形成的授权步骤。为了完成集合形成,受邀用户可认证,从而使该用户订阅至该集合。
在该集合形成场景中,用户可在完成订阅过程之后向集合添加文件。例如,发起集合形成的用户可在邀请一个或多个用户进行订阅之后向集合添加文件,并且在一些情况下,可在所有受邀用户接受邀请之前向集合添加文件。然而,受邀用户在用户完成订阅过程之前不能向集合添加文件或接收作为集合一部分的文件,因为该用户还不是集合的一部分。
另选地,用户可通过选择一个或多个数据项用于共享来发起集合形成。在一些情况下,客户端设备可被配置为使得用户可右击数据项或一组数据项以激活菜单,在该菜单中可用菜单项中的一个为共享。客户端设备还可被配置为运行客户端侧应用程序,其包括用于选择要共享的一个或多个数据项的用户界面。另选地,共享特征可内置于应用程序中。例如,文字处理应用程序可包括用于共享的菜单项。另外,在一些配置中,用户可选择包含一个或多个数据项的文件夹以共享该文件夹内的每个数据项。
在选择共享数据项之后,用户可指定与其共享数据项的一个或多个用户。选择一个或多个用户的动作可触发邀请过程。用户可通过指定每个用户的用户标识符(诸如用户名、电子邮件地址、和/或任何其他唯一用户标识符)来邀请一个或多个用户。邀请可用作集合形成的授权步骤。为了完成集合形成,受邀用户可认证,从而使该用户订阅至集合。尽管通过选择要共享的特定文件发起了集合形成,但受邀用户在用户完成订阅过程之前不能接收数据项。
在一些情况下,CCR***200可在集合形成中充当中间媒介。例如,客户端设备可向数据项共享引擎220发送集合形成信息。在接收到集合形成信息时,数据项共享引擎220可发送邀请至受邀用户并处理认证过程。例如,图10示出由CCR***200促成的一示例性集合形成交换1000。形成过程开始于用户1,其中用户1邀请用户2订阅集合。邀请信息被发送至CCR***200。CCR***200继而可将该邀请发送至用户2。在某一时刻,用户2可遵循该邀请,这要求用户2向CCR***200进行认证。在完成认证过程时,CCR***200可任选地将用户2已完成订阅过程并且现已订阅该集合的通知发送至用户1。在一些情况下,来自用户1的邀请请求可包括数据项。在这种情况下,在完成认证过程时,CCR***200可将该数据项发送至用户2。
当客户端设备在局域网(LAN)上处于活动状态时,集合形成过程还可以对等配置来执行。例如,集合形成过程可使用设备发现软件(诸如由Cupertino,CA的Apple Inc.发布的Bonjour应用程序)来发现位于LAN上的其他客户端设备。继而可将订阅集合的邀请从一个客户端设备直接发送至另一客户端设备。在纯对等配置中,认证过程可在客户端设备上执行。另选地,集合形成过程可为对等配置和由CCR***200促成配置的结合。
用户接收通知的方式可随客户端设备、CCR***200、和/或网络连接的配置而变化。用户可通过电子邮件、即时消息、短消息服务、客户端侧应用程序中的通知、客户端设备上的弹出式窗口等来接收邀请。例如,如果用户将指定用户标识符的邀请信息发送至CCR***200,则CCR***200可维护用户账户信息的数据库。用户账户信息中的项目可包括联系用户的方法,诸如电子邮件地址、或电话号码。CCR***200继而可使用该信息来向受邀用户发送邀请。又如,如果用户将邀请直接发送至位于LAN上的另一客户端设备,则受邀用户可通过受邀用户的客户端设备上的弹出式窗口接收该邀请。
在一些情况下,可对能够通过集合共享的数据项的类型进行限制。例如,集合可用于共享文字处理文档,而不共享特定文件类型的媒体项目,诸如电影。该限制可以针对整个***范围和/或是基于每个集合的。例如,数据项共享引擎220可被配置为允许通过任何集合共享任何数据项类型,但特定集合可被形成为具有阻止共享具有AAC文件类型的数据项的策略。又如,数据项共享引擎220可被配置为阻止共享具有MP3文件类型的数据项,并且特定集合可被形成为具有还阻止共享具有AAC文件类型的数据项的策略。因此,所得的集合将拥有阻止共享具有MP3或AAC文件类型的数据项的策略。
在一些配置中,集合可包括一个或多个管理员。例如,形成集合的用户可被自动指定为管理员。管理员可规定与集合相关联的策略,诸如订阅策略、数据项添加/删除策略、数据项修改策略。例如,管理员可建立只有管理员才能够邀请新用户订阅集合的策略。又如,管理员可建立只有管理员才能够添加数据项和/或从集合中删除数据项的策略。又如,管理员可建立关于哪些用户具有对每个数据项的修改权利的策略。在另一个实例中,管理员可建立规定能够被分配给集合的数据项的类型的策略。另外的策略也是可能的。
还可独立于集合形成过程而将数据项分配给集合。在一些情况下,客户端设备可被配置为使得用户可右击数据项或一组数据项来激活菜单,在该菜单中可用选项中的一个为共享。客户端设备还可被配置为运行客户端侧应用程序,其包括用于选择要共享的一个或多个数据项的用户界面。另选地,共享特征可内置于应用程序中。例如,文字处理应用程序可包括用于共享的菜单项。另外,在一些配置中,用户可选择文件夹以共享该文件夹内的每个数据项。在选择共享之后,用户可指定用户订阅的一个或多个集合。
在一些情况下,CCR***200可在共享数据项中充当中间媒介。例如,一旦用户选择用于共享的数据项并将该数据项分配给集合,客户端设备就可将该数据项连同有关所分配集合的信息一起传输至数据项共享引擎220。数据项共享引擎220内的集合管理模块222可更新集合数据库242以反映新分配的数据项。另外,在一些情况下,集合管理模块222可识别订阅该集合的其他用户并将数据项的副本发布给与订阅用户相关联的所有被授权设备。另选地,集合管理模块222可从订阅集合的客户端设备接收对新数据项的请求。即,数据项共享引擎220可被配置成推送和/或拉取配置–在接收到新数据项时,数据项共享引擎220可向订阅客户端设备推送数据项和/或数据项共享引擎220可从客户端设备接收对新分配的数据项的请求。数据项共享过程在客户端设备在LAN中处于活动状态时也可以对等配置来执行,或者数据项共享过程也可以使用对等配置和由CCR***200所促成的配置相结合的混合型配置来执行。
图11示出将数据项1110分配给集合并且由CCR***200促成数据项1110的发布的一示例性场景1100。数据项1110在客户端设备1102上被分配给集合。一旦分配了数据项1110,客户端设备1102就将数据项1110的副本发送至数据项共享引擎220。集合管理模块222更新集合数据库242。另外,集合管理模块识别出另外两个订阅客户端设备1104和1106,并将该数据项的副本(数据项1112和1114)发布给客户端设备1104和1106每一者。在接收到数据项的副本时,操作每个客户端设备的用户可将数据项本地地存储在用户选择的存储位置中。即,用户无需将数据项存储在特定文件夹中,但反而可将数据项存储在对用户有意义的位置中。
在一些情况下,仅订阅集合的用户中一个子组的用户可被授权向集合添加数据项。此类限制可通过多种技术来实施。在一些情况下,为了实施此类限制,客户端设备可被配置为不分配数据项。另选地,数据项共享引擎220可被配置为不接受从未授权用户分配的数据项。实施数据项分配限制策略的其他方法也是可能的。另外,在一些情况下,在数据项被正式分配给集合之前,集合管理员可批准每个数据项或由指定用户所分配的每个数据项。
除了使用集合来共享数据项之外,订阅集合的用户还可就分配给集合的数据项进行协作。即,当用户对分配给集合的数据项的本地副本做出修改时,该修改可被自动发布至订阅该集合的每个其他用户。在一些情况下,客户端设备可实时发送修改。例如,可在做出修改时发送修改。然而,客户端设备也可被配置为以周期性间隔发送修改集合和/或根据来自用户的指令发送修改集合。例如,可每5分钟或在保存数据项时发送修改集合。又如,可在用户选择诸如发送修改之类的选项时发送修改集合。另外,客户端设备可被配置为收集在客户端设备脱机时的修改并且一旦客户端设备连接至网络就发送所收集的所有修改。
客户端设备上和/或数据项共享引擎220中的版本控制特征可有助于协作特征。例如,客户端设备可被配置为使得每当用户修改分配给集合的数据项时,客户端设备就将整个数据项发送至数据项共享引擎220,在该数据项共享引擎中版本控制模块224将更改并入到存储在集合数据库242中的当前版本中。为了将更改发布至订阅集合的其他客户端设备,数据项共享引擎可请求订阅客户端设备上数据项的当前副本,合并修改,并将更新后的数据项返回至客户端设备。此类技术明显增加开销并且有可能干扰其他订阅设备上的用户。因此,一种供替代的选择就是将客户端设备配置为包括客户端侧版本控制应用程序和具有版本控制特征的数据项共享引擎220,诸如版本控制模块224。在用户修改数据项时,客户端设备可使用版本控制软件来识别更改并仅将修改发送至数据项共享引擎220。版本控制模块224可记录所接收的修改并将它们发布至其他的订阅客户端设备。一旦在其他客户端设备上被接收到,版本控制软件就可将所接收的修改与任何本地更改进行合并。修改发布和/或版本控制特征在客户端设备在LAN上处于活动状态时也可以对等配置来执行,或者修改发布和/或版本控制特征也可以使用对等配置和由CCR***200所促成的配置相结合的混合型配置来执行。
可将每个数据项修改并入数据项中,使得客户端设备可存储分配给集合的数据项的单一副本。在一些情况下,数据项修改可区别于数据项的未修改部分或先前修改的部分。例如,客户端设备可显示是文本文档的数据项,诸如文字处理文档,其中数据项修改使用划红线标识来区分。用于在新修改和之前存在的数据项内容之间加以区别的多种技术是可能的,诸如突出显示、划红线标识、字体改变、附上注解或注释等。另外,在一些情况下,用户名或其他标识符可被附到修改中和/或在修改旁边显示。
在一些情况下,多个用户可同时修改数据项。在这种情况下,数据项共享引擎220和/或版本控制软件可包括冲突解决策略,使得客户端设备仅保持集合中的每个数据项的单一副本。即,当冲突出现时,该冲突并不导致在客户端设备上创建数据项的另一副本。客户端设备可在冲突修改同时存在于数据项的本地副本中的情况下保持数据项的单一副本。例如,冲突修改可被同时并入数据项的本地副本中,并且用户可手动地解决冲突,诸如通过选择全部或部分修改。在一些情况下,可解决冲突的用户可以是集合的管理员。另选地,可使用基于投票的过程。例如,订阅集合的每个用户可选择冲突修改中的一个,具有最大数量选票的修改可成为使用的修改。另选地,管理员可在进行选择中使用投票方法。在一些情况下,可将解决策略分配给数据项或集合。例如,策略可规定自动选择与排名较高的用户相关联的冲突。一旦冲突已解决,数据项共享引擎220即可发布解决方案。
多种技术可用于在数据项中呈现冲突修改。例如,冲突修改可被彼此相邻地呈现但以不同方式突出显示,诸如通过字体或颜色。又如,冲突修改可被顺序呈现。在一些情况下,顺序呈现的修改可被排序,诸如基于分配给与其修改相关联的用户的排名。又如,冲突修改可在紧挨原始内容的页边空白中呈现。在另一个实例中,冲突修改可在内容上方的弹出式框或窗口中呈现。
在一些情况下,仅一个子组的用户可修改分配给集合的数据项。此类限制可通过多种技术来实施。在一些情况下,为了实施此类限制,数据项可以只读访问形式存储在客户端设备上。另选地,客户端设备可被配置为不发送由未被授权以修改数据项的用户所做的任何修改。数据项共享引擎220还可被配置为不记录或发布所接收的任何未授权修改。在另一配置中,客户端设备可拒绝接收由未授权用户所做的修改。对分配给集合的数据项实施修改限制的其他方法也是可能的。
数据项共享也可被配置为使得可在任何时间邀请新用户订阅集合。在一些情况下,仅集合的管理器可邀请新用户订阅集合。另选地,管理员可查看并准许或拒绝由订阅该集合的非管理员用户所提交的邀请。一旦新用户订阅了集合,该新用户就能够接收当前分配给集合的所有数据项连同修改。
在一些配置中,可从集合中移除先前分配给该集合的数据项。从集合中移除数据项的结果可随配置而变化。例如,在一些情况下,订阅集合的所有用户可保持数据项的本地副本,但将不再传送修改并且新订阅用户将接收不到被移除的数据项。另选地,可删除所有本地副本,但在一些配置中,分配数据项的用户可保持该数据项。另外,在一些情况下,数据项共享引擎220可保持数据项的记录。在一些情况下,仅集合的管理员和/或分配数据项的用户能够从集合中移除数据项。
类似于数据项,在一些配置中,用户可退订集合。退订集合的结果可随配置而变化。例如,在一些情况下,可从用户的客户端设备中移除分配给集合的、并非由该用户分配的数据项的所有本地副本。另选地,用户可保持本地副本,但将不再向集合传送修改。另外,在一些情况下,管理员可从集合中移除用户和/或改变用户的与集合相关联的权限。例如,在用户正通过分配不期望的内容而滥用集合、或者集合与工作环境中的项目相关联而用户不再工作于该项目的情况下。
另外,在一些配置中,可删除集合。例如,如果集合与一项目相关联而该项目已取消或完全,则可能不再需要该集合。删除集合的结果可随配置而变化。在一些配置中,可删除分配给该集合的数据项的所有本地副本。在一些情况下,管理员和/或分配数据项的用户可保持数据项。另选地,所有用户可保持分配给集合的数据项的本地副本。另外,在一些情况下,数据项共享引擎220可保持集合的记录。
如先前所提及的,分配给集合的数据项的本地副本可被存储在客户端设备上的任何地方。因此,在一些配置中,共享数据项可具有在客户端设备上将其区别于非共享数据项的区别特征。例如,共享数据项可被突出显示,以不同颜色显示,以不同的不透明度水平显示等。另外,区别特征可与数据项被分配给的集合相配合。例如,分配给集合1的数据项可以红色来显示,而分配给集合2的数据项可以蓝色来显示。在一些情况下,文件描述符详情可规定是否共享数据项和/或数据项被分配给的集合。
2.2.4隐私和安全
如上所述,在一些配置中,云计算资源***可用于存储用户数据。本公开设想到,在一些情况下,采集到的数据可能包括个人和/或敏感数据。本公开还设想到,负责此类数据的收集、分析、公开、传送、存储、或其他使用的实体应实现并坚持使用隐私政策与实践,所述隐私政策与实践通常被认为满足或超过对于维护个人信息数据隐私性和安全性的行业或政府要求。例如,来自用户的个人数据应当被收集用于实体的合法和合理使用,并且不在这些合法使用之外被共享或出售。另外,这种收集应当仅在用户的知情同意之后进行。此外,这种实体应采取任何所需的步骤以保障和保护对此类个人数据的访问,并且确保能够访问个人数据的其他人坚持他们的隐私和安全政策和程序。另外,这种实体可使其本身经受第三方评估以证明其对广泛接受的隐私政策和实践的坚持。
尽管有上述情况,本公开还是设想到用户选择性地阻止使用或访问个人数据的实施例。即,本公开设想到,可提供硬件和/或软件元件以防止或阻止对此类个人数据的访问。例如,本公开技术可被配置为允许用户选择存储在基于云端的存储中的数据。又如,本公开技术还可被配置为允许用户规定存储在基于云端的存储中的可与其他用户共享的数据。
因此,虽然本公开广泛地覆盖了使用个人数据来实现一个或多个各种本文公开的实施例,但是本公开还设想到,各种实施例也可在无需访问此类个人数据的情况下实现。即,本公开技术的各种实施例并不会由于缺少此类个人数据的全部或部分就无法实行。例如,非个人数据可被存储在基于云端的存储中。
3.使用
CCR***200促成多种基于云端的特征,包括增强的基于云端的存储、基于云端的资源、和数据项共享和协作。图12为示出用于使用增强的基于云端的存储来存储数据项的一种示例性方法1200的流程图。为了清楚起见,就诸如示于图2中的一种示例性云计算资源***来讨论该方法。尽管图12中示出了具体步骤,但在其他实施例中,方法可具有比所示出的更多或更少的步骤。数据项存储方法可在云计算资源***接收到来自客户端设备的存储数据项的请求(1202)时开始。响应于接收到该存储请求,云计算资源***可获取用户账户详情(1204)。
使用用户账户详情和有关数据项的信息,云计算资源***可确定其是否能够将该数据项存储在基于云端的存储装置中(1206)。云计算资源***可基于预定义标准进行确定。例如,在一些情况下,云计算资源***可被配置为分配比用户账户详情中所规定的准许最大容量小的空间。另选地,云计算资源***可确定用户已超过用户账户详情中所规定的用户的准许最大存储容量。因此,云计算***可基于空间分配和/或授权进行确定。在一些情况下,云计算资源***可确定将数据项存储在基于云端的存储装置中不及存储在外部网络存储设备上高效。例如,对相比于外部网络存储设备,将数据项存储在基于云端的存储装置中可能增加延迟并降低性能。另外,云计算资源***可基于用户偏好进行确定。例如,用户可规定特定数据项或特定类型的数据项应被存储在外部网络存储设备上。另外的预定义标准也是可能的。
当云计算资源***确定数据项无法存储在基于云端的存储装置中时,云计算资源***可检查账户详情以确定是否存在被授权的外部网络存储设备(1208)。如果至少一个外部网络存储设备在用户账户详情中被授权,则云计算资源***可使得数据项被存储在被授权的外部网络存储设备上(1214)。在一些情况下,用户账户详情可指定多于一个被授权的外部网络存储设备。在这种情况下,云计算资源***可从可用的外部网络存储设备中选择外部网络存储设备。在一些情况下,这个选择可基于预定义选择标准,诸如随机性、可用空间量、与云计算资源***的距离、数据项类型、用户偏好、外部网络存储设备的可靠性等。另外,云计算存储设备可更新用户账户详情以反映存储位置(1216)。
如果用户账户详情未指定被授权的外部网络存储设备,则云计算***可被配置为评估云计算设备不能将数据项存储在基于云端的存储装置中的原因(1210)。基于评估结果,云计算资源***可采取补救措施(1212)。例如,如果云计算资源***确定由于云计算资源***分配的空间小于在用户账户详情中被授权的空间而使得数据项未被存储在基于云端的存储装置中,则云计算资源***可分配更多空间,然后使用云计算资源存储数据项。又如,如果云计算资源***确定由于用户超过在用户账户详情中授权的空间量而使得数据项未被存储在基于云端的存储装置中,则云计算资源***可通知用户。又如,如果云计算资源***确定由于发现将数据项存储在外部网络存储设备上将更高效而使得数据项未被存储在基于云端的存储装置中,则云计算资源***可将数据项存储在基于云端的存储装置中。在另一个实例中,如果云计算资源***确定用户请求将数据项存储在外部网络存储设备上,则云计算资源***可通知用户没有被授权外部网络存储设备和/或请求准许将数据项存储在基于云端的存储装置中。另外的补救措施也是可能的。在完成步骤1212或1216之后,云计算资源***可继续先前的处理,这可包括重复方法1200。
图13为示出一种用于使用增强的基于云端的存储来检索数据项的示例性方法1300的流程图。为了清楚起见,就诸如示于图2中的一种示例性云计算资源***来讨论该方法。虽然图13中示出了具体步骤,但在其他实施例中,方法可具有比所示出的更多或更少的步骤。这个数据项检索方法可在云计算资源***接收到来自客户端设备的检索数据项的请求(1302)时开始。响应于接收到这个检索请求,云计算资源***可获取用户账户详情(1304)。
使用用户账户详情和有关数据项的信息,云计算资源***可识别数据项是否存储在基于云端的存储装置中(1306)。如果云计算资源***确定数据项不是存储在基于云端的存储装置中,则云计算资源***可识别数据项是否被存储在外部网络存储设备上(1308)。如果云计算资源***不能识别被请求数据项的存储位置,则云计算资源***可发送失败消息至进行请求的客户端设备(1310)。在一些情况下,如果数据项从未被存储在基于云端的存储装置中,则可能发生失败。另选地,如果数据项先前被存储在外部网络存储设备上,但云计算资源***不再能够访问该设备(例如用户将该外部网络存储设备从网络断开),则可能发生失败。另外的失败场景也是可能的。
如果云计算资源***能够识别被请求数据项的存储位置,则云计算资源***可从存储位置检索数据项(1312)并将该数据项发送至进行请求的客户端设备(1314)。在完成步骤1310或1314之后,云计算资源***可继续先前的处理,这可包括重复方法1300。
图14为示出一种用于安装具有应用程序资源文件占位符的应用程序的示例性方法1400的流程图。为了清楚起见,就一种示例性客户端设备来讨论该方法,该示例性客户端设备包含被配置用于文件检索的操作***并且被连接至诸如图2中所示的云计算资源***。虽然图14中示出了具体步骤,但在其他实施例中,方法可具有比所示出的更多或更少的步骤。应用程序安装方法可在运行于客户端设备上的操作***接收到安装应用程序的请求(1402)时开始,该应用程序包括可执行主应用程序和一个或多个应用程序资源文件。响应于该请求,操作***确定是否应安装所述一个或多个应用程序资源文件(1404)。在一些情况下,确定是否安装应用程序资源文件可基于预定义标准,诸如应用程序资源文件大小、针对应用程序所安装的应用程序资源文件的最大总大小、目标应用程序使用、或应用程序使用历史。如果操作***确定应安装应用程序资源文件,则操作***对其进行安装(1408)。然而,如果操作***确定不应安装应用程序资源文件,则操作***安装应用程序资源文件占位符(1406)。在一些情况下,应用程序资源文件占位符可具有实际应用程序资源文件的外观,但实际上却是一空文件。
在安装应用程序资源文件或应用程序资源文件占位符之后,操作***确定是否存在更多待安装的应用程序资源文件(1410)。如果是,则操作***重复该过程。在完成步骤1410之后,位于客户端设备上的操作***可继续先前的处理,这可包括重复方法1400。
图15为示出一种用于获取应用程序资源文件的示例性方法1500的流程图。为了清楚起见,就一种示例性客户端设备来讨论该方法,该示例性客户端设备包含被配置用于文件检索的操作***并且被连接至诸如图2中所示的云计算资源***。虽然图15中示出了具体步骤,但在其他实施例中,方法可具有比所示出的更多或更少的步骤。这个应用程序资源文件检索方法可在运行于客户端设备上的操作***接收到来自同样运行于客户端设备上的应用程序的对应用程序资源文件的请求(1502)时开始。响应于该请求,操作***确定存储在客户端设备上的应用程序资源文件是实际的应用程序资源文件还是应用程序资源文件占位符(1504)。在一些情况下,应用程序资源文件占位符可具有实际应用程序资源文件的外观,但实际上却是一空文件。在一些配置中,当文件上的特定位被置位时,操作***可确定应用程序资源文件是占位符。用于区分实际应用程序资源文件与占位符的其他技术也是可能的。
如果操作***确定所请求的应用程序资源文件对应于应用程序资源文件占位符,则操作***可触发故障。所触发的故障可使客户端设备向云计算资源***请求应用程序资源文件(1506)。在接收到应用程序资源文件时,操作***可用所接收的应用程序资源文件替换占位符(1508)。最后,操作***可将应用程序资源文件发送至进行请求的应用程序(1510)。在完成步骤1510之后,位于客户端设备上的操作***可继续先前的处理,这可包括重复方法1500。
图16为示出一种用于数据项共享和协作的示例性方法1600的流程图。为了清楚起见,就诸如示于图2中的示例性云计算资源***来讨论该方法。然而,该方法也可部分地或完全地在客户端设备上执行。虽然图16中示出了具体步骤,但在其他实施例中,方法可具有比所示出的更多或更少的步骤。这个数据项共享和协作方法可在云计算资源***接收到来自客户端设备的形成数据项群组或集合的请求(1602)时开始。形成集合的请求可包括一组用户标识符。另外,在一些情况下,请求可包括用于分配给该集合的一个或多个数据项。除了通过集合形成请求接收的这组用户标识符之外,云计算资源***还可单独接收邀请用户订阅集合的请求。
响应于接收到形成集合的请求或邀请用户订阅集合的单独请求,云计算资源***可将订阅集合的邀请发送至与包含于请求中的用户标识符相关联的每个用户(1604)。在随后的某一时刻,云计算资源***可接收来自受邀用户的对订阅邀请的响应。基于该响应,云计算资源***可将用户订阅至该集合(1606)。在一些情况下,云计算资源***可要求用户在完成订阅过程之前向该***进行认证。在将用户订阅之后,CCR***可检查是否已将数据项分配给该集合(1608)。如果是,则云计算资源***可将每个被分配数据项的副本发送至与订阅用户相关联的客户端设备(1614)。在一些情况下,用户可具有在用户账户中被授权的多个客户端设备。在这种情况下,云计算资源***可将副本发送至每个被授权客户端设备。
在一些情况下,形成集合的请求可包括一个或多个数据项。另选地,云计算资源***可接收将数据项分配给集合的单独请求。响应于接收到数据项,云计算资源***可将该数据项分配给集合(1610)。在分配数据项之后,云计算资源***可确定除了将该数据项分配给该集合的用户之外是否还存在订阅该集合的任何其他用户(1612)。如果是,则云计算资源***可将数据项的副本发送至与订阅用户相关联的客户端设备(1614)。在一些情况下,用户可具有在用户账户中被授权的多个客户端设备。在这种情况下,云计算资源***可将副本发送至每个被授权客户端设备。在一些情况下,云计算资源***可同时使用户订阅集合(1606)并将数据项分配给该集合(1610)。
在随后的某一时刻,云计算资源***可接收对分配给集合的数据项的修改(1616)。在一些情况下,修改可为一系列修改。另外,云计算资源***可接收来自多个用户的对数据项的修改。响应于接收修改,云计算资源***可将该修改发布给订阅该集合的每个用户(1618)。在完成步骤1618之后,云计算资源***可继续先前的处理,这可包括重复方法1600。
图17为示出一种用于使用户订阅集合的示例性方法1700的流程图。为了清楚起见,就诸如示于图2中的示例性云计算资源***来讨论该方法。然而,该方法也可部分地或完全地在客户端设备上执行。虽然图17中示出了具体步骤,但在其他实施例中,方法可具有比所示出的更多或更少的步骤。这个用户订阅方法可在云计算资源***接收到邀请用户订阅集合的请求(1702)时开始。请求可包括用户标识符。在一些情况下,云计算资源***可接收邀请用户订阅集合的请求作为形成集合的请求的一部分。另选地,云计算资源***可接收邀请用户的单独请求。在一些情况下,云计算资源***可从集合的管理员和/或具有邀请用户订阅集合的授权的另一用户接收邀请用户的请求。
响应于接收到邀请用户订阅集合的请求,云计算资源***可将订阅该集合的邀请发送至与用户标识符相关联的用户(1704)。云计算资源***可被配置为使用多种不同技术发送邀请。例如,云计算资源***可通过电子邮件、即时消息、SMS、客户端侧应用程序中的通知、客户端设备上的弹出式窗口等来发送邀请。
在随后的某时,云计算资源***可接收来自受邀用户的响应(1706)。如果云计算资源***确定该响应为肯定响应(1708),则云计算资源***可认证进行响应的用户(1710)。云计算资源***可使用任何认证过程。例如,云计算资源***可通过要求用户登录到订阅邀请被发送到的用户账户来认证用户。用于认证用户的另选技术也是可能的。
在一些配置中,用户可以否定响应对订阅邀请进行响应。即,用户可发送用户不想订阅该集合的明确响应,而非简单地忽略邀请。在一些情况下,云计算资源***可忽略明确的否定响应。另选地,云计算资源***可采取措施,诸如通知请求邀请的用户和/或更新与集合相关联的任何记录。
云计算资源***可确定用户认证是否成功(1712)并相应地响应。如果认证成功完成,则云计算资源***可完成用户对集合的订阅(1714)。完成用户的订阅可包括将用户的标识符添加到集合的记录中。在一些情况下,在完成订阅时,云计算资源***可将通知发送至请求邀请的用户和/或集合的管理员。如果认证失败,则云计算资源***可拒绝用户对集合的订阅(1716)。在一些配置中,在认证失败时,用户可再次尝试完成认证过程。另外,在一些情况下,云计算资源***可限制失败认证尝试的次数。此外,在一些情况下,在订阅尝试失败时,云计算资源***可将通知发送至请求邀请的用户和/或集合的管理员。在完成步骤1714或1716之后,或在步骤1708的否定响应时,云计算资源***可继续先前的处理,这可包括重复方法1700。
图18为示出一种用于将数据项分配给集合的示例性方法1800的流程图。为了清楚起见,就诸如示于图2中的示例性云计算资源***来讨论该方法。然而,该方法还可部分地或完全地在客户端设备上执行。虽然图18中示出了具体步骤,但在其他实施例中,方法可具有比所示出的更多或更少的步骤。这个数据项分配方法可在云计算资源***接收到将数据项分配给集合的请求(1802)时开始。在一些情况下,云计算资源***可接收将数据项分配给集合的请求作为形成集合的请求的一部分。另选地,云计算资源***可接收将数据项分配给集合的单独请求。
响应于接收到将数据项分配给集合的请求,云计算资源***可检查进行请求的用户是否被授权以将数据项分配给集合(1804)。在一些情况下,集合可具有使得仅订阅集合的用户中一个子组的用户被授权以将数据项分配给集合的策略。例如,集合可具有仅管理员能够将数据项分配给集合的策略。
如果云计算资源***确定允许该用户将数据项分配给集合,则云计算资源***可检查该数据项是否为被允许分配给该集合的类型(1806)。在一些情况下,集合可具有禁止将一些数据项类型分配给该集合的策略。例如,集合可具有仅能够将文字处理文档分配给该集合的策略。
如果云计算资源***确定该数据项为被允许分配给该集合的类型,则云计算资源***可将该数据项分配给该集合(1808)。将数据项分配给集合可包括将该数据项添加到该集合的记录中。在一些情况下,在分配数据项时,云计算资源***可发送通知至请求分配的用户和/或集合的管理员。
在将数据项分配给集合时,云计算资源***可将数据项的副本发布给与订阅该集合的每个用户相关联的客户端设备(1810)。在一些情况下,用户可具有在用户账户中被授权的多个客户端设备。在这种情况下,云计算资源***可将副本发送至每个被授权的客户端设备。在一些配置中,云计算资源***可将已将新数据项分配给集合的通知(代替和/或除发送数据项之外)发布给订阅该集合的每个用户。云计算资源***可被配置为使用多种不同技术来发送通知。例如,云计算资源***可通过电子邮件、即时消息、SMS、客户端侧应用程序中的通知、客户端设备上的弹出式窗口等发送通知。
如果云计算资源***确定用户未被授权以将数据项分配给该集合和/或数据项类型在该集合中是不允许的,则云计算资源***可针对该集合阻止该数据项(1812)。在一些配置中,在分配失败时,云计算资源***可发送通知至请求分配的用户和/或集合的管理员。在一些情况下,通知可指示分配失败的原因。在完成步骤1810或1812之后,云计算资源***可继续先前的处理,这可包括重复方法1800。
图19为示出一种用于修改分配给集合的数据项的示例性方法1900的流程图。为了清楚起见,就诸如示于图2中的示例性云计算资源***来讨论该方法。然而,该方法也可部分地或完全地在客户端设备上执行。虽然图19中示出了具体步骤,但在其他实施例中,方法可具有比所示出的更多或更少的步骤。数据项修改方法可在云计算资源***接收对分配给集合的数据项的修改(1902)时开始。在一些情况下,修改可以是整个数据项。另选地,修改可以是指示两个版本之间差别的数据项的片段。另外,在一些情况下,修改可以是一系列修改。
响应于接收到对数据项的修改,云计算资源***可检查发送修改的用户是否被授权以修改该数据项(1904)。在一些情况下,集合可具有使得仅订阅该集合的用户中一个子组的用户被授权以修改数据项的策略。另选地,策略可以数据项级别进行发送。即,每个数据项可具有指示哪些用户被允许进行修改的相关联的一组权限。
如果云计算资源***确定该用户被允许修改该数据项,则云计算资源***可更新该数据项(1906)。在一些情况下,云计算资源***可维护数据项的副本。当接收到修改时,云计算资源***可将修改并入数据项的副本中。另外,云计算资源***可维护修改的记录。在接收到修改时,云计算资源***可将修改发布给与订阅该集合的每个用户相关联的客户端设备(1908)。
如果云计算资源***确定该用户未被允许修改该数据项,则云计算资源***可阻止修改(1910)。在一些配置中,在修改失败时,云计算资源***可将通知发送至尝试共享修改的用户和/或集合的管理员。在一些情况下,通知可指示修改失败的原因。在完成步骤1908或1910之后,云计算资源***可继续先前的处理,这可包括重复方法1900。
4.示例性***
参照图20,一种示例性***2000包括通用计算设备2000,该通用计算设备包括处理单元(CPU或处理器)2020以及将各种***组件耦合到处理器2020的***总线2010,这些***组件包括诸如只读存储器(ROM)2040和随机存取存储器(RAM)2050的***存储器2030。***2000可包括直接与处理器2020连接,非常接近处理器2020、或作为处理器2020一部分集成的高速缓存2022。***2000从存储器2030和/或存储设备2060向高速缓存复制数据,以由处理器2020快速访问。通过这种方式,高速缓存提供避免处理器2020在等待数据时延迟的性能提升。这些和其他模块可以控制或被配置成控制处理器2020以执行各种动作。其他***存储器2030也可供使用。存储器2030可包括具有不同性能特性的多个不同类型的存储器。可以理解,本公开可以在具有不止一个处理器2020的计算设备2000上或者在联网在一起以提供更大处理能力的计算设备的群组或群集上操作。处理器2020可包括任何通用处理器和硬件模块或软件模块,例如存储在存储设备2060中的模块12062、模块22064、和模块32066,所述任何通用处理器和硬件模块或软件模块被配置成控制处理器2020以及在软件指令并入实际处理器设计中的情况下的专用处理器。处理器2020可以基本上是完全独立成套的计算***,包含多个核或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或非对称的。
***总线2010可以是几种类型的总线结构中的任一种,包括存储器总线或存储器控制器、***总线、以及使用多种总线架构中任一种的局域总线。存储在ROM 2040等中的基本输入/输出(BIOS)可以提供基本例程,其有助于在诸如启动期间在计算设备2000内的元件之间传输信息。计算设备2000还包括存储设备2060,例如硬盘驱动器、磁盘驱动器、光盘驱动器、磁带驱动器等。存储设备2060可包括软件模块2062、2064、2066,用于控制处理器2020。可以设想其他硬件或软件模块。存储设备2060由驱动接口连接到***总线2010。驱动器和相关联的计算机可读存储介质为计算设备2000提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。在一个方面,执行特定功能的硬件模块包括存储在非暂态计算机可读介质中的软件组件,其结合诸如处理器2020、总线2010、显示器2070等的必要的硬件组件来执行功能。基本组件是本领域的技术人员已知的,并且根据设备类型(例如,设备2000是否为小型的手持计算设备、台式计算机、或计算机服务器)设想到适当的变型。
虽然本文所描述的示例性实施例采用了硬盘2060,但本领域的技术人员应当理解,在示例性操作环境中也可以使用其他类型的可以存储可由计算机访问的数据的计算机可读介质,例如磁卡带、闪存卡、数字通用光盘、磁盒、随机存取存储器(RAM)2050、只读存储器(ROM)2040、包含比特流的线缆或无线信号等。非暂态计算机可读存储介质明确地排除诸如能量、载波信号、电磁波、和信号本身的介质。
为了使得用户能够与计算设备2000进行交互,输入设备2090代表任何数量的输入机构,例如,用于语音的麦克风、用于手势或图形输入的触摸屏、键盘、鼠标、运动输入、语音等。输出设备2070也可以是本领域的技术人员已知的多个输出机构中的一个或多个。在一些情况下,多模***允许用户提供多种输入类型以与计算设备2000通信。通信接口2080通常支配和管理用户输入和***输出。没有将操作限制到任何特定硬件布置上,因此,本文的基本特征可以容易地在开发出改进的硬件或固件布置之后替换为这些硬件或固件布置。
为了清楚地说明,示例性***实施例被呈现为包括各个功能块,这些块包括标记为“处理器”或处理器2020的功能块。这些块代表的功能可以通过使用共享的或专用的硬件(包括但不限于能够执行软件和硬件的硬件,例如处理器2020,其按照目的进行构建以作为执行在通用处理器上的软件的等同物操作)来提供。例如,图20中呈现的一个或多个处理器的功能可以由单个共享的处理器或多个处理器提供。(术语“处理器”的使用不应当解释为唯一地指代能够执行软件的硬件。)示例性实施例可包括微处理器和/或数字信号处理器(DSP)硬件、用于存储执行下文论述的操作的软件的只读存储器(ROM)2040、以及用于存储结果的随机存取存储器(RAM)2050。也可以提供超大规模集成(VLSI)硬件实施例、以及结合通用DSP电路的定制VLSI电路。
各实施例的逻辑操作被实现为:(1)运行于通用计算机内的可编程电路上的一系列计算机实施的步骤、操作、或过程,(2)运行于专用可编程电路上的一系列计算机实施的步骤、操作、或过程;和/或(3)可编程电路内互连的机器模块或程序引擎。图20中示出的***2000可以实施所述方法的全部或一部分,可以是所述***的一部分,和/或可以根据所述非暂态计算机可读存储介质中的指令进行操作。此类逻辑操作可以实现为被配置成控制处理器2020以根据模块的编程执行特定功能的模块。例如,图20示出了三个模块Mod1 2062、Mod2 2064和Mod3 2066,它们是被配置成控制处理器2020的模块。这些模块可以被存储在存储设备2060上,并且在运行时被加载到RAM 2050或存储器2030中,或者可以如本领域中所知的那样被存储在其他计算机可读存储器位置中。
本公开的范围内的实施例也可包括有形和/或非暂态计算机可读存储介质,其用于承载或具有存储在其上的计算机可执行指令或数据结构。此类非暂态计算机可读存储介质可以是可由通用或专用计算机访问的任何可用介质,包括上文论述的任何专用处理器的功能设计。以举例而非限制的方式,此类非暂态计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁性存储设备,或任何其他介质,其可用来承载或存储呈计算机可执行指令、数据结构或处理器芯片设计形式的所需程序代码装置。当信息经由网络或另一通信连接(硬连线的、无线的,或它们的组合)传送或提供至计算机时,计算机适当地将该连接视为计算机可读介质。因此,任何这种连接被适当地称为计算机可读介质。上述的组合也应该包括在计算机可读介质的范围内。
计算机可执行指令包括例如使得通用计算机、专用计算机、或专用处理设备执行某种功能或某组功能的指令和数据。计算机可执行指令还包括由计算机在独立或网络环境中执行的程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构、对象、和专用处理器等的设计中固有的功能。计算机可执行指令、相关联的数据结构、和程序模块代表用于执行本文所公开的方法的步骤的程序代码装置的实例。此类可执行指令或相关联的数据结构的特定序列代表用于实现在此类步骤中描述的功能的对应动作的实例。
本领域的技术人员将会理解,本公开的其他实施例可以在具有许多类型的计算机***配置的网络计算环境中实践,包括个人计算机、手持设备、多处理器***、基于微处理器的或可编程的消费电子产品、网络PC、微型计算机、大型计算机等。实施例也可在分布式计算环境中实践,其中任务由通过通信网络(要么由硬连线链路、无线链路,要么由它们的组合)连接的本地和远程处理设备来执行。在分布式计算环境中,程序模块可位于本地存储器存储设备和远程存储器存储设备两者中。
上文描述的各实施例仅仅以例示方式提供,而不应解释为限制本公开的范围。本领域的技术人员将容易认识到,在不遵从本文举例说明和描述的示例性实施例和应用且不脱离本公开的实质和范围的情况下,可以对本文所描述的原理做出各种修改和变更。
Claims (20)
1.一种计算机实现的方法,包括:
将第一数据项分配给集合,所述第一数据项源于与订阅所述集合的第一用户账户相关联的第一客户端设备,其中所述第一用户账户为订阅所述集合的多个用户账户中的一个用户账户,所述多个用户账户中的每一个用户账户接收所述第一数据项的副本以本地存储在与相应的用户账户相关联的客户端设备上;以及
检测对分配给所述集合的数据项的修改,并且将数据项修改发送至分别与订阅所述集合的所述多个用户账户中的每一个用户账户相关联的客户端设备,其中所述发送使得所述数据项修改被合并到存储在客户端设备上的所述数据项的本地副本中,所述合并即使在冲突修改存在的情况下也进行。
2.根据权利要求1所述的方法,还包括:
邀请用户订阅数据共享群组,所述邀请被发送至与第二用户账户相关联的第二客户端设备,并且所述邀请由所述集合的管理员进行授权;以及
将所述集合中的每个数据项的副本发送至所述第二客户端设备,所述发送响应于所述第二客户端设备订阅所述集合。
3.根据权利要求2所述的方法,还包括:
将第二数据项分配给所述集合,所述分配使得订阅所述集合的每个用户账户在与所述用户账户相关联的客户端设备上具有所述第二数据项的本地副本,所述第二数据项是从订阅所述集合的客户端设备接收的。
4.根据权利要求1所述的方法,还包括:
使得所述数据项修改在所述数据项的本地副本中能够区别于所述数据项的所述本地副本的未修改部分。
5.根据权利要求1所述的方法,其中所述数据项修改被记录在与所述集合相关联的日志文件中。
6.根据权利要求1所述的方法,其中所述发送通过对等***来进行。
7.根据权利要求1所述的方法,其中所述发送通过云计算***来进行。
8.一种***,包括:
处理器;
第一模块,所述第一模块被配置为控制所述处理器以发送第一数据项至订阅集合的多个用户账户中的每一个用户账户,所述发送响应于订阅所述集合的第一客户端设备将所述第一数据项分配给所述集合,其中所述发送使得与相应的用户账户相关联的客户端设备本地存储所述第一数据项的副本;以及
第二模块,所述第二模块被配置为控制所述处理器以识别对分配给所述集合的数据项的修改,并且将数据项修改发送至分别在订阅所述集合的所述多个用户账户中的每一个用户账户上被授权的客户端设备,其中所述发送使得所述数据项修改被合并到存储在客户端设备上的所述数据项的本地副本中,所述合并使用预先确定的冲突解决策略来将冲突修改结合到所述本地副本中。
9.根据权利要求8所述的***,其中所述合并导致所述数据项修改和所述数据项的本地副本的未修改部分之间的差异化。
10.根据权利要求8所述的***,其中所述冲突解决策略使得冲突修改在本地副本中能够被区分。
11.根据权利要求8所述的***,其中多个客户端设备在用户账户上被授权。
12.根据权利要求8所述的***,还包括第三模块,所述第三模块被配置为控制所述处理器以邀请用户订阅所述集合,所述邀请由被指定为所述集合的管理员的用户账户进行授权。
13.根据权利要求8所述的***,其中阻止分配规定类型的数据项的策略与所述集合相关联。
14.一种存储指令的非暂态计算机可读存储介质,所述指令当由计算设备执行时,使得所述计算设备执行包括如下的步骤:
将第一数据项发送至订阅集合的多个用户账户中的每一个用户账户,其中所述发送响应于订阅所述集合的第一客户端设备将所述第一数据项分配给所述集合,其中所述发送使得与相应的用户账户相关联的客户端设备本地存储所述第一数据项的副本;以及
响应于检测到对分配给所述集合的数据项的修改,将数据项修改发送至分别与订阅所述集合的所述多个用户账户中的每一个用户账户相关联的客户端设备,其中所述发送使得所述数据项修改被合并到存储在客户端设备上的所述数据项的本地副本中,所述合并结合冲突修改。
15.根据权利要求14所述的非暂态计算机可读存储介质,其中冲突修改基于预定义的冲突解决策略被结合。
16.根据权利要求14所述的非暂态计算机可读存储介质,还包括:
邀请用户订阅所述集合,所述邀请被发送至与第二用户账户相关联的第二客户端设备;以及
将所述集合中的每个数据项的副本发送至所述第二客户端设备,所述发送响应于所述第二客户端设备订阅所述集合。
17.根据权利要求16所述的非暂态计算机可读存储介质,其中所述集合中的至少一个数据项包括修改,并且被发送至所述第二客户端设备的至少一个数据项的副本包括修改。
18.根据权利要求14所述的非暂态计算机可读存储介质,其中订阅所述集合的用户账户的子组被授权以将数据项分配给所述集合。
19.根据权利要求14所述的非暂态计算机可读存储介质,其中订阅所述集合的用户账户的子组被授权以修改分配给数据共享群组的数据项。
20.根据权利要求14所述的非暂态计算机可读存储介质,其中阻止分配规定类型的数据项的策略与所述集合相关联。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/473,575 | 2012-05-16 | ||
US13/473,575 US20130311598A1 (en) | 2012-05-16 | 2012-05-16 | Cloud-based data item sharing and collaboration among groups of users |
PCT/US2013/039775 WO2013173111A2 (en) | 2012-05-16 | 2013-05-06 | Cloud-based data item sharing and collaboration among groups of users |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104395855A true CN104395855A (zh) | 2015-03-04 |
CN104395855B CN104395855B (zh) | 2017-08-11 |
Family
ID=48446676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380032457.4A Active CN104395855B (zh) | 2012-05-16 | 2013-05-06 | 用户组之间的基于云端的数据项共享和协作 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20130311598A1 (zh) |
CN (1) | CN104395855B (zh) |
DE (1) | DE112013002544T5 (zh) |
TW (1) | TWI624794B (zh) |
WO (1) | WO2013173111A2 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721601A (zh) * | 2016-03-07 | 2016-06-29 | 深圳市创想天空科技股份有限公司 | 一种数据恢复的方法和*** |
WO2016165222A1 (zh) * | 2015-04-13 | 2016-10-20 | 中兴通讯股份有限公司 | 一种平台管理方法及装置 |
WO2017113431A1 (zh) * | 2015-12-31 | 2017-07-06 | 福建福昕软件开发股份有限公司 | 一种互联文档的实现方法 |
CN108780409A (zh) * | 2016-03-31 | 2018-11-09 | 微软技术许可有限责任公司 | 通用通知流水线 |
CN110324399A (zh) * | 2018-03-28 | 2019-10-11 | 戴尔产品有限公司 | 将解决方案和集群意识纳入基础设施和支持管理门户的无代理方法 |
CN112119623A (zh) * | 2018-05-21 | 2020-12-22 | 三星电子株式会社 | 基于帐户组共享内容的方法和执行该方法的电子装置 |
CN112214713A (zh) * | 2020-10-29 | 2021-01-12 | 浙江中建网络科技股份有限公司 | 一种基于云端平台的水泥价格订阅***以及订阅方法 |
US11301557B2 (en) | 2019-07-19 | 2022-04-12 | Dell Products L.P. | System and method for data processing device management |
CN114862376A (zh) * | 2022-07-07 | 2022-08-05 | 深圳市泽维电子科技有限公司 | 一种多维信息采集协同管理方法、管理***及存储介质 |
CN115023921A (zh) * | 2020-01-28 | 2022-09-06 | 斯诺弗雷克公司 | 用于全局数据共享的***和方法 |
US11599422B2 (en) | 2018-10-16 | 2023-03-07 | EMC IP Holding Company LLC | System and method for device independent backup in distributed system |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006053019A2 (en) | 2004-11-08 | 2006-05-18 | Sharpcast, Inc. | Method and apparatus for a file sharing and synchronization system |
US10057318B1 (en) * | 2012-08-10 | 2018-08-21 | Dropbox, Inc. | System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients |
US9342209B1 (en) * | 2012-08-23 | 2016-05-17 | Audible, Inc. | Compilation and presentation of user activity information |
US9705835B2 (en) * | 2012-11-02 | 2017-07-11 | Pandexio, Inc. | Collaboration management systems |
US20140157300A1 (en) * | 2012-11-30 | 2014-06-05 | Lenovo (Singapore) Pte. Ltd. | Multiple device media playback |
US10348821B2 (en) * | 2012-12-21 | 2019-07-09 | Dropbox, Inc. | Prioritizing structural operations and distributing changes in a synced online content management system |
US10445340B2 (en) * | 2013-03-15 | 2019-10-15 | Ajay JADHAV | Use of collaborative server in a cloud-based environment |
US10476758B2 (en) | 2013-07-11 | 2019-11-12 | Google Llc | Systems and methods for providing notifications of changes in a cloud-based file system |
GB201318102D0 (en) * | 2013-10-14 | 2013-11-27 | Ibm | Groupware management |
US11032356B2 (en) | 2013-10-14 | 2021-06-08 | International Business Machines Corporation | Groupware management |
US9626527B2 (en) * | 2013-11-04 | 2017-04-18 | Gemalto Sa | Server and method for secure and economical sharing of data |
CN105980975B (zh) * | 2013-11-28 | 2020-10-16 | 索尼公司 | 信息处理设备、信息处理方法及程序 |
US9509799B1 (en) | 2014-06-04 | 2016-11-29 | Grandios Technologies, Llc | Providing status updates via a personal assistant |
US8995972B1 (en) | 2014-06-05 | 2015-03-31 | Grandios Technologies, Llc | Automatic personal assistance between users devices |
CN105228111A (zh) * | 2014-06-13 | 2016-01-06 | 中兴通讯股份有限公司 | 资源订阅处理方法及装置 |
WO2015196053A1 (en) * | 2014-06-19 | 2015-12-23 | Blue Sentry, Inc. | Discrete client billing |
EP2980726B1 (en) | 2014-07-29 | 2019-09-04 | Samsung Electronics Co., Ltd | Method and apparatus for sharing data |
WO2016018438A1 (en) * | 2014-07-31 | 2016-02-04 | Hewlett Packard Development Company, L.P. | Cloud resource pool |
US9716798B2 (en) | 2014-09-08 | 2017-07-25 | At&T Intellectual Property I, L.P. | ACR buffering in the cloud |
US20160070442A1 (en) * | 2014-09-10 | 2016-03-10 | Salesforce.Com, Inc. | User interface for identity switching |
TW201621695A (zh) | 2014-12-02 | 2016-06-16 | 鴻海精密工業股份有限公司 | 雲端代理設備、雲盤及檔案轉移的方法 |
US10534778B2 (en) * | 2015-06-05 | 2020-01-14 | Apple Inc. | Search results based on subscription information |
CN106572146B (zh) * | 2015-10-13 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 消息发送方法及消息发送装置 |
CN106156277A (zh) * | 2016-06-24 | 2016-11-23 | 乐视控股(北京)有限公司 | 用于第三方的数据共享更新方法及*** |
CN106528331A (zh) * | 2016-10-31 | 2017-03-22 | 努比亚技术有限公司 | 一种数据恢复的方法和装置 |
US20180337929A1 (en) * | 2017-05-17 | 2018-11-22 | Bank Of America Corporation | Access Control in a Hybrid Cloud Infrastructure - Cloud Technology |
US11334596B2 (en) | 2018-04-27 | 2022-05-17 | Dropbox, Inc. | Selectively identifying and recommending digital content items for synchronization |
US11611666B2 (en) * | 2018-06-08 | 2023-03-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and network node for implementing user defined policies based on device subscription identifiers in a telecommunication network |
US10769101B2 (en) * | 2018-08-23 | 2020-09-08 | Oath Inc. | Selective data migration and sharing |
CN109766084B (zh) * | 2018-12-28 | 2021-04-23 | 百富计算机技术(深圳)有限公司 | 支付应用的定制开发方法、装置、计算机设备和存储介质 |
US11269700B2 (en) | 2019-04-23 | 2022-03-08 | Apple Inc. | System call interception for file providers |
US10862931B1 (en) * | 2019-07-30 | 2020-12-08 | Slack Technologies, Inc. | Servicing group-based communication workspace add requests within a group-based communication system |
US11265282B2 (en) * | 2020-03-17 | 2022-03-01 | Slack Technologies, Llc | Methods and apparatuses for managing external approval provisioning and external messaging communication requests in a group-based communication system |
WO2022015773A1 (en) * | 2020-07-13 | 2022-01-20 | Journey Mobile, Inc. | Synchronization of source code under development in multiple concurrent instances of an integrated development environment |
US11089095B1 (en) * | 2020-08-21 | 2021-08-10 | Slack Technologies, Inc. | Selectively adding users to channels in a group-based communication system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070192155A1 (en) * | 2000-10-24 | 2007-08-16 | Gauger Derek K | Network based, interactive project management apparatus and method |
US20100094912A1 (en) * | 2008-10-15 | 2010-04-15 | Microsoft Corporation | Preserving user intention in distributed data systems |
CN101896915A (zh) * | 2007-12-14 | 2010-11-24 | 微软公司 | 协作创作模式 |
CN102325169A (zh) * | 2011-08-22 | 2012-01-18 | 盛乐信息技术(上海)有限公司 | 支持共享和协作的网络文件***及方法 |
US8140664B2 (en) * | 2005-05-09 | 2012-03-20 | Trend Micro Incorporated | Graphical user interface based sensitive information and internal information vulnerability management system |
US20120110443A1 (en) * | 2010-04-12 | 2012-05-03 | Google Inc. | Collaborative Cursors in a Hosted Word Processor |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259524A1 (en) * | 2003-03-17 | 2006-11-16 | Horton D T | Systems and methods for document project management, conversion, and filing |
US20080307321A1 (en) * | 2007-03-01 | 2008-12-11 | Jack Long | Method and system for construction document management and distribution |
US20090249224A1 (en) * | 2008-03-31 | 2009-10-01 | Microsoft Corporation | Simultaneous collaborative review of a document |
US20120030187A1 (en) * | 2008-04-24 | 2012-02-02 | Marano Robert F | System, method and apparatus for tracking digital content objects |
US20100070930A1 (en) * | 2008-09-04 | 2010-03-18 | Gilles Thibault | Business document system |
US8327278B2 (en) * | 2009-02-17 | 2012-12-04 | Microsoft Corporation | Synchronizing metadata describes user content updates and an indication of user gestures being performed within the document, and across client systems using different communication channels |
US8914735B2 (en) * | 2011-05-06 | 2014-12-16 | David H. Sitrick | Systems and methodologies providing collaboration and display among a plurality of users |
WO2013101113A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | Management of collaborative teams |
-
2012
- 2012-05-16 US US13/473,575 patent/US20130311598A1/en not_active Abandoned
-
2013
- 2013-05-06 WO PCT/US2013/039775 patent/WO2013173111A2/en active Application Filing
- 2013-05-06 DE DE112013002544.2T patent/DE112013002544T5/de active Pending
- 2013-05-06 CN CN201380032457.4A patent/CN104395855B/zh active Active
- 2013-05-16 TW TW102117421A patent/TWI624794B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070192155A1 (en) * | 2000-10-24 | 2007-08-16 | Gauger Derek K | Network based, interactive project management apparatus and method |
US8140664B2 (en) * | 2005-05-09 | 2012-03-20 | Trend Micro Incorporated | Graphical user interface based sensitive information and internal information vulnerability management system |
CN101896915A (zh) * | 2007-12-14 | 2010-11-24 | 微软公司 | 协作创作模式 |
US20100094912A1 (en) * | 2008-10-15 | 2010-04-15 | Microsoft Corporation | Preserving user intention in distributed data systems |
US20120110443A1 (en) * | 2010-04-12 | 2012-05-03 | Google Inc. | Collaborative Cursors in a Hosted Word Processor |
CN102325169A (zh) * | 2011-08-22 | 2012-01-18 | 盛乐信息技术(上海)有限公司 | 支持共享和协作的网络文件***及方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016165222A1 (zh) * | 2015-04-13 | 2016-10-20 | 中兴通讯股份有限公司 | 一种平台管理方法及装置 |
WO2017113431A1 (zh) * | 2015-12-31 | 2017-07-06 | 福建福昕软件开发股份有限公司 | 一种互联文档的实现方法 |
CN105721601A (zh) * | 2016-03-07 | 2016-06-29 | 深圳市创想天空科技股份有限公司 | 一种数据恢复的方法和*** |
CN108780409A (zh) * | 2016-03-31 | 2018-11-09 | 微软技术许可有限责任公司 | 通用通知流水线 |
CN108780409B (zh) * | 2016-03-31 | 2022-01-07 | 微软技术许可有限责任公司 | 通用通知流水线 |
CN110324399A (zh) * | 2018-03-28 | 2019-10-11 | 戴尔产品有限公司 | 将解决方案和集群意识纳入基础设施和支持管理门户的无代理方法 |
CN110324399B (zh) * | 2018-03-28 | 2022-05-17 | 戴尔产品有限公司 | 将集群意识纳入设施管理门户 |
CN112119623A (zh) * | 2018-05-21 | 2020-12-22 | 三星电子株式会社 | 基于帐户组共享内容的方法和执行该方法的电子装置 |
CN112119623B (zh) * | 2018-05-21 | 2023-08-15 | 三星电子株式会社 | 基于帐户组共享内容的方法和执行该方法的电子装置 |
US11314814B2 (en) | 2018-05-21 | 2022-04-26 | Samsung Electronics Co., Ltd. | Method for sharing content based on account group and electronic device for performing same |
US11599422B2 (en) | 2018-10-16 | 2023-03-07 | EMC IP Holding Company LLC | System and method for device independent backup in distributed system |
US11301557B2 (en) | 2019-07-19 | 2022-04-12 | Dell Products L.P. | System and method for data processing device management |
CN115023921A (zh) * | 2020-01-28 | 2022-09-06 | 斯诺弗雷克公司 | 用于全局数据共享的***和方法 |
US11743324B2 (en) | 2020-01-28 | 2023-08-29 | Snowflake Inc. | System and method for global data sharing |
CN115023921B (zh) * | 2020-01-28 | 2023-09-01 | 斯诺弗雷克公司 | 用于全局数据共享的***和方法 |
CN112214713A (zh) * | 2020-10-29 | 2021-01-12 | 浙江中建网络科技股份有限公司 | 一种基于云端平台的水泥价格订阅***以及订阅方法 |
CN112214713B (zh) * | 2020-10-29 | 2024-03-08 | 杭州中建科技集团有限公司 | 一种基于云端平台的水泥价格订阅***以及订阅方法 |
CN114862376A (zh) * | 2022-07-07 | 2022-08-05 | 深圳市泽维电子科技有限公司 | 一种多维信息采集协同管理方法、管理***及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20130311598A1 (en) | 2013-11-21 |
TW201403504A (zh) | 2014-01-16 |
CN104395855B (zh) | 2017-08-11 |
WO2013173111A3 (en) | 2014-03-13 |
DE112013002544T5 (de) | 2015-03-12 |
WO2013173111A2 (en) | 2013-11-21 |
TWI624794B (zh) | 2018-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104395855A (zh) | 用户组之间的基于云端的数据项共享和协作 | |
US10387132B2 (en) | Cloud-based application resource files | |
EP2850521B1 (en) | Locally backed cloud-based storage | |
US11467891B2 (en) | Kernel event triggers for content item security | |
US10380551B2 (en) | Mixed collaboration teams | |
US9037986B2 (en) | Online virtual safe deposit box user experience | |
US20170034182A1 (en) | System and protocol for programmatic inheritance of digital assets | |
US20230410053A1 (en) | Discoverable collaboration teams | |
CN116684435A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |