Patents Examined by Hoa Nguyen
  • Patent number: 6976260
    Abstract: A single atomic instruction is used to change up to four disjoint areas in memory concurrently in an extended compare and swap operation, replacing traditional locks for serialization and providing recovery for all queue manipulations. Use count-based responsibility passing is employed so that any number of tasks can read the various message queue chains, concurrent with queue updates being made. A summary queue update sequence number is maintained to provide concurrent chain update detection, so that any number of tasks can add elements to the end, or remove elements from the middle (i.e. any where in the chain) concurrently. Concurrent footprinting is used with chain manipulation, so that all (or none) of the chaining indicators and a footprint are set with a single, non-interruptible instruction, making it possible for recovery to always take the correct action.
    Type: Grant
    Filed: September 24, 1999
    Date of Patent: December 13, 2005
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, David R. Cardall, Donald W. Schmidt
  • Patent number: 6976254
    Abstract: A bytecode execution system and method for increasing the execution speed of invoking and returning from Methods while minimizing the memory footprint required to support this. The system includes a virtual machine with a class loader and an interpreter or, alternatively, a hardware accelerator. Speed and memory enhancements are realized by establishing an activation stack frame template with a set of criteria. Each Method from subject code is examined to determine whether the Method conforms to the criteria of the stack frame template. If the Method conforms, an activation frame for that Method based on the activation stack frame template is created when the Method is invoked. Otherwise, an activation frame based on standard virtual machine criteria is created. An access structure is associated with each Method and a Method routing structure is created for each class.
    Type: Grant
    Filed: November 28, 2001
    Date of Patent: December 13, 2005
    Assignee: Esmertec AG
    Inventor: Jeremy Paul Kramskoy
  • Patent number: 6961937
    Abstract: A method for advertising an availability of a processing resource to execute a process is provided. The method includes enabling a registry service and the processing resource to register with the registry service. The processing resource is configured to be one of numbers of network interconnected resources. Also included in the method is enabling a system controller code to find and select a suitable and available processing resource registered with the registry service to execute the process. The system controller code is configured to be executed on a computer that is networked with the number of interconnected resources. The method further includes enabling the system controller code to communicate with a selected processing resource and updating a status of the processing resource in the registry service upon a termination of executing the process.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: November 1, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Madhava V. Avvari, Satya N. Dodda, David S. Herron, Bae-Chul Kim, Gabriel R. Reynaga, Konstantin I. Boudnik, Narendra Patil
  • Patent number: 6952824
    Abstract: A method of processing network data in a network processor includes using three or more threads to process a beginning portion, a middle portion, and an end portion of data packet. The first thread processes the beginning portion; one or more middle threads process the middle portion, and a last thread processes the end portion. First information is indirectly passed from the first thread to the last thread via a first buffer with the middle threads progressively updating the first information. Second information is directly passed from the first thread to the last thread via a second buffer.
    Type: Grant
    Filed: November 10, 2000
    Date of Patent: October 4, 2005
    Assignee: Intel Corporation
    Inventors: Donald F. Hooper, Matthew J. Adiletta, Gilbert M. Wolrich
  • 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: 6944862
    Abstract: A method (300) and system for scheduling execution of activities, such as jobs of a batch processing. An estimated duration of each job is predicted (365-367) as a running average of the measured durations of completed instances of the job executed previously. The method of the invention uses historical data to identify (375-385) repeatable patterns for the job duration; for example, a decision tree is inducted using the completed instances of the job as training examples. The decision tree is applied for classifying (325) each new instance of the job to be executed, according to its planned time of execution; the estimated duration of the job is revised (330) using an adjustment factor associated with the class assigned to the new instance of the job.
    Type: Grant
    Filed: January 8, 2002
    Date of Patent: September 13, 2005
    Assignee: International Business Machines Corporation
    Inventors: Sergio Caggese, Scot MacLellan
  • Patent number: 6941555
    Abstract: A clustered enterprise distributed processing system. The distributed processing system includes a first and a second computer coupled to a communication medium. The first computer includes a virtual machine (JVM) and kernel software layer for transferring messages, including a remote virtual machine (RJVM). The second computer includes a JVM and a kernel software layer having a RJVM. Messages are passed from a RJVM to the JVM in one computer to the JVM and RJVM in the second computer. Messages may be forwarded through an intermediate server or rerouted after a network reconfiguration. Each computer includes a Smart stub having a replica handler, including a load balancing software component and a failover software component. Each computer includes a duplicated service naming tree for storing a pool of Smart stubs at a node.
    Type: Grant
    Filed: May 1, 2003
    Date of Patent: September 6, 2005
    Assignee: BEA Systems, Inc.
    Inventors: Dean B. Jacobs, Anno R. Langen
  • Patent number: 6934948
    Abstract: A method is provided for managing a group of two or more operations within a software system. The method includes initiating a group context including a sub-context for each operation in the group context, wherein each operation is supported by one of a transactional resource and a messaging component, performing the operations within the sub-contexts, each operation resulting in an outcome, coupling the outcomes within the group context, determining an overall outcome of the group context, and taking at least one action dependent on the overall outcome. The method further includes the step of terminating the group context upon taking one or more actions.
    Type: Grant
    Filed: January 22, 2001
    Date of Patent: August 23, 2005
    Assignee: International Business Machines Corporation
    Inventors: Thomas Mikalsen, Isabelle Rouvellou, Stanley Sutton, Stefan Tai
  • Patent number: 6931645
    Abstract: Methods are provided that allow high-level protocol drivers to cancel transmission requests that have been sent to low-level protocol drivers. Transmission requests are assigned cancel identifiers. Because one original request may be divided into several packets for transmission, the same cancel identifier is given to every packet that derives from the original request. High-level protocol drivers can request cancellation of all pending requests whose cancel identifiers match the one indicated. Cancel identifiers generated by different high-level protocol drivers are mutually distinct so one protocol driver cannot inadvertently cancel requests made by another. The protocol driver may divide its requests into logical flows and assign the same cancel identifier to all requests within one flow. Then, the protocol driver may cancel all pending requests within one flow while allowing requests in other flows to proceed to transmission.
    Type: Grant
    Filed: December 15, 2000
    Date of Patent: August 16, 2005
    Assignee: Microsoft Corporation
    Inventors: Arvind Murching, Nk Srinivas, Jameel Hyder, Vadim Eydelman, Abolade Gbadegesin
  • Patent number: 6918120
    Abstract: The present invention provides a split data and meta data distributed system operable to provide computer file services. The system includes a plurality of servers that include meta data servers and data servers. A client multicasts a message, including a request (e.g., a data request or a meta data request) to the plurality of servers in the system. The client considers the plurality of servers to be a single server instance. The servers may be divided into different subsets, and each subset is responsible for data requests or meta data requests. The servers that are responsible for the particular type of received request may respond to the request. Also, if multiple servers in a subset generate a request, the system may synchronize the responses, such that a single response, rather than multiple responses are transmitted to the client. This synchronization may not be necessary for responses to requests that do not change the stored state of the system.
    Type: Grant
    Filed: April 20, 2001
    Date of Patent: July 12, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Erik Riedel
  • Patent number: 6907475
    Abstract: A system for implementing substantially all vendor unique commands in a host computer instead of an electronic storage device. Alternative vendor unique commands are provided to implement a remote procedure call (RPC) protocol to implement vendor unique commands resident in the host computer with functions in the storage device. The storage device functions are substantially only the functions needed for normal, non vendor unique electronic storage device (ESD) operation. To facilitate access from the host computer to ESD functions, data, and constants, a symbol table of the storage device's software is used. The resulting system provides for a smaller code footprint in the storage device and easier to maintain and enhance function in the host computer.
    Type: Grant
    Filed: March 25, 2003
    Date of Patent: June 14, 2005
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Fernando A. Zayas, Tomas Blazek, Patrick Allen Hery
  • Patent number: 6854119
    Abstract: A method, apparatus and computer readable medium is provided for tracking processes using a socket object. The processes are utilized to execute an application program. Initially, a process list for the socket object is created, such that the process list contains a process identifier for a first process using the socket object. If a second process is using the socket object, the process list is updated to include the process identifier for the second process.
    Type: Grant
    Filed: September 29, 2000
    Date of Patent: February 8, 2005
    Assignee: International Business Machines Corporation
    Inventors: Mark Linus Bauman, Paul Richard Chmielewski, Christopher Thomas Gloe, Dawn Marie May, Jay Robert Weeks
  • Patent number: 6823513
    Abstract: A method for limiting access of each of a plurality of operators having assigned activities in an overall workflow distribution, to computer resources needed to respectively complete each activity through a computer controlled interactive display interface. A workflow distribution process with a plurality of users or participants at a plurality of computer controlled display stations. At the workflow management source, an implementation for respectively assigning activities to each of a plurality of operators and for designating for each of the activities, at least one computer resource necessary to respectively complete each of the activities. A set of elements, each representing a designated computer resource accessible to a user to carry out an assigned activity is displayed. An implementation for determining the completion of each of the assigned activities, and for removing from the display the elements representing the designated computer resources when an activity is completed.
    Type: Grant
    Filed: April 27, 2000
    Date of Patent: November 23, 2004
    Assignee: International Business Machines Corporation
    Inventors: Michael R. McNally, John William Sweitzer
  • Patent number: 6795967
    Abstract: An operating system registry contains multiple “identities.” One of these identities is designated the current identity. An application executing on a multitasking computer system uses information stored in the current identity to configure the application, for example to provide a user-specific user interface. When an application opens, it registers with an identity manager using objects known as “connection points.” To switch identities, a user supplies the name of an identity to switch to. The identity manager then uses the registered connection points to query each of the applications for permission to switch identities. If all the registered connection points grant permission to switch identities, then the identity manager switches the current identity by changing information in the registry. The identity manager then notifies all applications, via their registered connection points, that a change to the registry has been made so that the applications can take appropriate action.
    Type: Grant
    Filed: January 26, 1999
    Date of Patent: September 21, 2004
    Assignee: Microsoft Corporation
    Inventors: Christopher A. Evans, Christopher T. Sager, Darren Mitchell
  • Patent number: 6779186
    Abstract: The present invention relate to a method for the operation and maintenance of a base station (BS) using a remote procedure call (RPC) in an international mobile telecommunication-2000 (IMT-2000) system which includes a base station environment management system (BEMS), a RPC process, an access control processor (ACP), an ATM interference processor (AIP) and an access signaling processor (ASP).
    Type: Grant
    Filed: January 22, 2001
    Date of Patent: August 17, 2004
    Assignee: Hyundai Electronics Industries Co., Ltd.
    Inventors: Soo-Yong Kim, Seok-Gue Hong
  • Patent number: 6671762
    Abstract: A system and method is provided to reduce the latency associated with saving and restoring the state of the floating point registers in a microprocessor when switching tasks between floating point and MMX operations, or between tasks within the same context. The present invention maintains a secondary register file along with the primary floating point register file in the CPU. The primary register will keep the state of the floating point task “as is” upon the occurrence of a task switch to MMX, or another context. The address of the area where the FPU state is saved is maintained in a save area address register. The secondary register is then utilized by the other context to store intermediate results of executed instructions. In the majority of cases when a context switch back to floating point operations occurs, the previous state is restored from the primary register without incurring the latency of retrieving the instructions and data from the memory subsystem.
    Type: Grant
    Filed: December 29, 1997
    Date of Patent: December 30, 2003
    Assignee: STMicroelectronics, Inc.
    Inventors: Naresh H. Soni, David Isaman
  • Patent number: 6665735
    Abstract: Methods and systems consistent with this invention link a program module, which implements dynamic linkage to an external function and executes the external function. Such methods and systems replace a function name described in a header portion of a program module and a function name to be referred to by the program module with other names, and link functions having the same names as the replaced function names and executing the linked functions in place of an original function.
    Type: Grant
    Filed: October 5, 1998
    Date of Patent: December 16, 2003
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Kuninori Tanaka, Tetsuya Iinuma, Hideaki Hirayama, Toshio Shirakihara
  • Patent number: 6662236
    Abstract: A method of providing a script for a computer application, by creating an object-oriented scripting environment which allows a user to enter separate code as a script, registering one or more objects with the scripting environment using a script macro, and instantiating the objects at runtime using a script code. The script macro may be re-used to instantiate multiple sets of objects named in the script code. Objects are registered with only names and classes, and then instantiated by determining one or more classes of the objects, and rebuilding class information. The application may be a Java applet which includes the script macro, and the instantiation includes instantiating a Java bean named in the script code. The Java bean may be instantiated by first determining its attributes, and then invoking the bean using a customizer. Since the objects are not stored at design time, objects can be scripted even if they cannot be saved (e.g., nonserializable Java beans).
    Type: Grant
    Filed: June 29, 1998
    Date of Patent: December 9, 2003
    Assignee: International Business Machines Corporation
    Inventors: Ajay Apte, Ping Chen, John Sanchez
  • Patent number: 6658485
    Abstract: A method, system, and computer-readable code with which a scheduling system can be implemented that allows a sender and a receiver to change priorities of queued messages. A technique is also defined for providing a receiver with an advance notice of intended message priority, enabling the receiver to request a priority change before transmission begins. These techniques provide the flexibility to respond to changes in dynamic, volatile network environments, as well as changes in user's wishes or requirements. A ranking technique is defined, whereby requests to change priority may be accepted or denied through a ranking algorithm that resolves potential conflicts in desired transmission priority using proposals exchanged by the parties (e.g. during connection establishment).
    Type: Grant
    Filed: October 19, 1998
    Date of Patent: December 2, 2003
    Assignee: International Business Machines Corporation
    Inventors: Stephen C. Baber, Kathryn H. Britton, Barron Cornelius Housel, III, Ajamu Akinwunmi Wesley
  • Patent number: 6631395
    Abstract: A server for use in a client/server computing system which coordinates the processing of distributed transactions in the client/server computing system, the server has: a means for sending requests for votes to each resource which has been called by the server to take part in a distributed transaction; a means for receiving votes from each resource in response to having sent requests for votes; a means for determining whether any of the resources has thrown an exception instead of returning a vote; and a means for assigning a programmed direction as a vote to a resource which has thrown an exception to complete the transaction if it is determined that a resource has thrown an exception instead of returning a vote.
    Type: Grant
    Filed: April 23, 1998
    Date of Patent: October 7, 2003
    Assignee: International Business Machines Corporation
    Inventor: Amanda Elizabeth Chessell