Patents Examined by Majid A. Banankhah
  • Patent number: 6353846
    Abstract: A property based decision support system for allocating existing resources to implement a functional unit. The system includes a plurality of resource modules, each providing a component function for implementing a portion of the functional unit and having a set of properties associated therewith. A resource module property object is provided for defining a set of properties for each of the plurality of resource modules and an evaluation expression for each of the properties. A link object defines a set of required modules having required properties associated therewith which are necessary to implement the functional unit.
    Type: Grant
    Filed: November 2, 1998
    Date of Patent: March 5, 2002
    Assignee: Harris Corporation
    Inventor: James M. Fleeson
  • Patent number: 6353844
    Abstract: A batch job scheduler facility schedules batch jobs in a general purpose multiprocessor system having resources, such as processors and memory, and running interactive and batch jobs. The resources are allocated to the batch jobs. Completion times are calculated and guaranteed for the batch jobs based on the resources allocated to the batch jobs. The completion times are calculated and guaranteed without static partitioning, resulting in improved utilization of system resources. Batch-critical batch jobs are defined which require all their allocated resources to complete by their guaranteed completion time. The batch jobs are scheduled so that batch jobs and interactive jobs compete for the same resources. Batch-critical jobs are permitted to obtain all their allocated resources.
    Type: Grant
    Filed: December 23, 1996
    Date of Patent: March 5, 2002
    Assignee: Silicon Graphics, Inc.
    Inventors: Nawaf K. Bitar, Robert M. English
  • Patent number: 6349407
    Abstract: A method and apparatus for maintaining source control for successive versions of software where modifications are made to an initial version that are not included in the successive versions. When the initial version is received, it is modified and both the initial version and the modified initial version are placed under source control in the form of a source tree. When a new version of the software is received, the invention determines differences between the initial version and the new version and creates a record of differences between the initial version and the new version. The differences are integrated into a copy of the initial version and are then incorporated to the modified initial version, which is then incorporated to a modified initial version to yield a modified new version. In some embodiment of the present invention, the original source tree is retained in case modifications are again made to the initial version.
    Type: Grant
    Filed: December 29, 1995
    Date of Patent: February 19, 2002
    Assignee: Sun Microsystems, Incorporated
    Inventor: Mark M. Towfiq
  • Patent number: 6349320
    Abstract: A computer system executable method is provided for use in providing work items to a computer station from a database of work items. The method includes generating a sequence for providing at least some of the work items to the computer station and, before the sequence has been fully exhausted, e.g., when the sequence has become stale, generating a substitute sequence for providing at least some of the work items.
    Type: Grant
    Filed: June 3, 1997
    Date of Patent: February 19, 2002
    Assignee: FMR Corp.
    Inventors: William T. Emberton, Ramachandran Ramgopal
  • Patent number: 6349342
    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: April 11, 1997
    Date of Patent: February 19, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Anthony W. Menges, Kenneth M. Cavanaugh, III, David M. Brownell, Robert B. Hagmann, Dwight F. Hare, Peter Vanderbilt
  • Patent number: 6347342
    Abstract: The present invention dynamically brokers object messages between object models. An mediating component provides a bridge between object models such that messages can be transmitted in either direction between object models. The mediating component can be resident on a client machine, a server machine, or both. The mediating component can be used as a bridge between two instances of the same object model running on different machines. Thus, network communication is made possible for objects of an object model that otherwise lacks a networking capability. The mediating component maps a client object to a server object through proxy objects and stub objects. The proxy object always responds affirmatively when queried by a client object whether a server object can execute a particular method. A client object's message is forwarded to a server object. The mediating component performs any necessary translation of arguments or format of the message.
    Type: Grant
    Filed: July 15, 1996
    Date of Patent: February 12, 2002
    Assignee: NeXT Software, Inc.
    Inventors: Paul Marcos, Kresten Krab Thorup
  • Patent number: 6347328
    Abstract: A method is provided for optimizing the operation of an equipment control system having an operating unit. In the method, an operating entity operable to perform a specific function is automatically added to the operating unit when such function is required of the operating unit. When the specific function of the operating entity is no longer required, the operating entity is automatically deleted from the operating unit.
    Type: Grant
    Filed: June 21, 1999
    Date of Patent: February 12, 2002
    Assignee: Electronic Data Systems Corporation
    Inventors: Jeffrey G. Harper, Brian F. Zustovich
  • Patent number: 6345287
    Abstract: A system and method whereby a gang scheduling entity assembles a schedule of application tasks to be run on a plurality of distributed parallel processors for pre-set time intervals. The scheduling information, including an ordered set of applications and the length of the time interval, are provided to each of the node level schedulers for the relevant processors, and the node level schedulers assure that the tasks of the applications are executed, with context switching between tasks being controlled at the node level. Tasks from multiple applications can be scheduled simultaneously, with time sharing and space sharing being utilized in the schedule. The inventive system is dynamically scalable, with the gang scheduling entity restructuring the matrix schedule should dynamic re-partitioning result in addition or deletion of processors.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: February 5, 2002
    Assignee: International Business Machines Corporation
    Inventors: Liana Liyow Fong, Ajei Sarat Gopal, Nayeem Islam, Andreas Leonidas Prodromidis, Mark Steven Squillante
  • Patent number: 6345311
    Abstract: In object oriented-computer systems, objects execute in different, heterogeneous execution environments. During runtime, an object is identified that should desirable execute in another, heterogeneous execution environment. Usage of the object in the current execution environment is terminated, and the object is instantiated in the other, heterogeneous execution environment. During the movement, the state of the object is preserved despite differences in state variable formatting between the execution environments.
    Type: Grant
    Filed: December 27, 1995
    Date of Patent: February 5, 2002
    Assignee: International Business Machines Corporation
    Inventors: Franklin Charles Breslau, Paul Gregory Greenstein, John Ted Rodell
  • Patent number: 6345383
    Abstract: A debugging support method for object-oriented programs by which the debug target objects may be designated and a debugging support method equipped with various means for realizing said method. A first designation means (110) designates an object (100) as the debug target object. At a second designation means (101), a destination designation means (104) designates the destination of the event history and a range designation means (105) designates the range of objects targeted for debug support. While said designation is registered in a storage means (107), a second sending means (109) notifies a collection means (102) of the messages received by a receiving means (106) and messages sent by a first sending means (108). After the completion of the processes, a cancellation means (103) deletes the registered contents in said storage means (107).
    Type: Grant
    Filed: September 14, 1995
    Date of Patent: February 5, 2002
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Katsuhiko Ueki
  • Patent number: 6341302
    Abstract: In a system for executing database queries, a directed graph of logically interconnected tasks represents an execution plan for executing a specified database query. A pair of queues are stored in a computer memory for each pair of interconnected tasks in the directed graph. One of the queues in each pair is a down queue for sending requests from a parent task to a child task, and the other is an up queue for sending replies from the child task to the parent task. Each queue is a circular buffer and includes a head pointer that points to a next location in the queue to be read, and a tail pointer that points to a next location in the queue in which data can be written. Each task checks that a queue is not full before writing data into that queue, and checks that the sibling queue is not empty before reading data from the sibling queue.
    Type: Grant
    Filed: September 24, 1998
    Date of Patent: January 22, 2002
    Assignee: Compaq Information Technologies Group, LP
    Inventor: Pedro Celis
  • Patent number: 6341301
    Abstract: A multiprocessor data processing system for handling a plurality of queues within the data processing system. Each queue is associated with a pointer. A first queue is designated as the current queue along with a first pointer associated with the first queue. This first pointer is designated as a current pointer. Entries are read within the current queue using the current pointer. In response to a condition requiring a change in queues, the current pointer is stored and another pointer is designated or loaded for use as the current pointer. Entries are read with the new current pointer within a queue associated with that pointer.
    Type: Grant
    Filed: January 10, 1997
    Date of Patent: January 22, 2002
    Assignee: LSI Logic Corporation
    Inventor: Stephen C. Hagan
  • Patent number: 6341303
    Abstract: A scheduler for allocating a computer system resource, such as processor time, among processes (e.g., database processes) according to a plan. A scheduling plan may include multiple sub-plans, and each plan and sub-plan may include multiple classes of processes with associated weights or values. Within a plan, the resource is first allocated to the classes and/or sub-plans included in a first level of the plan according to their associated weights. Any unallocated portion of the resource is then allocated to classes/sub-plans in subsequent levels, in turn, according to their assigned weights. If a given class of processes is empty when the resource is allocated in a level including the class, the allocation that would have been allotted to the class may be carried over into the next level. An active scheduling plan may be dynamically replaced during system operations.
    Type: Grant
    Filed: August 28, 1998
    Date of Patent: January 22, 2002
    Assignee: Oracle Corporation
    Inventors: Ann Rhee, Sumanta K. Chatterjee, Juan R. Loaiza, Kesavan Srinivasan
  • Patent number: 6338080
    Abstract: The present invention relates to a process and a device for handling the execution of a job in an open data processing system as a function of the resources. The process comprises the following steps: determining the resources available in virtual memory, real memory, temporary file space, central processing unit utilization time during the last time interval; computing the amount of resources preallocated to other requests and not yet used; comparing the amount of resources required for the execution of a job for which the request has been presented to the current amount of resources available minus the total amount of resources preallocated to other requests, in order to determine as a function of the result of this comparison the start, the deference or the denial of the start of the job requested.
    Type: Grant
    Filed: September 18, 1998
    Date of Patent: January 8, 2002
    Assignee: Bull S.A.
    Inventors: Daniel Lucien Durand, GĂ©rard Sitbon
  • Patent number: 6338079
    Abstract: A method and system for providing a group of parallel resources as a proxy for a single shared resource is provided. In a preferred embodiment, a resource grouping facility (“the facility”) is incorporated in a “non-global” operating system. A non-global operating system is an operating system that is unable to respond correctly to a request to allocate a global resource of a particular type, such as a memory block, that can be accessed by every program executing in conjunction with the operating system. Instead, a non-global operating system allocates a putatively global resource that may not be accessed by every program executing in conjunction with the non-global operating system. When the facility detects that a transferer program is attempting to share a putatively global resource allocated by the operating system with a transferee program, the facility allocates a proxy resource that is accessible to the transferee.
    Type: Grant
    Filed: November 6, 1997
    Date of Patent: January 8, 2002
    Assignee: Microsoft Corporation
    Inventors: Atsushi Kanamori, Jon Thomason
  • Patent number: 6336147
    Abstract: A method and apparatus for managing connections between objects in a distributed object system includes a method and apparatus for terminating connections between objects. In one aspect, the method for terminating a connection, a connection end message is sent from a server to a client indicating to the client that the server will no longer accept requests before the connection is terminated. Preferably a connection end code is included with the connection end message. In another aspect, the invention includes a method for making connections between objects are formed by intelligently closing existing connections that meet the criteria of being established and across which no unfulfilled requests or unforwarded replies are pending. If several connections meet these criteria, the oldest unused connection is terminated.
    Type: Grant
    Filed: November 12, 1997
    Date of Patent: January 1, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: David M. Brownell, Pavani Diwanji, Neguine Navab, Peter Vanderbilt
  • Patent number: 6336127
    Abstract: In a time shared computer system, each user gets pro-rated computer resources over some interval of time. These resources are various classes of memory and disk storage and, in multi-processor systems, a share of one or more processors. These resources are limited and not all users can be active or even contained in memory at any given time. The problem addressed in this invention is how to allocate the computer resources at any given time for the set of users.
    Type: Grant
    Filed: January 15, 1998
    Date of Patent: January 1, 2002
    Assignee: International Business Machines Corporation
    Inventors: Jerome M. Kurtzberg, Menachem Levanoni
  • Patent number: 6332168
    Abstract: Method of, system for, and computer program product for providing a central repository for information regarding run time library usage and a run time subsytem for using the run time libraries in accordance with the information contained in the central repository. The run time subsystem loads run time libraries when initialized and when requested to do by requests from application programs in accordance with the information contained in the central repository. The run time subsystem's use of the central repository provides improved application program performance, improved system utilization, and improved migration.
    Type: Grant
    Filed: September 28, 1995
    Date of Patent: December 18, 2001
    Assignee: International Business Machines Corporation
    Inventors: Daniel E. House, Eric L. Porter, Robert M. Smith, Michael T. Wheatley
  • Patent number: 6330584
    Abstract: In a multi-tasking pipelined processor, consecutive instructions are executed by different tasks, eliminating the need to purge an instruction execution pipeline of subsequent instructions when a previous instruction cannot be completed. The tasks do not share registers which store task-specific values, thus eliminating the need to save or load registers when a new task is scheduled for execution. If an instruction accesses an unavailable resource, the instruction becomes suspended, allowing other tasks' instructions to be executed instead until the resource becomes available. Task scheduling is performed by hardware; no operating system is needed. Simple techniques are provided to synchronize shared resource access between different tasks.
    Type: Grant
    Filed: April 3, 1998
    Date of Patent: December 11, 2001
    Assignee: MMC Networks, Inc.
    Inventors: Alexander Joffe, Dmitry Vyshetsky
  • Patent number: 6327606
    Abstract: A method and computer-readable medium for managing memory for complex objects returned from procedure calls are described. Memory for complex objects returned from procedure calls is allotted from memory pools, which are allocated on a “per-call” basis for complex objects. Complex objects allotted from different memory pools can have overlapping lifetimes. The memory used by the complex object is straightforwardly released by deallocating the memory pool. In one aspect, the memory management of complex objects is located in the called procedures, which may be an automatically generated client stub routine for a remote procedure call.
    Type: Grant
    Filed: June 24, 1998
    Date of Patent: December 4, 2001
    Assignee: Oracle Corp.
    Inventor: Lakshminarayanan Chidambaran