Patents Examined by Majid A. Banankhah
  • Patent number: 7043730
    Abstract: A system and method is disclosed for network resource management. The method discloses: receiving a request to execute a task; calculating a virtual set of resources required to execute the task; reserving a set of network services for each virtual resource; and executing the task on the reserved services The system discloses means of implementing the method.
    Type: Grant
    Filed: August 29, 2002
    Date of Patent: May 9, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Motoo Tanaka
  • Patent number: 7035908
    Abstract: An apparatus comprising a shared memory and a multiprocessor logic circuit. The shared memory may be configured to store data. The multiprocessor logic circuit may comprise a plurality of processors and a message circuit. The message circuit may be configured to pass messages between the processors.
    Type: Grant
    Filed: July 26, 2001
    Date of Patent: April 25, 2006
    Assignee: LSI Logic Corporation
    Inventors: Kalvin E. Williams, John S. Holcroft, Christopher J. Lane
  • Patent number: 7036008
    Abstract: A method for setting configuration parameters for at least one software system, comprises the steps of: a) receiving an identification of a set of configuration parameters for at least one software system to be optimized; b) selecting a random value from a predetermined range for each configuration parameter of interest; c) setting each configuration parameter to a corresponding random value selected; d) running an application using the values selected; e) gathering performance information relating to the software system while the application is running; f) repeating steps b) through e) for a selected number of times; and g) performing an analysis of the performance information gathered to determine optimal configuration parameters. The method can be performed by a programmable computer system running program instructions for carrying out the above method steps or by a specialized apparatus such as an ASIC.
    Type: Grant
    Filed: April 17, 2003
    Date of Patent: April 25, 2006
    Assignee: International Business Machines Corporation
    Inventors: Mukund Raghavachari, Robert D. Johnson, Darrell Christopher Reimer
  • Patent number: 7036125
    Abstract: A method, system and computer program product for eliminating memory corruption when performing multi-threaded tree operations. A network processor may receive a command to perform a tree operation on a tree on one or more of multiple threads. Upon performing the requested tree operation, the network processor may lock one or more resources during a portion of the execution of the requested tree operation using one or more semaphores. A semaphore may refer to a flag used to indicate whether to “lock” or make available the resource associated with the semaphore. Locking may refer to preventing the resource from being available to other threads. Hence, by locking one or more resources during a portion of the tree operation, memory corruption may be eliminated in a multiple thread system while preventing these resources from being used by other threads for a minimal amount of time.
    Type: Grant
    Filed: August 13, 2002
    Date of Patent: April 25, 2006
    Assignee: International Business Machines Corporation
    Inventors: Claude Basso, Matthew William Kilpatrick Brown, Gordon Taylor Davis, Marco Heddes, Piyush Chunilal Patel, Grayson Warren Randall, Sonia Kiang Rovner, Colin Beaton Verrilli
  • Patent number: 7032073
    Abstract: Cache apparatus, including first and second cache memories, coupled to receive and hold context information from an external memory with respect to tasks, each task activated by one or more activating events, so that the context information is available for access by a processor in performing the tasks. The cache apparatus further includes a mapper, which is coupled to receive a classification of the tasks as fast and slow tasks. The mapper is adapted, upon receipt of one of the activating events for one of the fast tasks to be performed by the processor, to cause the context information with respect thereto to be received in the first cache memory, and upon receipt of one of the activating events for one of the slow tasks to be performed by the processor, to cause the context information with respect thereto to be received in the second cache memory.
    Type: Grant
    Filed: April 30, 2002
    Date of Patent: April 18, 2006
    Inventors: Shay Mizrachi, Rafi Shalom, Amit Oren
  • Patent number: 7028302
    Abstract: A system and method for automatically tuning a multiprocessor (MP) computer system having a set of processors, associated memory resources, interrupt sources and interrupt service routines (ISRs). Upon initialization of the MP system, the ISRs are assigned to the processors in a particular fashion. Thereafter, runtime statistics associated with the execution of the ISRs by the processors are monitored periodically. Where there is an imbalance with respect to a condition relating to the runtime statistics, the ISRs are dynamically re-assigned to the processors based on the runtime statistics in accordance with an optimization technique.
    Type: Grant
    Filed: April 24, 2002
    Date of Patent: April 11, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Chris J. Kiick
  • Patent number: 7028299
    Abstract: An embodiment of the present invention is a task manager to manage tasks in a multiprocessor system. A task table stores task entries corresponding to tasks executed by at least one processor. A block allocation circuit allocates blocks of the cache memory used by the tasks. A task coordinator coordinates the tasks in response to a task cycle issued by a processor.
    Type: Grant
    Filed: June 30, 2000
    Date of Patent: April 11, 2006
    Assignee: Intel Corporation
    Inventor: Stephen S. Chang
  • Patent number: 7024672
    Abstract: Methods, systems, and computer program products that, by defining a common interface, allow for a single implementation of operations common to both kernel mode and user mode processing, relative to a hardware adapter. Corresponding kernel mode and user mode implementations of the operations are provided. For a given process, a call to the common interface is mapped to the kernel mode implementation for kernel mode processes and to the user mode implementation for user mode processes. The mapping may be performed at runtime or may be static. The common operation may provide a user mode process direct access to a hardware adapter, such as for sending and receiving information, without switching to kernel mode. A kernel mode implementation for operations unique to kernel mode processing, such as specifying security parameters for the hardware adapter to enforce, or initiating and terminating communication through the hardware adapter, also may be provided.
    Type: Grant
    Filed: June 26, 2002
    Date of Patent: April 4, 2006
    Assignee: Microsoft Corporation
    Inventors: Robin L. Callender, Narayanan Ganapathy
  • Patent number: 7020877
    Abstract: A method to distribute periodic task workload in an information handling system includes distributing processing tasks using a tick interval. A first execution trigger in a service variable may be set at a first multiple of a predetermined tick interval. A second execution trigger may be set at a second multiple of the predetermined tick interval. The second multiple may be greater than and staggered from the first multiple, such that the first and second execution triggers may not both be set during the same tick interval. The service variable may be interrogated at the predetermined tick interval. A first processing task associated with the first execution trigger may be executed in response to detecting that the first execution trigger has been set. A second processing task associated with the second execution trigger may be executed in response to detecting that the second execution trigger has been set.
    Type: Grant
    Filed: May 20, 2002
    Date of Patent: March 28, 2006
    Assignee: Dell Products L.P.
    Inventor: James E. Dailey
  • Patent number: 7020706
    Abstract: A system and method updates multiple servers automatically without taking all of the multiple servers off-line at the same time. The system and method selects a group of servers, takes the group off-line, updates the group taken off-line, and then brings on-line those members of the group that were on-line prior to the update and for which the update was installed successfully.
    Type: Grant
    Filed: June 17, 2002
    Date of Patent: March 28, 2006
    Assignee: BMC Software, Inc.
    Inventors: Terry Cates, Bruce Wang, Sami Shaio
  • Patent number: 7016891
    Abstract: A system and method is described which provides for context checking of an operating environment. A context manager controls the execution of context checks requested by applications or processes. In one embodiment, the context check modules are defined as self-contained modules located in a database. When the data base is opened, these modules are loaded and registered with the context manager. Upon occurrence of certain user actions, the context manager will issue an event to cause the appropriate modules to perform a context check of certain context of the environment. The resulting context information is stored in memory by the context manager and provided to the applications by the context manager when needed. One advantage is that the context checks performed can be changed simply by adding or deleting modules from the database.
    Type: Grant
    Filed: June 26, 2002
    Date of Patent: March 21, 2006
    Assignee: Apple Computer, Inc.
    Inventor: John Richard Powers, III
  • Patent number: 7007280
    Abstract: An assembly for processing a service used by a component-based application is provided by receiving a request from the component-based application that specifies a role name symbolizing the task, accessing an assembly data-structure corresponding to the role name and having metadata information specifying a number of components used to perform the service and interfaces used to connect each component with other components, loading a component identified in the assembly data-structure into an area for processing, connecting an interface associated with the loaded component to other components according to the meta-data information in the assembly data-structure, and performing the requested service using the loaded component to process data and the interface to pass information from the loaded component to other components.
    Type: Grant
    Filed: April 30, 2001
    Date of Patent: February 28, 2006
    Assignee: Adobe Systems Incorporated
    Inventor: Richard A. Dermer
  • Patent number: 7003775
    Abstract: An application watchdog, comprising a dedicated watchdog counter in the hardware layer and a watchdog driver operating in the kernel mode layer of the computer operating system. The driver comprises a system thread configured to monitor a plurality of designated user applications operating in the user mode of the operating system and a message passing interface for receiving periodic signals from each of the user applications. The driver also uses an interface for transmitting timer reset commands to the dedicated watchdog counter. If the system thread receives a message from each of the designated user applications within an allotted period of time, the watchdog driver sends a timer reset command to the dedicated watchdog counter. Otherwise, the dedicated watchdog counter fails to receive the reset command and subsequently issues a system reset command. Early warning signals may be issued prior to system reset to alert system management.
    Type: Grant
    Filed: August 17, 2001
    Date of Patent: February 21, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: John Lacombe, Theodore F. Emerson
  • Patent number: 7003773
    Abstract: A system dynamically generates interfaces on demand during runtime execution of an application containing a plurality of objects. A user object generates a request for an interface of a service object. The service object, if the interface is not available, generates an adapter request and transmits same to an adapter manager. The adapter manager selects an interface adapter based on the adapter request from a library of interface adapters or aggregates a composite adapter and transmits the obtained interface adapter to the service object. The service object enables access from the user object based on the received interface adapter.
    Type: Grant
    Filed: March 26, 2002
    Date of Patent: February 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael Hoennig, Markus Meyer
  • Patent number: 6996826
    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: December 26, 2001
    Date of Patent: February 7, 2006
    Assignee: Microsoft Corporation
    Inventor: Atsushi Kanamori
  • Patent number: 6993761
    Abstract: One embodiment of the present invention provides a system for verifying type safety of an application snapshot. This application snapshot includes a state of an executing program that is moved from a first computing device to a second computing device across a network in order to continue execution on the second computing device. The system operates by receiving the application snapshot from the first computing device on the second computing device, wherein the application snapshot includes a subprogram, an operand stack, and a point of execution. The system then examines the application snapshot to identify one or more subprograms and the point of execution within the subprograms. Next, the system examines the subprogram to determine an expected structure of the operand stack at the point of execution.
    Type: Grant
    Filed: September 28, 2000
    Date of Patent: January 31, 2006
    Assignee: SUN Microsystems, Inc.
    Inventors: Grzegorz J. Czajkowski, Mario I. Wolczko
  • Patent number: 6988139
    Abstract: In a distributed computing environment, a queue of jobs is maintained on a job database, along with parameters for each of the computing devices available to process the jobs. A task model defining the job is provided for generating a plurality of tasks comprising each job. The tasks are maintained in a tuple database, along with the status of each task, indicating when each task is ready for processing. As a computing device becomes available to process a task, its capabilities are matched with those required to complete tasks that are ready for processing and the highest priority task meeting those requirements is assigned to the computing device to be processed. These steps are repeated until all the tasks required for the job have been processed, or the job is otherwise terminated.
    Type: Grant
    Filed: April 26, 2002
    Date of Patent: January 17, 2006
    Assignee: Microsoft Corporation
    Inventors: Robert B. Jervis, Xavier L. Bocken, Chad R. Shurtz
  • Patent number: 6988268
    Abstract: A new method and framework for implementing network protocol processing utilizing a combination of application threads and a dedicated thread to process IO completions in a completion queue that automatically detects and adjusts thread priorities to alleviate manual intervention. According to the present invention, as data transfer operations are completed by the network interface, completion information identifying the data transfer operations is posted on the completion queue. The completion information is read and processed by a combination of application and dedicated threads running in the system. A method monitors performance of the system to detect whether poor processor utilization or excessive context switches occurs, in which case a different thread is used to process the completion information.
    Type: Grant
    Filed: April 30, 2002
    Date of Patent: January 17, 2006
    Assignee: Microsoft Corporation
    Inventor: Khawar M. Zuberi
  • Patent number: 6978459
    Abstract: A system and method process data elements on multiple processing elements. A first processing element processes a task. A second processing element, coupled to the first processing element, is associated with a task. The first processing element sends a critical-section end signal to the second processing element while processing the task at the first processing element. The second processing element resumes the task in response to receiving the critical-section end signal.
    Type: Grant
    Filed: April 13, 2001
    Date of Patent: December 20, 2005
    Assignee: The United States of America as represented by the Secretary of the Navy
    Inventors: Jack Bonnell Dennis, Joel Zvi Apisdorf, Sam Brandon Sandbote
  • Patent number: 6978463
    Abstract: A policy based software component system (24) for modifying software component behavior includes an interceptor (34) for intercepting an interface event being transmitted from a software application (14) comprising software components (20, 22). A rules database (32, 40) stores software component modifying rules, and an adaptor (35) modifies the interface event based on the software component modifying rules stored in the rules database (32, 40). A policy engine (36) attempts to match the interface event with the software component modifying rules stored in the rules database (32, 40), and subsequently coordinates the modification of the interface event by the adaptor (35) when the policy engine (36) matches the interface event with at least one of the software component modifying rules stored in the rules database (32, 40).
    Type: Grant
    Filed: April 23, 2002
    Date of Patent: December 20, 2005
    Assignee: Motorola, Inc.
    Inventor: John Anthony Yanosy