Patents Assigned to CONCURIX CORPORATION
  • Patent number: 8700838
    Abstract: Processes may be assigned heap memory within locally accessible memory banks in a multiple processor NUMA architecture system. A process scheduler may deploy a process on a specific processor and may assign the process heap memory from a memory bank associated with the selected processor. The process may be a functional process that may not change state of other memory objects, other than the input or output memory objects defined in the functional process.
    Type: Grant
    Filed: June 19, 2012
    Date of Patent: April 15, 2014
    Assignee: Concurix Corporation
    Inventor: Alexander G. Gounares
  • Patent number: 8694574
    Abstract: A set of optimizations may be defined in a configuration database. The configuration database may be defined with a set of boundaries that may define conditions under which the optimizations may be valid. When the conditions are not met, a new configuration database may be requested from an optimization server. The system may be used to distribute and manage optimizations for an application, which may be deployed in interpreted or runtime scenarios or in pre-execution or compiled scenarios.
    Type: Grant
    Filed: November 8, 2012
    Date of Patent: April 8, 2014
    Assignee: Concurix Corporation
    Inventors: Alexander G. Gounares, Ying Li, Charles D. Garrett, Michael D. Noakes
  • Patent number: 8656134
    Abstract: A configurable memory allocation and management system may generate a configuration file with memory settings that may be deployed at runtime. An execution environment may capture a memory allocation boundary, look up the boundary in a configuration file, and apply the settings when the settings are available. When the settings are not available, a default set of settings may be used. The execution environment may deploy the optimized settings without modifying the executing code.
    Type: Grant
    Filed: November 8, 2012
    Date of Patent: February 18, 2014
    Assignee: Concurix Corporation
    Inventors: Alexander G. Gounares, Ying Li, Charles D. Garrett, Michael D. Noakes
  • Patent number: 8656135
    Abstract: A configurable memory allocation and management system may generate a configuration file with memory settings that may be deployed prior to runtime. A compiler or other pre-execution system may detect a memory allocation boundary and decorate the code. During execution, the decorated code may be used to look up memory allocation and management settings from a database or to deploy optimized settings that may be embedded in the decorations.
    Type: Grant
    Filed: November 8, 2012
    Date of Patent: February 18, 2014
    Assignee: Concurix Corporation
    Inventors: Alexander G. Gounares, Ying Li, Charles D. Garrett, Michael D. Noakes
  • Patent number: 8656378
    Abstract: Memoization may be deployed using a configuration file or database that identifies functions to memorize, and in some cases, includes input and result values for those functions. At compile time, functions defined in the configuration file may be captured and memoized. During compilation or other pre-execution analysis, the executable code may be modified or otherwise decorated to include memoization code. The memoization code may store results from a function during the first execution, then merely look up the results when the function may be called again. The memoized value may be stored in the configuration file or in another data store. In some embodiments, the modified executable code may operate in conjunction with an execution environment, where the execution environment may optionally perform the memoization.
    Type: Grant
    Filed: November 8, 2012
    Date of Patent: February 18, 2014
    Assignee: Concurix Corporation
    Inventors: Alexander G. Gounares, Ying Li, Charles D. Garrett, Michael D. Noakes
  • Patent number: 8650538
    Abstract: An execution environment for functional code may treat application segments as individual programs for memory management. A larger program of application may be segmented into functional blocks that receive an input and return a value, but operate without changing state of other memory objects. The program segments may have memory pages allocated to the segments by the operating system as other full programs, and may deallocate memory pages when the segments finish operating. Functional programming languages and imperative programming languages may define program segments explicitly or implicitly, and the program segments may be identified at compile time or runtime.
    Type: Grant
    Filed: May 1, 2012
    Date of Patent: February 11, 2014
    Assignee: Concurix Corporation
    Inventor: Alexander G. Gounares
  • Publication number: 20140026142
    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: September 20, 2013
    Publication date: January 23, 2014
    Applicant: Concurix Corporation
    Inventors: Alexander G. Gounares, Charles D. Garrett
  • 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: 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: 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
  • Patent number: 8615766
    Abstract: A hybrid operating system may allocate two sets of resources, one to a first operating system and one to a second operating system. Each operating system may have a memory manager, process scheduler, and other components that are aware of each other and cooperate. The hybrid operating system may allow one operating system to provide one set of services and a second operating system to provide a second set of services. For example, the first operating system may have monitoring applications, user interfaces, and other services, while the second operating system may be a lightweight, high performance operating system that may not provide the same services as the first operating system.
    Type: Grant
    Filed: May 1, 2012
    Date of Patent: December 24, 2013
    Assignee: Concurix Corporation
    Inventor: Alexander G. Gounares
  • Patent number: 8607018
    Abstract: A computer software execution system may have a configurable memory allocation and management system. A configuration file or other definition may be created by analyzing a running application and determining an optimized set of settings for the application on the fly. The settings may include memory allocated to individual processes, memory allocation and deallocation schemes, garbage collection policies, and other settings. The optimization analysis may be performed offline from the execution system. The execution environment may capture processes during creation, then allocate memory and configure memory management settings for each individual process.
    Type: Grant
    Filed: November 8, 2012
    Date of Patent: December 10, 2013
    Assignee: Concurix Corporation
    Inventors: Alexander G. Gounares, Ying Li, Charles D. Garrett, Michael D. Noakes
  • Patent number: 8595743
    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: Grant
    Filed: May 1, 2012
    Date of Patent: November 26, 2013
    Assignee: Concurix Corporation
    Inventors: Alexander G. Gounares, Charles D. Garrett
  • 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: 20130283240
    Abstract: A tracing system may divide trace objectives across multiple instances of an application, then deploy the objectives to be traced. The results of the various objectives may be aggregated into a detailed tracing representation of the application. The trace objectives may define specific functions, processes, memory objects, events, input parameters, or other subsets of tracing data that may be collected. The objectives may be deployed on separate instances of an application that may be running on different devices. In some cases, the objectives may be deployed at different time intervals. The trace objectives may be lightweight, relatively non-intrusive tracing workloads that, when results are aggregated, may provide a holistic view of an application's performance.
    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: 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: 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