Application messaging system with flexible message header structure
First Claim
1. A method for messaging between applications in a distributed application system, comprising the steps of:
- generating a first instance of a message at a first application, wherein the message includes a message header information and a body information;
creating a flexible message header, including placing portions of the message header information and the body information into a plurality of typed container modules including a user typed container module, wherein each typed container module, including the user typed container module, includes a compact header, a user definable payload, and a set of payload callbacks, and wherein the user typed container module further includes user data;
attaching the user typed container module directly to the flexible message header;
attaching an attachment unit to each of one or more remaining typed container modules, wherein each attachment unit includes a plurality of pointers, includinga first pointer linking that typed container module to a previous typed container module in the message, anda second pointer linking that typed container module to a next typed container module in the message;
preparing the flexible message header and the typed container modules for sending, wherein preparing includes storing the flexible message header with the typed container modules;
sending the flexible message header and the typed container modules to a second, destination application; and
reconstructing a second instance of the message by the second, destination application, wherein the second, destination applicationretrieves a selection of the one or more remaining typed container modules and the user typed container module, andignores those typed container modules that the second, destination application is not configured to receive.
1 Assignment
0 Petitions
Accused Products
Abstract
The Flexible Message Header (FMH) is a typed modular message structure comprising one or more Typed Container Modules (TCM)—stateful message modules with a compact header (Typed Container Header, TCH), a user definable payload (Typed Container Body, TCB), and a set of payload-specific callback to handle the lifecycle of the module at the different state such as creation, preparation, manipulation, resizing, transferring, and deletion. A single message comprises a small header with various numbers of TCMs. The integrity of the entire message is not affected by dynamically modifying, adding or removing TCM from the message. Major message content change can be achieved by either adding a TCM or swapping the TCM with different TCM. Minor message content change can be achieved by either modifying or expanding the TCM directly within the message. New features can be supported by adding new TCM and new code to process the new TCM.
-
Citations
15 Claims
-
1. A method for messaging between applications in a distributed application system, comprising the steps of:
-
generating a first instance of a message at a first application, wherein the message includes a message header information and a body information; creating a flexible message header, including placing portions of the message header information and the body information into a plurality of typed container modules including a user typed container module, wherein each typed container module, including the user typed container module, includes a compact header, a user definable payload, and a set of payload callbacks, and wherein the user typed container module further includes user data; attaching the user typed container module directly to the flexible message header; attaching an attachment unit to each of one or more remaining typed container modules, wherein each attachment unit includes a plurality of pointers, including a first pointer linking that typed container module to a previous typed container module in the message, and a second pointer linking that typed container module to a next typed container module in the message; preparing the flexible message header and the typed container modules for sending, wherein preparing includes storing the flexible message header with the typed container modules; sending the flexible message header and the typed container modules to a second, destination application; and reconstructing a second instance of the message by the second, destination application, wherein the second, destination application retrieves a selection of the one or more remaining typed container modules and the user typed container module, and ignores those typed container modules that the second, destination application is not configured to receive. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for messaging between applications in a distributed application system, comprising the steps of:
-
generating a first instance of a message at a first application, wherein the message includes a message header information and a body information; creating a flexible message header, including placing portions of the message header information and the body information into a plurality of typed container modules including a user typed container module, wherein each typed container module, including the user typed container module, includes a compact header, a user definable payload, and a set of payload callbacks, and wherein the user typed container module further includes user data; attaching the user typed container module directly to the flexible message header; attaching an attachment unit to each of one or more remaining typed container modules, wherein each attachment unit includes two pointers, including a first pointer linking that typed container module to a previous typed container module in the message, and a second pointer linking that typed container module to a next typed container module in the message; preparing the flexible message header and the typed container modules for sending, wherein preparing includes storing the flexible message header with the typed container modules; sending the flexible message header with the typed container modules to a second, destination application; reconstructing a second instance of the message by the second, destination application, wherein the second, destination application retrieves a selection of the one or more remaining typed container modules, and ignores those typed container modules that the second, destination application is not configured to receive; and sending the flexible message header including the typed container modules via an intermediate application, and wherein the intermediate application makes the selection of the one or more remaining typed container modules for forwarding to the second, destination application, and does not forward the non-selected typed container modules.
-
-
7. A system for messaging between distributed applications, comprising:
-
a computer including a computer readable medium and processor operating thereon; a first application, executing on the computer, that generates a first instance of a message, wherein the message includes a message header information and a body information; a function, executing on the computer, for creating a flexible message header, including segmenting the message header information and the body information into a plurality of typed container modules including a user typed container module, wherein each typed container module, including the user typed container module, includes a compact header, a user definable payload, and a set of payload callbacks, and wherein the user typed container module further includes user data, attaching the user typed container module directly to the flexible message header, and attaching an attachment unit to each of one or more remaining typed container modules, wherein each attachment unit includes two pointers, including a first pointer linking that typed container module to a previous typed container module in the message, and a second pointer linking that typed container module to a next typed container module in the message; a function, executing on the computer, for preparing the flexible message header and the typed container modules for sending, wherein preparing includes storing the flexible message header with the typed container modules; a function, executing on the computer, for sending the flexible message header and the typed container modules to a second, destination application; and wherein the second, destination application reconstructs a second instance of the message by retrieving a selection of the one or more remaining typed container modules and the user typed container module, and ignoring those typed container modules that the second, destination application is not configured to receive. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system for messaging between distributed applications, comprising:
-
a computer including a computer readable medium and processor operating thereon; a first application, executing on the computer, that generates a first instance of a message, wherein the message includes a message header information and a body information; a function, executing on the computer, for creating a flexible message header, including segmenting the message header information and the body information into a plurality of typed container modules including a user typed container module, wherein each typed container module, including the user typed container module, includes a compact header, a user definable payload, and a set of payload callbacks, and wherein the user typed container module further includes user data, attaching the user typed container module directly to the flexible message header, and attaching an attachment unit to each of one or more remaining typed container modules, wherein each attachment unit includes two pointers, including a first pointer linking that typed container module to a previous typed container module in the message, and a second pointer linking that typed container module to a next typed container module in the message; a function, executing on the computer, for preparing the flexible message header and the typed container modules for sending, wherein preparing includes storing the flexible message header with the typed container modules; a function, executing on the computer, for sending the flexible message header and the typed container modules to a second, destination application; wherein the second, destination application that reconstructs a second instance of the message by retrieving a selection of the one or more remaining typed container modules and the user typed container module, and ignoring those typed container modules that the second, destination application is not configured to receive; and an intermediate application, and wherein the intermediate application makes the selection of the one or more remaining typed container modules for forwarding to the second application, and does not forward the non-selected typed container modules.
-
-
14. A non-transitory computer readable medium including instructions stored therein which when executed by a computer causes the computer to perform the steps of:
-
generating a first instance of a message at a first application, wherein the message includes a message header information and a body information; creating a flexible message header, including placing portions of the message header information and the body information into a plurality of typed container modules including a user typed container module, wherein each typed container module, including the user typed container module, includes a compact header, a user definable payload, and a set of payload callbacks, and wherein the user typed container module further includes user data; attaching the user typed container module directly to the flexible message header; attaching to each of one or more remaining typed container modules an attachment unit, wherein each attachment unit includes two pointers, including a first pointer linking that typed container module to a previous typed container module in the message, and a second pointer linking that typed container module to a next typed container module in the message; preparing the flexible message header and the typed container modules for sending, wherein preparing includes storing the flexible message header with the typed container modules; sending the flexible message header and the typed container modules to a second, destination application; and reconstructing a second instance of the message by the second, destination application, wherein the second, destination application retrieves a selection of the one or more remaining typed container modules and the user typed container module, and ignores those typed container modules that the second, destination application is not configured to receive.
-
-
15. A non-transitory computer readable medium including instructions stored therein which when executed by a computer causes the computer to perform the steps of:
-
generating a first instance of a message at a first application, wherein the message includes a message header information and a body information; creating a flexible message header, including placing portions of the message header information and the body information into a plurality of typed container modules including a user typed container module, wherein the user typed container module further includes user data; attaching the user typed container module directly to the flexible message header; attaching to each of one or more remaining typed container modules an attachment unit that includes pointers linking that typed container module to a previous typed container module in the message and to a next typed container module in the message; preparing the flexible message header and the typed container modules for sending, wherein preparing includes storing the flexible message header with some or all of the plurality of typed container modules and the user typed container module; sending the flexible message header and the user typed container module and the one or more remaining typed container modules to a second, destination application; reconstructing a second instance of the message by the second, destination application using the one or more remaining typed container modules; and sending the flexible message header including the user typed container module and the one or more remaining typed container modules via an intermediate application, and wherein the intermediate application selects some of the one or more remaining typed container modules for forwarding to the second, destination application, and does not forward the non-selected typed container modules.
-
Specification