Patents Examined by John Courtenay, III
  • Patent number: 6704925
    Abstract: A dynamic binary translator converts input instruction sequences into output instruction sequences that are stored in a translation cache. In order to maintain coherence of the translation cache with the run-time version of the input instructions, translated code is checked by either a conflict detection mechanism or a code-invariance mechanism. For conflict detection, the system preferably uses memory traces generated by the memory management unit of the underlying hardware processor. In order to check for code-invariance, preludes for comparing cached, output instruction sequences with their supposed run-time input instruction equivalents are appended to the cached instructions themselves. Changes in the input sequences then result only in retranslation of instruction sequences in which at least one instruction has changed; this avoids costly total flushes of the translation cache.
    Type: Grant
    Filed: December 1, 1998
    Date of Patent: March 9, 2004
    Assignee: VMware, Inc.
    Inventor: Edouard Bugnion
  • Patent number: 6704806
    Abstract: A method and a virtual device driver for monitoring the creation and destruction of child processes or threads within an application executing in a computer system controlled by an operating system, such as Windows. A list is provided for storing existing child process database structures corresponding to child processes existing within the executing application. The list is checked periodically. If, when checked, the list has no entries, it is safe to assume that the existing child process and, possibly, related grandchild processes, have exited and execution of the application is complete. Other applications in a series of applications, for example, during the installation of a software program, may then be executed with minimal risk of corruption due to concurrent execution of the applications in the series.
    Type: Grant
    Filed: May 27, 1999
    Date of Patent: March 9, 2004
    Assignee: Computer Associates Think, Inc.
    Inventor: F. Jay Decker
  • Patent number: 6697935
    Abstract: A system and method for performing computer processing operations in a data processing system includes a multithreaded processor and thread switch logic. The multithreaded processor is capable of switching between two or more threads of instructions which can be independently executed. Each thread has a corresponding state in a thread state register depending on its execution status. The thread switch logic contains a thread switch control register to store the conditions upon which a thread switch will occur. The thread switch logic has a time-out register which forces a thread switch when execution of the active thread in the multithreaded processor exceeds a programmable period of time. Thread switch logic also has a forward progress count register to prevent repetitive thread switching between threads in the multithreaded processor. Thread switch logic also is responsive to a software manager capable of changing the priority of the different threads and thus superseding thread switch events.
    Type: Grant
    Filed: October 23, 1997
    Date of Patent: February 24, 2004
    Assignee: International Business Machines Corporation
    Inventors: John Michael Borkenhagen, Richard James Eickemeyer, William Thomas Flynn, Andrew Henry Wottreng
  • Patent number: 6694370
    Abstract: A computerized method and a system for implementing in a network distributed applications, comprising instructions for a computer process which are executable on different locations in the network, is proposed. The instructions include an assert-command and/or a release-command.
    Type: Grant
    Filed: August 18, 2000
    Date of Patent: February 17, 2004
    Assignee: International Business Machines Corporation
    Inventors: Joerg Bischof, Stefan G. Hild, Marcus Oestreicher
  • Patent number: 6694379
    Abstract: A method and apparatus for providing distributed clip-list management. In an embodiment, an application maintains a local clip-list that identifies those portions of a remote frame buffer that are unambiguously associated with the given application, as well as those portions of the remote frame buffer which are disputed between the given application and one or more other applications. Applications may enforce a dispute policy with respect to writing image data to disputed regions of the frame buffer. Applications are able to write to the frame buffer asynchronously, without the use of a frame buffer lock. A clip manager maintains a global clip-list, and responds to messages from the applications by updating the global clip-list and informing those other applications of relevant changes to their own respective local clip-lists.
    Type: Grant
    Filed: April 9, 1999
    Date of Patent: February 17, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: James G. Hanko, Alan T. Ruberg, J. Duane Northcutt, Gerard A. Wall
  • Patent number: 6691176
    Abstract: A service manager for managing services and objects called by browser scripts is employed. The Web browser script is not in direct communication with the service manager; instead, a connector object is mapped by the script into the scripting space. For function calls that the script would previously make to the service or object directly, the script makes a call to a connector object. Depending on the browser brand, the connector object is of a different format e.g., an ActiveX control or a Plug-In. The first time such a connector object is created and mapped into a scripting space, the service manager is initiated and all of the services and objects that are managed by the service manager are loaded. The connector object packages the function call to a service for interpretation by the service manager. A script wrapper is a small object between the scripting space and the connector object, and allows script to be written without regard to different browser brands.
    Type: Grant
    Filed: November 4, 1999
    Date of Patent: February 10, 2004
    Assignee: Microsoft Corporation
    Inventors: Attila Narin, Donald J. Clore, Keith A. Kegley
  • Patent number: 6687858
    Abstract: A system and method for a software override capability for enforcing a predetermined state for an otherwise hardware-programmable device. Software that may think it knows what it is doing may try to control a hardware device, but may not know about a hardware issue, such as another feature or defect requiring that the device stay in a certain state. The technique programmnatically maintains a persistent hardware state independent of any other control software. To other software, the software layer of the invention is indistinguishable and inseparable from hardware. Nothing can slip in between. Any insertion attempt will be detected and disallowed. Features of the processor or system chips actually weld the software to the hardware, which feature disallows any software intervention between the welded software layer and the hardware.
    Type: Grant
    Filed: May 16, 2000
    Date of Patent: February 3, 2004
    Inventor: Phillip M. Adams
  • Patent number: 6684259
    Abstract: A method, suitable for use in client/server system, which allows multiple copies of a single-user application to run simultaneously in a multi-user operating system without modification of the single-user program, by modifying existing operating system methods used for object name creation, look-up, and deletion. The method creates a user global context by labeling each instance of the single-user application with a user identifier (name) that defines a single-user name space in which each labeled object is only available to the named user. In addition, the single-user server process is allowed to impersonate the client for allowing the server to access the named resources of the single-user name space. A coexisting system global context is also created by marking system global named resources.
    Type: Grant
    Filed: October 11, 1995
    Date of Patent: January 27, 2004
    Assignee: Citrix Systems, Inc.
    Inventors: Michael Jerome Discavage, Edward Ernest Iacobucci
  • Patent number: 6681264
    Abstract: A system and method for determining whether a set of message sequence charts (MSCs) is realizable or safely realizable in an implementation is provided. The determination is made by analyzing the set of MSCs for the existence of unspecified, implied MSCs. If the set of MSCs can be realized in a deadlock-free automaton, then the set of MSCs is safely realizable. If the set of MSCs is realizable (no implied MSCs exist), a state machine can be synthesized from the set of MSCs. If the set of MSCs is not realizable, then implied, unspecified (partial) MSCs are produced. Also, given an undesirable MSC, the system determines whether the set of required MSCs implies the given undesired MSC.
    Type: Grant
    Filed: May 26, 2000
    Date of Patent: January 20, 2004
    Assignee: Lucent Technologies Inc.
    Inventors: Rajeev Alur, Kousha Etessami, Mihalis Yannakakis
  • Patent number: 6681265
    Abstract: According to the invention, systems and methods are disclosed for allowing command files to access information in a data store. This method consists of executing a first, original command file. A second, temporary command file is then created by a command file generator program. The temporary command file includes one or more commands based upon information from a data store that is accessible only by way of an Application Programming Interface (API). Information from the data store is then used during execution of the temporary command file. The original command file defines the scope of temporary environmental variables for storing information to be retrieved from the data store by a command file generator program and stored in the temporary command file, executes the temporary command file, branches around the operations contained in the body of the original command file which have been performed by the temporary command file, and cleans up the local environment.
    Type: Grant
    Filed: April 27, 2000
    Date of Patent: January 20, 2004
    Assignee: International Business Machines Corporation
    Inventor: Alan Hlava
  • Patent number: 6675189
    Abstract: A system for learning and applying a task and data parallel strategy to an application that includes at least one task for processing an input data stream to produce an output data stream includes the following components. A controller measuring an execution of the application to generate an action space representing a task and data parallel strategy. A run-time system applying the action space to implement the task and data parallel strategy.
    Type: Grant
    Filed: May 28, 1998
    Date of Patent: January 6, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: James Mathew Rehg, Kathleen Knobe, Rishiyur S. Nikhil, Umakishore Ramachandran
  • Patent number: 6675229
    Abstract: A computer operating system that allows legacy applications to be run automatically with quality of service (QoS) guarantees matching required QoS performance levels. In accordance with the invention, files have QoS requirement attributes that can be set-by users. Additionally, users may interpose a requirement broker between a given legacy application and the operating system. The requirement broker may be in the form of a modified version of a library that is dynamically linked with applications at load time. The requirement broker intercepts certain system calls and automatically requests from the system QoS guarantees in accordance with the QoS requirement attributes of the accessed files, whether local or remote.
    Type: Grant
    Filed: November 29, 1999
    Date of Patent: January 6, 2004
    Assignee: Lucent Technologies Inc.
    Inventors: John Louis Bruno, José Carlos Brustoloni, Eran Gabber, Banu Ozden, Abraham Silberschatz, Amit Singh
  • Patent number: 6675228
    Abstract: A process and apparatus in a data processing svstem for presenting a view to a client. At an application mediator, a view event is received from a view controller, wherein the view event describes an action on a displayed container handled by the view controller. Responsive to a requirement that a change in a placement of the displaved container is required, a placement event is generated bv the application mediator. A determination is then made by a placement listener, as to whether the placement event includes an indication that an alternate view is to be generated. Responsive to a determination that an alternate view is to be generated, a call is sent to a method in the view controller to generate the alternate view.
    Type: Grant
    Filed: October 29, 1999
    Date of Patent: January 6, 2004
    Assignee: International Business Machines Corporation
    Inventors: Peter C. Bahrs, Manish Mahesh Modh
  • Patent number: 6671762
    Abstract: A system and method is provided to reduce the latency associated with saving and restoring the state of the floating point registers in a microprocessor when switching tasks between floating point and MMX operations, or between tasks within the same context. The present invention maintains a secondary register file along with the primary floating point register file in the CPU. The primary register will keep the state of the floating point task “as is” upon the occurrence of a task switch to MMX, or another context. The address of the area where the FPU state is saved is maintained in a save area address register. The secondary register is then utilized by the other context to store intermediate results of executed instructions. In the majority of cases when a context switch back to floating point operations occurs, the previous state is restored from the primary register without incurring the latency of retrieving the instructions and data from the memory subsystem.
    Type: Grant
    Filed: December 29, 1997
    Date of Patent: December 30, 2003
    Assignee: STMicroelectronics, Inc.
    Inventors: Naresh H. Soni, David Isaman
  • Patent number: 6671745
    Abstract: A set of Application Program Interfaces (APIs) for a resource-limited environment are disclosed. The APIs provide a mechanism for a computer application to interface with various components and modules of an operating system for a resource-limited environment. The APIs further provide a mechanism to interface with input/output devices commonly found in embedded systems running in a resource-limited environment.
    Type: Grant
    Filed: March 22, 1999
    Date of Patent: December 30, 2003
    Assignee: Microsoft Corporation
    Inventors: Sharad Mathur, Gregory Hullender, Mark Miller, Bruce Johnson, Michael Ginsberg
  • Patent number: 6668285
    Abstract: Object oriented processing is performed by holding pointers to memory locations of object variables and method tables in dedicated registers. The pointers for current and previous operations of the processor are held in respective first and second groups of the dedicated registers. For each object, the respective object variables are stored at a memory location and the pointer to a respective method table is stored at a memory location indexed off of the location of the object variables.
    Type: Grant
    Filed: May 12, 1999
    Date of Patent: December 23, 2003
    Assignee: Koninklijke Philips Electronics N.V.
    Inventors: Kevin Ross, Winthrop L. Saville
  • Patent number: 6668284
    Abstract: A software architecture includes a router that receives all messages from modules in a software system. Each message is associated with one of several pre-defined message translations, including message attributes, which are maintained by a Keeper database. Individual modules may send messages to the Router requesting that they receive messages having message attributes that match specified criteria. A common messaging control is encodes each message according to a hierarchical format so that any module receiving a message can decode the message and receive data elements from it without knowledge of the precise structure or sequence of data elements in the message.
    Type: Grant
    Filed: November 4, 1998
    Date of Patent: December 23, 2003
    Assignee: Beckman Coulter, Inc.
    Inventor: Jason Parkhurst
  • Patent number: 6665735
    Abstract: Methods and systems consistent with this invention link a program module, which implements dynamic linkage to an external function and executes the external function. Such methods and systems replace a function name described in a header portion of a program module and a function name to be referred to by the program module with other names, and link functions having the same names as the replaced function names and executing the linked functions in place of an original function.
    Type: Grant
    Filed: October 5, 1998
    Date of Patent: December 16, 2003
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Kuninori Tanaka, Tetsuya Iinuma, Hideaki Hirayama, Toshio Shirakihara
  • Patent number: 6662235
    Abstract: Embodiments of the present invention include methods, systems and computer program products which provide for a complex policy rule structured in a plurality of levels wherein the complex policy rule selects an action for execution based on a plurality of individual policy conditions. An event is received having an associated value defining a point in a space covered by the individual policy conditions. The following operations are performed if the complex policy rule is a CNF policy rule. A plurality of summary conditions are generated, each of the summary conditions being associated with one of the levels. The associated value of the received event is compared to a selected one of the summary conditions to determine if the selected one of the summary conditions is met.
    Type: Grant
    Filed: August 24, 2000
    Date of Patent: December 9, 2003
    Assignee: International Business Machines Corporation
    Inventors: Gregory M. Callis, Jon Kevin Franks, Lap Thiet Huynh, Loan Nguyen, Diane Iupe Shannon, David Yu Pin Yang
  • Patent number: 6662237
    Abstract: A documentation system for improving the efficiency of maintaining the records of mapping among applications is described. The method of documenting linkage of applications to each other includes displaying source application objects and target application objects along different axis. At selected intersection points of the source application objects and the target application objects, the user of the system inserts cells which define the mapping rules relating the objects. The cells include a unique identification field which identifies the particular mapping relationship between designated fields in the objects.
    Type: Grant
    Filed: June 24, 1999
    Date of Patent: December 9, 2003
    Assignee: Contivo, Inc.
    Inventor: Donald Albert Leckie