Patents Examined by St. John Courtenay, III
  • Patent number: 6629152
    Abstract: A lock-free mechanism is provided for successfully passing messages between processes even if a process is preempted while sending or receiving a message. Messages are communicated between processes using a mailbox data structure stored in memory shared by the processes, without the use of locks or other mutual exclusion entities that would otherwise limit concurrent delivery and receipt of messages placed in the data structure. The data structure in the illustrative embodiment includes one or more message slots for storing messages placed in the data structure and a number of state variables for inserting messages into and removing messages from the message slots. A process sends or retrieves messages by manipulating the state variables using indivisible atomic operations. This ensures that a process cannot be preempted from message passing until it finishes executing the atomic instruction.
    Type: Grant
    Filed: June 29, 1998
    Date of Patent: September 30, 2003
    Assignee: International Business Machines Corporation
    Inventors: Brent A. Kingsbury, Jean-Marie Christian Sulmont, Paul E. McKenney
  • Patent number: 6629123
    Abstract: An automatic distributed partitioning system (ADPS) intercepts function calls to unit activation functions that dynamically create application units, such as a component instantiation function. A system service library provides a unit activation function. An application program includes at least one function call to the unit activation function. The ADPS redirects the function call to instrumentation of the ADPS. In one technique, the ADPS uses inline redirection of the function call to the unit activation function.
    Type: Grant
    Filed: November 20, 1998
    Date of Patent: September 30, 2003
    Assignee: Microsoft Corporation
    Inventor: Galen C. Hunt
  • Patent number: 6625638
    Abstract: A logical partition includes at least one dedicated logical processor and at least one shared logical processor. The dedicated processor is a different type of processor than the shared processor, and/or the dedicated processor executes a different dispatching procedure than the shared processor. The use of the shared processor automatically ramps up, as the arrival rate of requests forwarded to the logical partition increases. Furthermore, the use of, the shared processor automatically ramps down, as the arrival rate decreases.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: September 23, 2003
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey Paul Kubala, John Charles Nagy, Jeffrey Mark Nick, Ira Glenn Siegel
  • Patent number: 6621506
    Abstract: Methods and apparatus implementing a technique for applying suites of operations to selected data through a user interface. In response to a selection of data from a user through a user interface, the user interface creates a specifier object which binds implementations of operations provided by the user interface to the selected data according to the type of the data. In general, the technique includes receiving a selection of data having a type from a user through a user interface of a computer program running on a computer; recognizing the type of the selected data; and creating a specifier object according to the type, where the specifier object specifies an implementation of an operation.
    Type: Grant
    Filed: December 11, 1998
    Date of Patent: September 16, 2003
    Assignee: Adobe Systems Incorporated
    Inventor: A. Michael Burbidge
  • Patent number: 6618766
    Abstract: Mechanisms for correlating protocol events in a distributed application to the high level transactions that caused the protocol events. The mechanisms for correlating include a set of protocol sensors which are associated with the components of the distributed application. Each protocol sensor detects the protocol events generated by its corresponding component of the distributed application. The detection of protocol events by the protocol sensors is non-invasive in that it does not require recoding or recompilation of software components or redesign or modification of hardware components. The mechanisms for correlating also include a set of event correlators associated with the protocol sensors. Each event correlator uses the results of a prior training phase for the distributed application to determine which of a set of high level transactions in the distributed application caused the corresponding protocol events.
    Type: Grant
    Filed: September 29, 1999
    Date of Patent: September 9, 2003
    Assignee: Hewlett-Packard Development Company, LP.
    Inventor: Kave Eshghi
  • Patent number: 6618769
    Abstract: A method, computer program, signal transmission and apparatus pre-verify instructions in a module of a computer program one module-at-a-time. First it is determined whether checking an instruction in a first module which is loaded requires information in a referenced module different than the first module. If the information is required, a constraint for the referenced module is written without loading or otherwise accessing the referenced module. During linking it is determined whether a first module which is loaded has passed pre-verification one-module-at-a-time before linking. A pre-verification constraint on a constrained module is read, if any, if the first module has passed such verification. If any pre-verification constraint is read, the pre-verification constraint is enforced if the constrained module is already loaded.
    Type: Grant
    Filed: May 27, 1999
    Date of Patent: September 9, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Gilad Bracha, Sheng Liang, Timothy G. Lindholm
  • Patent number: 6618768
    Abstract: The present invention provides a method in a computer system of integrating a compression system with an operating system. The computer system preferably comprises at least a memory device and one storage device. A user-supplied device driver is provided for storage devices that are not supported by the computer system to enable the computer system to communicate with the storage devices. In response to initialization of the computer system, the operating/compression system is loaded into the memory device and begins executing before any user-supplied device drivers are loaded into the memory device. Any compressed volume files located on the computer system are assigned drive letters at this time. When the user-supplied device drivers are loaded into the memory device, drive letters are assigned to the various storage devices. A drive letter conflict resolution scheme is provided to resolve conflicts that occur when the operating system attempts to assign a drive letter.
    Type: Grant
    Filed: July 24, 2002
    Date of Patent: September 9, 2003
    Assignee: Microsoft Corporation
    Inventors: Benjamin W. Slivka, Charles A. Strouss, III, Scott D. Quinn
  • Patent number: 6615230
    Abstract: The computer system has a processing machine for receiving an electronic message including a request of a transaction from a network, transmitting an electronic message including results of the transaction to the network, and executing the transaction processes corresponding to transmitted/received electronic messages. The computer system also has a data machine for receiving the electronic message including the request of the data accesses from the network, transmitting the electronic message including the results of the data accesses to the network. The computer system also has a man-machine interface machine for transmitting the electronic message including the results of the transaction to the network, receiving the electronic message including the results of the transaction form the network. This computer system includes a network manager for managing access rights of respective users for accessing the processing machine and the data machine connected to the network.
    Type: Grant
    Filed: June 9, 1998
    Date of Patent: September 2, 2003
    Assignee: Fujitsu Limited
    Inventor: Takeshi Nishimura
  • Patent number: 6615279
    Abstract: An object oriented processor array includes a library of functional objects which are instantiated by commands through a system object and which communicate via a high level language. According to the invention, instantiated objects communicate directly with a script server which is programmed to react to data events generated by instantiated objects. One script server may serve several object oriented processor arrays, or an object oriented processor array may have a local script server. The object oriented processor array may be embodied in hardware, software, or a combination of hardware and software. Each functional object may include a discrete hardware processor or may be embodied as a virtual processor within the operations of a single processor. According to one embodiment, the object oriented processor array is formed on a single chip or on a single processor chip and an associated memory chip.
    Type: Grant
    Filed: January 7, 1998
    Date of Patent: September 2, 2003
    Assignee: IQ Systems
    Inventor: Jeffrey I. Robinson
  • Patent number: 6611877
    Abstract: An event aggregator allows an application program to receive notification of events generated by selected objects without registering as a listener for events with each object. The event aggregator has a registration list module that receives a registration request from the application program indicating from which object types the application program wants to receive notification of events, an object monitor that continually checks the computer system for objects and registers a listener with each object; and an event monitor that that notifies the application program if any listener receives notification of an event generated by an object type indicated by the registration request.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: August 26, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Peter A. Korn, William D. Walker
  • Patent number: 6609159
    Abstract: A client-server system includes a new front end server which interposes itself between a prior (back end) server and its clients using an interposed dynamically-loaded library linked to the back end. The interposed library and front end can provide enhanced services without requiring reconfiguration of either the back end server or its clients. The front end can accept network connections on the same port as the back end server is programmed to. The interposed library intercepts standard network system calls by the back end and emulates their behavior by communicating with the front end. The front end can send file descriptors of either direct connections with clients, or of pipes for relaying requests and response from and to clients through the front end, to the interposed library for return to calls by the back end to accept connections.
    Type: Grant
    Filed: November 30, 1998
    Date of Patent: August 19, 2003
    Inventors: Semyon Dukach, Uri Guttman, Christopher M. Montgomery
  • Patent number: 6609158
    Abstract: Methods, configured media, and systems are provided for connecting disparate software components in a network or other computer system. A language adapter maps programming language constructs to a general object-oriented interface. An object model adapter maps the general object-oriented interface to specific object models such as the Java/RMI model or a CORBA model. The system dynamically wraps non-object components, such as scripts, in a object wrapper as needed to make them accessible through the language adapter and the object model adapter. In this manner, a language-vendor-independent bridge is provided between components written in different programming languages, and the components also gain access to objects written in object models favored by various vendors.
    Type: Grant
    Filed: October 26, 1999
    Date of Patent: August 19, 2003
    Assignee: Novell, Inc.
    Inventors: Carlos A. Nevarez, Chris Andrew
  • Patent number: 6606669
    Abstract: There is provided an information processing apparatus which is constructed by a host computer and a peripheral device connected to the host computer through a bidirectional interface and which inputs and outputs data between the host computer and the peripheral device through a device driver that corresponds to the peripheral device and is loaded in the OS of the host computer. An output device such as a printer which is controlled by the host computer has an identifying unit to identify the kind of OS of the host computer and a controller to output a device driver for controlling the device to the host computer on the basis of the identification result. The peripheral device has a memory in which the device driver corresponding to the peripheral device has been stored, the device driver in the memory is transferred to the host computer as necessary and is loaded into the OS of the host computer.
    Type: Grant
    Filed: December 5, 1995
    Date of Patent: August 12, 2003
    Assignee: Canon Kabushiki Kaisha
    Inventor: Koji Nakagiri
  • Patent number: 6604196
    Abstract: A method and apparatus for changing a component's mode based on its environmental context is disclosed. A component role fulfillment mechanism, as part of a component, changes the mode of a component based on its environmental context. The environmental context is defined by connections made by an assembler between components. Each component can support a variety of modes, but the component role fulfillment mechanism chooses one mode based on the environment and configures the component to fulfill only one mode.
    Type: Grant
    Filed: August 18, 1998
    Date of Patent: August 5, 2003
    Assignee: International Business Machines Corporation
    Inventors: Paul Brian Monday, Bradley Scott Rubin
  • Patent number: 6601110
    Abstract: The present invention provides a system for using door translation to perform inter-process communication. The system enables a legacy application program to invoke traditional operations, such as READ and WRITE operations, which would otherwise be unavailable in a doors environment. Transparent to the client process, the system of the present invention translates the otherwise unavailable operation into a door call. Bound by its limitations and constraints, the server process performs a service in response to the door call. The system comprises a system call handler, such as a generic file system, which receives a file operation request from a client process. A door invocation handler, which includes a translator, determines the appropriate server process capable of performing a service corresponding to the operation request, translates the operation request into a door call to the server process, and invokes the door call.
    Type: Grant
    Filed: March 17, 1998
    Date of Patent: July 29, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Tim P. Marsland
  • Patent number: 6601112
    Abstract: A method and computer program product for overcoming the inefficiencies associated with inter-buffer data transfers between separate processing components such as kernel mode drivers that are chained together. Provided is a standard mechanism for allocating and managing data buffers needed for processing data in a system, wherein multiple drivers are chained together using a standardized connection method in the connection pin instances. Drivers having different buffer requirements and capabilities may be queried and matched for easy data transition between the chained drivers requiring the least number of buffers and, hence the least expensive yet most efficient inter-buffer data transfer. Examples of buffer requirements include previous frame storage for adaptive processing, byte alignment, frame size, outstanding frames allowed, etc. The buffer requirements of an input connection pin instance may be queried by an application initializing the chained drivers.
    Type: Grant
    Filed: April 28, 1999
    Date of Patent: July 29, 2003
    Assignee: Microsoft Corporation
    Inventors: Thomas J. O'Rourke, George H. J. Shaw, Bryan A. Woodruff
  • Patent number: 6601146
    Abstract: A method and apparatus for performing efficient interprocess communication (IPC) in a computer system. With this invention, a memory region called the IPC transfer region is shared among all processes of the system to enable more efficient IPC. The unique physical address of the region is mapped into a virtual address from each of the address spaces of the processes of the system. When one of the processes needs to transfer data to another of the processes, the first process stores arguments describing the data in the region using the virtual address in its address space that maps into the unique physical address. When the other or second process needs to receive the data, the second process reads the data from the second region using the virtual address in its memory space that maps into the unique physical address. With this invention, in most cases, control of the IPC transfer region occurs automatically without any kernel intervention.
    Type: Grant
    Filed: June 16, 1998
    Date of Patent: July 29, 2003
    Assignee: International Business Machines Corporation
    Inventors: Marc Alan Auslander, David Joel Edelsohn, Hubertus Franke, Orran Yaakov Krieger, Bryan Savoye Rosenburg, Robert William Wisniewski
  • Patent number: 6601113
    Abstract: An object oriented system platform for a telecommunication system that provides subscriber services includes an upper layer containing applications in the form of base and supplementary functions providing base and supplementary services. This layer is implemented with base objects and extension objects. The base objects are object types implementing functions which may need extension in the future, each object type being designed for a particular task which can be performed with a minimum of coordination with other base objects. The extension objects are object types implementing extension functions which form extensions to the base functions and make it possible to add new services and modify and extend existing services without changing the software of a system that has already been implemented and supplied.
    Type: Grant
    Filed: June 8, 1998
    Date of Patent: July 29, 2003
    Assignee: Telefonaktiebolaget LM Ericsson (publ)
    Inventors: Jari Tapani Koistinen, Einar Wennmyr, Eui Suk Chung
  • Patent number: 6601114
    Abstract: A method, computer program, signal transmission 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 27, 1999
    Date of Patent: July 29, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Gilad Bracha, Sheng Liang, Timothy G. Lindholm
  • Patent number: 6598069
    Abstract: An exemplary embodiment of the invention is a method for assigning resources in a system configurable into logical partition clusters. The method includes defining at least one logical partition cluster. A LPC name index record storing a LPC name index for each of a plurality of resources is provided. The LPC name index record is indexed by a resource identifier. A LPC name record storing at least one LPC name is also provided. At least one LPC name index points to a LPC name in the LPC name record and each LPC name identifies an LPC. A resource is assigned to a group in response to the LPC name index record and the LPC name record.
    Type: Grant
    Filed: September 28, 1999
    Date of Patent: July 22, 2003
    Assignee: International Business Machines Corporation
    Inventors: William J. Rooney, Harry M. Yudenfriend, Jeffrey P. Kubala