Including Instrumentation And Profiling Patents (Class 717/158)
  • 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 9336385
    Abstract: A system and method for threat detection and management. The method includes: comparing the observed activity with a threat profile; generating a threat detection signal including threat information when the observed activity matches the threat profile; altering an operating characteristic of a client device in response to a threat response signal; receiving the threat information; evaluating the threat information; automatically determining an appropriate response to the threat detection signal based on an evaluation of the threat information; comparing the threat detection signal to known threat patterns; distributing new threat information if the threat detection signal does not match a known threat pattern; storing threat information; and providing a user interface information and controls for delivering control information over a control protocol.
    Type: Grant
    Filed: February 11, 2008
    Date of Patent: May 10, 2016
    Assignee: Adaptive Cyber Security Instruments, Inc.
    Inventors: Reid Spencer, Steven Markman, Terry Beaver
  • 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
  • Patent number: 9323507
    Abstract: An optimization apparatus includes an insertion unit inserting a method test for each of the virtual methods included in a code sequence, an acquisition unit acquiring one or more profiled run-time classes of a receiver object used for calling each of the virtual methods at execution of the code sequence into which the method tests have been inserted, and an optimization unit inserting, in place of the inserted method test, a class test that sets a recording-time class and the run-time class of a corresponding receiver object as classes to be permitted on condition that the run-time class of the corresponding receiver object has successfully called all virtual methods requesting the method test for the receiver object.
    Type: Grant
    Filed: May 3, 2013
    Date of Patent: April 26, 2016
    Assignee: International Business Machines Corporation
    Inventor: Hiroshi Inoue
  • Patent number: 9317308
    Abstract: A method, executed by a computer, for augmenting a first performance profile with data extracted from a Just-in-Time compiler, the Just-in-Time compiler compiling bytecodes into machine instructions and generating the first performance profile, the bytecodes having an associated original call structure includes: tracking “in-lining” optimizations performed by a Just-in-Time compiler compiling bytecodes into machine instructions; extracting data associated with the tracked “in-lining” optimizations; storing the extracted data in a second profile; and augmenting the first performance profile with the extracted data associated with the tracked “in-lining” optimizations, the extracted data comprising call paths corresponding to the original call structure associated with the bytecodes. A corresponding computer program product and computer system are also disclosed herein.
    Type: Grant
    Filed: February 26, 2015
    Date of Patent: April 19, 2016
    Assignee: International Business Machines Corporation
    Inventors: Fiona M. Crowther, Geza Geleji, Christopher J. Poole, Martin A. Ross, Craig H. Stirling
  • Patent number: 9317319
    Abstract: A cloud manager monitors running VM patterns, determines potential VM patterns that have a different configuration than the running VM patterns, and performs estimates of a plurality of metrics for the potential VM patterns. When the estimates for the potential VM patterns exceed the monitored VM patterns currently running by some threshold amount, the potential VM patterns may be automatically deployed to one or more clouds. The result is a cloud-based system that is automatically and dynamically tuned to changing conditions.
    Type: Grant
    Filed: September 16, 2014
    Date of Patent: April 19, 2016
    Assignee: International Business Machines Corporation
    Inventors: Bin Cao, Daniel L. Hiebert, Brian R. Muras
  • Patent number: 9317402
    Abstract: Systems and methods for generating test information from a source code are described. One of the methods includes accessing the source code. The method further includes receiving a modification of the source code to generate a modified source code. The modification includes one or more instructions that do not affect functions performed by executing the source code. The modification further includes one or more instructions for generating test information regarding each executable line of the source code.
    Type: Grant
    Filed: March 19, 2015
    Date of Patent: April 19, 2016
    Assignee: Zynga Inc.
    Inventor: Aleksandr Kuzmin
  • Patent number: 9304770
    Abstract: A method and system are provided for deriving a resultant software code from an originating ordered list of instructions that does not include overlapping branch logic. The method may include deriving a plurality of unordered software constructs from a sequence of processor instructions; associating software constructs in accordance with an original logic of the sequence of processor instructions; determining and resolving memory precedence conflicts within the associated plurality of software constructs; resolving forward branch logic structures into conditional logic constructs; resolving back branch logic structures into loop logic constructs; and/or applying the plurality of unordered software constructs in a programming operation by a parallel execution logic circuitry. The resultant plurality of unordered software constructs may be converted into programming reconfigurable logic, computers or processors, and also by means of a computer network or an electronics communications network.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: April 5, 2016
    Inventor: Robert Keith Mykland
  • Patent number: 9292407
    Abstract: Determination of an optimum batch size for aggregating data wherein, for a number of batch sizes, costs are estimated for sending batched information to persistent storage and for losing batched data. Then, the optimum batch size is selected from the number of different batch sizes based on sums of these costs.
    Type: Grant
    Filed: March 29, 2012
    Date of Patent: March 22, 2016
    Assignee: International Business Machines Corporation
    Inventor: Arun Kwangil Iyengar
  • Patent number: 9280833
    Abstract: Image-matching tracks the movements of the objects from initial camera scenes to ending camera scenes in non-overlapping cameras. Paths are defined through scenes for pairings of initial and ending cameras by different respective scene entry and exit points. For each of said camera pairings a combination path having a highest total number of tracked movements relative to all other combinations of one path through the initial and ending camera scene is chosen, and the scene exit point of the selected path through the initial camera and the scene entry point of the selected path into the ending camera define a path connection of the initial camera scene to the ending camera scene.
    Type: Grant
    Filed: March 5, 2013
    Date of Patent: March 8, 2016
    Assignee: International Business Machines Corporation
    Inventors: Lisa M. Brown, Ankur Datta, Rogerio S. Feris, Sharathchandra U. Pankanti
  • Patent number: 9274755
    Abstract: A method for generating boilerplate code is provided. The method may include scanning an initial source code file for an annotation identifying metadata of an element, scanning a generator module for instructions for processing the metadata of the element, and scanning the generator module for a template module that includes an indication of a location for inserting the processed metadata of the element in an output file. The method may further include processing the metadata of the element of the generator module according to the instructions, and inserting the processed metadata of the element at the indicated location in the output file.
    Type: Grant
    Filed: September 5, 2012
    Date of Patent: March 1, 2016
    Assignee: Red Hat Israel, Ltd.
    Inventor: Vojtech Szocs
  • Patent number: 9274929
    Abstract: A method of creating constraints for use with object code insertion technology can include deriving an A-representation and a B-representation of values produced by execution of instructions of a portion of object code, wherein prior to object code insertion the A-representation and the B-representation of a value produced by same instruction(s) are equivalent. The method further can include identifying equalities between A-representations of values produced by different instructions and determining constraints from the identified equalities using B-representations, where the constraints are observed after object code insertion.
    Type: Grant
    Filed: February 19, 2014
    Date of Patent: March 1, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Gregory S. Tseytin
  • Patent number: 9262301
    Abstract: Methods of managing observability code in an application program include generating an application program including an observability point, the observability point including a location in the application at which observability code, or a call to observability code, can be inserted, loading the application program into a memory of a target system, retrieving observability information from an observability point information file, and inserting the observability code, or the call to the observability code, at the observability point in the memory of the target system using the observability information retrieved from the observability point information file.
    Type: Grant
    Filed: May 10, 2012
    Date of Patent: February 16, 2016
    Assignee: Telefonaktiebolaget L M Ericsson (publ)
    Inventor: Allen Hopley
  • Patent number: 9244689
    Abstract: A processing system to reduce energy consumption and improve performance in a processor, controlled by compiler inserted information ahead of a selected branch instruction, to statically expose and control how the prediction should be completed and which mechanism should be used to achieve energy and performance efficiency.
    Type: Grant
    Filed: December 5, 2013
    Date of Patent: January 26, 2016
    Assignee: III HOLDINGS 2, LLC
    Inventors: Saurabh Chheda, Kristopher Carver, Raksit Ashok
  • Patent number: 9235394
    Abstract: A method and system for code generation and inlining. The method includes: scanning a code, where the code includes a method; determining whether the method includes a branch if the method is too large in size to be inlined, where the branch is based on runtime types of argument; profiling runtime types of actual arguments at a call site in the method if the method includes the branch; generating a polymorphic inline cache (PIC) code from a plurality of arguments, where the plurality of arguments are based on a result of the profiling step; generating a specialized method for a frequently appearing combination of the runtime types of argument and arguments that can be invoked from the PIC code; and inlining body of the specialized method into the call site if the specialized method has a body size within a permissible range.
    Type: Grant
    Filed: August 30, 2011
    Date of Patent: January 12, 2016
    Assignee: International Business Machines Corporation
    Inventors: Derek B Inglis, Kiyokuni Kawachiya, Tamiya Onodera, Michiaki Tatsubori
  • Patent number: 9213531
    Abstract: Methods for reducing memory loads for accessing global variables (globals) when creating executables for position independent (PI) code are disclosed. A first method includes compiling PI code, identifying globals, and determining whether globals are defined in the executable. If a global is not defined in the executable, a definition is created in the executable. A second method includes receiving a list of defined globals from instrumented PI code binary and comparing the list with globals in the PI code. Memory loads are created for globals that are unlisted. A third method includes compiling PI code with special relocations for globals and determining whether globals are defined in the executable. If the global is defined in the executable, the special relocation is replaced with a direct load of the global. If not, the special relocation is replaced with a two-instruction sequence that loads the global's address and then the global's value.
    Type: Grant
    Filed: May 1, 2014
    Date of Patent: December 15, 2015
    Assignee: GOOGLE INC.
    Inventors: Sriraman Tallam, Xinliang David Li
  • Patent number: 9207969
    Abstract: A parallel tracer may perform detailed or heavily instrumented analysis of an application in parallel with a performance or lightly instrumented version of the application. Both versions of the application may operate on the same input stream, but with the heavily instrumented version having different performance results than the lightly instrumented version. The tracing results may be used for various analyses, including optimization and debugging.
    Type: Grant
    Filed: January 25, 2013
    Date of Patent: December 8, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Russell S. Krajec