System and method for messaging kernal -> Monitor Keywords
Fresh Patents
Monitor Patents Patent Organizer File a Provisional Patent Browse Inventors Browse Industry Browse Agents Browse Locations
site info Site News  |  monitor Monitor Keywords  |  monitor archive Monitor Archive  |  organizer Organizer  |  account info Account Info  |  
03/29/07 - USPTO Class 709 |  32 views | #20070073821 | Prev - Next | About this Page  709 rss/xml feed  monitor keywords

System and method for messaging kernal

USPTO Application #: 20070073821
Title: System and method for messaging kernal
Abstract: The present invention enables a messaging kernel to serve as the basis for asynchronous messaging in a Web service platform. The kernel provides basic messaging features, including point-to-point and publish/subscribe messaging, persistent and non-persistent messages, a variety of acknowledgement modes, two-phase commit transactions, quotas, statistics, message sorting, and message paging. It also includes some novel features that maintain message order based on application requirements. This description is not intended to be a complete description of, or limit the scope of, the invention. Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims. (end of abstract)



Agent: Fliesler Meyer LLP - San Francisco, CA, US
Inventor: Gregory Brail
USPTO Applicaton #: 20070073821 - Class: 709206000 (USPTO)

Related Patent Categories: Electrical Computers And Digital Processing Systems: Multicomputer Data Transferring, Computer Conferencing, Demand Based Messaging

System and method for messaging kernal description/claims


The Patent Description & Claims data below is from USPTO Patent Application 20070073821, System and method for messaging kernal.

Brief Patent Description - Full Patent Description - Patent Application Claims
  monitor keywords

CLAIM OF PRIORITY

[0001] This application claims benefit from U.S. Provisional Patent Application No. 60/721,146, filed Sep. 27, 2005, entitled "Messaging Kernel" by Gregory Brail, (Attorney Docket No. BEAS-01858us0).

COPYRIGHT NOTICE

[0002] A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

FIELD OF THE INVENTION

[0003] This invention relates to the field of asynchronous messaging management.

BACKGROUND

[0004] A messaging service, for a non-limiting example, a Java.RTM. Message Service (JMS), is an application program interface (API) that supports the formal communication known as messaging between computers (servers) within a cluster in a network (a standalone server is considered as a cluster with one server). Here, messaging is the creation, storage, exchange, and management of messages between producers who send/publish the messages to a destination and consumers who receive, subscribe, and browse the messages from the destination. Here, a message can be but is not limited to, text, image, voice, telex, fax, e-mail, paging, and other suitable electronic data describing events, requests, and replies over a communication network.

[0005] Asynchronous messaging is a key part of modern enterprise transaction processing. It has become even more important in recent years with the rise of e-commerce and web services. In order to remain competitive, an application server built for today's market must include a messaging component that supports multiple standards, provides a variety of advanced features, and at the same time remains reliable, available, secure, and performant.

BRIEF DESCRIPTION OF THE DRAWINGS

[0006] FIG. 1 is an illustration of an exemplary system for messaging kernel in one embodiment of the present invention.

[0007] FIG. 2 is a flow chart illustrating an exemplary process for messaging kernel in accordance with one embodiment of the invention.

DETAILED DESCRIPTION

[0008] The invention is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to "an" or "one" or "some" embodiment(s) in this disclosure are not necessarily to the same embodiment, and such references mean at least one.

[0009] Various embodiments of the present invention enable a messaging kernel to serve as the basis for asynchronous messaging in a Web service platform. The kernel provides basic messaging features, including point-to-point and publish/subscribe messaging, persistent and non-persistent messages, a variety of acknowledgement modes, two-phase commit transactions, quotas, statistics, message sorting, and message paging. It also includes some novel features that maintain message order based on application requirements. The messaging kernel can be used as the foundation of higher-level message-oriented middleware systems, which can be but are not limited to, JMS and Web Services Reliable Messaging (WS-RM) implementations in the Web service platform for reliable web services messaging.

[0010] FIG. 1 is an illustration of an exemplary system for messaging kernel in one embodiment of the present invention. Although this diagram depicts components as functionally separate, such depiction is merely for illustrative purposes. It will be apparent to those skilled in the art that the components portrayed in this figure can be arbitrarily combined or divided into separate software, firmware and/or hardware components. Furthermore, it will also be apparent to those skilled in the art that such components, regardless of how they are combined or divided, can execute on the same computing device or multiple computing devices, and wherein the multiple computing devices can be connected by one or more networks.

[0011] Referring to FIG. 1, kernel 101 is the central structure that holds the messaging kernel system together. It is basically the container for the other objects, including queues, topics, and sequencers. The kernel maintains a number of global-level objects and configuration parameters for features such as paging, persistence, and statistics. Queue 102 is the most important structure in the kernel. It is intended to map one-to-one with the concept of a "queue" in JMS, but it may be used for other purposes as well. Producers of messages can put messages on a queue, and they are delivered to consumers of the messages. There can be a plurality of queues in the kernel, each queue can support any number of concurrent producers and consumers. Messages are normally delivered in "weak FIFO (First In First Out)" ordering, but additional ordering and sequencing guarantees can optionally be applied, as well as message sorting criteria. Topic 103 is a mechanism for multicasting a message to multiple queues. When a producer sends a message to a topic, a copy of the message is placed on each queue that has subscribed to a topic. Once the message send is complete, the messages on each queue operate independently, just like messages on individual queues. An optional filter 104 can be attached to a topic, which determines which queues receive messages, and may examine the content of each message in order to make this determination. Filters are pluggable, and are implemented by the user of the kernel. This is due in part to the fact that the kernel is agnostic of the format of the message itself. Sequencer 105 is an additional data structure that may be used to order messages as they are placed on a queue and/or topic. There are several different types of sequencers, each is persistent and associated with a pair of sequence numbers. A quota object 106 may be attached to a queue, topic, or kernel. When a quota is in use, each new message increments the message count and byte count on the quota, and the counts are decremented as messages are removed. When a quota's limit has been reached, an error is produced when a new message is sent. If a queue or a topic has an associated quota, then the quota is used when new messages are sent. If a queue or topic has no quota, then the kernel's quota, if any, is used.

[0012] FIG. 2 is a flow chart illustrating an exemplary process for messaging kernel in accordance with one embodiment of the invention. Although this figure depicts functional steps in a particular order for purposes of illustration, the process is not limited to any particular order or arrangement of steps. One skilled in the art will appreciate that the various steps portrayed in this figure could be omitted, rearranged, combined and/or adapted in various ways.

[0013] Referring to FIG. 2, the topic inside the kernel accepts a plurality of messages from one or more producers at step 201 and multicasting each of these messages to the queues that have subscribed to the topic at step 202. The content of each message can be examined optionally by a filter attached to the topic at step 203 to determines which queues will receive the message. Once delivered, the messages are maintained in the one or more queues before they are delivered to one or more consumers at step 204. The messages are ordered/sorted accordingly as they are placed on the topic and/or the queues at step 205, and a quota object can keep count of the number of the messages associated with at least one of the messaging kernel, the topic, and the one or more queues at step 206.

[0014] In some embodiments, the messaging kernel is designed to be agnostic of the JMS and J2EE specifications. For these reasons, it does not use the JMS API, but instead uses its own, simplified API that does not reference any J2EE APIs. The kernel is also agnostic of the format of the messages that are used with it. Messages used with the kernel must implement the few methods on the "Message" interface, but this interface allows for a variety of messages, as it essentially treats each message as a generic object.

[0015] In some embodiments, queues support message-oriented middleware APIs such as JMS with sufficient semantics, including various options for message acknowledgement, configurable sort order, pluggable filters to allow consumers to select which messages they receive, and cursors for non-destructive viewing and manipulation of messages.

[0016] In some embodiments, a queue contains a single double-linked list of messages, wherein each message contains a number of flags. The most important flag is the "state" flag, which is a bit mask. A "state" of zero indicates that a message is "visible," which means that it is eligible for consumption. There can be a number of state flags, each represented by a single bit on the "state" field of the message.

[0017] In some embodiments, all messages remain on the main message list. When a consumer needs to receive a message, it scans the queue for messages with a "state" of zero, which makes the main implementation of the queue fairly simple.

[0018] In some embodiments, an additional message list is used to hold invisible messages. As messages are made invisible in these cases, they are moved to this second list and removed from the main list and they are replaced if they become visible again. This optimization is used in common cases, such as the case of a message that has been received and is awaiting acknowledgement, because it means consumers have fewer messages to check when scanning the main list for the next visible message.

Continue reading about System and method for messaging kernal...
Full patent description for System and method for messaging kernal

Brief Patent Description - Full Patent Description - Patent Application Claims

Click on the above for other options relating to this System and method for messaging kernal patent application.
###
monitor keywords

How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like System and method for messaging kernal or other areas of interest.
###


Previous Patent Application:
System and method for authenticating a user for accessing an email account using authentication token
Next Patent Application:
System and method for provisioning an email account using mail exchange and address records
Industry Class:
Electrical computers and digital processing systems: multicomputer data transferring or plural processor synchronization

###

FreshPatents.com Support
Thank you for viewing the System and method for messaging kernal patent info.
IP-related news and info


Results in 0.18782 seconds


Other interesting Feshpatents.com categories:
Novartis , Pfizer , Philips , Polaroid , Procter & Gamble , 174
filepatents (1K)

* Protect your Inventions
* US Patent Office filing
patentexpress PATENT INFO