CN110546637A - 传递容器 - Google Patents

传递容器 Download PDF

Info

Publication number
CN110546637A
CN110546637A CN201880026983.2A CN201880026983A CN110546637A CN 110546637 A CN110546637 A CN 110546637A CN 201880026983 A CN201880026983 A CN 201880026983A CN 110546637 A CN110546637 A CN 110546637A
Authority
CN
China
Prior art keywords
container
layers
user
access
data
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.)
Withdrawn
Application number
CN201880026983.2A
Other languages
English (en)
Inventor
K·T·布雷迪
J·C·戈唐
B·M·舒尔茨
A·哈杰
M·K·奥卢格巴德
H·R·普拉帕卡
P·M·博扎
F·J·史密斯
M·埃伊根
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 CN110546637A publication Critical patent/CN110546637A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

包括隔离的计算会话的容器与项目相关联。因为容器将用于项目的数据、应用等保持在一起,所以与容器相关联的一个或多个用户可以跨多个使用会话来访问容器。容器可以包括要求用户认证以访问的多个层。

Description

传递容器
背景技术
计算设备的使用持续改变人们通信、协作和共享信息的方式。随着计算设备的普及持续扩大,用户期望跨设备无缝地访问其数据,并且由于用户组期望进行协作,需要访问和控制共享数据。增加连接性并非没有问题。一个以这种方式的问题是用户希望能够在不牺牲其数据安全性的情况下进行协作和共享数据。
发明内容
提供本发明内容是为了以简化形式来介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
根据一个或多个方面,容器与项目相关联。容器包括隔离的计算空间,并且包含一个或多个程序或文件。响应于指示使用会话正在开始的一个或多个触发,容器在主机设备处被开启。在使用会话期间对容器中包含的一个或多个应用、层或数据进行的一个或多个更改被记录,并且容器以及一个或多个更改被保存。
附图说明
参考附图来描述具体实施方式。在附图中,附图标记的最左侧的(多个)数字标识附图标记首次出现的附图。在说明书和附图中的不同情况下使用相同的附图标记可以指示相似或相同的项。附图中表示的实体可以指示一个或多个实体,并且因此在讨论中可以可互换地参考单个或多个形式的实体。
图1是图示根据一个或多个实施例的用于实现传递容器的一个示例系统的框图。
图2是图示用于传递容器的示例使用场景的数据流。
图3是图示根据一个或多个实施例的用于实现传递容器的示例过程的流程图。
图4是图示根据一个或多个实施例的用于实现传递容器的另一示例过程的流程图。
图5是图示根据一个或多个实施例的用于实现传递容器的另一示例过程的流程图。
图6是图示根据一个或多个实施例的用于实现传递容器的另一示例过程的流程图。
图7为图示根据一个或多个实施例的用于实现传递容器的示例容器的框图。
图8图示了包括示例计算设备的示例系统,示例计算设备表示可以实现本文所述的各种技术的一个或多个系统和/或设备。
具体实施方式
本文讨论了传递容器。本文所讨论的技术支持使用容器来隔离会议并允许会议跨多个使用会话与用户漫游。容器是指用于计算设备的虚拟化层,并用于隔离以及硬件资源分区。容器可以包括一个或多个各种不同的组件,例如,基础操作系统(例如,操作系统内核)、用户模式环境、应用或程序、虚拟设备(例如,处理器、存储器)、操作系统服务、其组合等。使用会话是指时间跨度,该时间跨度在一个或多个用户开始使用计算设备时开始,并且在一个或多个用户停止使用计算设备时结束。项目是指使用会话集合,在使用会话集合期间,用户集合在多个使用会话的过程中与相同容器进行交互。
容器可以与特定项目相关联。项目还可以与电子邮件链、聊天、文档、文件、会议等相关联。容器用于将来自项目的数据保持在一起,使得数据可以被重新浏览并且容易访问。可以将容器保存并存储在云中,以在项目过程中从多个计算设备进行访问。容器可以包括任何范围的数据,包括用户设置、应用设置、文件、用于取回数据的位置等。可选地,容器可以包括一个或多个层,并且每个层可以包含用于容器的不同数据。可以不同于容器、作为整体来保护层,例如,要求用户认证来进行访问。
对于特定项目,可以使用容器来维护与项目有关的数据。该数据可以包括最初驻留在容器中的数据,以及在使用会话过程中对容器进行的更改。因此,可以在项目过程中多次使用容器来维护数据,使得可以在另一时间和地点继续会议。层可以被用来使得多个组能够将相同容器用于具有不同目的的项目。
例如,设计团队和市场营销团队可能同时在相同项目上工作,但是设计团队需要不与市场营销团队共享的空间,以确保市场营销团队不会使用尚未准备好与公众共享的信息。设计团队可以在容器中具有只能由设计团队成员访问的层。类似地,市场营销团队可以具有只能由市场营销团队成员访问的层。之后,当设计团队和市场营销团队准备好呈现项目时,可以将层合并成最终呈现。
本文所讨论的技术提供在访问项目时的安全性和方便性。用户可以在隔离的计算空间中维护关于项目的信息,该隔离的计算空间可以从各种计算设备来访问并且被保存到云。以这种方式,数据不需要由用于访问容器的计算设备来维护,而是可以由容器本身来维护。用户将知道与其会议有关的数据被维护,并且可以在无需重新创建环境(例如,容器组件)的情况下由他们再次访问。以这种方式,用户可以轻松使用公共计算设备来实现他们在个人计算机上所享有的相同的功能性和安全性。
图1图示了根据一个或多个实施例的实现传递容器的示例系统100。系统100至少部分地由一个或多个计算设备实现。可以使用各种各样的不同类型的计算设备中的任一个计算设备来实现系统100,例如,服务器计算机、台式计算机、膝上型计算机或上网本计算机、虚拟会议主存设备、移动设备(例如,平板计算机或平板电话设备、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动站)、可穿戴设备(例如,眼镜、头戴式显示器、手表、手镯、虚拟现实(VR)眼镜或头戴式耳机、增强现实(AR)头戴式耳机或眼镜)、娱乐设备(例如,娱乐装置、通信地耦合到显示设备的机顶盒、游戏控制台)、物联网(IoT)设备(例如,具有允许与其他设备通信的软件、固件和/或硬件的对象或物体)、电视或其他显示设备、汽车计算机等。因此,实现系统100的计算设备的范围可以从具有大量存储器和处理器资源的完整资源设备(例如,个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如,常规的机顶盒、手持游戏控制台)。
系统100包括容器传递系统102和主机系统104。在一个或多个实施例中,容器传递系统102在还包括多个主机系统104的网络环境中实现。备选地,容器传递系统102的至少一部分可以在实现主机系统104的相同设备上实现。容器传递系统102跟踪容器、层和用户并将其关联,以根据用户的请求向主机系统104提供适当的容器。主机系统104可以在如上所述的任何计算设备上实现,并且用作在其上运行容器的系统。
附加地,可以在与其上实现容器传递系统102或主机系统104的设备相同或不同的设备上实现用于在容器114不在主机系统104处使用时存储容器114的容器存储库106。例如,容器存储库106可以被实现为容器传递系统102的一部分、被实现为主机系统104的一部分、或者被实现为由容器传递系统102和一个或多个主机系统104可访问的云的一部分。备选地,容器存储库106可以被实现为独立设备。
每个容器114是配备有用于会议的各种数据的隔离的计算空间。多个容器可以在主机系统104上同时运行,其中每个容器包括一个或多个组件。这些组件包括例如虚拟设备(例如,一个或多个处理器、存储器、存储设备)、基础操作系统(例如,操作系统内核)、用户模式环境、应用等。基础操作系统组件向容器中的组件提供各种不同的低等级系统服务,例如,会话管理、程序执行、输入/输出服务、资源分配等。基础操作系统组件可以是完整操作系统,或者备选地仅是完整操作系统的一部分(例如,如果容器与主机(特别是内核)共享大部分操作系统,则基础操作系统组件可以是非常小的组件)。用户模式环境组件为容器中的应用提供运行时环境(例如,Java运行时环境、.NET框架等)。应用组件是(例如,用户、管理员、其他程序等)期望在容器(例如,web服务、计算引擎等)中运行的应用。
容器114可以被实现为的一个类型的容器被称为进程容器。对于进程容器,容器内的应用进程就像它们在其自己的单独系统(例如,计算设备)上运行一样运行,这通过使用命名空间隔离来完成。主机系统104实现命名空间隔离。命名空间隔离为容器中的进程提供了合成的视图,该合成的视图由主机操作系统的共享部分和特定于每个容器的操作系统(例如,文件系统、配置、网络等)的隔离部分组成。
容器114可以被实现为的另一类型的容器被称为虚拟化容器。对于虚拟化容器,虚拟化容器在轻量型虚拟机中运行,该轻量型虚拟机不具有被分配给虚拟机的特定主机物理存储器,而是具有虚拟地址支持的存储页面。因此,被分配给虚拟机的存储页面可以被换出为页面文件。轻量型虚拟机的使用提供了附加的安全性,以及在容器中运行的进程之间的隔离。因此,尽管进程容器使用进程隔离或基于先入先出缓冲器(silo)的进程隔离来实现其隔绝,但虚拟化容器使用基于虚拟机的保护来实现超出普通进程边界可以提供的更高级别的隔离。容器还可以使用主机系统104的物理存储器在虚拟机中运行,并且可以使用克隆将模板容器的状态复制到新容器使用的物理存储器中。例如在由于性能或安全性考虑而不期望使用针对虚拟机的虚拟存储器的情况下,使用物理存储器的这样的容器允许更高的隔离。
系统100还可选地包括层储存库116。层储存库可以实现为容器存储库106的一部分,或者可以与容器存储库106分离。可以对层储存库116进行加密,以确保各个层保持安全。层的使用可以通过在不同层中包含不同权限级别的数据来帮助实现容器传递。例如,可以针对每个会议包括基础层,并且与会议相关联的所有用户都可以访问基础层。基于与特定用户相关联的权限,可以在容器中包括附加层。这些层可以包括团队特定层、用户特定层、主机系统特定层、设置层、应用层等。
与会议或项目相关联的层可以是静态或动态的,并且可以根据需要存储或创建层。当在主机系统104处请求容器114时,主机系统104利用容器传递系统102的认证模块110来促进用户认证。容器传递系统102确定在与容器和会议相关联的多个层中,经认证的用户有权限访问哪些层。从层储存库116中取回这些层,并将其包括在从容器存储库106取回的容器中。与会议相关联的容器114在相关联的层被添加之前可以为空,或者可以包括一个或多个设置、文件、程序等。然后将包括层的容器提供给主机系统104。
容器传递系统102包括输入模块108。输入模块108接收来自各种源的输入,包括由用户提供的用户输入以及通过网络从其他设备接收的输入。可以在其上实现容器传递系统102的计算设备处或者在外部计算设备上给出用户输入。这些输入可以通过以下方式来提供:用户按下各种不同方式的一个或多个键,例如,通过按下计算设备的小键盘或键盘的一个或多个键,按下计算设备的控制器(例如,遥控设备、鼠标、触控板等)的一个或多个键,按下计算设备的触摸板或触摸屏的特定部分,在计算设备的触摸板或触摸屏上做出特定手势和/或在计算设备的控制器(例如,遥控设备、鼠标、触控板等)上做出特定手势。还可以经由其他物理反馈输入将用户输入提供给计算设备,例如,轻击计算设备的任何部分、可以被计算设备的运动检测或其他组件识别的动作(例如,摇动计算设备、旋转计算设备、弯曲或屈曲计算设备等)等。还可以以其他方式提供用户输入,例如,经由麦克风的声音或其他可听输入、经由图像捕获设备观察到的手或其他身体部位的运动等。可以将用户输入直接或间接地供应给输入模块108。
附加地,输入模块108可以通过网络从附加设备接收输入。输入模块108可以从中接收输入的附加设备之一是主机系统104。主机系统104可以针对容器传递系统102本身生成输入,或者从用户接收输入。例如,主机系统104可以维护会议的调度并请求与经调度的会议有关的容器。备选地或附加地,主机系统104可以接收用户证书并将其传送到容器传递系统102。这些证书可以采取任何期望的形式,包括用户名和密码、生物特征、近场通信(NFC)或ID卡。
认证模块110可以从输入模块108接收用户证书,输入模块108可以直接从用户接收用户证书或者从主机系统104接收用户证书。基于用户证书,认证模块110可以确定用户或用户组可以具有的对容器的访问程度。认证模块110可以以各种方式做出这样的确定,诸如基于认证模块110中包括的规则或策略、基于与主机系统104相关联的规则或策略、基于来自系统100的用户的输入、基于与所访问的容器中存储的数据、基于与文件或层相关联的访问控制列表等。例如,认证模块110可以确定单个用户只能访问容器的特定层。附加地,认证模块110可以确定需要用户组或用户组的子集来访问层或容器。
例如,如果容器属于五个用户的组,则容器可以对于五个用户中的任一个用户是完全可访问的。备选地,容器可以要求一些阈值的用户存在(例如,2个用户或40%的用户)以访问容器。此外,认证模块110可以针对容器的一部分来认证用户,并且拒绝对容器的另一部分的访问。例如,如果五个用户中的每个用户都具有被保存在容器内的个人层,则用户可以访问容器的基础层及其自己的个人层,但拒绝访问与其他用户相关联的个人层。
认证模块110可以进一步确定存在的用户的更改。响应于更改,认证模块110可以重新确定授予用户或用户组的对容器的访问。例如,如果新用户到达,则可以将与新用户相关联的层添加到容器。备选地,如果新用户的权限少于初始用户组的权限,则可以减少对容器的访问。相反,如果组中具有最少权限的用户离开,则对该容器的更大访问权限可以被授予。认证模块110可以将这些更改提供给主机系统104,因此用户被呈现反映经更新的访问级别的刷新视图。考虑了在使用会话期间动态更改对容器的访问的其他方法,例如,动态地重新计算指针、重新解析点和/或硬链接。
容器传递系统102还包括容器管理模块112。容器管理模块112跟踪用户与项目、容器和层的关联。容器管理模块112可以基于用户认证来确定特定用户有权限访问哪些内容(例如,哪些文档、文件、项目、容器和/或层),并且可以取回容器和适当的层并将其提供给主机系统104。容器管理模块112还可根据需要创建容器和层。
附加地,容器管理模块112可以管理容器中发生的关联之外的关联,例如,将项目与一个或多个电子邮件、即时消息(IM)聊天相关联等。以这种方式,用户可以请求数据概述,以查看项目如何随时间发展。
容器管理模块112可以以各种方式跟踪这些关联。例如,可以将针对容器114的关联的记录包括在容器中(例如,为容器管理模块112加密或以其他方式只能由容器管理模块112访问),在由容器管理模块112维护或以其他方式可访问的记录中等。
容器传递系统102还包括容器确定模块118。备选地,容器确定模块118可以至少部分地在容器存储库106中实现。容器确定模块118确定上下文数据,以传递到容器存储库106来确定用户或用户组试图访问哪个容器114或项目。例如,容器确定模块118可以简单地接收容器或项目的标识符(例如,容器或项目的名称),并将标识符传递给容器存储库106来请求容器114。标识符可以与经调度的会议、用户相关联、可以由用户在主机系统104处手动键入、或以任何其他期望方式接收。
备选地,容器确定模块118可以对上下文数据进行编译,以发送到容器存储库106来确定提供哪个容器。上下文数据可以包括来自主机系统104的本地传感器数据、若干连接的或附近的设备、连接的或附近的设备类型、一天中的时间、主机系统的地理位置(例如,全球定位系统(GPS))、一个或多个用户的标识、与一个或多个用户或与主机系统104相关联的日历或调度、所访问的一个或多个文件或应用、主机系统104处的设置或被认为与选择合适的容器相关的任何数据。
可以将上下文数据发送到容器存储库106,其中容器存储库106确定与上下文数据匹配的容器114。这可以包括对与层储存库116中的一个或多个层相关联的元数据进行比较来确定这些层是否应当被包括在容器114中。备选地,它可以包括确定与每个用户相关联的项目,以及提供与项目相关联的容器114。如果多个容器与上下文数据匹配,则可以基于上下文数据对多个容器进行排序来确定最佳适配容器,并且可以将最佳适配容器提供给主机系统104。备选地,可以在主机系统104处呈现多个容器的列表,以供用户选择。在容器与上下文数据不匹配的情况下,可以将错误返回到容器传递系统102,或者可以扩展上下文数据,并且可以执行对匹配容器的附加搜索。如果仍未找到容器,则容器传递系统102可以为用户创建新的容器或在主机系统处呈现错误消息。
图2是图示根据一个或多个实施例的用于传递容器的示例使用流程200的数据流。流程200仅是示例数据流并且可以备选地包括更少或附加的元素。
数据流200图示了其中两个用户团队正在相同项目上工作的示例实施例。项目从初始会议202开始。该初始会议202与包括会议期望的一个或多个程序、文件或设置的容器相关联。容器可以是预先构建的,或是即时构建的。容器可以是标准容器,或者可以针对会议动态创建。初始会议202可以是例如其中在word文档中发生总体头脑风暴的项目起始会议。可以将文档保存到与会议关联的容器中。可以将文档保存到与项目起始会议相关联的所有用户均可访问的容器层。
在初始会议202之后,用户分成两个踪迹(track),其被示为踪迹A和踪迹B。备选地,还可以包括其他踪迹。例如,如果初始会议202的参与者包括来自设计团队和市场营销团队的人员,则每个团队可以与一个踪迹相关联,但是应注意,每个个体用户可以与一个踪迹相关联,或者踪迹可以根据任何期望的用户子集进行拆分。在数据流200中,踪迹A 204和踪迹B 206各自与一个或多个层相关联,该一个或多个层可以被保护,使得不与特定踪迹相关联的用户不能访问存储在与该踪迹相关联的层中的数据。
例如,设计团队可以与踪迹A 204相关联,并且市场营销团队可以与踪迹B 206相关联。在初始会议202之后,设计团队可以进行多次(x)会议,在多次会议中,头脑风暴和构思的早期实施方案不适合向公众发布,并且因此不应当与市场营销团队共享。可以将其存储在特定于设计团队并且市场营销团队无法访问的层中。
同时,市场营销团队可以在踪迹B 206内工作,并且也可以进行多次(y)会议。踪迹B 206可以与一个或多个层相关联。如上文关于踪迹A所描述的,层可以对于与市场营销团队相关联的用户私有。备选地,在踪迹B中创建的一个或多个层可以由更广泛的用户(包括与设计团队相关联的一个或多个用户)访问。
在踪迹A 204和踪迹B 206会议完成之后,设计团队和市场营销团队准备好合并踪迹208。每个团队可以指定要被包括在经合并的容器中的一个或多个层。以这种方式,团队可以控制最终容器中可用的数据。
在踪迹已经被合并之后,容器准备好被呈现。这可以包括例如添加先前未与会议相关联的用户(例如,执行委员会)的超集。呈现210可以包括添加具有不同访问程度(例如,“仅查看”资格而不是读取/写入资格)的用户,使得这些用户对容器进行的更改不被保存到容器。
图3是图示了根据一个或多个实施例的用于传递容器的示例过程300的流程图。过程300由诸如图1的系统100的系统执行,并且可以以软件、固件、硬件或其组合来实现。过程300被示出为动作集合,并且不限于所示出的用于执行各种动作的操作的顺序。过程300是用于传递容器的示例过程,参考不同的附图,本文包括传递容器的附加讨论。
在过程300中,接收对容器的请求(动作302)。该请求可以在主机系统104处从用户接收、从会议调度接收或以任何其他期望方式接收。
检查用户的证书(动作304)。这可以采取以下形式:用户键入用户名和密码、经由生物特征扫描来识别用户、供给秘钥卡或任何其他期望证书等。检查用户证书可以进一步包括检查多个用户的证书。例如,可能要求房间中的每个人呈现其证书以访问层或容器。备选地,一定阈值的用户必须呈现证书(例如,多于一个人、出席人数的20%或与期望层相关联的人数的20%)。该阈值可以由用户设置,或可以是跨企业的标准阈值、并且可以在相同容器内的不同层之间变化。
可以基于所呈现的证书来确定对容器的访问(动作306)。该确定可以通过容器传递系统102的认证模块来完成。例如,可以确定用户可以访问与会议相关联的容器,包括基础层、以及团队特定层以及与用户相关联的层,但用户不能访问第二团队层。对层的访问可以采用多个形式,包括仅查看访问和读取/写入访问。确定访问可以被称为确定访问级别,其中级别表示用户有权限访问的容器内的数据量。这可以包括不同的文件、应用、程序、层等,并且还可以包括编辑权限。
根据用户证书的允许来提供容器(308)。这可以包括容器传递系统102从容器存储库106中取回容器114以及从层储存库116中取回一个或多个层,并且将容器和层提供给主机系统104。
图4是图示了根据一个或多个实施例的用于传递容器的示例过程400的流程图。过程400由诸如图1的系统100的系统执行,并且可以以软件、固件、硬件或其组合来实现。过程400被示出为动作集合并且不限于所示出的用于执行各种动作的操作的顺序。过程400是用于传递容器的示例过程;参考不同的附图,本文包括传递容器的附加讨论。
在过程400中,容器与项目相关联(动作402)。容器可以在任何点与项目相关联。例如,在初始会议202期间,可以创建容器并将其与特定会议相关联。在踪迹A 204和踪迹B206会议期间,可以使用在初始会议202期间与项目相关联的容器。备选地,个体层可以与项目相关联,并且当这些层用于创建容器时,容器可以与项目相关联。
开启容器(动作404)。开启容器可以包括开启先前使用的容器或创建新的容器。容器可以在主机系统104处开启,并且可以可选地要求在开启之前一个或多个用户被认证。可以响应于诸如达到某个时间(例如,会议的调度时间)、某个用户组被认证、开启容器的请求的触发或任何其他适当的触发来开启容器。
跟踪容器中进行的更改(动作406)。这可以包括跟踪在容器内对文档或文件进行的更改,以及跟踪对容器本身进行的更改,例如,添加一个或多个应用或文件或更改一个或多个设置。更改可以进一步与用户或用户组相关联。例如,如果多个用户一次访问一个容器,则特定用户进行的更改可以与用户标识符相关联,或者可以与时间或会议标识符相关联。
将更改存储在容器的层中(动作408)。该层可以是任何适当的层。例如,如果对容器中存在的应用进行了更改,则该更改可以被存储在容器的基础层中,并且该更改可以对访问容器的任何用户都可见。备选地,更改可以被存储在与团队或用户组相关联的层中,并且可以仅对可以访问团队或组层的用户可见。备选地,更改可以被存储在与用户相关联的层中,并且仅由用户可访问。
其中存储更改的层可以是从层储存库116接收到且先前与容器相关联的层。备选地,层可以被特定地创建来存储更改。
保存对层和容器的更改(动作410)。这些更改可以在使用容器时定期保存,或者可以在用户使用完容器时进行保存。
图5是图示了根据一个或多个实施例的用于传递容器的示例过程500的流程图。过程500由诸如图1的系统100的系统执行,并且可以以软件、固件、硬件或其组合来实现。过程500被示出为动作集合,并且不限于所示出的用于执行各种动作的操作的顺序。过程500是用于传递容器的示例过程;参考不同的附图,本文包括传递容器的其他讨论。
在过程500中,接收合并多个层的指示(动作502)。这可以采取以下形式:请求合并多个层的直接输入、从与一个或多个层相关联的用户接收证书,或任何其他期望的指示。指示可以例如由容器传递系统102的输入模块108接收。
可以在诸如在图2的使用流程200的合并踪迹208处合并多个踪迹时,接收合并多个层的指示。备选地,可以在多个用户希望同时访问其用户特定层时,例如在踪迹A 204内发生的会议期间,将层合并。
确定经合并的层的内容(动作504)。这可以采取以下形式:用户或用户组签署应当将层或层的一部分包括在经合并的层中。备选地,可以将层与权限预先关联,使得响应于合并多个踪迹的指示,可以例如由容器管理模块112自动确定层。
创建经合并的层(动作506)。该经合并的层创建可以包括将多个层组合成单个层,或者可以包括引用多个其他层的层。经合并的层可以例如由容器管理模块112创建。
保存经合并的层(动作508)。可以将层保存到层储存库116,或者可以将其作为容器的一部分保存在容器存储库106中。
图6是图示了根据一个或多个实施例的用于传递容器的示例过程600的流程图。过程600由诸如图1的系统100的系统执行,并且可以以软件、固件、硬件或其组合来实现。过程600被示出为动作集合,并且不限于所示出的用于执行各种动作的操作的顺序。过程600是用于传递容器的一个示例过程;参考不同的附图,本文包括传递容器的其他讨论。
在过程600中,确认用户证书(动作602)。这些可以是一个或多个用户的证书,并且可以包括生物特征证书、密码、NFC、存在与用户相关联的计算设备等。证书可以由主机系统104获得并且由认证模块110授权。
一旦证书被认证,根据证书来供应容器(动作604)。这包括为容器提供适当的层,包括与证书相关联的基础层、团队层等。证书可以与多个用户相关联。例如,如果主机系统104位于会议室中,则在访问容器之前,可以要求会议室中存在的每个人都呈现证书。备选地,单个用户的证书可以是足够的。容器可以包括要求特定用户存在以观看的一个或多个层。例如,用户特定层。
接收存在的用户的更改的指示(动作606)。该更改可以包括例如一个或多个人进入或离开空间,并且可以被一个或多个传感器(包括运动传感器、相机等)检测。更改的指示可以使得一个或多个敏感层被隐藏,直到重新建立证书。
重新确认用户证书(动作608)。这可以由一个或多个传感器自动完成,例如,通过基于一个或多个生物特征证书来识别用户。备选地,主机系统104可以显示消息,从而通知用户需要附加证书。
根据经更新的证书来更新容器(动作610)。例如,如果新的人员进入房间,则可以取回其用户特定层并将其添加到容器。备选地,如果用户离开房间,则可以隐藏或关闭与用户相关联的一个或多个层。
图7是根据一个或多个实施例的容器700的示例。图示的层是可以被包括在容器114中的层的单个示例,并且其可以组合成更少的层、分解成附加的层或者可以包括不同的层。可以将层存储在层储存库116中,层储存库116可以是容器存储库106的一部分或可以单独实现。可以使用层,以便以由其一个或多个所有者易于访问、同时还可以保护隐私不被其他用户访问的方式来维护数据。
可以在任何时间,包括在使用容器期间,向容器添加或从容器移除层。例如,如果针对原始会议创建了容器114,则可以更新层来反映会议期间进行的更改。附加地,当用户进入或离开会议时,可以添加或删除层。
可以创建层或者从层储存库116中选择层。基础层可以包括能够访问容器的每个人都可以访问的应用和数据。可以基于初始会议中包括的文件、基于与会议相关联的用户或用户组合来确定应用,并且可以在项目过程中对应用进行更新。容器中包括的用户设置可以是来自相关联的用户的用户设置的任何组合。例如,任何单个用户所需的任何可访问性设置都可以被包括在容器中。用户设置可以全局应用于容器,或者可以特定于容器中加载的应用。
基础层702可以是容器114中、具有访问容器权限的任何用户都可访问的组件。基础层702可以包括应用、文件和设置。原始基础层702可以是用于企业内的所有容器的标准层,或者可以针对项目特定地创建。
可以包括团队特定层704。团队特定层704可以包括仅限于可以被认证为用户集合的一部分的用户的信息,该用户集合被标识为团队。如上所述,这些团队可以是市场营销团队、设计团队或任何其他团队。团队不需要由相同部门的用户组成,而是可以被限定为被给予访问团队特定层的权限的任何期望的用户组。团队特定层704可以包括基础层702中不包括的应用、文件、设置等,或者可以可选地移除基础层702中包括的应用、文件、设置等。可以以任何期望的方式来移除应用、文件、设置等,包括团队特定层704使得CAD程序被隐藏在容器114中、覆盖基础层702来从容器114中删除程序、使得程序从基础层702中被移除、以及可选地向上移动到一个或多个其他团队特定层中等。
例如,如果用于初始会议的容器中包括计算机辅助设计(CAD)程序,但是市场营销团队在其项目跟踪期间不需要访问CAD程序,则团队特定层704可以使得CAD程序不被包括在所提供的容器114中。
用户数据层706可以可选地是针对每个用户的多个层或者将用于会议的用户数据组合的单个层。用户数据可以是应用、应用设置、可访问性设置、所存储的证书、对信息位置的引用等。用户数据层706可以存储在层储存库116中、作为用户简档的一部分被存储、或针对容器114被特定地创建。
主机特定层708可以由容器传递系统102或主机系统104应用,并且可以包括主题、背景图像、显示设置等。主机系统104可以实现学习系统,并且在接收容器114时存储并添加主机特定层708。主机特定层可以附加地包括与特定主机系统104相关联的显示主题、设置、应用、文件等。这可以包括供应在所有主机系统104上都不可用的外部设备,例如,蓝牙、扬声器、头戴式耳机等。
尽管本文参考特定模块讨论了特定功能性,但是应当注意,本文讨论的各个模块的功能性可以被分离为多个模块,和/或多个模块的至少一些功能性可以被组合成单个模块。附加地,在本文中被讨论为执行动作的特定模块包括执行动作的该特定模块本身,或备选地包括调用或以其他方式访问执行动作的另一组件或模块(或与该特定模块结合来执行动作)的特定模块。因此,执行动作的特定模块包括执行动作的特定模块本身和/或由执行动作的该特定模块调用或以其他方式访问的另一模块。
图8在800处一般地示出了示例系统,该示例系统包括示例计算设备802,示例计算设备802表示可以实现本文所描述的各种技术的一个或多个系统和/或设备。计算设备802可以是例如服务提供方的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统和/或任何其他合适的计算设备或计算系统。
如所图示的示例计算设备802包括处理系统804、一个或多个计算机可读介质806以及彼此通信地耦合一个或多个的I/O接口808。尽管未被示出,但是计算设备802可以进一步包括将各种组件彼此耦合的系统总线或其他数据和命令传递系统。系统总线可以包括不同总线结构(例如,存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线架构中的任一个的处理器或本地总线)中的任一个或不同总线结构的组合。还可以预期各种其他示例,例如,控制线和数据线。
处理系统804表示使用硬件执行一个或多个操作的功能性。因此,处理系统804被图示为包括可以被配置为处理器、功能块等的硬件元件810。这可以包括在硬件中实现为专用集成电路或使用一个或多个半导体形成的其他逻辑设备。硬件元件810不受形成它们的材料或其中采用的处理机制的限制。例如,处理器可以包括(多个)半导体和/或晶体管(例如,电子集成电路(IC))。在这种情况下,处理器可执行指令可以是电子可执行指令。
计算机可读介质806被图示为包括存储器/存储装置812。存储器/存储装置812表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储装置812可以包括易失性介质(例如,随机存取存储器(RAM))和/或非易失性介质(例如,只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置812可以包括固定介质(例如,RAM、ROM、固定硬盘驱动等)以及可移除介质(例如,闪存、可移动硬盘驱动、光盘等)。可以如下文进一步描述的各种其他方式来配置计算机可读介质806。
一个或多个输入/输出接口808表示允许用户向计算设备802键入命令和信息,并且还允许使用各种输入/输出设备将信息呈现给用户和/或其他组件或设备的功能性。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于声音输入)、扫描仪、触摸功能性(例如,被配置为检测物理触摸的电容式或其他传感器)、相机(例如,可以采用可见的或诸如红外频率的不可见波长来检测不涉及触摸作为手势的移动)等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,可以如下文进一步描述的各种方式来配置计算设备802以支持用户交互。
计算设备802还包括容器传递系统814。容器传递系统814提供支持本文所讨论的传递容器的各种功能性。容器传递系统814可以实现例如图1的主机系统104、容器传递系统102、容器存储库106和/或层储存库116。
本文可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。通常,这样的模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等。如本文所使用的术语“模块”、“功能性”和“组件”通常表示软件、固件、硬件或其组合。本文所描述的技术的特征是独立于平台的,这意味着可以在具有各种处理器的各种计算平台上实现这些技术。
所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上或在某种形式的计算机可读介质上传输。计算机可读介质可以包括计算设备802可以访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”是指与仅信号传输、载波或信号本身相比,能够持久地存储信息和/或有形存储的介质和/或设备。因此,计算机可读存储介质是指非信号承载的介质。计算机可读存储介质包括诸如易失性和非易失性、可移除和不可移除介质的硬件和/或以适于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据的信息的方法或技术实现的存储设备。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储装置、硬盘、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或其他存储设备、有形介质或适合于存储期望信息且可由计算机访问的制品。
“计算机可读信号介质”是指承载信号的介质,承载信号的介质被配置为诸如经由网络将指令传输到计算设备802的硬件。信号介质通常可以在诸如载波、数据信号或其他传输机制的调制数据信号中体现计算机可读指令、数据结构、程序模块或其他数据。信号介质还包括任何信息递送介质。术语“调制数据信号”是指以对信号中的信息进行编码的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质以及诸如声学、RF、红外和其他无线介质的无线介质。
如前所述,硬件元件810和计算机可读介质806表示以在一些实施例中采用来实现本文所述技术的至少一些方面的硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑。硬件元件可以包括集成电路或片上系统的组件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅中的其他实现或其他硬件器件。在该上下文中,硬件元件可以用作执行由硬件元件所体现的指令、模块和/或逻辑限定的程序任务的处理设备,以及用于存储执行指令的硬件设备(例如,先前描述的计算机可读存储介质)。
前述的组合也可以被用来实现本文描述的各种技术和模块。因此,软件、硬件或程序模块以及其他程序模块可以被实现为体现在某个形式的计算机可读存储介质上和/或被一个或多个硬件元件810实现的一个或多个指令和/或逻辑。计算设备802可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如通过使用计算机可读存储介质和/或处理系统的硬件元件810,可以至少部分地在硬件中实现作为由计算设备802可执行为软件的模块的模块实现。指令和/或功能可以由一个或多个制品(例如,一个或多个计算设备802和/或处理系统804)可执行/可操作,以实现本文描述的技术、模块和示例。
如图6进一步图示的,当在个人计算机(PC)、电视设备和/或移动设备上运行应用时,示例系统800实现用于无缝用户体验的普遍存在的环境。在使用应用、玩视频游戏、观看视频等的同时从一个设备转换到另一设备时,服务和应用在所有三种环境中大致类似地运行,以实现共同的用户体验。
在示例系统800中,多个设备通过中央计算设备互连。中央计算设备可以在多个设备本地,或者可以被定位为远离多个设备。在一个或多个实施例中,中央计算设备可以是一个或多个服务器计算机通过网络、因特网或其他数据通信链路连接到多个设备的云。
在一个或多个实施例中,该互连架构使得功能性能够跨多个设备递送,以向多个设备的用户提供共同且无缝的体验。多个设备中的每个设备可以具有不同的物理要求和能力,并且中央计算设备使用平台来使得对设备的体验递送既可以针对设备定制,又可以对所有设备通用。在一个或多个实施例中,创建了目标设备类别,并且针对通用的设备类别定制了体验。可以通过设备的物理特征、使用类型或其他常见特性来限定设备类别。
在各种实现中,计算设备802可以采用各种不同的配置,例如供计算机816、移动设备818和电视820使用。这些配置中的每一个均包括可以具有总体不同的构造和能力的设备,并且因此可以根据一个或多个不同的设备类别来配置计算设备802。例如,计算设备802可以被实现为包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等的计算机816设备类别。
计算设备802还可以被实现为包括诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等移动设备的移动818设备类别。计算设备802还可以被实现为包括在休闲观看环境中具有或连接到通常更大的屏幕的设备的电视820设备类别。这些设备包括电视、机顶盒、游戏控制台等。
计算设备802的这些各种配置可以支持本文描述的技术,并且本文描述的技术不限于本文描述的技术的特定示例。如下所述,还可以经由平台824通过使用分布式系统,例如在“云”822上,来全部或部分地实现该功能性。
云822包括和/或表示用于资源826的平台824。平台824将云822的硬件(例如,服务器)和软件资源的底层功能性抽象化。资源826可以包括可以在远离计算设备802的服务器上执行计算机处理时使用的应用和/或数据。资源826还可以包括在因特网上和/或通过订户网络(例如,蜂窝或Wi-Fi网络)提供的服务。
平台824可以对将计算设备802与其他计算设备连接的资源和功能进行抽象化。平台824还可以用于将资源的缩放抽象化,以为经由平台824实现的、对资源826的需求提供对应的缩放级别。因此,在互连设备实施例中,本文所述的功能性的实现可以在整个系统800分布。例如,功能性可以部分地在计算设备802上以及经由将云822的功能性抽象化的平台824来实现。
在本文的讨论中,描述了各种不同的实施例。应当理解,本文描述的每个实施例可以单独使用或与本文描述的一个或多个其他实施例结合使用。本文讨论的技术的其他方面与以下实施例中的一个或多个实施例有关。
一种方法,包括:将容器与项目相关联,容器包括隔离的计算空间并且包含一个或多个程序或文件;响应于指示使用会话正在开始的一个或多个触发,在主机设备处开启容器;记录在使用会话期间对容器中包含的一个或多个应用、层或数据进行的一个或多个更改;以及保存容器和一个或多个更改。
作为上述方法中的任一个方法的备选或附加,以下中的任一个或组合:方法还包括重新开启容器并且记录一个或多个附加更改;容器包括多个层,多个层中的每个层包括一个或多个应用、设置、数据访问点或文件;多个层中的至少一个层要求认证以访问;多个层中的至少一个层要求存在用户阈值以访问;多个层中的至少一个层移除在多个层中的不同层中包含的一个或多个应用、设置、数据访问点或文件;一个或多个更改包括添加或移除一个或多个应用;方法还包括重新开启容器,并且向容器添加一个或多个层;方法还包括将项目和容器与在容器外部发生的一个或多个电子邮件或聊天会话相关联;一个或多个更改与特定用户相关联;容器包括对数据被存储的位置的一个或多个引用;容器还包括用以从所存储的位置访问数据的一个或多个认证证书。
一种用于项目容器的计算机实现的方法,方法包括:在主机系统处对容器的一个或多个用户进行认证;从容器存储库中取回容器以在主机系统处使用,容器在主机系统处提供隔离的计算会话,并且包含一个或多个程序或数据链接;跟踪对容器进行的一个或多个更改,一个或多个更改与一个或多个用户相关联;以及保存容器和一个或多个更改。
作为上述方法中的任一个方法的备选或附加,以下中的任一个或其组合:一个或多个更改被保存在容器的层中;跟踪一个或多个更改包括:跟踪一个或多个用户中的每个用户进行的更改集合,以及将每个用户的更改集合保存到与该用户相关联的容器层中;认证一个或多个用户使得容器提供对容器的一个或多个层的访问并且拒绝对容器的一个或多个其他层的访问。
一种计算设备,包括:处理器;以及计算机可读存储介质,其上存储有多个指令,多个指令在由处理器执行时使得处理器:接收对与项目相关联的容器的请求,容器在一个或多个计算设备处提供用于项目的隔离的计算空间;对用户进行认证,以确定是否给予对容器的全部、部分的访问或不给予对容器的访问;在所确定的访问级别下提供容器;接收引起对容器的更改的一个或多个输入;以及保存对容器的更改。
作为上述计算设备中的任一个方法的备选或附加,以下中的任一个或其组合:所确定的访问级别包括用户被授权访问的一个或多个层以及用户被拒绝访问的一个或多个层;对容器的更改被保存在与用户相关联的容器的层中;对容器的更改包括添加或移除一个或多个应用。
尽管以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题不必限于上述特定特征或动作。相反,上述特定特征和动作被公开为实现权利要求的示例形式。

Claims (15)

1.一种计算设备,包括:
处理器;以及
计算机可读存储介质,具有存储于其上的多个指令,所述多个指令在由所述处理器执行时使得所述处理器:
接收对与项目相关联的容器的请求,所述容器在一个或多个计算设备处提供用于所述项目的隔离的计算空间;
对用户进行认证,以确定是否给予对所述容器的全部、部分的访问或不给予对所述容器的访问;
在所确定的访问级别下提供所述容器;
接收引起对所述容器的更改的一个或多个输入;以及
保存对所述容器的所述更改。
2.根据权利要求1所述的计算设备,所确定的所述访问级别包括:所述用户被授权访问的一个或多个层以及所述用户被拒绝访问的一个或多个层。
3.根据权利要求1或2所述的计算设备,对所述容器的所述更改被保存在与所述用户相关联的所述容器的层中。
4.根据权利要求1至3中任一项所述的计算设备,对所述容器的所述更改包括添加或移除一个或多个应用。
5.一种方法,包括:
将容器与项目相关联,所述容器包括隔离的计算空间并且包含一个或多个程序或文件;
响应于指示使用会话正在开始的一个或多个触发,在主机设备处开启所述容器;
记录在所述使用会话期间对所述容器中包含的一个或多个应用、层或数据进行的一个或多个更改;以及
保存所述容器和所述一个或多个更改。
6.根据权利要求5所述的方法,所述方法还包括重新开启所述容器并且记录一个或多个附加更改。
7.根据权利要求5或6所述的方法,所述容器包括多个层,所述多个层中的每个层包括一个或多个应用、设置、数据访问点或文件。
8.根据权利要求5至7中任一项所述的方法,所述多个层中的至少一个层要求认证以访问。
9.根据权利要求5至8中任一项所述的方法,所述多个层中的至少一个层要求存在用户阈值以访问。
10.根据权利要求5至9中任一项所述的方法,所述多个层中的至少一个层移除在所述多个层中的不同层中包含的一个或多个应用、设置、数据访问点或文件。
11.根据权利要求5至10中任一项所述的方法,还包括重新开启所述容器,以及向所述容器添加一个或多个层。
12.根据权利要求5至11中任一项所述的方法,还包括将所述项目和容器与在所述容器外部发生的一个或多个电子邮件或聊天会话相关联。
13.根据权利要求5至12中任一项所述的方法,所述一个或多个更改与特定用户相关联。
14.根据权利要求5至13中任一项所述的方法,所述容器包括对数据被存储的位置的一个或多个引用。
15.根据权利要求14所述的方法,所述容器还包括用以从所存储的所述位置访问所述数据的一个或多个认证证书。
CN201880026983.2A 2017-04-26 2018-04-06 传递容器 Withdrawn CN110546637A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/498,234 US20180314821A1 (en) 2017-04-26 2017-04-26 Transferring Containers
US15/498,234 2017-04-26
PCT/US2018/026411 WO2018200159A1 (en) 2017-04-26 2018-04-06 Transferring containers

Publications (1)

Publication Number Publication Date
CN110546637A true CN110546637A (zh) 2019-12-06

Family

ID=62092256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880026983.2A Withdrawn CN110546637A (zh) 2017-04-26 2018-04-06 传递容器

Country Status (4)

Country Link
US (1) US20180314821A1 (zh)
EP (1) EP3616109A1 (zh)
CN (1) CN110546637A (zh)
WO (1) WO2018200159A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10380081B2 (en) 2017-03-31 2019-08-13 Microsoft Technology Licensing, Llc Pre-building containers
US11656924B2 (en) * 2018-08-03 2023-05-23 Samsung Electronics Co., Ltd. System and method for dynamic volume management
US10942855B2 (en) * 2019-03-18 2021-03-09 Microsoft Technology Licensing, Llc Contextual loading based on dynamic context
US11494505B2 (en) 2019-03-21 2022-11-08 Microsoft Technology Licensing, Llc Hiding secure area of a file storage system based on client indication
US11475413B2 (en) * 2019-04-25 2022-10-18 Red Hat, Inc. Concurrent meeting and compute instance scheduling
US11886605B2 (en) * 2019-09-30 2024-01-30 Red Hat, Inc. Differentiated file permissions for container users

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030212987A1 (en) * 2001-02-28 2003-11-13 Demuth Steven J. Client container for building EJB-hosted java applications
US7698400B1 (en) * 2004-04-19 2010-04-13 Swsoft Holdings, Ltd. Dedication of administrative servers to management of server functions in a multi-server environment
US8161173B1 (en) * 2005-03-30 2012-04-17 Oracle America, Inc. Role passing and persistence mechanism for a container
US8788590B2 (en) * 2010-04-30 2014-07-22 Iliv Technologies Inc. Collaboration tool
US8683466B2 (en) * 2011-05-24 2014-03-25 Vmware, Inc. System and method for generating a virtual desktop
US9306954B2 (en) * 2011-06-30 2016-04-05 Cloud Security Corporation Apparatus, systems and method for virtual desktop access and management
US9451043B2 (en) * 2013-09-13 2016-09-20 Evie Labs, Inc. Remote virtualization of mobile apps
US9197644B1 (en) * 2014-01-30 2015-11-24 Dell Software Inc. System and method for multitenant management of domains
US9268935B2 (en) * 2014-02-24 2016-02-23 Ca, Inc. Smart containerization of mobile computing device resources
US9729579B1 (en) * 2015-04-27 2017-08-08 Symantec Corporation Systems and methods for increasing security on computing systems that launch application containers
CN106485101B (zh) * 2015-08-24 2020-06-09 阿里巴巴集团控股有限公司 一种云计算环境下数据的访问方法和装置
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system
US10007509B1 (en) * 2015-12-08 2018-06-26 Amazon Technologies, Inc. Container handover for device updates
US10892942B2 (en) * 2016-01-22 2021-01-12 Equinix, Inc. Container-based cloud exchange disaster recovery
US10262124B2 (en) * 2017-01-18 2019-04-16 Bank Of America Corporation Autonomous software containers

Also Published As

Publication number Publication date
EP3616109A1 (en) 2020-03-04
WO2018200159A1 (en) 2018-11-01
US20180314821A1 (en) 2018-11-01

Similar Documents

Publication Publication Date Title
US20180357440A1 (en) Personalized Meetings
CN110546637A (zh) 传递容器
US10498846B2 (en) Presence-based content control
US11115423B2 (en) Multi-factor authentication using positioning data
EP2857967B1 (en) User interface management method and system
US10129242B2 (en) Multi-persona devices and management
CN105378768A (zh) 企业系统中的接近度和环境感知的移动工作空间
KR20170008780A (ko) 가상 화이트보드로부터의 데이터 요구
US20160150009A1 (en) Actionable souvenir from real-time sharing
KR20170049513A (ko) 공유 세션 기법
US10380081B2 (en) Pre-building containers
US20170317879A1 (en) Cart Mode Provisioning Of Shared Computing Devices
CN112074831B (zh) 基于认证的虚拟内容呈现
JP2018508845A (ja) ノートブックアプリケーションでのクラスノートブックおよびそのセクショングループへのアクセス許可の管理
KR20100135202A (ko) 컴퓨팅 디바이스들 간의 동적 콘텐츠 프리퍼런스 및 동작 공유
US9819712B2 (en) Cloud-based conferencing system
US10592689B2 (en) Selective container use for device usage sessions
US20240095262A1 (en) Systems and methods for controlling and modifying access permissions for private data objects
US10182084B2 (en) Cloud-based conferencing system
US10298633B2 (en) Cloud-based conferencing on a mobile device
US20200117784A1 (en) Information processing device, information processing method, and information processing program
US10868814B2 (en) System and method for flow-based architecture
Ruth Understanding and Designing for Security and Privacy in Multi-User AR Interactions

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20191206

WW01 Invention patent application withdrawn after publication