Dynamic Linking, Late Binding Patents (Class 719/331)
  • Patent number: 6874139
    Abstract: A method for associating file activity of an application with the graphical display of the file on a screen comprises loading by an operating system an executable code of a message monitoring program adapted to monitoring a message sent by an operating system to a document display window. The message monitoring program establishes a system-wide window hook using available operating system API functions associated with one or more functions in a library of the message monitoring program. The message monitoring program library is loaded into the memory space of a newly started application program, the import table of the application is fixed with addresses of functions from the message monitoring program library, and the application's main window function is substituted with a message monitoring program window function.
    Type: Grant
    Filed: May 15, 2001
    Date of Patent: March 29, 2005
    Assignee: Interfuse Technology Corporation
    Inventors: Scott Krueger, Daniel Goodman
  • Patent number: 6871348
    Abstract: A method including receiving a request to launch a first application and then launching the first application in a suspended mode. Further, installing a message hook in the first application; and unsuspending the first application. Also, an apparatus for performing the above method including a processor and a memory connected to the processor.
    Type: Grant
    Filed: September 15, 1999
    Date of Patent: March 22, 2005
    Assignee: Intel Corporation
    Inventor: Frederick J. Cooper
  • Patent number: 6865742
    Abstract: A method for dynamic linking of software modules includes detecting an event during the execution of a computer program that resides in a first memory, ascertaining whether there is at least one required property associated with the event if the event is detected, determining a property identifier for the at least one required property and loading at least one code module from a second memory into the first memory based upon a property identifier configured with the executable code module. According to one aspect, the loading includes loading the at least one executable code module into the first memory if it is not in the first memory. According to another aspect, the at least one executable code module includes at least one dynamic link library (DLL). According to another aspect, the event includes the addition of a hardware device and the required property includes a hardware device PROM identifier.
    Type: Grant
    Filed: August 16, 2001
    Date of Patent: March 8, 2005
    Assignee: Cisco Technology, Inc.
    Inventors: Aniruddha Khare, Karunakar Reddy Parne, Michael Boe
  • Patent number: 6862728
    Abstract: A hash table dispatch mechanism for interface Methods. The mechanism reduces dispatch times during the execution of an object-oriented language program. An interface hash table having a pointer as an index for either a specific location in a corresponding dispatch table or an interface Method of the program is created for a dispatch table. The interface hash table has an address and a plurality of slots having a hash value related to an interface Method. The mechanism includes a recovery Method for resolving conflicts when two or more slots in the interface hash table contain clashing values.
    Type: Grant
    Filed: May 16, 2001
    Date of Patent: March 1, 2005
    Assignee: Esmertec AG
    Inventors: Stephen Darnell, William Thomas Charnell, Wayne Plummer, Blaise Abel Alec Dias, Philippa Joy Guthrie, Jeremy Paul Kramskoy, Jeremy James Sexton, Michael John Wynn, Keith Rautenback, Stephen Paul Thomas
  • Patent number: 6859932
    Abstract: An executable program is prepared from a plurality of object code modules, each object code module including section data and associated relocations and at least one of the object code modules further including code sequences at least some of which are like to be repeatedly included in the executable program. Wherever a code sequence is to be inserted, a relocation instruction specifies the location of the code sequence and the code sequence is inserted into the section data at the appropriate point. A linker, a method for assembling, and a computer program product support these operations.
    Type: Grant
    Filed: August 28, 2000
    Date of Patent: February 22, 2005
    Assignee: STMicroelectronics Limited
    Inventor: Richard Shann
  • Patent number: 6854051
    Abstract: A pipelined, simultaneous and redundantly threaded (“SRT”) processor comprising, among other components, load/store units configured to perform load and store operations to or from data locations such as a data cache and data registers and a cycle counter configured to keep a running count of processor clock cycles. The processor is configured to detect transient faults during program execution by executing instructions in at least two redundant copies of a program thread and wherein false errors caused by incorrectly replicating cycle count values in the redundant program threads are avoided by implementing a cycle count queue for storing the actual values fetched by read cycle count instructions in the first program thread. The load/store units then access the cycle count queue and not the cycle counter to fetch cycle count values in response to read cycle count instructions in the second program thread.
    Type: Grant
    Filed: April 19, 2001
    Date of Patent: February 8, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Shubhendu S. Mukherjee
  • Patent number: 6851111
    Abstract: A computer system includes multiple class loaders for loading program class files into the system. A constraint checking mechanism is provided wherein a first class file loaded by a first class loader makes a symbolic reference to a second class file loaded by a second class loader, the symbolic reference including a descriptor of a third class file. The constraint mechanism requires that the first and second class files agree on the identity of the third class file and stores a list of constraints as a set of asymmetric relationships between class loaders. Each stored constraint, for a class loader which loaded a class file that contains a symbolic reference to another class file, includes a first parameter denoting the class loader which loaded the class file to which the symbolic references is made; and a second parameter denoting a class file which is identified by a descriptor in said symbolic reference.
    Type: Grant
    Filed: December 15, 2000
    Date of Patent: February 1, 2005
    Assignee: International Business Machines Corporation
    Inventors: Richard Kenneth McGuire, Edward John Slattery, Matthew Alexander Webster
  • Patent number: 6848111
    Abstract: Apparatus and processes, including computer implemented processes, for managing exceptions throwable during execution of methods in one or more classes by a machine. Each method includes an exception handler array defining exception handlers associated with the method. The method includes combining the exception handler arrays for all methods into a single exception handler table.
    Type: Grant
    Filed: February 2, 1999
    Date of Patent: January 25, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Judith E. Schwabe, Joshua B. Susser
  • Publication number: 20040261069
    Abstract: System and method for dynamic loading of remote classes. Using embodiments, remote classes may be loaded dynamically by a default class loader without the use of separate, custom class loaders. The remote class loader mechanism may locate on remote systems classes needed by code executing on the local system but not locally stored, and which therefore cannot be located and loaded by the default class loader. After locating the classes, the remote class loader mechanism may obtain copies of the classes and save them to a location indicated by the class path of the default class loader. The default class loader can then locate and load the classes from the location indicated by the class path.
    Type: Application
    Filed: June 20, 2003
    Publication date: December 23, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Jerome M. Verbeke, Neelakanth M. Nadgir
  • Patent number: 6832371
    Abstract: In a computer system, a method for automatically registering resources required for an application program module to execute. After the application program module is booted, a registration cache is examined to determine its status. The registration cache is stored in association with the application program module and it indicates whether a registry on the computer system needs to be updated, such as after the user has moved files or renamed files such that registry keys in the registry may no longer be valid. If the registration cache indicates that the registry needs to be updated, then a search is made through a predetermined directory, such as the application program module folder. The search is looking for an application file or a dynamic link library file. Upon detecting an application file or a dynamic link library file, then a resource fork in association with the file is opened and it is determined whether there is a self-registration resource in the resource fork.
    Type: Grant
    Filed: January 4, 1999
    Date of Patent: December 14, 2004
    Assignee: Microsoft Corporation
    Inventor: Thomas E. Hussey
  • Patent number: 6823359
    Abstract: A system and method for continually updating dynamic data on a web-page of a user on a real-time basis and without requiring refreshment of the web-page by employing a contribution, distribution and display tier.
    Type: Grant
    Filed: November 21, 2000
    Date of Patent: November 23, 2004
    Assignee: PFS Trader Tools, LLC
    Inventors: Eytan Heidingsfeld, Dov Frohlich
  • Patent number: 6820270
    Abstract: In order to reduce the data volume in constituting multiple instances from a type, a programming device is provided, having a software tool for processing objects, of which a first object, equipped with data, is provided as model for a second object that has a pointer with which, at the beginning of an access to the second object, the data of the first object can be incorporated into the second object by the software tool.
    Type: Grant
    Filed: April 14, 2000
    Date of Patent: November 16, 2004
    Assignee: Siemens Aktiengesellschaft
    Inventor: Hans-Joachim Beck
  • Publication number: 20040226031
    Abstract: A method for dynamically linking a dynamic library to an application program is provided. The method determines if the dynamic library resides on a computer system on which the application program is executing and locates the dynamic library at a predetermined location if it is determined that the dynamic library does not reside on the computer system. The method further provides for loading and attaching to the dynamic library, receiving a function call by the application to the dynamic library and passing the function call to the dynamic library.
    Type: Application
    Filed: April 26, 2004
    Publication date: November 11, 2004
    Inventors: Daniel R. Zimmerman, Andrei Yusov, Muru Palaniappan
  • Publication number: 20040221299
    Abstract: The invention illustrates a system and method of providing a plurality of protocols under a common set of peer to peer protocols. In one embodiment, the system and method comprises: communicating with a peer device via an interface framework; and transmitting information between a first application on the peer device via a first plug-in wherein the first plug-in is compatible with the interface framework. In another embodiment, the system and method comprises: an interface configured for communicating with the peer device; and a plug-in configured for communicating with the interface and an application, wherein the plug-in is configured to translate requests from the application into a peer device request that is understood by the peer device.
    Type: Application
    Filed: March 31, 2003
    Publication date: November 4, 2004
    Inventors: Simon Gibbs, Ravi Gauba, Jeff Liu, Sidney Wang
  • Patent number: 6813765
    Abstract: A method and system for implementing an application on a computer system, in particular a portable computer system, by binding an interface (e.g., a function call and required address translations) in the application to a specific memory address. The application is installed on the computer system with a reference to a section of computer code. The reference is for transferring execution of the application to that section of computer code. After a specified criterion is satisfied, the reference is replaced with a specific memory address of the computer system's memory map, such as a line number, thus binding the application to that memory address for that function call. Accordingly, when the application makes a call to that function, the execution of the application can proceed directly to the line number where that function is located.
    Type: Grant
    Filed: May 16, 2000
    Date of Patent: November 2, 2004
    Assignee: Palm Source, Inc.
    Inventor: Roger Flores
  • Patent number: 6813770
    Abstract: A system and method for managing network devices. The framework may provide a suitable system for managed object data type conversions between various data description languages, such as an interface definition language (e.g., OMG IDL) and an abstract syntax notation (e.g., ASN1). This conversion facility may be used in both request and event network traffic, so common libraries may be used. Two separate libraries may be used: a converter framework library and a converter implementation library. The framework library provides a collection classes that may be used by the clients of the converter libraries. Most classes in the converter framework library are handle classes (or wrappers) to the real implementation (or body) classes in the converter implementation library. Framework classes hide the details of the real implementation classes and provide a simple, consistent interface to any data type converter via IDL.
    Type: Grant
    Filed: April 21, 2000
    Date of Patent: November 2, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Sai V. Allavarpu, Rajeev Angal
  • Publication number: 20040194078
    Abstract: In an operating software system that provides one or more software components for use by a plurality of software programs, a method of providing an upgraded version of a software component for use by one or more of the software programs while at the same time allowing other programs of the plurality of programs to continue to operate with the older version. The method is particularly suitable for upgrading Component Object Models (COM's) as used in the Windows® operating system.
    Type: Application
    Filed: March 27, 2003
    Publication date: September 30, 2004
    Inventor: You-Wei Shen
  • Patent number: 6799320
    Abstract: A proxy component system having dispatch proxies and object proxies is disclosed. The computerized system includes an operating system supporting component interfaces. In addition, the system includes a first interface to a target component, with the first interface having an early bound method. The system further includes a second interface to a proxy component, with the second interface having a late bound method. Also included in the system is a dispatch proxy operative to invoke the early bound method of the first interface from an invocation of the late bound method of the second interface.
    Type: Grant
    Filed: December 16, 1998
    Date of Patent: September 28, 2004
    Assignee: Microsoft Corporation
    Inventors: Ferhan Elvanoglu, Benjamin L. Chronister, Terry L. Lucas
  • Patent number: 6792612
    Abstract: A Java runtime system is proposed which comprises a stack-based interpreter executing a program that comprises bytecodes and class structures. The system further comprises a modified constant pool with internal information of use only during linking and with external information to be preserved for late code binding. The internal information is removed from the modified constant pool after linking.
    Type: Grant
    Filed: September 21, 2000
    Date of Patent: September 14, 2004
    Assignee: International Business Machines Corporation
    Inventors: Michael Baentsch, Peter Buhler, Marcus Oestreicher
  • Patent number: 6789157
    Abstract: A Plug-in equipped updateable firmware includes a number of value added software or “plug-in” modules stored in association with a firmware module within a non-volatile memory device, such as FLASH. In one embodiment, the plug-in and firmware modules are stored in a compressed form within the FLASH, whereupon during boot-up they are extracted into random access memory (RAM). The firmware is extracted into the RAM at a predetermined memory address, whereas each plug-in is extracted into the RAM at a re-allocable memory address. In one embodiment, the memory address associated with each extracted plug-in is stored in a table for reference by the firmware. When the firmware calls a function of a plug-in stored within RAM, the firmware references the table to locate the memory address for the extracted plug-in, and initialization code within the plug-in returns to the firmware a pointer to the function.
    Type: Grant
    Filed: June 30, 2000
    Date of Patent: September 7, 2004
    Assignee: Intel Corporation
    Inventors: Michael M. Lilja, Niels Beier, Ulrich Rysgaard
  • Patent number: 6782539
    Abstract: Data processing apparatus is disclosed in which a core program object interacts with and controls operation of a plurality of plug-in program objects operable to carry out data processing tasks, the apparatus providing for communication between the core program object and each such data processing task: (i) a synchronous interface to allow interaction between the core program object and a plug-in program object operable to carry out that task; and (ii) an asynchronous interface to allow interaction between the core program object and a hardware device operable to carry out that task.
    Type: Grant
    Filed: July 29, 1999
    Date of Patent: August 24, 2004
    Assignee: Sony United Kingdom Limited
    Inventor: Antony James Gould
  • Patent number: 6779187
    Abstract: Methods and system for dynamically intercepting exported functions for dynamic link libraries for a process in a windowed operating system. The methods and system allow calls to exported functions in a dynamic link library on a windowed operating system to be dynamically intercepted. The methods and system include using an interception driver to determine if any exported function calls should be intercepted, and an interception dynamic link library to dynamically intercept exported functions calls. The interception dynamic link library includes an interception table to record exported functions that will be intercepted and a global interception function. The global interception function includes one or more calls to before-interception functions, replacement functions and after-interception functions that can be called with a pre-determined priority for an intercepted function.
    Type: Grant
    Filed: February 7, 2000
    Date of Patent: August 17, 2004
    Assignee: Novadigm, Inc.
    Inventor: Richard P. Hammond
  • Patent number: 6779188
    Abstract: Apparatus and methods are provided for improving devirtualization of method calls. The apparatus and methods reduce the amount of processing time used in performing lookups of methods by limiting such lookups to calls of methods that have been either overridden or overloaded. If a method has not been overridden or overloaded, a branch to the compiled method code is directly taken. If a method has been overridden or overloaded, a lookup routine is executed for looking-up the appropriate method to be invoked on the passed object. The identification of whether to use a lookup routine may be performed in many different ways including providing an extra field in a method block of the method, inserting code into a prolog of the method, and the like.
    Type: Grant
    Filed: September 28, 2000
    Date of Patent: August 17, 2004
    Assignee: International Business Machines Corporation
    Inventors: Geoffrey Owen Blandy, Andrew Johnson
  • Patent number: 6775835
    Abstract: Presented herein is a video enhancer plug-in for a web browser that may either interface directly with the browser or indirectly as a plug-in for another more general multimedia browser plug-in. The video enhancer consists primarily of video enhanced scripts and a library of specialized routines. A script is intended to provide a visually interesting display within a web browser environment and calls upon routines in the library to do so. These routines, for example, may take live video input from a video camera and perform specific functions such as locating the head of an individual within the camera's field of view. Because the script runs within a web browser, it allows components of the system to be widely separated from one another, so long as they are connected across a wide area network such as the Internet.
    Type: Grant
    Filed: July 30, 1999
    Date of Patent: August 10, 2004
    Assignee: Electric Planet
    Inventors: Subutai Ahmad, Jonathan Cohen
  • Patent number: 6772421
    Abstract: An information processing apparatus, in which binding of data common to processes is performed such that common data is registered, and in which if it is determined that common data is not yet been registered, a task is shifted to a sleeping state and then shifted to an executable state once the common data is determined to be registered.
    Type: Grant
    Filed: August 6, 2002
    Date of Patent: August 3, 2004
    Assignee: Canon Kabushiki Kaisha
    Inventor: Takeshi Ogawa
  • Publication number: 20040148613
    Abstract: A system and method of pre-linking classes for use by one or more applications. The system and method may also be used where the runtime processing is split between a host system and a target system. At the host system at least several classes are loaded and linked. At least one host-linked module is generated from the linked classes. The host-linked module is made available for use by the one or more applications operating on the target system.
    Type: Application
    Filed: November 26, 2003
    Publication date: July 29, 2004
    Inventors: David P. Yach, John F.A. Dahms
  • Patent number: 6769126
    Abstract: For a given set of programs and their related DLLs the following tool and method finds the minimum set of DLLs for which to apply demand loading and quantifies a lower bound on the expected performance improvement that comes from applying demand loading to the identified set of DLLs. Additionally, the tool and method identifies the set of DLLs in which demand loading cannot be applied because of data exports, but which might benefit from demand loading.
    Type: Grant
    Filed: December 10, 1996
    Date of Patent: July 27, 2004
    Assignee: International Business Machines Corporation
    Inventor: Raymond Paul Pekowski
  • Patent number: 6766521
    Abstract: A method, computer program, signal transmission, apparatus and system verify instructions in a module of a computer program to be dynamically linked with at least one other module. First it is determined whether checking an instruction in a first module which is loaded requires a lowest upper bound (LUB) class of at least two referenced classes in one or more referenced modules different than the first module. If such information is required, a constraint for the referenced module is written without loading the referenced module. The constraint is of the form “the set of at least two classes inherits from a specified class.
    Type: Grant
    Filed: May 27, 1999
    Date of Patent: July 20, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Gilad Bracha, Timothy G. Lindholm, Sheng Liang
  • Patent number: 6760912
    Abstract: A method is provided for determining an identity of a browser in an Java environment in which an intermediary program masks the browser's identity. The method begins by querying an operating system process table for information identifying the browser. Thereafter, a Java properties table including the information from the process table is set. In response to a request from a calling program (e.g., an applet class) for the browser identity, a getProperty method is then called to retrieve the browser identity from the properties table. The browser identity is then returned to the calling program.
    Type: Grant
    Filed: August 3, 1999
    Date of Patent: July 6, 2004
    Assignee: International Business Machines Corporation
    Inventors: Julianne Yarsa, Bruce Arland Rich, Theodore Jack London Shrader, Donna Skibbie
  • Publication number: 20040123308
    Abstract: An improved system and method for loading and linking a dynamic link library (DLL) for use of its entities by an application program. During design, implementation, and production implicit linkage is assumed. Upon load and execution by the computer operating system, explicit linking is assumed resulting in unresolved external references. During execution, the application program invokes DLL loading and linking routines to resolve these external references within the application program's memory space. The application program continues execution and seamlessly invokes DLL entities.
    Type: Application
    Filed: December 20, 2002
    Publication date: June 24, 2004
    Applicant: Siemens Information and Communication Networks, Inc.
    Inventor: Michael Idoni
  • Publication number: 20040117805
    Abstract: A method of reducing interference among applications co-located in a process when using dynamic libraries is disclosed. For each dynamic library, multiple instances of the dynamic library are loaded in the same operating system process (or process), whereas each instance of the dynamic library corresponds to one of the multiple applications co-located in the same process. In particular, the text segments (or read-only segments) of the instances of the dynamic library are mapped to the same physical memory pages, leading to a low memory footprint. Moreover, within the process, a co-located application's access to a dynamic library is directed to the instance (of the dynamic library) associated with the accessing application, reducing interference among applications co-located in the same process.
    Type: Application
    Filed: December 12, 2002
    Publication date: June 17, 2004
    Inventors: Grzegorz J. Czajkowski, Laurent P. Daynes, Rodrick Ison Evans
  • Publication number: 20040117803
    Abstract: The invention describes a methodology and a system for dynamically specifying exceptions and exception handlers for an application written in any computer language, which has exception handling facility. The methodology described in this invention decouples the exception handling logic from the application thereby can be used to alter the behavior of the program/module/application as well as to define new types of exceptions at runtime. The decoupling of the exception handler logic eliminates the language dependence of the application and further helps in customizing the behavior of the application when they are being deployed in new environments. Moreover dynamic exception handling is not operating system dependent.
    Type: Application
    Filed: December 17, 2002
    Publication date: June 17, 2004
    Inventors: Biplav Srivastava, Amit A. Nanavati, Vishal S. Batra, Manish A. Bhide, Pasumarti V. Kamesam
  • Patent number: 6751651
    Abstract: A method of Web-site host consistency administration provides for consistent presentation of data despite presentation on client machines with inconsistent software-object libraries. The host sends screen images which contact the client's onboard DLLs as little as possible. That way, inconsistency problems called binary incompatibilities are avoided. The client is excused from most of the processing load. The client's role is practically limited to displaying the received screens and sending out keystrokes and cursor-moving device inputs. The light role given the client correspondingly shifts more of a load on server-side processing and data storage. Nevertheless, the method provides high assurance the any client sees substantially the same result for the same request despite differences or inconsistencies in software-object libraries onboard the client's machine.
    Type: Grant
    Filed: January 16, 2001
    Date of Patent: June 15, 2004
    Inventor: David A. Crockett
  • Patent number: 6745048
    Abstract: A SIM Manager is disclosed that accesses functionality contained within a GSM-type telephone SIM by combining functionality of a plurality of asynchronous RIL functions into a single synchronous application programming interface. A first dynamic link library receives a function call for performing a selected function from an application operating in a GSM-type telephone device. The first dynamic link library is preferably a stub dynamic link library to which applications link, links to the application and initiates a process thread corresponding to the received function call, thereby blocking all subsequently received calls until the received function call for the selected function is complete. A second dynamic link library contains at least one application programming interface corresponding to the selected function.
    Type: Grant
    Filed: January 25, 2001
    Date of Patent: June 1, 2004
    Assignee: Microsoft Corporation
    Inventors: Garrett R. Vargas, Alan W. Shen
  • Patent number: 6745389
    Abstract: The present invention provides a system of objects and program components wherein an object accesses different associated program components for different implementations of a corresponding function of the object. The system comprises: a first object having one or more functions; a first program component having one or more functions, the first program component being dynamically linked to the first object at a run-time of the first object; and wherein the first object access the first program component using a function call which may result in the access to a second program component having one or more functions.
    Type: Grant
    Filed: March 30, 2000
    Date of Patent: June 1, 2004
    Assignee: Sony Service Center (Europe) N.V.
    Inventors: Tom Frans Maurits Hostyn, Michel Feret, Magdalena Anna Wasowska
  • Publication number: 20040103417
    Abstract: A system and method for altering the operation of a computer application while avoiding recompiling the computer application or modifying the kernel associated with the operating system of a computing device. A computer application is launched in a suspended mode. An asynchronous procedure call (APC) is used to load an additional dynamic link library (DLL) to be associated with the computer application. The additional DLL includes routines that operate differently than routines originally associated with the computer application through an initial DLL. The references to the routines within the computer application are redirected to the routines of the additional (DLL). The operation of the computer application is therefore changed while avoiding rewriting the application or changing the operating system.
    Type: Application
    Filed: November 27, 2002
    Publication date: May 27, 2004
    Applicant: Microsoft Corporation
    Inventors: Anthony F. Voellm, Ahmed H. Mohamed
  • Publication number: 20040098141
    Abstract: A method and system is provided for creating applications for one or more types of programmable logic controllers (PLCs). A open development kit (OKD) is provided that permits dynamic link libraries to be created and interfaced to a user application software and also to the interface layers of the various types of PLCs. The types of PLCs may include soft PLCs, slot PLCs, and hard PLCs and interface via slots of a personal computer platform. The ODK provides generic interfacing to the various types of PLCs and establishes the necessary operating environment structure to implement processing in either a non-real time and a real time mode. A single application package may then control and manage the various types of PLCs. Communication paths are provided from the PLCs to the ODK subsystem to the user application so that the application software is essentially indifferent to type of PLC involved.
    Type: Application
    Filed: September 19, 2003
    Publication date: May 20, 2004
    Inventor: David E. Martin
  • Publication number: 20040088719
    Abstract: Intercepting calls to document production functions. In one embodiment of the application, an import address table for the application is accessed, document production functions being supplied by an operating system are identified within the import address table. For each identified document production function, an address associated with that function in the import address table is replaced with an address to be used to access a proxy document production function. In another embodiment, the application is loaded in debugging mode. Once the import address table for the application has been populated with addresses for functions called by the application, the execution of the application is paused. An address, in the import address table, associated with a document production function to which calls from the application are to be intercepted is replaced with an address to be used to access a proxy document production function. Execution of the application is then resumed.
    Type: Application
    Filed: October 30, 2002
    Publication date: May 6, 2004
    Inventors: Charles J. Gazdik, Shell Sterling Simpson
  • Patent number: 6728963
    Abstract: The invention is directed toward a loadable interprocess communication manager and generally to a computer operating system capable of supporting plural threads running in a computer having a working memory, the computer operating system including a kernel resident in the working memory at link time and a loadable interprocess communication manager resident at link time outside of the working memory and dynamically loadable into the working memory at run time upon request by one of the threads in one address space to communicate with an other thread in an other address space. The kernel includes a loader for loading the interprocess communication manager into the working memory in response to the request by the one thread. The computer further includes a storage memory separate from the working memory, the loadable interprocess communication manager residing at link time in the storage memory. The loader loads the interprocess communication manager from the storage memory to the working memory.
    Type: Grant
    Filed: March 31, 1999
    Date of Patent: April 27, 2004
    Assignee: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes V. Helander
  • Publication number: 20040070785
    Abstract: Systems and methods for providing a universal print assist in a printer environment. A print assist is provided as a separate component from a print processor and spooler to enable a selective intercept and performance of an action (e.g., to modify, split, merge, redirect, gather or register information or otherwise alter or make observation of a print data stream) on the print data stream as the data stream is despooled by the spooler or print processor to a print provider without customizing any pre-existing components. The print assist uses a method whereby the print assist is bound to the output interface between the spooler and/or print processor and the print provider. Accordingly, the despooled print data stream passes through the print assist as it is despooled from the spooler or the print processor to the print provider. And, since the print assist is a separate component, the print assist may be used with any customized print processor and/or spooler to provide a universal print assist solution.
    Type: Application
    Filed: October 15, 2002
    Publication date: April 15, 2004
    Inventor: Andrew Rodney Ferlitsch
  • Publication number: 20040060058
    Abstract: Techniques for developing and exchanging virtual machine implementations and/or support library implementations are described. In one embodiment, the virtual machine design specifies a set of functions for executing all or substantially all support library operations that are dependent on the implementation of the virtual machine. When a developer desires to substitute one virtual machine implementation for another, the developer is able to basically “plug-in” the second virtual machine implementation with minimal impact on the support libraries since both virtual machine implementations provide implementations for the set of specified functions that are dependent on the implementation of the respective virtual machine. Conversely, different support libraries may be utilized in conjunction with a particular virtual machine implementation.
    Type: Application
    Filed: September 22, 2003
    Publication date: March 25, 2004
    Applicant: Sun Microsystems, Inc., a Corporation of the state of Delaware
    Inventors: Sheng Liang, Timothy G. Lindholm
  • Publication number: 20040045018
    Abstract: A method for optimizing an object file is described. The method includes simulating execution of an object file, where the object file includes a control transfer instruction having an undefined target, and modifying the object file to include an address space bridge section, where the address space bridge section is configured to define the undefined target. When the newly optimized object file is executed, the address space bridge is invoked and the target is mapped in memory in an original address space.
    Type: Application
    Filed: August 27, 2002
    Publication date: March 4, 2004
    Inventor: Sreekumar R. Nair
  • Publication number: 20040031043
    Abstract: A data representation is read and parsed. A declaration referencing an executable namespace is recognized. An expression is recognized. A name (declared within the executable namespace) within the expression having zero or more additional data representations is also recognized. In response, functions corresponding to the name and additional data representations are recursively resolved, and caused to be invoked and executed, with the execution results of the inner functions successively provided for use in the execution of the outer functions. For each function, the function or a creator to create the function is instantiated. The instantiating is effectuated by following a path enumerated in the declaration for locating functions of the namespace. If a creator of the function is located and instantiated, the function is created using the function creator, and then the created function is instantiated. Upon instantiation, the referenced function is invoked and executed.
    Type: Application
    Filed: April 28, 2003
    Publication date: February 12, 2004
    Inventors: Adam Bosworth, David Bau, Kenneth Eric Vasilik
  • Publication number: 20040031044
    Abstract: A method for increasing performance of selected poll applications without recompilation. In one embodiment, the method is comprised of assigning the name of a library as a value for an environment variable in a software application. The library is comprised of software code for emulating a system call. The method is further comprised of launching the software application. The launching causes invocation of a loader associated with the software application. The method is further comprised of preloading the library into the software application. The preloading performed by the loader. The method is further comprised of redirecting the software application to invoke an alternative mechanism when the software application requests a system call. The invocation of the alternative mechanism implements the library as the system call.
    Type: Application
    Filed: August 8, 2002
    Publication date: February 12, 2004
    Inventor: Richard A. Jones