Patents Examined by St. John Courtenay, III
-
Patent number: 6658490Abstract: 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: GrantFiled: June 8, 1999Date of Patent: December 2, 2003Assignee: Microsoft CorporationInventors: Antonty S. Williams, Alexander A. Mitchell, Robert G. Atkinson, C. Douglas Hodges, Johann Posch, Craig H Wittenberg
-
Patent number: 6658487Abstract: 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: GrantFiled: March 13, 1999Date of Patent: December 2, 2003Assignee: British Telecommunications public limited companyInventor: Christopher Smith
-
Patent number: 6654781Abstract: 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: GrantFiled: December 11, 1998Date of Patent: November 25, 2003Assignee: International Business Machines CorporationInventor: Luke Matthew Browning
-
Patent number: 6651104Abstract: 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: GrantFiled: November 12, 1996Date of Patent: November 18, 2003Assignee: Ericsson Inc.Inventor: Billy Gayle Moon
-
Patent number: 6647432Abstract: 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: GrantFiled: December 4, 1996Date of Patent: November 11, 2003Assignee: GeoQuest, a division of Schlumberger Technology CorporationInventors: Shamim Ahmed, Serge J. Dacic
-
Patent number: 6643708Abstract: 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: GrantFiled: October 29, 1998Date of Patent: November 4, 2003Assignee: International Business Machines CorporationInventors: Arthur R. Francis, Donald Washburn
-
Patent number: 6643711Abstract: 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: GrantFiled: March 19, 2002Date of Patent: November 4, 2003Assignee: Sun Microsystems, Inc.Inventors: Gilad Bracha, Deepa Viswanathan
-
Patent number: 6643679Abstract: 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: GrantFiled: May 12, 1999Date of Patent: November 4, 2003Assignee: Unisys CorporationInventors: Joey L. Erickson, Scott L. Rappa, Jeremy A. Freed
-
Patent number: 6643680Abstract: 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: GrantFiled: May 26, 1998Date of Patent: November 4, 2003Assignee: NEC Electronics CorporationInventors: Miki Kato, Emi Kakisada
-
Patent number: 6643712Abstract: 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: GrantFiled: January 20, 2000Date of Patent: November 4, 2003Assignee: Microsoft CorporationInventors: George H. J. Shaw, Bryan A. Woodruff
-
Patent number: 6636883Abstract: 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: GrantFiled: February 22, 1999Date of Patent: October 21, 2003Assignee: International Business Machines CorporationInventor: Edward Zebrowski, Jr.
-
Patent number: 6636900Abstract: 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: GrantFiled: June 29, 1998Date of Patent: October 21, 2003Assignee: Sun Microsystems, Inc.Inventor: Alejandro H. Abdelnur
-
Patent number: 6636901Abstract: 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: GrantFiled: January 30, 1998Date of Patent: October 21, 2003Assignee: Object Technology Licensing Corp.Inventors: Erath Unikat Sudhakaran, Glenn P. Andert
-
Patent number: 6633923Abstract: 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: GrantFiled: December 18, 2001Date of Patent: October 14, 2003Assignee: IONA Technologies Inc.Inventors: Robert A Kukura, Ryan Craig, Matthew A Mihic
-
Patent number: 6633922Abstract: 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: GrantFiled: December 15, 1997Date of Patent: October 14, 2003Assignee: International Business Machines CorporationInventors: Anthony Edward Brock, Steven Jay Munroe
-
Patent number: 6631512Abstract: 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: GrantFiled: January 15, 1999Date of Patent: October 7, 2003Inventor: Gillis E Onyeabor
-
Patent number: 6631424Abstract: 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: GrantFiled: September 10, 1997Date of Patent: October 7, 2003Assignee: FMR Corp.Inventors: John C. McDonough, Michael P. Amatucci, Louis A. Iannucci, David M. Ingham, Thiagarajan Saravanan
-
Patent number: 6631423Abstract: 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: GrantFiled: March 31, 1998Date of Patent: October 7, 2003Assignee: Hewlett-Packard Development Company, L.P.Inventors: John M. Brown, Don W. Dyer, Gautam Mehrotra, Carol L. Lang
-
Patent number: 6631395Abstract: 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: GrantFiled: April 23, 1998Date of Patent: October 7, 2003Assignee: International Business Machines CorporationInventor: Amanda Elizabeth Chessell
-
Patent number: 6631394Abstract: 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: GrantFiled: January 20, 1999Date of Patent: October 7, 2003Assignee: Nokia Mobile Phones LimitedInventors: Risto Rönkkä, Vesa Saarinen, Janne Kantola, Jyrki Leskelä, Kim Lempinen, Anu Purhonen