Joann Ordille - South Orange NJ,
Thomas Petsche - Neshanic Station NJ,
Philip Wadler - Stirling NJ,
A disclosed notification and response system enables applications to communicate with recipients using a number of different media. The notification and response system (i) sends requests to one or more recipients, using the medium specified by each individual recipient; (ii) collects and processes responses; and (iii) forwards the responses to their final destination by means of the medium specified by the final destination. Applications frame requests in at least one supported human language and media format, and the request is delivered to the appropriate recipient(s), according to their preferences. Communication flow expressions specify the recipients for a given request, and how, when and where each recipient shall receive the request. Requests are dynamically updated, and the parameters of a communication flow expression are not evaluated, until the request is delivered. Communication flow rules specify recipient's communication preferences and tailor communication flows to characteristics of the sender, the topic or scheduling constraints. Communication flow expressions are evaluated using a three-valued logic: notification failure (maybe), response failure (false) and response success (true). Primitives specify simultaneous or sequential contact, and when execution of the sub-expression should terminate by defining a logical combination of success test results.