DE102014225126A1 - A contextual push notification service - Google Patents

A contextual push notification service Download PDF

Info

Publication number
DE102014225126A1
DE102014225126A1 DE102014225126.5A DE102014225126A DE102014225126A1 DE 102014225126 A1 DE102014225126 A1 DE 102014225126A1 DE 102014225126 A DE102014225126 A DE 102014225126A DE 102014225126 A1 DE102014225126 A1 DE 102014225126A1
Authority
DE
Germany
Prior art keywords
context
mobile unit
notification
notification message
received
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.)
Pending
Application number
DE102014225126.5A
Other languages
German (de)
Inventor
Kuntal Dey
Girish Dhanakshirur
Jayakarthik Jayabalan
Sumit Mittal
Sougata Mukherjea
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.)
Maplebear Inc
Original Assignee
International Business Machines Corp
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 US14/133,714 external-priority patent/US9185680B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102014225126A1 publication Critical patent/DE102014225126A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Ein kontextbezogener Push-Benachrichtigungsdienst wird bereitgestellt, der enthält: durch eine Mobileinheit Empfangen einer Benachrichtigungsmeldung. Die Benachrichtigungsmeldung weist wenigstens eine Kontextregel und eine Benachrichtigungsmeldung auf. Die wenigstens eine Kontextregel wird in der Mobileinheit mit wenigstens einer Benutzer-Kontextpräferenz verglichen. Auf der Grundlage der Ergebnisse des Vergleichs wird eine Benachrichtigungsaktion ausgeführt.A context related push notification service is provided that includes: by a mobile unit receiving a notification message. The notification message has at least one context rule and one notification message. The at least one context rule is compared in the mobile unit with at least one user context preference. Based on the results of the comparison, a notification action is executed.

Description

VERWEISREFERENCE

Die vorliegende Anmeldung ist eine Fortsetzung der US-Patentanmeldung Nr. 14/133.714, die am 19. Dezember 2013 eingereicht wurde, und beansprucht gemäß 35 U.S.C. §120 Priorität gegenüber dieser, die hier in ihrer Gesamtheit durch Bezugnahme eingeschlossen ist.The present application is a continuation of U.S. Patent Application No. 14 / 133,714, filed on Dec. 19, 2013, and claimed according to U.S. Pat 35 USC §120 Priority to this, which is hereby incorporated by reference in its entirety.

GEBIETTERRITORY

Die vorliegende Beschreibung bezieht sich allgemein auf drahtlose Datenübertragungen und insbesondere auf einen kontextbezogenen Push-Benachrichtigungsdienst.The present description relates generally to wireless communications, and more particularly to a contextual push messaging service.

HINTERGRUNDBACKGROUND

Für ein Unternehmen bestehen mehrere Möglichkeiten, eine mögliche Zielgruppe mit Neuigkeiten über Ereignisse zu erreichen, die von Interesse sein könnten, wie z. B. ein Schlussverkauf oder eine Versammlungsankündigung. Zu populären Optionen gehören eMail, Textnachrichten (SMS) oder eine Werbeanzeige in einem Webbrowser-Fenster. Bei derartigen Benachrichtigungen handelt es sich um servergestützte Aussendungen. Bei einigen von diesen wie z. B. bei jenen, die in einem Webbrowser-Fenster zugestellt werden, wird davon ausgegangen, dass sie von der möglichen Zielgruppe zufällig entdeckt werden. Demzufolge können einige Personen in der möglichen Zielgruppe durch wiederholte oder unerwünschte Benachrichtigungen überfordert sein, während andere Personen möglicherweise überhaupt keine Benachrichtigungen empfangen möchten. Die Popularität von Mobileinheiten wie z. B. Smartphones und Tablet-PCs beeinflusst in zunehmendem Maße die Art und Weise, wie Erzeuger von Inhalten, z. B. ein Werbetreibender einer Firma oder ein anderes Unternehmen, mögliche Verbraucher ihrer Inhalte erreichen. Ein Werbetreibender kann möglicherweise seine Inhalte bei dem Versuch, eine möglichst große potenzielle Zielgruppe zu erreichen, auf allen möglichen Plattformen veröffentlichen. Der Werbetreibende kann zusätzlich die Anzahl erhöhen, wie häufig die Werbung modifiziert wird, so dass sie für die mögliche Zielgruppe attraktiver wird. Diese Flexibilität beim Erzeugen von Werbeinhalten kann den Werbetreibenden befähigen, eine größere Zielgruppe in stärkerem Maße zeitnah und im Vergleich zu herkömmlicheren Verfahren wie z. B. Druckverfahren kostengünstiger zu erreichen. Ein Benutzer einer Mobileinheit kann dagegen daran interessiert sein, einen bestimmten Werbeinhalt zu empfangen, kann jedoch durch dessen Häufigkeit und Umfang leicht überfordert und irritiert werden. Wenn ein Kompromiss zwischen den Interessen von Werbetreibenden und Verbrauchern erreicht werden kann, kann das für beide Seiten nützlich sein.There are several ways for a business to reach a potential audience with news about events that may be of interest, such as: For example, a sales or an assembly announcement. Popular options include email, text messaging (SMS), or an ad in a web browser window. Such notifications are server-based transmissions. For some of these, such as Those served in a web browser window are presumed to be accidentally discovered by the potential audience. As a result, some people in the potential audience may be overwhelmed by repetitive or unwanted alerts, while others may not want to receive alerts at all. The popularity of mobile units such. As smartphones and tablet PCs increasingly influenced the way how producers of content, such. As an advertiser of a company or another company, potential consumers reach their content. An advertiser may be able to publish content on all possible platforms while trying to reach as large a potential audience as possible. The advertiser can also increase the number of times the ad is modified to make it more attractive to the potential audience. This flexibility in generating advertising content can enable the advertiser to more timely and in a more timely manner target a larger audience as compared to more traditional methods such as: B. printing process to achieve more cost-effective. A user of a mobile unit, on the other hand, may be interested in receiving a particular advertising content, but may be easily overwhelmed and irritated by its frequency and scope. If a compromise between the interests of advertisers and consumers can be achieved, it can be useful for both sides.

KURZDARSTELLUNGSUMMARY

Unter Anderem wird ein kontextbezogener Dienst für Push-Benachrichtigungen bereitgestellt. Gemäß einer Ausführungsform der Erfindung beinhaltet ein kontextbezogener Dienst für Push-Benachrichtigungen: durch eine Mobileinheit Empfangen einer Benachrichtigung, die wenigstens eine kontextbezogene Regel aufweist; und einer Benachrichtigung. Die empfangene, wenigstens eine Kontextregel wird in der Mobileinheit mit wenigstens einer Benutzer-Kontextpräferenz verglichen. Eine Benachrichtigungsaktion erfolgt in der Mobileinheit auf der Grundlage des Vergleichens der empfangenen, wenigstens einen Kontextregel mit der wenigstens einen Benutzer-Kontextpräferenz.Among other things, a contextual push notification service is provided. According to one embodiment of the invention, a push-to-context contextual service includes: receiving, by a mobile unit, a notification having at least one contextual rule; and a notification. The received, at least one context rule is compared in the mobile unit with at least one user context preference. A notification action is performed in the mobile unit based on comparing the received, at least one context rule with the at least one user context preference.

KURZBESCHREIBUNG DER MEHREREN ZEICHNUNGSANSICHTENBRIEF DESCRIPTION OF THE SEVERAL DRAWING VIEWS

Diese sowie weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden genauen Beschreibung von veranschaulichenden Ausführungsformen deutlich, die im Zusammenhang mit den beigefügten Zeichnungen zu lesen ist. Die zahlreichen Merkmale der Zeichnungen sind nicht maßstabsgerecht, da die Darstellungen zur Verdeutlichung dienen, damit ein Fachmann die Erfindung in Verbindung mit der genauen Beschreibung verstehen kann. In den Zeichnungen sind:These and other objects, features and advantages of the present invention will become more apparent from the following detailed description of illustrative embodiments which is to be read in conjunction with the accompanying drawings. The numerous features of the drawings are not to scale as the illustrations are illustrative for a person skilled in the art to understand the invention in conjunction with the detailed description. In the drawings are:

1 ein Funktionsschaubild, das eine beispielhafte Ausführungsform eines Systems für einen kontextbezogenen Dienst für Push-Benachrichtigungen darstellt; 1 a functional diagram illustrating an exemplary embodiment of a context-aware push-notification service system;

2 ein Ablaufplan, der eine beispielhafte Ausführungsform eines Verfahrens für einen kontextbezogenen Dienst für Push-Benachrichtigungen darstellt; 2 a flowchart illustrating an example embodiment of a method for a contextual service for push notifications;

3 ein Funktionsschaubild einer Architektur eines Client-Agenten in einer Mobileinheit gemäß einer beispielhaften Ausführungsform des Verfahrens von 2, und 3 a functional diagram of an architecture of a client agent in a mobile unit according to an exemplary embodiment of the method of 2 , and

4 ein schematisches Funktionsschaubild von Hardware und Software der Computerumgebung gemäß einer Ausführungsform des Verfahrens von 2. 4 a schematic functional diagram of hardware and software of the computer environment according to an embodiment of the method of 2 ,

GENAUE BESCHREIBUNGPRECISE DESCRIPTION

Ausführungsformen der vorliegenden Erfindung werden nun unter Bezugnahme auf die Figuren beschrieben.Embodiments of the present invention will now be described with reference to the figures.

In den 1 bis 2 stellen ein System 100 und ein Verfahren 200 eines kontextbezogenen Dienstes für Push-Benachrichtigungen eine beispielhafte Umsetzung für einen kontextbezogenen Dienst für Push-Benachrichtigungen bereit. In the 1 to 2 make a system 100 and a procedure 200 A push-push context-sensitive service provides an example implementation for a push-notification contextual service.

1 ist ein Funktionsschaubild einer beispielhaften Ausführungsform eines Systems 100 für einen kontextbezogenen Dienst für Push-Benachrichtigungen. Das System 100 enthält zumindest die Push-Umgebung 140 des Unternehmens und die mobile Umgebung 120. Die Push-Dienst-Umgebung 130 kann in der Push-Umgebung 140 des Unternehmens enthalten sein, wobei das Unternehmen sowohl die Funktionen zum Erstellen von Benachrichtigungsmeldungen als auch ein Formatieren und Zustellen der Benachrichtigungsmeldungen zu den Ziel-Mobileinheiten 127 in den verschiedenen Teilnehmernetzwerken ausführt. Die Push-Umgebung 140 des Unternehmens enthält eine Umgebung 148 zum Erstellen von Push-Benachrichtigungen, aus der ein Entwickler Push-Benachrichtigungsmeldungen bilden kann. Bei der Umgebung 148 zum Erstellen von Push-Benachrichtigungen kann es sich um eine Arbeitsstation oder eine andere Eingabeeinheit handeln, die mit Software-Entwicklungstools eingerichtet ist, die zum Erstellen von Push-Benachrichtigungen geeignet sind, wie z. B. JavaPNS, PHP und JSON. 1 FIG. 4 is a functional diagram of an exemplary embodiment of a system. FIG 100 for a contextual push notification service. The system 100 contains at least the push environment 140 of the company and the mobile environment 120 , The push service environment 130 can in the push environment 140 of the enterprise, whereby the enterprise has both the functions for creating notification messages as well as formatting and delivering the notification messages to the target mobile units 127 in the different participant networks. The push environment 140 of the company contains an environment 148 to create push notifications that a developer can use to create push notification messages. In the environment 148 Push notifications can be a workstation or other input device that is set up with software development tools that can be used to create push notifications, such as: JavaPNS, PHP and JSON.

Die Push-Umgebung 140 des Unternehmens enthält außerdem eine Umgebung 149 zum Erstellen von Kontextregeln des Unternehmens, in der der Entwickler eine Gruppe von Kontextregeln erzeugen kann, die möglicherweise die Teilnehmer durch ein oder mehrere Kriterien in einem Bereitstellungsprofil einer Anwendung weiter segmentieren. Die Liste von Teilnehmern, die eine Anwendung installiert haben und zum Empfangen von Meldungen von der Anwendung registriert sind, kann als das Bereitstellungsprofil der Anwendung bezeichnet werden. Bei der Verwaltungseinrichtung 147 der Push-Umgebung kann es sich um eine Arbeitsstation handeln, die für die Verwaltung und den Betrieb der Push-Umgebung 140 des Unternehmens eingerichtet ist wie z. B. Leistungsüberwachung, Software-Aktualisierungen und Benutzerverwaltung. Die Umgebung 145 zur Analyse von Push-Benachrichtigungen ist möglicherweise so eingerichtet, dass sie Rückmeldungsergebnisse empfängt, die einen Zählwert von Benachrichtigungsmeldungen enthalten, die gesendet wurden, zusammen mit einem Zählwert, der angibt, wie oft Benachrichtigungen von Teilnehmern zum Empfangen oder Ignorieren ausgewählt wurden. Durch Anwenden von statistischen und anderen Analysen kann die Wirksamkeit von Benachrichtigungsmeldungen gemessen und verbessert werden. Die Push-Umgebung 140 des Unternehmens kann außerdem eine Speichereinrichtung 138 für Benachrichtigungen enthalten, in der Bereitstellungsprofile der Anwendung, Teilnehmerlisten, Muster von Benachrichtigungsmeldungen und analytische Daten gespeichert werden können. Bei der Speichereinrichtung 138 für Benachrichtigungen kann es sich um eine dauerhafte Speichereinheit handeln. Die Speichereinrichtung 138 für Benachrichtigungen ist zwar als eine einzelne Einheit dargestellt, sie kann jedoch eine Kombination aus festeingebauten und/oder auswechselbaren Speichereinheiten sein, wie z. B. festeingebaute Plattenlaufwerke, ein Speicherbereich-Netzwerk (SAN), Halbleiterdatenträger, Floppy-Disk-Laufwerke, Bandlaufwerke, auswechselbare Speicherkarten oder optische Speichereinrichtungen. Die Funktionen der verschiedenen Komponenten in der Push-Benachrichtigungs-Umgebung 140 des Unternehmens kann durch mehrere Software-Module in einem Computer oder mehreren speziellen Computern ausgeführt werden. Wenn die Push-Benachrichtigungs-Umgebung 140 des Unternehmens in mehreren Software-Modulen umgesetzt ist, stellt das Bezugszeichen 190 einen Bus dar, über den der Datenaustausch zwischen den Software-Modulen erfolgt. Die mehreren Software-Module nutzen Ressourcen des Host-Computers gemeinsam wie z. B. den bzw. die Prozessoren 191, den Speicher 192 und die Speichereinrichtung 138 für Benachrichtigungen.The push environment 140 The company also contains an environment 149 to create context rules of the enterprise where the developer can create a set of context rules that may further segment the participants by one or more criteria in a deployment profile of an application. The list of subscribers who have installed an application and are registered to receive messages from the application may be referred to as the application's provisioning profile. At the administrative facility 147 The push environment may be a workstation responsible for managing and operating the push environment 140 of the company is set up such. Performance monitoring, software updates and user management. The environment 145 Push Notification Analysis may be set up to receive feedback results that include a count of notification messages that have been sent, along with a count that indicates how often notifications have been selected by subscribers to receive or ignore. By applying statistical and other analysis, the effectiveness of notification messages can be measured and improved. The push environment 140 The company may also have a storage facility 138 for notifications, in which application deployment profiles, attendee lists, notification message patterns, and analytical data can be stored. At the storage device 138 notifications can be a persistent storage device. The storage device 138 Although notifications are presented as a single entity, they may be a combination of fixed and / or removable storage devices, such as a non-removable memory device. Fixed disk drives, a storage area network (SAN), solid state disks, floppy disk drives, tape drives, removable memory cards or optical storage devices. The features of the different components in the push notification environment 140 The company can be run by multiple software modules in one computer or multiple dedicated computers. If the push notification environment 140 the company is implemented in several software modules, represents the reference number 190 a bus through which the data exchange between the software modules takes place. The multiple software modules share resources of the host computer, such as: B. the processor (s) 191 , the memory 192 and the storage device 138 for notifications.

Wenn die Push-Benachrichtigungs-Umgebung 140 des Unternehmens in mehreren speziellen Computern umgesetzt ist, stellt das Bezugszeichen 190 ein Netzwerk dar, über das die Computer Daten austauschen. Bei dieser Ausführungsform veranschaulichen der bzw. die Prozessoren 191, der Speicher 192 und die Speichereinrichtung 138 für Benachrichtigungen diese Komponenten, die in jedem von den speziellen Computern installiert sind. Bei jeder Ausführungsform werden Computer, die an der Push-Benachrichtigungs-Umgebung 140 des Unternehmens beteiligt sind, von einem (nicht gezeigten) Betriebssystem gesteuert. Kontextregeln und Benachrichtigungen 140 des Unternehmens werden von der Push-Benachrichtigungs-Umgebung 140 des Unternehmens ausgegeben und über ein bekanntes Netzwerk wie LAN, WAN oder das Internet zu der Push-Dienst-Umgebung 130 übertragen.If the push notification environment 140 the company is implemented in several special computers, represents the reference number 190 a network through which the computers exchange data. In this embodiment, the processor or processors illustrate 191 , the memory 192 and the storage device 138 for notifications these components, which are installed in each of the special computers. In each embodiment, computers are attached to the push notification environment 140 of the company are controlled by an operating system (not shown). Context rules and notifications 140 The company will be aware of the push notification environment 140 the company spent and sent over a well-known network such as LAN, WAN or the Internet to the push service environment 130 transfer.

Die Push-Dienst-Umgebung 130 enthält eine Push-Dienst-Verwaltungseinrichtung 139, bei der es sich um eine Arbeitsstation handeln kann, die für ein Verwalten und Betreiben der Push-Dienst-Umgebung 130 eingerichtet ist wie z. B. Leistungsüberwachung, Software-Aktualisierungen und Benutzerverwaltung. Die Umgebung zur Push-Dienst-Analyse 135 kann so eingerichtet sein, dass sie Rückmeldungsergebnisse von der mobilen Umgebung 120 empfängt, darunter einen Zählwert von Benachrichtigungsmeldungen, die gesendet wurden, zusammen mit einem Zählwert, der die Anzahl von Benachrichtigungen angibt, die von Teilnehmern zum Empfangen oder Ignorieren ausgewählt wurden. Diese Rückmeldungsergebnisse können zu der Push-Umgebung 140 des Unternehmens über ein bekanntes Netzwerk (nicht gezeigt) zum Verarbeiten beispielsweise durch die Umgebung zur Push-Benachrichtigungs-Analyse 135 zurückübertragen werden.The push service environment 130 contains a push service manager 139 , which may be a workstation responsible for managing and operating the push service environment 130 is set up such. Performance monitoring, software updates and user management. The environment for push service analysis 135 can be set up to receive feedback from the mobile environment 120 including a count of notification messages that have been sent, along with a count indicating the number of notifications selected by subscribers to receive or ignore. These Feedback results can be sent to the push environment 140 the company via a known network (not shown) for processing, for example, through the environment for push notification analysis 135 be transferred back.

Die Push-Dienst-Umgebung 130 enthält außerdem wenigstens einen Push-Mediator 137, bei dem es sich um eine Client-Schnittstelle zwischen der Push-Dienst-Umgebung 130 und dem entsprechenden Teilnehmernetzwerk wie z. B. der Apple Push-Benachrichtigungsdienst (Apple Push Notification Service®, (APNS)) handelt. Die Push-Dienst-Speichereinrichtung 136 gewährleistet ein Speichern von beispielsweise Anwendungs-Bereitstellungsprofilen, Teilnehmerlisten, ausstehenden Benachrichtigungsmeldungen und deren Zustellungsplänen und analytische Daten. Bei der Push-Dienst-Speichereinrichtung 136 kann es sich um eine dauerhafte Speichereinheit, eine Kombination aus festeingebauten und/oder auswechselbaren Speichereinheiten wie z. B. festeingebaute Plattenlaufwerke, ein Speicherbereich-Netzwerk (SAN), Halbleiterdatenträger, Floppy-Disk-Laufwerke, Bandlaufwerke, auswechselbare Speicherkarten oder optische Speichereinrichtungen handeln. Wie bei der Push-Umgebung 140 des Unternehmens können die Funktionen der verschiedenen Komponenten in der Push-Dienst-Umgebung 130 durch mehrere Software-Module in einem Computer ausgeführt werden, die untereinander über einen Bus 190 Daten austauschen und den bzw. die Prozessoren 191, den Speicher 192 und eine Push-Dienst-Speichereinrichtung 136 des Host-Computers nutzen. Wenn die Push-Dienst-Umgebung 140 in mehreren speziellen Computers umgesetzt ist, stellt das Bezugszeichen 190 ein Netzwerk dar, über das die Computer Daten austauschen. Bei dieser Ausführungsform enthält jeder spezielle Computer den bzw. die Prozessoren 191, bei denen es sich um eine Darstellung einer einzelnen CPU, mehrerer CPUs, einer einzelnen CPU mit mehreren Verarbeitungskernen und dergleichen und um ein oder mehrere Speichermodule 192 handelt. Benachrichtigungsmeldungen und Kontextregeln 120, die für das Protokoll eines bestimmten Teilnehmernetzwerks formatiert sind, werden über ein bekanntes Netzwerk zu dem bzw. den mobilen Push-Servern 125 in der mobilen Umgebung 120 übertragen.The push service environment 130 also contains at least one push mediator 137 , which is a client interface between the push service environment 130 and the corresponding subscriber network such. As the Apple Push Notification Service (Apple Push Notification Service ® (APNS)) is. The push service storage device 136 ensures storage of, for example, application delivery profiles, participant lists, pending notification messages and their delivery schedules and analytical data. At the push service storage device 136 It can be a permanent storage unit, a combination of permanently installed and / or removable storage units such. Solid disk drives, a storage area network (SAN), solid state disks, floppy disk drives, tape drives, removable memory cards or optical storage devices. As with the push environment 140 The company can understand the features of different components in the push service environment 130 run through several software modules in a computer, which communicate with each other via a bus 190 Exchange data and the processor (s) 191 , the memory 192 and a push service storage device 136 of the host computer. When the push service environment 140 implemented in several special computers, the reference number represents 190 a network through which the computers exchange data. In this embodiment, each particular computer includes the processor (s) 191 , which is a representation of a single CPU, multiple CPUs, a single CPU with multiple processing cores, and the like, and one or more memory modules 192 is. Notification messages and context rules 120 that are formatted for the protocol of a particular subscriber network become the mobile push server (s) over a known network 125 in the mobile environment 120 transfer.

Die mobile Umgebung 120 enthält den mobilen Push-Server 125, der einem Teilnehmernetzwerk wie z. B. dem APNS entspricht. Der mobile Push-Server 125 überträgt die Benachrichtigungsmeldungen und Kontextregeln 126 via Satellit über sein Teilnehmer-Zellen-Dienstnetz zu einer oder mehreren Ziel-Mobileinheiten 127. Als Mobileinheit kommen ein Smartphone, ein Tablet-Computer und ein persönlicher digitaler Assistent (PDA) in Frage. Bei einer Mobileinheit handelt es sich im Allgemeinen um eine Einheit, die so eingerichtet ist, dass sie eine mobile Anwendung (mobile app) betreibt. Die Ziel-Mobileinheit 127 enthält einen Benachrichtigungsagenten 128, der beispielsweise als ein Software-Agent, Firmware und Einheitentreiber umgesetzt sein kann. Die Ziel-Mobileinheit 127 speichert außerdem Benutzer-Kontextpräferenzen 129, die der Teilnehmer eingeben und für jede installierte Anwendung modifizieren kann, und die auf jede empfangene Benachrichtigungsmeldung angewendet werden kann.The mobile environment 120 contains the mobile push server 125 which is a subscriber network such. B. corresponds to the APNS. The mobile push server 125 transmits the notification messages and context rules 126 via satellite via its subscriber cell service network to one or more destination mobile units 127 , As a mobile unit, a smartphone, a tablet computer and a personal digital assistant (PDA) in question. A mobile unit is generally a device that is set up to operate a mobile app. The destination mobile unit 127 contains a notification agent 128 which may, for example, be implemented as a software agent, firmware and device driver. The destination mobile unit 127 also stores user context preferences 129 which the subscriber can enter and modify for each installed application, and which can be applied to each received notification message.

Die bestimmte Beschreibung in 1 dient lediglich für Erläuterungszwecke; es sollte klar sein, dass die Erfindung nicht auf spezifische beschriebene Ausführungsformen beschränkt ist und jede Kombination zum Umsetzen und Realisieren der Erfindung vorgesehen ist.The specific description in 1 is for illustrative purposes only; It should be understood that the invention is not limited to specific embodiments described and that any combination thereof is intended to practice and to realize the invention.

In 2 ist eine beispielhafte Ausführungsform 200 eines kontextbezogenen Dienstes für Push-Benachrichtigungen dargestellt. Bei Push-Benachrichtigungen handelt es sich um eine Technik, die durch den Eigentümer einer Anwendung wie z. B. ein gewerbliches Unternehmen verwendet werden kann, um einen Benutzer einer Mobileinheit, der die Anwendung abonniert hat, darauf aufmerksam zu machen, dass Informationen abgerufen werden können. Zu beispielhaften Informationen gehören eine Nachricht, ein wiederkehrendes Ereignis oder Daten wie z. B. eine Aktualisierung der App. Bei 210 kann ein Entwickler, d. h. ein Autor, eine Push-Benachrichtigungsmeldung unter Verwendung einer Arbeitsstation oder einer Umgebung 148 zum Erstellen von Push-Benachrichtigungen (1) oder einer anderen Eingabeeinheit, die mit Software-Entwicklungstools eingerichtet ist, die für ein Erstellen von Push-Benachrichtigungen geeignet sind, erstellen. Zu solchen beispielhaften Entwicklungstools gehören JavaPNS, PHP und JSON. Zusätzlich zu der Push-Benachrichtigungsmeldung erstellt der Entwickler unter Verwendung einer Erstellungsumgebung wie z. B. 149 (1) eine Gruppe von Kontextregeln, die die Teilnehmer in einem Bereitstellungsprofil einer Anwendung durch ein oder mehrere Kriterien weiter segmentieren kann. Eine Kontextregel hält im Allgemeinen eine kontextbezogene Bedingung fest, unter der eine Benachrichtigung für den Entwickler oder für den Teilnehmer möglicherweise bedeutsam wird. Bei Bezugnahme auf den Kontext des Entwicklers beschreibt eine Kontextregel eine Bedingung, die die Zustellung der Benachrichtigungsmeldung für den Entwickler bedeutsam macht. Ein gewerbliches Unternehmen kann beispielsweise spezifizieren, dass eine Benachrichtigungsmeldung, die einen Ausverkauf ankündigt, an einem bestimmten Tag an Teilnehmer geschickt werden sollte oder wenn sich ein Teilnehmer in physischer Nähe zu dem Einzelhandelsgeschäft befindet. Kontextregeln können über den Standort als Kontext hinausgehen, indem sie beispielsweise einen Bewegungszustand des Benutzers betreffen (Laufen/Sitzen/Bummeln). Ein Teilnehmer kann jedoch außerdem eine oder mehrere Kontextregeln definieren, die in diesem Fall beispielsweise Zeitabschnitte beschreiben, in denen der Teilnehmer nicht durch Benachrichtigungsmeldungen gestört werden sollte. Die Kontextregeln des Teilnehmers können außerdem als lokale Kontextregeln, Benutzer-Kontextregeln oder Benutzer-Kontextpräferenzen bezeichnet werden.In 2 is an exemplary embodiment 200 a contextual push notification service. Push notifications are a technique used by the owner of an application, such as an application. For example, a business may be used to alert a user of a mobile unit who has subscribed to the application that information may be retrieved. Exemplary information includes a message, a recurring event, or data such as: B. an update of the app. at 210 For example, a developer, ie an author, may issue a push notification message using a workstation or environment 148 to create push notifications ( 1 ) or another input device that is set up with software development tools that are suitable for creating push notifications. Such exemplary development tools include JavaPNS, PHP, and JSON. In addition to the push notification message, the developer creates using a build environment such as B. 149 ( 1 ) a set of context rules that can further segment the participants in a deployment profile of an application by one or more criteria. A context rule generally specifies a contextual condition under which notification may become meaningful to the developer or subscriber. When referring to the context of the developer, a context rule describes a condition that makes delivery of the notification message meaningful to the developer. For example, a commercial business may specify that a notification message announcing a sell-out should be sent to subscribers on a particular day or when a subscriber is in physical proximity to the retail store. Context rules can go beyond the location as a context, for example, by affecting a state of motion of the user (walking / sitting / strolling). However, a participant can also define one or more context rules, which in this case describe, for example, time periods in which the subscriber should not be disturbed by notification messages. The participant's context rules may also be referred to as local context rules, user context rules, or user context preferences.

Nachdem der Benachrichtigungsentwickler die Benachrichtigungsmeldung und die zugehörigen Kontextregeln gebildet hat, können sie an einen Zwischendienst wie beispielsweise die Push-Dienst-Umgebung 130 (1) weitergeleitet werden. Die Push-Dienst-Umgebung 130 (1) enthält einen oder mehrere Agenten, die als Push-Mediatoren 137 (1) bezeichnet werden, wobei jeder einzelne dem Protokoll eines Ziel-Servers entspricht wie z. B. Apple Push-Benachrichtigungs-Dienst® (APNS) und Google Cloud-Messaging für Android® (GCM). Da der Push-Dienst für jedes Ziel einen Push-Mediator bereitstellt, sind keine ausführlichen Kenntnisse aller Zielserver-Protokolle durch den Benachrichtigungsentwickler erforderlich, um eine Version der Benachrichtigungsmeldung für jedes Ziel in geeigneter Form zu erstellen und zu formatieren.After the notification developer has formed the notification message and the associated context rules, they can send to an intermediary service, such as the push service environment 130 ( 1 ) to get redirected. The push service environment 130 ( 1 ) contains one or more agents acting as push mediators 137 ( 1 ), each of which corresponds to the protocol of a target server such. As Apple Push Notification Service ® (APNS) and Google Cloud Messaging for Android ® (GCM). Since the push service provides a push mediator for each destination, no detailed knowledge of all destination server protocols by the notification developer is required to properly create and format a version of the notification message for each destination.

Der Push-Dienst kann im Auftrag des Entwicklers Teilnehmerlisten, eine Speicherung von Benachrichtigungsmeldungen und eine Planung und Zustellung der Benachrichtigungsmeldungen gemäß deren zugehörigen Kontextregeln verwalten. Zusätzliche Dienste können ein Erfassen und Senden der Ergebnisse von einer oder mehreren Benachrichtigungsmeldungen an den Entwickler enthalten. Zu derartigen Ergebnissen kann ein Zählwert von Benachrichtigungsmeldungen, die gesendet wurden, zusammen mit einem Zählwert darüber gehören, wie häufig Benachrichtigungen von Teilnehmern zum Empfangen oder zum Ignorieren ausgeführt wurden.The Push Service may, on behalf of the developer, manage subscriber lists, storage of notification messages, and scheduling and delivery of the notification messages according to their associated context rules. Additional services may include capturing and sending the results of one or more notification messages to the developer. Such results may include a count of notification messages that have been sent, along with a count of how frequently notifications have been made by participants to receive or ignore.

Bei einer weiteren Ausführungsform kann der Entwickler die Benachrichtigungsmeldung und die zugehörigen Kontextregeln direkt an den Server eines oder mehrerer Anbieter weiterleiten. Spezielle Kenntnisse der Zielserver-Protokolle wären jedoch erforderlich, um eine Version der Benachrichtigungsmeldung für jedes Ziel in geeigneter Form zu erstellen und zu formatieren, wodurch sich die Möglichkeit von Fehlern vergrößert.In another embodiment, the developer may forward the notification message and associated context rules directly to the server of one or more providers. However, specific knowledge of the destination server logs would be required to properly create and format a version of the notification message for each destination, thereby increasing the chance of errors.

Bei 215 verwendet der Push-Dienst ein Datenübertragungsprotokoll wie z. B. Hypertext Transfer Protocol (HTTP) oder Transmission Control Protocol (TCP) zum Weiterleiten der Benachrichtigungsmeldung und zugehöriger Kontextregeln zu dem mobilen Push-Server 125 (1) eines oder mehrerer Teilnehmernetzwerke wie beispielsweise Apple Push-Benachrichtigungs-Dienst® (APNS) und Google Cloud-Messaging für Android® (GCM). Bei HTTP kandelt es sich um ein bekanntes Protokoll mit zustandsloser Anwendungsschicht zum Datenaustausch zwischen verteilten Systemen, insbesondere webgestützten Hosts und Clients. Bei TCP handelt es sich um ein bekanntes Datenübertragungsprotokoll, das ein zuverlässiges geordnetes Zustellen von Daten über ein Netzwerk bereitstellt.at 215 the push service uses a data transfer protocol such as: Hypertext Transfer Protocol (HTTP) or Transmission Control Protocol (TCP) for forwarding the notification message and associated context rules to the mobile push server 125 ( 1 ) Of one or more subscriber networks such as Apple Push Notification Service ® (APNS) and Google Cloud Messaging for Android ® (GCM). HTTP is a well-known protocol with a stateless application layer for exchanging data between distributed systems, especially web-based hosts and clients. TCP is a well-known data transfer protocol that provides reliable, orderly delivery of data over a network.

Bei 220 versendet der mobile Push-Server 125 (1) in der mobilen Umgebung 120 (1) die Benachrichtigungsmeldung zu den Ziel-Mobileinheiten 127 (1), die durch den Benachrichtigungsentwickler festgelegt wurden. Eine Mobileinheit kommt als ein Ziel in Frage, wenn ein mobiler Teilnehmer eine Anwendung installiert und registriert, was zur Folge hat, dass die Mobileinheit dem Bereitstellungsprofil der Anwendung hinzugefügt wird. Da der Push-Dienst mehrere Push-Mediatoren 137 (1) vorhält, können die Benachrichtigungsmeldung und Kontextregeln an mehr als ein Teilnehmernetzwerk gemäß dem gewünschten Zustellungsplan des Benachrichtigungsentwicklers versendet werden.at 220 sends the mobile push server 125 ( 1 ) in the mobile environment 120 ( 1 ) the notification message to the destination mobile units 127 ( 1 ) defined by the notification developer. A mobile unit may be considered as a destination when a mobile subscriber installs and registers an application, with the result that the mobile unit is added to the deployment profile of the application. Because the push service several push mediators 137 ( 1 ), the notification message and context rules may be sent to more than one subscriber network according to the desired delivery schedule of the notification developer.

300 (3) zeigt eine genaue Darstellung des Benachrichtigungsagenten, der in 1 allgemein als Benachrichtigungsagent 128 gezeigt ist. Bezugnahmen auf den Benachrichtigungsagenten erfolgen in der nachfolgenden Erläuterung unter Verwendung des Benachrichtigungsagenten 300 (3). Bei 225 wird die Benachrichtigungsmeldung in der Ziel-Mobileinheit 127 (1) durch einen Benachrichtigungsagenten 300 (3) empfangen, der in der Ziel-Mobileinheit 127 (1) installiert ist. In dem Benachrichtigungsprozess 305 (3) kann die empfangene Benachrichtigungsmeldung bewertet werden, um zu ermitteln, welche der Kontextregeln, die der Nachricht zugehörig sind, eine weitere Analyse für einen Vergleich mit einer kontextbezogenen Echtzeit-Bedingung oder mit einem Kontext der Ziel-Mobileinheit 127 (1) erfahren sollte. Bei einer weiteren Ausführungsform kann in dem Benachrichtigungsprozess 305 (3) der Push-Dienst-Server abgefragt werden, um die zugehörigen Kontextregeln abzurufen. Die Kontextregeln werden jedoch erhalten, wobei der Benachrichtigungsprozess 305 (3) die Kontextregeln prüft, um zu ermitteln, welche Datentypen durch die Sensoren 335 der Ziel-Mobileinheit (3) erfasst werden sollten. Die erfassten Sensordaten können in den Kontext-Bewerter 320 (3) eingegeben werden, um die kontextbezogene Echtzeit-Bedingung der Ziel-Mobileinheit 127 (1) rechentechnisch zu ermitteln. In dem Benachrichtigungsprozess 305 (3) werden außerdem die Kontextregeln des Benutzers von einer lokalen Speichereinrichtung in der Ziel-Mobileinheit 127 (1) abgerufen wie beispielsweise von der Benachrichtigungsablage 310 (3). 300 ( 3 ) shows an accurate representation of the notification agent that is in 1 generally as a notification agent 128 is shown. References to the notification agent are made in the following discussion using the notification agent 300 ( 3 ). at 225 becomes the notification message in the destination mobile unit 127 ( 1 ) by a notification agent 300 ( 3 ) received in the destination mobile unit 127 ( 1 ) is installed. In the notification process 305 ( 3 ), the received notification message may be evaluated to determine which of the context rules associated with the message is further analyzed for comparison with a real-time contextual condition or context of the target mobile unit 127 ( 1 ) should learn. In another embodiment, in the notification process 305 ( 3 ) the push service servers are queried to retrieve the associated context rules. However, the context rules are preserved, with the notification process 305 ( 3 ) checks the context rules to determine which types of data through the sensors 335 the destination mobile unit ( 3 ) should be recorded. The captured sensor data may be in the context evaluator 320 ( 3 ) to the real-time contextual condition of the target mobile unit 127 ( 1 ) to be determined computationally. In the notification process 305 ( 3 ) also become the context rules of the user from a local storage device in the destination mobile unit 127 ( 1 ), such as from the notification tray 310 ( 3 ).

Eine Kontextregel kann über mehrere Sensoren 335 (3) in der Ziel-Mobileinheit 127 (1), z. B. ein GPS-Standort in Kombination mit der Nähe zu einem WLAN-Zugangspunkt, definiert werden. Auf der Grundlage des Analysierens der Kontextregeln werden bei 235 im Benachrichtigungsprozess 305 (3) Daten mit dem Erfassungsplaner 315 (3) ausgetauscht, um anzufordern, dass die Sensor-Steuereinheit 330 (3) aktiviert wird und einen oder mehrere Sensoren 335 (3) in der Ziel-Mobileinheit 127 (1) abfragt. Eine Zeitdauer zum Erfassen der Sensordaten kann außerdem von dem Erfassungsplaner 315 (3) über die Sensor-Steuereinheit 330 (3) an jeden aktivierten Sensor 335 (3) übertragen werden. Eine andere Zeitdauer kann an jeden aktivierten Sensor 335 (3) übertragen werden. Die Sensordaten, die durch die Sensor-Steuereinheit 330 (3) gesammelt werden, können in einem oder mehreren Puffern 325 (3) erfasst werden, wobei sie auf eine Weiterverarbeitung in dem Kontext-Bewerter 320 (3) warten. An den erfassten Sensordaten können Berechnungen ausgeführt werden, um zu ermitteln, ob die kontextbezogene Bedingung der Ziel-Mobileinheit 127 (1) eine Kontextregel erfüllt, die der Benachrichtigungsmeldung zugehörig ist. Eine kontextbezogene Bedingung kann als ein mathematischer Ausdruck dargestellt werden, der eingegebene Sensordaten bewertet, um zu ermitteln, ob die Sensordaten mit einem bekannten Attribut übereinstimmen. Bei einem Attribut kann es sich um ursprüngliche Daten oder um eine Funktion in dem Benachrichtigungsagenten 300 (3) handeln, und es kann z. B. in der Benachrichtigungsablage 30 (3) lokal gespeichert werden. Ein Attribut kann z. B. eine Funktion enthalten, die Daten von einem Beschleunigungssensor empfängt und auf der Grundlage von Berechnungen einschätzt, dass die Daten die Aktion des Gehens wiedergeben.A context rule can have multiple sensors 335 ( 3 ) in the destination mobile unit 127 ( 1 ) z. For example, a GPS location combined with proximity to a WLAN access point can be defined. On the basis of analyzing the context rules are included 235 in the notification process 305 ( 3 ) Data with the survey planner 315 ( 3 ) to request that the sensor control unit 330 ( 3 ) is activated and one or more sensors 335 ( 3 ) in the destination mobile unit 127 ( 1 ) queries. A time period for acquiring the sensor data may also be provided by the acquisition scheduler 315 ( 3 ) via the sensor control unit 330 ( 3 ) to each activated sensor 335 ( 3 ) be transmitted. Another time period can be sent to each activated sensor 335 ( 3 ) be transmitted. The sensor data passing through the sensor control unit 330 ( 3 ) can be collected in one or more buffers 325 ( 3 ), looking for further processing in the context evaluator 320 ( 3 ) waiting. Calculations can be made on the acquired sensor data to determine if the contextual condition of the target mobile unit 127 ( 1 ) satisfies a context rule associated with the notification message. A contextual condition may be represented as a mathematical expression that evaluates input sensor data to determine if the sensor data matches a known attribute. An attribute may be original data or a function in the notification agent 300 ( 3 ) act, and it may, for. In the notification tray 30 ( 3 ) are stored locally. An attribute can e.g. For example, it may include a function that receives data from an acceleration sensor and estimates based on calculations that the data represents the action of walking.

Bei 240 werden die Kontext-Präferenzen, die der Benutzer der Ziel-Mobileinheit definiert und in der Ziel-Mobileinheit 127 (1) gespeichert sind, beispielsweise aus der Benachrichtigungsablage 310 (3) extrahiert und zu dem Kontext-Bewerter 320 (3) geleitet. Diese Kontext-Präferenzen können als lokale Kontextregeln, Benutzer-Kontextregeln oder Benutzer-Kontextpräferenzen bezeichnet werden. Ein Benutzer kann beispielsweise eine Benutzer-Kontextpräferenz so definieren, dass zwischen bestimmten Tageszeiten dem Benutzer keine Benachrichtigungsmeldungen präsentiert werden sollten. Wenn sich der Benutzer in einem bestimmten Einkaufszentrum befindet, sollten in ähnlicher Weise Benachrichtigungsmeldungen wie etwa Gutscheine von Geschäften in dem Einkaufszentrum präsentiert werden. Der Benutzer kann außerdem eine Präferenz einstellen, wie oft eine Benachrichtigungsmeldung wiedergegeben wird, bevor sie ungültig wird. Zu anderen Benutzer-Kontextpräferenzen gehören sozialer Status (d. h. mit Freunden, mit der Familie, allein); gegenwärtige Aktivität (d. h. Gehen, Laufen, in einem Meeting) und Tageszeit.at 240 are the contextual preferences that the user of the destination mobile unit defines and in the destination mobile unit 127 ( 1 ) are stored, for example from the notification tray 310 ( 3 ) and to the context evaluator 320 ( 3 ). These contextual preferences may be referred to as local context rules, user context rules, or user context preferences. For example, a user may define a user context preference such that no notification messages should be presented to the user between certain times of the day. Similarly, when the user is in a particular mall, notification messages such as coupons from stores in the mall should be presented. The user may also set a preference for how often a notification message is played back before it becomes invalid. Other user context preferences include social status (ie with friends, with the family, alone); current activity (ie walking, running, in a meeting) and time of day.

Bei 245 vergleicht der Kontext-Bewerter 320 (3) des Weiteren nach den Berechnungen an den erfassten Sensordaten die Kontextregeln, die mit der kontextbezogenen Bedingung übereinstimmen (d. h. erfolgreiche Kontextregeln), mit den Benutzer-Kontextpräferenzen. Es wird angemerkt, dass der Vergleich der Kontextregeln mit der kontextbezogenen Bedingung in der Mobileinheit ausgeführt wird anstelle der Forderung, dass der Kontext des Benutzers zu dem Server übertragen wird, damit der Vergleich dort stattfindet. Das trägt nicht nur zum Schutz der Privatsphäre des Benutzers bei, sondern dient außerdem dazu, den rechentechnischen Aufwand beim Server zu vermindern.at 245 compares the context evaluator 320 ( 3 ) further, according to the calculations on the acquired sensor data, the context rules that match the contextual condition (ie, successful context rules) with the user context preferences. It is noted that the comparison of the context rules with the contextual condition is performed in the mobile unit instead of the requirement that the context of the user be transmitted to the server for the comparison to take place there. This not only helps to protect the privacy of the user, but also serves to reduce the computational complexity of the server.

Wenn bei 250 eine Benutzer-Kontextpräferenz mit einer erfolgreichen Kontextregel übereinstimmt, wird bei 260 die Benachrichtigungsmeldung vorbereitet oder für eine Bereitstellung an den Benutzer aufbereitet. Aufbereitungsinformationen können in der zugehörigen Kontextregel der Benachrichtigungsmeldung enthalten sein und können eine Anzahl, wie oft eine Nachricht wiedergegeben werden soll, und z. B. ein Ablaufdatum enthalten. Bei 265 wird die vorbereitete Benachrichtigungsmeldung dem Benutzer zur Ansicht bereitgestellt. Wenn jedoch bei 250 eine Benutzer-Kontextpräferenz nicht mit einer erfolgreichen Kontextregel übereinstimmt, wird bei 255 ein Entfernen von der Ziel-Mobileinheit 127 (1) oder ein Ablaufen der Benachrichtigungsmeldung ausgeführt. Wenn beispielsweise die erfolgreiche Kontextregel nicht mit einer Benutzer-Kontextpräferenz übereinstimmt, jedoch einen Datumsbereich aufweist, kann die Benachrichtigungsmeldung in der Ziel-Mobileinheit 127 für die Dauer des Datumsbereichs gehalten und nicht gelöscht werden, auch wenn die Benutzer-Kontextpräferenz an diesem Tag nicht erfüllt ist. Der Kontext-Bewerter 320 (3) kann die Benutzer-Kontextpräferenz an jedem Tag während des Datumsbereichs mit der kontextbezogenen Bedingung vergleichen bis der Datumsbereich abgelaufen ist.If at 250 a user context preference matches a successful context rule is added 260 prepare the notification message or prepare it for delivery to the user. Edit information may be included in the associated context rule of the notification message, and may include a number of times a message is to be played, and e.g. B. contain an expiration date. at 265 the prepared notification message is provided to the user for viewing. If, however, at 250 A user context preference does not match a successful context rule is added 255 a removal from the target mobile unit 127 ( 1 ) or expiration of the notification message. For example, if the successful context rule does not match a user context preference but has a date range, the notification message may be in the destination mobile unit 127 held for the duration of the date range and not deleted, even if the user context preference is not met that day. The context evaluator 320 ( 3 ) can compare the user context preference on each day during the date range with the contextual condition until the date range has expired.

Im Betrieb kann beispielsweise ein Kaufhaus eine Benachrichtigungsmeldung für einen Werbeverkauf erzeugen. Die Benachrichtigungsmeldung sollte dem Benutzer auf der Ziel-Mobileinheit 127 (1) an einer aufeinander folgenden Anzahl von Tagen dargestellt werden, wenn der Bedingungskontext der Ziel-Mobileinheit 127 (1) die Nähe zu dem Kaufhaus angibt. Nachdem die Anzahl von Tagen abgelaufen ist, sollte die Benachrichtigungsmeldung von der Ziel-Mobileinheit 127 (1) gelöscht werden. Ob der Benutzer bei diesem Beispiel die Benachrichtigungsmeldung sieht, hängt davon ab, ob der Benutzer die Nähe-Kontextregel erfüllt. Unabhängig davon, ob der Benutzer die Benachrichtigungsmeldung jeden Tag, an einigen Tagen oder überhaupt nicht sieht, im Kaufhaus muss lediglich die Benachrichtigungsmeldung zusammen mit geeigneten Kontextregeln einmalig erzeugt und versendet werden.In operation, for example, a department store may generate a notification message for a promotional sale. The notification message should be to the user on the destination mobile unit 127 ( 1 ) are displayed on a consecutive number of days when the conditional context of the target mobile unit 127 ( 1 ) indicates the proximity to the department store. After the number of days has passed, the notification message should come from the destination mobile unit 127 ( 1 ) to be deleted. Whether the user sees the notification message in this example depends on whether the user meets the proximity context rule. Regardless of whether the user sees the notification message every day, on some days, or not at all, only the Notification message together with appropriate context rules generated and sent once.

In 4 kann die Datenverarbeitungseinheit 400 entsprechende Gruppen von internen Komponenten 800 und externen Komponenten 900 enthalten, die gemeinsam eine Umgebung für eine Software-Anwendung wie z. B. einen Push-Benachrichtigungsdienst (1) bereitstellen können. Jede von den Gruppen von internen Komponenten 800 enthält einen oder mehrere Prozessoren 820; einen oder mehrere computerlesbare RAMs 822; einen oder mehrere computerlesbare ROMs 824 an einem oder mehreren Bussen 826, ein oder mehrere Betriebssysteme 828; eine oder mehrere Software-Anwendungen (z. B. Module 829 zum Erstellen von Benachrichtigungsmeldungen), die das Verfahren 200 ausführen; und eine oder mehrere computerlesbare materielle Speichereinheiten 830. Das eine oder die mehreren Betriebssysteme und die Module 829 zum Erstellen von Benachrichtigungsmeldungen sind in einer oder in mehreren der entsprechenden computerlesbares materiellen Speichereinheiten 830 für ein Ausführen durch einen oder mehrere der entsprechenden Prozessoren 820 über einen oder mehrere der entsprechenden RAMs 822 (die üblicherweise einen Cache-Speicher enthalten) gespeichert. Bei der Ausführungsform, die in 4 dargestellt ist, handelt es sich bei jeder der computerlesbaren materiellen Speichereinheiten 830 um eine Magnetplatten-Speichereinheit eines internen Festplattenlaufwerks. Alternativ handelt es sich bei jeder der computerlesbaren materiellen Speichereinheiten 820 um eine Halbleiter-Speichereinheit wie etwa ein ROM, ein EPROM, ein Flash-Speicher oder jede andere computerlesbare materielle Speichereinheit, die ein Computerprogramm und digitale Informationen speichern kann.In 4 can the data processing unit 400 corresponding groups of internal components 800 and external components 900 which together create an environment for a software application such as B. a push notification service ( 1 ). Each of the groups of internal components 800 contains one or more processors 820 ; one or more computer-readable RAMs 822 ; one or more computer-readable ROMs 824 on one or more buses 826 , one or more operating systems 828 ; one or more software applications (eg modules 829 for creating notification messages) that the procedure 200 To run; and one or more computer-readable physical storage devices 830 , The one or more operating systems and the modules 829 for creating notification messages are in one or more of the corresponding computer-readable material storage units 830 for execution by one or more of the corresponding processors 820 via one or more of the corresponding RAMs 822 (usually containing a cache) stored. In the embodiment, in 4 is shown, each of the computer-readable material storage units 830 around a magnetic disk storage unit of an internal hard disk drive. Alternatively, each of the computer-readable physical storage devices is 820 a semiconductor memory device such as a ROM, an EPROM, a flash memory, or any other computer-readable physical storage device that can store a computer program and digital information.

Jede Gruppe von internen Komponenten 800 enthält außerdem ein R/W-Laufwerk oder eine Schnittstelle 832 zum Lesen von oder zum Schreiben auf eine oder mehrere computerlesbare materielle Speichereinheiten 936 wie z. B. ein CD-ROM, DVD, SSD, Speicherstick, Magnetband, Magnetplatte, optische Platte oder Halbleiter-Speichereinheit.Each group of internal components 800 also includes an R / W drive or interface 832 for reading from or writing to one or more computer-readable physical storage devices 936 such as As a CD-ROM, DVD, SSD, memory stick, magnetic tape, magnetic disk, optical disk or semiconductor memory unit.

Jede Gruppe von internen Komponenten 800 kann außerdem Netzwerkadapter (oder Switchport-Karten) oder Schnittstellen 836 wie z. B. TCP/IP-Adapterkarten, Drahtlos-WLAN-Schnittstellenkarten oder 3G- oder 4G-Drahtlos-Schnittstellenkarten oder andere leitungsgebundene oder drahtlose Datenübertragungsverbindungen enthalten. Die CM-Module und DBMS-Module 829 und das Betriebssystem 828, die der Datenübertragungseinheit 400 zugehörig sind, können von einem externen Computer (z. B. Server) über ein Netzwerk (z. B. das Internet, ein lokales Netzwerk oder ein anderes Weitbereichsnetzwerk) und entsprechende Netzwerkadapter oder Schnittstellen 836 zu der Datenübertragungseinheit 300 heruntergeladen werden. Von den Netzwerkadaptern (oder Switchport-Adaptern) oder Schnittstellen 836 wird ein Betriebssystem 828, das der Datenverarbeitungseinheit 400 zugehörig ist, in das entsprechende Festplattenlaufwerk 830 und Netzwerkadapter 83 geladen. Das Netzwerk kann Kupferleitungen, Lichtwellenleiter, Drahtlos-Übertragungseinrichtungen, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen.Each group of internal components 800 may also have network adapters (or switchport cards) or interfaces 836 such as These include, for example, TCP / IP adapter cards, wireless WLAN interface cards or 3G or 4G wireless interface cards or other wired or wireless communication links. The CM modules and DBMS modules 829 and the operating system 828 , the data transmission unit 400 may be from an external computer (eg, server) over a network (eg, the Internet, a local area network, or another wide area network) and corresponding network adapters or interfaces 836 to the data transmission unit 300 be downloaded. From the network adapters (or switchport adapters) or interfaces 836 becomes an operating system 828 , that of the data processing unit 400 belongs to the corresponding hard disk drive 830 and network adapters 83 loaded. The network may include copper wires, fiber optics, wireless transmitters, routers, firewalls, switches, gateway computers, and / or edge servers.

Jede der Gruppen von externen Komponenten 900 kann einen Computer-Anzeigemonitor 920, eine Tastatur 930 und eine Computermaus 934 enthalten. Zu externen Komponenten 900 können außerdem berührungsempfindliche Bildschirme, virtuelle Tastaturen, Touch-Pads, Zeigeeinheiten und andere menschliche Schnittstelleneinheiten gehören. Jede der Gruppen von internen Komponenten 800 enthält außerdem Einheitentreiber 840 für eine Verbindungmit Computer-Anzeigemonitor 920, Tastatur 930 und Computermaus 934. Die Einheitentreiber 840, R/W-Laufwerk oder Schnittstelle 832 und Netzwerkadapter oder Schnittstelle 836 weisen Hardware und Software auf (gespeichert in der Speichereinheit 830 und/oder im ROM 824).Each of the groups of external components 900 can be a computer display monitor 920 , a keyboard 930 and a computer mouse 934 contain. To external components 900 Also, touch-sensitive screens, virtual keyboards, touch pads, pointing devices, and other human interface units may be included. Each of the groups of internal components 800 also contains device drivers 840 for a connection to computer display monitor 920 , Keyboard 930 and computer mouse 934 , The device drivers 840 , R / W drive or interface 832 and network adapter or interface 836 have hardware and software (stored in the memory unit 830 and / or in the ROM 824 ).

Einem Fachmann ist klar, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt verkörpert werden können. Dementsprechend können Aspekte der vorliegenden Erfindung die Form einer reinen Hardware-Ausführungsform, einer reinen Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform, die Software- und Hardware-Aspekte kombiniert, annehmen, die hier alle allgemein als ”Schaltung”, ”Modul” oder ”System” bezeichnet werden können. Des Weiteren können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien verkörpert wird, das computerlesbaren Programmcode aufweist, der darin ausgeführt wird.One skilled in the art will appreciate that aspects of the present invention may be embodied as a system, method, or computer program product. Accordingly, aspects of the present invention may take the form of a pure hardware embodiment, a pure software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, all of which are generally referred to herein "Circuit", "module" or "system" can be called. Further, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied therein.

Jede Kombination aus einem oder mehreren computerlesbaren Medien kann genutzt werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Ein computerlesbares Speichermedium kann z. B. ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, -vorrichtung oder -einheit oder jede geeignete Kombination des Vorhergehenden sein, ist jedoch nicht darauf beschränkt. Zu spezifischeren Beispielen (eine nicht erschöpfende Liste) des computerlesbaren Speichermediums würde Folgendes gehören: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, ein Festplattenlaufwerk, ein Direktzugriffsspeicher (RAM), ein Festwertspeicher (ROM), ein löschbarer programmierbarer Festwertspeicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compactdisk-Festwertspeicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination des Vorhergehenden. Im Kontext dieses Dokuments kann ein computerlesbares Speichermedium jedes materielle Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung enthalten oder speichern kann.Any combination of one or more computer readable media may be used. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer-readable storage medium may, for. But is not limited to, for example, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or unit, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include: an electrical connection to one or more leads, a portable computer diskette Hard Disk Drive, Random Access Memory (RAM), Read Only Memory (ROM), Erasable Programmable Read Only Memory (EPROM or Flash Memory), Optical Fiber, Compact Disc Read Only Memory (CD-ROM), Optical Storage, Magnetic Storage, or any other suitable Combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that may contain or store a program for use by or in connection with a command execution system, apparatus, or device.

Ein computerlesbares Signalmedium kann ein sich ausbreitendes Datensignal mit computerlesbarem Programmcode enthalten, der darin z. B. im Basisband oder als Teil einer Trägerwelle verkörpert wird. Ein derartiges sich ausbreitendes Signal kann jede von einer Vielfalt von Formen annehmen, zu denen elektromagnetische, optische Formen oder jede geeignete Kombination hiervon gehören, jedoch nicht darauf beschränkt sind. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung übertragen, verbreiten oder transportieren kann.A computer readable signal medium may include a propagating data signal having computer readable program code therein, e.g. B. in baseband or as part of a carrier wave is embodied. Such a propagating signal may take any of a variety of forms, including, but not limited to, electromagnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.

Programmcode, der auf einem computerlesbaren Medium verkörpert ist, kann unter Verwendung jedes geeigneten Mediums übertragen werden, darunter drahtlose, leitungsgestützte, Lichtwellenleiterkabel-, Hochfrequenz-(HF-)Medien usw. oder jede geeignete Kombination aus dem Vorhergehenden, ohne darauf beschränkt zu sein.Program code embodied on a computer readable medium may be transmitted using any suitable medium, including but not limited to wireless, wireline, fiber optic cable, radio frequency (RF) media, etc., or any suitable combination of the foregoing.

Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in jeder Kombination aus einer oder mehreren Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder dergleichen und herkömmliche prozedurale Programmiersprachen wie etwa die Programmiersprache ”C” oder ähnliche Programmiersprachen, eine Script-Sprache wie etwa Perl, VBS oder ähnliche Sprachen und/oder funktionale Sprachen wie etwa Lisp und ML und logikorientierte Sprachen wie etwa Prolog. Der Programmcode kann nur auf dem Computer eines Benutzers, teilweise auf dem Computer eines Benutzers, als ein eigenständiges Software-Paket, teilweise auf dem Computer eines Benutzers und teilweise auf einem fernen Computer oder nur auf dem fernen Computer oder Server ausgeführt werden. In dem zuletzt genannten Szenario kann der ferne Computer mit dem Computer des Benutzers durch jeden Netzwerktyp verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann zu einem externen Computer (z. B. über das Internet unter Verwendung eines Internet-Dienstanbieters) hergestellt werden.Computer program code for performing operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, Smalltalk, C ++ or the like and conventional procedural programming languages such as the "C" programming language or similar programming languages Script language such as Perl, VBS or similar languages and / or functional languages such as Lisp and ML and logic-oriented languages such as Prolog. The program code can only be executed on a user's computer, partly on a user's computer, as a stand-alone software package, partly on a user's computer and partly on a remote computer or only on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer by any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (eg, via the Internet using an Internet service provider).

Aspekte der vorliegenden Erfindung werden hier unter Bezugnahme auf Ablaufplan-Darstellungen und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es ist klar, dass jeder Block der Ablaufplan-Darstellungen und/oder Blockschaltbilder und Kombinationen von Blöcken in den Ablaufplan-Darstellungen und/oder Blockschaltbildern durch Computerprogrammbefehle umgesetzt werden können. Diese Computerprogrammbefehle können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu bilden, so dass Befehle, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Umsetzen der Funktionen/Wirkungen, die in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaltbilds spezifiziert sind, erzeugen.Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams and combinations of blocks in the flowchart illustrations and / or block diagrams may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, a special purpose computer or other programmable data processing device to form a machine such that instructions executed by the processor of the computer or other programmable data processing device include means for implementing the functions / effects. which are specified in the block or blocks of the flowchart and / or block diagram.

Diese Computerprogrammbefehle können außerdem in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Befehle einen Herstellungsgegenstand produzieren, der Befehle enthält, die die Funktion/Wirkung umsetzen, die in dem Block/den Blöcken des Ablaufplans und/oder Blockschaltbilds spezifiziert sind.These computer program instructions may also be stored in a computer readable medium that may instruct a computer, other programmable computing device, or other device to function in a particular manner such that the instructions stored in the computer readable medium produce an article of manufacture containing instructions that implement the function / action specified in the block (s) of the flowchart and / or block diagram.

Computerprogrammbefehle können außerdem in einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten geladen werden, um eine Reihe von Operationsschritten zu bewirken, die auf dem Computer, der anderen programmierbaren Datenverarbeitungsvorrichtung oder anderen Einheiten ausgeführt werden sollen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, so dass die Befehle, die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zum Umsetzen der Funktionen/Wirkungen, die in dem Block oder Blöcken des Ablaufplans und/oder Blockschaltbilds spezifiziert sind, bereitstellen.Computer program instructions may also be loaded into a computer, other programmable data processing devices, or other devices to effect a series of operations to be performed on the computer, other programmable computing device, or other device to generate a computer implemented process. such that the instructions executed on the computer or other programmable device provide processes for implementing the functions / effects specified in the block or blocks of the flowchart and / or block diagram.

Der Ablaufplan und die Blockschaltbilder in den 1 bis 4 veranschaulichen die Architektur, Funktionalität und Operation von möglichen Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder in Blockschaltbildern ein Modul, Segment oder Abschnitt von Code repräsentieren, der einen oder mehrere ausführbare Befehle zum Umsetzen der spezifizierten logischen Funktion(en) aufweist. Es sollte außerdem angemerkt werden, dass bei einigen alternativen Umsetzungen die in dem Block angegebenen Funktionen möglicherweise nicht in der in den Figuren angegebenen Reihenfolge auftreten. Zum Beispiel können zwei Blöcke, die nacheinander gezeigt sind, tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder die Blöcke können gelegentlich in Abhängigkeit von der beteiligten Funktionalität in der umgekehrten Reihenfolge ausgeführt werden. Es wird außerdem angemerkt, dass jeder Block in den Blockschaltbildern und/oder Ablaufplan-Darstellungen und Kombinationen von Blöcken in den Blockschaltbildern und/oder der Ablaufplan-Darstellung durch Systeme, die auf spezieller Hardware beruhen, die die spezifizierten Funktionen oder Wirkungen ausführen, oder Kombinationen aus spezieller Hardware und Computerbefehlen umgesetzt werden können.The flowchart and block diagrams in the 1 to 4 illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this context, each block in the Flowchart, or in block diagrams represent a module, segment or portion of code having one or more executable instructions for implementing the specified logical function (s). It should also be noted that in some alternative implementations, the functions specified in the block may not occur in the order shown in the figures. For example, two blocks shown one after the other may in fact be executed substantially concurrently, or the blocks may occasionally be executed in the reverse order, depending on the functionality involved. It is also noted that each block in the block diagrams and / or flowchart illustrations and combinations of blocks in the block diagrams and / or flowchart representation is based on special hardware-executing systems that perform the specified functions or effects, or combinations can be implemented from special hardware and computer instructions.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • 35 U.S.C. §120 [0001] 35 USC §120 [0001]

Claims (8)

Verfahren für einen kontextbezogenen Push-Benachrichtigungsdienst, das aufweist: durch eine Mobileinheit Empfangen einer Benachrichtigungsmeldung, die aufweist: wenigstens eine Kontextregel; und eine Benachrichtigungsmeldung; in der Mobileinheit Vergleichen der empfangenen wenigstens einen Kontextregel mit wenigstens einer Benutzer-Kontextpräferenz; und in der Mobileinheit Ausführen einer Benachrichtigungsaktion auf der Grundlage des Vergleichens der empfangenen wenigstens einen Kontextregel mit der wenigstens einen Benutzer-Kontextpräferenz.A method for a push push notification service, comprising: by a mobile unit receiving a notification message comprising: at least one context rule; and a notification message; in the mobile unit, comparing the received at least one context rule with at least one user context preference; and in the mobile unit, performing a notification action based on comparing the received at least one context rule with the at least one user context preference. Verfahren nach Anspruch 1, wobei ein Empfangen der Benachrichtigungsmeldung ferner aufweist: Eingeben der empfangenen Benachrichtigungsmeldung in einen Benachrichtigungsagenten in der Mobileinheit; Extrahieren der wenigstens einen Kontextregel aus der empfangenen Benachrichtigungsmeldung; und Extrahieren der wenigstens einen Benutzer-Kontextpräferenz aus der Speichereinrichtung des Benachrichtigungsagenten.The method of claim 1, wherein receiving the notification message further comprises: Inputting the received notification message into a notification agent in the mobile unit; Extracting the at least one context rule from the received notification message; and Extracting the at least one user context preference from the storage means of the notification agent. Verfahren nach Anspruch 1, wobei das Vergleichen der empfangenen wenigstens einen Kontextregel mit der wenigstens einen Benutzer-Kontextpräferenz ferner aufweist: Erfassen von Sensordaten von wenigstens einem Sensor in der Mobileinheit auf der Grundlage der extrahierten Kontextregel; Ermitteln der Kontextbedingung der Mobileinheit auf der Grundlage der erfassten Sensordaten; Vergleichen der ermittelten Kontextbedingung der Mobileinheit mit der wenigstens einen Benutzer-Kontextpräferenz; und Ausführen einer Benachrichtigungsaktion in der Mobileinheit auf der Grundlage dessen, dass die ermittelte Kontextbedingung der Mobileinheit mit der wenigstens einen Benutzer-Kontextpräferenz übereinstimmt.The method of claim 1, wherein comparing the received at least one context rule with the at least one user context preference further comprises: Detecting sensor data from at least one sensor in the mobile unit based on the extracted context rule; Determining the context condition of the mobile unit based on the detected sensor data; Comparing the determined context condition of the mobile unit with the at least one user context preference; and Performing a notification action in the mobile unit based on the determined mobile condition context condition matching the at least one user context preference. Verfahren nach Anspruch 1, wobei die Benachrichtigungsaktion aufweist: Zurückweisen der empfangenen Benachrichtigungsmeldung, und/oder; Verzögern der empfangenen Benachrichtigungsmeldung; und/oder Wiedergeben der empfangenen Benachrichtigungsmeldung ein oder mehrere Male.The method of claim 1, wherein the notification action comprises: Rejecting the received notification message, and / or; Delaying the received notification message; and or Play the received notification message one or more times. Verfahren nach Anspruch 1, wobei die Mobileinheit aufweist: ein Mobiltelefon; und/oder einen persönlichen digitalen Assistenten; und/oder einen Tablet-Computer.The method of claim 1, wherein the mobile unit comprises: a mobile phone; and or a personal digital assistant; and or a tablet computer. Verfahren nach Anspruch 1, wobei der Benutzer der Mobileinheit die wenigstens eine Benutzer-Kontextpräferenz in der Mobileinheit verwaltet.The method of claim 1, wherein the user of the mobile unit manages the at least one user context preference in the mobile unit. Computerprogrammprodukt für einen kontextbezogenen Push-Benachrichtigungsdienst, das aufweist: ein computerlesbares Speichermedium, das durch eine Verarbeitungsschaltung gelesen werden kann und Befehle für eine Ausführung durch die Verarbeitungsschaltung speichert, um ein Verfahren auszuführen, das aufweist: durch eine Mobileinheit Empfangen einer Benachrichtigungsmeldung, die aufweist: wenigstens eine Kontextregel; und eine Benachrichtigungsmeldung; in der Mobileinheit Vergleichen der empfangenen wenigstens einen Kontextregel mit wenigstens einer Benutzer-Kontextpräferenz; und in der Mobileinheit Ausführen einer Benachrichtigungsaktion auf der Grundlage des Vergleichens der empfangenen wenigstens einen Kontextregel mit der wenigstens einen Benutzer-Kontextpräferenz.A computer program product for a contextual push notification service comprising: a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit to perform a method comprising: by a mobile unit receiving a notification message comprising: at least one context rule; and a notification message; in the mobile unit, comparing the received at least one context rule with at least one user context preference; and in the mobile unit, performing a notification action based on comparing the received at least one context rule with the at least one user context preference. Computersystem für einen kontextbezogenen Push-Benachrichtigungsdienst, das einen oder mehrere Prozessoren, ein oder mehrere computerlesbare Speichereinheiten und eine Mehrzahl von Programmbefehlen aufweist, die in wenigstens einer der einen oder mehreren Speichereinheiten gespeichert sind, für ein Ausführen durch wenigstens einen von dem einen oder den mehreren Prozessoren, wobei die Mehrzahl von Programmbefehlen aufweist: ein computerlesbares Speichermedium, das durch eine Verarbeitungsschaltung gelesen werden kann und Befehle für ein Ausführen durch die Verarbeitungsschaltung speichert, um ein Verfahren auszuführen, das aufweist: durch eine Mobileinheit Empfangen einer Benachrichtigungsmeldung, die aufweist: wenigstens eine Kontextregel; und eine Benachrichtigungsmeldung; in der Mobileinheit Vergleichen der empfangenen wenigstens einen Kontextregel mit wenigstens einer Benutzer-Kontextpräferenz; und Ausführen einer Benachrichtigungsaktion in der Mobileinheit auf der Grundlage des Vergleichens der empfangenen wenigstens einen Kontextregel mit der wenigstens einen Benutzer-Kontextpräferenz.A contextual push notification service computer system having one or more processors, one or more computer readable storage devices, and a plurality of program instructions stored in at least one of the one or more storage devices for execution by at least one of the one or more Processors, wherein the plurality of program instructions comprises: a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit to perform a method comprising: by a mobile unit receiving a notification message comprising: at least one context rule; and a notification message; in the mobile unit, comparing the received at least one context rule with at least one user context preference; and Performing a notification action in the mobile unit based on comparing the received at least one context rule with the at least one user context preference.
DE102014225126.5A 2013-12-19 2014-12-08 A contextual push notification service Pending DE102014225126A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/133,714 US9185680B2 (en) 2013-12-19 2013-12-19 Contextual push notification service
US14/133,714 2013-12-19
US14/312,741 US9191918B2 (en) 2013-12-19 2014-06-24 Contextual push notification service
US14/312,741 2014-06-24

Publications (1)

Publication Number Publication Date
DE102014225126A1 true DE102014225126A1 (en) 2015-06-25

Family

ID=53275611

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014225126.5A Pending DE102014225126A1 (en) 2013-12-19 2014-12-08 A contextual push notification service

Country Status (1)

Country Link
DE (1) DE102014225126A1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
35 U.S.C. §120

Similar Documents

Publication Publication Date Title
DE112015003750B4 (en) SYSTEMS AND METHODS FOR DISCOVERED MEASURING AUDIENCE
DE112016005265T5 (en) Improved push messaging
DE102010012847B4 (en) Monitor for urgent communication in social networks and real-time call initiation system
DE202017105691U1 (en) Intelligent assistant for repeated actions
DE202014011539U1 (en) System for distributed processing in a messaging platform
DE202017105740U1 (en) Detecting trivial social media messages
DE202014010919U1 (en) A system for providing visual e-mails for the efficient processing of e-mails
US9584565B1 (en) Methods for generating notifications in a shared workspace
DE102014114005A1 (en) Risk assessment of mobile application interactions based on reputation
DE202014011624U1 (en) Devices for collecting distributed user information for media footprints and search terms
DE202015009885U1 (en) Prioritization of messages
US20140201292A1 (en) Digital business card system performing social networking commonality comparisions, professional profile curation and personal brand management
DE102011107992A1 (en) System and method for logging to events based on keywords
DE202011110145U1 (en) Systems for conversational questions and answers
DE202010018482U1 (en) Providing access to a conversation in a hosted entertainment system
DE102008059866A1 (en) Geo-location based real-time contact service system
DE202013005878U1 (en) Electronic messaging system using social classification rules
DE112017006106T5 (en) Create, access, and view lineage metadata
DE102014009163A1 (en) Photo sessions ranking
DE202012013405U1 (en) Cloud to device messaging for application activation and notification
DE202011106798U1 (en) Device, computer program and user interface
DE202014011541U1 (en) System for establishing a bond of trust
DE112016002207T5 (en) CREATION AND MANAGEMENT OF STORE DATA
DE102016100895A1 (en) Peer-to-peer storage in enterprises and procedures for managing a peer network storage
DE112013002259T5 (en) Integration of information from third parties

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: MAPLEBEAR, INC., D/B/A INSTACART, SAN FRANCISC, US

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US