CN110291524B - 隐私控制操作模式 - Google Patents
隐私控制操作模式 Download PDFInfo
- Publication number
- CN110291524B CN110291524B CN201880011563.7A CN201880011563A CN110291524B CN 110291524 B CN110291524 B CN 110291524B CN 201880011563 A CN201880011563 A CN 201880011563A CN 110291524 B CN110291524 B CN 110291524B
- Authority
- CN
- China
- Prior art keywords
- user
- ipm
- data
- session
- settings
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
- H04W12/033—Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2111—Location-sensitive, e.g. geographical location, GPS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Telephonic Communication Services (AREA)
Abstract
公开了用于改善用户隐私并提供对从个人计算设备(即,用户设备)收集的用户活动数据的用户控制的技术。用户设备可以被配置为:以私有模式操作,该私有模式使用户能够例如控制向在其用户设备上运行的应用程序和服务提供用户活动相关数据的哪些方面;隐藏或修改用户活动数据的各方面,以便可能需要此信息操作的某些应用程序和服务仍然可以运行,但提供给这些应用程序和服务的模糊信息保留用户隐私或者不再可用于识别用户;或者,当用户在私有模式设置下操作其用户设备时,删除由用户设备创建、监视、报告或以其它方式收集的用户活动数据的证据。
Description
背景技术
个人计算设备(例如,智能手机)和在这些设备上运行的应用程序收集有关其用户的信息。例如,即使用户的数据与这些应用程序提供的服务无关,也可以监测和收集用户访问的位置、应用程序使用情况、用户拍摄的照片、用户搜索日志、用户浏览历史、用户联系人等等、以及由用户的活动生成的类似数据。但是,很多用户希望获得一定程度的隐私,并控制在其计算设备上运行的应用程序和服务如何访问和使用从其用户活动生成的个人数据。例如,有时用户可能不希望被跟踪、监控、或者收集这种个人数据并与第三方应用程序和服务共享。类似地,用户可能有时会将他们的移动设备借给另一个人,但是不希望从该另一个人的活动产生的数据在他们的移动设备上污染他们自己的个人数据。
对于用户期望这种隐私和控制水平的那些时间跨度,用户通常有三种选择。第一种选择是用户随后可以手动地查看并尝试删除他们的用户活动、通信日志、app安装等。但是这种选项很麻烦且难以实现。在此时间范围内生成的关于用户的信息的至少一些痕迹可能仍将遗留下来。此外,与该时间范围内使用的应用程序和服务相关联的后端服务器将已经收集了一些用户的信息。第二种选择是用户选择性地禁用其个人计算设备上的能够生成一些个人用户数据的功能,比如位置检测(例如,GPS)。但是,很多应用程序和服务需要这样的数据以便运行,或者在没有这样的信息的情况下无法正常运行。最后,第三种选择是用户可以将他们的个人计算设备留在家中。但这对大多数用户来说是不可接受的。特别地,用户可能希望继续享受他们的计算设备的益处,但仍希望保持对其活动产生的任何数据的隐私和控制。
发明内容
提供本概括部分以便用简化的形式介绍将在以下的详细描述中进一步描述的概念选择。本概括部分并不是旨在标识本发明的关键特征或本质特征,也不是使用该概括部分来帮助确定本发明的保护范围。
本公开中描述的实施例涉及用于改善用户隐私并提供对从个人计算设备(本文有时称为移动设备或用户设备)收集的用户活动相关数据的用户控制的技术。具体而言,实施例提供了用户设备的各种私有操作模式,其可以使用户能够控制向在其用户设备上运行的应用程序和服务提供哪些用户活动相关数据;隐藏或修改用户活动相关数据的各个方面,以便可能需要此信息操作的某些应用程序和服务仍然可以运行,但提供给这些应用程序和服务的模糊信息保留用户隐私或者不再可用于识别用户;或者,当用户在私有模式设置下操作其用户设备时,删除由用户设备创建、监视、报告或以其它方式收集的用户活动相关数据的证据。在一些实施例中,在用户设备上运行的硬件和/或软件(例如,操作系统)提供“私有模式”(IPM)设置,该IPM设置可以由用户选择性地调用或者自动地调用,并且还可包括使用户能够管理由用户设备检测到的或观察到的用户活动相关数据的特定方面的用户界面。此外,在一些实施例中,用户可以选择性地在IPM和普通模式之间切换,以便在两个环境中几乎同时地利用应用程序和服务。
例如,并且如本文将进一步描述的,在一个实施例中,创建隔离区并利用其来支持IPM会话内的用户操作。隔离区可以在类似于虚拟机的受控环境中操作,并且包括已经安装在用户设备上的应用程序和服务的副本。可以基于用户设置,来控制提供给隔离区或者在隔离区中生成的用户相关活动的方面。在结束IPM会话时,可以从用户设备的存储器中删除包括在IPM会话内生成的用户活动相关数据的隔离区。还可以基于用户设置,清除或修改在用户设备上生成的其它用户活动相关数据。
附图说明
下面参考附图来详细地描述本公开内容的各方面,其中:
图1是适用于实现本公开内容的实施例的示例性操作环境的框图;
图2是描绘适合于实现本公开内容的各方面的示例性计算架构的框图;
图3说明性地描绘了适用于实现本公开内容的实施例的修改的计算系统的抽象层的方面;
图4是根据本公开内容的实施例,示出在个人计算设备上进行的示例性私有模式会话的各方面的图;
图5A、5B、5C和图5D根据本公开内容的实施例,描绘了来自个人计算设备的示出示例性图形用户界面的各方面的屏幕截图;
图6是根据本公开内容的实施例,用于在用户设备上提供私有模式会话的方法的流程图;
图7是根据本公开内容的实施例,用于通过在用户设备上提供私有模式来控制用户隐私的方法的流程图;以及
图8是适用于在实现本公开内容的实施例时使用的示例性计算环境的框图。
具体实施方式
本文中具体描述了本公开内容的各方面的主题以满足法定要求。但是,说明书本身并不旨在限制本专利的保护范围。相反,发明人已经预期所要求保护的主题还可以以其它方式体现,以包括结合其它现有技术或未来技术的、与本文档中所描述的步骤类似的不同步骤或步骤组合。此外,虽然本文使用术语“步骤”和/或“框”来表示所采用的方法的不同元素,但是这些术语不应被解释为暗示本文所公开的各个步骤之中或之间的任何特定顺序,除非和除了显式地描述各个步骤的顺序之外。本文描述的每个方法可以包括能够使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可以由执行存储在存储器中的指令的处理器来执行。这些方法也可以体现为存储在计算机存储介质上的计算机可用指令。这些方法可以由独立应用程序、服务或托管服务(独立或者与其它托管服务组合)或者另一个产品中的插件来提供,仅举出几个例子。
本公开内容的各方面涉及用于促进和改善用户隐私以及提供对从个人计算设备(本文有时称为移动设备或用户设备)收集的用户活动相关数据的用户控制的技术。现代电信和个人计算技术的融合在人类历史上首次实现了按需信息与普遍存在的个人计算资源(包括移动个人计算设备以及与通信网络耦合的云计算)的结合。结果,用户越来越普遍地全天依赖一个或多个移动计算设备来处理各种任务。但如先前所描述的,这些用户设备几乎不断地收集有关其用户的个人信息,并经常与第三方应用程序和服务共享该信息。因此,这些技术的发展引起了对用户隐私的担忧。
很多用户期望(至少在某些时间或某些情况下)更好地控制这种个人计算技术如何创建和利用从他们的活动中产生的数据。但是处理用户个人信息的传统方法(例如,显示通知、获得收集信息的用户同意、以及让用户在完全选择参与或者将设备留在家中之间做出选择)并不能真正解决这些技术所造成的隐私问题。类似地,由于前面描述的原因,用户在他们走的时候删除他们的数据痕迹的解决方案是无效的。此外,使这些技术的典型用户确切地知道在他的移动计算设备上收集了什么信息以及该信息是如何使用的是不可行的;这些技术也不能使其用户对其信息进行精细地控制,例如本文所描述的。特别地,除了其它益处之外,本文所描述的实施例通过使用户能够继续享受其移动设备的益处来改进隐私技术,但是在他们期望更大的隐私或安全性的时间内,对于如何收集或利用他们的信息具有控制。
因此,本文提供的解决方案包括用于解决用户隐私问题、以及提供对从其移动计算设备收集的用户活动相关数据的改进控制的技术。特别地,这些技术中的一些有助于用户设备的私有模式(IPM)操作。例如,在移动设备上运行的硬件和/或软件可以提供用户能够选择性地调用或可以被自动地或有条件地调用的IPM设置,还可以包括使用户能够管理由移动设备检测到的或观察到的用户活动相关数据的特定方面的用户界面。用户活动相关数据可以包括:例如但不限于,位置数据(例如,移动设备的位置或位置历史);应用程序(或“app”)使用情况;app安装;诸如呼入或呼出呼叫、文本、电子邮件、即时消息等等之类的通信;用户搜索或搜索历史:运动信息,例如加速度/陀螺仪信息或通过感测位置信息的变化得到的运动;生理信息(例如,血压或心率,其可以从可穿戴移动计算设备提供);或者使用用户的移动设备可检测或以其它方式可确定的与用户活动相关的其它信息。
如先前所描述的,所描述的技术的一些实施例使用户能够控制向在其用户设备上运行的应用程序和服务提供哪些用户活动相关数据。例如,在这些实施例的一些实施例中,用户可以选择用户活动相关信息的特定方面(本文有时称为用户活动相关信息的“通道”),其可以包括用户活动相关信息的类型(例如,位置、通信、应用程序使用情况),并且还可以包括这些类型的用户活动相关信息的数据值、条件和/或其它设置(“参数”)。在一些实施例中,用户活动相关数据的通道是通过用户设置和用户界面来控制的,并且可以在特定IPM会话内全局控制(即,针对所有IPM会话的全局设置),或两者。
类似地,一些实施例使得用户能够例如通过控制通道及其参数来模糊或修改用户活动相关数据的方面,使得可能需要用户活动相关数据来操作(或者在操作过程中以其它方式使用用户活动相关数据)的某些应用程序和服务仍然能够操作,但使用从用户控制的通道确定的数据。用此方式,这些应用程序和服务继续操作并由用户享受,但是对提供给这些应用程序和服务的信息进行控制以保护用户隐私或者模糊用户识别。
举例而言而非做出限制,位置通道可以具有与位置信息的方面相对应的参数,比如关于用户活动相关数据是否应该指示移动设备的位置处于特定兴趣点(POD)、在某个地理区域(例如,地理围栏)内、在伪随机位置或区域、或者在用户携带移动设备先前访问的位置(或区域)的选项。此外,伪随机位置或区域可以由移动设备生成,并且可以具有某些约束,例如有效位置(例如,不在河的中间,但是对于要定位的人来说是可信的或现实的)。在一些实施例中,这些参数可以由用户进行确定和/或控制,可以自动地设置(或者具有缺省值),或者可以由在移动设备上运行的服务建议。此外,在一些实施例中,这些参数可以包括多个设置和子设置;例如,指定位置通道应该指示用户先前访问的特定位置(或区域)的示例性参数,可以进一步调整以指示例如用户先前访问过的任何区域、或者对应于用户模式的位置(或区域)。举例来说,如果用户具有在公园中度过星期六早晨的模式,并且IPM会话发生在星期六早晨,那么可以设置该示例性位置通道(由用户设置或自动地设置)以指示移动设备在公园内。
本文所描述的IPM的一些实施例有助于使用户能够删除在用户在IPM设置下操作他们的移动设备时,由移动设备(或者结合移动设备运行的应用程序和服务)创建、监视、报告或以其它方式收集的用户活动相关数据的证据。例如,如本文所描述的,可以限制或以其它方式控制在IPM会话期间生成的用户活动相关信息。在终止IPM会话时,可以清除用户活动相关数据和/或可以将用户设备的计算系统的各方面恢复到如在IPM会话之前退出的设备状态。另外,在一些实施例中,可以生成与IPM会话的时间跨度相对应的用户活动相关数据的替换集合,并用于填充所删除的用户活动相关信息的间隙(例如,在结束IPM时删除的数据或者在IPM下操作时未在第一场合收集的数据)。可以基于当用户处于正常操作模式时观察到的用户活动的模式来确定该替换数据,其可以从移动设备先前收集的用户活动历史中导出。用此方式,不存在(或缺少)否则可以指示用户在IPM下操作的用户数据的漏洞。
在所描述的技术的一些实施例中,基于条件和/或用户配置,IPM会话可以由用户手动地激活或控制(例如,用户确定何时开始或结束IPM会话)、自动地控制、或两者的组合。IPM会话的自动控制可以是基于用户设置的规则、条件或其它逻辑,例如基于时间或基于位置的规则。例如,特定的配置可以在以下情形时,激活IPM操作:星期六晚上10:00到星期日凌晨3:00;每当用户访问特定位置(例如,拉斯维加斯)时;每当用户与某些朋友或其他联系人接近时;或者基于其它条件。
还可以从用户的行为模式,推断出IPM会话的自动控制或激活。例如,假设特定的用户通常在某些时间、某些位置、在某些其他人附近、或者在其它环境或条件下操作IPM。如果当前用户数据(其可以由移动设备感测到)指示用户可能遵循用户先前操作IPM的行为模式,则可以自动地激活IPM会话(或者可以查询或提示用户开始IPM会话)。在一些实施例中,将用户活动模式和IPM会话激活进行相关的数据可以包括来自IPM会话之外的用户数据(即,直到IPM会话开始或在IPM会话之后进行监测的数据)。此外,在一些实施例中,为了进一步保护用户隐私,可以在设备上或在云中对该特定用户数据进行加密。
也可以从其他类似用户的模式,推断出对特定用户的IPM会话的自动控制或激活,可以通过收集去识别的(或者以其它方式不可识别的)使用信息来确定其他类似用户的模式。例如,在确定某个阈值数量的其他用户在特定位置或场所或者其附近激活IPM的情况下,可以为访问该位置或场所的特定用户激活(或建议)IPM。在一些实施例中,该阈值数量可以是基于被确定为已激活IPM的去识别用户的总数(例如,至少某个数量(例如,五十)的用户已激活IPM)、或者用户比率(例如,至少百分之二十的用户在此上下文或条件下激活IPM)。另外,在特定位置附近开始IPM的情况下,接近度可以是某个固定数量(例如,在2km内)或者可以基于特定位置或地点而变化。(在一些实施例中,可以使用场地消歧来确定用户或一组类似用户访问的特定位置。例如,用户是否在夜总会附近的咖啡店而不是夜总会。场地消歧也可以考虑用户的上下文和行为模式。)
在一些实施例中,IPM激活或操作的其它方面(无论是自动的还是手动的)也可由用户进行配置。这种配置的一个例子包括IPM隐私敏感性。例如,在一些实施例中,用户可以配置由IPM操作应用的IPM敏感度级别或隐私保护程度(例如,对哪些用户或多少用户活动相关数据进行模糊、修改或以其它方式保持私有和/或对用户活动相关数据进行什么程度的模糊或改变)。敏感度级别可以是基于默认设置或者基于该用户或其他用户的先前行为模式。在一个实施例中,可以将滑块、旋钮、滚轮、拨号、按钮或类似的图形用户界面(GUI)元素提供为IPM设置的一部分,并用于配置敏感度级别。用此方式,用户可以通过调整GUI元素来轻松地调整或调谐敏感度级别。此外,敏感度可以根据一组离散或特定的敏感度级别(例如,低、中、高、极高)来确定,或者可以根据连续标度或几乎连续程度的敏感度谱(例如,从零敏感度或低敏感度到最大或极高敏感度)来确定。
类似地,在一些实施例中,IPM操作的另一可配置方面包括操作IPM的特定应用程序或服务,如本文所描述的。具体而言,在一个例子中,用户可以配置IPM覆盖的范围,例如哪些应用程序或服务(和/或哪些相应的传感器数据或其它用户活动相关数据)包含在IPM中而不是正常操作模式中。用户也可以配置IPM操作的其它特定方面,例如数据修改或模糊的程度或水平、是否以及多少和/或哪些用户活动相关数据被记录或可供第三方使用、是否接收并下沉(sink-holed)传感器或用户活动相关数据、或者是否完全关闭传感器(或生成用户活动相关数据的服务)。例如,一种IPM配置可能使真实位置数据可用于在IPM下运行的应用程序或服务,但防止或阻止该位置数据的任何记录(或者基于位置数据生成的任何用户活动相关数据)。在传感器数据完全关闭的配置中,使用该传感器数据的某些应用程序或服务可能无法正常运行或根本无法运行。在某些情况下,未运行IPM的应用程序和服务将继续使用真实或未修改的传感器数据(或其它用户活动相关数据)进行运行,并且还可以生成其它用户活动相关数据(这些数据可以进行存储和/或可用于第三方)。
如上面所描述的,在一个实施例中,创建隔离区并利用其来支持IPM会话内的用户操作。隔离区可以在类似于虚拟机的受控环境中操作,并且包括已经安装在移动设备上的应用程序和服务的副本。可以基于用户设置来控制提供给隔离区或者在隔离区中生成的用户相关活动的方面。例如,在一个实施例中,传感器数据处理器和/或应用处理层被用作移动设备计算系统的抽象层。传感器数据处理器可以改变与移动设备相关联的一个或多个传感器检测的数据(例如,位置数据),应用处理层可以控制数据请求以及在移动设备上运行的应用程序或服务执行的操作的某些方面,如本文所进一步描述的,例如读/写数据日志、与后端服务器进行通信或者进行监测。用此方式,使用IPM设置,用户可以控制在IPM会话期间运行的应用程序和服务生成或使用的用户活动相关数据的各种通道,并控制这些应用程序和服务的活动的某些方面,例如它们与后端支持服务器同步的能力或者它们如何访问移动设备上的用户相关数据。
一些实施例使得用户能够在常规环境和私有模式环境中,几乎同时利用其移动设备上的应用程序和服务。例如,用户可以参与两个文本消息对话:使用用户的姓名(或主用户ID、电话号码等)的正常操作模式(即,不是IPM)下的文本消息对话、以及使用私有名称或私有用户ID的IPM下的另一个文本对话(其可以与正常模式相同,但是在IPM中发生的通信的各方面(例如,对话的日志)是受控的。)类似地,在一些实施例中,用户可以选择性地在IPM和正常模式之间切换,以在两种环境中利用应用程序和服务。
在结束IPM会话时,可以从用户设备的存储器中完全擦除隔离区(其包括在IPM会话期间生成的用户活动相关数据),并且还可以基于用户设置或首选项来清除或修改在移动设备上生成的其他用户历史。在一些实施例中,可以通知用户在终止IPM会话时将删除包括用户创建的内容的用户活动数据。但是,一些实施例可以使用户能够选择性地保留用户活动相关信息的各方面。例如,用户界面可以使用户能够选择要保留的用户活动相关信息的各方面,其包括特定数据(例如,用户在IPM会话中创建的内容(例如,照片))或用户相关活动的类型(例如,在IPM会话期间生成的所有文本或图片)。在一个实施例中,可以将要保留的用户活动相关信息传送到与IPM用户ID或其它服务器存储器相对应的云存储(例如,服务器)帐户。在另一个实施例中,可以将要保留的用户活动相关信息复制到IPM会话支持环境(例如,隔离区或虚拟机)之外。
应当注意,用于本文所描述的一些实施例的术语“私有模式”不同于在一些称为“私人模式”的移动设备操作系统上发现的另一种功能。这种其它的私人模式功能仅通过在该私人模式设置开启时,隐藏在设备上创建或存储的一些用户数据(例如,用户期望保持为私人的图片或视频)来起作用。这种隐藏的数据保存(即,存储)在设备上,并且可以在每次用户打开“私人模式”设置时再次访问。此外,该私人模式功能并不控制在私人模式设置为“开启”时,在用户设备上运行的应用程序和服务所生成或收集的用户活动相关数据的各方面,该功能也不向用户提供对这些应用程序和服务如何使用这些用户活动相关数据的任何控制。
还应当注意,本文所描述的许多实施例的目标是控制在移动设备上运行的或者在移动设备上可见或可检测的应用程序和服务收集的用户的活动相关信息的各方面。但是,这些实施例仍然符合蜂窝提供商或执法部门用于跟踪的某些技术,例如物理小区(即,蜂窝基站收发机站)的位置跟踪。
现在转到图1,该图提供了用于示出可以在其中采用本公开内容的一些实施例的示例性操作环境100的框图。应当理解的是,本文描述的这种布置和其它布置仅作为示例进行阐述。除了所示出的那些之外或代替所示出的那些,可以使用其它布置和元件(例如,机器、接口、功能、顺序和功能分组等),并且为了清楚说明起见,可以完全省略一些元件。此外,本文所描述的许多元件是功能实体,这些功能实体可以实现为离散或分布式组件或者与其它组件一起实现,并且可以以任何适当的组合和位置来实现。本文所描述的由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,一些功能可以由执行存储在存储器中的指令的处理器来执行。
在没有示出的其它组件中,示例性操作环境100包括:多个用户设备,例如用户设备102a和102b至102n;多个数据源,例如数据源104a和104b至104n;服务器106;传感器103a和107;以及网络110。应当理解的是,在图1中所示的环境100是一种适当的操作环境的例子。例如,图1中所示的每个组件可以通过任何类型的计算设备(例如,结合图8所描述的计算设备800)来实现。这些组件可以经由网络110彼此进行通信,网络110可以包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。在示例性实现中,网络110包括互联网和/或蜂窝网络、以及各种可能的公共网络和/或专用网络中的任何一种。
应当理解的是,在本公开内容的范围内,可以在操作环境100内采用任何数量的用户设备、服务器和数据源。每个可以包括在分布式环境中协作的单个设备或多个设备。例如,服务器106可以通过布置在分布式环境中的多个设备来提供,这些设备共同地提供本文所描述的功能。另外,在分布式环境中还可以包括没有示出的其它组件。
用户设备102a和102b至102n可以是操作环境100的客户端侧的客户端用户设备,而服务器106可以是操作环境100的服务器端。服务器106可以包括被设计为与用户设备102a和102b至102n上的客户端软件一起工作的服务器端软件,以便实现本公开内容中所讨论的特征和功能的任何组合。提供操作环境100的这种划分以示出适当环境的一个例子,并且不要求对于每个实现,服务器106和用户设备102a和102b至102n的任何组合都保持为单独的实体。
用户设备102a和102b至102n可以包括能够由用户使用的任何类型的计算设备。例如,在一个实施例中,用户设备102a到102n可以是本文关于图8所描述的计算设备的类型。举例而言而非做出限制,用户设备可以体现为个人计算机(PC)、膝上型计算机、移动或移动设备、智能手机、平板计算机、智能手表、可穿戴计算机、个人数字助理(PDA)、音乐播放器或MP3播放器、全球定位系统(GPS)或设备、视频播放器、手持通讯设备、游戏设备或系统、娱乐系统、车载计算机系统、嵌入式系统控制器、摄像头、遥控器、条形码扫描器、计算机化仪表或测量设备、电器、消费电子设备、工作站、或者这些描绘的设备的任何组合、这些设备的组合或者任何其它适当的设备。
数据源104a和104b至104n可以包括数据源和/或数据系统,其被配置为使数据可用于操作环境100的各种组成部分中的任何一个、或者结合图2描述的系统200。(例如,在一个实施例中,一个或多个数据源104a至104n向图2的用户数据收集组件210提供包括用户活动相关数据的数据(或使数据可用于该组件的访问)。)数据源104a和104b至104n可以与用户设备102a和102b至102n以及服务器106是分离的,或者可以并入和/或集成到这些组件中的至少一个中。在一个实施例中,数据源104a至104n中的一个或多个包括一个或多个传感器,这些传感器可以集成到用户设备102a、102b或102n或者服务器106中的一个或多个中或者与之相关联。结合图2的用户数据收集组件210进一步描述由数据源104a至104n提供的感测的用户数据的例子。
可以利用操作环境100来实现图2中所描述的系统200的一个或多个组件,其中这些组件包括用于以下操作的组件:收集用户数据;监测或确定用户任务、用户活动和事件、用户模式(例如,使用情况、行为或活动模式)、用户偏好、上下文数据或相关信息以促进共享上下文或者以其它方式提供改善的用户体验;生成个性化内容;和/或向用户呈现通知和相关的内容。操作环境100还可以用于实现图6-7中分别描绘的方法600或700的各方面。
现结合图1来参见图2,该图提供了用于示出适合于实现本公开内容的实施例的示例性计算系统架构并通常指定为系统200的各方面的框图。系统200仅表示适当的计算系统架构的一个例子。除了所示的那些布置和元件之外或代替所示的那些,可以使用其它布置和元件,并且为了清楚说明起见,可以一起省略一些元件。此外,如同操作环境100,本文所描述的许多元件是功能实体,其可以实现为离散或分布式组件或者与其它组件一起,并且以任何适当的组合和位置来实现。
示例性系统200包括结合图1进行描述的网络110,网络110通信地耦合系统200的各组件,这些组件包括用户数据收集组件210、用户界面220、私有模式(IPM)处理程序260、模式管理器270和存储设备225。用户数据收集组件210、模式管理器270、IPM处理程序260和用户界面220的各方面可以体现为一组编译的计算机指令或功能、程序模块、计算机软件服务或者在一个或多个计算机系统(例如,结合图8所描述的计算设备800)上执行的进程的布置。
在一个实施例中,由系统200的组件执行的功能与一个或多个个人助理应用程序、服务或例程相关联。特别地,这些应用程序、服务或例程可以在一个或多个用户设备(例如,用户设备102a)、服务器(例如,服务器106)上操作,可以分布在一个或多个用户设备和服务器上,或者可以在云中实现。此外,在一些实施例中,系统200的这些组件(其包括组件210、260、270、225中的一个或多个、或者220的方面)可以分布在网络上,其包括云中的一个或多个服务器(例如,服务器106)和/或客户端设备(例如,用户设备102a),或者可以驻留在用户设备(例如,用户设备102a)上。此外,这些组件、由这些组件执行的功能或者由这些组件执行的服务可以在适当的抽象层(例如,计算系统的操作系统层、应用层、硬件层等等)上实现。替代地或另外地,本文所描述的这些组件和/或实施例的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如,但不限于,可以使用的示例性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、特定于应用的标准产品(ASSP)、片上系统级系统(SOC)、复杂可编程逻辑器件(CPLD)等等。此外,虽然本文关于示例性系统200中示出的特定组件来描述了功能,但可以预期的是,在一些实施例中,这些组件的功能可以是共享的或者分布在其它组件上。
继续图2,用户数据收集组件210通常负责从一个或多个数据源(例如,图1的数据源104a和104b至104n)访问或接收(并且在某些情况下还识别)用户数据。在一些实施例中,可以采用用户数据收集组件210来促进IPM处理程序260、系统200的其它组件或子组件、和/或与一个或多个用户设备相关联的各种应用程序或服务对于特定用户(或者在某些情况下,包括众包数据的多个用户)的用户数据的累积。数据可以是由用户数据收集组件210接收(或访问),并且可选地累积、重新格式化和/或组合,并存储在一个或多个数据存储器(例如,存储设备225)中,其中在存储设备225中,数据可供系统200的组件或子组件使用。例如,用户数据可以存储在用户简档240或IPM隔离区280中或者与用户简档240或IPM隔离区280相关联,如本文所描述的。在一些实施例中,任何个人识别数据(即,具体识别特定用户的用户数据)不是从具有用户数据的一个或多个数据源上载的、不是永久存储的和/或不可用于系统200的组件或子组件。
可以从各种源接收用户数据,其中在这些源处,数据可以以各种格式可用。例如,在一些实施例中,经由用户数据收集组件210接收的用户数据可以通过一个或多个传感器(例如,图1的传感器103a和107)来确定,这些传感器可以在一个或多个用户设备(例如,图1的用户设备102a或图4的设备401)、服务器(例如,图1的服务器106)和/或其它计算设备上,或者与之相关联。如本文所使用的,传感器可以包括用于感测、检测或以其它方式获得信息(例如,来自数据源104a的用户数据)的功能、例程、组件或者其组合,并且可以体现为硬件、软件或二者。举例而言但非做出限制,用户数据可以包括从一个或多个传感器感测或确定的数据(本文称为传感器数据),比如移动设备的位置信息、移动设备数据(例如,设备状态、收费数据、日期/时间、配置或设置、或者从移动设备导出的其它信息);用户活动信息(例如,app使用情况数据(其可以包括app安装/卸载);关于在用户设备上使用的应用程序和服务或者执行的任务的信息(如,使用时间、访问的文件、应用程序配置、在线活动;搜索;诸如自动语音识别之类的语音数据;活动日志;包括电话、文本、即时消息和电子邮件的通信数据;网站帖子;与通信事件相关联的其它用户数据;与用户设备的其它用户交互;等等),其包括在一个以上用户设备上发生的用户活动、用户历史、会话日志、应用程序数据、联系人数据、日历和日程安排数据、通知数据、社交网络数据、新闻(其包括搜索引擎或社交网络上的热门或趋势项目)、在线游戏数据、电子商务活动(其包括来自诸如 视频流服务、游戏服务或Xbox/>之类的在线帐户的数据)、用户帐户数据(其可以包括来自用户偏好的数据或者与个性化相关的设置(例如,“个人助理”或“虚拟助理”)应用程序或服务)、家庭传感器数据、电器数据(其包括智能电器、智能家庭数字助理和集线器)、全球定位系统(GPS)数据、车辆信号数据、交通数据、天气数据(其包括预测)、可穿戴设备数据、其它用户设备数据(其可以包括设备设置、配置文件、与网络相关信息(如,网络名称或ID、域信息、工作组信息、其它网络连接数据、Wi-Fi网络数据、或配置数据、关于型号、固件或设备的数据、设备配对(如,用户拥有与蓝牙耳机配对的移动电话的位置),例如或者其它与网络相关的信息)、陀螺仪数据、加速度计数据、支付或信用卡使用数据(其可以包括来自用户的PayPal帐户的信息)、购买历史数据(例如,来自用户的Xbox Live、Amazon.com或eBay帐户的信息)、可以由传感器(或其它检测器)组件感测或以其它方式检测的其它传感器数据(其中,这些其它传感器数据包括从与用户相关联的传感器组件导出的数据(包括位置、运动、方向、位置、用户访问、用户活动、网络访问、用户设备计费或者能够由一个或多个传感器组件提供的其它数据))、基于其它数据导出的数据(例如,可以从Wi-Fi、蜂窝网络或IP地址数据导出的位置数据)、以及可以如本文所述地感测或确定的几乎任何其它源的数据。
用户数据收集组件210可以从与用户相关联的一个或多个传感器和/或计算设备接收用户数据(特别是上下文信息的形式)。在一些实施例中,用户数据收集组件210、IPM处理程序260(或者其子组件中的一个或多个)或系统200的其它组件可以从接收的用户数据中确定解释性数据。解释性数据对应于系统200的组件或子组件所使用的数据,其包括来自于处理原始数据的解释。例如,解释性数据可以用于提供针对用户数据的上下文,其可以支持由系统200的组件执行的确定或推断。此外,可以预期的是,本公开内容的一些实施例单独地使用用户数据或者与解释性数据组合地使用用户数据,以用于执行本文所描述的子组件的目标。此外,还可以预期,一些用户数据可以由这些传感器或者未示出的用户数据收集组件210的其它子组件处理,例如用于用户数据收集组件210的可解释性。但是,本文所描述的实施例不将用户数据限制为已处理数据并且可以包括原始数据或者组合,如上所述。
在一些方面,可以在用户数据流或信号中提供用户数据。“用户信号”可以是来自相应数据源的用户数据的馈送或流。例如,用户信号可以是来自智能电话、家庭传感器设备、GPS设备(例如,用于位置坐标)、车辆传感器设备、可穿戴设备、用户设备、陀螺仪传感器、加速度计传感器、日历服务、电子邮件帐户、信用卡帐户或者其它数据源。在一些实施例中,用户数据收集组件210连续地、周期性地或根据需要来接收或访问用户相关数据。
IPM处理程序260通常负责处理与用户设备相关联的私有操作模式。例如,可以提供用户能够选择性调用的用于用户设备的IPM设置。IPM处理程序260的实施例控制在用户在IPM设置下操作移动设备时创建、监视、报告、收集或以其它方式提供给与移动设备相关联的应用程序或服务的用户活动相关数据的各方面。例如,IPM处理程序260可以有助于修改或模糊用户活动相关数据的各方面;控制应用程序或服务对用户活动相关数据的访问;控制如何生成、利用和存储用户活动相关数据;和/或在终止IPM会话时删除用户活动相关数据。在一些实施例中,IPM处理程序260生成并利用(并且在一些情况下还删除)隔离区(例如,IPM隔离区280),以支持IPM会话的用户选项。
如示例性系统200中所示,IPM处理程序260包括传感器数据控制器262、应用程序活动处理程序264、隔离区生成器266、IPM清除组件268和隐私控制器269。传感器数据控制器262控制用户数据收集和生成(其包括由用户数据收集组件210提供的数据)的各方面。例如,传感器数据控制器262的一些实施例拦截(或以其它方式接收)由用户数据收集组件210提供的数据,并且可以进一步控制该数据(例如,通过修改、重新路由、阻塞或以其它方式操纵该数据)。在一些实施例中,传感器数据控制器262部分地用作硬件(或传感器)层与操作系统层(例如,结合图3所描述的IPM传感器数据处理器320)之间的抽象层(或结合其进行操作)。
简短地转到图3,该图说明性地描绘了用于计算系统的抽象层300的各方面。该计算系统是可以由本公开内容的一些实施例使用的计算系统的一个例子。如图3中所示,抽象层300包括硬件/传感器层310、IPM传感器数据处理器320、操作系统(OS)层330、OS服务和中间件层340、IPM app处理层350和应用层360。OS服务和中间件层340可以包括用于通信、数据记录、输入/输出功能等等的OS服务,这些OS服务通常利用由OS层330提供的更基本的OS功能。应用层360可以包括诸如通信应用(例如,短信、电子邮件、呼叫)、浏览器、位置服务、导航等等之类的应用(在某些情况下,或更高层级的服务)。
层310、330、340和360是典型计算系统通常使用的抽象层。在本公开内容的一些实施例中提供的层320和350是非常规抽象层。如本文所描述的,IPM传感器数据处理器320可以经由传感器数据控制器262或者由IPM处理程序260执行的其它功能来实现。在一些实施例中,IPM传感器数据处理器320驻留在硬件/传感器层310和OS层330之间,以拦截和控制(并且在一些情况下修改)从硬件/传感器层310生成的用户活动相关数据。用此方式,OS层330或其它更高级别层接收受控的用户数据。
IPM app处理层350可以通过应用程序活动处理程序264(下面描述)或者由IPM处理程序260执行的其它功能来实现。IPM app处理层350驻留在OS服务和中间件层340(或更一般地,OS层330)和应用程序层360之间,以用于计算机系统在私有模式设置下运行时,管理应用层360对较低层的呼叫或请求。例如,如结合应用程序活动处理程序264进一步描述的,IPM app处理层350可以控制驻留在应用程序层360中的应用程序和服务如何利用用户活动相关数据的各方面。
返回到图2,可以根据设置来控制用户数据,其中这些设置可以指示要控制的用户数据的特定方面,并且可以在用户设置/偏好242(在用户简档240中)或IPM会话设置282(在IPM隔离区280中)中指定,例如。(一些实施例根据可以通过隐私控制器269配置的设置来实现对用户数据的选择性控制,如本文所描述的)。在一些实施例中,可以通过改变特定类型的用户数据的值来控制用户数据,可以执行这些值以去识别或模糊该数据(即,防止用户从数据中识别)或者以其它方式保护用户隐私。例如,可以对指示用户设备在特定位置的位置信息的值(其可以从GPS传感器中确定)进行修改以指示不同的位置。类似地,可以修改(或控制)用户数据以指示用户位于某个区域内而不是特定位置。
在一些实施例中,传感器数据控制器262还根据设置来确定如何修改(或以其它方式控制)数据,并且可以利用用户数据控制逻辑235来这样做。用户数据控制逻辑235可以包括规则、关联、条件、预测和/或分类模型、或模式推断算法。用户数据控制逻辑235可以根据具体的用户数据或设置,采用许多不同的形式。例如,用户数据控制逻辑235的一些实施例可以采用机器学习机制来确定可以用于控制用户数据值的用户相关活动的模式(例如,将用户的位置改变为用户已知访问的另一个位置)、或者支持控制用户数据的其它统计措施。例如,继续该位置示例,将用户的位置改变为人们经常访问的另一个位置(例如,受欢迎的购物中心或公园)。用此方式,在对用户数据进行改变的一些实施例中,可以将数据修改为对于用户而言是现实的替代值,或者是关于用户的可能位置。例如,如果对用户的位置进行改变,则修改的位置可以在人们通常物理上位于的区域(例如,公园或购物中心)而不是在河流或海洋的中间。类似地,基于从用户活动数据248(其可以在正常(非IPM)操作模式期间收集)确定的用户活动的模式,改变的位置可以是用户在该时间期间可能访问的位置。
虽然预期一些实施例可以不包括如上所述的传感器数据控制器262,并且可以替代地利用不受控制或未修改的用户数据,但是具有传感器数据控制器262的功能的实施例提供了包括增加的用户隐私和控制的优点。例如,在利用IPM隔离区的那些实施例中,仅在IPM会话之后删除隔离区不一定保留用户隐私或者提供对于与IPM会话相关联的用户活动相关数据的传播的控制。具体而言,在IPM会话期间使用的一些应用程序和服务可以驻留在云中,可以跨用户设备和一个或多个服务器分布,或者可以以其它方式与服务器通信。因此,可以在IPM会话的过程中,将与IPM会话相关联的用户活动相关数据提供给第三方服务器。因此,期望更好地控制其隐私的用户可能更喜欢包括以下功能的实施例:由传感器数据控制器262提供的用于修改其用户活动相关数据的功能。
应用程序活动处理程序264通常负责管理在IPM会话期间操作的应用程序和服务的用户活动相关数据的各方面。具体而言,应用程序活动处理程序264的实施例控制应用程序和服务在IPM会话中访问、生成或提供的用户活动相关数据。例如,应用程序活动处理程序264可以监测应用程序使用情况、安装和相关服务(例如,数据通信或数据读取/写入请求),以识别涉及用户活动相关数据的事件。然后,应用程序活动处理程序264控制应用程序和服务如何利用用户活动相关数据的方面。例如,在一些实施例中,应用程序活动处理程序264基于数据中标识的特定特征(例如,诸如位置数据之类的特定类型的用户活动相关数据)和基于用户设置(其可以在用户设置/偏好242或IPM会话设置282中指定),来管理用户活动相关数据的利用的各方面。应用程序活动处理程序264的一些实施例与传感器数据控制器262一起操作,以在IPM会话期间控制用户活动相关数据的各方面。此外,应用程序活动处理程序264的一些实施例用作或使用操作系统服务与中间件层和应用程序层(例如,结合图3描述的IPM应用程序处理层350)之间的抽象层。
举例而言,在一个实施例中,应用程序活动处理程序264可以拦截或阻止关于用户活动相关数据的对某些操作系统(OS)服务的调用(即,请求或函数调用)。例如,应用程序活动处理程序264可以识别在IPM会话期间运行的应用程序,其请求与后端服务器通信以报告app使用情况,或者可以尝试向服务器发送其它用户活动相关数据(例如,搜索查询或浏览器历史记录)。应用程序活动处理程序264可以拦截对于与该活动相关联的OS服务的请求,并阻止(例如,删除或下沉)、修改或以其它方式控制该活动。在一些实施例中,应用程序活动处理程序264可以向用户界面220提供信息,以便可以向用户通知特定的应用程序正在请求将其用户活动相关数据发送到服务器。在某些情况下,用户可以随后决定在其设置中重新配置权限,以便启用或阻止该请求。类似地,应用程序活动处理程序264可以(通过用户接口220)向用户通知用户活动相关数据的后端通信,即使用户已经配置了他们的设置以允许通信。更进一步地,在另一个例子中,可以(通过应用程序活动处理程序264和用户界面220)提示用户关于诸如呼叫或文本之类的传入或传出通信,并且询问用户是否期望使呼叫“私有”(即,是否对由于该通信而产生的用户活动相关数据进行控制)。应当注意到,虽然本文描述的实施例提供了隐私功能(在某些情况下,例如前面的例子),但通信的另一方的移动设备可以记录关于识别当前用户的通信的信息。
如先前所描述的,应用程序活动处理程序264的一些实施例与传感器数据控制器262一起操作。例如,在检测到涉及用户活动相关数据的应用程序的特定请求或功能时,应用程序活动处理程序264可以调用传感器数据控制器262,使得用户活动相关数据可以由该应用程序使用,但是在传感器数据控制器262的控制之下。例如,可以修改用户活动相关数据,诸如本文所描述的。在一些实施例中,在应用程序活动处理程序264检测到涉及记录用户活动的应用程序或服务的活动的情况下,应用程序活动处理程序264可以阻止对要记录的数据的记录或存储(例如,通过删除或下沉正在记录的数据的流),或者可以将数据的存储重定向到具有受控访问的存储器中的位置,或者可以在IPM会话终止时进行删除(例如,与隔离区相关联的存储器)。
隔离区生成器266通常负责在用户启动IPM会话时,配置用户设备支持IPM会话。在一些实施例中,隔离区生成器266(或更一般地,IPM处理程序260)在用户设备上分配计算机系统资源的一部分以支持IPM会话环境。所述资源的一部分可以包括计算机系统存储器的一部分,并且IPM会话环境可以与支持正常操作模式的操作环境相隔离。例如,IPM会话环境可以通过运行为在正常操作环境下操作的虚拟机(或其内部)来隔离,如本文所描述的。在一些实施例中,IPM会话环境可以称为IPM隔离区。因此,在一些实施例中,隔离区生成器266可以在IPM会话发起时创建IPM隔离区,其中IPM处理程序260可以利用IPM隔离区(例如,示例性IPM隔离区280(下面描述))以支持IPM会话内的用户操作。在一些实施例中,可以以类似于在计算系统上创建虚拟机的方式来创建IPM隔离区280。例如,隔离区生成器266可以确定用于隔离区的存储器的一部分(在用户设备上或在云中),并将硬件配置文件或用户设备简档、逻辑存储结构、操作系统以及应用程序和服务安装到该存储器上。在一些实施例中,应用程序和服务可以包括已经安装在用户设备上的相同应用程序或服务中的一些或全部。例如,隔离区生成器266可以复制用户设备的状态,或者可以在新创建的隔离区280中包括已经安装在用户设备上的相同应用程序的一部分。在一些实施例中,用户可以通过IPM会话设置282或用户设置/偏好242来配置哪些应用程序安装在隔离区280中。
具体而言,在一些实施例中,可以根据用户设置来配置隔离区的各方面,该用户设置可以是全局的和/或本地的。例如,在使用全局设置的实施例中,可以在用户设置/偏好242中(在用户简档240内)指定该设置,并且可以应用于所有隔离区或者在该用户设备上进行的IPM操作的所有实例。对于使用本地设置的实施例,可以在IPM隔离区280的IPM会话设置282中指定该设置,并且可以在特定的IPM会话内应用。此外,在一些实施例中,可以在终止IPM会话时,删除(清除)IPM会话设置282。因此,在用户设备上没有这些设置的持久证据,并且这些设置可能不适用于未来的IPM会话。还可以预期,一些设置(全局或本地)可以存储在云中,并且可以是临时的(即,在终止IPM会话时删除)或持久的(即,能够应用于多个IPM会话)。例如,这些设置可以存储在与IPM用户ID相关联的在线帐户中,或者存储在由用户维护的帐户中。
举例来说,全局或本地设置可以包括但不限于:关于在隔离区中安装哪些应用程序或服务的设置(即,控制IPM操作范围的设置);针对这些应用程序或服务的特定隐私设置或权限(例如,是否允许特定的应用程序访问某些用户活动相关数据或者允许与在线服务或其它方进行通信,如先前所描述的);对用户活动相关数据控制的其它方面,如上所述(例如,通道和参数设置,例如本文所描述的;是否以及如何修改或去识别特定类型的数据;在IPM会话终止时,是否应当对某些数据进行删除、下沉、清除等等;是否要使用替换数据来覆盖从IPM会话中删除的数据;或者控制本文所描述的用户活动相关数据的其它示例);关于可以由应用程序或服务在隔离区中使用的与IPM会话相关联的用户帐户的信息;要应用于IPM会话的虚拟专用网络(VPN)设置、代理设置和/或IP呼叫设置,这可以进一步增强用户隐私;加密设置;指定哪些事件会导致用户通知的通知设置;隔离区存储器(或者在IPM会话内生成的用户活动相关数据的一部分)是存储在本地还是存储在云中(在结束IPM会话时可以删除),例如存储在与IPM会话相关联的帐户上;或者本文所描述的其它设置或偏好,并结合IPM会话设置282或用户设置/偏好242所具体描述的。在一些实施例中,用户通过用户界面220和隐私控制器269来配置IPM会话设置282或用户设置/偏好242,如下面进一步描述的。更进一步地,一些设置可以是缺省设置和/或可以不由用户配置。
因此,在一个实施例中,隔离区生成器266可以最初基于全局设置来生成隔离区,该全局设置可以在用户设置/偏好242中指定。一旦创建了隔离区,则可以通过配置本地设置来向用户提供进一步配置隔离区(或IPM会话)的选项,可以在IPM会话设置282中指定本地设置。例如,可以提示用户提供位置通道设置,该设置指定应该如何在IPM会话期间对用户相关活动位置数据进行控制。(例如,应当修改用户的位置以指示用户在某个地理区域内。)此外,在一些实施例中,可以在IPM会话内重新配置一些本地设置。例如,用户可能期望改变应用程序使用在IPM会话期间生成的用户活动相关数据的方式。
另外,在一些实施例中,隔离区生成器266可以创建、从用户请求、或者从用户设置访问私有用户ID以在IPM会话期间使用。该用户ID可以包括与用户相关联的名称和/或帐户信息,例如帐户、/>帐户或类似身份)。在某些情况下,私有用户ID与普通用户ID相同;在某些情况下,它可以是不同的,并且可以基于用户设置来确定。在创建它的实施例中,可以随机地创建私有用户ID或者可以向用户提供建议。在一些实施例中,用户可以具有与多个不同的私有用户ID相关联的某些设置,以便基于用户提供或指定的特定私有用户ID来进一步配置隔离区(或IPM会话)的各方面。
在一些实施例中,隔离区生成器266可以生成(根据设置)复制了用户设备的状态的隔离区。在其它实施例中,隔离区生成器266可以生成具有与用户设备硬件或OS不同的硬件配置文件和/或OS的隔离区(类似于创建被配置为与支持虚拟机的设备或OS具有不同类型的计算机系统或OS的虚拟机)。另外,在一些实施例中,在启动IPM会话时,隔离区生成器266(或IPM处理程序260或系统200的另一子组件)在存储器中存储用户设备的IPM前状态的各方面。用此方式,在IPM会话终止时(或者在某些情况下,在将模式从IPM切换到正常模式时),可以重新加载IPM前状态信息,并且因此用户设备的状态(至少部分地)恢复到IPM前会话状态。
IPM清除组件268通常负责移除、删除或控制与IPM会话相关联地生成的用户活动相关数据的方面。例如,如上所述,在IPM会话期间或者在终止IPM会话期间,可以删除或者以其它方式控制用户活动相关数据的各方面,以便保护用户隐私和/或促进对用户数据的用户控制。在利用隔离区280的一些实施例中,IPM清除组件268负责从存储器中删除隔离区280。此外,在删除IPM相关数据(其可以包括隔离区280)之前或之后,IPM清除组件268还可以执行一项或多项清除服务。
例如,IPM清除组件268可以首先卸载在IPM会话期间安装的应用程序。通过首先卸载应用程序,而不是简单地删除隔离区280,在用户连接到应用程序商店或应用程序管理器时,在线服务(例如,应用程序商店或应用程序管理器)将不用尝试重新安装这些应用程序。在正常操作模式下,用户也不会基于这些应用程序在应用程序商店(或目标广告)中接收推荐。(例如,某些技术将使用用户安装的应用程序的日志,以便这些应用程序可以自动地重新安装/重新填充到新用户设备或恢复的用户设备上。)在一些实施例中,IPM清除组件268可以在结束IPM会话之前卸载应用程序(或注销服务或帐户),或者可以在经过一段时间之后这样做。
其它清除服务可以包括但不限于:卸载或注销与IPM会话相关联的应用程序、服务、配置文件或帐户;删除日志或者否则在终止IPM会话和清除与IPM会话相关联的存储器时可能不删除的其它用户数据(例如,通过删除IPM会话中使用的隔离区280);将用户设备的状态的各方面恢复到IPM会话之前的状态(如本文所描述的);或者有助于移除IPM会话的指示、移除或控制(例如,修改)结合IPM会话生成的用户数据、或者将用户设备从IPM恢复到正常操作模式以便保持关于在IPM会话期间执行的用户活动的用户隐私的其它服务。
例如,一种示例性清除服务可以有助于生成替换用户数据,以填充由于删除与IPM会话相关联的用户数据而生成的漏洞。该替换数据可以是通用的(即,不特定于特定用户),可以基于从其他用户获得的众包信息来生成,或者可以基于当用户处于正常操作模式时观察到的用户活动的模式来生成,这可以从用户活动历史或先前由移动设备收集的日志导出。
在一些实施例中,IPM清除组件268还可以基于用户设置,来清除、修改或以其它方式控制在用户设备上生成的其它用户活动相关数据(或者可以向用户提供该选项)。具体而言,可以预期的是,一些实施例可以利用IPM处理程序260的功能来管理在用户设备的正常操作模式的过程中生成的用户相关活动。如上所述,典型用户很难知道或控制在其用户设备上操作的应用程序和服务如何使用或共享其用户活动相关数据。因此,在一些实施例中,IPM处理程序260提供的功能可以用于管理其它用户活动相关数据(即,不是与IPM会话相关联的数据)。例如,隐私控制器269和IPM清除组件268可以使用户(经由用户界面220)能够识别和控制与其用户设备上的应用程序和服务相关联的用户数据的各方面。因此,在这些实施例中,可以通过简单的用户界面,向用户提供他们的隐私足迹的更完整的图像(即,从正常操作模式收集到多少数据并已经知道多少数据)。另外,通过用户界面220和IPM处理程序260的功能,可以使用户能够控制来自正常操作模式的用户活动相关数据。例如,用户可以修改其位置历史记录或者删除即时消息传递日志。用此方式,这些实施例通过使用户能够更容易地理解和控制他们的用户数据(即使它不与IPM会话相关联),来提供对用户隐私技术的显著改进。
隐私控制器269通常负责结合用户界面220和IPM会话设置282或用户设置/偏好242来促进对用户活动相关数据的用户控制。在一些实施例中,隐私控制器269向用户界面220提供计算机指令,以用于显示用户隐私设置的各方面或用于接收用户输入来配置用户隐私设置的各方面。例如,如上所述,本文所描述的一些实施例使用户能够指定哪些特定的应用程序或服务在IPM内操作。类似地,如上所述,一些实施例使用户能够控制向在其用户设备上运行的应用程序和服务提供哪些用户活动相关数据。例如,用户可以选择用户相关活动信息的特定方面(本文称为用户相关活动信息的“通道”),其可以包括用户相关活动信息的类型(例如,位置、通信、应用程序使用情况),并且还可以包括用于这些类型的用户相关活动信息的数据值、条件和/或其它设置(“参数”)。可以根据经由隐私控制器269和用户界面220配置的用户设置,来控制用户活动相关数据的通道和任何相应的通道参数。隐私控制器269可以分别根据设置是全局的还是要保留的、或者设置是否仅适用于特定的IPM会话,将通过用户界面220接收的设置存储为IPM会话设置282或用户设置/偏好242。
在图5A、5B、5C和图5D中说明性地提供了作为隐私控制器269的各方面操作的用户界面220的示例性实施例。参照图5A,并继续参考图2,图5A提供了示例性用户界面220,其示出了用户设备(例如,智能电话)上的示例性设置菜单501。该设置菜单501包括设备私有设置510,用户可以选择性地调用该设备私有设置510以开始IPM会话。
参照图5B,并继续参考图2,图5B提供了示例性用户界面220,其示出了示例性IPM设置控件521,IPM设置控件521是隐私控制器269的实施例的示例方面。这里,示例性IPM设置菜单521包括用于促进IPM和正常操作模式之间切换的切换控件525、以及用于用户活动相关数据通道的各种示例性设置(例如,项530、534、536和538)和示例性通道参数531。具体而言,用于示例性位置通道530的设置使用户能够指定IPM处理程序260应当如何控制用户相关活动位置数据。在图5B的例子中,对位置通道进行配置,使得在IPM会话内,用户的位置是围绕感兴趣点(POD)的随机(伪随机)位置。如先前所解释的,可以对该位置进行控制以指示伪随机位置,其中该伪随机位置是人的有效位置(例如,不位于河流或海洋的中间)。
图5B还示出了用于设置感兴趣点的值的位置通道的示例性通道参数。这里,具体而言,将POI设置为用户先前访问过的位置。例如,可以通过在正常操作模式期间收集的用户活动数据248,来确定先前访问过的位置(或者用户经常访问的场所)。IPM设置控件521或隐私控制器269的一些实施例可以显示将被提供给IPM会话中的应用程序和服务的实际受控位置。用此方式,用户知道在IPM会话期间由应用程序和服务报告、记录或消费的特定位置。
如图5B中所示,IPM设置控件521还包括:示例性呼叫日志通道设置(项534),以用于控制呼叫记录数据通道(例如,是否记录或不记录呼入或呼出呼叫);示例性应用程序通道设置(项536),以用于指定在退出IPM会话时是否应当自动卸载应用程序以返回到正常操作模式;以及示例性应用程序使用通道设置(项538),以用于指定是否在IPM会话期间记录应用程序使用情况。在如本文所述的一些实施例中,IPM处理程序260的各种子组件根据经由隐私控制器269(并且经由用户界面220)配置的IPM会话设置282或用户设置/偏好242中指定的设置进行操作。例如,如本文所描述的,传感器数据控制器262可以基于这些设置来修改用户活动相关数据的特定方面。
参照图5C,并继续参考图2,图5C提供了另一个示例用户界面220,其示出了另一示例性IPM设置控件541,该IPM设置控件541是隐私控制器269的实施例的示例方面。如先前所描述的,在一些实施例中,用户可以配置敏感度级别或隐私保护程度(即,对哪些用户活动相关数据进行模糊、修改或以其它方式保持为私人,如果适用的话,以及对数据进行模糊或修改的程度)。敏感度级别可以是基于缺省设置或者基于该用户或其他用户的先前行为模式。在图5C中所示的例子中,使用滑块550形式的GUI元素来配置敏感度级别。例如,通过调整滑块550的位置,用户可以容易地将隐私敏感度调整到不同的敏感度级别。
示例性IPM设置控件541示出了四种示例性敏感度级别:低、中、高和极高。仅作为示例而非限制,“低敏感度”级别可以仅将IPM控制应用于用户的位置信息,或者可以将位置改变到另一个附近位置。中等敏感度级别也可以将IPM控制应用于用户的通信(例如,呼叫或消息)。高敏感度级别还可以包括:对用户的应用程序安装和使用情况应用IPM控制。(中高设置(没有示出)可以对用户的一些应用程序(这些应用程序可以由用户来指定)使用情况/安装应用IPM控制)。极高敏感度级别可以通过对数据进行下沉或删除和/或阻止对用户活动相关数据的几乎所有读/写请求,将IPM应用于几乎所有用户活动相关数据,在某些情况下可能导致某些应用程序或服务无法正常运行。在这种极高配置中,相对于具有完全可操作的应用程序和服务的便利,用户可能会选择隐私。在一些实施例中,可以从一组离散或特定的敏感度级别(例如,低、中、高、极高)确定敏感度,或者可以基于连续的比例或几乎连续程度的敏感度谱(例如,从零敏感度或低敏感度到最大或极高敏感度)来确定敏感度。
在一些实施例中,用户可以定制以各种敏感度级别定制的特定应用程序或服务,例如选择以每个敏感度级别显示的“定制”选项。(在一些实施例中,可以在示例性设置控件541中呈现单个“定制”选项,可以在不同的设置控件或用户界面上配置定制,或者不提供特定应用程序和服务的定制。在示例性设置控件541中,提供“查看更多细节”选项以提供关于隐私敏感度设置的其它信息。例如,在一个实施例中,选择“查看更多细节”可以呈现类似于图5D的设置控件561的例子的图形用户界面。
现在参照图5D,并继续参考图2,图5D提供了另一个示例性用户界面220,其示出了另一示例性IPM设置控件561,IPM设置控件561是隐私控制器269的实施例的示例方面。示例性IPM设置控件561提供了IPM用户隐私设置的“一目了然的”视角。具体而言,IPM设置控件561包括显示隐藏的活动的图形元素570和显示可见的用户活动的图形元素580。隐藏的活动包括在IPM内运行的用户活动相关数据(其可能包括通道)、应用程序或服务。例如,如图5D的示例性配置中所示,在574处,将位置、呼叫、消息和某些应用程序活动包含在隔离区或IPM会话中。此外,特定的应用程序活动(图5D的项576)包括WeChat(微信)、搜索、Play商店(或App商店)和地图App。用户可以通过选择项577,来添加或移除另外的App或服务。类似地,可见的用户活动(在项580处)包括在正常模式下操作的用户活动相关数据(其可以包括通道)、应用程序或服务,因此其对于用户或第三方可能是可见的。(虽然在该例子中使用术语可见,但预期的是,这些应用程序、服务或用户活动相关数据不一定是可见的,而是这些项或关于这些项的信息可以是用户或第三方可访问的(例如,当app将信息传递给后端服务器时,如本文所描述的))。例如,如图5D的示例性配置中所示,在584处,应用程序安装、浏览和照片(例如,在用户设备上拍摄的照片)不在IPM内操作,因此可能对其他人是可见或可访问的(或者更具体地,与应用程序安装、浏览和照片有关的信息可以是可访问的)。另外,通过操作这些应用程序和服务而生成的用户活动相关数据也可以是可见的或可访问的。
IPM设置控件521、541和561(分别为图5B、5C和5D)仅是隐私控制器269的示例性实施例的方面。其它实施例可以提供另外的信息,或者包括用于进一步配置的功能,例如控制哪些应用程序或服务包含在隔离区中或者以其它方式操作IPM、哪些应用程序或服务可以访问用户活动相关数据、或者甚至为特定应用程序或服务指定不同的通道和参数。用此方式,例如,一个应用程序可以接收更具体的用户数据,另一个应用程序可以接收更模糊的用户数据。(或者类似地,可以向第一应用程序提供用户设备的一个位置,可以向第二应用程序提供用户设备的第二不同位置。)隐私控制器269的一些实施例可以包括:指示某些应用程序或服务是否应当知道用户处于IPM会话的设置。例如,一些应用程序和服务可以具有它们自己的内置隐私功能(例如,用户信息的有限记录),当在IPM会话期间运行该应用程序或服务时可以调用这些内置隐私功能。在某些情况下,如果有关IPM设置的信息未暴露给应用程序或服务,则可以假设该应用程序或服务认为它在正常或常规模式下运行。
返回到图2,示例系统200还包括模式管理器270。模式管理器270通常负责管理IPM和正常模式之间的切换。如本文所描述的,在一些实施例中,用户可以选择性地在IPM和正常模式之间切换,以便在两种环境中利用应用程序和服务。例如,用户可以参与两个文本消息对话:一个处于正常操作模式,其可以利用用户的名称(或主用户ID、电话号码等等),另一个文本消息对话处于IPM中,其可以利用不同的名称或私有用户ID。在这些情况下,模式管理器270可以促进资源管理和/或存储器分离的各方面(例如,当两个应用程序同时运行时)。例如,模式管理器270可以在切换到IPM时,将存储器从正常模式推送到堆栈(或永久存储器),以便于在结束IPM会话时将用户设备恢复到IPM会话之前的状态(例如,通过从堆栈中取出内存)。
作为资源管理的另一个例子,模式管理器270可以结合会话数据控制器262和/或应用程序活动处理程序264进行操作(或者在一些实施例中,它们对应的抽象层),以管理用于两种模式的用户活动相关数据。例如,模式管理器270可以指示传感器数据控制器262,为在正常模式下运行的特定应用程序保留未修改的传感器数据,但是为在IPM中运行的应用程序修改该数据(即使它是同一应用程序的实例)。在一些实施例中,模式管理器270管理用户设备存储器,或者便于处理IPM隔离存储器或资源(例如,在切换到正常模式或者从正常模式切换时,临时地存储或加载IPM会话存储器)。
模式管理器270的一些实施例还可以协调向用户显示关于用户设备是以私有模式还是正常模式操作的通知(例如,图5B中所示的锁符号599)。另外,在一些实施例中,当切换控件555以打开/关闭IPM设置或离开并返回到IPM会话时,可以调用模式管理器270。(例如,隐私控制器269的一些实施例可以包括暂停/恢复控制器或者使用户能够切换到正常模式的选项。)
示例系统200还包括用户界面220,其可以包括图形用户界面(GUI)或其它用户界面。用户界面220的实施例还可以用于以可以在用户设备上显示的格式,呈现由IPM处理程序260或者系统200及其组件生成的各种界面和各种其它输出。在一些实施例中,用户界面220包括用于跨越与用户相关联的一个或多个客户端设备,来管理向该用户呈现内容(或者从该用户接收输入)的功能。在一些实施例中,用户界面220包括用于生成或呈现GUI特征的功能。这些特征可以包括界面元素(例如,图形、按钮、滑块、菜单、音频提示、警报、警告、振动、弹出窗口、通知栏或状态栏项、应用内通知或者用于与用户交互的其它类似功能)、查询和提示。例如,在一个实施例中,用户界面220包括用于呈现与隐私控制器269相关联的一个或多个用户界面的功能(例如,图5B中的IPM设置菜单551的示例性用户界面)。具体而言,在一些实施例中,用户界面220可以与隐私控制器269相关联或者用于配置各种设置。例如,用户可以经由用户界面220来设置或修改IPM会话设置。在一个实施例中,通过用户设备上的应用程序或服务来提供用户界面220。在一个实施例中,用户界面220和隐私控制器269包括仪表板或控制面板,使用户能够管理其用户活动相关数据和/或IPM会话的各方面,并可视化其隐私暴露的各方面,诸如配置的用于控制应用程序和服务如何使用其用户活动相关数据的设置。
示例系统200还包括存储设备225。存储设备225通常存储在本文所描述的实施例中使用的包括数据、计算机指令(例如,软件程序指令、例程或服务)、逻辑(例如,上面所描述的用户数据控制逻辑235)、用户简档240、IPM会话数据和/或IPM隔离区280的信息。在一个实施例中,存储设备225包括数据存储或计算机数据存储器。此外,虽然描绘为单个数据存储组件,但是存储设备225可以体现为一个或多个数据存储或者可以在云中。
如示例系统200中所示,存储设备225包括一个或多个用户简档240,在图2中示例性地提供了其示例性实施例。示例性用户简档240包括与特定用户相关联的信息,其包括用户设置/偏好242、用户帐户/凭证244、应用程序和服务246以及用户活动数据248。在一个实施例中,用户简档240可以与Microsoft帐户、Google帐户(或Google Drive)、Apple iCloud或者在线基于云的存储帐户相关联。
上面描述了用户设置/偏好242,其通常包括用于私有操作模式的设置和偏好、以及其它用户设置。具体而言,在一些实施例中,可以根据用户设置/偏好242(和/或IPM会话设置282,如本文所述)来指定在IPM中操作的方面(其包括IPM处理程序260及其子组件的操作)。在一些实施例中,用户设置/偏好242可以用作应用于在用户设备上进行的IPM操作的多个实例的“全局”或持久设置。另外,在一些实施例中,用户可以经由用户界面220和隐私控制器269来配置用户设置/偏好242,如本文进一步描述的。
用户帐户/凭证244通常包括与用户帐户相关联的数据,例如在线帐户(如,电子邮件、社交媒体)、Net通行证、与用户帐户相关的用户数据(如,用户电子邮件、文本、即时消息、呼叫和其它通信);社交网络帐户和诸如新闻馈送的数据;在线活动;以及日历、约会、应用程序数据等等。例如,用户帐户/凭证244可以包括用于正常操作模式的用户ID(和相应的凭证),如本文所描述的。在某些情况下,用户的私有用户ID(和相应的凭证)也可以存储在此处。用户帐户/凭证244的一些实施例跨一个或多个数据库、知识图或数据结构来存储信息。
应用程序和服务246通常包括在用户设备上操作或者与用户设备相关联的一个或多个计算机程序、软件服务或例程。在一些实施例中,应用程序和服务246可以是在用户设备上运行并由其操作系统支持的独立计算机程序。在本文所描述的实施例中,可以认为这些应用程序和服务在运行或者与用户设备的正常操作模式相关联。例如但不限于,应用程序可以包括由用户安装的app,比如即时消息应用程序、视频播放器或web浏览器。一些应用程序和服务246也可以集成到操作系统中,例如内置在操作系统中的服务或例程(如,某些通信服务、用户界面服务或读/写服务)。在一些实施例中,IPM处理程序260或子组件(例如,隔离区生成器266)可以使用来自应用程序和服务246的信息,以识别要复制到IPM会话或IPM隔离区280中的特定应用程序和服务。
用户活动数据248通常包括从用户数据收集组件210收集的用户数据(其包括用户活动相关数据)(在一些情况下,可以包括与特定用户相关的众包数据),并且还可以包括诸如位置历史和使用数据之类的用户历史或日志。在一些实施例中,隐私控制器269可以利用用户活动数据248中的信息的各方面来提供用户隐私暴露的整体视角(即,用户设备收集关于用户的用户相关活动信息)和/或管理该信息的集合。本文所描述的实施例中的一些可以利用用户活动数据248中的信息,来修改与IPM会话相关联的用户活动相关数据的各方面。举例而言,如上所述,在一些实施例中,IPM会话期间的用户位置信息可以使用基于用户活动的模式来确定的其它位置信息(例如,用户可能在IPM会话期间访问的位置或用户先前访问过的位置)进行改变(或替换)。
继续示例系统200,存储设备225还包括一个或多个IPM隔离区280,在图2中示例性地提供了其示例性实施例。示例性IPM隔离区280包括与特定IPM会话相关联的数据、逻辑和/或计算机指令,可以包括IPM会话设置282、用户帐户/凭证284、应用程序和服务286、用户活动数据288和设备简档289等等。如先前所描述的,在一些实施例中,IPM隔离区280可以由IPM处理程序260或者其子组件生成和使用;例如,IPM隔离区280可以由隔离区生成器266创建,以用于支持IPM会话,并且可以在终止IPM会话时由IPM清除组件268进行删除。
以上描述了IPM会话设置282,其通常包括用于特定IPM会话的设置。具体而言,在一些实施例中,可以根据IPM会话设置282来指定IPM会话的各方面(其包括由IPM处理程序260及其子组件执行的操作)。例如,在一个实施例中,隔离区生成器266可以最初部分地基于用户设置/偏好242来生成隔离区。一旦创建了隔离区,则可以通过配置IPM会话设置282向用户提供进一步配置隔离区(或IPM会话)的选项(或可以进行提示)。例如,可以提示用户提供位置通道设置,其指定在IPM会话期间用户相关活动位置数据应当如何进行控制。此外,在一些实施例中,可以在IPM会话内,重新配置一些本地设置。在一些实施例中,可以在终止IPM会话时,删除(或清除)IPM会话设置282。另外,在一些实施例中,用户可以经由用户接口220和隐私控制器269来配置IPM会话设置282,如本文进一步描述的。
用户帐户/凭证284通常包括与在IPM会话内使用的用户帐户相关联的数据,比如在线帐户(例如,电子邮件、社交媒体)、Net通行证、与用户帐户相关的用户数据(如,用户电子邮件、文本、即时消息、呼叫和其它通信);社交网络帐户和诸如新闻馈送的数据;在线活动;以及日历、约会、应用程序数据等等。用户帐户/凭证284可以包括与用于正常操作模式的用户帐户/凭证244相同(或一些相同)或不同的信息。例如,用户帐户/凭证244可以包括用于IPM操作的私有用户ID(和相应的凭证),如本文所述,该私有用户ID可以是与用于正常操作模式的用户ID相同的ID(具有相同的相应凭证),也可以是不同的用户ID。
应用程序和服务286通常包括在IPM会话期间在用户设备上操作的一个或多个计算机程序、软件服务或例程,或者与IPM隔离区280支持的特定IPM会话相关联的一个或多个计算机程序、软件服务或例程。在一些实施例中,应用程序和服务286可以从应用程序和服务246(从正常操作模式)中确定,和/或可以在用户设置/偏好242或IPM会话设置282中指定。另外,如本文所述,在一些情况下,可以在IPM会话结束时或者在IPM会话中经过一段时间之后,卸载或注销应用程序和服务286(例如,通过IPM清除组件268)。
用户活动数据288通常包括在IPM会话期间收集的或者与IPM会话相关联的从用户数据收集组件210收集的用户数据(其包括用户活动相关数据)。IPM处理程序260或者其子组件中的一个或多个可以在IPM会话期间控制用户活动数据288。例如,在一些实施例中,可以从传感器数据控制器262接收用户活动数据288;例如,如本文所述,传感器数据控制器262可以接收和控制(包括修改)来自用户数据收集组件210的用户数据,并使其可用于与IPM会话相关联的应用程序和服务286。在一些实施例中,在IPM会话期间,可以不对某些用户活动数据288(其可以在用户设置/偏好242或IPM会话设置282中指定)进行收集、监视或存储,可以在应用程序或服务286需要时保留在IPM隔离区280内,和/或可以在终止IPM会话时进行删除。在一些实施例中,隐私控制器269可以利用用户活动数据288中的信息的各方面,来管理或控制IPM会话内的用户活动相关数据。
设备简档289通常包括关于在IPM隔离区中建模的用户设备简档、系统或硬件配置文件的信息,以用于支持IPM会话或以其它方式与IPM隔离区280相关联。例如,如上所述,隔离区280的一些实施例可以具有与底层用户设备硬件和/或OS(即,移动设备本身的硬件和OS)不同的用户设备简档(或硬件配置文件或OS)。这类似于某些虚拟机技术,其中虚拟机技术可以被配置为作为与支持该虚拟机的设备或OS不同类型的计算机系统或操作系统来操作。通过使用与底层用户设备硬件不同的IPM会话的设备简档实现的其它隐私优点在于:一些应用程序和服务286可以基于从硬件或用户设备特征(例如,硬件ID或者表征用户硬件、OS和/或应用程序和服务286的各方面的信息所创建的散列)导出的信息,来跟踪或识别用户。因此,通过控制该信息,保留了用户隐私。在一些实施例中,可以在用户设置/偏好242或IPM会话设置282中指定设备简档289的各方面。
现在转到图4,该图提供了用于示出在用户设备上进行的示例性IPM会话的各方面的图。图4示出了在示例性IPM会话期间,用户设备的三个表示或状态410、420和430。IPM会话开始于状态410,其中在该状态下,用户设备401示出为处于正常操作模式。具体而言,将用户设备401示出为具有主应用程序商店425,主应用程序商店425包括安装的应用程序和可以包括用户活动相关数据的用户数据。主应用程序商店425可以体现为图2中的系统200的应用程序和服务246以及用户活动数据248。用户设备401还具有主用户ID 412,其在正常操作模式期间与用户相关联,并且可以存储在图2的系统200的用户帐户/凭证244中。
在状态420,IPM会话开始,用户设备401现在包括与正常操作模式相关联的计算机系统(诸如各种系统资源)的各方面(指定为项430)、以及与IPM会话相关联或者支持IPM会话的计算机系统(诸如各种系统资源)的各方面(指定为项460)。在一些实施例中,用户可以选择私有模式设置(例如,图5B的切换开关555用户界面元素)来启动IPM会话。在一些实施例中,项460可以对应于在用户设备上操作的隔离区(例如,图2中描述的示例性IPM隔离区280),其可以像虚拟机一样运行。因此,在一些实施例中,在开始IPM会话时,创建用于支持IPM的隔离区。
具体而言,用户设备401现在包括私有应用程序商店480(第二应用程序商店)、将由项460指定的IPM会话所使用的第二用户ID 484、以及环境专用控件470。在一些实施例中,私有应用程序商店480可以如结合系统200(图2)中的IPM隔离区280的应用程序和服务286以及用户活动数据288所描述的那样实现。此外,在一些实施例中,用户的现有应用程序和服务(例如,已经安装在用户设备上的应用程序和服务)被动态地自动安装到隔离区中,根据那些应用程序和服务的商业条款,向应用程序提供者提供额外费用或不支付额外费用。
在图4所描绘的示例性实施例中,环境专用控件470可以用于管理用户设备上的操作模式(包括在正常和IPM之间切换)以及管理IPM的特定方面(例如,用于控制用户活动相关数据的各种设置)。因此,由环境专用控件470提供的功能类似于由系统200的模式管理器270和IPM处理程序260(或者诸如隐私控制器269的子组件)提供的功能。因此,在一些实施例中,用户可以设置用户活动相关数据(或者由用户数据收集组件210收集的其它数据)的值以及对数据进行控制以提供给在IPM会话中运行的应用程序和服务的方法(即,在私有应用程序商店480中的应用程序和服务)。此外,在一些实施例中,与IPM会话相关联的应用程序和服务数据(例如,呼叫日志、分数、位置、设置等)存储在与正常模式环境430或主应用程序商店425兼容的数据结构中的隔离区内。
在状态430处,用户设备401支持两种操作模式:正常模式(在项430处指定)和IPM(在项460处指定)。将状态420的第二用户ID 484示出为私有用户ID 484。如本文所描述的,在一些实施例中,该用户ID可以与普通或主用户ID 412相同。在一些实施例中,用户可以选择关于登录哪个用户ID进入隔离环境。用此方式,用户可以选择不是主ID的另一个ID,因此其不在主应用程序环境中使用。该私有ID(和相应的凭证)可以用于与私有模式环境相关联的应用程序和服务,类似于在正常模式中使用主用户ID和凭证的方式。
在一些实施例中,用户可以在两种环境中利用几乎同步的应用程序和服务。例如,用户可以使用对应于正常和受控(IPM)环境的两个用户ID(主ID和私有ID)通过文本消息进行通信。在结束IPM会话时,用户设备清除用于支持IPM的计算系统资源(指定为项460,其可以体现为IPM隔离区280)(即,完全地擦除隔离区虚拟设备或者删除支持IPM的存储器、释放资源、注销服务、卸载应用程序等等,如本文所描述的)。然后,将用户设备的状态恢复到状态410,状态410是进行IPM会话之前的设备状态。
现在转到图6,其提供了示出用于在用户设备上提供私有模式(IPM)操作会话的一个示例性方法600的流程图。在一个实施例中,方法600可以部分地由系统200的IPM处理程序260执行。在一个实施例中,可以使用一个或多个服务器或其它计算设备,将方法600执行为基于云的过程或分布式计算过程。方法600的每个框或步骤以及本文描述的其它方法包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可以由执行存储在存储器中的指令的处理器来执行。这些方法还可以体现为存储在计算机存储介质上的计算机可用指令。这些方法可以由独立应用程序、服务或托管服务(独立或与其它托管服务组合)、或者另一产品的插件来提供,仅举几个例子。
在步骤610,该方法包括:接收开始IPM会话的指示和与IPM会话相对应的用户设置。步骤610的实施例可以包括:从用户接收进入私有操作模式或以其它方式开始IPM会话的指示。例如,在一个实施例中,用户可以选择设置(例如,图5B中的切换开关555)以打开IPM并开始IPM会话。用户设置可以包括在用户设置/偏好242中指定的配置设置(其可以应用于所有IPM会话),和/或在IPM会话设置282中指定的配置设置(其适用于该特定的IPM会话),如结合图2所描述的。在一些实施例中,该设置可以指定用于控制在IPM会话期间生成或使用的用户活动相关数据的各方面;例如,修改某些通道或参数(例如,位置信息)。
在步骤620,该方法包括:在用户设备上分配资源的一部分以提供IPM会话环境。所分配的资源的一部分包括计算机系统存储器的一部分,并且将IPM会话环境提供为与用户设备的正常操作环境相隔离。步骤620的实施例通过创建具有用于支持IPM会话的计算机系统资源的IPM会话环境,来初始化IPM会话环境。将IPM会话环境创建为与用户设备上的正常操作环境相隔离;例如,如先前所描述的,可以通过运行为在正常操作环境上操作的虚拟机(或在其内)来隔离IPM会话环境。在一些实施例中,将IPM会话环境与正常操作环境相隔离,并且可以体现为图2中所描述的隔离区280。可以使用隔离区生成器266(或IPM处理程序260)来执行步骤620的一些实现,诸如图2的系统200中所描述的。结合图2中的IPM处理程序260来提供步骤620的实施例的其它细节。
在步骤630处,该方法包括:在IPM会话环境内操作一个或多个应用程序和服务。这些应用程序和服务在IPM会话内或者与IPM会话相关联。(例如,在图2的IPM隔离区280中描述的应用程序和服务286。)在步骤630中,用户可以通过使用与IPM会话相关联的一个或多个应用程序和服务,或者使用在IPM会话内安装和操作的一个或多个应用程序和服务,来使用IPM会话。如先前所描述的,当创建IPM会话环境或隔离区时,一些实施例将已经安装在用户设备上的app(在正常模式下)复制到IPM隔离区中。在一些实施例中,提供的用于在IPM会话或隔离区280中使用的应用程序或服务可以通过用户设置(例如,用户设置/偏好242或IPM会话设置282)来指定。
在步骤640处,该方法包括控制以下中的至少一个:(a)在所述一个或多个应用程序和服务的操作(步骤630)期间生成的用户活动相关数据的方面;(b)从正常操作环境提供给IPM会话环境的用户活动相关数据的方面。可以从与用户设备相关联的一个或多个传感器(例如,结合图2中的用户数据收集组件210描述的传感器)接收用户活动相关数据,根据在步骤610中接收的设置来控制用户活动相关数据。具体而言,步骤640的实施例控制:在IPM会话内操作的应用程序和服务生成的用户活动相关数据、或者提供给IPM会话环境的用户活动相关数据的各方面。例如,关于(b),在IPM会话内运行的app请求用户位置数据(其是用户活动相关数据的例子)的情况下,步骤640的实施例可以例如通过基于用户设置修改位置数据,来控制提供给该app的位置数据,如先前所描述的。结合图2的传感器数据控制器262来描述步骤640的该功能的其它细节,在步骤640中执行的该功能的一些实施例可以由会话数据控制器262(或者IPM处理程序260)来提供。类似地,步骤640的实施例可以控制:(a)在IPM会话环境内运行的一个或多个应用程序或服务生成的用户活动相关数据。例如,可以对消息传递app生成的用户活动数据的某些日志记录进行修改、删除、下沉,或者可以对读取/写入请求进行阻止(或者用于阻止用户活动的记录和存储的类似手段)。结合图2的应用程序活动处理程序264描述了步骤640的该功能的其它细节,在步骤640中执行的该功能的一些实施例可以由应用程序活动处理程序264(或者由IPM处理程序260)来提供。因此,步骤640的一些实施例考虑了控制用户活动相关数据的两个功能:即可以由在IPM会话内运行的(或与之相关联的)应用程序和服务生成的数据、以及可以由这些应用程序和服务使用的数据,但是其可以由用户设备的其它组件(包括硬件组件,例如一些传感器)来提供。
在步骤650处,在接收到结束IPM会话的指示时,该方法包括:释放用户设备上用于提供或支持IPM会话环境的资源部分,并删除计算机系统存储器的该部分的内容。步骤650的实施例通常有助于从用户设备(或其它存储器)中去除IPM会话数据。例如,可以删除分配的用于支持IPM会话的存储器(例如,隔离区280),并且可以释放或解除分配已经保留的用于支持IPM会话的其它系统资源。在一些实施例中,在删除IPM会话数据之前,可以卸载在IPM会话期间安装的任何应用程序和/或可以注销注册的服务。另外,在一些实施例中,可以生成一组替换数据以替换在删除IPM会话数据时删除的用户数据,如本文所描述的。步骤650的一些实施例可以由图2的IPM清除组件268执行。结合图2的IPM处理程序260描述了步骤650的其它细节。
现在参见图7,该图提供了示出用于通过在用户设备上提供私有模式,来控制用户隐私的示例性方法700的流程图。在一些实施例中,方法700可以部分地由系统200的IPM处理程序260来执行。还可以使用一个或多个服务器或其它计算设备,将方法700执行为基于云的过程或分布式计算过程。
因此,在步骤710处,该方法包括:确定用于IPM隔离区的配置,该隔离区包括与包括用户设备上的计算机存储器的计算系统资源的一部分相关联的虚拟机,该计算机存储器被配置为存储包括在IPM操作期间生成的用户活动数据的数据内容。步骤710的实施例确定用于支持用户设备上的IPM操作的隔离区(例如,结合图2描述的隔离区280)的配置。如本文所描述的,可以根据诸如用户设置/偏好242或IPM会话设置282之类的设置来确定隔离区的配置。例如,设置可以确定将在隔离区中安装哪些应用程序、或者在隔离区中或IPM操作期间将如何处理用户活动相关数据的各个通道。在一些实施例中,可以首先根据全局设置来配置隔离区,该全局设置可以在用户设置/偏好242中指定,然后根据与特定IPM会话相关联的设置(例如,IPM会话设置282)来配置。此外,在一些实施例中,用户设置可通过隐私控制器用户界面进行用户调整(例如,结合图2的隐私控制器269所描述的)。
在步骤720处,该方法包括:根据在步骤710中确定的配置,在用户设备上生成隔离区。步骤720的实施例创建用于在用户设备上支持IPM会话的隔离区(例如,在图2中所描述的隔离区280)。例如,在一些实施例中,可以分配用户设备上的计算系统资源的一部分(包括计算机系统存储器),以支持用于隔离区的虚拟机。可以基于在步骤710中用于确定其配置的用户设置来生成隔离区。
在步骤730处,在隔离区中安装一组一个或多个应用程序。步骤730的实施例在隔离区的IPM计算环境中安装一个或多个计算应用程序(例如,app或计算机程序)。步骤730的一些实施例还可以安装(或注册)一个或多个计算机服务。如本文所描述的,一些实施例在IPM隔离区创建时(或之后不久),将已经安装在用户设备上的一个或多个应用程序(在正常模式下)复制到IPM隔离区中。在一些实施例中,要安装在IPM隔离区(例如,IPM隔离区280)或IPM会话环境中的应用程序通过用户设置(例如,用户设置/偏好242或IPM会话设置282)来指定。步骤710、720和/或730的一些实施例可以由图2的隔离区生成器266来执行。结合图2的IPM处理程序260描述了关于由方法700的步骤710、720和730执行的功能的实施例的其它细节。
在步骤740处,该方法包括:根据用户设置,修改从传感器提供给隔离区的传感器数据。步骤740的实施例控制传感器数据,该传感器数据可以包括从与用户设备相关联的传感器提供给IPM隔离区的用户活动相关数据。例如,如本文所描述的,可以通过传感器数据控制器组件262(图2)、IPM传感器数据处理器抽象层320(图3)或IPM处理程序260(图2)来控制(例如,通过修改)由用户数据收集组件210提供的用户相关活动信息(其可以包括从传感器导出的数据)。在一些实施例中,用户相关活动信息(或传感器数据)的控制或修改是基于用户设置(例如,用户设置/偏好242或IPM会话设置282)来确定的。
在步骤740的一些实施例中,传感器数据包括指示第一地理位置的位置信息,修改传感器数据包括:将指示的位置改变为不同的地理位置。在一些实施例中,可以对位置进行改变以指示用户设备在某个地理区域中,或者指示用户设备处于地理区域内的某个伪随机有效位置,其可以在用户设置中指定。此外,在一些实施例中,在IPM会话期间,可以对修改的位置进行改变,使得表现为用户设备在IPM会话期间正在移动位置并且不在相同的位置。用此方式,修改后的位置表现得更加真实。在一些实施例中,基于在IPM会话之前(或者在IPM下操作之前)的用户活动,对修改的位置(或更一般地,修改的传感器数据)进行修改。例如,如本文所描述的,可以基于历史用户位置信息,对用户活动相关数据(例如,位置)进行改变,以指示用户先前访问过的位置(或者甚至可以基于确定的用户活动模式来修改,例如将位置改变为在IPM会话期间用户可能位于的位置)。步骤740的一些实施例可以由图2的传感器数据控制器262或IPM处理程序260来执行。结合图2的IPM处理程序260描述了关于由步骤740执行的功能的实施例的其它细节。
在步骤750处,该方法包括:确定结束IPM操作。步骤750的实施例确定终止用户设备上的IPM操作(或者结束经由用户设备进行的IPM会话)。在一些实施例中,结束IPM操作的决定是基于从用户接收的指示,比如在用户将用户设备的设置选择为正常模式(或关闭“IPM”的设置)时,例如图5B中所示的示例性切换开关555。在一些实施例中,结束IPM操作的决定是基于流逝的时间跨度,例如IPM操作的试验或演示时间段、或者在用户设备上未检测到用户相关活动的时间段之后。(在一些实施例中,可以在用户设置中配置该功能。)
在步骤760处,该方法包括:删除虚拟机,从而从用户设备中移除隔离区,其中该虚拟机包括有被配置为存储在IPM操作期间生成的用户活动数据的计算机存储器的数据内容。步骤760的实施例从用户设备(或者从其它计算机存储器,如果隔离区或其一部分存储在用户设备之外,例如存储在云中的话)中清除隔离区。
在IPM操作期间,与用户设备相关联的应用程序或服务(包括在步骤730中安装的一个或多个应用程序)可以生成存储在计算机存储器的内容中的用户活动相关数据。因此,步骤760的实施例包括:在删除隔离区时,删除该用户活动相关数据的数据内容。在一些实施例中,该数据可以存储在隔离区的计算机存储器中,因此删除隔离区导致删除该数据。但是还可以预期,在IPM操作期间生成的一些用户活动相关数据可以存储在其它存储器中,例如与IPM会话不相关联的存储器或者甚至不位于用户设备上的存储器(例如,服务器上的存储器或云端的存储器)。因此,步骤760的一些实施例包括:从该存储器中删除内容以及删除隔离区,使得在IPM会话结束之后,该用户活动相关数据不会持久地存储在计算机存储器中。步骤760的一些实施例还包括:在删除虚拟机之前,卸载一组一个或多个安装的应用程序。在删除虚拟机之前,可以注销IPM期间注册的某些服务。步骤760的一些实施例可以由图2的IPM清除组件268或IPM处理程序260来执行。结合IPM处理程序260(图2)描述了关于在步骤760中执行的功能的实施例的其它细节。
方法700的一些实施例还包括:控制涉及用户活动相关数据并且与安装在隔离区中的一组一个或多个应用程序(或服务)相关联的操作。例如,如本文所描述的,应用程序活动处理程序264(图2)或IPM app处理抽象层350(图3)可以控制与IPM会话的应用程序或服务相关联的操作的各方面,特别是涉及用户活动相关数据的操作的各方面。举例而言,在操作包括与后端服务器传送用户活动相关数据的一个实施例中,可以通过阻止该通信来控制操作。类似地,在另一个实施例中,在操作包括将用户活动相关数据存储在存储器中的某个位置(无论在用户设备上还是在云中)的情况下,可以通过阻止数据的存储或改变计算机系统存储器中用于存储该数据的位置,对该操作进行控制(例如通过修改读/写命令)。例如,可以将位置从隔离区外的存储器改变到隔离区内的存储器位置(或者与隔离区相关联的存储器位置),以便在结束IPM会话时可以更容易地删除该存储器的内容。在一些实施例中,可以基于用户设置(例如,用户设置/偏好242或IPM会话设置282)来控制操作。结合图2的应用程序活动处理程序264或IPM处理程序260来描述可以由这些示例性实施例执行的功能的其它细节。
方法600或700的一些实施例还包括:在IPM会话期间切换到正常操作模式,或者在两种模式环境中利用应用程序或服务,如本文所描述的。例如。在一些实施例中,用户可能参与两个文本消息对话:一个处于常规或正常操作模式(即,不是IPM),而另一个文本对话处于IPM中。例如,假设某个特定用户正在周末访问拉斯维加斯。俗话说“拉斯维加斯会发生什么,留在拉斯维加斯”;因此,希望实现此目标的用户可以在他们的移动设备上针对该访问的至少一部分而开始IPM会话。但在某些时候,用户可能会仍然希望以正常模式访问通信(或者其它电话app或功能),例如关于航班的电子邮件或文本或者呼叫他们的家人。因此,用户可以切换到正常操作模式以在这些时间使用,并且可以对IPM会话进行维持(正在进行)或暂停。此外,在一些实施例中,可以通过用户界面来呈现视觉指示符,使用户知道特定应用程序或服务的当前使用是否处于私有模式。(例如,可以呈现如图5B中所示的锁符号599,或者作为视觉指示符的另一个例子,操作IPM的应用程序的窗口边界可以具有不同的颜色。)这些实施例中的一些可以通过操作模式管理器(例如,图2的模式管理器270)来促进。结合图2的模式管理器270描述了这些示例性实施例的功能的其它细节。
因此,已经描述了涉及用于改善用户隐私、以及提供对从个人计算设备收集的用户活动相关数据的用户控制的技术的各个方面。应当理解,本文所描述的实施例的各种特征、子组合、以及修改具有效用,并且可以在无需引用其它特征或子组合的情况下在其它实施例中使用。此外,示例性方法600和700、或者图4的示例性IPM会话中所示出的步骤的顺序和序列并不意味着以任何方式限制本公开内容的保护范围,实际上,这些步骤可以在本发明的实施例中以各种不同的顺序发生。这些变化以及其组合也预期落入本公开内容的实施例的保护范围内。
已经描述了各种实施方案,现在描述适合于实现本公开内容的实施例的示例性计算环境。参考图8,该图提供了示例性计算设备并且通常将其称为计算设备800。计算设备800仅是适当的计算环境的一个例子,其并不旨在对本公开内容的实施例的使用范围或功能提出任何限制。也不应将计算设备800解释为对所示的组件中的任何一个或组合具有任何依赖性或要求。
可以在计算机代码或机器可用指令的一般上下文中描述本公开内容的实施例,其中计算机代码或机器可用指令包括计算机可用或计算机可执行指令,例如,由计算机或诸如个人数字助理、智能电话、平板PC或其它手持设备之类的其它机器执行的程序模块。通常,包括例程、程序、对象、组件、数据结构等等的程序模块,指代执行特定的任务或者实现特定抽象数据类型的代码。本公开内容的实施例可以在包括手持设备、消费电子产品、通用计算机、更专业计算设备等等的各种系统配置中实施。本公开内容的实施例还可以在分布式计算环境中实施,其中在分布式计算环境中,任务由通过通信网络链接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。
参考图8,计算设备800包括直接或间接地耦合以下设备的总线810:存储器812、一个或多个处理器814、一个或多个呈现组件816、一个或多个输入/输出(I/O)端口818、一个或多个I/O组件820、以及示例性电源822。总线810表示可以是一个或多个总线(例如,地址总线、数据总线或者其组合)的总线。虽然为了便于清楚说明起见,利用线来示出了图8的各个框,但在现实中,这些框表示逻辑,而不一定是实际的组件。例如,可以将诸如显示设备之类的呈现组件视为I/O组件。此外,处理器也具有存储器。发明人在此认识到这是本领域的本质,故重申图8的图仅仅是可以结合本公开内容的一个或多个实施例使用的示例性计算设备的说明。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等等之类的类别之间没有区别,这是因为所有这些都在图8的范围内并且引用“计算设备”。
计算设备800通常包括各种计算机可读介质。计算机可读介质可以是能够由计算设备800存取的任何可用介质,其包括易失性和非易失性介质、可移动和不可移动介质。举例而言而非做出限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用光盘(DVD)或其它光盘存储器、盒式磁带、磁带、磁盘存储器或其它磁存储设备、或者可以用于存储期望的信息并且可由计算设备800存取的任何其它介质。计算机存储介质本身不包括信号。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。术语“调制的数据信号”意味着是以将信息编码在信号中的方式来设置或改变其一个或多个特征的信号。举例而言但非做出限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质、以及诸如声波、RF、红外线之类的无线介质和其它无线介质。上述任何组合也应当包括在计算机可读介质的范围内。
存储器812包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、不可移除的或者其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等等。计算设备800包括从诸如存储器812或I/O组件820之类的各种实体读取数据的一个或多个处理器814。呈现组件816向用户或其它设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等等。
I/O端口818允许计算设备800在逻辑上耦合到包括I/O组件820的其它设备,这些设备中的一些可以是内置的。示例性组件包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、无线设备等等。I/O组件820可以提供用于处理由用户生成的空中手势、语音或其它生理输入的自然用户界面(NUD)。在某些情况下,可以将输入发送到适当的网络元件以进行进一步处理。NUI可以实现以下的任意组合:语音识别、触摸和手写笔识别、面部识别、生物识别、在屏幕上和屏幕附近的手势识别、空中手势、头部和眼球跟踪、以及与计算设备800上的显示相关联的触摸识别。计算设备800可以配备有深度相机(例如立体相机系统、红外相机系统、RGB相机系统、以及这些系统的组合),以用于手势检测和识别。另外,计算设备800可以配备有能够实现运动的检测的加速度计或陀螺仪。可以将加速度计或陀螺仪的输出提供给计算设备800的显示器以呈现沉浸式增强现实或虚拟现实。
计算设备800的一些实施例可以包括一个或多个无线电装置824(或类似的无线通信组件)。无线电装置824发送和接收无线电或无线通信。计算设备800可以是适于通过各种无线网络来接收通信和媒体的无线终端。计算设备800可以经由诸如码分多址(“CDMA”)、全球移动通信系统(“GSM”)或时分多址(“TDMA”)之类的无线协议以及其它协议进行通信,以与其它设备进行通信。该无线电通信可以是短距离连接、远距离连接、或者短距离和远距离无线电信连接的组合。当提及“短”和“远”类型的连接时,并不是指两个设备之间的空间关系。相反,通常将短距离和远距离称为不同类别或类型的连接(即,主连接和辅助连接)。举例而言而非做出限制,短距离连接可以包括:到提供对无线通信网络的访问的设备(例如,移动热点)的连接(例如,使用802.11协议的WLAN连接);与另一个计算设备的蓝牙连接是短距离连接或近场通信连接的第二示例。举例而言而非做出限制,远距离连接可以包括使用CDMA、GPRS、GSM、TDMA和802.16协议中的一个或多个的连接。
在不脱离下面的权利要求的保护范围的情况下,所描绘的各种组件的许多不同布置以及未示出的部件都是可能的。已经描述了本公开内容的实施例,其意图是说明性的而不是限制性的。在阅读本公开内容之后,替代实施例对于本公开内容的读者将变得显而易见。在不脱离下面的权利要求的保护范围的情况下,可以完成用于实现前述内容的替代手段。某些特征和子组合具有实用性,可以在无需引用其它特征和子组合的情况下使用,并且预期也落入本发明的保护范围内。
Claims (11)
1.一种计算设备,其包括:
一个或多个传感器,其被配置为提供包括用户活动相关信息的传感器数据;
一个或多个处理器;以及
其上存储有计算机可执行指令的计算机存储存储器,当所述计算机可执行指令被所述处理器执行时,实现用于在所述计算设备上提供私有模式IPM会话的方法,所述方法包括:
接收开始IPM会话的指示以及与所述IPM会话相对应的用户设置信息;
在所述计算设备上分配计算机系统资源的一部分以提供IPM会话环境,所述资源的一部分包括计算机系统存储器的一部分,所述计算机系统存储器的所述一部分被配置用于存储包括在所述IPM会话期间生成的用户活动数据的数据内容;
确定用于要安装在所述计算设备上的IPM隔离区的配置,
其中,所述IPM隔离区被配置为在所述计算设备上作为虚拟机运行,其中,所述虚拟机被配置为与支持所述计算设备上的正常操作模式的操作环境相隔离,
其中,所述配置包括基于敏感度级别的一组用户设置,所述一组用户设置由用户配置以确定哪些用户活动数据被保持为私有;
在所述IPM会话环境中将一个或多个应用程序和服务复制到所述IPM隔离区;
在所述IPM隔离区中,根据所述一组用户设置,修改要由所述一个或多个应用程序利用的所述用户活动数据,其中,所述用户活动数据是从传感器提供给所述IPM隔离区的;
接收结束所述IPM会话的指示;以及
在接收到结束所述IPM会话的所述指示时:
删除包括所述计算机系统存储器的所述一部分的所述数据内容的所述虚拟机,从而移除所述IPM隔离区,其中,所述计算机系统存储器的所述一部分被配置用于存储在所述IPM会话期间生成的所述用户活动数据。
2.根据权利要求1所述的计算设备,还包括:
在删除所述计算机系统存储器的一部分的所述内容之前:
确定在所述IPM会话环境中安装的一组应用程序;以及
卸载所述一组应用程序。
3.根据权利要求1或2所述的计算设备,其中,所述计算机系统存储器的一部分的所述内容包括在所述一个或多个应用程序和服务的所述操作期间生成的第一组用户活动相关信息的一个子集,并且所述方法还包括:生成一组替换用户活动相关信息;并且将所述一组替换用户活动相关信息存储在所述计算设备上。
4.根据权利要求3所述的计算设备,其中,所述一组替换用户活动相关信息集是基于从在所述IPM会话之前的时间发生的用户活动导出的用户活动信息生成的。
5.一种用于通过在具有传感器的用户设备上提供私有模式IPM操作来控制用户隐私的方法,所述方法包括:
确定用于要安装在所述用户设备上的IPM隔离区的配置,其中,所述IPM隔离区被配置为在所述用户设备上作为虚拟机运行,其中所述虚拟机被配置为与支持所述用户设备上的正常操作模式的操作环境相隔离,其中,所述用户设备上的计算系统资源的一部分包括被配置为分配给所述IPM隔离区的计算机存储器,所述计算机存储器被配置为存储包括在所述IPM操作期间生成的用户活动数据的数据内容,其中,所述配置包括基于敏感度级别的一组用户设置,所述一组用户设置由用户配置以确定哪些用户活动数据被保持为私有;
根据所确定的配置,在所述用户设备上生成所述IPM隔离区以启动所述IPM操作;
将已经安装在所述用户设备上的一组一个或多个应用程序复制到所述IPM隔离区;
在所述IPM隔离区中,根据所述一组用户设置,修改要由所述一组一个或多个应用程序利用的所述用户活动数据,其中,所述用户活动数据是从所述传感器提供给所述IPM隔离区的;
确定在所述用户设备上结束所述IPM操作;以及
删除所述虚拟机,从而移除所述IPM隔离区,其中所述虚拟机包括有被配置为存储在所述IPM操作期间生成的所述用户活动数据的所述计算机存储器的所述数据内容。
6.根据权利要求5所述的方法,还包括:在删除所述虚拟机之前,卸载所述一组一个或多个安装的应用程序。
7.根据权利要求5或6所述的方法,其中,所述传感器数据包括指示第一地理位置的位置信息,并且其中,修改所述传感器数据包括:将指示所述第一地理位置的所述信息改变为指示至少第二地理位置的信息。
8.根据权利要求7所述的方法,其中,所述至少第二地理位置包括在所述IPM操作期间的时间跨度上变化的多个地理位置,使得表现为所述用户设备在所述时间跨度上移动,所述多个地理位置处于所述一组用户设置中指定的地理区域内。
9.根据权利要求5或6所述的方法,其中,所述配置指定在所述IPM操作期间用户活动数据是如何进行控制的,并且其中,所述配置是根据所述一组用户设置来确定的。
10.根据权利要求5或6所述的方法,还包括:控制涉及用户活动数据的操作,所述操作与安装在所述IPM隔离区中的所述一组一个或多个应用程序中的应用程序相关联,并且其中,控制所述操作包括修改所述操作。
11.根据权利要求10所述的方法,其中,所述操作包括将所述用户活动数据存储在存储器位置,并且其中,修改所述操作包括以下之一:阻止所述用户活动数据的所述存储或者改变用于存储所述用户活动数据的存储器位置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/431,432 US10885219B2 (en) | 2017-02-13 | 2017-02-13 | Privacy control operation modes |
US15/431,432 | 2017-02-13 | ||
PCT/US2018/016935 WO2018148154A1 (en) | 2017-02-13 | 2018-02-06 | Privacy control operation modes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110291524A CN110291524A (zh) | 2019-09-27 |
CN110291524B true CN110291524B (zh) | 2023-07-04 |
Family
ID=61249721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880011563.7A Active CN110291524B (zh) | 2017-02-13 | 2018-02-06 | 隐私控制操作模式 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10885219B2 (zh) |
EP (1) | EP3580687B1 (zh) |
CN (1) | CN110291524B (zh) |
WO (1) | WO2018148154A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678925B2 (en) * | 2017-06-26 | 2020-06-09 | Microsoft Technology Licensing, Llc | Data quarantine and recovery |
KR102282023B1 (ko) * | 2017-09-13 | 2021-07-28 | 한국전자통신연구원 | 사용자의 프라이버시 제어를 추천하는 장치 및 그 방법 |
KR102489914B1 (ko) * | 2017-09-15 | 2023-01-20 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
US10728343B2 (en) * | 2018-02-06 | 2020-07-28 | Citrix Systems, Inc. | Computing system providing cloud-based user profile management for virtual sessions and related methods |
US11003790B2 (en) * | 2018-11-26 | 2021-05-11 | Cisco Technology, Inc. | Preventing data leakage via version control systems |
US11204984B2 (en) * | 2019-06-12 | 2021-12-21 | Blackberry Limited | Systems and methods for managing access to application data on computing devices |
US11683666B2 (en) * | 2019-06-18 | 2023-06-20 | Nokia Technologies Oy | Data transmission |
US20210073801A1 (en) * | 2019-09-09 | 2021-03-11 | Mastercard International Incorporated | Incognito transactions |
CN110866236B (zh) * | 2019-11-20 | 2022-09-09 | Oppo广东移动通信有限公司 | 隐私图片显示方法、装置、终端及存储介质 |
CN111125771B (zh) * | 2019-12-31 | 2023-01-17 | 联想(北京)有限公司 | 保护设备隐私的方法及装置、电子设备、存储介质 |
US11620294B2 (en) * | 2020-01-30 | 2023-04-04 | Panasonic Avionics Corporation | Dynamic media data management |
US10846702B1 (en) * | 2020-02-05 | 2020-11-24 | Capital One Services, Llc | System and method for modifying payment processing times upon suspicion of fraud |
US11874852B2 (en) * | 2020-08-28 | 2024-01-16 | Micron Technology, Inc. | Instructive actions based on categorization of input data |
KR20230064623A (ko) | 2020-09-08 | 2023-05-10 | 오솜 프로덕츠 인코포레이티드 | 안전한 개인용 메모리가 있는 모바일 장치 |
US11337177B2 (en) | 2020-09-23 | 2022-05-17 | Glowstik, Inc. | System and method for generating amorphous dynamic display icons |
US20220179978A1 (en) * | 2020-12-09 | 2022-06-09 | Allstate Insurance Company | Context Based Privacy Risk Footprint and Incident Protection |
US11577380B2 (en) * | 2021-01-12 | 2023-02-14 | Irobot Corporation | Systems and methods for privacy management in an autonomous mobile robot |
US11960625B2 (en) * | 2021-05-06 | 2024-04-16 | Jpmorgan Chase Bank, N.A. | Systems and methods for protecting sensitive data in user online activities |
CN113919859A (zh) * | 2021-08-25 | 2022-01-11 | 读书郎教育科技有限公司 | 一种样机展示方法 |
CN113987473B (zh) * | 2021-10-09 | 2023-07-18 | 广州博依特智能信息科技有限公司 | 智能边缘计算网闸的安全策略确定方法及系统 |
WO2023153907A1 (en) * | 2022-02-14 | 2023-08-17 | Samsung Electronics Co., Ltd. | Systems and methods for applying secrecy settings on a user device |
CN114760146B (zh) * | 2022-05-05 | 2024-03-29 | 郑州轻工业大学 | 一种基于用户画像的可定制位置隐私保护方法及系统 |
WO2024063802A1 (en) * | 2022-09-23 | 2024-03-28 | Osom Products, Inc. | Private session for mobile application |
US11681816B1 (en) | 2022-09-23 | 2023-06-20 | Osom Products, Inc. | Private session for mobile application |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105184164A (zh) * | 2015-09-08 | 2015-12-23 | 成都博元科技有限公司 | 一种数据处理方法 |
CN105678187A (zh) * | 2016-01-06 | 2016-06-15 | 上海斐讯数据通信技术有限公司 | 一种基于Android系统的智能终端隐私数据保护方法及系统 |
CN105917349A (zh) * | 2014-01-15 | 2016-08-31 | 微软技术许可有限责任公司 | 对请求的用户数据的隐私过滤以及上下文激活的隐私模式 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6505048B1 (en) * | 1999-12-30 | 2003-01-07 | Samsung Electronics Co., Ltd. | Location privacy feature for wireless mobile stations and method of operation |
US7143443B2 (en) * | 2001-10-01 | 2006-11-28 | Ntt Docomo, Inc. | Secure sharing of personal devices among different users |
US7139820B1 (en) * | 2002-02-26 | 2006-11-21 | Cisco Technology, Inc. | Methods and apparatus for obtaining location information in relation to a target device |
US8161479B2 (en) * | 2008-06-13 | 2012-04-17 | Microsoft Corporation | Synchronizing virtual machine and application life cycles |
US8848924B2 (en) | 2008-06-27 | 2014-09-30 | University Of Washington | Privacy-preserving location tracking for devices |
US8266708B2 (en) * | 2008-12-09 | 2012-09-11 | Broadlands Technologies Llc | Privacy protection system |
US20120047087A1 (en) | 2009-03-25 | 2012-02-23 | Waldeck Technology Llc | Smart encounters |
US8613109B2 (en) * | 2009-12-03 | 2013-12-17 | At&T Intellectual Property I, L.P. | Method and apparatus for providing mobile social networking privacy |
US8539561B2 (en) * | 2010-08-24 | 2013-09-17 | International Business Machines Corporation | Systems and methods to control device endpoint behavior using personae and policies |
US8738323B2 (en) * | 2010-09-30 | 2014-05-27 | Fitbit, Inc. | Methods and systems for metrics analysis and interactive rendering, including events having combined activity and location information |
US9904797B2 (en) * | 2010-12-27 | 2018-02-27 | Nokia Technologies Oy | Method and apparatus for providing data based on granularity information |
US20130283263A1 (en) * | 2012-04-19 | 2013-10-24 | Dincloud, Inc. | System and method for managing resources in a virtual machine environment |
US9088450B2 (en) * | 2012-10-31 | 2015-07-21 | Elwha Llc | Methods and systems for data services |
US9117088B2 (en) * | 2013-06-19 | 2015-08-25 | Google Inc. | Methods and systems for controlling levels of geolocation access |
AU2014101574A4 (en) | 2013-08-05 | 2016-03-17 | New BIS Safe Luxco S.a.r.l | Location services in an obfuscated wireless network |
US20150121535A1 (en) * | 2013-10-30 | 2015-04-30 | Microsoft Corporation | Managing geographical location information for digital photos |
US9697374B2 (en) * | 2014-02-19 | 2017-07-04 | Microsoft Technology Licensing, Llc | Data proxy service |
GB2534830A (en) | 2014-05-30 | 2016-08-10 | Ibm | Anonymizing location information of a mobile device |
US9990505B2 (en) * | 2014-08-12 | 2018-06-05 | Redwall Technologies, Llc | Temporally isolating data accessed by a computing device |
US10419307B2 (en) * | 2015-04-30 | 2019-09-17 | The Nielsen Company (Us), Llc | Methods and apparatus to coordinate receipt of monitoring information |
CN105184147B (zh) * | 2015-09-08 | 2017-11-24 | 成都博元科技有限公司 | 云计算平台中的用户安全管理方法 |
US20190182176A1 (en) * | 2016-12-21 | 2019-06-13 | Facebook, Inc. | User Authentication with Voiceprints on Online Social Networks |
-
2017
- 2017-02-13 US US15/431,432 patent/US10885219B2/en active Active
-
2018
- 2018-02-06 CN CN201880011563.7A patent/CN110291524B/zh active Active
- 2018-02-06 WO PCT/US2018/016935 patent/WO2018148154A1/en active Application Filing
- 2018-02-06 EP EP18706352.4A patent/EP3580687B1/en active Active
-
2021
- 2021-01-04 US US17/141,103 patent/US11790109B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105917349A (zh) * | 2014-01-15 | 2016-08-31 | 微软技术许可有限责任公司 | 对请求的用户数据的隐私过滤以及上下文激活的隐私模式 |
CN105184164A (zh) * | 2015-09-08 | 2015-12-23 | 成都博元科技有限公司 | 一种数据处理方法 |
CN105678187A (zh) * | 2016-01-06 | 2016-06-15 | 上海斐讯数据通信技术有限公司 | 一种基于Android系统的智能终端隐私数据保护方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US11790109B2 (en) | 2023-10-17 |
US20180232534A1 (en) | 2018-08-16 |
US20210124840A1 (en) | 2021-04-29 |
CN110291524A (zh) | 2019-09-27 |
US10885219B2 (en) | 2021-01-05 |
WO2018148154A1 (en) | 2018-08-16 |
EP3580687A1 (en) | 2019-12-18 |
EP3580687B1 (en) | 2021-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110291524B (zh) | 隐私控制操作模式 | |
KR101911653B1 (ko) | 모바일 디바이스들에 대한 네트워크 대역폭 공유 | |
US10623963B2 (en) | Proactive security for mobile devices | |
US9606643B2 (en) | Extended above the lock-screen experience | |
EP3245579B1 (en) | User interaction pattern extraction for device personalization | |
US9104865B2 (en) | Threat condition management | |
RU2693637C2 (ru) | Клиентская платформа интеграции сервисов | |
KR102150514B1 (ko) | 디바이스 및 그를 이용한 컨텐츠 공유 방법 | |
US20150058427A1 (en) | Limited Area Temporary Instantaneous Network | |
US20170031575A1 (en) | Tailored computing experience based on contextual signals | |
EP3320477B1 (en) | Protecting data from unauthorized access | |
EP3111357B1 (en) | Accelerated training of personal daemons | |
EP3133502B1 (en) | Terminal device and method for cooperatively processing data | |
US20150356853A1 (en) | Analyzing accelerometer data to identify emergency events | |
EP3284001B1 (en) | Device and method of requesting external device to execute task | |
CN116669039A (zh) | 应用权限管理方法、装置、电子设备及可读存储介质 | |
US20190172086A1 (en) | Dynamic promotion rate based on location-based metrics |
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 |