`(12) Patent Application Publication (10) Pub. No.: US 2012/0117178A1
`Price et al.
`(43) Pub. Date:
`May 10, 2012
`
`US 201201 17178A1
`
`(54) INTELLIGENT MESSAGING
`(75) Inventors:
`Edward D. Price, Brooklyn, NY
`(US); William Todd Piett,
`Southborough, MA (US)
`Rave Wireless, Inc., Framingham,
`MA (US)
`
`(73) Assignee:
`
`(21) Appl. No.:
`1-1.
`(22) Filed:
`
`13/293,662
`Nov. 10, 2011
`Related U.S. Application Data
`
`(60) Provisional application No. 61/412,148, filed on Nov.
`10, 2010.
`O
`O
`Publication Classification
`
`(51) Int. Cl.
`G06F 5/16
`
`(2006.01)
`
`(52) U.S. Cl. ........................................................ T09/207
`
`ABSTRACT
`(57)
`A method includes sending notification messages to a plural
`ity of subscribers of a notification platform via a plurality of
`communications devices of the subscribers over a plurality of
`communications channels, each communications device
`associated with at least one of the plurality of communica
`tions channels, including sending notification messages to
`devices over first channels associated with the communica
`tions devices. The method also includes monitoring a status of
`the first channels and a status of the notification messages sent
`over the first channels; and adapting the sending of the noti
`fication messages according to the monitored statuses,
`including sending at least Some of the notification messages
`over second channels associated with the communications
`devices.
`
`Initiate Notification
`Event
`
`Enqueue
`messages to
`platform
`
`Determine
`Channels available
`to reach Carrier D
`
`Select SMPP and
`Aggregator
`
`200
`
`2O2
`
`2O3
`
`204
`
`
`
`
`
`
`
`Aggregator
`Send message via
`SMPP to
`H-> acknowledges
`Aggregator
`receipt of message
`
`
`
`Enqueue message
`for retry
`
`Send message via
`SMPP to
`Aggregator ||
`
`2O6
`
`208
`
`210
`
`212
`
`Aggregator ||
`acknowledges
`receipt of message
`
`Aggregator ||
`sends delivery
`receipt
`
`
`
`
`
`
`
`Update status of
`Subscriber
`
`214
`
`216
`
`218
`
`APPL-1015
`APPLE INC. / Page 1 of 13
`
`
`
`Patent Application Publication
`
`May 10, 2012 Sheet 1 of 4
`
`US 2012/0117178A1
`
`TTTTT adosans TTT
`
`| — — — — —
`
`eoeueu ope
`
`O
`
`|----
`
`ZZ ).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`APPL-1015
`APPLE INC. / Page 2 of 13
`
`
`
`Patent Application Publication
`
`May 10, 2012 Sheet 2 of 4
`
`US 2012/0117178A1
`
`
`
`
`
`Z L. Z0 LZ
`
`
`
`?ôessauu anenbuB
`
`
`
`Ku?ºu Joy
`
`ZOZ
`
`·
`
`
`
`APPL-1015
`APPLE INC. / Page 3 of 13
`
`
`
`Patent Application Publication
`
`May 10, 2012 Sheet 3 of 4
`
`US 2012/0117178A1
`
`
`
`uNWOuXun
`
`
`
`
`
`
`
`
`
`909909
`
`APPL-1015
`APPLE INC. / Page 4 of 13
`
`
`
`Patent Application Publication
`
`May 10, 2012 Sheet 4 of 4
`
`US 2012/0117178A1
`
`
`
`APPL-1015
`APPLE INC. / Page 5 of 13
`
`
`
`US 2012/01 17178 A1
`
`May 10, 2012
`
`INTELLIGENT MESSAGING
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`0001. This application claims priority to U.S. Provisional
`Application Ser. No. 61/412,148, entitled “Intelligent Mes
`saging Platform.” filed Nov. 10, 2010, the contents of which
`are incorporated herein by reference.
`
`BACKGROUND
`0002 This application relates to intelligent messaging.
`0003 Reliable and rapid delivery of large numbers of text
`messages is important to enterprises, public safety agencies,
`universities, and others with a need to quickly notify inter
`ested parties.
`0004. There are various protocols for delivering short
`message service (SMS) text messages, primarily SMPP
`(Short Message Peer-to-Peer) and SMTP (Simple Mail
`Transfer Protocol). Each of these protocols presents different
`challenges for effective message delivery.
`0005 SMTP is inherently slow and unreliable. Due to its
`open nature and vulnerability to abuse, SMTP is often
`throttled or otherwise restricted by wireless service providers.
`Furthermore, SMTP is typically unable to provide informa
`tion about the Success or failure of a transmission as a mes
`sage passes through downstream systems to reach a targeted
`mobile subscriber.
`0006 SMPP is a more secure and robust protocol. SMPP
`is not subject to the same wireless service provider throttling
`and restrictions, but is still closely regulated by wireless car
`riers. Unlike SMTP, SMPP is not open to anyone who wishes
`to send an SMS message. Rather, entities that want to gain
`access to an SMPP connection must apply for access and open
`their messaging platform to audit by the wireless carriers.
`0007. Third parties, referred to as aggregators, have
`emerged as mediators between wireless carriers and entities
`wishing to send SMS over SMPP. Aggregators ensure that the
`rules established by the mobile industry and by each wireless
`service provider are adhered to by the entities sending mes
`sages. In addition, aggregators maintain “binds, or connec
`tions, across multiple wireless service providers. Binds allow
`message sending entities to gain access to multiple wireless
`carrier networks while maintaining a connection to only a
`single SMS message aggregator. In general, SMPP aggrega
`tors differ among themselves with respect to the mobile car
`riers they support, the reliability of their systems, and their
`message throughput.
`0008 Binds to service providers, either directly to wire
`less carriers or through third party aggregators, are prone to
`failure and normally to not provide service level agreements
`for message delivery.
`0009 Entities sending messages through aggregators are
`assigned a single 5- or 6-digit "short code, which is used to
`uniquely identify the message sending entity to its subscrib
`ers, regardless of the subscriber's mobile service provider.
`
`SUMMARY
`0010. In a general aspect, a computer-implemented
`method includes sending notification messages to a plurality
`of subscribers of a notification platform via a plurality of
`communications devices of the subscribers over a plurality of
`communications channels, each communications device
`associated with at least one of the plurality of communica
`
`tions channels, including sending notification messages to
`devices over first channels associated with the communica
`tions devices. The method further includes monitoring a sta
`tus of the first channels and a status of the notification mes
`sages sent over the first channels; and adapting the sending of
`the notification messages according to the monitored sta
`tuses, including sending at least some of the notification
`messages over second channels associated with the commu
`nications devices.
`0011 Embodiments may include one or more of the fol
`lowing.
`0012 Sending notification messages includes, for a first
`one of the communications devices: identifying a first com
`munications channel for communication with the first one of
`the communications devices; and sending the notification
`message to the first one of the communications devices via the
`first communications channel.
`0013 Adapting the sending of the notification messages
`includes, for the first one of the communications devices:
`identifying a second communications channel for communi
`cation with the first one of the communications devices; and
`sending the notification message to the first one of the com
`munications devices via the second communications channel.
`0014 Identifying the first communications channel
`includes identifying a mobile communications carrier asso
`ciated with the mobile communications device. Identifying
`the first communications channel includes selecting a com
`munications channel based on at least one of a type of con
`nection associated with the communications channel and a
`status of the communications channel. Identifying the first
`communications channel includes employing a load balanc
`ing mechanism.
`0015. At least one of the first channels includes an aggre
`gator, and a status of at least one of the first channels includes
`a throughput of the aggregator.
`0016. The status of the notification messages includes at
`least one of a transmission status of the notification messages
`through the first communications channels and a delivery
`status of the notification messages to the communications
`devices.
`0017 Monitoring a status of the notification messages
`includes determining the status of a first notification message
`based on an event associated with the first notification mes
`sage. Determining the status of a first notification message
`includes receiving an event status message indicative of the
`event associated with the first notification message from a
`component of the corresponding first communications chan
`nel.
`0018 Monitoring a status of the first communications
`channels includes receiving no response from a component of
`one of the first communications channels within a predeter
`mined amount of time.
`0019 Adapting the sending of the notification messages
`according to the monitored Status includes sending at least
`Some of the notification messages over second channels if the
`results of the monitoring are indicative of a transmission
`failure.
`0020. The second channels are different from the first
`channels.
`0021. The method further includes monitoring a status of
`the second communications channels and a status of the noti
`fication messages sent over the second channels. The method
`further includes updating a status of the subscribers based on
`at least one of the status of the first communications channels,
`
`APPL-1015
`APPLE INC. / Page 6 of 13
`
`
`
`US 2012/01 17178 A1
`
`May 10, 2012
`
`the status of the notification messages sent over the first
`channels, the status of the second communications channels,
`and the status of the notification messages sent over the sec
`ond channels.
`0022. The method further includes accepting an instruc
`tion to send the notification messages to the plurality of Sub
`scribers.
`0023 The notification message is at least one of a short
`message service (SMS) message, a Voice message, and an
`email.
`0024. In another general aspect, a system includes a mes
`sage routing module configured to send notification messages
`to a plurality of subscribers of a notification platform via a
`plurality of communications devices of the subscribers over a
`plurality of communications channels, each communications
`device associated with at least one of the plurality of commu
`nications channels, including sending notification messages
`to devices over first channels associated with the communi
`cations devices; and a message status module configured to
`monitor a status of the first channels and a status of the
`notification messages sent over the first channels. The mes
`sage routing module is further configured to adapt the sending
`of the notification messages according to the monitored sta
`tuses, including sending at least Some of the notification
`messages over second channels associated with the commu
`nications devices.
`0025 Embodiments may include one or more of the fol
`lowing.
`0026. The message routing module comprises a channel
`selection module configured to identify a first channel for
`communication with a first one of the communications
`devices; and an output module configured to send the notifi
`cation message to the first one of the communications devices
`via the first communications channel.
`0027. The channel selection module is configured to iden
`tify a mobile communications carrier associated with the
`communications device. The channel selection module is
`configured to identify the first channel based on at least one of
`a type of connection associated with the first channel and a
`status of the first channel. The channel selection module is
`configured to employ a load balancing mechanism to identify
`the first channel.
`0028. The message status module is configured to deter
`mine the status of a first notification message based on an
`event associated with the first notification message.
`0029. The message routing module is configured to send at
`least some of the notification messages over second channels
`if the results of the monitoring are indicative of a transmission
`failure.
`0030 The message status module is further configured to
`monitor a status of the second channels and a status of the
`notification messages sent over the second channels.
`0031. The system further includes a subscriber data mod
`ule configured to update a status of the Subscribers based on at
`least one of the status of the first communications channels,
`the status of the notification messages sent over the first
`channels, the status of the second communications channels,
`and the status of the notification messages sent over the sec
`ond channels.
`0032. The system further includes an input module con
`figured to accept instructions to send the notification mes
`sages to the plurality of Subscribers.
`0033. The systems and methods described herein have a
`number of advantages. For instance, the intelligent messaging
`
`platform is a high reliability, high performance messaging
`platform that is capable of leveraging the strengths of each
`message delivery alternative to enhance the throughput and
`overall delivery rates for messages. In addition, the platform
`provides a strategy for mitigating system outages, throughput
`limitations, visibility into message delivery status, and mes
`sage delivery latency.
`0034. The intelligent messaging platform described
`herein is able to adaptively deliver messages, including SMS
`messages, Voice messages, and emails, to Subscribers accord
`ing to subscriber preferences and based on real time feedback
`about the status of delivery channels.
`0035. Other features and advantages of the invention are
`apparent from the following description and from the claims.
`
`BRIEF DESCRIPTION OF DRAWINGS
`0036 FIG. 1 is a block diagram of an intelligent messag
`ing platform and associated interfaces.
`0037 FIG. 2 is a flowchart of an exemplary work flow in
`which a notification is sent to a Subscriber via a carrier Sup
`ported by multiple aggregators.
`0038 FIG. 3 is a flowchart of an exemplary work flow in
`which a notification is sent to a subscriber device supported
`by an unknown carrier network.
`0039 FIG. 4 is a flowchart of an exemplary work flow in
`which a notification is sent to a subscriber having multiple
`devices.
`
`DETAILED DESCRIPTION
`
`1 Overview
`0040. Referring to FIG. 1, a notification platform 100
`administers the distribution of short message service (SMS)
`messages or other electronic communications to Subscribers
`to the notification platform. Notification platform 100
`includes an intelligent messaging platform 150 which deter
`mines the appropriate channel for delivery of the message to
`the device(s) used by each Subscriber. Intelligent messaging
`platform 150 routes and reroutes messages to subscribers,
`evaluates and acts upon status updates related to message
`delivery, and keeps administrators apprised of messaging sta
`tus. In particular, intelligent messaging platform 150 enables
`the leveraging of multiple delivery channels by selecting
`which channel to utilize for the delivery of an SMS message
`to each subscriber based on its knowledge of the subscriber's
`phone number and mobile telecommunications carrier, busi
`ness and/or operational preferences (e.g., which one of mul
`tiple devices is to be contacted), and dynamic and/or real-time
`message delivery status data.
`0041. Subscribers to the notification platform receive
`messages from the notification platform. For instance, uni
`versity students may subscribe to a safety alert notification
`platform associated with the university to receive messages
`relevant to public safety at their university. Residents of a city
`and/or commuters to that city may subscribe to a local traffic
`alert notification platform to receive traffic status messages.
`In some cases, enrollment in a notification platform is initi
`ated by an individual 120. For instance, each resident and
`each commuter may decide whether he wishes to join the
`traffic alert group. In other instances, enrollment in a notifi
`cation platform is automatic and/or mandatory. For example,
`any university student who provides his mobile phone num
`ber to the university is automatically enrolled into the public
`safety notification platform for the university, which may be
`
`APPL-1015
`APPLE INC. / Page 7 of 13
`
`
`
`US 2012/01 17178 A1
`
`May 10, 2012
`
`administered by the university, without any action on the part
`of the student. In these cases, subscriber data 122 is provided
`to the notification platform via an automated Subscription
`process. Subscriptions are processed via a business function
`ality platform 104. Subscriber information, such as the sub
`scriber's phone number(s), mobile carrier(s), and preferred
`mobile communication device and/or method, are stored in a
`subscriber database 102 on notification platform 100.
`0042. In some embodiments, each notification platform is
`administered by a messaging administrator 106. Messaging
`administrator 106 may be an operator or agent associated
`with notification platform 100. Alternatively, messaging
`administrator may be associated with the institution using the
`notification platform (e.g., with a university), and may admin
`ister the notification platform via a self-service web interface.
`To send an SMS message to Subscribers, the messaging
`administrator generates a Notification Event within notifica
`tion platform 100. The Notification Event contains the text of
`the message (e.g., “Exit 20 of Interstate 90 is closed. Seek
`alternate route”). The Notification Event may also include
`other information, such as a percentage of messages that are
`to be successfully delivered in order for the Notification
`Event to be closed.
`0043. When a Notification Event is generated, intelligent
`messaging platform 150 identifies a communication channel
`for each subscriber. Channels are selected at least in part
`based on preloaded preferences of the subscriber, the plat
`form, or both. For instance, intelligent messaging platform
`150 may prefer an SMPP connection to a mobile carrier rather
`than an SMTP connection, if available. Communication
`channels may also be selected based on dynamic or real-time
`information about the status of various channels. For
`instance, the intelligent messaging platform may possess
`recent data that indicates that the preferred channel to contact
`a particular Subscriber is not responding. The intelligent mes
`saging platform will thus select an alternate, less preferred,
`channel for that Subscriber. In some instances, the intelligent
`messaging platform identifies the carrier that serves each
`subscriber by accessing the subscriber data stored in sub
`scriber database 102. In other cases, the intelligent messaging
`platform performs a carrier lookup to access carrier informa
`tion stored in an external mobile carrier database 107.
`0044. After the messages associated with the Notification
`Event are sent, intelligent messaging platform monitors the
`progress and delivery status of each message. If a message is
`undeliverable, for instance because the channel through
`which the message was sent is not responding, the intelligent
`messaging platform will resend the message via an alternate
`channel. The intelligent messaging platform collects statis
`tics about the progress and delivery status of each individual
`message as well as aggregate statistics pertaining to the entire
`Notification Event. These statistics are stored in a message
`database 124 and may be provided to messaging administra
`tor 106, either automatically or upon request by the messag
`ing administrator.
`0045 Although the notification platform is described
`herein primarily with reference to SMS messages, other types
`of communication are also supported. Such as Voice messag
`ing and emails.
`
`2 System Operation
`0046 Referring still to FIG. 1, several mobile telecommu
`nications carriers Carrier A, Carrier B, ..., Carrier G provide
`mobile telecommunications services to mobile communica
`
`tions devices Device 1, Device 2, Device 3, Device N via a
`radio interface 101. Each device is associated with a sub
`scriber. For instance, in the example depicted, Device 1 is
`associated with Subscriber 1, Devices 2 and 3 are associated
`with Subscriber 2, and DeviceN is associated with Subscriber
`N.
`0047. When a Notification Event is generated for a group,
`notification platform 100 sends SMS messages to subscribers
`of that group via SMPP (Short Message Peer-to-Peer) and
`SMTP (Simple Mail Transfer Protocol) connections to the
`carriers associated with the subscribers devices. In some
`cases, notification platform 100 communicates directly with
`the carrier. For instance, notification platform 100 communi
`cates directly with Carrier Aviaan SMTP connection 108 and
`communicates directly with Carrier G via an SMPP connec
`tion 110. In other cases, notification platform 100 communi
`cates with an aggregator via an SMPP connection; the aggre
`gator then communicates with one or more carriers. For
`instance, Aggregator I is reached via an SMPP connection
`114 and handles messages destined for any of Carriers B, C,
`or D: Aggregator II is reached via an SMPP connection 118
`and handles messages destined for any of Carriers D, E, or F.
`In some cases, a carrier may be reachable via more than one
`channel. For instance, notification platform 100 can commu
`nicate with Carrier Beither directly via an SMTP connection
`112 or via SMPP connection 114 to Aggregator I. Similarly,
`Carrier F can be reached either directly via an SMPP connec
`tion 116 or via SMPP connection 118 to Aggregator II. Car
`rier D is reachable through either Aggregator I or Aggregator
`II.
`0048. The intelligent messaging platform 150 includes
`four functional areas: (1) message routing; (2) message status
`notification; (3) message delivery failover; and (4) message
`delivery reporting. Each of these functional areas is now
`described in more detail.
`
`2.1 Message Routing
`0049. The Message Routing function of intelligent mes
`saging platform 150 determines the best channel for sending
`a message to a particular subscriber. The delivery path taken
`by a message intended for a particular Subscriber device
`depends on the carrier network(s) Supporting the Subscriber
`device, the channel(s) available to deliver the message to the
`carrier network(s), the relative priority of (or preference for)
`each channel, and the status of each channel.
`0050. If the carrier serving a particular subscriber device is
`not known to intelligent messaging platform 150, the Mes
`sage Routing function is able to determine the carrier infor
`mation for the Subscriber device. In some cases, the Message
`Routing function calls a carrier lookup function, which
`accesses mobile carrier database 107 to retrieve the carrier
`information for the subscriber. Alternatively, the Message
`Routing function may identify the appropriate carrier by
`interpreting failure messages returned by selected (e.g.,
`default) delivery channels.
`0051. If a particular subscriber device can be reached via
`more than one delivery channel, the Message Routing func
`tion employs a load balancing mechanism to distribute Vol
`ume Substantially evenly across the multiple available chan
`nels.
`0052. In addition to using information known at the begin
`ning of a Notification Event (e.g., information obtained upon
`registration of a subscriber or subscriber device), the Message
`Routing function can also use information discovered during
`
`APPL-1015
`APPLE INC. / Page 8 of 13
`
`
`
`US 2012/01 17178 A1
`
`May 10, 2012
`
`the Notification Event to adjust the logic used to determine
`the best route. For example, intelligent messaging platform
`100 can process delivery status receipts from a specific chan
`nel and dynamically increase or decrease traffic through that
`channel based on the delivery results and an optimization
`algorithm. Delivery status receipts for a given message may
`include, for instance, simple SMTP bounce-backs, aggrega
`tor receipt notifications, carrier receipt notifications, or hand
`set delivery notifications.
`0053. In addition to using carrier information known at the
`beginning of a Notification Event (e.g., information obtained
`upon registration of a Subscriber or device), the Message
`Routing function also makes use of information discovered
`during the Notification Event to adjust the logic used to deter
`mine the best delivery channel. For example, the Message
`Routing function enables the processing of delivery status
`receipts from a specific channel. Based on the delivery
`results, an optimization algorithm may dynamically increase
`or decrease traffic through that channel. Delivery status
`receipts may include, for instance, simple SMTP bounce
`backs, aggregator receipt notifications, carrier receipt notifi
`cations, or handset delivery notifications.
`
`2.2 Message Status Notification
`0054 The Message Status Notification function provides
`the intelligent messaging platform with a mechanism to
`receive, interpret, and respond to message status updates in
`order to increase deliverability and throughput and to provide
`visibility into the end-to-end messaging process.
`0055. In the course of sending a message for delivery to a
`Subscriber device, various events are processed to determine
`the status of the message. Such events may be internal to the
`intelligent messaging platform (e.g., the sending of the mes
`sage to a downstream interface). The events may also be
`externally generated (e.g., a Success or error message gener
`ated by an aggregator, a carrier, or a subscriber device). The
`event status is at least informational (e.g., Successful delivery
`to a handset) and in some cases may also be used to drive an
`action in the intelligent messaging platform (e.g., a delivery
`failure message causes the intelligent messaging platform to
`resend the message via an alternate channel).
`0056 To address variances in the behavior of multiple
`downstream delivery channels, the intelligent messaging
`platform normalizes events returned from the various down
`stream systems such that the events are represented in a stan
`dardized format. In this way, disparate event messages can be
`interpreted and acted upon in a way that presents a common
`user experience for the messaging administrator 106 moni
`toring the system. Failure of the intelligent messaging system
`to normalize disparate event messages could potentially
`result in unintended messaging processing behavior, which
`would make the intelligent messaging platform appear to be
`behaving in an arbitrary or unpredictable manner.
`
`2.3 Message Delivery Failover
`0057 The intelligent messaging platform contains func
`tionality to detect failed message delivery attempts and to
`automatically mitigate failures via intelligent retry logic.
`0058. In some cases, the retry logic initiates subsequent
`delivery attempts through the initial delivery channel. In other
`cases, the retry logic sends Subsequent delivery attempts
`through an alternate delivery channel. Such as a different
`aggregator, a direct SMPP connection to the carrier, or an
`
`SMTP connection to the carrier. The retry logic selects the
`channel for the retry attempt based on factors such as a noti
`fication indicating an out-of-service delivery channel, an
`absence of an expected delivery status message within a pre
`determined time interval, the receipt of a negative status
`update, or another condition.
`0059. In some instances, there are multiple possible chan
`nels through which a message can be sent to a given carrier,
`e.g., one or more SMPP aggregators, one or more SMPP
`direct carrier binds, and/or a carrier SMS-via-SMTP gateway.
`The possible channels for each carrier are rank ordered
`according to preference by the intelligent messaging plat
`form. For instance, a direct SMPP connection to the carrier
`may be the most preferred channel, where available. When
`the most preferred method fails or is not available, a second
`ary delivery method is attempted via a less preferred channel.
`0060. The retry logic may take into account the specific
`service provider (i.e., carrier and/or aggregator) to which the
`message is delivered, the importance of the message, or the
`intended channel delivery route, among other factors. For
`instance, the time period before a retry attempt may vary
`depending on the aggregator or the carrier to which the mes
`Sage Was Sent.
`2.4 Message Delivery Reporting
`0061 The Message Delivery Reporting functionality pro
`vides a way for the intelligent messaging platform to deter
`mine message status updates, such as the state of a given
`message oran indication of whether a specific messaging end
`point (e.g., a Subscriber device) has received at least one
`message. Message Delivery Reporting also allows the intel
`ligent messaging platform to determine whether a Subscriber
`who has registered multiple contact points, possibly spanning
`multiple communications methods (e.g., SMS text, email,
`Voice, and/or instant messaging) has received at least one
`message on at least one of the registered contact points as part
`of a particular Notification Event. Statistics associated with
`message status updates help the messaging administrator to
`gauge the Success of a Notification Event. These statistics can
`also be used by administrators of the intelligent messaging
`platform to tune the logic that controls message processing
`decisions in order to improve reliability and performance of
`the intelligent messaging platform.
`0062. The Message Delivery Reporting functionality is
`capable of providing some or all of four levels of reporting
`associated with the status of a Notification sent to a group of
`subscribers. In order from lowest to highest level of detail,
`these four levels include an Event level, a Message level, a
`User level, and an Overall level.
`
`Event Level Reporting
`0063 Event level reporting captures information about
`each event associated with a send attempt or a status notifi
`cation for a single message. For example, events involved in
`sending a message may include some or all of the following:
`an initial send to an SMPP aggregator, an SMPP response
`acknowledging receipt of the message by the aggregator, an
`SMPP delivery receipt indicating receipt of the message by a
`carrier, a failure notification from the carrier indicating a
`problem with delivery to the subscriber device, a second send
`attempt via SMTP, an SMTP failure, a third send attempt to
`another SMPP aggregator, a delivery receipt indicating deliv
`ery of the message to a Subscriber handset, an implicit or
`
`APPL-1015
`APPLE INC. / Page 9 of 13
`
`
`
`US 2012/01 17178 A1
`
`May 10, 2012
`
`explicit acknowledgement of receipt by the subscriber, and
`other similar events. Event level reporting tracks all such
`activities related to a particular message. The results of Event
`level reporting are used as input into the processing logic
`implemented by the intelligent messaging platform.
`
`Message Level Reporting
`0064 Message level reporting captures information about
`the status of a single message over time. The status of a
`message changes in response to events (e.g., the events listed
`above) associated with the message and is determined by
`processing of the event level details associated with the mes
`sage. The status of a message may include, for instance,
`waiting for an initial send, sent but waiting for a status noti
`fication, delivered, failed, waiting for a retry, and other similar
`states. In some cases, the status of a message may indicate
`only that the message was received by a Subscriber device. In
`other cases, the status of a message may indicate that the
`message was acknowledged by an automatic or manual feed
`back mechanism invoked by the subscriber who received the
`message.
`0065 Message performance may be aggregated across an
`entire Notification Event, providing the message administra
`tor with an overview of the message level delivery (e.g., a
`percentage of messages delivered). For instance, the message
`performance for a particular Notification Event may indicate
`that 80% of the intended messages were delivered within two
`minutes of the initial send.
`
`User Level Reporting
`0066 User level reporting captures information about the
`delivery status of all messages to a single user across all
`contact points registered to the user, including, for instance,
`email addresses, phone numbers for Voice, and/or phone
`numbers for text (SMS). Message level detail for each contact
`point is aggregated to provide user level delivery status infor
`mation. For example, a Subscriber with one Voice phone num
`ber and one SMS