Including Library Patents (Class 717/163)
  • Patent number: 11231916
    Abstract: The embodiments of the present disclosure relate to information processing technology and provide a method for data compilation capable of reducing data compilation time. The method can include traversing files to be compiled in a project to be complied to obtain all initial class files; importing all the initial class files into a specified number of intermediate class files, the specified number being smaller than a total number of the initial class files; and compiling the intermediate class files to obtain target data.
    Type: Grant
    Filed: August 21, 2018
    Date of Patent: January 25, 2022
    Assignee: BEIJING ELEX TECHNOLOGY CO., LTD.
    Inventor: Xiaolong Zhao
  • Patent number: 11188313
    Abstract: Techniques performed by a data processing system for automatically managing feature flags in source code include automatically analyzing source code associated with a software program to identify a set of first feature flags; obtaining, from a configuration server associated with the software program, dynamic configuration information associated with a second set of feature flags, wherein the dynamic configuration information includes configuration information for configuring one or more operating parameters of the software program without redeploying the software program; correlating the set of first feature flags included in the source code with the set of second feature flags to match the dynamic configuration information with the feature flags of the set of first feature flags; generating feature flag reporting information; providing the feature flag reporting information to at least one consuming application; and causing the at least one consuming application to perform at least one action associated wit
    Type: Grant
    Filed: November 23, 2020
    Date of Patent: November 30, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jaime Seral Huffman, Katja Sabina Kevic, Brendan Seamus Murphy, Carlene Lebeuf, Brian Hassan Krakower, Jennifer Lee Beckmann
  • Patent number: 11157205
    Abstract: Example object storage systems, bookkeeping engines, and methods provide quota enforcement for control entities, such as accounts, users, and buckets. An object data store is configured to enable control entities to access data objects associated with each control entity. Quota thresholds associated with requesting control entities are determined. Object usage values corresponding to the quota thresholds are determined. Data object access requests are denied responsive to object usage values exceeding quota thresholds for the requesting control entities.
    Type: Grant
    Filed: June 14, 2019
    Date of Patent: October 26, 2021
    Assignee: Western Digital Technologies, Inc.
    Inventors: Tomy Ammuthan Cheru, Gunneswara Rao Marripudi, Veena Joshi, Avik Sil
  • Patent number: 11132232
    Abstract: A foundation framework resource of a first service function is loaded in a software application. A service request for starting the first service function in the software application is received. A page resource required by the first service function is loaded. The first service function is implemented based on the foundation framework resource of the first service function and the page resource.
    Type: Grant
    Filed: December 20, 2019
    Date of Patent: September 28, 2021
    Assignee: Advanced New Technologies Co., Ltd.
    Inventors: Danxia Shi, Weigang Guan, Wenhong Chen
  • Patent number: 11134068
    Abstract: A system, apparatuses and methods are provided to download and process data and other content streamed over a wide area network using one or more dynamically fetched, material specific, data handlers (e.g., download assistants). A download assistant fetches a data stream from a remote location and processes the streamed data iteratively using buffers and multi-threaded processes through the decoder (e.g., codec), allowing source material-specific processing of the data as it is streamed from one or more download sources as well as content-indifferent and platform-indifferent decoding. To minimize versioning issues, payload construction for secure delivery is simplified to packing and encrypting a directory tree containing any number of files or other digital media into an archive and, when needed, dividing a payload into multiple files or archives with a descriptor that lists the archives.
    Type: Grant
    Filed: July 31, 2020
    Date of Patent: September 28, 2021
    Assignee: III Holdings 12, LLC
    Inventors: David Aldis, Kenneth Brown, Andrew Gallant
  • Patent number: 11080033
    Abstract: The present disclosure relates to a method for installing a program on an embedded system of process automation technology. The method includes steps of reading a first program code into a data memory of the embedded system via a data interface of the embedded system and reading additional information specific to the first program code into the data memory of the embedded system via the data interface. The method additionally includes a step of translating the first program code by means of the embedded system into a second program code executable by the embedded system. The program-specific additional information is used for the translation so that the second program code can be executed more efficiently by the embedded system than a third program code translated from the first program code without the program-specific additional information.
    Type: Grant
    Filed: September 16, 2019
    Date of Patent: August 3, 2021
    Assignee: Endress+Hauser Conducta GmbH+Co. KG
    Inventors: Stefan Kempf, Stefan Robl
  • Patent number: 11061648
    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: January 7, 2020
    Date of Patent: July 13, 2021
    Assignee: DEVFACTORY INNOVATIONS FZ-LLC
    Inventor: Tushar Makkar
  • Patent number: 11017354
    Abstract: Disclosed are systems, methods, and non-transitory computer-readable storage media for managing projects in a content management system. For example, the content management system can create a project folder (e.g., shared folder) for managing data associated with a project. The project folder can be shared with content management system users (e.g., project members) who are contributors to the project. The content management system can store project data (e.g., content items, communications, comments, tasks, etc.) related to the project in the project folder. When the project folder is selected by a user, the content management system can generate a project folder view that presents the project data associated with the project folder and/or project in a convenient and easy to access graphical user interface. The content management system can aggregate project data from various content items associated with the project and present the project data in a single graphical user interface.
    Type: Grant
    Filed: July 30, 2019
    Date of Patent: May 25, 2021
    Assignee: Dropbox, Inc.
    Inventors: Min Ming Lo, Matteus Pan, Linjie Ding, Lilian Weng
  • Patent number: 11003850
    Abstract: A computer-implemented method characterizes and controls performance of a set of device nodes in a distributed heterogeneous computing and control system. The device nodes are in physically distinct locations, in communication with one another over a network. One or more of the device nodes require different application programming code due to differences in hardware configuration or software configuration. The method includes configuring, by a design computer, for introduction into each distinct one of the device nodes, a corresponding communication facility and a corresponding dashboard instance. After introduction of the communication facility and dashboard instance into each device node, the design computer includes a communication facility in communication with the corresponding communication facility of each device node.
    Type: Grant
    Filed: June 12, 2020
    Date of Patent: May 11, 2021
    Assignee: Prescient Devices, Inc.
    Inventor: Andrew Wang
  • Patent number: 10983782
    Abstract: Systems and methods provide determination of a first user interface application associated with a first version of user interface code libraries, and reception of a request to analyze compatibility of the first user interface application with a second version of user interface code libraries. In response to the request the second version of user interface code libraries is retrieved, it is determined whether one or more user interface code libraries referenced in the first user interface application are not in the second version of user interface code libraries, and, if it is determined that one or more user interface code libraries referenced in the first user interface application are not in the second version of user interface code libraries, a message is presented indicating that one or more user interface code libraries referenced in the first user interface application are not in the second version of user interface code libraries.
    Type: Grant
    Filed: January 31, 2020
    Date of Patent: April 20, 2021
    Assignee: SAP SE
    Inventors: Paulami Mitra, Garima Srivastava
  • Patent number: 10838745
    Abstract: Provided are computer program product, system, and method for loading dependency library files from a shared library repository in an application runtime environment. A determination is made of a dependency tree of dependency library files for an application to load into an application runtime environment. A determination is made as to whether a shared library repository includes all the dependency library files in the dependency tree. The shared library repository is updated to include any dependency library files not in the dependency tree of the application. Access is provided to the dependency library files in the shared library repository in the dependency tree in the application runtime environment. The application is started in the application runtime environment in response to providing access to the dependency library files in the application runtime environment.
    Type: Grant
    Filed: September 4, 2019
    Date of Patent: November 17, 2020
    Assignee: International Business Machines Corporation
    Inventors: Hai Feng Yao, Jun Ming Guan, Tian Qi Han, Jing Hua Zhu, Yi Fei He
  • Patent number: 10795528
    Abstract: A method of providing a task assistant to provide an interface to an application, the method comprising activating the task assistant, the activation having an associated visual display. The method in one embodiment includes receiving input from a user through multimodal input including a plurality of speech input, typing input, and touch input, interpreting the input, and providing a formatted query to the application, receiving data from the application in response to the query, and providing a response to the user through multimodal output including a plurality of: speech output, text output, non-speech audio output, haptic output, and visual non-text output, wherein the task assistant has a plurality of active states, each of the active states having an associated visual display.
    Type: Grant
    Filed: March 6, 2013
    Date of Patent: October 6, 2020
    Assignee: Nuance Communications, Inc.
    Inventors: Elizabeth Ann Dykstra-Erickson, David Andrew Mauro, Paweena Attayadmawittaya, Aimee Piercy, Susan Dawnstarr Daniel
  • Patent number: 10783148
    Abstract: In an embodiment, a data processing method comprises creating and storing a plurality of analytical notebooks in digital computer storage, wherein each of the analytical notebooks comprises notebook metadata that specifies a kernel for execution, and one or more computational cells, wherein each of the cells comprises cell metadata, a source code reference and an output reference; receiving, in association with a first cell among the one or more cells, first input specifying computer program source code of a function, wherein the function defines an input dataset, a transformation, and one or more variables associated with output data; storing the first cell, excluding the output data, using a first digital data storage system and updating the source code reference to identify the first data storage system; using the kernel specified in the notebook metadata, executing an executable version of the source code to result in generating the output data; storing the output data using a second digital data storage
    Type: Grant
    Filed: March 18, 2019
    Date of Patent: September 22, 2020
    Assignee: Palantir Technologies Inc.
    Inventors: James Shuster, Daniel Fernandez
  • Patent number: 10754796
    Abstract: Systems and methods for providing technology that enhances memory protection between different portions of the user space memory of a particular computing process. An example method may comprise: creating a computing process comprising a first executable code and a second executable code; loading the first and second executable code into user space memory of the computing process, wherein the second executable code comprises driver code of a device; updating a first and second page table structures, wherein the first page table structure comprises mapping data for the first and second executable code and wherein the second page table structure comprises mapping data to access the device; providing, by the processor, an instruction enabling the computing process to switch to the second page table structure; and enabling the first executable code to execute using the first page table structure and the second executable code to execute using the second page table structure to access the device.
    Type: Grant
    Filed: August 29, 2018
    Date of Patent: August 25, 2020
    Assignee: Red Hat, Inc.
    Inventor: Michael Tsirkin
  • Patent number: 10678513
    Abstract: A method and apparatus are disclosed for upgrading libraries in a source code program by evaluating libraries in the source code program for predetermined selection criteria specifying library performance limitations to identify at least a first library which does not meet the plurality of predetermined selection criteria and then identifying a first alternative library that is suitable for substitution for the first library so that the source code program may be automatically modified to replace the first library with the first alternative library, thereby generating a modified source code program having an upgraded library functionality.
    Type: Grant
    Filed: September 12, 2017
    Date of Patent: June 9, 2020
    Assignee: DevFactory FZ-LLC
    Inventors: Aditya T. Kadam, Swapnil S. Mahajan
  • Patent number: 10671362
    Abstract: A compiler and linker include multiple addressing mode resolvers that generate code to resolve a plurality of function calls that use different addressing modes. A first addressing mode is defined where a first address for first data is specified as an offset from a base pointer. A second, relative addressing mode is defined where a second address for second data is specified as an offset from an address of an instruction that references the second data. The generated code assures correct operation when functions with different addressing modes are included in the computer program. The generated code preserves a base pointer when executing a function that uses relative addressing, when needed. The compiler inserts one or more relocation markers that trigger certain functions in the linker. A linker resolves the relocation markers inserted by the compiler, and generates code, when needed, that handles a mismatch between addressing modes.
    Type: Grant
    Filed: October 31, 2018
    Date of Patent: June 2, 2020
    Assignee: International Business Machines Corporation
    Inventors: William J. Schmidt, Ulrich Weigand, Alan David Modra
  • Patent number: 10671363
    Abstract: A compiler and linker include multiple addressing mode resolvers that generate code to resolve a plurality of function calls that use different addressing modes. A first addressing mode is defined where a first address for first data is specified as an offset from a base pointer. A second, relative addressing mode is defined where a second address for second data is specified as an offset from an address of an instruction that references the second data. The generated code assures correct operation when functions with different addressing modes are included in the computer program. The generated code preserves a base pointer when executing a function that uses relative addressing, when needed. The compiler inserts one or more relocation markers that trigger certain functions in the linker. A linker resolves the relocation markers inserted by the compiler, and generates code, when needed, that handles a mismatch between addressing modes.
    Type: Grant
    Filed: October 31, 2018
    Date of Patent: June 2, 2020
    Assignee: International Business Machines Corporation
    Inventors: William J. Schmidt, Ulrich Weigand, Alan David Modra
  • 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: 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: 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: 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