Patents Examined by Meng A An
  • Patent number: 7254813
    Abstract: The present invention implements an I/O task architecture in which an I/O task requested by the storage manager, for example a stripe write, is decomposed into a number of lower-level asynchronous I/O tasks that can be scheduled independently. Resources needed by these lower-level I/O tasks are dynamically assigned, on an as-needed basis, to balance the load and use resources efficiently, achieving higher scalability. A hierarchical order is assigned to the I/O tasks to ensure that there is a forward progression of the higher-level I/O task and to ensure that resources do not become deadlocked.
    Type: Grant
    Filed: March 21, 2002
    Date of Patent: August 7, 2007
    Assignee: Network Appliance, Inc.
    Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
  • Patent number: 7254817
    Abstract: Disclosed are apparatus and methods for controlling execution of a target software component within an isolated execution unit. In general terms, an intermediary software component is introduced within the isolated execution unit. This intermediary component program can initialize the isolated execution unit, and then start a target software component within the isolated execution unit. The intermediary component also establishes communication back to the parent (e.g., using an inter isolation communication). The intermediary component communicates with the target software component using the target component's unchanged API and mediates the communication back to the parent using the established inter isolation communication.
    Type: Grant
    Filed: October 31, 2001
    Date of Patent: August 7, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Hideya Kawahara
  • Patent number: 7254812
    Abstract: An information processing system is configured to schedule tasks to a plurality of processors using processor performance information. For example, the maximum performance level of each of the processors, the current performance level of each of the processors, and the number of processors can be used to schedule tasks to one or more of the processors. A task distribution frequency which takes this information into account can be useful. One such task distribution frequency fi is calculated so that fi=Di/?Di where i ranges from 1-N and Di=MPi/CPi/N, where MPi is a maximum performance level for the processor i, CPi is a current performance level for the processor i, and N is the number of processors. Tasks are distributed according to the task distribution frequency fi.
    Type: Grant
    Filed: May 31, 2002
    Date of Patent: August 7, 2007
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Evandro Menezes
  • Patent number: 7254810
    Abstract: A code optimizer is used to optimize a computer program that references a database by determining the characteristics of the database and making suitable optimizations based on the characteristics of the database. By taking into account the characteristics of a database referenced in the computer program, the optimizer may make suitable optimizations to the computer program. Such optimizations include, without limitation, removing unnecessary calls to the database, removing unnecessary loops, removing unnecessary database operations, providing compile-time errors, and replacing dynamic calls with static data.
    Type: Grant
    Filed: April 18, 2002
    Date of Patent: August 7, 2007
    Assignee: International Business Machines Corporation
    Inventors: Eric Lawrence Barsness, Richard Dean Dettinger, John Matthew Santosuosso
  • Patent number: 7251815
    Abstract: A system, computer program product and method for dispatching work items in a virtual machine operating system. The virtual machine operating system defines first and second virtual machines. First and second work queues are created in a memory. The first virtual machine assigns a first work item to the first work queue and a second work item to the second work queue. The first virtual machine schedules work items from the first work queue for execution by the first virtual machine. The first and second work items originate from the first virtual machine. The first and second work queues are directly accessible by the first virtual machine. The second virtual machine assigns a third work item to the first work queue and a fourth work item to the second work queue. The second virtual machine schedules work items from the second work queue for execution by the second virtual machine. The third and fourth work items originate from the second virtual machine.
    Type: Grant
    Filed: April 29, 2003
    Date of Patent: July 31, 2007
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Donovan, Melissa K. Howland, Steven Shultz, Xenia Tkatschow
  • Patent number: 7251814
    Abstract: An apparatus, program product and method accommodate conventional yield calls within a multithreaded processor environment by coordinating yielding threads within the hypervisor. A hypervisor coordinates the yielding threads within the hypervisor to ensure all threads on a multithreaded processor execute within the same partition or hypervisor.
    Type: Grant
    Filed: August 24, 2001
    Date of Patent: July 31, 2007
    Assignee: International Business Machines Corporation
    Inventors: William Joseph Armstrong, Chris Francois, Naresh Nayar
  • Patent number: 7249358
    Abstract: A computer system having a plurality of processors where each of the processors is dynamically assigned for execution of tasks based upon either performance or reliability.
    Type: Grant
    Filed: January 7, 2003
    Date of Patent: July 24, 2007
    Assignee: International Business Machines Corporation
    Inventors: Philip G Emma, Allen P Haar, Paul D Kartschoke, Barry W Krumm, Norman J Rohrer, Peter A Sandon
  • Patent number: 7249352
    Abstract: Methods, apparatus and computer program products for removal of elements from a linked list while other elements of the linked list are allowed to be accessed during the removal operation. In one embodiment, the method, apparatus and computer program product include identifying an add/remove area of a linked list and a static area of the linked list. Elements may only be added or removed from the linked list in the add/remove area or by a garbage collector that performs garbage collection only on elements in the static area of the linked list. The garbage collector identifies an element after the last element in the add/remove area and performs garbage collection beginning with that element and moving through the static area. In an alternative embodiment, a “next element” pointer in a previous list element is set to point to the element being deleted's “next element” pointer. Any global references to the element being deleted must be modified.
    Type: Grant
    Filed: August 22, 2002
    Date of Patent: July 24, 2007
    Assignee: International Business Machines Corporation
    Inventors: Matthew David Fleming, Jonathan Allen Wildstrom
  • Patent number: 7249354
    Abstract: A system and method for deploying a software build from a plurality of software builds is presented. A target computer sends a request for the software build to a build master. The build master authenticates the request, permitting only authorized requests. If the request is authorized, the build master identifies a build server that stores the requested software build. The build master generates request data that identifies the build server and authentication information, and returns the request data to the target computer. The target computer submits the request, with the request data, to the build server. The build server authenticates the request according to the request data. If the request is an authorized request, the build server returns the software build to the target computer.
    Type: Grant
    Filed: October 14, 2003
    Date of Patent: July 24, 2007
    Assignee: Microsoft Corporation
    Inventors: Jordan Tigani, Joseph Holman, Pankaj S. Lunia, David E. Gonsalves, Michael Warmington, Justin Michael Caton
  • Patent number: 7249356
    Abstract: A batch event historian gathers, stores and presents data regarding a batch process where relationships among the various elements of data are automatically derived by an executive program. A persistent store includes structure corresponding to the relationships defined among procedural elements and equipment in accordance with batch processing industry S88.01 standards. The executive program gathers event information generated by the batch process and derives the relationships among the events in accordance with these industry standard models. Storage and corresponding retrieval and presentation of such historical data is thereby simplified for a user because the user need not manually configure the historian programs to derive the relationships. Association of any continuous data log with event information is automated thereby obviating the need for manual configuration by a user to establish such associations.
    Type: Grant
    Filed: April 29, 1999
    Date of Patent: July 24, 2007
    Assignee: Fisher-Rosemount Systems, Inc.
    Inventors: Grant Wilson, David L. Dietz, Marc Webb, Roy Faltesek, Muwaffa Lahham, John Yiu-Chung Wong, Jake Phong Doan, Robert B. Havekost
  • Patent number: 7249349
    Abstract: A method and system for reverting a process in an in-line instrumented state to an uninstrumented state. In one embodiment, the present invention modifies selected text segment portions from the process to be uninstrumented. The present embodiment then unmaps instrumented code space such that the instrumented code space is inaccessible to the process. In this embodiment, provided an instruction pointer resides in the instrumented code space, the present invention updates the instruction pointer to uninstrumented code space. The present embodiment also executes the process and, provided the process generates a fault by seeking to access an address in instrumented code space, provides a corresponding address in uninstrumented code space. In one embodiment, the present invention then continues execution at the address in instrumented code space.
    Type: Grant
    Filed: December 13, 2001
    Date of Patent: July 24, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Robert Hundt, David John Babcock
  • Patent number: 7246359
    Abstract: A collection of target Enterprise JavaBeans (EJBs) that are associated with the source EJB in a one-to-many association is obtained in response to traversing the one-to-many association of the source EJB. The collection of target EJBs is registered in a collection registry. The source EJB is passivated without passivating the collection of target EJBs, and the source EJB is later reactivated. The collection of target EJBs that are associated with the source EJB that is reactivated is fetched from the collection registry in response to traversing the one to many association of the source EJB that is reactivated. The one-to-many association between the source EJB and the collection of target EJBs may be managed by a link object that is generated by a link factory.
    Type: Grant
    Filed: July 31, 2003
    Date of Patent: July 17, 2007
    Assignee: International Business Machines Corporation
    Inventors: Timo J. Salo, Kevin J. Williams
  • Patent number: 7246353
    Abstract: A method and system for managing the execution of threads uses a single scheduler for both threads and work items. Objects representing the threads and the work items are either maintained in separate queues or are stored together in a single queue. Each thread object or work item object may contain information that allows the scheduler to determine what order to execute the corresponding threads or to process the corresponding work items.
    Type: Grant
    Filed: June 12, 2002
    Date of Patent: July 17, 2007
    Assignee: Microsoft Corporation
    Inventors: Alessandro Forin, Johannes V. Helander, Paul T. Pham
  • Patent number: 7246351
    Abstract: A system for deploying applications over a distributed network to web-enabled devices uses a server, with stored text files containing application logic, and an application assembler. The application assembler downloads and installs on each web-enabled device. Then, the application assembler downloads one or more text files from the server, retrieves program logic from each of the downloaded text files, and assembles the retrieved program logic into a fuctioning application. In some instances, a plugin that is downloaded and installed on each web-enabled device is activated by web pages on the server to launch the application assembler.
    Type: Grant
    Filed: February 20, 2002
    Date of Patent: July 17, 2007
    Assignee: Jargon Software
    Inventors: Timothy J. Bloch, Thomas L. Dietsche, Richard D. Rubenstein
  • Patent number: 7246354
    Abstract: A system and method is described for informing an upstream NMS when any changes have occurred in an electronic system architecture through a notification listener. The listener receives signals from EMS and translates them into a readily relayable format and forwards the signals to the NMS.
    Type: Grant
    Filed: September 30, 2002
    Date of Patent: July 17, 2007
    Assignee: BellSouth Intellectual Property Corp.
    Inventors: Sony Antony, Harry Tang, Vikas Varma
  • Patent number: 7246344
    Abstract: A system, method, and article of manufacturer for programming processing operations within a server and more particularly to a system, method, and article of manufacturer for programming processing operations of tracking data through a multi-tier computing architecture.
    Type: Grant
    Filed: December 11, 2000
    Date of Patent: July 17, 2007
    Assignee: Microsoft Corporation
    Inventors: Erik B. Christensen, Patrick M. Dengler, Paul S. Kuklinski, Jr.
  • Patent number: 7246352
    Abstract: In a method of generating a virtual map to a plurality of data files necessary for installing software on a computer that is coupled to a network, a primary directory that includes a plurality of links is generated. Each link points to a subdirectory that lists at least one file that is necessary for installing the software. Any subdirectories pointed to by any of the of links that contain redundant files are detected and any links pointing to redundant files are removed from the primary directory. All conflicts between files pointed to by any links of the plurality of links are detected and listed in a conflict report.
    Type: Grant
    Filed: July 24, 2002
    Date of Patent: July 17, 2007
    Assignee: International Business Machines Corporation
    Inventors: Mohit Jain, Dennis E. Myers
  • Patent number: 7243352
    Abstract: A method for processing a computer software process including a task file is provided. The method includes designating a group of available processing resources to execute the task file that includes task groups with each task group including a plurality of tasks. The method also includes scheduling the task groups in the task file for execution with a plurality of remaining processing resources, each running a client controller component code. Further included is obtaining access to a set of free remaining processing resources of the plurality of remaining processing resources, each having a set of criteria matching a set of requirements of each task in a particular task group. The method also includes executing tasks in the particular task group when access to all the free remaining resources in the set of the free remaining processing resources have been granted. Also included is generating an execution result report.
    Type: Grant
    Filed: November 27, 2002
    Date of Patent: July 10, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Ramesh B. Mandava, Bhakti H. Mehta
  • Patent number: 7243343
    Abstract: A method, compiler and platform independent framework are provided for parsing and generating data structures. Size of and offsetof functions are utilized for defining a length and a location of each parameter of a data structure. The length and location of each parameter of the data structure are stored within an identifier object in a data structure definition. The identifier structure is based on the definition of the data structure itself so that the problem of duplicating the data structure definition is eliminated. The sizeof and offsetof functions automatically account for compiler and platform differences which otherwise would lead to alignment problems so that compiler and platform independence from data structure realignment is provided.
    Type: Grant
    Filed: April 10, 2001
    Date of Patent: July 10, 2007
    Assignee: International Business Machines Corporation
    Inventors: Joseph R. Edwards, Robert John Manulik
  • Patent number: 7243350
    Abstract: Conditional branch bytecodes are processed by a Virtual Machine Interpreter (VMI) hardware accelerator that utilizes a branch prediction scheme to determine whether to speculatively process bytecodes while waiting for the CPU to return a condition control variable. The VMI assumes the branch condition will be fulfilled if a conditional branch bytecode calls for a backward jump and that the branch condition will not be fulfilled if a conditional branch bytecode calls for a forward jump. Alternatively, the VMI makes an assumption only if a conditional branch bytecode calls for a backward jump or the VMI assumes that the branch condition will be fulfilled whenever it processes a conditional branch bytecode. The VMI only speculatively processes bytecodes that are easily reversible, and suspends speculative processing of bytecodes upon encountering a bytecode that is not easily reversible. If a VMI assumption is invalidated, any speculatively processed bytecodes are reversed.
    Type: Grant
    Filed: September 27, 2002
    Date of Patent: July 10, 2007
    Assignee: Koninklijke Philips Electronics N.V.
    Inventor: Menno Menasshe Lindwer