System, method, and computer program product for determining whether parameter configurations meet predetermined criteria

US9201670B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9201670-B2
Application numberUS-201213543184-A
CountryUS
Kind codeB2
Filing dateJul 6, 2012
Priority dateJul 6, 2012
Publication dateDec 1, 2015
Grant dateDec 1, 2015

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system, method, and computer program product are provided for determining whether parameter configurations meet predetermined criteria. In use, predetermined criteria associated with a software element are identified. Additionally, it is determined whether each of a plurality of different parameter configurations meets the criteria, utilizing a directed acyclic graph (DAG).

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: identifying predetermined criteria associated with a software element, the criteria including an ability of a plurality of predetermined parameters to run the software element at a predetermined frame rate; and determining whether each of a plurality of different configurations of the plurality of predetermined parameters meets the criteria, utilizing a directed acyclic graph (DAG), including: creating the DAG that includes a plurality of directed nodes, where each of the plurality of directed nodes in the DAG represents a unique configuration of the plurality of predetermined parameters, directing the plurality of nodes within the DAG based on a speed associated with each node, where the speed is determined for each node based on the plurality of predetermined parameters represented by the node, for each node in the DAG, calculating a score for the node based on a number of additional nodes within the DAG that are slower than the node and a number of additional nodes within the DAG that are faster than the node, determining a high score node in the DAG that has a highest calculated score, determining whether the high score node in the DAG is able to run the software element at the predetermined frame rate, flagging the high score node and the additional nodes within the DAG that are slower than the high score node as being determined to not meet the criteria when it is determined that the high score node is not able to run the software element at the predetermined frame rate, and flagging the high score node and the additional nodes within the DAG that are faster than the high score node as being determined to meet the criteria when it is determined that the high score node is able to run the software element at the predetermined frame rate. 2. The method of claim 1 , wherein the software element includes a software application. 3. The method of claim 1 , wherein the plurality of parameter values comprise hardware installed within the device. 4. The method of claim 1 , wherein the score indicates an expected number of additional nodes that may be affected by a determination made at that node with respect to the criteria. 5. The method of claim 1 , wherein all nodes that have been determined to either meet or not meet the criteria are identified as visited. 6. The method of claim 5 , wherein determining whether each of a plurality of different parameter configurations meets the criteria includes calculating a subsequent score for each unvisited node in the DAG and determining an unvisited node in the DAG that has the highest subsequent score. 7. The method of claim 5 , further comprising changing a bit associated with the nodes identified as visited to “true.” 8. The method of claim 1 , wherein the score calculated for a first node in the DAG is further associated with the number of nodes that directly or indirectly point to the first node, as well as the number of nodes that are directly or indirectly pointed to by the first node. 9. The method of claim 1 , wherein the score calculated for a first node further indicates the first node will meet the criteria based on a prior history of the first node meeting earlier criteria associated with another software element similar to the software element. 10. The method of claim 1 , wherein all nodes that have been determined to meet the criteria are recorded. 11. The method of claim 1 , wherein all nodes that have been determined to not meet the criteria are recorded. 12. The method of claim 1 , wherein the criteria tests whether a node can display a predetermined image quality at the predetermined frame rate while running a particular application. 13. A computer program product embodied on a non-transitory computer readable medium, comprising code for: identifying predetermined criteria associated with a software element, the criteria including an ability of a plurality of predetermined parameters to run the software element at a predetermined frame rate; and determining whether each of a plurality of different configurations of the plurality of predetermined parameters meets the criteria, utilizing a directed acyclic graph (DAG), including: creating the DAG that includes a plurality of directed nodes, where each of the plurality of directed nodes in the DAG represents a unique configuration of the plurality of predetermined parameters, directing the plurality of nodes within the DAG based on a speed associated with each node, where the speed is determined for each node based on the plurality of predetermined parameters represented by the node, for each node in the DAG, calculating a score for the node based on a number of additional nodes within the DAG that are slower than the node and a number of additional nodes within the DAG that are faster than the node, determining a high score node in the DAG that has a highest calculated score, determining whether the high score node in the DAG is able to run the software element at the predetermined frame rate, flagging the high score node and the additional nodes within the DAG that are slower than the high score node as being determined to not meet the criteria when it is determined that the high score node is not able to run the software element at the predetermined frame rate, and flagging the high score node and the additional nodes within the DAG that are faster than the high score node as being determined to meet the criteria when it is determined that the high score node is able to run the software element at the predetermined frame rate. 14. A system, comprising: a processor for: identifying predetermined criteria associated with a software element, the criteria including an ability of a plurality of predetermined parameters to run the software element at a predetermined frame rate; and determining whether each of a plurality of different configurations of the plurality of predetermined parameters meets the criteria, utilizing a directed acyclic graph (DAG), including: creating the DAG that includes a plurality of directed nodes, where each of the plurality of directed nodes in the DAG represents a unique configuration of the plurality of predetermined parameters, directing the plurality of nodes within the DAG based on a speed associated with each node, where the speed is determined for each node based on the plurality of predetermined parameters represented by the node, for each node in the DAG, calculating a score for the node based on a number of additional nodes within the DAG that are slower than the node and a number of additional nodes within the DAG that are faster than the node, determining a high score node in the DAG that has a highest calculated score, determining whether the high score node in the DAG is able to run the software element at the predetermined frame rate, flagging the high score node and the additional nodes within the DAG that are slower than the high score node as being determined to not meet the criteria when it is determined that the high score node is not able to run the software element at the predetermined frame rate, and flagging the high score node and the additional nodes within the DAG that are faster than the high score node as being determined to meet the criteria when it is determined that the high score node is able to run the software element at the predetermined frame rate. 15. The system of claim 14 , wherein the processor is coupled to a memory via a bus.

Assignees

Inventors

Classifications

  • Configuring for program initiating, e.g. using registry, configuration files · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9201670B2 cover?
A system, method, and computer program product are provided for determining whether parameter configurations meet predetermined criteria. In use, predetermined criteria associated with a software element are identified. Additionally, it is determined whether each of a plurality of different parameter configurations meets the criteria, utilizing a directed acyclic graph (DAG).
Who is the assignee on this patent?
Spitzer John F, Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/44505. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 01 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).