Object Oriented Dynamic Linking, Late Binding Patents (Class 719/332)
  • Patent number: 7444648
    Abstract: A method, computer program, and apparatus verify instructions in a module of a computer program during linking using pre-verification constraints with fully lazy loading. It is first determined whether a first module which is loaded has passed verification one-module-at-a-time before linking. If the first module has passed verification, a pre-verification constraint on a constrained module is read, if any. It is then determined if the constrained module is loaded, if any pre-verification constraint is read. If the constrained module is not already loaded, the pre-verification constraint is retained as a verification constraint.
    Type: Grant
    Filed: May 22, 2003
    Date of Patent: October 28, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Gilad Bracha, Sheng Liang, Timothy G. Lindholm
  • Patent number: 7441252
    Abstract: The cache control unit 15 of the mobile terminal 10 receives an access request for an instance of an object that specifies data to which applications 13 refers, and in the case that an instance of the object does not exist, creates an instance of the object and a counter. In addition, an instance of a reference setting class is created, the reference that refers to the instance of the requested object is set and the result is returned to the application 13, and the counter is incremented by 1. In the case that a release notification for the instance of the reference setting class is received, the counter is decremented by 1, and when the counter has reached 0, the instance of the object is released.
    Type: Grant
    Filed: December 23, 2004
    Date of Patent: October 21, 2008
    Assignee: SAP AG
    Inventors: Hong Bo Li, Yosuke Doi
  • Patent number: 7441253
    Abstract: A method and system for referring to and binding to objects using a moniker object is provided. In preferred embodiments a moniker object contains information to identify linked source data and provides methods through which a program can bind to the linked source data. A binding method is provided that returns an instance of an interface through which the linked source data can be accessed. In a preferred embodiment, the moniker object provides other methods including a reducing method that returns a more efficient representation of the moniker object; equality and hash methods for comparing moniker objects; and inverse, common prefix, and relative-path-to methods for comparing and locating moniker objects from other moniker objects. Several implementations of a moniker object are provided. Each implementation is a moniker class and has a class identifier that identifies code to manage the moniker class.
    Type: Grant
    Filed: July 3, 2006
    Date of Patent: October 21, 2008
    Assignee: Microsoft Corporation
    Inventors: Robert G. Atkinson, Antony S. Williams, Edward Koo Jung
  • Patent number: 7441233
    Abstract: A system and method providing status information about a task being processed on a computer system is described. The task comprises an operation that blocks user activity, such as a modal task. Status information about the task is obtained during processing of the task on an event thread of a computer system. A status display is generated based upon this status information. The task yields time on the event thread, enabling the status information to be displayed in the user interface of the computer system.
    Type: Grant
    Filed: April 11, 2003
    Date of Patent: October 21, 2008
    Assignee: Borland Software Corporation
    Inventors: Joyce Orndorff, Blake Stone
  • Patent number: 7441254
    Abstract: A converter program creates a simulated executable portion of code so that the operating system loader believes that a read only file stored on a hard drive of data consists of executable code and thereby memory-maps the read only file into virtual memory from storage. The result is that a large database may be memory-mapped into the processor virtual memory instead of the file having to be opened using standard file application program interface operations.
    Type: Grant
    Filed: July 9, 1997
    Date of Patent: October 21, 2008
    Assignee: International Business Machines Corporation
    Inventors: Ian Michael Holland, Gareth Christopher Matthews
  • Patent number: 7437742
    Abstract: A system and method for facilitating exposing a resource over a protocol is provided. The system includes a class factory that holds identifiers associated with determining which, if any, registered listener object creator should be employed to create a listener object. The listener object implements an abstract network protocol base class. The listener object is employed to abstract details of exposing a resource over a protocol and to provide a byte stream interface to communications occurring over the protocol, while removing protocol specific code from a server program. The method includes creating an instance of a listener object from a source of registered protocol handlers based on a request to expose a resource over a protocol and using a base class API to communicate over the protocol through the listener object.
    Type: Grant
    Filed: December 14, 2004
    Date of Patent: October 14, 2008
    Assignee: Microsoft Corporation
    Inventors: Richard L. Firth, Henrik Frystyk Nielsen, Lance E. Olson, Henry L. Sanders
  • Patent number: 7434228
    Abstract: An operating system architecture is based on a service model in which active entities (services) are containers for objects having a number of interfaces specified through a contract language that is a subset of the language in which the service is coded. Services may reside in the same address space or may reside in separate address spaces, without changing the programming model or compiled binaries. The location of a service is independent of the location of the service's clients and of services the service calls.
    Type: Grant
    Filed: May 16, 2005
    Date of Patent: October 7, 2008
    Assignee: Microsoft Corporation
    Inventors: Jose M. Bernabeu-Auban, Jeff L. Havens, Yousef A. Khalidi, Frank V. Peschel-Gallee, Madhusudhan Talluri
  • Patent number: 7428737
    Abstract: A method and apparatus executes an automated approach allowing access to a standard shared library without requiring the user to create a custom interface definition for library functions that a user wants to access dynamically using a software application. In accordance with one implementation, in an electronic device, a method of accessing a library function from a dynamic environment includes the step of processing a header file of the library function to create an interface to the library function. The interface to the library function is created in the dynamic environment. The user can invoke the process by calling the function from the shared library, and the automated process takes the necessary steps to execute the function.
    Type: Grant
    Filed: December 1, 2003
    Date of Patent: September 23, 2008
    Assignee: The MathWorks, Inc.
    Inventors: Philip Borghesani, Thomas Gaudette
  • Patent number: 7424722
    Abstract: A method and system for creating a dynamic client side service proxy framework using meta-data and introspection capabilities of Open Grid Services Architecture (OGSA) service data is disclosed. The system and method include defining an Open Grid Service Invocation Factory configured to create a service proxy and introspecting an Open Grid Service Infrastructure (OGSI) service based on information exposed by the service. An OGSI Service Invocation Proxy is created defining a set of dynamic interfaces based on service introspection and a meta-data inspection interface of the Service Invocation Proxy. The Service Invocation Proxy exposes both static port type interfaces and dynamic interfaces to support more flexibility of the client.
    Type: Grant
    Filed: August 29, 2003
    Date of Patent: September 9, 2008
    Assignee: International Business Machines Corporation
    Inventor: Joshy Joseph
  • Publication number: 20080216102
    Abstract: A system allows a non-virtual method of a base class inherited by a derived class to be effectively overridden so that code developed to access the method via the base class accesses the overriding behavior. The system replaces an instance of the derived class with a dynamic object and transparent object with the transparent object appearing to provide to invoking code an implementation of the derived class. Upon receiving an invocation of a method, the transparent proxy directs the invocation to the dynamic object by invoking an invoke method of the dynamic object passing an indication of the invoked method of the transparent object. The dynamic object may be an instance of a dynamic class that inherits a real class with a virtual invoke method. The dynamic class overrides the invoke method to provide overriding behavior.
    Type: Application
    Filed: March 1, 2007
    Publication date: September 4, 2008
    Applicant: Microsoft Corporation
    Inventor: Thomas E. Quinn
  • Patent number: 7421715
    Abstract: A system and method for binding software objects to the program code that implements them in accordance with run-time object typing that is independent of the program code typing system. Persistently-stored, run-time object instances (“persistent objects”) are maintained by a software-based system across transactions, user sessions, and application executions, and are identified by unique, typed names. Dynamic binding is provided through software constructs that are associated with corresponding persistent objects, and referred to as “Associators”. Associators provide links between object types and the program code that implements them.
    Type: Grant
    Filed: February 9, 2005
    Date of Patent: September 2, 2008
    Assignee: Cerylion, Inc.
    Inventors: Efim Margulis, Moshe Ilan Rozenblat
  • Patent number: 7421716
    Abstract: A system and method for providing composite applications for software-based systems that uses a built-in application model having at least one general purpose object type, and providing dynamic late-binding of object implementations through an object typing system decoupled from pre-run time program code, using persistently stored objects. The application model may require that program objects in a conformant application be instances of a predefined active object type, or optionally instances of a predefined reactive object type. The application model enables integration of applications into composite applications, and further integration of composite applications into subsequently defined systems. The run-time object typing system for persistently stored objects is independent of the class typing system that is defined at compile-time or link-time, and enables convenient and practical modifications during development, deployment and maintenance of composite applications.
    Type: Grant
    Filed: February 9, 2005
    Date of Patent: September 2, 2008
    Assignee: Cerylion, Inc.
    Inventors: Efim Margulis, Moshe Ilan Rozenblat
  • Publication number: 20080209453
    Abstract: A system and method is provided for reducing the start-up time of MHP applications based on the MHP 1.0.x standard through exploiting the custom Classloader and persistent storage capabilities of MHP 1.0.x. A generic wrapper class is created that allows any MHP 1.0.x application to copy itself to, and run itself from, persistent storage thereby reducing the startup time. The generic wrapper class utilizes two pre-existing APIs in the MHP protocol, a DVBClassloader API and a persistent storage API.
    Type: Application
    Filed: September 28, 2005
    Publication date: August 28, 2008
    Applicant: KONINKLIJKE PHILIPS ELECTRONICS, N.V.
    Inventor: Petrus N. Wouters
  • Patent number: 7418710
    Abstract: A method, system and computer program product for implementing a high level object-oriented component infrastructure is directed to providing efficient development of programmable applications and systems. Objects of a system form an object hierarchy including child-objects and parent-objects. The system components include metadata describing properties of objects that are encapsulated into each of the components. A programmable object-oriented system locates the components placed in one or several catalogs and reads the metadata. This metadata is then used by the system for determining which module needs to be loaded for creation of an instance of an object in order to support functionality requested by another system object or by an external application.
    Type: Grant
    Filed: October 5, 2007
    Date of Patent: August 26, 2008
    Assignee: Kaspersky Lab, ZAO
    Inventors: Eugene V. Kaspersky, Andrey P. Doukhalov, Andrey V. Kryukov
  • Patent number: 7409694
    Abstract: The present invention is directed to a loadable virtual memory manager, and generally to a computer operating system capable of supporting application programs running in a computer having a working memory, the computer operating system including a kernel resident in the working memory at run time, and a loadable virtual memory manager resident at link time outside of the working memory and dynamically loadable into the working memory at run time upon demand of one of the application programs. The kernel includes a loader for loading the virtual memory manager into the working memory in response to a demand from one of the application programs. The computer is able to access a storage memory separate from the working memory, the loadable virtual memory manager residing at link time in the storage memory. The loader loads the virtual memory manager from the storage memory to the working memory.
    Type: Grant
    Filed: January 8, 2004
    Date of Patent: August 5, 2008
    Assignee: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes V. Helander
  • Patent number: 7404177
    Abstract: A method is disclosed for adapting a legacy software application developed for an environment comprising a centralized computing resource interconnected to a series of computer terminal devices applications to a network environment wherein the network environment can comprise a system of distributed, interconnected network computing resources, the method comprising the steps of: creating translatable source code and executable code for the initial legacy software application and; utilizing the translatable source code to produce a series of software components, the components being executable by at least one of the computing resources in the network environment, and upon execution, the computing resource is caused to interconnect with the executable code of the legacy software application over the network so as to interact with the legacy software application in the transmission or receipt of information to and from the legacy software application.
    Type: Grant
    Filed: October 23, 1998
    Date of Patent: July 22, 2008
    Assignee: Unisys Corporation
    Inventors: Paul Aubrey Greenfield, Charles Zdzislaw Loboz, Mark Alexander Hugh Emberson
  • Patent number: 7401340
    Abstract: One embodiment of the present invention provides a system that supports cross-component references in an object-oriented programming system. During operation, the system makes a first attempt to obtain a name for a referenced object through a cross-component reference between a referencing object and the referenced object. This first attempt involves attempting to obtain the name for the referenced object from the referenced object, which involves attempting access the referenced object through an identifier for the referenced object within the cross-component reference. If this first attempt fails, the system makes a second attempt to obtain the name for the referenced object, which involves obtaining a pathname for the referenced object from the cross-component reference.
    Type: Grant
    Filed: October 21, 2004
    Date of Patent: July 15, 2008
    Assignee: Oracle International Corporation
    Inventor: John W. Leigh
  • Patent number: 7401219
    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: January 14, 2003
    Date of Patent: July 15, 2008
    Assignee: International Business Machines Corporation
    Inventors: Michael Edward Aho, Joseph Patrick Reynolds
  • Patent number: 7392313
    Abstract: A method, apparatus, and computer instructions for managing access to a set of applications associated with a universal resource locator in a data processing system. A request is received, wherein the request includes the universal resource locator and a user identification. The request is directed to a selected application within the set of applications using the universal resource locator and the user identification.
    Type: Grant
    Filed: October 18, 2001
    Date of Patent: June 24, 2008
    Assignee: International Business Machines Corporation
    Inventors: Mikey Andrew Davis, Shannon James Kerlick, Jack E. Land, Jr., Dan Jeffrey Mandelstein
  • Patent number: 7386596
    Abstract: The present invention provides improved techniques for managing storage resources, such as disk drives, I/O ports, and the like in a network based storage system according to a user position within the network. Embodiments according to the present invention can provide a relatively high performance storage access environment for the mobile users moving around a wide area. For example, in one applicable environment, there are several data centers in the wide area, and each data center has a local storage system that is connected to the other storage systems through a network. Copies of a user's volume can be made in some of the storage systems. A remote copy function is utilized for making real time copies of the user's volume.
    Type: Grant
    Filed: November 2, 2006
    Date of Patent: June 10, 2008
    Assignee: Fuji Xerox, Co., Ltd.
    Inventors: Akira Yamamoto, Naoko Iwami
  • Patent number: 7370102
    Abstract: A method and apparatus for providing management and maintenance to a node within a data communications network and to the composite data communications network. A network management application is started on a host which may be located at a network operation center. The management application is in communication with network nodes and services through adapters. A master daemon located at a node is activated. The master daemon starts a control adapter running on the node and if the control adapter fails the master daemon restarts the control adapter. The control adapter is capable of starting and stopping all services running on the node. Signals are communicated between the management application, the node and the services by way of adapters. Signaling provides for the exchange of useful event data related to the nodes and services running on the nodes.
    Type: Grant
    Filed: February 13, 2004
    Date of Patent: May 6, 2008
    Assignee: Cisco Technology, Inc.
    Inventors: Jie Chu, Aravind Sitaraman, Leslie Alan Thomas
  • Patent number: 7367032
    Abstract: A system and method for implementing dynamic interfaces in a JAVA program including methods having a common implementation and other methods to be handled independently. The system comprises a first dynamic proxy object implementing an invocation handler for providing default implementations; a separate object providing implementations of any method in a defined interface that requires independent handling; and, a second dynamic proxy object provided for checking a method definition object for an implementation of the method, and in response, one of: invoking the method on the separate object if the implementation exists, and if the implementation does not exist, invoking the method on the first dynamic proxy object. The second dynamic proxy object thus allows for a single implementation for repetitive methods, while allowing special cases to be handled independently.
    Type: Grant
    Filed: January 7, 2005
    Date of Patent: April 29, 2008
    Assignee: International Business Machines Corporation
    Inventors: Brian S. McCain, Jason L. Peipelman
  • Patent number: 7353271
    Abstract: A method and system for tracking access by clients to a server object of a server class. The client tracking system provides a derived client tracking server class that includes an overriding implementation of a query function of the server class. The overriding implementation instantiates a phantom server object and returns a pointer to the instantiated phantom server object. The phantom server object has functions that correspond to and override the functions of the server class. These overriding functions perform custom processing on a client-by-client basis and forward their invocation to be corresponding functions of the server object. When a client invokes the query function of the client tracking server object, a pointer to a phantom server object is returned. From then on, when that client invokes a function of the phantom server object, custom processing can be performed for that client.
    Type: Grant
    Filed: November 26, 2003
    Date of Patent: April 1, 2008
    Assignee: Microsoft Corporation
    Inventor: Richard Hasha
  • Patent number: 7346789
    Abstract: A multimedia reproducing apparatus having excellent operability and amenity. In the apparatus, a ROM contains an OS including a system program and a utility program. A control unit controls at suspend function by which data indicating the state of contents of display and contents of execution before interruption of a power supply to a CPU is stored as save data so that the power supply, after interrupted, can be resumed from the state before interruption. A main memory includes a first area for the save data to be written to when suspend is executed, and a second area for data of an external program to be written to when the external program is executed. The system program has the functions of writing the save data to the first area when suspend is executed, and writing the utility program from the ROM to the first area when suspend is not executed and the utility program is called from the external program.
    Type: Grant
    Filed: December 1, 2005
    Date of Patent: March 18, 2008
    Assignee: Sony Computer Entertainment, Inc.
    Inventors: Tomonori Shimomura, Takashi Hatakeda, Takeshi Kono
  • Patent number: 7325240
    Abstract: It is checked, by referring to a deployment descriptor and type information of a component, whether the calling convention to be used by a caller component is the same as the calling convention to be used by a callee component, and if different, a class and an object of a proxy for performing a calling convention transformation process is generated.
    Type: Grant
    Filed: April 10, 2003
    Date of Patent: January 29, 2008
    Assignee: Hitachi, Ltd.
    Inventors: Nobuyuki Yamamoto, Jun Yoshida
  • Patent number: 7308685
    Abstract: A present invention emulation internal representation revision method performs revisions on internal representations. In one embodiment of the present invention, an indication of a revision to loaded emulation code is received. Conditions for maintaining consistency are created. An ordered listing for providing an index correspondence to the emulation code is revised. The information from the listing is incorporated in the internal representation of the emulation code, such that a virtual machine implementing the loaded emulation code is not shut down.
    Type: Grant
    Filed: May 14, 2003
    Date of Patent: December 11, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Vanish Talwar, Dongni Chen
  • Patent number: 7284124
    Abstract: The present invention provides a system and method for regulating access to a computer platform via a provably trustworthy trust level generator and monitor. The present invention comprises an operating system component that recognizes when applications desire access to a distributed platform. The operating system component is responsible for regulating access to the platform. Such regulation may be achieved by, for example, refusing to load the application or by limiting calls that an application can make through one or more Application Programming Interfaces. The present invention further comprises a distributed platform analysis component for analyzing applications attempting to access a distributed platform and for establishing a trust level for the application.
    Type: Grant
    Filed: September 27, 2000
    Date of Patent: October 16, 2007
    Assignee: Microsoft Corporation
    Inventor: Michael Ginsberg
  • Patent number: 7281252
    Abstract: A method, system, and apparatus for implementing object interfaces at runtime are provided. According to the method, a request is received for a resource that includes a client side object that supports an object interface. In response to the request, program code is generated that implements the interface. Once the program code implementing the object interface has been generated, the requested resource and the program code implementing the object interface are returned in response to the request for the resource. An intermediary object for mediating communication between objects is also generated and returned in response to the request. If the object interface implements an interface for consuming data, the object interface registers itself with the intermediary object as an event consumer. If the object interface implements a provider interface, the object interface calls the intermediary object in response to the occurrence of a specified type of event.
    Type: Grant
    Filed: March 12, 2003
    Date of Patent: October 9, 2007
    Assignee: Microsoft Corporation
    Inventors: Joshua Lindquist, Daniel Galen Simmons, Li Wang, Eric Barber Vigesaa, Gloria Monroe Godfrey
  • Patent number: 7278139
    Abstract: A present invention emulation class revision process performs emulation class revisions. In one embodiment of the present invention an indication of an emulation class revision initiation is received. A safe state for performing the emulation class revision is established. In one exemplary implementation the safe state retains prior processing results. An emulation class revision is performed.
    Type: Grant
    Filed: May 14, 2003
    Date of Patent: October 2, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Vanish Talwar, Dongni Chen
  • Patent number: 7260816
    Abstract: The present invention is a method and system for translating method calls to version-specified method calls. An interface to an underlying object is provided. Applications communicating with the underlying object use the interface. The interface is separate from the underlying object. Version-specific underlying objects are generated. Each one of the version-specific underlying objects is a different version of the underlying object. A plurality of translation objects, one for each version-specific underlying object, are generated for communicating between the interface and each one of the version-specific underlying objects. A translation object is used for translating an interface method call invoked on the interface to a version-specific method call for the underlying object for each version of the underlying object. All translation objects are generated from a single proxy class and a single invocation handler class.
    Type: Grant
    Filed: October 9, 2003
    Date of Patent: August 21, 2007
    Assignee: LSI Corporation
    Inventors: Abhishek Kar, Robert Louis Morton, Gary William Steffens
  • Patent number: 7257820
    Abstract: A method and system for using integration objects with enterprise business applications is disclosed. A method comprises importing external objects having a first format for a first enterprise application into a second enterprise application; using integration objects to transform the first format external objects into second format external objects formatted for the second enterprise application; and using the second format external objects in the second business application.
    Type: Grant
    Filed: April 9, 2002
    Date of Patent: August 14, 2007
    Assignee: Siebel Systems, Inc.
    Inventors: Jeffrey Michael Fischer, Mark Coyle
  • Patent number: 7251816
    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: Grant
    Filed: August 8, 2002
    Date of Patent: July 31, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Richard A. Jones
  • Patent number: 7246361
    Abstract: Support is provided for multiple late binding objects with a same identifier, in an operating environment that only supports registration of a single late binding object with the same identifier. Each of a plurality of processes is associated with one of a plurality of late binding objects, such that at least two processes are each associated with a separate late binding object having the same identifier. Responsive to one of the plurality of processes attempting to access a late binding object by its identifier, a determination is made as to which late binding object is associated with the process. The associated late binding object is made available to the process.
    Type: Grant
    Filed: March 20, 2003
    Date of Patent: July 17, 2007
    Assignee: Intuit, Inc.
    Inventors: Michael Scalora, Steven Smith, Harold R. Davidson
  • Patent number: 7246347
    Abstract: One embodiment of the present invention provides a system that facilitates loading classes into non-volatile memory. During the loading process, the system first loads class definitions into volatile memory, wherein the class definitions contain metadata for classes currently being loaded into non-volatile memory, as well as metadata for classes that are already loaded into non-volatile memory. Next, after the class definitions are loaded into volatile memory, the system loads method code for the classes into non-volatile memory. During this process, the system uses the class definitions to resolve linkages in the method code so that the method code is ready for execution in non-volatile memory.
    Type: Grant
    Filed: June 24, 2003
    Date of Patent: July 17, 2007
    Assignee: Sun Microsystems, Inc
    Inventors: Nicholas Shaylor, Douglas N. Simon
  • Patent number: 7240329
    Abstract: A method and apparatus for associating methods or attributes on a per-instance basis is provided. One technique for providing “per-instance attributes” involves properties and property bundles. A second technique for providing “per-instance attributes” involves categories wherein the instance can be thought of as being “placed” into one or more categories. A technique for providing “per-instance methods” involves policies. In any of these techniques, providing per-instance properties may be used in any of the following ways: (1) different instances of the same class are associated with different properties where the properties are not in the class; and (2) two instances of two different classes are associated with the same property where the property is not in either of the two classes.
    Type: Grant
    Filed: December 28, 2001
    Date of Patent: July 3, 2007
    Assignee: Oracle International Corporation
    Inventors: David J. Long, David B. Pitfield
  • Patent number: 7234146
    Abstract: The present invention discloses a technique for processing input objects to generate output objects. Initially, an input object is received. The received input object contains input data and one input function. A type of the received input object is determined. Based on the determined type, it is ascertained whether the received input object satisfies one or more predefined requirements. When it is ascertained that the input object satisfies each predefined requirement, the input function is executed.
    Type: Grant
    Filed: July 30, 1999
    Date of Patent: June 19, 2007
    Assignee: International Business Machines Corporation
    Inventor: Tom Thuan Cheung
  • Patent number: 7225447
    Abstract: A method (100) of connecting a first object to a second object is disclosed The first and second objects each comprise at least one associated interface defining a communication protocol for each of the objects. The method (100) examines the communications protocols associated with each of the interfaces of the first and second objects. The method (100) associates a first mapping pointing to the second object with the first object and associates a second mapping pointing to the first object with the second object, if the first and second objects use a compatible communications protocol and the interfaces associated with each of the first and second objects define different sides of the compatible communications protocol.
    Type: Grant
    Filed: September 5, 2002
    Date of Patent: May 29, 2007
    Assignee: Canon Kabushiki Kaisha
    Inventors: Martin Paul Tlaskal, David Geoffrey Slack-Smith
  • Patent number: 7216352
    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: Grant
    Filed: December 12, 2002
    Date of Patent: May 8, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Grzegorz J. Czajkowski, Laurent P. Daynes, Rodrick Ison Evans
  • Patent number: 7213247
    Abstract: A protection domain system is implemented to provide protection for applications executing in a computing environment. Protection domains are allocated system resources and may contain executing tasks. The protection domain system may allow tasks to access resources in other protection domains to which attachments have been made. Attachment is transparent to the software developer. The protection domain system provides flexibility in implementing operating system services and defining protection hierarchies.
    Type: Grant
    Filed: January 10, 2000
    Date of Patent: May 1, 2007
    Assignee: Wind River Systems, Inc.
    Inventors: David N. Wilner, John C. Fogelin, Kent D. Long, Thierry C. Preyssler, Maarten A. Koning, John Gordon, Cy H. Myers
  • Patent number: 7207046
    Abstract: A method and system for providing access for a scripting language on a first platform to objects on a second platform. First, a socket connection is established between a program written in a target scripting language and the second platform. Second, a string message that identifies a specific interface is transmitted across the socket. Third, the string message is automatically converted into a call on the specified object. Fourth, a status and any output parameters are converted into a string message and returned to the scripting language on the first platform.
    Type: Grant
    Filed: August 23, 2000
    Date of Patent: April 17, 2007
    Assignee: Agilent Technologies, Inc.
    Inventor: Dean Van Gerrevink
  • Patent number: 7203946
    Abstract: A system and method for generically intercepting any type of application programming interface (API) events. The API event interception system includes an intercept library and an API. The application program calls the API to process the client event generated. The API receives the request for service from the application program and determines if intercepting of events is enabled. If intercepting is enabled, the API sends the event to the intercept library. The intercept library determines that the intercept library is enabled to support the event. If the intercept library is enabled to support the event, the intercept library invokes the required event program. If the intercept library is not enabled to support the event, the intercept library returns a message instructing the API to process the event.
    Type: Grant
    Filed: October 11, 1999
    Date of Patent: April 10, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Brett Edward Johnson, Carol Lang
  • Patent number: 7194692
    Abstract: A graphical user interface (GUI) and accompanying functionality for binding Web page definitional elements to a back-end state (e.g., client- or server-side back-end state) and custom logic is provided. In one embodiment, a template containing definitional elements, custom logic, and bindings are generated that define all or a portion of a Web page based on input received and functionality provided by the invention.
    Type: Grant
    Filed: June 27, 2002
    Date of Patent: March 20, 2007
    Assignee: Apple Computer, Inc.
    Inventors: Paul Marcos, Arnaud Weber, Avie Tevanian, Rebecca Eades Willrich, Stefanie Herzer, Craig Federighi
  • Patent number: 7194744
    Abstract: A method and a system for dynamically specifying exceptions and exception handlers for an application written in any computer language, which has exception handling facility, are described. The present decouples the exception handling logic from the application and 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: Grant
    Filed: December 17, 2002
    Date of Patent: March 20, 2007
    Assignee: International Business Machines Corporation
    Inventors: Biplav Srivastava, Amit A. Nanavati, Vishal S Batra, Manish A Bhide, Pasumarti V Kamesam
  • Patent number: 7185060
    Abstract: Methods, systems, and computer program products that reduce buffer requirements in a messaging system so that the messaging system can send or receive relatively larger messages using a given buffer size. Message handlers are provided, each identifying a corresponding processing operation to perform on a message object having a streamed portion with a stream oriented interface. Pipelines comprising ordered collections of the message handlers are provided as well. The message object is processed by the message handlers in the message pipelines, such that at least one message handler encapsulates the streamed portion of the message object with its corresponding processing operation. The corresponding processing operation is to be performed at a future time, and encapsulates the streamed portion of the message object without materializing the stream portion in a buffer. The messaging system may be an intermediary for routing a message object or an endpoint.
    Type: Grant
    Filed: March 26, 2003
    Date of Patent: February 27, 2007
    Assignee: Microsoft Corporation
    Inventors: Erik B. Christensen, Douglas A. Walter, Michael J. Coulson, Kenneth D. Wolf
  • Patent number: 7181724
    Abstract: Improved techniques for representation of Java data types in virtual machines are disclosed. The techniques can be implemented to represent signatures of Java methods as arrays of references. Each of the references in an array can represent a parameter for a Java method. Accordingly, a signature can be represented as an array of references, wherein each reference in the array can reference a Java type indicator or an internal class representation. The Java type indicator represents a Java primitive type (e.g., byte, integer, double, etc.) The internal class representation is typically the representation of a Java class as represented in a virtual machine. As will be appreciated, an array organization allows for more efficient access to information. Thus, unlike conventional techniques, there is no need to start at the beginning of the signature and sequentially read it to find a particular parameter's data type.
    Type: Grant
    Filed: June 20, 2001
    Date of Patent: February 20, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Stepan Sokolov, David Wallman
  • Patent number: 7171674
    Abstract: A method and system for providing “just-in-time” dynamic loading and unloading of libraries. Library code is loaded into memory just prior to the actual execution of a routine in that library and is unloaded from memory after the execution of the library routine is completed. According to the present invention, a library structure having a library loader and a library implementation module. The library loader provides the same entry points as the library itself and contains code to drive the loading and unloading of the library implementation module which actually contains the code to implement the library call. At the beginning of the execution of an application or other software module, the library loaders for libraries needed by that application or other software module, are loaded into memory and unloaded upon completion of that application or other software module.
    Type: Grant
    Filed: August 30, 2001
    Date of Patent: January 30, 2007
    Assignee: Apple Computer, Inc.
    Inventors: Yan J. Arrouye, Sean J. Findley, Keith L. Mortensen
  • Patent number: 7159222
    Abstract: In accordance with another aspect, the invention is embodied in a computer operating system capable of supporting plural objects 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 mutation object resident at link time outside of the working memory and dynamically loadable into the working memory at run time upon demand of one of the application programs, the mutation object including an interface with methods for mutating any one of the plural objects. The kernel includes a loader for loading the mutation object into the working memory in response to a demand from one of the plural objects. The computer further includes a storage memory separate from the working memory, the loadable mutation object residing at link time in the storage memory.
    Type: Grant
    Filed: March 31, 1999
    Date of Patent: January 2, 2007
    Assignee: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes V. Helander
  • Patent number: 7143421
    Abstract: The invention is embodied in software executable on a computer having a working memory with demand-loadable components initially stored outside of the working memory, each component having an entry point including a constructor for an object. Preferably, the demand-loadable components are initially provided in a memory within the computer or a location external of the computer. A Namespace in the working memory provides access in the working memory to the components as they become needed by applications running in the computer. The Namespace provides the access by managing demand-loading and unloading of the components in the working memory.
    Type: Grant
    Filed: March 31, 1999
    Date of Patent: November 28, 2006
    Assignee: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes V. Helander, Andrew R. Raffman, Gilad Odinak
  • Patent number: 7143418
    Abstract: A method and apparatus for creating run-time reconfigurable cores using a core template package. The core template package provides an object-oriented application programming interface for specifying run-time reconfigurable (RTR) electronic circuit designs in a RTR application program. A run-time parameterizable (RTP) core library includes a plurality of predefined RTP core classes that implement selected functions in an electronic circuit design when invoked from an RTR application program. An RTP core template package includes a plurality of template classes. Each template class has a predefined set of method interfaces and fields. The RTP core template package further includes an RTP core template class that includes methods for building, connecting and traversing a hierarchy of RTP core objects based on the template classes and the predefined RTP core classes.
    Type: Grant
    Filed: December 10, 2001
    Date of Patent: November 28, 2006
    Assignee: Xilinx, Inc.
    Inventor: Cameron D. Patterson
  • Patent number: 7139618
    Abstract: The present invention is directed to a method of operation and a control program for a central unit (e.g., CPU) in an automation system repeatedly executing a control program that is stored in the central unit and comprises at least two subprograms. A single instance of execution occurs within a cycle time which is stipulated by the control program. The central unit executes only one of the subprograms—the activated subprogram—at a time. The cycle time is independent of the activated subprogram, is shorter than the time required in order to execute all of the subprograms, and is at least as long as the longest time period required in order to execute one of the subprograms once.
    Type: Grant
    Filed: June 10, 2004
    Date of Patent: November 21, 2006
    Assignee: Siemens Aktiengesellschaft
    Inventors: Mirko Danz, Johannes Extra, Michael Franke, Hermann Jartyn