Patents Examined by Majid A. Banankhah
-
Patent number: 6766515Abstract: 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: GrantFiled: February 18, 1997Date of Patent: July 20, 2004Assignee: Silicon Graphics, Inc.Inventors: Nawaf K. Bitar, Robert M. English, Rajagopal Ananthanarayanan
-
Patent number: 6763520Abstract: 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: GrantFiled: August 24, 2000Date of Patent: July 13, 2004Assignee: Cognos IncorporatedInventor: Glen Seeds
-
Patent number: 6760910Abstract: 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: GrantFiled: July 13, 2001Date of Patent: July 6, 2004Assignee: International Business Machines CorporationInventors: Catherine K. Eilert, Peter B. Yocom, Gary M. King, Jeffrey D. Aman
-
Patent number: 6754899Abstract: 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: GrantFiled: June 5, 2000Date of Patent: June 22, 2004Assignee: Virata LimitedInventor: William Robert Stoye
-
Patent number: 6742015Abstract: 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: GrantFiled: August 31, 1999Date of Patent: May 25, 2004Assignee: Accenture LLPInventor: Michel K. Bowman-Amuah
-
Patent number: 6738973Abstract: 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: GrantFiled: August 9, 2000Date of Patent: May 18, 2004Assignee: Sony CorporationInventor: Junichi Rekimoto
-
Patent number: 6735769Abstract: 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: GrantFiled: July 13, 2000Date of Patent: May 11, 2004Assignee: International Business Machines CorporationInventors: Larry Bert Brenner, Luke Matthew Browning, Mysore Sathyanarayana Srinivas, James William VanFleet
-
Patent number: 6732359Abstract: 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: GrantFiled: December 21, 1999Date of Patent: May 4, 2004Assignee: BellSouth Intellectual Property CorporationInventors: Mark Kirkpatrick, Darin J. Morrow
-
Patent number: 6732140Abstract: 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: GrantFiled: February 28, 2000Date of Patent: May 4, 2004Assignee: Northrop Grumman CorporationInventor: Kevin C. McCue
-
Patent number: 6728957Abstract: 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: GrantFiled: March 21, 2000Date of Patent: April 27, 2004Assignee: Oki Electric Industry Co., Ltd.Inventor: Hidenori Nakazato
-
Patent number: 6728959Abstract: 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: GrantFiled: August 8, 1995Date of Patent: April 27, 2004Assignee: Novell, Inc.Inventor: Jeffrey V. Merkey
-
Patent number: 6728760Abstract: 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: GrantFiled: May 5, 1999Date of Patent: April 27, 2004Assignee: Kent Ridge Digital LabsInventors: Kim Michael Fairchild, Looi Chee Kit, Wong Lung Hsiang, Foong Hock Kuen, Olivo Miotto
-
Patent number: 6728962Abstract: 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: GrantFiled: June 28, 2000Date of Patent: April 27, 2004Assignee: EMC CorporationInventors: Steven R. Chalmer, Steven T. McClure
-
Patent number: 6725455Abstract: 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: GrantFiled: May 19, 1999Date of Patent: April 20, 2004Assignee: AlcatelInventors: Wolfgang Staiger, Rolf Bauer
-
Patent number: 6725454Abstract: 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: GrantFiled: August 21, 2000Date of Patent: April 20, 2004Assignee: International Business Machines CorporationInventors: Lynn Nowers Nagel, John Augustin Oustalet, III, Ralf H. Schmidt-Dannert, Reginald James Dilley
-
Patent number: 6721605Abstract: 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: GrantFiled: July 22, 2002Date of Patent: April 13, 2004Assignee: Applied Materials, Inc.Inventors: Alexey G. Goder, Mark Yam
-
Patent number: 6721947Abstract: 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: GrantFiled: March 13, 2000Date of Patent: April 13, 2004Assignee: International Business Machines CorporationInventors: Frances C. Brown, Richard Scott Schwerdtfeger, Lawrence Frank Weiss
-
Patent number: 6721948Abstract: 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: GrantFiled: June 30, 2000Date of Patent: April 13, 2004Assignee: Equator Technologies, Inc.Inventor: William E. Morgan
-
Patent number: 6721951Abstract: 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: GrantFiled: February 25, 1999Date of Patent: April 13, 2004Assignee: Microsoft CorporationInventors: Antony S. Williams, Robert G. Atkinson
-
Patent number: 6715145Abstract: 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: GrantFiled: August 31, 1999Date of Patent: March 30, 2004Assignee: Accenture LLPInventor: Michel K. Bowman-Amuah