Source: http://www.google.com/patents/US20050188039?ie=ISO-8859-1&dq=5,675,808
Timestamp: 2015-02-27 07:52:31
Document Index: 38201130

Matched Legal Cases: ['art 1', 'art 11', 'art 12', 'art 2', 'art 3', 'art 31', 'art 32', 'art 33', 'art 4', 'art 11', 'art 3', 'art 2', 'art 31', 'art 11', 'art 3', 'art 2', 'art 31', 'arts 11', 'arts 1', 'art 11', 'art 2', 'art 3', 'art 11', 'art 2', 'art 3', 'art 11', 'art 3', 'art 2', 'art 31', 'art 11', 'art 2', 'art 3', 'art 11', 'art 2', 'art 3', 'art 1', 'art 2', 'art 3']

Patent US20050188039 - Method and system for message content delivery - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA method and system are provided for delivery of messages. A publishing application (404) includes means for publishing a message via a communication infrastructure (402) and one or more subscriber applications (408, 409) include means for receiving a message from the communication infrastructure (402)....http://www.google.com/patents/US20050188039?utm_source=gb-gplus-sharePatent US20050188039 - Method and system for message content deliveryAdvanced Patent SearchPublication numberUS20050188039 A1Publication typeApplicationApplication numberUS 11/044,582Publication dateAug 25, 2005Filing dateJan 27, 2005Priority dateFeb 19, 2004Also published asUS7792908Publication number044582, 11044582, US 2005/0188039 A1, US 2005/188039 A1, US 20050188039 A1, US 20050188039A1, US 2005188039 A1, US 2005188039A1, US-A1-20050188039, US-A1-2005188039, US2005/0188039A1, US2005/188039A1, US20050188039 A1, US20050188039A1, US2005188039 A1, US2005188039A1InventorsGraham Charters, Michael FriessOriginal AssigneeGraham Charters, Michael FriessExport CitationBiBTeX, EndNote, RefManReferenced by (10), Classifications (15), Legal Events (4) External Links: USPTO, USPTO Assignment, EspacenetMethod and system for message content delivery
The present invention provides a method and system for message or event content delivery. Data is distributed as a unit such as a message or event via a communication infrastructure. In the described embodiments, a publish/subscribe system is described in which the messages are distributed. However, the described method and system also apply to the distribution of other units of data such as events via an event notification system. Referring to FIG. 1, a simplified arrangement of a known publish/subscribe system 100 is shown. A communication infrastructure 102 is provided in a publish/subscribe system 100. Publisher applications 104, 106 can communicate with the communication infrastructure 102. Each publisher application 104, 106 can publish a message 114 by sending it to the communication infrastructure 102. In the example of FIG. 1, two publisher applications 104, 106 are shown. Subscriber applications 108, 109, 110 are provided which also communicate with the communication infrastructure 102 to subscribe to messages 114. In the example of FIG. 1, three subscriber applications 108, 109, 110 are shown. In the illustrated example, two publisher applications 104, 106 and three subscriber applications 108, 109, 110 are shown; however, it will be appreciated by a person skilled in the art that this is an example only and an infinite number of arrangements of applications is possible and only a very simple example is shown. Applications can also be both publishers and subscribers. The publisher applications 104, 106 are not interested in where their published messages are going, and the subscriber applications 108, 109, 110 need not be concerned where the messages they receive have come from. The communication infrastructure 102 assures the validity of the message source, and manages the distribution of the messages according to the valid subscriptions registered in the communication infrastructure 102. An example of a messaging infrastructure for delivery of messages is WebSphere MQ Integrator provided by International Business Machines Corporation (WebSphere is a trade mark of International Business Machines Corporation). The communication infrastructure 102 in a publish/subscribe system 100 handles the processing, transformation and distribution of messages 114 passing between applications. Topics provide a key to the delivery of messages 114 between a publisher application 104, 106 and subscriber applications 108, 109, 110. They provide an anonymous alternative to citing specific destination addresses. The communication infrastructure 102 attempts to match the topic in each published message 114 with a list of subscriber applications which have subscribed to that topic. The communication infrastructure 102 has a controller for processing messages. The communication infrastructure 102 may be in the form of one or more message brokers. The communication infrastructure 102 has an input mechanism which may be an input queue or a synchronous input node by which messages are input when they are sent by a publisher application 104, 106. A matching engine compares the topic of the message with the registered subscriptions of the various subscriber applications 108, 109, 110 and from the result of that matching a recipient list is derived. An output mechanism transmits the processed messages to the subscriber applications that are specified in the recipient list. In the case of the communication infrastructure 102 being in the form of more than one message broker, the message brokers communicate with each other as a broker network in which publish/subscribe applications are interacting with any one of a number of connected brokers. Subscriptions and published messages are propagated through the broker network. Brokers can propagate subscription registrations through the network of connected brokers, and publications can be forwarded to all brokers that have matching subscriptions. FIG. 2 shows a simple form of communication between a publisher application 204, a broker 202 and a subscriber application 208 as known in existing publish/subscribe systems. A subscriber application 208 registers a subscription 211 with the broker 202. A publisher application 204 publishes 212 a message on the broker 202. The broker 202 matches the published message with the subscription and publishes 213 the message to the subscriber application 208. The subscriber application 208 can de-register or request an update of his subscription 214 at any time. In the method and system of the present invention, there is shared knowledge about the structure of message content and how to address the structural parts. This structure is referred to as the message content schema. The contents schema provides a means to identify structural parts of the whole message content. The publisher application, the communication infrastructure and the subscriber applications all know the structure of message content and how to address the structural parts. The message content schema may be in the form of fields and sub-fields of content which divide the content of the message into parts. The message content schema may apply to one or more message types. This shared knowledge can be provided, as an example, through a shared repository of message content schema. Alternatively, as another example, the shared knowledge may be by reference to a standards body which defines the content schema. Alternatively, the shared knowledge may be sufficiently precise when it is known that messages adhere to a generalised structure and how to address parts of such a structure. For example, the messages could be well-formed XML documents and the subscribers register to content parts by means of an XPath expression that represents the interested content parts. The contents schema can be provided as a flat structure of partitioned data or any other suitable structure. For example, message schema for customer records of business X may take the following form: Field 1: Customer details Sub-field 11: Customer name Sub-field 12: Customer identification number Field 2: Contact details Sub-field 21: Primary contact's name Sub-field 211: Primary contact's telephone number Sub-field 22: Secondary contact's name Sub-field 221: Secondary contact's telephone number Field 3: Address details Sub-field 31: Address line 1 Sub-field 32: Address line 2 Sub-field 33: Address line 3 Sub-field 34: Zip code Sub-field 35: Country Field 4: Account details Sub-field 41: VAT number In the above example, this may be a standard message schema for all message instances of a message type of �customers of business X�. Any parties subscribing to message type �customers of business X� have shared knowledge with the publisher and the communication infrastructure of the fields in the content schema. A subscriber can subscribe to Field 1 and Sub-field 35 in order to obtain publications of all customer names and identification numbers and the countries the customers are in. In an extreme scenario, a subscriber may only want to know that a message instance has been sent with a particular field. For example, a subscriber may want to know when a message instance is sent which is an order from a customer in order to count how many orders are sent. The communication infrastructure provides an interface so that a subscriber application can include the information of which content parts it is interested in when it registers its interest in certain message types. This can be specified in addition to known topic based or content based subscription. The communication infrastructure provides a mechanism for the publisher application to populate only the combined content subset based on the union of the subscribers' content parts. In this way, subscriber applications can register an interest in specific content within a message and publisher applications can limit their publications to the combined content subset of messages. This minimises the amount of data a publisher application must construct during publication and removes any unrequired content from publication. This also provides feedback to the publisher application of the content of messages which is of interest to subscriber applications. The communication infrastructure distributes the subscriber application's subset from the combined content subset published by the publisher application. This removes any unnecessary distribution of unwanted content. However, in some circumstances it may be preferable to distribute the combined content subset to all subscribers. FIG. 3 shows a schematic representation of a message 300 as a set. The message 300 has contents 301 represented by the letters A, B, C, D, E, F, G, H. Subsets 302, 303, 304 are defined within the message 300 representing subsets of the contents 301 which are of interest to three subscriber applications. A first subscriber application �Sub 1� is interested in contents A, B. A second subscriber application �Sub 2� is interested in contents C, D. A third subscriber application �Sub 3� is interested in contents B, D, E. None of the three subscriber applications is interested in contents F, G, H. The combined content subset is the area within the three subsets 302, 303, 304 shown in FIG. 3. In other words, in this example the combined content subset is A, B, C, D, E. The mechanism by which the publisher application populates the combined content subset can be explicit or implicit. In a first embodiment in which the mechanism is explicit, the publisher application requests the combined content subset from the communication infrastructure. In the second embodiment in which the mechanism is implicit, the publisher application passes a minimally populated message instance to the communication infrastructure and the communication infrastructure calls back to the publisher application to populate the required fields. This second embodiment is referred to as lazy population. The first and second embodiments are shown in FIGS. 4A and 4B. In both FIGS. 4A and 4B, a communication infrastructure 402 is shown providing communication between a publisher application 404 and two subscriber applications 408, 409. The publisher application 404 has a shared understanding of the content schema of a message. This message content schema 410 may, for example, be provided in a message repository to which the publisher application 404, the subscriber applications 408, 409 and the communication infrastructure 402 all have access. In the example shown in FIGS. 4A and 4B, the message content schema M 410 has the following parts: part 1 part 11 part 12 part 2 part 3 part 31 part 32 part 33 part 4 A first subscriber application 408 referred to as subscriber A subscribes 411 to message M″, part 11 and part 3. A second subscriber application 409 referred to as subscriber B subscribes 412 to message M′″, part 2 and part 31. In FIGS. 4A and 4B, a capitalised �μM� is used to refer to message content schema and a lower case �m� is used to refer to a message instance. The communication infrastructure 402 provides an interface to determine the combined content parts that subscriber applications 408, 409 are actually interested in. The combined content is the union of the content parts that each subscriber requested. In this example, subscriber A 408 subscribes to part 11 and part 3 and subscriber B 409 subscribes to part 2 and part 31. Therefore, the combined content is parts 11, 2, and 3. However, the communication infrastructure 402 may form a superset of the combined content by including other parts if this makes the administration easier. In this example, the superset may be formed of parts 1, 2 and 3 in order to include the same level of hierarchy of parts. The publisher application 404 retrieves the information about the required content parts from the communication infrastructure 402. This is shown in FIG. 4A as �getting the list of subscribed parts (M′)� 413. The communication infrastructure 402 responds with the answer, in this case �part 11+part 2+part 3� 414, to the publisher application 404. The publisher application 404 then creates and fills only the relevant parts of the message and submits the message m′ to the communication infrastructure 402. This is shown as �create and submit m′ with contents for part 11+part 2+part 3� 415. The communication infrastructure 402 then publishes the required parts to the subscriber applications 408, 409 in accordance with their requirements. In this example, message m″ is delivered 416 to subscriber A with part 11 and part 3 and message m′″ is delivered 417 to subscriber B with part 2 and part 31. In the second embodiment shown in FIG. 4B, the �lazy population� part of the communication infrastructure 402 preferably resides local to the publisher application 404. The publisher application 404 provides an interface 405 to the communication infrastructure 402 to facilitate the population of the message content. The publisher application 404 notifies the communication infrastructure 402 to create a message or, alternatively, it creates and submits 423 a minimal message to the communication infrastructure 402. The communication infrastructure 402 determines whether and what content of the message needs to be provided based on the registered subscriber applications 408, 409. The request for this is shown in FIG. 4B as �get parts (M′, part 11+part 2+part 3) 424. The communication infrastructure 402 populates 425 the relevant content parts of the message using the call back interface 405 provided by the publisher application 404. In both embodiments described above and shown in FIGS. 4A and 4B, the communication infrastructure 402 will deliver the message to the subscriber applications 408, 409. The communication infrastructure 402 might optimise the delivery by delivering a set of content parts which is a superset of the content parts the subscriber application requested. For example, in the example shown in FIGS. 4A and 4B, the communication infrastructure may deliver �part 11+part 2+part 3� or even �part 1+part 2+part 3� to both subscriber A and subscriber B so that the communication infrastructure 204 reduces the number of different configurations of parts to be delivered. In a third embodiment, a publisher application may subscribe to the communication infrastructure to obtain the list of required parts in the combined content. The list of subscribed parts can be constructed by the communication infrastructure each time a subscriber registers, changes its registration or de-registers. An amended list of subscribed parts can be published by the communication infrastructure when a new list differs from a previous list. This requires a system for knowing what information has already been published in a �retain publication� style in the communication infrastructure for when a new publisher application comes on line and new information is available. In a fourth embodiment, a publisher application publishes a message to the communication infrastructure as in the prior art. The communication infrastructure handles the compilation of the combined content subset from the published message and distributes the content subsets to the subscribers. In this embodiment, the publisher application must still publish the entire message. However, it enables the method and system to be used with legacy publisher applications. The described method and system extend to subscription propagation in a network of brokers. Referring to FIG. 5, subscriber applications 501, 502 referred to as subscribers A1 and A2 subscribe on broker A 505 and subscriber applications 503, 504 referred to as subscribers B1 and B2 subscribe on broker B 506. Brokers A and B communicate with broker X 507. A publication application 508 publishes on broker X 507. Subscriber A1 subscribes on parts {1,2}, subscriber A2 subscribes on parts {1,3}, so broker A subscribes on parts {1,2,3}. Subscriber B1 subscribes on parts {2,3}, subscriber B2 subscribes on parts {2,3,4}, so broker B subscribes on parts {2,3,4}. Broker X informs the publisher to publish parts {1,2,3,4}. Broker X forwards the data of parts {1,2,3} to broker A. Broker X forwards the data of parts {2,3,4} to broker B. In this way, there is optimisation in the content of messages being communicated between brokers in a network. The aggregation of the message content is applied at each level of the network. The present invention is typically implemented as a computer program product, comprising a set of program instructions for controlling a computer or similar device. These instructions can be supplied preloaded into a system or recorded on a storage medium such as a CD-ROM, or made available for down loading over a network such as the Internet or a mobile telephone network. Improvements and modifications can be made to the foregoing without departing from the scope of the present invention. Referenced byCiting PatentFiling datePublication dateApplicantTitleUS8321507 *Aug 30, 2006Nov 27, 2012Rockstar Consortium Us LpDistribution of XML documents/messages to XML appliances/routersUS8396928 *Sep 21, 2007Mar 12, 2013Smartbrief, Inc.Methods and systems for handling electronic message content for electronic communications devicesUS8407296 *Sep 24, 2007Mar 26, 2013Smartbrief, Inc.Multiple and multi-part message methods and systems for handling electronic message content for electronic communications devicesUS8429238 *Jul 21, 2010Apr 23, 2013International Business Machines CorporationMethod for providing feedback to a publisherUS8505033 *Aug 26, 2010Aug 6, 2013Verizon Patent And Licensing Inc.Universal registration in broker-based messaging systems and methodsUS8533267Nov 16, 2012Sep 10, 2013Rockstar Consortium Us LpDistribution of XML documents/messages to XML appliances/routersUS8838692Sep 6, 2013Sep 16, 2014Rockstar Consortium Us LpDistribution of XML documents/messages to XML appliances/routersUS20110055339 *Jul 21, 2010Mar 3, 2011International Business Machines CorporationApparatus for providing feedback to a publisherUS20120054774 *Aug 26, 2010Mar 1, 2012Verizon Patent And Licensing, Inc.Universal Registration in Broker-Based Messaging Systems and MethodsUS20140365562 *Aug 26, 2014Dec 11, 2014Rockstar Consortium Us LpDistribution of xml documents/messages to xml appliances/routers* Cited by examinerClassifications U.S. Classification709/206, 455/410International ClassificationG06F9/54, H04L12/58, H04L29/08, H04L29/06, H04M1/68, G06F15/16Cooperative ClassificationH04L67/2819, H04L67/26, H04L51/063, H04L12/583European ClassificationH04L12/58C1, H04L29/08N25, H04L29/08N27ELegal EventsDateCodeEventDescriptionJul 11, 2014SULPSurcharge for late paymentJul 11, 2014FPAYFee paymentYear of fee payment: 4Apr 18, 2014REMIMaintenance fee reminder mailedFeb 18, 2005ASAssignmentOwner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW YFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHARTERS, GRAHAM C.;FRIESS, MICHAEL;REEL/FRAME:015742/0012;SIGNING DATES FROM 20041022 TO 20041104Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHARTERS, GRAHAM C.;FRIESS, MICHAEL;SIGNING DATES FROM 20041022 TO 20041104;REEL/FRAME:015742/0012RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services