Electronic messaging method of and system for heterogeneous connectivity and universal and generic interfacing for distributed applications and processes residing in wide variety of computing platforms and communication transport facilities
First Claim
1. A method of electronically messaging between computers by heterogeneously and universally interfacing distributed applications and processes residing in a wide variety of differing computer platforms and communications transport facilities of various types, that comprises:
- providing a set of single-function software modules controlled by a preselected set of module verbs that together provide a single consistent application programming interface between the applications/process and the communications facility and through which application programs/processes can directly access the electronic messaging;
under the control of the set of module verbs, first queuing and routing messages and data flowing from and to the sending and recovering computer applications/processes and monitoring the delivery status thereof, and then communicating the routed messages and data through a communication agent for each communications transport facility, including the steps, performed by a receiving entity having a queue, ofon receiving a given message from a sending entity having a queue, placing the given message and associated data in the receiving entity'"'"'s queue,determining whether the given message specifies an acknowledgment, and if so, sending an acknowledgment message to the sending entity, the acknowledgment message specifying that the sending entity can remove the given message from the sending entity'"'"'s queue,sending the given message to a destination entity, specifying an acknowledgment, andon receiving an acknowledgment from the destination entity, releasing the given message and associated data from the receiving entity'"'"'s queue, thereby supporting the ability of one of the application programs/processes to specify that delivery for the given message is to be guaranteed, regardless of whether the communications transport facility that carries the given message supports guarantee delivery; and
providing common messaging functions for all communication agents independently of and without user concern for the specifics of the various communications transport facilities and their characteristics.
3 Assignments
0 Petitions
Accused Products
Abstract
A novel method of and system for heterogeneous connectivity and universal and generic interfacing for distributed applications and processes residing in a wide variety of computing platforms communicating over varied transport facilities, through an integrated set of lower-level programs and routines that handle specific services (message/data recovery, security, directory services, etc.) available from applications and processes within varied complex computing and communications environments, and without having to deal with the idiosyncrasies of differing networks, protocols, devices, multiple "standards", routing, recovery and other transport difficulties and differences. This is effected by novel single-function software modules or verbs, called application programming interface (API), that together provide a consistent and universal interface through which application programs/processes can access the messaging communications services in a manner that isolates the applications and processes from the confusing and fast-changing communications environment, as well as from differences in various computer operating systems, platforms and hardware.
-
Citations
32 Claims
-
1. A method of electronically messaging between computers by heterogeneously and universally interfacing distributed applications and processes residing in a wide variety of differing computer platforms and communications transport facilities of various types, that comprises:
-
providing a set of single-function software modules controlled by a preselected set of module verbs that together provide a single consistent application programming interface between the applications/process and the communications facility and through which application programs/processes can directly access the electronic messaging; under the control of the set of module verbs, first queuing and routing messages and data flowing from and to the sending and recovering computer applications/processes and monitoring the delivery status thereof, and then communicating the routed messages and data through a communication agent for each communications transport facility, including the steps, performed by a receiving entity having a queue, of on receiving a given message from a sending entity having a queue, placing the given message and associated data in the receiving entity'"'"'s queue, determining whether the given message specifies an acknowledgment, and if so, sending an acknowledgment message to the sending entity, the acknowledgment message specifying that the sending entity can remove the given message from the sending entity'"'"'s queue, sending the given message to a destination entity, specifying an acknowledgment, and on receiving an acknowledgment from the destination entity, releasing the given message and associated data from the receiving entity'"'"'s queue, thereby supporting the ability of one of the application programs/processes to specify that delivery for the given message is to be guaranteed, regardless of whether the communications transport facility that carries the given message supports guarantee delivery; and providing common messaging functions for all communication agents independently of and without user concern for the specifics of the various communications transport facilities and their characteristics. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. An electronic messaging system for communicating between computers and the like with heterogeneous and universal interfacing between distributed applications and processes residing in a wide variety of differing computer platforms and communications transport facilities of various types, having, in combination:
-
means for providing between an application/process and a communications facility a set of single-function software modules controlled by a preselected set of verbs that together provide a single application programming interface through which application programs/processes can directly access the electronic messaging by an interface control block; message routing means controlled by the application programming interface control block for staging messages and data flowing from and to the sending and receiving computer applications/processes by a router control block for determining message handling and communications transport facilities, and monitoring the message delivery status, said message routing means including means for determining whether a particular message is too large to be handled by a particular communications transport facility, and if so, segmenting the particular message into segments sized to be accommodated by the particular communications transport facility, means for maintaining a given message and associated data in a queue, and means, responsive to a particular verb from one of the receiving computer applications/processes that received the given message, for (a) generating an acknowledge message and communicating the acknowledge message to one of the sending computer applications/processes, and (b) releasing the given message and any queue data, said particular verb thus supporting the ability of one of the sending computer applications/processes to specify that delivery for the given message is to be guaranteed, regardless of whether the communications transport facility that carries the given message supports guaranteed delivery; and communication agent means, one corresponding and connected to each communications transport facility, controlled by common communication management means connected to the routing means and responsive to its said router control block to control the message flow from each communication agent means to its corresponding communications transport facility independently of and without user concern for the specifics of the various communications facilities and their characteristics. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31)
-
-
32. An electronic messaging system for communicating between computers and the like with heterogeneous and universal interfacing between distributed applications and processes residing in a wide variety of differing computer platforms and communications transport facilities of various types, having, in combination:
-
means for providing between an application/process and a communications facility a set of single-function software modules controlled by a preselected set of verbs that together provide a single application programming interface through which application programs/processes can directly access the electronic messaging by an interface control block; message routing means controlled by the application programming interface control block for staging messages and data flowing from and to the sending and receiving computer applications/processes by a router control block for determining message handling and communications transport facilities, and monitoring the message delivery status; communication agent means, one corresponding and connected to each communications transport facility, controlled by common communication management means connected to the routing means and responsive to its said router control block to control the message flow from each communication agent means to its corresponding communications transport facility independently of and without user concern for the specifics of the various communications facilities and their characteristics; and means for enabling the verbs of said application programming interface modules selectively to effect one or more of the following functions; COMMIT, to inform the routing means that a complete message has been successfully received and processed as required, and that the message and its related queue data may be released; DELETE, to remove one or more selected messages from a specified queue regardless of priority, pending or active state, or whether receipt has yet been acknowledged; FREEBUF, to release data/storage and queue entries when no longer required; GET BUF, to allocate resources such as internal memory needed to support message sending and status services; INITIALIZE, to connect the calling application or process for electronic messaging; PURGE, to remove all of the messages from any local queue regardless of priority and pending an active state; RECEIVE, to deliver an incoming message to destination application and to queue the message traffic awaiting delivery and priority to such destination; SEND, to place a message into routing queue for eventual sending to the specified destination; STATE, to inquire about or alter the state of any local routing message queues; STATUS, to inquire about or alter the status of any message in the named message sending queue and to obtain the number of messages in such queue; and TERMINATE, to resolve latent messages before application exit and then terminate the application connection to the routing message queue; said routing means including means for maintaining a given message and associated data in a queue, means, responsive to said COMMIT verb from one of the receiving computer applications/processes that received the given message, for (a) generating an acknowledge message and communicating the acknowledge message to one of the sending computer applications/processes, and (b) releasing the given message and any queue data said particular verb, thus supporting the ability of one of the sending computer applications/processes to specify that delivery for the given message is to be guaranteed, regardless of whether the communications transport facility that carries the given message supports guaranteed delivery.
-
Specification