著录项信息
摘要
用于多个数据段从发送设备到一个或更多个接收设备的安全离线传输的方法、系统和计算机可读介质。发送设备和一个或更多个接收设备能够经由离线本地网络通信。可以在接收设备处创建安全加密容器以便一次一个地暂时高速缓存所接收的数据段,并且加密存储容器基于来自发送设备的存储指令来防止接收设备的一个或更多个应用对存储在其中的数据的访问。加密容器可以被配置为存储数据段,使得在任何一个时间处将少于所有的数据段存储在接收设备处。
1.一种用于离线环境中的数据共享的方法,所述方法包括:
由接收设备经由本地网络从发送设备接收第一数量的数据段中的第一数据段,其中所述发送设备和所述接收设备经由所述本地网络直接通信;
在所述接收设备内生成用于存储所述第一数据段的加密存储容器,其中所述加密存储容器基于来自所述发送设备的存储指令防止所述接收设备的一个或更多个应用对存储在其中的数据的访问;
由所述接收设备将包括所述第一数据段的第二数量的数据段存储在所述加密存储容器中,其中所述第二数量少于所述第一数量;
由所述接收设备处理所述第一数据段以向所述接收设备的用户提供输出;
在接收到所述第一数量的数据段中的所述第一数据段时由所述接收设备激活计时器;
以及
当所述计时器达到阈值时,删除存储在所述加密存储容器中的所述第二数量的数据段。
2.根据权利要求1所述的方法,其中,所述第一数据段的处理包括在所述接收设备的显示器上显示所述数据的第一部分。
3.根据权利要求2所述的方法,还包括:
由所述接收设备经由所述本地网络从所述发送设备接收第二数据段;
响应于接收到所述第二数据段,通过由所述接收设备执行的接收服务从所述加密存储容器中删除所述第一数据段;
在将所述第一数据段从所述加密存储容器中删除后,由所述接收服务将所述第二数据段存储在所述加密存储容器中;以及
由所述接收设备处理所述第二数据段以在所述接收设备的显示器上呈现所述数据的第二部分,所述数据的第二部分在所述数据的第一部分之后呈现在所述显示器上。
4. 根据权利要求3所述的方法,还包括:
由所述接收设备从所述发送设备接收终止消息;以及
基于所述终止消息,由所述接收设备从所述加密存储容器中删除所述第二数据段。
5.根据权利要求1所述的方法,其中,由所述接收设备将所述第二数量的数据段存储在所述加密存储容器中基于从所述发送设备传输到所述接收设备的存储指令。
6.根据权利要求1所述的方法,还包括:
基于所述计时器达到所述阈值,由所述接收设备断开所述接收设备与所述本地网络的连接。
7.根据权利要求1所述的方法,还包括:
在接收到所述第一数量的数据段中的第二数据段时由所述接收设备重置所述计时器。
8.根据权利要求1所述的方法,其中,由所述接收设备基于所述接收设备和所述发送设备已知的密码接收所述第一数据段。
9.根据权利要求1所述的方法,还包括:
由所述接收设备基于接收到终止通知删除存储在所述加密存储容器中的所有数据段。
10. 一种接收设备,包括:
一个或更多个处理器;以及
接收器服务模块,所述接收器服务模块在由所述一个或更多个处理器执行时使所述接收器服务模块:
从发送设备上执行的发送器服务模块接收第一数量的数据段中的第一数据段和存储指令,所述第一数据段和所述存储指令经由本地网络接收;
在所述接收设备上实例化加密存储容器以用于存储数据,其中所述加密存储容器基于从所述发送器服务模块接收的存储指令防止所述接收设备的一个或更多个应用对存储在其中的数据的访问;
将包括所述第一数据段的第二数量的数据段存储在所述加密存储容器中,其中所述第二数量少于所述第一数量;
处理所述第一数据段以在所述接收设备的显示器上显示所述数据的第一部分;
在接收到所述第一数量的数据段中的数据段时激活计时器;以及
当所述计时器达到阈值时,删除存储在所述加密存储容器中的所有数据段。
11.根据权利要求10所述的接收设备,其中,所述接收器服务模块在由所述一个或更多个处理器执行时,还使所述接收器服务模块:
经由所述本地网络接收所述第一数量的数据段中的第二数据段;
响应于接收到所述第二数据段,从所述加密存储容器中删除所述第一数据段;
在将所述第一数据段从所述加密存储容器中删除后,将所述第二数据段存储在所述加密存储容器中;以及
处理所述第二数据段以在所述接收设备的所述显示器上呈现所述数据的第二部分,所述数据的第二部分在所述数据的第一部分之后呈现在所述显示器上。
12. 根据权利要求11所述的接收设备,其中,所述接收器服务模块在由所述一个或更多个处理器执行时,还使所述接收器服务模块:
经由所述本地网络接收终止消息;以及
基于所述终止消息,从所述加密存储容器中删除所述第二数据段。
13.根据权利要求10所述的接收设备,其中,所述接收器服务模块在由所述一个或更多个处理器执行时,还使所述接收器服务模块:
传输对所述第一数量的数据段中的所述第一数据段的请求,所述请求包括所述第一数据段的标识和所述接收器服务模块的标识。
14.根据权利要求13所述的接收设备,其中,所述接收器服务模块在由所述一个或更多个处理器执行时,还使所述接收器服务模块:
基于所述计时器达到所述阈值,断开所述接收设备与所述本地网络的连接。
15.一个或更多个非暂时性计算机可读介质,其存储计算机可执行指令,所述计算机可执行指令在由包括至少一个处理器和至少一个存储器的计算机系统执行时,使所述计算机系统执行一种方法,所述方法包括:
由接收设备经由离线本地网络从发送设备接收第一数量的数据段中的第一数据段,其中所述发送设备和所述接收设备经由所述离线本地网络直接通信;
在所述接收设备内生成用于存储所述第一数据段的加密存储容器,其中所述加密存储容器基于来自所述发送设备的存储指令防止所述接收设备的一个或更多个应用对存储在其中的数据的访问;
将包括所述第一数据段的第二数量的数据段存储在所述加密存储容器中,其中所述第二数量少于所述第一数量;
处理所述第一数据段以向所述接收设备的用户提供输出;
在接收到所述第一数量的数据段中的数据段时激活计时器;以及
当所述计时器达到阈值时,删除存储在所述加密存储容器中的所有数据段。
16.根据权利要求15所述的一个或更多个非暂时性计算机可读介质,其中,处理所述第一数据段以向所述接收设备的用户提供输出包括在所述接收设备的显示器上显示所述数据的第一部分。
17.根据权利要求16所述的一个或更多个非暂时性计算机可读介质,其上存储有附加计算机可执行指令,所述附加计算机可执行指令在被执行时还使所述计算机系统执行:
经由所述离线本地网络从所述发送设备接收第二数据段;
响应于接收到所述第二数据段,通过由所述接收设备执行的接收服务,从所述加密存储容器中删除所述第一数据段;
在将所述第一数据段从所述加密存储容器中删除后,由所述接收服务将所述第二数据段存储在所述加密存储容器中;以及
处理所述第二数据段以在所述接收设备的显示器上呈现所述数据的第二部分,所述数据的第二部分在所述数据的第一部分之后呈现在所述显示器上。
18.根据权利要求15所述的一个或更多个非暂时性计算机可读介质,其上存储有附加计算机可执行指令,所述附加计算机可执行指令在被执行时还使所述计算机系统执行:
经由所述离线本地网络,从所述发送设备接收所述第一数量的数据段中的所述第一数据段和第一存储指令,所述第一存储指令被配置为使接收服务将所述第一数据段存储在所述加密存储容器中。
19.根据权利要求15所述的一个或更多个非暂时性计算机可读介质,其上存储有附加计算机可执行指令,所述附加计算机可执行指令在被执行时还使所述计算机系统执行:
经由所述离线本地网络向所述发送设备传输所述接收设备的预定标识符以进行验证。
20. 根据权利要求17所述的一个或更多个非暂时性计算机可读介质,其上存储有附加计算机可执行指令,所述附加计算机可执行指令在被执行时还使所述计算机系统执行:
经由所述离线本地网络接收终止消息;以及
基于所述终止消息,从所述加密存储容器中删除所述第二数据段。
内容的安全离线流式传输\n[0001] 相关申请的交叉引用\n[0002] 本申请要求2018年12月18日提交的美国非临时专利申请号16/223,475的优先权,该申请的内容通过引用以其整体明确并入本文。\n[0003] 领域\n[0004] 本文描述的各方面大体上涉及计算机、联网、硬件和软件。具体地,本公开的一个或更多个方面大体上涉及用于在离线环境中从发送设备到接收设备安全地共享数据或内容的计算机系统和方法。\n[0005] 背景\n[0006] 计算设备的用户通常期望与其他用户的计算设备共享内容或数据。例如,移动设备的用户可以拍摄一组朋友的照片并希望与照片中的其他人共享该照片。在另一个示例中,演讲者可能希望在进行演讲时将计算设备的显示器的内容共享给其他计算设备。通常,在计算设备之间共享内容或数据使用互联网或包括诸如防火墙和加密的安全措施的其他在线网络,以确保共享内容在传输期间是安全的。在离线环境中,数据或内容的共享可以通过将数据从发送设备传输到接收设备的文件共享应用从设备间(device‑to‑device)发生。\n[0007] 概述\n[0008] 以下呈现本文描述的各个方面的简化概述。本概述不是广泛综述,也不旨在识别必要的或关键的元素或描述权利要求的范围。下面的概述只是以简化形式呈现一些概念,作为下面提供的更详细描述的介绍性前序。\n[0009] 上面描述的解决方案提供了将整个共享内容存储在接收设备上,该共享内容然后可以被复制、操纵、更改和与其他未经授权的设备共享。在离线环境中,数据或内容的共享是不可用的,或者会面临更多的安全问题,因为互联网或其他公共网络上存在的安全措施在数据转移过程中将不再存在。为了克服现有技术中的这些限制,并克服在阅读和理解本说明书时将明显的其他限制,本文描述的各方面涉及用于离线环境中的数据共享的方法。\n该方法可以包括涉及以下内容的操作:由接收设备经由本地网络从发送设备接收多个数据段中的第一数据段,其中该发送设备和该接收设备经由本地网络直接通信;以及生成用于存储第一数据段的加密存储容器,其中加密存储容器基于来自发送设备的存储指令来防止接收设备的一个或更多个应用对存储在其中的数据的访问。该方法还可以包括涉及以下内容的操作:由接收设备将第一数据段存储在加密存储容器中,使得在接收设备上一次存储少于所有的多个数据段;以及由接收设备处理第一数据段以向接收设备的用户提供输出。\n[0010] 本文描述的其他方面涉及一种设备,包括:一个或更多个处理器;以及接收器服务模块,该接收器服务模块在由一个或更多个处理器执行时,使接收器服务模块执行操作。此类操作可以包括:从发送设备上执行的发送器服务模块接收多个数据段中的第一数据段和存储指令,第一数据段和存储指令经由本地网络来接收;以及在设备上实例化加密存储容器以用于存储数据,其中加密存储容器基于从发送器服务模块接收的存储指令来防止设备的一个或更多个应用对存储在其中的数据的访问。附加操作可以包括:将第一数据段存储在加密存储容器中,使得在加密存储容器上一次存储少于所有的多个数据段;以及处理第一数据段以在设备的显示器上显示数据的第一部分。\n[0011] 本文描述的又一些其他方面涉及一个或更多个非暂时性计算机可读介质,其存储计算机可执行指令,计算机可执行指令在由包括至少一个处理器和至少一个存储器的计算机系统执行时,使计算机系统执行一种方法。所执行的方法的操作可以包括:由接收设备经由离线本地网络从发送设备接收多个数据段中的第一数据段,其中发送设备和接收设备经由本地网络直接通信;以及生成用于存储第一数据段的加密存储容器,其中加密存储容器基于来自发送设备的存储指令来防止接收设备的一个或更多个应用对存储在其中的数据的访问。操作还可以包括:将第一数据段存储在加密存储容器中,使得一次在接收设备上存储少于全部的多个数据段;以及处理第一数据段以向接收设备的用户提供输出。\n[0012] 这些和附加方面将被理解为具有下文进一步详细讨论的本公开的益处。\n[0013] 附图简述\n[0014] 通过参考以下描述并考虑附图,可以获得对本文所描述的各方面及其优点的更完整理解,在附图中,相同参考数字表示相同特征,并且其中:\n[0015] 图1描绘了可以根据本文描述的一个或更多个示意性方面使用的示意性计算机系统架构。\n[0016] 图2描绘了可以根据本文描述的一个或更多个示意性方面使用的示意性远程访问系统架构。\n[0017] 图3描绘了示意性企业移动管理系统。\n[0018] 图4描绘了另一个示意性企业移动管理系统。\n[0019] 图5描绘了在离线环境中将内容从发送器设备流式传输到一个或更多个接收设备的示例。\n[0020] 图6描绘了用于在离线环境中将内容从发送器设备流式传输到一个或更多个接收设备的示意性系统。\n[0021] 图7描绘了用于在离线环境中将内容从发送器设备流式传输到一个或更多个接收设备的方法的概览的流程图。\n[0022] 图8A‑8B描绘了用于使用授权接收设备的服务将内容离线流式传输到该接收设备的方法的流程图。\n[0023] 图9描绘了用于在数据丢失后从安全离线内容流中删除高速缓存数据的方法的流程图。\n[0024] 图10描绘了从安全离线连接断开接收设备的方法的流程图。\n[0025] 详细描述\n[0026] 在对各种实施例的以下描述中,参考上面标识的并形成其一部分的附图,并且其中以图示的方式示出了可以实践本文所描述的各方面的各种实施例。应当理解,在不脱离本文所述范围的情况下,可以利用其他实施例并且可以进行结构和功能修改。各个方面能够具有其他实施例,并且能够以各种不同的方式来实践或执行。\n[0027] 作为对下面更详细描述的主题的一般介绍,本文描述的各方面涉及从设备到发送设备附近的一个或更多个接收设备的安全离线数据或文件共享(也称为数据流)。数据流可以包括数据从发送设备到接收设备的传输,通常是以有序数据分组的序列,但是数据从发送设备到接收设备的任何类型的传输都可以被认为是数据流。在一个示例中,流式传输内容或数据可以由发送设备分段,并且每段可以暂时高速缓存在接收设备处。可以在接收设备处创建安全加密容器以便一次一个地暂时高速缓存所接收的段。访问安全容器的权限可以由发送设备通过在接收设备上执行的服务来控制,使得接收设备上的本机应用不能访问所接收的段。此外,发送设备可以创建安全的自组织或本地有线或无线网络以连接到一个或更多个接收设备,并且可以对被授权通过密码交换或其他安全授权措施来接收内容的那些接收设备进行认证。在接收设备处存储的数据或内容段可以定期地被清空或从安全存储装置删除以在任何一个时间最小化驻留在接收设备上的数据量。删除驻留在接收设备上的数据流的部分以使得在一个时间在接收设备上存在小于整个文件或数据流防止了未经授权的复制数据、操纵数据、改变数据以及未经授权地与其他未经授权设备共享数据。另外,在内容或数据的流式传输期间,发送设备和接收设备之间的连接或通信的丢失可以触发安全存储装置的自动清空,使得在流式传输会话结束后,没有内容或数据保持在接收设备上。\n以这种方式,提供了一种安全离线内容流式传输解决方案,其维护共享数据的安全性,因为发送设备控制接收设备何时以及如何查看和/或处理流式传输内容。\n[0028] 应当理解,本文使用的短语和术语是为了描述的目的并且不应被视为限制。相反,本文使用的短语和术语应被给予其最广泛的解释和含义。“包括”和“包含”及其变体的使用意味着涵盖其后列出的项目及其等同物,以及附加项目及其等同物。术语“连接”、“耦接”和类似术语的使用意味着包括直接和间接的安装、连接、耦接、定位和接合。\n[0029] 计算架构\n[0030] 计算机软件、硬件和网络可以在各种不同的系统环境中使用,包括独立、联网、远程访问(也称为远程桌面)、虚拟化和/或基于云的环境等。图1示出了可以用于在独立和/或联网环境中实现本文描述的一个或更多个示意性方面的系统架构和数据处理设备的一个示例。各种网络节点103、105、107和109可以经由诸如互联网的广域网(WAN)101互连。也可以或另选地使用其他网络,包括专用内联网、公司网络、局域网(LAN)、城域网(MAN)、无线网络、个人网络(PAN)等。网络101是为了说明目的并且可以用更少的或附加的计算机网络来替换。局域网133可以具有任何已知LAN拓扑中的一者或更多者,并且可以使用各种不同协议中的一者或更多者,诸如以太网。设备103、105、107和109和其他设备(未示出)可以经由双绞线、同轴电缆、光纤、无线电波或其他通信介质连接到一个或更多个网络。\n[0031] 如本文使用并在附图中描述的术语“网络”不仅指其中远程存储设备经由一个或更多个通信路径耦接在一起的系统,而且还指可以不时耦接到具有存储能力的此类系统的独立设备。因此,术语“网络”不仅包括“物理网络”,还包括“内容网络”,其由驻留在所有物理网络中的数据(归属于单个实体)数据组成。\n[0032] 部件可以包括数据服务器103、web服务器105和客户端计算机107、109。数据服务器103提供对数据库和控制软件的总体访问、控制和管理,以执行本文描述的一个或更多个示意性方面。数据服务器103可以连接到web服务器105,用户通过该web服务器与所请求的数据交互并获得数据。另选地,数据服务器103可以充当web服务器本身并直接连接到互联网。数据服务器103可以通过局域网133、广域网101(例如,互联网)、经由直接或间接连接或经由某个其他网络连接到web服务器105。用户可以使用远程计算机107、109来与数据服务器103交互,例如使用web浏览器以经由web服务器105所托管的一个或更多个外部暴露的web站点连接到数据服务器103。客户端计算机107、109可以与数据服务器103协同使用以访问存储在其中的数据,或者可以用于其他目的。例如,如本领域中已知的那样,使用互联网浏览器或者通过执行通过计算机网络(诸如互联网)与web服务器105和/或数据服务器103通信的软件应用,用户可以从客户端设备107访问web服务器105。\n[0033] 服务器和应用可以组合在相同物理机器上,并保留单独的虚拟地址或逻辑地址,或者可以驻留在单独的物理机器上。图1仅示出了可以使用的网络架构的一个示例,并且本领域技术人员将理解,所使用的特定网络架构和数据处理设备可以改变,并且相比于它们提供的功能是次要的,如本文进一步描述的。例如,由web服务器105和数据服务器103提供的服务可以组合在单个服务器上。\n[0034] 每个部件103、105、107、109可以是任何类型的已知计算机、服务器或数据处理设备。数据服务器103例如可以包括控制数据服务器103的总体操作的处理器111。数据服务器\n103还可以包括随机存取存储器(RAM)113、只读存储器(ROM)115、网络接口117、输入/输出接口119(例如,键盘、鼠标、显示器、打印机等)和存储器121。输入/输出(I/O)119可以包括用于读取、写入、显示和/或打印数据或文件的各种接口单元和驱动器。存储器121还可以存储用于控制数据处理设备103的总体操作的操作系统软件123、用于指示数据服务器103执行本文描述的各方面的控制逻辑125以及提供辅助功能、支持功能和/或可以结合或可以不结合本文描述的各方面使用的其他功能的其他应用软件127。控制逻辑125也可以在本文中被称为数据服务器软件125。数据服务器软件125的功能可以指基于编码到控制逻辑125中的规则自动做出的操作或决定,由用户向系统提供输入来手动做出的操作或决定和/或基于用户输入(例如,查询、数据更新等)的自动处理的组合。\n[0035] 存储器121还可以存储用于执行本文描述的一个或更多个方面的数据,包括第一数据库129和第二数据库131。在一些实施例中,第一数据库129可以包括第二数据库131(例如,作为单独的表、报告等)。也就是说,根据系统设计,信息可以存储在单个数据库中,或者可分离到不同的逻辑、虚拟或物理数据库中。设备105、107和109可以具有类似或不同的架构,如相对于设备103所述。本领域的技术人员将理解,如本文所述的数据处理设备103(或设备105、107或109)的功能可以扩展到例如多个数据处理设备上,以便在多个计算机上分配处理负载,从而基于地理位置、用户访问级别、服务质量(QoS)等对事务进行隔离。\n[0036] 一个或更多个方面可以体现在计算机可用或可读数据和/或计算机可执行指令中,诸如在一个或更多个程序模块中,其由一个或更多个计算机或如本文所述的其他设备执行。通常,程序模块包括例程、程序、对象、部件、数据结构等,其在由计算机或其他设备中的处理器执行时执行特定任务或实现特定抽象数据类型。模块可以用随后编译以执行的源代码编程语言编写,或者可以用诸如(但不限于)超文本标记语言(HTML)或可扩展标记语言(XML)的脚本语言编写。计算机可执行指令可以存储在诸如非易失性存储设备的计算机可读介质上。可以利用任何合适的计算机可读存储介质,包括硬盘、CD‑ROM、光存储设备、磁存储设备和/或其任何组合。此外,表示如本文所述的数据或事件的各种传输(非存储)介质可以通过诸如金属丝、光纤和/或无线传输媒体(例如,空气和/或空间)的信号传导介质传播的电磁波的形式在源和目的地之间转移。本文所描述的各个方面可以体现为方法、数据处理系统或计算机程序产品。因此,各种功能可以全部或部分地体现在软件、固件和/或硬件或硬件等同物(诸如集成电路、现场可编程门阵列(FPGA)等)中。特定数据结构可以用于更有效地实现本文所述的一个或更多个方面,并且在本文所述的计算机可执行指令和计算机可用数据的范围内设想了此类数据结构。\n[0037] 进一步参考图2,本文描述的一个或更多个方面可以在远程访问环境中实现。图2描绘了可以根据本文描述的一个或更多个示意性方面使用的示意性计算环境200中的包括计算设备201的示例系统架构。计算设备201可以用作单服务器或多服务器桌面虚拟化系统(例如,远程访问或云系统)中的服务器206a,并且可以被配置为提供用于客户端访问设备的虚拟机。计算设备201可以具有用于控制设备201的总体操作的处理器203及其相关联部件,包括RAM 205、ROM 207、输入/输出(I/O)模块209和存储器215。\n[0038] I/O模块209可以包括计算设备201的用户可以通过其提供输入的鼠标、小键盘、触摸屏、扫描器、光学阅读器和/或触笔(或其他输入设备),并且还可以包括用于提供音频输出的一个或更多个扬声器以及用于提供文本、视听和/或图形输出的一个或更多个视频显示设备。软件可以存储在存储器215和/或其他存储装置中以向处理器203提供指令,从而用于将计算设备201配置成专用计算设备以便执行如本文所述的各种功能。例如,存储器215可以存储由计算设备201使用的软件,诸如操作系统217、应用程序219和相关联数据库221。\n[0039] 计算设备201可以在支持与诸如终端240(也称为客户端设备)的一个或更多个远程计算机的连接的联网环境中操作。终端240可以是个人计算机、移动设备、膝上型计算机、平板电脑或服务器,其包括以上相对于计算设备103或201描述的许多或全部元件。图2中描绘的网络连接包括局域网(LAN)225和广域网(WAN)229,但也可包括其他网络。当在LAN联网环境中使用时,计算设备201可以通过网络接口或适配器223连接到LAN 225。当在WAN联网环境中使用时,计算设备201可以包括调制解调器或其他广域网接口227以用于通过WAN \n229建立通信,诸如计算机网络230(例如,互联网)。应当理解,所示的网络连接是示意性的,并且可以使用在计算机之间建立通信链路的其他装置。计算设备201和/或终端240也可以是包括各种其他部件(诸如电池、扬声器和天线(未示出))的移动终端(例如,移动电话、智能电话、个人数字助理(PDA)、笔记本电脑等)。\n[0040] 本文描述的各方面也可以与许多其他通用或专用计算系统环境或配置一起操作。\n可以适用于本文所述各方面的其他计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人计算机(PC)、小型计算机、大型计算机、包括上述系统或设备中的任一者的分布式计算环境等。\n[0041] 如图2所示,一个或更多个客户端设备240可以与一个或更多个服务器206a‑206n(本文通常称为“服务器206”)通信。在一个实施例中,计算环境200可以包括安装在服务器\n206和客户端机器240之间的网络设备。网络设备可以管理客户端/服务器连接,并且在一些情况下可以使多个后端服务器206之间的客户端连接负载平衡。\n[0042] 在一些实施例中,客户端机器240可以称为单客户端机器240或单组客户端机器\n240,而服务器206可以称为单服务器206或单组服务器206。在一个实施例中,单客户端机器\n240与多于一个服务器206通信,而在另一个实施例中,单服务器206与多于一个客户端机器\n240通信。在又一个实施例中,单客户端机器240与单服务器206通信。\n[0043] 在一些实施例中,客户端机器240可以通过以下非穷尽性术语中的任一者来引用:\n客户端机器、客户端、客户端计算机、客户端设备、客户端计算设备、本地机器、远程机器、客户端节点、端点或端点节点。在一些实施例中,服务器206可以通过以下非穷尽术语中的任一者来引用:服务器、本地机器、远程机器、服务器场或主机计算设备。\n[0044] 在一个实施例中,客户端机器240可以是虚拟机。虚拟机可以是任何虚拟机,而在一些实施例中,虚拟机可以是由类型1或类型2管理程序(例如,由思杰系统、IBM、VMware开发的管理程序或任何其他管理程序)管理的任何虚拟机。在一些方面,虚拟机可以由管理程序管理,而在其他方面,虚拟机可以由在服务器206上执行的管理程序或在客户端240上执行的管理程序管理。\n[0045] 一些实施例包括客户端设备240,其显示由在服务器206或其他远程定位的机器上远程执行的应用生成的应用输出。在一些实施例中,客户端设备240可以执行虚拟机接收器程序或应用以在应用窗口、浏览器或其他输出窗口中显示输出。在一个示例中,应用是桌面,而在其他示例中,应用是生成或呈现桌面的应用。桌面可以包括针对操作系统的实例提供用户界面的图形壳,在其中可以集成本地应用和/或远程应用。如本文所使用的,应用是在操作系统(以及任选地还有桌面)的实例已经被加载之后执行的程序。\n[0046] 在一些实施例中,服务器206使用远程呈现协议或其他程序来将数据发送到瘦客户端或在客户端上执行的远程显示应用,以呈现由在服务器206上执行的应用生成的显示器输出。瘦客户端或远程显示协议可以是以下非穷尽协议列表中的任一者:佛罗里达州劳德代尔堡的思杰系统公司所开发的独立计算架构(ICA)协议;或由华盛顿州雷德蒙的微软公司制造的远程桌面协议(RDP)。\n[0047] 远程计算环境可以包括多于一个的服务器206a‑206n,使得服务器206a‑206n例如在云计算环境中在逻辑上一起分组成服务器场206。服务器场206可以包括地理上分散而在逻辑上分组在一起的服务器206,或者在逻辑上分组在一起并同时彼此靠近的服务器206。\n在一些实施例中,服务器场206内的地理上分散的服务器206a‑206n可以使用WAN(广域)、MAN(城域)或LAN(局域)进行通信,其中不同地理区域可以被描述为:不同大陆、大陆的不同区域、不同国家、不同州、不同城市、不同校园、不同房间或上述地理位置的任何组合。在一些实施例中,服务器场206可以作为单个实体来管理,而在其他实施例中,服务器场206可以包括多个服务器场。\n[0048] 在一些实施例中,服务器场可以包括执行基本上类似类型的操作系统平台(例如,WINDOWS、UNIX、LINUX、iOS、ANDROID、SYMBIAN等)的服务器206。在其他实施例中,服务器场\n206可以包括执行第一类型操作系统平台的第一组一个或更多个服务器,以及执行第二类型操作系统平台的第二组一个或更多个服务器。\n[0049] 服务器206可以根据需要配置为任何类型的服务器,例如,文件服务器、应用服务器、web服务器、代理服务器、设备、网络设备、网关、应用网关、网关服务器、虚拟化服务器、部署服务器、安全套接字层(SSL)VPN服务器、防火墙、web服务器、应用服务器或主应用服务器、执行活动目录的服务器或执行提供防火墙功能、应用功能或负载平衡功能的应用加速程序的服务器。也可使用其他服务器类型。\n[0050] 一些实施例包括第一服务器206a,其接收来自客户端机器240的请求,将该请求转发到第二服务器206b(未示出),并用来自第二服务器206b(未示出)的响应来响应由客户端机器240生成的请求。第一服务器206a可以获取客户端机器240可用的应用的枚举,以及与托管应用的枚举内标识的应用的应用服务器206相关联的地址信息。然后,第一服务器206a可以使用web接口来呈现对客户端的请求的响应,并直接与客户端240通信以向客户端240提供对所识别的应用的访问。一个或更多个客户端240和/或一个或更多个服务器206可以通过网络230(例如,网络101)传输数据。\n[0051] 企业移动管理架构\n[0052] 通过本文描述的系统和方法,提供了从设备到发送设备附近的一个或更多个接收设备的内容或数据的安全离线内容流式传输。通过对流式传输内容或数据进行分段并在接收设备处暂时高速缓存段,少于全部的内容在任何时间被存储在接收设备处。在接收设备处创建发送器控制的、安全且加密的容器以便一次一个地暂时高速缓存所接收的段进一步保护了内容段。此外,发送设备可以创建安全的自组织或本地有线或无线网络以连接到一个或更多个接收设备,并且可以对被授权通过密码交换或其他安全授权措施来接收内容的那些接收设备进行认证。在接收设备处存储的数据或内容段可以定期地被清空或从安全存储装置删除以在任何一个时间最小化驻留在接收设备上的数据量,并且在发送设备和接收设备之间的连接或通信丢失的情况下可以清空所有内容。以这种方式,提供了一种安全离线内容流式传输解决方案,其维护共享数据的安全性,因为发送设备控制接收设备何时以及如何查看和/或处理流式传输内容。\n[0053] 图3表示用于在“自带设备”(BYOD)环境中使用的企业移动技术架构500。架构使得移动设备502的用户能够从移动设备502访问企业或个人资源并将移动设备502用于个人使用。用户可以使用由用户购买的移动设备502或由企业向用户提供的移动设备502来访问此类企业资源504或企业服务508。例如,企业资源504或企业服务508可以包括移动设备502内的用于安全存储内容的安全高速缓存服务,如下面更详细地解释的。用户可以仅为了商业使用或为了商业使用和个人使用而利用移动设备502。移动设备502可以运行iOS操作系统、Android操作系统等。企业可以选择实现用于管理移动设备502的策略。策略可以通过防火墙或网关来实现,其方式使得移动设备502可以被识别、保护或安全性验证,并提供对企业资源(例如,504和508)的选择性或完全访问。策略可以是移动设备管理策略、移动应用管理策略、移动数据管理策略或移动设备、应用和数据管理策略的某种组合。通过移动设备管理策略的应用来管理的移动设备502可以被称为登记设备。\n[0054] 在一些实施例中,移动设备502的操作系统可以被分成受管分区510和未受管分区\n512。受管分区510可以使策略应用于其以保护在受管分区510上运行的应用和存储在该受管分区中的数据。在受管分区510上运行的应用可以是安全应用。在其他实施例中,所有应用可以根据与应用分开接收的一组一个或更多个策略文件来执行,并且该策略文件限定当该应用在移动设备502上执行时由移动设备管理系统实施的一个或更多个安全参数、特征、资源限制和/或其他访问控制。通过根据其相应策略文件操作,可以允许或限制每个应用与一个或更多个其他应用和/或资源进行通信,由此创建虚拟分区。因此,如本文所使用的,分区可以指代存储器的物理分区部分(物理分区)、存储器的逻辑分区部分(逻辑分区)和/或由于如本文所描述的在多个应用上实施一个或更多个策略和/或策略文件而创建的虚拟分区(虚拟分区)。换句话说,通过对受管应用实施策略,这些应用可以被限制为只能够与其他受管应用和受信任企业资源进行通信,由此创建未受管应用和设备无法访问的虚拟分区。\n[0055] 安全应用可以是电子邮件应用、web浏览应用、软件即服务(SaaS)访问应用、Windows应用访问应用等。安全应用可以是安全本机应用514、由安全应用启动器518执行的安全远程应用522、由安全应用启动器518执行的虚拟化应用526等。安全本机应用514可以由安全应用包装器520包装。安全应用包装器520可以包括当安全本机应用514在移动设备\n502上执行时在移动设备502上执行的集成策略。安全应用包装器520可以包括将在移动设备502上运行的安全本机应用514指向托管在企业处的资源(例如,504和508)的元数据,在执行安全本机应用514时,安全本机应用514可能需要该元数据以完成所请求的任务。由安全应用启动器518执行的安全远程应用522可以在安全应用启动器518内执行。由安全应用启动器518执行的虚拟化应用526可以利用移动设备502上的资源、企业资源504处的资源等。通过由安全应用启动器518执行的虚拟化应用526在移动设备502上使用的资源可以包括用户交互资源、处理资源等。用户交互资源可以用于收集和传输键盘输入、鼠标输入、相机输入、触觉输入、音频输入、视觉输入、手势输入等。处理资源可以用于呈现用户界面、处理从企业资源504接收的数据等。通过由安全应用启动器518执行的虚拟化应用526在企业资源504处使用的资源可以包括用户界面生成资源、处理资源等。用户界面生成资源可以用于组装用户界面、修改用户界面、刷新用户界面等。处理资源可以用于创建信息、读取信息、更新信息、删除信息等。例如,虚拟化应用526可以记录与图形用户界面(GUI)相关联的用户交互,并将它们传送到服务器应用,其中服务器应用将使用用户交互数据作为在服务器上操作的应用的输入。在此类布置中,企业可以选择维护服务器端上的应用以及与应用相关联的数据、文件等。虽然企业可以根据本文的原理通过保护一些应用以用于在移动设备502上部署来选择“调动”它们,但是也可以为某些应用选择这种布置。例如,当一些应用可以确保用于在移动设备502上使用,其他应用可能不准备或不适合部署在移动设备502上时,因此企业可以选择通过虚拟化技术向移动用户提供对未准备的应用的访问。作为另一个示例,企业可以具有大型复杂应用与大型且复杂数据集(例如,材料资源规划应用),其中为移动设备502定制应用将非常困难或以其他方式不期望的,因此企业可以选择通过虚拟化技术提供对应用的访问。作为又一个示例,企业可以具有维护可能被企业认为即使对于安全移动环境也过于敏感的高度安全的数据(例如,人力资源数据、客户数据、工程数据)的应用,因此企业可以选择使用虚拟化技术来允许对此类应用和数据的移动访问。企业可以选择在移动设备502上提供完全安全和完全功能的应用以及虚拟化应用526以允许访问被认为在服务器端更合适操作的应用。在实施例中,虚拟化应用526可以在安全存储位置之一在移动设备502上存储一些数据、文件等。例如,企业可以选择允许某些信息存储在移动设备\n502上,而不允许其他信息存储在移动设备上。\n[0056] 关于虚拟化应用526,如本文所述,移动设备502可以具有虚拟化应用526,其被设计成呈现GUI并且然后记录与GUI的用户交互。虚拟化应用526可以将用户交互传送到服务器端以由服务器端应用用作与应用的用户交互。作为响应,服务器端的应用可以向移动设备502传输回新GUI。例如,新GUI可以是静态页面、动态页面、动画等,由此提供对远程定位资源的访问。\n[0057] 安全应用514可以访问在移动设备502的受管分区510中存储在安全数据容器528中的数据。在安全数据容器中保护的数据可以由安全本机应用514、由安全应用启动器518执行的安全远程应用522、由安全应用启动器518执行的虚拟化应用526等访问。存储在安全数据容器528中的数据可以包括文件、数据库等。存储在安全数据容器528中的数据可以包括受限于特定安全应用530的数据、在安全应用532之间共享的数据等。受限于安全应用的数据可以包括安全通用数据534和高度安全数据538。安全通用数据可以使用强形式的加密,诸如高级加密标准(AES)128位加密等,而高度安全数据538可以使用非常强形式的加密,诸如AES 256位加密。在从设备管理器524接收到命令时,可以从移动设备502删除存储在安全数据容器528中的数据。安全应用(例如,514、522和526)可以具有双模式选项540。双模式选项540可以向用户提供以非安全或未受管模式操作安全应用的选项。在非安全或未受管模式中,安全应用可以访问在移动设备502的未受管分区512上存储在非安全数据容器\n542中的数据。存储在非安全数据容器中的数据可以是个人数据544。在移动设备502的未受管分区512上运行的非安全应用546也可以访问存储在非安全数据容器542中的数据。当从移动设备502删除存储在安全数据容器528中的数据时,存储在非安全数据容器542中的数据可以保持在移动设备502上。企业可能希望从移动设备502中删除由企业拥有、许可或控制的选定或所有数据、文件和/或应用(企业数据),同时保留或以其他方式保存由用户拥有、许可或控制的个人数据、文件和/或应用(个人数据)。此操作可以称为选择性擦除。利用根据本文描述的各方面布置的企业和个人数据,企业可以执行选择性擦除。\n[0058] 移动设备502可以连接到企业处的企业资源504和企业服务508、连接到公共互联网548等。移动设备502可以通过虚拟专用网络连接来连接到企业资源504和企业服务508。\n虚拟专用网络连接(也称为microVPN或应用特定VPN)可以特定于特定应用(如由MicroVPN \n550、特定设备、移动设备上的特定安全区域(如O/S VPN 552所示)等)。例如,移动设备502的安全区域中的每个包装应用可以通过应用特定VPN来访问企业资源,使得基于与应用相关联的属性(可能与用户或设备属性信息结合)来授予对VPN的访问权。虚拟专用网络连接可以承载Microsoft Exchange流量、Microsoft Active Directory流量、超文本传输协议(HTTP)流量、超文本传输协议安全(HTTPS)流量、应用管理流量等。虚拟专用网络连接可以支持并启用单点登录认证过程554。单点登录过程可以允许用户提供单组认证凭证,该单组认证凭证然后由认证服务558验证。然后,认证服务558可以向用户授予对多个企业资源504的访问权,而不要求用户向每个单独企业资源504提供认证凭证。\n[0059] 虚拟专用网络连接可以由接入网关560建立和管理。接入网关560可以包括管理、加速和改进企业资源504到移动设备502的递送的性能增强特征。接入网关560还可以将流量从移动设备502重新路由到公共互联网548,使得移动设备502能够访问在公共互联网548上运行的公共可用和非安全的应用。移动设备502可以经由传送网络562连接到接入网关。\n传送网络562可以使用一个或更多个传送协议,并且可以是有线网络、无线网络、云网络、局域网、城域网、广域网、公共网络、专用网络等。\n[0060] 企业资源504可以包括电子邮件服务器、文件共享服务器、SaaS应用、Web应用服务器、Windows应用服务器等。电子邮件服务器可以包括Exchange服务器、Lotus Notes服务器等。文件共享服务器可以包括ShareFile服务器等。SaaS应用可以包括Salesforce等。\nWindows应用服务器可以包括为提供旨在本地Windows操作系统上运行的应用等而构建的任何应用服务器。企业资源504可以是内建式(premise‑based)资源、基于云的资源等。企业资源504可以由移动设备502直接地或通过接入网关560访问。企业资源504可以由移动设备\n502经由传送网络562访问。\n[0061] 企业服务508可以包括认证服务558、威胁检测服务564、设备管理器服务524、文件共享服务568、策略管理器服务570、社会集成服务572、应用控制器服务574等。认证服务558可以包括用户认证服务、设备认证服务、应用认证服务、数据认证服务等。认证服务558可以使用证书。证书可以由企业资源504等存储在移动设备502上。存储在移动设备502上的证书可以存储在移动设备502上的加密位置中,证书可以暂时存储在移动设备502上以用于在认证时使用等。威胁检测服务564可以包括入侵检测服务、未授权访问尝试检测服务等。未授权访问尝试检测服务可以包括访问设备、应用、数据等的未授权尝试。设备管理服务524可以包括配置、供应、安全、支持、监测、报告和退役服务。文件共享服务568可以包括文件管理服务、文件存储服务、文件协作服务等。策略管理器服务570可以包括设备策略管理器服务、应用策略管理器服务、数据策略管理器服务等。社会集成服务572可以包括联系人集成服务、协作服务、与诸如Facebook、Twitter和LinkedIn的社交网络的集成等。应用控制器服务\n574可以包括管理服务、供应服务、部署服务、分配服务、撤销服务、包装服务等。\n[0062] 企业移动技术架构500可以包括应用商店578。应用商店578可以包括未包装应用\n580、预包装应用582等。可以从应用控制器574将应用填充到应用商店578中。应用商店578可以由移动设备502通过接入网关560、通过公共互联网548等访问。应用商店578可以被提供有直观且易于使用的用户界面。\n[0063] 软件开发套件584可以向用户提供通过包装应用来保护由用户选择的应用的能力,如先前在本说明中所述。然后,通过使用应用控制器574将已使用软件开发套件584包装的应用填充在应用商店578中,该应用对于移动设备502是可用的。\n[0064] 企业移动技术架构500可以包括管理和分析能力588。管理和分析能力588可以提供与使用资源的方式、使用资源的频率等相关的信息。资源可以包括设备、应用、数据等。使用资源的方式可以包括哪些设备下载哪些应用、哪些应用访问哪些数据等。使用资源的频率可以包括下载应用的频率、应用访问特定数据集的次数等。\n[0065] 图4是另一个示意性企业移动管理系统600。为了简单起见,已经省略了以上参考图3描述的移动管理系统500的一些部件。图4中描绘的系统600的架构在许多方面类似于上面参考图3描述的系统500的架构,并且可以包括上面未提及的附加特征。\n[0066] 在这种情况下,左侧表示具有客户端代理604的登记移动设备602,其与网关服务器606(包括接入网关和应用控制器功能)交互以访问各种企业资源608和服务609,诸如Exchange、Sharepoint、公钥基础设施(PKI)资源、Kerberos资源、证书发行服务,如上方右侧所示。尽管未具体示出,但移动设备602还可以与企业应用商店(StoreFront)交互以选择和下载应用。\n[0067] 客户端代理604充当托管在企业数据中心中的Windows应用/桌面的UI(用户界面)中介,这些应用/桌面使用高清用户体验(HDX)/ICA显示远程协议来访问。客户端代理604还支持在移动设备602上安装和管理本机应用,诸如本机iOS或Android应用。例如,上图中所示的受管应用610(邮件、浏览器、包装应用)都是在移动设备602上本地执行的本机应用。客户端代理604和该架构的应用管理框架用于向企业资源/服务608提供诸如连接性和SSO(单点登录)的策略驱动的管理能力和特征。客户端代理604处理对企业的主用户认证,通常利用SSO到接入网关(AG)606从而到其他网关服务器部件。客户端代理604从网关服务器606获得策略以控制移动设备602上的受管应用610的行为。\n[0068] 本机应用610和客户端代理604之间的安全进程间通信(IPC)链路612表示管理信道,这可以允许客户端代理供应由应用管理框架614“包装”每个应用来实施的策略。IPC信道612还可以允许客户端代理604向企业资源608供应实现连接性和SSO的凭证和认证信息。\n最后,IPC信道612可以允许应用管理框架614调用由客户端代理604实现的用户界面功能,诸如在线和离线认证。\n[0069] 客户端代理604和网关服务器606之间的通信本质上是管理信道从包装每个本机受管应用610的应用管理框架614的延伸。应用管理框架614可以向客户端代理604请求策略信息,该客户端代理继而可以向网关服务器606请求该策略信息。应用管理框架614可以请求认证,并且客户端代理604可以登录到网关服务器606的网关服务部分(也称为NETSCALER接入网关)。客户端代理604还可以调用网关服务器606上的支持服务,其可以产生输入材料以导出本地数据仓库616的加密密钥,或者可以提供可实现对于PKI受保护资源的直接认证的客户端证书,如下文所述。\n[0070] 更详细地,应用管理框架614“包装”每个受管应用610。这可以经由显式构建步骤或经由构建后处理步骤来合并。应用管理框架614可以在应用610的第一次启动时与客户端代理604“配对”以初始化安全IPC信道612并获得对于该应用的策略。应用管理框架614可以实施在本地应用的策略的相关部分,诸如客户端代理登录依赖项以及限制可以如何使用本地OS服务或它们可以如何与受管应用610交互的一些遏制策略。\n[0071] 应用管理框架614可以使用客户端代理604通过安全IPC信道612提供的服务来促进认证和内部网络访问。对于专用和共享数据仓库616(容器)的密钥管理也可以通过受管应用610和客户端代理604之间的适当交互来管理。仓库616仅在在线认证之后才可用,或者如果策略允许则可以在离线认证之后可用。仓库616的第一次使用可能需要在线认证,并且离线访问可能最多限于在需要再次在线认证之前的策略刷新周期。\n[0072] 对内部资源的网络访问可以通过接入网关606直接从单个受管应用610发生。应用管理框架614可以代表每个受管应用610负责编排网络访问。客户端代理604可以通过提供在在线认证之后获得的适当的时间受限的二级凭证来促进这些网络连接。可以使用多种模式的网络连接,例如反向web代理连接和端到端VPN样式隧道618。\n[0073] 邮件和浏览器受管应用610具有特殊状态,并且可以使用可能通常对任意包装的应用不可用的设施。例如,邮件应用610可以使用特殊的后台网络访问机制,该机制允许它在延长的时间段内访问交换服务器608,而不需要完全AG登录。浏览器应用610可以使用多个专用数据仓库616来隔离不同种类的数据。\n[0074] 另一个受管应用610可以包括阻止从移动设备602访问存储高速缓存的包装的安全存储应用。相反,对包装的存储应用的访问和控制可以由远离移动设备的另一个设备控制。如下面更详细地解释的,包装的存储应用可以在将内容流式传输到移动设备602期间使用以用于以安全方式存储内容的段。安全存储应用可以如上所述从应用商店578获得并存储在移动设备602上。在通过离线会话从流式设备接收内容期间可以发生存储应用的激活或利用。\n[0075] 此架构可以支持各种其他安全特征的合并。例如,在一些情况下,网关服务器606(包括其网关服务)可能不需要验证活动目录(AD)密码。在一些情况下,AD密码是否可以被用作对于一些用户的认证因素可以由企业自行决定。在用户在线或离线(即,连接或未连接到网络)的情况下,可以使用不同的认证方法。\n[0076] 加强认证是一个特征,其中网关服务器606可以识别被允许访问需要强认证的高度分类数据的受管本机应用610,并且确保只有在执行适当的认证后才允许访问这些应用,即使这意味着用户在先前较弱的登录级别后需要重新认证。\n[0077] 该解决方案的另一个安全特征是对移动设备602上的数据仓库616(容器)的加密。\n仓库616可以被加密以使得包括文件、数据库和配置的所有设备上数据都受到保护。对于在线仓库,密钥可以存储在服务器(网关服务器606)上,并且对于离线仓库,密钥的本地副本可以通过用户密码或生物识别验证来保护。如果或当数据在移动设备602上本地存储在安全容器616中时,可能优选的是利用最小AES 256加密算法。\n[0078] 还可以实现其他安全容器特征。例如,可以包括日志记录特征,其中发生在受管应用610内的安全事件可以被记录并被报告给后端。可以支持数据擦除,诸如如果或当受管应用610检测到篡改时,相关联的加密密钥可以利用随机数据写入,从而在文件系统上不留下用户数据被破坏的线索。屏幕截图保护可以是另一个特征,其中应用可以防止任何数据存储在屏幕截图中。例如,关键窗口的隐藏属性可以设置为YES。这可致使屏幕上当前显示的任何内容都被隐藏,从而在其中任何内容通常会驻留的地方产生空白屏幕截图。\n[0079] 可以防止本地数据转移,诸如通过防止任何数据本地转移到应用容器外部,例如通过复制数据或将其发送到外部应用。键盘高速缓存特征可以操作以禁用对于敏感文本字段的自动更正功能。SSL证书验证可以是可操作的,因此应用专门验证服务器SSL证书,而不是将其存储在密钥链中。可以使用加密密钥生成特征,使得使用由用户提供的密码短语或生物识别数据(如果需要离线访问)来生成用于对移动设备602上的数据进行加密的密钥。\n如果不需要离线访问,其可以与随机生成并存储在服务器端的另一个密钥进行异或运算(XOR)。密钥导出函数可以操作以使得从用户密码生成的密钥使用KDF(密钥导出函数,特别是基于密码的密钥导出函数2(PBKDF2)),而不是创建其密码散列。后者使密钥容易受到暴力攻击或字典攻击。\n[0080] 另外,在加密方法中可以使用一个或更多个初始化向量。初始化向量将使相同加密数据的多个副本产生不同的密码文本输出,从而防止重播和密码分析攻击。这还将防止攻击者对任何数据进行解密(即使使用窃取的加密密钥)。另外,可以使用认证然后解密,其中只有在用户已经在应用内认证之后才对应用数据进行解密。另一个特征可以与存储器中的敏感数据有关,该数据只有在需要时才会保存在存储器中(而不是磁盘中)。例如,登录凭据在登录后可以从存储器中擦除,并且objective‑C实例变量内的加密密钥和其他数据不会被存储,因为它们可能很容易被引用。相反,可以手动为它们分配存储器。\n[0081] 可以实现不活动超时,其中在策略定义的不活动时段之后终止用户会话。\n[0082] 可以以其他方式防止来自应用管理框架614的数据泄漏。例如,如果或当受管应用\n610被置于后台时,存储器可以在预定(可配置)时间段之后被清除。当后台处理时,可以对应用的最后显示的屏幕进行快照以加快前台处理过程。屏幕截图可以包含机密数据并且因此应被清除。\n[0083] 另一个安全特征可以涉及使用OTP(一次性密码)620而不使用AD(活动目录)622密码来访问一个或更多个应用。在一些情况下,一些用户不知道(或不允许知道)他们的AD密码,因此这些用户可以使用OTP620进行认证,诸如通过使用像SecurID这样的硬件OTP系统(OTP也可以由不同的供应商提供,诸如Entrust或Gemalto)。在一些情况下,在用户利用用户ID进行认证之后,可以通过OTP 620向用户发送文本。在一些情况下,这可以只被实现用于在线使用,其中提示符为单个字段。\n[0084] 对于经由企业策略允许离线使用的那些受管应用610,可以为离线认证实现离线密码。例如,企业可能希望以这种方式访问StoreFront。在这种情况下,客户端代理604可以要求用户设置自定义离线密码,并且不使用AD密码。网关服务器606可以提供策略来控制和执行相对于密码的最小长度、字符类组成和期限的密码标准,诸如由标准Windows服务器密码复杂性要求所描述的,尽管这些要求可以被修改。\n[0085] 另一个特征可以涉及启用对于特定应用610的客户端侧证书作为二级凭证(用于经由应用管理框架微VPN特征访问PKI保护的web资源的目的)。例如,受管应用610可以利用这样的证书。在这种情况下,可以支持使用ActiveSync协议的基于证书的认证,其中来自客户端代理604的证书可以由网关服务器606获取并在密钥链中使用。每个受管应用610可以具有一个相关联的客户端证书,该证书由网关服务器606中定义的标签标识。\n[0086] 网关服务器606可以与企业专用web服务交互以支持客户端证书的发行,从而允许相关的受管应用向内部PKI保护的资源进行认证。\n[0087] 客户端代理604和应用管理框架614可以被增强以支持获得和使用用于向内部PKI保护的网络资源进行认证的客户端证书。可以支持多于一个证书,诸如以匹配各种级别的安全性和/或分离要求。证书可以由邮件和浏览器受管应用610使用,并最终由任意包装的应用610使用(前提是这些应用使用web服务样式的通信模式,在这种模式下,应用管理框架可合理地调解HTTPS请求)。\n[0088] iOS上的应用管理客户端证书支持可以依赖于在每个使用周期内将公钥加密标准(PKCS)12BLOB(二进制大对象)导入每个受管应用610中的iOS密钥链。应用管理框架客户端证书支持可以通过专用存储器内密钥存储来使用HTTPS实现。客户端证书可能不存在于iOS密钥链中,并且可能无法持久化,除非可能存在于受到强保护的“仅在线”数据值中。\n[0089] 还可以实现相互SSL或TLS以通过要求向企业认证移动设备602来提供附加安全性,反之亦然。还可以实现用于向网关服务器606的认证的虚拟智能卡。\n[0090] 有限和完全的Kerberos支持都可以是附加特征。完全支持特征涉及使用AD密码或受信任的客户端证书对活动字典(AD)622进行完全Kerberos登录的能力,并且获得Kerberos服务票证以响应HTTP协商认证挑战。有限支持特征涉及Citrix接入网关企业版(AGEE)中的受约束委派,其中AGEE支持调用Kerberos协议转换,因此它可以响应于HTTP协商认证挑战而获得并使用Kerberos服务票证(经历受约束委托)。该机制以反向web代理(即公司虚拟专用网络(CVPN))模式并且在以VPN和MicroVPN模式代理HTTP(但不是HTTPS)连接时工作。\n[0091] 另一个特征可以涉及应用容器锁定和擦除,其可以在越狱或根检测时自动发生,并作为来自管理控制台的推送命令发生,并且可以包括远程擦除功能,即使在受管应用610未运行时也是如此。\n[0092] 可以支持企业应用存储装置和应用控制器的配置或多站点架构以允许在故障情况下从几个不同位置中的一个位置为用户提供服务。\n[0093] 在一些情况下,可以允许受管应用610经由API(例如,OpenSSL)访问证书和私钥。\n可以允许企业的受信任的受管应用610通过应用的客户端证书和私钥来执行特定公钥操作。可以相应地识别和处理各种用例,诸如如果或当应用的行为类似于浏览器并且不需要证书访问时,如果或当应用读取对于“我是谁”的证书时,如果或当应用使用证书来构建安全会话令牌时,以及如果或当应用使用私钥以用于对重要数据(例如事务日志)进行数字签名或暂时数据加密时。\n[0094] 安全离线流式传输系统\n[0095] 尽管上述系统中的一个或更多个部件可以用于提供内容从发送器设备到一个或更多个接收设备的安全离线流式传输。数据的离线流式传输可以包括通过由发送设备生成的网络或限制于发送设备和一个或更多个接收设备的任何其他网络,通常以有序数据分组的序列将数据从发送设备传输到接收设备。例如,数据的离线流式传输可以包括通过未连接到互联网的网络传输数据。然而,通常,通过由发送设备生成或起源于发送设备的网络,数据从发送设备到接收设备的任何类型的传输都可以被认为是数据流。例如,设备的用户可能期望以安全方式向离线环境(诸如其中设备未连接到互联网、wifi或其他潜在安全的网络连接的环境)中的其他接收设备提供内容或数据。图5描绘了在离线环境中将内容从发送器设备流式传输到一个或更多个接收设备的示例。发送设备632(诸如蜂窝或移动计算设备)可以通过由发送设备创建的网络630将数据传输到一个或更多个接收设备634‑638。例如,发送设备632可以生成自组织本地无线网络以与一个或一个或更多个接收设备通信。下面将更详细地讨论由发送设备生成或创建网络630。尽管在图5中描绘为移动计算设备,但发送设备632和接收设备634‑638可以是能够连接到网络630并通过网络630接收数据的任何计算设备。因此,发送设备632和接收设备634‑638可以是个人计算机、膝上型计算机、平板设备、服务器、电视机、监视器、联网设备等。\n[0096] 在一个特定示例中,发送设备632的用户可以向接收设备634‑638共享内容(诸如视频、电影、音频等)。发送器可以提供数据或内容以使得用户可以在用户的设备634‑638上查看或收听,但希望阻止接收设备保留数据以供将来使用。通常,在公共或专用网络连接上不使用安全协议和设备的情况下在设备间共享数据可以允许通过接收设备来获得和存储数据以供将来使用。在其他示例中,发送器可能不知道通过自组织本地网络630与接收设备\n634‑638共享内容是不安全的,并且因此可能无意中将内容提供给接收设备。接收设备634‑\n638的用户或接收设备本身随后可以与未经授权接收此类数据的其他设备共享数据。此外,正在通过其共享数据的网络可能容易被未经授权的接收设备从发送设备截获数据。\n[0097] 因此,本文提供了一种安全离线内容流式传输系统,其用于将数据从发送设备632流式传输到一个或更多个接收设备634‑638。为了保护内容流,发送设备632可以将内容分段并通过由接收设备连接到的发送设备所创建的网络630将每段发送到接收设备634‑638,如下面参考图8A更详细地解释的。此外,可以在接收设备上生成安全容器或高速缓存,其由在发送设备632上执行的服务和在接收设备上执行的对应服务控制以用于存储内容段。通过对应服务的操作,发送设备632可以控制对接收设备的安全容器的访问特权。例如,在接收设备634‑638上执行的接收服务可以由发送设备632通过一个或更多个指令来控制,以控制接收设备634对安全容器的访问。以此方式,发送设备632可以控制哪些内容段存储在接收设备634‑638处,从而允许发送设备在接收设备634‑638处暂时高速缓存内容段,当高速缓存的数据到达接收设备时,用新数据替换该高速缓存的数据,使得仅将内容的一部分存储在接收设备634‑638处。\n[0098] 图6描绘了用于在离线环境中将内容从发送器设备632流式传输到一个或更多个接收设备634的示意性系统670。图6的发送设备632和接收设备634类似于上面结合图5的系统讨论的发送设备和接收设备。如所讨论的,发送设备632可以通过当接收设备634安全地连接到发送设备632时创建的自组织本地网络630与接收设备634共享内容或数据。因此,发送设备632可以包括网络生成器642的一个或更多个部件以与接收设备634通信。由发送设备632创建的本地网络630可以是无线网络或有线连接。例如,发送设备632可以生成无线连接信号并将该信号广播到发送设备附近的其他设备。一个或更多个接收设备634可以检测由发送设备632生成的无线网络,并且通过调制解调器或其他通信单元通过网络连接到发送设备。在另一个示例中,发送设备632可以创建局域网(LAN),该局域网(LAN)将发送设备连接到类似地通过有线连接连接到LAN的其他设备。接收设备634可以包括网络连接器部件\n654以用于在无线或有线网络中通过本地网络630与发送设备632通信。下面将更详细地讨论本地网络630上的接收设备634与发送设备632的认证和授权。\n[0099] 一旦连接,发送设备632可以向接收设备634提供内容或数据。在一个实现中,发送设备632可以将要发送到接收设备634的内容或数据分段,之后发送该内容或数据。数据分段器部件644可以与发送设备632一起被包括,以将数据或内容分段为段646‑652。尽管被示为单独部件,但数据分段器644可以被包括在发送器服务640或程序中或者以其他方式与该发送器服务或程序相关联。数据的每个段的大小可以是任何大小,例如每段是k个字节。例如,数据分段器644可以将要传输到接收设备634的整个数据文件分段成每段相等的k个字节。在另一个示例中,每段的大小可以不同。数据段大小的变化可以基于系统670的一个或更多个操作测量值,诸如到接收器设备634的测量的传输带宽、接收分段数据的设备的数量、发送器设备632的输出队列或接收器设备634的输入队列的状态等。每个段的大小也可以由发送服务640定制,并且在一些情况下,可以基于会话的发送设备632或请求设备634。\n例如,发送服务640可以接收关于由接收服务656在接收设备634上创建的安全容器658和/或安全高速缓存660的信息,诸如所创建的安全存储装置的存储大小约束。发送服务640然后可以基于接收设备634的安全高速缓存660的接收信息来确定内容的段大小。发送服务\n640因此可以限制每个段的大小以配合在安全高速缓存660的大小内。在另一个示例中,发送服务640可以允许发送设备632的用户选择要传输到接收设备634的段大小。\n[0100] 发送器服务640可以是由发送设备632执行以执行本文描述的发送设备的一个或更多个操作的程序或其他软件。因此,发送设备632的用户可以诸如从如上所述的在线商店下载或以其他方式在发送设备632上安装发送器服务640。为了将内容发送到接收设备634,发送设备632的用户可以在发送设备632上执行发送器服务640。然后,除了其他操作之外,发送服务640可以通过自组织网络630将接收设备634与发送设备632连接,和/或将数据或内容分段成用于流式传输到接收设备的段,如下面结合图7更详细地描述的那样。内容段\n650从发送设备632到接收设备634的传输在图6中示出。\n[0101] 以类似的方式,接收设备634可以包括接收器服务656或程序。接收设备634的用户可以从在线商店或其他存储库下载接收器服务656,并将该服务安装在接收设备634上。接收器服务656可以为接收设备634执行本文描述的一个或更多个功能。例如,接收服务656可以通过服务的网络连接器部件654或接收设备634连接到发送设备632以接收内容或数据流,诸如通过检测网络连接、提供预定义密码、向发送设备632标识接收设备634等。此外,接收服务656可以创建和包装安全容器658以用于存储传输和接收的内容段,诸如内容段652。\n在一些实现中,安全容器658可以是由安全应用包装器包装的安全本机应用以通过一个或更多个策略控制对安全容器的访问,如上所述。安全应用包装器可以包括当安全本机应用在接收设备634上执行时在接收设备634上执行的集成策略。安全容器658可以包括发送器控制的存储装置或高速缓存660,所接收的内容段被暂时存储在其中,如下文更详细地说明。\n[0102] 为了提供对发送器控制的存储装置660的发送器控制,可以通过自组织网络630在安全容器658与接收器服务656和/或发送器服务640之间创建IPC链路。IPC允许发送服务\n640供应将由“包装”容器658的应用管理框架实施的策略。在一些实例中,发送器服务640可以控制对安全高速缓存660的读/写请求。安全容器658创建暂时高速缓存660,该暂时高速缓存被加密并且只能由接收器服务656访问以用于在接收设备634上暂时显示。可以在接收设备634处防止本地数据转移,诸如通过防止任何数据本地转移到安全容器658外部,例如通过复制数据或将其发送到外部应用。以这种方式,提供给接收设备634的内容段可以被安全地和暂时地高速缓存以供接收设备634显示,而不允许接收设备634访问这些内容段。\n[0103] 通过上述系统和部件,发送设备632可以在离线环境中安全地向一个或更多个接收设备634提供内容。图7描绘了用于在离线环境中将内容从发送器设备632流式传输到一个或更多个接收设备634‑636的方法700的总体概述的流程图。参考图8A‑10更详细地讨论方法700的许多操作。在一些实现中,方法700的操作由在发送设备632上执行的发送器服务\n640和/或在接收设备634上执行的接收器服务656执行,以管理数据或内容从发送设备到接收设备的安全传输。然而,任一设备的任何部件都可以执行本文讨论的任何操作。此外,尽管在图7中仅示出了接收设备634的单个实例,但任何数量的接收设备都可以连接到发送设备以在如下所述的相同或类似操作之后接收内容或数据。\n[0104] 在操作702中,发送设备632可以创建用于向其他设备离线共享数据的自组织网络(即,不连接到互联网或其他公共或专用网络)。为了创建自组织网络,发送器服务640可以利用网络生成器部件642开始向附近的接收设备634‑638广播受保护的自组织专用网络。在操作704中,接收设备634可以进入发现模式以检测或发现接收器的接收区域中的可用网络,包括由发送设备632创建的自组织网络。发现操作可以在自组织网络的创建之前或之后发生。在发现模式中,接收设备634可以通过蜂窝连接、wifi、有线连接等来监测可用的有线或无线网络。\n[0105] 一旦检测到自组织网络,在操作706中,接收设备634可以从可用网络的列表中选择发送器设备自组织网络。例如,自组织网络的创建可以包括提供网络标识符,诸如发送设备632的标识或其他网络标识符。由接收设备634检测到的可用网络的列表可以显示在接收设备634的显示设备部分上,接收设备634的用户可以从其选择与发送设备自组织网络标识符相关联的网络。一旦选择,接收设备634可以开始通过选定网络连接到发送设备632。\n[0106] 在一个示例中,接收设备634和发送设备632的连接可以包括验证接收设备634以接收内容的授权和接受过程。在操作708中,接收设备634可以向发送设备632提供密码以认证和验证接收设备634。密码可以由发送设备632或由发送设备的用户出于连接设备的目的提供。在一些情况下,当接收设备连接到网络时,可以通过公共网络或以其他方式将密码预共享给接收设备634。在其他实例中,发送设备632的用户可以口头共享用于通过网络认证接收设备634的密码。以这种方式,发送设备632可以验证并仅连接到提供经批准密码的那些接收设备634。在一些实例中,每个接收设备634‑638可以接收唯一密码,使得到接收设备的每个连接在网络上创建唯一会话。在一些实现中,通过发送设备632对接收设备634的验证可以是任选的。在操作710中,发送设备632可以接受和/或授权接收器的连接请求,并且在操作712中,接收设备634连接到自组织网络。发送设备632到接收设备634的连接可以创建通信会话,在此期间可以在设备之间传输数据。通信会话可以在设备断开连接时结束,如下文更详细描述的。以这种方式,除了创建自组织网络之外,发送设备632还可以控制连接到网络的接收设备634‑638以接收内容或数据。\n[0107] 在操作714中,发送设备632可以开始通过自组织网络向接收设备634流式传输内容。如下面更详细地描述的,可以在传输到接收设备之前对内容进行分段。此外,发送设备\n632(或发送器服务640)可以负责决定任何共享文件和/或连接的接收设备634的授权参数。\n例如,发送设备632可以向连接的接收设备的子集提供查看特定文件的授权并且阻止其他设备访问查看特定文件。因此,在通信会话期间,数据或内容可以仅被流式传输到发送设备已经批准接收流式传输数据或内容的那些连接的接收设备634。授予特定接收设备634的授权参数可以在会话期间被撤销、改变或以其他方式调整以防止接收设备访问特定内容或从网络连接中完全移除接收设备。\n[0108] 在操作716中,被授权接收流式传输数据或内容的接收设备634可以开始接收流。\n具体地,可以通过网络将多个字节的内容段传输到接收设备634。在操作718中,在接收设备\n634处接收数据字节,并且在操作720中,可以处理或渲染数据以用于在接收设备上显示。例如,发送设备632可以通过安全自组织网络将诸如视频的多媒体文件分段地流式传输到接收设备634。在其他示例中,数据可以由接收设备634处理而不显示在显示器设备上。接收设备634可以处理接收段以渲染视频并在接收设备的显示设备部件上显示视频。以这种方式,发送设备632可以将内容流式传输到接收设备以用于在离线环境中安全地查看(或收听、或读取等)。特别地,通过验证接收设备634的身份,只有经授权的设备可以接收数据段。此外,通过对流式传输内容或数据进行分段,此类数据可以暂时高速缓存在接收设备上,使得在任何时处在接收设备处存储少于全部的内容。下面参照图8A‑8B更详细地描述数据段的暂时存储。\n[0109] 此外,所传输的内容段可以存储在由发送设备632控制的安全存储容器或高速缓存中。段的存储可以是暂时的,使得在接收设备634上仅存在全部流式传输内容的一部分。\n在一个示例中,接收设备634可以在任何时间只存储内容的一个段。所存储的一个或更多个段可以仅通过接收服务656从安全高速缓存660访问,并且安全高速缓存的访问特权可以通过发送服务640经由网络向接收服务656提供指令来控制。例如,发送服务640可以向接收服务656提供加密存储指令以在段被传输到接收设备时存储该段。加密存储指令只能由在接收设备634上执行的接收服务656解密,使得发送服务640(或发送设备632)控制接收服务对安全存储容器658的访问。例如,解密密钥可以向接收服务656提供或由该接收服务656生成以对所接收的加密指令进行解密。在另一个示例中,接收服务656可以在接收到段时访问安全容器658,同时限制在接收设备634上执行的本机应用对容器的访问。以这种方式,只有接收服务656可以通过由发送设备632提供的指令或通过向接收服务656授予读/写许可而从安全容器658写/读。\n[0110] 在一个实现中,发送设备632和接收设备634之间的连接可以是传输控制协议(TCP)连接。TCP连接确保传输的段按顺序到达接收设备634。以下参考图8A‑8B更详细地描述操作714‑720以及数据或内容段的传输。\n[0111] 在操作722中,发送设备632可以完成或以其他方式停止向接收设备634‑638流式传输内容。向接收设备634‑638流式传输内容可以在被传输的内容的最后段处结束,或者在发送设备和接收设备之间的连接中断的情况下结束。例如,发送设备632可以向接收设备\n634‑638传输将结束设备之间的通信会话的“终止流”信号。在另一个示例中,发送设备632可以移出接收设备634的范围,使得设备之间的通信结束。在另一个示例中,发送设备632可能遇到复位或切断设备的通信会话的其他问题。不管原因如何,内容的流式传输可以停止,并且在操作724中,接收设备634可以停止接收内容。在操作726中,发送设备632通过由发送设备控制的一个或更多个网络认证参数将接收器与自组织网络断开。在操作728中,清除接收设备634上的安全高速缓存中的任何剩余内容段。在一些情况下,毒丸(poison pill)过程可以由接收服务656执行。毒丸过程使用倒计器时,当接收到新的内容段时,该倒计时器将被重置。如果计时器达到零或其他预设限制,则接收服务656删除安全高速缓存660中的任何存储段以确保没有段保留在接收设备634上。还可以在从发送设备632接收到流的结束时清除高速缓存。下面将更详细地描述设备之间连接的终止。在操作730中,基于由发送设备632提供给接收设备634的断开信号,将接收设备634从网络断开。断开信号向接收设备\n634指示断开与发送设备632的通信会话。\n[0112] 图8A‑8B描绘了用于使用接收设备的服务656将内容离线流式传输到授权的接收设备634的方法800的流程图。方法800的操作提供了关于上面相对于图7描述的操作714‑\n720的另外信息。然而,方法800示出了接收设备634和接收服务656之间的关系,以接收内容段并将其存储在接收设备内创建的安全容器658内的安全高速缓存660中。尽管操作被呈现为由发送设备632、接收设备634和/或接收服务656执行,但是设备的其他部件可以执行操作中的一者或更多者。\n[0113] 在操作802中,接收设备634向发送设备632发送接收流式传输数据的请求。在一些情况下,接收流式传输数据的请求可以包括所请求段的标识。例如,请求可以用于将内容流的第一段或开始传输到接收设备634。然而,在其他实例中,接收设备634可以请求在内容流内的一个点处而不是流的开始处的段。例如,接收设备634的用户可以选择在中间查看流,或者可以在流内向前或向后寻找。开始段标识可以由接收设备634提供以确定哪个内容段将被发送到接收设备。例如,内容的每个段可以由数字或某个标识符识别,该数字或某个标识符指示段在流式传输内容段的顺序内的放置,诸如段0001、段0002、段0003等。通常,可以使用段的任何识别和段在内容段的流内的相对位置。因此,来自接收设备634的请求可以包括对于所请求段的开始的段标识。例如,请求可以包括段0002的开始段标识以请求流中的第二段。在另一个示例中,对段的请求可以包括对于所请求段的结束的段标识,诸如提供结束段标识符0003以请求流的段0002。通过提供开始和/或结束段标识符,接收设备634可以请求从内容流的开始(通过请求段0001)或在内容流内(通过请求段0002、0003等)接收段。\n[0114] 在一些实例中,发送设备632可以在请求时向接收设备634提供下一个内容段,而不管段在内容流中的何处被传输。例如,发送设备632可以将段传输到一个或更多个接收设备634。在向接收设备634的传输期间,新接收设备可以连接到发送设备632以接收数据。在连接期间,请求设备634可以请求接收数据段,如所述。在一些情况下,发送设备632可以将流的下一段传输到所有接收设备,包括新连接的接收设备,而不管数据流中的哪个段是要传输的下一段。以这种方式,包括新连接的接收设备的所有接收设备634可以同时接收内容流的相同段,而不管接收设备何时请求接收内容流。\n[0115] 在操作804中,发送设备可以认证从授权的接收设备634传输的请求。如上所述,接收设备634‑638可以通过向发送设备632验证设备634的所提供的密码或其他安全交换来向发送设备632进行认证。在发送设备632处接收到的接收内容的请求可以类似地包括识别请求设备634的标识符,诸如IP地址、MAC地址或其他设备标识符。发送设备632然后可以基于请求中包括的标识和密码来验证传输请求的设备的身份。在操作806中,发送设备632可以确定用于对内容进行分段的段大小,诸如k个字节。在一个实现中,发送服务640对要共享的内容进行分段。每个段的大小由发送服务定制,并且在一些情况下,可以基于会话的发送设备632或请求设备634。例如,发送服务640可以接收关于由接收服务656在接收设备634上创建的安全容器658和/或安全高速缓存660的信息,诸如所创建的安全存储装置的存储大小约束。发送服务640然后可以基于接收设备634的安全高速缓存660的接收信息来确定内容的段大小。例如,发送服务640可以限制每个段的大小以配合在安全高速缓存660的大小内。\n在另一个示例中,发送服务640可以允许发送设备632的用户选择要传输到接收设备634的段大小。段大小还可以由接收服务656用于确定安全高速缓存660的大小。例如,接收服务\n656可以在安全存储装置660中一次仅存储一个段,使得安全存储装置只需要与内容段的大小相同或比其稍大。在另一个示例中,在将内容传输到接收设备634期间或之前,每个段的大小可以变化。数据段大小的变化可以基于系统670的一个或更多个操作测量值,诸如到接收器设备634的测量的传输带宽、接收分段数据的设备的数量、发送器设备632的输出队列或接收器设备634的输入队列的状态等。\n[0116] 数据分段器644可以基于确定的分段大小开始将内容分段成段以生成内容或数据的段。该段可以由发送服务640存储在发送设备632处以用于传输到接收设备634。在操作\n808中,数据分段器644可以提供请求的内容段或者发送服务640可以以其他方式从数据分段器644接收请求的内容段,该内容段可以是所示示例中的内容的第一段。在操作810中,可以通过安全自组织网络将所请求的段传输到接收设备634。在操作812中,接收设备634可以接收传输的请求段,并且在操作814中,将段发送到接收服务656以用于存储在安全高速缓存660中。\n[0117] 在操作816中,接收服务656可以创建安全容器658和容器内的加密安全存储装置\n660。在其他实例中,安全容器658可以已经由接收设备634上的接收服务656创建。在操作\n818中,接收服务656可以将所接收的内容段存储在加密安全高速缓存660中。向安全高速缓存660写入数据的授权可以限于接收服务656,使得接收设备634通常不具有对安全高速缓存的写入特权。例如,可以拒绝接收设备634的其他程序或部件对接收的段和/或安全高速缓存的访问以在接收设备处保护内容段。对安全高速缓存660的访问可以由应用包装器控制,该应用包装器包装安全高速缓存以通过由包装器应用的一个或更多个策略来控制访问。应用包装器可以向接收服务656授予访问安全高速缓存660的特权,而接收设备634的其他本机应用可以基于应用包装器和接收服务656实施的策略而被拒绝访问高速缓存。\n[0118] 接收服务656可以从安全高速缓存660读取存储的段,并在操作820中,将内容段提供给接收设备634的处理部件以进行处理或显示。例如,数据可以包括视频文件的一部分,在操作822,接收设备634的一个或更多个处理器和/或软件程序可以处理该部分以在显示器上显示视频文件。在内容是音频文件的情况下,内容段的处理可以包括在接收设备的扬声器上播放音频文件的一部分。在内容是图像文件的情况下,处理可以包括从内容段生成图像以及在接收设备上显示图像。在一个特定实现中,发送设备632可以与接收设备共享发送设备的屏幕或显示器的内容。在该示例中,发送设备屏幕或显示器的图像可以被生成并作为段被传输到接收设备634以用于在接收设备上显示。\n[0119] 在操作824中,可以针对内容的附加段重复上述过程。例如,在操作824中,接收设备634可以发送对数据的下一段或下一数量的字节的请求。在操作826中,发送设备可以生成或以其他方式接收内容或数据的下一段,并在操作828中将下一段传输到接收设备634。\n类似于上文,接收设备634然后可以在操作830中接收内容或数据的下一段,并在操作832中向在接收设备上执行的接收服务656提供下一段。接收服务656可以在操作834中清除安全高速缓存660的内容(在此示例中,第一内容段),并在操作836中将下一段存储在安全高速缓存中。\n[0120] 通过在存储下一个内容段之前清除安全高速缓存660,系统确保在任何一个时间只有一部分内容存储在安全高速缓存中。通过将接收设备634上的内容的存储限制为小于总内容或数据文件,可以保持内容或数据文件的安全性。也就是说,接收设备634不会一次接收所有的数据或内容文件(诸如在共享下载过程中),而是仅保留整个内容文件的一部分。通过在存储附加段之前清除所存储段的安全高速缓存660,获得对内容的控制的附加安全措施。\n[0121] 在一些情况下,接收服务656用新接收的段替换每个存储的内容段,使得一次仅存储一个段以解决来自发送设备632的内容段的处理和接收的延迟。然而,在其他实例中,安全高速缓存660可以作为缓冲器操作,使得一次可以存储多于一个段。例如,接收服务656可以将三个最近接收的内容段存储在安全高速缓存660中。当接收到新内容段时,可以删除安全高速缓存660中最久存储的内容段,同时将其他内容段保持在高速缓存中,并且可以存储新内容段。在该示例中,安全高速缓存660中的内容段的时间戳或其他时间指示可以与段一起存储以用于确定哪个内容段将被删除。在另一个示例中,接收服务656可一样确定存储段在内容流顺序中的放置以确定最旧的段。无论接收服务656在安全高速缓存660中维护的内容段的数量如何,在接收设备634上保持少于全部的内容或数据文件。在一些实例中,阈值(诸如整个数据或内容文件的百分比)可以用于确定在任何一个时间存储在安全高速缓存\n660中的内容段的数量。例如,可以清除高速缓存660的较旧段以确保高速缓存不存储超过\n25%的数据文件。\n[0122] 在操作838中,可以将下一个内容段提供给接收设备634以用于在操作840中处理或显示,如上所述。例如,被共享的内容可以是电影文件,其中第一内容段是电影的第一分钟以用于由接收设备634显示。下一个内容段可以是下一分钟(或电影文件的某个其他部分),使得下一个内容段在第一个内容段之后显示在接收设备634的显示器上。以此方式,在接收设备634的显示器上显示流式传输内容或数据文件的处理。如果附加内容段要传输到接收设备634,则该过程可以通过操作842再次重复以请求用于传输到接收设备634并由该接收设备处理的下一个内容段。\n[0123] 内容或数据到接收设备634的流式传输可以由于几个原因而停止。例如,发送设备\n632可以确定内容流已经结束并停止通过网络提供内容段。在另一个示例中,发送设备632和接收设备634可以在网络上失去连接,使得段的传输不能再在设备之间发生。在又一个示例中,可以向接收设备634通知内容流的结束,并且如图8B的方法800的操作844所示,接收设备634可以在操作846中向发送设备632传输停止流式传输通知。在这种情况下,接收设备\n634可以接收内容流中的最后段的指示符,并且在处理最后段时,提供停止流式传输通知。\n在另一个示例中,接收设备634的用户可以选择断开与发送设备632的连接或以其他方式停止内容流,并且可以传输停止流式传输通知。\n[0124] 在操作848中,发送设备632可以结束提供停止流式传输通知的接收设备634的流式传输会话。发送设备632可以继续通过网络向其他接收设备提供内容段以使得附加接收设备继续内容流传输。此外,在操作850中,接收设备634可以向接收服务656通知与发送设备632的通信会话的结束。在操作852中,接收服务656从流式传输会话中清除安全高速缓存\n660的任何剩余段,并且在操作854中,接收设备634结束安全离线流式传输过程。\n[0125] 如所讨论的,发送设备632可以停止向接收设备634流式传输数据或内容。在设备之间的通信链路被切断或中断的情况下,接收设备634可能不知道链路已经被断开。因此,本文描述的系统可以包括毒丸计时器以确保清除存储在接收设备634的安全高速缓存660处的内容段。图9描绘了用于在设备之间的数据或连接丢失之后从安全离线内容流中删除缓存数据的方法900的流程图。尽管在图9中描述为由发送设备632和/或接收设备634执行,但方法900的操作可以由发送设备或接收设备的任何部件、程序或部件和程序的组合执行。\n具体地,操作可以由发送设备632的发送服务640和/或接收设备634的接收服务656执行。\n[0126] 在操作902中,如上所述,通过自组织网络在发送设备632和接收设备634之间建立安全连接。安全连接可以用于将内容从发送设备632流式传输到接收设备634的目的。在建立安全连接时,或者在开始向接收设备634流式传输内容时,可以在操作904中设置毒丸计时器。毒丸计时器可以是倒计时器,该倒计时器可以由发送服务640、发送设备632或发送设备的用户配置。计时器可以是硬件部件、软件程序或硬件和软件部件两者的组合。每次接收设备634从发送设备632接收到内容段时,计时器可以被重置。通常,当毒丸计时器达到零或其他限制时,存储在安全高速缓存660中的内容段可以由接收服务656清空或删除。因此,发送服务640可以将毒丸计时器设置为任何时间,以确定在设备之间的通信链路中断的情况下接收设备634保持内容段的时间。\n[0127] 在方法900的操作906中,发送设备632可以开始将数据或内容流式传输到接收设备634,包括如上所述发送内容或数据的段。在内容的流式传输期间的某个点处,接收设备\n634可能没有接收到一个或更多个段,如操作908中所示。如果设备之间的通信链路发生中断,则内容段可能不会到达接收设备。在另一个示例中,内容段可以到达,但可能由于任何原因而被损坏,使得接收设备634确定该段未被完整接收。在这种情况下,接收设备634可以传输对损坏的内容段的新请求,但计时器可以继续倒计时,直到接收到未损坏的段。\n[0128] 不管传输内容段失败的原因如何,在操作910中,毒丸计时器可以继续倒计时,同时接收设备634等待流中下一个内容段的到来。在操作912中,毒丸计时器可以到期,例如通过达到零或由发送设备632或发送服务640建立的任何其他限制。在计时器到期时,接收设备634或接收服务656可以在操作914中清空存储内容段的安全高速缓存660。一旦被清空,在操作916中,接收设备634可以断开与发送器的网络的连接以结束与发送设备632的流式传输会话。在操作918中,从安全流式传输会话断开连接可以导致接收设备634和发送设备\n632之间的连接丢失。在操作920中,发送设备632可以停止向接收设备634流式传输内容。因此,通过方法900,如果在流式传输期间未在接收设备处接收到附加数据或内容段,则可以清空存储在接收设备634处的内容段。\n[0129] 在另一个实现中,接收设备634或接收服务656可以连续地或周期性地轮询到发送设备632的连接以确定连接状态。例如,接收服务656可以向发送设备632发送请求以验证连接并等待作为回报的来自发送设备的验证消息。如果未返回验证消息,则可以立即或在上述毒丸计时器到期时清空存储的内容段。\n[0130] 在又一个示例中,发送设备632或发送服务640可以出于任何原因终止流。图10描绘了用于基于由发送设备632提供的终止通知将接收设备634与安全离线连接断开的方法\n1000的流程图。尽管在图10中描述为由发送设备632和/或接收设备634执行,但方法1000的操作可以由发送设备或接收设备的任何部件、程序或部件和程序的组合执行。具体地,操作可以由发送设备632的发送服务640和/或接收设备634的接收服务656执行。\n[0131] 类似于上文,在操作1002中,发送设备632和接收设备634可以通过发送器控制的自组织网络创建或建立安全连接,以用于内容或数据从发送设备到接收设备的安全传输或流式传输。在操作1004中,发送设备632将内容或数据分段成所述的段,并且在操作1006中开始将段流式传输到接收设备634。在某个时间处,在操作1008中,发送设备632可以停止向接收设备634流式传输数据或内容。例如,发送设备632的用户可以结束数据流并向发送服务640提供数据流结束的指示。在其他示例中,发送服务640可以检测流的结束、内容流中的中断和/或发送设备632和接收设备634之间的连接的安全性的改变,并选择停止数据流。\n[0132] 在操作1010中,发送设备632或发送服务640向接收设备634发送流终止通知。在操作1012中,接收设备634或接收服务656返回对流终止的确认。一旦接收到确认,在操作1014中,发送设备632可以停止向接收设备634流式传输内容。此外,接收设备634可以在操作\n1016中停止处理或显示内容,并在操作1018中清空存储在容器658的安全高速缓存660中的剩余内容段。在操作1020中,接收设备634断开与网络的连接。以这种方式,来自发送设备\n632的终止流信号使接收设备634删除高速缓存的数据,使得没有流式传输数据保持在接收设备上。在终止流信号在网络中丢失或接收设备634由于任何原因没有接收到信号的情况下,上述毒丸计时器删除任何存储的内容段并结束与发送设备632的连接。\n[0133] 尽管主题已经以特定于结构特征和/或方法行为的语言进行了描述,但应当理解,在所附权利要求中限定的主题不一定限于上述特定特征或行为。相反,上面描述的特定特征和行为被描述为所附权利要求的示例实现。\n[0134] 在下文的一个或多个实施方案中可实现本公开的各方面。\n[0135] 1)一种用于离线环境中的数据共享的方法,所述方法包括:\n[0136] 由接收设备经由本地网络从发送设备接收多个数据段中的第一数据段,其中所述发送设备和所述接收设备经由所述本地网络直接通信;\n[0137] 生成用于存储所述第一数据段的加密存储容器,其中所述加密存储容器基于来自所述发送设备的存储指令防止所述接收设备的一个或更多个应用对存储在其中的数据的访问;\n[0138] 由所述接收设备将所述第一数据段存储在所述加密存储容器中,使得在所述接收设备上一次存储少于所有的所述多个数据段;以及\n[0139] 由所述接收设备处理所述第一数据段以向所述接收设备的用户提供输出。\n[0140] 2)根据1)所述的方法,其中,所述第一数据段的处理包括在所述接收设备的显示器上显示所述数据的第一部分。\n[0141] 3)根据2)所述的方法,还包括:\n[0142] 经由所述本地网络从所述发送设备接收第二数据段;\n[0143] 响应于接收到所述第二数据段,通过由所述接收设备执行的接收服务从所述加密存储容器中删除所述第一数据段;\n[0144] 在将所述第一数据段从所述加密存储容器中删除后,由所述接收服务将所述第二数据段存储在所述加密存储容器中;以及\n[0145] 处理所述第二数据段以在所述接收设备的显示器上呈现所述数据的第二部分,所述数据的第二部分在所述数据的第一部分之后呈现在所述显示器上。\n[0146] 4)根据3)所述的方法,还包括:\n[0147] 从所述发送设备接收终止消息;以及\n[0148] 基于所述终止消息,从所述加密存储容器中删除所述第二数据段。\n[0149] 5)根据1)所述的方法,其中,将所述第一数据段存储在所述加密存储容器中基于从所述发送设备传输到所述接收设备的存储指令。\n[0150] 6)根据1)所述的方法,还包括:\n[0151] 在接收到所述多个数据段中的数据段时激活计时器;以及\n[0152] 当所述计时器达到阈值时,删除存储在所述加密存储容器中的所述多个段中的所有段。\n[0153] 7)根据6)所述的方法,还包括:\n[0154] 基于所述计时器达到所述阈值,断开所述接收设备与所述本地网络的连接。\n[0155] 8)根据6)所述的方法,还包括:\n[0156] 在接收到所述多个数据段中的后续数据段时重置所述计时器。\n[0157] 9)一种设备,包括:\n[0158] 一个或更多个处理器;以及\n[0159] 接收器服务模块,所述接收器服务模块在由所述一个或更多个处理器执行时使所述接收器服务模块:\n[0160] 从发送设备上执行的发送器服务模块接收多个数据段中的第一数据段和存储指令,所述第一数据段和所述存储指令经由本地网络接收;\n[0161] 在所述设备上实例化加密存储容器以用于存储数据,其中所述加密存储容器基于从所述发送器服务模块接收的存储指令防止所述设备的一个或更多个应用对存储在其中的数据的访问;\n[0162] 将所述第一数据段存储在所述加密存储容器中,使得在所述加密存储容器上一次存储少于所有的所述多个数据段;以及\n[0163] 处理所述第一数据段以在所述设备的显示器上显示所述数据的第一部分。\n[0164] 10)根据9)所述的设备,其中,所述接收器服务模块在由所述一个或更多个处理器执行时,还使所述接收器服务模块:\n[0165] 经由所述本地网络接收所述多个数据段中的第二数据段;\n[0166] 响应于接收到所述第二数据段,从所述加密存储容器中删除所述第一数据段;\n[0167] 在将所述第一数据段从所述加密存储容器中删除后,将所述第二数据段存储在所述加密存储容器中;以及\n[0168] 处理所述第二数据段以在所述设备的所述显示器上呈现所述数据的第二部分,所述数据的第二部分在所述数据的第一部分之后呈现在所述显示器上。\n[0169] 11)根据10)所述的设备,其中,所述接收器服务模块在由所述一个或更多个处理器执行时,还使所述接收器服务模块:\n[0170] 经由所述本地网络接收终止消息;以及\n[0171] 基于所述终止消息,从所述加密存储容器中删除所述第二数据段。\n[0172] 12)根据9)所述的设备,其中,所述接收器服务模块在由所述一个或更多个处理器执行时,还使所述接收器服务模块:\n[0173] 传输对所述多个数据段中的第一段的请求,所述请求包括所述第一段的标识和所述接收器服务模块的标识。\n[0174] 13)根据9)所述的设备,其中,所述接收器服务模块在由所述一个或更多个处理器执行时,还使所述接收器服务模块:\n[0175] 在接收到所述多个数据段中的数据段时激活计时器;以及\n[0176] 当所述计时器达到阈值时,删除存储在所述加密存储容器中的所述多个段中的所有段。\n[0177] 14)根据13)所述的设备,其中,所述接收器服务模块在由所述一个或更多个处理器执行时,还使所述接收器服务模块:\n[0178] 基于所述计时器达到所述阈值,断开所述设备与所述本地网络的连接。\n[0179] 15)一个或更多个非暂时性计算机可读介质,其存储计算机可执行指令,所述计算机可执行指令在由包括至少一个处理器和至少一个存储器的计算机系统执行时,使所述计算机系统执行一种方法,所述方法包括:\n[0180] 由接收设备经由离线本地网络从发送设备接收多个数据段中的第一数据段,其中所述发送设备和所述接收设备经由所述本地网络直接通信;\n[0181] 生成用于存储所述第一数据段的加密存储容器,其中所述加密存储容器基于来自所述发送设备的存储指令防止所述接收设备的一个或更多个应用对存储在其中的数据的访问;\n[0182] 将所述第一数据段存储在所述加密存储容器中,使得在所述接收设备上一次存储少于所有所述多个数据段;以及\n[0183] 处理所述第一数据段以向所述接收设备的用户提供输出。\n[0184] 16)根据15)所述的一个或更多个非暂时性计算机可读介质,其中,处理所述第一数据段以向所述接收设备的用户提供输出包括在所述接收设备的显示器上显示所述数据的第一部分。\n[0185] 17)根据16)所述的一个或更多个非暂时性计算机可读介质,其上存储有附加计算机可执行指令,所述附加计算机可执行指令在被执行时还使所述计算机系统执行:\n[0186] 经由所述离线本地网络从所述发送设备接收第二数据段;\n[0187] 响应于接收到所述第二数据段,通过由所述接收设备执行的接收服务,从所述加密存储容器中删除所述第一数据段;\n[0188] 在将所述第一数据段从所述加密存储容器中删除后,由所述接收服务将所述第二数据段存储在所述加密存储容器中;以及\n[0189] 处理所述第二数据段以在所述接收设备的显示器上呈现所述数据的第二部分,所述数据的第二部分在所述数据的第一部分之后呈现在所述显示器上。\n[0190] 18)根据15)所述的一个或更多个非暂时性计算机可读介质,其上存储有附加计算机可执行指令,所述附加计算机可执行指令在被执行时还使所述计算机系统执行:\n[0191] 经由所述离线本地网络,从所述发送设备接收所述多个数据段中的第一段和第一存储指令,所述第一存储指令被配置为使所述接收服务将所述第一段存储在所述加密存储容器中。\n[0192] 19)根据15)所述的一个或更多个非暂时性计算机可读介质,其上存储有附加计算机可执行指令,所述附加计算机可执行指令在被执行时还使所述计算机系统执行:\n[0193] 经由所述离线本地网络向所述发送设备传输所述接收设备的预定标识符以进行验证。\n[0194] 20)根据17)所述的一个或更多个非暂时性计算机可读介质,其上存储有附加计算机可执行指令,所述附加计算机可执行指令在被执行时还使所述计算机系统执行:\n[0195] 经由所述离线本地网络接收终止消息;以及\n[0196] 基于所述终止消息,从所述加密存储容器中删除所述第二数据段。
法律信息
- 2022-10-14
- 2021-10-22
实质审查的生效
IPC(主分类): G06F 21/60
专利申请号: 201980092402.X
申请日: 2019.12.17
- 2021-09-28
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |