Dynamic Linking, Late Binding Patents (Class 719/331)
  • Patent number: 10268465
    Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler is provided to identify potential target functions and indicate the potential target functions in the program code. A linker can read the indication the compiler made in the program code. The linker optimizes an indirect call site if the potential target functions are defined in the same module.
    Type: Grant
    Filed: October 24, 2016
    Date of Patent: April 23, 2019
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Ulrich Weigand
  • Patent number: 10241769
    Abstract: Optimizations are provided for sibling calls. A sibling caller is marked to indicate that it may call a sibling routine or that it may call an external sibling routine. Based on the marking, certain processing is performed to facilitate use of sibling calls, particularly when the sibling routine being called is external to the caller.
    Type: Grant
    Filed: December 14, 2016
    Date of Patent: March 26, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Michael K. Gschwind
  • Patent number: 10152338
    Abstract: Optimizations are provided for sibling calls. A sibling caller is marked to indicate that it may call a sibling routine or that it may call an external sibling routine. Based on the marking, certain processing is performed to facilitate use of sibling calls, particularly when the sibling routine being called is external to the caller.
    Type: Grant
    Filed: December 14, 2016
    Date of Patent: December 11, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Michael K. Gschwind
  • Patent number: 10140133
    Abstract: Optimizations are provided for sibling calls. A sibling caller is marked to indicate that it may call a sibling routine or that it may call an external sibling routine. Based on the marking, certain processing is performed to facilitate use of sibling calls, particularly when the sibling routine being called is external to the caller.
    Type: Grant
    Filed: November 13, 2017
    Date of Patent: November 27, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Michael K. Gschwind
  • Patent number: 10127084
    Abstract: A processing device performs a statistical analysis of a plurality of previously provisioned composite applications, a composite application of the plurality of previously provisioned composite applications comprising a plurality of nodes, the plurality of nodes each having a final provisioned state for an application component of the composite application. The processing device predicts an intermediate provisioned state to be used for a node of a future composite application based on the statistical analysis. Prior to receiving a request to provision a new composite application comprising a node having a final provisioned state that is compatible with the determined intermediate provisioned state, the processing device provisions software on a resource to cause the resource to have the intermediate provisioned state.
    Type: Grant
    Filed: November 15, 2012
    Date of Patent: November 13, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventors: Amos Benari, Ohad Levy
  • Patent number: 10061571
    Abstract: A method for link time optimization comprises parsing, by a compiler, an intermediate representation file to determine what symbols are present in the intermediate representation file. The method comprises providing the symbols to a linker and creating, by the linker, a symbol use tree of all the symbols that are present in the intermediate representation file and other symbols in binary code received by the linker. The method further comprises discarding, by the linker, any received objects for which no use can be identified and all dependencies of the objects. The method includes providing, from the linker to the compiler, a preserve list of symbols, the preserve list comprising a list of symbols proven used by the objects and the intermediate representation files. The method comprises compiling the intermediate representation files and the objects based on the preserve list of symbols, and deleting, by the linker, any remaining unused objects.
    Type: Grant
    Filed: September 22, 2016
    Date of Patent: August 28, 2018
    Assignee: QUALCOMM Innovation Center, Inc.
    Inventors: Sergei Larin, Shankar Kalpathi Easwaran, Hemant Kulkarni
  • Patent number: 9921753
    Abstract: Embodiments herein provide for redundant data storage. One storage system includes first and second host systems each comprising a memory and a persistent storage device. The storage system also includes first and second storage controllers each comprising a memory (e.g., DRAM). The memory of the first storage controller is mapped to the memory of the first host system and the memory of the second storage controller is mapped to the memory of the second host system. The first storage controller is operable to DMA data from the persistent storage device of the first host system to the memory of the first storage controller, and to direct the second storage controller to DMA the data to the persistent storage device of the second host system via the memory of the second storage controller.
    Type: Grant
    Filed: March 23, 2015
    Date of Patent: March 20, 2018
    Assignee: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
    Inventors: Sumanesh Samanta, Luca Bert, Naveen Krishnamurthy
  • Patent number: 9817966
    Abstract: Techniques for extension interaction with applications are described. Generally, an extension represents functionality for extending, modifying, customizing, and/or supplementing native functionality of an application. Techniques discussed herein provide a common extension platform that enables an extension to interact with multiple different applications utilizing components of the platform. The common extension platform, for instance, exposes a set of common extension application programming interfaces (APIs) that provide a common interaction surface between extensions and applications.
    Type: Grant
    Filed: July 11, 2016
    Date of Patent: November 14, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Tanvi Saumil Surti, Chee Chen Tong, Sean Obafemi Lyndersay, Israel Hilerio, John Anderson Hazen
  • Patent number: 9781077
    Abstract: A method for enforcing entitlements includes configuring a wide variety of entitlements at a server; determining applicable combination of entitlements for a given client request; sending entitlements to the requesting client securely; handling entitlement information securely on a plurality of client devices at run time; storing entitlement information securely on a plurality of client devices for offline use; and enforcing entitlements on a plurality of client devices. The method employs manipulation of manifest files by a proxy that may be included in the client device or located in the network.
    Type: Grant
    Filed: July 23, 2014
    Date of Patent: October 3, 2017
    Assignee: ERICSSON AB
    Inventors: Mikhail Mikhailov, Raj Nair
  • Patent number: 9772865
    Abstract: A computer-implemented method and system for reducing the amount of memory space required to store applications written in dynamic scripting languages loads a program module into memory and removes a category of program code, such as debug information or function definitions, from the program module. The method and system also receives a request for debug information, or a function call or query, and determines whether or not the corresponding program code is in memory. If not, then the location in storage is identified where the program module is stored, and another copy containing the corresponding program code is loaded into memory. The corresponding program code is located and copied into the program module in memory, and a response is provided to the request.
    Type: Grant
    Filed: February 23, 2015
    Date of Patent: September 26, 2017
    Assignee: Futurewei Technologies, Inc.
    Inventors: Haichuan Wang, Handong Ye, Peng Wu
  • Patent number: 9742789
    Abstract: Disclosed are a method, device and system for intercepting a web address. The method comprises: triggering an interception program pre-injected in a browser process; the interception program obtaining web address information of a network connection upon detecting a network connection operation, and determining whether the web address information is malicious web address information; and if the web address information is malicious web address information, the interception program instructing the browser process to stop accessing the malicious web address information. The present disclosure can interrupt a connection of a malicious URL in time.
    Type: Grant
    Filed: January 27, 2014
    Date of Patent: August 22, 2017
    Assignee: BEIJING QIHOO TECHNOLOGY COMPANY LIMITED
    Inventors: Yi Ding, Yuan Li
  • Patent number: 9700791
    Abstract: Embodiments are directed towards providing an interactive game experience whereby a game player may combine game play with a user interface overlaid onto the game that is useable to interact and communicate with other players inside and/or outside of the current game. Through the use of the user interface, a player may select different game sets to play, and rapidly switch between games with different players, while maintaining a real-time interactive chat session, or similar communication session, including, without limit, voice communication sessions. A game client component may launch a game, and then hooks into the game to intercept various input and video functions.
    Type: Grant
    Filed: August 14, 2008
    Date of Patent: July 11, 2017
    Assignee: VALVE CORPORATION
    Inventors: John Cook, Martin Otten
  • Patent number: 9703657
    Abstract: A system, method, and computer readable medium for reliable messaging between two or more servers. The computer readable medium includes computer-executable instructions for execution by a processing system. Primary applications runs on primary hosts and one or more replicated instances of each primary application run on one or more backup hosts. The reliable messaging ensures consistent ordered delivery of messages in the event that messages are lost; arrive out of order, or in duplicate. The messaging layer operates over TCP or UDP with our without multi-cast and broad-cast and requires no modification to applications, operating system or libraries.
    Type: Grant
    Filed: August 14, 2015
    Date of Patent: July 11, 2017
    Assignee: Open Invention Network LLC
    Inventor: Allan Havemose
  • Patent number: 9639696
    Abstract: A method and apparatus for analyzing end user license agreements and taking action based on the analysis outcome. In one embodiment, the method includes sensing initialization of an installable software program installation, extracting a EULA from the installable during installation, pausing presentation of the EULA to a user, providing a database of suspect terms, analyzing whether a suspect term exists in the EULA, and presenting at least one of the EULA or a suspect term to the user.
    Type: Grant
    Filed: September 29, 2006
    Date of Patent: May 2, 2017
    Assignee: Symantec Operating Corporation
    Inventors: Sree Hari Nagaralu, Prabhat Kumar Singh
  • Patent number: 9542178
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for providing in-place extensions to an application, including receiving one or more artifacts associated with the application; graphically depicting a representation of at least one artifact of the one or more artifacts on a display, the at least one artifact comprising extension points defined by a developer of the application; receiving first user input indicating a first extension to the at least one artifact, the first extension being associated with an extension point of the one or more extension points and being applied to the representation, the at least one artifact remaining unchanged in view of the first extension being applied to the representation; determining a delta based on the first extension and the at least one artifact; and storing the delta in an extension repository, the delta being usable to extend one or more other artifacts.
    Type: Grant
    Filed: November 9, 2012
    Date of Patent: January 10, 2017
    Assignee: SAP SE
    Inventors: Heiko Witteborg, Anis Charfi, Taid Holmes
  • Patent number: 9542210
    Abstract: Aspects of an application program's execution which might be subject to non-determinism are performed in a deterministic manner while the application program's execution is being recorded in a virtual machine environment so that the application program's behavior, when played back in that virtual machine environment, will duplicate the behavior that the application program exhibited when originally executed and recorded. Techniques disclosed herein take advantage of the recognition that only minimal data needs to be recorded in relation to the execution of deterministic operations, which actually can be repeated “verbatim” during replay, and that more highly detailed data should be recorded only in relation to non-deterministic operations, so that those non-deterministic operations can be deterministically simulated (rather than attempting to re-execute those operations under circumstances where the outcome of the re-execution might differ) based on the detailed data during replay.
    Type: Grant
    Filed: June 2, 2014
    Date of Patent: January 10, 2017
    Assignee: CA, Inc.
    Inventors: Jeffrey Daudel, Suman Cherukuri, Humberto Yeverino, Dickey Singh, Arpad Jakab, Marvin Justice, Jonathan Lindo
  • Patent number: 9524145
    Abstract: A method includes receiving a selection of a predefined implementation variation for a variable service component in at least one computing device configured to implement a service-oriented application; and executing source code associated with the variable service component in response to receiving the selection, wherein the source code performs a predetermined rebuilding of at least a portion of the service-oriented application such that the variable service component is redefined according to the selected implementation variation.
    Type: Grant
    Filed: March 16, 2009
    Date of Patent: December 20, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ge Jin, Jia Tan, Zhi Rong Zhou
  • Patent number: 9513832
    Abstract: An aspect includes a table of contents (TOC) that was generated by a compiler being received at an accelerator device. The TOC includes an address of global data in a host memory space. The global data is copied from the address in the host memory space to an address in the device memory space. The address in the host memory space is obtained from the received TOC. The received TOC is updated to indicate that global data is stored at the address in the device memory space. A kernel that accesses the global data from the address in the device memory space is executed. The address in the device memory space is obtained based on contents of the updated TOC. When the executing is completed, the global data from the address in the device memory space is copied to the address in the host memory space.
    Type: Grant
    Filed: March 25, 2015
    Date of Patent: December 6, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Carlo Bertolli, John K. O'Brien, Olivier H. Sallenave, Zehra N. Sura
  • Patent number: 9513828
    Abstract: An aspect includes a table of contents (TOC) that was generated by a compiler being received at an accelerator device. The TOC includes an address of global data in a host memory space. The global data is copied from the address in the host memory space to an address in the device memory space. The address in the host memory space is obtained from the received TOC. The received TOC is updated to indicate that global data is stored at the address in the device memory space. A kernel that accesses the global data from the address in the device memory space is executed. The address in the device memory space is obtained based on contents of the updated TOC. When the executing is completed, the global data from the address in the device memory space is copied to the address in the host memory space.
    Type: Grant
    Filed: June 22, 2015
    Date of Patent: December 6, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Carlo Bertolli, John K. O'Brien, Olivier H. Sallenave, Zehra N. Sura
  • Patent number: 9516056
    Abstract: Detecting a malware process is disclosed, including: monitoring a launch of a process; in response to a completion of the launch of the process, determining a base address associated with the process; determining a permission of a memory block associated with the base address; and determining whether the process is potentially associated with a malware process based at least in part on the determined permission.
    Type: Grant
    Filed: September 1, 2015
    Date of Patent: December 6, 2016
    Assignee: Alibaba Group Holding Limited
    Inventor: Wanquan Nie
  • Patent number: 9513891
    Abstract: Embodiments of the present application relate to a method of publishing a wireless application, a method of implementing a wireless application, a device for publishing a wireless application, a device for implementing a wireless application, and a computer program product for publishing a wireless application. A method of publishing a wireless application is provided. The method includes integrating a permanent interface layer of a software development kit (SDK) into a wireless application, publishing the integrated wireless application, and installing the dynamic implementation layer of the SDK onto a server. The SDK includes the permanent interface layer and a dynamic implementation layer, the permanent interface layer including an interface protocol to be invoked by the wireless application and the dynamic implementation layer including an interface implementation corresponding to the interface protocol.
    Type: Grant
    Filed: November 6, 2015
    Date of Patent: December 6, 2016
    Assignee: Alibaba Group Holding Limited
    Inventors: Chongbo Sun, Gongping Chen, Weigang Guan
  • Patent number: 9336045
    Abstract: A system, method, and computer readable medium for providing application isolation to one or more applications and their associated resources. The system may include one or more isolated environments including application files and executables, and one or more interception layers intercepting access to system resources and interfaces. Further, the system may include an interception database maintaining mapping between the system resources inside the one or more isolated environments and outside, and a host operating system. The one or more applications may be isolated from other applications and the host operating system while running within the one or more isolated environments.
    Type: Grant
    Filed: January 27, 2015
    Date of Patent: May 10, 2016
    Assignee: Open Invention Network, LLC
    Inventor: Allan Havemose
  • Patent number: 9304762
    Abstract: Disclosed is a method of automatically customizing a computer executable application, such as a test automation harness, based on currently installed modules. The functionality of the application can be split in multiple modules. At runtime, the application can automatically detect the presence or absence of a module. If a module is available, it can automatically be integrated with the application such that the functionality, such as language-level features and constructs, provided by the module is active and/or exposed. If the module is absent, the application can continue executing without the functionality provided by the module.
    Type: Grant
    Filed: February 27, 2014
    Date of Patent: April 5, 2016
    Assignee: Apple Inc.
    Inventor: Paul Marks
  • Patent number: 9286228
    Abstract: Embodiments of the present invention provide a system for performing caching in an image-processing system. The system starts by receiving a filtering query for resources in a cache. The system then returning a subcache in response to the filtering query. Upon receiving a resource query for resources in the subcache, the system performs the filtering query on the cache, populates the subcache with addresses of resources returned by the filtering query until the resource query is satisfied, and returns available resources from the subcache in response to the resource query.
    Type: Grant
    Filed: September 24, 2012
    Date of Patent: March 15, 2016
    Assignee: Apple Inc.
    Inventors: Kevin Quennesson, Pierre-Olivier Latour
  • Patent number: 9223555
    Abstract: A novel declare instruction can be used in source code to declare a sub-pool of resource instances to be taken from the resource instances of a larger declared pool. Using such declare instructions, a hierarchy of pools and sub-pools can be declared. A novel allocate instruction can then be used in the source code to instruct a novel linker to make resource instance allocations from a desired pool or a desired sub-pool of the hierarchy. After compilation, the declare and allocate instructions appear in the object code. The linker uses the declare and allocate instructions in the object code to set up the hierarchy of pools and to make the indicated allocations of resource instances to symbols. After resource allocation, the linker replaces instances of a symbol in the object code with the address of the allocated resource instance, thereby generating executable code.
    Type: Grant
    Filed: November 7, 2013
    Date of Patent: December 29, 2015
    Assignee: Netronome Systems, Inc.
    Inventors: Espen Skoglund, Rolf Neugebauer, Francois Henri Theron, Gavin J. Stark
  • Patent number: 9218373
    Abstract: In an example embodiment, a method of performing data profiling in an in-memory database is provided. A command requesting a data attribute calculation on data in the in-memory database may be received. A precreated procedure stored in the in-memory database may then be used to perform the data attribute calculation on the data in the in-memory database The precreated procedure may be described in a computer language utilized by the in-memory database. Finally, a result of the performing of the data attribute calculation may be returned to the client computer.
    Type: Grant
    Filed: October 10, 2012
    Date of Patent: December 22, 2015
    Assignee: Business Objects Software Ltd.
    Inventors: Ricardo Saito, Min He
  • Patent number: 9208347
    Abstract: Embodiments for updating roles based system access to a user include systems for identifying an application login event and a role associated with the login event. Further the embodiments include selecting an application shell comprising data for an application, the data being associated with the identified role and where the application is a first version of the application, selecting a second version of the application that is different from the first version, modifying the data of the application shell in response to selecting the second version of the application, and providing the modified data to the application associated with a computing device of a user in response to the login event. In specific embodiments, data unrelated to the identified role is not provided to the application or stored in the computing device.
    Type: Grant
    Filed: November 5, 2013
    Date of Patent: December 8, 2015
    Assignee: BANK OF AMERICA CORPORATION
    Inventors: Jason N. Alexandrian, Hudson Philip Hoen, IV
  • Patent number: 9208014
    Abstract: An improved method provides fault handling in a distributed IT environment. The distributed IT environment executes at least one workflow application interacting with at least one application by using interface information about the at least one application. The method comprises: storing at least one fault handling description in a implementation-independent meta language associated with the at least one application; associating the interface information with the at least one fault handling description based on at least one defined fault handling policy, created based on at least one service definition; and the workflow application if a fault response from the at least one application is received: retrieving at least one associated fault handling description based on at least one fault handling policy, and interpreting and executing a particular meta language code of the at least one associated fault handling description in order to continue the defined workflow application.
    Type: Grant
    Filed: February 28, 2013
    Date of Patent: December 8, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Khirallah Birkler, Martin Oberhofer, Boris Feist, Torsten Wilms
  • Patent number: 9201723
    Abstract: An improved system for fault handling in a distributed IT environment. The distributed IT environment executes at least one workflow application interacting with an application by using interface information about the at least one application. The system comprises a processor: storing at least one fault handling description in a implementation-independent meta language associated with the at least one application; associating the interface information with the at least one fault handling description based on at least one defined fault handling policy, created based on at least one service definition. The system also includes the workflow application, if a fault response from the at least one application is received: retrieving at least one associated fault handling description based on at least one fault handling policy; and interpreting and executing a particular meta language code of the at least one associated fault handling description in order to continue the defined workflow application.
    Type: Grant
    Filed: June 26, 2012
    Date of Patent: December 1, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Khirallah Birkler, Martin Oberhofer, Boris Feist, Torsten Wilms
  • Patent number: 9152771
    Abstract: An apparatus and method of managing a licensable item includes accessing a licensing policy related to managing a licensable item, and a license agent making a determination to act to enforce the licensing policy or to first communicate with a server before acting to enforce the licensing policy. Further, the apparatus and method include enforcing the licensing policy in accordance with the determination to act to enforce the licensing policy or to first communicate with a server before acting.
    Type: Grant
    Filed: May 31, 2011
    Date of Patent: October 6, 2015
    Assignee: QUALCOMM Incorporated
    Inventors: Matthew W. Hohlfeld, Michael P. Mahan, Giridhar D. Mandyam
  • Patent number: 9137215
    Abstract: Methods and Systems for non-intrusive real-time analysis of secure communications between a first application and a second application, wherein the first and second applications communicate through a communication channel. A plurality of secure communications between the first application and the second application is non-intrusively and securely captured. The plurality of communications is processed to process communications from a physical layer to a network layer. The plurality of communications is grouped into a plurality of streams and connection meta information is added to each stream, wherein each stream represents a single network connection. A plurality of transactions is created from the communications included in the plurality of streams, wherein a stream within the plurality of streams is encrypted, and the encrypted stream is decrypted.
    Type: Grant
    Filed: December 19, 2011
    Date of Patent: September 15, 2015
    Assignee: BORLAND SOFTWARE CORPORATION
    Inventors: Bernd Greifeneder, Bernhard Reichl, Helmut Spiegl, Gunter Schwarzbauer
  • Patent number: 9128904
    Abstract: A system, method, and computer readable medium for reliable messaging between two or more servers. The computer readable medium includes computer-executable instructions for execution by a processing system. Primary applications runs on primary hosts and one or more replicated instances of each primary application run on one or more backup hosts. The reliable messaging ensures consistent ordered delivery of messages in the event that messages are lost; arrive out of order, or in duplicate. The messaging layer operates over TCP or UDP with our without multi-cast and broad-cast and requires no modification to applications, operating system or libraries.
    Type: Grant
    Filed: October 1, 2012
    Date of Patent: September 8, 2015
    Assignee: Open Invention Network, LLC
    Inventor: Allan Havemose
  • Patent number: 9100301
    Abstract: Systems, methods, and articles of manufacture to manage alarm configurations of servers are disclosed. An example system includes a processor, an alarm linkage database to store information representative of alarm configurations for a plurality of servers, and a memory comprising machine readable instructions. When executed, the instructions cause the processor to perform operations comprising accessing alarm configurations in the alarm linkage database for a subset of the plurality of servers in response to a first request, initiating a change in respective alarm configurations of the subset of the plurality of the servers, and initiating propagation of the alarm configuration to the subset of the servers, the subset including more than one server.
    Type: Grant
    Filed: September 5, 2012
    Date of Patent: August 4, 2015
    Assignee: AT&T INTELLECTUAL PROPERTY I, L.P.
    Inventors: John Martin Berger, Allen Kirby, Wayne Lappe, David Kevin Leitson, Karen Swisher, Daniel Gibson, David Wicks, Curtis Rugeley
  • Patent number: 9092253
    Abstract: Monitoring performance of one or more architecturally significant processor caches coupled to a processor. The methods include executing an application on one or more processors coupled to one or more architecturally significant processor caches, where the application utilizes the architecturally significant portions of the architecturally significant processor caches. The methods further include at least one of generating metrics related to performance of the architecturally significant processor caches; implementing one or more debug exceptions related to performance of the architecturally significant processor caches; or implementing one or more transactional breakpoints related to performance of the architecturally significant processor caches as a result of utilizing the architecturally significant portions of the architecturally significant processor caches.
    Type: Grant
    Filed: December 15, 2009
    Date of Patent: July 28, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Martin Taillefer, Jan Gray, Richard Wurdack, Gad Sheaffer, Ali-Reza Adl Tabatabai
  • Patent number: 9058201
    Abstract: Extended features such as registers and functions within processors are made available to operating systems (OS) using an extended-state driver and by modifying instruction set extensions, such as XSAVE. A map-table designates a correspondence between memory locations for storing data relating to extended features not supported by the OS and called by an application. As a result, applications may utilize processor resources which are unsupported by the OS.
    Type: Grant
    Filed: December 28, 2011
    Date of Patent: June 16, 2015
    Assignee: Intel Corporation
    Inventors: Michael Mishaeli, James B. Crossland, Boris Ginzburg, Eliezer Weissmann
  • Patent number: 9052914
    Abstract: Application code for deployment to a client over a data link is optimized to minimize download time by supplying only the application code with a particular object that is required by the object. In a web application that includes multiple pages, the HTML and JAVASCRIPT are scanned to identify code resources called by a particular web page. When all called resources are identified, they are extracted and concatenated into a single resource file. When the page is downloaded to the client, the import file is included with the page. The import file may be cached so that it need only be downloaded once, rather than being downloaded every time the page is requested. The invention is suitable for use with other interpreted scripting languages.
    Type: Grant
    Filed: September 15, 2012
    Date of Patent: June 9, 2015
    Assignee: FACEBOOK, INC.
    Inventor: Robert Kieffer
  • Patent number: 9043816
    Abstract: A technique is provided for handling dynamically linked subject function calls arranged pass subject control flow to an intermediate control structure such as a procedure linkage table, then to subject linker code for modifying link information associated with the subject function calls during translation of subject code into target code in a dynamic binary translator. The subject code for execution on a subject processor is received by a translator, and corresponding target code for execution on the target processor is generated. The translator is arranged to build a function linkage table containing an entry giving the location of each function called by the subject code, so that code can be generated by the translator in which subject function calls are associated with code for performing the function, without generating target code corresponding to the intermediate control structure.
    Type: Grant
    Filed: June 18, 2013
    Date of Patent: May 26, 2015
    Assignee: International Business Machines Corporation
    Inventor: Alexander B. Brown
  • Publication number: 20150143387
    Abstract: A computer system may generate a plurality of component kernels, which are to be linked during the runtime. The system may determine whether a combined kernel K is present in response to receiving a first request to retrieve the combined kernel K. The system may compose the combined kernel K from the selected component kernels of the plurality of component kernels during the runtime if the combined kernel is not already present.
    Type: Application
    Filed: September 3, 2014
    Publication date: May 21, 2015
    Inventors: Guei Yuan LUEH, Xiaoying HE, Xuefeng ZHANG, Yuenian YANG, Ping LlU, Hong JIANG, Maxim LUKYANOV
  • 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: 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: 9021510
    Abstract: A service module that provides for discovery of one or more network interfaces connecting a prospective remote procedure call (RPC) client, facilitates the provision of RPC programs in a network including multi-horned systems. When a request for a network address to an RPC application providing an RPC program is received from the RPC client, the RPC bind daemon discovers from the module, using the client response address, over which interface(s) the client is accessible. The daemon then selects an address of a network path to the RPC application that the prospective client can access and returns the corresponding network address. The service module monitors the network stack for RPC get address requests and builds tables of client address entries with corresponding network interface identifiers. The entries are retired according to an aging policy.
    Type: Grant
    Filed: August 13, 2012
    Date of Patent: April 28, 2015
    Assignee: International Business Machines Corporation
    Inventors: Adekunle Bello, Andrew Dunshea, Nikhil Hegde, Paul H. Hernandez, Aruna Yedavilli
  • Patent number: 9015702
    Abstract: An aspect of the present invention detects usage, by an application process, of a utility provided by a first version of an operating system, and determines whether a later version of the operating system is incompatible with identical usage of the detected utility. If the usage is determined to be incompatible, the corresponding information on the incompatibility is included in a report. According to another aspect, the determination of compatibility is performed by maintaining data (e.g., in a database) indicating incompatibility information related to a set of utilities, which are incompatible with the second version. The data is examined to determine incompatibility. The features are disclosed as being applied with respect to dynamically linked libraries, dynamically loaded libraries, functions, fonts, etc.
    Type: Grant
    Filed: January 13, 2012
    Date of Patent: April 21, 2015
    Inventor: Vasanth Bhat
  • Patent number: 9009732
    Abstract: A method of processing raw events to typed events, each raw event including data items containing data values, the method includes: providing a library of event type objects, each event type object relating to a given event type and including attributes of given data types, the attributes in each event type object structured according to a given structure; for each raw event, determining an event type object in the library which meets: (i) each of the data items in the raw event maps to an attribute in the event type object, and (ii) a data value in each of the data items is of a data type detected to match the given data type of the mapped attribute; and generating a typed event from each raw event, the typed event including the data values of the raw event structured according to the structure of the determined event type object.
    Type: Grant
    Filed: April 22, 2008
    Date of Patent: April 14, 2015
    Assignee: Automic Software, GmbH
    Inventors: Josef Schiefer, Gerd Saurer, Szabolcs Rozsnyai, Heinz Roth, Martin Suntinger
  • 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: 8997113
    Abstract: A computing platform may include heterogeneous processors (e.g., CPU and a GPU) to support sharing of virtual functions between such processors. In one embodiment, a CPU side vtable pointer used to access a shared object from the CPU 110 may be used to determine a GPU vtable if a GPU-side table exists. In other embodiment, a shared non-coherent region, which may not maintain data consistency, may be created within the shared virtual memory. The CPU and the GPU side data stored within the shared non-coherent region may have a same address as seen from the CPU and the GPU side. However, the contents of the CPU-side data may be different from that of GPU-side data as shared virtual memory may not maintain coherency during the run-time. In one embodiment, the vptr may be modified to point to the CPU vtable and GPU vtable stored in the shared virtual memory.
    Type: Grant
    Filed: September 24, 2010
    Date of Patent: March 31, 2015
    Assignee: Intel Corporation
    Inventors: Shoumeng Yan, Sai Luo, Xiaocheng Zhou, Ying Gao, Hu Chen, Bratin Saha
  • 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
  • Patent number: 8990840
    Abstract: A system for reconfiguring a node of a complex system health monitoring system without recompiling and relinking executable code is provided. The system includes a software module containing previously compiled instructions to perform one of a plurality of different standardized functions and a computing node comprising a processor and plurality of software objects, the processor configured to execute the previously compiled instructions. The system further includes a configuration file configured to provide static and dynamic data to the software module, the configuration file comprising a dynamic data store (DDS), a static data store (SDS) and a binary code database (BCD). The BCD comprises a library of externally compiled executable algorithms that are callable by the software module. The BCD being configured with database identification and retrieval data structures associated with library of externally compiled executable algorithms.
    Type: Grant
    Filed: October 17, 2011
    Date of Patent: March 24, 2015
    Assignee: Honeywell International Inc.
    Inventors: Douglas L. Bishop, Martin Hlucka, Jeff vanderZweep
  • Patent number: 8984542
    Abstract: Disclosed are a method and system for binding a program object in a source code to one of a number of implementations of the program object, using caching techniques. Binding a program object to a particular implementation includes performing the binding process at compile time and runtime of the source code. During compilation phase, the program objects in the source code are identified, and each of the program objects is assigned a slot in a target cache. The slot is configured to store a pointer that points to a particular implementation of a program object to which the slot is assigned. During execution phase, the particular implementation of the program object is determined based on execution flow of the source code. After the particular implementation is determined, the program object is bound to the particular implementation by updating the assigned target cache slot with a pointer pointing to the particular implementation.
    Type: Grant
    Filed: November 30, 2012
    Date of Patent: March 17, 2015
    Assignee: Facebook, Inc.
    Inventors: Keith Adams, Andrew John Paroski, Jason Owen Evans
  • Patent number: 8984532
    Abstract: Loading of a component to an operating system process that is being executed on a node is initiated. Thereafter, a first available resource location is sequentially determined among a plurality of ranked component resource locations and according to the ranking. Subsequently, the component is loaded to the operating system process via the first available resource location. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: March 17, 2015
    Assignee: CareFusion 303, Inc.
    Inventors: Aron Weiler, Martin Orona
  • Patent number: 8978053
    Abstract: A hooking system for hooking predetermined references to predetermined dynamically loaded library (DLL) functions includes a DLL version identifier provided by a hook entry code to an enhanced hook. The hook entry code is dynamically generated during runtime of an affected software application. The version identifier enables unambiguous communication of a single enhanced hook with functions of multiple versions of identically named DLLs loaded into the same isolated process memory area.
    Type: Grant
    Filed: November 23, 2013
    Date of Patent: March 10, 2015
    Assignee: VMware, Inc.
    Inventor: Jonathan Clark