CN103890734A - 遥测文件散列和冲突检测 - Google Patents

遥测文件散列和冲突检测 Download PDF

Info

Publication number
CN103890734A
CN103890734A CN201280052011.3A CN201280052011A CN103890734A CN 103890734 A CN103890734 A CN 103890734A CN 201280052011 A CN201280052011 A CN 201280052011A CN 103890734 A CN103890734 A CN 103890734A
Authority
CN
China
Prior art keywords
supplier
hash identifier
server
metadata collection
file
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.)
Granted
Application number
CN201280052011.3A
Other languages
English (en)
Other versions
CN103890734B (zh
Inventor
P.贾
M.斯特雷霍夫斯基
B.奇海
J.卡罗尔
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN103890734A publication Critical patent/CN103890734A/zh
Application granted granted Critical
Publication of CN103890734B publication Critical patent/CN103890734B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis

Abstract

在一个实施例中,服务器可以使用散列标识符来标识可执行文件。所述服务器(110)可以基于与可执行文件相关联的文件元数据集来计算散列标识符。所述服务器(110)可以使用所述散列标识符来标识所述可执行文件。

Description

遥测文件散列和冲突检测
背景技术
有时,在客户端设备上执行的计算机应用可能具有使该计算机应用停止工作(被称为“崩溃”)的错误。客户端设备可以收集被描述为“崩溃数据集”的、有关崩溃的数据的集合。崩溃数据集可以描述计算机在崩溃时的活动以便给供应商提供关于崩溃的原因的线索。可以使得崩溃数据集适当地匿名以保护用户的隐私。客户端设备可以发送描述崩溃的崩溃遥测报告。
发明内容
本发明内容被提供来以简化的形式引入在具体实施方式中在下面被进一步描述的构思的选择。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,它也不旨在被用来限制所要求保护的主题的范围。
在下面所讨论的实施例涉及使用散列标识符来标识可执行文件的服务器。该服务器可以基于与可执行文件相关联的文件元数据集来计算散列标识符。该服务器可以使用散列标识符来标识可执行文件。
附图说明
为了描述能够以其获得上面记载的和其他优点以及特征的方式,更特定的描述被阐述并且将通过参考被图示在附图中的其特定实施例来再现。要理解的是,这些图仅描绘典型的实施例,并且因此将不被认为是限制其范围,将通过利用附图以附加的特性和细节对实施方式进行描述和解释。
图1用框图图示了软件崩溃报告系统的一个实施例。
图2用框图图示了计算设备的一个实施例。
图3用框图图示了崩溃遥测报告的一个实施例。
图4用框图图示了供应商程序报告的一个实施例。
图5用流程图图示了供应商程序报告的初始归档的一个实施例。
图6用流程图图示了解析冲突文件报告的一个实施例。
图7用流程图图示了在客户端支持服务器处收集崩溃数据的方法的一个实施例。
图8用流程图图示了根据供应商来标识可执行文件的方法的一个实施例。
图9用流程图图示了创建散列标识符的方法的一个实施例。
图10用流程图图示了路由崩溃数据的方法的一个实施例。
具体实施方式
在下面详细地讨论实施例。虽然讨论了特定实施方式,但是应该理解的是,这样做仅用于图示目的。相关领域的技术人员将认识到,可以使用其他组件和配置而不背离本公开的主题的精神和范围。实施方式可以是机器实现的方法、具有存储在其上用于至少一个处理器的详述方法的一组指令的有形机器可读介质、或客户端支持服务器。
独立软件供应商可以将描述可执行文件的文件元数据集上传到供应商支持服务器。元数据服务器可以对照从客户端设备收集到的崩溃数据集来和文件元数据集匹配,以便确定哪一个独立软件供应商将接收崩溃数据集。
文件元数据集可以包含唯一地标识单个可执行文件的一组属性。这些属性包括文件名、文件版本以及文件链接日期(形式为日期时间戳)。在数据库设计中,单个标识符可以促进对象的高效交联。通过对文件元数据集的文本字符串执行散列函数,服务器或服务器组可以为可执行文件生产单个标识符。可替换地,服务器可以直接地对文件元数据集执行散列函数。
散列函数可以输入文件名、文件版本以及链接日期并且计算这些值的SHA-1散列。多个组件可以以相同的方式散列相同的值,从而即便在文件信息被不同地收集时也允许可执行文件的不同拷贝跨系统被匹配。
在散列被生成之前,服务器可以传递文件元数据集通过验证阶段和变换阶段。验证阶段可以检查输入参数具有正确的格式并且是在所指定的范围内。如果验证失败,则服务器可以放弃生成散列标识符以指示输入数据中的错误,从而防止无意义的散列标识符进入系统。
在变换阶段中,服务器可以将文件元数据集变换为跨越系统常见的格式。服务器可以将文件名变换为一致文法,诸如小写或大写,并将版本信息调整为常见的格式。在那之后,服务器可以从输入生成文本字符串并且根据结果得到的文本字符串来计算散列。可替换地,服务器可以根据文件元数据集来计算散列而不用将文件元数据集转换为文本字符串。
另外,散列函数可以简化当两个不同的独立软件供应商上传关于相同文件的信息时检测的过程。冲突检测器可以在这些冲突发生时标识它们,以便防止供应商看见关于其他供应商程序的崩溃数据。
因此,在一个实施例中,服务器可以使用散列标识符来标识可执行文件。服务器可以基于与可执行文件相关联的文件元数据集来计算散列标识符。服务器可以使用该散列标识符来标识可执行文件。
软件崩溃报告系统可以将与客户端散列标识符相关联的崩溃数据集与关联于一个或多个供应商的一组供应商散列标识符相比较。客户端散列标识符是与从客户端接收到的数据相关联的散列标识符。供应商散列标识符是与从供应商接收到的数据相关联的散列标识符。如果客户端散列标识符和供应商散列标识符匹配,则软件崩溃报告系统可以将崩溃数据集发送到所关联的供应商。图1用框图图示了软件崩溃报告系统100。供应商102可以将软件程序供应给客户端设备104。供应商102可以通过供应商入口106 (具有供应商支持服务器108和元数据服务器110)注册与软件程序的可执行文件相关联的文件元数据集。文件元数据集是描述可执行文件的一组数据,诸如文件名、文件版本以及链接日期。文件名是如由客户端设备102的操作系统所看见的文件的名称。文件版本是可执行文件的版本号。版本号可以包含对软件应用的任何全部或部分更新。链接日期是可执行文件被编译的日期。供应商支持服务器108可以基于对文件元数据集应用散列函数来计算供应商散列标识符。供应商散列标识符可以标识确切的可执行文件。供应商支持服务器108可以使供应商散列标识符与供应商102相关联。供应商支持服务器108可以将供应商散列标识符和关联的供应商标识符发送元数据服务器110。
如果可执行文件在执行期间崩溃,则客户端设备104可以向客户端支持服务器112报警。客户端设备104可以将描述崩溃的情况的崩溃数据集发送到客户端支持服务器112。崩溃数据集可以是在崩溃遥测报告中。崩溃遥测报告可以使崩溃数据集与可执行文件的文件元数据集相关联,所述文件元数据集诸如文件名、文件版本以及链接日期。客户端支持服务器112可以基于崩溃遥测报告中的文件元数据集来计算客户端散列标识符。客户端支持服务器112可以使客户端散列标识符与崩溃数据集相关联。客户端支持服务器112可以将客户端散列标识符和关联的崩溃数据集发送到元数据服务器110。
元数据服务器110可以将客户端散列标识符与所存储的供应商散列标识符相比较。元数据服务器110可以将崩溃数据集发送到与和客户端散列标识符匹配的供应商散列标识符相关联的供应商102。供应商支持服务器108、元数据服务器110或客户端支持服务器112中的一个或多个的功能可以以任何数目的组合来组合或者遍布多个服务器。
图2图示了示例性计算设备200的框图,所述计算设备200可以作为供应商支持服务器108、元数据服务器110或客户端支持服务器112。计算设备200可以组合硬件、软件、固件以及芯片上系统技术的一个或多个来实现散列标识符的计算。计算设备200可以包括总线210、处理器220、存储器230、只读存储器(ROM) 240、存储设备250、输入设备260、输出设备270以及通信接口280。总线210可以许可计算设备200的组件之间的通信。
处理器220可以包括解释并且执行一组指令的至少一个常规处理器或微处理器。存储器230可以是存储信息和指令以供由处理器220执行的随机存取存储器(RAM)或另一类型的动态存储设备。存储器230还可以存储在指令通过处理器220的执行期间所使用的临时变量或其他中间信息。ROM 240可以包括为处理器220存储静态信息和指令的常规ROM设备或另一类型的静态存储设备。存储设备250可以包括任何类型的有形机器可读介质,诸如例如,磁或光学记录媒体及其对应的驱动器。存储设备250可以存储详述方法的一组指令,所述方法当被一个或多个处理器执行时使该一个或多个处理器执行所述方法。存储设备250还可以是用于存储散列标识符和关联的数据的数据库或数据库接口。
输入设备260可以包括许可用户将信息输入到计算设备200的一个或多个常规构件,诸如键盘、鼠标、语音识别设备、麦克风、头戴式耳机等。输出设备270可以包括将信息输出给用户的一个或多个常规构件,包括显示器、打印机、一个或多个扬声器、头戴式耳机或介质,诸如存储器或磁盘或光盘和对应的盘驱动器。通信接口280可以包括使得计算设备200能够与其他设备或网络进行通信的任何类似收发器的构件。通信接口280可以包括网络接口或移动收发器接口。通信接口280可以是无线接口、有线接口或光纤接口。
计算设备200可以响应于处理器220执行在计算机可读介质(诸如例如,存储器230、磁盘或光盘)中包含的指令的序列来执行这样的功能。这样的指令可以从另一个计算机可读介质(诸如存储设备250)、或者经由通信接口280从单独的设备被读取到存储器230中。
图3用框图图示了崩溃遥测报告300的一个实施例。崩溃遥测报告300可以列举文件名310,从而表示可执行文件的名称。文件名310可以被转换为一致文法,诸如小写或大写。崩溃遥测报告300可以列举文件版本320,从而表示在文件的二进制版本资源中存储的版本信息。文件版本320可以被格式化为“x.y.z.w”。崩溃遥测报告300可以有链接日期330,从而表示可执行链接日期和时间,如在可执行文件的图像文件头部的“时间日期戳”字段中所指定的那样。链接日期330可以被格式化为具有“yyyy-MM-ddTHH:mm:ss”的ISO08601格式的字符串。崩溃遥测报告300可以具有描述崩溃的情况的崩溃数据集340。
图4用框图图示了供应商程序报告400的一个实施例。供应商程序报告400可以列举文件名410,从而表示可执行文件的名称。文件名410可以被转换为一致文法,诸如小写或大写。供应商程序报告400可以列举文件版本420,从而表示在文件的二进制版本资源中存储的版本信息。文件版本420可以被格式化为“x.y.z.w”。供应商程序报告400可以具有链接日期430,从而表示可执行链接日期和时间,如在可执行文件的图像文件头部的“时间日期戳”字段中所指定的那样。链接日期430可以被格式化为具有“yyyy-MM-ddTHH:mm:ss”的ISO08601格式的字符串。供应商程序报告400可以具有标识产生了该可执行文件的供应商的供应商标识符(ID) 440。附加地,如果供应商对于任何崩溃数据具有特定路由目标,则供应商程序报告400可以具有供应商联系人450。
可替换地,表示元数据服务器110、客户端支持服务器112或供应商服务器108的供应商入口可以存储供应商程序报告400以供由供应商102以后访问。供应商102可以在供应商入口处进行认证并且下载供应商程序报告400。
图5用流程图图示了供应商程序报告500的初始归档500的一个实施例。供应商102可以将文件元数据集发送到供应商支持服务器108 (动作502)。文件元数据集可以有文件名、文件版本以及链接日期。供应商支持服务器108可以将文件元数据集转发到元数据服务器110 (动作504)。元数据服务器110可以应用散列算法来创建散列标识符。元数据服务器110可以将该散列标识符转发到冲突检测器506 (动作508)。冲突检测器506可以是来自元数据服务器110的单独服务器或元数据服务器110的子组件。如果冲突检测器506确定散列标识符对于元数据服务器110而言是新的,则冲突检测器506可以可选地放弃请求审查(动作510)。
图6用流程图图示了冲突文件报告的解析600的一个实施例。供应商102可以将文件元数据集发送到供应商支持服务器108 (动作602)。文件元数据集可以有文件名、文件版本以及链接日期。供应商支持服务器108可以将文件元数据集转发到元数据服务器110 (动作604)。元数据服务器110可以应用散列算法来创建散列标识符。元数据服务器110可以将该散列标识符转发到冲突检测器506 (动作606)。如果冲突检测器506确定散列标识符当前正在由元数据服务器110使用中,则冲突检测器506可以可选地请求管理员审查冲突(动作608)。
图7用流程图图示了收集崩溃数据的方法700的一个实施例。虽然崩溃数据收集被描述为在客户端支持服务器112处发生,但是供应商支持服务器108和元数据服务器110还可以执行这个功能。客户端支持服务器112可以接收具有与可执行文件相关联的文件元数据集和崩溃数据集的崩溃遥测报告(框702)。客户端支持服务器112可以基于文件元数据集来计算客户端散列标识符以标识可执行文件(框704)。客户端支持服务器112可以使来自遥测报告的崩溃数据集与客户端散列标识符相关联(框706)。客户端支持服务器112可以基于客户端散列标识符经由元数据服务器110将崩溃数据集提供给供应商102(框708)。客户端支持服务器112可以将崩溃数据集340提供给元数据服务器110以便发送到供应商联系人450,或者可以将崩溃数据集340存储在元数据服务器110处以供由供应商102以后访问。
图8用流程图图示了根据供应商102来标识可执行文件的方法800的一个实施例。虽然供应商数据收集被描述为在供应商支持服务器108处发生,但是元数据服务器110和客户端支持服务器112还可以执行这个功能。供应商支持服务器108可以从供应商102接收与可执行文件相关联的文件元数据集(框802)。供应商支持服务器108可以基于文件元数据集来计算供应商散列标识符(框804)。供应商支持服务器108可以使用供应商散列标识符来标识可执行文件(框806)。供应商支持服务器108可以使供应商散列标识符与供应商102相关联(框808)。供应商支持服务器108可以与崩溃数据集一起从客户端支持服务器112接收客户端散列标识符(框810)。供应商支持服务器108可以通过使客户端散列标识符与存储的供应商散列标识符相匹配来标识供应商(框812)。供应商支持服务器108可以经由元数据服务器110将崩溃数据集提供给与供应商散列标识符相关联的供应商102 (框814)。供应商支持服务器108可以让元数据服务器110将崩溃数据集340发送到供应商联系人450,或者可以将崩溃数据集340存储在元数据服务器110处以供由供应商102以后访问。
图9用流程图图示了计算散列标识符的方法900的一个实施例。供应商支持服务器108、元数据服务器110或客户端支持服务器112中的任一个都可以计算散列标识符。服务器可以验证文件元数据集以检查该文件元数据是兼容格式的(框902)。如果格式是不兼容格式的(框904),并且文件元数据集不可转换为可兼容格式(框906),则服务器可以忽视文件元数据集(框908)。如果文件元数据集可转换为兼容格式(框906),则服务器可以将文件元数据集转换为兼容格式(框910)。服务器可以将文件元数据集转换为文本字符串(框912)。服务器可以对文本字符串执行散列函数来创建散列标识符(框914)。散列函数可以是安全散列算法1 (SHA-1)或消息摘要算法5 (MD5)中的至少一个。安全散列算法1是160位密码散列函数,然而消息摘要算法5是128位密码散列函数。
图10用流程图图示了路由崩溃数据的方法1000的一个实施例。虽然路由被描述为在元数据服务器110处发生,但是供应商支持服务器108和客户端支持服务器112还可以执行这个功能。元数据服务器110可以使供应商散列标识符与供应商102相关联(框1002)。元数据服务器110可以与可执行文件的崩溃数据集340一起从客户端支持服务器112接收客户端散列标识符(框1004)。元数据服务器110可以将客户端散列标识符与存储的供应商散列标识符相比较来标识创建了可执行文件的供应商102 (框1006)。元数据服务器110可以基于散列标识符将崩溃数据集340提供给供应商(框1008)。元数据服务器110可以将崩溃数据集340发送到供应商联系人450,或者可存储崩溃数据集340以供由供应商102以后访问。
尽管已经以特定于结构特征和/或方法学行为的语言对本主题进行了描述,但是应当理解的是,所附权利要求中的主题未必限于上面所描述的特定特征或行为。相反地,上面所描述的特定特征和行为作为用于实现权利要求的示例形式被公开。
在本发明的范围内的实施例还可以包括用于承载或者具有存储在其上的计算机可执行指令或数据结构的非暂时性计算机可读存储媒体。这样的非暂时性计算机可读存储媒体可以是能够被通用或专用计算机访问的任何可用的媒体。通过示例而非限制的方式,这样的非暂时性计算机可读存储媒体能够包括RAM、ROM、EEPROM、CD-ROM或其他光盘储存器、磁盘储存器或其他磁性存储设备,或能够被用来以计算机可执行指令或数据结构的形式承载或者存储期望的程序代码装置的任何其他介质。以上所述的组合还应被包括在非暂时性计算机可读存储媒体的范围内。
还可以在其中任务由通过通信网络被链接(要么通过硬连线链路、无线链路,要么通过其组合)的本地和远程处理设备来执行的分布式计算环境中来实践实施例。
计算机可执行指令例如包括使通用计算机、专用计算机或专用处理设备执行特定功能或一组功能的指令和数据。计算机可执行指令同样包括由计算机在独立或网络环境中执行的程序模块。一般地,程序模块包括执行特定任务或者实现特定抽象数据类型的例程、程序、对象、组件以及数据结构等。计算机可执行指令、关联的数据结构以及程序模块表示用于执行本文中所公开的方法的步骤的程序代码装置的示例。这样的可执行指令或关联的数据结构的特定顺序表示用于实现在这样的步骤中所描述的功能的对应行为的示例。
尽管上述描述可以包含特定细节,但是它们不应被解释为以任何方式限制权利要求。所描述的实施例的其他配置是本公开的范围的一部分。例如,本公开的原理可以被应用于每个个别用户,其中每个用户可以个别地部署这样的系统。即使大量可能的应用中的任何一个不使用本文中所描述的功能性,这也使得每个用户能够利用本公开的有益效果。电子设备的多个实例每个都可以以各种可能的方式来处理内容。实施方式未必是在由所有终端用户所使用的一个系统中。因此,所附权利要求和它们的法定等同物应该仅限定本发明,而不是所给出的任何特定示例。

Claims (10)

1. 一种机器实现的方法,包括:
基于与可执行文件相关联的文件元数据集来计算散列标识符;以及
使用所述散列标识符来标识所述可执行文件。
2. 根据权利要求1所述的方法,进一步包括:
在客户端支持服务器中接收具有所述文件元数据集的崩溃遥测报告。
3. 根据权利要求1所述的方法,进一步包括:
基于所述散列标识符将崩溃数据集提供给供应商。
4. 根据权利要求1所述的方法,进一步包括:
在供应商支持服务器中从供应商接收所述文件元数据集。
5. 根据权利要求1所述的方法,进一步包括:
与崩溃数据集一起从客户端支持服务器接收所述散列标识符。
6. 根据权利要求1所述的方法,进一步包括:
将崩溃数据集提供给与所述散列标识符相关联的供应商。
7. 根据权利要求1所述的方法,进一步包括:
验证所述文件元数据集以检查所述文件元数据集是兼容格式的。
8. 一种具有存储在其上的详述方法的一组指令的有形机器可读介质,所述一组指令当被一个或多个处理器执行时使所述一个或多个处理器执行所述方法,所述方法包括:
在供应商支持服务器中从供应商接收与可执行文件相关联的文件元数据集;
基于所述文件元数据集来计算供应商散列标识符;以及
使用所述散列标识符来标识所述可执行文件。
9. 一种客户端支持服务器,包括:
通信接口,其接收与可执行文件相关联的文件元数据集;
处理器,其基于所述文件元数据集来计算散列标识符;以及
存储器,其使所述可执行文件与所述散列标识符相关联。
10. 根据权利要求9所述的客户端支持服务器,其中所述文件元数据集与待提供给供应商的崩溃数据集一起在崩溃遥测报告中。
CN201280052011.3A 2011-10-23 2012-10-23 遥测文件散列和冲突检测 Active CN103890734B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/279,329 2011-10-23
US13/279,329 US9934229B2 (en) 2011-10-23 2011-10-23 Telemetry file hash and conflict detection
PCT/US2012/061437 WO2013062941A1 (en) 2011-10-23 2012-10-23 Telemetry file hash and conflict detection

Publications (2)

Publication Number Publication Date
CN103890734A true CN103890734A (zh) 2014-06-25
CN103890734B CN103890734B (zh) 2018-05-04

Family

ID=48136827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280052011.3A Active CN103890734B (zh) 2011-10-23 2012-10-23 遥测文件散列和冲突检测

Country Status (6)

Country Link
US (1) US9934229B2 (zh)
EP (1) EP2769304B1 (zh)
JP (1) JP6301256B2 (zh)
KR (1) KR102044046B1 (zh)
CN (1) CN103890734B (zh)
WO (1) WO2013062941A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10366419B2 (en) * 2012-11-27 2019-07-30 Roland Storti Enhanced digital media platform with user control of application data thereon
US9755770B2 (en) * 2012-11-27 2017-09-05 Myminfo Pty Ltd. Method, device and system of encoding a digital interactive response action in an analog broadcasting message
US10339936B2 (en) * 2012-11-27 2019-07-02 Roland Storti Method, device and system of encoding a digital interactive response action in an analog broadcasting message
US9292270B2 (en) 2014-03-27 2016-03-22 Microsoft Technology Licensing, Llc Supporting dynamic behavior in statically compiled programs
US9389890B2 (en) 2014-03-27 2016-07-12 Microsoft Technology Licensing, Llc Hierarchical directives-based management of runtime behaviors
US10063585B2 (en) * 2015-03-18 2018-08-28 Qualcomm Incorporated Methods and systems for automated anonymous crowdsourcing of characterized device behaviors
US9639715B2 (en) 2015-04-27 2017-05-02 Microsoft Technology Licensing, Llc Protecting user identifiable information in the transfer of telemetry data
US9965639B2 (en) 2015-07-17 2018-05-08 International Business Machines Corporation Source authentication of a software product
WO2017082875A1 (en) * 2015-11-10 2017-05-18 Hewlett Packard Enterprise Development Lp Data allocation based on secure information retrieval
US11831654B2 (en) * 2015-12-22 2023-11-28 Mcafee, Llc Secure over-the-air updates
US11080301B2 (en) 2016-09-28 2021-08-03 Hewlett Packard Enterprise Development Lp Storage allocation based on secure data comparisons via multiple intermediaries
US10740298B2 (en) 2016-10-12 2020-08-11 Microsoft Technology Licensing, Llc File synchronization with reduced conflicts in computing systems

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1035482A2 (en) * 1999-03-05 2000-09-13 Mitsubishi Denki Kabushiki Kaisha Remote file version reconciliation using hash codes
US6151708A (en) * 1997-12-19 2000-11-21 Microsoft Corporation Determining program update availability via set intersection over a sub-optical pathway
CN1617099A (zh) * 2003-10-24 2005-05-18 微软公司 软件产品的应用程序身份
US20050289404A1 (en) * 2004-06-23 2005-12-29 Autodesk, Inc. Hierarchical categorization of customer error reports
US20060149806A1 (en) * 2000-06-16 2006-07-06 Qurio Holdings, Inc. Hashing algorithm used for multiple files having identical content and fingerprint in a peer-to-peer network
US20060173937A1 (en) * 2005-02-03 2006-08-03 Barry Sia Release-dependant filenames for device drivers
US7096493B1 (en) * 2000-12-21 2006-08-22 Gary G. Liu Internet file safety information center
US20060253837A1 (en) * 2005-04-15 2006-11-09 Microsoft Corporation Using a call stack hash to record the state of a process
US20070156585A1 (en) * 2006-01-05 2007-07-05 International Business Machines Corporation System and method for processing feedback entries received from software
US20080052677A1 (en) * 2006-08-04 2008-02-28 Apple Computer, Inc. System and method for mitigating repeated crashes of an application resulting from supplemental code
US20080098109A1 (en) * 2006-10-20 2008-04-24 Yassine Faihe Incident resolution
US20080126431A1 (en) * 2006-11-24 2008-05-29 Stefan Walliser Method and Device for Data Backup
US20080244531A1 (en) * 2007-03-30 2008-10-02 Sap Ag Method and system for generating a hierarchical tree representing stack traces
CN101669118A (zh) * 2007-02-13 2010-03-10 Stg交互公司 文件管理方法
US20100229157A1 (en) * 2009-03-06 2010-09-09 Microsoft Corporation Extracting and collecting platform use data
CN102047260A (zh) * 2008-05-28 2011-05-04 赛门铁克公司 用于集中式恶意软件检测的智能散列

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050033605A1 (en) * 2000-07-27 2005-02-10 Bergeron Heather Ellen Configuring a semantic network to process health care transactions
US7752290B2 (en) * 2002-08-21 2010-07-06 Canon Kabushiki Kaisha Information processing apparatus connectable to peripheral device, controlling method, and computer-readable storage medium storing control program thereon
US20040128583A1 (en) 2002-12-31 2004-07-01 International Business Machines Corporation Method and system for monitoring, diagnosing, and correcting system problems
US20040167859A1 (en) * 2003-02-14 2004-08-26 Richard Mirabella Software license management system configurable for post-use payment business models
US7191364B2 (en) * 2003-11-14 2007-03-13 Microsoft Corporation Automatic root cause analysis and diagnostics engine
US7735065B2 (en) 2003-11-14 2010-06-08 Kalpit Jain Aggregation and prioritization of application issue data
US7571150B2 (en) * 2005-04-15 2009-08-04 Microsoft Corporation Requesting, obtaining, and processing operational event feedback from customer data centers
CN101005428A (zh) 2006-01-19 2007-07-25 华为技术有限公司 一种检测与解决数据同步冲突的实现方法
US7840540B2 (en) 2006-04-20 2010-11-23 Datascout, Inc. Surrogate hashing
US20080104403A1 (en) * 2006-09-29 2008-05-01 Shay Gueron Methods and apparatus for data authentication with multiple keys
US20080254777A1 (en) 2007-04-10 2008-10-16 S5 Wireless, Inc. Systems and methods for facilitating automatic generation of metadata about data that is collected by a mobile device
GB0813672D0 (en) * 2008-07-25 2008-09-03 Ixico Ltd Image data management systems
US8140892B2 (en) * 2008-09-26 2012-03-20 Microsoft Corporation Configuration of memory management techniques selectively using mitigations to reduce errors
US8561180B1 (en) * 2008-10-29 2013-10-15 Symantec Corporation Systems and methods for aiding in the elimination of false-positive malware detections within enterprises
US9208315B2 (en) 2009-03-17 2015-12-08 Microsoft Corporation Identification of telemetry data
US8776028B1 (en) * 2009-04-04 2014-07-08 Parallels IP Holdings GmbH Virtual execution environment for software delivery and feedback
US8620879B2 (en) * 2009-10-13 2013-12-31 Google Inc. Cloud based file storage service

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151708A (en) * 1997-12-19 2000-11-21 Microsoft Corporation Determining program update availability via set intersection over a sub-optical pathway
EP1035482A2 (en) * 1999-03-05 2000-09-13 Mitsubishi Denki Kabushiki Kaisha Remote file version reconciliation using hash codes
US20060149806A1 (en) * 2000-06-16 2006-07-06 Qurio Holdings, Inc. Hashing algorithm used for multiple files having identical content and fingerprint in a peer-to-peer network
US7096493B1 (en) * 2000-12-21 2006-08-22 Gary G. Liu Internet file safety information center
CN1617099A (zh) * 2003-10-24 2005-05-18 微软公司 软件产品的应用程序身份
US20050289404A1 (en) * 2004-06-23 2005-12-29 Autodesk, Inc. Hierarchical categorization of customer error reports
US20060173937A1 (en) * 2005-02-03 2006-08-03 Barry Sia Release-dependant filenames for device drivers
US20060253837A1 (en) * 2005-04-15 2006-11-09 Microsoft Corporation Using a call stack hash to record the state of a process
US20070156585A1 (en) * 2006-01-05 2007-07-05 International Business Machines Corporation System and method for processing feedback entries received from software
US20080052677A1 (en) * 2006-08-04 2008-02-28 Apple Computer, Inc. System and method for mitigating repeated crashes of an application resulting from supplemental code
US20080098109A1 (en) * 2006-10-20 2008-04-24 Yassine Faihe Incident resolution
US20080126431A1 (en) * 2006-11-24 2008-05-29 Stefan Walliser Method and Device for Data Backup
CN101669118A (zh) * 2007-02-13 2010-03-10 Stg交互公司 文件管理方法
US20080244531A1 (en) * 2007-03-30 2008-10-02 Sap Ag Method and system for generating a hierarchical tree representing stack traces
CN102047260A (zh) * 2008-05-28 2011-05-04 赛门铁克公司 用于集中式恶意软件检测的智能散列
US20100229157A1 (en) * 2009-03-06 2010-09-09 Microsoft Corporation Extracting and collecting platform use data

Also Published As

Publication number Publication date
US20130103651A1 (en) 2013-04-25
CN103890734B (zh) 2018-05-04
KR20140079786A (ko) 2014-06-27
KR102044046B1 (ko) 2019-11-12
JP2014531091A (ja) 2014-11-20
EP2769304B1 (en) 2023-05-03
EP2769304A1 (en) 2014-08-27
JP6301256B2 (ja) 2018-03-28
WO2013062941A1 (en) 2013-05-02
US9934229B2 (en) 2018-04-03
EP2769304A4 (en) 2015-11-11

Similar Documents

Publication Publication Date Title
CN103890734A (zh) 遥测文件散列和冲突检测
CN102306256B (zh) 对获取的文件进行信誉检查
JP5023715B2 (ja) 情報処理システム、情報処理装置及びプログラム
JP4470069B2 (ja) 入力補助装置、入力補助システム、入力補助方法、及び、入力補助プログラム
US8713368B2 (en) Methods for testing OData services
US20140075301A1 (en) Information processing apparatus, control method, and recording medium
CN104796257A (zh) 灵活的数据认证
WO2014000148A1 (zh) 一种资源获取方法及装置
CN111709860B (zh) 遗嘱处理方法、装置、设备及存储介质
CN111638908A (zh) 接口文档生成方法、装置、电子设备及介质
US20200014530A1 (en) Citation and Attribution Management Methods and Systems
CN111339551B (zh) 数据的验证方法及相关装置、设备
KR20160048806A (ko) 인증 문서를 자동으로 생성하는 기법
US11017029B2 (en) Data transfer system, data transfer apparatus, data transfer method, and computer-readable recording medium
CN108052842B (zh) 签名数据的存储、验证方法及装置
TW201417029A (zh) 原始程式碼管理系統、原始程式碼管理方法以及原始程式碼管理程式
CN114143308A (zh) 文件上传信息处理方法、装置、计算机设备及存储介质
JP5316719B2 (ja) 検証プログラムおよび検証装置
JP4550487B2 (ja) ソフトウェア管理システム及び管理装置及び操作装置及びソフトウェア管理方法及びソフトウェア操作方法及びプログラム
JP2021140299A (ja) データマッチングシステム、情報処理装置およびデータマッチング方法
JP6083210B2 (ja) 認証情報管理システム、認証情報管理方法、認証情報管理プログラム、及び、検索システム
US20240012909A1 (en) Correction of non-compliant files in a code repository
CN117994091A (zh) 数据权属信息的仲裁方法、装置、设备和存储介质
JP2006060724A (ja) 電子署名システム及び電子署名プログラム
CN113377367A (zh) 数据收集方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150713

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150713

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant