Movatterモバイル変換


[0]ホーム

URL:


US8630624B2 - Managing notification messages - Google Patents

Managing notification messages
Download PDF

Info

Publication number
US8630624B2
US8630624B2US13/195,772US201113195772AUS8630624B2US 8630624 B2US8630624 B2US 8630624B2US 201113195772 AUS201113195772 AUS 201113195772AUS 8630624 B2US8630624 B2US 8630624B2
Authority
US
United States
Prior art keywords
client
application
server
notification
client device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US13/195,772
Other versions
US20110289172A1 (en
Inventor
Christopher Marcellino
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/392,679external-prioritypatent/US8364123B2/en
Priority to US13/195,772priorityCriticalpatent/US8630624B2/en
Application filed by Apple IncfiledCriticalApple Inc
Assigned to APPLE INC.reassignmentAPPLE INC.ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: MARCELLINO, CHRISTOPHER
Publication of US20110289172A1publicationCriticalpatent/US20110289172A1/en
Priority to CN201280038014.1Aprioritypatent/CN103718578B/en
Priority to JP2014524009Aprioritypatent/JP5745696B2/en
Priority to KR1020147004614Aprioritypatent/KR101417722B1/en
Priority to EP12743863.8Aprioritypatent/EP2740283B1/en
Priority to PCT/US2012/048801prioritypatent/WO2013019708A2/en
Priority to TW101127691Aprioritypatent/TWI465135B/en
Priority to US14/150,352prioritypatent/US9485208B2/en
Publication of US8630624B2publicationCriticalpatent/US8630624B2/en
Application grantedgrantedCritical
Priority to US15/296,553prioritypatent/US9985917B2/en
Activelegal-statusCriticalCurrent
Adjusted expirationlegal-statusCritical

Links

Images

Classifications

Definitions

Landscapes

Abstract

Methods and apparatuses that generate a subtopic identifier identifying a client application within a client device are described. The client application may be associated with a server application hosted in one or more application servers. Notification services may be registered with the application servers from the client application to forward identifiers associated with the client application to the server application to enable the server application to push notification messages to the client device selectively for the client application. When receiving a notification message from the application server, the notification message may be examined to forward the notification message directly to the client application without invoking other applications in the client device if the notification message carries a subtopic identifier of the client application.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation-in-part of U.S. application Ser. No. 12/392,679, filed Feb. 25, 2009, and claims the benefit of U.S. Provisional Application No. 61/370,075, filed on Aug. 2, 2010, entitled “Managing Notification Messages”, CHRISTOPHER MARCELLINO, which are hereby incorporated by reference herein in its entirety.
FIELD OF THE INVENTION
The present invention relates generally to data processing systems. More particularly, this invention relates to notification messages for mobile devices.
BACKGROUND
Users of mobile devices (e.g., laptops, palmtops, mobile phones, smartphones, multimedia phones, portable media players, GPS units, mobile gaming systems, etc.) may have applications installed that periodically receive notification messages from notification services. For example, such applications include “push” email services (e.g., MobileMe, Microsoft Exchange ActiveSync, push-IMAP, Yahoo! Push, etc.) or other push services (e.g., update/upgrade services, news services, weblog services, podcast services, social networking services, or other types of services where notification messages may be sent.). Notification messages typically represent events of interest which are typically defined by the applications (e.g., new email indicator, new news item indicator, new podcast indicator, change of online status of a social networking friend, etc.).
Usually, a notification message may be routed through a push service by identifying its corresponding originating server and receiving client device. On receiving the notification message, the client device may deliver the message to a target client application. Often times, multiple client applications in the client device may be waiting for notification messages from the same originating server at the same time. Each waiting client application may be invoked when the notification message arrives. As more and more server applications are hosted in the originating server for supporting ever increasing number of client applications in the client device, valuable processing resources in the client device may be wasted for managing message notification.
As such, existing mechanisms to provide message notification for mobile devices may tax resources and/or pose other problems.
SUMMARY OF THE DESCRIPTION
The invention can provide multiple levels of naming hierarchies capable of addressing individual client applications for efficiently delivering notification messages in a client device to minimize resources usage. Multiple server applications hosted in a common server identified by a server identifier or a topic can push notifications messages sharing the same topic to the client device. A subtopic can be embedded in a notification message received for the topic in the client device for identifying a target client application subscribing to the topic.
In one embodiment, a client application can optionally register a client application identifier as a subtopic in a corresponding server application running in a server identified by a topic. The subtopic may be an additional level of naming hierarchy for the client application. As a result, a notification message pushed from a server application hosted in the server can carry the client application identifier to allow routing the notification message directly to the client application without invoking or notifying other client applications subscribing to the shared topic. Multiple notification messages from separate sever applications hosted by one server of a topic can be multiplexed to destined separate client applications listening to the same topic at a client device effectively and efficiently to minimize resource usage of the client device required to handle received notification messages.
In one embodiment, a method and apparatus are described herein to generate a subtopic identifier identifying a client application within a client device. The client application may be associated with a server application hosted in one or more application servers. The client application can register notification service with the application server to forward identifiers associated with the client application and enable the server application to push notification messages to the client device selectively for the client application. When receiving a notification message from the application server, the notification message may be examined or inspected to be forwarded directly to the client application without invoking other applications in the client device if the notification message carries a subtopic identifier of the client application.
In another embodiment, a registration request for message notification may be received by a server application over a first network connection from a client application running in a client device. The first network connection may be established on an initiation from the client device to an application server with a server identifier to host the server application. The request may carry identifiers including a device token identifying the client device and a client application identifier identifying the client application. The server identifier may be sent to the client device to allow the client device to listen to messages pushed from the application server. In one embodiment, the identifiers carried in the request may be stored to register the client device for the message notification. The application server may send or push notification messages to the client device over a second network connection to a push network coupled with the client device via the device token to notify the client application. The notification messages may by identified by the server identifier. Optionally, the notification messages may carry the client application identifier to enable the client device to deliver the notification messages directly to the client application.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description that follows.
BRIEF DESCRIPTIONS OF THE DRAWINGS
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.
FIG. 1 is a block diagram illustrating one embodiment of networked systems for message notification;
FIG. 2 is a block diagram illustrating exemplary components in a mobile device for managing notification messages according to the embodiments described herein;
FIG. 3 is a block diagram illustrating exemplary components for an application server to provide notification messages;
FIG. 4 is a sequence diagram illustrating exemplary message exchanges between a mobile device and an application server according to the embodiments described herein;
FIG. 5 is a flow diagram illustrating one embodiment of a process to enable a mobile device to route a notification message to an identified client application;
FIG. 6 is a flow diagram illustrating one embodiment of a process to provide notification messages from an application server to an application client;
FIG. 7 shows one example of a data processing system which may be used with the embodiments described herein;
FIG. 8 illustrates an example of a typical computer system which may be used in conjunction with the embodiments described herein.
DETAILED DESCRIPTION
Method and apparatus for notifications messages identifying a target client application among multiple client applications listening or subscribing to a common application server are described herein. In the following description, numerous details are set forth to provide a more thorough explanation of embodiments of the present invention. It will be apparent, however, to one skilled in the art, that embodiments of the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring embodiments of the present invention.
Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification do not necessarily all refer to the same embodiment.
Unless specifically stated otherwise, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a data processing system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required machine-implemented method operations. The required structure for a variety of these systems will appear from the description below. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of embodiments of the invention as described herein.
An embodiment of the invention may be implemented as a method or as a machine readable non-transitory storage medium that stores executable instructions that, when executed by a data processing system, causes the system to perform a method. An apparatus, such as a data processing system, can also be an embodiment of the invention. Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.
At least certain embodiments of the inventions may be part of a digital media player, such as a portable music and/or video media player, which may include a media processing system to present the media, a storage device to store the media and may further include a radio frequency (RF) transceiver (e.g., an RF transceiver for a cellular telephone) coupled with an antenna system and the media processing system. In certain embodiments, media stored on a remote storage device may be transmitted to the media player through the RF transceiver. The media may be, for example, one or more of music or other audio, still pictures, or motion pictures.
The portable media player may include a media selection device, such as a touch screen input device, pushbutton device, movable pointing input device or other input device. The media selection device may be used to select the media stored on the storage device and/or the remote storage device. The portable media player may, in at least certain embodiments, include a display device which is coupled to the media processing system to display titles or other indicators of media being selected through the input device and being presented, either through a speaker or earphone(s), or on the display device, or on both display device and a speaker or earphone(s).
Embodiments of the inventions described herein may be part of other types of data processing systems, such as, for example, entertainment systems or personal digital assistants (PDAs), or general purpose computer systems, or special purpose computer systems, or an embedded device within another device, or cellular telephones which do not include media players, or devices which combine aspects or functions of these devices (e.g., a media player, such as an iPod®, combined with a PDA, an entertainment system, and a cellular telephone in one portable device), or devices or consumer electronic products which include a multi-touch input device such as a multi-touch handheld device or a cell phone and handheld computer with a multi-touch input device.
In one embodiment, a server hosting a server application such as a mail server, an IMAP (Internet Access Message Protocol) server, a calendar server, a contact server, a device management server, or other applicable server applications, etc. can maintain push capabilities by requiring a push provider certificate from a service authority (e.g. Apple Inc.) in order to communicate notifications to client devices. A client application running in a client device can query capabilities of an application server hosting a corresponding server application via a connection established from the client device to the application server. If the query result indicates the application server is push service aware or capable of providing push service, the client application can send a push service command to identify itself to the server application.
In particular, a client application running in a client device can present, via a push service command, a device token of the client device to a server application to allow a server hosting the server application to push messages or notifications to the client device. In response to the push service command, the server application can identify a notification topic or an identifier for the server which the client device can listen to or watch for receiving messages pushed from the server.
In some embodiments, a push service command from a client application to a server application can include named value pairs such as a version number for a push protocol for the corresponding application, an account identifier, a device token to allow the a server (e.g. running the server application) to contact a client device hosting the client application and/or a subtopic identifier identifying the client application. The account identifier and/or the subtopic identifier may remain opaque to the server to be passed to a push service (or a push server). Notification messages to the client device for the client application may carry along the account identifier and the subtopic identifier.
In one embodiment, a response to a push service command from a server application to a client application can include named values including a version number for a push protocol and a topic identifier associated with a server hosting the server application. The topic identifier may be used to register a provider certificate for the server to enable the server to push notification messages to a client device running the client application. In certain embodiments, the client device and the server may perform handshake exchanges via the push service command/response, for example, to negotiate a version of the push protocol for message notification from the server application to the client application (e.g. identifying highest supported version for both the server and client applications).
According to one embodiment a subtopic for client applications may provide one or more additional levels of indirection on top of a topic associated with application servers. For example, a subtopic may direct notification messages targeting a client application. A client application can register for a topic and subtopic pair. Alternatively, a client application and an application server may not be tightly coupled via a subtopic based mechanism. Multiple (client) applications can register for a common subtopic in a topic.
A subtopic may be forwarded from a client application to a server application for registration. In certain embodiments, a subtopic or other levels of naming hierarchies may be registered for a client application for a server application without a need to forwarding the subtopic by the client application.
To illustrate, according to one embodiment, a Contact application, a Calendar application and a Word application may belong to an Office suite of applications. The Contact application may register a subtopic “contacts” under a general topic “office”. The Calendar application may choose to register for the exact same subtopic (i.e. “contact”) and topic pair (i.e. “contact” and “office”) as for the Contact application in order to provide a better, more up-to-date usage experience, e.g. to add birthdays. The Word application, however, may register under the general topic “office” without registering for the subtopic “contact”. Thus, registering with a subtopic may not to necessarily enforce a one-to-one mapping for (or to target) a specific application. A server may not need to know or share subtopic information with a client. For example, the server may associate a change in contact data with a specific subtopic, e.g. “contact” and use the subtopic for a push protocol as an inherent mechanism.
FIG. 1 is a block diagram illustrating one embodiment of networked systems for message notification.Networked systems100 may include one or more servers (or hosts), such asapplication server101, anotification server105, e.g. APN (Apple Push Network) server, coupled to one or more devices, such as mobile device109 (e.g. an iPhone device) via networks107. In one embodiment, network107 may allow network connections (e.g. for sending a push notification) betweennotification server105,mobile device109 and/orapplication server101 via the open Internet, an intranet, firewall protected secure networks, wide area cellular networks (e.g. a 3G network), etc. Networks107 may be wired, wireless (such as Wi-Fi, Bluetooth etc), or a combination of both.
According to one embodiment,application server101 may include one single server device or a cluster of locally or remotely distributed server devices.Application server101 may host one or more separate server applications, such asserver application117, serving corresponding client applications running in client devices, such asmobile device109. Server applications may include a mail server, a calendar server, a contact server, a device management server or other applicable server applications. In one embodiment,application server101 may register a certificate fromnotification server105 to push or send notification messages tomobile device109. The registration may assigntopic103 as an identifier (e.g. included in a registered certificate) identifyingapplication server101.Mobile device109 may listen totopic103 for messages originating fromapplication server101 via a push service, such as Apple Push Network Service from Apple Inc., provided bynotification server105.
In one embodiment,mobile device109 can host multiple clientapplications including application111. A client application can be a mobile mail application, calendar application, contact application, device management application or other applicable client application which may be served by a corresponding server application.Mobile device109 may register with a push service, e.g. vianotification server105, to obtain adevice token115 for enabling themobile device109 to receive messages pushed from a server, such asapplication server101, via the push service.Device token115 may identify and/or certifymobile device109 for routing notification messages via the push service. Additionally,subtopic113 may be generated inmobile device109 to uniquely identifyapplication111 among different client applications in the device.
In one embodiment,application111 may forwarddevice token115 andsubtopic113 to acorresponding server application117 forapplication server101 to push notification messages tomobile device109. In turn,application server101 may reply withtopic103 formobile device109 to listen to for receiving notification messages pushed fromapplication server101. The notification messages may embed subtopic113 to allowmobile device109 to directly deliver the messages toapplication111 identified bysubtopic113 without invoking other client applications in the device.
FIG. 2 is a block diagram illustrating exemplary components in a mobile device for managing notification messages according to the embodiments described herein. For example,mobile device109 may register for a push service vianetwork systems100 ofFIG. 1. In one embodiment, notification management module201 may provide a framework for the push service insidemobile device109. Notification management module201 may receivedevice token115 during a service (e.g. push service) connection process to identifymobile device109 as certified or trusted to receive notification messages pushed via the push service. In one embodiment, notification management module201 may determine whether a message pushed from the push service is destined formobile device109 according to whether the message matches or includesdevice token115.
According to one embodiment, notification management module201 may generate subtopic113, e.g. in response to a request fromapplication111, as a client applicationidentifier identifying application111 withinmobile device109.Application111 may forward subtopic113 anddevice token115 to register for receiving message notification from a corresponding server application, such as severapplication117 ofFIG. 1. In one embodiment,application111 may subscribe or listen to a topic, such astopic103 ofFIG. 1, via notification management module201. More than one application inmobile device109 may register or subscribe to a common topic. Notification management module201 may topic subscription data insubscription profile203 indicating which topic is currently being subscribed by which application.
On receiving a notification message pushed over a push service, notification management module201 can extract a token from the arriving notification message to determine if the notification message is destined formobile device109 based on, for example, a match between the token anddevice token115. Notification management module201 may identify a topic from the received notification message to identify which client applications should be notified with the received notification message according tosubscription profile203. Optionally, notification management module201 may determine whether the received notification message carries a subtopic (e.g. a string) to deliver the received notification message directly to a client application identified by the subtopic string, such asapplication111 identified bysubtopic113, without invoking or notifying other applications also subscribing to the topic included in the received notification message.
FIG. 3 is a block diagram illustrating exemplary components for an application server to provide notification messages. For example,application server101 may push notification messages to client devices via notification sever105 overnetwork systems100 ofFIG. 1. In one embodiment,notification module301 may receivetopic103 to identifyapplication server101 as part of a certificate received from an authority of a push service.Server application117 may passtopic103, e.g. retrieved vianotification module301, to a client device, such asmobile client109 ofFIG. 1, to enable the client device to listen to messages pushed fromapplication server101.
In one embodiment,notification service registry303 may store device tokens and associated data received from registered client devices for message notification fromserver application117 or other server applications hosted inapplication server101.Notification service registry303 may be based on memory or mass storage devices locally or remotely coupled toapplication server101. In one embodiment, a device token innotification service registry303 may be associated with data such as subtopics forwarded from a client application to register for message notification. The associated data may remain opaque toapplication server101 and/ornotification server105. For example, no processing resources may be allocated inapplication server101 for the associated data except for storing, retrieving, removing and/or forwarding these data. When pushing a notification message to a client device identified by a device token, severapplication117 may forward the device token together with its associated data andtopic103 tonotification server105, for example, vianotification module301.
FIG. 4 is a sequence diagram illustrating exemplary message exchanges between a mobile device and an application server according to the embodiments described herein. In one embodiment,mobile device109,application server101 andnotification105 may be coupled with each other via network107 ofFIG. 1.Mobile device109 may receive a device token, such asdevice token115 ofFIG. 1, from push service, e.g. vianotification server105, prior to registering for messagenotification application server101, e.g. beforeinstance401.Application server101 may receive a certificate from a secure authority of a push service to authorizeapplication server101 to establish a connection to a push server, such asnotification server105. The certificate received may include a topic as a string, such astopic103 ofFIG. 1, for identifyingapplication server101.
In one embodiment, a client application, e.g. mobile mail, ofmobile device109 may initiate a network connection with a corresponding server application, e.g. an IMAP server, hosted inapplication server101 to register for message notification from the server application. Atsequence401, the client application may initiate a network connection betweenmobile device109 andapplication server101 to send a query request for inquiring which capabilities are supported by the server application. In response, atsequence403, the server application may reply with indicators indicating availability of a push option, for example, based on a protocol including XAPPLEUSHSERVICE indicator.
In turn, at sequence405, a client application may send a command frommobile device109 toapplication server101 to register for message push or notification. The command may include parameters with names or identifiers to allow a server application to addressmobile device109 and/or the client application. In one embodiment, the parameters may be based on named values including a device token ofmobile device109. Optionally, the parameters may include a subtopic, e.g. “com.apple.mobilemail”, uniquely owned by the client application withinmobile device109. Atsequence407, an application server may reply with a topic identifyingapplication server101. A topic may be a string, e.g. “com.google.push”, which can be used to identify messages pushed fromapplication server101 via a push service shared by multiple servers. Additional application specific transactions may be exchanged over the same network connection established for registering message notification betweenmobile device109 andapplication server101. This network connection may be disconnected whilemobile device109 is waiting for notifications fromapplication server101.
Subsequently, a server application may generate a notification message to be pushed tomobile device109, e.g. in response to occurrences of certain application specific events, such as the arrival of new mails in an IMAP server. The server application may package the notification messages with a device token and passing data associated with the device token, for example, including a subtopic of a client application registered (or stored) formobile device109. Atsequence409,application server101 may send the notification message with a topic identifying theapplication server101 vianotification server105 tomobile device109. In turn, at sequence411,notification server105 may push the notification message tomobile device109 via a push network service.
On the arrival of a notification message,mobile device109 may verify a topic and/or a device token of the message before forwarding the message to interested client applications.Mobile device109 may ignore the message if the verification fails (e.g. the topic is not subscribed and/or the device token does not match a local device token). Optionally,mobile device109 may extract a subtopic from a payload of the notification message to deliver the notification message only to the client application named by the subtopic without forwarding to other applications subscribing to the topic.Mobile device109 may invoke the client application if the client application is in a sleep state or not currently running to receive the notification message. In turn, atsequence413, the client application may initiation a connection with a corresponding server application inapplication server101 to perform application specific transactions (e.g. retrieving mail messages).
FIG. 5 is a flow diagram illustrating one embodiment of a process to enable a mobile device to route a notification message to an identified client application.Exemplary process500 may be performed by a processing logic that may comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a dedicated machine), or a combination of both. For example,process500 may be performed by some components ofsystem100 ofFIG. 1. Atblock501, the processing logic ofprocess500 can generate an application identifier (e.g. a subtopic) for a client application residing in a client device identified by a device token, the client application to perform transactions with a server application hosted by one or more application servers identified by a server identifier (e.g. a topic).
At block503, in one embodiment, the processing logic ofprocess500 may register message notification service from application servers for a client application. The processing logic ofprocess500 may forward identifiers (e.g. including a subtopic for the client application identifier and a device token of the client device) associated with the client application to a server application hosted in the application servers to enable the server application to push notification messages to the client device for the client application.
Atblock505, in response to receiving a notification message from an application server, the processing logic ofprocess500 may determine whether the notification message carries an application identifier. In one embodiment, the processing logic ofprocess500 may extract a token and a topic (e.g. based on named values) from the notification message to verify if the notification message is intended to be received by a mobile device. In one embodiment, the processing logic ofprocess500 may identify the application identifier, e.g. a subtopic, from a payload of the notification message.
If an application identifier or a subtopic is identified, atblock507, the processing logic ofprocess500 may forward the notification message to a client application identified by the subtopic without forwarding the notification message to other applications subscribing to a topic of the notification message. The processing logic ofprocess500 may select the client application identified by the subtopic among multiple client applications subscribing to the topic in a client device. Otherwise, if no subtopic is found in the notification message, the processing logic ofprocess500 may forward the notification message to each client application subscribing to the topic for the client application to determine whether to process the notification message (e.g. based on content carried in the message).
FIG. 6 is a flow diagram illustrating one embodiment of a process to provide notification messages from an application server to an application client.Exemplary process600 may be performed by a processing logic that may comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a dedicated machine), or a combination of both. For example,process600 may be performed by some components ofsystem100,such application server101 inFIG. 1. Atblock601, the processing logic ofprocess600 can receive a registration request from a client application in a client device for message notification from a server application hosted in an application server. The registration request may include an identifier for the client device (e.g. a device token) and optionally an additional identifier for the client application (e.g. a subtopic).
At block603, the processing logic ofprocess600 may send a server identifier (e.g. a topic) identifying an application server to a client device to allow the client device to listen to messages notified (or pushed) from the application server. In one embodiment, the processing logic ofprocess600 may store the identifiers including a device token for a push service to address a notification message for the client device atblock605. The stored identifiers may include a subtopic to identify a client application in the client device for receiving the notification message.
In one embodiment, atblock607, the processing logic ofprocess600 may generate a notification message for a client application registered for receiving the message according to stored identifiers for a client device hosting the client application. For example, the notification message may indicate an occurrence of an event in a server application related to an account associated with the client application, such as the arrival of new mail messages, a chat request, a schedule update, or other applicable events. The notification message may be packaged with a client token identifying the client device and a payload including a subtopic identifying the client application. At block609, the processing logic ofprocess600 may send the notification message including a topic identifying an originating application server to the client device via a push service. The notification message may carry the subtopic embedded in a payload of the message for identifying the client application. Subsequently atblock611, the processing logic ofprocess600 may perform application specific transactions over a network session established from the client application with the server application.
Atblock613, the processing logic ofprocess600 may determine if a condition to stop sending notification messages to a client application or a client device is satisfied. The client application may have registered for receiving the notification messages from a server application. In one embodiment, the processing logic ofprocess600 may monitor a duration or elapse time for the client device since sending a latest notification message to the client device. If the duration exceeds a threshold (e.g. one day, 12 hours, etc., which may be preconfigured or dynamically configured), the condition to stop sending notification messages to the client device may be satisfied. At block615, the processing logic ofprocess600 may deregister the client device from the message notification (or push service) of the server application if the condition is satisfied. The client device may be removed from a list of notification recipients for the server application. For example, the processing logic ofprocess600 may remove entries associated with a device token identifying the client device, including data carrying a subtopic identifying the client application of the client device, from a registry for message notification.
FIG. 7 shows one example of a data processing system which may be used with the embodiments described herein. Thedata processing system700 shown inFIG. 7 includes aprocessing system711, which may be one or more microprocessors, or which may be a system on a chip integrated circuit, and the system also includesmemory701 for storing data and programs for execution by the processing system. Thesystem700 also includes an audio input/output subsystem705 which may include a microphone and a speaker for, for example, playing back music or providing telephone functionality through the speaker and microphone. Thesystem700 can, in at least certain embodiments, request the one or more profiles described herein and download those profiles to configure the device for communication through a network. Thesystem700 can download those profiles from a server data processing system which may be the system shown inFIG. 7. In one embodiment, thesystem700 may be thedevice111 shown inFIG. 1.
A display controller anddisplay device707 provide a visual user interface for the user; this digital interface may include a graphical user interface which is similar to that shown on a Macintosh computer when running OS X operating system software. Thesystem700 also includes one or morewireless transceivers703 to communicate with another data processing system. A wireless transceiver may be a WiFi transceiver, an infrared transceiver, a Bluetooth transceiver, and/or a wireless cellular telephony transceiver. It will be appreciated that additional components, not shown, may also be part of thesystem700 in certain embodiments, and in certain embodiments fewer components than shown inFIG. 7 may also be used in a data processing system.
Thedata processing system700 also includes one ormore input devices713 which are provided to allow a user to provide input to the system. These input devices may be a keypad or a keyboard or a touch panel or a multi touch panel. Thedata processing system700 also includes an optional input/output device715 which may be a connector for a dock. It will be appreciated that one or more buses, not shown, may be used to interconnect the various components as is well known in the art. The data processing system shown inFIG. 7 may be a handheld computer or a personal digital assistant (PDA), or a cellular telephone with PDA like functionality, or a handheld computer which includes a cellular telephone, or a media player, such as an iPod, or devices which combine aspects or functions of these devices, such as a media player combined with a PDA and a cellular telephone in one device. In other embodiments, thedata processing system700 may be a network computer or an embedded processing device within another device, or other types of data processing systems which have fewer components or perhaps more components than that shown inFIG. 7.
FIG. 8 shows one example of a data processing system which may be used with one embodiment of the present invention. Note that whileFIG. 8 illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting the components as such details are not germane to the present invention. It will also be appreciated that network computers and other data processing systems which have fewer components or perhaps more components may also be used with the present invention.FIG. 8 may represent the server system shown inFIG. 1.
As shown inFIG. 8, thecomputer system800, which is a form of a data processing system, includes abus803 which is coupled to a microprocessor(s)805 and a ROM (Read Only Memory)807 andvolatile RAM809 and anon-volatile memory811. Themicroprocessor805 may retrieve the instructions from thememories807,809,811 and execute the instructions to perform operations described above. Thebus803 interconnects these various components together and also interconnects thesecomponents805,807,809, and811 to a display controller anddisplay device813 and to peripheral devices such as input/output (I/O) devices which may be mice, keyboards, modems, network interfaces, printers and other devices which are well known in the art. Typically, the input/output devices815 are coupled to the system through input/output controllers817. The volatile RAM (Random Access Memory)809 is typically implemented as dynamic RAM (DRAM) which requires power continually in order to refresh or maintain the data in the memory.
Themass storage811 is typically a magnetic hard drive or a magnetic optical drive or an optical drive or a DVD RAM or a flash memory or other types of memory systems which maintain data (e.g. large amounts of data) even after power is removed from the system. Typically, themass storage811 will also be a random access memory although this is not required. WhileFIG. 8 shows that themass storage811 is a local device coupled directly to the rest of the components in the data processing system, it will be appreciated that the present invention may utilize a non-volatile memory which is remote from the system, such as a network storage device which is coupled to the data processing system through a network interface such as a modem, an Ethernet interface or a wireless network. Thebus803 may include one or more buses connected to each other through various bridges, controllers and/or adapters as is well known in the art.
The term “memory” as used herein is intended to encompass all volatile storage media, such as dynamic random access memory (DRAM) and static RAM (SRAM). Computer-executable instructions can be stored on non-volatile storage devices, such as magnetic hard disk, an optical disk, and are typically written, by a direct memory access process, into memory during execution of software by a processor. One of skill in the art will immediately recognize that the term “machine-readable storage medium” includes any type of volatile or non-volatile storage device that is accessible by a processor.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of the invention as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.

Claims (20)

What is claimed is:
1. A machine-readable non-transitory medium having instructions, when executed by a machine, cause the machine to perform a method for message notification, the method comprising:
generating a subtopic identifier identifying a client application within a client device, the client application associated with a server application hosted in one or more application servers;
registering a notification service with the application servers for the client application to forward identifiers associated with the client application to the server application to enable the server application to push notification messages to the client device for the client application, a plurality of client applications are hosted in the client device, and the plurality of client applications are registered with the notification service;
in response to receiving a notification message from the application servers, determining if the notification message carries the subtopic identifier of the client application; and
forwarding the notification message to the client application without forwarding the notification message to another one of the plurality of client applications in the client device if the notification message carries the identifier for the client application.
2. The medium ofclaim 1, wherein a plurality of client applications are hosted in the client device and wherein the subtopic identifier uniquely identifying the client application among the plurality of client applications.
3. The medium ofclaim 1, wherein the identifiers include the subtopic identifier.
4. The medium ofclaim 3, wherein the identifiers include a device token uniquely identifying the client device.
5. The medium ofclaim 2, wherein the application servers are uniquely identified by a topic identifier and wherein the registration further comprising:
registering the client application for the topic identifier to listen to notifications from the application servers, wherein more than one of the client applications are registered for the topic identifier.
6. The medium ofclaim 5, wherein each of the more than one of the client applications corresponds to separate server application hosted in the application servers.
7. The medium ofclaim 5, wherein the method further comprises:
initiating a network connection with the application servers; and
sending the identifiers over the network connection to the application servers.
8. The medium ofclaim 7, wherein the method further comprises:
receiving the topic identifier from the network connection, wherein the network connection is disconnected while the client application waiting for the notifications.
9. The medium ofclaim 5, wherein the determination comprises:
extracting the topic identifier from the notification message; and
forwarding the notification message to each client application registered for the topic string if the notification message does not carry the subtopic identifier.
10. The medium ofclaim 1, wherein the forwarding comprises invoking the client application if the client application is not currently active.
11. The medium ofclaim 10, wherein at least one of the other applications is not currently active and wherein the notification message is forwarded without invoking the at least one other application.
12. A machine-readable non-transitory medium having instructions, when executed by a machine, cause the machine to perform a method for providing message notification, the method comprising:
receiving, at a server application hosted in an application server, a registration request from a client application of a client device for the message notification, the request having identifiers including a device token identifying the client device and a client application identifier identifying the client application;
sending a server identifier for the client device to allow the client device to listen to messages pushed from the application server;
storing the received identifiers to register the client device for the message notification; and
sending notification messages to the client device to notify the client application, the notification messages identified by the server identifier and the notification messages embedding the client application identifier, wherein a plurality of client applications are hosted in the client device, the plurality of client applications are registered to receive message notifications, and the notification messages are sent to the client device to notify the client application without forwarding the notification message to another one of the plurality of client applications in the client device.
13. The medium ofclaim 12, wherein the registration request is received over a network connection initiated by the client device, and wherein the server identifier is sent over the network connection.
14. The medium ofclaim 12, wherein the client token is stored associated with an opaque data including the client application identifier, wherein opaque data is data that is passed from the server application to the client application.
15. The medium ofclaim 14, wherein the notification messages include the device token to identify the client device and wherein the opaque data is carried in payloads of the notification messages.
16. The medium ofclaim 12, wherein the sending comprises:
establish a network connection with a push server in a push service; and
sending the notification messages over the network connection to the push server, wherein the notification messages are packaged with the server identifier.
17. The medium ofclaim 16, wherein the server identifier is received in a certificate from an authority of the push service, and wherein the server identifier uniquely identifies the application server sharing the push service.
18. A machine implemented method for message notification, the method comprising:
generating a subtopic identifier identifying a client application within a client device, the client application associated with a server application hosted in one or more application servers;
registering notification service with the application servers for the client application to forward identifiers associated with the client application to the server application to enable the server application to push notification messages to the client device for the client application, a plurality of client applications are hosted in the client device, and the plurality of client applications are registered with the notification service;
in response to receiving a notification message from the application servers, determining if the notification message carries the subtopic identifier of the client application; and
forwarding the notification message to the client application without forwarding the notification message to another one of the plurality of client applications in the client device if the notification message carries the identifier for the client application.
19. A machine implemented method for providing message notification, the method comprising:
receiving, at a server application hosted in an application server, a registration request from a client application of a client device for the message notification, the request having identifiers including a client token identifying the client device and a client application identifier identifying the client application;
sending a server identifier for the client device to allow the client device to listen to messages pushed from the application server;
storing the received identifiers to register the client device for the message notification; and
sending notification messages to the client device via the client token to notify the client application, the notification messages identified by the server identifier and the notification messages embedding the client application identifier, wherein a plurality of client applications are hosted in the client device, the plurality of client applications are registered to receive message notifications, and the notification messages are sent to the client device to notify the client application without forwarding the notification message to another one of the plurality of client applications in the client device.
20. An apparatus, comprising:
a memory storing executable instructions including a server application;
a network interface coupled to a push network;
a processor coupled to the network interface and the memory to execute the executable instructions from the memory for the messaging services, the processor being configured to:
in response to an initiation from a client device, establishing a first network connection with the client device via the network interface,
receiving, at the server application, a registration request from the client application of a client device over the first network connection, the request having identifiers including a client token identifying the client device and a client application identifier identifying the client application,
sending a server identifier for the client device to allow the client device to listen to messages pushed from the application server,
storing the received identifiers to register the client device for the message notification,
sending notification messages to the client device over a second network connection to the push network via the network interface, the notification messages having the client token to notify the client application, the notification messages identified by the server identifier and the notification messages embedding the client application identifier, wherein a plurality of client applications are hosted in the client device, the plurality of client applications are registered to receive message notifications, and the notification messages are sent to the client device to notify the client application without forwarding the notification message to another one of the plurality of client applications in the client device.
US13/195,7722009-02-252011-08-01Managing notification messagesActive2029-06-22US8630624B2 (en)

Priority Applications (9)

Application NumberPriority DateFiling DateTitle
US13/195,772US8630624B2 (en)2009-02-252011-08-01Managing notification messages
CN201280038014.1ACN103718578B (en)2011-08-012012-07-30Method and device for notification messages and providing notification messages
JP2014524009AJP5745696B2 (en)2011-08-012012-07-30 Managing notification messages
KR1020147004614AKR101417722B1 (en)2011-08-012012-07-30Managing notification messages
EP12743863.8AEP2740283B1 (en)2011-08-012012-07-30Managing notification messages
PCT/US2012/048801WO2013019708A2 (en)2011-08-012012-07-30Managing notification messages
TW101127691ATWI465135B (en)2011-08-012012-07-31Managing notification messages
US14/150,352US9485208B2 (en)2009-02-252014-01-08Managing notification messages
US15/296,553US9985917B2 (en)2009-02-252016-10-18Managing notification messages

Applications Claiming Priority (3)

Application NumberPriority DateFiling DateTitle
US12/392,679US8364123B2 (en)2009-02-252009-02-25Managing notification messages
US37007510P2010-08-022010-08-02
US13/195,772US8630624B2 (en)2009-02-252011-08-01Managing notification messages

Related Parent Applications (1)

Application NumberTitlePriority DateFiling Date
US12/392,679Continuation-In-PartUS8364123B2 (en)2008-06-022009-02-25Managing notification messages

Related Child Applications (1)

Application NumberTitlePriority DateFiling Date
US14/150,352ContinuationUS9485208B2 (en)2009-02-252014-01-08Managing notification messages

Publications (2)

Publication NumberPublication Date
US20110289172A1 US20110289172A1 (en)2011-11-24
US8630624B2true US8630624B2 (en)2014-01-14

Family

ID=46634563

Family Applications (3)

Application NumberTitlePriority DateFiling Date
US13/195,772Active2029-06-22US8630624B2 (en)2009-02-252011-08-01Managing notification messages
US14/150,352Active2029-04-09US9485208B2 (en)2009-02-252014-01-08Managing notification messages
US15/296,553ActiveUS9985917B2 (en)2009-02-252016-10-18Managing notification messages

Family Applications After (2)

Application NumberTitlePriority DateFiling Date
US14/150,352Active2029-04-09US9485208B2 (en)2009-02-252014-01-08Managing notification messages
US15/296,553ActiveUS9985917B2 (en)2009-02-252016-10-18Managing notification messages

Country Status (7)

CountryLink
US (3)US8630624B2 (en)
EP (1)EP2740283B1 (en)
JP (1)JP5745696B2 (en)
KR (1)KR101417722B1 (en)
CN (1)CN103718578B (en)
TW (1)TWI465135B (en)
WO (1)WO2013019708A2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20120258747A1 (en)*2011-04-062012-10-11Samsung Electronics Co., Ltd.Server cluster and method for push notification service
US9485208B2 (en)2009-02-252016-11-01Apple Inc.Managing notification messages
US20170085541A1 (en)*2015-09-222017-03-23Microsoft Technology Licensing, LlcRole-based notification service
US9742818B2 (en)2014-12-102017-08-22Oracle International CorporationPushing events to web pages used for interaction with applications
US10462094B2 (en)2016-01-072019-10-29International Business Machines CorporationSyndicated cloud-based notification as a service
US10462244B2 (en)2016-01-072019-10-29International Business Machines CorporationSyndicated cloud-based notification as a service
US10958611B2 (en)*2016-08-082021-03-23Line CorporationMethod and system for providing message-based notification

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US8521809B2 (en)*2009-07-312013-08-27Z2Live, Inc.Mobile device notification controls system and method
KR101664430B1 (en)*2009-11-132016-10-10삼성전자주식회사Method and apparatus for providing remote UI service
US8924489B2 (en)*2011-01-052014-12-30Apple Inc.Message push notification client improvements for multi-user devices
US8407776B2 (en)2011-02-112013-03-26Good Technology CorporationMethod, apparatus and system for provisioning a push notification session
JP2012244463A (en)*2011-05-202012-12-10Sony CorpReception terminal, information processing method, program, server, transmission terminal, and information processing system
WO2013015835A1 (en)*2011-07-222013-01-31Seven Networks, Inc.Mobile application traffic optimization
US8788881B2 (en)*2011-08-172014-07-22Lookout, Inc.System and method for mobile device push communications
US10148762B2 (en)*2011-10-182018-12-04Facebook, Inc.Platform-specific notification delivery channel
GB2497076A (en)*2011-11-232013-06-05SkypeDelivering only selected communication events to a user terminal or to a user
US20130144974A1 (en)*2011-12-022013-06-06Notice Software LLCMethod and system for facilitating push notification
TWI467509B (en)*2011-12-062015-01-01Mitake Information CorpFinancial quotation sever, system and method for pushing a notification to multi platforms
US8996069B2 (en)2011-12-272015-03-31Vonage Network, LlcSystems and methods for communication notification and handling
KR20130083667A (en)*2012-01-132013-07-23삼성전자주식회사Mobile communication and method for providing push service thereof
US9369988B1 (en)*2012-02-132016-06-14Urban Airship, Inc.Push reporting
US11593800B2 (en)2012-03-072023-02-28Early Warning Services, LlcSystem and method for transferring funds
US20130246538A1 (en)*2012-03-132013-09-19Sap AgDelivering Notification in an Internal Network
US9100497B2 (en)*2012-04-052015-08-04Blackberry LimitedMethod, system and apparatus for managing persona-based notifications at a communication device
US9071564B2 (en)2012-06-072015-06-30Apple Inc.Data synchronization using mail and push notification services
US10314492B2 (en)2013-05-232019-06-11Medibotics LlcWearable spectroscopic sensor to measure food consumption based on interaction between light and the human body
US9582035B2 (en)2014-02-252017-02-28Medibotics LlcWearable computing devices and methods for the wrist and/or forearm
US20130346589A1 (en)*2012-06-212013-12-26Microsoft CorporationNotification-based monitoring of web resources
US8893152B2 (en)*2012-09-062014-11-18Intel CorporationApplication registration with a non-OS service
US9509653B2 (en)*2012-10-292016-11-29Google Inc.Systems and methods for directing messages to multiple user profiles on a mobile device
US20140123157A1 (en)*2012-10-312014-05-01Nokia CorporationMethod and apparatus for providing application notifications
WO2014168609A1 (en)*2013-04-092014-10-16Nokia Siemens Networks OyMethod and apparatus for traffic re-routing based on application-layer traffic optimization services in wireless networks
US20140337424A1 (en)*2013-05-102014-11-13Apple Inc.Authorizing Push Notifications for Websites
CA2912702C (en)2013-05-172017-08-15Initlive Inc.System for quickly finding the whereabouts of friends
US9288164B2 (en)2013-06-072016-03-15Apple Inc.Managing notifications across multiple devices
US9256484B2 (en)*2013-06-092016-02-09Apple Inc.Dynamic adjustment of mobile device based on user activity
CN104426871A (en)*2013-08-292015-03-18中兴通讯股份有限公司Method and device for realizing remote calling
US20150074195A1 (en)*2013-09-092015-03-12Qualcomm IncorporatedIncreasing power savings through intelligent synchronizing of data
KR102053856B1 (en)2013-09-132019-12-09삼성전자주식회사Method and apparatus for providng push service in communication system
WO2015073799A1 (en)*2013-11-152015-05-21Openpeak Inc.Method and system for self-healing of communication network
US9537812B2 (en)2013-12-312017-01-03Google Inc.Methods, systems, and media for managing notifications directed to multiple applications installed on a user device
CN104767775B (en)*2014-01-062019-09-17腾讯科技(深圳)有限公司Web application information push method and system
US10540063B2 (en)2014-01-272020-01-21Microsoft Technology Licensing, LlcProcessing actionable notifications
US10802681B2 (en)*2014-01-272020-10-13Microsoft Technology Licensing, LlcActionable notifications
US10429888B2 (en)2014-02-252019-10-01Medibotics LlcWearable computer display devices for the forearm, wrist, and/or hand
US9760704B2 (en)*2014-05-232017-09-12Blackberry LimitedSecurity apparatus session sharing
US9847990B1 (en)*2014-07-182017-12-19Google Inc.Determining, by a remote system, applications provided on a device based on association with a common identifier
US10243891B2 (en)*2014-08-142019-03-26Oath Inc.Cross-device integration system and method
US20160150027A1 (en)*2014-11-252016-05-26Futurewei Technologies, Inc.Method Of Handling Notification Channel Disconnection
CN105991412B (en)*2015-02-122019-03-19阿里巴巴集团控股有限公司Information push method and device
CN106375363B (en)2015-07-242020-03-06腾讯科技(深圳)有限公司Method, system and device for eliminating message reminding in social application client
CN108028858B (en)*2015-08-272020-12-18匹维托软件公司Mobile computing device, method for operating mobile computing device, and medium
US11290425B2 (en)*2016-02-012022-03-29Airwatch LlcConfiguring network security based on device management characteristics
CN107196843B (en)*2016-03-152021-05-18百度在线网络技术(北京)有限公司Instant messaging method and device
US10546153B2 (en)2016-09-202020-01-28International Business Machines CorporationAttention based alert notification
US10225359B2 (en)2016-09-222019-03-05International Business Machines CorporationPush notifications from multiple tenant servers
CN113852695B (en)*2016-11-012025-02-14鲸彩在线科技(大连)有限公司 Information push method and network architecture
CN106685801A (en)*2016-12-262017-05-17维沃移动通信有限公司 Method for controlling notification message and mobile terminal
CN109286648B (en)*2017-07-212020-11-06比亚迪股份有限公司 Data push method, device, system and terminal device
CN107734146A (en)*2017-09-192018-02-23深圳天珑无线科技有限公司The method of mobile terminal and its shielding notification message, storage device
US11089133B1 (en)2017-11-222021-08-10Amazon Technologies, Inc.Synchronizing data with delayed subscriptions
US11126610B1 (en)2017-11-222021-09-21Amazon Technologies, Inc.Conflict resolution in a data proxy
US10891282B1 (en)2017-11-222021-01-12Amazon Technologies, Inc.Mutations with immediate feedback
US11159634B1 (en)*2017-11-222021-10-26Amazon Technologies, Inc.Subscription fan out
WO2019149990A1 (en)2018-02-032019-08-08Nokia Technologies OyApplication based routing of data packets in multi-access communication networks
US11064039B2 (en)*2018-11-142021-07-13Citrix Systems, Inc.Systems and methods for push notification service for SaaS applications
US12132693B2 (en)*2019-01-312024-10-29Schlumberger Technology CorporationNotification and task management system
CN111694674B (en)*2019-03-132023-08-08北京字节跳动网络技术有限公司Message distribution processing method, device, equipment and storage medium
US20210142328A1 (en)*2019-11-132021-05-13Early Warning Services, LlcSystem and method for preventing fraud in real-time payment transactions
CN111200656A (en)*2020-01-032020-05-26北京小米移动软件有限公司Notification pushing method, device and system
BR112022019948A2 (en)*2020-04-032022-11-22Interdigital Patent Holdings Inc METHODS PERFORMED BY A WIRELESS RECEIVING/TRANSMITTING UNIT AND A SESSION MANAGEMENT FUNCTION
CA3115326C (en)2020-04-142022-01-25Citrix Systems, Inc.Triggering event notifications based on messages to application users
CN114338788B (en)*2020-09-242024-03-15花瓣云科技有限公司Message pushing method, electronic equipment and storage medium
WO2025159892A1 (en)*2024-01-242025-07-31Apple Inc.Push notification management for a reserve esim connection

Citations (17)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5410543A (en)1993-01-041995-04-25Apple Computer, Inc.Method for connecting a mobile computer to a computer network by using an address server
US6424354B1 (en)1992-12-232002-07-23Object Technology Licensing CorporationObject-oriented event notification system with listener registration of both interests and methods
US6512930B2 (en)1997-12-302003-01-28Telefonaktiebolaget Lm Ericsson (Publ)On-line notification in a mobile communications system
US20030061365A1 (en)2001-03-142003-03-27Microsoft CorporationService-to-service communication for network services
WO2004043098A1 (en)2002-11-042004-05-21Research In Motion LimitedMethod and apparatus for packet data service discovery
US6763384B1 (en)*2000-07-102004-07-13International Business Machines CorporationEvent-triggered notification over a network
US20060064700A1 (en)*2004-08-132006-03-23Microsoft CorporationPresenting notifications in response to viewer-initiated actions
US20070050630A1 (en)*2005-08-242007-03-01Samsung Electronics Co., Ltd.Authentication method and system for asynchronous eventing over the internet
US7499995B2 (en)2005-06-282009-03-03International Business Machines CorporationManaging permission for accessing third party applications on a telecommunications network
US20090204666A1 (en)2008-02-132009-08-13Microsoft CorporationPush mechanism for efficiently sending aggregated data items to client
US20090245176A1 (en)2008-03-262009-10-01Qualcomm IncorporatedDevice managed access point lists in wireless communications
US20090298470A1 (en)2008-05-132009-12-03At&T Mobility Ii LlcAdministration of access lists for femtocell service
US7685265B1 (en)*2003-11-202010-03-23Microsoft CorporationTopic-based notification service
US20100138501A1 (en)*2008-12-032010-06-03Microsoft CorporationEnd-to-end validation in a push environment
US20100216434A1 (en)2009-02-252010-08-26Chris MarcellinoManaging Notification Messages
US7853674B2 (en)*2005-01-242010-12-14Research In Motion LimitedSystem and method for provisioning component applications
US7987246B2 (en)*2002-05-232011-07-26Jpmorgan Chase BankMethod and system for client browser update

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2001309439A (en)*2000-04-242001-11-02Nec Software Kyushu LtdReceived data notice system for mobile phone provided with wap application
US7552200B2 (en)*2000-10-192009-06-23Cisco TechnologyApparatus and methods for requesting an event notification over a network
US7363354B2 (en)*2001-11-292008-04-22Nokia CorporationSystem and method for identifying and accessing network services
US7437409B2 (en)2003-06-132008-10-14Microsoft CorporationLimiting interaction between parties in a networked session
US20050160144A1 (en)*2003-12-242005-07-21Rishi BhatiaSystem and method for filtering network messages
US7142848B2 (en)*2004-02-262006-11-28Research In Motion LimitedMethod and system for automatically configuring access control
WO2006002076A2 (en)2004-06-152006-01-05TekelecMethods, systems, and computer program products for content-based screening of messaging service messages
US7660865B2 (en)2004-08-122010-02-09Microsoft CorporationSpam filtering with probabilistic secure hashes
JP4487730B2 (en)2004-11-022010-06-23株式会社日立製作所 Life status notification system
US7681234B2 (en)2005-06-302010-03-16Microsoft CorporationPreventing phishing attacks
US8160563B2 (en)2006-06-302012-04-17Qualcomm IncorporatedMethod and apparatus for controlling response to service notifications in a network environment
US20080086555A1 (en)2006-10-092008-04-10David Alexander FeinleibSystem and Method for Search and Web Spam Filtering
US8113991B2 (en)2008-06-022012-02-14Omek Interactive, Ltd.Method and system for interactive fitness training program
EP2154891B1 (en)*2008-08-112013-03-20Research In Motion LimitedMethods and systems for mapping subscription filters to advertisement applications
US8630624B2 (en)2009-02-252014-01-14Apple Inc.Managing notification messages
CN101562774B (en)*2009-05-222011-10-12北京立通无限科技有限公司Method and system for information management
JP5278272B2 (en)2009-09-292013-09-04沖電気工業株式会社 Network communication apparatus and automatic reconnection method thereof
WO2011130713A1 (en)2010-04-152011-10-20General Instrument CorporationOnline secure device provisioning with updated offline identity data generation and offline device binding
WO2011130711A2 (en)2010-04-152011-10-20General Instrument CorporationCross-domain identity management for a whitelist-based online secure device privisioning framework
US8843112B2 (en)2010-07-022014-09-23Blackberry LimitedMethod and system for data session establishment
US20130097660A1 (en)2011-10-172013-04-18Mcafee, Inc.System and method for whitelisting applications in a mobile network environment

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6424354B1 (en)1992-12-232002-07-23Object Technology Licensing CorporationObject-oriented event notification system with listener registration of both interests and methods
US5410543A (en)1993-01-041995-04-25Apple Computer, Inc.Method for connecting a mobile computer to a computer network by using an address server
US6512930B2 (en)1997-12-302003-01-28Telefonaktiebolaget Lm Ericsson (Publ)On-line notification in a mobile communications system
US6763384B1 (en)*2000-07-102004-07-13International Business Machines CorporationEvent-triggered notification over a network
US20030061365A1 (en)2001-03-142003-03-27Microsoft CorporationService-to-service communication for network services
US7987246B2 (en)*2002-05-232011-07-26Jpmorgan Chase BankMethod and system for client browser update
WO2004043098A1 (en)2002-11-042004-05-21Research In Motion LimitedMethod and apparatus for packet data service discovery
US7685265B1 (en)*2003-11-202010-03-23Microsoft CorporationTopic-based notification service
US20060064700A1 (en)*2004-08-132006-03-23Microsoft CorporationPresenting notifications in response to viewer-initiated actions
US7853674B2 (en)*2005-01-242010-12-14Research In Motion LimitedSystem and method for provisioning component applications
US7499995B2 (en)2005-06-282009-03-03International Business Machines CorporationManaging permission for accessing third party applications on a telecommunications network
US20070050630A1 (en)*2005-08-242007-03-01Samsung Electronics Co., Ltd.Authentication method and system for asynchronous eventing over the internet
US20090204666A1 (en)2008-02-132009-08-13Microsoft CorporationPush mechanism for efficiently sending aggregated data items to client
US20090245176A1 (en)2008-03-262009-10-01Qualcomm IncorporatedDevice managed access point lists in wireless communications
US20090298470A1 (en)2008-05-132009-12-03At&T Mobility Ii LlcAdministration of access lists for femtocell service
US20100138501A1 (en)*2008-12-032010-06-03Microsoft CorporationEnd-to-end validation in a push environment
US20100216434A1 (en)2009-02-252010-08-26Chris MarcellinoManaging Notification Messages

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
David Chartier, "Lots to Like About New iPhone 2.2 Software Update", Tech Policy Summit, Published Nov. 21, 2008, 5 pages.
PCT International Search Report and Written Opinion for PCT International Appln No. PCT/US2012/048801 mailed Mar. 25, 2013. (12 pages).

Cited By (17)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US9485208B2 (en)2009-02-252016-11-01Apple Inc.Managing notification messages
US11057485B2 (en)2011-04-062021-07-06Samsung Electronics Co., Ltd.Server cluster and method for push notification service
US9210231B2 (en)*2011-04-062015-12-08Samsung Electronics Co., LtdServer cluster and method for push notification service
US20160088107A1 (en)*2011-04-062016-03-24Samsung Electronics Co., Ltd.Server cluster and method for push notification service
US20160234327A1 (en)*2011-04-062016-08-11Samsung Electronics Co., Ltd.Server cluster and method for push notification service
US11076012B2 (en)2011-04-062021-07-27Samsung Electronics Co., Ltd.Server cluster and method for push notification service
US9736257B2 (en)*2011-04-062017-08-15Samsung Electronics Co., Ltd.Server cluster and method for push notification service
US20120258747A1 (en)*2011-04-062012-10-11Samsung Electronics Co., Ltd.Server cluster and method for push notification service
US11076011B2 (en)*2011-04-062021-07-27Samsung Electronics Co., Ltd.Server cluster and method for push notification service
US9742818B2 (en)2014-12-102017-08-22Oracle International CorporationPushing events to web pages used for interaction with applications
US9973483B2 (en)*2015-09-222018-05-15Microsoft Technology Licensing, LlcRole-based notification service
US10805282B2 (en)*2015-09-222020-10-13Microsoft Technology Licensing, LlcRole-based notification service
US20180234402A1 (en)*2015-09-222018-08-16Microsoft Technology Licensing, LlcRole-Based Notification Service
US20170085541A1 (en)*2015-09-222017-03-23Microsoft Technology Licensing, LlcRole-based notification service
US10462244B2 (en)2016-01-072019-10-29International Business Machines CorporationSyndicated cloud-based notification as a service
US10462094B2 (en)2016-01-072019-10-29International Business Machines CorporationSyndicated cloud-based notification as a service
US10958611B2 (en)*2016-08-082021-03-23Line CorporationMethod and system for providing message-based notification

Also Published As

Publication numberPublication date
US20110289172A1 (en)2011-11-24
KR101417722B1 (en)2014-07-08
JP2014527665A (en)2014-10-16
CN103718578B (en)2015-03-25
WO2013019708A3 (en)2013-05-16
TW201315268A (en)2013-04-01
US20170041273A1 (en)2017-02-09
KR20140030341A (en)2014-03-11
EP2740283B1 (en)2016-05-25
US9985917B2 (en)2018-05-29
CN103718578A (en)2014-04-09
TWI465135B (en)2014-12-11
US9485208B2 (en)2016-11-01
JP5745696B2 (en)2015-07-08
WO2013019708A2 (en)2013-02-07
US20140164541A1 (en)2014-06-12
EP2740283A2 (en)2014-06-11

Similar Documents

PublicationPublication DateTitle
US9985917B2 (en)Managing notification messages
US11057484B2 (en)Message push notification client improvements for multi-user devices
AU2012348048B2 (en)Contextual and location awareness for device interaction
CN110839078A (en)Proxy push
EP3135022A1 (en)Answering a call with client through a host
CN107204989A (en)Ad blocking method, terminal, server and storage medium
US10952038B2 (en)Method and system for providing calendar services in a universal plug and play home network environment
US20120079063A1 (en)Method, apparatus and system for providing event notifications across a plurality of computers
US10075403B2 (en)Method and system for managing voice mails in a universal plug and play network environment
US9436714B2 (en)System and method for service advertising and discovery
US20120079008A1 (en)Method, apparatus and system for providing event notifications across a plurality of computers

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:APPLE INC., CALIFORNIA

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MARCELLINO, CHRISTOPHER;REEL/FRAME:026688/0779

Effective date:20110717

FEPPFee payment procedure

Free format text:PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCFInformation on status: patent grant

Free format text:PATENTED CASE

FPAYFee payment

Year of fee payment:4

MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment:8

MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment:12


[8]ページ先頭

©2009-2025 Movatter.jp