CN114026822A - 使用客户端计算进行文档处理 - Google Patents

使用客户端计算进行文档处理 Download PDF

Info

Publication number
CN114026822A
CN114026822A CN202080038916.XA CN202080038916A CN114026822A CN 114026822 A CN114026822 A CN 114026822A CN 202080038916 A CN202080038916 A CN 202080038916A CN 114026822 A CN114026822 A CN 114026822A
Authority
CN
China
Prior art keywords
document
tag
message
requirements
modifications
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202080038916.XA
Other languages
English (en)
Other versions
CN114026822B (zh
Inventor
陈京华
D·斯里瓦斯塔瓦
M·R·利布曼
A·科雷特斯凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN114026822A publication Critical patent/CN114026822A/zh
Application granted granted Critical
Publication of CN114026822B publication Critical patent/CN114026822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32128Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title attached to the image data, e.g. file header, transmitted message header, information on the same page or in the same computer file as the image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/448Rendering the image unintelligible, e.g. scrambling
    • H04N1/4486Rendering the image unintelligible, e.g. scrambling using digital data encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

所公开的是管理对文档的修改使得该文档符合标签的要求的实施例。在一些方面中,接收将标签指派给文档的输入。标签指示针对文档的要求。例如,标签将文档标记为机密,并且要求该文档在离开安全环境时被加密。标签可以包括附加要求,诸如特定水印或基于机密标签对文档的其他内容修改。设备可能能够修改文档,使得该文档只满足标签的要求的子集。然后,设备生成消息,该消息指示标签的要求与文档的状态之间的差距,并且将该消息发送给网络服务。网络服务被配置为按照消息中所指示的附加要求来增加文档。

Description

使用客户端计算进行文档处理
背景技术
现代企业每周可能产生成千上万的文档。除了某些经批准的实体之外,这些文档中有许多文档可能包括不被公开的敏感信息。为了便于管理这种敏感信息,可以为文档指派标签,该标签定义如何管理文档。例如,一些标签可以定义当通过公共网络传输文档时,文档必须使用特定类型的加密进行加密。一些标签可以指示文档本身的内容必须满足某些要求。例如,一些标签可能需要文档的特定水印、页眉或页脚。确保文档符合其标记要求,这降低了有价值的组织信息被不适当地公开的风险。因此,需要对文档标记要求进行管理的改进方法。
附图说明
在不一定按比例被绘制的附图中,类似的编号可以在不同的视图中描述相似的组件。具有不同字母后缀的类似的编号可以表示相似的组件的不同实例。例如,但不限于,附图通常图示本文中所讨论的各种实施例。
图1是可以在所公开的实施例中的一个或多个实施例中实现的文档标记系统的概览图。
图2是可以在所公开的实施例中的一个或多个实施例中实现的组件的框图。
图3是图示了文档属性、属性状态和将文档属性从一种状态更改为不同状态的修改的示意图。
图4示出了可以在所公开的实施例中的一个或多个实施例中实现的示例数据结构。
图5A是可以在所公开的实施例中的一个或多个实施例中实现的示例消息部分。
图5B是可以在所公开的实施例中的一个或多个实施例中实现的示例消息部分。
图6是对电子文档进行标记的方法的流程图。
图7是对电子文档进行标记的方法的流程图。
图8是对电子文档进行标记的方法的流程图。
图9图示了示例机器的框图,本文中所讨论的技术(例如,方法论)中的任何一种或多种技术可以在该示例机器上执行。
图10是网络化系统的概览,该网络化系统的至少一部分可以由所公开的实施例中的一个或多个实施实现。
具体实施方式
以下描述和附图充分说明了具体实施例,以使得本领域技术人员能够实践这些具体实施例。其他实施例可以并入结构、逻辑、电气、工艺和其他更改。一些实施例的部分和特征可以被包括在其他实施例的部分和特征中或被其他实施例的部分和特征取代。权利要求中所阐述的实施例涵盖这些权利要求的所有可用等同物。
虽然确保文档符合上面所讨论的它们的标记要求是很重要的,但是这确实给负责确保这种符合性的系统带来了一定的负担。例如,要求可能需要对一些文档进行加密,这可以改进执行加密所需的系统上的相对较高的计算负担。确保必要的计算机能力可用于处理这样计算负担可能给这样的系统的提供方带来附加的成本。如果集中式系统负责处理来自大量不同设备的大量文档,则这些附加成本可能特别高。
作出确保文档符合性所必需的任何修改也都可能给文档处理带来延迟。因此,例如,如果特定的计算系统接收文档并且被分派了将该文档转发到网络中,则首先使文档符合其标签所必需的任何任务都将增加文档被接收的时间其转发之间的延迟。
所公开的实施例提供将标签指派给电子文档。被指派的标签可以指示文档的一个或多个要求。例如,被标记为“机密”的文档可能要求文档包括指示文档是机密的水印、页眉或页脚。被标记为“绝密”的文档可能要求文档在通过电子介质被传输时被加密。要求中的每个要求都针对文档属性定义了值或标准。标签可以针对一个或多个文档属性定义所需的值或标准。在一些实施例中,当最初为文档指派标签时,文档不符合标签的要求。
所公开的实施例还提供对电子文档进行修改,以便文档符合其相应的被指派的标签所施加的要求。此外,所公开的实施例提供处理负载的指派,尽管参与所公开的实施例的一些设备的能力有所不同。
如下面更详细地描述的,设备修改文档的能力可能不同。一些设备可以被配置为包括特定应用,能够关于各种文档类型进行操纵或操作。例如,第一文档类型可以是专有的,并且在计算机可以编辑或以其他方式修改第一文档类型的文档之前,要求特定供应商所发布的应用被安装在该计算机上。一些计算机可能已经安装了这种专有应用,而其他计算机可能没有。相似地,一些加密算法可以具有超过一些设备的能力的处理和/或存储器要求,而其他设备可以具有足够的计算资源以执行加密。
尽管设备能力具有可变性,但是将计算任务指派给这些设备对于分布式系统来说具有有益效果,该分布式系统包括被设计为供单个用户使用的设备和可以被分派进行与多个用户(有时是大量用户)相关联的处理的其他设备。例如,中央服务器(诸如,电子邮件服务器)如果被分派使附加到电子邮件消息的文档符合被指派给这些文档的相应标记,则可能带来巨大的处理开销。将该文档符合性的一些责任委托给发起电子邮件的客户端设备对中央服务器是有益的,因为其处理要求被减少。即使中央服务器的不同客户端设备可以完成的任务存在一些可变性,情况也是这样。
因此,所公开的实施例提供与使文档符合其相应标签相关联的可变数量的处理开销的指派。所公开的实施例描述了示例消息格式,该消息格式便于第一设备进行通信,以将对文档的零或多次修改传递给网络服务,这些修改是使文档符合被指派给文档的标记所需的。文档也由消息本身标识,有时也被包括在该消息中。消息还可以标识已经对文档作出的修改(与标签一致)。在接收到消息后,网络服务能够确定特定于所标识的文档的修改,这些修改需要被执行,以使文档符合其被指派的标签。由于一些网络服务(例如,在后端或服务器设备上运行)与第一设备(例如,客户端、移动设备或为个人用户设计的设备)相比访问更多的计算资源和/或软件能力,网络服务通常可以具有比第一设备更多的能力。
所公开的示例消息格式使网络服务能够动态地调整其对文档的处理,以补充已经由第一设备执行的文档处理。当第一设备更有能力时,网络服务使文档符合其被指派的标签的负担可能较少。当第三设备与第一设备相比能力相对较小时,网络服务可以按比例分担较大的处理开销,该处理开销是使文档符合其被指派的标签所必需的。换言之,所描述的消息格式允许网络服务根据需要在第一设备和第三设备的处理能力上“填充空白”,并且跨多个具有不同能力的客户端设备。由此产生的解决方案提供了成功实现网络服务所需的计算资源的总体减少。这降低了提供网络服务的成本,并且也可以改进性能和客户体验。
图1是可以在所公开的实施例中的一个或多个实施例中实现的文档标记系统的概览图,该文档标记系统。文档标记系统100包括两个设备102a和102b。两个设备102a至102b中的每个设备都从标签配置数据存储库104中读取标签配置信息。标签配置数据存储库将文档标签映射到文档的一个或多个要求。客户端设备102a和102b中的每个客户端设备都从文档数据存储库116中获得文档。在一些方面中,两个客户端设备102a和102b可以从单独的数据存储库中获得文档。在一些方面中,文档数据存储库116由相应的设备102a和102b中的每个设备的本地文件系统表示。可以为来自文档数据存储库116的文档指派标签。例如,设备102a和/或设备102b上所显示的用户界面可以为特定文档提供标签的选择。将标签指派给文档,指示文档必须符合与标签相关联的要求。这些要求也由标签配置数据存储库104指示。当文档离开安全环境(诸如,安全环境106)时,标记要求是被特别强制执行的。安全环境106可以表示访问边界,诸如网络访问边界。作为一个示例,对安全环境106中的网络的访问或对网络上流动的数据的访问,可能需要由特定企业(诸如,公司或其他组织)管理的访问凭据。在没有这样的凭据的情况下,在安全环境106中就不可能访问网络或网络数据。在安全环境106外,访问网络上的数据需要一组不同的访问凭据或可能不需要访问凭据。
图1还示出了文档标记系统108。在一些实施例中,文档标记系统108可以是电子邮件服务器。设备102a和102b将文档发送给文档标记系统108。例如,如果文档标记系统108是电子邮件服务器,则设备102a和102b分别将电子邮件消息发送给系统108,以进行处理并且转发给目的地设备110a和110b。
如上所述,确保在安全环境106外被传输的文档符合其相应标签的要求,对文档标记系统108提出了某些处理要求。例如,一些标签可能要求特定类型的加密被应用于文档。对文档内容进行加密会消耗处理、存储器和其他计算资源。如果系统100依赖于文档标签系统108来完成大多数或所有必要的任务,以确保文档与被指派的标签一致,则大量资源消耗可能发生在文档标记系统108上。为了管理这种负载,文档标记系统108的提供方通过提供更快、更强大或附加的服务器硬件来充分处理所施加的负载,可能带来附加费用。为了最小化文档标记系统108的提供方所产生的成本,最好将与使文档符合其标签相关联的任务指派给设备102a和/或102b。
然而,设备102a和/或102b的能力可能不同。例如,设备102a和102b可以由不同的组织制造,这些组织包括相应设备上的不同特征。此外,设备在所安装的存储器数量、可用硬盘空间、处理器速度或能力或其他类型的变化上有所不同。因此,设备102a和102b可能在其以与所施加的标签一致的方式处理文档的能力上有所不同。作为一个示例,虽然特定标签可能要求特定类型的文档包括特定的文档页脚,但是特定文档类型的编辑器可能无法用于或被安装在设备102a上运行的操作系统上。编辑器在设备102b上可以是可用的。相似地,设备102b可能没有被配备有足够的存储器或磁盘空间来运行为特定文档标签指定的加密算法,而设备102a可能具有足够的存储器。
因此,标签配置数据存储库104中所指定的标记要求可以在一个或多个方面超过设备102a和102b的管理,这些能力在设备102a和102b之间可能不同。虽然文档标记系统108有足够的资源来满足标记要求,但是使文档标记系统108执行符合文档标签所必需的所有文档处理会消耗文档标记系统108的不期望的数量的计算资源。
因此,所公开的实施例提供设备102a至102b以执行使文档符合其标签所必需的文档处理的部分,然后提供文档标记系统108以在接收到来自设备102a或102b的文档后完成所必需的任何剩余处理。
为了促进这种能力,所公开的实施例提供消息定义,用于设备102a和102b与文档标记系统108之间的通信。如图1中所示,设备102a将消息122a发送给文档标记系统108。消息指示通过文档标记系统108进行处理的文档。消息122a还指示设备102a所执行的使文档符合其标签的处理和/或在还经由消息124a将文档传输给例如外部系统110a之前文档标记系统108所必须完成的任何剩余处理。
设备102b将第二消息122b发送给文档标记系统108。第二消息122b指示通过文档标记系统108进行处理的第二文档。第二消息122b还指示设备102b所执行的处理,与消息102a中所指示的不同。第二消息可以备选地或附加地指示文档标记系统108进行的使第二电子文档符合其标签所必需的处理。
因此,文档标记系统108接收由设备102a和102b中的每个设备提供的文档,这些文档具有可变数量的处理。文档标记系统108然后对被从设备102b和设备102a接收到的文档执行不同的处理。因此,文档标记系统108提供自适应文档处理。通过文档标记系统108动态地调整文档的处理,所公开的实施例能够利用设备102a和102b上的一些计算资源,以使文档符合其相应标签,同时也动态地适应每种设备102a和102b能力的变化。
根据实施例,可以使用各种配置来实现文档标记系统108。在一些实施例中,文档标记系统108是经由网络可访问的单个设备。在一些其他实施例中,文档标记系统108由多个物理设备组成,这些物理设备可以经由单个主机名或网络地址(例如,经由负载平衡器)访问。在一些实施例中,文档标记系统108被实现为基于云的服务。因此,在这些实施例中,文档标记系统108可经由网络地址或主机名访问,但是由基于云的设备的动态池实现,由于各种原因,这些基于云的设备可以被动态分配或解除分配到池,以实现服务。例如,在一些实施例中,第一物理设备被分配给实现服务的设备池,然后云管理系统添加一个或多个附加物理设备以实现与第一物理设备一致的服务。其他设备可以被从实现服务的设备池中移除。
图1还示出了管理控制台112。管理控制提供了文档标签和带有所述标签的文档的要求之间的映射的配置。标签配置112由设备102a、102b中的每个设备和文档标记系统108读取。
图2是可以在所公开的实施例中的一个或多个实施例中实现的组件的框图。图2示出了客户端1模块202、客户端2模块204、自适应文档处理模块205和管理用户界面模块208。模块202、204、206和208中的每个模块都可以包括软件指令,将硬件处理电路配置为执行归因于相应模块中的每个模块的一个或多个功能。图2中所示的数据流与图1中所示的数据流类似。客户端1模块202可以在设备102a上被执行。客户端2模块204可以在设备102b上执行。自适应文档处理模块可以在文档标记系统108上执行。管理用户界面模块208可以在管理控制台112上执行。
如图所示,客户端1模块202和客户端2模块204中的每个模块都分别将消息122a和122b发送给自适应文档处理模块206。管理用户界面模块208经由数据流215写入定义文档标签的要求的映射。客户端1模块202和客户端2模块204中的每个模块以及自适应文档处理模块206分别经由数据流218a至218c从标签配置数据库104中读取映射。
如上面关于图1所讨论的,客户端设备102a和102b在其使文档符合特定标签的能力上可能不同。相似地,客户端1模块202和客户端2模块204中的每个模块在这方面上都还可能不同。例如,客户端1模块202可以包括执行特定类型的加密的指令,而客户端2模块204不包括类似的指令。自适应文档处理模块206被配置为适应这些差异,使客户端1模块202能够执行所述加密,这会使自适应文档处理模块206不执行这种功能。自适应文档处理模块206在接收到来自客户端2模块204的文档时仍然可以按照需要执行加密。
图3是图示了文档属性、属性状态和将文档属性从一种状态更改为不同状态的修改的示意图。
图3示出了三个文档属性301a至301c。每个文档属性都表示文档的特性或特征。例如,文档属性可以包括文档的页眉、文档的页脚、文档的背景、文档的加密级别、文档的密码保护状态(例如,文档是否受密码保护和/或是否对文档进行密码保护)。如上所述,本公开的实施例试图使文档符合被指派给文档的标签所定义的要求。如本文中所讨论的,要求定义特定的文档属性以及满足要求所必需的该属性的状态。例如,如果要求与文档页脚相关,则在一些实施例中,要求指示页脚必须包括词语“机密”。包括词语“绝密”的页脚是页脚的状态。
图3图示了三个示例文档属性301a至301c。属性中的每个属性都包括至少两个状态。如图所示,文档属性301可以处于至少两个状态(被示出为302a和302b)中的一个状态。修改303用于将文档属性301a从第一状态302a移动到第二状态302b。
相似地,文档属性301b处于至少两个状态304a至304b中的一个状态。修改305用于将文档属性301b从第三状态304a移动到第四状态304b。文档属性301c处于至少两个状态306a至306b中的一个状态。修改307用于将文档属性301c从第五状态306a移动到第六状态306b。
示例文档属性包括以下一项或多项:文档的页脚、文档的页眉、文档的水印、文档的加密级别、文档的加密算法、文档是否受密码保护、文档的密码复杂性、文档的元数据要求(例如,一个或多个元数据字段已被擦除或还未被擦除)、文档的修订历史冗长、文档的封面页、与文档中所包括的宏相关的信息或其他文档属性。
状态302a至302b、302c至302d和302e至302f中的每个状态也都可以被认为表示在特定状态下对应的文档属性所满足的单独标准。例如,“页脚”文档属性可以被特定标记要求包括词语“绝密”,但是标签也可以允许页脚包括附加的文本。因此,执行文档属性来维护特定状态并不一定要求文档属性只有一个可接受的值,而是要求文档属性满足标准,其中当文档属性具有多个不同的值中的任何一个值时,标准得到满足。
图4示出了可以在所公开的实施例中的一个或多个实施例中实现的示例数据结构。图4示出了上面关于图1和图2所描述的标签配置数据存储库104。标签配置数据存储库104包括标签表400、标记要求表410和要求表420。
标签表400包括标签标识符字段402和标签友好名称字段404。
标签标识符字段402唯一地标识特定的标签。标签标识符字段402可以被与标签配置数据存储库104中的其他标签标识符交叉引用。标签友好名称字段404为标签提供名称,该名称可以在用户界面中被呈现。用户界面可以由管理用户界面模块208(上面关于图2进行讨论)显示。标记要求表410将特定标签映射到特定要求。
标记要求表410包括标签标识符字段412和要求标识符字段414。标签标识符字段412可以被与标签配置数据存储库104中的其他标签标识符交叉引用。要求标识符字段414在用标签标识符字段410所标识的标签被标记时,唯一地标识文档的特定要求。如上所述,要求指定特定文档属性的特定状态。所标识的要求可以包括内容要求和/或安全要求和/或消息要求。内容要求的示例包括要求文档具有特定水印(例如,文档属性=背景、状态=特定水印)、特定页眉或特定页脚。加密要求的示例是,文档是使用特定加密算法而被加密的或加密算法满足某些最低要求。消息要求的示例与电子邮件消息相关。
在一些方面中,设备102a或102b中的一个设备可能无法以要求格式呈现电子邮件消息的正文。例如,标签可能要求电子邮件正文以富文本格式(rtf)进行编码,但是设备102可能无法呈现这种格式。因此,电子邮件的正文在被从设备102a发送给文档标记系统108时可以被编码为文本。文档标记系统108然后可以基于标签将正文从文本转换为rtf,该标签被指派给定义电子邮件正文的文档。
标签配置数据存储库104还包括要求表420。要求表420包括要求标识符字段422、要求友好名称字段424、程序/处理程序字段426、命令字段427和所需的值或标准字段428。要求标识符字段423唯一地标识要求,并且可以被与数据存储库104的其他要求标识符交叉引用。要求友好名称字段424定义由要求标识符字段422标识的要求的人类语言可读名。程序/处理程序字段426定义软件程序或脚本,能够修改文档以符合要求。在一些方面中,程序字段426定义软件程序或脚本的文件名。在一些方面中,程序/处理程序字段426包括程序本身(例如,实现算法以执行符合要求所必需的修改的指令)。在一些实施例中,程序/处理程序字段426定义文档类型特定的程序/处理程序。例如,在一些实施例中,程序字段426为不同类型的文档指定不同的软件程序或“处理程序”,如图4中所示的表格429中所示。表格429包括一个或多个行,包括类型字段442和程序/处理程序字段444。类型字段424标识字段444所指定的程序/处理程序应用的文档类型。在一些实施例中,程序处理程序字段444所指定的程序/处理程序相当于由操作系统为文档的类型指定的默认处理程序。例如,字处理程序(例如,winword.exe)是为字处理类型文档(例如,docx)指定的,并且电子表格处理程序(例如,excel)是为电子表格类型文档(例如,xls)指定的。命令字段427指定要提供给字段426中所指定的程序/处理程序的命令,以便对文档进行更改,使其满足要求。在一些实施例中,命令字段427指定要传递给指定程序/处理程序的命令行参数。在一些实施例中,命令字段427包括表格,类似于表格429,但是为一个或多个文档类型中的每个文档类型指定特定命令。
要求值/标准字段428存储数据,指示与要求对应的特定文档属性的值。例如,要求在一些实施例中定义,特定文档属性必须与特定值一致,并且特定值被存储在这些方面中所需的值/标准字段428中。在一些其他实施例中,要求在一些实施例中定义,特定文档属性满足一个或多个标准。在这些实施例中,所需的值/标准字段定义一个或多个标准。
文档数据存储库116包括文档表430。文档表430包括文档标识符字段432、文档标签标识符字段434和文档内容字段436。文档标识符字段432唯一地标识文档。标签标识符字段434标识被指派给文档的标签。标签标识符字段434可以被与上面关于标签配置数据存储库104所讨论的任何标签标识符交叉引用。文档表字段430还包括内容字段436。内容字段436定义由文档标识符432标识的文档的内容。对文档作出修改以符合被指派的标签(例如,434)可能修改内容字段436所存储的数据。
图5A是可以在所公开的实施例中的一个或多个实施例中实现的示例消息部分。图5A示出了消息部分500,可以被包括在上面关于图1至图2所讨论的消息122a和/或122b中的一个或多个消息中。在一些实施例中,消息部分500被配置为指示文档标记系统108完成必要的文档修改的剩余部分,使文档符合被指派给文档的标签的要求。
消息部分500包括文档数量字段502。文档数量字段502指示被包括在消息部分500中的文档节503的数量。每个文档节503都定义消息部分500中所引用的文档。每个文档节503都包括文档类型字段504、文档标签字段506、修改未决字段508和文档内容或文档标识符字段510。文档类型字段504指示特定文档节503中所引用的文档的类型。例如,文档类型字段504可以指示文档是定义电子邮件正文还是定义电子邮件附件。
文档标签字段506指示被指派给文档的标签。文档标签字段506可以为标签配置数据库104标识标签标识符(例如,402、412)。一些实施例可以不包括文档标签字段506。在这些实施例中,文档标签可以被从上面关于图4所讨论的文档表430中获得。例如,文档id可以被包括在文档节503中,用于在文档表430中标识文档,如下面还将讨论的。
文档节503还包括修改未决字段508。修改未决字段508指示对文档节503所标识的文档的修改,需要对文档作出这种修改,使文档符合被指派的标签(例如,412或434)的要求。换言之,修改未决字段508描述字段506的标签对文档所施加的要求与文档由字段510表示时文档的当前状态之间的差距,如下面还将讨论的。
在一些方面中,修改未决字段508可以列出上面关于图4所描述的要求标识符。修改未决字段508中所列出的要求标识符可以是被指派给文档的标签的要求的子集。例如,如果被指派给特定文档的特定标记要求文档符合要求A、B和C、则也许要求A是通过发送消息500的设备(诸如,设备102a或设备102)对文档作出修改来满足的。然而,在该示例中,发送设备可能无法对文档执行修改,使其符合要求B和C。在该示例中,修改未决字段508指示要求B和C。
图5A中还示出了修改未决字段508的示例格式,被标记为520a、520b、520c和520d。示例格式520a将修改未决字段508示出为一系列二进制指示符。系列中的每个二进制指示符都可以被指派或映射到特定修改。系列中的指示符与修改之间的映射将由在所公开的实施例中操作的设备预先确定和知道。例如,设备102a至102b和文档标记系统108将意识到映射。因此,例如,第一指示符可以指示特定类型的水印是否需要被添加到文档。在一些实施例中,如果指示符被设置,则水印仍然需要被添加,而如果指示符为零,则没有水印需要被添加。如果文档的标签不需要水印,或水印在文档中已经被添加(或已经存在),则在该示例实施例中,指示符可能为零。
在第二示例实施例(被标记为520b)中,修改映射中的每个位置都可以包括三个值中的一个值。在第二实施例中,这三个值被图示为零(0)、一(1)或二(2),但是在各个实施例中,可以利用任何三个值。三个值中的一个值指示,被映射到位置的修改不被文档的被指派的标签需要。三个值中的第二个值指示,修改被需要,但是已经对文档进行了。三个值中的第三个值指示,修改被需要,而且仍然需要被执行。因此,该第三个值指示文档的当前状态与符合文档的被指派的标签所必需的状态之间的差异。注意,在实现具有至少三个不同的值的修改指示符的实施例(被图示为实施例520b)中,每个指示符的至少两个位将被需要。
第三示例实施例被标记为520c,并且包括逗号分隔的未决修改列表,使文档符合其被指派的标签的(多个)要求。第三实施例与上面所讨论的被标记为520a和520b的实施例的不同在于,被包括在修改未决字段508中的数据包括修改本身的一些规范,并且不100%依赖于设备所知的预定义映射,如上面关于第一示例实施例和第二示例实施例所描述的。
例如,如图所示,实施例520c示出了特定修改的规范。如图所示,逗号分隔的修改列表的第一修改(被标记为522a)指定要用作文档的水印的特定文件名。在一些方面中,所指定的特定文件名可以被包括在消息500中。在其他方面中,所指定的特定文件名可以是在所公开的实施例中操作的设备之间被共享的公共文件名。例如,公共文件名可以在可由文档标记系统108访问的目录中访问。备选地,由文件名标识的文件在标签配置数据存储库104中可以是可用的。
第三实施例520c还图示了被逗号(“,”)与第一修改分开的第二修改。第二修改522b指示页脚需要被添加到文档(修改)。修改522b还指定页脚的文件名。如上所述,页脚的文件名在所公开的实施例中操作的设备的公共位置中可以是可用的。在一些方面中,页脚文件“foot1.docx”在标签配置数据存储库104中可以是可用的。在一些其他方面中,所指示的修改的内容可以用其他方式而不是这里所提供的文件名示例被指定。例如,在一些方面中,内容可以被包括在消息500本身中。例如,除了如上所述指定“footer=foot1.docx”(文件名),字段508还指定footer-“footer text:,其中应被添加到文档的页脚的实际文本本身是在字段508中被指定的。在一些其他实施例中,内容可以经由数据库表的标识符或数据表条目指定。
被标示为520d的第四实施例为每个未决修改指定对象。第四实施例可以使用对象移动性技术来指示在运行时对文档执行未决修改的对象。备选地,第四实施例可以为每个未决修改指定远程对象引用。远程对象的调用会修改文档,使其与文档的标签的要求一致。
图5B示出了可以在所公开的实施例中的一个或多个实施例中实现的示例消息部分。图5B示出了消息部分550,可以被包括在上面关于图1至图2所讨论的消息122a和/或122b中的一个或多个消息中。在一些实施例中,消息部分550被配置为指示文档标记系统108完成必要的文档修改的剩余部分,使文档符合被指派给文档的标签。
示例消息部分550包括文档数量字段552。文档数量字段552指示被包括在消息部分550中的文档节503的数量。每个文档节553都定义消息部分550中所引用的文档。每个文档节553都包括文档类型字段554、文档标签字段556、属性符合字段558和文档内容或文档标识符字段560。文档类型字段554指示特定文档节553中所引用的文档的类型。例如,文档类型字段554可以指示文档是定义电子邮件正文还是定义电子邮件附件。
文档标签字段556指示被指派给文档的标签。文档标签字段556可以为标签配置数据库104标识标签标识符(例如,402、412)。一些实施例可以不包括文档标签字段556。在这些实施例中,文档标签可以被从上面关于图4所讨论的文档表430中获得。例如,文档id可以被包括在文档节553中,用于在文档表430中标识文档,如下面还将讨论的。
文档节553还包括属性符合字段508。属性符合字段508指示符合标签字段556所标识的标签的要求的文档的属性。在一些其他实施例中,属性符合字段508反而可以是属性不符合字段,标识不符合标签的要求的文档的属性。在一些其他实施例中,属性符合字段558反而是经修改的属性字段,指示由传输消息部分550的设备修改的文档的属性,以便使这些属性符合标签的要求(例如,满足标签所定义的一个或多个标准)。因此,字段558可以标识符合标签(例如,满足标签的要求的标准)的一些属性,但是可以不标识已经符合标签的文档的所有属性。在一些实施例中,属性符合字段558(或上面所讨论的其变体)包括属性数量字段461和一个或多个属性标识符字段5621…n。属性数量字段461对字段5621…n中所标识的属性的数量进行计数(例如,定义n)。属性标识符字段5621…n中的每个属性标识符字段都标识符合标签的要求的特定文档属性。例如,一些实施例可以定义多个文档属性和标识符之间的映射。例如,为页脚属性指派第一标识符,并且为文档的加密级别属性指派第二标识符。这些标识符被包括在消息中,以在客户端设备(例如,102a或102b)和文档标记系统(例如,108)之间传递,所传递的文档的哪些属性符合字段556中所定义的标签。这允许接收设备还根据需要增加由客户端设备执行的文档的任何处理,以便完成必要的修改,使文档符合标签的要求,如下面还将讨论的。因此,属性符合字段558传递下面所讨论的当前文档状态(诸如,被包括在字段560中的文档内容的状态)与标签556所需的状态之间的差距。注意,状态可以包括要求多个文档属性满足多个标准和/或具有多个特定值。
消息550还包括文档内容字段560,该文档内容字段560包括定义文档本身的数据或备选地定义对数据存储库的引用,该数据存储库存储文档的内容。
图6是对电子文档进行标记的方法的流程图。在一些方面中,下面关于图6所讨论的一个或多个功能和过程600可以由硬件处理电路执行。例如,存储器904和/或906中的下面所讨论的指令924可以将处理器902配置为执行下面所讨论的一个或多个功能。在一些方面中,下面所讨论的过程600可以由上面关于图2所讨论的自适应文档处理模块206执行。在一些方面中,过程600可以由上面关于图1所讨论的文档标记系统108执行。
在开始框605后,过程600移动到操作610。在操作610中,消息在安全环境中被接收。消息指示文档和对文档的修改。文档具有被指派的标签。被指派的标签还可以在消息中被指示。
安全环境(例如,106)可以在企业内部被提供。例如,如上面关于图1所讨论的,安全环境106可以包括电子邮件客户端设备,诸如设备102a,并且还可以包括基于服务器的设备,诸如文档标记系统108。基于服务器的系统在一些方面中可以是电子邮件服务器,但是在一些其他方面中可以备选地是web服务器或其他基于服务器的系统。
在一些实施例中,在操作610中被接收到的消息可以包括上面关于图4的消息部分400所讨论的字段中的一个或多个字段。如上面关于图6所讨论的,在一些方面中,接收到的消息可以指示对文档的修改,应被执行以使文档符合被指派给文档的标签。在一些其他实施例中,消息可以指示已经被执行的对文档的修改。例如,在一些方面中,发送操作610的消息的设备在发送消息前可能已经对文档执行了一些操作。在任何一个实施例中,消息指示对文档的未决修改。
在操作620中,对文档的未决修改被执行。在操作620中被接收到的消息可以指示哪些要求已经被文档满足,或可以指示哪些要求有待被文档满足(未决修改)。备选地,消息620可以指示两组要求(已满足和未满足)。
例如,可以为文档指派标签来定义三个要求。当文档在操作610中被接收到时,文档可能已经符合要求中的至少一个要求。在该特定示例中,然后,两个要求可以在操作620中被执行。未决修改可以包括对文档的内容修改。例如,内容修改可以包括将内容添加到文档(例如,将页眉和/或页脚添加到文档、将水印添加到文档),更改文档的文档格式(例如,从.docx格式到.rtf格式)和/或将密码保护添加到文档。
作为一个示例,流行的文字处理程序可以提供文档的密码保护。被指派给文档的密码还可以控制文档的加密。加密可以使用密码作为加密/解密密钥。一些标签可能需要文档的密码保护。该密码在操作610中被接收到之前可能已经被添加到文档。在其他情况下,虽然文档的标签可能需要密码保护,但是文档在操作610中被接收到时可能还没有被密码保护。在这些情况下,操作620可以将密码保护添加到文档。
在操作630中,经修改的文档在安全环境外被传输。例如,如上面关于图1所讨论的,文档标记系统108将文档传输给安全环境106外部的设备,诸如设备110a或110b中的任何一个设备。注意,虽然在操作610中被接收到的文档不符合其被指派的标签,但是至少基于在操作620中对其所作出的修改,在操作630中被传输的经修改的文档不符合其被指派的标签。在过程600的一些其他方面中,在操作610中被接收到的文档可能已经符合其被指派的标签。例如,如果发送操作610的消息的设备能够对文档进行所有必要的修改,以使文档符合其标签,则在操作610中,已经符合被指派的标签的文档可能被接收到。在这些实施例中,消息指示不需要对文档进行附加的修改,因此操作620可以不执行附加的操作。在操作630后,过程600移动到结束操作675。
图7是对电子文档进行标记的方法的流程图。在一些方面中,下面关于图7所讨论的一个或多个功能和过程700可以由硬件处理电路执行。例如,存储器904和/或906中的下面所讨论的指令924可以将处理器902配置为执行下面所讨论的一个或多个功能。在一些实施例中,下面关于图7所讨论的一个或多个功能由设备102a和/或设备102b执行。在下面对图7的讨论中,执行下面关于图7所讨论的一个或多个功能的设备被称为执行设备。
在开始操作705后,过程700移动到操作710。在操作710中,输入被接收到。输入指示第一电子文档的第一标签。在一些实施例中,输入指示第一标签已经被指派给第一电子文档。在一些实施例中,输入是被从用户界面接收到的。例如,用户界面可以由客户端设备显示,诸如上面关于图1所讨论的客户端设备102a至102b中的任何一个客户端设备。操作710的一些实施例将第一标签指派给第一电子文档。
例如,在各种实施例中,“公开”、“机密”、“绝密”或“特权”的标签可以被指派给文档。将标签指派给文档会对文档施加一定的要求。如上所述,一些标签可能要求文档包括某个页眉、页脚、水印或其他内容。一些标签可能要求文档使用特定的加密算法而被加密,或者至少使用满足某些最低要求的加密算法而被加密。一些文档标签可能要求文档以特定的文档格式被存储。
在操作720中,由第一标签定义的对文档的要求被确定。例如,如上所述,对特定标签的要求可以在标签配置数据存储库中被定义。作为上面关于图4所讨论的一个示例中,标签配置数据存储库104可以包括标记要求表(例如,410),将标签(例如,412)映射到一个或多个要求(例如,414)。在图4的示例中,当标签被映射到多个要求时,对于单个标签id 412,标记要求表410中可能有多行。
在操作730中,第一电子文档的第一修改集合是基于要求而被确定的。因此,例如,如果标记要求文档包括特定页脚,而当前不包括特定页脚,则修改被需要来使文档符合标签的要求。相似地,如果标签要求某个水印,而且文档已经包括水印,则不需要另外的修改,至少就标签的这种要求而言。因此,操作730可以分析文档的当前状态,以确定在文档的当前状态下哪些要求已经被文档满足,而标签的哪些要求没有被文档满足。在一些其他实施例中,要求和必要的修改之间可能存在一对一的映射。
在操作740中,执行设备能够执行或被配置为执行的第二修改集合被确定。第二修改集合是基于第一集合。在一些方面中,第二集合可以是第一集合的子集。在一些方面中,第二集合包括零修改。在一些实施例中,第二集合包括第一集合中所包括的所有修改。例如,第一修改集合可以包括至少N个修改,而第二修改集合包括N-K个修改(例如,比第一修改集合少的修改)。
换言之,设备执行过程700确定它是否能够进行或执行操作730中所标识的修改中的每个修改或它能够执行修改的哪一部分。如上所述,一些修改可能要求特定程序驻留在执行设备上。作为一个操作示例,如果文档有特定类型,则将水印添加到文档可能需要程序,该程序能够解析特定类型的文档格式,并且插入基于文档格式的解析定义水印的数据。一些执行设备可能没有这种能力。例如,它们可能没有安装理解或被配置为解析文档格式的软件程序,从而无法执行修改。为了确定执行设备可以执行哪些修改,在一些实施例中,执行设备查询要求表,诸如上面关于图4所讨论的要求表420。在一些实施例中,要求表定义影响修改和/或要求中的每一个所需的程序。例如,如果要求是文档页脚(例如,文档的属性)具有特定文本(例如,上面关于图3所讨论的特定属性值或状态),则相应的修改是对文档页脚进行修改以具有特定文本。在一些实施例中,要求表定义影响修改所必需的一个或多个程序/处理程序,以便文档满足要求。然后,执行设备可以确定任何指定的处理程序/程序是否驻留在执行设备上或是否以其他方式从执行设备评估,以便修改可以由执行设备作出。
备选地,在一些实施例中,执行设备对进行修改所需的数据没有物理访问。为了继续上面的示例,执行设备可能能够添加水印。然而,定义水印的数据在执行设备上可能不可用。因此,在该示例中,在操作730中被确定的这种修改不由过程700执行。
在一些实施例中,操作740可以确定执行设备能够或被配置为执行在操作730中被确定的第二修改。
在一些方面中,执行设备可能能够或被配置为执行标签的所有要求。因此,关于740所描述的子集可以相当于在操作730中被确定的修改集合。
在操作750中,第一电子文档是基于在操作740中被确定的第二修改集合而被修改的。因此,对于执行设备能够或被配置为执行的那些修改,执行设备执行那些修改。
在操作760中,消息被生成。消息被生成以指示由执行设备对文档作出的修改。消息可以备选地或附加地指示修改,这些修改仍然需要对文档作出,以使文档符合其被指派的标签。在一些方面中,在操作760中被生成的消息可以包括上面关于消息500所讨论的一个或多个字段。消息单独指示修改,因为文档本身不用于指示修改,但是相反,消息显式地定义为了使文档符合其被指派的标签而已经被作出的修改和/或需要被作出的修改。换言之,消息标识当前状态下的文档与被指派的标签的要求之间的差距。如上所述,被指派的标签的要求可以由标签配置数据存储库104定义。
在操作770中,消息被传输。在一些方面中,消息可以被传输给文档标记系统108。例如,在各种实施例中,消息可以被传输给实现文档标记系统108的单个设备或实现文档标记系统108的基于云的网络服务。消息的目的地设备可以被配置为使用不能被执行设备执行的任何修改来增加文档。换言之,操作770的消息的目的地设备填充由消息指示的文档和其被指派的标签的要求之间的任何差距。在操作770中被传输的消息被配置为指示接收设备或服务完成必要修改的其余部分,以使文档符合其相应标签所暗示的要求。
关于过程700和图7,在一些实施例中,单个修改被需要来使电子文档符合其标签。在这些实施例中,也许执行设备执行该修改。在这种情况下,在操作770中被传输的消息指示,不需要另外的修改来使文档符合其标签,因为执行设备执行所有必要的修改。然而,根据实施例,消息仍将指示已被作出的修改或需要被作出的修改(例如,与图5A或图5B中的精神一致,其中一个将指示没有修改)。在一些其他实施例中,单个修改被需要,但是执行设备不被配置为执行修改。在这种情况下,执行设备不执行修改,但是经由操作770的消息指示,单个修改需要由接收消息的实体(服务/设备)执行。这些示例实施例或情况仍然表示主题,因为系统仍然以一种方式操作,该方式动态地确定哪些必要的修改由执行设备(例如,客户端设备)执行,并且哪些修改由后端处理实体(例如,网络服务、基于云的服务、后端服务器等)执行。
相似地,在一些情况下,为了使文档符合标签,不需要对文档进行修改。在这种情况下,执行设备确定没有必要进行修改,并且指示,在一些实施例中,在与图5A或图5B的精神一致的消息中,没有作出修改或没有必要的修改。然后,接收设备/服务执行与消息一致的动作。这也表示发明主题,因为示例实施例仍然动态地确定必要的修改集合,并且至少在执行设备和远程服务/设备之间指派这些修改,以指派上述处理负载。
在一些实施例中,两个或两个以上的修改被需要来使文档符合其要求,其中至少一个修改由执行设备作出并且至少一个修改由文档标记系统108的实施例(诸如,由远程网络设备或网络服务)作出,如上所述。
图8是对电子文档进行标记的方法的流程图。在一些方面中,下面关于图8所讨论的一个或多个功能和过程800可以由硬件处理电路执行。例如,存储器904和/或906中的下面所讨论的指令924可以将处理器902配置为执行下面所讨论的一个或多个功能。在一些方面中,下面所讨论的过程800可以由上面关于图2所讨论的自适应文档处理模块206执行。在一些方面中,过程800由上面关于图1所讨论的文档标记系统108执行。在一些实施例中,设备执行过程700和单独的设备或服务执行过程800一起工作,以实现文档标记解决方案,其中过程700对文档执行至少一个修改,并且过程800对文档执行至少一个修改。
在开始框805后,过程800移动到操作810。在操作810中,消息被从第一设备接收到。在一些实施例中,第一设备相当于客户端设备102a或102b。在一些实施例中,文档是在网络消息(诸如,消息,包括上面关于(多个)示例消息500和/或550(如上面关于图5A至图5B所讨论的)所描述的一个或多个字段)中经由网络而被接收到的。在这些实施例中的一些实施例中,文档是通过字段510或560而被接收到的。操作810还接收文档(例如,506或556)的标签的指示。例如,在各种实施例中,标签可以指示文档是否被标记为公共、私人、保密、秘密、机密、限制或其他标签。例如,如上所述,标签指示文档的一个或多个要求。在至少一些实施例中,每个要求都指示文档的特定属性的特定状态。在操作810中,标签的要求和文档的状态之间的差距的指示也被接收到(例如,508或558)。在一些实施例中,差距的指示指示为使文档符合标签而必需对文档进行的修改集合。例如,在一些实施例中,差距指示相应的文档属性集合的状态转换集合,这些文档属性是使文档符合标签所必需的。
在操作820中,电子文档的第一修改集合是基于差距而被确定的。在一些实施例中,修改由网络消息(诸如,上面关于图5A至图5B所讨论的消息500和/或消息550)指示。在一些其他实施例中,修改集合是通过标识将文档移动到与标签一致的文档状态(由多个文档属性状态组成)所必需的一个或多个文档属性的更改来确定的。例如,如关于图4所讨论的,标签表示一个或多个文档属性的要求集合。要求指定一个或多个文档属性的特定状态。注意,第一修改集合可以包括至少1个、2个、3个、4个、5个、6个、7个、8个、9个、10个或任何数量的修改。修改中的每个修改都与不同的文档属性对应。
在操作830中,第一修改集合是在文档上被执行的。例如,修改可以包括修改文档的内容,诸如以下一项或多项:页眉(例如,第一属性)、页脚(例如,第二属性)或水印(例如,第三属性)。在一些实施例中,修改还包括修改文档的属性,诸如加密级别、密码或文档的其他属性。操作830的一些实施例包括将经修改的文档存储到数据存储库和/或将经修改的文档写入输出设备,诸如硬盘、网络接口、显示屏或其他输出设备。
在操作840中,第二文档被从第三设备接收到。在一些实施例中,第三设备是客户端设备(例如,102a或102b)。在一些实施例中,第二文档是在消息(诸如,消息,包括上面关于消息部分500和/或550所讨论的一个或多个字段)中被接收到的。第二文档还被指示为与标签(即与第一文档相关联的同一标签)相关联。操作840还包括接收第二文档的第二状态和标签的要求之间的第二差距的指示。第二差距与第一差距不同。换言之,第一文档和第二文档都与同一标签相关联或为其指派同一标签。例如,在一些实施例中,第一文档和第二文档都被标记为机密。然而,第一文档和第二文档是在不同的状态下被接收到的。例如,第一文档的第一多个文档属性具有相应的多个值。当被接收到时,第二文档具有第一多个文档属性的不同的第二值集合。设备执行过程800使第一文档和第二文档中的每个文档的这种第一多个文档属性符合由标签定义的这些属性值,不管相应文档在被执行设备接收到时的状态。
在操作850中,第二文档的第二修改集合是基于所指示的第二差距而被确定的。第二修改集合与第一修改集合不同。例如,由于第一文档和第二文档的状态在它们通过设备执行过程800而被接收到时不同,相应文档的不同修改被需要来使文档中的每个文档都符合标签的要求。标签对于第一文档和第二文档是共同的。注意,修改集合可以包括至少1个、2个、3个、4个、5个、6个、7个、8个、9个、10个或任何数量的修改。修改中的每个修改都与不同的文档属性对应。
在操作860中,所确定的第二修改集合是在第二文档上被执行的。操作860的一些实施例包括将经修改的第二文档存储到数据存储库和/或将经修改的第二文档写入输出设备,诸如硬盘、网络接口、显示屏或其他输出设备。
图9图示了示例机器的框图,本文中所讨论的技术(例如,方法论)中的任何一种或多种技术可以对该示例机器执行。在备选实施例中,机器900可以作为独立的设备操作或可以被连接(例如,联网)到其他机器。在网络化部署中,机器900可以在服务器机器、客户端机器的能力下操作或同时在服务器-客户端网络环境中操作。在示例中,机器900可以充当对等(P2P)(或其他分布式)网络环境中的对等机。机器900可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、智能电话、环球网设备、网络路由器、交换机或桥接器、服务器计算机、数据库、会议室设备或能够执行指令的任何机器,这些指令(顺序的或以其他方式)指定要由机器采取的动作。在各种实施例中,机器900可以执行上面关于图1至图8所描述和/或下面关于图10所描述的一个或多个过程。进一步地,虽然仅仅单个机器被图示,但是术语“机器”也应被理解为包括单独地或联合地执行用于执行本文中所讨论的任何一种或多种方法的一组(或多组)指令的机器的任何集合,诸如云计算、软件即服务(SaaS)、其他计算机集群配置。
如本文中所描述的,示例可以包括逻辑或多个组件、模块或机制(以下全部被称为“模块”)或可以在其上操作。模块是能够执行指定操作的有形实体(例如,硬件),并且可以以某种方式被配置或设置。在示例中,电路可以作为模块以指定方式被设置(例如,在内部或相对于外部实体,诸如其他电路)。在示例中,一个或多个计算机系统(例如,独立的客户端或服务器计算机系统)或一个或多个硬件处理器的全部或部分可以由固件或软件(例如,指令、应用部分或应用)配置为模块,该模块操作以执行指定的操作。在示例中,软件可以驻留在机器可读介质上。在示例中,软件在由模块的底层硬件执行时使硬件执行指定的操作。
因此,术语“模块”被理解为包含有形实体,即实体,被物理构建、被特别配置(例如,硬连线)或被暂时(例如,短暂地)配置(例如,程序化)以通过指定的方式操作或执行本文中所描述的任何操作的部分或全部。考虑到模块被暂时配置的示例,模块中的每个模块都不需要在任何时刻被实例化。例如,当模块包括使用软件而被配置的通用处理器时,通用硬件处理器可以在不同的时间被配置为相应的不同模块。例如,软件可以将硬件处理器相应地配置为在一个时间实例中构成特定的模块,并且在不同的时间实例中构成不同的模块。
机器(例如,计算机系统)900可以包括硬件处理器902(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器内核或其任何组合)、主存储器904和静态存储器906,它们中的一些或全部可以经由链接(例如,总线)908进行相互通信。机器900还可以包括显示单元910、字母数字输入设备912(例如,键盘)和用户界面(UI)导航设备914(例如,鼠标)。在示例中,显示单元910、输入设备912和UI导航设备914可以是触摸显示器。机器900可以附加地包括存储设备(例如,驱动单元)916、信号生成设备918(例如,扬声器)、网络接口设备920和一个或多个传感器921,诸如全球定位系统(GPS)传感器、指南针、加速度计或其他传感器。机器900可以包括输出控制器928,诸如串行(例如,通用串行总线(USB))、并行或其他有线或无线(例如,红外(IR)、近场通信(NFC)等)连接,以与一个或多个外围设备(例如,打印机、读卡器等)进行通信或对其进行控制。
存储设备916可以包括机器可读介质922,体现本文中所描述的任何一种或多种技术或功能或由本文中所描述的任何一种或多种技术或功能所使用的数据结构或指令924的一个或多个集合被存储在该机器可读介质922上。指令924在被机器900执行时还可以完全或至少部分地驻留在主存储器904、静态存储器906或硬件处理器902中。在示例中,硬件处理器902、主存储器904、静态存储器906或存储设备916中的一个或任何组合都可以构成机器可读介质。
虽然机器可读介质922被图示为单个介质,但是术语“机器可读介质”可以包括单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的缓存和服务器),被配置为存储一个或多个指令924。
术语“机器可读介质”可以包括任何介质,能够存储、编码或携带由机器900执行并且使机器900执行本公开的任何一种或多种技术的指令,或者能够存储、编码或携带由这些指令使用或与这些指令相关联的数据结构。非限制性机器可读介质示例可以包括固态存储器以及光学和磁性介质。机器可读介质的具体示例可以包括:非易失性存储器,诸如半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM))和闪存设备;磁盘,诸如内部硬盘和可移除盘;磁光盘;随机存取存储器(RAM);固态驱动器(SSD);以及CD-ROM和DVD-ROM盘。在一些示例中,机器可读介质可以包括非暂时性机器可读介质。在一些示例中,机器可读介质可以包括不是瞬时传播信号的机器可读介质。
指令924还可以经由网络接口设备920使用传输介质在通信网络926上被传输或接收。机器900可以利用多种传输协议(例如,帧中继、互联网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传输协议(HTTP)等)中的任何一种传输协议与一个或多个其他机器进行通信。示例通信网络可以包括局域网(LAN)、广域网(WAN)、分组数据网络(例如,互联网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络和无线数据网络(例如,被称为
Figure BDA0003374244560000261
的电气和电子工程师协会(IEEE)802.11系列标准、被称为
Figure BDA0003374244560000262
的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、长期演进(LTE)系列标准、通用移动电信系统(UMTS)系列标准、对等(P2P)网络,等待。在示例中,网络接口设备920可以包括一个或多个物理插孔(例如,以太网、同轴或电话插孔)或一个或多个天线,用于连接到通信网络926。在示例中,网络接口设备920可以包括多个天线,用于使用以下至少一种技术进行无线通信:单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术。在一些示例中,网络接口设备920可以使用多用户MIMO技术进行无线通信。
图10是网络化系统的概览,其至少一部分可以由所公开的实施例中的一个或多个实施例实现。网络化系统1100a包括户内企业环境1103a以及远程的基于云的IT资源,诸如应用服务器1116a。户内企业环境1103a包括用户终端1102a。用户终端1102a有权访问企业数据,包括被存储在企业数据存储库1104a中的敏感数据。如上所述,所公开的实施例为离开企业1103a的数据提供监控和控制。
用户终端1102a将网络数据1105a发送给远程应用服务器1116a。远程应用服务器1116a包括过滤器1107a,该过滤器1107a拦截被发送给远程应用服务器1116a的网络数据105a。出于各种原因,用户终端1102a可以将数据发送给远程应用服务器1116a。例如,网络数据1105a可以是电子邮件消息的至少一部分,并且远程应用服务器1116a可以实现电子邮件应用服务。网络数据1105a可以备选地表示文档,被上传到网站或远程存储装置,以便于在多个用户之间共享数据(例如,SharepointTM、BoxTM等)。在这些实施例中,数据1105a可以被包括在HTTP Post类型消息中。
一旦网络数据1105a已经被传输给应用服务器116a,它便可能面临被暴露在安全环境1140a之外的风险。例如,在实现电子邮件应用的应用服务器1116a的情况下,客户端设备1102a可以试图将网络数据1105a作为电子邮件消息的部分发送给外部设备1117a。在实现具有共享能力的网站的应用服务器1116a的情况下,一旦网络数据1105a经由网站公开可用,它便会面临被外部设备1117a查看的风险。
为了确定网络数据1105a是否包括被企业103a认为是敏感的数据,数据保护过滤器1107a将网络数据1105a传输给数据匹配分类器(DMC)1108a。DMC 1108a与策略数据存储库1110a协商,以对网络数据1105a执行一种或多种筛选方法。
一种或多种筛选方法中的每种筛选方法都标识网络数据1105a是否具有敏感信息的一个或多个指示。筛选方法可以对网络数据执行各种分析,以确定网络数据是否包括敏感信息的指示。在一些实施例中,由DMC 1108a运行的筛选方法可以在网络数据上使用以下一项或多项:正则表达式评估和/或关键字匹配。定义要在网络数据中被标识的正则表达式和/或关键字的信息可以由DMC 1108a从配置信息中获得。在一些方面中,正则表达式和/或关键字可以是策略特定的。策略可以是基于以下一项或多项:一天中的某个时间、用户标识符、组标识符或其他参数。应用于网络数据1105a的策略可以被从策略数据存储库1110a中获得。被包括在策略数据存储库1110a中的策略信息可以经由管理控制台1113a来配置。
所公开的实施例可以将网络数据分割成部分,并且确定每个单独的部分是否包括敏感数据的指示。因此,例如,如果网络数据1105a表示单个电子文档,则该文档可以被分割成多个部分,并且DMC 108a可以确定多个部分中的每个部分是否都包括敏感信息的指示。虽然筛选方法不会肯定地确定网络数据是否包括敏感信息,但是它们提供敏感信息被包括在网络数据1105a中的风险的指示。
网络数据1105a的分割可以使用各种可能因实施例而不同的技术来执行。在一些实施例中,分割可以根据特定分段的大小来执行。例如,在这些实施例中,也许除了网络数据的最后一个分段之外,每个分段的大小都可能是相等的。其他实施例可以基于网络数据本身的上下文知识对数据进行分割。例如,如果网络数据表示电子文档,则一些实施例可以对与电子文档的边界一致的网络数据进行分割,诸如沿着页面边界、段落边界、电子表格单元格、行或列边界或随着由网络数据编码的特定电子文档而变化的其他上下文边界。
如果网络数据1105a的部分被确定存在暴露敏感信息的风险,则DMC 1108a经由网络(诸如,互联网)将部分发送给数据匹配服务(DMS)1114a。DMS 1114a将接收到的部分与EDM搜索数据存储库1125a中的数据进行比较。
EDM搜索数据存储库1125a是经由来自位于企业1103a中的企业数据存储库1104a的数据流1126a被填充的。在一些实施例中,从企业数据存储库1104a到EDM搜索数据存储库125a的数据可以由数据上传系统1130a提供。例如,数据上传系统1130a可以对企业数据存储库1104a中的数据进行哈希或加密,然后将数据上传到企业数据存储库1140a。导入过程1145a还可以对数据进行处理,然后填充EDM搜索数据存储库1125a。将数据从企业数据1140a导入EDM搜索数据存储库1125a的导入过程1145a可以由配置信息控制,该配置信息被包括在精确的数据匹配配置数据存储库1142a中,该精确的数据匹配配置数据存储库1142a可以经由管理控制台1113a上所显示的用户界面来配置。
除了经由上述一种或多种筛选方法对网络数据1105a进行分析,DMC 1108a还可以被配置为确定网络数据105a是否正在等待被上传到EDM搜索数据存储库1125a。例如,DMC1108a可以检查新的数据队列1132a,以确定网络数据1105a的上传是否是未决的。在这些实施例中,在企业1103a中所创建的新的数据被添加到企业数据存储库1104a,并且还在新的数据队列1132a中被指示。从企业数据存储库1104a到EDM搜索数据存储库1125a的上传可以由上传器通过新的数据队列1132a中的数据驱动。在一些实施例中,上传器1130a周期性地或至少以离散间隔操作,该离散间隔在新的数据被最初创建的时间与数据已经被成功传输给EDM搜索数据存储库1125a的时间之间引入一些延迟。在这种延迟期间,除非补救措施如本文中所述被采取,否则这种新的数据可能容易被客户端设备1105a暴露。
因此,DMC 1108a可以检查新的数据队列1132a,以确定网络数据1105a是否已经被上传,因此可以被DMS 1114a成功检测到,或者DMC 1108a是否应确保新的数据没有被用户终端1102a暴露。为了确定新的数据是否被用户终端1102a限制暴露,DMC 1108a可以检查企业数据存储库1104a中所包括的数据的指示符。例如,企业数据存储库1104a可以指示网络数据1104a的特定部分是否被用户终端1102a限制暴露。如果网络数据1105a被限制,则DMC1108a可以在不咨询DMS 114a的情况下,阻止网络数据1105a在安全环境之外传输。
如本文中所描述的,示例可以包括逻辑或多个组件、模块或机制或可以在其上操作。模块是能够执行指定操作的有形实体(例如,硬件),并且可以以某种方式被配置或设置。在示例中,电路可以作为模块以指定方式被设置(例如,在内部或相对于外部实体,诸如其他电路)。在示例中,一个或多个计算机系统(例如,独立的客户端或服务器计算机系统)或一个或多个硬件处理器的全部或部分可以由固件或软件(例如,指令、应用部分或应用)配置为模块,该模块操作以执行指定的操作。在示例中,软件可以驻留在机器可读介质上。在示例中,软件在由模块的底层硬件执行时使硬件执行指定的操作。
所公开的实施例中的一些实施例提供将上面所讨论的对文档进行以使其符合标签的修改与上面关于图10所描述的基于云的文档管理系统集成。例如,在一些实施例中,客户端设备1102a执行上面关于图7所讨论的一个或多个功能。图10的客户端设备1102a相当于上面关于图1所讨论的客户端设备102a。上面关于图1所讨论的文档标记系统108被与应用服务器1116a或上传器1130a中的一个或多个集成。
示例1,一种非暂时性计算机可读存储介质,存储指令,这些指令在被执行时将第一设备的硬件处理电路配置为执行操作,这些操作包括:接收指示第一电子文档的第一标签的输入;确定由第一标签定义的文档要求;基于文档要求,确定第一电子文档的修改;确定修改的第一设备被配置为执行的部分;基于部分,修改第一电子文档;生成用于指示标签、电子文档并且单独地指示第一设备所作出的修改的消息;以及将消息传输给网络服务或第二设备,在一些实施例中,该第二设备可能正在运行网络服务。
在示例2中,可选地包括示例1的主题,其中输入是从用户界面接收到的。
在示例3中,可选地包括示例1至2中的任何一个或多个示例的主题,其中确定文档要求包括:基于第一标签,搜索数据存储库;基于搜索确定文档要求。
在示例4中,可选地包括示例1至3中的任何一个或多个示例的主题,其中第一设备是客户端设备,并且消息被传输给在第二设备上运行的电子邮件服务器应用。
在示例5中,可选地包括示例1至4中的任何一个或多个示例的主题,其中修改包括以下一项或多项:电子文档的内容修改或电子文档的加密。
在示例6中,可选地包括示例1至5中的任何一个或多个示例的主题,其中第二设备被配置为基于消息执行修改,这些修改没有被包括在部分中。
在示例7中,可选地包括示例1至6中的任何一个或多个示例的主题,其中消息还被生成,以通过标识在与电子文档的内容分离的消息的字段中的部分中所包括的修改,单独地指示修改。
示例8是由第一设备的硬件处理电路执行的方法,包括:接收指示第一电子文档的第一标签的输入;确定由第一标签定义的文档要求;基于文档要求,确定第一电子文档的修改;确定修改的第一设备被配置为执行的第一部分;根据第一部分,修改第一电子文档;生成用于指示标签、电子文档并且单独地指示第一设备所作出的修改的消息;以及将消息传输给第二设备。
在示例9中,可选地包括示例8的主题,其中输入是被从用户界面接收到的。
在示例10中,可选地包括示例8至9中的任何一个或多个示例的主题,其中确定文档要求包括:基于第一标签,搜索数据存储库;基于搜索确定文档要求。
在示例11中,可选地包括示例8至10中的任何一个或多个示例的主题,其中第一设备是客户端设备,并且消息被传输给在第二设备上运行的电子邮件服务器应用。
在示例12中,可选地包括示例8至11中的任何一个或多个示例的主题,其中修改包括以下一项或多项:电子文档的内容修改或电子文档的加密。
在示例13中,可选地包括示例8至12中的任何一个或多个示例的主题,其中第二设备被配置为基于消息执行修改的第二部分,这些修改没有被包括在第一部分中。
在示例14中,可选地包括示例8至13中的任何一个或多个示例的主题,其中消息还被生成,以通过标识在与电子文档的内容分离的消息的字段中所作出的修改中的每个修改,单独地指示修改。
示例15是一种系统,包括:硬件处理电路;一个或多个电子存储器,存储指令,这些指令在被执行时将硬件处理电路配置为执行操作,包括:接收指示第一电子文档的第一标签的输入;确定由第一标签定义的文档要求;基于文档要求,确定第一电子文档的修改集合;确定修改集合的、硬件处理电子系统被配置为执行的子集;基于子集,修改第一电子文档;生成用于指示标签、电子文档并且单独地指示硬件处理电路所作出的修改的消息;以及将消息传输给远程设备。
在示例16中,可选地包括示例15的主题,其中输入是被从用户界面接收到的。
在示例17中,可选地包括示例15至16中的任何一个或多示例个的主题,其中确定文档要求包括:基于第一标签,搜索数据存储库;基于搜索确定文档要求。
在示例18中,可选地包括示例15至17中的任何一个或多个示例的主题,其中硬件处理电路被包括在客户端设备中,并且消息被传输给在远程设备上运行的电子邮件服务器应用。
在示例19中,可选地包括示例15至18中的任何一个或多个示例的主题,其中修改集合包括以下一项或多项:电子文档的内容修改或电子文档的加密。
在示例20中,可选地包括示例15至19中的任何一个或多个示例的主题,其中远程设备被配置为基于消息,执行来自修改集合中的没有被包括在子集中的修改,20缺少本体:21.根据示例15所述的系统,其中消息还被生成以通过标识在与电子文档的内容分离的消息的字段中所作出的修改的每个修改,单独地指示修改。
示例21是一种装置,包括:用于接收将第一标签指派给第一电子文档的输入部件;用于确定由第一标签定义的文档要求的部件;用于基于文档要求来确定第一电子文档的修改的部件;用于确定修改的设备被配置为执行的部分的部件;用于基于部分来修改第一电子文档的部件;用于生成用于指示标签、电子文档并且单独地指示设备所作出的修改的消息,部件;以及用于将消息传输给第二设备的部件。
在示例22中,可选地包括示例21的主题,其中用于接收输入的部件被配置为从用户界面接收输入。
在示例23中,可选地包括示例21至22中任何一个或多个示例的主题,其中用于确定文档要求的部件被配置为:基于第一标签,搜索数据存储库;基于搜索,确定文档要求。
在示例24中,可选地包括示例21至23中的任何一个或多个示例的主题,其中装置是客户端设备,并且消息被传输给在第二装置上运行的电子邮件服务器应用。
在示例25中,可选地包括示例21至24中的任何一个或多个示例的主题,其中修改包括以下一项或多项:电子文档的内容修改或电子文档的加密。
在示例26中,可选地包括示例21至25中的任何一个或多个示例的主题,其中第二装置被配置为基于消息执行修改,这些修改没有被包括在部分中。
在示例27中,可选地包括示例21至26中的任何一个或多个示例的主题,其中用于生成消息的部件被配置为还生成消息,以通过标识在与电子文档的内容分离的、消息的字段中所作出的修改中的每个修改,来单独地指示修改。
示例29是一种方法,包括:通过第二设备从第一设备接收第一文档、应用于第一文档的标签的指示以及标签的要求与第一文档的第一状态之间的第一差距的指示;基于所指示的第一差距,确定对第一文档的第一修改集合;对第一文档执行第一修改集合;通过第二设备从第三设备接收第二文档、标签应用于第二文档的指示以及标签的要求与第二文档的第二状态之间的第二差距的指示,第二差距与第一差距不同;基于所指示的第二差距,确定对第二文档的第二修改集合;以及对第二文档执行第二修改集合。
在示例30中,可选地包括示例29的主题,其中第一文档和第一差距的指示由第二设备在网络消息中接收到,并且第一差距由第一文档的一系列文档属性指示,这些文档属性不满足标签的要求。
在示例31中,可选地包括示例29至30中的任何一个或多个示例的主题,其中第一文档和第一差距的指示由第二设备在网络消息中接收到,并且第一差距由第一文档的一系列文档属性指示,这些文档属性满足标签的要求。
在示例32中,可选地包括示例30至31中的任何一个或多个示例的主题,其中文档属性包括以下一项或多项:第一文档的页脚、第一文档的页眉、第一文档的加密级别、第一文档的密码复杂性或第一文档的水印。
在示例33中,可选地包括示例30至32中的任何一个或多个示例的主题,其中标签定义多个标准,这些标准在第一文档满足标签的要求时被满足。在示例34中,可选地包括示例33的主题,其中第一差距标识第一文档的属性,这些属性不满足其被标签定义的对应标准。
在示例35中,可选地包括示例29至34中的任何一个或多个示例的主题,其中第二修改集合的执行包括将第二文档的经修改的版本写入输出设备。
在示例36中,可选地包括示例29至35中的任何一个或多个示例的主题,其中第一设备被配置为对第一文档执行第一组修改,使其符合标签,并且第三设备的配置阻止其执行第一组修改中的至少一个修改。
在示例37中,可选地包括示例36的主题,其中第一设备上所安装的第一软件应用被配置为修改第一文档的第一属性,并且第一软件应用没有被安装在第三设备上。
示例38是一种非暂时性计算机可读存储介质,包括指令,这些指令在被执行时将硬件处理电路配置为执行操作,包括:通过第二设备从第一设备接收第一文档、应用于第一文档的标签的指示以及标签的要求与第一文档的第一状态之间的第一差距的指示;基于所指示的第一差距,确定对第一文档的第一修改集合;对第一文档执行第一修改集合;通过第二设备从第三设备接收第二文档、标签应用于第二文档的指示以及标签的要求与第二文档的第二状态之间的第二差距的指示,第二差距与第一差距不同;基于所指示的第二差距,确定对第二文档的第二修改集合;以及对第二文档执行第二修改集合。
在示例39中,可选地包括示例38的主题,其中第一文档和第一差距的指示由第二设备在网络消息中接收到,并且第一差距由第一文档的一系列文档属性指示,这些文档属性不满足标签的要求。
在示例40中,可选地包括示例38至39中的任何一个或多个示例的主题,其中第一文档和第一差距的指示由第二设备在网络消息中接收到,并且第一差距由第一文档的一系列文档属性指示,这些文档属性满足标签的要求。
在示例41中,可选地包括示例39至40中的任何一个或多个示例的主题,其中文档属性包括以下一项或多项:第一文档的页脚、第一文档的页眉、第一文档的加密级别、第一文档的密码复杂性或第一文档的水印。
在示例42中,可选地包括示例30至41中的任何一个或多个示例的主题,其中标签定义多个标准,这些标准在第一文档满足标签的要求时被满足。
在示例43中,可选地包括示例42的主题,其中第一差距标识第一文档的属性,这些属性不满足其被标签定义的相应标准。
在示例44中,可选地包括示例38至43中的任何一个或多个示例的主题,其中第二修改集合的执行包括将第二文档的经修改的版本写入输出设备。
在示例45中,可选地包括示例38至44中的任何一个或多个示例的主题,其中第一设备被配置为对第一文档执行第一组修改,使其符合标签,并且第三设备的配置阻止其执行第一组修改中的至少一个修改。
在示例46中,可选地包括示例45的主题,其中第一设备上所安装的第一软件应用被配置为修改第一文档的第一属性,并且第一软件应用没有被安装在第三设备上。
示例47是一种系统,包括:硬件处理电路;一个或多个硬件存储器,存储指令,这些指令在被执行时将硬件处理电路配置为执行操作,包括:通过第二设备从第一设备接收第一文档、应用于第一文档的标签的指示以及标签的要求与第一文档的第一状态之间的第一差距的指示;基于所指示的第一差距,确定对第一文档的第一修改集合;对第一文档执行第一修改集合;通过第二设备从第三设备接收第二文档、标签应用于第二文档的指示以及标签的要求与第二文档的第二状态之间的第二差距的指示,第二差距与第一差距不同;基于所指示的第二差距,确定对第二文档的第二修改集合;以及对第二文档执行第二修改集合。
在示例48中,可选地包括示例47的主题,其中第一文档和第一差距的指示由第二设备在网络消息中接收到,并且第一差距由第一文档的一系列文档属性指示,这些文档属性不满足标签的要求。
在示例49中,可选地包括示例47至48中的任何一个或多个示例的主题,其中第一文档和第一差距的指示由第二设备在网络消息中接收到,并且第一差距由第一文档的一系列文档属性指示,这些文档属性满足标签的要求。
在示例50中,可选地包括示例49的主题,其中文档属性包括以下一项或多项:第一文档的页脚、第一文档的页眉、第一文档的加密级别、第一文档的密码复杂性或第一文档的水印。
在示例51中,可选地包括示例47至50中的任何一个或多个示例的主题,其中标签定义多个标准,这些标准在第一文档满足标签的要求时被满足。
在示例52中,可选地包括示例47至51中的任何一个或多个示例的主题,其中第一差距标识第一文档的属性,这些属性不满足其被标签定义的相应标准。
在示例53中,可选地包括示例47至52中的任何一个或多个示例的主题,其中第二修改集合的执行包括将第二文档的经修改的版本写入输出设备。
在示例54中,可选地包括示例47至53中的任何一个或多个示例的主题,其中第一设备被配置为对第一文档执行第一组修改,使其符合标签,并且第三设备的配置阻止其执行第一组修改中的至少一个修改。
在示例55中,可选地包括示例54的主题,其中第一设备上所安装的第一软件应用被配置为修改第一文档的第一属性,并且第一软件应用没有被安装在第三设备上。
因此,术语“模块”被理解为包含有形实体,即实体,被物理构建、被特别配置(例如,硬连线)或被暂时(例如,短暂地)配置(例如,程序化)以通过指定的方式操作或执行本文中所描述的任何操作的部分或全部。考虑到模块被暂时配置的示例,模块中的每个模块都不需要在任何时刻被实例化。例如,当模块包括使用软件而被配置的通用处理器时,通用硬件处理器可以在不同的时间被配置为相应的不同模块。例如,软件可以将硬件处理器相应地配置为在一个时间实例中构成特定的模块,并且在不同的时间实例中构成不同的模块。
各种实施例可以在软件和/或固件中被完全或部分实现。这种软件和/或固件可以采取被包含在非暂时性计算机可读存储介质中或其上的指令的形式。然后,这些指令可以被一个或多个处理器读取并且执行,使得本文中所描述的操作能够执行。指令可以是任何合适的形式,诸如但不限于源代码、编译代码、解释代码、可执行代码、静态代码、动态代码等。这种计算机可读介质可以包括任何有形的非暂时性介质,用于以一个或多个计算机可读的形式存储信息,诸如但不限于只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光学存储介质、闪存等。

Claims (15)

1.一种系统,包括:
硬件处理电路;
一个或多个电子存储器,存储指令,所述指令在被执行时将所述硬件处理电路配置为执行操作,所述操作包括:
将第一标签指派给第一电子文档;
确定由所述第一标签定义的文档要求;
基于所述文档要求,确定所述第一电子文档的修改集合;
确定所述修改集合的、所述硬件处理电路被配置为执行的子集;
基于所述子集,修改所述第一电子文档;
生成用于指示所述标签、所述第一电子文档并且单独地指示所述硬件处理电路所作出的所述修改的消息;以及
将所述消息传输给基于云的网络服务,所述消息指示所述基于云的网络服务完成所述第一电子文档的所述修改集合的其余部分。
2.根据权利要求1所述的系统,其中确定所述文档要求包括:
基于所述第一标签,搜索数据存储库;
基于所述搜索,确定所述文档要求。
3.根据权利要求1所述的系统,其中所述硬件处理电路被包括在客户端设备中,并且所述消息被传输给提供所述基于云的网络服务的电子邮件应用。
4.根据权利要求1所述的系统,其中所述基于云的网络服务被配置为:基于所述消息,执行来自所述修改集合的、未被包括在所述子集中的修改。
5.根据权利要求1所述的系统,其中所述消息还被生成,以通过标识在与所述第一电子文档的内容分离的、所述消息的字段中所作出的所述修改中的每个修改来单独地指示所述修改。
6.一种系统,包括:
硬件处理电路;
一个或多个硬件存储器,存储指令,所述指令在被执行时将所述硬件处理电路配置为执行操作,所述操作包括:
通过网络服务从第一设备接收第一文档、应用于所述第一文档的标签的指示、以及所述标签的要求与所述第一文档的第一状态之间的第一差距的指示;
基于所指示的所述第一差距,确定对所述第一文档的第一修改集合;
对所述第一文档执行所述第一修改集合;
通过所述网络服务从第三设备接收第二文档、标签应用于所述第二文档的指示、以及所述标签的所述要求与所述第二文档的第二状态之间的第二差距的指示,所述第二差距与所述第一差距不同;
基于所指示的所述第二差距,确定对所述第二文档的第二修改集合;以及
对所述第二文档执行所述第二修改集合。
7.根据权利要求6所述的系统,其中所述第一文档和所述第一差距的所述指示通过所述网络服务在网络消息中接收,并且所述第一差距由所述第一文档的、不满足所述标签的所述要求的一系列文档属性指示。
8.根据权利要求6所述的系统,其中所述第一文档和所述第一差距的所述指示通过所述网络服务在网络消息中接收,并且所述第一差距由所述第一文档的、满足所述标签的所述要求的一系列文档属性指示。
9.根据权利要求8所述的系统,其中所述文档属性包括以下一项或多项:所述第一文档的页脚、所述第一文档的页眉、所述第一文档的加密级别、所述第一文档的密码复杂性或所述第一文档的水印。
10.根据权利要求6所述的系统,其中所述标签定义多个标准,当所述第一文档满足所述标签的所述要求时,所述多个标准被满足。
11.根据权利要求6所述的系统,其中所述第一差距标识所述第一文档的以下文档属性,所述文档属性不满足由所述标签定义的、所述文档属性的相应标准。
12.根据权利要求6所述的系统,其中所述第二修改集合的所述执行包括将所述第二文档的修改版本写入输出设备。
13.根据权利要求6所述的系统,其中所述第一设备被配置为对所述第一文档执行第一组修改以符合所述标签,并且所述第三设备的配置阻止所述第三设备执行所述第一组修改中的至少一个修改。
14.根据权利要求13所述的系统,其中安装在所述第一设备上的第一软件应用被配置为修改所述第一文档的第一属性,并且所述第一软件应用未被安装在所述第三设备上。
15.一种方法,由第一设备的硬件处理电路执行,包括:
将第一标签指派给第一电子文档;
确定由所述第一标签定义的文档要求;
基于所述文档要求,确定所述第一电子文档的修改集合;
确定所述修改集合的、所述第一设备被配置为执行的第一部分;
根据所述第一部分,修改所述第一电子文档;
生成用于指示所述标签、所述电子文档并且单独地指示所述第一设备所作出的所述修改集合的所述第一部分的消息;以及
将所述消息传输给网络服务,所述消息指示所述网络服务对所述第一电子文档执行所述修改集合的其余部分。
CN202080038916.XA 2019-05-30 2020-04-03 使用客户端计算进行文档处理 Active CN114026822B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962854819P 2019-05-30 2019-05-30
US201962854868P 2019-05-30 2019-05-30
US62/854,819 2019-05-30
US62/854,868 2019-05-30
US16/696,961 2019-11-26
US16/696,961 US11196892B2 (en) 2019-05-30 2019-11-26 Use of client compute for document processing
PCT/US2020/026583 WO2020242599A1 (en) 2019-05-30 2020-04-03 Use of client compute for document processing

Publications (2)

Publication Number Publication Date
CN114026822A true CN114026822A (zh) 2022-02-08
CN114026822B CN114026822B (zh) 2023-09-22

Family

ID=73549435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080038916.XA Active CN114026822B (zh) 2019-05-30 2020-04-03 使用客户端计算进行文档处理

Country Status (6)

Country Link
US (1) US11196892B2 (zh)
EP (1) EP3959855B1 (zh)
JP (1) JP7474273B2 (zh)
KR (1) KR20220013372A (zh)
CN (1) CN114026822B (zh)
WO (1) WO2020242599A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3963860A1 (en) 2019-05-30 2022-03-09 Microsoft Technology Licensing, LLC Information barriers for sensitive information
US11755445B2 (en) * 2021-02-17 2023-09-12 Microsoft Technology Licensing, Llc Distributed virtual data tank for cross service quota management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681363A (zh) * 2007-03-21 2010-03-24 首科Dba格视公司 用于编辑和分类文档的系统和技术
US20140026195A1 (en) * 2013-07-03 2014-01-23 Sky Socket, Llc Enterprise-specific Functionality Watermarking and Management
US20160283879A1 (en) * 2015-03-25 2016-09-29 International Business Machines Corporation Dynamic construction of cloud services
CN106575287A (zh) * 2014-06-24 2017-04-19 谷歌公司 用于在合作性文档编辑环境中管理被建议编辑的系统和方法

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030195811A1 (en) 2001-06-07 2003-10-16 Hayes Marc F. Customer messaging service
EP1488333B1 (en) 2002-03-01 2010-10-06 Enterasys Networks, Inc. Location aware data network
US7899867B1 (en) 2002-07-31 2011-03-01 FaceTime Communications, Inc, SpIM blocking and user approval techniques for real-time messaging networks
ATE446629T1 (de) * 2005-06-01 2009-11-15 Research In Motion Ltd System und verfahren zur bestimmung einer auf abgehende nachrichten anzuwendenden sicherheitscodierung
US20070123287A1 (en) 2005-11-30 2007-05-31 Motorola, Inc. Method and apparatus for providing the status of a wireless communication device in a group network to other members in the group network
US7877409B2 (en) 2005-12-29 2011-01-25 Nextlabs, Inc. Preventing conflicts of interests between two or more groups using applications
AU2006235845A1 (en) 2006-10-13 2008-05-01 Titus Inc Method of and system for message classification of web email
US8068588B2 (en) 2007-06-26 2011-11-29 Microsoft Corporation Unified rules for voice and messaging
US7849213B1 (en) 2007-10-30 2010-12-07 Sendside Networks, Inc. Secure communication architecture, protocols, and methods
US7996373B1 (en) 2008-03-28 2011-08-09 Symantec Corporation Method and apparatus for detecting policy violations in a data repository having an arbitrary data schema
US20100186091A1 (en) * 2008-05-13 2010-07-22 James Luke Turner Methods to dynamically establish overall national security or sensitivity classification for information contained in electronic documents; to provide control for electronic document/information access and cross domain document movement; to establish virtual security perimeters within or among computer networks for electronic documents/information; to enforce physical security perimeters for electronic documents between or among networks by means of a perimeter breach alert system
WO2010059747A2 (en) 2008-11-18 2010-05-27 Workshare Technology, Inc. Methods and systems for exact data match filtering
US20110055911A1 (en) * 2009-08-28 2011-03-03 The Go Daddy Group, Inc. Business validation based social website account authentication
WO2011086787A1 (ja) 2010-01-13 2011-07-21 日本電気株式会社 機密情報漏洩防止システム、機密情報漏洩防止方法及び機密情報漏洩防止プログラム
US8667269B2 (en) 2010-04-02 2014-03-04 Suridx, Inc. Efficient, secure, cloud-based identity services
US9083557B2 (en) 2010-06-18 2015-07-14 International Business Machines Corporation User initiated rule-based restrictions on messaging applications
US8539597B2 (en) 2010-09-16 2013-09-17 International Business Machines Corporation Securing sensitive data for cloud computing
JP5517162B2 (ja) * 2010-09-22 2014-06-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 文書情報の機密ラベルを判定する方法、コンピュータ・プログラム、装置、及びシステム
US9197617B1 (en) 2010-12-15 2015-11-24 Amazon Technologies, Inc. Client device connectivity with integrated business rules
WO2012138804A2 (en) 2011-04-04 2012-10-11 Nextlabs, Inc. Protecting information using policies and encryption
US9219752B2 (en) 2011-08-26 2015-12-22 Hewlett-Packard Development Company, L.P. Data leak prevention systems and methods
US8990882B1 (en) 2011-12-30 2015-03-24 Symantec Corporation Pre-calculating and updating data loss prevention (DLP) policies prior to distribution of sensitive information
US9489657B2 (en) 2012-02-21 2016-11-08 Microsoft Technology Licensing, Llc Aggregation and visualization of multiple chat room information
US9251360B2 (en) 2012-04-27 2016-02-02 Intralinks, Inc. Computerized method and system for managing secure mobile device content viewing in a networked secure collaborative exchange environment
US9047463B2 (en) 2012-06-29 2015-06-02 Sri International Method and system for protecting data flow at a mobile device
US9473532B2 (en) 2012-07-19 2016-10-18 Box, Inc. Data loss prevention (DLP) methods by a cloud service including third party integration architectures
WO2014022311A2 (en) 2012-07-30 2014-02-06 Google Inc. Access control in communication environments
US9166979B2 (en) 2012-10-01 2015-10-20 International Business Machines Corporation Protecting online meeting access using secure personal universal resource locators
US20140281515A1 (en) 2013-03-12 2014-09-18 Commvault Systems, Inc. Encrypted file presentation
US9177174B1 (en) 2014-02-06 2015-11-03 Google Inc. Systems and methods for protecting sensitive data in communications
US20150248384A1 (en) * 2014-02-28 2015-09-03 Ricoh Company, Ltd. Document sharing and collaboration
US20150382197A1 (en) 2014-06-30 2015-12-31 Verizon Patent And Licensing Inc. Network-based restriction of sensitive communications
US9965627B2 (en) 2014-09-14 2018-05-08 Sophos Limited Labeling objects on an endpoint for encryption management
JP6531373B2 (ja) 2014-10-31 2019-06-19 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理装置の制御方法、プログラム
US9654510B1 (en) 2015-02-10 2017-05-16 Symantec Corporation Match signature recognition for detecting false positive incidents and improving post-incident remediation
JP6046765B2 (ja) 2015-03-24 2016-12-21 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 秘密情報にアクセスするための、多重パーティ及び多重レベルの承認を可能にするシステム及び方法
US9805204B1 (en) 2015-08-25 2017-10-31 Symantec Corporation Systems and methods for determining that files found on client devices comprise sensitive information
US9852309B2 (en) 2016-01-05 2017-12-26 Prifender Ltd. System and method for securing personal data elements
US12021831B2 (en) 2016-06-10 2024-06-25 Sophos Limited Network security
US10462109B2 (en) 2016-06-12 2019-10-29 Apple Inc. Secure transfer of a data object between user devices
US11595327B2 (en) 2016-10-14 2023-02-28 Salesforce, Inc. Method, apparatus, and computer program product for associating an identifier with one or more message communications within a group-based communication system
US10542006B2 (en) 2016-11-22 2020-01-21 Daniel Chien Network security based on redirection of questionable network access
US11631077B2 (en) 2017-01-17 2023-04-18 HashLynx Inc. System for facilitating secure electronic communications between entities and processing resource transfers
US10721275B2 (en) 2017-01-23 2020-07-21 Fireeye, Inc. Automated enforcement of security policies in cloud and hybrid infrastructure environments
US9781581B1 (en) 2017-02-01 2017-10-03 Higher Ground Llc System and method for sending messages
US10397006B2 (en) 2017-02-13 2019-08-27 Amazon Technologies, Inc. Network security with surrogate digital certificates
US10839098B2 (en) 2017-04-07 2020-11-17 International Business Machines Corporation System to prevent export of sensitive data
US10911233B2 (en) 2017-09-11 2021-02-02 Zscaler, Inc. Identification of related tokens in a byte stream using structured signature data
US10803204B2 (en) 2018-01-25 2020-10-13 Digital Guardian Llc Systems and methods for defining and securely sharing objects in preventing data breach or exfiltration
EP3963860A1 (en) 2019-05-30 2022-03-09 Microsoft Technology Licensing, LLC Information barriers for sensitive information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681363A (zh) * 2007-03-21 2010-03-24 首科Dba格视公司 用于编辑和分类文档的系统和技术
US20140026195A1 (en) * 2013-07-03 2014-01-23 Sky Socket, Llc Enterprise-specific Functionality Watermarking and Management
CN106575287A (zh) * 2014-06-24 2017-04-19 谷歌公司 用于在合作性文档编辑环境中管理被建议编辑的系统和方法
US20160283879A1 (en) * 2015-03-25 2016-09-29 International Business Machines Corporation Dynamic construction of cloud services

Also Published As

Publication number Publication date
WO2020242599A1 (en) 2020-12-03
US11196892B2 (en) 2021-12-07
CN114026822B (zh) 2023-09-22
EP3959855A1 (en) 2022-03-02
KR20220013372A (ko) 2022-02-04
EP3959855B1 (en) 2024-03-20
US20200382677A1 (en) 2020-12-03
JP2022534557A (ja) 2022-08-02
JP7474273B2 (ja) 2024-04-24

Similar Documents

Publication Publication Date Title
US10623476B2 (en) Endpoint management system providing an application programming interface proxy service
KR102564387B1 (ko) 콘텐츠 준-개인화를 위한 낮은 엔트로피 브라우징 이력
US10476977B2 (en) Configuration of content site user interaction monitoring in data networks
KR102502616B1 (ko) 유사(Quasi)-개인화를 위한 저 엔트로피 브라우징 히스토리
US10783128B2 (en) Rule based data processing
US8930807B2 (en) Web content management based on timeliness metadata
CN114026822B (zh) 使用客户端计算进行文档处理
US20220358240A1 (en) Adaptive data privacy platform
EP3084589B1 (en) Crowd sourced online application cache management
US10594703B2 (en) Taint mechanism for messaging system
US20220309167A1 (en) Cluster security based on virtual machine content
US11017029B2 (en) Data transfer system, data transfer apparatus, data transfer method, and computer-readable recording medium
US11790103B2 (en) Adaptive data loss prevention
US11341271B2 (en) Information barriers for sensitive information
US20190311137A1 (en) Dynamic data asset security using cognitive data analysis
WO2022071946A1 (en) Data transformations based on policies
US11418818B1 (en) System for controlling storage of response data
JP7512465B2 (ja) コンテンツの擬似パーソナライゼーションのための低エントロピーのブラウジング履歴
US11580246B2 (en) Cryptographic data encoding method with enhanced data security
Ametepe et al. Lightweight Intuitive Provenance (LiP) in a distributed computing environment
CN114020873A (zh) 加密数据处理方法、装置和电子设备
CN113608819A (zh) 创建容器的方法、装置、电子设备及介质
WO2023225570A1 (en) Routing digital content items to priority-based processing queues according to priority classifications of the digital content items
CN117348946A (zh) 一种微前端子应用的管理方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant