当前位置: 首页 > 专利查询>微软公司专利>正文

具有扩展的数据和用户隐私保护的存储器转储制造技术

技术编号:8190923 阅读:239 留言:0更新日期:2013-01-10 01:50
一种用于从在执行一个或多个软件程序时遇到问题的计算机产生有用存储器数据的分类优先转储的系统和方法。该计算机系统可以识别在分类优先转储内的具有个人数据的特征的数据值。为了保护软件用户的隐私,可以通过用重写值重写数据值来使个人数据中毒。基于数据值本身或随机选择的数据值,可以预先确定用于使数据值中毒的重写值。分类优先转储可以被发送至与一个或多个软件程序的开发商相关联的外部服务器,用于分析。当动态地选择重写值时,使用的特定重写值可以被发送至与分类优先转储有关的服务器。

【技术实现步骤摘要】
具有扩展的数据和用户隐私保护的存储器转储
技术介绍
即使在软件已经向用户发布以后,现代计算机软件开发商也不断改进和更新软件。如果需要,现存网络基础设施,诸如因特网,允许软件开发商迅速并频繁地将软件更新发送给用户。因特网也允许用户向软件开发商提供关于在执行软件期间可能出现的问题的反馈。这种反馈可以是通过用户的表达动作而发送的手工反馈。虽然,某些操作系统包括了错误报告系统的代理,如果用户同意用户的操作系统发送这种信息,则其可以提供自动反馈。这种反馈可以包含关于软件程序崩溃或挂起时关于操作环境的有用信息,并且允许软件开发商调查并修改该软件中的任何漏洞。 当操作系统自动发送反馈时,发送的信息可以是从计算机搜集的信息的转储,以定义在崩溃或其他性能问题时计算机的操作状态。在转储中包含存储的内容的至少部分是有用的。该信息有时被称为存储器转储,其揭示了在特定时间的工作存储器的状态。存储器转储允许软件开发商执行对于崩溃或挂起原因的调查。然而,现代计算机系统中的完全存储器转储过大,并且并非其含有的所有信息对于软件开发商是特别有用的。因此,可以仅发送存储器转储的一部分。在不同的场景中,可以发送来自不同存储量的内容。在某些场景中,错误的报告可以包含足够的存储器内容,以协助识别特定软件应用具有问题。该软件可能存在多个问题中的任意一个问题。例如,可能存在关于性能、可靠性、稳定性、安全性或兼容性的问题。这种转储有时被称为“分类优先转储”。基于对分类优先转储的分析,软件开发商可以配置错误报告系统,以搜集用于在错误报告中包含的更具体的信息。
技术实现思路
本文所描述的是作为错误报告系统的部分的用于从用户的计算机发送存储器转储数据的技术。存储器转储可以含有对于识别操作错误的原因有用的信息,同时减少在存储器转储数据中包含特定用户个人数据的风险。为了减少用户特定的个人数据被包含在存储器转储中的风险,含有具有个人数据的特征的数据的存储器部分,通过利用重写值将数据值重写,而被“中毒”。重写值可以被选择,以提高在识别错误原因中的存储器转储数据的值。在某些实施例中,重写值可以被选择,以允许已经被重写的存储器位置与其中信息已经被保留而未被重写的存储器位置之间的区别。在某些实施例中,具有指针特征的数据值被保留在存储器转储中而不重写,并且选择一个重写值,以便不同于可能的指针值。一个特定示例是,可以选择一个重写值,以允许其中该值已经被重写的位置与存储空指针的位置之间的区别。在某些实施例中,重写值可以被选定为被重写的数据值的预定函数。在某些实施例中,可以随机选择重写值。在某些实施例中,计算机系统使用分类优先转储引擎产生分类优先转储,以响应计算机程序崩溃或挂起。分类转储引擎的识别引擎识别具有个人信息特征的多个数据值。重写引擎以重写值来重写每个识别的数据值。重写值可能不对应于被计算机系统用作空指针值的值。一旦被产生,分类优先转储可以被发送至外部服务器。在某些实施例中,可以基于被重写的数据值,确定重写值。例如,如果被重写的数据值处于第一预定范围内,则重写引擎可以利用第一重写值来重写该数据值。相反,如果被重写的数值处于第二预定范围内,重写引擎可以利用第二重写值来重写该数据值。在某些实施例中,选择引擎确定重写值。选择引擎可以使用随机数发生器来选择各种重写值。被重写的数据值和它们相应的重写值可以被存储在追踪这些数据值如何被中毒的映射的表中。含有重写值的表的部分可以被发送至外部服务器,以提供用于分析分类优先转储的附加信息,而不会损害用户的隐私。在某些实施例中,服务器从远程计算机接收分类优先转储。分类优先转储包括指针数据,其对于分析程序的崩溃和挂起的原因是有用的。分类优先转储也可以包括潜在地表示以重写值被重写的个人信息的中毒数据值,以防止个人数据的散布。分类优先转储也可以包括空指针数据,其可区别于中毒数据,因为从来不使用空指针值使数据值中毒。 在某些实施例中,服务器接收包括用于使分类优先转储的数据中毒的重写值。通过遇到问题的程序的调用栈,可以追踪每个重写值。这可以允许软件开发商来识别初始使用数据值的程序内的函数,而不向软件开发商掲示实际数据值。当数据值具有个人信息的特征时,这保护了用户的隐私。通过执行在计算机可读存储设备上存储的指令的计算系统的处理器,可以执行用于产生、发送和接收分类优先转储的某些方法。上文是本专利技术的非限定性摘要,本专利技术仅由随附的权利要求限定。附图说明附图并非旨在按比例绘制。在这些附图中,在各个附图中示出的每个相同或几乎相同的构件通过相同编号表示。为了清楚目的,没有在每个附图中对每个构件进行标记。在附图中 图I是其中可以将分类优先转储发送到软件开发商的示例性网络环境的简化框 图2是其中本专利技术的实施例可以操作的示例性计算环境的框 图3是图2的操作系统的简化框 图4是可以实施本专利技术的实施例的计算机系统的示例存储器的示意性图示; 图5A在表中示出了图4的示例性存储器; 图5B示出了根据本专利技术的一个实施例在使可能包含个人信息的数据值中毒之后图4的示例性存储器; 图5C示出了根据本专利技术的一个实施例在使可能包含个人信息的数据值中毒之后图4的示例性存储器; 图6示出了用于产生分类优先转储的一个实施例的示意性流程 图7示出了用于使用随机数发生器产生分类优先转储的一个实施例的示意性流程图。具体实施例方式专利技术者已经认识到并理解作为错误报告系统的部分的用于搜集存储器转储的改进技术,能够在不増加用户隐私和个人信息的风险的情况下,提供用于诊断错误的显著的附加信息。为了保护隐私,如果通过错误报告系统发送的存储器转储的某些数据值具有个人信息的特征,则其可能需要中毒。“中毒”可以包括将具有重写值的数据值重写。使诸如密码或信用卡信息的个人数据中毒不可能影响软件开发商分析存储器转储数据的能力,因为个人信息很少与该分析相关。常规错误报告系统,尤其是当配置成形成分类优先转储时可以使具有个人信息的特征的任何值中毒。然而,专利技术者已经进一步认识到利用未模糊保留的其他信息的值使存储器转储中毒是有用的。因此,可以选择重写值以与保留的任何值不同。如特定示例,可以选择重写值以区分空指针值和中毒数据值。因此,在一些实施例中,未将空指针值用作重写值以使数据值中毒。虽然在其他实施例中,可以选择重写值,使得其不同于作为或可能作为指针或值被保留的其他类型数据的有意义值的任意值。专利技术者还认识到以保持关于被重写的值的信息的方式使存储器转储中毒是有用的,即使这些值不能从存储器转储恢复。因此,部分基于被重写的值,可以选择重写值。然 而,以被重写的值不能从重写值恢复的方式,可以进行该选择。在一些实施例中,因为在被重写的值和重写值之间的多对一关系,被重写的值可能不是可恢复的。例如,当重写值与这些值的各自范围相关联并且使用相同值以在各自范围中重写任何值时,这种情形可能发生。如特定示例,可以使用不同重写值识别大负数、大正数、以及其他值。例如,这种重写值指配方案可以包括对崩溃转储的全部分析,以识别指示超限错误或欠载错误的值。在一些实施例中,因为被重写的值和重写值之间的随机关系,所以被重写的值可能不能恢复。当在值和重写值之间的随机映射创建时,这种情形可能发生。这种映射在识别存储器转储中的相同值的多个实例中是有用的,并且本文档来自技高网...

【技术保护点】
一种用于在包括处理器(220)和用于存储数据的至少一个存储器(232/400)的计算机系统(210)中生成分类优先转储(140)的方法,其中所述存储器(232/400)包括多个存储器位置,所述方法包括:识别(606)在多个存储器位置中存储的第一多个数据值,其中,所述第一多个数据值的每一个具有个人信息的特征;以及用一个或多个重写值重写(610)所述第一多个数据值的每一个,其中,所述一个或多个重写值不对应于空指针的值。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:M塞格迪RS基维特GW尼科尔斯M巴西尔彦邱仁隆G卡里莫夫
申请(专利权)人:微软公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1