Patents Examined by Majid A. Banankhah
  • Patent number: 6868540
    Abstract: Methods, systems, computer program products, and methods of doing business by automatically and dynamically annotating events in an event management system (“EMS”) to adapt to capabilities of a management system of which the EMS is an integral part. Furthermore, the EMS may automatically and dynamically recycle existing events (including events which are already annotated) for processing with newly-defined or different EMS capabilities. Events may also be re-annotated to reflect new or different capabilities of the EMS. These benefits of “smart events” are realized without requiring re-instrumentation of the event generation code of managed applications.
    Type: Grant
    Filed: May 4, 2001
    Date of Patent: March 15, 2005
    Assignee: International Business Machines Corporation
    Inventors: Kenneth Mark Hunsinger, Patrick P. Reynolds, Abdolreza Salahshour
  • Patent number: 6865670
    Abstract: A system and method for utilizing generic computer operating system software for computer hardware systems designed subsequent to the operating system software. The system and method of the present invention employs a separate modular software file called a System Enabler that has all patches, code, data and resources needed to make a particular computer system operational. The System Enabler file is matched to a particular hardware system and may be bundled with that hardware system. During computer system start up the System Enabler file modifies the generic operating system software for optimum operation with the particular computer hardware system.
    Type: Grant
    Filed: December 21, 2001
    Date of Patent: March 8, 2005
    Assignee: Apple Computer, Inc.
    Inventors: Dean T. Yu, Christopher S. Derossi
  • Patent number: 6862635
    Abstract: Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evaluation of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of forwarding to avoid checking for an end of a buffer, use of sentinel word to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.
    Type: Grant
    Filed: July 27, 1999
    Date of Patent: March 1, 2005
    Assignee: Cray Inc.
    Inventors: Gail A. Alverson, Charles David Callahan, II, Simon H. Kahan, Brian D. Koblenz, Allan Porterfield, Burton J. Smith
  • Patent number: 6859928
    Abstract: A computer system, including a processor, an input device and an output device and that executes an operating system to support the execution, is used to execute first and second sets of application programs. The operating system includes a graphical user interface coupleable through an output driver to the output device and an input interface including an input queue coupleable through an input driver to the input device. 1An environment manager program is also executed by the processor. This program includes a third list of a second set of application programs and a fourth list of application program windows corresponding to the second list of application programs. Execution of the environment manager program provides for the inclusion of the environment manager program in the first and second sets and for selectively swapping with the operating system the first and third lists and the second and fourth lists to switch between the execution of the first and second sets of application programs.
    Type: Grant
    Filed: March 5, 2001
    Date of Patent: February 22, 2005
    Assignee: Trepton Research, Inc.
    Inventor: Daniel W. Wright
  • Patent number: 6854117
    Abstract: A method and system performs parallel processing of asynchronous processes on ordered entities. A system focuses on the average time and variance of the variable time process. Each processor can run multiple contexts. The processing may be divided into a number of stages, each of which can be performed by each of the processors. A system also needs to ensure that the order of the entities is preserved as desired. This order may be maintained by performing some type of pre-processing on the entities to determine their order, and then not starting processing on an entity until the processing of any entity which must precede that entity has been completed. For processing of packets in a network, it may be needed to ensure that packets in the same flow maintain their order after processing. A system also may determine the number of processors that optimally are needed in order to process an incoming stream of entities at a desired speed.
    Type: Grant
    Filed: October 31, 2000
    Date of Patent: February 8, 2005
    Assignee: Caspian Networks, Inc.
    Inventor: Lawrence G. Roberts
  • Patent number: 6850962
    Abstract: A system for transferring files between a source location and a target location can transfer different portions of the file across two or more logical channels. The portions of the file transmitted over the logical channels can be transmitted independently. In addition, the portions of the file can be transmitted over one or more logical channels asynchronously. The logic controls for managing the file transfer can be distributed over multiple systems located at separate locations and operating independently. During the transfer of the file, markers are generated that point to the location in memory where the file is stored. These markers obviate the need to store the file in a buffer or an archive log during the file transfer.
    Type: Grant
    Filed: May 7, 1999
    Date of Patent: February 1, 2005
    Assignee: CommerceQuest, Inc.
    Inventors: Gregory S. Povolny, Michael Rivera, Randy Torres
  • Patent number: 6848103
    Abstract: Method and apparatus for processing data in a multi-processor environment are provided. An application chain is built including at least one application to be performed on the data. The data is received, and program information, e.g., a pointer, is added to the data for identifying a current application in the application chain to be performed on the data. The data is forwarded to an available processor in the multi-processor environment and is processed using the current application identified by the added program information. The processed data is updated with new program information identifying a next application in the application chain to be performed, if any. The processed data is forwarded to an available processor, processed, and updated repeated times until the data is processed by all applications in the application chain.
    Type: Grant
    Filed: February 16, 2001
    Date of Patent: January 25, 2005
    Assignee: Telefonaktiebolaget LM Ericsson
    Inventors: Gunnar Larsson, Patrik Wiss, Lars-Göran Petersen, Ulf Ekstedt
  • Patent number: 6848102
    Abstract: A process executing method capable of performing multiprocessing by using a shared resource without impairing periodical drivability of processes designed for executing continuous media processing. When a process requests the use of the shared resource, abortion of that process is first disabled by the process itself by using an abort disable function and then preemption of the same process is disabled by means of a preempt control module, whereupon the process enters a processing executed by using the shared resource. Upon completion of the processing for the shared resource, the process is immediately set to a preempt-enabled state by means of a preempt control module. After completion of all the processings, the abort-disabled state is finally cleared by using a disabled-abort clear function.
    Type: Grant
    Filed: April 20, 2001
    Date of Patent: January 25, 2005
    Assignee: Hitachi, Ltd.
    Inventors: Masahiko Nakahara, Masaaki Iwasaki, Tadashi Takeuchi, Takahiro Nakano, Kazuyoshi Serizawa, Shihoko Taguchi
  • Patent number: 6836782
    Abstract: Methods and apparatus for efficiently enabling garbage collectors to be swapped into and out of virtual machine environments are disclosed. According to one aspect of the present invention, an interface for reclaiming memory in a multi-threaded virtual machine environment that has a virtual machine includes a first module that is associated with the virtual machine and a second module that is separate from the first module but interfaces with the first module. The first module includes a first routine for initiating a garbage collection process within the virtual machine environment, a second routine for scanning roots associated with the virtual machine environment, and a third routine for following roots through objects associated with the virtual machine environment.
    Type: Grant
    Filed: April 17, 2001
    Date of Patent: December 28, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Nedim Fresko, Dean R. E. Long, Christopher J. Plummer
  • Patent number: 6829766
    Abstract: An operating system is provided that employs a nano-kernel and that reduces the number of times of revocation of a scheduler without impairing operation of a system incorporating the operating system. Each time a context switch occurs to switch from one to another thread, the operating system records the history of the context switch. When a scheduler that controls the sequence of execution of threads is invoked, a queue managed by the scheduler is updated tracking back the recorded history.
    Type: Grant
    Filed: September 16, 1998
    Date of Patent: December 7, 2004
    Assignee: Sony Corporation
    Inventor: Seiji Murata
  • Patent number: 6829765
    Abstract: A model for computer resources based on type and amount is employed in a consistent manner across several layers in a data processing system as a mechanism for providing users with significantly more control over the allocation, utilization and scheduling of resources for user's software applications running on the target computer system.
    Type: Grant
    Filed: July 18, 2000
    Date of Patent: December 7, 2004
    Assignee: International Business Machines Corporation
    Inventors: Waiman Chan, Margaret M. Curry
  • Patent number: 6823514
    Abstract: In a system that includes a plurality of objects and at least one cache, wherein each object has a key associated therewith and is capable of having different values for at least two of a plurality of different contexts, a method for caching at least some of the plurality of objects is provided. The method includes the step of maintaining a cache directory structure in which at least two different values are capable of being associated with at least one of the plurality of objects, each of the at least two different values corresponding to a different context. An object to be cached is identified from among the plurality of objects and also a context from among the plurality of different contexts. The identified object is stored in the at least one cache based upon the key associated therewith and the identified context.
    Type: Grant
    Filed: November 14, 2000
    Date of Patent: November 23, 2004
    Assignee: International Business Machines Corporation
    Inventors: Louis R. Degenaro, Arun K. Iyengar, Thomas A. Mikalsen, Isabelle M. Rouvellou
  • Patent number: 6823515
    Abstract: A technique, system, and computer program for enhancing performance of a computer running a multithreaded server application. A scheduling heuristic is defined for optimizing the number of available threads. This heuristic alleviates over-scheduling of worker threads by defining a technique to wait to assign an incoming request to a currently-executing thread (upon completion of the thread's current work), instead of awakening a blocked thread for the incoming request. Provision is made to ensure no thread waits too long. Two stages are associated with a passive socket, so that a connection is only bound to a worker thread when work arrives for that connection. A new type of socket is defined, for merging input from more than one source and making that merged input available for scheduling. A giveback function is defined, for optimizing assignment of threads to incoming requests when persistent connections are used. Threads that go idle are put onto an idle queue, releasing them from a worker thread.
    Type: Grant
    Filed: May 10, 2001
    Date of Patent: November 23, 2004
    Assignee: International Business Machines Corporation
    Inventor: Patrick Michael LiVecchi
  • Patent number: 6823512
    Abstract: A clustered computer system includes multiple computer systems (or nodes) on a network that can become members of a group to work on a particular task. Each node includes a main thread and one or more work threads. The main thread receives messages from other computer systems in the group, and routes messages intended for the work thread to a response queue and a work queue in the work thread, depending on the type of the message. If the message is a response to a currently-executing task, the message is placed in the response queue in the work thread. If the message is a new non-priority task that needs to be processed, the message is routed to the work queue in the work thread. If the message is a priority message, the message is written to both the work queue and the response queue in the work thread.
    Type: Grant
    Filed: January 14, 2000
    Date of Patent: November 23, 2004
    Assignee: International Business Machines Corporation
    Inventors: Robert Miller, Vicki Lynn Morey, Kiswanto Thayib, Laurie Ann Williams
  • Patent number: 6823509
    Abstract: A computer system includes a virtual machine supporting an object-oriented environment, in which programs to run on the virtual machine are formed from classes loaded into the virtual machine by a class loader. A class must be initialized before being used by a program. A first application is started on the virtual machine, and a set of one or more classes are loaded and initialized for the first application, which is then run. After the first application has finished running, at least one class from the first application is reset. A second application is then started on the virtual machine. This (re)-initializes any classes that have been reset from the first application, prior to using them, but does not have to reload any reset classes.
    Type: Grant
    Filed: December 20, 2000
    Date of Patent: November 23, 2004
    Assignee: International Business Machines Corporation
    Inventor: Alan Michael Webb
  • Patent number: 6820130
    Abstract: A computer network system is disclosed, in which the process of distributing software resources from a server to clients is dispersed so that the downloading time and the data amount for each session of the distribution process is adjusted, thereby making it possible to reduce the load of the whole network at the time of distribution of the software resources.
    Type: Grant
    Filed: January 21, 2000
    Date of Patent: November 16, 2004
    Assignee: Fujitsu Limited
    Inventor: Takashi Miyamoto
  • Patent number: 6813767
    Abstract: In one embodiment of the invention, a transaction queue stores a transaction request and issues a stream transaction for the stored transaction request when a slot in a set of active stream contexts becomes available. A token generator provides a token representative of a pre-fetched request. A queue selector transfers the transaction request to the transaction queue based on a selection condition.
    Type: Grant
    Filed: June 30, 2000
    Date of Patent: November 2, 2004
    Assignee: Intel Corporation
    Inventor: Theodore L. Willke
  • Patent number: 6795844
    Abstract: An apparatus for processing options of electronic equipment models and a method therefor, and more particularly, an apparatus for controlling optional functions of electronic equipment models, in which various functions are executed by the same hardware circuit structure for each model, and a method therefor are provided. According to the present invention, it is possible to improve productivity by using one standardized hardware circuit, thus selectively realizing various optional functions and to singularizing the number of the PCBs needed to perform the optional functions, thus preventing a specification accident in which the optional function is changed by mistake during production.
    Type: Grant
    Filed: July 14, 1999
    Date of Patent: September 21, 2004
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Jae-hoon Na, Gyu-ho Lee
  • Patent number: 6779182
    Abstract: The present invention provides a process scheduler or dispatcher for a multiprocessor system for real time applications. This embodiment of the present invention proposes a dispatcher model that maintains a dispatch queue for each processor and a separate global dispatch queue for unbound higher priority real time threads. A processor has its own queue and a dispatcher. Each queue has a separate schedule lock associated with it to protect scheduling operations. A processor's dispatcher selects a thread for execution from one of the queues in the system as a candidate thread to execute. When a candidate thread is selected for execution, the processor proceeds to verify against threads in the global real time queue and the processor's own dispatch queue to select a highest priority runnable thread in the system. Thus, the present invention allows the dispatcher to prevent race conditions and minimize lock contention while assuring that high-priority threads are dispatched as quickly as possible.
    Type: Grant
    Filed: October 17, 1998
    Date of Patent: August 17, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: John E. Zolnowsky
  • Patent number: 6769125
    Abstract: A number of methods, apparatus, and data structures are disclosed for managing computer processes. In one aspect, a daemon process which manages server processes includes an active server table and a locator service. The locator service can look up and register server processes in the active server table. Furthermore, the locator service can start up server processes. In some embodiments, the locator service includes a look-up object and a server process registration object which perform the tasks of the locator service. In other embodiments, methods for managing server process such as starting and registering the server processes are taught. In one specific method, a daemon process performs a variety of steps in response to receiving a look-up call for a target object. These steps include obtaining a server identifier for the target object, determining the state of a server process, and returning addressing information corresponding to the server process under which the target object will activate.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: July 27, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Anthony W. Menges, Kenneth M. Cavanaugh, III, David M. Brownell, Robert B. Hagmann, Dwight F. Hare, Peter Vanderbilt