CN106201615A - 利用成功的问题解决的应用兼容性 - Google Patents

利用成功的问题解决的应用兼容性 Download PDF

Info

Publication number
CN106201615A
CN106201615A CN201610543582.7A CN201610543582A CN106201615A CN 106201615 A CN106201615 A CN 106201615A CN 201610543582 A CN201610543582 A CN 201610543582A CN 106201615 A CN106201615 A CN 106201615A
Authority
CN
China
Prior art keywords
data
application
incompatibility
readjustment
identified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201610543582.7A
Other languages
English (en)
Inventor
C.I.卢普
J.L.斯蒂芬顿
D.L.希克斯
E.V.戴
H.卡扎
S.K.马尼文南
R.J.肯尼
S.K.帕苏拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106201615A publication Critical patent/CN106201615A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/0709Error 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 distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44552Conflict resolution, i.e. enabling coexistence of conflicting executables
    • 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
    • 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/0751Error or fault detection not based on redundancy
    • 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/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0609Buyer or seller confidence or verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0873Checking configuration conflicts between network elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

描述了应用兼容性技术。在一个或多个实现中,服务提供商的一个或多个计算设备经由网络从多个客户端设备接收数据,该数据描述了一个或多个尝试,这些尝试至少部分成功地解决了一个或多个应用在相应计算设备上执行中的一个或多个不兼容性。根据一个或多个准则来挖掘数据以识别所述应用中的至少一个,并验证该数据以确认针对所识别应用至少部分成功地解决了不兼容性中的至少一个。存储描述经验证的、对不兼容性的成功解决的数据,并至少基于所存储的数据传播更新以解决不兼容性。

Description

利用成功的问题解决的应用兼容性
背景技术
用户可用的应用数目日益增长。例如,应用传统地在可由用户在实体店购买的计算机可读存储介质上提供。因此,用户通常去该店,以从可以安装在该用户计算设备上的数百个应用中进行选择。
但是,随着在线应用市场的出现,用户可以访问数万个可以在用户计算设备上执行的应用。然而,由于有庞大数量的选择,原来应用来确保数百个应用兼容性的技术在面临好数万个应用的时候可能变得失控。
发明内容
描述了应用兼容性技术。在一个或多个实现中,服务提供商的一个或多个计算设备经由网络从多个客户端设备接收数据,该数据描述了一个或多个在解决一个或多个应用在相应计算设备上执行中的一个或多个不兼容性方面的至少部分成功的尝试。根据一个或多个准则来挖掘数据以识别至少一个应用,并验证该数据以确认所识别应用在解决至少一个不兼容性方面的至少部分成功。存储描述经验证的、对不兼容性的成功解决的数据,并至少基于所存储的数据传播更新以解决不兼容性。
在一个或多个实现中,通过客户端设备输出用户接口,该用户接口被配置为用作至少部分地解决应用在客户端设备上执行中的不兼容性的尝试的引导。响应于客户端设备对该尝试至少部分成功地解决了不兼容性的确定,经由网络传递描述通过客户端设备进行的尝试的数据以供服务提供商来接收
在一个或多个实现中,一个或多个计算设备具有一个或多个模块,该一个或多个模块至少部分地以硬件实现,并配置为执行以下操作,包括:经由网络从多个客户端设备接收数据,该数据描述了一个或多个在解决一个或多个应用在相应计算设备上执行的一个或多个不兼容性方面至少部分成功的尝试。该模块还配置为根据所接收的数据识别至少一个应用,从经由网络可访问的应用市场购买所识别的应用,该购买自动执行而没有用户介入;针对所购买的应用验证在解决至少一个不兼容性方面的至少部分成功;以及存储描述经验证的、对不兼容性成功解决的数据。
提供此发明内容来以简要形式介绍一些概念选集,其将在以下具体实施例中进一步介绍。此发明内容不旨在标识要求保护主题的关键特征或必要特征,也不旨在用来帮助确定要求保护主题的范围。
附图说明
参考附图来描述具体实施例。在图中,附图标记的最左边的一个或多个数字标识该附图标记首次出现在哪个图中。说明书和附图中的不同实例中使用的相同附图标记指示相似或相同的项。
图1是在可操作来执行应用兼容性技术的示例实现中的环境的说明。
图2是示例实现中的系统的说明,在该系统中,利用图1的服务提供商的兼容性验证模块来计算针对兼容性问题的修复的置信度得分。
图3是描述在示例实现中的过程的流程图,其中,通过兼容性模块来输出用户接口以解决不兼容性。
图4是描述在示例实现中的过程的流程图,其中,根据从图3的一个或多个客户端设备接收并传播到其他客户端设备的数据来验证修复。
具体实施例
概述
计算设备可以执行来自很多不同源的很多应用。例如,用户可以经由网络导航至应用市场以访问数百甚至数千个应用。但是,因为庞大数量的应用可用,使用常规的技术难于维护与应用的兼容性,尤其在有更新版本的软件供执行的时候。
描述了应用兼容性技术。在一个或多个实现中,兼容性模块配置为输出用户接口以协助引导客户朝向修复兼容性问题。如果该修复是成功的,则可以经由网络将描述该修复的数据发送到服务提供商以用于传播给其他用户。以这种方式,可以利用用户的初始子集来为更大的群组修正兼容性问题。在一个或多个实现中,服务提供商可以识别将传播哪些修复,并验证这些修复起作用。这个可以通过以下步骤来执行:自动从应用市场购买应用,并应用在信息中描述的修复以确定其是否成功。可以涉及以下章节找到应用兼容性技术的进一步讨论。
在以下讨论中,首先描述的是可以根据在此所述的技术来利用的示例环境。随后描述也可以在示例环境和其他环境中采用的示例过程。相应地,对示例过程的执行不限于示例环境,并且该示例环境不限于执行该示例过程。
示例环境
图1是可操作来采用在此描述的技术的示例实现中的环境100的说明。示出的环境100包括客户端设备102、服务提供商104和应用市场106。客户端设备102、服务提供商104和应用市场106可以使用可以以多种方式配置的广泛范围的计算设备来实现。例如,计算设备可以配置为便携式游戏设备、移动电话、能够通过网络进行通信的计算机(例如,桌面计算机、一个或多个服务器、娱乐器具)、通信地耦接到显示设备的机顶盒等。因此,计算设备的范围可以从具有大量存储器和处理器资源的全资源设备(例如,个人计算机、游戏机)到具有有限存储器和/或处理资源的低资源设备(例如传统的机顶盒、手持游戏机)。另外,虽然在相应的图示中示出单个实体,但是显而易见的是该实体可以表示一个或多个实体,并因此被相应的引用,例如客户端设备102、客户端设备104等。
计算设备还可以包括使得计算设备的硬件执行操作的实体(例如软件),例如处理器、功能块等。例如,计算设备可以包括配置为维护导致计算设备、更具体地导致计算设备的硬件执行操作的指令的计算机可读介质。因而,指令起作用以配置硬件来执行操作,并以这种方式导致硬件的变换以执行功能。可以经由多种不同的配置来由计算机可读介质将指令提供给计算设备。
一个这样的计算机可读介质的配置是信号承载介质,并因而被配置为例如经由网络将指令(例如,作为载波)发送到计算设备的硬件。计算机可读介质还可以被配置为计算机可读存储介质,并因而不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪存存储器、硬盘存储器和可以使用磁、光和其他技术来存储指令和其他数据的其他存储器设备。
说明示例中的客户端设备102被示为包括处理器108和存储器110。处理器不受限于形成该处理器的材料或其中采用的处理机制。例如,处理器可以包括一个或多个半导体和/或晶体管(例如,电子集成电路(IC))。在这样的上下文中,处理器可执行的指令可以是可电子执行的指令。可替换地,处理器的机制和因此计算设备的机制包括但不限于量子计算、光学计算、机械计算(例如使用纳米技术)等。另外,尽管示出单个处理器104和存储器106,但是可以采用多种类型的存储器和/或处理器及其组合。
客户端设备102示出为还包括操作系统112。操作系统112通常用来提取诸如处理器108、存储器110和其他设备之类的底层设备的功能给由客户端设备102执行的应用114和其他软件。虽然操作系统112示出为在处理器108上执行,但是该模块还可以存储在存储器110中。
如前所述,可以从各种源来获取应用114。例如,应用114可以使用从实体店获取的计算机可读存储介质来安装在客户端设备102上。在另一示例中,可以经由网络116从应用市场106获取应用114。应用市场106示出为包括市场模块118,其表示管理并传递来自应用市场106的存储设备120的应用的功能。例如,市场模块118可以采用收益技术(例如做广告、每次下载计费)来收集用以提供应用由客户端设备102执行的收益。因此,用户可以经由网络116访问应用市场106来访问众多不同的应用,例如收费的、免费的、基于订阅的应用等。
为了维护兼容性,客户端设备102被进一步示出为采用兼容性模块122,其示出为在处理器108上执行并可以存储在存储器110中。兼容性模块122可以以多种方式帮助促进兼容性。例如,兼容性模块122可以用作兼容性层,其由客户端设备102执行以自动地监控应用114(包括操作系统112)的执行。兼容性模块112例如可以监控已知的兼容性问题并输出用户接口,该用户接口可以帮助将用户引导朝向至少部分地解决问题的修复124。在另一示例中,兼容性模块112可以实现为响应于从用户接收的请求来执行的调解器。同样,当在此配置中时,调解器可以输出配置为帮助将用户引导朝向修复124的用户接口。例如,兼容性模块122可以应用技术来修正应用114中的缺陷、应用114与更新版本的操作系统112的兼容性问题等。
在一个或多个实现中,如果修复124被认为至少部分是成功的,则兼容性模块122经由网络116将描述修复124的数据传递至服务提供商104。所示出的服务提供商104包括兼容性验证模块126,其表示验证修复124的功能,例如该修复如所描述的那样“起作用”。兼容性验证模块126因此可以维护可以提供给其他客户端设备的修复130的数据库128。这样,尽管客户端设备102的初始子集对于应用114具有不大令人满意的体验(例如,由于应用114自身、对操作系统112所作出的变化等),但是该体验可以为群组所利用,以使得通过自动地应用相应的修复而使该体验不再重复发生。
通常,可以使用软件、固件、硬件(例如固定的逻辑电路)、人工处理及这些实现的组合来实现在此所述的任意功能。在此使用的术语“模块”、“引擎”和“功能”通常表示硬件、软件、固件或其组合。在软件实现的情况下,模块、功能或逻辑表示执行由硬件,例如一个或多个处理器和/或功能块指定的功能的指令和硬件。
图2示出示例实现中的系统200,在该系统中,利用服务提供商104的兼容性验证模块126来计算针对兼容性问题的修复的置信度得分。如前,客户端设备102包括操作系统112、应用114、和兼容性模块122。可以利用兼容性模块122来解决各种兼容性问题,这些兼容性问题可以由应用114的执行、应用114与操作系统112的交互(由于操作系统112的更新)等引起。
兼容性模块122例如可以输出用户接口,其引导用户朝向修复。在解决不兼容性期间,兼容性模块122还可以生成描述在修复之前204应用114执行的数据202,以及描述在修复之后206应用114执行的数据202。如果确定该修复至少部分成功地解决了不兼容性,则数据202可以由客户端设备102传递到服务提供商104。
服务提供商104随后可以采用兼容性验证模块126来验证兼容性问题的解决方案。例如,兼容性验证模块126可以根据数据202来识别应用114以便于识别“前X”个修复的应用。兼容性验证模块126随后可以选择应用114的其中之一,并例如从应用市场106购买应用114’的副本。兼容性验证模块126随后可以计算置信度得分208,其指示修复210至少能部分地解决兼容性问题的概率。例如,置信度得分208可以基于描述修复之后206的操作的数据202,例如在应用修复的情况下应用114已执行的时间长度、在应用修复的情况下应用114已执行的次数、该修复后续是否被移除等。还可以利用该信息来识别哪些应用将被验证,例如“前X”个修复的应用。
在验证了修复210时,修复210可以传播到其他客户端设备212。例如,可以提供修复210作为对于应用114和/或操作系统112的更新214(例如,作为服务包的一部分)、填补216、标志218(将用于代码路径选择)等。填补216例如可以用来以多种方式促进操作系统112和应用114的兼容性。填补216可以采用钩子,以使得用与填补216相对应的地址来替换用于一个或多个应用编程接口的输入地址表(IAT)中的地址。填补216还可以配置为截获回调,例如该回调将在通过客户端设备102发生事件时被调用。以这种方式,填补216可以截获所作出的去往和来自不再兼容的API的调用,并翻译与该调用相关联的数据以使得其是兼容的。在一个这样的示例中,填补216可以翻译数据以模仿之前版本的操作系统112,以使应用114可以理解从操作系统112接收的命令,和/或操作系统112可以理解来自应用114的命令。还设想到了各种其他示例,诸如通过修改调度表中声明的地址来截获I/O请求包(IRP)。
因此,可以采用填补216来通过将调用和其他通信的执行包装在填补216内以重定向该调用和其他通信的执行。在一个或多个实现中,填补声明了用于接口或回调的包装器。如果将这样的包装器应用于填补(例如在运行时),则通过该包装器处理针对系统组件的调用或者从应用114到系统组件的调用。因此,填补216可以控制接口调用的输入和输出两者,并修改它们以修正不兼容性。参照以下过程可以找到有关生成和传播修复的进一步讨论。
示例过程
以下讨论描述了可以利用前述的系统和设备实现的技术。各过程中每一个的各方面可以以硬件、固件、软件、或其组合来实现。过程示出为框集合,其指定了由一个或多个设备执行的操作,并且不必限于示出的通过各个块来执行操作的顺序。在以下讨论的各部分中,将参考图1的环境100和图2的系统200。
图3描述了示例实现中的过程300,其中,通过兼容性模块输出用户接口来解决不兼容性。由客户端设备从用户接收输入来启动兼容性模块(框302)。兼容性模块例如被配置为在由客户端设备102的用户识别出不兼容性时输出的调解器。还可以自动地输出用户接口而没有用户介入。例如,兼容性模块可以监控由客户端设备对应用的执行以监控一个或多个已知的不兼容性(框304)。模块随后可以检测计算设备对应用的执行涉及不兼容性(框306)。
随后,由客户端设备输出用户接口,其被配置为用作尝试至少部分解决由客户端设备执行应用中的不兼容性的引导(框308)。用户接口例如可以被配置为引导用户通过一系列可以用于解决不兼容的步骤的“向导”。这些步骤可以包括由用户回答的问题以追随可能导致解决兼容性问题的路径。
响应于客户端设备确定该尝试至少部分成功地解决了不兼容性,经由网络传递描述由客户端设备进行的尝试的数据以供服务提供商来接收(框310)。在应用修复后,兼容性模块122例如可以监控应用114的执行。该监控随后可以用作确定该修复是否可能成功的根据,例如基于以下内容:在应用了修复情况下应用执行的时间量、兼容性模块122是否被再次执行来修正该修复、应用114执行的次数等。虽然描述了由应用114对修复的使用,但是该修复还可以应用到客户端设备102的操作系统112或其他软件(例如驱动器),参照以下附图可以找到该内容的进一步讨论。
图4描述了示例实现中的过程400,其中根据从一个或多个客户端设备接收的数据验证修复,并将修复传播到其他客户端设备。从多个计算设备接收数据,该数据描述了至少部分成功地解决了一个或多个应用在相应计算设备上的执行中的一个或多个不兼容性的尝试(框402)。如上所述,例如,兼容性模块122一旦确定修复至少是部分成功的就发送数据,从而减少了传递到服务提供商104并由服务提供商104处理的数据量。例如,数据量可以使得与不管结果为何都发送日志文件的常规技术相比没有利用采样。然而,还可以设想其他实现,例如发送描述失败尝试的数据。
对数据进行挖掘来根据一个或多个准则至少识别一个或多个应用(框404)。兼容性验证模块126例如可以使用各种准则来比较和聚合来自多个客户端设备的数据。例如,该聚合和比较可以用来定位由一组客户端设备应用的修复、部分成功地解决不兼容问题的修复、涉及普遍应用114的修复、针对特别突出兼容性问题的修复等。
为所识别的应用验证至少部分成功地解决了不兼容性中的至少一个(框406)。例如,所识别的应用可以通过从存储设备复制、从应用市场购买等方式来获取(框408)。随后作出有关所施加的修复是否至少部分成功地解决不兼容性的确定(框412)。这些步骤可以由兼容性验证模块126自动执行而没有用户介入,从而使过程自动化。自然地,还可以设想其他示例,例如具有获取应用、施加修复等选项的用户接口的输出。
存储描述经验证的对不兼容性的成功解决的数据(框414)。随后基于所存储的数据来传播修复以解决不兼容性(框416)。该修复例如可以配置为更新(例如,作为服务包的一部分)、填补、用于代码路径选择以为了兼容性配置应用114和/或操作系统112的标志等。以这种方式,可以传播由对于应用114具有不大令人满意的体验的小用户子集所应用的修复,以使得其他用户不会有类似的体验。
结论
虽然以特定于结构化特征和/或方法学上的动作的语言描述本发明,但是要理解的是,所附权利要求中限定的本发明不必限于所描述的具体特征和行为。相反,这些具体特征和行为以实现所要求保护的发明的示例形式来公开。

Claims (14)

1.一种由服务提供商的一个或多个计算设备执行的方法,该方法包括:
经由网络从多个客户端设备接收数据,所述数据描述了一个或多个尝试,所述一个或多个尝试至少部分成功地解决了一个或多个应用在相应计算设备上的执行中的一个或多个不兼容性;
至少部分基于一个或多个准则来识别所述应用中的至少一个;
针对所识别的应用来验证解决不兼容性中的至少一个的至少部分成功;以及
存储描述经验证的、对不兼容性的成功解决的数据;以及
至少根据所存储的数据来传播更新以解决所述不兼容性,其中所述更新为一种填补,该填补被配置为对所识别的应用接收的数据进行翻译,以及对从所识别的应用发送来的数据进行翻译。
2.如权利要求1所述的方法,其中所述填补被配置为基于输入地址表对所识别的应用接收的数据进行翻译以及对从所识别的应用发送来的数据进行翻译,所述表限定了对应于所述填补的地址以及一个或多个应用编程接口。
3.如权利要求1所述的方法,其中所述填补被配置为通过多个客户端设备中的客户端设备来截获事件的回调。
4.如权利要求3所述的方法,其中至少部分地基于描述经验证的、成功解决不兼容性的所存储的数据将多个回调中的至少一个回调翻译成兼容的回调。
5.如权利要求3所述的方法,其中所述多个回调中的至少一个回调包括请求包,其中所述填补被配置为通过修改调度表中声明的地址来翻译数据。
6.如权利要求1所述的方法,其中所述填补声明了至少一个用于接口或回调的包装器,其中针对系统组件的、去往或来自所识别的应用的回调通过至少一个所述包装器进行处理。
7.如权利要求1所述的方法,其中所述一个或多个准则可用于计算置信度分数,其指示尝试的成功可能性。
8.一种计算设备,包括:
处理器;以及
存储器,其上存储有计算机可执行指令,当处理器执行指令时使得计算设备:
经由网络从多个客户端设备接收数据,所述数据描述了一个或多个尝试,所述一个或多个尝试至少部分成功地解决了一个或多个应用在相应计算设备上的执行中的一个或多个不兼容性;
至少部分基于一个或多个准则来识别所述应用中的至少一个;
针对所识别的应用来验证解决不兼容性中的至少一个的至少部分成功;以及
存储描述经验证的、对不兼容性的成功解决的数据;以及
至少根据所存储的数据来传播更新以解决所述不兼容性,其中所述更新为一种填补,该填补被配置为对所识别的应用接收的数据进行翻译,以及对从所识别的应用发送来的数据进行翻译。
9.如权利要求8所述的计算设备,其中所述填补被配置为基于输入地址表对所识别的应用接收的数据进行翻译以及对从所识别的应用发送来的数据进行翻译,所述表限定了对应于所述填补的地址以及一个或多个应用编程接口。
10.如权利要求8所述的计算设备,其中所述填补被配置为通过多个客户端设备中的客户端设备来截获事件的回调。
11.如权利要求10所述的计算设备,其中至少部分地基于描述经验证的、成功解决不兼容性的所存储的数据将多个回调中的至少一个回调翻译成兼容的回调。
12.如权利要求10所述的计算设备,其中所述多个回调中的至少一个回调包括请求包,其中所述填补被配置为通过修改调度表中声明的地址来翻译数据。
13.如权利要求8所述的计算设备,其中所述填补声明了至少一个用于接口或回调的包装器,其中针对系统组件的、去往或来自所识别的应用的回调通过至少一个所述包装器进行处理。
14.如权利要求8所述的计算设备,其中标志被配置成:至少部分地基于描述经验证的、成功解决不兼容性的所存储的数据、使得所述一个或多个应用的配置纠正所述一个或多个不兼容性。
CN201610543582.7A 2011-03-07 2012-03-07 利用成功的问题解决的应用兼容性 Withdrawn CN106201615A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/042,197 US20120233605A1 (en) 2011-03-07 2011-03-07 Application Compatibility Leveraging Successful Resolution of Issues
US13/042197 2011-03-07
CN2012100579829A CN102707999A (zh) 2011-03-07 2012-03-07 利用成功的问题解决的应用兼容性

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2012100579829A Division CN102707999A (zh) 2011-03-07 2012-03-07 利用成功的问题解决的应用兼容性

Publications (1)

Publication Number Publication Date
CN106201615A true CN106201615A (zh) 2016-12-07

Family

ID=46797231

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2012100579829A Pending CN102707999A (zh) 2011-03-07 2012-03-07 利用成功的问题解决的应用兼容性
CN201610543582.7A Withdrawn CN106201615A (zh) 2011-03-07 2012-03-07 利用成功的问题解决的应用兼容性

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2012100579829A Pending CN102707999A (zh) 2011-03-07 2012-03-07 利用成功的问题解决的应用兼容性

Country Status (2)

Country Link
US (2) US20120233605A1 (zh)
CN (2) CN102707999A (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8855627B2 (en) 2010-06-14 2014-10-07 Future Dial, Inc. System and method for enhanced diagnostics on mobile communication devices
US8996916B2 (en) 2011-08-16 2015-03-31 Future Dial, Inc. System and method for identifying problems via a monitoring application that repetitively records multiple separate consecutive files listing launched or installed applications
US9189220B2 (en) * 2012-07-02 2015-11-17 Amazon Technologies, Inc. Evaluating application compatibility
US10198366B2 (en) 2012-08-16 2019-02-05 Future Dial, Inc. System for mobile computing device data synchronization
US10117092B2 (en) 2012-08-16 2018-10-30 Future Dial, Inc. Mobile device transfer station
US20140068561A1 (en) * 2012-09-05 2014-03-06 Caterpillar Inc. Control system having automatic component version management
JP6053450B2 (ja) * 2012-10-26 2016-12-27 株式会社Pfu 情報処理装置、方法およびプログラム
US9158922B2 (en) * 2013-05-29 2015-10-13 Lucent Sky Corporation Method, system, and computer-readable medium for automatically mitigating vulnerabilities in source code
US10630714B2 (en) 2013-05-29 2020-04-21 Lucent Sky Corporation Method, system, and computer program product for automatically mitigating vulnerabilities in source code
US9955368B2 (en) * 2015-12-16 2018-04-24 T-Mobile Usa, Inc. Telecommunicaton network architecture compatibility validation system
US10871962B2 (en) * 2016-05-27 2020-12-22 Sap Se Zero downtime maintenance in constrained systems
US10298996B2 (en) 2016-08-18 2019-05-21 At&T Intellectual Property I, L.P. Satellite TV user community smart device monitoring and management
US11232126B2 (en) 2018-11-21 2022-01-25 Sap Se Zero downtime upgrade of systems with database-side replication
US10853693B2 (en) 2018-12-04 2020-12-01 Sap Se Software logistic for learning applications
US11526379B2 (en) 2019-06-19 2022-12-13 International Business Machines Corporation Application building in a distributed computing environment
US12007832B2 (en) * 2022-02-25 2024-06-11 Bank Of America Corporation Restoring a system by load switching to an alternative cloud instance and self healing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4845615A (en) * 1984-04-30 1989-07-04 Hewlett-Packard Company Software performance analyzer
US6745385B1 (en) * 1999-09-01 2004-06-01 Microsoft Corporation Fixing incompatible applications by providing stubs for APIs
CN1636414A (zh) * 2000-03-04 2005-07-06 摩托罗拉公司 控制数据下载到用户设备的通信系统的结构和方法
CN1656451A (zh) * 2002-05-30 2005-08-17 皇家飞利浦电子股份有限公司 在目标终端上的软件应用的配置
US20060075306A1 (en) * 2004-09-24 2006-04-06 Sashikanth Chandrasekaran Techniques for automatic software error diagnostics and correction
US20080065577A1 (en) * 2003-10-16 2008-03-13 Chefalas Thomas E Distributed autonomic solutions repository

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9825102D0 (en) * 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
US7055146B1 (en) * 2001-03-08 2006-05-30 Microsoft Corporation Method and system for dynamically inserting modifications for identified programs
US20040128583A1 (en) * 2002-12-31 2004-07-01 International Business Machines Corporation Method and system for monitoring, diagnosing, and correcting system problems
US7290253B1 (en) * 2003-09-30 2007-10-30 Vmware, Inc. Prediction mechanism for subroutine returns in binary translation sub-systems of computers
GB0403276D0 (en) * 2004-02-13 2004-03-17 Nokia Corp Problem solving in a communications system
US7886193B2 (en) * 2005-05-09 2011-02-08 Microsoft Corporation System and methods for processing software authorization and error feedback
US8095568B2 (en) * 2008-04-21 2012-01-10 Tific Ab System and method for assisting user searches in support system
US9594886B2 (en) * 2010-06-02 2017-03-14 Avaya Inc. Application and open source information technology policy filter

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4845615A (en) * 1984-04-30 1989-07-04 Hewlett-Packard Company Software performance analyzer
US6745385B1 (en) * 1999-09-01 2004-06-01 Microsoft Corporation Fixing incompatible applications by providing stubs for APIs
CN1636414A (zh) * 2000-03-04 2005-07-06 摩托罗拉公司 控制数据下载到用户设备的通信系统的结构和方法
CN1656451A (zh) * 2002-05-30 2005-08-17 皇家飞利浦电子股份有限公司 在目标终端上的软件应用的配置
US20080065577A1 (en) * 2003-10-16 2008-03-13 Chefalas Thomas E Distributed autonomic solutions repository
US20060075306A1 (en) * 2004-09-24 2006-04-06 Sashikanth Chandrasekaran Techniques for automatic software error diagnostics and correction

Also Published As

Publication number Publication date
US20160026519A1 (en) 2016-01-28
US20120233605A1 (en) 2012-09-13
CN102707999A (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
CN106201615A (zh) 利用成功的问题解决的应用兼容性
CN107896244B (zh) 一种版本文件的分发方法、客户端及服务器
US20180260199A1 (en) Method and apparatus for intermediate representation of applications
CN106484453B (zh) 一种实现系统升级的方法及装置
US9823909B1 (en) Program code conversion for cross-platform compatibility
CN102147747B (zh) 增强的升级路径的系统和方法
EP2820539A1 (en) Distribution of application files
CN104484585A (zh) 一种应用程序安装包的处理方法、装置及移动设备
CN103942065A (zh) 用于更新固件兼容性数据的方法和系统
WO2007001108A1 (en) System for providing feature-oriented software product line engineering environment
CN110959165A (zh) 用于自动验证云服务代理系统中的要约的功能的技术
CN110517138A (zh) 智能合约处理方法、装置、计算机设备及存储介质
CN110727575B (zh) 一种信息处理方法、系统、装置、以及存储介质
CN106055368A (zh) 应用更新方法和装置
CN109492749B (zh) 在局域网中实现神经网络模型线上服务的方法及装置
CN109032617B (zh) 一种自动删除安装包的控制方法及控制装置
CN109496417A (zh) 数据测试方法、装置、设备/终端/服务器及计算机可读存储介质
CN109543409A (zh) 用于检测恶意应用及训练检测模型的方法、装置及设备
CN116126291A (zh) 基于信息管理的快速开发方法、装置、设备及存储介质
CN103677845B (zh) 一种网站应用部署方法
CN114003510A (zh) 基于Mock服务的脚本测试方法、装置、设备及介质
CN105391714A (zh) 移动应用软件自动化签名和验证方法及装置
CN112651716A (zh) 数据处理方法、设备及存储介质
EP3346642A1 (en) Method and device for managing network element model
CN113791809B (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20161207

WW01 Invention patent application withdrawn after publication