Patents Examined by Majid A. Banankhah
-
Patent number: 6625639Abstract: A clustered computer system includes multiple computer systems (or nodes) on a network that can become members of a group to work on a particular task. Each node includes group state data that represents the status of all members of the group. A group state data update mechanism in each node updates the group state data at acknowledge (ACK) rounds, so that all the group state data in all nodes are synchronized and identical if all members respond properly during the ACK round. Each node also includes a main thread and one or more work threads. The main thread receives messages from other computer systems in the group, and routes messages intended for the work thread to either a response queue or a work queue in the work thread, depending on the type of the message. If the message is a response to a currently-executing task, the message is placed in the response queue. Otherwise, the message is placed in the work queue for processing at a later time.Type: GrantFiled: November 12, 1999Date of Patent: September 23, 2003Assignee: International Business Machines CorporationInventors: Robert Miller, Vicki Lynn Morey, Kiswanto Thayib, Laurie Ann Williams
-
Patent number: 6622155Abstract: A system and method is disclosed for synchronizing threads of execution within a distributed computing environment. Threads of execution within a computer spawn additional threads of execution on separate computers within the distributed computing environment. Each thread may compete for shared resources within the computing environment, thereby creating a need to avoid deadlocks among the local threads. Whereas locals thread exists within a single computing platform, logical threads are created to relate local threads to each other and thereby span the platforms on which the local threads reside. Distributed monitors are created to control access to shared resources by local threads based on logical thread affiliations. Locks within the distributed monitors are assigned to logical threads instead of local threads. Local threads that are each part of the same logical thread will all have access to the shared resource when the lock is assigned to the logical thread.Type: GrantFiled: November 24, 1998Date of Patent: September 16, 2003Assignee: Sun Microsystems, Inc.Inventors: Bruce Kenneth Haddon, William Hayden Connor
-
Patent number: 6615243Abstract: A system for programming/controlling various audio/video devices coupled to one another via a bus structure, through the use of a single macro key utilizes an addressing structure. Each various audio/video device includes memory and a processor/controller for the memory and bus management. The memory is divided into master data memory and slave data memory depending on the role of the audio/video device. Data transfer over the bus only contains dummy numbers that are used as macro command addresses, with the macro data itself processed and stored in the various audio/video device. This eliminates the need to store the different commands of the various audio/video devices in the device chosen to initiate the macro. For each macro, one audio/video device is the master device while the remaining audio/video devices are slaves.Type: GrantFiled: April 1, 1999Date of Patent: September 2, 2003Assignee: Thomson Licensing S.A.Inventors: Magdy Megeid, Robert Freudenmann
-
Patent number: 6615245Abstract: A system and method for enabling a hierarchal collaboration of devices across a common communication channel, e.g., the Internet. Embodiments of the present invention define a plurality of devices, e.g., computer systems operating as servers. Each device is capable of receiving one or more inquiries from at least one user and locally providing data in response to such inquiries. However, when the locally available data is not responsive to the user's inquiry, the inquiry is redirected to another device that has responsive data and the response is received therefrom. In accordance with a significant feature of a preferred embodiment, a common resource exchange stores status data corresponding to each device. This status data, e.g., data corresponding to the ability and availability of each device to provide a response, is used to determine where (to which device) the inquiry is redirected.Type: GrantFiled: April 6, 1999Date of Patent: September 2, 2003Inventors: Michael E. McFall, Carl Sturmer, Kelly Graves
-
Patent number: 6615231Abstract: The present invention provides for directing requests to specific processing using an inclusion list. The inclusion list contains a list of methods that an associated process, program, or module is capable of executing. A request contains at least a method and a resource. A server, upon receiving the request, identifies the process module or handler that is associated with the resource by the file extension of the resource. After the process is identified, an inclusion list is examined to determine if the process is capable of performing the identified method. If the method is listed in the inclusion list, then processing is directed to the identified process, which performs the indicated method with regard to the identified resource. If the method is not listed in the inclusion list, then control of the request is not provided to the process.Type: GrantFiled: December 15, 1999Date of Patent: September 2, 2003Assignee: Microsoft CorporationInventors: Brian J. Deen, Van C. Van, Henry L. Sanders
-
Patent number: 6609098Abstract: An airline travel planning system is described. The system includes a server computer executing a server process including a search process to search for set of pricing solutions in accordance with at least one destination and at least one origin. The search process represents the set of pricing solutions in the form of a directed acyclic graph. The system also includes a client computer executing a client process on the set of pricing solutions. The client process has a manipulation process that manipulates the set of pricing solutions in response to user preferences.Type: GrantFiled: July 2, 1998Date of Patent: August 19, 2003Assignee: ITA Software, Inc.Inventor: Carl G. DeMarcken
-
Patent number: 6604150Abstract: A computerized method for dynamically extending a main application comprising a first user-interface-control by at least one supplementary application is proposed. The method comprises a first-step of monitoring system-messages of a system-message-queue and determines if a monitored system-messages comprises a user-interaction-request for creating said first user-interface-control of said main application. In the affirmative case, an indicator is set that said user-interaction-request for creating said first user-interface-control has been detected. Said method comprises a second-step monitoring application-messages of an application-message-queue and associates in response to setting said indicator the next one or multitude of application-message with said monitored system-message.Type: GrantFiled: January 5, 2000Date of Patent: August 5, 2003Assignee: International Business Machines CorporationInventors: Alexander Gebhart, Dieter Gottschall, Juergen Jung, Silke Wastl
-
Patent number: 6604122Abstract: A database processing request is performed by distributed processes. Each of the distributed processes involved in the task performs some data processing function and includes process identifying information along with a substantive task message to another process. Ultimately, messages along with the identifying information reach a controlling process which then deduces from that identifying information whether all of the messages from all processes involved in the task have completed their part of the task. If it deduces they have, the task is complete.Type: GrantFiled: November 3, 1998Date of Patent: August 5, 2003Assignee: Telefonaktiebolaget LM Ericsson (publ)Inventor: Hans Nilsson
-
Patent number: 6604123Abstract: A computer operating system in which transfer of control of executing threads between protection domains is implemented using specific portals dedicated to the particular transfer of control between two protection domains. The transfer of control may also include parameter manipulation. A server registers a portal specification with a portal manager, the portal specification defining the behavior of portals which transfer control to the server. Thereafter, when a client application desires service from the server, the client application requests instantiation of a portal which will transfer control of an execution thread from the client application protection domain to the server protection domain. Upon receipt of the request, the portal manager dynamically generates portal code and updates a portal table associated with the client application, thus instantiating the portal.Type: GrantFiled: May 13, 1999Date of Patent: August 5, 2003Assignee: Lucent Technologies Inc.Inventors: John Louis Bruno, Jose' Carlos Brustoloni, Eran Gabber, Abraham Silberschatz, Christopher Allen Small
-
Patent number: 6604125Abstract: Executing a thread unaware or non-thread-safe application in a multi-threaded environment is potentially hazardous. If multiple instances of the thread unaware application are executed concurrently in the same process space, as may be the case in a multi-threaded environment, one instance may try to modify or overwrite the information used by the other instance, which can lead to serious errors. To enable a thread unaware application to be executed safely in a multi-threaded environment, multiple thread pools are implemented. That is, for each thread-unaware or non-thread-safe application, a separate thread pool is defined and associated with the application. Unlike other thread pools, though, this thread pool has its maximum number of threads parameter set to “1”. By limiting the number of threads in the pool to 1, it is guaranteed that there will be no more than one instance of the thread unaware application executing at any one time.Type: GrantFiled: May 19, 2000Date of Patent: August 5, 2003Assignee: Sun Microsystems, Inc.Inventor: Ruslan Belkin
-
Patent number: 6601083Abstract: A multitasking data processing system having a plurality of tasks and a shared resource and a method of controlling allocation of shared resources within a multitasking data processing system are disclosed. In response to a resource request for a portion of a shared resource by a particular task among the plurality of tasks, a determination is made whether or not granting the resource request would cause a selected level of resource allocation to be exceeded. In response to a determination that granting the resource request would not cause the selected level of resource allocation to be exceeded, the resource request is granted. However, in response to a determination that granting the resource request would cause the selected level of resource allocation to be exceeded, execution of the particular task is suspended for a selected penalty time. In one embodiment of the present invention, the shared resource is a memory.Type: GrantFiled: August 29, 1996Date of Patent: July 29, 2003Inventor: Frederick John Reznak
-
Patent number: 6598171Abstract: The present invention includes a memory subsystem comprising at least two semiconductor devices, including at least one memory device, connected to a bus, where the bus includes a plurality of bus lines for carrying substantially all address, data and control information needed by said memory devices, where the control information includes device-select information and the bus has substantially fewer bus lines than the number of bits in a single address, and the bus carries device-select information without the need for separate device-select lines connected directly to individual devices. The present invention also includes a protocol for master and slave devices to communicate on the bus and for registers in each device to differentiate each device and allow bus requests to be directed to a single or to all devices. The present invention includes modifications to prior-art devices to allow them to implement the new features of this invention.Type: GrantFiled: March 28, 1997Date of Patent: July 22, 2003Assignee: Rambus Inc.Inventors: Michael Farmwald, Mark Horowitz
-
Patent number: 6594698Abstract: A method, apparatus, and article of manufacture for dynamically binding shared resources among I/O nodes is disclosed. The method comprises the steps of de-allocating resources requested by an initiating node from a responding node, allocating resources not requested by the initiating node and reachable by the responding node to the responding node, de-allocating resources allocated to the second node from the first node, and allocating unallocated resources reachable by the first node to the first node. The article of manufacture comprises a program storage device tangibly embodying program steps executable by a computer for performing the foregoing method steps. The apparatus comprises a data storage resource having a plurality of storage resources, a first I/O node and a second I/O node.Type: GrantFiled: September 25, 1998Date of Patent: July 15, 2003Assignee: NCR CorporationInventors: Kit M. Chow, Niels Haahr Hornekær, Morten Skøien With
-
Patent number: 6594683Abstract: Apparatus, methods, and computer program products are disclosed that improve the performance of multi-threaded computer applications that use objects (within an object collection) which require exclusive thread access. The invention monitors interrelationships between the objects in the object collection and provides mechanisms to lock the minimal set of these objects for the exclusive thread access. When these objects are locked, independent or unrelated objects are left unlocked and can, in turn, be locked by other threads. Because a minimal set of objects are locked other threads that access the object collection are less likely to be blocked by the lock. Thus, these other threads are more likely to be able to simultaneously access objects in the object collection.Type: GrantFiled: September 16, 1999Date of Patent: July 15, 2003Assignee: Sun Microsystems, Inc.Inventors: John L. Furlani, Alexander R. Ohlson
-
Patent number: 6591279Abstract: A method, apparatus, and article of manufacture for providing computer-based notifications of real world events over a network. The system includes client computers, proxy server computers, and device server computers. The proxy server computer receives notification profiles including both sensor conditions and associated actions from the client computers. The notification profiles are then stored in a user and profile database on the proxy server computer. The proxy server computer receives an indication from a sensor that a real world event has occurred, and then matches the received indication against the sensor conditions in the stored notification profiles. The associated actions are performed in response to a match between the received indication and the sensor conditions, wherein the associated actions include transmitting a notification message to one or more of the client computers and the notification message includes a digital image of the real world event.Type: GrantFiled: April 23, 1999Date of Patent: July 8, 2003Assignee: International Business Machines CorporationInventors: Michael Lawrence Emens, Reiner Kraft, Neelakantan Sundaresan
-
Patent number: 6587865Abstract: In a computer system, a method and apparatus for scheduling activities' access to a resource with minimal involvement of the kernel of the operating system. More specifically, a “next bid” is maintained, and this parameter identifies the highest bid for the resource by any activity not currently accessing the resource. The accessing activity then compares its bid, which can be time varying, with the “next bid” to determine whether it should release the resource to another activity. The “next bid” can be accessed without any system calls to the operating system. This allows the activity to determine whether to relinquish control to the system without the necessity of communication between the two. Likewise, the operating system can access the bid of the accessing activity without explicit communication. This allows the system to determine whether to preempt the accessing activity without the necessity of communication between the two.Type: GrantFiled: September 21, 1998Date of Patent: July 1, 2003Assignee: International Business Machines CorporationInventors: Tracy Jay Kimbrel, Marc Alan Auslander, David Joel Edelsohn, Hubertus Franke, Orran Yaakov Krieger, Bryan Savoye Rosenburg, Robert William Wisniewski
-
Patent number: 6584487Abstract: A method, system, and apparatus for loading and managing tasks within a process instance on a computer system. The present embodiment novelly distinguishes groups of threads as a task and manages the execution of the threads in the task in the manner specified in a configuration file. The configuration file contains names of tasks and configuration information associated with each task. For example the order of execution of tasks may be defined to depend on the progress of the execution, such as the state, of one or more other tasks. The termination of a single task or multiple tasks may be managed by the present embodiment. The output from a task may be directed to a computer-based input/output (I/O) device, such as a monitor, or to a file, or may be discarded.Type: GrantFiled: November 16, 1999Date of Patent: June 24, 2003Assignee: Hewlett-Packard Development Company, L.P.Inventor: Michael L. Saboff
-
Patent number: 6584498Abstract: The invention provides a method and system for dynamic preloading of web pages. In a system having a page server for transmitting pages upon request and a page client (or “web browser”) for requesting pages and presenting those pages to an operator, the page client dynamically identifies links subsequent to the loaded page and preloads pages identified by those links for subsequent presentation to the operator, so that the preloaded pages are preloaded dynamically in response to operator selections and are available for presentation to the operator when ultimately selected.Type: GrantFiled: September 13, 1996Date of Patent: June 24, 2003Assignee: Planet Web, Inc.Inventor: Julien Tan Nguyen
-
Patent number: 6584489Abstract: A method and system for scheduling the use of a computer system resource using a resource planner and a resource provider are provided. In a preferred embodiment, a resource is scheduled for use by a plurality of consumer entities. Each consumer entity may request the commitment of a share of the resource. The method and system use representations of resource usage policy, present commitments of shares of the resource, and present commitments of specified amounts of the resource over a specified period of time. The method and system first receive a request from a consumer entity for the commitment of a specified share of the resource. In response, the method and system determine whether the specified share of the resource should be committed to the requesting consumer entity. This determination is based on the representations of resource usage policy and present commitments of shares of the resource.Type: GrantFiled: March 11, 1998Date of Patent: June 24, 2003Assignee: Microsoft CorporationInventors: Michael B. Jones, Paul J. Leach, Richard P. Draves, Jr., Joseph S. Barrera, III, Steven P. Levi, Richard F. Rashid, Robert P. Fitzgerald
-
Patent number: 6581088Abstract: A clustered enterprise Java™ distributed processing system is provided. The distributed processing system includes a first and a second computer coupled to a communication medium. The first computer includes a Java™ virtual machine (JVM) and kernel software layer for transferring messages, including a remote Java™ virtual machine (RJVM). The second computer includes a JVM and a kernel software layer having a RJVM. Messages are passed from a RJVM to the JVM in one computer to the JVM and RJVM in the second computer. Messages may be forwarded through an intermediate server or rerouted after a network reconfiguration. Each computer includes a Smart stub having a replica handler, including a load balancing software component and a failover software component. Each computer includes a duplicated service naming tree for storing a pool of Smart stubs at a node. The computers may be programmed in a stateless, stateless factory, or a stateful programming model.Type: GrantFiled: September 23, 1999Date of Patent: June 17, 2003Assignee: Beas Systems, Inc.Inventors: Dean B. Jacobs, Eric M. Halpern