×

Evaluating application compatibility

  • US 9,189,220 B2
  • Filed: 07/02/2012
  • Issued: 11/17/2015
  • Est. Priority Date: 07/02/2012
  • Status: Expired due to Fees
First Claim
Patent Images

1. A non-transitory computer-readable medium embodying a program executable in a computing device, comprising:

  • code that obtains a set of mobile applications from a developer;

    code that determines whether individual applications of the set of mobile applications are compatible with a mobile device according to respective evaluation results, configured to;

    obtain a set of capabilities associated with the mobile device;

    obtain a corresponding compatibility expression for the individual applications of the set of mobile applications, the compatibility expression comprising at least one term in a postfix expression; and

    send a single batch containing a plurality of evaluation requests to a compatibility evaluation service over a network, wherein each individual evaluation request of the single batch of evaluation requests specifies a corresponding identifier for a respective one of the set of mobile applications and an identifier for the set of capabilities, the compatibility evaluation service being configured to;

    access a plurality of attribute-value pairs belonging to the set of capabilities;

    substitute a respective value from an individual attribute-value pair of the plurality of attribute-value pairs for an individual variable of a plurality of operands in the corresponding compatibility expression, wherein the corresponding compatibility expression further comprises an operand associated with either the respective value or the individual variable; and

    perform an evaluation of the corresponding compatibility expression, based, at least in part, on the set of capabilities to produce a respective evaluation result, the evaluation comprising;

    determining whether the at least one term is an operator or an operand;

    pushing the operand onto a stack in response to determining that the at least one term is an operand;

    popping a number of operands from the stack in response to determining that the at least one term is an operator; and

    pushing a result onto the stack;

    code that caches the result and utilizes the cached result, in lieu of a future batch of new evaluation requests;

    code that filters the set of mobile applications to exclude mobile applications that are incompatible with the mobile device; and

    code that generates a user interface that facilitates an acquisition of the mobile application by a user for installation on the mobile device.

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