×

Developing versions of applications based on application fingerprinting

  • US 9,921,827 B1
  • Filed: 06/25/2013
  • Issued: 03/20/2018
  • Est. Priority Date: 06/25/2013
  • Status: Active Grant
First Claim
Patent Images

1. A non-transitory computer-readable medium embodying a program executable in at least one computing device, wherein when executed the program causes the at least one computing device to at least:

  • receive a first one of a plurality of applications;

    receive a first one of a plurality of application fingerprints, a respective application fingerprint of the plurality of application fingerprints identifying respective application characteristics comprising at least one hardware device resource supported by a corresponding one of the plurality of applications, the respective application fingerprint being generated based at least in part on a static analysis and a dynamic analysis of the corresponding one of the plurality of applications,the static analysis comprising examination of the plurality of applications to identify the at least one hardware device resource accessed by each of the plurality of applications,the dynamic analysis comprising testing the plurality of applications by executing the plurality of applications in a hosted environment of the at least one computing device to determine actual usage of the at least one hardware device resource by each of the plurality of applications, the first one of the plurality of application fingerprints being associated with the first one of the applications;

    determine a compatibility target for the first one of the plurality of applications, the compatibility target identifying a particular hardware device resource of a target device, wherein the particular hardware device resource is hardware of the target device;

    determine that the particular hardware device resource is incompatible with the first one of the plurality of applications based at least in part on the first one of the plurality of application fingerprints and compatibility data that indicates that at least one application characteristic of the first one of the plurality of application fingerprints is incompatible with the particular hardware device resource of the compatibility target;

    automatically generate and store a compatible version of the first one of the plurality of applications that is compatible with the particular hardware device resource of the target device based at least in part on a second one of the plurality of application fingerprints associated with a second one of the plurality of applications that is compatible with the particular hardware device resource of the target device, identified by the static analysis and the dynamic analysis; and

    cause the compatible version of the first one of the plurality of applications that is compatible with the particular hardware device resource of the target device to be transmitted and installed on a client device comprising the particular hardware device resource.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×