Including Instrumentation And Profiling Patents (Class 717/158)
  • Patent number: 10805377
    Abstract: A computing device having connectivity to a network stores one or more existing device models, where each of the one or more existing device models is a representation of a different client device used by a first authenticated user to access the network. The computing device obtains a device sample, which comprises network traffic data that is captured during a period of time and which is generated by a particular client device associated with the authenticated user of the network. The computing device determines, based on one or more relational criteria, whether the device sample should be assigned to one of the one or more existing device models or to an additional device model that has not yet been created. The computing device then determines relative identity of the particular client device based on whether the device sample is assigned to one of the one or more device models or to an additional device model that has not yet been created.
    Type: Grant
    Filed: May 18, 2017
    Date of Patent: October 13, 2020
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Martin Grill, Jan Kohout, Martin Kopp
  • Patent number: 10725751
    Abstract: A method, apparatus, and/or computer program product generates a predictive data structure for an application when operating offline in a network connected data processing system, the application comprising source code having an execution path. The method comprises: determining an exit point within the source code of the application; determining, from the exit point, an execution path comprising at least one conditional statement; identifying one or more branches of the at least one identified conditional statement and for each identified branch determining an expected response; for each determined expected response, generating a data structure from the response; continuing along the execution path of the source code from the exit point and replacing each request for a resource in the source code with a pointer to the generated data structure; and executing the source code with the pointer to the generated data structure from the determined exit point.
    Type: Grant
    Filed: November 6, 2018
    Date of Patent: July 28, 2020
    Assignee: International Business Machines Corporation
    Inventor: Benjamin J. Fletcher
  • Patent number: 10719431
    Abstract: Techniques are described for graph based code performance analysis of software, such as software that is being developed and tested in a development environment. Implementations provide a technique for instrumenting code by adding various annotations into the code. Each annotation may be a function call that executes with the annotated code, but does not alter the behavior and/or functionality of the annotated code apart from outputting call tracking information during execution. The call tracking information generated by annotations can be analyzed to generate a call graph that depicts calling relationships between functions in the code. The call graph can be presented within a user interface and/or automatically analyzed to develop recommendations regarding code coverage for testing, impact information describing how changes to one function impact another function, code optimization recommendations, and so forth.
    Type: Grant
    Filed: December 18, 2018
    Date of Patent: July 21, 2020
    Assignee: SAP SE
    Inventors: Yang Peng, Yueling Wang, Jieying Zhang, Yunfeng Jiang, Junshan Xu
  • Patent number: 10698894
    Abstract: Described herein are technologies relating to including instrumentation code in enterprise pages and generating a report for an enterprise page based upon instrumentation data and organizational data. Instrumentation code in an enterprise page, when executed by a processor, causes the processor to generate instrumentation data, where the instrumentation data includes an identifier for the enterprise page and an identifier for a user who accessed the enterprise page. The instrumentation data is added to an instrumentation dataset. A report is generated for an enterprise page based upon the instrumentation data and organizational data, such that the report indicates how users across different sectors of the enterprise interact with the enterprise page.
    Type: Grant
    Filed: May 12, 2017
    Date of Patent: June 30, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Swapnil Palod, Sriram Kakara, Mark Saroufim
  • Patent number: 10691430
    Abstract: An apparatus to facilitate instruction scheduling is disclosed. The apparatus includes one or more processors to receive a block of instructions, divide the block of instructions into a plurality of sub-blocks based on a register pressure bounded by a predetermined threshold and instructions in each of the plurality of sub-blocks for processing.
    Type: Grant
    Filed: August 27, 2018
    Date of Patent: June 23, 2020
    Assignee: Intel Corporation
    Inventors: Wei Pan, Wei-Yu Chen, Guei-Yuan Lueh
  • Patent number: 10693798
    Abstract: A system receives an incoming datastream at an incoming data rate or transmits an outgoing datastream at an outgoing data rate. The system may include a detection circuit to monitor the signal quality of the datastream. Responsive to changes in the monitored signal quality, the system may switch the data rate from a first data rate to a new data rate. If signal conditions are favorable, the system may switch to a higher data rate than the first data rate. If signal quality conditions worsen, the system may switch from the first data rate to a lower data rate to allow for a reduction in error rate.
    Type: Grant
    Filed: November 2, 2015
    Date of Patent: June 23, 2020
    Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
    Inventor: German Stefan Otto Feyh
  • Patent number: 10678910
    Abstract: Examples disclosed herein relate to modifying a web page. In one example, in response to beginning execution of a process initiating generation of a web page of a web application at a server, a runtime agent is executed. In this example, the runtime agent modifies code of the web page to inject code to protect output of the web page. In the example, the process can be executed using the modified code to generate a modified web page.
    Type: Grant
    Filed: April 10, 2015
    Date of Patent: June 9, 2020
    Assignee: Micro Focus LLC
    Inventors: Ming Sum Sam Ng, Alvaro Munoz, Oleksandr Mirosh
  • Patent number: 10565133
    Abstract: Methods and apparatus for reducing accelerator-memory access costs in platforms with multiple memory channels. The apparatus includes a computing platform having multiple accelerators and multiple memory devices accessed via a plurality of memory channels. Jobs are submitted via software running on the computing platform to access a function to be offloaded to an accelerator. Under the offloaded function, the accelerator accesses one or more buffers that collectively requiring access via multiple memory channels among the plurality of memory channels. Accelerators having an available instance of the function are identified, and an aggregate cost for accessing the one or more buffers via the multiple memory channels are calculated for each of the accelerators. The accelerator with the least aggregate cost is then selected to offload the function to. New Instruction Set Architecture (ISA) instructions are also disclosed to identify memory pages and memory channels used for buffers.
    Type: Grant
    Filed: September 22, 2017
    Date of Patent: February 18, 2020
    Assignee: Intel Corporation
    Inventor: Vinodh Gopal
  • Patent number: 10467117
    Abstract: Techniques for providing application contextual information. One or more sets of database context identifiers corresponding to events that occur within the database are generated by the database. The one or more sets of database context identifiers have at least one application context field. A session identifier corresponding to a session to be monitored is sent from the application to the database. Information to be stored in the database with the session identifier is sent to the database. Database logs and application logs are correlated using at least the session identifier.
    Type: Grant
    Filed: January 31, 2017
    Date of Patent: November 5, 2019
    Assignee: salesforce.com, inc.
    Inventor: Mark Wilding
  • Patent number: 10462748
    Abstract: A method and system for energy savings with silent haptics is presented. A haptically-enabled device includes a processor that executes a haptic track containing haptic instructions. The haptic track is analyzed to determine the presence of a zero-force interval, also known as a silent haptic. The duration of the zero-force interval is determined, and if the duration exceeds a pre-determined threshold, then the system or method enters an energy savings mode. An overhead time associated with the terminating of the energy savings mode is determined. And, the energy savings mode is terminated at the conclusion of the zero-force interval less the overhead time.
    Type: Grant
    Filed: March 24, 2016
    Date of Patent: October 29, 2019
    Assignee: IMMERSION CORPORATION
    Inventors: Henry Da Costa, Yoshiaki Date
  • Patent number: 10445494
    Abstract: In one embodiment, a processor comprises: a first register to store a first bound value for a stack to be stored in a memory; a second register to store a second bound value for the stack; a checker logic to determine, prior to an exit point at a conclusion of a function to be executed on the processor, whether a value of a stack pointer is within a range between the first bound value and the second bound value; and a logic to prevent a return to a caller of the function if the stack pointer value is not within the range. Other embodiments are described and claimed.
    Type: Grant
    Filed: July 25, 2017
    Date of Patent: October 15, 2019
    Assignee: Intel Corporation
    Inventors: Vedvyas Shanbhogue, Ravi L. Sahita, Yuriy Bulygin, Xiaoning Li, Jason W. Brandt
  • Patent number: 10419483
    Abstract: A system and method for generating remediated instructions that complies with one or more policies that specify constraints for computer executable instructions. The remediated instructions are generated based at least in part on an evaluation of a set of straight-line paths of the set of executable instructions and an execution flow for the set of straight-line paths.
    Type: Grant
    Filed: September 17, 2014
    Date of Patent: September 17, 2019
    Assignee: Amazon Technologies, Inc.
    Inventor: Nicholas Alexander Allen
  • Patent number: 10409701
    Abstract: One or more client threads are executed. One or more processing threads corresponding to the one or more client threads are executed. The processing threads are configurable to generate statistical information for each database query statement processed by the corresponding client thread. The statistical information is generated from the processing threads. The statistical information is stored in chunks of memory managed via a plurality of queues. The chunks of memory containing the statistics are analyzed. Outlier statements are filtered based on the statistics. Non-outlier statements are stored by a storage device.
    Type: Grant
    Filed: August 11, 2016
    Date of Patent: September 10, 2019
    Assignee: salesforce.com, inc.
    Inventor: Mark Wilding
  • Patent number: 10353859
    Abstract: A method for allocating registers in a compute unit of a vector processor includes determining a maximum number of registers that are to be used concurrently by a plurality of threads of a kernel at the compute unit. The method further includes setting a mode of register allocation at the compute unit based on a comparison of the determined maximum number of registers and a total number of physical registers implemented at the compute unit.
    Type: Grant
    Filed: February 14, 2017
    Date of Patent: July 16, 2019
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: YunPeng Zhu, Jimshed Mirza
  • Patent number: 10296323
    Abstract: A system and method for deploying user apps to user devices is disclosed. A service module on a host system maintains class files of the user app within an original archive, and creates an install agent archive and a modified user app archive from the original archive. In some embodiments, the service module deploys an install agent from the install agent archive and a runtime agent of the modified user app archive to the user device. In other embodiments, the install agent and the runtime agent are pre-installed within a virtual machine of the user device. The install agent receives the class files from the service module, and the runtime agent loads and executes the class files to deploy the user app on the user device. In a preferred embodiment, the system enables faster initial deployment and redeployment of user apps on Android user devices than current systems and methods.
    Type: Grant
    Filed: January 31, 2017
    Date of Patent: May 21, 2019
    Assignee: Zeroturnaround AS
    Inventors: Madis Pink, Allan Raundahl Gregersen, Rein Raudjärv
  • Patent number: 10289842
    Abstract: An apparatus and a method for protecting kernel control-flow integrity using static binary instrumentation are provided. The method includes configuring a compiler to reserve a register in a processor, compiling source code into a binary based on the configured compiler, and modifying the binary to prevent exploits using the reserved register, wherein the reserved register stores a first encryption key for encrypting and decrypting return addresses. The reserved register stores an encryption key that is used to encrypt and decrypt return addresses to prevent control flow exploits.
    Type: Grant
    Filed: November 1, 2016
    Date of Patent: May 14, 2019
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: James Gleeson, Ahmed Azab, Wenbo Shen, Rohan Bhutkar
  • Patent number: 10268454
    Abstract: Methods, apparatus, systems and articles of manufacture are disclosed to eliminate partial-redundant vector load operations. An example apparatus includes a node grouper to associate a vector operation with a node group, a candidate verifier to perform a dependencies test on a subset of the node group, and identify a subset of the node group as a candidate when the subset satisfies the dependencies test, and a code optimizer to determine replacement code based on a characteristic of the candidate in the node group and compare an estimated cost associated with executing the replacement code to a threshold. The example apparatus also includes a code generator to generate machine code using the replacement code when the estimated cost of executing the replacement code satisfies the threshold.
    Type: Grant
    Filed: September 25, 2017
    Date of Patent: April 23, 2019
    Assignee: Intel Corporation
    Inventors: Farhana Aleen Schuchman, David L. Kreitzer, Rakesh Krishnaiyer, Vyacheslav Pavlovich Zakharin, Sergey Preis, Leonardo Jose Borges, Philippe Thierry
  • Patent number: 10261766
    Abstract: A system, method, and a computer-readable storage device for sloppy feedback loop compilation are described herein. For example, a dataflow application definition can be obtained. The dataflow application definition may include a feedback loop bounding a compute block. It may then be determined that the feedback loop is to be compiled as a sloppy feedback loop. The dataflow application can then be compiled as an executable object that pipelines the compute block of the dataflow application.
    Type: Grant
    Filed: August 28, 2014
    Date of Patent: April 16, 2019
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventor: Benjamin Orth Chandler
  • Patent number: 10261806
    Abstract: A computer-implemented method uses a predictive time-sequence model to adapt hardware configurations at run-time for an application including multiple stages of execution. At each stage a system monitor is started at the launch of a first task in a first run to collect performance data. The system monitor is stopped at the completion of a last task in the first run, then a predictive optimal configuration is computed and applied to the remaining runs in the stage.
    Type: Grant
    Filed: April 28, 2017
    Date of Patent: April 16, 2019
    Assignee: International Business Machines Corporation
    Inventors: J. I. Azhen, Yi Ge, Yong Hua Lin, Chao Xue, Rong Yan
  • Patent number: 10241765
    Abstract: An apparatus, method, system, and program product are disclosed for reducing software runtime. One method includes determining a result produced in response to executing code. The method also includes storing the result. The method includes receiving a request to execute the code. The method also includes, without executing the code, providing the result in response to receiving the request to execute the code.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: March 26, 2019
    Assignee: International Business Machines Corporation
    Inventors: John J. Auvenshine, Anthony J. Ciaravella, John T. Olson, Richard A. Welp
  • Patent number: 10191745
    Abstract: In one example a processor includes a region formation engine to identify a region of code for translation from a guest instruction set architecture to a native instruction set architecture. The processor also includes a binary translator to translate the region of code. The region formation engine is to perform aggressive region formation, which includes forming a region across a boundary of a return instruction. The translated region of code is to prevent a side entry into the translated region of code at a translated return target instruction included in the translated region of code. In more specific examples, performing aggressive region formation includes a region formation grow phase and a region formation cleanup phase. In the grow phase priority may be given to growing complete paths from a call target to a corresponding return. The region formation cleanup phase may comprise eliminating call targets that are not reachable.
    Type: Grant
    Filed: March 31, 2017
    Date of Patent: January 29, 2019
    Assignee: Intel Corporation
    Inventors: Hou-Jen Ko, Girish Venkatasubramanian, Jason Agron, Tyler Sondag, Youfeng Wu
  • Patent number: 10192344
    Abstract: A method of generating a shader program includes determining a first variable to be used to perform a folding operation that replaces operation formulas included in the shader program by a constant or a second variable, and generating a shader program in which the operation formulas are replaced by the constant or the second variable based on the determined first variable.
    Type: Grant
    Filed: September 2, 2016
    Date of Patent: January 29, 2019
    Assignee: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Donghoon Yoo, Seonggun Kim
  • Patent number: 10083016
    Abstract: A facility for defining a calculated distinguished database field is described. The facility receives a formula usable to calculate the value of the distinguished database field for each of a plurality of database rows, the formula expressed as a method in a distinguished procedural programming language. The facility transforms the formula method into a syntax tree for the distinguished procedural programming language. The facility modifies the syntax tree to provide variable context, field projection, runtimetype dynamic property accessors, and/or field path mapping. The facility transforms the modified syntax tree into a second version of the formula method in the distinguished procedural programming language.
    Type: Grant
    Filed: June 8, 2017
    Date of Patent: September 25, 2018
    Assignee: LockPath, Inc.
    Inventor: Timothy R. Norman
  • Patent number: 10083113
    Abstract: Method and apparatus for managing memory is disclosed herein. In one embodiment, the method includes specifying a first load-monitored region within a memory, configuring a performance monitor to count object pointer accessed events associated with the first load-monitored region, executing a CPU instruction to load a pointer that points to a first location in the memory, responsive to determining that the first location is within the first load-monitored region, triggering an object pointer accessed event, updating a count of object pointer accessed events in the performance monitor, and performing garbage collection on the first load-monitored region based on the count of object pointer accessed events.
    Type: Grant
    Filed: July 27, 2015
    Date of Patent: September 25, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Giles R. Frazier, Michael Karl Gschwind, Younes Manton, Karl M. Taylor, Brian W. Thompto
  • Patent number: 10073770
    Abstract: Method and apparatus for managing memory is disclosed herein. In one embodiment, the method includes specifying a first load-monitored region within a memory, configuring a performance monitor to count object pointer accessed events associated with the first load-monitored region, executing a CPU instruction to load a pointer that points to a first location in the memory, responsive to determining that the first location is within the first load-monitored region, triggering an object pointer accessed event, updating a count of object pointer accessed events in the performance monitor, and performing garbage collection on the first load-monitored region based on the count of object pointer accessed events.
    Type: Grant
    Filed: August 24, 2015
    Date of Patent: September 11, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Giles R. Frazier, Michael Karl Gschwind, Younes Manton, Karl M. Taylor, Brian W. Thompto
  • Patent number: 9983971
    Abstract: Techniques for efficient benchmarking. One method includes obtaining convergent results by performing a benchmarking test with a particular length to obtain a result (time), scaling the time exponentially, performing additional benchmarking tests, obtaining results for those tests, and determining whether the results scale linearly with length. Another method includes obtaining variance for non-convergent results by performing multiple sequences of benchmarking test. Within each new sequence performed, the benchmarking tests are spaced out further apart in time. If new maximum or minimum results are obtained, then further test sequences are performed and if no new maximum or minimum results are obtained after a threshold number of sequences, then the test ends. A device and computer-readable medium for performing benchmarking are also provided herein.
    Type: Grant
    Filed: May 15, 2015
    Date of Patent: May 29, 2018
    Assignee: XILINX, INC.
    Inventors: Yi-Hua E. Yang, Patrick Lysaght
  • Patent number: 9916143
    Abstract: Arrangements described herein relate to inserting implicit sequence points into computer program code to support debug operations. Optimization of the computer program code can be performed during compilation of the computer program code and, during the optimization, implicit sequence points can be inserted into the computer program code. The implicit sequence points can be configured to provide virtual reads of symbols contained in the computer program code when the implicit sequence points are reached during execution of the computer program code during a debug operation performed on the computer program code after the computer program code is optimized and compiled.
    Type: Grant
    Filed: February 4, 2016
    Date of Patent: March 13, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Christopher E. Bowler, Chen Chen, Reid T. Copeland, Tommy U. Hoffner, Tarique M. Islam, Raúl E. Silvera
  • Patent number: 9880843
    Abstract: A data processing apparatus and method for accessing operands stored within a set of registers. Instruction decoder circuitry, responsive to program instructions, generates register access control signals identifying for each program instruction which registers in the register set are to be accessed by the processing circuitry when performing the processing operation specified by that program instruction. The set of registers are logically arranged as a plurality of register groups, with each register in the set being a member of more than one register group. Each program instruction includes a register specifier field, and instruction decoder circuitry is responsive to each program instruction to determine a selected register group, and to determine one or more selected members of that selected register group. The instruction decoder circuitry then outputs register access control signals identifying the register corresponding to each selected member of the selected register group.
    Type: Grant
    Filed: February 1, 2012
    Date of Patent: January 30, 2018
    Assignee: The Regents of the University of Michigan
    Inventors: Joseph M Pusdesris, Trevor N Mudge, Thomas D Manville
  • Patent number: 9792132
    Abstract: In a virtual machine that uses a just-in-time complier (JITC) as a software execution environment, an idle time of a core to which the JITC is allocated is utilized to generate machine code in advance, thereby reducing a load on an interpreter. Accordingly, code execution performance of the interpreter is improved, and the utilization of a multi-core system that executes applications is increased.
    Type: Grant
    Filed: October 12, 2011
    Date of Patent: October 17, 2017
    Assignees: Samsung Electronics Co., Ltd., SNU R&DB FOUNDATION
    Inventors: Hyeong-Seok Oh, Hyung-Kyu Choi, Dong-Heon Jung, Soo-Mook Moon, Kue-Hwan Sihn
  • Patent number: 9785413
    Abstract: Methods, apparatus, systems and articles of manufacture are disclosed to eliminate partial-redundant vector loads. An example apparatus includes a node group to associate a vector operation with a node group based on a load type of the vector operation. The example apparatus also includes a candidate identifier to identify a candidate in the node group, the candidate to include a subset of vector operations of the node group. The example apparatus also includes a code optimizer to determine replacement code based on a characteristic of the candidate, and to compare an estimated cost associated with executing the replacement code to a threshold cost relative to a cost of executing the candidate. The example apparatus also includes a code generator to generate machine code using the replacement code when the estimated cost of executing the replacement code satisfies the threshold cost.
    Type: Grant
    Filed: June 16, 2015
    Date of Patent: October 10, 2017
    Assignee: INTEL CORPORATION
    Inventors: Farhana Aleen Schuchman, David L. Kreitzer, Rakesh Krishnaiyer, Vyacheslav Pavlovich Zakharin, Sergey Preis, Leonardo Jose Borges, Philippe Thierry
  • Patent number: 9760351
    Abstract: A method for using profiling to obtain application-specific, preferred parameter values for an application is disclosed. First, a parameter for which to obtain an application-specific value is identified. Code is then augmented for application-specific profiling of the parameter. The parameter is profiled and profile data is collected. The profile data is then analyzed to determine the application's preferred parameter value for the profile parameter.
    Type: Grant
    Filed: April 2, 2013
    Date of Patent: September 12, 2017
    Assignee: Google Inc.
    Inventors: Teresa Louise Johnson, Xinliang David Li
  • Patent number: 9736179
    Abstract: According to one embodiment, an electronic device comprises a memory to store information and a processor. The processor is adapted to receive information associated with content such as network traffic, to process the stored information and to conduct operations on the content. These operations may comprise determining, by a virtual machine processed by the processor, an occurrence of an event during malware analysis of an object associated with the content, and dynamically altering a virtual machine instrumentation of the virtual machine based on information associated with the event.
    Type: Grant
    Filed: September 30, 2013
    Date of Patent: August 15, 2017
    Assignee: FireEye, Inc.
    Inventor: Osman Abdoul Ismael
  • Patent number: 9720690
    Abstract: A method of improving software architecture by untangling undesired code level dependencies is provided herein. The method includes the following stages: generating an abstract representation of a computer code in a form of a code model; recording manipulations to the computer code applied by a user to the code model; calculating a series of refactorings in the computer code that represents the recorded manipulation; and carrying out the refactorings within the computer code. Specifically, some of the refactorings include separating low level software elements on the method level in response to the user manipulations of the model.
    Type: Grant
    Filed: November 13, 2011
    Date of Patent: August 1, 2017
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Ran Ettinger, Yishai Feldman, Maayan Goldstein
  • Patent number: 9625972
    Abstract: A method is provided. The method includes in response to a new query or new input data being input, calculating a required minimum number of cycles per unit time which corresponds to the minimum number of cycles per unit time that is required to process the new query or the new input data, selecting a query to execute first, calculating the number of cycles to be processed during the time period set in advance by multiplying the calculated, required minimum number of cycles per unit time with a time period that is allocated to process the selected query or the input data and is set in advance, and putting a system into a dormant state for a remaining period of time in response to the calculated number of cycles being completely executed within the time period set in advance.
    Type: Grant
    Filed: March 14, 2012
    Date of Patent: April 18, 2017
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Keun-joo Kwon, Seok-jin Hong, Seung-woo Ryu
  • Patent number: 9607133
    Abstract: A method and apparatus for inserting a watermark into a compiled computer program. A location process specifies an insertion point in the compiled program and a watermark generating process inserts a watermark, based on data to be encoded, into the program at the insertion point. The location process is also utilized to specify the location of watermark data to be decoded.
    Type: Grant
    Filed: November 9, 2007
    Date of Patent: March 28, 2017
    Assignee: NVIDIA Corporation
    Inventors: Robert Rubin, Eric Murray
  • Patent number: 9600484
    Abstract: A system and method for reporting and analysis of media consumption data. A request is received over a network from a requesting user for consumption data relating to at least one media object, the request comprising an identification of the media objects. Spatial, temporal, topical, and social data available to the network relating to consumption of the media object are retrieved using a global index of data available to the network. The spatial, temporal, topical, and social data available to the network relating to consumption of the media objects are transmitted, over the network to the requesting user.
    Type: Grant
    Filed: September 30, 2008
    Date of Patent: March 21, 2017
    Assignee: EXCALIBUR IP, LLC
    Inventors: Marc Eliot Davis, Michael Spiegelman, Chris Kalaboukis, Ronald Martinez, Nicola Stefano Ghezzi, Christopher T. Paretti, Christopher William Higgins
  • Patent number: 9596258
    Abstract: According to one embodiment, an electronic device comprises a memory to store information and a processor. The processor is adapted to receive information associated with content such as network traffic, to process the stored information and to conduct operations on the content. These operations may comprise determining, by a virtual machine processed by the processor, an occurrence of an event during malware analysis of an object associated with the content, and dynamically altering a virtual machine instrumentation of the virtual machine based on information associated with the event.
    Type: Grant
    Filed: September 30, 2013
    Date of Patent: March 14, 2017
    Assignee: FireEye, Inc.
    Inventor: Osman Abdoul Ismael
  • Patent number: 9585037
    Abstract: A mobile communication device is configured to evaluate the performance of a mobile wireless communication network. The device is configured for communication across the mobile wireless communication network, and executes a network evaluation application operative to measure a quality of communication services provided by the mobile wireless communication network. The network evaluation application retrieves communication parameters relating to communications of the mobile communication device across the mobile wireless communication network, and measures a throughput of communication packets transmitted or received by the network evaluation application across the mobile wireless communication network. In turn, the network evaluation application displays, on a display screen of the mobile communication device, the communication parameters retrieved from the debugging utility of the operating system and the measured throughput of communication packets across the mobile wireless communication network.
    Type: Grant
    Filed: February 7, 2014
    Date of Patent: February 28, 2017
    Assignee: Solutelia, LLC
    Inventors: Mohssen Davari, Youn-Jung Han, Myung-Chul Kim
  • Patent number: 9582255
    Abstract: A method, executed by a computer, for splitting live register ranges includes identifying one or more H pathways comprising one or more H nodes having high register pressure, identifying an L pathway consisting of two or more L nodes, and inserting register splitting instructions for each symbolic register that is live in both the one or more H pathways and the L pathway, wherein the register splitting instructions are inserted at a starting node of the one or more H pathways. A computer program product and computer system corresponding to the above method are also disclosed herein.
    Type: Grant
    Filed: August 28, 2015
    Date of Patent: February 28, 2017
    Assignee: International Business Machines Corporation
    Inventor: Steven J. Perron
  • Patent number: 9542187
    Abstract: A method for translating instructions for a processor. The method includes accessing a plurality of guest instructions that comprise multiple guest branch instructions comprising at least one guest far branch, and building an instruction sequence from the plurality of guest instructions by using branch prediction on the at least one guest far branch. The method further includes assembling a guest instruction block from the instruction sequence. The guest instruction block is translated to a corresponding native conversion block, wherein an at least one native far branch that corresponds to the at least one guest far branch and wherein the at least one native far branch includes an opposite guest address for an opposing branch path of the at least one guest far branch. Upon encountering a missprediction, a correct instruction sequence is obtained by accessing the opposite guest address.
    Type: Grant
    Filed: January 27, 2012
    Date of Patent: January 10, 2017
    Assignee: Soft Machines, Inc.
    Inventor: Mohammad Abdallah
  • Patent number: 9542170
    Abstract: A method and apparatus for reducing a memory footprint of an embedded system. The method may include analyzing packages installed in a root file system of the embedded system, and determining which package components are not required for the operation of the embedded system. The method further includes reducing a memory footprint of the embedded system based on the above determination.
    Type: Grant
    Filed: October 12, 2011
    Date of Patent: January 10, 2017
    Assignee: Red Hat, Inc.
    Inventors: Clark Williams, Brendan Conoboy
  • Patent number: 9501114
    Abstract: Provided is an apparatus and method for managing power based on data. The apparatus may include a code segment searching unit configured to search for at least one code segment in which a power type is inserted, a block determining unit configured to determine at least one block based on the at least one found code segment, and a power mode control unit configured to control the at least one determined block to operate in a power mode corresponding to the power type.
    Type: Grant
    Filed: May 28, 2013
    Date of Patent: November 22, 2016
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Min Young Son, Young Sam Shin, Chae Seok Im, Seung Won Lee, Shi Hwa Lee, Jae Don Lee
  • Patent number: 9495136
    Abstract: A compiler compiles code in a target program for later execution with a dynamic binary optimizer by including aliasing information with the compiled code. When the program is subsequently executed, the dynamic binary optimizer accesses the aliasing information to determine whether certain optimizations can be safely performed. Preferably, the aliasing information includes a memory reference index assigning an index to each memory reference instruction and a may-alias bit matrix indicating, for each memory reference instruction, which other memory reference instructions might reference the same memory location. Aliasing information is preferably used by the optimizer during execution to safely re-order operations.
    Type: Grant
    Filed: January 28, 2011
    Date of Patent: November 15, 2016
    Assignee: International Business Machines Corporation
    Inventor: William J. Schmidt
  • Patent number: 9489315
    Abstract: Executing polymorphic binary code of a predetermined function includes acquiring polymorphic binary code of the function, the code having instruction blocks and control instructions. One block acquires a random number; the other defines a specific generator that generates target instructions to execute the function. The control instructions place the target instructions in memory. Each instruction has an opcode that codes a nature of an operation to be executed, and operands that define parameters of the operation. The generator incorporates coding variants of the function and selection instructions. Each variant generates instructions that perform the function. These instructions differ from each other and enable choosing a variant, based on the random number, to generate the target instructions. The choice is made only between different coding variants of the predetermined function.
    Type: Grant
    Filed: October 1, 2014
    Date of Patent: November 8, 2016
    Assignee: Commissariat à l'énergie atomique et aux énergies alternatives
    Inventor: Damien Courousse
  • Patent number: 9448788
    Abstract: A hybrid static/dynamic binary rewrite method is presented, comprising: a one-time configuration step for instrumentation of an unmodified executable binary, invoking the executable binary by copying the unmodified executable binary into a system memory image and running the binary from the system memory image, and rewriting the system memory image by inserting at a safe location one or more new instructions in place of existing instructions, where the one or more new instructions transfer execution control to instrumentation instructions located elsewhere within the system memory image, and where the instrumentation instructions that were at least in part not contained in the unmodified executable binary.
    Type: Grant
    Filed: January 22, 2015
    Date of Patent: September 20, 2016
    Assignee: SECONDWRITE LLC
    Inventors: Rajeev Barua, Kapil Anand, Aparna Kotha, Khaled Elwazeer
  • Patent number: 9367313
    Abstract: The invention relates to implementing run-time instrumentation directed sampling. An aspect of the invention includes a method for implementing run-time instrumentation directed sampling. The method includes fetching a run-time instrumentation next (RINEXT) instruction from an instruction stream. The instruction stream includes the RINEXT instruction followed by a next sequential instruction (NSI) in program order. The method further includes executing the RINEXT instruction by a processor. The executing includes determining whether a current run-time instrumentation state enables setting a sample point for reporting run-time instrumentation information during program execution. Based on the current run-time instrumentation state enabling setting the sample point, the NSI is a sample instruction for causing a run-time instrumentation event.
    Type: Grant
    Filed: March 5, 2013
    Date of Patent: June 14, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Charles W. Gainey, Jr., Marcel Mitran, Chung-Lung K. Shum, Kevin Stoodley
  • Patent number: 9348567
    Abstract: Profile guided optimization (PGO) in the presence of stale profile data as described herein can be based on path profiling, whereby different paths through a program's call graph are uniquely identified. Stale profile data is data collected in a training run of a previous version of the program. Profile data can be collected along these paths and optimization decisions can be made using the collected data. The paths can be numbered using an algorithm that assigns path increments to all the callees of a function. The path increment assignments (which can be stored in the profile database) can be used to locate the profile data for that path and to make corresponding optimization decisions. PGO optimizations along call graph paths involving edited functions can be performed.
    Type: Grant
    Filed: July 3, 2014
    Date of Patent: May 24, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Shishir Sharma, Ankit Asthana, Terry Jack Mahaffey, Ten H. Tzen
  • Patent number: 9348585
    Abstract: A system and method of estimating impact of software updates includes obtaining usage measures for an instance of a software application, analyzing the software update of the software application by comparing base code for the software application to updated code for the software application, identifying one or more lines of interest from the base code based on the comparing, and aggregating the usage measures for the instance associated with the lines of interest to determine an impact factor. The base code corresponds to source code for the instance. The updated code corresponds to source code for the software application after the software update is applied to the base code. In some examples, the system and method further include normalizing the impact factor based on a length of time used to collect the usage measures, a number of lines of code in the base code, and a number of lines of code in the updated code.
    Type: Grant
    Filed: August 20, 2013
    Date of Patent: May 24, 2016
    Assignee: Red Hat, Inc.
    Inventors: Filip Eliá{hacek over (s)}, Filip Nguyen
  • Patent number: 9342282
    Abstract: A method and apparatus for configuring dynamic data are provided. A compilation apparatus may select a data format showing an optimum performance when a binary code is executed, from among a plurality of data formats supported by an execution apparatus used to execute a binary code, and may generate a binary code that uses the selected data format. The execution apparatus may execute a binary code provided by the compilation apparatus.
    Type: Grant
    Filed: August 8, 2013
    Date of Patent: May 17, 2016
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Sung Jin Son, Sang Oak Woo, Seok Yoon Jung
  • Patent number: 9338185
    Abstract: A method and system for service provision, comprising: a web browser (4) in a first communications device (e.g. a personal computer) (2) running a script (8) that is from a remote source (e.g. a remote web server) (30); sending, from the first communications device (2) to a second communications device (e.g. a smart phone) (16), a service request for a service required by the script (8) running on the web browser (4); sending a user authorization request from the second communications device (16) to the first communications device (2); the first communications device (2) obtaining authorization from a user (12); sending a user authorization from the first communications device (2) to the second communications device (16); and the second communications device (16) providing the requested service only if the user authorization is received.
    Type: Grant
    Filed: February 1, 2010
    Date of Patent: May 10, 2016
    Assignee: BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY
    Inventors: Richard J Evenden, Francis J Scahill