Including Library Patents (Class 717/163)
  • Patent number: 8667404
    Abstract: A method for generating a user interface within a graphics application for a set of materials, such that each material includes a material definition and is capable of being applied to a geometry in a graphics scene when performing a rendering operation. A GUI generation engine obtains configuration information associated with an environment for a computer system and determines that a first set of materials is associated with the configuration information. The GUI generation selects the first set of materials to be displayed in a graphical user interface, and the graphical user interface is displaying to an end-user. Advantageously, embodiments of the invention provide for a technique for exposing only those materials, user interface objects, editable material parameters, user interface elements, vocabulary, rendering engines, and/or rendering engine implementations that are relevant to the user of a particular rendering application.
    Type: Grant
    Filed: August 6, 2008
    Date of Patent: March 4, 2014
    Assignee: Autodesk, Inc.
    Inventors: Jérôme Maillot, Pierre-Felix Breton, John Schrag, Andre Gauthier
  • Publication number: 20140059526
    Abstract: A mechanism for providing class loading for a JAVA application is disclosed. A method of the invention includes retrieving, by a processing device, a JAVA class file. The method also includes identifying, by the processing device, a class dependency for the JAVA class file. The method also includes determining, by the processing device, a probability that the JAVA class file is to be loaded into a cache based on the identified class dependency. The method further includes loading, by the processing device, the JAVA class file into the cache based on the probability determined for the JAVA class file.
    Type: Application
    Filed: August 23, 2012
    Publication date: February 27, 2014
    Inventors: Filip Nguyen, Marek Baluch
  • 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: 8627305
    Abstract: A system, method, and computer program product are provided for hooking code inserted into an address space of a new process. In use, creation of a process is identified. Additionally, code is inserted into an address space of the process. Still yet, at least one module being loaded in association with the process is identified. Further, the code is hooked at an entry point of the at least one module based on a determination of whether the at least one module includes a predefined module.
    Type: Grant
    Filed: March 24, 2009
    Date of Patent: January 7, 2014
    Assignee: McAfee, Inc.
    Inventors: Gregory William Dalcher, Jonathan L. Edwards
  • 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: 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: 8607199
    Abstract: A technique for debugging code during runtime includes providing, from an outside process, a trigger to a daemon. In this case, the trigger is associated with a registered callback function. The trigger is then provided, from the daemon, to one or more designated tasks of a job. The registered callback function (that is associated with the trigger) is then executed by the one or more designated tasks. Execution results of the executed registered callback function are then returned (from the one or more designated tasks) to the daemon.
    Type: Grant
    Filed: December 16, 2009
    Date of Patent: December 10, 2013
    Assignee: International Business Machines Corporation
    Inventors: Chulho Kim, Hanhong Xue, Tsai-Yang Jea, Hung Q. Thai
  • Publication number: 20130326492
    Abstract: A method, apparatus and machine readable medium are described for managing entitlements on a computing device. For example, one embodiment of a method comprises: loading a first application into a system memory of a computing device; for each library value/symbol pair referenced by the first application, determining whether the first application has a correct entitlement to be linked with the library value/symbol pair; wherein if the application does not have the correct entitlement associated with the library value/symbol pair, then denying linking to the library value/symbol pair and/or linking the application to an alternate library value/symbol pair which does not have the entitlement associated therewith; and if the application has the correct entitlement associated with the library value/symbol pair, then linking the application to the library value/symbol pair with the entitlement in the system memory.
    Type: Application
    Filed: June 1, 2012
    Publication date: December 5, 2013
    Inventors: Oliver J. Hunt, Ivan Krstic, Gavin Barraclough, Filip J. Pizlo
  • Patent number: 8601455
    Abstract: Embodiments of systems, methods and computer program products are described for implementing repository relationship programming. Implementations described herein describe processes for implementing a union of concerns, integrating concerns, assembling concerns and separating concerns.
    Type: Grant
    Filed: June 27, 2011
    Date of Patent: December 3, 2013
    Inventor: Kevin P. Graham
  • Publication number: 20130275955
    Abstract: A system and associated method for creating a library method stub in source code form corresponding to an original library call in machine-executable form. Sequential code subject to pipeline-parallelization includes the original library call of which source code is not available for profiling. The original library call is annotated for a library method signature to specify formal arguments and parameters accessible to the formal arguments. Memory operations of the original library call are summarized with on one or more idiom sentences, which are mapped to a respective code stub that simulates the original library call. The library method stub is created for profiling of the original library call in source code level such that the sequential code is parallelized via the created library method stub.
    Type: Application
    Filed: April 13, 2012
    Publication date: October 17, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Shivali Agarwal, Monika Gupta, Naga Praveen Kumar Katta
  • 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
  • Publication number: 20130263103
    Abstract: A method and apparatus for creating an application file comprising accessing at least one library, stubbing the at least one library to create a stub library containing symbols exported from the at least one library, and packing the stub library into the application file. Other embodiments include method and apparatus for packaging an application file comprising accessing the application file, unpacking the application file to expose at least one stub library, accessing the at least one stub library and packaging the application file with another application using symbols contained in the stub library for delivery to an end user computer.
    Type: Application
    Filed: March 29, 2012
    Publication date: October 3, 2013
    Applicant: Adobe Systems Inc.
    Inventor: Rajorshi Ghosh Choudhury
  • 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: 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: 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
  • Publication number: 20130212569
    Abstract: A computer implemented method, apparatus, and computer program product for managing aircraft software parts. An aircraft software part is received at a library. The received part is stored in the library with other aircraft software parts. A user interface is provided to manipulate the aircraft software parts. Responsive to receiving a user input from the user interface to uplink a selected aircraft software part to a target aircraft data processing system, a command is created to send the selected part to an aircraft in which the target aircraft data processing system is located. The uplink command is stored in a queue in the storage in the library. The uplink command is distributed to a proxy server application in response to a request for commands. Responsive to receiving a request from the proxy server application processing the stored uplink command, the selected part is sent to the proxy server application.
    Type: Application
    Filed: March 14, 2013
    Publication date: August 15, 2013
    Applicant: THE BOEING COMPANY
    Inventor: The Boing Company
  • 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: 8510725
    Abstract: The deployment of native methods in a virtual machine environment may be significantly simplified by incorporating a corresponding native code segment into the application file, such as a JAVA class file, and using the embedded native code segment for library bind operations of the corresponding class file.
    Type: Grant
    Filed: January 26, 2010
    Date of Patent: August 13, 2013
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Gary Frost
  • Patent number: 8464236
    Abstract: In order to avoid data inconsistency between accesses of different functions of an application to a global variable in a data processing system, a) symbolic object code of a totality of functions to be executed in the data processing system is provided and those functions of the totality, called interfering functions, are identified, which access an identical global variable; b) at least one of the interfering functions is selected; c) a step of the initialization of an auxiliary variable using the value of the global variable into the object code of each function selected in step b) or of a function calling a selected function prior to its call is inserted; and d) a symbol of the global variable in the object code of the selected function is replaced by a reference to a memory space of the auxiliary variable.
    Type: Grant
    Filed: March 30, 2005
    Date of Patent: June 11, 2013
    Assignee: Robert Bosch GmbH
    Inventors: Udo Woersching, Martin Lunt, Elmar Markus, Uwe Biegert
  • 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: 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: 8423971
    Abstract: Generating an application software library comprises: a static analyser processing a binary input library to identify one or more locations in the binary input library which satisfy a semantic analysis condition; inserting metadata into the binary input library at the one or more locations which satisfy the semantic analysis condition; and linking the binary input library with a binary aspect library to generate the application software library, wherein the binary aspect library includes an aspect definition using the metadata.
    Type: Grant
    Filed: May 24, 2006
    Date of Patent: April 16, 2013
    Assignee: International Business Machines Corporation
    Inventor: Adrian Mark Colyer
  • Patent number: 8407667
    Abstract: A stripped-down version of a library is generated from server source code extracted from a server project. The transitive closure of program entities extracted from the server source code and referenced by the extracted program entities can be computed. A placeholder entity can be inferred for an entity defined by the transitive closure computation if a definition of the entity cannot be found in the server source code. The stripped-down library generated from the extracted server source code is received by a reflection-based component that uses reflection to generate documentation and disclosure information helpful in the development of the client source code. A placeholder entity can be marked or decorated to signal to the reflection-based component that client source code is not to be generated for the decorated entities.
    Type: Grant
    Filed: March 20, 2009
    Date of Patent: March 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Per Johan Stenberg, Bijoy Bordoloi
  • Patent number: 8402532
    Abstract: Various technologies and techniques are disclosed for providing host control of partial trust accessibility. A framework allows libraries to be identified as partial trust callers allowed to indicate that the libraries are allowed to be called from partially trusted code by default. The framework allows libraries to be identified as partial trust callers enabled to indicate the libraries could be called from partially trusted code, but not by default. A hosting application is notified that a particular library has been loaded. If the particular library has been identified as partial trust callers allowed, then a determination is received from the hosting application on whether to remove or keep partial trust accessibility for the particular library. If the particular library has been identified as partial trust callers enabled, then a determination is received from the hosting application on whether or not to enable partial trust accessibility for the particular library.
    Type: Grant
    Filed: May 10, 2007
    Date of Patent: March 19, 2013
    Assignee: Microsoft Corporation
    Inventors: Michael D. Downen, Raja Krishnaswamy, Charles William Kaufman, James S. Miller, Stephen Fisher
  • 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: 8332809
    Abstract: A workflow schedule authoring tool enables a user to author a workflow by arranging building blocks in a particular order. Building blocks may correspond to events, conditions or actions. Each building block is associated with source code that defines an action to be taken when the building block is processed. The order of the building blocks determines the workflow schedule process. The building blocks allow a user to establish logic conditions for how the tasks in the workflow schedule are executed. A building block may require a user to input parameters before the building block may be executed. The workflow schedule is associated with an event such that the workflow schedule triggers when the event occurs. The building blocks simplify workflow schedule authoring because the user does not need to write any code.
    Type: Grant
    Filed: September 30, 2004
    Date of Patent: December 11, 2012
    Assignee: Microsoft Corporation
    Inventors: Robert J. Mauceri, Jr., Alexander Malek, Stuart B. Kolodner, Charles W. Parker, Phillip D. Allen
  • 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: 20120284686
    Abstract: The present invention relates to the field of mobile applications and, more specifically, to a system and method for building a mobile application in a mobile application development environment in a simple and cost effective manner.
    Type: Application
    Filed: April 10, 2012
    Publication date: November 8, 2012
    Inventors: Rakesh SHARRMA, Sujoy Bhattacharjee, Akira Miyata
  • Publication number: 20120272224
    Abstract: In general, techniques are described for performing a form of inline dead code elimination. An apparatus comprising a storage unit and a processor may implement these techniques. The storage unit stores two source files and a destination file. The processor copies a first one of the source files to the destination file. This first source file includes a reference to a portion of a second one of the source files. The processor then evaluates the destination file to determine whether the portion of the second source file referenced in the first source file is used by the destination file. Based on the determination that the portion of the second source file referenced in the first source file is used by the destination file, the processor selectively copies the portion of the second source file to the destination file to generate an updated destination file.
    Type: Application
    Filed: April 20, 2011
    Publication date: October 25, 2012
    Applicant: QUALCOMM Incorporated
    Inventor: David S. Brackman
  • Publication number: 20120266148
    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: Application
    Filed: April 14, 2011
    Publication date: October 18, 2012
    Inventor: James L. MORTENSEN
  • Patent number: 8291401
    Abstract: In some embodiments, an apparatus can comprise a memory unit including, two or more assemblies, wherein the two or more assemblies include a first assembly and a second assembly, wherein the second assembly is a later version of the first assembly, and wherein the first and second assemblies include, a stub module configured to detect an assembly initialization request indicating one of the first or second assemblies. The stub module can also be configured to retrieve a reference to a symbol table associated with the one of the first and second assemblies indicated in the assembly initialization request, to store data in the symbol table, and to provide the reference to a caller. The memory unit can also comprise an implementation module configured to perform operations associated with symbols in the symbol table and a processor configured to receive and execute one or more of the stub and implementation modules.
    Type: Grant
    Filed: August 7, 2008
    Date of Patent: October 16, 2012
    Assignee: International Business Machines Corporation
    Inventors: Michael W. Gray, Alexander J. Hennekam, Peter R. Horner, Simon D. McMahon, Michael J. Thomas, Peter T. Waltenberg
  • Patent number: 8291395
    Abstract: Methods and apparatus, including computer program products, for locating a function call site in a code segment of a running application, the code segment including a plurality of instructions. The call site is the location of an invocation of a function and includes a first reference, the first reference being a reference to a first dispatcher. The call site in the code segment is modified by replacing the first reference with a second reference, the second reference being a reference to second dispatcher, the second dispatcher different from the first dispatcher.
    Type: Grant
    Filed: March 31, 2006
    Date of Patent: October 16, 2012
    Assignee: Apple Inc.
    Inventors: Steve Naroff, Blaine Garst, Greg Parker
  • Patent number: 8276167
    Abstract: Plug-in configurable middleware is provided for managing distributed applications. The middleware includes at least one core runtime engine configured as a plurality of concurrent instantiations on one or more hosts within a distributed architecture. These hosts can represent separate nodes or a single node within the architecture. Each core runtime engine instance provides the minimum amount of functionality required to support the instantiation of one or more plug-ins within that core runtime engine instance. Each core runtime engine instance is in communication with other concurrent core runtime engine instances and can share the functionality of plug-in instances with the other core runtime engine instances, for example through the use of proxies. A plurality of personalities representing pre-defined functions is defined and one of more of these personalities is associated with each core runtime engine instance. A plurality of pre-defined plug-ins are defined and associated with the personalities.
    Type: Grant
    Filed: March 21, 2007
    Date of Patent: September 25, 2012
    Assignee: International Business Machines Corporation
    Inventors: James R. Challenger, Louis R. Degenaro, James R. Giles, Rohit Wagle
  • Publication number: 20120240106
    Abstract: Shared libraries and references within the shared libraries can be retargeted in accordance with optional transformation rules. The optional transformation rules can be applied differently for different binding contexts. For user-code scenarios, optional retargeting binding rules can be applied automatically by default without requiring any human intervention. Optional targeting that triggers automatic binding behaviors can be disabled based on heuristics. Alternatively, the user can specify in the code or in a configuration file if the source or target is to be loaded. Transformation rules can be disabled based on heuristics. A manual option permits a user to choose at runtime whether the transformation is to be applied, or not applied, in a late-bound fashion.
    Type: Application
    Filed: March 16, 2011
    Publication date: September 20, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Richard E. Lander, Michael Rayhelson, David M. Kean
  • Patent number: 8250558
    Abstract: Add-on functions to a software application are made through a single dynamic linked library (‘DLL’). After discovering, authenticating, and loading the DLL, the application may inspect the DLL to determine if it contains a function of a predetermined type. If the type is discovered, an object of the type may be instantiated and called. The inspection may evaluate metadata within the DLL to determine the precise characteristics of the function and compare the function to a predetermined type. Based on the authentication as well as the internal inspection of the DLL, extensions to existing software applications may be easily distributed and readily installed in an atomic fashion.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: August 21, 2012
    Assignee: Microsoft Corporation
    Inventor: Alexander Dadiomov
  • Patent number: 8239849
    Abstract: A method for a first software component in a class loading delegation network to obtain a class definition for a serialized software object, the software object implementing a software interface defined by a second software component and having associated a class defined by a third software component, the method comprising the steps of: obtaining a reference to the third software component from the class loading delegation network using an identifier of the software interface and requesting the class from the third software component.
    Type: Grant
    Filed: November 20, 2007
    Date of Patent: August 7, 2012
    Assignee: International Business Machines Corporation
    Inventors: Simon Edward Burns, Lakshmi Shankar
  • Patent number: 8225301
    Abstract: In one embodiment, a method of computing comprises executing a software application, wherein the software application comprises at least first and second versions of a subroutine for performing a specific function, wherein the first version exhibits a first behavior and the second version exhibits a second behavior; and selecting for execution one of the first version or the second version based on whether one or more licensing criteria are satisfied. Optionally, the behavior of second version can be redefined on a user basis. The method can be implemented and distributed within software libraries.
    Type: Grant
    Filed: March 16, 2005
    Date of Patent: July 17, 2012
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Leonardo Jose Borges, Hsin-Ying Lin
  • Patent number: 8214819
    Abstract: Function calls for a program are sampled to determine call counts in the program. The call counts are determined based on sampled function calls collected during sampling intervals.
    Type: Grant
    Filed: July 9, 2004
    Date of Patent: July 3, 2012
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: David Mosberger
  • Publication number: 20120151437
    Abstract: A method is disclosed for translating by a computer system of a COBOL computer program into a translated computer program in a readable and maintainable syntax in an object oriented programming language. The translated program including variable names equivalent to the original COBOL variable names and with attributes described in COBOL syntax. The translating method further providing for memory allocation in the translated computer program for storage of “COBOL” variables compatible with that of the original COBOL program; a description of program flow that is readable, and utilizing arithmetic operators to describe operations between COBOL variables. Also disclosed is a special object oriented run-time library for creating and performing operations between COBOL numeric objects, including maintaining storage of variable content in the original COBOL format, and for enabling readability of the translated source code by allowing arguments for variable type descriptions to be expressed in COBOL syntax.
    Type: Application
    Filed: December 7, 2011
    Publication date: June 14, 2012
    Applicant: BULL HN INFORMATION SYSTEMS INC.
    Inventors: Todd Bradley KNEISEL, Cynthia S. GUENTHNER, Albert Henry John WIGCHERT, Nicholas John COLASACCO, Russell W. GUENTHNER, John Edward HEATH, Clinton B. ECKARD
  • Publication number: 20120117553
    Abstract: An enhanced function-descriptor-based dispatch in a multi-linkage environment receives user code containing a function compiled in a supplementary linkage convention of a caller to form an invoked function and determines whether the supplementary linkage convention of the caller for the invoked function matches a supplementary linkage implementation provided by a library. Responsive to a determination that the supplementary linkage convention of the caller for the invoked function matches a supplementary linkage implementation provided by the library, an embodiment selects the supplementary linkage implementation provided by the library and dispatches the invoked function in the selected supplementary linkage implementation provided by the library.
    Type: Application
    Filed: October 8, 2011
    Publication date: May 10, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Allan H. Kielstra, Andrew R. Low, Marcel Mitran, Kishor V. Patil, Ivan K. Y. Sham
  • 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
  • Patent number: 8166492
    Abstract: A hybrid environment may be used for addressing application compatibility between a host operating system and one or more application(s) optimized to run on a different (“guest”) version of the host operating system. A thunking wrapper consisting of a native thunking layer, a service thunking layer, and a subsystem thunking layer provides translation between the guest application and the host operating system for a seamless interface. Multiple thunking wrappers may be included to support application compatibility between multiple guest operating systems and the host operating system.
    Type: Grant
    Filed: April 10, 2007
    Date of Patent: April 24, 2012
    Assignee: Microsoft Corporation
    Inventor: Diaa Fathalla
  • Patent number: 8141059
    Abstract: A method/system for avoiding software conflicts, with library being divided into layer 1 to layer M and M?1.
    Type: Grant
    Filed: December 22, 2006
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Yong Ding, Xiao Bing Guo, Hui Su, Zhepeng Wang, Shiwan Zhao
  • Patent number: 8136099
    Abstract: A method and system to automatically translate a definition of a choreography workflow process to an executable process are provided. The method includes processing a collaboration element from the definition, mapping the collaboration element to an executable element based on a knowledge database system that contains the collaboration element and the corresponding executable element and mapping the collaboration element to the executable element statically if the corresponding executable element is unavailable in the knowledge database system.
    Type: Grant
    Filed: November 22, 2005
    Date of Patent: March 13, 2012
    Assignee: SAP AG
    Inventors: Jochen Haller, Ingo Weber
  • Patent number: 8131610
    Abstract: Systems and methods are provided for computerized processing of invoices which a company has presented to, for example, two or more customers. The systems and methods may be configured to select, from a plurality of invoices, invoices which are due within a preselectable time or on a preselectable date and the balance of which is larger than a preselectable first value, and to assign a first state to the selected invoices.
    Type: Grant
    Filed: November 2, 2004
    Date of Patent: March 6, 2012
    Assignee: SAP AG
    Inventor: Mike Soumokil
  • Patent number: 8117608
    Abstract: A user-centric computing system that includes a mobile storage device (“MSD”) capable of interfacing with a client personal computer (“PC”) for the purpose of using certain resources available through the client PC to access user programs, applications, data, and settings stored on the MSD. The user-centric computing system may also include a software management program configured to select the user programs, applications, data and settings to be stored on the MSD from the user programs, applications, data, and settings installed on a user's PC and to interface with the client PC. A method of providing mobility to a user PC by selecting programs installed on the user PC and storing the selected programs on an MSD and interfacing the MSD with a client PC is also provided.
    Type: Grant
    Filed: September 5, 2006
    Date of Patent: February 14, 2012
    Assignee: RingCube Technologies, Inc.
    Inventors: Aaron Slettehaugh, Kyle Poole, Bryan Grziwok, Phil Halbert
  • Patent number: 8112745
    Abstract: A method includes identifying one or more features of an execution environment to be used by an application during execution and determining if use of the one or more features is restricted. The method also includes, if use of the one or more features is not restricted, compiling and executing the application in the execution environment. The method further includes, if use of any of the one or more features is restricted, blocking execution of the application in the execution environment. Determining if the use of the one or more features is restricted may include using a configuration list or a profile identified using a custom attribute. The configuration list or the profile identifies features that are available for use in the execution environment and/or features that cannot be used in the execution environment.
    Type: Grant
    Filed: March 22, 2006
    Date of Patent: February 7, 2012
    Assignee: Honeywell International Inc.
    Inventors: Piyush Garyali, Ziad M. Kaakani, Vivek B. Varma
  • Patent number: 8104049
    Abstract: The illustrative embodiments described herein provide a computer-implemented method, apparatus, and computer-usable program code for accessing a compatible library. The process receives a file name associated with a library reference. The library reference is included in an executable, and indicates a library used for executing the executable. The process receives environmental variable information in response to identifying an unavailable library in a secondary memory. The unavailable library is associated with the file name. The process accesses the compatible library from a shared library segment using the file name in response to receiving the environmental variable information. The compatible library is associated with the file name. The process utilizes the compatible library to execute the executable.
    Type: Grant
    Filed: August 2, 2007
    Date of Patent: January 24, 2012
    Assignee: International Business Machines Corporation
    Inventors: Shajith Chandran, Harikrlshna Manchineni
  • Patent number: 8104085
    Abstract: A hybrid system is provided. The system includes a computing device implementing a first application execution environment (AEE) and a second AEE. The first AEE is configured to be isolated from the second AEE. The first software application associated with the first AEE is configured to be processed on the first AEE such that the first software application is denied direct access to the second AEE. A second software application associated with the second AEE is configured to be processed on the second AEE such that the second software application is denied direct access to the first AEE.
    Type: Grant
    Filed: June 24, 2004
    Date of Patent: January 24, 2012
    Assignee: Oracle America, Inc.
    Inventors: Nedim Fresko, Richard D. Tuck, Dean R. E. Long
  • Publication number: 20110321022
    Abstract: A system and method for making a web service available to remote clients. In one illustrative embodiment, the web services are provided by a server. The server can use a metadata program to generate client side libraries that facilitate the development and maintenance of client side applications. A metadata binder on the server can be used to interface with the client side libraries. In operation, web services can be provided to mobile clients by generating Web Services Description Language function definitions. From those Web Services Description Language function definitions, Java objects can be created. Libraries can be generated from the objects for a plurality of platforms. The server can then communicate with the mobile clients operating on the plurality of platforms through the generated libraries.
    Type: Application
    Filed: June 25, 2010
    Publication date: December 29, 2011
    Inventor: Suriyaprakash Soundrapandian