Dynamic Linking, Late Binding Patents (Class 719/331)
  • 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: 7231642
    Abstract: An on-vehicle multimedia device to be operated by software 16 including an application module group 18 having a plurality of application modules 19 that realizes their respective different functions and an application control module 17 for controlling each of the application modules 19, characterized by the device comprising external hardware which inputs and outputs data to be processed by the software.
    Type: Grant
    Filed: March 19, 2001
    Date of Patent: June 12, 2007
    Assignee: Mitsubishi Denki Kasbushiki Kaisha
    Inventors: Shinichiro Araki, Minoru Yoshida, Akio Uekawa, Yosuke Asai, Mitsuo Shimotani, Fumitaka Sato
  • Patent number: 7231632
    Abstract: A system for reducing memory and computational requirements of graphics operations. The system provides techniques for combining otherwise individual operations to apply filters to images. A combined filter emerging from the combination spares the processor time and the creation of an entire intermediary image. The system further provides for application of these techniques in many contexts including where the operations are fragment programs in for a programmable Graphic Processing Unit.
    Type: Grant
    Filed: April 16, 2004
    Date of Patent: June 12, 2007
    Assignee: Apple Computer, Inc.
    Inventor: John Harper
  • Patent number: 7231644
    Abstract: Application code for deployment to a client over a data link is optimized to minimize download time by supplying only the application code with a particular object that is required by the object. In a web application that includes multiple pages, the HTML and JAVASCRIPT are scanned to identify code resources called by a particular web page. When all called resources are identified, they are extracted and concatenated into a single resource file. When the page is downloaded to the client, the import file is included with the page. The import file may be cached so that it need only be downloaded once, rather than being downloaded every time the page is requested. The invention is suitable for use with other interpreted scripting languages.
    Type: Grant
    Filed: January 30, 2001
    Date of Patent: June 12, 2007
    Assignee: AOL LLC, a Delaware limited liability company
    Inventor: Robert Kieffer
  • Patent number: 7225430
    Abstract: A method and apparatus for managing the use of a software code by a selected application program are disclosed. The method includes detecting an instance of using the code, identifying the application program that is using the code, confirming a conflict between the code and the application, and reporting the conflict to one or more selected parties. Confirmation of the conflict may occur by using a database whose content includes a plurality of selected application programs, along with a corresponding plurality of proper software codes, such as DLL files, which are appropriate for each of the selected application programs to use. A computer workstation or networked computer system may embody the method in the form of instructions stored in a machine-accessible medium.
    Type: Grant
    Filed: July 26, 2001
    Date of Patent: May 29, 2007
    Assignee: LANDesk Software Limited
    Inventors: David A. Eatough, James L. Sferas
  • 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: 7207041
    Abstract: An open platform architecture and methods for shared resource access management are provided. A redirection module in kernel space receives requests for access to resources from applications in user space. The redirection module routes signals representative of the received requests to a device driver interface in user space. Components of the device driver interface include resource management modules and device drivers that correspond to available resources. The resource management modules generate queries to the device drivers regarding availability of the requested resources. Upon receipt of resource status information from the device drivers, components of the device driver interface generate schedules for granting access to the requested resources. Further, the device driver interface components control access to the resources in accordance with the generated schedules including issuing responses to the requesting applications and the device drivers of the requested resources.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: April 17, 2007
    Assignee: Tranzeo Wireless Technologies, Inc.
    Inventors: Jeremy Elson, Lewis D. Girod, William J. Kaiser, Josef Kriegl, Gregory J. Pottie, Guillaume Francois Rava
  • Patent number: 7197600
    Abstract: The present invention provides a method for use with program overlays, wherein code segments, along with data segments pertaining to the code segments, are transferred into a receiving memory segment. Program code is separated into common code and overlay code. The overlay code is then broken down into segments according to functionality, and the need to create segments that will fit into a receiving memory segment. An overlay control file is created for each segment, then a wrapper file. Linker command files are created for the common area and code area. The wrapper files and linker command files are used to create a common image file for the code/data. The common image is used to produce overlay sections, which are then concatenated together into one file. This one file is then loaded into memory for transfer of the overlays to a receiving memory area.
    Type: Grant
    Filed: October 24, 2001
    Date of Patent: March 27, 2007
    Assignee: Broadcom Corporation
    Inventors: Dave Hylands, Craig Hemsing, Andrew Jones, Henry W. H. Li, Susan Pullman
  • 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: 7182250
    Abstract: A computing device with an embedded microprocessor or micro-controller, including a software stack which comprises a content manager, and a runtime environment positioned in the stack above or together with a hardware abstraction layer. The content manager is not specific to any one design of runtime environment or hardware abstraction layer, so that several different designs of runtime environment and/or hardware abstraction layer can each operate with the same content manager. This de-couples the content manager from the runtime environment and/or hardware abstraction layer (e.g. a Java Virtual machine; elements of the operating system). The core advantage is that a single content manager can be used across multiple runtime environments and/or hardware abstraction layers; runtime environments and OSs can therefore be swapped without needing to re-write the content manager.
    Type: Grant
    Filed: December 19, 2001
    Date of Patent: February 27, 2007
    Assignee: Smart Card Solutions Limited
    Inventors: Martin Sean Kelly, Simon Fisher, Martin Strauch, Steven James Wenham
  • Patent number: 7171673
    Abstract: A system for, and method of, validating an interface of a dynamically linkable component, such that one dynamically linkable component can assess its interface compatibility with another. In one embodiment, the system includes: (1) a check code generator that transforms the interface of the dynamically linkable component into an interface identifier representing the interface and couples the interface identifier to the dynamically linkable component and (2) a interface verifier that employs the interface identifier to determine a compatibility of the dynamically linkable component.
    Type: Grant
    Filed: August 6, 1999
    Date of Patent: January 30, 2007
    Assignee: Honeywell International Inc.
    Inventors: Jethro F. Steinman, Brian R. Reynolds
  • 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: 7155709
    Abstract: A method of forming an executable program from a plurality of object code modules where each object code module includes a plurality of relocation instructions having at least one information output relocation with a field indicating information to be output. The method includes reading a relocation instruction from one of the object code modules and, when the read relocation instruction is an information output relocation, displaying the information indicated in the field in a human readable form.
    Type: Grant
    Filed: March 20, 2002
    Date of Patent: December 26, 2006
    Assignee: STMicroelectronics Limited
    Inventors: Sean McGoogan, Richard Shann
  • 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: 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
  • Patent number: 7117507
    Abstract: Software atomization provides a method of loading atomized computer program code and data on demand by loading, from an atom database, into a memory, an atom defining code or data in a fine-grained, individually addressable manner. Atoms comprise an atom identifier, computer program code or data information and computer program code or data reference information. The computer program code or data information is modified by transforming the reference information into memory addresses. The present invention provides for the lazy loading of data both implicitly and explicitly. Data is lazily loaded implicitly when it is referenced from code that is lazily loaded. Data is lazily loaded explicitly by encoding a referencing atom identifier such that the referenced data atom is not loaded until actually accessed at runtime.
    Type: Grant
    Filed: June 3, 2002
    Date of Patent: October 3, 2006
    Assignee: Sumisho Computer Systems Corporation
    Inventors: Mathew J. Hostetter, Benjamin R. Harrison
  • Patent number: 7100153
    Abstract: A compiler automatically generates a late binding interface implementation based upon programming language code and definition information. The programming language code is for implementing the late bound methods of the interface, while the definition information defines late binding interface features of the interface. The late binding interface implementation includes code for invoking one or more late bound methods through a late binding mechanism, and also can include code for directly invoking the one or more late bound methods through an early binding mechanism. The compiler can also generate client-side code for calling a late bound method of a late binding interface.
    Type: Grant
    Filed: July 6, 2000
    Date of Patent: August 29, 2006
    Assignee: Microsoft Corporation
    Inventors: Paul F. Ringseth, Sridhad S. Madhugiri
  • Patent number: 7093267
    Abstract: Hosting user interface controls in a window via an interface for controlling the window is disclosed. One aspect of the invention is a computerized system having an operating system and at least one program. The operating system provides for hosting controls of a predetermined type within windows of a predetermined type via an interface for controlling the windows. The programs utilize the interface to host one or more controls within one or more windows. Thus, with respect to versions of the MICROSOFT WINDOWS operating system, a program may utilize the WIN32 API (i.e., interface) to host ACTIVEX-type controls within windows hosted by the program, also via the WIN32 API.
    Type: Grant
    Filed: July 19, 2002
    Date of Patent: August 15, 2006
    Assignee: Microsoft Corporation
    Inventors: Christian Beaumont, James F. Springfield, Nenad Stefanovic
  • Patent number: 7076648
    Abstract: Methods and computer systems provide for the selection of a DSDT that accurately describes a current configuration of the computer system. Because the system configuration can change over time, such as due to hardware malfunctions or the addition or removal of hardware requiring a BIOS interface to software, multiple DSDTs are available for selection so that for each computer system configuration, an appropriate DSDT is available. Upon boot-up, the hardware of the computer system is analyzed to determine the set of available North Bridge chipset devices. An appropriate DSDT is then selected from a set of multiple DSDTs for the current computer system configuration.
    Type: Grant
    Filed: February 19, 2003
    Date of Patent: July 11, 2006
    Assignee: American Megatrends, Inc.
    Inventor: Sergiy B. Yakovlev
  • Patent number: 7076785
    Abstract: Exemplary devices and/or methods optionally compile a programming language code associated with one framework to a code associated with another framework; and/or convert a code associated with one framework to a code associated with another framework. The aforementioned devices and/or methods optionally include, but are not limited to, features for supporting framework differences in object hierarchy, exceptions, type characteristics, reflection transparency, and/or scoping, and features for supporting differences in class loading.
    Type: Grant
    Filed: August 15, 2001
    Date of Patent: July 11, 2006
    Assignee: Microsoft Corporation
    Inventors: Debi Mishra, Sushil Baid, Ramesha Chandrasekhar, Nikhil Jain
  • Patent number: 7058801
    Abstract: Methods and computer systems provide updating of device configuration information in a DSDT of a BIOS for a computer system. Because the device configuration information can be changed, this information is determined upon boot-up of the computer system. The determined device configuration information such as the device number, function number, and/or bus number is then updated in the DSDT table at an appropriate entry for the device rather than having the device configuration information be pre-defined when the DSDT is developed.
    Type: Grant
    Filed: February 19, 2003
    Date of Patent: June 6, 2006
    Assignee: American Megatrends, Inc.
    Inventor: Sergiy B. Yakovlev
  • Patent number: 7058775
    Abstract: Processes are monitored as components are loaded into memory. Relocation of a component to an alternate base address instead of its preferred base address, causes an alternate component to be created corresponding to the relocated component. The alternate component is a copy of the relocated component, but the preferred base address of the alternate component is reset to be the alternate base address of the relocated component. Additional alternate components may be created for each relocated component, with each additional alternate component being optimized in a different manner. Alternate components may be implemented as alternate data stream of the corresponding relocated components. In response to subsequent requests to load a selected component into memory, it is determined whether the selected component has at least one corresponding alternate component. If so, one of the corresponding alternate components is loaded into memory instead of the selected component.
    Type: Grant
    Filed: November 21, 2003
    Date of Patent: June 6, 2006
    Assignee: RTO Sortware, Inc
    Inventor: Kevin Goodman
  • Patent number: 7047537
    Abstract: Methods and apparatus for linking a set of code modules for execution includes determining one or more code modules to be executed, ascertaining a hierarchical order in which the one or more code modules are to be executed, loading the one or more code modules to be executed, and building a chain connecting the one or more code modules such that the one or more code modules will automatically execute in the hierarchical order when a first one of the one or more code modules is executed.
    Type: Grant
    Filed: January 4, 2000
    Date of Patent: May 16, 2006
    Assignee: Cisco Technology, Inc.
    Inventor: Donald Stern
  • Patent number: 7039923
    Abstract: Embodiments of a system and method for providing class dependency graph-based class loading and reloading may be used to segregate namespaces in a graph-centric way, and may provide a set of normalized topologies that may be used to efficiently support hot-swapping of programmatic logic such as classes, applets, and beans, among other applications. Embodiments may provide a domain-independent, flexible and robust namespace segregation technique that is based on the dependency between the various classes and not on details like the roles the classes play. The problem of segregating namespaces is formulated as a graph theory problem, and a solution is sought through graph techniques. The graph may be normalized by identifying and grouping interdependent classes and non-interdependent classes in separate groups. A directed dependency relationship of the groups may be determined using the relationships between the member classes of the groups.
    Type: Grant
    Filed: April 19, 2002
    Date of Patent: May 2, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Ajay Kumar, Hanumantha Rao Susarla
  • Patent number: 7032230
    Abstract: Virtual function calls in hybrid compiled and interpreted computer programming environments are carried out efficiently by dual virtual function tables. Each class object generated is provided with a compiled virtual function table and an interpreted virtual function table. Each table is symmetrically structured and contiguous with the class object. Calls from an interpreted function access the interpreted virtual function table. Entries in that table point to function data structures which provide for the interpretation of the called function, or for transfer to execution of a compiled version of the called function. Calls from a compiled function access the compiled virtual function table. Entries in the compiled virtual function table point to either executable code representing the called function, or to transition code for transition to the interpreter to interpret the called function.
    Type: Grant
    Filed: August 27, 2001
    Date of Patent: April 18, 2006
    Assignee: International Business Machines Corporation
    Inventors: Trent Gray-Donald, Graeme Johnson, Kevin A. Stoodley, Julian Z. L. Wang
  • Patent number: 7028294
    Abstract: In one embodiment a method for handling shadow or overlay memories is described wherein a linker contains a description of the memory of a target embedded system so that each memory space is described for each state of the control devices. The linker in one embodiment contains the shadow memory configuration information so that post linker tools such as loaders and debuggers can utilize this information. The information for each configuration includes how to get the device into the state that makes each configuration visible in address space, how to get the device back into the state it was in before the state was changed and how to find out the state the device is in.
    Type: Grant
    Filed: May 8, 2002
    Date of Patent: April 11, 2006
    Assignee: Texas Instruments Incorporated
    Inventors: Robert J. Cyran, David A. Syiek
  • Patent number: 7028309
    Abstract: A system for providing a graphics tool access to a computer graphics system to evaluate and control a graphics application executing on the computer graphics system. The system includes application program interface (API) event generators for performing predetermined operations relating to a graphics library function call and for generating a hook event containing results of the predetermined operations; dispatch table manger for selecting an active dispatch table from a normal operations dispatch table having function pointer to the graphics library functions and a hooks dispatch table having pointer to the API event generators; and hook event manager for enabling and configuring selected ones of the API event generators in response to a graphics tool event request. The system further includes internal event generators, integrated along various locations of a graphics pipeline managed by the graphics library, for performing predetermined diagnostic operations in the graphics system.
    Type: Grant
    Filed: July 28, 2001
    Date of Patent: April 11, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Alan D. Ward, Rex A. Barzee, Kevin T. Lefebvre, Don W. Dyer, James G. Dugger
  • Patent number: 7003780
    Abstract: Logical disks are provided, which are created by device managers. The logical volume manager is modified to use only logical disks. The device managers may be plug-in modules. This allows new device managers to be added to the logical volume manager at any time without changing the code in the logical volume manager. Anything that can be made to appear as a logical disk through the use of a device manager plug-in may then be used with the logical volume manager. A device manager for network attached storage may be written allowing network attached storage devices to be treated as local disk drives by the logical volume manager, thereby allowing all of the capabilities of the logical volume manager to be used with the network attached storage devices.
    Type: Grant
    Filed: December 11, 2000
    Date of Patent: February 21, 2006
    Assignee: International Business Machines Corporation
    Inventors: Mark A. Peloquin, Benedict Michael Rafanello, Cuong Huu Tran
  • Patent number: 6996831
    Abstract: A method and system for allowing a PERL application to communicate with distributed objects. One embodiment comprises a method in which first an adapter program receives a request from a PERL application. The PERL request specifies a distributed object with which the PERL application desires to communicate. The adapter program translates the request from the PERL application. For example, the adapter program translates PERL data structures into a format which is compliant with a communication program. Then, the adapter program calls the communication program to access the distributed object via Common Object Request Broker Architecture (CORBA). After the adapter program receives a response from the communication program, the adapter translates the response to a form suitable for the PERL application. For example, the adapter program may need to translate a data structure into a PERL compliant form. Then, the adapter program passes the response to the PERL application.
    Type: Grant
    Filed: November 27, 2000
    Date of Patent: February 7, 2006
    Assignee: Cisco Technology, Inc.
    Inventors: Gregory Zoller, Samir Mehta
  • Patent number: 6996832
    Abstract: The invention provides a software component plugin framework. The system described supports dynamic loading, instantiation, and unloading of interface implementations (plugin modules), together with encapsulation of these interface implementations. The many benefits provided by the invention include software reuse, interoperability and fast product development cycles.
    Type: Grant
    Filed: July 31, 2001
    Date of Patent: February 7, 2006
    Assignee: BEA Systems, Inc.
    Inventors: Mesut Gunduc, Juan Andrade, Jeff Michaud, Paul Patrick
  • Patent number: 6990532
    Abstract: An apparatus and method are provided to support the provision of context-sensitive help functions in a back-end HTML/XML server. The apparatus provides partner-sensitive help functions to users that have been redirected from a plurality of partner sites to the back-end server. The apparatus has a data base and a context-sensitive help engine. The data base stores general help data, as well as partner-specific metadata corresponding to the plurality of partner sites. The context-sensitive help engine is coupled to the data base. The context-sensitive help engine receives a help transaction request that has been redirected from a specific one of the plurality of partner sites. The context-sensitive help engine provides specific help functions in response to the help transaction request, where the specific help functions correspond to the specific partner site.
    Type: Grant
    Filed: April 7, 2001
    Date of Patent: January 24, 2006
    Assignee: CPA2BIZ, Inc.
    Inventors: Ian Day, Elaina E. Von Haas
  • Patent number: 6983468
    Abstract: Automated interface generation for computer programs operating in different environments is provided. An automated interface generation system, method, computer program product and article of manufacture is provided comprising an import utility and a runtime environment. The import utility imports a COBOL IMS transaction source file, parses the specified input and output message records, and generates an application programming interface. The application programming interface operates with the runtime environment to take the data values from the language of a different environment and translate them to a formatted IMS input message. This format is derived from the definition of the input message record in the COBOL IMS transaction source file. After the IMS transaction has executed, the resulting IMS output message is translated back to the data values of the language of the different environment, said values including the results of the transaction.
    Type: Grant
    Filed: May 19, 2000
    Date of Patent: January 3, 2006
    Assignee: International Business Machines Corporation
    Inventors: John H. Green, Sandeep K. Minocha, Piotr Przybylski, John W. Stephenson
  • Patent number: 6981268
    Abstract: A system and method are presented that persist assembly bind information for applications at each stage of execution of the assembly policy. New assembly bind history files are created and persisted to disc when changes in assembly bind policy results in a change in the assemblies with which the application binds. This persisted information is used to reconfigure assembly binds to a prior state when operation of the application conformed to a user's desires. Since this assembly bind reconfiguration is on a per application basis, only the binding of the selected application is affected. Likewise, the assembly bind history files are associated with a particular user to allow personalized execution of applications on a system.
    Type: Grant
    Filed: December 5, 2001
    Date of Patent: December 27, 2005
    Assignee: Microsoft Corporation
    Inventors: Alan Shi, Srivatsan Parthasarathy
  • Patent number: 6975628
    Abstract: The present invention defines an object-oriented programming model appropriate for both ASIC-based networking silicon as well as network processors. This model obtains this range of expressiveness by identifying the fundamental units of packet processing performed by underlying hardware (either ASIC or network processor). Software objects, called Stages, are then created to encapsulate and represent these fundamental units of packet processing. Using this API, a directed graph of packet flow is formed using the Stage objects. This directed graph of packet flow models packet processing performed by underlying forwarding hardware. As a result, additional services can be added or deleted from a single switching/routing device without affecting the underlying forwarding engine hardware.
    Type: Grant
    Filed: December 22, 2000
    Date of Patent: December 13, 2005
    Assignee: Intel Corporation
    Inventors: Erik J. Johnson, Kapil Jain
  • Patent number: 6973624
    Abstract: An architectural software framework is provided for creating Web-style application software incorporating protocols and means for expansion and interfacing with other Web-style programs, as well as a reusable basic programming structure, including abstract and concrete data types, that assist in building Web-style applications. The architectural software framework includes a page function and frame. Each Web-style application includes one or more page functions which communicate via the frame.
    Type: Grant
    Filed: February 26, 2002
    Date of Patent: December 6, 2005
    Assignee: Microsoft Corporation
    Inventors: Jan Thomas Miksovsky, David Joel Sheldon
  • Patent number: 6964055
    Abstract: A method is provided that includes: receiving, by a framework, a request communicated by a source, the request including an associated functionality. The method also includes integrating, by an abstraction layer, a java object into the request such that a generic term associated with the request is generated. The generic term is insulated from the functionality of the request. The generic term is processed within the framework and a response associated with the request is returned to the source.
    Type: Grant
    Filed: October 29, 2001
    Date of Patent: November 8, 2005
    Assignee: Electronic Data Systems Corporation
    Inventors: Philip C. Hanses, Scott W. Woyak, Steven J. Lundberg, Andrew W. Mather, Jeffrey A. Van Eeuwen, Philip C. Jackson, Jr.
  • Patent number: 6951016
    Abstract: A code server operates in a data processing system having an operating system or environment, such as OS/2 or Windows, which processes coded programs in discrete code modules. The code server maintains linkage information between the various code modules forming an association representing all the linkage data for the entire program. This information is gathered by way of searching through the files of the computer network or by direct insertion into the code module information table. Once the associative data has been gathered, a coded program may be retrieved quickly and efficiently without the need for repetitive on-line searching because the user need refer only to the code server which contains a look-up tables storing the data representing the associative information.
    Type: Grant
    Filed: January 16, 2003
    Date of Patent: September 27, 2005
    Inventor: Stephen F. B. Pickett
  • Patent number: 6951023
    Abstract: The present invention relates to logic systems which use a message-based API, and in particular to telecommunication systems. The present invention aims to overcome drawbacks in the way in which data is sent between, for example, a gatekeeper unit and a service application running on a service platform. By providing a formatter or formatter units on the gatekeeper units, incoming messages may be pre-processed thereby reducing the bandwidth requirements for data transfer. Each formatter unit may be specific to a service application, and ensures that data arrives at the service platform in the appropriate format.
    Type: Grant
    Filed: October 29, 2001
    Date of Patent: September 27, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Sebastien Bouat, Thierry Quervel
  • Patent number: 6950916
    Abstract: Processes are monitored to determine if all of their components are loaded from persistent storage into memory at their preferred base addresses. Each of the components is examined to determine if that component's in-memory base address matches the preferred base address of its on-disk representation. If a base address collision is detected, the on-disk representation of the preferred base address is updated to reflect the new in-memory base address.
    Type: Grant
    Filed: January 31, 2002
    Date of Patent: September 27, 2005
    Assignee: RTO Software, Inc.
    Inventor: Kevin Goodman
  • Patent number: 6948133
    Abstract: A system for dynamically configuring a user interface display, including image elements for prompting user data entry, includes an input data processor for receiving input data via a prompt element for display in the user interface. A database associates a condition with input data received via the prompt element An image element processor determines whether the received input data satisfies the condition and at least either activates or inactivates an image element in the user interface display in response to the determination.
    Type: Grant
    Filed: March 19, 2002
    Date of Patent: September 20, 2005
    Assignee: Siemens Medical Solutions Health Services Corporation
    Inventor: John D. Haley
  • Patent number: 6948175
    Abstract: A system for monitoring a user's usage of a target application on an application unit. Such a target application can, as examples, be a software program running on a computer or a workstation, an image forming device, an appliance, etc. The application unit includes a user interface with a plurality of commands which a user can select. In the example of the target application being a software program, the commands may be icons displayed on a computer screen which a user can point to with a mouse pointer and then click on. In the case of the application unit being an image forming device or an appliance, the interface may be an operation panel with buttons, a touch pad, etc. which a user can press. The present invention monitors the user's usage of such interfaces and logs data of the user's usage of such interfaces. The logged data can then be communicated by the sending unit to a designated location.
    Type: Grant
    Filed: November 16, 1999
    Date of Patent: September 20, 2005
    Assignee: Ricoh Company, Ltd.
    Inventors: Avery Fong, Tetsuro Motoyama, Yevgeniya Lyapustina
  • Patent number: 6944654
    Abstract: A network architecture facilitates the monitoring and control of a number of storage systems (e.g., arrays) by one or more clients. In particular, the network architecture includes at least one storage management server, connected between the storage systems and a number of clients, for providing operation status information associated with the storage systems as well as storage connectivity devices to at least one of the clients.
    Type: Grant
    Filed: November 1, 1999
    Date of Patent: September 13, 2005
    Assignee: EMC Corporation
    Inventors: Joseph G. Murphy, Ilya Lubovich
  • Patent number: 6934821
    Abstract: A memory management method in which the memory area can be used efficiently, avoiding the overhead caused by copying to generate Java object. In a memory having a variable address memory area where a Java object to be executed by Java application is stored and relocated by Java virtual machine and a fixed address memory area where data generated by another program is stored, data generated by another program in the fixed address memory area is read out as Java object according to management information for Java application to read the data.
    Type: Grant
    Filed: December 11, 2001
    Date of Patent: August 23, 2005
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Yuko Kubooka, Shigenori Doi
  • Patent number: 6901386
    Abstract: A electronic asset lending library method and apparatus enables the electronic management and reassignment of licenses for unused electronic assets installed on computers connected through a communications network. Licensing data for the unused electronic assets is released by the currently assigned owner and made available to one or more communities of users for display by product category, name, or keyword search. Once released, the lending library notifies the currently assigned owner to remove the unused electronic asset from their computer and transfers the licensing data to a library account. Eligible borrowers are permitted to request a re-assignment of an available released license for an unused electronic asset from a lending library account to their own account. Upon re-assignment the electronic asset lending library automatically notifies the borrower with instructions for the download and installation of the unused electronic asset to their computer.
    Type: Grant
    Filed: March 31, 2000
    Date of Patent: May 31, 2005
    Assignee: Intel Corporation
    Inventors: Rick Dedrick, Laura I. Shine, Jeanne M. Koski
  • Patent number: 6886158
    Abstract: During the process of creating a component to be referred to by another component, a declaration of a symbol in a source file is converted into an original symbol name through a compile process. A symbol information table is created in which the original symbol name is replaced with a symbol ID, which corresponds to the symbol value. Moreover, the original symbol name and the symbol ID correspond to each other so that an external symbol information file is created. When a component is used as a reference source, the original symbol name referring to another component is replaced with a pair of the component ID and the symbol ID using a file. Thus, a symbol reference information table is created. Information about the linkage of the components to be the reference source and the referent are collated by using the symbol ID based on the table.
    Type: Grant
    Filed: May 23, 2001
    Date of Patent: April 26, 2005
    Assignee: Sony Corporation
    Inventor: Takuro Kitayama
  • Patent number: 6883172
    Abstract: A system and method is provided for bridging disparate object systems. The system includes a first wrapper to bridge communications between a first object system and a second object system and a second wrapper to bridge communications between the second object system and the first object system. The first wrapper insulates the first object system from interface implementations in the second object system and the second wrapper insulates the second object system from interface implementations in the first object system to facilitate transparent communications between the first and second object systems. The first object system may be at least one of a managed object system and an unmanaged object system, and the second object system may be at least one of a managed object system and an unmanaged object system.
    Type: Grant
    Filed: March 29, 2001
    Date of Patent: April 19, 2005
    Assignee: Microsoft Corporation
    Inventors: Dennis Angeline, Christopher W. Brumme, William G. Evans, Raja Krishnaswamy, David S. Mortenson
  • Patent number: 6880158
    Abstract: A system for providing a scalable processor and operating system independent network processor services architecture. The system includes a plurality of portable and individualized functional components representing particular segments of the control processor's device driver. The functional components, which include lower level and external APIs, carry out the various network processor functions such as the receipt and transfer of packets on the network, and other functions required by the control processor to communicate with and direct the network processor. The functional components are designed to be adaptable to the various types of processor architecture and operating systems available and to permit customers or developers to customize and expand the available network services.
    Type: Grant
    Filed: April 10, 2000
    Date of Patent: April 12, 2005
    Assignee: International Business Machines Corporation
    Inventors: Claude Basso, Philippe Damon, Anthony Matteo Gallo
  • Patent number: 6877163
    Abstract: In an object-oriented data processing system, methods and systems in accordance with the present invention provide a proxy class dynamically generated at runtime that implements a list of interfaces specified at runtime such that a method invocation through an interface on an instance of the class is encoded and dispatched uniformly to an object that performs the invocation of the requested method. The generation of the proxy class at runtime and the specification at runtime of the list of interfaces implemented by the proxy class allow the interfaces to be used to be chosen at runtime before generation of the proxy class. Since the proxy class does not need to be created before compile time, the interface list implemented by the proxy class does not need to be known at the time the source code is written.
    Type: Grant
    Filed: June 14, 1999
    Date of Patent: April 5, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Peter C. Jones, Ann M. Wollrath, Robert W. Scheifler
  • Patent number: 6874148
    Abstract: System and method for enabling a program to call into graphical program code via a shared library. A graphical programming system may export a graphical program to a shared library, such as a Windows Dynamic Link Library (DLL), Unix Shared Library, etc. A program, e.g. a text-based program, may then use the shared library to call into the graphical program. Graphical programs or subprograms may have associated inputs or outputs of various data types. When creating a shared library, a functional interface specifying parameterized versions of these inputs and outputs may be specified, either automatically or interactively. A program may then utilize this functional interface to construct an appropriate call into the shared library. A user interface enabling users to specify the mapping of graphical program inputs and outputs onto parameters of the functional interface is described. Multiple graphical programs or subprograms may be exported to a shared library.
    Type: Grant
    Filed: June 14, 2000
    Date of Patent: March 29, 2005
    Assignee: National Instruments Corporation
    Inventors: Greg Richardson, Steve Rogers