Patents Examined by Syed J Ali
  • Patent number: 7137116
    Abstract: A method and system for performing a task on a computer is provided, in which the procedure is organized into multiple stages. Each stage of the task has an associated sub-task. Requests for the procedure are represented by “work packets” that stored in a holding area at each stage, such as a stack or a queue, until it is advantageous for a processor to execute them. Each work packet contains data and/or instructions for performing the sub-task of the stage. When a processor is available, it finds a stage having unexecuted work packets and executes a batch of work packets by repeatedly performing the sub-task of the stage. This repeated execution of a sub-task allows a processor to maximize its native time-saving mechanisms, such as cache. The invention may advantageously be used as an alternative to conventional thread-based programming.
    Type: Grant
    Filed: February 8, 2001
    Date of Patent: November 14, 2006
    Assignee: Microsoft Corporation
    Inventors: Michael A Parkes, James R. Larus
  • Patent number: 7100164
    Abstract: The present invention accepts an acyclic concurrent control-flow graph (CCFG) and produces a sequential control flow graph (SCFG) that, when executed, behaves functionally like the CCFG would if it were run on concurrent hardware. An SCFG can be easily translated into a traditional sequential programming language such as C or assembly to be executed on a traditional sequential processor. Determining the order in which CCFG nodes will be run is the first step in the process. Control edges in the CCFG constrain the order in which CCFG nodes must run; communication between threads generally impose further constraints. An easy way to further constrain a valid order of CCFG nodes is to augment the CCFG with data dependence edges (representing inter-thread communication) and to then topologically sort the nodes in the augmented graph to produce an ordering.
    Type: Grant
    Filed: January 6, 2000
    Date of Patent: August 29, 2006
    Assignee: Synopsys, Inc.
    Inventor: Stephen A. Edwards
  • Patent number: 7096466
    Abstract: Improved techniques for loading class files into virtual computing machines are disclosed. The techniques seek to provide a mechanism that will generally improve the efficiency of virtual machines by selectively loading information into a virtual machine. A new class attribute (“load-attribute”) is defined and implemented for class files. This can be, for example, implemented as a “load-attribute” table that lists the components that have been selected for loading into the virtual machine. In addition, the load-attribute may provide references to the selected components in the class file. Accordingly, various components of the class file can be marked for loading and selectively loaded.
    Type: Grant
    Filed: March 26, 2001
    Date of Patent: August 22, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Stepan Sokolov, David Wallman
  • Patent number: 7093259
    Abstract: A work request is processed and interpreted to automatically establish job data structures associated with jobs constituent to the work and data storage structures associated with tasks constituent to the work. Further, parent-child relationships between jobs, sub-jobs and tasks are automatically established based on interpreting the work request. Once tasks are executed, log information related thereto is stored in respective data storage structures, for access and rendering upon request. Each data storage structure stores log information pertaining only to a respective task. In an embodiment, in response to receiving a request to delete a particular job, the particular job and all of its progeny sub-jobs and tasks are deleted. The work request does not include explicit commands to establish the job data and data storage structures, nor to store the log information in the data storage structures.
    Type: Grant
    Filed: September 19, 2002
    Date of Patent: August 15, 2006
    Assignee: Cadence Design Systems, Inc.
    Inventors: Darren Pulsipher, Nancy Hannaford
  • Patent number: 7093249
    Abstract: A system and method for synchronizing execution of multiple processes or threads executing to perform tests of one or more units under test. One or more synchronization steps may be included in a test executive sequence, in response to user input requesting inclusion of the synchronization steps. Each synchronization step may be configured to perform a synchronization operation, in response to user input specifying the synchronization operation. The test executive sequence may then be executed multiple times concurrently, e.g., by multiple threads or processes, and the one or more synchronization steps in the test executive sequence may coordinate the execution of the multiple threads or processes to test the unit(s) under test.
    Type: Grant
    Filed: March 2, 2001
    Date of Patent: August 15, 2006
    Assignee: National Instruments Corporation
    Inventors: Douglas Melamed, James Grey
  • Patent number: 7089555
    Abstract: An ordered semaphore management subsystem and method for use in an application system which includes a plurality of processors competing for shared resources each of which is controlled by a unique semaphore. The subsystem generates an ordered semaphore field (OSF) corresponding to each processor in a linked list of processors and assigns one of four statuses to the OSF depending on the position the processor occupies in the linked list of processors competing for the shared resources. The four states are (1) semaphore head (SH); (2) behind semaphore head (BSH); (3) semaphore head behind (SHB); and (4) skip (Skip). Only the SH processor is allocated the semaphore when requested. A processor not in the SH state will be denied the semaphore even if is available to assure sequential access.
    Type: Grant
    Filed: June 25, 2002
    Date of Patent: August 8, 2006
    Assignee: International Business Machines Corporation
    Inventors: Jean Louis Calvignac, Gordon Taylor Davis, Marco Heddes, Steven Kenneth Jenkins, Ross Boyd Leavens, Robert Brian Likovich, Jr.
  • Patent number: 7086060
    Abstract: Methods, apparatus, and computer program products are disclosed for a process of dynamically adding new software having resource controls to an operating system and having the resource controls added to various resource control files in the operating system. The process also allows for a resource control to have an arbitrary number of limit values before a highest limit value is reached. A method of dynamically checking a resource control associated with newly added software to an operating system is described. A process or other type of entity in the operating system encounters newly added software and its associated resource control. The operating system then determines whether the resource associated with the resource control is active. If so, the operating system then determines whether usage of the resource by the entity exceeds a limiting value stored in the resource control. If so, one or more actions related to the resource are triggered by the operating system.
    Type: Grant
    Filed: February 15, 2001
    Date of Patent: August 1, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Stephen C. Hahn
  • Patent number: 7086062
    Abstract: A system and method for handling work items creates a work item object for each work item entered into the system. Each object maintains information regarding its state, and its type. Work items are maintained in queues, and each work item contains information identifying the queue it is in. Business processes, which may be controlled by people or automated modules, take items from queues, and perform actions on them. Actions modify the state of an item, and can alter its data. An item persists until the work it represents is completed.
    Type: Grant
    Filed: October 10, 2000
    Date of Patent: August 1, 2006
    Assignee: i2 Technologies US, Inc.
    Inventors: Carolyn Faour, Paul Anderson, Avi Bedi
  • Patent number: 7080379
    Abstract: A method, system and apparatus for integrating a system task scheduler with a workload manager are provided. The scheduler is used to assign default priorities to threads and to place the threads into run queues and the workload manager is used to implement policies set by a system administrator. One of the policies may be to have different classes of threads get different percentages of a system's CPU time. This policy can be reliably achieved if threads from a plurality of classes are spread as uniformly as possible among the run queues. To do so, the threads are organized in classes. Each class is associated with a priority as per a use-policy. This priority is used to modify the scheduling priority assigned to each thread in the class as well as to determine in which band or range of priority the threads fall. Then periodically, it is determined whether the number of threads in a band in a run queue exceeds the number of threads in the band in another run queue by more than a pre-determined number.
    Type: Grant
    Filed: June 20, 2002
    Date of Patent: July 18, 2006
    Assignee: International Business Machines Corporation
    Inventors: Larry Bert Brenner, Dean Joseph Burdick
  • Patent number: 7073174
    Abstract: A job ticket service center includes features to provide security and to control access to a job ticket and related resources. The service center may include programming or servers to authenticate a processor and to authorize the processor to access a particular job ticket. An authentication server receives authentication information from a processor and an authorization server uses the information to check authorization functionality. The authorization or access rights of the processor may be carried as a part of the job ticket. Using these features, the service center may provide trusted authentication information about the processor to the authorization server, and the authorization server then performs its authority check functions. The job ticket maybe signed with an industry standard public key encryption message digest (MD) signature, and may be protected by a public key encryption system.
    Type: Grant
    Filed: June 5, 2001
    Date of Patent: July 4, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Brian A. Volkoff, Ward Foster, Shell S. Simpson, Kenneth L. Oakeson
  • Patent number: 7069558
    Abstract: A system and method for interactively utilizing a user interface to manage device resources comprises at least one resource characterization that includes resource requirements for executing a requested process. An allocation manager may then compare the resource requirements for the requested process to the currently-available device resources. The allocation manager may then authorize or deny the requested process depending upon whether the currently-available resources are sufficient to adequately service the resource requirements of the requested process. An interface manager may provide relevant information from sources such as the resource characterization and the allocation manager to a user interface to thereby allow a system user to interactively manage device resources.
    Type: Grant
    Filed: August 9, 2000
    Date of Patent: June 27, 2006
    Assignees: Sony Corporation, Sony Electronics Inc.
    Inventors: Glen D. Stone, Bruce A Fairman, Harold A. Ludtke
  • Patent number: 7058943
    Abstract: An object oriented mechanism and method allow allocating Java objects on a method's invocation stack in a partial compilation environment under certain conditions. Only the classes that are visible are taken into account when performing escape analysis in accordance with the preferred embodiments. In a first aspect of the invention, conservative assumptions are made to assure that objects are only allocated on an invocation stack when this can be proven safe by examining only those classes in the compilation unit. In a second aspect of the invention, the concept of visible classes is extended to include other classes that may be found from a user-defined classpath that matches the anticipated run-time classpath used to find classes during program execution. When stack allocation decisions for a method depends on such classes that are outside the compilation unit, two versions of run time code for that method are created.
    Type: Grant
    Filed: May 24, 2001
    Date of Patent: June 6, 2006
    Assignee: International Business Machines Corporation
    Inventors: Marc Noel Blais, Daniel Rodman Hicks, William Jon Schmidt
  • Patent number: 7058944
    Abstract: A system and method are provided for dynamically creating a communications channel at a local computer in response to selecting an element, such as a word or phrase, that is being displayed on an HTML page. A container also is created on the page in response to the element being selected. Data indicative of the selected element and containing environment is submitted to an Active Server Page at a server computer for retrieving information related to the selected element. The retrieved information is sent to the communications channel at the local computer and then displayed in the container on the original page.
    Type: Grant
    Filed: April 25, 2000
    Date of Patent: June 6, 2006
    Assignee: Microsoft Corporation
    Inventors: Thomas Alan Sponheim, Kris Owens
  • Patent number: 7051330
    Abstract: A generic application server is capable of simultaneously receiving requests, processing requested work, and returning results using multiple, conceptual thread pools. In addition, functions are programmable as state machines. While executing such a function, when a worker thread encounters a potentially blocking condition, the thread issues an asynchronous request for data, a state transition is performed, and the thread is released to do other work. After the blocking condition is relieved, another worker thread is scheduled to advance to the next function state and continue the function. Multiple priority work queues are used to facilitate completion of functions already in progress. In addition, lower-priority complex logic threads can be invoked to process computationally intense logic that may be necessitated by a request. Throttling functions are also implemented, which control the quantity of work accepted into the server and server response time.
    Type: Grant
    Filed: November 21, 2000
    Date of Patent: May 23, 2006
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Steven J. Kruy
  • Patent number: 7043726
    Abstract: Binding processes in a network system involves monitoring the status of RMI processes by running a thread associated with a parent process. Each parent process in the network system is associated with a watchdog object that initiates a thread, the thread monitoring the status of RMI processes. If the thread determines that its associated parent process is not bound with an active RMI process, the thread automatically rebinds its parent process with an active RMI process.
    Type: Grant
    Filed: March 20, 2001
    Date of Patent: May 9, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Michael Scheetz, Humberto A Sanchez, II
  • Patent number: 7039915
    Abstract: An architecture and method for dynamic resource allocation and scheduling in a communication device is disclosed herein. The method of controlling hardware resources in a communication device having a processor, a computer readable memory, and at least one hardware resource coupled to each other includes several steps. The first step locates a memory address in the computer readable memory that is associated with a first hardware resource. In the next step, control information associated with the first memory address is transmitted to the first hardware resource for it to be operated. In the last step, a pointer associated with the first address that locates a subsequent address for a subsequent hardware resource, is read.
    Type: Grant
    Filed: December 30, 2003
    Date of Patent: May 2, 2006
    Assignee: Infineon Technologies AG
    Inventors: Chakki Kavoori, Keith Reiken, David M. Holmes
  • Patent number: 7039911
    Abstract: A virtual machine system residing on a native machine comprises application code in a virtual machine specific format, native methods in a native machine specific format, and a plurality of execution entities that execute the application code and the native methods in parallel. An execution entity manager assigns a native method to an execution entity for execution. Based on an evaluation of the potential behavior of the native method, the execution entity manager assigns the native method to an execution entity optimized for the needs of the native method and the virtual machine system. This allows native methods that execute correctly in parallel to be assigned to an execution entity optimized to minimize system resources. Native methods that interfere with the parallel execution of other execution entities are assigned to an execution entity optimized to ensure correct native method operation.
    Type: Grant
    Filed: May 17, 2002
    Date of Patent: May 2, 2006
    Assignee: Naturalbridge, Inc.
    Inventors: David R. Chase, F. Kenneth Zadeck
  • Patent number: 7028297
    Abstract: A transaction processor pipeline architecture and associated apparatus for processing multiple queued transaction requests incorporates multiple processing elements working in parallel. Each processing element is configured to perform a specific function within the transaction processor system. Certain processing elements are assigned as function controllers, which are assigned to process specific transaction request subtask categories and may be augmented with dedicated hardware to accelerate certain subtask functions. Other processing elements are configured as list managers, which are optimized for managing data structure operations in memory. The processing elements are connected by a cross-point interconnect. The transaction processor system is configurable and scalable based on application needs.
    Type: Grant
    Filed: May 5, 2003
    Date of Patent: April 11, 2006
    Assignee: Aristos Logic Corporation
    Inventors: Robert L. Horn, Virgil V. Wilkins, Mark D. Myran, David S. Walls, Gnanashanmugam Elumalai
  • Patent number: 7024668
    Abstract: When requested by an application, a library unit provides a resource to the application, acquires an ID for identifying the application which has requested the resource, and stores a combination of a resource name of the provided resource and the application ID in a table. When an application is completed, the library unit receives an application ID of the completed application, detects a resource name corresponding to the received application ID in the table, and collects a resource specified by the resource name.
    Type: Grant
    Filed: May 11, 2001
    Date of Patent: April 4, 2006
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Takakazu Shiomi, Satoru Hayama, Takeshi Hiramoto, Yuko Kubooka, Shigenori Doi
  • Patent number: 7020876
    Abstract: A campaign management technique for batch processes enables a process control system user to flexibly create, edit and execute batch process campaigns. The campaign management technique uses a campaign management function that sends messages requesting batch information to a batch executive function. The batch executive function extracts the requested batch information from a database and sends responsive messages containing the requested batch information to the campaign management function. The campaign management function displays the requested batch information to a user via a graphical display and enables the user to select batch information to be included within a batch process campaign. The user can create a campaign having multiple types of batches, which can include special startup and cleanup batches.
    Type: Grant
    Filed: June 30, 2000
    Date of Patent: March 28, 2006
    Assignee: Fisher-Rosemount Systems, Inc.
    Inventors: David L. Deitz, Diego M. Benavides, Nathan W. Pettus, Grant Wilson, Robert M. Lenich