Patents Assigned to CONCURIX CORPORATION
  • Publication number: 20150254165
    Abstract: Regression testing of an application may gather performance tests for multiple functions within an application and determine when performance changes from one version of the application to another. The analysis may be further broken down by input sequences that may be processed by various functions. A detailed regression analysis may be presented as a heat map or other visualizations. A regression testing system may be launched during a build process by automatically launching a set of performance tests against an application. In many cases, the application may be executed in a system with a known or consistent performance capabilities. The application may be executed and tested in a new version and at least one prior version on the same hardware and software execution environment, so that results may be normalized from one execution run to another. A regression testing system may be deployed as a paid-for service that may integrate into a source code repository.
    Type: Application
    Filed: March 5, 2014
    Publication date: September 10, 2015
    Applicant: CONCURIX CORPORATION
    Inventors: Bryce B. BARIL, Alexander G. GOUNARES, Russell S. KRAJEC
  • Publication number: 20150254163
    Abstract: A behavior model for a software application may identify a set of execution sequences that begin from a set of origins. The sequences may be further defined by a set of exits. In some cases, the sequences may be decomposed into subsequences or n-grams. The execution sequences and their frequencies may define a usage or behavior model for the application. The sequences may be defined by semantic level operations of an application, which may be defined by functions, call backs, API calls, or other blocks of code execution. The behavior model may be used for determining code coverage, comparing versions of applications, and other uses.
    Type: Application
    Filed: March 5, 2014
    Publication date: September 10, 2015
    Applicant: CONCURIX CORPORATION
    Inventors: Bryce B. BARIL, Alexander G. GOUNARES, Russell S. KRAJEC
  • Publication number: 20150254151
    Abstract: Input sequence information may be analyzed and quantified using n-gram analysis of inputs received by an application. The sequences of inputs may be represented by n-grams, and the frequency of the various n-grams may indicate the ‘real world’ uses of the application in production, which may be compared to a test suite whose coverage may be quantified using a similar n-gram analysis. A coverage factor may compare the observed inputs to the application in production to the test suite for the application. The n-grams may be further quantified or prioritized by resource utilization and several visualizations may be generated from the data.
    Type: Application
    Filed: March 5, 2014
    Publication date: September 10, 2015
    Applicant: CONCURIX CORPORATION
    Inventors: Bryce B. BARIL, Alexander G. GOUNARES, Russell S. KRAJEC
  • Publication number: 20150161385
    Abstract: Optimized memory management settings may be derived from a mathematical model of an execution environment. The settings may be optimized for each application or workload, and the settings may be implemented per application, per process, or with other granularity. The settings may be determined after an initial run of a workload, which may observe and characterize the execution. The workload may be executed a second time using the optimized settings. The settings may be stored as tags for the executable code, which may be in the form of a metadata file or as tags embedded in the source code, intermediate code, or executable code. The settings may change the performance of memory management operations in both interpreted and compiled environments. The memory management operations may include memory allocation, garbage collection, and other related functions.
    Type: Application
    Filed: February 23, 2015
    Publication date: June 11, 2015
    Applicant: CONCURIX CORPORATION
    Inventors: Alexander G. GOUNARES, Ying LI, Charles D. GARRETT
  • Publication number: 20150052400
    Abstract: A debugging system may display snapshot information that may be collected in response to an event identified while an application executes. The debugging system may allow a user to browse the various data elements in the snapshot, and may allow the user to modify a snapshot configuration by including or excluding various data elements within the snapshot data. The user interface may have a mechanism for including or excluding data elements that may be presented during browsing, as well as options to change the events that may trigger a snapshot. The updated snapshot configuration may be saved for future execution when the event conditions are satisfied.
    Type: Application
    Filed: August 19, 2013
    Publication date: February 19, 2015
    Applicant: CONCURIX CORPORATION
    Inventors: Charles D. GARRETT, Alexander G. Gounares
  • Publication number: 20150052406
    Abstract: A tracing and debugging system may collect both performance related tracer data and snapshot data. The tracer data may contain aggregated performance and operational data, while the snapshot data may contain call stack, source code, and other information that may be useful for debugging and detailed understanding of an application. The snapshot data may be stored in a separate database from the tracer data, as the snapshot data may contain data that may be private or sensitive, while the tracer data may be aggregated information that may be less sensitive. A debugging user interface may be used to access, display, and browse the stored snapshot data.
    Type: Application
    Filed: August 19, 2013
    Publication date: February 19, 2015
    Applicant: CONCURIX CORPORATION
    Inventors: Charles D. Garrett, Alexander G. Gounares
  • Publication number: 20140025572
    Abstract: An instrumented execution environment may connect to an execution environment to provide detailed tracing and logging of an application as it runs. The instrumented execution environment may be configured as a standalone service that can be configured and purchased. The instrumented execution environment may be deployed with various authentication systems, administrative user interfaces, and other components. The instrumented execution environment may engage a customer's system through a distributor that may manage a workload and distribute work to the instrumented execution environment as well as other worker systems. A marketplace may provide multiple preconfigured execution environments that may be selected, further configured, and deployed to address specific data collection objectives.
    Type: Application
    Filed: January 25, 2013
    Publication date: January 23, 2014
    Applicant: CONCURIX CORPORATION
    Inventor: Russell S. Krajec
  • Publication number: 20140019879
    Abstract: A message passing compute environment may be visualized by illustrating messages passed within the environment. The messages may contain data consumed by a function or other computational element, and may be used to launch or spawn various computational elements. One visualization may be a force directed graph that has each function as a node, with messages passed as edges of the graph. In some embodiments, the edges may display the number of messages, quantity of data, or other metric by showing the edges as wider or thinner, or by changing the color of the displayed edge. The nodes may be illustrated with different colors, size, or shape to show different aspects. Some embodiments may have a mechanism for storing and playing back changes to the graph over time.
    Type: Application
    Filed: February 1, 2013
    Publication date: January 16, 2014
    Applicant: CONCURIX CORPORATION
    Inventors: Russell S. Krajec, Alexander G. Gounares
  • Publication number: 20140019985
    Abstract: A parallel tracer may perform detailed or heavily instrumented analysis of an application in parallel with a performance or lightly instrumented version of the application. Both versions of the application may operate on the same input stream, but with the heavily instrumented version having different performance results than the lightly instrumented version. The tracing results may be used for various analyses, including optimization and debugging.
    Type: Application
    Filed: January 25, 2013
    Publication date: January 16, 2014
    Applicant: CONCURIX CORPORATION
    Inventor: Russell S. Krajec
  • Publication number: 20140019756
    Abstract: A tracer may obfuscate trace data such that the trace data may be used in an unsecure environment even though raw trace data may contain private, confidential, or other sensitive information. The tracer may obfuscate using irreversible or lossy hash functions, look up tables, or other mechanisms for certain raw trace data, rendering the obfuscated trace data acceptable for transmission, storage, and analysis. In the case of parameters passed to and from a function, trace data may be obfuscated as a group or as individual parameters. The obfuscated trace data may be transmitted to a remote server in some scenarios.
    Type: Application
    Filed: January 25, 2013
    Publication date: January 16, 2014
    Applicant: CONCURIX CORPORATION
    Inventor: Russell S. Krajec
  • Publication number: 20140019598
    Abstract: A load balanced system may incorporate instrumented systems within a group of managed devices and distribute workload among the devices to meet both load balancing and data collection. A workload distributor may communicate with and configure several managed devices, some of which may have instrumentation that may collect trace data for workload run on those devices. Authentication may be performed between the managed devices and the workload distributor to verify that the managed devices are able to receive the workloads and to verify the workloads prior to execution. The workload distributor may increase or decrease the amount of instrumentation in relation to the workload experienced at any given time.
    Type: Application
    Filed: January 25, 2013
    Publication date: January 16, 2014
    Applicant: CONCURIX CORPORATION
    Inventor: Russell S. Krajec
  • Publication number: 20130283102
    Abstract: A distributed tracing system may use independent trace objectives for which a profile model may be created. The profile model may be deployed as a monitoring agent on non-instrumented devices to evaluate the profile models. As the profile models operate with statistically significant results, the sampling frequencies may be adjusted. The profile models may be deployed as a verification mechanism for testing models created in a more highly instrumented environment, and may gather performance related results that may not have been as accurate using the instrumented environment. In some cases, the profile models may be distributed over large numbers of devices to verify models based on data collected from a single or small number of instrumented devices.
    Type: Application
    Filed: February 12, 2013
    Publication date: October 24, 2013
    Applicant: CONCURIX CORPORATION
    Inventors: Russell S. Krajec, Ying Li
  • Publication number: 20130283247
    Abstract: Tracer objectives in a distributed tracing system may be compared to identify input parameters that may have a high statistical relevancy. An iterative process may traverse multiple input objects by comparing results of multiple tracer objectives and scoring possible input objects as being possibly statistically relevant. With each iteration, statistically irrelevant input objects may be discarded from a tracer objective and other potentially relevant objects may be added. The iterative process may converge on a set of statistically relevant input objects for a given measured value without a priori knowledge of an application being traced.
    Type: Application
    Filed: February 12, 2013
    Publication date: October 24, 2013
    Applicant: CONCURIX CORPORATION
    Inventors: Russell S. Krajec, Ying Li
  • Publication number: 20130283246
    Abstract: A tracing system may perform cost analysis to identify burdensome or costly trace objectives. For a burdensome objective, two or more objectives may be created that can be executed independently. The cost analysis may include processing, storage, and network performance factors, which may be budgeted to collect data without undue performance or financial drains on the application under test. A larger objective may be recursively analyzed to break the larger objective into smaller objectives which may be independently deployed.
    Type: Application
    Filed: February 12, 2013
    Publication date: October 24, 2013
    Applicant: CONCURIX CORPORATION
    Inventors: Russell S. Krajec, Ying Li
  • Publication number: 20130232452
    Abstract: A force directed graph may display time series data using a set of playback controls to pause, play, reverse, fast forward, slow down, or otherwise control the display of the time series data. The playback controls may be used in a real time or near real time application to which data sets are displayed and the speed with which the data sets may be displayed. In one architecture, the force directed graph may be deployed using a rendering engine that receives data and renders the data into a graph. A playback controller may send updates to the rendering engine according to user inputs from the playback controls.
    Type: Application
    Filed: February 1, 2013
    Publication date: September 5, 2013
    Applicant: CONCURIX CORPORATION
    Inventors: Russell S. Krajec, Alexander G. Gounares
  • Publication number: 20130229416
    Abstract: A visualization system for a tracer may include a processing pipeline that may generate tracing data, preprocess the data, and visualize the data. The preprocessing step may include a mechanism to process user-defined expressions or other executable code. The executable code may perform various functions including mathematical, statistical, aggregation with other data, and others. The preprocessor may perform malware analysis, test the functionality, then implement the executable code. A user may be presented with an editor or other text based user interface component to enter and edit the executable code. The executable code may be saved and later recalled as a selectable transformation for use with other data streams.
    Type: Application
    Filed: February 1, 2013
    Publication date: September 5, 2013
    Applicant: CONCURIX CORPORATION
    Inventors: Russell S. Krajec, Alexander G. Gounares
  • Publication number: 20130232433
    Abstract: A force directed graph may serve as a part of a user control for a tracer. The tracer may collect data while monitoring an executing application, then the data may be processed and displayed on a force directed graph. A user may be able to select individual nodes, edges, or other elements, then cause the tracer to change what data may be collected. The user may be able to select individual nodes, edges, or groups of elements on the graph, then perform updates to the tracer using the selected elements. The selection mechanisms may include clicking and dragging a window to select nodes that may be related, as well as selecting from a legend or other grouping.
    Type: Application
    Filed: February 1, 2013
    Publication date: September 5, 2013
    Applicant: CONCURIX CORPORATION
    Inventors: Russell S. Krajec, Alexander G. Gounares
  • Publication number: 20130232174
    Abstract: A force directed graph may display recent activities of a message passing system as highlighted features over a larger graph. The force directed graph may display a superset of nodes and edges representing processes and message routes, then display recent activities as highlighted elements within the larger superset. The highlighted elements may display messages passed or computation performed during a recent time element of a time series. In some embodiments, the effects of activities may be displayed by decaying the highlighted visual elements over time.
    Type: Application
    Filed: February 1, 2013
    Publication date: September 5, 2013
    Applicant: CONCURIX CORPORATION
    Inventors: Russell S. Krajec, Alexander G. Gounares
  • Publication number: 20130117753
    Abstract: A process scheduler for multi-core and many-core processors may place related executable elements that share common data on the same cores. When executed on a common core, sequential elements may store data in memory caches that are very quickly accessed, as opposed to main memory which may take many clock cycles to access the data. The sequential elements may be identified from messages passed between elements or other relationships that may link the elements. In one embodiment, a scheduling graph may be constructed that contains the executable elements and relationships between those elements. The scheduling graph may be traversed to identify related executable elements and a process scheduler may attempt to place consecutive or related executable elements on the same core so that commonly shared data may be retrieved from a memory cache rather than main memory.
    Type: Application
    Filed: May 1, 2012
    Publication date: May 9, 2013
    Applicant: CONCURIX CORPORATION
    Inventors: Alexander G. Gounares, Charles D. Garrett
  • Publication number: 20130117759
    Abstract: A schedule graph may be used to identify executable elements that consume data from a network interface or other input/output interface. The schedule graph may be traversed to identify a sequence or pipeline of executable elements that may be triggered from data received on the interface, then a process scheduler may cause those executable elements to be executed on available processors. A queue manager and a load manager may optimize the resources allocated to the executable elements to maximize the throughput for the input/output interface. Such as system may optimize processing for input or output of network connections, storage devices, or other input/output devices.
    Type: Application
    Filed: May 1, 2012
    Publication date: May 9, 2013
    Applicant: CONCURIX CORPORATION
    Inventors: Alexander G. Gounares, Charles D. Garrett