Shared Patents (Class 717/164)
  • Patent number: 10235144
    Abstract: A short pointer mode application has been loaded. Based on determining that the short pointer mode application has been loaded, an address space configured for a long pointer mode environment is reconfigured. The address space has one portion addressable by short pointers of a defined size and another portion addressable by long pointers of another defined size, and the reconfiguring includes obtaining a long pointer library, and loading the long pointer library in the one portion of the address space addressable by short pointers.
    Type: Grant
    Filed: August 14, 2018
    Date of Patent: March 19, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Michael K. Gschwind
  • Patent number: 10061572
    Abstract: A short pointer mode application has been loaded. Based on determining that the short pointer mode application has been loaded, an address space configured for a long pointer mode environment is reconfigured. The address space has one portion addressable by short pointers of a defined size and another portion addressable by long pointers of another defined size, and the reconfiguring includes obtaining a long pointer library, and loading the long pointer library in the one portion of the address space addressable by short pointers.
    Type: Grant
    Filed: December 1, 2017
    Date of Patent: August 28, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Michael K. Gschwind
  • Patent number: 9852000
    Abstract: Techniques described herein generally relate to consolidating computation tasks associated with a plurality of virtual machines. In one embodiment, a method may include forming a pipeline having at least a first core and a second core after having detected a formation condition, identifying a first set of operations of a first virtual machine running on a first host device that are similar to a second set of operations of a second virtual machine running on a second host device, identifying a third set of operations of the first virtual machine that are similar to a fourth set of operations of the second virtual machine, dispatching the first set of operations and the second set of operations to the first core of the pipeline for execution, and dispatching the third set of operations and the fourth set of operations to the second core of the pipeline for execution.
    Type: Grant
    Filed: August 27, 2013
    Date of Patent: December 26, 2017
    Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: Xudong Ma
  • Patent number: 9703542
    Abstract: An embodiment of the present invention discloses a preinstalled application management method for a mobile terminal, where storage space of the mobile terminal includes at least one directory, and an installation package of at least one preinstalled application is stored in the at least one directory. The method includes: starting the mobile terminal; scanning the at least one directory; and installing the installation package of the at least one preinstalled application in the at least one directory to generate a preinstalled application having user-level permission. Besides, an embodiment of the present invention further provides a mobile terminal. By using the method and the mobile terminal, the preinstalled application can be uninstalled.
    Type: Grant
    Filed: June 7, 2016
    Date of Patent: July 11, 2017
    Assignee: Huawei Device Co., Ltd.
    Inventors: Haiyan Xu, Guoqiao Chen
  • Patent number: 9665849
    Abstract: A mechanism for employing dependency graph in software build projects is disclosed. A method of implementation of the invention includes receiving a first build script file associated with a software project, the first build script file identifying a plurality of project dependencies associated with the software project. The method also includes parsing the first build script file to generate a project dependency graph corresponding to the first build script file. The project dependency graph includes a plurality of vertices representing to the plurality of software project dependencies and further includes a plurality of edges representing relationships between the plurality of the software project dependencies. The method also includes determining a build order of the plurality of software project dependencies using the project dependency graph.
    Type: Grant
    Filed: February 26, 2015
    Date of Patent: May 30, 2017
    Assignee: Red Hat, Inc.
    Inventor: John Dennis Casey
  • Patent number: 9575780
    Abstract: The present invention relates to a method and an apparatus for generating an executable file of a multi-instance service. The method includes: performing compilation for a source file corresponding to a multi-instance service, to obtain a first-class object file, where the multi-instance service includes N instances, and N is a natural number greater than or equal to 2; performing an object copy of the first-class object file N?1 times, to obtain N?1 new first-class object files; and performing linking to the first-class object file and the N?1 new first-class object files, to generate an executable file. In the present invention, an executable file is generated by performing mirroring and linking processing for an object file obtained by compilation, thereby reducing a development cost and a maintenance cost of software source code.
    Type: Grant
    Filed: July 25, 2014
    Date of Patent: February 21, 2017
    Assignee: Huawei Technologies Co., Ltd.
    Inventors: Kai Liu, Shilin Pan, Miaofang Xia
  • Patent number: 9323512
    Abstract: Various embodiments herein include at least one of systems, methods, and software to export and import an application. Some embodiments include a user selecting a source system and a target system, and automatically exporting an application from a source system and automated import of this export to the target system. Exporting an application can include testing whether a software export tool version is compatible with a software import tool version, and installing a compatible software import tool on the target system. Some embodiments include informing the user that the application has been successfully imported.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: April 26, 2016
    Assignee: SAP SE
    Inventor: Christian Schwaninger
  • Patent number: 9239773
    Abstract: A method for debugging a program that includes declarative code and procedural code includes presenting to a user on an output device data relating to execution of the procedural code and data relating to execution of the declarative code. The data is presented in the form of a sequence of execution events corresponding to a computational flow of an execution of the program.
    Type: Grant
    Filed: October 29, 2014
    Date of Patent: January 19, 2016
    Assignee: CADENCE DESIGN SYSTEMS, INC.
    Inventors: Marat Teplitsky, Reuven Naveh, Rotem Gubes, Raz Azaria
  • Patent number: 9227319
    Abstract: A robot control system and method includes plural actuators provided on a robot, plural controller modules, each of which controls at least one of the actuators and includes a program to perform a motion and an ID, an adjustment module to register a control right of each controller module over the at least one of the actuators and to perform at least one motion when a request for the at least one motion is made, and an abstraction layer module to judge whether or not a detected controller module is a controller module having the control right over the at least one of the actuators by confirming the ID of the controller module, and to drive the at least one of the actuators by controlling execution of the controller module upon judging that the detected controller module is the controller module having the control right.
    Type: Grant
    Filed: December 8, 2011
    Date of Patent: January 5, 2016
    Assignee: Samsung Electronics Co., Ltd.
    Inventor: Yoon Soo Kim
  • Patent number: 9201913
    Abstract: Techniques for managing a file-based versioning of data objects include receiving, from a back-end computing system, a transport request that includes an updated transport object, the updated transport object including serialized database content of a data object; converting the serialized database content of the updated transport object to file-based content; storing the file-based content of the updated transport object in a repository over a previously-stored version of the transport object; and updating a database that includes a change history of the data object based on the storage of the file-based content in the repository.
    Type: Grant
    Filed: June 21, 2013
    Date of Patent: December 1, 2015
    Assignee: SAP SE
    Inventor: Ralf-Juergen Hauck
  • Patent number: 9003158
    Abstract: A store gathering policy is enabled or disabled at a data processing device. A store gathering policy to be implemented by a store buffer can be selected from a plurality of store gathering polices. For example, the plurality of store gathering policies can be constrained or unconstrained. A store gathering policy can be enabled by a user programmable storage location. A specific store gathering policy can be specified by a user programmable storage location. A store gathering policy can be determined based upon an attribute of a store request, such as based upon a destination address.
    Type: Grant
    Filed: October 19, 2012
    Date of Patent: April 7, 2015
    Assignee: Freescale Semiconductor, Inc.
    Inventors: William C. Moyer, Quyen Pho
  • Publication number: 20140282457
    Abstract: Systems and methods are provided for deploying new software application features as a dynamically-loadable executable package including one or more dynamically-linked shared dependent libraries. The dynamically-loadable executable package may be capable of being loaded into volatile memory and executed in an information handling system environment with or without the dependent shared libraries, and without duplicating the presence or use of redundant shared libraries that may be already present on the existing software stack.
    Type: Application
    Filed: March 13, 2013
    Publication date: September 18, 2014
    Inventors: Alex C. Chow, John P. Harvey
  • Patent number: 8812813
    Abstract: A storage apparatus includes a first data section, a second data section, and a common data section. The first data section stores first data, the second data section stores second data, and the common data section stores common data. The storage apparatus stores a single copy of the common data. The common data and the first data correspond to a first memory bank. The common data and the second data correspond to a second memory bank.
    Type: Grant
    Filed: October 29, 2010
    Date of Patent: August 19, 2014
    Assignee: MStar Semiconductor, Inc.
    Inventor: Chih-Ta Chen
  • Patent number: 8769517
    Abstract: A common symbol table is generated, which includes symbols of a plurality of independent applications. The symbols included in the common symbol table are common symbols of the applications. The bulky information associated with the common symbols are stored in the common symbol table, and stubs used to locate the common symbols are stored in local tables of the applications.
    Type: Grant
    Filed: March 15, 2002
    Date of Patent: July 1, 2014
    Assignee: International Business Machines Corporation
    Inventors: Barry M. Baker, Robert O. Dryfoos, Daniel S. Gritter, Colette A. Manoni, Sunil Shenoi, Gerald B. Strait, Yuk S. Tam, Mei-Hui Wang
  • Patent number: 8762985
    Abstract: A method for providing a service in a user terminal device, which includes downloading a service hub program, installing the service hub program, generating an icon container corresponding to the service hub program, and displaying the icon container on a screen. If the icon container is selected, a list regarding an application program corresponding to the service hub program and a list regarding an icon of the application program are received from the server, and an icon regarding each application program included in the list regarding the application program corresponding to the service hub program is displayed according to the list regarding the icon of the application program.
    Type: Grant
    Filed: September 30, 2011
    Date of Patent: June 24, 2014
    Assignee: Samsung Electronics Co., Ltd
    Inventors: In-sung Cho, Nam-geol Lee, Young-seop Lee
  • Patent number: 8739147
    Abstract: A method for class isolation to minimize memory usage may include receiving a request for a requested class object from an application running on a device. The method may also include retrieving a class instance for the requested class object from a memory and determining if the class instance for the requested class object corresponds to an isolated system class; determining if the class instance for the requested class object corresponds to an application class in response to the class instance not corresponding to the isolated system class; determining that the class instance for the requested class object corresponds to a shared system class in response to the class instance not corresponding to the application class and the isolated system class; and obtaining a proxy class object for the shared system class in response to the class instance for the requested class object corresponding to the shared system class.
    Type: Grant
    Filed: April 15, 2011
    Date of Patent: May 27, 2014
    Assignee: International Business Machines Corporation
    Inventor: Berthold M. Lebert
  • Patent number: 8739117
    Abstract: A method and system for generating a developer interface using a loaded program. The method of generating a developer interface may share a plurality of components included in a loaded program through a communication interface, and generate a new program using components selected from among the plurality of shared components through the developer interface.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: May 27, 2014
    Assignee: NHN Entertainment Corporation
    Inventor: Dong Soo Lee
  • Patent number: 8726258
    Abstract: Approaches for customizing a unified extensible firmware interface (UEFI) compatible firmware component to support multiple hardware components. The UEFI compatible firmware component may be implemented by linking one or more executive drivers created in an executive module of the firmware component. The executive drivers, instead of platform drivers, are executed by UEFI dispatchers. The platform module, rather than being a collection of drivers, functions as a platform library that links to the executive drivers. One or more programs for providing one or more library functions to the one or more executive drivers are also linked into the firmware component. Call outs to board library functions provided by a board module are implemented in the executive drivers, instead of drivers of the platform module. The board library functions replace the one or more library functions provided to the executive drivers and reflect a change in a customer reference board (CRB).
    Type: Grant
    Filed: April 14, 2011
    Date of Patent: May 13, 2014
    Assignee: Phoenix Technologies Ltd.
    Inventor: James L. Mortensen
  • Patent number: 8719778
    Abstract: A method is disclosed for producing a software application with at least two layers, including a processing layer and a process layer, wherein each layer is encapsulated and hence platform-independent in its execution, the encapsulated layers communicating via an application programming interface. A system is also disclosed for producing an application including a flexible interconnection interface between encapsulated layers. By virtue of the implementation of an additional configurable interconnection interface in the application programming interface between two encapsulated application layers, the architecture layering can be retained regardless of the respective deployment, and only the communication profiles of the interconnection interfaces need be adapted to the deployment.
    Type: Grant
    Filed: July 20, 2007
    Date of Patent: May 6, 2014
    Assignee: Siemens Aktiengesellschaft
    Inventors: Karlheinz Dorn, Ralf Hofmann
  • Patent number: 8694981
    Abstract: Described herein are methods for sharing resource dependencies between applications stored on a system. For example, in at least certain embodiments, a computer-implemented method for sharing resource dependencies includes installing or initiating installation of multiple application bundles having one or more applications and respective resources on the system. Next, an installer determines identifiers (e.g., hash signatures) for first and second resources and determines whether the resources are identical if an identifier for the first resource matches an identifier for the second resource. Then, a link is created from the second application bundle to the first resource of the first application bundle if the first resource is identical to the second resource. The second resource may be removed from the system if it has been installed. Alternatively, installation of the second resource is terminated if it has not been installed on the system.
    Type: Grant
    Filed: November 17, 2010
    Date of Patent: April 8, 2014
    Assignee: Apple Inc.
    Inventors: Craig M. Federighi, Jack R. Matthew, Randy D. Saldinger, Steven C. Cento
  • Patent number: 8683491
    Abstract: There is provided an information processing apparatus including a message storage unit for storing a message sent to a component, and an execution processing unit for loading the component body into a computer in response to receiving an execution instruction on the component to execute the component body and process the message stored in the message storage unit prior to the execution instruction.
    Type: Grant
    Filed: May 7, 2010
    Date of Patent: March 25, 2014
    Assignee: International Business Machines Corporation
    Inventors: Masato Noguchi, Yoshiroh Kamiyama
  • Patent number: 8677331
    Abstract: A lock-clustering compiler is configured to compile program code for a software transactional memory system. The compiler determines that a group of data structures are accessed together within one or more atomic memory transactions defined in the program code. In response to determining that the group is accessed together, the compiler creates an executable version of the program code that includes clustering code, which is executable to associate the data structures of the group with the same software transactional memory lock. The lock is usable by the software transactional memory system to coordinate concurrent transactional access to the group of data structures by multiple concurrent threads.
    Type: Grant
    Filed: September 30, 2011
    Date of Patent: March 18, 2014
    Assignee: Oracle International Corporation
    Inventors: Virendra J. Marathe, David Dice
  • 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: 8661426
    Abstract: Class loader changes from at least one user-defined class loader to a bootstrap class loader are determined by a stack processing module during de-serialization of a serialized data object. A reference to each user-defined class loader is stored separately from a thread method frame stack in response to each determined change from the at least one user-defined class loader to the bootstrap class loader. For each user-defined class load operation of a user-defined class associated with the de-serialization of the serialized data object, a latest user-defined class loader (LUDCL) is identified using the stored reference and the user-defined class is loaded using the identified LUDCL.
    Type: Grant
    Filed: December 31, 2010
    Date of Patent: February 25, 2014
    Assignee: International Business Machines Corporation
    Inventors: Graham A. Chapman, Aruna A. Kalagnanam, Avinash Koradhanyamath, Ajith Ramanath
  • Patent number: 8656375
    Abstract: A cross-logical entity group is created that includes one or more accelerators to be shared by a plurality of logical entities. Instantiated on the accelerators are functions that are common across multiple logical entities. The functions to be instantiated are determined, for instance, dynamically during run-time.
    Type: Grant
    Filed: November 2, 2009
    Date of Patent: February 18, 2014
    Assignee: International Business Machines Corporation
    Inventors: Rajaram B. Krishnamurthy, Thomas A. Gregg
  • Patent number: 8650532
    Abstract: Methods, systems, and computer-readable media are disclosed to provide change notification based on updates to an uncompiled software development project. A particular method includes detecting a project switch to a first software development project from an uncompiled second software development project. A metadata representation of one or more software entities associated with the second software development project is created. The method also includes updating a file including one or more proxy classes of the first software development project, where the proxy classes are updated based on the metadata representation. One or more clients of the first software development project are notified that the file has been updated.
    Type: Grant
    Filed: May 11, 2010
    Date of Patent: February 11, 2014
    Assignee: Microsoft Corporation
    Inventors: John Z. Chen, Weida Zhao
  • Patent number: 8645466
    Abstract: A system for displaying the listings of files and/or folders in one of a plurality of different views (e.g., gallery view or list view). In particular embodiments, the system determines which of the views to display in the listings in based on: (1) the types of files to be displayed; (2) a specified preference of a content sharer; and/or (3) a specified preference of a content recipient. Various embodiments are particularly useful for displaying lists of files that a content sharer shares with a content recipient via a URL within the context of a synched file sharing system.
    Type: Grant
    Filed: September 13, 2012
    Date of Patent: February 4, 2014
    Assignee: Dropbox, Inc.
    Inventors: Aston Motes, Ivan Kirigin, Olumakinde Adegboyega Adeagbo, Yi Wei
  • Patent number: 8620272
    Abstract: A server receives an application update request from a mobile device. The request can include a specification of the mobile device and a license. The server can identify an available hardware component of the mobile device based on the specification. The server can identify an access privilege of the hardware component based on the license. The server can further identify an application that utilizes the available hardware component of the mobile device and is accessible under the identified access privilege. The server can recommend the application in response to the application update request.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: December 31, 2013
    Assignee: Apple Inc.
    Inventors: Nitin Ganatra, Scott Herz
  • Patent number: 8615755
    Abstract: A method and system for managing resources of a portable computing device is disclosed. The method includes receiving node structure data for forming a node, in which the node structure data includes a unique name assigned to each resource of the node. A node has at least one resource and it may have multiple resources. Each resource may be a hardware or software element. The system includes a framework manger which handles the communications between existing nodes within a node architecture. The framework manager also logs activity of each resource by using its unique name. The framework manager may send this logged activity to an output device, such as a printer or a display screen. The method and system may help reduce or eliminate a need for customized APIs when a new hardware or software element (or both) are added to a portable computing device.
    Type: Grant
    Filed: September 15, 2010
    Date of Patent: December 24, 2013
    Assignee: QUALCOMM Incorporated
    Inventors: Norman S. Gargash, Praveen Kumar Chidambaram
  • Patent number: 8615740
    Abstract: A computer implemented method, a computer program product and a data processing system provide a method for modifying a computer program during execution of the computer program by a processor unit. A computer receives an instruction string. The instruction string has a new function data therein for replacing current function data of a function of the computer program during execution of the computer program by a processor unit. The function is capable of being changed during execution of the computer program to modify the behavior of the computer program. The computer replaces the current function data with the new function data. The new function data modifies the computer program. The computer program is modified while the computer program is executed by the processor unit.
    Type: Grant
    Filed: March 25, 2011
    Date of Patent: December 24, 2013
    Assignee: International Business Machines Corporation
    Inventor: Robert W. Thompson
  • Patent number: 8612959
    Abstract: A code sequence made up multiple instructions and specifying an offset from a base address is identified in an object file. The offset from the base address corresponds to an offset location in a memory configured for storing an address of a variable or data. The identified code sequence is configured to perform a memory reference function or a memory address computation function. It is determined that the offset location is within a specified distance of the base address and that a replacement of the identified code sequence with a replacement code sequence will not alter program semantics. The identified code sequence in the object file is replaced with the replacement code sequence that includes a no-operation (NOP) instruction or having fewer instructions than the identified code sequence. Linked executable code is generated based on the object file and the linked executable code is emitted.
    Type: Grant
    Filed: October 3, 2011
    Date of Patent: December 17, 2013
    Assignee: International Business Machines Corporation
    Inventors: Robert J. Blainey, Michael K. Gschwind, James L. McInnes, Michael R. Meissner, Steven J. Munroe
  • Patent number: 8607212
    Abstract: A library of jobs is created, with the jobs performing predetermined functions. The jobs include a termination indication, which is success or failure. Input file formats of known file types are determined and a job stream to process the input files is constructed of the jobs linked according to the termination success or failure of the preceding job.
    Type: Grant
    Filed: July 31, 2009
    Date of Patent: December 10, 2013
    Assignee: Citigroup Global Markets Inc.
    Inventors: Gary A. Hoberman, Lestan D'Souza
  • Patent number: 8607211
    Abstract: A code sequence made up multiple instructions and specifying an offset from a base address is identified in an object file. The offset from the base address corresponds to an offset location in a memory configured for storing an address of a variable or data. The identified code sequence is configured to perform a memory reference function or a memory address computation function. It is determined that the offset location is within a specified distance of the base address and that a replacement of the identified code sequence with a replacement code sequence will not alter program semantics. The identified code sequence in the object file is replaced with the replacement code sequence that includes a no-operation (NOP) instruction or having fewer instructions than the identified code sequence. Linked executable code is generated based on the object file and the linked executable code is emitted.
    Type: Grant
    Filed: April 27, 2012
    Date of Patent: December 10, 2013
    Assignee: International Business Machines Corporation
    Inventors: Robert J. Blainey, Michael K. Gschwind, James L. McInnes, Michael R. Meissner, Steven J. Munroe
  • Patent number: 8561088
    Abstract: A method for registering a network application with an application programming interface (API) framework. In operation, a registrar may send a registration message that associates a namespace with the network application to the API framework. In one implementation, the namespace associated with the network application may be a uniform resource identifier. In another implementation, the registration message may specify a format of the standardized clients, a security policy, and the application resources associated with the network application.
    Type: Grant
    Filed: April 8, 2008
    Date of Patent: October 15, 2013
    Assignee: Microsoft Corporation
    Inventors: Jacob Kim, John Bruno, Thomas Jeyaseelan
  • Patent number: 8549505
    Abstract: A profiling method executed by a computer and system including generating a source code by adding a call instruction for a profile acquisition function to a source program of an application, generating an execution form of a profiling target program by linking a library of profile acquisition functions to the source code, executing the profiling target program in an operating system of a target system, calling a profile acquisition driver by executing the call instruction of the profile acquisition function via the library of the profile acquisition functions, and acquiring sampling information on an execution status of the profiling target program based on an interrupt occurrence by the profile acquisition driver.
    Type: Grant
    Filed: August 17, 2009
    Date of Patent: October 1, 2013
    Assignee: Fujitsu Semiconductor Limited
    Inventor: Shigeru Kimura
  • Patent number: 8522206
    Abstract: An illustrative embodiment of a computer-implemented process for selective delta validation of a shared artifact receives a notification associated with a shared artifact, determines whether a unique key exists for the shared artifact in a symbol data structure, and responsive to a determination that the unique key exists, determines whether an update from an external source occurred. Responsive to a determination that the update occurred from an external source, receives a timestamp associated with the unique key from the symbol data structure to form a received timestamp, determines whether the received timestamp is prior to a last modification time, and responsive to a determination that the received timestamp is prior to the last modification time, performs a delta validation of the shared artifact.
    Type: Grant
    Filed: March 26, 2010
    Date of Patent: August 27, 2013
    Assignee: International Business Machines Corporation
    Inventors: Allen V. Chan, Zhongming Chen, Irum I. Godil, Kevin Quan
  • Patent number: 8516455
    Abstract: An approach is provided in preparing a dynamically loaded kernel extension. The approach includes compiling a kernel extension program that includes a symbol, such as a function. The symbol is exported from the kernel extension program and a symbol broker that references the exported symbol is compiled. A kernel extension loader library is created with a defined callable symbol that corresponds to the exported symbol. The kernel extension loader library is linked by an external program after compilation of the external program resulting in a compiled external program. The kernel extension loader library dynamically loads the compiled kernel extension program, the compiled symbol broker, and the exported symbol when the defined callable symbol is referenced by during execution of the compiled external program.
    Type: Grant
    Filed: June 14, 2011
    Date of Patent: August 20, 2013
    Assignee: International Business Machines Corporation
    Inventors: Eric Philip Fried, Stephen Bailey Peckham
  • Patent number: 8516469
    Abstract: The present invention provides a process for generating a shared function binding arrangement comprising a first module and a shared module which includes a plurality of functions and having means for binding a function shared between the first module and the shared module. The process comprises a linking phase for creating the first module and the shared module, a preparation phase for preparing the first module for calling the shared module without exposing details of the call, and a loading phase for loading the modules and linking the first module to a respective function in the shared module without exposing details of the call. The invention also provides a method and system for binding a function shared between a first module and a shared module by means of a linking arrangement a linking arrangement that enables the first module to call a respective function in the shared module without exposing details of the call.
    Type: Grant
    Filed: July 25, 2005
    Date of Patent: August 20, 2013
    Assignee: Flexera Software LLC
    Inventors: Mark Richard Holloway, Martin Clive Gray, Alan Walter Stiemens, David Christopher Wyles
  • Patent number: 8510727
    Abstract: Duplicative code found in modules of high level computer code can be eliminated at link-time. A compiler forms a plurality of object files from a software program in which each object file includes one or more functions associated with the software program. An analyzer examines each function to ascertain whether any of the plurality of object files include functional duplicates. In addition, call and caller routing references are determined for each of the object files and functions contained therein. Responsive to determining that a functional equivalence exists, the routing of duplicative functions is altered to reference a golden copy of the same function. Once the call and caller information has been re-routed, the duplicative function(s) is(are) deleted.
    Type: Grant
    Filed: March 18, 2008
    Date of Patent: August 13, 2013
    Assignee: Oracle America, Inc.
    Inventors: Sheldon M. Lobo, Fu-Hwa Wang
  • Patent number: 8484631
    Abstract: A method and apparatus for providing support for customization of a build configuration of a Unified Extensible Firmware Interface (UEFI) compatible component. The method includes modifying the build configuration of the UEFI compatible component to reflect modifications to a first file. A configuration parameter is received. The configuration parameter is used to create a configuration parameter symbol pointing to the first file. The first file is replaced with a second file, which includes modifications to the first file. The modifications support a functionality desired by a user.
    Type: Grant
    Filed: March 30, 2011
    Date of Patent: July 9, 2013
    Assignee: Phoenix Technologies Ltd.
    Inventor: James L. Mortensen
  • Patent number: 8468332
    Abstract: Methods, apparatuses and program products are disclosed for dynamic link loading in extensible firmware interface compliant systems. Provision is made for loading a microkernel (or other kernel program) which presents itself as though it were a DXE Driver and hooks and redirects a loadmodule service of a DXE Foundation core program to a DLL aware loader. Further aspects of the invention provide related, analogous and similar capabilities.
    Type: Grant
    Filed: September 24, 2009
    Date of Patent: June 18, 2013
    Assignee: Kinglite Holdings Inc.
    Inventor: Stephen E. Jones
  • Patent number: 8434099
    Abstract: A method of producing an executable image from an object file without shared library support from the operating system, wherein the executable image requires a shared library file in order to resolve at least one of the symbols called for in the object file. A method of optimizing the loading of a previously linked file into working memory in a computer for executing in a single address space of the working memory, the file containing an instruction to make an indirect jump to a location in a shared library through an import section of the file. A method for optimizing the loading of a previously linked file into working memory in a computer for executing in a single address space of the working memory, the file containing plural sections with number-filled padding between the end of each section and a succeeding page boundary. A method of optimizing the loading of a previously linked file into working memory in a computer for executing in a memory sharable with other executables.
    Type: Grant
    Filed: May 23, 2005
    Date of Patent: April 30, 2013
    Assignee: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes V. Helander
  • Patent number: 8429631
    Abstract: A system and method for managing data, such as in a data warehousing, analysis, or similar applications, where dataflow graphs are expressed as reusable map components, at least some of which are selected from a library of components, and map components are assembled to create an integrated dataflow application. Composite map components encapsulate a dataflow pattern using other maps as subcomponents. Ports are used as link points to assemble map components and are hierarchical and composite allowing ports to contain other ports. The dataflow application may be executed in a parallel processing environment by recognizing the linked data processes within the map components and assigning threads to the linked data processes.
    Type: Grant
    Filed: September 14, 2010
    Date of Patent: April 23, 2013
    Assignee: Pervasive Software, Inc.
    Inventors: Larry Lee Schumacher, Agustin Gonzales-Tuchmann, Laurence Tobin Yogman, Paul C. Dingman
  • Patent number: 8423956
    Abstract: Computer implemented method, system and computer usable program code for sharing resources among a plurality of containers in a data processing system. A computer implemented method includes creating a shared container for at least one resource to be shared. Then the at least one resource to be shared is moved from an original container of the at least one resource to the shared container, and a link is created between the original container and the at least one resource to be shared in the shared resource container. A link can also be created between a subject resource container and a shared resource in the shared resource container to enable the subject resource container to access and use the shared resource. A shared resource can also be removed from the shared resource container and returned to an original resource container when sharing of the resource is no longer desired.
    Type: Grant
    Filed: May 5, 2008
    Date of Patent: April 16, 2013
    Assignee: International Business Machines Corporation
    Inventors: Guruduth Somasekhara Banavar, Ramon Caceres, Sebastien Demathieu, David Bruce Lection
  • Patent number: 8387032
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for captive runtime deployment. In one aspect, a method performed by data processing apparatus employing a runtime environment includes accessing software code of a software application that relies on a runtime of the runtime environment to operate; selecting a proper subset of the runtime, including sharable library code, based on information associated with the software application; combining the software code and the proper subset of the runtime to form a computer program configured to effect the software application using a version of the runtime captive to the computer program, the captive version of the runtime including the proper subset of the runtime; and storing the computer program on a computer-readable medium coupled with a processor.
    Type: Grant
    Filed: March 4, 2009
    Date of Patent: February 26, 2013
    Assignee: Adobe Systems Incorporated
    Inventors: Oliver Goldman, Edward R. W. Rowe
  • Patent number: 8340635
    Abstract: A server receives an application update request from a mobile device. The request can include a specification of the mobile device and a license. The server can identify an available hardware component of the mobile device based on the specification. The server can identify an access privilege of the hardware component based on the license. The server can further identify an application that utilizes the available hardware component of the mobile device and is accessible under the identified access privilege. The server can recommend the application in response to the application update request.
    Type: Grant
    Filed: September 25, 2009
    Date of Patent: December 25, 2012
    Assignee: Apple Inc.
    Inventors: Scott Herz, Nitin Ganatra
  • Patent number: 8336063
    Abstract: A method of producing an executable image from an object file without shared library support from the operating system, wherein the executable image requires a shared library file in order to resolve at least one of the symbols called for in the object file. A method of optimizing the loading of a previously linked file into working memory in a computer for executing in a single address space of the working memory, the file containing an instruction to make an indirect jump to a location in a shared library through an import section of the file. A method for optimizing the loading of a previously linked file into working memory in a computer for executing in a single address space of the working memory, the file containing plural sections with number-filled padding between the end of each section and a succeeding page boundary. A method of optimizing the loading of a previously linked file into working memory in a computer for executing in a memory sharable with other executables.
    Type: Grant
    Filed: May 23, 2005
    Date of Patent: December 18, 2012
    Assignee: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes V. Helander
  • Patent number: 8326911
    Abstract: The embodiments described herein generally relate to a method and system of injecting repeatable processes, or workflows, into the processing of data-oriented or procedural requests in an entity management system. A request in such a system is subject to authentication, authorization, and action phases of processing, and workflows may be associated with each phase for automatic processing upon the triggering of a certain request under particular circumstances. A declarative mapping associates workflows with the request type, phase, requester, and target. The mapping may be created at the system administrator level, or by any person with the necessary capabilities, through the application of the processing concept in API or UI and may be consulted and invoked upon receipt of a request matching the mapping's criteria. Mappings may also be created and retrieved to manage state changes resulting from processing in other phases of the request processing model.
    Type: Grant
    Filed: June 29, 2007
    Date of Patent: December 4, 2012
    Assignee: Microsoft Corporation
    Inventors: Alexander T. Weinert, Kan Zhang, Darren Wang, Craig McMurtry, Jasjeet Gill, Asaf Kashi, Bruce P. Bequette
  • Publication number: 20120124566
    Abstract: Described herein are methods for sharing resource dependencies between applications stored on a system. For example, in at least certain embodiments, a computer-implemented method for sharing resource dependencies includes installing or initiating installation of multiple application bundles having one or more applications and respective resources on the system. Next, an installer determines identifiers (e.g., hash signatures) for first and second resources and determines whether the resources are identical if an identifier for the first resource matches an identifier for the second resource. Then, a link is created from the second application bundle to the first resource of the first application bundle if the first resource is identical to the second resource. The second resource may be removed from the system if it has been installed. Alternatively, installation of the second resource is terminated if it has not been installed on the system.
    Type: Application
    Filed: November 17, 2010
    Publication date: May 17, 2012
    Inventors: Craig M. Federighi, Jack R. Matthew, Randy D. Saldinger, Steven C. Cento
  • Patent number: 8176333
    Abstract: The present invention is generally directed to a method, system, and article of manufacture that ensures the integrity of programs having variable portions. One aspect of this invention is a method for protecting software products having variant portions. This method includes identifying a reference to an external target in a software product, creating an identifier for the external target, and adding the identifier to the reference. In some embodiments, the unique identifier is a digital signature and the reference to an external target is a call to an external library.
    Type: Grant
    Filed: May 29, 2008
    Date of Patent: May 8, 2012
    Assignee: International Business Machines Corporation
    Inventors: Michael Edward Aho, Joseph Patrick Reynolds