Patents Examined by Majid A. Banankhah
  • Patent number: 6766515
    Abstract: A system and a method of scheduling a plurality of threads from a multi-threaded program. A shared arena is provided in user memory, wherein the shared arena includes a register save area for each of the plurality of threads. A processor, when allocated to the application, executes the application's user-level scheduler and selects a user-level thread from a plurality of available threads, wherein the step of selecting includes the step of reading register context associated with the selected thread from one of the plurality of register save areas. In multikernel systems, kernels having access to an application's register save areas can execute preempted threads from that application with no kernel-to-kernel communication. Likewise, kernels having access to an application's user-level run queues can execute ready-to-run threads from that application with no kernel-to-kernel communication.
    Type: Grant
    Filed: February 18, 1997
    Date of Patent: July 20, 2004
    Assignee: Silicon Graphics, Inc.
    Inventors: Nawaf K. Bitar, Robert M. English, Rajagopal Ananthanarayanan
  • Patent number: 6763520
    Abstract: A request dispatching system is provided for dispatching requests to a system having a predetermined number of server instances. Each request has its service type. The request dispatching system uses one queue for each service type, and reserves for each queue a minimum number of server instances. In one embodiment, idle server instances may be configured on demand to serve requests of a different type.
    Type: Grant
    Filed: August 24, 2000
    Date of Patent: July 13, 2004
    Assignee: Cognos Incorporated
    Inventor: Glen Seeds
  • Patent number: 6760910
    Abstract: A technique is disclosed for managing a workload distributed across multiple data processing systems to enhance shared resource access to meet a common performance standard. The technique includes on at least one system, measuring performance of the work units on the system to create local performance data, and on at least some of the systems sending the local performance data to at least one other system of the multiple data processing systems. The method further includes on at least one of the systems, receiving the performance data from the sending systems to create remote performance data, and adjusting at least one control parameter for accessing shared resources in response to the local and remote performance data to modify the performance of the work units distributed across the data processing systems to achieve the common performance standard. A dynamic resource clustering process is also employed to enhance the shared resource management.
    Type: Grant
    Filed: July 13, 2001
    Date of Patent: July 6, 2004
    Assignee: International Business Machines Corporation
    Inventors: Catherine K. Eilert, Peter B. Yocom, Gary M. King, Jeffrey D. Aman
  • Patent number: 6754899
    Abstract: A communication system comprises an input-output processor IOP (11) coupled to a plurality of network devices (10) and a protocol processor PP (12), both processors being coupled to a common memory (15). Memory access control means (16) resolves competition between the processors for memory access. Normally, if one of the two processors is accessing the memory, the memory control unit (16) allows that access to be completed before allowing the other processor to access the memory. But if data loss in a network device is imminent, the IOP, is granted a higher priority memory access, the memory access controller aborts (interrupts) any memory access by the PP, allowing the IOP to access the memory immediately.
    Type: Grant
    Filed: June 5, 2000
    Date of Patent: June 22, 2004
    Assignee: Virata Limited
    Inventor: William Robert Stoye
  • Patent number: 6742015
    Abstract: A system and method are provided for providing base service patterns for use in a component-based architecture. A batch job pattern is provided for structuring batch components such that common architectural services are implemented uniformly across the batch components. A batch unit of work pattern is utilized for structuring work to be processed by the batch components so that the work is treated uniformly by the batch components.
    Type: Grant
    Filed: August 31, 1999
    Date of Patent: May 25, 2004
    Assignee: Accenture LLP
    Inventor: Michel K. Bowman-Amuah
  • Patent number: 6738973
    Abstract: An access-history indicating method sequentially records a history of access by a user to a resource object such as a file or a WWW page. In the method, an access history icon that visually represents access-history information is generated and is displayed in the vicinity of the corresponding icon on a desktop screen or in the vicinity of an anchor of a WWW page. The access history icon has an image in which events of accessing the corresponding resource object are displayed on a time base. The image may be displayed by separating the type of access into modification and reference. The user can obtain a visual and intuitive understanding about a history of access to each file and a history of updating each file. The obtained information can be used as an important key for selecting among files and WWW pages.
    Type: Grant
    Filed: August 9, 2000
    Date of Patent: May 18, 2004
    Assignee: Sony Corporation
    Inventor: Junichi Rekimoto
  • Patent number: 6735769
    Abstract: Apparatus and methods for initial load balancing in a multiple run queue system are provided. The apparatus includes a controller, memory, initial load balancing device, idle load balancing device, periodic load balancing device, and starvation load balancing device. The apparatus performs initial load balancing, idle load balancing, periodic load balancing and starvation load balancing to ensure that the workloads for the processors of the system are optimally balanced.
    Type: Grant
    Filed: July 13, 2000
    Date of Patent: May 11, 2004
    Assignee: International Business Machines Corporation
    Inventors: Larry Bert Brenner, Luke Matthew Browning, Mysore Sathyanarayana Srinivas, James William VanFleet
  • Patent number: 6732359
    Abstract: A computer system has a memory, an operating system, and a computer application instantiated in a work space in the memory as managed by the operating system. The application includes a plurality of application processes running in the work space. An application monitor monitors whether each of the plurality of application processes is in fact running, and automatically attempts to remedy an occurrence where any of the plurality of application processes is not in fact running.
    Type: Grant
    Filed: December 21, 1999
    Date of Patent: May 4, 2004
    Assignee: BellSouth Intellectual Property Corporation
    Inventors: Mark Kirkpatrick, Darin J. Morrow
  • Patent number: 6732140
    Abstract: A system, method and computer program that configures software threads (95) at the time requested using only the required software resource elements (70) necessary to perform a specific function. This is accomplished using a resource manager (30) to identify resource elements (70) required to perform the specific function by accessing a resource database (40) associating commands with resource elements (70). Once the required resource elements (70) are identified, message labels are generated to activate and pass parameters to the resource elements (70) using a message allocation table (50). These messages labels are routed to the memory locations where the resource elements (70) are stored using a message routing table (60). Upon receipt of the message labels the resource elements (70) activate and form a thread (95) using message labels, generated by each resource element (70) in the thread (95) to communicate with other resource elements (70) in the thread (95).
    Type: Grant
    Filed: February 28, 2000
    Date of Patent: May 4, 2004
    Assignee: Northrop Grumman Corporation
    Inventor: Kevin C. McCue
  • Patent number: 6728957
    Abstract: In a system in which a plurality of programs each enter an execution wait state at a given time point and they are sequentially executed in the order of their cutoff times, the execution completion time point of a program undergoing estimation of execution completion thereof is estimated based upon the average value of intervals representing the lengths of time to elapse before an execution request for a program present in the system arrives, the average value of the execution times of the individual programs in the system, the lengths of time to elapse between the execution request arrival time points and the cutoff times, the execution time of the program undergoing estimation of execution completion thereof and the execution request arrival time point of the program undergoing estimation of the execution completion thereof, thus achieving a structure that enables estimation of the response time of a program without necessitating a lengthy process such as an actual or simulated execution of the program.
    Type: Grant
    Filed: March 21, 2000
    Date of Patent: April 27, 2004
    Assignee: Oki Electric Industry Co., Ltd.
    Inventor: Hidenori Nakazato
  • Patent number: 6728959
    Abstract: A method and apparatus for scheduling threads on a multiprocessor utilize an unlocked local queue for each processor in the multiprocessor and a lockable global dispatch queue accessible by all processors. Threads are selected for movement from the unlocked local queue to the global dispatch queue only when the unlocked local queue contains too many threads that are waiting for a processor. Threads are selected to run on an available processor only after repeated checks to make certain no threads in the processor's unlocked local queue should be run first. As a result, threads assigned to a processor tend to stay with that processor unless the system load is severely unbalanced, thereby improving system performance by increasing cache hits and decreasing lock assertions.
    Type: Grant
    Filed: August 8, 1995
    Date of Patent: April 27, 2004
    Assignee: Novell, Inc.
    Inventor: Jeffrey V. Merkey
  • Patent number: 6728760
    Abstract: A method of optimizing delivery of computer media over a network of computers involves creating an annotation record for each item of computer media. Within the annotation record at least some of the following classes of information are included: (i) an identification of the computer on which the media item was created or introduced to the network; (ii) identifications of one or more computers on which a copy of the media item is presently located; (iii) an identification list of computers which have established a computer link to the media item; (iv) an identification list of computer users who have personal software assistants which have established a computer link to the media item; (v) an indication enabling version control of the media item; and (iv) one or more indications as to the subject matter of the media item.
    Type: Grant
    Filed: May 5, 1999
    Date of Patent: April 27, 2004
    Assignee: Kent Ridge Digital Labs
    Inventors: Kim Michael Fairchild, Looi Chee Kit, Wong Lung Hsiang, Foong Hock Kuen, Olivo Miotto
  • Patent number: 6728962
    Abstract: Disclosed is context swapping in a multitasking operating system for a processor that includes providing a plurality of context blocks for storing context information for a plurality of processes, providing an array of pointers to the context blocks, providing an index to the array of pointers, and swapping context by adjusting at least one pointer in the array of pointers to point to a context block of a new process. Further included may be incrementing the index prior to adjusting the at least one pointer in the array of pointers. Further included may be, after adjusting at least one pointer in the array of pointers, decrementing the index and causing the processor to jump to an address indicated by a program counter value of the new process. The context information may include values for registers, a stack pointer, and a program counter for a process.
    Type: Grant
    Filed: June 28, 2000
    Date of Patent: April 27, 2004
    Assignee: EMC Corporation
    Inventors: Steven R. Chalmer, Steven T. McClure
  • Patent number: 6725455
    Abstract: A method for assigning tasks for processing received from one or several client data processing nodes within a group of at least two server data processing nodes to one of the server data processing nodes, as well as a server data processing system, a client data processing node and a machine-readable storage medium for carrying out this process. A client data processing node that has a task to assign, first selects the server data processing node from the group that is the next server data processing node to be selected based on a predefined cyclical order. If the server data processing node that is selected first denies the processing of the task, the client data processing node randomly selects a different server data processing node for processing the task. Otherwise, the client data processing node assigns the task to the selected server data processing node.
    Type: Grant
    Filed: May 19, 1999
    Date of Patent: April 20, 2004
    Assignee: Alcatel
    Inventors: Wolfgang Staiger, Rolf Bauer
  • Patent number: 6725454
    Abstract: A system and method for identifying capacity consumption profiles in a client/server computer system, which include such applications as enterprise resource planning customer relationship planning and supply change management. These profiles may be used for improving the ability to forecast those computer requirements necessary to accommodate a user's future data processing requirements. Additionally, these profiles allow for the categorizing of different types of computer usage for a specific client/server solution in a particular industry, which can provide sizing guidance to new users of these client/server solutions. In the present method, selected available statistics and accounting information are consolidated by a context aware process followed by statistical data analysis. After the desired types of profiles are selected with their available client/server identification, the context of the work effort that is being measured is tracked.
    Type: Grant
    Filed: August 21, 2000
    Date of Patent: April 20, 2004
    Assignee: International Business Machines Corporation
    Inventors: Lynn Nowers Nagel, John Augustin Oustalet, III, Ralf H. Schmidt-Dannert, Reginald James Dilley
  • Patent number: 6721605
    Abstract: A system, method and medium for controlling a wafer processing chamber using two or more processors (within one or more computer processing systems), wherein specified functions are assigned to each processor. Some embodiments contemplate that each processor may reside within its own computer processor system (each computer processor system being in communication with the other), wherein each computer processor system implements specified functions to control and maintain certain parameters involved in the manufacture of the wafer. This allows the present invention to react quickly to maintain rapidly-changing desired conditions within a wafer processing chamber and to maintain a greater degree of uniformity of those conditions throughout the wafer.
    Type: Grant
    Filed: July 22, 2002
    Date of Patent: April 13, 2004
    Assignee: Applied Materials, Inc.
    Inventors: Alexey G. Goder, Mark Yam
  • Patent number: 6721947
    Abstract: A system, method, and program allow the execution of a different response of an application extension manager without modifying the default response of the application extension manager. The application extension manager resides in system memory. The application extension manager allows an execution unit to execute a task or a series of tasks in an ordered list associated with an event. A task is a set of executable instructions associated with an event that may be executed by the execution unit. When an event occurs, the application extension manager acquires the task on top of the ordered list. The acquired task then becomes selected to be executed by the execution unit. The selected task returns a value which indicates whether the application extension manager should proceed to the next task. If the value indicates to proceed to the next task, the next task becomes the selected task and the above stated process is repeated.
    Type: Grant
    Filed: March 13, 2000
    Date of Patent: April 13, 2004
    Assignee: International Business Machines Corporation
    Inventors: Frances C. Brown, Richard Scott Schwerdtfeger, Lawrence Frank Weiss
  • Patent number: 6721948
    Abstract: A method for managing tasks in a data processing system having a shared task, which may be performed in hardware, software, or a combination of both. In response to a request from a requesting task, the task manager of the data processing system initiates performance of the shared task on behalf of the requesting task. At selected points in the performance of the shared task, the requesting task may cooperate with the shared task to selectively store watchpoints, each comprising sufficient information about the then-current status of the shared task to allow resumption of that task. During the performance of the shared task, the requesting task can determine if the shared task is still performing that task on behalf of the requesting task.
    Type: Grant
    Filed: June 30, 2000
    Date of Patent: April 13, 2004
    Assignee: Equator Technologies, Inc.
    Inventor: William E. Morgan
  • Patent number: 6721951
    Abstract: An improved data transfer mechanism is provided. In a preferred embodiment of the present invention, a uniform data transfer mechanism is used by each computer program performing data transfer. The uniform data transfer mechanism of the preferred embodiment of the present invention provides a communication mechanism and a flexible and robust interface to support all existing and future data transfer applications.
    Type: Grant
    Filed: February 25, 1999
    Date of Patent: April 13, 2004
    Assignee: Microsoft Corporation
    Inventors: Antony S. Williams, Robert G. Atkinson
  • Patent number: 6715145
    Abstract: A system and method, are provided for structuring batch activities for simplified reconfiguration. A series of processing steps is prepared for performing on input objects being streamed into a batch processing system. Each of the processing steps is encapsulated within at least one of a plurality of filters. The input objects are received and processed in the filters. Results are delivered from the filters incrementally during the processing of the input objects for reducing latency and enabling parallel processing. Connectors are utilized for connecting at least two of the plurality of filters each having a processing step for creating a process. One of the two filters is an input filter of the process and the other of the two filters is an output filter of the process. Connectors are also used for connecting input and output filters of different processes for forming a scalable system.
    Type: Grant
    Filed: August 31, 1999
    Date of Patent: March 30, 2004
    Assignee: Accenture LLP
    Inventor: Michel K. Bowman-Amuah