对存储数据的远程访问控制的制作方法

文档序号:12513032阅读:294来源:国知局
对存储数据的远程访问控制的制作方法与工艺

本申请要求2014年9月29日提交的美国专利申请号14/500,910的权益,所述申请的公开内容以引用的方式整体并入本文。

背景

远程计算服务(诸如远程文档存储)的使用近年来已经大大增加。例如,组织可使用内部网络的计算资源和由其他方管理的计算资源两者来支持它的操作。例如,组织的计算机可在使用另一个组织的服务的同时与其他组织的计算机通信以访问和/或提供文档或其他数据。在许多情况下,组织使用由其他组织管理的硬件来配置并操作远程网络,从而降低基础设施成本并实现其他优点。在具有此类计算资源配置的情况下,确保对它们所持有的资源和数据的访问可能具有挑战性,尤其是考虑到大量不同的计算系统。例如,组织的计算机可包括个人计算机、平板电脑、智能电话、膝上型计算机和其他装置。

鉴于不同装置的各种硬件和软件组件,确保用户可共享文档并在文档上协作是具有挑战性的。此外,帮助确保共享文档的安全性并帮助确保仅允许授权用户访问或下载共享文档是具有挑战性的。

附图简述

将参考附图描述根据本公开的各个实施方案,在附图中:

图1示出根据至少一个实施方案的目标文档删除的实例;

图2示出根据至少一个实施方案的目标文档删除的实例;

图3示出根据至少一个实施方案的目标文档删除的实例;

图4示出根据至少一个实施方案的用户装置与计算资源服务提供商通信和根据至少一个实施方案的目标文档删除的实例;

图5示出根据至少一个实施方案的目录结构的实例和目标文档删除的实例;

图6示出根据至少一个实施方案的用于示出目标文档删除的实例的方法的实例;并且

图7示出可实现各种实施方案的环境。

具体实施方式

本公开的至少一些实施方案一般涉及利用文档管理和协作系统来使得用户能够共享文档并在文档上协作。用户可以是维持由文档管理和协作系统管理的文档目录的一组用户或组织的一部分。用户可对目录或目录的关联文件夹或子文件夹的任何具有许可特权。许可特权可容许用户查看、改变或注释文档。许可特权可进一步容许用户对文档评论或提供反馈并创建或删除文档或文件夹。可存在各种级别或许可或共享特权,并且用户的特权可以变化。

一个用户对目录或文档执行的动作可以被第二用户或协作者感知和观看。如本文所述,每个用户装置能够与文档管理和协作系统通信,以便对目录或文档采取动作或进行改变。文档管理和协作系统进而可使得由第一用户做出的改变被传播到第二用户,使得第二用户可具有与第一用户一致的视野。注意,文档管理和协作系统与用户之间的交换可使用API配置的调用来执行。

文档管理和协作系统可利用各种服务来实现文档共享和协作。文档管理和协作系统可利用各种数据库来存储文档元数据,诸如文档版本、存储位置或大小或用于访问文档或文件夹的组许可的用户、以及其他类型的元数据。

为了提高共享文档的安全性和完整性,文档管理和协作系统可允许已经下载到装置的一个或多个共享文档的目标删除或目标拒绝访问。在一些实施方案中,目标删除或目标拒绝访问是指对指定文档或文件的删除或拒绝访问。目标删除或目标拒绝访问可包括所有已知装置上、与特定用户相关联的所有装置上的文档或文件的所有已知拷贝和版本、特定装置上的文档或文件的所有实例、在一个或多个装置上的文档或文件的一个或多个实例、或它们的组合。当用户认证到文档管理和协作系统的用户会话时,用户会话与装置相关联。装置可由装置硬件或软件配置信息(例如主机名和IP地址)唯一地标识。可相对于由文档管理和协作系统跟踪的其他装置来唯一地标识装置。文档管理和协作系统可以为用户已经具有用户会话的所有这样的装置创建简档,并且维持用户的所有会话和装置的列表。

可能存在期望选择性地删除从文档管理和协作系统下载的文档或拒绝对从文档管理和协作系统下载的文档的访问的情况。例如,装置可能丢失或被盗,或者用户可能不再是协作组的一部分。在各种实施方案中,管理员或用户可在一个或多个选择级别选择性地删除文档或拒绝对文档的访问。例如,可选择与用户相关联的所有或一组会话或装置。可选择用户具有用户会话的所有装置,或者可选择特定装置。此外,可选择与用户相关联的所有文档或特定文档。

目标删除或拒绝访问可以多种方式实现。在一个实施方案中,活动用户会话可被撤销并且用户被强制登录。对于支持推送通知的装置,文档管理和协作系统可向装置发送推送通知(例如,使用短消息服务(SMS))。当在装置上运行的客户端接收到通知时,从装置中删除所选择的文档。在成功删除所选文档之后,可将结果发送回文档管理和协作系统。

在一些实施方案中,当用户尝试访问目标文档时,文档管理和协作系统可拒绝目标文档的访问。例如,在一些实现中,文档管理和协作系统可要求对每个用户会话授权对文档的所有访问。文档管理和协作系统可在允许访问所请求的文档之前执行附加的安全检查,以验证所请求的文档是否被定作目标删除。

在一些实施方案中,用户装置可覆盖存储目标文档的存储器位置。这有助于确保目标文档在用户装置上不可访问。

一些不支持推送通知但可以使用刷新令牌或访问令牌(通过其授予时间限制访问)的装置,文档管理和协作系统可拒绝刷新令牌或访问令牌的更新,从而不允许继续访问用户会话。文档管理和协作系统还可命令用户装置从装置删除所选择的文档。在成功删除所选文档之后,可将结果发送回文档管理和协作系统。

文档管理和协作系统可以跟踪和维持所有待决的目标删除或访问拒绝请求的状态信息。文档管理和协作系统可存储是否请求了目标删除/访问拒绝,是否向用户装置发送了通知以及用户装置是否已经报告回来。如果在最大超时之后没有接收到响应,则文档管理和协作系统可定期跟踪重试待决的目标删除或访问拒绝请求。

删除可包括删除在用户装置上的持久性磁盘存储器上的所有可用文件以及相关联的元数据。拒绝访问可包括终止与用户和/或与用户相关联的特定用户装置相关联的任何活动会话。

对于至少一些实施方案,本公开描述了一种执行目标擦除的方式,其可以提供优于可以实现其中整个装置必须被重置或擦除的移动装置管理系统的其他系统的优点。

图1示出根据至少一个实施方案的文档共享和协作的实例。第一用户装置102和第二用户装置104连接到文档管理和协作系统106。文档管理和协作系统106使得用户装置能够共享文档并在文档上协作。此外,文档管理和协作系统106使得两个用户装置能够同步,使得由第一用户装置102所提供的文本、评论、注释或突出显示可被第二用户装置104观看。用户装置之间的同步可实时或半连续地、周期性地执行或者可以是事件驱动的或事件触发的,由此所述事件可以是任何类型的用户命令,诸如存储正在协作的文档。

文档共享和协作系统106可接收用于第一用户装置102和第二用户装置104的硬件和/或软件配置信息,使得可唯一地标识和跟踪装置。文档共享和协作系统106可接收将文档(未示出)从文档管理和协作系统下载到一个或多个计算装置的请求。所述请求可源自管理员(未示出)或与第一用户装置102或第二用户装置104相关联的用户。所请求的文档被发送到第一用户装置102或第二用户装置104。基于用户的标识和第一用户装置102或第二用户装置104的跟踪,可确定应当从第一用户装置102或第二用户装置104删除下载的文档。文档共享和协作系统106可执行从第一用户装置102或第二用户装置104目标删除下载的文档。文档共享和协作系统106进一步可从第一用户装置102或第二用户装置104接收成功删除下载的文档的指示。

如本文所描述的,术语“用户”可以指配备有通信和计算能力的人工操作的计算装置。术语“文档”可以是能够在计算装置上呈现的任何类型的媒体,诸如视听媒体。文档可以是能够由生产程序或套件产生或使用其编辑或查看的计算机文件。因此,文档可以是可编辑或不可编辑的文本、图像、绘图和网站等。除了使得用户能够协作并共享文档之外,文档管理和协作系统106可向用户提供文件系统或组织结构以管理文档。组织结构可包括具有文档的嵌套文件夹和子文件夹的目录,并且可由用户访问并由用户用作访问文档的方式。

图2示出根据至少一个实施方案的计算装置连接到计算资源服务提供商的实例。计算装置202可以是能够与计算资源服务提供商210或其实体进行通信的任何装置。计算装置202还可配备有本地或远程(例如,基于网络的)计算和存储能力。计算能力可由诸如中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器等的处理器提供或实现。CPU的实例包括采用x86架构(例如,如在台式和膝上型计算装置中使用的)或精简指令集计算(RISC)架构(例如,如在智能电话和平板计算装置中使用的)的CPU。计算装置202还可配备有通信和联网硬件,并且可能够使用任何通信协议进行通信。此外,计算装置202可配备有可包括显示器、基于触摸屏或基于键盘的输入装置或扬声器的输入/输出装置。另外,计算装置可包括任何类型的存储器(诸如静态或动态存储器)和电源或电源适配器。除了它们的硬件能力之外,计算装置202可被配置来运行或执行操作系统和/或其他程序,并且计算装置202的相关联的存储器可存储可执行指令,当所述指令由一个或多个处理器执行时致使一个或多个功能被执行或致使操作系统和/或其他程序运行。尽管在图2中示出两个装置,但是在各种实施方案中可设想任何数量的装置。此外,计算装置202可通过网络(未示出)与计算资源服务提供商210或计算资源服务提供商210的任何实体通信。网络可以是公共的或专用的,由此网络的实例包括因特网和因特网服务提供商(ISP)网络。

计算装置202可共同地或单独地与计算资源服务提供商210的用户或客户或其实体和功能相关联。客户(未示出)可以是一个组织,所述组织可利用计算资源服务提供商210所提供的一种或多种服务来保持信息并将信息递送给它的员工,所述员工可位于各种地理位置。另外,客户可以是利用计算资源服务提供商210的服务向处于远程位置的工作组递送内容的个人。

计算资源服务提供商210包括前端系统204和文档管理和协作系统206以及多种服务和系统,如图2所示。这些包括内容分发边缘网络212、对象级数据存储服务214、虚拟计算服务216、任务管理和工作流服务218、管理式目录服务222、自定义搜索服务224、可扩展数据库服务226以及通知服务228。注意,在各种实施方案中,计算资源服务提供商210可包括除参考图2描述的服务和系统之外的更少的服务和系统,或者可包括参考图2描述的服务或系统的附加或替代服务或系统。此外,在替代实施方案中,系统和服务可在计算资源服务提供商210的上下文之外使用。例如,服务和系统可以是独立的,或者与除了参考图2所描述的系统和服务之外的系统和服务结合使用。

前端系统204可以是到文档管理和协作系统206的网关,并且可向用户或客户以及其计算装置202提供专用和公共服务。对前端系统204的访问可能需要授权或用户认证。另外,装置或用户特权级别可管控对前端系统204的访问以及前端系统204与计算装置202之间的任何数据交换。对前端系统204的访问可由与计算装置202相关联的特权级别或者给予计算装置202或计算装置202的用户的特权级别或凭证(例如由群组或组织管理员)来管控。

在授权访问文档管理和协作系统206的资源之前,前端系统204可执行对客户、用户或装置的认证。认证可基于凭证,诸如用户名和密码信息、或访问令牌等等。前端系统204可提供容许或允许客户访问的服务和接口。例如,前端系统204可实现向客户提供与计算资源服务提供商210的服务相关的信息的基于web的平台或基于控制台的平台。此外,前端系统204可使得客户能够执行计算资源服务提供商210中的应用或任务、跟踪并管理应用或任务的执行、接收执行的结果、以及将结果传送到用户装置。如本文进一步描述的,前端系统204可以是网关,通过所述网关客户或其相关联的装置202可利用计算资源服务提供商210所提供的多种服务。

文档管理和协作系统206实现并管理用于在分布式系统中的一个或多个用户之间协作的文档的执行和处理。文档管理和协作系统206可例如使得能够将文档上传到计算资源服务提供商210,以及保留和修改与文档相关联的元数据。文档管理和协作系统206进一步可允许与文档或其元数据相关联的搜索功能以及用户之间在文档上的协作。

尽管本文使用术语“文档”来描述由计算资源服务提供商206的用户产生或协作的对象,但是术语“文档”不限于诸如视听媒体的媒体。文档可以是能够由生产程序或套件产生或使用其编辑或查看的计算机文件。因此,文档可以是可编辑或不可编辑的文本、图像、绘图和网站等。

计算资源服务提供商210的内容分发边缘网络212可以是计算装置和其他资源的集合,其被共同配置来向多个用户递送诸如web内容的内容。内容分发边缘网络212可具有例如分布在世界范围位置中的多个边缘位置,这些位置被策略性地放置以优化用户数据吞吐量并最小化等待时间。内容分发边缘网络212可接收对内容的请求并将所请求的内容递送给用户。内容分发边缘网络212可与存储内容的一部分或全部的存储服务对接,并且可使得内容被检索并提供给请求方。内容分发边缘网络212可用于实现用户可访问的网站或前端系统204的web应用。

对象级数据存储服务214可以是被配置来同步处理存储和/或访问数据的请求的计算资源的集合。对象级数据存储服务214可使用使得对象级数据存储服务214能够快速定位和检索数据的计算资源(例如,数据库)来操作,以便允许响应于对数据的请求而提供数据。例如,对象级数据存储服务214可按照这样的方式维持所存储的数据,其方式为使得当检索到对数据对象的请求时,可响应于所述请求来提供数据对象(或可发起数据对象串流)。如上所述,存储在对象级数据存储服务214中的数据可被组织成数据对象。可能除了某些大小限制外,数据对象可以具有任意大小。因此,对象级数据存储服务214可存储大小不同的多个数据对象。如本文所描述的,对象级数据存储服务214可存储任何类型的文档(例如,文档源文件)、底图、预览、缩略图、提取的文档文本、注释索引或真值表。

虚拟计算服务216可以是被配置来代表计算资源服务提供商210的实体(诸如文档管理和协作系统206)或代表客户来实例化虚拟机实例的计算资源的集合。一方可与虚拟计算服务216(通过适当配置且认证的API调用)交互以提供并操作在由虚拟计算服务216托管并操作的物理计算装置上实例化的虚拟计算机系统。虚拟计算机系统可用于各种目的,诸如用作支持网站的服务器、操作商业应用或通常起到计算能力的作用。此外,虚拟计算机系统可用于支持数据库应用、电子商务应用、商业应用和/或其他应用。尽管在图2中示出虚拟计算服务216,但是可利用任何其他计算机系统或计算机系统服务(诸如不采用虚拟化或实例化的计算机系统或计算机系统服务),并且代之以在专用或共享计算机/服务器和/或其他物理装置上提供计算资源。

任务管理和工作流服务218可以是计算装置和其他资源的集合,其被共同配置来执行使得能够在多种计算环境和平台上执行计算任务的任务协调和管理服务。任务管理和工作流服务218跟踪工作流执行的进度并执行任务的分派和保持。此外,任务管理和工作流服务218可控制用于执行任务的主机或物理或虚拟计算机器的分配。用户可定义用于执行的工作流,由此工作流可包括一个或多个任务。可使用对任务管理和工作流服务218的应用编程接口(API)配置的函数调用来定义工作流。此外,用户可指定工作流的任务顺序、条件流以及用于重新开始或终止工作流的执行的超时时段。此外,可定义工作流的执行循环。如本文所述,工作流执行可以是异步的,并且可在数据库写入的同步执行之后。

管理式目录服务222可以是计算装置和其他资源的集合,其被共同配置来用作使得用户能够使用一组凭证登录到计算资源服务提供商210的计算资源的目录,并且使得管理员能够统一地应用安全策略提供给计算资源服务提供商210。管理式目录服务222可启用用于用户和组管理的基于web的控制台,并且可被用作针对用户凭证的认证系统。

自定义搜索服务224可以是计算装置和其他资源的集合,其被共同配置来容许对数据集的自定义搜索,并且能够对执行搜索的一方建立安全或认证要求。此外,自定义搜索服务224允许数据集复制以在中断的情况下实现一致的性能。如本文所述,客户搜索服务224可用于维持客户文档及其相关联的元数据的搜索索引。此外,为了确保一致的性能,可复制可搜索的元数据或客户文档,以便确保一致的性能并防止中断。

可扩展数据库服务226可以是计算装置和其他资源的集合,其被共同配置来提供便于文档或数据的存储和检索的结构化存储系统。可扩展数据库服务226可以是非关系的,并且可基于键值模型。可扩展数据库服务226的实例包括NoSQL数据库(例如,以便与关系结构化查询语言(SQL)数据库区分开)。可扩展数据库服务226可用于存储与文档或用户相关联的元数据。例如,可扩展数据库服务226可存储用于底层、覆盖、文档、反馈或评论的元数据。另外,可扩展数据库服务226可存储与用户、组织和许可相关联的元数据。作为非关系数据库,可扩展数据库服务226可保证对单个表中的单个项目的原子写入。因此,可对真值表同步地执行单个写入,并且可使用工作流异步地执行剩余写入。

在图2所示的环境中,包括通知服务228。通知服务228可包括共同配置来提供web服务或其他接口和基于浏览器的管理控制台的计算资源的集合。管理控制台可用于配置客户寻求通知应用(或人员)的主题、订阅客户端主题、发布消息或配置通过客户端选择的协议的消息传递(即,超文本传输协议(HTTP)、电子邮件和短消息服务(SMS)等)。通知服务228可使用“推送”机制向客户端提供通知,而不需要周期性地检查或“轮询”新的信息和更新。如上所述,通知服务228可向计算装置202中的一个或多个发送推送通知。当在装置上运行的客户端接收到通知时,可从装置中删除所选择的文档。通知服务228进一步可用于各种目的,诸如监视正在虚拟计算机系统服务228中执行的应用、工作流系统、时间敏感的信息更新、移动应用以及许多其他应用。

图3示出根据至少一个实施方案的前端系统和文档管理和协作系统的功能实体。前端系统304包括web服务器332、应用服务334、管理控制台336和控制平面服务338。web服务器332可实现容许用户向文档管理和协作系统306传送或上传文档并管理文档的网站、单页面web应用或单页面界面的执行。web服务器332进一步可使得用户(未示出)能够查看和编辑文档、底层或覆盖,并且对文档提供评论或反馈。web服务器332还可使管理员或用户能够设置许可或共享模式,其指定在访问文档时给予用户的特权。另外,web服务器可使得用户或装置能够提交认证或授权凭证。参考图2中的数字212描述的内容分发边缘网络可用于分发web服务器332的内容。由用户执行的动作可通过网站、应用或管理控制台来完成,并且web服务器332可使得能够执行网站、应用或管理控制台。尽管参考图3描述一个web服务器332,但是可设想的是,可使用任何类型的多个web服务器,由此web服务器的一部分可以是冗余的。

应用服务334可以是计算装置和其他资源的集合,其被共同配置来用作从用户接收请求并为请求提供服务的向用户暴露的服务。可使用用户可访问的网站或管理控制台来进行用户请求,或者在用户装置上执行的客户端可代表用户进行服务请求。所述请求可以是API函数调用,并且应用服务334可处理请求并且管理其执行。应用服务334可使得与接收到的请求相关联的动作的同步执行,或者可使得需要更复杂处理的一个或多个动作排队以用于异步执行。应用服务334还可负责接收用户凭证并从认证服务请求认证用户。为了导致用户所请求的操作的执行,应用服务334可对计算资源服务提供商210的服务或实体进行一个或多个函数调用。例如,应用服务334可从管理式目录服务222请求用户或访问令牌验证,或者可使得由自定义搜索服务224维持的搜索索引被更新。

除了认证之外,应用服务334还可被配置来接收用户装置的硬件和/或软件配置信息,并且使用所述信息唯一地标识并跟踪用户装置。使用用户的标识和用户装置的跟踪,下载的文档可被删除或以其他方式在用户装置上不可用。在一个实施方案中,应用服务334可导致从用户装置目标删除下载的文档。

管理控制台336可以是计算装置和其他资源的集合,其被共同配置来容许组织、管理员和用户注册以利用文档管理和协作服务。管理控制台336可附加地或替代地用于在用户装置上运行的网站或应用,并且可容许用户和管理员使用适当配置的API函数调用来进行服务请求。例如,管理控制台336可用于邀请用户加入文档协作系统并查看文档和在文档上协作。此外,管理控制台336可用于允许仪表板访问、审计日志访问、许可设置(例如,针对管理员和用户)、存储限制设置(例如,针对组织和用户)和安全设置(例如,密码和加密)。

前端系统304的控制平面服务338可以是计算装置和其他资源的集合,其被共同配置来用作使得能够创建用于文档协作和管理的新计算实例的接口。可通过在管理式目录服务222中透明地创建目录或关联现有目录(例如,由管理式目录服务222或由用户或管理员维护)来创建实例,以用于文档管理和协作。控制平面服务338可用于创建文档目录,并且文档目录可由管理式目录服务222执行和服务。文档目录可与具有能够向用户提供许可和特权的管理员的组织相关联。在创建目录之后,应用服务334可用于实现影响目录的文件夹或文档的功能。

文档管理和协作系统306包括用户跟踪服务342、装置跟踪服务344、文档跟踪服务346、删除跟踪服务348和文档管理授权接口350。用户跟踪服务342可以是计算装置和其他资源的集合,其被共同配置来跟踪用户和用户会话。装置跟踪服务344可以是共同配置来跟踪用户装置的计算装置和其他资源的集合。

文档跟踪服务346可以是计算装置和其他资源的集合,其被共同配置来跟踪各种文档以及哪些用户和哪些文档已经下载或访问文档。删除跟踪服务348可以是计算装置和其他资源的集合,其被共同配置来跟踪删除文档的请求。文档管理授权接口350可以是计算装置和其他资源的集合,其被共同配置来接收和授权删除文档的请求。

图4示出根据至少一个实施方案的用户装置与具有文档管理和协作系统的计算资源服务提供商通信。在环境400中,用户装置408包括web应用462和配备有文档安全客户端466的文档管理和协作应用464。计算资源服务提供商410包括文档管理和协作系统406,诸如参考图3中的数字306描述的文档管理和协作系统。注意,计算资源服务提供商410可包括除了图4所示的实体之外的实体,或者代替图4所示的实体,诸如参考图2和图3描述的实体。

如本文所述,用户装置408可配备有计算装置和其他资源的集合,其被共同配置来与计算资源服务提供商410或其任何一个实体通信。用户装置408可配备有任何数量或类型的通信装置,诸如实现任何类型的无线或有线连接的端口或调制解调器。此外,可通过任何类型的网络(未示出)执行通信,诸如包括因特网、内联网或因特网服务提供商(ISP)网络的因特网协议(IP)网络。另外,用户装置408可以根据或依照任何类型的通信协议进行通信,所述通信协议包括以下任何一种:电气和电子工程师协会(IEEE)802协议,短程通信协议诸如蓝牙TM,或蜂窝通信协议诸如第三代(3G)通信协议或长期演进(LTE)。

web应用462可使得用户装置408能够呈现和使得网站能够显示并与网站交互。web应用462的实例包括web浏览器,并且web应用462可容许用户向文档协作和管理网站提供登录凭证并访问文件夹的一个或多个文档目录。此外,例如,至少部分地基于用户的凭证,web应用462可例如经由网站使用户能够在用户对其具有至少查看特权的文件夹或目录之间导航。另外,网站可向用户提供上传或发送要包括在文件夹中或者要由用户或一个或多个其他协作者共享、评论或注释的文档的选项。

用户在与网站交互中执行的动作可使得web应用462向计算资源服务提供商410或其实体发送请求。请求可以是由计算资源服务提供商410执行的应用编程接口(API)函数调用。例如,当用户注释文档版本并保存注释版本时,web应用462可使得向计算资源服务提供商410或其实体进行指示注释的API函数调用。在一些实施方案中,web应用462可以不是完全同步的,并且可以不基于用户采取的任何动作而引起请求。例如,当用户注释文档时,web应用462可以不在用户做出时同步地,并且可以替代地当用户保存文档或注释时,或者替代地,每个时间间隔,才中继注释。

如图4所示,用户装置408进一步配备有文档管理和协作应用464。文档管理和协作应用464可以是可执行指令(例如,存储在用户装置408上或耦合到用户装置408的非暂时性计算机可读存储介质上),当由用户装置408的计算机系统执行时,使得用户能够与由计算资源服务提供商410提供的文档共享和协作功能交互。与基于web应用或基于浏览器的界面一样,文档管理和协作应用464使得用户能够提供登录凭证并访问一个或多个文档目录或文件夹。用户还可通过例如将文档上传到一个或多个文件夹、从一个或多个文件夹中删除文档、为文档注释底层、查看包括注释的覆盖等等来与由计算资源服务提供商410提供的文档管理和协作系统406交互)。文档管理和协作应用464可提供用于利用独立于web应用462的任何文档协作和管理资源和功能的机制。

文档管理和协作应用464包括与前端系统404和文档管理和协作系统406通信的文档安全客户端466。文档安全客户端466可从文档管理和协作系统406接收删除文档的请求。所述请求可包括唯一文档标识符。文档安全客户端466可使得从用户装置408删除所标识的文档。

图5示出根据至少一个实施方案的目录结构的实例。目录502可由管理式目录服务维持并且可与组织相关联,所述组织又可具有一个或多个目录502。如图5所示,目录502被示为包括一个或多个文件夹504(这里单独称为文件夹502)。此外,文件夹504可包括嵌套在文件夹504内的一个或多个子文件夹506。可以认识到,子文件夹506还可包括一个或多个嵌套的子文件夹。文件夹504可以是目录502内的文件结构,并且在一些实施方案中,与文件夹504相关联的安全或许可权限可以应用于文件夹504内或嵌套在文件夹504内的子文件夹506内的文档508。

文件夹504可保留一个或多个文档508(这里单独地称为文档508)。如参考图5所述,文档可包括多个文档版本510。文档版本510可以是文档508的一个修订版本或现有文档的后续版本或修订版本,包括例如用户修改和改变。此外,关于文档提供的许可或安全特权可以应用于与文档508相关联的多个文档版本510。当选择要删除文档508时,从用户装置删除包括版本510的所有版本。

图6示出根据本文描述的至少一个实施方案的用于管理文档管理和协作系统中的数据的方法的实例。在过程600中,诸如图3的应用服务334的应用服务,过程602接收一个或多个计算装置的硬件和/或软件配置信息。在过程604中,唯一地标识并跟踪一个或多个计算装置。

在过程606中,接收将文档从文档管理和协作系统下载到一个或多个计算装置的请求。在过程608中,标识与下载请求相关联的用户。在过程610中,将所请求的文档发送到一个或多个计算装置。

所请求的文档可以是新文档或现有文档的新版本。此外,文档可以是本地文档。所述请求可从用户接收并且可包括与用户相关联的认证信息,诸如访问或授权令牌或登录信息。认证信息能够被验证以确认与请求者相关联的身份或者确认请求者是真实的或者由请求者呈现的身份是真实的。此外,可确认请求者被授权或容许请求要上传的文档。通过管理员可容许用户上传或访问文档。此外,可由管理员或另一用户、文档所有者或其他文档主体来容许用户访问文档。例如,其他用户、文档所有者或其他文档主体可具有与用户共享文档的特权,并且因此可以利用所述特权来使得用户能够访问所上传的文档。如本文所述,请求可以是API配置的函数调用。

应用服务然后至少部分地基于所提供的认证信息来认证请求方。应用服务可利用目录服务授权接口进行用户认证,并且可将认证信息发送到目录服务授权接口。文档管理和协作系统可依赖于管理式目录服务222进行认证,由此用户或组织对管理式目录服务222的账户也可用于访问由文档管理和协作系统提供的服务。

基于用户的标识和一个或多个计算装置的跟踪,过程612确定应当从一个或多个计算装置中删除下载的文档。

在过程614中执行从一个或多个计算装置目标删除所下载的文档。在过程616中,应用服务可接收成功删除所下载的文档的指示。

文档管理和协作系统可与诸如允许用户使用分布式计算资源执行一个或多个虚拟桌面的虚拟桌面服务的其他服务集成或结合使用。例如,虚拟桌面的各种文件或文档目录可由文档管理和协作系统维持。使用文档管理和协作系统,用户可能够访问用户的虚拟桌面或虚拟操作系统的各种文档目录。可以在不需要独立地访问虚拟桌面或操作系统或虚拟桌面服务的情况下执行访问。因此,当文档管理和协作系统与虚拟桌面服务集成时,由虚拟桌面服务维持的目录、文档或文件夹可以经由文档管理和协作系统访问。

此外,文档管理和协作系统可用于存储虚拟桌面服务的文档和目录。此外,在一些实施方案中,文档管理和协作系统可负责存储桌面文档,而虚拟桌面服务可以负责存储其他文件类型,诸如软件应用、私人电子邮件、用户设置等的值。在一些实施方案中,可在文档管理和协作系统与虚拟桌面服务之间共享安全特权,由此用户可用单点登录登录到两个系统并利用单个认证过程。

可鉴于以下条款对本公开的实施方案进行描述:

1.一种用于管理文档管理和协作系统中的数据的计算机实现的方法,其包括:

在配置有可执行指令的一个或多个计算机系统的控制下,

接收一个或多个计算装置的硬件或软件配置信息;

基于所述硬件或软件配置信息唯一地标识并跟踪所述一个或多个计算装置;

从所述一个或多个计算装置中的一个计算装置接收请求,其中所述请求用于将文档从所述文档管理和协作系统下载到所述一个计算装置;

标识与所述下载请求相关联的用户;

将所请求的文档发送到所述一个计算装置;

基于所述用户的所述标识和所述一个或多个计算装置的所述跟踪,确定应当从所述一个计算装置删除所下载的文档;

从所述一个计算装置执行所下载的文档的目标删除;以及

从所述一个计算装置接收成功删除所下载的文档的指示。

2.根据条款1所述的计算机实现的方法,其中所述标识包括随用户会话认证所述用户,并且所述跟踪包括将所述用户会话与所述一个计算装置相关联。

3.根据条款1所述的计算机实现的方法,其中所述执行所述目标删除包括发送命令所述一个计算装置删除所下载的文档的推送通知。

4.根据条款1所述的计算机实现的方法,其中所述执行所述目标删除包括拒绝所述一个计算装置更新所下载的文档的基于时间的使用的请求。

5.根据条款1所述的计算机实现的方法,其还包括维持待决删除请求的状态。

6.根据条款1所述的计算机实现的方法,其中所述执行所述目标删除包括通过空闲信道发送命令所述一个计算装置删除所下载的文档的消息。

7.一种系统,其包括共同配置来实现至少一个应用服务的一个或多个计算装置,所述应用服务被配置来:

标识与文档管理和协作系统的用户相关联的一个或多个用户装置;

确定应当使得所述一个或多个用户装置不能够访问与所述用户相关联的从所述文档管理和协作系统下载到所述一个或多个用户装置的一个或多个文档;以及

导致目标拒绝从所述一个或多个用户装置对所下载的一个或多个文档的访问。

8.根据条款7所述的系统,其中基于所述一个或多个用户装置的硬件或软件配置信息来标识所述一个或多个用户装置。

9.根据条款7所述的系统,其中所述应用服务进一步被配置来:

接收将所述一个或多个文档中的一个下载到所述一个或多个用户装置的请求;

向同步客户端发送用于文档存储的位置的指示;以及

从所述同步客户端接收指示在所述位置处成功存储所述文档的消息。

10.根据条款9所述的系统,其中:

所述应用服务进一步被配置来响应于接收到所述消息,使数据库指示所述文档被下载或存在于所述一个或多个用户装置上。

11.根据条款7所述的系统,其中所述一个或多个计算装置被共同配置来接收成功删除所述一个或多个下载的文档的指示。

12.根据条款7所述的系统,其中所述导致所述目标拒绝访问包括向所述一个或多个用户装置发送指示应当从所述一个或多个用户装置删除所下载的文档的推送通知。

13.根据条款7所述的系统,其中所述导致所述目标拒绝访问包括拒绝更新所述一个或多个用户装置上的所述文档的基于时间的使用的请求。

14.根据条款7所述的系统,其中所述导致所述目标拒绝访问包括:

删除与所述用户相关联的位于所述一个或多个用户装置上并且处于持久盘存储装置和元数据存储区上的文档;以及

终止活动用户会话。

15.根据条款7所述的系统,其中所述导致所述目标拒绝访问包括删除与所述用户相关联的所述一个或多个文档中的所选择的文档。

16.根据条款7所述的系统,其中所述导致所述目标拒绝访问包括重写存储所述一个或多个文档中所选择的一个的存储器位置。

17.根据条款7所述的系统,其中所述导致所述目标拒绝访问包括拒绝访问所述一个或多个文档的请求。

18.一种非暂时性计算机可读存储介质,其具有共同存储在其上的可执行指令,当由计算装置的一个或多个处理器执行时,所述指令致使所述计算装置至少:

向文档管理和协作系统发送数据,所述数据用于跟踪哪些计算装置与所述文档管理和协作系统的用户相关联;

从所述文档管理和协作系统接收文档并存储所接收的文档,其中所接收和存储的文档与所述用户相关联,并且所接收和存储的文档由所述文档管理和协作系统跟踪;以及

响应于来自所述文档管理和协作系统的命令,拒绝访问与所述用户相关联的所下载的文档中的所选择的文档。

19.根据条款18所述的非暂时性计算机可读存储介质,其还包括使所述计算装置向所述文档管理和协作系统发送成功删除所下载的文档中的所选择的一个的指示的指令。

20.根据条款18所述的非暂时性计算机可读存储介质,其中与所述用户相关联的文档仅在验证所述计算装置被配置来执行所下载的文档中的所选择的一个的目标删除时下载。

21.根据条款18所述的非暂时性计算机可读存储介质,其中所述指令还包括当由所述一个或多个处理器执行时致使所述计算装置终止与所述用户相关联的活动会话的指令。

22.根据条款18所述的非暂时性计算机可读存储介质,其中所述拒绝访问包括重写存储所下载的文档中的所选择的一个的存储器位置。

图7示出根据各个实施方案的用于实现若干方面的实例环境700的若干方面。如将了解,尽管出于解释目的使用基于web的环境,但是可视情况使用不同环境来实现各种实施方案。环境包括电子客户端装置702,其可包括可操作来通过适当网络704发送和/或接收请求、消息或信息并且在一些实施方案中将信息传送回装置的用户的任何适当装置。这类客户端装置的实例包括个人计算机、手机、手持式消息传送装置、膝上型计算机、平板计算机、机顶盒、个人数据助理、嵌入式计算机系统、电子书阅读器等。网络可包括任何适当网络,包括内联网、因特网、蜂窝网、局域网、卫星网络或任何其他这类网络和/或上述网络的任何组合。用于这种系统的部件可至少部分地取决于所选择的网络和/或环境的类型。用于通过这种网络通信的协议和部件是众所周知的,且本文将不再详细讨论。通过网路进行的通信可通过有线或无线连接及其组合来实现。在这个实例中,网络包括因特网,因为环境包括用于接收请求并且响应于所述请求而提供内容的web服务器706;然而对于其他网络来说,可使用服务类似目的的替代装置,如本领域技术人员所明白的。

说明性环境包括至少一个应用服务器708和数据存储区710。应理解,可存在可链接起来或以其他方式来配置的若干应用服务器、层或其他元件、进程或部件,它们可交互以执行诸如从适当数据存储区获得数据的任务。如本文所使用的服务器可用各种方式来实现,诸如硬件装置或虚拟计算机系统。在一些上下文中,服务器可以是指正在计算机系统上执行的编程模块。如本文所使用的,除非另行说明或从上下文清楚地看出,否则术语“数据存储区”是指能够存储、访问和检索数据的任何装置或装置组合,其可包括任何标准、分布式、虚拟或集群式环境中的任何组合和任何数目的数据服务器、数据库、数据存储装置和数据存储介质。应用服务器可包括任何适当硬件、软件和固件,用于视执行客户端装置的一个或多个应用的各方面的需要而与数据存储区集成,从而处置应用的一些或所有的数据访问和业务逻辑。应用服务器可与数据存储区协作提供访问控制服务,并且能够生成可用于向用户提供的内容,包括但不限于文本、图形、音频、视频和/或其他内容,所述内容可以超文本标记语言(HTML)、可扩展标记语言(XML)、JavaScript、级联样式表(CSS)或另一种合适的客户端侧结构化语言的形式通过web服务器向用户提供。传递到客户端装置的内容可由客户端装置处理,以便提供呈一种或多种形式的内容,所述形式包括但不限于用户可通过听觉、视觉和/或通过其他感觉(包括触觉、味觉和/或嗅觉)来感知的形式。所有请求和响应的处置以及电子客户端装置702与应用服务器708之间的内容递送可由使用以下PHP的web服务器来处置:超文本预处理器(PHP)、Python、Ruby、Perl、Java、HTML、XML或这个实例中的另一合适的服务器侧结构化语言。应理解,web服务器和应用服务器不是必要的且仅仅是实例性部件,因为本文所讨论的结构化代码可在如本文其他地方所讨论的任何适当装置或主机上执行。此外,除非从上下文清楚地看出,否则如由单个装置执行的本文所述的操作可由可形成分布式和/或虚拟系统的多个装置共同执行。

数据存储区710可包括用于存储与本公开的特定方面相关的数据的若干单独数据表、数据库、数据文档、动态数据存储方案和/或其他数据存储机构和介质。例如,所示数据存储区710可包括用于存储生产数据712和用户信息716的机构,生产数据712和用户信息716可用于提供用于生成侧的内容。数据存储区还被示出为包括用于存储日志数据714的机构,日志数据714可用于报告、分析或其他这类目的。应理解,可能存在可能需要存储在数据存储区中的许多其他方面,诸如页面图像信息和访问权信息,所述方面可视情况存储在上文列出的机构中的任何机构中或存储在数据存储区710中的另外机构中。数据存储区710可通过与其相关联的逻辑来操作,以便从应用服务器708接收指令,并且响应于所述指令获得数据、更新数据或以其他方式处理数据。应用服务器708可响应于所接收指令提供静态数据、动态数据或静态数据和动态数据的组合。动态数据(诸如web日志(博客)、购物应用、新闻服务以及其他这类应用中使用的数据)可由如本文所描述的服务器侧结构化语言生成,或可由在应用服务器上操作或在其控制下的内容管理系统(CMS)提供。在一个实例中,用户可通过由用户操作的装置提交对某种类型的项目的搜索请求。在这种情况下,数据存储区可访问用户信息以核实用户的身份,并且可访问目录详细信息以获得关于所述类型的项目的信息。接着可将信息以诸如网页上的结果列表的形式返回给用户,用户能够通过电子客户端装置702上的浏览器来查看所述网页。可在专用浏览器页面或窗口中查看感兴趣的特定项目的信息。然而,应注意,本公开的实施方案未必局限于网页的上下文,而可更一般地应用于处理一般请求,其中请求未必是对内容的请求。

每个服务器通常将包括提供用于所述服务器的一般管理和操作的可执行程序指令的操作系统,并且通常将包括存储指令的计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等),所述指令在由服务器的处理器执行时允许所述服务器执行其预期的功能。操作系统的适合实现和服务器的一般功能是众所周知的或可商购的,并且易于由本领域普通技术人员实现,尤其是根据本文中的公开内容来实现。

在一个实施方案中,环境是分布式和/或虚拟计算环境,所述环境利用通过通信链路、使用一个或多个计算机网络或直接连接来互连的若干计算机系统和部件。但是,本领域普通技术人员应理解,这种系统可在具有比图7所示更少或更多部件的系统中同样顺利地操作。因此,图7中的系统700的描绘本质上应视为说明性的,并且不限制本公开的范围。

可在广泛多种操作环境中进一步实现各个实施方案,所述操作环境在一些情况下可包括一个或多个用户计算机、计算装置或者可用于操作多个应用中的任何一个的处理装置。用户或客户端装置可包括多个通用个人计算机中的任一种,诸如运行标准操作系统的台式机、膝上型计算机或平板计算机,以及运行移动软件并且能够支持多种网络连接协议和消息传送协议的蜂窝装置、无线装置和手持式装置。这种系统还可包括多个工作站,所述工作站运行多种可商购得的操作系统和用于诸如开发和数据库管理目的的其他已知应用中的任一种。这些装置还可包括其他电子装置,诸如虚拟终端、瘦客户端、游戏系统和能够经由网络通信的其他装置。这些装置还可包括虚拟装置,诸如虚拟机、管理程序和能够通过网络通信的其他虚拟装置。

本公开的各种实施方案利用本领域技术人员可能熟悉的至少一种网络来支持使用多种可商购得的协议中的任一种进行通信,所述协议诸如传输控制协议/因特网协议(TCP/IP)、用户数据报协议(UDP)、在开放系统互连(OSI)模型的各个层中操作的协议、文件传送协议(FTP)、通用即插即用(UpnP)、网络文件系统(NFS)、公共因特网文件系统(CIFS)以及APPLETALK。网络可以是例如局域网、广域网、虚拟专用网、因特网、内联网、外联网、公共交换电话网、红外网、无线网、卫星网络以及上述网络的任何组合。

在利用web服务器的实施方案中,web服务器可以运行多种服务器或中间层级应用中的任一种,包括超文本传送协议(HTTP)服务器、FTP服务器、通用网关接口(CGI)服务器、数据服务器、Java服务器、Apache服务器和业务应用服务器。服务器还能够响应于来自用户装置的请求而执行程序或脚本,诸如通过执行可以实现为以任何编程语言(诸如C、C#或C++)或任何脚本语言(诸如Ruby、PHP、Perl、Python或TCL)以及其组合写成的一个或多个脚本或程序的一个或多个web应用。服务器也可包括数据库服务器,包括但不限于,可从和商购获得的数据库服务器以及开源服务器(诸如MySQL、Postgres、SQLite、MongoDB),以及能够存储、检索和访问结构化数据或非结构化数据的任何其他服务器。数据库服务器可包括基于表格的服务器、基于文档的服务器、非结构化服务器、关系式服务器、非关系式服务器或这些和/或其他数据库服务器的组合。

环境可包括如上文讨论的多种数据存储区以及其他存储器和存储介质。这些可驻留在多种位置中,诸如在一个或多个计算机本地(和/或驻留在一个或多个计算机中)的存储介质上,或远离网络上的计算机中的任何或所有的存储介质上。在一组特定实施方案中,信息可以驻留在本领域技术人员所熟悉的存储区域网络(SAN)中。类似地,可视情况本地和/或远程存储用于执行归属于计算机、服务器或其他网络装置的功能的任意必要文件。在系统包括计算机化装置的情况下,每个这种装置可包括可通过总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(CPU或处理器)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出装置(例如,显示装置、打印机或扬声器)。这种系统还可以包括一个或多个存储装置,诸如磁盘驱动器、光存储装置和固态存储装置(诸如随机存取存储器(RAM)或只读存储器(ROM)),以及可移动介质装置、存储卡、闪存卡等。

这类装置还可包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外线通信装置等)和工作存储器,如上文所讨论。计算机可读存储介质读取器可与计算机可读存储介质连接或被配置来接收计算机可读存储介质,计算机可读存储介质表示远程、本地、固定和/或可移动存储装置以及用于临时和/或更永久地包含、存储、发射和检索计算机可读信息的存储介质。系统和各种装置通常还将包括位于至少一个工作存储器装置内的多个软件应用、模块、服务或其他元件,包括操作系统和应用程序,诸如客户端应用或web浏览器。应了解,替代性实施方案相比上文描述的实施方案可具有众多变化。例如,也可使用定制硬件,和/或特定元件可以硬件、软件(包括便携式软件,诸如小程序)或者硬件和软件两者来实施。此外,可以采用与其他计算装置诸如网络输入/输出装置的连接。

用于包含代码或部分代码的存储介质和计算机可读介质可包括本领域已知或已使用的任何适当介质,包括存储介质和通信介质,诸如但不限于以用于存储和/或传输信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术所实现的易失性和非易失性、可移动和不可移动的介质,包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、光盘只读存储器(CD-ROM)、数字通用光盘(DVD)或其他光学存储装置、磁盒、磁带、磁盘存储装置或其他磁性存储装置,或可用于存储所需信息且可由系统装置访问的任何其他介质。基于本文所提供的公开内容和教义,本领域普通技术人员将了解实现各种实施方案的其他方式和/或方法。

因此,应以说明性意义而不是限制性意义来理解本说明书和附图。然而,将明显的是:在不脱离如权利要求书中阐述的本发明的更宽广精神和范围的情况下,可以对本发明做出各种修改和改变。

其他变型在本公开的精神内。因此,尽管所公开的技术可容许各种修改和替代构造,但在附图中已示出并且在上文中详细描述所示的其某些实施方案。然而,应理解,并不意图将本发明局限于所公开的一种或多种具体形式,但相反,意图涵盖落在本发明的精神和范围内的所有修改、替代构造和等效物,如所附权利要求书中所限定。

在描述所公开实施方案的上下文中(尤其是在以下权利要求书的上下文中),术语“一个(a/an)”和“所述”以及类似指称对象的使用应解释为涵盖单数和复数两者,除非本文另外指示或以其他方式明显地与上下文矛盾。术语“包括(comprising)”、“具有(having)”、“包括(including)”和“含有(containing)”意图解释为开放式的术语(即,意味着“包括但不限于”)除非另外地指出。术语“连接(connected)”在未修改以及是指物理连接时意图解释为部分地或全部地含在内、附接到或接合在一起,即使存在介入物。除非本文另外指示,否则本文中对值范围的列举仅仅意图用作单独地表示落入所述范围的各单独值的速记方法,并且犹如本文单独描述地那样将各单独值并入本说明书中。除非本文另外指示或与上下文矛盾,否则术语“集”(例如,“项目集”)或“子集”的使用解释为包括一个或多个成员的非空集合。此外,除非本文另外指示或与上下文矛盾,否则术语对应集的“子集”不一定指对应集的真子集,而是子集和对应集可以相等。

除非另外特别设置或另外明显地与上下文矛盾,连接语言,如具有形式“A、B以及C中的至少一个”或“A、B以及C中的至少一个”的短语,另外与上下文一起理解为一般用来呈现的是,项目、项等可以是A或B或C,或A和B和C的集合的任何非空子集。例如,在具有三个成员的组的说明性实例中,连接性短语“A、B和C中的至少一个”和“A、B和C中的至少一个”是指以下组中的任一个:{A}、{B}、{C}、{A、B}、{A、C}、{B、C}、{A、B、C}。因此,此类连接性语言一般并非意图暗示某些实施方案需要A中的至少一个、B中的至少一个以及C中的至少一个每个存在。

可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下实行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。代码可以(例如)计算机程序的形式存储在计算机可读储存介质上,所述计算机程序包括可由一个或多个处理器执行的多个指令。计算机可读存储介质可以是非暂时的。

本文所提供的任何以及所有实例或示例性语言(例如,“如”)的使用仅意图更好地说明本发明的实施方案,并且除非另外要求,否则不会对本发明的范围施加限制。本说明书中的语言不应解释为将任何非要求的元素指示为实践本发明所必需。

本文中描述了本公开的优选实施方案,其包括为发明者所知用来执行本发明的最佳模式。阅读上述说明书后那些优选实施方案的变型对于本领域普通技术人员可以变得明显。发明人希望技术人员视情况采用此类变型,并且发明人意图以不同于如本文具体描述的方式来实践本公开的实施方案。因此,经适用的法律许可,本公开的范围包括在此所附的权利要求书中叙述的主题的所有修改和等效物。此外,本公开的范围涵盖其所有可能变型中的上述元素的任意组合,除非本文另外指示或以其他形式明显地与上下文矛盾。

本文所引用的所有参考文件,包括公布、专利申请和专利,特此按如下程度以引用方式并入本文中:如同每一个参考文件都个别地和特别地表示为以引用方式并入到本文中并且其全部内容都进行了陈述。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1