Including Library Patents (Class 717/163)
  • Patent number: 10656946
    Abstract: Predicting a Table of Contents (TOC) pointer value responsive to branching to a subroutine. A subroutine is called from a calling module executing on a processor. Based on calling the subroutine, a value of a pointer to a reference data structure, such as a TOC, is predicted. The predicting is performed prior to executing a sequence of one or more instructions in the subroutine to compute the value. The value that is predicted is used to access the reference data structure to obtain a variable value for a variable of the subroutine.
    Type: Grant
    Filed: November 21, 2017
    Date of Patent: May 19, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael K. Gschwind, Valentina Salapura
  • Patent number: 10564939
    Abstract: A method and apparatus are disclosed for enhancing operable functionality of input source code files from a software program by identifying a first code snippet and a first library function which have similar execution flow similarity measures by evaluating a first contiguous sequence of n items extracted from the first code snippet against a second contiguous sequence of n items extracted from the first library function using an Ngram threshold that is calculated for the first library function and one or more literals from the first code snippet so that the developer is presented with a library function recommendation which includes the first code snippet, the first library function, and instructions for replacing the first code snippet with the first library function.
    Type: Grant
    Filed: June 5, 2017
    Date of Patent: February 18, 2020
    Assignee: DevFactory FZ-LLC
    Inventor: Tushar Makkar
  • Patent number: 10169195
    Abstract: A pre-initialized value of contents of a memory location is identified. A load value of contents loaded from the memory location by execution of a first instruction that loads from the memory location is also identified. A comparison is made between the load value and the pre-initialized value. Based on the comparison, a determination is made that the load value and the pre-initialized value are the same. In response to this determination, it is indicated that the first instruction contains an uninitialized memory reference.
    Type: Grant
    Filed: May 26, 2016
    Date of Patent: January 1, 2019
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 10078497
    Abstract: A bridge module is generated to bridge standard modules in a module system and non-module code in a non-module system. The bridge module includes explicit dependencies associated with a namespace, such as a dependency path corresponding to the non-module code. The bridge module exposes packages of the non-module code at least to the standard modules. Operations are performed on a code base that uses standard modules, bridge modules, and non-module code.
    Type: Grant
    Filed: July 24, 2015
    Date of Patent: September 18, 2018
    Assignee: Oracle International Corporation
    Inventors: Alexander R. Buckley, Mark B. Reinhold, Jonathan J. Gibbons, Alan E. Bateman, Mandy L. Chung
  • Patent number: 10049211
    Abstract: Described systems and methods allow protecting a host computer system from malicious software, such as return-oriented programming (ROP) and jump-oriented programming (JOP) exploits. In some embodiments, a processor of the host system is endowed with two counters storing a count of branch instructions and a count of inter-branch instructions, respectively, occurring within a sequence of instructions. Exemplary counted branch instructions include indirect JMP, indirect CALL, and RET on x86 platforms, while inter-branch instructions consist of instructions executed between two consecutive counted branch instructions. The processor may be further configured to generate a processor event, such as an exception, when a value stored in a counter exceeds a predetermined threshold, and/or when a branch instruction redirects execution to a critical OS function. Such events may be used as triggers for launching a malware analysis to determine whether the host system is subject to a code reuse attack.
    Type: Grant
    Filed: July 15, 2015
    Date of Patent: August 14, 2018
    Assignee: Bitdefender IPR Management Ltd.
    Inventors: Sandor Lukacs, Andrei V. Lutas, Dan H. Lutas
  • Patent number: 10048947
    Abstract: A computer-implemented method and a correspondingly adapted computer program product or software application for connecting business objects in a software application (SA), wherein the software application comprises a connector (K), wherein the connector comprises a code identifying an abstract business object class (ABO1 to ABOn), the software application identifies the abstract business object class specified in the connector at runtime in a hierarchy of abstract business object classes, and the software application, at runtime, proceeding from the identified abstract business object class, identifies at least one concrete business object class (KBO1 to KBOn), directly or indirectly derived therefrom, and establishes a connection (V) in at least one instance (I1 to In) of the at least one identified concrete business object class, via which connection the software application accesses attributes and methods of the instance of the concrete business object class.
    Type: Grant
    Filed: January 29, 2016
    Date of Patent: August 14, 2018
    Assignee: OMS SOFTWARE GMBH
    Inventor: Christian Kramer
  • Patent number: 9996330
    Abstract: A system, a method, and a computer program product for deploying objects are disclosed. A file containing a plurality of artifacts for deploying during runtime of an application is defined. At least one dependency for at least one artifact in the plurality of artifacts is determined based on the defined file. A database object for implementation during runtime of the application is created based on the determined dependency. At least one change to the database object during runtime of the application is implemented. The artifact is deployed during runtime of the application based on the implemented change to the database object.
    Type: Grant
    Filed: November 23, 2015
    Date of Patent: June 12, 2018
    Assignee: SAP SE
    Inventors: Jonathan Bregler, Alexander Bunte, Arne Harren, Andreas Kellner, Daniel Kuntze, Vladislav Leonkev, Simon Lueders, Volker Sauermann, Michael Schnaubelt, Le-Huan Stefan Tran, Michael Wintergerst, Cornelia Kinder, Christopher Schildt
  • Patent number: 9760077
    Abstract: Content management includes populating a library with modular objects and metadata associated with the modular objects. In response to a query, the library can be searched based in part on the metadata. The query can relate to implementation of an industrial process. One or more modular objects in the library can be identified as satisfying the query. A result of the query can be output and the output can include the identified modular objects and the respective metadata associated with the identified modular objects. The metadata can be anything known about the object that might not be accessible at runtime control.
    Type: Grant
    Filed: April 6, 2016
    Date of Patent: September 12, 2017
    Assignee: Rockwell Automation Technologies, Inc.
    Inventors: Norman Weatherhead, Andrew R. Stump, Haithem Mansouri, Axel Rodriguez, Joachim Thomsen
  • Patent number: 9753750
    Abstract: A method to manage a global feature library is provided herein. The method provides a global feature library with a plurality of features defined therein. The global feature library includes a feature switch for each of the plurality of features. The feature switch is useable with an application code. The feature switch is linked to an application code. The feature switch includes a feature value that turns a feature associated with the feature switch on and off based on a global value rule. The global rule is transmitted to a client device capable of storing the feature value in-memory.
    Type: Grant
    Filed: August 30, 2012
    Date of Patent: September 5, 2017
    Assignee: ENTIT SOFTWARE LLC
    Inventors: Inbar Shani, Amichai Nitsan, Lior Manor
  • Patent number: 9720663
    Abstract: Methods, apparatus, systems and articles of manufacture are disclosed to optimize sparse matrix execution. An example disclosed apparatus includes a context former to identify a matrix function call from a matrix function library, the matrix function call associated with a sparse matrix, a pattern matcher to identify an operational pattern associated with the matrix function call, and a code generator to associate a function data structure with the matrix function call exhibiting the operational pattern, the function data structure stored external to the matrix function library, and facilitate a runtime link between the function data structure and the matrix function call.
    Type: Grant
    Filed: June 25, 2015
    Date of Patent: August 1, 2017
    Assignee: INTEL CORPORATION
    Inventors: Hongbo Rong, Jong Soo Park, Mikhail Smelyanskiy, Geoff Lowney
  • Patent number: 9703578
    Abstract: A mechanism for providing class loading for a JAVA application is disclosed. A method of the invention includes retrieving, by a processing device, a JAVA class file. The method also includes identifying, by the processing device, a class dependency for the JAVA class file. The method also includes determining, by the processing device, a probability that the JAVA class file is to be loaded into a cache based on the identified class dependency. The method further includes loading, by the processing device, the JAVA class file into the cache based on the probability determined for the JAVA class file.
    Type: Grant
    Filed: August 23, 2012
    Date of Patent: July 11, 2017
    Assignee: Red Hat, Inc.
    Inventors: Filip Nguyen, Marek Baluch
  • Patent number: 9621515
    Abstract: A kernel-level security agent is described herein. The kernel-level security agent is configured to observe events, filter the observed events using configurable filters, route the filtered events to one or more event consumers, and utilize the one or more event consumers to take action based at least on one of the filtered events. In some implementations, the kernel-level security agent detects a first action associated with malicious code, gathers data about the malicious code, and in response to detecting subsequent action(s) of the malicious code, performs a preventative action. The kernel-level security agent may also deceive an adversary associated with malicious code. Further, the kernel-level security agent may utilize a model representing chains of execution activities and may take action based on those chains of execution activities.
    Type: Grant
    Filed: May 12, 2015
    Date of Patent: April 11, 2017
    Assignee: CrowdStrike, Inc.
    Inventors: David F. Diehl, Dmitri Alperovitch, Ion-Alexandru Ionescu, George Robert Kurtz
  • Patent number: 9547291
    Abstract: A system manages human machine interface (HMI) applications for industrial control and automation. Software instructions stored on a tangible, non-transitory media and executable by a processor receive data indicative of a manufacturing/process control system being monitored and display a user interface indicative of a status of the manufacturing/process control system being monitored wherein the status is based on the received data.
    Type: Grant
    Filed: March 5, 2014
    Date of Patent: January 17, 2017
    Assignee: Ivensys Systems, Inc.
    Inventors: Dave Tran, Steven Michael Weinrich, John Joseph Krajewski, III, Raju Uthu Kumar
  • Patent number: 9535687
    Abstract: Embodiments of the present invention address deficiencies of the art in respect to software configuration management and provide a method, system and apparatus for producing audited builds based on separate class dependency records. In one embodiment, a software configuration management tool can be provided which can include build-audit logic programmed to produce separate configuration records for each target object in a build. Each configuration record can include a direct dependency reference for a corresponding target object. Moreover, each configuration record can include version information for a corresponding target object. Finally, the software configuration management tool can include a versioned object base storing different versions of source files and derived objects built from the source files.
    Type: Grant
    Filed: May 27, 2005
    Date of Patent: January 3, 2017
    Assignee: International Business Machines Corporation
    Inventors: Geoffrey M. Clemm, Bryan P. Douros, Steven T. Rehrauer
  • Patent number: 9507934
    Abstract: Systems and methods for providing security to the Linux kernel are described. Wrappers are provided around the kernel, thereby reducing the amount of testing needed since the new security code will be introduced only into the wrappers. This also provides flexibility in various layers. The filters may be customized per se to suit various security needs. Overhead incurred due to this is very low.
    Type: Grant
    Filed: December 12, 2014
    Date of Patent: November 29, 2016
    Inventor: Dharanipragada Janakiram
  • Patent number: 9495278
    Abstract: Embodiments of the present invention address deficiencies of the art in respect to code instrumentation and provide a method, system and computer program product for dynamic discovery of data segments within instrumented code. In an embodiment of the invention, a method for dynamic data segment discovery for instrumented code can be provided. The method can include statically instrumenting program code, recording potential data segments during the instrumentation of the program code, executing the instrumented program code, determining whether or not each of the recorded potential data segments can be resolved, and noting resolved ones of the recorded potential data segments.
    Type: Grant
    Filed: December 27, 2006
    Date of Patent: November 15, 2016
    Assignee: International Business Machines Corporation
    Inventors: Victor Havin, Sergey Cherkasov, Jonathan M. Sanders
  • Patent number: 9471340
    Abstract: Embodiments relate to a global entry point and a local entry point for a callee function. An aspect includes executing, by a processor, a function call from a calling function to the callee function. Another aspect includes, based on the function call being a direct and external function call, entering the callee function at the global entry point and executing prologue code in the callee function that calculates and stores a table of contents (TOC) value for the callee function in a TOC register. Another aspect includes, based on the function call being a direct and local function call, entering the callee function at the local entry point, wherein entering the callee function at the local entry point skips the prologue code. Another aspect includes, based on the function call being an indirect function call, entering the callee function at the global entry point and executing the prologue code.
    Type: Grant
    Filed: September 11, 2014
    Date of Patent: October 18, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael K. Gschwind, Ulrich Weigand
  • Patent number: 9442717
    Abstract: Techniques for automatically identifying input files used to generate output files in a software build process are provided. In one embodiment, a computer system can execute one or more build commands for generating output files for a software product, where the software product is associated with a build tree comprising various input files. The computer system can further intercept system calls invoked during the execution of the one or more build commands and can collect information pertaining to at least a portion of the intercepted system calls. The computer system can then create a dependency graph based on the collected information, where the dependency graph identifies a subset of input files in the build tree that are actually used by the one or more build commands to generate the output files.
    Type: Grant
    Filed: July 15, 2014
    Date of Patent: September 13, 2016
    Assignee: VMware, Inc.
    Inventor: Michael Rohan
  • Patent number: 9436791
    Abstract: A method, executed by one or more processors, for optimizing placement of a logic network, includes partitioning a logic network into a set of logic partitions, launching a set of placement optimization threads that correspond to the logic partitions, and allocating memory that is accessible to the placement optimization threads to provide a globally accessible placement memory for reserving placement locations on the integrated circuit. Each placement optimization thread may be configured to conduct the operations of determining a desired location for a logic element, reserving a set of potential locations for the logic element, determining a best location from the set of potential locations, and placing the logic element to the best location. Each placement optimization thread may also be configured to release each of the potential locations that are not the best location. A corresponding computer program product and computer system are also disclosed herein.
    Type: Grant
    Filed: March 24, 2015
    Date of Patent: September 6, 2016
    Assignee: International Business Machines Corporation
    Inventors: David J. Hathaway, Nathaniel D. Hieter, Shyam Ramji, Alexander J. Suess
  • Patent number: 9418188
    Abstract: A method, executed by one or more processors, for optimizing placement of a logic network, includes partitioning a logic network into a set of logic partitions, launching a set of placement optimization threads that correspond to the logic partitions, and allocating memory that is accessible to the placement optimization threads to provide a globally accessible placement memory for reserving placement locations on the integrated circuit. Each placement optimization thread may be configured to conduct the operations of determining a desired location for a logic element, reserving a set of potential locations for the logic element, determining a best location from the set of potential locations, and placing the logic element to the best location. Each placement optimization thread may also be configured to release each of the potential locations that are not the best location. A corresponding computer program product and computer system are also disclosed herein.
    Type: Grant
    Filed: January 29, 2016
    Date of Patent: August 16, 2016
    Assignee: International Business Machines Corporation
    Inventors: David J. Hathaway, Nathaniel D. Hieter, Shyam Ramji, Alexander J. Suess
  • Patent number: 9384172
    Abstract: A multi-level list detection engine. The multi-level list detection engine detects text obtained from a fixed format document that is formatted as a static multi-level list and creates a dynamic multi-level list object in a flow format document. The resulting dynamic multi-level list object automatically updates as the end user edits the multi-level list in the flow format document. The multi-level list detection engine identifies list elements in the fixed format text based on the presence of a list identifier. The list elements are grouped into lists based on the properties of each list element relative to other list elements. List elements are then assigned to a list level based on the relative properties of the list elements within a list. Finally, level list assignments are verified and corrected, the levels are merged, as necessary, and the lists are consistently formatted as appropriate to create a final well-formed dynamic multi-level list object.
    Type: Grant
    Filed: July 6, 2012
    Date of Patent: July 5, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Dusan Lukic, Victor Jitlin, Milos Raskovic
  • Patent number: 9355142
    Abstract: Content management includes populating a library with modular objects and metadata associated with the modular objects. In response to a query, the library can be searched based in part on the metadata. The query can relate to implementation of an industrial process. One or more modular objects in the library can be identified as satisfying the query. A result of the query can be output and the output can include the identified modular objects and the respective metadata associated with the identified modular objects. The metadata can be anything known about the object that might not be accessible at runtime control.
    Type: Grant
    Filed: March 20, 2015
    Date of Patent: May 31, 2016
    Assignee: ROCKWELL AUTOMATION TECHNOLOGIES, INC.
    Inventors: Norman Weatherhead, Andrew R. Stump, Haithem Mansouri, Axel Rodriguez, Joachim Thomsen
  • Patent number: 9342295
    Abstract: A method, and a corresponding system, for dynamically updating software while the software is running by automatically dividing a patch into a plurality of micro-updates using compiler analysis. The method includes providing the patch which includes updates to several variable units of the software, including functions, type definitions, and data stores. Next, an interference graph of the patch is generated by creating a node corresponding to each variable unit of the patch and creating connected components by adding edges connecting variable units having an impact expression with a non-zero intersection. The patch is divided into the micro-updates, where each micro-update corresponds to a connected component. The micro-updates are then applied to the software when the variable units of the micro-update are at a safepoint, and at least two of the micro-updates are applied at different times while the software is running.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: May 17, 2016
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Sandya Srivilliputtur Mannarswamy, Sujoy Saraswati
  • Patent number: 9329875
    Abstract: Embodiments relate to a global entry point and a local entry point for a callee function. An aspect includes executing, by a processor, a function call from a calling function to the callee function. Another aspect includes, based on the function call being a direct and external function call, entering the callee function at the global entry point and executing prologue code in the callee function that calculates and stores a table of contents (TOC) value for the callee function in a TOC register. Another aspect includes, based on the function call being a direct and local function call, entering the callee function at the local entry point, wherein entering the callee function at the local entry point skips the prologue code. Another aspect includes, based on the function call being an indirect function call, entering the callee function at the global entry point and executing the prologue code.
    Type: Grant
    Filed: April 28, 2014
    Date of Patent: May 3, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael K. Gschwind, Ulrich Weigand
  • Patent number: 9274769
    Abstract: Embodiments describe a computer implemented method of compiling application source code into application object code. A compiler generates application object code having a plurality of table of contents TOC placeholder locations for a potential TOC pointer value command within a calling function. A first function call site of the calling function is corresponded to a first TOC placeholder location. A second function call site of the calling function is corresponded to a second TOC placeholder location.
    Type: Grant
    Filed: September 5, 2014
    Date of Patent: March 1, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Ulrich Weigand
  • Patent number: 9250875
    Abstract: Embodiments describe a computer implemented method of compiling application source code into application object code. A compiler generates application object code having a plurality of table of contents TOC placeholder locations for a potential TOC pointer value command within a calling function. A first function call site of the calling function is corresponded to a first TOC placeholder location. A second function call site of the calling function is corresponded to a second TOC placeholder location.
    Type: Grant
    Filed: October 9, 2014
    Date of Patent: February 2, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Ulrich Weigand
  • Patent number: 9244663
    Abstract: A compiler identifies a function call in computer code. A linker directive associates the function call with a single table of contents (TOC) pointer value save placeholder. This single placeholder is the only TOC pointer value save placeholder associated with the function call. When a TOC pointer value save instruction occupies the placeholder, it ensures that the TOC pointer value is saved before the function call. The linker directive is then modified to associate the function call with two or more TOC pointer value save placeholders. When a TOC pointer value save instruction occupies at least one of the placeholders, it ensures that the TOC pointer value is saved before the function call. Under some circumstances, two or more of the placeholders must be occupied by a TOC pointer value save instruction to ensure that the TOC pointer value is saved before the function call.
    Type: Grant
    Filed: December 22, 2014
    Date of Patent: January 26, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Ulrich Weigand
  • Patent number: 9229695
    Abstract: Embodiments relate to usage of a table of contents (TOC) register as an application register. An aspect includes receiving, by a computer system, application object code comprising a first function call from a calling function to a first callee function, and a symbol table entry in a symbol table comprising a first TOC register usage indicator that is associated with the first callee function. Another aspect includes determining that the first callee function of the first function call does not require a TOC pointer based on the first TOC register usage indicator that is associated with the first callee function in the symbol table. Another aspect includes based on determining that the first callee function of the first function call does not require a TOC pointer, inserting a TOC save command and a TOC restore command corresponding to the first local function call into the application object code.
    Type: Grant
    Filed: September 11, 2014
    Date of Patent: January 5, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael K. Gschwind, Ulrich Weigand
  • Patent number: 9218168
    Abstract: A compiler identifies a first function call site in a calling function that requires an unconditional Table of Contents (TOC) save of the TOC pointer value. The compiler identifies a first location for the unconditional TOC save that dominates the first function call site. The compiler also identifies a second function call site in the calling function that requires a conditional or unconditional TOC save, and determines that the first location also dominates the second function call site. The compiler emits a TOC save instruction at the first location that satisfies both the unconditional TOC save requirement for the first function call site and the conditional or unconditional TOC save requirement for the second function call site. The compiler then indicates that the emitted TOC save instruction satisfies the TOC save requirement for the second function call site, thus suppressing further TOC save actions for the second function call site.
    Type: Grant
    Filed: October 10, 2014
    Date of Patent: December 22, 2015
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Ulrich Weigand
  • Patent number: 9218170
    Abstract: A compiler identifies a function call in computer code. A linker directive associates the function call with a single table of contents (TOC) pointer value save placeholder. This single placeholder is the only TOC pointer value save placeholder associated with the function call. When a TOC pointer value save instruction occupies the placeholder, it ensures that the TOC pointer value is saved before the function call. The linker directive is then modified to associate the function call with two or more TOC pointer value save placeholders. When a TOC pointer value save instruction occupies at least one of the placeholders, it ensures that the TOC pointer value is saved before the function call. Under some circumstances, two or more of the placeholders must be occupied by a TOC pointer value save instruction to ensure that the TOC pointer value is saved before the function call.
    Type: Grant
    Filed: May 29, 2015
    Date of Patent: December 22, 2015
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Ulrich Weigand
  • Patent number: 9195576
    Abstract: A memory architecture includes a non-volatile, application memory block having first application code for application functions capable of being called by first application, a non-volatile launcher memory block having second application code for application functions capable of being called by a second application, a non-volatile, shared memory block having shared code for shared functions, and a fixed memory locations dedicated within the shared memory block to store shared function pointers, and a volatile memory storing callback pointers. The second application code is launcher code that is operable to initialize the first application code. At least one volatile memory storing callback pointer is associated with each one of the shared functions. The callback pointers point to callback function code when the first application is executing and to callback function code when the second application is executing.
    Type: Grant
    Filed: June 19, 2013
    Date of Patent: November 24, 2015
    Assignee: Lear Corporation
    Inventors: Stanislav Lincer, David Gamez Alari, Jordi Moreno Aymami, Antoni Ferre Fabregas
  • Patent number: 9176870
    Abstract: Certain example embodiments relate to a highly-concurrent, predictable, fast, self-managed, in-process space for storing data that is hidden away from the garbage collector and its related pauses. More particularly, certain example embodiments relate to improved memory management techniques for computer systems that leverage an off-heap direct-memory data store that is massively scalable and highly efficient. The off-heap store may be provided in connection with a Java-based environment, and garbage collection may be completely or nearly completely avoided for the off-heap store. The off-heap store may be integrated into a tiered storage solution in certain example embodiments.
    Type: Grant
    Filed: August 7, 2014
    Date of Patent: November 3, 2015
    Assignee: Software AG USA, Inc.
    Inventors: Steven T. Harris, Christopher Dennis, Saravanan Subbiah
  • Patent number: 9170783
    Abstract: A program file may include code blocks, such as properties and methods blocks. An assistant module may provide a contextual information tool, a class diagram tool, and a template tool. The assistant module may monitor the location of a user interface element as it is moved about the program file. The assistant may provide information regarding the current location of the user interface element through the contextual information tool. The assistant module also may track the construction of the program, and provide information through the class diagram tool regarding program elements, such as properties and methods, defined so far in the program file. The assistant module may present design information, such as a class construction template, in the template tool, and may dynamically update this information during the creation of the program file.
    Type: Grant
    Filed: December 15, 2011
    Date of Patent: October 27, 2015
    Assignee: The MathWorks, Inc.
    Inventor: Donald P. Orofino, II
  • Patent number: 9146715
    Abstract: A compiler identifies a first function call site in a calling function that requires an unconditional Table of Contents (TOC) save of the TOC pointer value. The compiler identifies a first location for the unconditional TOC save that dominates the first function call site. The compiler also identifies a second function call site in the calling function that requires a conditional or unconditional TOC save, and determines that the first location also dominates the second function call site. The compiler emits a TOC save instruction at the first location that satisfies both the unconditional TOC save requirement for the first function call site and the conditional or unconditional TOC save requirement for the second function call site. The compiler then indicates that the emitted TOC save instruction satisfies the TOC save requirement for the second function call site, thus suppressing further TOC save actions for the second function call site.
    Type: Grant
    Filed: September 5, 2014
    Date of Patent: September 29, 2015
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Ulrich Weigand
  • Patent number: 9122842
    Abstract: An apparatus and method for enhancing security and stability in a heterogeneous computing environment that supports an open standard parallel program are provided. A method of enhancing security in a heterogeneous computing environment may include loading a source code kernel corresponding to an application program to be installed in a host system, determining whether the source code kernel is targeted for integrity check, based on a security policy of the host system, prior to cross-compiling the source code kernel, requesting a security engine of a computing device to check an integrity of the source code kernel, when the source code kernel is determined to be targeted for the integrity check, and controlling an operation of a runtime compiler based on a check result received from the security engine.
    Type: Grant
    Filed: October 31, 2012
    Date of Patent: September 1, 2015
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Yong Sam Shin, Min Young Son, Seung Won Lee, Shi Hwa Lee
  • Patent number: 9113213
    Abstract: A system and method are described for delivering to a member of an audience supplemental information related to presented media content. Media content is associated with media metadata that identifies active content elements in the media content and supported intents associated with those content elements. A member of an audience may submit input related to an active content element. The audience input is compared to media metadata to determine whether supplemental information can be identified that would be appropriate to deliver to the audience member based on that person's input. In some implementations, audience input includes audio data of an audience's spoken input regarding the media content.
    Type: Grant
    Filed: January 25, 2013
    Date of Patent: August 18, 2015
    Assignee: Nuance Communications, Inc.
    Inventors: Sundar Balasubramanian, Michael McSherry
  • Patent number: 9092303
    Abstract: Techniques are described herein for performing a dictionary-based dependency determination. For example, when a package is selected to be imported from a store (e.g., a database), a dictionary-based dependency operation may be performed to determine which elements of the package are dependent on other elements of the package. A dictionary includes indexes, each of which has at least one value. The indexes correspond to respective resources, and each value indicates an element of the package that produces the resource that corresponds to the respective index. If an element of the package consumes a resource, the indexes and corresponding values in the dictionary may be reviewed to determine which element(s) of the package produce that resource.
    Type: Grant
    Filed: April 1, 2014
    Date of Patent: July 28, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Arthur C. Leonard, Syed Muhammad Mujahid Hasan
  • Patent number: 9021512
    Abstract: Embodiments relate to runtime management of table of contents (TOC) pointer save and restore commands. An aspect includes receiving, by a computer system, application object code comprising a first function call. Another aspect includes determining, at runtime of the application object code, that the first function call comprises an external function call from a calling function in the application object code to a callee function that is external to the application object code. Yet another aspect includes, based on determining that the first function call comprises the external function call, inserting a TOC save command and a TOC restore command corresponding to the first function call into the application object code.
    Type: Grant
    Filed: September 11, 2014
    Date of Patent: April 28, 2015
    Assignee: International Business Machines Corporation
    Inventor: Michael K. Gschwind
  • Patent number: 9021511
    Abstract: Embodiments relate to runtime management of table of contents (TOC) pointer save and restore commands. An aspect includes receiving, by a computer system, application object code comprising a first function call. Another aspect includes determining, at runtime of the application object code, that the first function call comprises an external function call from a calling function in the application object code to a callee function that is external to the application object code. Yet another aspect includes, based on determining that the first function call comprises the external function call, inserting a TOC save command and a TOC restore command corresponding to the first function call into the application object code.
    Type: Grant
    Filed: March 14, 2014
    Date of Patent: April 28, 2015
    Assignee: International Business Machines Corporation
    Inventor: Michael K. Gschwind
  • Patent number: 9009693
    Abstract: An enhanced binder provides flexibility and certainty when selecting a version of a software library to load, and an enhanced loader prevents a library version vulnerable to a security flaw from being loaded. The binder can perform unification, implicit override, and/or redirection. Implicit override searches assembly-specific locations for an implicit_version, and override the previously chosen unification or other version with the implicit_version when the implicit_version is greater. The implicit_version gets updated with the individual assembly, whereas the unification_version gets updated with the framework. Redirection may override the implicit_version. Unlike redirection, an implicit_version does not recite an explicit range and is found outside application configuration files. The implicit_version is specified implicitly by the assembly without an XML declaration.
    Type: Grant
    Filed: May 8, 2013
    Date of Patent: April 14, 2015
    Assignee: Microsoft Corporation
    Inventors: Eric St. John, Mohammad Rahim Bhojani, Alok Shriram, David Kean, Divya Swarnkar, Kumar Gaurav Khanna, Gaye Oncul Kok, Jan Kotas, Michael J. Rayhelson, Michael Rousos, Weitao Su, Matthew Charles Cohn, Zhanliang Chen
  • Patent number: 8997074
    Abstract: Techniques for replacing ROM-based (Read-Only Memory) DLLs (Dynamic Link Libraries) in a Windows CE type embedded operating system such that the target DLL is replaceable by the hook DLL, and the target DLL is callable by the hook DLL but not callable directly by any other applications after loading of the hook DLL. The techniques enable replacement irrespective whether the hook DLL and the target DLL have the same name and irrespective of which DLL is loaded first. The techniques change the file name of the target DLL in a list of loaded DLL modules by a trusted program that executes in the full kernel mode.
    Type: Grant
    Filed: September 29, 2006
    Date of Patent: March 31, 2015
    Assignee: Trend Micro Incorporated
    Inventors: Gen Chen, Zhentao Huang
  • Patent number: 8997076
    Abstract: A loader application and an associated dynamic link library are installed on a client system. Upon a first execution of the loader application, a user authorization to communicate with locations external to the client via a communications network is received. The dynamic link library and not the loader application is auto-updated without requiring additional user authorization. The auto-updating is repeated during one or more executions of the loader application subsequent to the first execution.
    Type: Grant
    Filed: November 26, 2008
    Date of Patent: March 31, 2015
    Assignee: Google Inc.
    Inventors: Gueorgui N. Djabarov, Yevgeniy Gutnik, Omer Shakil
  • Publication number: 20150067663
    Abstract: A method and system for creating a library method stub in source code form corresponding to an original library call in machine-executable form. The library method stub is created in a predefined programming language by use of a library method signature associated with the original library call, at least one idiom sentence, and a call invoking the original library call. Creating the library method stub includes composing source code of the library method stub by matching the at least one idiom sentence with idiom-stub mappings predefined for each basic idiom of at least one basic idiom. The original library call appears in sequential code. The library method signature specifies formal arguments of the original library call. The at least one idiom sentence summarizes memory operations performed by the original library call on the formal arguments. The created library method stub is stored in a database.
    Type: Application
    Filed: September 8, 2014
    Publication date: March 5, 2015
    Inventors: Shivali Agarwal, Monika Gupta, Naga Praveen Kumar Katta
  • Patent number: 8959477
    Abstract: The present disclosure involves systems, software, and computer implemented methods for providing a scripting language for business applications. One process includes operations for providing a scripting language editor for generating software components for a business application, the scripting language editor configured to receive scripting language input. A scripting language file saved by the scripting language editor is identified. Metadata associated with at least one of a business object or a data type of a platform of the business application is retrieved. A business application language file is generated based on the scripting language file and the retrieved metadata.
    Type: Grant
    Filed: October 21, 2011
    Date of Patent: February 17, 2015
    Assignee: SAP SE
    Inventor: Andreas Mueller
  • Patent number: 8949788
    Abstract: A method and apparatus for building a source code based on a project object model (POM) from a source control and for tracking a build environment of the source code is described. Plugins to complete the build as configured in the POM are downloaded from an external plugin repository. A local plugin repository is scanned to determine which plugins have already been downloaded. The local plugin repository is rescanned to determine whether any additional plugins and associated plugins POM files were downloaded during the build as build dependencies. Information of one or more referenced files is inserted into a database wherein the referenced files are identified as build dependencies. Information about the newly-built plugins and associated plugins POM files in the output directory are extracted and added to the database for use by subsequent builds.
    Type: Grant
    Filed: December 17, 2008
    Date of Patent: February 3, 2015
    Assignee: Red Hat, Inc.
    Inventor: Michael Stavros Bonnet
  • Patent number: 8943487
    Abstract: Particular embodiments optimize a C++ function comprising one or more loops for symbolic execution, comprising for each loop, if there is a branching condition within the loop, then rewrite the loop to move the branching condition outside the loop. Particular embodiments may further optimize the C++ function through simplified symbolic expressions and adding constructs forcing delayed interpretation of symbolic expressions during the symbolic execution.
    Type: Grant
    Filed: January 20, 2011
    Date of Patent: January 27, 2015
    Assignee: Fujitsu Limited
    Inventors: Guodong Li, Sreeranga P. Rajan, Indradeep Ghosh
  • Patent number: 8931105
    Abstract: The present invention relates to a method for transferring content to a device, the method including the steps of: receiving a request for content from the device; delivering a uniquely identifiable, ephemeral player to the device; and transferring content to the device, for presentation on the device by the player. The invention has particular application to digital rights management in respect of the distribution of audiovisual content such as film and television programs, advertisements and live event broadcasts over communication networks such as the Internet.
    Type: Grant
    Filed: March 3, 2008
    Date of Patent: January 6, 2015
    Assignee: Vividas Technologies Pty. Ltd.
    Inventors: Martin Lipka, Alexander Dubov
  • Patent number: 8910180
    Abstract: An illustrative embodiment of a computer-implemented process for interdependent task management selects a task from an execution task dependency chain to form a selected task, wherein a type selected from a set of types including “forAll,” “runOnce” and none is associated with the selected task and determines whether there is a “forAll” task. Responsive to a determination that there is no “forAll” task, determines whether there is a “runOnce” task and responsive to a determination that there is a “runOnce” task further determines whether there is a semaphore for the selected task. Responsive to a determination that there is a semaphore for the selected task, the computer-implemented process determines whether the semaphore is “on” for the selected task and responsive to a determination that the semaphore is “on,” sets the semaphore “off” and executes the selected task.
    Type: Grant
    Filed: September 15, 2012
    Date of Patent: December 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Walfrey Ng, Chenfei Song
  • Patent number: 8910170
    Abstract: An illustrative embodiment of an apparatus for interdependent task management selects a task from an execution task dependency chain to form a selected task, wherein a type selected from a set of types including “forAll,” “runOnce” and none is associated with the selected task and determines whether there is a “forAll” task. Responsive to a determination that there is no “forAll” task, determines whether there is a “runOnce” task and responsive to a determination that there is a “runOnce” task further determines whether there is a semaphore for the selected task. Responsive to a determination that there is a semaphore for the selected task, the computer-implemented process determines whether the semaphore is “on” for the selected task and responsive to a determination that the semaphore is “on,” sets the semaphore “off” and executes the selected task.
    Type: Grant
    Filed: October 26, 2010
    Date of Patent: December 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Walfrey Ng, Chenfei Song
  • Patent number: 8910137
    Abstract: A system and associated method for creating a library method stub in source code form corresponding to an original library call in machine-executable form. Sequential code subject to pipeline-parallelization includes the original library call of which source code is not available for profiling. The original library call is annotated for a library method signature to specify formal arguments and parameters accessible to the formal arguments. Memory operations of the original library call are summarized with on one or more idiom sentences, which are mapped to a respective code stub that simulates the original library call. The library method stub is created for profiling of the original library call in source code level such that the sequential code is parallelized via the created library method stub.
    Type: Grant
    Filed: April 13, 2012
    Date of Patent: December 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Shivali Agarwal, Monika Gupta, Naga Praveen Kumar Katta