Object Oriented Dynamic Linking, Late Binding Patents (Class 719/332)
  • Patent number: 11614960
    Abstract: In an example embodiment, a specialized software object, called a behavior toggle, is utilized for stateful applications in cloud environments. The behavior toggle, once enabled and used by an entity, is not able to be disabled anymore for that entity, other than by explicit migration. Unlike feature toggles, whose values are expressed using “true” or “false” flags or the like, behavior toggles are enabled by specific version. Specifically, the value indicates which version of the behavior is enabled. The behavior toggle software objects may then be referenced by, or included in, other software objects, to utilize the behavior toggle software objects with the other software objects and have the behavior toggle be applied to the other software objects.
    Type: Grant
    Filed: May 25, 2022
    Date of Patent: March 28, 2023
    Assignee: SAP SE
    Inventors: Michael Kutik, Daniel Kirmse
  • Patent number: 11422850
    Abstract: In an example embodiment, a specialized software object, called a behavior toggle, is utilized for stateful applications in cloud environments. The behavior toggle, once enabled and used by an entity, is not able to be disabled anymore for that entity, other than by explicit migration. Unlike feature toggles, whose values are expressed using “true” or “false” flags or the like, behavior toggles are enabled by specific version. Specifically, the value indicates which version of the behavior is enabled. The behavior toggle software objects may then be referenced by, or included in, other software objects, to utilize the behavior toggle software objects with the other software objects and have the behavior toggle be applied to the other software objects.
    Type: Grant
    Filed: April 14, 2021
    Date of Patent: August 23, 2022
    Assignee: SAP SE
    Inventors: Michael Kutik, Daniel Kirmse
  • Patent number: 11228620
    Abstract: In particular embodiments, a Cross-Border Visualization Generation System is configured to: (1) identify one or more data assets associated with a particular entity; (2) analyze the one or more data assets to identify one or more data elements stored in the identified one or more data assets; (3) define a plurality of physical locations and identify, for each of the identified one or more data assets, a respective particular physical location of the plurality of physical locations; (4) analyze the identified one or more data elements to determine one or more data transfers between the one or more data systems in different particular physical locations; (5) determine one or more regulations that relate to the one or more data transfers; and (6) generate a visual representation of the one or more data transfers based at least in part on the one or more regulations.
    Type: Grant
    Filed: May 22, 2020
    Date of Patent: January 18, 2022
    Assignee: OneTrust, LLC
    Inventors: Jonathan Blake Brannon, Bryan Patrick Kveen, Dylan D. Patton-Kuhl
  • Patent number: 11150915
    Abstract: During verification of a bytecode, when a second class remains to be loaded for verification in an MRE, a verifier in the MRE is prevented from loading the second class, where the bytecode includes a relationship between a first class and the second class. The relationship is recorded and the verifier is caused to omit a loading operation on the second class. An execution is started of an application encoded in the bytecode. The second class is caused to be loaded and verified prior to a use of the second class during the execution.
    Type: Grant
    Filed: September 13, 2019
    Date of Patent: October 19, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Daniel Heidinga, Sharon Wang, Oluwatobi Adeoye Ajila, Graham Alan Chapman
  • Patent number: 11113180
    Abstract: Methods, systems and computer program products for tracking, encoding and decoding the code-location of runtime events. The system receives an encoded identifier function call as a parameter for a first function included in at least one file in a plurality of files of a source code base. The system returns a compact encoded identifier generated by the encoded identifier function call during compilation of the plurality of files of the source code base. In response to receiving a runtime event's identifier from execution of the source code base, the system decodes the encoded identifier to trace back to a unique location of the first function in the source code base, thereby identifying the filename and line number where the event occurred.
    Type: Grant
    Filed: January 31, 2020
    Date of Patent: September 7, 2021
    Assignee: salesforce.com, inc.
    Inventor: Aditya P. Gurajada
  • Patent number: 10761824
    Abstract: The present invention is an installation script generation engine. An application component distribution system can include a repository of semantic models for interdependent ones of application components. A mapping of individual listings in the semantic models to target platform specific installation instructions further can be included. Finally, a script generation engine can be configured to produce a target specific set of instructions for a specified application component based upon a mapping of at least one of the semantic models in the repository. Notably, each of the semantic models can include a listing of component relationships, target platform requirements and platform neutral installation instructions. Moreover, the component relationships can include at least one component relationship selected from the group consisting of a containment relationship, a usage relationship, a contradiction relationship, and an equivalence relationship.
    Type: Grant
    Filed: February 27, 2019
    Date of Patent: September 1, 2020
    Assignee: International Business Machines Corporation
    Inventors: Kwasi Addo Asare, Attila Barta, Richard D. Huddleston, Daniel Everett Jemiolo
  • Patent number: 10496417
    Abstract: Modular co-versioning may involve the creation of multi-version libraries that may include multiple versions of a class. A multi-version library may include a base version and one or more other versions each of which may correspond to a particular, respective version of a software development kit, runtime environment or software platform, according to various embodiments. At runtime, a multi-version library may be searched in order to load a version of a class that corresponds to the version of the currently executing runtime environment. If the multi-version library does not include a version of the class corresponding to the currently executing version of the environment/platform, a version of the class corresponding to a previous version of the environment may be loaded if found in the multi-version library. Alternatively, if no other version of the class is found, a base version of the class may be loaded from the multi-version library.
    Type: Grant
    Filed: December 12, 2016
    Date of Patent: December 3, 2019
    Assignee: Oracle International Corporation
    Inventors: Brian Goetz, Paul D. Sandoz
  • Patent number: 10374894
    Abstract: Exemplified system and method facilitates update/upgrade and validation of controls systems in an uninterrupted manner. An update/upgrade agent operates with a multiple-processor or multi-processor core system to simultaneously and concurrently implement two real-time embedded controllers in which a first controller executes a current firmware or control application installed at the site while a second controller executes an updated controller firmware or control application.
    Type: Grant
    Filed: May 15, 2017
    Date of Patent: August 6, 2019
    Assignee: INTELLIGENT PLATFORMS, LLC
    Inventors: Daniel Halvard Miller, Rodney Rice
  • Patent number: 10318327
    Abstract: A virtual runtime module that omits an internal functional implementation of an associated executable module and that includes a runtime-resolvable public interface of the associated executable module is obtained using a processor within a module-based system. The virtual runtime module within the module-based system is resolved, using the runtime-resolvable public interface of the virtual runtime module, to satisfy dependencies associated with the executable module within the module-based system. At least a portion of the internal functional implementation of the associated executable module within the module-based system is installed during runtime using the resolved virtual runtime module.
    Type: Grant
    Filed: April 18, 2016
    Date of Patent: June 11, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Graham C. Charters, David J. Vines, Timothy J. Ward
  • Patent number: 10237118
    Abstract: Described herein is a technology which facilitates an effective and efficient management of a data center. In one implementation, the data center includes a container cloud manager which embeds container framework, such as Docker framework to manage App images and containers of the data center. An App image is packed back to a container which starts when the App image is requested. The use of container is lightweight and starts fast, avoiding the need for installation of the App. Furthermore, the data center is a distributed management system, which includes multiple copies of an App image as well as multiple copies of the cloud container manager. This ensures continuous operation of the data center.
    Type: Grant
    Filed: November 18, 2016
    Date of Patent: March 19, 2019
    Assignee: SAP SE
    Inventors: Long Du, Yu Wang, Daping Wang
  • Patent number: 10223095
    Abstract: The present invention is an installation script generation engine. An application component distribution system can include a repository of semantic models for interdependent ones of application components. A mapping of individual listings in the semantic models to target platform specific installation instructions further can be included. Finally, a script generation engine can be configured to produce a target specific set of instructions for a specified application component based upon a mapping of at least one of the semantic models in the repository. Notably, each of the semantic models can include a listing of component relationships, target platform requirements and platform neutral installation instructions. Moreover, the component relationships can include at least one component relationship selected from the group consisting of a containment relationship, a usage relationship, a contradiction relationship, and an equivalence relationship.
    Type: Grant
    Filed: May 31, 2017
    Date of Patent: March 5, 2019
    Assignee: International Business Machines Corporation
    Inventors: Kwasi Addo Asare, Attila Barta, Richard D. Huddleston, Daniel Everett Jemiolo
  • Patent number: 10102282
    Abstract: An apparatus for processing Mediation Bridge Ontology (MBO) based on ontology alignment patterns. The apparatus includes an MBO strategy design pattern component to have a plurality of strategy design pattern classes, to request, from a Pattern Relationship Model (PRM) component, a PRM for execution of the plurality of strategy design pattern classes, to receive the requested PRM from the PRM component, to execute a strategy design pattern using the received PRM, to acquire alignment information from the executed strategy design pattern, and to store the acquired alignment information, an MBO mediation pattern component to add a new class to the MBO strategy design pattern component through an interface used for communicating with other objects, and the PRM component to have a plurality of PRMs, and, in response to a request from the MBO strategy design pattern component, to provide a PRM to the MBO strategy design pattern component.
    Type: Grant
    Filed: November 18, 2015
    Date of Patent: October 16, 2018
    Assignee: UNIVERSITY-INDUSTRY COOPERATION FOUNDATION OF KYUNG HEE UNIVERSITY
    Inventors: Sung Young Lee, Wajahat Ali Khan
  • Patent number: 9886524
    Abstract: Systems and methods are provided that produce a report of generally available information, including over networks and particularly the Internet.
    Type: Grant
    Filed: November 6, 2013
    Date of Patent: February 6, 2018
    Assignee: STERLING INFOSYSTEMS, INC.
    Inventors: Michael M. Richardson, David S. De Angelo, Frank A. Materia, Eduard Spivak
  • Patent number: 9710355
    Abstract: Systems and methods are described herein for selectively loading code elements included in a plurality of software entities comprising a target software entity and one or more reference software entities to facilitate analysis of the target software entity by a code analysis tool, such as a static code analysis tool. In one embodiment, all of the code elements in the target software entity are loaded while only those code elements included in the reference software entities that are determined to be most important from a dependency standpoint are loaded. The loaded code elements may be used to obtain suitable definitions of the code elements included in the target software entity for the purpose of code analysis.
    Type: Grant
    Filed: January 14, 2010
    Date of Patent: July 18, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Bartolomeo, Todd L. King
  • Patent number: 9622180
    Abstract: Systems and methods for regulating alerts in a wearable device are disclosed. The alerts may be generated from a mobile device or a wearable device communicatively coupled to the mobile device. The system may include an alert storage module that receives alerts of various types, and generate a plurality of alert heaps each including respective one or more alerts. The system may determine for an alert a respective cost value associated with issuing a notification of the alert. The alert heaps may be merged to produce a cost-biased leftist heap including prioritized alerts based on the cost values of the alerts. The system may generate a queue of notification commands based on the prioritized alerts, and transmit the commands to the wearable device.
    Type: Grant
    Filed: December 23, 2015
    Date of Patent: April 11, 2017
    Assignee: Intel Corporation
    Inventors: Fai Yeung, Fu Zhou, Miril Chheda
  • Patent number: 9465656
    Abstract: Methods, systems and computer program products for scheduler penalty for swapping activity. Exemplary embodiments include a memory management method, including identifying a first process from an active queue, identifying a second process from the active queue, tracking attributes associated with the first and second processes, determining whether at least one of the first and second processes are constraining system memory and penalizing at least one of the first and second processes in response to at least one of the first and second processes constraining the system memory.
    Type: Grant
    Filed: April 1, 2009
    Date of Patent: October 11, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert J. Brenneman, Eli M. Dow, William J. Huie, Sarah J. Sheppard
  • Patent number: 9466037
    Abstract: Particular embodiments generally relate to the orchestration of an order fulfillment business process using effectivity dates and versioning. In one embodiment, a plurality of services in the order fulfillment business process are provided. A definition of a business process including one or more services is received from an interface. The one or more services may be defined in steps to be performed in the order fulfillment business process. An effectivity date associated with the definition is also received from the interface. For example, the effectivity date may be associated with the business process or individual steps in the business process and may specify a period of time during which the process or step can be used. The effectivity dates and versioning may then be enforced at run-time.
    Type: Grant
    Filed: November 12, 2009
    Date of Patent: October 11, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Lynn Leah Reed, Muhammad Zeeshan Butt, Shrikant Nene, Alok Singh, Krishna Raju Venkata Addala
  • Patent number: 9442960
    Abstract: A method, a system, and a computer-readable medium are provided which provide an efficient data layout for image data and fast access to samples of an image stored in hierarchical z-order format. An array of image data of a physical entity is ordered in a hierarchical z-order at a computing device. Data blocks are created from the array ordered based on the hierarchical z-order. Data files containing a predetermined number of successive data blocks are created from the created data blocks. A directory structure is created in a file system of a second computing device based on the hierarchical z-order. The created data files are stored in the created directory structure based on the hierarchical z-order.
    Type: Grant
    Filed: May 15, 2009
    Date of Patent: September 13, 2016
    Assignee: LAWRENCE LIVERMORE NATIONAL SECURITY, LLC
    Inventor: Valerio Pascucci
  • Patent number: 9411647
    Abstract: The embodiments simplify the development of applications for current and future wireless communication devices, resolving the deficiencies of current methods by providing a hierarchical routing layer which abstracts the actual proximity of the network connection. An application can request and receive a type of network connection without having to address details of the actual connection established. A hierarchical routing layer is provided within the software architecture of each processor within the computing device. The hierarchical routing layer abstracts the actual proximity of the network connectivity on the modem from the applications using proxy network interfaces. The hierarchical routing layers on each processor cooperate to identify a best network interface for an application network request.
    Type: Grant
    Filed: January 20, 2011
    Date of Patent: August 9, 2016
    Assignee: QUALCOMM Incorporated
    Inventors: Uppinder Singh Babbar, Venkata Satish Kumar Vangala
  • Patent number: 9405515
    Abstract: Systems and methods for providing dynamic libraries in safety critical computing environments are disclosed. Controlled dynamic libraries and isolated execution spaces are utilized. In some embodiments, the controlled dynamic libraries and isolated execution spaces are implemented in full compliance with rules and standards established by aviation regulatory and government agencies, allowing systems utilizing the controlled dynamic libraries to be certifiable for avionics.
    Type: Grant
    Filed: February 4, 2015
    Date of Patent: August 2, 2016
    Assignee: Rockwell Collins, Inc.
    Inventors: Joshua R. Bertram, Jason A. Myren
  • Patent number: 9342319
    Abstract: Handling a virtual method call includes extracting, from a pointer to an object, an identifier associated with the class of the object, the pointer to the object being associated with the virtual method call, and the identifier being embedded within the pointer; using the identifier to obtain a virtual method table, including locating a first entry in a class identifier table mapping a plurality of class identifiers to a corresponding plurality of class data, the first entry being associated with the identifier and comprising the virtual method table or a pointer used to obtain the virtual method table; locating a second entry in the virtual method table, the second entry being associated with the virtual method call; and jumping to an address associated with the second entry to execute code at the address.
    Type: Grant
    Filed: August 11, 2014
    Date of Patent: May 17, 2016
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Cliff N. Click, Jr., Murali Sundaresan, Michael A. Wolf
  • Patent number: 9286058
    Abstract: The apparatuses, methods and systems for API call abstraction includes obtaining programming code for an application. The obtained programming code is parsed to identify various instructions contained therein. An application programming interface (API) call is identified in the programming code, based on the parsing. The API call includes an input string. It is then determined whether the API call requires a pre-registered bundle to replace the input string. A database is queried for the pre-registered bundle using the input string. The pre-registered bundle is retrieved and is incorporated into the application by replacing the input string.
    Type: Grant
    Filed: July 21, 2014
    Date of Patent: March 15, 2016
    Assignee: Zynga Inc.
    Inventors: Amitt Mahajan, Luke Rajlich
  • Patent number: 9183011
    Abstract: A method for runtime environment emulation involves loading an application class of an object-oriented application, where the object-oriented application is executing in a runtime environment, and where the application class includes a method call that is unsupported by the runtime environment. The method further involves translating, during loading of the application class, the unsupported method call into one or more method calls that are supported by the runtime environment, to obtain a translated class, where the one or more supported method calls emulate the unsupported method call.
    Type: Grant
    Filed: October 31, 2006
    Date of Patent: November 10, 2015
    Assignee: Oracle America Inc.
    Inventors: Kyle Matthew Buza, Robert James Rocchetti
  • Patent number: 9166909
    Abstract: Redirecting network traffic within a system under test (SUT) can include receiving, within a proxy included within the SUT, a request sent from an upstream component that is directed to a downstream component, wherein the upstream component is configured to direct communications through the proxy. Within the proxy, the request can be redirected from the downstream component to a simulation component according to a routing rule within the proxy using a processor. A response can be received, within the proxy, from the simulation component and sent to the upstream component.
    Type: Grant
    Filed: June 27, 2012
    Date of Patent: October 20, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John N. Chewter, Peter A. Cole, Daniel S. Pollitt, Geoffrey D. Walters
  • Patent number: 9160653
    Abstract: Redirecting network traffic within a system under test (SUT) can include receiving, within a proxy included within the SUT, a request sent from an upstream component that is directed to a downstream component, wherein the upstream component is configured to direct communications through the proxy. Within the proxy, the request can be redirected from the downstream component to a simulation component according to a routing rule within the proxy using a processor. A response can be received, within the proxy, from the simulation component and sent to the upstream component.
    Type: Grant
    Filed: June 7, 2012
    Date of Patent: October 13, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John N. Chewter, Peter Cole, Daniel S. Pollitt, Geoffrey D. Walters
  • Patent number: 9146736
    Abstract: A method, system and computer program for dynamically updating code managed by an authorized agent. The method includes executing multiple versions of agent code in system memory. One version of the agent code is executed as an active version and another version of the agent code is executed as an inactive version. Version numbers of the active and inactive versions of the agent code are stored in a reloadable module vector. Client instances previously bound to the inactive version of the agent code are bound to the active version of the agent code after comparing the version numbers of the active version of the agent code and the inactive version of the agent code. A portion of the system memory used by the inactive version of the agent code is deallocated when no client instances are bound to the inactive version of the agent code.
    Type: Grant
    Filed: December 9, 2013
    Date of Patent: September 29, 2015
    Assignee: International Business Machines Corporation
    Inventors: David A. Follis, Timothy D. Kaczynski, Matthew J. Sykes
  • Patent number: 9141408
    Abstract: A computer system, method, or computer-readable medium corrects a broken portion of an application. A fingerprint indicates classes that comprise the application. The classes indicated in the fingerprint are looked up to determine whether any is broken. For a broken class, a fixed class is substituted when the broken class is loaded at class load time for the application; a fixed class method is substituted into the broken class, when the broken class is loaded at class load time; fixed byte code is substituted for broken byte code corresponding to the broken class, when the broken class is loaded at class load time; the broken class is unloaded and the fixed class is loaded instead, when the application is running; or the broken class is replaced inside the static application with the fixed class; all without replacing classes which are not broken.
    Type: Grant
    Filed: July 20, 2012
    Date of Patent: September 22, 2015
    Assignee: Sonatype, Inc.
    Inventors: Wayne Jackson, Brian Edward Fox, Mike Hansen, Stuart McCulloch, Jason Van Zyl
  • Patent number: 9135025
    Abstract: A method for executing an application in an application class library by an application launcher software component, the application launcher software component having associated a name, the method comprising the steps of: deriving a unique application class identifier from the name of the application launcher software component; and instantiating an application class having the application class identifier.
    Type: Grant
    Filed: April 17, 2007
    Date of Patent: September 15, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Timothy Peter Ellison
  • Patent number: 9135039
    Abstract: Object calls for objects not available on a local virtual machine are fulfilled by requesting the object itself from a remote virtual machine and reconstructing a local instance of the requested object on the local virtual machine. The local instance is reconstructed using information about the class, variables, and methods associated with the remote instance of the object communicated to the local virtual machine. Present and future calls to the object are then directed to the local instance of the requested object.
    Type: Grant
    Filed: May 30, 2013
    Date of Patent: September 15, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Krishna Prashanth
  • 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
  • Patent number: 9032419
    Abstract: A component instance manager of a database system generates an instance of the application function. The component instance manager then generates an executor for the application function, and requests an instance of a component class of the application function from a package manager of the database system. A void pointer associated with the instance of the component class and a wrapper function address associated with the application function are accessed by the component instance manager, where the void pointer and wrapper function address comprise runtime parameters of the application function. The application function is thereafter executed by the executor according to the runtime parameters.
    Type: Grant
    Filed: December 16, 2011
    Date of Patent: May 12, 2015
    Assignee: SAP SE
    Inventor: Peter Goertz
  • Patent number: 9021512
    Abstract: Embodiments relate to runtime management of table of contents (TOC) pointer save and restore commands. An aspect includes receiving, by a computer system, application object code comprising a first function call. Another aspect includes determining, at runtime of the application object code, that the first function call comprises an external function call from a calling function in the application object code to a callee function that is external to the application object code. Yet another aspect includes, based on determining that the first function call comprises the external function call, inserting a TOC save command and a TOC restore command corresponding to the first function call into the application object code.
    Type: Grant
    Filed: September 11, 2014
    Date of Patent: April 28, 2015
    Assignee: International Business Machines Corporation
    Inventor: Michael K. Gschwind
  • Patent number: 9021511
    Abstract: Embodiments relate to runtime management of table of contents (TOC) pointer save and restore commands. An aspect includes receiving, by a computer system, application object code comprising a first function call. Another aspect includes determining, at runtime of the application object code, that the first function call comprises an external function call from a calling function in the application object code to a callee function that is external to the application object code. Yet another aspect includes, based on determining that the first function call comprises the external function call, inserting a TOC save command and a TOC restore command corresponding to the first function call into the application object code.
    Type: Grant
    Filed: March 14, 2014
    Date of Patent: April 28, 2015
    Assignee: International Business Machines Corporation
    Inventor: Michael K. Gschwind
  • Patent number: 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: 8983636
    Abstract: A client configuration tool configured to program a universal master control station to allow expansion of an existing oil field, monitoring and controlling of subsea/topside field equipment provided by multiple vendors, or combinations thereof.
    Type: Grant
    Filed: October 28, 2011
    Date of Patent: March 17, 2015
    Assignee: Englobal Corporation
    Inventors: Bert M. Weldon, Artemus Ward Hancock, Jr., Anthony King Ho, Van Kent Wilson
  • 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: 8954475
    Abstract: Techniques are described herein that are capable of deep cloning (a.k.a. deep copying) objects using a binary format. A deep clone of a designated object includes references to other objects (and potentially copies of the other objects) included in the designated object. A binary representation of each object in an object graph is generated to provide a binary clone of the object graph. Objects created by a dynamic language engine are called dynamic language objects. Objects created by a host (e.g., that hosts the dynamic language engine) are called host objects. Each host object is associated with an intermediate representation thereof via a property bag that describes properties of that host object. Each intermediate representation is understandable by the dynamic language engine. A binary representation of each dynamic language object and each host object may be generated in accordance with the binary format to provide the binary clone.
    Type: Grant
    Filed: November 10, 2011
    Date of Patent: February 10, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gaurav Seth, Jianchun Xu, Koundinya Veluri, Geoffrey M. Kizer
  • Patent number: 8910127
    Abstract: According to an example implementation, a computer-readable storage medium, computer-implemented method and a system are provided to receive a first class, the first class indirectly implementing a first interface, wherein the first class extends a second class that directly implements the first interface, identify one or more directly implemented methods within the first class, determine a method signature for one or more of the directly implemented methods, estimate that the first class indirectly implements the first interface based on the method signatures for the one or more directly implemented methods, and instrument the first class based on the estimating that the first class indirectly implements the first interface.
    Type: Grant
    Filed: September 20, 2012
    Date of Patent: December 9, 2014
    Assignee: Identify Software Ltd. (IL)
    Inventors: Shiri Semo Judelman, Asaf Dafner, Eyal Koren
  • Patent number: 8875165
    Abstract: Provided are a computing device provided with a DLL injection function and a DLL injection method. When receiving from an operating system notification of whether a target process corresponding to a program ordered by a user to be executed is created, a process creation module of an injection program executes a launcher process to create the target process as a child process of the launcher process and sets the target process to a suspend mode. A code insertion module receives allocation of a memory region where the target process is stacked, using a process handle of the target process, to insert a code for executing a DLL file to be injected into the target process. A restoration module cancels the suspend mode of the target process to allow the target process to be executed.
    Type: Grant
    Filed: March 12, 2012
    Date of Patent: October 28, 2014
    Assignee: Fasoo.com Co., Ltd
    Inventors: Jong-Il Lee, Nam-Su Yi
  • Patent number: 8843944
    Abstract: Determining a class of an object is disclosed. A pointer of the object is obtained. One or more bits that are not implemented as address bits are extracted from the pointer. The one or more bits are interpreted as an identifier of the class of the object. The class of the object is determined to correspond to the identifier.
    Type: Grant
    Filed: June 9, 2011
    Date of Patent: September 23, 2014
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Murali Sundaresan, Michael A. Wolf
  • Patent number: 8819695
    Abstract: Various embodiments are directed to computer networks, computer systems, computer-implemented methods, and computer program products for controlling application landscapes. The computer network may comprise an application landscape comprising a plurality of components and at least one sequence of processes which can run in the application landscape and a central control unit comprising a central control mechanism and a repository, wherein the central control unit is operable to control the application landscape and wherein the central control mechanism comprises an activation mechanism operable to check in the sequence of processes for activation in the application landscape.
    Type: Grant
    Filed: January 27, 2012
    Date of Patent: August 26, 2014
    Assignee: SAP AG
    Inventor: Oliver Daute
  • Patent number: 8813103
    Abstract: A computer-implemented method for handling component-object-model communications. The method may include identifying a request to instantiate a component-object-model object through a remote-procedure-call process. The component-object-model object may be associated with an out-of-process component-object-model server registered in a first environment. The remote-procedure-call process may be running in a second environment with a different registry than the first environment. The method may also include allowing the remote-procedure-call process to access the first environment. Corresponding systems and computer-readable media are also disclosed.
    Type: Grant
    Filed: January 7, 2013
    Date of Patent: August 19, 2014
    Assignee: Symantec Corporation
    Inventors: Ryan McCarten, Suneet Nandwani, Yury Mazin
  • Patent number: 8813104
    Abstract: A system and method of accessing functions includes running n-bit based code in an n-bit supporting system environment. An m-bit based provider object is instantiated in an m-bit hardware and operating system environment server. The provider object provides an interface between the n-bit based code and m-bit based server functions. m-bit based server functions are accessed from the n-bit based code via the m-bit based provider object.
    Type: Grant
    Filed: December 17, 2007
    Date of Patent: August 19, 2014
    Assignee: CA, Inc.
    Inventor: Ralf Saborowski
  • Patent number: 8793667
    Abstract: An analysis tool analyzes a software system by simulating runtime binding in order to identify function-level code dependencies. The tool receives a list of one or more entry point functions and identifies other functions that can be invoked if the entry point functions are executed. The tool generates a tracker graph having tracker nodes representing classes that can be instantiated from the entry points. Each tracker node identifies functions/methods in that class that can be invoked from the entry points. If the software system uses an object-relational mapping to a database, the tracker graph also identifies the portions of the database that can be accessed from the entry points. The tool can be used to partition the functionalities of the software system into core and non-core functionalities in order to support upgrading while maintaining high-availability.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: July 29, 2014
    Assignee: Google Inc.
    Inventors: Andrew Huang, Hong Yan
  • Patent number: 8776098
    Abstract: A computer implemented method, apparatus, and computer-usable program product for exchanging data using data transformation are provided. A first data binding component receives data from a function selector. A set of data bindings capable of invocation by the first data binding component is available. The function selector determines a content type associated with the data. The first data binding component receives the data and the content type from the function selector. The first data binding component invokes a data binding corresponding to the content type from the set of data bindings to transform the data into a data object. The data object has an object name. A target application is determined based on the object name, and the data object is then routed to a target application.
    Type: Grant
    Filed: February 3, 2012
    Date of Patent: July 8, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jason N. Lacombe, Adriana M. Loghin, Travis E. Nelson, Venkat A. Reddy, Suraksha Vidyarthi
  • Patent number: 8745643
    Abstract: The method is for deploying an input class in a computer readable memory. A state class is created that has at least one field and at least one proxy method and a behavior class version that includes at least one method on the basis of the input class. At least one method call of the state class is redirected to the behavior class version. Also, an arrangement and a computer-software are disclosed.
    Type: Grant
    Filed: August 29, 2012
    Date of Patent: June 3, 2014
    Assignee: Zeroturnaround Ou
    Inventor: Evgueni Kabanov
  • Publication number: 20140089949
    Abstract: Subsections of locale objects are dynamically built from locale source files when requested at run-time without building all subsections of the locale object. When a subsection of a locale object is dynamically built, the subsection is stored in global memory so it may be read by multiple applications. Dynamically building subsections of locale objects when requested allows software to operate with a relatively small number of locale objects instead of with hundreds or thousands of locale objects, as is known in the art, and requires fewer system resources because only the requested subsection of the locale object is built when it is requested. The result is significant savings in system-wide resources while still allowing for access to a large number of possible locales.
    Type: Application
    Filed: September 26, 2012
    Publication date: March 27, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Leander Bromley, JR., Christopher J. Brown, Thuy Phuong Christenson, Patrick L. Glenski, Kershaw S. Mehta
  • Patent number: 8661410
    Abstract: A computer-implemented method, system, and medium is disclosed for implementing a hybrid application server. The server is configured to determine that a bundle deployed onto a dynamic module system defines a component that is manageable by an application server component container. In response to the determining, the application server deploys the component onto the component container and creates an instance of the component in the container so that the container can manage the component. Finally, the application server registers a proxy handle to the component as a service in the dynamic module system. Thereafter, the proxy handle is discoverable and invocable by another component.
    Type: Grant
    Filed: March 11, 2011
    Date of Patent: February 25, 2014
    Assignee: Oracle International Corporation
    Inventors: Sanjeeb Sahoo, Sivakumar Melapannai Thyagarajan
  • Patent number: 8655998
    Abstract: An end-to-end approach is provided for developing and maintaining network device management applications. The approach includes an XML-based development environment for network device management applications that uses Management Data API (MDA) schemas that define a hierarchical data model for components supported by a network device. The XML-based development environment also uses XML schemas to define a common XML-based interface used by management applications to access management data maintained on the network device. The approach provides programmatic access to network device management data and management data schema with an XML-based data model and interface that is consistent across all network device components. The approach includes mechanisms for automatically generating XML requests that conform to a hierarchical data model from requests that conform to a table-based data model.
    Type: Grant
    Filed: December 2, 2003
    Date of Patent: February 18, 2014
    Assignee: Cisco Technology, Inc.
    Inventors: Satyanarayana Raju, Christopher Norris, Lei Yuan, David Anthony Tanner
  • Patent number: 8639776
    Abstract: A method of building and assembling programs across computer networks that is dictated by the user to perform logical work without the user using a compiler. Users are able to assemble programs over a network by defining or re-defining which logical components are bound into the overall program without the use of a compiler. Logical components are called and bound into the program at run time, allowing dynamic programming which may be modified at any time without re-compiling the entire program. Each logical component can act independently of other logical components or work in concert with each other. This allows assembly of a program, even though some components may be created using totally different methodologies and/or are constructed by different programmers.
    Type: Grant
    Filed: July 28, 2010
    Date of Patent: January 28, 2014
    Inventor: Jimmy J. Jenkins