Home | Links | Contact Us | More About Intellectual Property | Bookmark
Search patents:
Home Databases Method-and-apparatus-for-implementing-a-shared-message-queue-using-a-list-structure

 Method and apparatus for providing a highly interactive transaction environment in a distributed network
In one embodiment of the invention, in a multithreaded computing environment, a platform ...


 Intelligent agent with negotiation capability and method of negotiation therewith
OF THE ILLUSTRATED EMBODIMENTS Turning to the Drawing, wherein like parts are denoted by like ...


 Method and system for forecasting events and threats based on geospatial modeling
The present invention provides a forecasting engine and method which assists in forecasting ...


 Methods, apparatus, and articles of manufacture for analyzing memory use
Systems, methods, and articles of manufacture consistent with the present invention track accesses ...


 Method and system for report presentation and navigation in a computer system
The present invention is a method and system for report presentation and navigation in a computer ...


 Web based data mining and location data reporting and system
The database reporting and data mining system that is the subject of this invention is implemented, ...


 Fast refresh of snapshots
One aspect of the invention is a method of refreshing a snapshot defined by a snapshot definition ...


 Document management system for automating operations performed on documents in data storage areas
In accordance with the present invention, there is provided a document management system with an ...


 Method and apparatus for providing multi-level searching in an electronic book
What is claimed is: 1. In a method for providing user access to stored textual information in a ...


 Detection of cholesterol deposits in arteries
According to the present invention, a 5 MHz ultrasonic beam is directed from a transmitting ...


 Method and apparatus for implementing a shared message queue using a list structure

Details
Inventors: Elko, David A.; Dievendorff, Richard; Flaherty, Dermot J.; Nick, Jeffrey M.; Surman, David H.; Warnes, James H.; Westcott, Douglas W.;
Assignee: International Business Machines Corporation (Armonk, NY)
Primary Examiner: Robinson; Greta
Assistant Examiner: Pannala; Sathyanarayan
Attorney, Agent or Firm: Kinnaman, Jr.; William A.

A method and apparatus for implementing a shared message queue using a list structure. A put list is defined comprising a sequence of list entries, each of which corresponds to a message in the queue and has an associated list entry key. Each list entry key corresponding to an uncommitted message falls within an uncommitted key range defining an uncommitted portion of the put list, while each list entry key corresponding to a committed message falls within a committed key range defining a committed portion of the put list. To write a message to the queue, a list entry is added to the put list having a list entry key within the uncommitted key range.

DETAILED DESCRIPTION In general, the present invention contemplates a method and apparatus for implementing a shared message queue using a list structure.
A put list is defined comprising a sequence of list entries, each of which corresponds to a message in the queue and has an associated list entry key.
Each list entry key corresponding to an uncommitted message falls within an uncommitted key range defining an uncommitted portion of the put list, while each list entry key corresponding to a committed message falls within a committed key range defining a committed portion of the put list.
To write a message to the queue, a list entry is added to the put list having a list entry key within the uncommitted key range.
Putting messages initially into the uncommitted portion of the put list in this manner hides uncommitted puts from other units of work (which only look at the committed list portion) without requiring explicit locking protocols.
List entry keys in the uncommitted key range are assigned in order of message priority and in order of arrival time for messages of a given priority.
Each list entry key has a more significant portion indicating the list portion to which the corresponding list entry belongs and a less significant portion indicating the order of the list entry in the list portion.
To commit messages to the queue, the list entry keys associated with the list entries are modified to fall within the committed key range to move the list entries to the committed portion of the put list while preserving their relative order as determined by the list entry keys.
To read a message from the queue, the list entry whose list entry key has the lowest value in the committed key range is moved from the committed portion of the put list to a get list defined for the queue manager.
This insures that only the highest-priority committed message is returned in response to a read request without knowing the key of the entry to be read.
Also, this insures no other unit of work can read a message that another unit of work has already read



Related patents
  Method and apparatus for erasing data after tampering
According to one aspect of the invention, a method is provided for storing data on a storage unit in a manner that allows modification of the data only if a tamper ...
  Data structure and storage and retrieval method supporting ordinality based searching and data retrieval
The present invention is a data structure and related data storage and retrieval method that rapidly provides a count of elements stored or referenced by a hierarchical ...
  Method, system, program, and data structure for cleaning a database table
OF THE PREFERRED EMBODIMENTS In the following description, reference is made to the accompanying drawings which form a part hereof and which illustrate several ...
  System for distributing a plurality of threads associated with a process initiating by one data processing station among data processing stations
We claim: 1. A computer network comprising: a communications medium; a plurality of data processing stations each having one or more processors, a communication device ...
  Hosting a network service on a cluster of servers using a single-address image
The present invention provides methods and apparatus for hosting a network service on a cluster of servers. All of the servers in a server cluster configured in ...
  Computer system for creating semantic object models from existing relational database schemas
The present invention is a computer system programmed to automatically create a semantic object model from an existing relational database schema. The schema is analyzed ...
  System and method for managing data privacy in a database management system including a dependently connected privacy data mart
To address the requirements described above, the present invention discloses a method and apparatus for managing consumer notification and access and a means of ...
  Integrated customer interface for web based data management
The present invention is directed to a Web-based, integrated customer interface system for data management. The customer interface system is provided with a graphical ...
  Graphical user interface for relational database
Referring now to FIG. 1, there is illustrated a block diagram describing an exemplary computer architecture 100, configurable in accordance with an embodiment of the ...
  Selection and storage of policies in network management
The present invention is directed to the user interface and policy loading aspects of a policy-based, outsourced, network management system. In one aspect, a user ...

0.014

Archive: All patents - Links

Copyright (c)2006 Eipa-patents.org - All rights reserved