Patents Examined by St. John Courtenay, III
  • Patent number: 6658490
    Abstract: The present invention provides a method and system for multi-threaded processing that is an improvement over conventional systems. The system of the present invention comprises multiple threads of execution, multiple apartments, shared data, and a concurrency management component. The threads of execution run independently and each occupy one apartment. The apartments contain objects that have methods to perform operations. The shared data contains data that is accessible by all threads within the process. The concurrency management mechanism performs processing so that the multiple threads can execute concurrently in a reliable and robust manner. In an alternative system of the present invention, the threads are separate from the apartments and the threads execute within the apartments to perform processing. After performing the processing, the thread exits the apartment so that the apartment may be occupied by another thread.
    Type: Grant
    Filed: June 8, 1999
    Date of Patent: December 2, 2003
    Assignee: Microsoft Corporation
    Inventors: Antonty S. Williams, Alexander A. Mitchell, Robert G. Atkinson, C. Douglas Hodges, Johann Posch, Craig H Wittenberg
  • Patent number: 6658487
    Abstract: A Distributed Object System includes an Event Collection Mechanism (14) which receives information on the creation, deletion and actuation of objects within the system. The Event Collection Mechanism passes on the collected events to an Event Dispatch Mechanism (16) with which user applications may register. The Event Dispatch Mechanism forwards details of events to the User Applications, according to the criteria selected by the user. A method is provided for linking all reported events back to the object which was ultimately responsible for their creation.
    Type: Grant
    Filed: March 13, 1999
    Date of Patent: December 2, 2003
    Assignee: British Telecommunications public limited company
    Inventor: Christopher Smith
  • Patent number: 6654781
    Abstract: A method and implementing computer system is provided for the creation of large numbers of threads in a computer system. An exemplary embodiment supports up to sixteen segments in memory of thread private data for each process or application program running on the system. Each segment contains support for 2K threads. These segments are identified in process' user structure which is located in the process private data segment of memory allowing cleanup collection on a per-segment basis. The thread's private data is composed of two parts, viz. its private kernel thread stack (96K) and uthread data structure. The uthread contains the individual data fields that are referenced only by the thread, including the register save area for the thread.
    Type: Grant
    Filed: December 11, 1998
    Date of Patent: November 25, 2003
    Assignee: International Business Machines Corporation
    Inventor: Luke Matthew Browning
  • Patent number: 6651104
    Abstract: The present invention describes an apparatus for interconnecting hardware of an electronic device with application programs for controlling the electronic device. The apparatus is divided into three separate layers. The first layer interfaces the apparatus to the hardware of an electronic device and independently controls the hardware interface protocols necessary for interconnecting the apparatus with the hardware of an electronic device. A second layer interfaces the apparatus to application programs for controlling the electronic device. The second layer independently controls the software interface protocols necessary for interconnecting the apparatus with application programs for controlling the electronic device. A router layer routes data between the first and second layers or between independently created objects located within the first and second layers.
    Type: Grant
    Filed: November 12, 1996
    Date of Patent: November 18, 2003
    Assignee: Ericsson Inc.
    Inventor: Billy Gayle Moon
  • Patent number: 6647432
    Abstract: A Distributed Framework Intertask Communication Method and Apparatus providing a method for communicating between applications using an extensible communication protocol with an intuitive user interface allowing the user to easily visualize and control the connectivity between applications. The user transmits an interest object associated with an event from a first application to a server. The server then retransmits that interest object to a second application. When the second application practices that event, information concerning the practice of that event is transmitted directly from the second application to the first application without routing that event information through the server.
    Type: Grant
    Filed: December 4, 1996
    Date of Patent: November 11, 2003
    Assignee: GeoQuest, a division of Schlumberger Technology Corporation
    Inventors: Shamim Ahmed, Serge J. Dacic
  • Patent number: 6643708
    Abstract: Systems, methods and computer program products are provided for using fully qualified universal resource locators (URLs) to chain together servlets across multiple remotely located Java® Virtual Machines (JVMs) in a network in order to implement application partitioning across the network. Each servlet in a chain is configured to perform a respective processing task using a response from a preceding servlet in the chain. A fully qualified URL includes an identification of a host computer, an identification of a filter within the host computer, and an identification of a servlet residing within the host computer.
    Type: Grant
    Filed: October 29, 1998
    Date of Patent: November 4, 2003
    Assignee: International Business Machines Corporation
    Inventors: Arthur R. Francis, Donald Washburn
  • Patent number: 6643711
    Abstract: Apparatus, and computer program products are disclosed for constructing dispatch tables. In one embodiment of the present invention, the decision to allocate a new dispatch table entry is sensitive to the accessibility of a class. A dispatch table and dispatch table construction process is described in which the entries for a Vtable are determined such that conflicts between accessibility and class hierarchy are avoided. In particular, a dispatch table and dispatch table construction process is described which takes a method's accessibility and package status into consideration in determining the proper overriding semantics and table building techniques. The dispatch table may have more than one distinct entry for a method.
    Type: Grant
    Filed: March 19, 2002
    Date of Patent: November 4, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Gilad Bracha, Deepa Viswanathan
  • Patent number: 6643679
    Abstract: A preprocessing DLL which may be appended to a service request for transfer to a gateway that runs within a Distributed Component Object Model (DCOM) environment, and is capable of receiving requests from one or more different types of DCOM clients for service by an On-Line Transaction Processing (OLTP) style application running on an enterprise server. The services on the OLTP system are designed to accomplish a specific task, for example, update a user's bank account balance following a debit or credit. In a preferred embodiment, the OLTP system is X/Open compliant. The DCOM Client can be any type of client, including a Visual Basic client, C++ client, or a Web Browser with Active Server Pages (ASP). The preprocessing DLL permits the efficient web server side preprocessing of data associated with the service request before the service request is transferred to and honored by the enterprise OLTP system.
    Type: Grant
    Filed: May 12, 1999
    Date of Patent: November 4, 2003
    Assignee: Unisys Corporation
    Inventors: Joey L. Erickson, Scott L. Rappa, Jeremy A. Freed
  • Patent number: 6643680
    Abstract: In a signal processing system, a plurality of mutually different applications are simultaneously executed. In the system, combinations of applications are predetermined as application patterns according to a given condition, and a processing operation for each application pattern is stored on a table as an operation pattern. Upon an occurrence of change in combination, the operation pattern is determined by referring to the table so that calculation burden in the system can be reduced.
    Type: Grant
    Filed: May 26, 1998
    Date of Patent: November 4, 2003
    Assignee: NEC Electronics Corporation
    Inventors: Miki Kato, Emi Kakisada
  • Patent number: 6643712
    Abstract: A method is provided to overcome excess code development associated with developing device drivers that are hierarchically related and provides standardization to driver developers by listing in the private area of a device object types of file objects, including specific IRP handlers associated therewith, that may be created under that device object to thereby provide a device object context. In like manner, each file object has listed in the private area types of other file objects, again including specific IRP handlers associated therewith, that may be created under that particular file object to thereby provide a file object context. The default handler for a driver object points to a multiplexing function that processes an incoming IRP based on the available context information to “route” the IRP to the appropriate handler. Each file object has reference to a plurality of dispatch function references that are used by the IRP handlers to fulfill a particular request.
    Type: Grant
    Filed: January 20, 2000
    Date of Patent: November 4, 2003
    Assignee: Microsoft Corporation
    Inventors: George H. J. Shaw, Bryan A. Woodruff
  • Patent number: 6636883
    Abstract: The invention improves communications between a queuing process and a dequeuing process. Elements are linked and unlinked from the queue using a special locking instruction that guarantees serialized operations. The queue structure includes a synchronization field that is used to pass information between the queuing process and the dequeuing process and which is also used by the locking instruction to guarantee serialized operation. The dequeuing process writes information into the synchronization field for the queuing process. The queuing process reads and acts on the information in the synchronization field. In the preferred embodiment, the information passed between the queuing and dequeuing processes allows the processes to control the initiation and termination of dequeuing processes. When the dequeuing process removes an element from the queue, it sets the synchronization field to a first or second state, depending on whether the queue is empty or not empty, respectively.
    Type: Grant
    Filed: February 22, 1999
    Date of Patent: October 21, 2003
    Assignee: International Business Machines Corporation
    Inventor: Edward Zebrowski, Jr.
  • Patent number: 6636900
    Abstract: A method and apparatus for developing, distributing, and executing workers (e.g., objects) of an application in a client computer and over a network of computers in a manner that is hidden to a user or programmer. The workers may be distributed to any computer (e.g., server computer) in the network and can be located by a requesting computer (e.g., client computer). The distributed workers may be executed locally or remotely to produce an output value for use in a requesting computer application. Interprocess communications between the requesting computer and other network computers are hidden to a client computer user.
    Type: Grant
    Filed: June 29, 1998
    Date of Patent: October 21, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Alejandro H. Abdelnur
  • Patent number: 6636901
    Abstract: System resources are automatically assigned by a single resource conflict resolver to all functions on expansion buses in a computer system. Such system resources include, but are not limited to, memory ranges, input-output (I/O) register ranges, interrupt request lines and direct memory access (DMA) channels. Generally, the assignment is exclusive, however, in some cases, the assignment may be shared so that one or more resources will be shared between different functions. In order to prevent contention between two functions for the same resource, classes are provided which classes can be instantiated to construct resource lock objects. The resource lock objects provide an access control mechanism to synchronize access to the resources among the devices that use and, possibly, share the resources. The lock object contains methods which retrieve the resource assignments for an I/O function and acquire a lock on the resources.
    Type: Grant
    Filed: January 30, 1998
    Date of Patent: October 21, 2003
    Assignee: Object Technology Licensing Corp.
    Inventors: Erath Unikat Sudhakaran, Glenn P. Andert
  • Patent number: 6633923
    Abstract: A computer implemented method of creating and managing one or more interceptors. The method comprises the steps of intrinsically chaining the interceptors, and storing state information, in at least one of the chained interceptors, directed to a reference to the next interceptor. A server computer in a client-server environment that includes a processor configured to generate one or more interceptors and to intriscally chain the interceptors, and a memory associated with at least one of the chained interceptors and configured to store state information directed to a reference to the next interceptor thereof.
    Type: Grant
    Filed: December 18, 2001
    Date of Patent: October 14, 2003
    Assignee: IONA Technologies Inc.
    Inventors: Robert A Kukura, Ryan Craig, Matthew A Mihic
  • Patent number: 6633922
    Abstract: This present invention incorporates the benefits of the function shipping, page shipping and class shipping remote object access models into a single, industry standard programming model. The fundamental mechanism of the present invention is an underlying shipper mechanism, which dynamically selects and updates the remote object access method being employed for any given access based on the most desirable method available at the time of the object access. The shipper mechanism dynamically decides which underlying access mechanism to use based on (1) object access policy rules, and (2) system operational loads and network traffic heuristics. The shipper is further capable of transparently switching from one access model to another while an object access is on-going.
    Type: Grant
    Filed: December 15, 1997
    Date of Patent: October 14, 2003
    Assignee: International Business Machines Corporation
    Inventors: Anthony Edward Brock, Steven Jay Munroe
  • Patent number: 6631512
    Abstract: A system and method for Web page development, deployment, download, and execution include and utilize a Web page development computer (110), a server computer (140), and a client computer (170). Development computer initializes (301) a page development tool which a developer uses to create a Web page document by placing components (320) on a Web page (220), whereupon the tool incorporates (324) executable code into the Web page document. Server computer stores the Web page document and, upon client computer request, retrieves (714) and sends (716) the Web page document to client computer. Client computer receives the Web page document and displays the corresponding Web page. If the Web page includes a database-related component, client computer requests (1030) data from server computer. After receiving (1032) the corresponding data, the data is displayed (1032) within the database-related component, and state variables are stored (1034) for later use.
    Type: Grant
    Filed: January 15, 1999
    Date of Patent: October 7, 2003
    Inventor: Gillis E Onyeabor
  • Patent number: 6631424
    Abstract: A method is provided for use in distributing information (e.g., World-Wide Web pages) using a computer. Based on a request (e.g., a URL-based request) for the information, a remote function call (e.g., an RPC call) is selected to direct to a source (e.g., an application server) of the information. A predefined set of multiple requests (e.g., for creating a “frames” display) may include the request. Based on the request, a data object (e.g., including a URL from the request) may be created, and the data object may be made available to the source of the information. The remote function call may be made across a function call bridge (e.g., formed by RPC client and server software). Static or dynamic data may be provided. An operating system function may be invoked.
    Type: Grant
    Filed: September 10, 1997
    Date of Patent: October 7, 2003
    Assignee: FMR Corp.
    Inventors: John C. McDonough, Michael P. Amatucci, Louis A. Iannucci, David M. Ingham, Thiagarajan Saravanan
  • Patent number: 6631423
    Abstract: A system for identification and assessment of performance optimizations implemented in the graphics environment, the identification and assessment of the performance optimizations based upon an optimized graphics call sequence generated by an application of one or more optimizations applied to a captured graphics call sequence occurring between said first and second drivers. The resulting optimized graphics call sequence causes the same graphics rendering to occur when provided to the graphics system as the original graphics call sequence. As such, the graphics application and associated graphics interface driver may then be analyzed by the application developer to identify specific modifications which, when implemented, would generate such an optimized graphics call sequence. This may include implementing specific modifications to the graphics application as well as implementing portions or all of the present invention into the driver for real-time execution.
    Type: Grant
    Filed: March 31, 1998
    Date of Patent: October 7, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: John M. Brown, Don W. Dyer, Gautam Mehrotra, Carol L. Lang
  • Patent number: 6631395
    Abstract: A server for use in a client/server computing system which coordinates the processing of distributed transactions in the client/server computing system, the server has: a means for sending requests for votes to each resource which has been called by the server to take part in a distributed transaction; a means for receiving votes from each resource in response to having sent requests for votes; a means for determining whether any of the resources has thrown an exception instead of returning a vote; and a means for assigning a programmed direction as a vote to a resource which has thrown an exception to complete the transaction if it is determined that a resource has thrown an exception instead of returning a vote.
    Type: Grant
    Filed: April 23, 1998
    Date of Patent: October 7, 2003
    Assignee: International Business Machines Corporation
    Inventor: Amanda Elizabeth Chessell
  • Patent number: 6631394
    Abstract: An embedded system (1) comprising at least one processor (2) for running an operating system (OS_A, OS_B). The embedded system (1) further comprises: means (17, 401, 412) for running at least two operating systems (OS_A, OS_B) in said processor (2), a first operating system (OS_A) comprising a first group of threads (THA1, THA2, THA_IDLE), a second operating system (OS_B) comprising a second group of threads (THB1, THB2, THB_IDLE), means (nFIQ, nIRQ, SWI) for generating an interrupt (FIQ, IRQ, SWI) to said processor (2), means for examining (401, 603, 617) to the execution of which thread (THA1, THA2, THB1, THB2, THA_IDLE, THB_IDLE) the interrupt (FIQ, IRQ, SWI), that has come to the processor (2), affects, and means (401, 412, 603, 609, 617) for transmitting interrupt data to said operating system (OS_A, OS_B) which relates to the thread (THA1, THA2, THB1, THB2, THA_IDLE, THB_IDLE) affecting the interrupt (FIQ, IRQ, SWI) received by the processor (2).
    Type: Grant
    Filed: January 20, 1999
    Date of Patent: October 7, 2003
    Assignee: Nokia Mobile Phones Limited
    Inventors: Risto Rönkkä, Vesa Saarinen, Janne Kantola, Jyrki Leskelä, Kim Lempinen, Anu Purhonen