Patents Examined by Charles Anya
  • Patent number: 6854115
    Abstract: A system and method for providing process persistence in a virtual machine are described. A virtual persistent heap may be provided. The virtual persistent heap may enable the checkpointing of the state of the computation of a virtual machine, including processes executing within the virtual machine, to a persistent storage such as a disk or flash device for future resumption of the computation from the checkpoint. The Virtual Persistent Heap also may enable the migration of the virtual machine computation states, and thus the migration of executing processes, from one machine to another. The saved state of the virtual machine heap may also provide the ability to restart the virtual machine after a system crash or shutdown to the last saved persistent state, and to thus restart a process that was running within the virtual machine prior to the system crash or shutdown to a checkpointed state of the process stored in the virtual persistent heap.
    Type: Grant
    Filed: June 2, 2000
    Date of Patent: February 8, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Bernard A. Traversat, Michael J. Duigou, Thomas E. Saulpaugh, Gregory L. Slaughter
  • Patent number: 6848105
    Abstract: Identifying program module functionality needed by a computer when disconnected from a network is disclosed. A document identification engine (DIE) creates a list of files stored locally on the computer. The DIE sends the list of files to a document mapping engine (DME). The DME identifies a proper handler routine for each file in the list of files and send each file to the proper handler routine(s). The handler routine(s) identifies the application functionality needed to execute each file. The application functionality may include products, features and components. The handler routine sends a list of needed application functionality to the DME. If needed, the DME may send any sub-parts of files to another handler for further processing, such as when a word processing document includes a spreadsheet sub-part. The DME also can send the list of needed application functionality to a migration engine (ME). The ME determines the current status of the needed application functionality.
    Type: Grant
    Filed: December 30, 1998
    Date of Patent: January 25, 2005
    Assignee: Microsoft Corporation
    Inventors: Jeffrey C. Belt, Noah B. Edelstein, Maithreyi Lakshmi Ratan, Eric S. Schreiber
  • Patent number: 6848107
    Abstract: In a message control apparatus for transferring messages between objects which belong to different processes, a message distributor distributes messages to queue buffers provided for each of target objects, and a thread controller simultaneously prepares a plurality of threads less than a maximum thread allocation number predetermined for each of processes and the target objects and takes out the messages to be given to a corresponding target object. Also, the maximum thread allocation number corresponding to a CPU serviceability ratio in the processes can be designated, and a part of the thread allocation number of the target objects with few thread number used is allotted to the maximum thread allocation number of the target objects with many thread number used.
    Type: Grant
    Filed: June 9, 1999
    Date of Patent: January 25, 2005
    Assignee: Fujitsu Limited
    Inventors: Hiroaki Komine, Noriyuki Yokoshi, Kazuyoshi Karaki
  • Patent number: 6842903
    Abstract: A system and method for providing dynamic references between services in a computer system which allows a first service (e.g. an application program running on a client computer in a local environment) to gain reference to a second service (e.g. a service running on a server computer in a distributed environment) without requiring knowledge of how to find the service or a particular version of the service on a distributed computer network. In a particular embodiment disclosed, when a getService method is called, a reference back to an instance of the service is returned and an implementation of a service connector interface encapsulates the logic necessary to lookup an instance of a specific service and return a reference to that service. In this regard, developers of a service may write, or program, a module that adheres to a service connector interface.
    Type: Grant
    Filed: May 19, 1999
    Date of Patent: January 11, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Paul Weschler
  • Patent number: 6829768
    Abstract: An information processing apparatus has an SDL execution unit described in a specification and description language (SDL), an external environment description unit described in a programming language other than the SDL, and an adapter having a pseudo internal signal generator and a queue manager. A task of an operation system is assigned to the external environment description unit, which is combined with the SDL execution unit through the adapter. The pseudo internal signal generator converts signals including messages, events, and parameters to be transferred between the SDL execution unit and the external environment description unit. The converted signals are transferred between the SDL execution unit and the external environment description unit through the queue manager. Also provided is an information processing method to materialize the information processing apparatus. These method and apparatus reduce the overhead of the operation system.
    Type: Grant
    Filed: September 29, 1998
    Date of Patent: December 7, 2004
    Assignee: Fujitsu Limited
    Inventors: Yumi Suzuki, Chizu Yoshioka, Fumiyasu Ige
  • Patent number: 6826760
    Abstract: Methods of factoring operating system functions into one or more groups of functions are described. Factorization permits operating systems that are not configured to support computing in an object-oriented environment to be used in an object oriented environment. This promotes distributed computing by enabling operating system resources to be instantiated and used across process and machine boundaries. In one embodiment, criteria are defined that govern how functions of an operating system are to be factored into one or more groups. Based on the defined criteria, the functions are factors into groups and groups of functions are then associated with programming objects that have data and methods, wherein the methods correspond to the operating system functions. Applications can call methods on the programming objects either directly or indirectly that, in turn, call operating system functions.
    Type: Grant
    Filed: June 16, 1999
    Date of Patent: November 30, 2004
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, Gerald Cermak, Robert J. Stets, Jr.
  • Patent number: 6823524
    Abstract: A system and method are disclosed for distributing events in a data processing system from an event generator to an event recipient, while retaining processing control at the event generator. A manager object is created to manage the event generator's event calls. In response to an event, a distributor object is created and assigned a new thread of execution. When multiple event recipients exist, a slave object is created for each recipient, with each slave assigned to a new thread of execution. The slave object distributes the event by calling an interface method that is created as part of the event generator.
    Type: Grant
    Filed: October 13, 1999
    Date of Patent: November 23, 2004
    Assignee: Avaya Technology Corp.
    Inventor: Alan Perry Hewett
  • Patent number: 6804818
    Abstract: In accordance with the present invention, methods are included, which may be implemented by employing a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for anonymously integrating an object oriented software component with message oriented clients. A method is included for anonymously integrating object-oriented software components and message-oriented clients wherein a first object-oriented component performs the steps of performing invocations which are serviced by one of message-oriented clients and object-oriented components and servicing the invocations which are performed by one of the message-oriented clients and the object-oriented components such that the first object-oriented component is unaware that the invocations are performed and serviced by one of the message-oriented clients and the object-oriented components.
    Type: Grant
    Filed: April 29, 1999
    Date of Patent: October 12, 2004
    Assignee: International Business Machines Corporation
    Inventors: Christopher F. Codella, Donald F. Ferguson, Ignacio Silva-Lepe
  • Patent number: 6799320
    Abstract: A proxy component system having dispatch proxies and object proxies is disclosed. The computerized system includes an operating system supporting component interfaces. In addition, the system includes a first interface to a target component, with the first interface having an early bound method. The system further includes a second interface to a proxy component, with the second interface having a late bound method. Also included in the system is a dispatch proxy operative to invoke the early bound method of the first interface from an invocation of the late bound method of the second interface.
    Type: Grant
    Filed: December 16, 1998
    Date of Patent: September 28, 2004
    Assignee: Microsoft Corporation
    Inventors: Ferhan Elvanoglu, Benjamin L. Chronister, Terry L. Lucas
  • Patent number: 6792611
    Abstract: In a server system: an information holding unit holds information on one of a plurality of processing units which should execute processing in response to each of a plurality of types of processing requests; a processing-request receiving unit receives a processing request; a determining unit determines one of the plurality of processing units as a processing unit which should execute the received processing request, based on the information held by the information holding unit; and a calling unit calls the determined one of the plurality of processing units so that the one of the plurality of processing units executes the received processing request.
    Type: Grant
    Filed: August 31, 2001
    Date of Patent: September 14, 2004
    Assignee: Fujitsu Limited
    Inventors: Yoshitaka Honishi, Kazuo Imada, Kouichi Miura, Takashige Furukawa
  • Patent number: 6785893
    Abstract: A system and method for logging events processed by an operating system is provided. The events logged can include interrupt and non-interrupt events, and can include user-defined events. Information concerning the interrupt events is initially written, during event handling time, into a first buffer while information concerning non-interrupt events is initially written, during event handling time, into a second buffer. Information from the two buffers is then written to a third buffer not during event handling time. Separating the interrupt event buffer from the non-interrupt event buffer rather than having one buffer, and writing relatively small amounts of data during event handling time to memory, rather than transporting data to slower non-memory mapped devices allows the event logger to be less intrusive and facilitates greater accuracy in event logging.
    Type: Grant
    Filed: November 30, 2000
    Date of Patent: August 31, 2004
    Assignee: Microsoft Corporation
    Inventors: Larry A. Morris, Michael J. Thomson, John R. Eldridge, Susan A. Dey, David M. Sauntry, Jonathan M. Tanner, Marc Shepard
  • Patent number: 6772416
    Abstract: A computer-implemented system (90) is provided that supports a high degree of separation between processing elements. The computer-implemented system (90) comprises a plurality of cells (92) residing on the computer-implemented system, where each cell (92) includes a domain of execution (94) and at least one processing element (96); a separation specification (99) that governs communication between the processing elements (96); and a kernel (98) of an operating system that facilitates execution of the processing elements (96) and administers the communication between the processing elements (96) in accordance with the separation specification (99), such that one processing element (96) can influence the operation of another processing element (96) only as set forth by the separation specification (99). In particular, the separation specification provides memory allocation, remote procedure calls and exception handling mechanisms.
    Type: Grant
    Filed: November 19, 1999
    Date of Patent: August 3, 2004
    Assignee: General Dynamics Decision Systems, Inc.
    Inventors: Peter Duncan White, Conan Brian Dailey, Hua Chen, Pamela Tam Carmony, Jennifer Lynn Amstutz, Keith Michael Hines, Francis Gregory Sydnor, Jr.
  • Patent number: 6769124
    Abstract: A method and apparatus for persistently storing information objects in a secondary store is provided. Each object to be stored persistently is made a subclass of a persistent object class. The persistent object declares metadata that defines parameters of a table in the secondary store in which instances of the object are stored, and external requirements of the object. When a persistent object inherits attributes from one or more parent object classes, instances of each parent class are represented in separate tables. When a persistent object is read or written by an application program, methods in the persistent object class automatically retrieve or store information for each field of the persistent object by recursively calling a read method or a write method for each class from which the persistent object inherits, and the object's own class. The read method and write methods automatically create and submit commands to the secondary store.
    Type: Grant
    Filed: July 22, 1998
    Date of Patent: July 27, 2004
    Assignee: Cisco Technology, Inc.
    Inventors: Charles B. Schoening, Richard J. Smith, Jr., Stephen I. Schleimer
  • Patent number: 6732364
    Abstract: A software framework provides building blocks for developing event handlers (typically XML-based or data object based) and a mechanism for dynamically deploying and managing them within an online community having roles and places defined for users and groups. The complex data to be sent/received among users and applications can be described in XML or actual Java™ objects. The software framework is composed of the following principal components: Awarelet base, Awarelet Container, Awarelet Application Adapter, Awarelet Event, Awarelet Configuration, and Awarelet Repository. Awarelet Technology is designed to enhanced the prior art of Instant Messaging in order to facilitate more robust interactions between members of the online community. This invention considers not only users as members, but in addition, business applications and processes as well.
    Type: Grant
    Filed: July 14, 2000
    Date of Patent: May 4, 2004
    Assignee: International Business Machines Corporation
    Inventors: Kumar Bhaskaran, Girish B. Chafle, Fenno F. Heath, III
  • Patent number: 6643708
    Abstract: Systems, methods and computer program products are provided for using fully qualified universal resource locators (URLs) to chain together servlets across multiple remotely located Java® Virtual Machines (JVMs) in a network in order to implement application partitioning across the network. Each servlet in a chain is configured to perform a respective processing task using a response from a preceding servlet in the chain. A fully qualified URL includes an identification of a host computer, an identification of a filter within the host computer, and an identification of a servlet residing within the host computer.
    Type: Grant
    Filed: October 29, 1998
    Date of Patent: November 4, 2003
    Assignee: International Business Machines Corporation
    Inventors: Arthur R. Francis, Donald Washburn