Including Instrumentation And Profiling Patents (Class 717/130)
  • Patent number: 10783020
    Abstract: The present disclosure provides a method for invoking a component, comprising sending the fourth number of times, the first running time, the second number of times and the third number of times to the server, respectively; obtaining the coefficient of the second component invoking the first component from the server; receiving a request that the second component request to invoke the first component, prohibiting the request in response to that the coefficient is less than a preset threshold. The present disclosure also provides a method for calculating a coefficient, a device, an invoking component device, a storage medium, a server and a terminal.
    Type: Grant
    Filed: December 18, 2019
    Date of Patent: September 22, 2020
    Assignee: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
    Inventor: Yuanqing Zeng
  • Patent number: 10747510
    Abstract: Techniques to facilitate modifications to program execution in an application at runtime are disclosed herein. In at least one implementation, a copy of a code block associated with code is created. A flag associated with the copy of the code block is modified to mark the copy of the code block as having a native code version of the code. Metadata associated with the copy of the code block is modified to identify alternative code to run instead of the native code version of the code. A pointer associated with the code block is modified to point to a trampoline function. The trampoline function checks whether the code block is associated with a modification, and when the code block is associated with the modification, then the trampoline function calls the copy of the code block to invoke the alternative code by virtue of the flag and the metadata.
    Type: Grant
    Filed: June 4, 2019
    Date of Patent: August 18, 2020
    Assignee: Apptimize LLC
    Inventor: Timothy D. Lundeen
  • Patent number: 10733687
    Abstract: A method for data communication in a virtualized environment is disclosed as follows. A write function of a graphics driver is called by a graphics processing program using a graphics processing interface, where a function in a call process is recorded in a function stack; an entry address of a write function of the graphics processing interface is determined according to an entry address of the write function of the graphics driver and a quantity of layers of the function stack, and an offset and a length that are of a vertex buffer of the graphics processing program are read from the entry address of the write function of the graphics processing interface, so as to determine a data area that is modified by the graphics processing program and is in the vertex buffer, where the modified data area is data necessary for graphics rendering.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: August 4, 2020
    Assignee: HUAWEI TECHNOLOGIES CO., LTD.
    Inventors: Chuyue Ai, Xibao Pang
  • Patent number: 10733010
    Abstract: The current document is directed to automated application-release-management facilities that, in a described implementation, coordinate continuous development and release of cloud-computing applications. The application-release-management process is specified, in the described implementation, by application-release-management pipelines, each pipeline comprising one or more stages, with each stage comprising one or more tasks. The currently described methods and systems check whether endpoints and external tasks are reachable prior to initiating execution of application-release-management pipelines. Automatic reachability checking is scheduled for idle intervals, when the workflow-execution-engine component of the automated application-release-management facility is not executing release pipelines.
    Type: Grant
    Filed: August 11, 2017
    Date of Patent: August 4, 2020
    Assignee: VMWARE, INC.
    Inventors: Ravi Kasha, Karthikeyan Ramasamy, Bhawesh Ranjan
  • Patent number: 10691419
    Abstract: Mechanisms are provided for generating a new compilable program from an instruction trace. The mechanisms receive a trace file for an original program whose execution on computing hardware has been traced and perform analysis of the trace file to identify a hot function, symbol information corresponding to the hot function, and initialization parameters for the hot function. The mechanisms generate a trace control flow graph based on the identified hot function and the symbol information corresponding to the hot function. The mechanisms identify, based on the trace control flow graph, pathways in the original program to the hot function, represented in the trace file. The mechanisms generate a reconstructed program based on the trace control flow graph, the pathways to the hot function, and the initialization parameters, and output the reconstructed program.
    Type: Grant
    Filed: February 11, 2019
    Date of Patent: June 23, 2020
    Assignee: International Business Machines Corporation
    Inventors: Biplob Mishra, Saritha Vinod
  • Patent number: 10678480
    Abstract: Technology for dynamically adjusting a process scheduler in a storage processor of a data storage system. An average amount of host data contained in sets of host data processed by host I/O request processing threads is calculated. An average amount of time required for each host I/O request processing thread to execute to completely process the average amount of host data contained in a set of host data is also calculated. Operation of the process scheduler in the storage processor is then adjusted to cause the process scheduler to subsequently allocate the processor in the storage processor to host I/O request processing threads in timeslices having a duration that is at least as large as the average amount of time required for each host I/O request processing thread to execute to completely process the average amount of host data contained in a set of host data.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: June 9, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Philippe Armangau, Bruce A. Zimmerman, John P. Didier, Rustem Rafikov
  • Patent number: 10664601
    Abstract: A system for automatic buffer overflow warning inspection and bug repair is disclosed. The system includes a first module for warning reachability analysis, the first module accepts static overflow warnings and source code as an input, the first module is functionally connected to the second and the third modules, and sends out a warning path set as an output. The system also includes a second module for guided symbolic execution, the second module is functionally connected to the first module and the third module. The system further includes a third module for buffer overflow validation, the third module is functionally connected to the first, the second and the four modules and sends out undecided warnings and false warnings as output. The system further includes a fourth module for targeted automatic repair, the fourth module is functionally connected to the third module and sends out true warnings as output.
    Type: Grant
    Filed: October 25, 2016
    Date of Patent: May 26, 2020
    Assignee: Nanjing University
    Inventors: Linzhang Wang, You Li, Xuandong Li
  • Patent number: 10659594
    Abstract: A context aware mobile personalization system is disclosed for a software development environment with plug-in capabilities for providing personalized phone capabilities based on the automated detection of user context.
    Type: Grant
    Filed: January 20, 2016
    Date of Patent: May 19, 2020
    Assignee: American University of Beirut
    Inventors: Hazem Hajj, Wassim El Hajj, Saeid Eid, Sani Kiwan, Joseph Majdalani, Mohammed Sulaiman Bensaleh, Abdulfattah Mohammad Obeid, Syed Manzoor Qasim
  • Patent number: 10635415
    Abstract: The present disclosure involves systems and computer-implemented methods for installing software hooks. One process includes identifying a target method and a hook code, where the hook code is to execute instead of at least a portion of the target method, and wherein the target method and the hook code are executed within a managed code environment. A compiled version of the target method and a compiled version of the hook code are located in memory, where the compiled versions of the target method and the hook code are compiled in native code. Then, the compiled version of the target method is modified to direct execution of at least a portion of the compiled version of the target method to the compiled version of the hook code. The non-compiled version of the target method may be originally stored as bytecode. The managed code environment may comprise a managed .NET environment.
    Type: Grant
    Filed: August 25, 2015
    Date of Patent: April 28, 2020
    Assignee: Cylance Inc.
    Inventor: Derek A. Soeder
  • Patent number: 10613965
    Abstract: Method and systems of visually depicting instrumented and sampled data are provided. A first stream of instrumented data, the instrumented data collected via execution of code contained in a user-scriptable engine. Then a second stream of sampled data is received, the sampled data collected by monitoring execution of code contained in scripts executed by the user-scriptable engine. Then an aggregated version of a portion of the instrumented data and an aggregated version of a portion of the sampled data are simultaneously displayed in one or more viewing regions. Then user interaction with an object pertaining to the aggregated version of a portion of the instrumented data is received. In response to the receiving user interaction with the object pertaining to the aggregated version of a portion of the instrumented data, the aggregated version of the portion of the sampled data is caused to change to depict a different aggregated version of a portion of the sampled data.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: April 7, 2020
    Assignee: Adobe Inc.
    Inventors: Mark Edward Shepherd, Michael James Andrew Smith, George Comninos, Gavin Murray Peacock
  • Patent number: 10592404
    Abstract: A method and system for testing performance of a software product. One or more complete executions of a performance test of corresponding versions of the software product are performed. The complete executions of the performance test identifies a steady state value of each performance parameter monitored during the performance test after each performance parameter has transitioned to a steady state during the performance test. A performance profile of the software product is determined according to the complete executions of the performance test. Partial executions of the performance test of corresponding further versions of the software product are performed, each partial execution having a partial duration preceding the steady state of each performance parameter. Corresponding results of the partial executions of the performance test are estimated according to the performance profile from corresponding partial trends of each performance parameter during the partial executions of the performance test.
    Type: Grant
    Filed: March 1, 2017
    Date of Patent: March 17, 2020
    Assignee: International Business Machines Corporation
    Inventors: Giovanni L. Colaiacomo, Roberto Pecoraro, Pia Toro, Ignazio F. Trovato
  • Patent number: 10585665
    Abstract: A build indicator is set in a build environment to a set value for building a program code, the set value selected from a first value indicating that a feature of the program code is enabled, and a second value indicating that the feature is disabled. In response to the set value of the build indicator being the first value, a variable is set to a value indicating that the feature is enabled. The program code is built using the value of the variable.
    Type: Grant
    Filed: January 3, 2018
    Date of Patent: March 10, 2020
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Christopher H. Stewart, Mason Gunyuzlu
  • Patent number: 10521286
    Abstract: In one aspect, a computerized method utilizing an interoperable cloud Domain-specific language (DSL) to orchestrate multiple cloud platforms and services including the step of parsing one or more DSL inputs. The computerized method includes the step of validating one or more DSL inputs a content and a syntax based on a DSL type and a type of associated cloud platform. The computerized method includes the step of chaining the one or more DSL to orchestrate resources in various cloud platforms by using cloud-platform native DSL and with orchestrating operational tools using third party custom DSLs. The computerized method includes the step of parsing an input data structure from the one or more DSLs together. The computerized method includes the step of appending the input data structure from the one or more DSLs together to capture input values together for execution.
    Type: Grant
    Filed: August 25, 2017
    Date of Patent: December 31, 2019
    Inventor: Rathinasabapathy Arumugam
  • Patent number: 10514954
    Abstract: A system for hierarchical cooperative computing is provided, comprising a vector definition service configured to receive a user-submitted request, and compile the request into a vector; a rules engine configured to retrieve the vector from the vector definition service, and evaluate the vector for appropriateness; a parametric evaluator configured to parameterize the vector, and generate at least a run from the parameterized vector; and an optimizer configured to retrieve the run from the parametric evaluator, and determine an optimal plan for executing the user-submitted request.
    Type: Grant
    Filed: January 24, 2018
    Date of Patent: December 24, 2019
    Assignee: QOMPLX, INC.
    Inventors: Jason Crabtree, Andrew Sellers
  • Patent number: 10509715
    Abstract: A system is provided to run new code modules safely in a duplicative, protected environment without affecting the code modules that are already trusted to be on the system. The system receives a new code module that validates operational data of a computing device, and instantiates a new, parallel execution engine to run the new code module on the operational data in parallel with another execution engine running the trusted/verified code modules that also validate the same operational data. The new engine runs the new code module with the operational data to produce new code module results. The production engine runs the trusted/verified code modules with the operational data to produce verified code module results. The new code module results are combined with the verified code module results to produce combined results describing the operational status of the computing device.
    Type: Grant
    Filed: April 19, 2018
    Date of Patent: December 17, 2019
    Assignee: Cisco Technology, Inc.
    Inventors: David C. White, Jr., Magnus Mortensen, Jay K. Johnston
  • Patent number: 10509655
    Abstract: A processor circuit and an operation method thereof are provided. The processor circuit includes a re-order buffer (ROB) and an alias queue (AQ) module. The ROB records next sequential instruction pointer (Nsip) values of a plurality of load instructions and a plurality of store instructions. Each of a plurality of entries of the AQ module includes a first field and a plurality of second fields. When a first load instruction and a first store instruction cause a first memory violation and the ROB retires the first load instruction, the AQ module stores the Nsip value of the first load instruction into the first field of one of the entries and stores the Nsip value of the first store instruction into one of the second fields of one of the entries.
    Type: Grant
    Filed: August 22, 2018
    Date of Patent: December 17, 2019
    Assignee: Shanghai Zhaoxin Semiconductor Co., Ltd.
    Inventor: Xiaolong Fei
  • Patent number: 10474674
    Abstract: Embodiments of the present disclosure provide techniques for using an inverted index in a pipelined search query. A field searchable data store is provided that comprises a plurality of event records, each event record comprising a time-stamped portion of raw machine data. Responsive to the reciept of an incoming search query, the search engine accesses an inverted index, wherein each entry in the inverted index comprises at least one field name, a corresponding at least one field value and a reference value associated with each field name and value pair that identifies a location in the data store where an associated event record is stored. Once the inverted index is accessed, it can be used to filter out a subset of the plurality of event records, wherein the subset comprises one or more event records with corresponding reference values in the inverted index.
    Type: Grant
    Filed: January 31, 2017
    Date of Patent: November 12, 2019
    Assignee: SPLUNK INC.
    Inventors: David Ryan Marquardt, Karthikeyan Sabhanatarajan, Steve Yu Zhang
  • Patent number: 10437709
    Abstract: A device may receive configuration information for an experiment associated with optimizing an application. The configuration information may identify a group of experimental treatments and information identifying a target event. The device may identify an experimental treatment to be implemented in the application, and may implement the experimental treatment in the application. The device may collect response information based on implementing the experimental treatment. The device may detect the target event associated with the experiment, indicating that the response information is to be provided to an experiment server. The device may determine that the experiment server is unreachable and may store the response information. The response information may be stored to allow the response information to be provided to the experiment server at a later time. The response information may be provided to the experiment server to permit the experiment server to determine a result of the experiment.
    Type: Grant
    Filed: September 26, 2016
    Date of Patent: October 8, 2019
    Assignee: Accenture Global Services Limited
    Inventor: Murray Williams
  • Patent number: 10394530
    Abstract: The disclosed subject matter presents a method for translating between protocols using an extended scripting language. In one embodiment ECMA-262 scripting language is extended to enable one with ordinary skill in the art to create scripts which may be used to perform diverse data manipulation including, but not limited to: file input/output, database manipulation, data identification, data translation, XML functionality, SMB functionality, email, etc. Additionally provided for is running the extended scripting language alongside a binary to manipulate data such that changes can be implemented without requiring the recoding and/or recompiling of the binary. In other embodiments, the disclosed subject matter enables the transmission of information via a webservice, with information able to be viewed on a variety of GUI's, and/or manipulated by a script wizard, autonomous script writer or a combination thereof.
    Type: Grant
    Filed: June 12, 2017
    Date of Patent: August 27, 2019
    Assignee: Tilden Tech Holdings LLC
    Inventor: Stephen D Perkins
  • Patent number: 10397309
    Abstract: The technology disclosed describes systems and methods for implementing global profiling to track resource usage and performance for multiple threads across multiple servers for a cloud-based system. This disclosed technology provides global profiling to track resource usage across any part of a transaction as it passes between layers of a computing stack regardless of the language being executed, on logically different virtual machines across multiple servers. After data collection stops, the disclosed technology combines the results into a configurable profile view that accurately represents the order of execution of applications and methods, as though they ran on one machine. The disclosed technology builds multiple formats of the data files for different display visualizations.
    Type: Grant
    Filed: May 13, 2015
    Date of Patent: August 27, 2019
    Assignee: SALESFORCE.COM, INC.
    Inventors: James Bock Wunderlich, Forrest Junod, Gregory D. Fee, Mike Boilen, Nicholas Chun Yuan Chen
  • Patent number: 10394694
    Abstract: A method of branch exploration in fuzz testing of software binaries includes receiving a set of inputs of a binary program under analysis (BPUA) discovered during testing by a grey box fuzzer. The method includes re-executing the set of inputs. The method includes re-executing a concrete execution of the set of inputs in the BPUA and formation of a constraints tree in which path constraints along paths of the BPUA and conditions at branch points are recorded and marked as explored or unexplored. The method includes selecting a particular number of the unexplored branches of the BPUA. The method includes solving the particular number of unexplored branches with a constraint solver to generate a new set of the particular number of inputs. The method includes communicating the new set of the particular number of inputs to the grey box fuzzer for exploration of different branches of the BPUA.
    Type: Grant
    Filed: January 15, 2018
    Date of Patent: August 27, 2019
    Assignee: FUJITSU LIMITED
    Inventors: Quoc-Sang Phan, Praveen Murthy
  • Patent number: 10387285
    Abstract: Testing applications on a hardware development platform. A method includes receiving user input, the user input including an executable application. The method further includes executing the executable application on an application development platform and gathering at least one of thermal or electrical power characteristics caused by executing the application on the application development platform. The method further includes. accessing operating conditions for the application development platform. The method further includes accessing a set of one or more predefined threshold end-use platform operating conditions. The method further includes scaling the thermal or electrical power characteristics caused by executing the application on the application development platform based on the threshold end-use platform operating conditions and the operating conditions for the application development platform.
    Type: Grant
    Filed: April 17, 2017
    Date of Patent: August 20, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Hee jun Park, Sudeesh Reddy Pingili
  • Patent number: 10372585
    Abstract: A system and method that automatically detects that a regression incident has occurred, and identifies the particular revision(s) of source code that introduced the regression incident is disclosed herein. The system and method execute one or more simulations of each revision in a window of revisions of the source code to compute values for one or more metrics. The metric values are then used to compute regression confidence values as well as a regression confidence interval—to then detect a regression incident and identify the revision that caused the regression incident. The system and method can also identify subsequent revision(s) that sufficiently fix regression incident(s) caused by a revision such that a software developer can be informed of these fixing revisions.
    Type: Grant
    Filed: November 7, 2017
    Date of Patent: August 6, 2019
    Assignee: Facebook, Inc.
    Inventors: Jeffrey Scott Dunn, Hangjin Zhang, Eun Chang Lee, David Ross Harrington, Joel F. Beales, Lifei Huang
  • Patent number: 10359971
    Abstract: Some examples relate to storing memory profile data of an application in a non-volatile memory. In an example, source code of an application may be compiled into an instrumented code for generating profile data of the application. In an example, the profile data may include memory profile data related to memory usage of the application. Next, the profile data comprising the memory profile data of the application may be generated using the instrumented code. The application may be recompiled based on the profile data that includes the memory profile data of the application. Data for storing in a non-volatile memory (NVM) may be identified from the memory profile data of the application. The identified data may be stored in the NVM.
    Type: Grant
    Filed: July 17, 2017
    Date of Patent: July 23, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Suprateeka Radhakrishna Hegde, Shridhar Prakash Joshi
  • Patent number: 10354069
    Abstract: A Taint Modeling Function (TMF) finds abstract patterns and uses them to automate the malware detection process. TMF involves the process of statically analyzing a sequence of assembly language instructions and abstracting complex relationships among instruction inputs and outputs into a mathematical function containing a set of algebraic expressions. The set of expressions support fully automating semantic pattern detection in binary code. It deterministically generates outputs given inputs determining code block outputs, for given inputs, without executing the code. It detects code patterns automatically to spot bad coding patterns directly from the binary used to detect bugs statically in the entire application space.
    Type: Grant
    Filed: September 2, 2016
    Date of Patent: July 16, 2019
    Assignee: BAE Systems Information and Electronic Systems Integration Inc.
    Inventors: Robert S Gray, Vu T Le, Robert B Ross, Gregory S Sadosuk, Michael J Weber
  • Patent number: 10346295
    Abstract: Systems, methods, apparatuses, and software for software testing systems in computing environments are provided herein. In one example, software modules are instantiated within an enveloping framework for replaying or recording of user activity with regards to the software modules. Based at least on the enveloping framework placed in a replay mode of operation, the enveloping framework provides replayed inputs to the software modules based on previously recorded user activity, the replayed inputs each associated with unique identifiers mapping into the previously recorded user activity. The enveloping framework monitors outputs from the software modules and correlates the outputs to the inputs using the unique identifiers. Changes are detected in operation of the software modules based in part on a comparison of previously recorded outputs from the software modules to the outputs that are determined by the software modules when using the replayed inputs.
    Type: Grant
    Filed: April 14, 2017
    Date of Patent: July 9, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Harold E. Beyel, III, Piotr Aleksander Ciszewski, Daulet Zhanguzin, Syed Wali Hamza, Dongyang Cheng
  • Patent number: 10346357
    Abstract: The disclosed system and method acquire and store performance measurements relating to performance of a component in an information technology (IT) environment and log data produced by the IT environment, in association with corresponding time stamps. The disclosed system and method correlate at least one of the performance measurements with at least one of the portions of log data.
    Type: Grant
    Filed: January 31, 2017
    Date of Patent: July 9, 2019
    Assignee: Splunk Inc.
    Inventors: Brian Bingham, Tristan Fletcher, Alok Anant Bhide
  • Patent number: 10346281
    Abstract: Methods for obtaining and analyzing a reduced data set are disclosed. In an embodiment, runtime dependencies between components are identified. Based on runtime dependencies, it is determined that a first component is configured to access a second component during runtime but is not configured to access a third component during the runtime. A subset of monitoring data associated with the second component is reported. A subset of the monitoring data associated with the third component is not reported. In an embodiment, a first data set associated with a component is obtained. The first data set is aggregated by monitoring of the component. A second data set, associated with the component, is simulated. The second data set is simulated based on the first data set and/or data modeling associated with the component. A characteristic and/or performance of the component is analyzed based on the first data set and the second data set.
    Type: Grant
    Filed: November 12, 2015
    Date of Patent: July 9, 2019
    Assignee: Oracle International Corporation
    Inventors: Arvind Maheshwari, Ganesh Narayanamurthy, Rishi Saraswat
  • Patent number: 10331440
    Abstract: A computer-implemented method is disclosed which detects that new source code linked to a defect identifier has been checked in to a source code repository for a given code branch of a software application. The new source code is automatically checked in to additional code branches of the software application based on the defect identifier. For each additional code branch into which the new source code is automatically checked in, code coverage metrics are determined which indicate an extent to which application source code of the code branch is tested by its corresponding test case source code before and after the automatic check in. If a difference between the code coverage metrics indicates that code coverage for the code branch has decreased by more than a predefined threshold, a notification is transmitted that indicates a test case deficiency for the code branch.
    Type: Grant
    Filed: June 13, 2017
    Date of Patent: June 25, 2019
    Assignee: CA, Inc.
    Inventors: Ramanjaneyulu Mallisetty, Naveen Arora, Steven C. Versteeg, Xien Yao
  • Patent number: 10331545
    Abstract: A method of generating program analysis data for analyzing operation of a computer program includes running a first instrumented version of machine code representing the program, the running defines a reference execution of the program, and capturing a log of non-deterministic events during the reference execution such that the machine code can be re-run in a deterministic manner to reproduce states of a processor and memory during the re-running. The method also includes generating a second instrumented version of the machine code including instrumented machine code to replay execution of the machine code representing the program and to capture and store program state information during the replayed execution, the program state information includes one or both of one or more values of registers of the processor and one or more values of memory locations used by the program.
    Type: Grant
    Filed: May 12, 2016
    Date of Patent: June 25, 2019
    Assignee: UNDO LTD.
    Inventors: Julian Philip Smith, Gregory Law
  • Patent number: 10318332
    Abstract: Embodiments relate to a virtualization layer capturing replayable execution traces of VMs managed by the virtualization layer. Execution tracing can be performed on any unit of execution managed by the virtualization layer, e.g., threads, processes, virtual processors, individual VMs, multiple VMs, etc. Traced execution units may be executing in parallel. Execution tracing involves capturing to a buffer: executed instructions, memory inputted to instructions, memory outputted by instructions, registers touched by instructions, and ordering markers. Trace data can be captured in chunks, where causality is preserved and ordering is preserved between chunks but not necessarily within chunks. The chunks may be delineated by inserting monotonically increasing markers between context switches, thus relatively ordering the chunks. Determinism may be partially provided by identifying non-deterministic events. VM tracing may be transparent to guest software, which need not be instrumented.
    Type: Grant
    Filed: April 14, 2017
    Date of Patent: June 11, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Jordi Mola
  • Patent number: 10318259
    Abstract: An apparatus for automatically converting a control flow program into a data flow program comprises a non-transitory machine-readable medium and a translator stored in the machine-readable medium. The translator, when executed by a data processing system, enables the data processing system to (a) automatically generate a control dependency graph for a control flow program, (b) automatically generate a data flow graph based at least in part on the control dependency graph, and (c) automatically generate a data flow program based at least in part on the data flow graph. In one embodiment or scenario, the translator may also automatically insert a switch instruction into the data flow program, in response to a determination that a variable of the control flow program is defined in one control dependency region and used in a different control dependency region. Other embodiments are described and claimed.
    Type: Grant
    Filed: May 31, 2017
    Date of Patent: June 11, 2019
    Assignee: Intel Corporation
    Inventor: Yongzhi Zhang
  • Patent number: 10282277
    Abstract: Techniques are disclosed for identifying a minimal operator subsets in a distributed streams application for debugging purposes. A debugging tool receives a selection of operators from a plurality of operators included in a distributed application. The distributed application executes the plurality of operators in a runtime environment. The debugging tool identifies, based on the selected operators, a subset of the plurality of operators to execute in a debugging environment. The subset includes at least the selected operators. The debugging tool executes the subset of the plurality of operators in the debugging environment.
    Type: Grant
    Filed: December 1, 2015
    Date of Patent: May 7, 2019
    Assignee: International Business Machines Corporation
    Inventors: Bin Cao, Jessica R. Eidem, Brian R. Muras, Jingdong Sun
  • Patent number: 10282268
    Abstract: In one embodiment, a logging process initiates a trace of an execution flow across a plurality of processes, and creates a log context for the trace, the log context having a universally unique identifier (UUID) and an indication that the trace is to be performed as the plurality of processes are executed during the execution flow. The logging process manages passage of the log context across the plurality of processes during the execution flow, and gathers log entries from the plurality of processes based on the UUID for the trace, where the log entries were created based on the indication being within the log context. As such, the logging process may stitch the log entries into a flow execution log for the trace of the execution flow.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: May 7, 2019
    Assignee: Cisco Technology, Inc.
    Inventors: Zachariah Cherian, Pratap Pereira
  • Patent number: 10268514
    Abstract: Techniques for acquiring performance analysis metrics for computer-implemented functions are described herein. A computer-implemented function is instantiated on a computer system. A monitoring agent running on the computer system monitors outbound calls from the computer-implemented function and, when an outbound function call is intercepted, the agent calculates a performance metric for the outbound function. An aggregated set of performance metrics is produced, and that aggregated set of performance metrics is presented for further analysis.
    Type: Grant
    Filed: March 22, 2016
    Date of Patent: April 23, 2019
    Assignee: Amazon Technologies, Inc.
    Inventor: Nitin Kesarwani
  • Patent number: 10248444
    Abstract: A method for allocating virtual machines (VMs) to run within a non-uniform memory access (NUMA) system includes a first processing node and a second processing node. A request is received at the first processing node for additional capacity for at least one of (a) establishing an additional VM and (b) increasing processing resources to an existing VM on the first processing node. In response to receiving the request, a migration manager identifies whether the first processing node has the additional capacity requested. In response to identifying that the first processing node does not have the additional capacity requested, at least one VM is selected from an ordered array of the multiple VMs executing on the first processing node. The selected VM has low processor and memory usage relative to the other VMs. The selected VM is migrated from the first processing node to the second processing node for execution.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: April 2, 2019
    Assignee: Dell Products, L.P.
    Inventors: Kiran Kumar Devarapalli, Krishnaprasad K, Shiva Prasad Katta
  • Patent number: 10241892
    Abstract: Embodiments include methods, systems, and computer program products for using static analysis to issue complaints. Aspects include generating, using a processing unit, a first complaint during static analysis of program code, wherein the first complaint corresponds to a program error. Aspects also include generating, using the processing unit, a second complaint when the first complaint is not encountered during subsequent static analysis of the program code. Aspects further include outputting, using the processing unit, the second complaint to a non-transitory computer readable medium.
    Type: Grant
    Filed: December 2, 2016
    Date of Patent: March 26, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Michael T. Strosaker
  • Patent number: 10229037
    Abstract: In various embodiments, a method, system, and computer program product for injecting error code include logic and/or program instructions configured to determine, by a local processor, critical points in executing code of software under test on a remote system, build, by the local processor, a testcase to invoke the software under test on the remote system, determine, by the local processor, an appropriate response action for each critical point based on an error encountered at each critical point as reported by a remote processor of the remote system, cause, by the local processor, the remote processor to inject a critical point segment into the executing code at a corresponding critical point, and receive, by the local processor, a unique identifier of each critical point segment output by the remote processor in response to injecting the critical point segment into the executing code.
    Type: Grant
    Filed: January 13, 2015
    Date of Patent: March 12, 2019
    Assignee: International Business Machines Corporation
    Inventors: Gerard M. Dearing, Terri A. Menendez
  • Patent number: 10203970
    Abstract: A system implements code trampolining techniques by generating custom trampoline functions, compiling the functions, and executing the compiled functions directly from a library when the corresponding native function is called. The native functions may be binary functions, such as functions in C++ code, or other languages. A code generator may read a set of functions to be implemented and generate code, such as binary code, for the destination function. In doing so, the code generator may generate code which matches the source function signature. The generated code may then be compiled into a shared library which is loaded by the process being instrumented. When the library is initiated upon subsequent calls for the native function, the trampoline mechanisms will be set up between the source function and the generated destination function to operate seamlessly with matching signatures.
    Type: Grant
    Filed: October 30, 2015
    Date of Patent: February 12, 2019
    Assignee: Cisco Technology, Inc.
    Inventors: David Roth, Sanjay Nagaraj, Ting Liang, Pankaj Kumar
  • Patent number: 10152458
    Abstract: Described are techniques for determining long-term effects of an experimental change to a user experience after the end of the experiment. A control state and a treatment state of a statistical hypothesis experiment may be assigned to first and second client devices, respectively, during an experiment time period. Subsequent to the end of the experiment, presentation of the control state may be discontinued. Result data corresponding to the treatment state may be determined during the experiment time period and for a length of time subsequent to the experiment time period. Result data corresponding to the control state may be determined during the experiment time period, and for a length of time prior to assignment of the control state to the first client device.
    Type: Grant
    Filed: March 18, 2015
    Date of Patent: December 11, 2018
    Assignee: AMAZON TECHNOLOGIES, INC.
    Inventors: Serguei B. Stepaniants, Kyle Leon Battisti, Rui Chen, Michael Luis Collado, Kevin Donald Kelly, Sebastian Kohlmeier, Kevin McAlister, Daniel Parshall
  • Patent number: 10146530
    Abstract: One embodiment provides a method, including: receiving a request to merge at least one code branch with a first code branch, wherein the at least one code branch and the first code branch comprise different versions of software code; and simulating the merge via: identifying the differences between the at least one code branch and the first code branch; generating a differences list comprising a list of (i) added code snippets, (ii) deleted code snippets, and (iii) changed code snippets, wherein code snippets are clustered in the differences list by difference chunks comprising connected code snippets; and building a relationship graph comprising a plurality of nodes and a plurality of edges, wherein each of the plurality of nodes represent a difference chunk and wherein each of the plurality of edges comprise a relationship between two of the plurality of nodes; each of the plurality of edges comprise a cost vector.
    Type: Grant
    Filed: July 12, 2017
    Date of Patent: December 4, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Nitendra Rajput, Padmanabha Venkatagiri Seshadri
  • Patent number: 10127031
    Abstract: A communication apparatus includes a receiver configured to receive metadata, the metadata including information associated with update data capable of being executed after the receiver has received the metadata, and a determination part configured to determine whether an update of the update data is executable in accordance with the metadata. When the determination part has determined that the update is executable, the update is executed.
    Type: Grant
    Filed: November 7, 2014
    Date of Patent: November 13, 2018
    Assignee: RICOH COMPANY, LTD.
    Inventor: Shigeru Nakamura
  • Patent number: 10120941
    Abstract: Techniques are disclosed for allowing users to access data libraries associated with multiple, isolated runtime environments (RTEs). A web query application receives a query and determines an RTE to execute the query against. The web query application determines whether a current RTE matches the determined RTE. If the web query application determines that the current RTE does not match the determined RTE, the web query application configures a server computing system to access the determined RTE and execute the query against data libraries associated with the determined RTE. If the web query application determines that the current RTE matches the determined RTE, the web query application executes the query against the data libraries associated with the current RTE.
    Type: Grant
    Filed: July 31, 2013
    Date of Patent: November 6, 2018
    Assignee: International Business Machines Corporation
    Inventors: Robert D. Andrews, Robert J. Bestgen, Gene R. Cobb, Kathryn R. Steinbrink
  • Patent number: 10114979
    Abstract: Particular embodiments establish static redirection of a function that is a member of a class to an alternate implementation of the function. A software tool executing on a computer server receives an executable file for an application and a location for an alternate implementation of the function. The function may be written in Objective C. The software tool can be used to locate a structure for the function by traversing serialized metadata in the executable file. The software tool can then be used to modify the metadata in the executable file by updating the value of a selector indicating the location of a current implementation of the function to indicate a location of the alternate implementation. The selector may be included in a element of the structure for the class method. Finally, the application may provide the modified executable file for installation on client devices.
    Type: Grant
    Filed: October 16, 2015
    Date of Patent: October 30, 2018
    Assignee: VMware, Inc.
    Inventor: Manish Jawa
  • Patent number: 10095599
    Abstract: This disclosure provides a computer-implemented method for monitoring an application at runtime. The method comprises building up a calling relationship graph for at least one type of system method called at runtime, by checking a stack trace generated when the application is running. An application method of the application that directly or indirectly calls this type of system method is represented as a node in the calling relationship graph. The method further comprises determining one or more target nodes in the calling relationship graph by analyzing the structure of the calling relationship graph. The method further comprises inserting callback methods into application method(s) of the application corresponding to the one or more target nodes only in a calling side. The method further comprises monitoring the application at runtime by using said callback methods.
    Type: Grant
    Filed: March 31, 2016
    Date of Patent: October 9, 2018
    Assignee: International Business Machines Corporation
    Inventors: Yang Che, Xiao Ming Hu, Xin Peng Liu, Ren Fu Ma, Li Jing Mu, Guoqing Wang, Jun Yu Zhang
  • Patent number: 10089211
    Abstract: An information processing apparatus comprises: an insertion unit that inserts, into a class file that corresponds to one application, a first bytecode for tallying information about a resource used by an object generated by execution of a bytecode that is included in the class file; and a tallying unit that, if an application generates an object, tallies information about a resource used by the object generated by the application, wherein the one application that has executed the first bytecode is identified by execution of the first bytecode, the one application thus identified and information about a resource used by a generated object are registered to a storage unit in association with each other, and the tallying unit tallies a resource usage amount for each application based on the information registered to the storage unit.
    Type: Grant
    Filed: October 6, 2015
    Date of Patent: October 2, 2018
    Assignee: CANON KABUSHIKI KAISHA
    Inventor: Kiwamu Hasegawa
  • Patent number: 10067862
    Abstract: Asynchronous operations associated with a request such as synchronous threads, runnable elements, callable elements, and other invokable objects are tracked to determine the metrics about the request and operations. The present technology tracks the start and end of each asynchronous operation and maintains a counter which tracks the currently executing asynchronous operations. By monitoring the request, the start and end of each asynchronous operation associated with the request, and the number of asynchronous operations currently executing, the present technology may identify the end of a request by identifying when the last asynchronous operation associated with the request ends. In some instances, the present technology identifies the end of a request when a counter which tracks the number of asynchronous operations executing reaches a value of zero after the first asynchronous operation has already begun.
    Type: Grant
    Filed: November 28, 2016
    Date of Patent: September 4, 2018
    Assignee: Cisco Technology, Inc.
    Inventors: Suraj Puvvada, Ryan Ericson
  • Patent number: 10042735
    Abstract: For each of a plurality of wrapper logic components, a metric is determined from content of reports received from user electronic devices that characterizes performance of the wrapper logic component when executed by the user electronic devices to monitor a feature of an application during execution of the application by the user electronic devices. A set of the wrapper logic components is selected that excludes from the set any of the wrapper logic components having performance characterized by the metrics that does not satisfy a first defined rule. The set of wrapper logic components and the application are combined to form a modified application with the wrapper logic components of the set configured to monitor features of the modified application when executed by user electronic devices.
    Type: Grant
    Filed: July 10, 2015
    Date of Patent: August 7, 2018
    Assignee: CA, INC.
    Inventors: Vikrant Nandakumar, Naveen Harry Michael, Hemanth Kumar Pinninti
  • Patent number: 10025504
    Abstract: According to one embodiment, an information processing method including: detecting by a time information acquiring unit a start and an end of an access of a memory access unit to a target memory, the access of the memory access unit being due to instructions of an instruction issuer, and acquiring by the time information acquiring unit a memory access time being a time from the start of the access till the end of the access; calculating by a computation amount acquiring unit, based on the instructions of the instruction issuer, a computation amount of a computing unit from the start of the access till the end of the access; and evaluating by an evaluation unit, based on the memory access time and the computation amount, computing performance of the computing unit from the start of the access till the end of the access.
    Type: Grant
    Filed: February 3, 2016
    Date of Patent: July 17, 2018
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Susumu Takeda, Shinobu Fujita
  • Patent number: 10025688
    Abstract: Comprehensive techniques identify data leaks in software applications using Asset Flow Analysis (AFA) to determine whether critical data leaves a system through an exit point such that the data is no longer protected by mechanisms of the system. A novel data extrusion mechanism makes use of a relevant subset of all the possible data paths detected by AFA using a knowledge base of critical business functions and critical database content. The system checks if any code performs read access to critical business data and subsequently transfers this data beyond the control limits of the target system. The knowledge base can be extended by configuring which database content is to be regarded as critical in any given organization. The approach is particularly valuable in protecting systems that manipulate, distribute, or store sensitive information associated with financial, business, or personal data, including SAP® ABAP™ software applications.
    Type: Grant
    Filed: September 17, 2012
    Date of Patent: July 17, 2018
    Assignee: Virtual Forge GmbH
    Inventors: Andreas Wiegenstein, Markus Schumacher, Xu Jia