Patents Examined by Majid A. Banankhah
  • Patent number: 6434589
    Abstract: A computer-based method of scheduling jobs for processing by resources. The method proceeds by identifying resources capable of processing a first job and selecting a second job for rescheduling from jobs currently being processed by the identified resources such that the second job can be processed by resources other than the identified resources. Scheduling further includes scheduling the first job for processing by the resource currently processing the second job and rescheduling the second job. The method used to schedule the first job may be repeated to reschedule the second job and any jobs displaced by rescheduling the second job.
    Type: Grant
    Filed: June 19, 1998
    Date of Patent: August 13, 2002
    Assignee: Tellabs Operations, Inc.
    Inventors: Philip J. Lin, James D. Mills
  • Patent number: 6430685
    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 employ 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: November 13, 1995
    Date of Patent: August 6, 2002
    Assignee: Apple Computer, Inc.
    Inventors: Dean T. Yu, Christopher S. Derossi
  • Patent number: 6430638
    Abstract: A method and apparatus for providing selective object locking is provided. First, a lock object is designated. The identity of the lock object is then made available to objects in an object calling hierarchy. The first object invoked by the calling thread obtains a lock on the lock object to protect data associated with the first invoked object. Other objects in the object calling hierarchy can relock the lock object to protect their data. The invention also provides for selective object locking by providing the capability for a calling thread to specify that no object locking is to be preformed, which causes objects invoked by the calling thread to not perform object locking.
    Type: Grant
    Filed: June 30, 1997
    Date of Patent: August 6, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Peter B. Kessler, Mark B. Reinhold, Duncan Stuart Ritchie
  • Patent number: 6430590
    Abstract: A computer readable storage medium for executing a simulation process representing a collection of semiconductor devices and tests for the devices. The simulation process constitutes a batch job of a plurality of execution modules representing nodes of a directed acyclic graph. Each of the nodes contains a directory identifying any parent modules which have to be executed prior to executing the module, and identifying any child execution modules which are to be executed subsequent to executing the module. The directory also includes a status file indicating the state of execution of the module containing the directory. A supervisory processor performs a job farming operation on each of the execution modules in a distributed processing system. The execution modules are processed in an order defined by the identity of any parent and child modules referenced in the directories. At the completion of execution of a module, the status file of the directory is changed to indicate that the module has been executed.
    Type: Grant
    Filed: January 29, 1999
    Date of Patent: August 6, 2002
    Assignee: International Business Machines Corporation
    Inventor: Stephen E. Fischer
  • Patent number: 6427161
    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: June 12, 1998
    Date of Patent: July 30, 2002
    Assignee: International Business Machines Corporation
    Inventor: Patrick Michael LiVecchi
  • Patent number: 6427148
    Abstract: An embodiment of the present invention provides a method and apparatus for sorting very large data sets using a parallel merge sort. Given sorted work files S1, . . . , Sp, produced by P processes, the described embodiment of the method effectively implements a parallel merge onto respective output partitions O1, . . . , Op of the processes P. Because each of these output partitions O has a finite size, the invention must quickly determine “splitting keys” for each output partition O in such a way that the data in the work files will be split between the multiple output partitions O without overrunning the size of any of the partitions O. Once the splitting keys for each partition are determined, the processes exchange data so that the output partitions of each process contains data between the splitting keys associated with that output partition.
    Type: Grant
    Filed: November 9, 1998
    Date of Patent: July 30, 2002
    Assignee: Compaq Computer Corporation
    Inventor: David Cossock
  • Patent number: 6421701
    Abstract: A method and system are disclosed for enforcing consistency among replicas of a server through the reliable and ordered delivery of client requests via an ordering multicast protocol in association with a deterministic and pre-emptive scheduler in a computer network having at least one client connected to a replicated server. The scheduler enforces an execution order that conforms with the request ordering specified by the multicast protocol. The deterministic scheduler subdivides execution streams into instruction slices such that the number of instructions within each slice is pre-determined. An instruction counter is used to generate an interrupt at the expiration of an instruction slice. A thread is scheduled at the beginning of an instruction slice, such that all scheduling decisions are identical among all server replicas. Therefore, all scheduling decisions are identical everywhere, eliminating the nondeterminism due to time-based scheduling of traditional thread schedulers.
    Type: Grant
    Filed: January 29, 1999
    Date of Patent: July 16, 2002
    Assignee: International Business Machines Corporation
    Inventor: Elmootazbellah Nabil Elnozahy
  • Patent number: 6421703
    Abstract: This is a process and a system for controlling the use of software developed under a specified platform, associated with a device, in which signals are processed in the device and/or are returned from the device to the computer in response to signals transmitted from this computer. The circuit of the device is written to and read from by calling upon a function built into an object file (.OBJ) or a Dynamic Library file (.DLL), the function having the following form: result=cnrm(var1, var2, . . . varn) with n>3. The function is devised so as automatically to detect the type of specified platform, and calculate the software execution context as a function of the platform.
    Type: Grant
    Filed: June 29, 1998
    Date of Patent: July 16, 2002
    Assignee: Actikey
    Inventors: Daniel Steinmetz, Michel Evangelou
  • Patent number: 6421700
    Abstract: A method supporting work processes involving activities such as generation, alteration and authentication of documents. For each activity, the relationship between that activity and each other activity is defined in terms of at least one dependency from a plurality of dependencies. Each activity has a plurality of possible independent user and system states, for example three for the user states and three for the system states. The independence of the user and system states improves flexibility by introducing a mechanism to support reasoning over the process flow, so that discrepancies can be used to maintain a record of any mismatch.
    Type: Grant
    Filed: August 27, 1999
    Date of Patent: July 16, 2002
    Assignee: Xerox Corporation
    Inventors: James Holmes, Allan McLean, Alex Zbyslaw, Paul Dourish
  • Patent number: 6421739
    Abstract: A method for providing a first JVM with support for fault tolerance by using information maintained by the first JVM to checkpoint objects that are created, modified, and/or deleted during the process of responding to an event of a transaction. The checkpointed objects are sent to and stored in a second JVM such that the second JVM is fully capable of continuing the processing of the transaction in the event of the failure of the first JVM.
    Type: Grant
    Filed: January 30, 1999
    Date of Patent: July 16, 2002
    Assignee: Nortel Networks Limited
    Inventor: Matthew R. Holiday
  • Patent number: 6418458
    Abstract: A method, apparatus, and article of manufacture for scheduling thread execution in a computer. Defined task queues and work crews, comprising workers to complete assigned tasks, are managed by a manager class. The manager class also creates and manages the creation of threads connecting the workers to the tasks to be performed, therein making thread execution safer and more efficient.
    Type: Grant
    Filed: October 2, 1998
    Date of Patent: July 9, 2002
    Assignee: NCR Corporation
    Inventor: Anthony Francis Maresco
  • Patent number: 6418485
    Abstract: The present invention is directed to a system and method of managing logical device state information within an information handling system. Logical device state information is stored only once, by the information handling system. Device drivers do not need to maintain and store redundant copies of logical device state information. A device driver indicates whether or not it needs to have logical device state information passed to it. Before calling a device driver to handle a device function, the information handling system checks to determine whether or not the device driver has indicated that it needs logical device state information passed to it. If so, the information handling system passes the appropriate logical device state information to the device driver. For device functions which are not hooked by the device driver, the information handling system maintains the device state.
    Type: Grant
    Filed: April 21, 1997
    Date of Patent: July 9, 2002
    Assignee: International Business Machines Corporation
    Inventors: Michael Richard Cooper, Bryan Douglas Dobbs, Ravi Ravisankar, Mark Wayne VanderWiele
  • Patent number: 6415334
    Abstract: A method in a computer system for accessing Microsoft Component Object Model (“COM”) objects of varying thread types from a Java-based program. The computer system has a Java virtual machine (“VM”) that executes statements of the Java program and that executes in a multithreaded process. When executing a statement of the Java-based program to instantiate a COM object, the system creates a wrapper object. When the COM object is not thread-safe, the system requests an appropriate thread to instantiate the COM object and stores an identifier of the thread in the wrapper object. When the COM object is thread-safe, the system instantiates the COM object from the current thread and stores an indication in the wrapper object that the COM object can be accessed from any thread. When executing a statement of the Java-based program to invoke a method of the COM object, the system requests the thread identified in the wrapper object to invoke the method of the COM object.
    Type: Grant
    Filed: May 14, 1997
    Date of Patent: July 2, 2002
    Assignee: Microsoft Corporation
    Inventor: Atsushi Kanamori
  • Patent number: 6411973
    Abstract: A technique for providing simplified and more flexible text recovery in an electronically stored text. The text storage device is of the hand-held type and may accommodate the text of the entire bible, for example. The user may access the stored text in a read or search mode. The device is programmed to perform certain functions automatically, such as: selecting search or read mode; accommodating different syntax formulations; providing a fixed screen map of respective different portions of the text; and visually indicating specific words of a search to which a search will be limited. Expanded flexibility is also programmed into the device which includes: optionally expanding searches to cover both different forms of the same words and unrelated words having the same meaning; providing assistance to the user upon request which takes into account the current operational phase; and providing the capability of tagging a preselected location in the text for simplified access during reacquisition.
    Type: Grant
    Filed: December 16, 1996
    Date of Patent: June 25, 2002
    Assignee: Franklin Electronic Publishers, Incorporated
    Inventor: Peter Nicholas Yianilos
  • Patent number: 6408324
    Abstract: A multitasking operating system (10) for controlling performance of a plurality of processes (24). A plurality of event queues (32) are provided, with each event queue corresponding to a process and having a priority. An event scheduler function (40) places events to be processed into the event queues (32). Each event queue (32) which has at least one event to be processed is an active event queue. An event fetch function (42) searches the event queues (32) for an active event queue having the highest priority, and retrieves an event for processing from that event queue. An event dispatcher function (52) dispatches the retrieved event to a state of the process (24) corresponding to the highest priority active event queue. The state is at least a portion of the corresponding process (24) and is associated with the processing of the retrieved event. The state is executed by a processor (20) to process the event. The execution is not interrupted because of any activity within the event queues.
    Type: Grant
    Filed: July 3, 1997
    Date of Patent: June 18, 2002
    Assignee: TRW Inc.
    Inventors: Jon Kelly Wallace, Dale Walter Karolak
  • Patent number: 6408342
    Abstract: A communication framework supporting multiple communications protocols. The communications framework having a remote procedure call class providing an interface for an apply method, the apply method referencing a remote object, an operation to be performed, and an argument list. The communications framework also having at least one remote procedure call transport deriving from the remote procedure call class, each remote procedure call transport providing an implementation for the apply method whose interface is provided by the remote procedure call class. Other systems and methods are disclosed.
    Type: Grant
    Filed: March 28, 1997
    Date of Patent: June 18, 2002
    Inventors: Keith E. Moore, Evan Kirshenbaum
  • Patent number: 6408323
    Abstract: The job execution managing apparatus according to the present invention comprises an information storing section for storing therein job information comprising a character string defining a user's action to execute a work with given contents prepared for an arbitrary number of jobs and also at least storing therein first relational information correlating job information to a document required when executing the job and second relational information correlating a document to an application program, and an action managing section for selecting, when any of job information displayed on the screen is selected, a document relating to the selected job information referring to the first relational information and also selecting an application program relating to the selected document referring to the second relational information and managing a series of jobs executed with the selected application program.
    Type: Grant
    Filed: February 19, 1998
    Date of Patent: June 18, 2002
    Assignee: Justsystem Corporation
    Inventors: Tatsuo Kobayashi, Hajime Koizumi
  • Patent number: 6400382
    Abstract: Apparatus and method are provided for implementing a link system that is configured to automatically find all third party applications that are installed on a user system, and that provides shortcuts or links to the applications from a single program container (i.e. folder or group). The link system searches each current container for shortcuts or links to application programs and when an application program is found within the current container, the link system copies the shortcut link of that application program to the destination container.
    Type: Grant
    Filed: October 13, 1998
    Date of Patent: June 4, 2002
    Assignee: Hewlett-Packard Company
    Inventor: Kenneth P. Davis
  • Patent number: 6397242
    Abstract: In a computer that has hardware processor, and a memory, the invention provides a virtual machine monitor (VMM) and a virtual machine (VM) that has at least one virtual processor and is operatively connected to the VMM for running a sequence of VM instructions, which are either directly executable or non-directly executable. The VMM includes both a binary translation sub-system and a direct execution sub-system, as well as a sub-system that determines if VM instructions must be executed using binary translation, or if they can be executed using direct execution. Shadow descriptor tables in the VMM, corresponding to VM descriptor tables, segment tracking and memory tracing are used as factors in the decision of which execution mode to activate. The invention is particularly well-adapted for virtualizing computers in which the hardware processor has an Intel x86 architecture.
    Type: Grant
    Filed: October 26, 1998
    Date of Patent: May 28, 2002
    Assignee: VMWare, Inc.
    Inventors: Scott W. Devine, Edouard Bugnion, Mendel Rosenblum
  • Patent number: 6397243
    Abstract: Method of processing several computer-controlled technical applications. The applications are executed within the same computer working in successive work cycles by allotting thereto during the work cycles at least one time slot of a previously fixed duration. At the end of the time slot allotted to a technical application, a start interrupt is generated which is aimed at starting the execution of another technical application. Each technical application has allotted thereto at least one memory space slot for writing data. The memory space slot is write-inaccessible to the other technical applications so that a technical application which during execution possesses a given level of criticality does not disturb another application having a higher or equal level of criticality.
    Type: Grant
    Filed: August 2, 1999
    Date of Patent: May 28, 2002
    Assignee: Sextant Avionique
    Inventors: GĂ©rard Colas, Philippe Guedou, Olivier Le Borgne, Jean-Jacques Rowenczyn