管理敏感生产数据
1.本发明专利申请是国际申请号为pct/us2014/067842,国际申请日为2014 年12月1日,进入中国国家阶段的申请号为201480067158.9,名称为“管理 敏感生产数据”的发明专利申请的分案申请。
技术领域
2.本发明一般涉及信息技术领域,更具体地,涉及管理敏感生产数据。
背景技术:3.在生产应用(诸如现实世界web站点和web服务)中,包括应用的存储器 的生产数据包含可能损害用户的安全性或完整性的敏感数据是常见的。敏感数 据可包括可被用于标识关于个体用户的信息的个人可标识信息(pii)等等。 例如,医疗应用可能包含医生关于患者的笔记。类似地,在线商店应用可能在 存储器中具有用户的信用卡号码。
4.由于生产数据可包括敏感数据,不希望使得这样的生产数据在生产环境之 外可访问。此外,这可能因法律要求和隐私协议而被需要。然而,生产数据对 于诊断和其它目的是有用的。结果,如果被允许,生产数据可在生产环境内可 供使用。否则,在尝试复制生产应用状态中,测试数据可被使用。
技术实现要素:5.下面呈现了简化的发明内容,以提供对所公开主题的某些方面的基本理 解。本发明内容不是广泛性的概观。它并不旨在标识关键/重要元素,也不旨 在划定所要求保护主题的范围。其唯一目的是以简化形式呈现一些概念,作为 稍后呈现的更详细说明的序言。
6.简言之,本发明涉及管理敏感生产数据。更具体地,在生产数据中发现的 敏感数据可被隐藏,不能从生产环境外看见。可以用多种方式来发现敏感数据。 根据一个方面,应用中的类字段或其它程序构造可被标识为已知敏感数据驻留 之处。基于所指定的位置,敏感数据的各实例可随后在生产数据中被发现。上 面的或其它技术发现的敏感数据可以以各种方式被遮掩使得敏感数据不可见。 进一步,与敏感数据相关联的元数据可相对于被遮掩的敏感数据来被维持。
7.为实现上述及相关目的,在此结合以下描述和附图描述了所要求保护主题 的某些说明性方面。这些方面指示可实践本主题的各种方式,它们均落在所要 求保护主题的范围之内。当结合附图阅读以下详细描述时,本发明的其他优点 和新颖特征将变得显而易见。
附图说明
8.图1是管理系统的框图。
9.图2是代表性发现组件的框图。
10.图3是代表性数据分析组件的框图。
11.图4是代表性清洁组件的框图。
12.图5是管理生产数据的方法的流程图。
13.图6是发现和遮掩敏感生产数据的方法的流程图。
14.图7是示出用于本公开各方面的合适操作环境的示意性框图。
具体实施方式
15.在生产环境中执行的应用(或换言之,生产应用)可针对现实世界敏感数 据(与人造测试数据相对)来操作。偶尔地,在生产应用上需要诊断或分析操 作来解决问题或改善性能。这可涉及通过拍摄存储器快照并通过栈和/或堆查 看来找出问题所在或如何改善执行来在生产应用操作时调查其存储器。然而, 该存储器可能充分地包括敏感数据,诸如应用用户姓名、地址、帐户、口令等 等。因此,存在关于如何至少允许诊断和分析同时避免泄露敏感数据的问题。 两种传统方法试图避免而非解决此问题。第一,某些组织将简单地不允许对生 产数据的诊断或分析操作。结果,操作不得不在测试数据上执行,其中作出用 测试数据复制生产应用的状态的尝试。第二,如果操作被允许针对生产数据, 这样的操作在特定物理位置以严格的安全协议(例如,监视,搜索)被单独允 许。
16.以下细节一般涉及管理生产数据以避免敏感数据泄露。代表在生产环境中 执行的应用的状态的生产数据可包括应当保密的敏感数据。可以用多种技术/ 机制来发现敏感数据。根据一个方面,敏感数据可被发现作为生产应用中标识 的位置的函数,诸如类字段,已知敏感数据在那里驻留。所发现敏感数据可被 遮掩,以隐藏敏感数据不能从生产环境外看见。例如,敏感数据可用任意值、 敏感数据的散列或密文来代替。然而,单单遮掩可具有例如对于诊断问题或评 估生产应用的性能的不利效果。因此,与敏感数据相关联的元数据可被维持。 例如,长度和等式可被保持。因此,敏感数据不可见但是关于敏感数据的数据 在生产环境外可看见。
17.现在参考附图更详细地描述本公开的各个方面,在全部附图中相似的标记 指示相似或相应的元素。然而应该理解,附图及其相关详细描述不旨在将所要 求保护的主题限于所公开的具体形式。相反,其意图是覆盖落在所要求保护主 题的精神和范围之内的所有修改、等价物和替换的方案。
18.首先参考图1,示出了管理系统100。管理系统100包括发现组件110和 清洁组件120,并被配置为管理生产应用140产生的生产数据130以防止敏感 数据泄露。通过从生产数据中移除敏感数据或以其他方式阻止敏感数据集被引 入生产数据来防止泄露。结果,生产数据可被暴露在生产环境之外,因为敏感 数据将不可见。此外,管理系统100可维持关于敏感数据的元数据来促进分析。
19.例如,生产应用140是在生产环境(与预生产开发环境相对)中执行的软 件应用。换言之,应用部署在服务终端用户/客户并向运行应用的终端用户/ 客户提供值(例如,商业值)的现实世界中。例如,生产应用140可以是银行 应用或在线销售应用等。
20.生产数据130包括在生产应用执行期间生成的代表在捕捉时的特定时间瞬 间执行的状态的数据。具体而言,生产数据130可对应于代表在数据被捕捉时 (或换言之当快照被拍摄时或当转储发生时)生产力应用140的存储器状态的 一个或多个存储器快照或转储。这样的存储器快照或转储可包括关于栈、堆、 加载的类、对象、和字段值、日志/踪迹等
等的信息。生产数据130可被诊断 上下文使用来调试生产应用,在此情况中,生产数据130可被称为诊断工件。 附加地或替换地,生产数据可被用于分析上下文来分析程序性能。
21.生产数据130可包括敏感性数据,其为因一个或多个原因需要被包含或保 密的生产数据,一个或多个原因包括满足规章要求(例如,联邦或州法律)、 组织私有策略、或用户/客户可配置隐私设置等。敏感数据的一个例子是个人 可标识信息(pii),其可以是任何有关特定个体的数据,诸如个人的名字、 社保号、驾驶证号、帐号、信用卡/借记卡卡号、以及帐户的安全码或口令。 敏感数据的其它非限制性示例包括学生信息和绩点以及健康或医疗信息。
22.发现组件110和清洁组件120协作以阻止敏感数据被泄漏或被暴露给未授 权个体,诸如包括在诊断生产应用问题中的那些或被分派了分析生产应用性能 的任务的那些。
23.具体而言,发现组件110被配置来发现或标识敏感数据,而清洁组件120 被配置来移除、或组织发现组件110标识的敏感数据的最初注入。
24.发现组件110可以以各种方式被实现并且在不同上下文中操作。转到图2, 进一步具体说明了代表性的发现组件110。发现组件110包括应用分析组件210 和数据分析组件220。
25.应用分析组件210被配置来分析生产应用140并标识敏感数据已知或可能 驻留的位置。根据一个实现,开发者可提供有关敏感数据的性质的元数据,包 括诸如敏感数据已知驻留的类字段的特定位置。关于敏感数据的位置的数据可 例如以与特定数据字段相关联的属性的方式被显式地指定。在一个实施例中, 开发者可用指示哪些字段或其它程序构造可包括敏感数据的属性来注释生产 应用140。基于此信息,敏感数据的实例可在生产数据130中驻留的位置已知。 还可利用其它技术来基于来自生产应用140的信息确定或推断潜在的敏感数据 的位置。例如,变量名、类、函数、或方法等等可指示敏感数据的存在和位置。
26.为便于清楚和容易理解,考虑以下代码段:
[0027][0028][0029]
在此,类“人”包括三个字段,名称、社保号(ssn)、和电话号码。每 个字段包括指示字段已知包括敏感数据的属性或注释“senstivedata(敏感数 据)”。
[0030]
数据分析组件220被配置来发现敏感数据的特定实例。根据一个实施例, 数据分析组件可利用关于应用分析组件210确定的可能包括敏感数据的位置的 信息。当然,生产应用140可能还没有用标识潜在敏感数据的位置的数据来注 释,并且因此应用分析组件210可能不能基于注释或其它技术来标识任何感兴 趣的位置。因此,数据分析组件220可被配置来操作,而与来自应用分析组件 210的结果无关。
[0031]
图3更详细地描绘出代表性数据分析组件220。搜索组件310被配置来搜 索一组生产数据寻找敏感数据。在一个实施例中,搜索组件310可搜索以基于 模式捕捉格式或敏感数据的其它特性(例如,利用正规表达式或无上下文语法) 来定位敏感数据。例如,社保号包括三个数字、破折号、两个数字、破折号、 和四个数字。这定义了对应于敏感数据的数据的形状。例如,基于正规表达式 捕捉的这个数据形状,社保号的实例可被定位。类似的模式匹配可被用来定位 电话号码和帐号等等。
[0032]
一旦敏感数据的特定实例通过注释、模式匹配、或其它机制被标识,则搜 索组件310可被利用来标识其它位置中的敏感数据的相同实例。例如,如果一 个人的姓名在特定数据字段中被发现,搜索组件310可搜寻数据字段以外的其 它地方以定位该姓名的其它实例。因此,可能需要对生产数据上进行多遍以发 现敏感数据的特定实例以及所发现的敏感数据的其它实例。
[0033]
子集组件320被单独配置或和搜索组件310一起配置来标识作为先前发现 的或标识的敏感数据的子集的敏感数据。例如,如果基于代码注释或其它技术 确定了人的姓名(包括名和姓)是敏感数据,子集组件320可搜寻以标识子集 (即名和姓),并相互独立地定位名和姓的实例。类似地,如果包括区位码的 电话号码被标识为敏感数据,则子集组件320可尝试定位电话号码的不包括区 位码的子串。
[0034]
变体组件330被单独配置或和搜索组件310组合配置来标识敏感数据的变 体。变体可包括但不限于格式不同、缩写、以及错误拼写。例如,如果通过某 个机制,格式为“123-45-6789”的社保号被标识为敏感数据,其它变体,诸 如“123 45 6789”也可被搜索,且如果被定位,则被标记为敏感数据。作为 另一个示例,假设“david doe”被考虑为敏感数据。在此情况中,变体组件 330可允许诸如“d.doe”或“dave doe”的数据实例标识为相等且为敏感数 据。
[0035]
数据库340可以是计算机可读存储介质,其如所示的本地地或远程地存储 数据,供数据分析组件220的各组件用于定位敏感数据。在一个实例中,数据 库340可包括已知对应于诸如地址的敏感数据的数据,以供搜索组件310使用。 通用模式也可被存储在数据库340中供搜索组件310采用。作为另一个示例, 数据库340可包括单词或名字的常见拼写错误以及缩写,供变体组件330使用。 作为又一个示例,数据库340可包括语言字典,其可被用于通过针对语言字典 进行搜索并标记没被发现为合适的名词的任何词来发现合适的名词。
[0036]
图4示出了可结合图1的管理系统100使用的代表性清洁组件120。清洁 组件包括遮掩组件410和元数据组件420。
[0037]
遮掩组件410被配置来从生产数据中移除敏感数据。在一个实例中,遮掩 组件410被配置来用其它不敏感数据代替敏感数据。换言之,遮掩组件410被 配置来通过用不敏感数据代替敏感数据来隐藏敏感数据。在一个实施例中,遮 掩组件410可针对具有敏感数据
doe”不可见, 但散列和长度可见。
[0042]
参考若干组件之间的交互已经描述了上述系统、架构、环境等。应该理解, 这样的系统和组件可以包括其中指定的那些组件或子组件,某些指定的组件或 子组件,和/或附加的组件。子组件也可以被实现为在通信上被耦合到其他组 件而不是被包括在父组件中的组件。此外,一个或多个组件和/或子组件可以 组合成提供聚集功能的单个组件。系统、组件、和/或子组件之间的通信可以 根据推送和/或拉取模型来实现。组件也可以与一个或多个其他组件进行交互, 出于简要考虑在此未具体描述其他组件,但本领域的技术人员均已知。
[0043]
此外,以上公开系统以及以下方法的各个部分可以包括或采用基于人工智 能、机器学习或知识或规则的组件、子组件、进程、装置、方法或机制(例如, 支持向量机、神经网络、专家系统、贝叶斯信任网络、模糊逻辑、数据融合引 擎、分类器等)。此类组件和其他组件可以自动化地执行特定机制或进程,由 此使得系统和方法的各部分变得更加自适应、高效及智能。作为示例,而非限 制,发现组件110可包括用于确定或推断敏感数据的机制。例如,学习机制可 被用于标识以其他方式可能被错过的数据。
[0044]
错过的实例出于几个原因可存在。首先,通过编译器(例如,jit编译器) 创建临时副本,诸如登记的值(其为存储在寄存器中而非栈上的值)。第二个 原因是开发者丢失类型信息(例如,将缓冲器抛空),使得类型不能被容易地 推断。另一原因是占据存储器中的敏感数据的旧副本,其已经被应用释放但没 有被操作系统盖写。例如,用于已经弹出的帧的栈变量通常仍在存储器中在当 前栈指针下,并且被释放的堆值通常不在变量被讨论或释放时被盖写。
[0045]
考虑到以上描述的示例性系统,参考图5和6的流程图将更好地理解可以 依照所公开主题而实现的方法。尽管为了说明简洁起见,按照一系列框示出和 描述了方法,但是,应该理解和知道,所要求保护的主题不限于框的次序,因 为一些框可以按与此处所描绘和描述的不同的次序进行和/或与其他框并发地 进行。此外,并非所有的所示出的方框都是实现下面所描述的方法所必需的。
[0046]
参考图5,管理生产数据的方法500被示出。在附图标记510,从生产数 据中发现敏感数据。生产数据表示在捕捉时的特定时间执行的状态,并可包括 过程栈、过程堆、栈帧寄存器、以及日志/跟踪,等等。可以用多种技术/机 制的方式来发现敏感数据。例如,敏感数据的实例可基于的类数据字段在被标 记为包括敏感数据的应用中发现。生产数据还可被搜索以定位已知敏感数据、 敏感数据的子集、以及敏感数据的变体。例如,正规表达式或无上下文语法搜 索可被执行以定位匹配特定形式或格式(例如,社保号、电话号码
……
)的数 据的实例。
[0047]
在标号520,生产数据被清洁掉所发现的敏感数据。生产数据可通过用不 敏感数据代替敏感数据来被清洁。换言之,敏感数据可被遮掩以隐藏敏感数据。 作为示例,散列算法可被应用到敏感数据来生成散列值作为掩码,并且敏感数 据可用掩码来代替。替换地,敏感数据可通过加密敏感数据来被遮掩。进一步, 敏感数据可用任意值来盖写。
[0048]
在标号530,关于敏感数据的元数据被维持。元数据可包括关于敏感数据 的数据,其对于诸如诊断或分析的一些目的是有用的。例如,元数据组件可包 括敏感数据的长度(例如,串长度)和内容身份。例如,这可允许相同数据的 各实例被识别为相同(身份),以及
数据的诸如长度的其它字段被用来推论问 题的原因。元数据可以各种方式被维持,包括将元数据附加到被遮掩的敏感数 据、将元数据嵌入被遮掩的数据内、或将元数据储存到与被这样的数据分开的 存储(例如,数据库、存储器流
……
)。作为示例,长度可被附加到被遮掩的 数据,或被遮掩的数据可与敏感数据长度相同。类似地,相同掩码可被用于敏 感数据的相同或等价实例。
[0049]
图6示出了发现和遮掩敏感生产数据的方法600。在标号610,基于标识 一个或多个位置(诸如敏感数据已知驻留的数据字段)的代码注释或属性来定 位敏感数据的各实例。在620,敏感数据被遮掩且与之相关联的元数据被确定 并保留作为被遮掩的数据的一部分或与被遮掩的数据分开。由于敏感数据的各 实例没有被限制到所标识的位置,在标号620,生产数据被搜索,寻找先前发 现的敏感数据的其它实例。如果其它实例在附图标记640被找到(“是”), 则方法前进回到标号620,其中该实例被遮掩。如果在640没有发现其它实例 (“否”),则方法在650继续。在附图标记650,生产数据被搜索寻找附加 的敏感数据。例如,可用正规表达式或无上下文语法来搜索与一致敏感的数据 (诸如,但不限于社保号和电话号码)的模式匹配的生产数据。地址也可用类 似的搜索或通过与映射软件的交叉相关来被发现。生产数据还可被搜索寻找子 集和先前标识的敏感数据的变体。在标号660,作出关于是否找到附加敏感数 据的确定。如果是(“是”),则方法在670继续,其中附加的敏感数据被遮 掩且元数据被维持。随后,方法循环回附图标记650。如果标号660,没有找 到附加数据(“否”),则方法终止。
[0050]
本文使用的词语“示例性”或其各种形式意味着用作示例、实例或说明。 在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其它方面 或设计更优选或有利。此外,各示例只是出于清楚和理解的目的来提供的并且 并不意味着以任何方式限制或约束所要求保护主题或本发明的相关部分。可以 理解,本来可呈现不同范围的多个附加或替换示例,但出于简明的目的已被省 略。
[0051]
此处使用的术语“组件”和“系统”及其各种形式(例如,组件、系统、 子系统等)旨在表示与计算机相关的实体,其可以是硬件、硬件和软件的组合、 软件、或执行中的软件。例如,组件可以是但不限于:在处理器上运行的进程、 处理器、对象、实例、可执行代码、执行的线程、程序和/或计算机。作为说 明,在计算机上运行的应用和计算机两者都可以是组件。一个或多个组件可驻 留在进程和/或执行的线程内,并且组件可位于一个计算机上和/或分布在两个 或更多的计算机之间。
[0052]
本描述和所附权利要求书中使用的连接词“或”旨在意味着包括性“或
”ꢀ
而非互斥性“或”,除非另有指定或从上下文中清晰可见。例如,如果?
‘a’ꢀ
采用
‘
x’?,?
‘
a’采用
‘
y’?或?
‘
a’采用
‘
x’和
‘
y’?两者,则在任何 上述情况下都满足?
‘
a’采用
‘
x’或
‘
y’?。
[0053]
而且,对于在详细描述或权利要求书中使用术语“包括”、“包含”、“具 有”、“含有”或其它形式的变型而言,这样的术语旨在以类似于术语“包括
”ꢀ
的方式体现包含性,如同“包括”在用作权利要求书中的过渡词时所解释的那 样。
[0054]
为了为所要求保护主题提供上下文,图7以及以下讨论旨在提供对其中可 以实现本主题的各方面的合适环境的简要、概括描述。然而,合适的环境只是 示例并且并非旨在对使用范围或功能提出任何限制。
[0055]
尽管能够在可以在一台或多台计算机上运行的程序的计算机可执行指令 的一般
上下文中描述以上公开的系统和方法,但是,本领域的技术人员将认识 到,各方面也可以与其他程序模块等相结合地实现。一般而言,程序模块包括 执行特定任务和/或实现特定抽象数据类型的例程、程序、组件、数据结构等。 此外,本领域技术人员可以理解,上述系统和方法可用各种计算机系统配置实 现,包括单处理器、多处理器或多核处理器计算机系统、小型计算设备、大型 计算机、以及个人计算机、手持式计算设备(例如,个人数字助理(pda)、 电话、手表)、基于微处理器或可编程消费或工业电子设备等。各方面也可在 任务由通过通信网络链接的远程处理设备中执行的分布式计算环境中实现。然 而,所要求保护主题的某些方面,如果不是所有方面的话,可以在独立计算机 上实施。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备中 的一者或两者中。
[0056]
参考图7,示出了示例通用计算机或计算设备702(例如,台式机、膝上 型计算机、平板计算机、服务器、手持式设备、可编程消费或工业电子产品、 机顶盒、游戏系统、计算节点
……
)。计算机702包括一个或多个处理器720、 存储器730、系统总线740、大容量存储750、以及一个或多个接口组件770。 系统总线740与至少上述系统组件通信地耦合。然而,可以理解,在其最简单 的形式中,计算机702可包括耦合到存储器720的一个或多个处理器730,该 一个或多个处理器730执行存储在存储器1030中的各种计算机可执行动作、 指令和/或组件。
[0057]
处理器720可以用通用处理器、数字信号处理器(dsp)、专用集成电路 (asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或晶体 管逻辑、分立硬件组件或被设计为执行此处描述的功能的其任意组合来实现。 通用处理器可以是微处理器,但在替换方案中,处理器可以是任何处理器、控 制器、微控制器、或状态机。(诸)处理器720还可被实现为计算设备的组合, 例如dsp和微处理器的组合、多个微处理器、多核处理器、结合dsp核的一个 或多个微处理器、或任何其它这种配置。
[0058]
计算机702可包括各种计算机可读介质或以其他方式与各种计算机可读介 质交互以便于控制计算机702来实现所要求保护主题的一个或多个方面。计算 机可读介质可以是能由计算机702访问的任何可用介质,并包括易失性和非易 失性介质以及可移动和不可移动介质。计算机可读介质可包括计算机存储介质 和通信介质。
[0059]
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模 块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移 动和不可移动介质。计算机存储介质包括存储器设备(例如,随机存取存储器 (ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)
……
)、 磁存储设备(例如,硬盘、软盘、磁带盒、磁带
……
)、光盘(例如,紧致盘 (cd)、数字多功能盘(dvd)
……
)、以及固态设备(例如,固态驱动器(ssd)、 闪存驱动器(例如,卡、棒、键驱动器
……
)
……
)、或者可用于存储(与发 送相反)可由计算机702访问的所需信息的任何其它类似介质。因此,计算机 存储介质不包括经调制的数据信号。
[0060]
通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算 机可读指令、数据结构、程序模块或其他数据,并包括任何信息传送介质。术 语“已调制数据信号”是指使得以在信号中编码信息的方式来设置或改变其一 个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接 线连接之类的有线介质,以及诸如声学、rf、红外及其他无线介质之类的无线 介质。上述的任意组合也应包含在计算机可读介质的范
围内。
[0061]
存储器730和大容量存储750是计算机可读存储介质的示例。取决于计算 设备的确切配置和类型,存储器730可以是易失性的(例如ram)、非易失性 的(例如rom、闪存)或是两者的某种组合。作为示例,包括诸如在启动期间 在计算机702内的元件之间传输信息的基本例程的基本输入/输出系统(bios) 可被存储在非易失性存储器中,而易失性存储器可担当外部高速缓存存储器以 便于处理器720的处理等。
[0062]
大容量存储750包括相对于存储器730用于存储大量数据的可移动/不可 移动、易失性/非易失性计算机存储介质。例如,大容量存储750包括但不限 于,诸如磁盘或光盘驱动器、软盘驱动器、闪存存储器、固态驱动器、或记忆 棒等一个或多个设备。
[0063]
存储器730和大容量存储750可包括或其中存储有操作系统760、一个或 多个应用762、一个或多个程序模块764和数据766。操作系统760用于控制 和分配计算机702的资源。应用762包括系统和应用软件之一或两者,并且可 利用操作系统760对资源的管理通过存储在存储器730和/或大容量存储750 中的程序模块764和数据766来执行一个或多个动作。因此,应用762可根据 由此提供的逻辑来将通用计算机702变成专用机器。
[0064]
所要求保护主题的全部或各部分可以使用产生控制计算机以实现所公开 功能的软件、固件、硬件或其任意组合的标准编程和/或工程技术来实现。作 为示例而非限制,管理系统100或其部分可以是或形成应用762的一部分,并 且包括存储在在由一个或多个处理器720执行时其功能可被实现的存储器和/ 或大容量存储750中的一个或多个模块764以及数据766。
[0065]
根据一个特定实施例,(诸)处理器720可与片上系统(soc)或在单个 集成电路基座上包括或换言之集成硬件和软件的类似架构相对应。此处,(诸) 处理器720可包括至少与(诸)处理器720和存储器730相似的一个或多个处 理器以及存储器等。常规处理器包括最少量的硬件和软件并且广泛依赖于外部 硬件和软件。作为对比,处理器的soc实现更强大,因为它将硬件和软件嵌入 其中以能够用最少的硬件和软件或不依赖于外部硬件和软件来启用特定功能。 例如,连续保护组件136和/或相关联的功能可被嵌入到soc体系结构中的硬 件内。
[0066]
计算机702还包括通信地耦合到系统总线740并便于与计算机702的交互 的一个或多个接口组件770。作为示例,接口组件770可以是端口(例如,串 行、并行、pcmcia、usb、火线
…
)或接口卡(例如,声音、视频
…
)等等。 在一个示例实现中,接口组件770可被具体化为用户输入/输出接口,该用户 输入/输出接口使得用户能够例如通过一个或多个输入设备(例如,诸如鼠标 等定点设备、跟踪球、指示笔、触摸垫、键盘、话筒、操纵杆、游戏垫、圆盘 式卫星天线、扫描仪、相机、其他计算机
……
)例如以一个或多个姿势或语音 输入的方式来将命令和信息输入到计算机702中。在另一示例实现中,接口组 件770可被具体化为输出外围接口,该输出外围接口向显示器(例如,lcd、 led、等离子
……
)、扬声器、打印机和/或其它计算机等提供输出。此外,接 口组件770可被具体化为网络接口,该网络接口使得能够诸如通过有线或无线 通信链路与其它计算设备(未示出)通信。
[0067]
以上所已经描述的内容包括所要求保护主题的各方面的示例。当然,出于 描绘所要求保护主题的目的而描述每一个可以想到的组件或方法的组合是不 可能的,但本领域内的普通技术人员应该认识到,所要求保护主题的许多进一 步的组合和排列都是可能的。
从而,所公开的主题旨在涵盖落入所附权利要求 书的精神和范围内的所有这样的变更、修改和变化。