Patents Examined by Gary Scott Fourson
  • Patent number: 6560626
    Abstract: A thread interruption function in a multi-threaded runtime environment places a first thread in an alertable blocked state that is interrupted by another thread upon request. The interrupting thread causes an asynchronous procedure call (APC) to be queued against the blocked thread. A callback procedure associated with the APC is executed in a context of the blocked thread and an indicator is stored in the context of the blocked thread. The indicator is captured by runtime environment exception handing which causes the blocked thread to be activated.
    Type: Grant
    Filed: April 2, 1998
    Date of Patent: May 6, 2003
    Assignee: Microsoft Corporation
    Inventors: Francis M. Hogle, Tracy C. Sharpe
  • Patent number: 6549930
    Abstract: A method is provided for scheduling execution of a plurality of threads executed in a multithreaded processor. Resource utilizations of each of the plurality of threads are measured while the plurality of threads are concurrently executing in the multithreaded processor. Each of the plurality of threads is scheduled according to the measured resource utilizations using a thread scheduler.
    Type: Grant
    Filed: November 26, 1997
    Date of Patent: April 15, 2003
    Assignee: Compaq Computer Corporation
    Inventors: George Z. Chrysos, Jeffrey A. Dean, James E. Hicks, Jr., Carl A. Waldspurger, William E. Weihl
  • Patent number: 6446135
    Abstract: A method and system for querying and executing commands of an application program are provided. A caller application program may dispatch a request for status information to a callee application program for one or more commands. That is, the caller application program can determine which commands a callee application program provides and determine the status of each of those commands. In particular, the caller application program may request a bit representation of the status of a command, may request a textual representation of a status of the command, or may request a textual representation of the name of a command. In addition, the caller application program may dispatch a request to execute a command to the callee application program. Moreover, the caller application program may specify whether the callee application program should request user input before executing the command.
    Type: Grant
    Filed: March 5, 1996
    Date of Patent: September 3, 2002
    Assignee: Microsoft Corporation
    Inventors: Srinivasa R. Koppolu, C. Douglas Hodges
  • Patent number: 6421827
    Abstract: The present invention is a method, system, and computer readable medium for detecting the loading pattern of application and library files, and then reordering the files so that future loads are performed more efficiently. The present invention detects the loading pattern of an application file and library files, and then reorders the pages within the application and library executable files so that future loads are sequential. After being reordered, the application and library files are relinked in order to resolve references. A sequential load access pattern is beneficial, as it takes full advantage of read-ahead performed by the file system. The present invention allows pages of an application or library executable file to be stored in the order in which they will most likely be loaded. Thus, when the file system performs read-ahead, and brings additional pages into memory, these additional pages are the next pages needed and are loaded.
    Type: Grant
    Filed: December 17, 1997
    Date of Patent: July 16, 2002
    Assignee: International Business Machines Corporation
    Inventors: Robert Tod Dimpsey, Michael Richard Fortin, Maher Saba
  • Patent number: 6385660
    Abstract: Systems and methods for implementing site specific message dispatch in an object-oriented environment are provided. Receiver type information may be saved at a message dispatch site in order to provide site specific message dispatch. By allowing message dispatch to vary at different call sites, object-oriented systems may be more efficient and flexible.
    Type: Grant
    Filed: October 6, 1997
    Date of Patent: May 7, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Robert Griesemer, Urs Hölzle
  • Patent number: 6378001
    Abstract: A collaborative session is represented by a session object which receives all messages generated by the programs and transmits the messages to all programs participating in the session. The session object can include shared objects which are managed by the session and can be updated without requiring messages to be transmitted over a network. Accordingly, programs may enter a session after it begins and immediately access common session information, such as a state database.
    Type: Grant
    Filed: June 18, 1997
    Date of Patent: April 23, 2002
    Assignee: International Business Machines Corp.
    Inventors: Radhakrishna Aditham, Rajiv Jain, Muralidharan Srinivasan
  • Patent number: 6356954
    Abstract: The present invention discloses a method, apparatus, and article of manufacture for enabling interaction with one or more external computer programs from within an editor environment. The method involves passing editor input to the external program, wherein the external program evaluates the input, produces corresponding output, and transmits the output back to the editor. When the editor receives the output, it stores the output in a file and displays it on a computer monitor. By using this method, a user can not only interact with the external program from within the editor environment, but can also create an editor file that stores a listing of the input and output provided to the external program.
    Type: Grant
    Filed: March 27, 1997
    Date of Patent: March 12, 2002
    Assignee: International Business Machines Corporation
    Inventor: Michael Morris Golding
  • Patent number: 6353859
    Abstract: An access mechanism and method for accessing objects in a distributed object system manages object accesses and causes all accesses within one transaction to be to either the home object or the local copy, whichever is accessed first. When an object is accessed for the first time in a given transaction, the requested access is granted. For example, if home access is requested to an object in a different process, a proxy is created to access the object in its home location. When the object is subsequently accessed within the same transaction, the access mechanism ensures that the same access is used to assure that changes are not being made to a home object and a local copy or to more than one local copy simultaneously. In an alternative embodiment an exception may be generated if the requested access cannot be provided.
    Type: Grant
    Filed: April 30, 1997
    Date of Patent: March 5, 2002
    Assignee: International Business Machines Corporation
    Inventors: Michael D. McKeehan, Andre Tost, Erik E. Voldal
  • Patent number: 6311227
    Abstract: A procedure calling method is provided, in which an appropriate procedure car be mutually called safely between separately-prepared application programs. The method uses a procedure assignment table having paired information about procedure name and procedure address. First, whether the address of a procedure corresponding to a called procedure name is included in a first procedure assignment table or not is judged. When the address of the procedure corresponding to the given name is included in the first procedure assignment table, the address of the procedure is acquired to be executed. When the address of the procedure corresponding to the given name is not included in the first procedure assignment table, whether a retrieval function for retrieving a second procedure assignment table is provided or not is then judged. When the retrieval function is not provided, an error is outputted.
    Type: Grant
    Filed: November 20, 1996
    Date of Patent: October 30, 2001
    Assignee: NEC Corporation
    Inventor: Masahiro Tabuchi
  • Patent number: 6272554
    Abstract: A method and apparatus for decomposing arbitrarily complex CORBA data types into a flat data buffer and recomposing the data type back from the buffer. CORBA TypeCode data is converted to/from stream form. A memory management function releases the memory used for the reconstructed form of the TypeCode data. An encoder interface routine receives inputted CORBA data. A two pass procedure is executed which allocates buffers and passes ownership information for the inputted CORBA data which is converted into a contiguous representation.
    Type: Grant
    Filed: December 10, 1996
    Date of Patent: August 7, 2001
    Assignee: International Business Machines Corporation
    Inventors: David Yu Chang, Scott Robert Hinkelman
  • Patent number: 6240466
    Abstract: According to the present invention, an apparatus and method for creating new objects “near” existing objects is disclosed. In a preferred embodiment of the present invention, a desirable location for the new object is determined by making a series of observations and system level decisions. By examining the system parameters and creating new objects in physical locations where other, related objects currently reside, system performance in object-oriented systems can be greatly increased.
    Type: Grant
    Filed: April 21, 1997
    Date of Patent: May 29, 2001
    Assignee: International Business Machines Corporation
    Inventors: Michael D. McKeehan, Steven J. Munroe, Erik E. Voldal
  • Patent number: 6233622
    Abstract: The present invention discloses an object-oriented programming (OOP) based adapter and handler framework for Web server extensions. The adapter and handler framework provides a generic interface between a Web server program and computer programs external to the Web server program (also known as extensions). The framework isolates the extensions from Web server and operating system dependencies. Moreover, the framework can be easily customized to conform to specific interface protocols.
    Type: Grant
    Filed: November 12, 1996
    Date of Patent: May 15, 2001
    Assignee: International Business Machines Corporation
    Inventors: Bryan P. Atsatt, Steven Robert Loomis, George Robert Turner, Jr.
  • Patent number: 6202085
    Abstract: A system and method for incremental change synchronization among multiple copies of data is disclosed. To achieve the synchronization a genera synchronization model is used. The synchronization model establishes a one-way data flow path to allow incremental changes to be transferred from a copy of data that incorporates the incremental changes to a copy of data that does not yet incorporate the incremental changes. To achieve this one-way data flow path, the synchronization model uses an agent, a data collector, and a data synchronizer. The data collector collects incremental changes transferred to it and applies the incremental changes to a copy of data. A data synchronizer transfers incremental changes to a data collector. An agent controls the synchronization process by making a connection between a data collector and a data synchronizer and then directing the data synchronizer to transfer data to the data collector.
    Type: Grant
    Filed: December 6, 1996
    Date of Patent: March 13, 2001
    Assignee: Microsoft Corportion
    Inventors: Max L. Benson, Dinarte Morais, Scott Norin, William P. Champion, Thomas F. Fakes, Milind M. Joshi
  • Patent number: 6192419
    Abstract: A collaborative application framework is used to build application programs which communicate with a central collaboration manager by means of a predetermined protocol. The predetermined protocol allows converters to be located at the collaboration manager site so that the programs neither include, nor require, preconfigured converters. Accordingly, new programs may easily and inexpensively be added to the system. The framework includes class code information which is incorporated into each application program by subclassing and which allows the program to communicate with the central manager by passing messages. The framework further includes class code for creating in the central manager a session object which receives a first message from a first program, converts the information in the first message into an information format utilized by a second program and forward a second messages to the second program containing information in the appropriate format.
    Type: Grant
    Filed: June 18, 1997
    Date of Patent: February 20, 2001
    Assignee: International Business Machines Corporation
    Inventors: Radhakrishna Aditham, Rajiv Jain, Muralidharan Srinivasan
  • Patent number: 6189047
    Abstract: A method of monitoring event queue operations includes the step of responding to a set of run-time messages resulting from an operation performed with a graphical user interface. The set of messages is routed to a customized event queue module for processing. The customized event queue module reports operations associated with the set of messages. This information can be used for debugging, tracing, and event recording. The customized event queue module operates without altering the operation of the event queue. Thus, the invention can be used without altering proprietary software defining the operation of the event queue.
    Type: Grant
    Filed: March 20, 1997
    Date of Patent: February 13, 2001
    Assignee: Sun Microsystems, Inc.
    Inventor: Thomas A. Ball
  • Patent number: 6182157
    Abstract: An alarm monitoring apparatus and method allows a user of a management station to dynamically create and flexibly configure SNMP traps based on any management information base variable without having to define an exhaustive set of trap definitions in a management information base. Apparatus for monitoring status of a network device includes a processor assembly coupled to the network device and a data memory member accessible by the processor assembly for indicating user-defined alarm thresholds of the subject device. The processor assembly obtains threshold data from the data memory member and compares current status to the obtained threshold data. Upon a threshold being met by the current status, the processor assembly transmits an indication of threshold condition of the subject device to a system management station across a network. The data memory member is a database formed of a plurality of records defined by a management information base.
    Type: Grant
    Filed: September 19, 1996
    Date of Patent: January 30, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Cynthia Schlener, Shaila Vasudev
  • Patent number: 6170045
    Abstract: Data is written to and read from a shared pipe by applications of multiple systems. At least one shared pipe is located within an external shared memory coupled to one or more central processing complexes. Each of the central processing complexes has one or more operating system images, which controls execution of one or more piping applications. At least one piping application corresponding to at least one operating system image writes data to a shared pipe located in the external shared memory and at least one other application corresponding to one or more other operating system images reads data from the same shared pipe, thereby providing cross-system data piping.
    Type: Grant
    Filed: April 30, 1997
    Date of Patent: January 2, 2001
    Assignee: International Business Machines Corporation
    Inventors: Roman A. Bobak, Scott Brady Compton, Jon K. Johnson, Alan F. Martens, Max M. Maurer, David Lee Meck, William R. Richardson, Michael Allen Wright
  • Patent number: 6157380
    Abstract: In transferring a user application from an original user environment to a new user environment by dragging and dropping a graphical image representative of the user application, a new object or "shadow part" is automatically created in the new user environment with the same attributes as the user application in the original user environment. The new object also inherits the characteristics of other objects in the new user environment. The new object may optionally be linked to the original user application so that setting changes in one user environment are reflected in the other.
    Type: Grant
    Filed: November 5, 1996
    Date of Patent: December 5, 2000
    Assignee: International Business Machines Corporation
    Inventors: Paul W. Bennett, Sheila A. Harnett, Deepa S. Desai, Salil J. Kulkarni, Ann M. Robinson, Duane S. Wood
  • Patent number: 6098089
    Abstract: Architectural support for generation isolation is provided through trapping of intergenerational pointer stores. Identification of pointer stores as intergenerational is performed by a store barrier responsive to an intergenerational pointer store trap matrix that is programmably encoded with store target object and store pointer data generation pairs to be trapped. The write barrier and intergenerational pointer store trap matrix provide a programmably-flexible definition of generation pairs to be trapped, affording a garbage collector implementer with support for a wide variety of generational garbage collection methods, including remembered set-based methods, card-marking type methods, write barrier based copying collector methods, etc., as well as combinations thereof and combinations including train algorithm type methods to managing mature portions of a generationally collected memory space.
    Type: Grant
    Filed: April 23, 1997
    Date of Patent: August 1, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: James Michael O'Connor, Marc Tremblay, Sanjay Vishin
  • Patent number: 6016514
    Abstract: A method and apparatus for implementing generic factories which are used to create objects in a distributed object-oriented programming environment. This method and apparatus are applicable to the Object Management Group (OMG) CORBAservices GenericFactory interface. A create.sub.-- object method implementation is subdivided into its' elemental parts, specifically finding an appropriate factory, interacting with that factory to create the object, and initializing an object. New operations are introduced which support each of these elemental parts. This allows implementations of GenericFactories to have a higher degree of reuse then when the standard interfaces are used as is.
    Type: Grant
    Filed: October 31, 1996
    Date of Patent: January 18, 2000
    Assignee: International Business Machines Corporation
    Inventors: Kimberly Ann Cink, Russell Ley Newcombe