Title:
Standortkontextableitung auf Grundlage von Benutzermobilfunkdaten mit Unsicherheit
Kind Code:
T5


Abstract:

Verfahren und ein System werden bereitgestellt, das durch einen Computerserver zum Ableiten von Standortkontextkategorien für eine Gruppe von Mobilfunkbenutzern mit mindestens zwei Mitgliedern, ausgeführt wird. Ein Verfahren enthält ein Erhalten von mindestens einer Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe aus öffentlich verfügbaren Informationen in Reaktion auf unsichere Mobilgerät-Standortdaten. Das Verfahren enthält ferner ein Anwenden von zusammenwirkendem Mehrbenutzer-Maschinenlernen auf die mindestens eine Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe, um eine einzelne optimierte Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe abzuleiten. embedded image




Inventors:
Yi, Jinfeng (NY, Yorktown Heights, US)
Li, Hongfei (NY, Armonk, US)
Yu, Qi (NY, Yorktown Heights, US)
Sheopuri, Anshul (NY, Armonk, US)
Application Number:
DE112017000195T
Publication Date:
08/02/2018
Filing Date:
02/20/2017
Assignee:
International Business Machines Corporation (N.Y., Armonk, US)
International Classes:



Attorney, Agent or Firm:
Richardt Patentanwälte PartG mbB, 65185, Wiesbaden, DE
Claims:
Verfahren, ausgeführt durch einen Computerserver, zum Ableiten von Standortkontextkategorien für eine Gruppe von Mobilfunkbenutzern mit mindestens zwei Mitgliedern, aufweisend:
Erhalten von mindestens einer Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe aus öffentlich verfügbaren Informationen in Reaktion auf unsichere Mobilgerät-Standortdaten; und
Anwenden von zusammenwirkendem Mehrbenutzer-Maschinenlernen auf die mindestens eine Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe, um eine einzelne optimierte Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe abzuleiten.

Verfahren nach Anspruch 1, wobei die unsicheren Mobilgerät-Standortdaten Mobiltelefon-Standortdaten aufweisen, die durch eine Standortbestimmungsfunktion eines Mobiltelefons generiert wurden.

Verfahren nach Anspruch 1, wobei der Schritt zum Erhalten aufweist:
Senden einer jeweiligen Anfrage für jeden Mobilfunkbenutzer in der Gruppe an eine oder mehrere mobile Web-Anwendungen, die die mindestens eine Standortkontextkategorie zurückgeben, die auf einen der sendenden Mobilfunkbenutzer anwendbar ist, in Reaktion auf die unsicheren Mobilgerät-Standortdaten, die in der jeweiligen Anfrage angegeben sind; und
Empfangen der mindestens einen Standortkontextkategorie von der mobilen Web-Anwendung auf die jeweilige Anfrage für jeden Mobilfunkbenutzer in der Gruppe.

Verfahren nach Anspruch 1 oder Anspruch 3, ferner aufweisend ein Kategorisieren der Mobilfunkbenutzer in mehrere Gruppen auf Grundlage von Ähnlichkeiten zwischen den Mobilfunkbenutzern.

Verfahren nach Anspruch 1, wobei das zusammenwirkende Mehrbenutzer-Maschinenlernen unter Verwendung einer Zielfunktion ausgeführt wird, die unter Verwendung einer Kernnorm ausdrückt wird.

Verfahren nach Anspruch 1, wobei der Schritt zum Anwenden das zusammenwirkende Mehrbenutzer-Maschinenlernen mit einer Zielfunktion anwendet, um eine Matrix zu bilden, wobei jede eine der Spalten und Zeilen einem jeweiligen Mobilfunkbenutzer entspricht, und jede der anderen Spalten und der Zeilen einer jeweiligen der mehreren Standortkontextkategorien entspricht.

Verfahren nach Anspruch 6, wobei die Zielfunktion unter Verwendung einer konvexen Hüllkurve einer nichtkonvexen Rangfunktion ausgedrückt wird, die einer Zeileneinschränkung in der Matrix unterliegt.

Verfahren nach Anspruch 1 oder Anspruch 3, das ferner auf Grundlage der einzelnen optimierten Standortkontextkategorie für mindestens einen Mobilfunkbenutzer in der Gruppe ein Ableiten von mindestens einer Aktivität aufweist, die von dem mindestens einen Mobilfunkbenutzer ausgeführt wird oder für diesen von Interesse ist.

Verfahren nach Anspruch 1 oder Anspruch 3, das ferner auf Grundlage der einzelnen optimierten Standortkontextkategorie für mindestens einen Mobilfunkbenutzer in der Gruppe ein Ableiten von mindestens einer zukünftigen Absicht des mindestens einen Mobilfunkbenutzers aufweist.

Ein nichttransitorischer Herstellungsgegenstand, der konkret ein computerlesbares Programm verkörpert, das, wenn es ausgeführt wird, einen Computer veranlasst, die Schritte von Anspruch 1 auszuführen.

Ein nichttransitorischer Herstellungsgegenstand, der konkret ein computerlesbares Programm verkörpert, das, wenn es ausgeführt wird, einen Computer veranlasst, die Schritte von Anspruch 2 auszuführen.

System zum Ableiten von Standortkontextkategorien für eine Gruppe von Mobilfunkbenutzern mit mindestens zwei Mitgliedern, aufweisend:
einen Computerserver mit einem Prozessor und einem Arbeitsspeicher, das konfiguriert ist zum:
Erhalten von mindestens einer Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe aus öffentlich verfügbaren Informationen in Reaktion auf unsichere Mobilgerät-Standortdaten; und
Anwenden von zusammenwirkendem Mehrbenutzer-Maschinenlernen auf die mindestens eine Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe, um eine einzelne optimierte Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe abzuleiten.

System nach Anspruch 12, wobei der Computerserver unter Verwendung einer Cloud-Computing-Konfiguration umgesetzt ist.

System nach Anspruch 12, wobei der Computerserver ferner für mindestens einen Mobilfunkbenutzer in der Gruppe konfiguriert ist, um auf Grundlage der einzelnen optimierten Standortkontextkategorie mindestens eine Aktivität abzuleiten, die von dem mindestens einen Mobilfunkbenutzer ausgeführt wird oder für diesen von Interesse ist.

System nach Anspruch 12, wobei der Computerserver ferner für mindestens einen Mobilfunkbenutzer in der Gruppe konfiguriert ist, um auf Grundlage der einzelnen optimierten Standortkontextkategorie mindestens eine zukünftige Absicht des mindestens einen Mobilfunkbenutzers abzuleiten.

Description:
HINTERGRUNDTechnisches Gebiet

Die vorliegende Erfindung betrifft allgemein Mobilfunkkommunikation und insbesondere Standortkontextableitung auf Grundlage von Benutzermobilfunkdaten mit Unsicherheit.

Beschreibung des einschlägigen Stands der Technik

Verhaltensweisen und Absichten von Kunden unter Verwendung ihrer Mobilitätsdaten abzuleiten ist wertvoll. Das Ableiten derartiger Informationen ist jedoch mit beträchtlichen Herausforderungen verbunden. Zum Beispiel stellen Mobiltelefondaten Längen- und Breitengradangaben ohne Kontext bereit. Außerdem ist bekannt, dass Standortbestimmungsfunktionen von Mobiltelefonen nicht allzu genau sind. Zum Beispiel können abhängig von den Geräten, vom Betriebssystem und von den Bestimmungsverfahren die Fehler, die durch derartige Standortbestimmungsfunktionen von Mobiltelefonen entstehen, hunderte Meter oder mehr betragen. Daher besteht ein Bedarf für ein exaktes Ableiten eines Standortkontexts für einen Mobilfunkbenutzer auf Grundlage von Benutzermobilfunkdaten, die unsicher sind.

KURZDARSTELLUNG DER ERFINDUNG

Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren bereitgestellt, das durch einen Computerserver zum Ableiten von Standortkontextkategorien für eine Gruppe von Mobilfunkbenutzern mit mindestens zwei Mitgliedern ausgeführt wird. Das Verfahren enthält ein Erhalten von mindestens einer Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe aus öffentlich verfügbaren Informationen in Reaktion auf unsichere Mobilgerät-Standortdaten eines Mobilgeräts. Das Verfahren enthält ferner ein Anwenden von zusammenwirkendem Mehrbenutzer-Maschinenlernen auf die mindestens eine Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe, um eine einzelne optimierte Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe abzuleiten.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren bereitgestellt, das durch einen Computerserver zum Ableiten von Standortkontextkategorien für eine Gruppe von Mobilfunkbenutzern mit mindestens zwei Mitgliedern ausgeführt wird. Das Verfahren enthält für jeden Mobilfunkbenutzer in der Gruppe ein Senden einer jeweiligen Anfrage an eine oder mehrere mobile Web-Anwendungen, die mindestens eine Standortkontextkategorie zurückgeben, die auf einen der sendenden Mobilfunkbenutzer anwendbar ist, in Reaktion auf eine Mobilfunkbenutzer-Standorteingabe, die in der jeweiligen Anfrage angegeben ist. Das Verfahren enthält ferner ein Empfangen der mindestens einen Standortkontextkategorie von der mobilen Web-Anwendung auf die jeweilige Anfrage für jeden Mobilfunkbenutzer in der Gruppe. Das Verfahren enthält außerdem ein Anwenden von zusammenwirkendem Mehrbenutzer-Maschinenlernen auf die mindestens eine Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe, um eine einzelne optimierte Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe abzuleiten.

Gemäß noch einem weiteren Aspekt der vorliegenden Erfindung wird ein System zum Ableiten von Standortkontextkategorien für eine Gruppe von Mobilfunkbenutzern mit mindestens zwei Mitgliedern bereitgestellt. Das System enthält einen Computerserver mit einem Prozessor und einem Arbeitsspeicher, der konfiguriert ist, um mindestens eine Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe aus öffentlich verfügbaren Informationen in Reaktion auf unsichere Mobilgerät-Standortdaten zu erhalten. Der Computerserver mit dem Prozessor und dem Arbeitsspeicher ist ferner konfiguriert, um zusammenwirkendes Mehrbenutzer-Maschinenlernen auf die mindestens eine Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe anzuwenden, um eine einzelne optimierte Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe abzuleiten.

Diese und weitere Merkmale und Vorteile werden aus der folgenden ausführlichen Beschreibung von veranschaulichenden Ausführungsformen davon offenkundig, die in Verbindung mit den begleitenden Zeichnungen gelesen werden sollte.

Figurenliste

Die Offenbarung stellt in der folgenden Beschreibung Details von bevorzugten Ausführungsformen unter Bezugnahme auf die folgenden Figuren bereit; wobei:

  • 1 ein beispielhaftes Verarbeitungssystem gemäß einer Ausführungsform der vorliegenden Erfindung zeigt, auf das die vorliegende Erfindung angewendet werden kann;
  • 2 eine beispielhafte Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt, auf die die vorliegende Erfindung angewendet werden kann;
  • 3 gemäß einer Ausführungsform der vorliegenden Erfindung ein beispielhaftes Verfahren zum Ableiten von Standortkontext für Mobilfunkbenutzer auf Grundlage von Benutzermobilfunkdaten zeigt, die unsicher sind;
  • 4 eine Matrix A, eine mögliche Standort-Binärmatrix Y und eine unmögliche Standard-Binärmatrix Z gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 5 eine Matrix X zeigt, die eine einzelne Standortkontextkategorie zu jeder beliebigen Zeit für jeden der n Benutzer angibt;
  • 6 einen beispielhaften Cloud-Computing-Knoten gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 7 eine beispielhafte Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt; und
  • 8 beispielhafte Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.

AUSFÜHRLICHE BESCHREIBUNG

Die vorliegende Erfindung bezieht sich auf ein Ableiten eines Standortkontexts für einen Mobilfunkbenutzer auf Grundlage von Benutzermobilfunkdaten, die unsicher sind. Die Begriffe „wahre Standortkategorie“, „optimierte Standortkategorie“, „wahre Standortkontextkategorie“ und „optimierte Standortkontextkategorie“, wie hierin verwendet, beziehen sich auf eine wahrscheinlich exaktere Ableitung der Standortkategorie als (i) den Standort, der durch eine Standortbestimmungsfunktion eines Mobilgeräts (z.B. Telefon) bereitgestellt wird, der einen Fehler von hunderten Metern oder mehr aufweisen kann, und (ii) die Standortkontextkategorie, die für einen einzelnen Mobilfunkbenutzer bereitgestellt wird, die auf dem Standort beruht, der durch eine Standortbestimmungsfunktion des Mobilgeräts bereitgestellt wird. Auf diese Weise wird eine exaktere Ableitung des Standorts eines Benutzers bereitgestellt, die dem Benutzer sowie jeder Anwendung, die den Standort des Benutzers einbezieht, besser dienen kann. Auf den von einer Standortbestimmungsfunktion eines Mobilgeräts (z.B. Telefon) bereitgestellten Standort wird hierin austauschbar als „unsichere Mobilgerät-Standortdaten“ verwiesen, da dessen Exaktheit nicht garantiert ist und den vorher erwähnten typischen Fehler aufweist, wodurch derartige Standortdaten unsicher sind. In den meisten Fällen kann eine derartige Unsicherheit als Standortdaten mit einem Fehler dargestellt werden, der größer als ein Fehler-Schwellenwertbetrag ist Des Weiteren bezieht sich die allgemeine Verwendung des Begriffs „wahr“ in Bezug auf einen Aspekt der vorliegenden Erfindung auf eine wahrscheinlich exaktere Darstellung eines Elements, das ansonsten ohne die Verwendung der vorliegenden Erfindung bereitgestellt wird, wie ein Fachmann problemlos anhand der Lehren der vorliegenden, hierin bereitgestellten Erfindung erkennen wird.

In einer Ausführungsform stellt die vorliegende Erfindung eine Lösung auf Grundlage von Maschinenlernen zum automatischen Ableiten von Standortkontextkategorien für Mobiltelefonbenutzer auf Grundlage von möglichen Kategorien von in der Nähe liegenden Standorten bereit. In einer Ausführungsform verwendet die vorliegende Erfindung alle Standortinformationen der Benutzer, die typischerweise nicht allzu genau sind, um die Standortkontextkategorien jeweils zusammenwirkend und exakter zu bestimmen.

In einer Ausführungsform werden mögliche Kategorien von in der Nähe liegenden Standorten aus öffentlich verfügbaren Informationen gesammelt. Derartige öffentlich verfügbare Informationen können aus Foursquare®, OpenStreetMap® (OSM) usw. erhalten werden, ohne auf diese beschränkt zu sein. Es sollte klar sein, dass die vorliegende Erfindung nicht allein auf die vorgenannten mobilen Anwendungen beschränkt ist und somit weitere mobile Anwendungen, einschließlich der noch nicht zur Verfügung stehenden, gemäß den Lehren der vorliegenden Erfindung unter Beibehaltung des Erfindungsgedankens der vorliegenden Erfindung verwendet werden können.

Foursquare® ist eine mobile lokale Such- und Entdeckungsdienst-Anwendung, die für ihre Benutzer Suchergebnisse bereitstellt. Foursquare® stellt auf Grundlage von Orten, die ein Benutzer besucht hat, von Dingen, die der Benutzer mag, wie in einer Eingabe in die Foursquare®-Anwendung angeben, Empfehlungen für die Besichtigung von Orten bereit, die in der Nähe des aktuellen Standorts eines Benutzers von Foursquare® liegen, und auf Vorschlag von anderen Foursquare®-Benutzern bereit, denen er vertraut. Nach dem Senden einer Anfrage, die einen einzelnen Standort enthält, gibt Foursquare® mehrere in der Nähe liegende Kontextoptionen zurück. Zu Standortkategorien gehören die Folgenden: Essen; Einkauf; Nachtclubs, Schule; freie Natur usw.

OpenStreetMap® ist ein Gemeinschaftsprojekt zum Erstellen einer frei bearbeitbaren Weltkarte. Die Kartendaten werden von Freiwilligen gesammelt, die Geländeaufnahmen unter Verwendung von beispielsweise einer Handheld-GPS-Einheit, eines Tablets, einer Digitalkamera usw. erstellen. Die Daten werden anschließend in die Datenbank von OpenStreetMap® eingegeben. Anzeige und Zugriff auf die Daten können mithilfe eines Web-Browsers usw. erfolgen.

In einer Ausführungsform geht die vorliegende Erfindung davon aus, dass Benutzer in mehrere Gruppen kategorisiert werden können, wobei die Benutzer in denselben Gruppen ähnliche Verhaltensmuster und Interessen haben, wogegen die Benutzer in verschiedenen Gruppen unterschiedliche Verhaltensmuster und Interessen haben. Auf diese Weise kann die vorliegende Erfindung zusammenwirkend die Kategorisierungen und Verhaltensmuster der Benutzer in Erfahrung bringen.

In einer Ausführungsform geht die vorliegende Erfindung von Folgendem als Eingabe aus: für jeden Benutzer eine Liste der Kategorien von Standorten in der Nähe des Benutzers. In dieser Ausführungsform werden keine weiteren Informationen benötigt.

In einer Ausführungsform stellt die vorliegende Erfindung Folgendes als Ausgabe bereit: Standortkategorien der Benutzer.

1 zeigt ein beispielhaftes Verarbeitungssystem 100 gemäß einer Ausführungsform der vorliegenden Erfindung, auf das die vorliegende Erfindung angewendet werden kann. Das Verarbeitungssystem 100 enthält mindestens einen Prozessor (CPU) 104, der betriebsfähig mit anderen Komponenten über einen Systembus 102 verbunden ist. Ein Cache-Speicher 106, ein Nur-Lese-Speicher (ROM) 108, ein Direktzugriffspeicher (RAM) 110, ein Eingabe-/Ausgabe- (E/A) Adapter 120, ein Tonadapter 130, ein Netzwerkadapter 140, ein Benutzerschnittstellenadapter 150 und ein Anzeigeadapter 160 sind betriebsfähig mit dem Systembus 102 verbunden.

Eine erste Speichereinheit 122 und eine zweite Speichereinheit 124 sind durch den E/A-Adapter 120 betriebsfähig mit dem Systembus 102 verbunden. Die Speichereinheiten 122 und 124 können jede beliebige Plattenspeichereinheit (z.B. Magnet- oder optische Plattenspeichereinheit), eine Solid-State-Magneteinheit usw. sein. Die Speichereinheiten 122 und 124 können derselbe Speichereinheitentyp oder unterschiedliche Typen von Speichereinheiten sein.

Ein Lautsprecher 132 ist betriebsfähig über den Tonadapter 130 mit dem Systembus 102 verbunden. Ein Sender/Empfänger 142 ist betriebsfähig über den Netzwerkadapter 140 mit dem Systembus 102 verbunden. Eine Anzeigeeinheit 162 ist betriebsfähig über den Anzeigeadapter 160 mit dem Systembus 102 verbunden.

Eine erste Benutzereingabeeinheit 152, eine zweite Benutzereingabeeinheit 154 und eine dritte Benutzereingabeeinheit 156 sind betriebsfähig über den Benutzerschnittstellenadapter 150 mit dem Systembus 102 verbunden. Die Benutzereingabeeinheiten 152, 154 und 156 können eine Tastatur, eine Maus, ein Tastenblock, eine Bilderfassungseinheit, eine Bewegungserkennungseinheit, ein Mikrofon, eine Einheit, die die Funktionalität von mindestens zwei der vorhergehenden Einheiten integriert, usw. sein. Selbstverständlich können auch andere Typen von Eingabeeinheiten verwendet werden, wobei der Erfindungsgedanke der vorliegenden Erfindung erhalten bleibt. Die Benutzereingabeeinheiten 152, 154 und 156 können derselbe Typ von Benutzereingabeeinheit oder verschiedene Typen von Benutzereingabeeinheiten sein. Die Benutzereingabeeinheiten 152, 154 und 156 werden zum Eingeben und Ausgeben von Informationen in das und aus dem System 100 verwendet.

Selbstverständlich kann das Verarbeitungssystem 100 auch andere Elemente (nicht gezeigt) enthalten bzw. können bestimmte Elemente weggelassen werden, wie von einem Fachmann problemlos in Betracht gezogen werden kann. Zum Beispiel können verschiedene andere Eingabeeinheiten und/oder Ausgabeeinheiten in dem Verarbeitungssystem 100 enthalten sein, was von der jeweiligen Umsetzung desselben abhängt, wie einem Fachmann problemlos klar sein wird. Zum Beispiel können verschiedene Typen von drahtlosen und/oder drahtgebundenen Eingabe- und/oder Ausgabeeinheiten verwendet werden. Des Weiteren können auch zusätzliche Prozessoren, Controller, Arbeitsspeicher usw. in verschiedenen Konfigurationen verwendet werden, wie einem Fachmann problemlos klar sein wird. Diese und weitere Variationen des Verarbeitungssystems 100 lassen sich von einem Fachmann problemlos anhand der Lehren der vorliegenden, hierin bereitgestellten Erfindung in Betracht ziehen.

2 zeigt eine beispielhafte Umgebung 200 gemäß einer Ausführungsform der vorliegenden Erfindung, auf das die vorliegende Erfindung angewendet werden kann.

Die Umgebung 200 enthält eine Gruppe von Mobilgeräten 210 und einen zentralen Server 220. In der Ausführungsform von 2 sind die Mobilgeräte Mobiltelefone. Es sollte jedoch klar sein, dass jedes Mobilgerät mit einer Geräte-Standortbestimmungsfunktion und/oder das geeignet ist, über eine Geräte-Standortbestimmungsfunktion geortet zu werden, gemäß den Lehren der vorliegenden Erfindung verwendet werden kann.

In einer Ausführungsform ist der zentrale Server 220 in der Cloud umgesetzt. Der zentrale Server 220 kann jedoch auch in Nicht-Cloud-Umgebungen umgesetzt werden.

Eine oder mehrere Mobilgerät-Standortbestimmungsfunktionen 230 stellen Standortdaten 231 für die Mobilgeräte 210 bereit. Die Geräte-Standortbestimmungsfunktionen werden zwar in der Ausführungsform von 2 getrennt von den Mobilgeräten 210 gezeigt, sie können sich aber in den Mobilgeräten 210 selbst oder innerhalb oder einem Teil von anderen Geräten/Systemen befinden, wie einem Fachmann problemlos klar sein wird. Somit kann in einer Ausführungsform die Mobilfunkbenutzer-Standorteingabe von dem Mobilgerät selbst erhalten werden, wobei festgestellt wird, dass in den meisten Fällen derartige Informationen von dem Mobilgerät unter einem in den meisten Fällen nicht akzeptablen Grad von Ungenauigkeit leiden. Eine derartige Ungenauigkeit gehört typischerweise zu Geräte-Standortbestimmungsfunktionen auf zugehörigen Geräten (z.B. von demselben Hersteller, wie beispielsweise ein Telefon und ein Tablet, die jeweils konfiguriert sind, den gegenseitigen Standort zu bestimmen usw.), die eine andere Standortbestimmungsfähigkeit als ein Gerät haben, das die Standortinformationen bereitstellt. Die vorliegende Erfindung ist nicht auf irgendwelche bestimmten Geräte-Standortbestimmungsfunktionen beschränkt und kann somit mit den Geräte-Standortbestimmungsfunktionen auf Grundlage des Globalen Positionierungssystem (GPS), von WLAN-Positionierungssystemen (WPS), Positionsbestimmungssystemen auf Mobilnetzgrundlage usw. verwendet werden. Die vorgenannte Auflistung dient nur zur Veranschaulichung.

Die Standortdaten von den Mobilgerät-Standortbestimmungsfunktionen 230 werden für eine oder mehrere öffentlich zugängliche Quellen von Standortkontextinformationen 240 (die unter Verwendung von z.B. mobilen Anwendungen usw. umgesetzt werden) bereitgestellt, die mehrere Standortkontextkategorien/Optionen zurückgeben (hierin im Folgenden „Kategorien“), die auf einen Mobilfunkbenutzer in Reaktion auf eine Mobilfunkbenutzer-Standorteingabe anwendbar sind, die in der jeweiligen Anfrage angegeben ist.

Der zentrale Server 220 empfängt die mehreren Standortkontextkategorien für eine Gruppe von Mobilgerätebenutzern von der einen oder den mehreren Quellen 240 und wendet das Maschinenlernen auf die mehreren Standortkontextkategorien an, um so eine oder mehrere Matrizen zu bilden, die jeweils eine Gruppe von Benutzern und eine Gruppe von Standortkontextkategorien für die Gruppe von Benutzern enthalten. Unter Bezugnahme auf 4 werden beispielhafte Matrizen gezeigt und beschrieben. Das Maschinenlernen umfasst die Verwendung einer Zielfunktion, um den wahren Standort eines Mobilgerätbenutzers aus dem zu erfahren, was ursprünglich etwas ungenaue Standortdaten von der Mobilgerät-Standortbestimmungsfunktion waren. Zu diesem Zweck identifiziert der zentrale Server 220 eine einzelne wahre Standortkontextkategorie für jeden Benutzer aus den mehreren Standortkontextkategorien, die für jeden Benutzer empfangen werden.

Der zentrale Server 220 kann anschließend eine oder mehrere Funktionen ausführen und/oder eine oder mehrere Anwendungen auf Grundlage des wahren Standorts der Mobilgerätbenutzer umsetzen.

3 zeigt gemäß einer Ausführungsform der vorliegenden Erfindung ein beispielhaftes Verfahren zum Ableiten von Standortkontext für einen Mobilfunkbenutzer auf Grundlage von Benutzermobilfunkdaten, die unsicher sind.

In der Ausführungsform von 3 wird ein Verfahren 300 zu Veranschaulichungszwecken für n Benutzer und m Standortkontextkategorien verwendet. Es sollte jedoch klar sein, dass die vorliegende Erfindung für eine beliebige Anzahl von Benutzern und jede Anzahl von Standortkontextkategorien verwendet werden kann, was problemlos auf Grundlage der Umsetzung variiert werden kann, was dem Fachmann problemlos anhand der Lehren der vorliegenden, hierin bereitgestellten Erfindung klar sein wird.

In der Ausführungsform von 3 arbeitet das Verfahren 300 unter bestimmten Einschränkungen und Annahmen. Zum Beispiel ist eine Einschränkung, dass jeder Benutzer für jeden untersuchten Zeitraum nur zu einer Kategorie gehören darf. Zu Beginn ist die Kategorie unbekannt, aber es ist eine Gruppe vorhanden, die alle Kategorien von Interesse enthält. In einer Ausführungsform ist die Gruppe eine Liste von Benutzern und den Kategorien von Standorten in der Nähe der Benutzer. Zum Beispiel zeigt 4 gemäß einer Ausführungsform der vorliegenden Erfindung eine Matrix A 410 aller (n) Benutzer und aller (m) Kategorien, aus denen eine mögliche Standort-Binärmatrix Y 420 und eine unmögliche Standort-Binärmatrix Z 430 abgeleitet wird. 5 zeigt eine Matrix X 510, die eine einzelne Standortkontextkategorie zu jeder beliebigen Zeit für jeden der n Benutzer angibt. In den Matrizen (410, 420, 430, 510) werden in der Nähe liegende Standortkategorien unter Verwendung eines Punktschraffurmusters gezeigt, während andere Standortkategorien ohne jedes Schraffurmuster gezeigt werden. In jeder der Matrizen (410, 420, 430, 510) werden die verschiedenen n Benutzer mit u1 bis un bezeichnet, während die verschiedenen m Kategorien unter Verwendung von c1 bis cm bezeichnet werden. Die Matrix X 510 wird wie folgt gebildet: Matrix X 510=Matrix Y 420+Matrix Z 430.embedded image

Unter Bezugnahme auf 3 wird in Schritt 310 für jeden Mobilfunkbenutzer in einer Gruppe von n Mobilfunkbenutzern jeweils eine Anfrage an eine mobile Web-Anwendung gesendet, die eine oder mehrere Standortkontextkategorien zurückgibt, die auf den Mobilfunkbenutzer in Reaktion auf eine Mobilfunkbenutzer-Standorteingabe anwendbar sind, die in der jeweiligen Anfrage angegeben ist. Die Gesamtanzahl von Standortkontextkategorien für alle n Benutzer ist m, wobei n und m jeweils Ganzzahlen sind. In einer Ausführungsform kann die Mobilfunkbenutzer-Standorteingabe von dem Mobilgerät selbst erhalten werden, wobei festgestellt wird, dass in den meisten Fällen derartige Informationen von dem Mobilgerät an einem in den meisten Fällen nicht akzeptablen Grad an Ungenauigkeit leiden. Die Mobilfunkbenutzer-Standorteingabe kann in Längen- und Breitengraden oder in jeder anderen Darstellungsweise erfolgen, die zum Darstellen eines Standorts verwendet wird.

In Schritt 320 werden für jeden Mobilfunkbenutzer in der Gruppe die eine oder die mehreren Standortkontextkategorien von der mobilen Web-Anwendung in Reaktion auf die jeweilige Anfrage empfangen.

In Schritt 330 wird ein zusammenwirkendes Mehrbenutzer-Maschinenlernen auf die eine oder die mehreren Standortkontextkategorien für jeden Mobilfunkbenutzer in der Gruppe angewendet, um eine einzelne „wahre“ (exaktere) Standortkontextkategorie für jeden Mobilfunkbenutzer in der Gruppe abzuleiten. Im Kontext der vorliegenden Erfindung bezieht sich der Begriff „zusammenwirkendes Mehrbenutzer-Maschinenlernen“ auf ein Maschinenlernen, das auf Daten von mehreren Benutzern angewendet wird, um so zu einem Ergebnis zu kommen, das im Wesentlichen über mehrere Benutzer übergreifend über deren gemeinsam genutzte Daten zusammengetragen wird, wobei sich eine derartige gemeinsame Nutzung auf die Verwendung des Maschinenlernens bezieht, das auf die Daten der mehreren Benutzer angewendet wird. Während das folgende Beispiel sich an einer einzelnen Standortkontextkategorie orientiert, die auf einen jeweiligen Mobilfunkbenutzer anwendbar ist, ist zum Beispiel mehr als eine möglich, wenn der Benutzer sich zwischen zwei Einrichtungen aufhält, einer für Essen (z.B. ein Restaurant) und einer für Sport (z.B. ein Geschäft für Sportartikel). In den meisten Fällen wird aber nur eine Kategorie aufgerufen. Des Weiteren kann die vorliegende Erfindung auf die Anwendung (Auswahl) von nur einer Kategorie eingeschränkt werden, wie in den hierin gezeigten veranschaulichenden Ausführungsformen. Diese und weitere Variationen der vorliegenden Erfindung lassen sich von einem Fachmann problemlos anhand der Lehren der vorliegenden, hierin bereitgestellten Erfindung feststellen.

In einer Ausführungsform enthält der Schritt 330 die Schritte 330A bis 330X.

In Schritt 330A wird unter Verwendung von zusammenwirkendem Mehrbenutzer-Maschinenlernen und einer Zielfunktion eine n * m „wahre“ Standortematrix X unter den folgenden Einschränkungen gebildet:

  1. (i) Jede Zeile der Matrix X 510 enthält genau eine 1 (die 1 liegt innerhalb der diagonalen schraffierten Einträge); und
  2. (ii) Alle anderen Einträge in dieser Zeile sind 0.

In der Matrix X 510 bedeutet Xij = 1, dass der wahre Bestimmungsort des Benutzers i in der Standortkategorie j liegt.

In einer Ausführungsform sollte die Matrix X 510 eine Niedrigrangmatrix sein. In einer Ausführungsform kann der Rang wie folgt sein:

  • Rang (X) = Anzahl von Benutzergruppen (<< n)

In einer Ausführungsform ist Zielfunktion wie folgt: minX{0,1}s.t.nxmXembedded imageXi,Yi,T=1,i[n]embedded imageXi,Zi,T=0,i[n]embedded imagewobei ∥X∥* die Kernnorm der Matrix X510 angibt (die Kernnorm ist die konvexe Hüllkurve der nichtkonvexen Rangfunktion), und X{i,*} den i-ten Zeilenvektor der Matrix X 510 angibt.

Es sollte klar sein, dass die beiden Einschränkungen sicherstellen, dass jede Zeile in der Matrix X 510 nur genau eine 1 enthält und alle anderen Einträge 0 sind.

Die oben genannte Zielfunktion kann effizient über ein erweitertes Lagrange-Verfahren optimiert werden, das in der Lage ist, das eingeschränkte Optimierungsproblem in Bezug auf die Zielfunktion durch eine Zielfunktion konvex ist, ist die durch das Optimierungsverfahren erlernte optimale Lösung eindeutig und gegenüber Initialisierungen robust. Da die erlernte Matrix X außerdem dünn besetzt (nur eine einzelne 1 in jeder Zeile) und niederrangig ist, erfasst sie naturgemäß eine kleine Menge der wichtigsten Faktoren, die Verhaltensweisen von Personen steuern können. Dadurch wird sie für eine Modellierung von Verhaltensweisen und Interessen von Personen sehr verlockend.

In Schritt 340 wird auf Grundlage der einzelnen optimierten Standortkontextkategorie für mindestens einen Mobilfunkbenutzer in der Gruppe eine Aktivität abgeleitet, die von dem mindestens einen Mobilfunkbenutzer ausgeführt wird oder für diesen von Interesse ist.

In Schritt 350 wird auf Grundlage der einzelnen optimierten Standortkontextkategorie für mindestens einen Mobilfunkbenutzer in der Gruppe mindestens eine zukünftige Absicht des mindestens einen Mobilfunkbenutzers abgeleitet.

Im Folgenden werden verschiedene Vorteile beschrieben, die durch die vorliegende Erfindung bereitgestellt werden.

Zum Beispiel kann die vorliegende Erfindung vorteilhaft Mobilfunkdaten-Unsicherheiten nutzen, um Einsichten in Verhaltensweisen und Absichten von Mobilfunkbenutzern bereitzustellen.

Allgemeiner ausgedrückt kann die vorgeschlagene Erfindung ein allgemeines Problem der Zuweisungsunsicherheit lösen. Zum Beispiel weiß das System beim Durchsuchen von Daten, ob der Benutzer zumindest an einem der Elemente auf einer bestimmten Seite Interesse hat, ist sich aber nicht sicher, welcher bestimmte Artikel von Interesse ist. Vorteilhafterweise kann die vorliegende Erfindung die wahren Interessen eines Mobilfunkbenutzers ableiten.

Ferner ist die Identifizierung des wahren Standortkontexts ein notwendiger Schritt in vielen Anwendungen, die sich auf eine räumlich-zeitliche Analyse beziehen.

Außerdem ist eine Unsicherheit bei Zuweisungen ein Schlüsselproblem in der Marktanalyse, auf die sich die vorliegende Erfindung problemlos anwenden lässt, um eine derartige Unsicherheit zu beseitigen.

Zu beispielhaften Anwendungen/Verwendungen, auf die sich die vorliegende Erfindung anwenden lässt, gehören; gezielte Werbung, Marketing-Anwendungen, räumlich-zeitliche Analyse usw., sie sind aber nicht darauf beschränkt.

Es sei von vornherein klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing enthält. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden:

Cloud-Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften enthalten, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.

Bei den Eigenschaften handelt es sich um die Folgenden:

On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.

Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.

Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).

Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.

Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Der Ressourcen-Verbrauch kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.

Bei den Dienstmodellen handelt es sich um die Folgenden:

Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.

Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.

Infrastructure as a Service (IaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).

Bei den Einsatzmodellen handelt es sich um die Folgenden:

Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.

Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.

Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.

Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).

Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten aufweist.

Unter folgender Bezugnahme auf 6 wird eine schematische Darstellung eines Beispiels für einen Cloud-Computing-Knoten 610 gezeigt. Der Cloud-Computing-Knoten 610 ist nur ein Beispiel für einen geeigneten Cloud-Computing-Knoten und soll keinerlei Einschränkung in Bezug auf den Schutzumfang der Verwendung oder Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung andeuten. Ungeachtet dessen lässt sich der Cloud-Computing-Knoten 610 umsetzen und/oder kann jede der im Vorgenannten erläuterten Funktionalitäten ausführen.

Im Cloud-Computing-Knoten 610 ist ein Computersystem/Server 612 vorhanden, das bzw. der mit zahlreichen anderen Umgebungen oder Konfigurationen für Universal- oder Sonder-Datenverarbeitungssysteme betriebsbereit ist. Zu Beispielen für bekannte Datenverarbeitungssysteme, Umgebungen und/oder Konfigurationen, die für eine Verwendung mit dem Computersystem/Server 612 geeignet sein können, zählen PC-Systeme, Servercomputersysteme, Thin Clients, Thick Clients, Handheld- oder Laptop-Einheiten, Multiprozessorsysteme, Systeme auf der Grundlage von Mikroprozessoren, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der oben genannten Systeme oder Einheiten und dergleichen aufweisen, sie sind aber nicht darauf beschränkt.

Das Computersystem/der Server 612 kann in dem allgemeinen Kontext von Anweisungen beschrieben werden, die durch ein Computersystem ausführbar sind, wie beispielsweise Programmmodule, die von einem Computersystem ausgeführt werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. enthalten, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen umsetzen. Das Computersystem/der Server 612 kann in verteilten Cloud-Computing-Umgebungen betrieben werden, wobei Aufgaben von entfernt angeordneten Verarbeitungseinheiten ausgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können Programmmodule sich sowohl in lokalen als auch entfernt angeordneten Computersystem-Speichermedien befinden, die Arbeitsspeicher-Speichereinheiten enthalten.

Wie in 6 gezeigt, wird das Computersystem/der Server 612 in dem Cloud-Computing-Knoten 610 in der Form einer Universal-Datenverarbeitungseinheit gezeigt. Die Komponenten des Computersystems/Servers 612 können einen oder mehrere Prozessoren oder Verarbeitungseinheiten 616, einen Systemarbeitsspeicher 628 und einen Bus 618 enthalten, der verschiedene Systemkomponenten einschließlich des Systemarbeitsspeichers 628 mit dem Prozessor 616 verbindet, sie sind aber nicht darauf beschränkt.

Der Bus 618 stellt einen oder mehrere von mehreren beliebigen Typen von Busstrukturen dar, einschließlich eines Arbeitsspeicherbusses oder Arbeitsspeichercontrollers, eines Peripheriebusses, eines beschleunigten Grafikanschlusses und eines Prozessors oder lokalen Busses unter Verwendung von einer aus einer Vielfalt von Busarchitekturen. Als Beispiel und nicht einschränkend enthalten derartige Architekturen einen Industry Standard Architecture- (ISA) Bus, Micro Channel Architecture- (MCA) Bus, Enhanced ISA- (EISA) Bus, einen lokalen Video Electronics Standards Association- (VESA) Bus und Peripheral Component Interconnect- (PCI) Bus.

Das Computersystem/der Server 612 enthält typischerweise eine Vielfalt von Medien, die von einem Computersystem gelesen werden können. Derartige Medien können alle verfügbaren Medien sein, auf die von dem Computersystem/Server 612 zugegriffen werden kann, und sie enthalten sowohl flüchtige als auch nichtflüchtige Medien, austauschbare und nicht austauschbare Medien.

Der Systemarbeitsspeicher 628 kann vom Computersystem lesbare Medien in der Form von flüchtigem Arbeitsspeicher enthalten wie beispielsweise einen Direktzugriffspeicher (RAM) 630 und/oder einen Cache-Zwischenspeicher 632. Das Computersystem/der Server 612 kann ferner weitere austauschbare/nicht austauschbare, flüchtige/nichtflüchtige Computersystem-Speichermedien enthalten Nur als Beispiel kann das Speichersystem 634 zum Lesen von und Schreiben auf nicht austauschbaren, nichtflüchtigen Magnetdatenträgern bereitgestellt werden (nicht gezeigt und typischerweise als „Festplatte“ bezeichnet). Obwohl nicht gezeigt, können ein Magnetplattenlaufwerk zum Auslesen und Beschreiben einer austauschbaren, nichtflüchtigen Magnetplatte (z.B. eine Diskette) und ein optisches Plattenlaufwerk zum Auslesen oder Beschreiben einer austauschbaren, nichtflüchtigen optischen Platte wie einem CD-ROM, DVD-ROM oder andere optische Datenträger bereitgestellt werden. In solchen Fällen können alle über eine oder mehrere Datenträgerschnittstellen mit dem Bus 618 verbunden werden. Wie ferner im Folgenden dargestellt und beschrieben wird, kann der Speicher 628 mindestens ein Programmprodukt mit einem Satz (z.B. mindestens einem) von Programmmodulen enthalten, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen.

Ein Programm/Dienstprogramm 640, das einen Satz (mindestens eines) von Programmmodulen 642 aufweist, kann beispielsweise und nicht einschränkend im Arbeitsspeicher 628 gespeichert werden, ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Das Betriebssystem, ein oder mehrere Anwendungsprogramme, weitere Programmmodule und Programmdaten oder eine Kombination davon können alle jeweils eine Umsetzung einer Netzwerkumgebung enthalten. Die Programmmodule 642 führen im Allgemeinen die Funktionen und/oder Methodiken von Ausführungsformen der Erfindung aus, wie hierin beschrieben.

Das Computersystem/der Server 612 kann auch mit einer oder mehreren externen Einheiten 614, wie beispielsweise einer Tastatur, einer Zeigeeinheit, einer Anzeige 624 usw.; einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem/Server 612 zu interagieren; und/oder allen Einheiten (z.B. Netzwerkkarte, Modem usw.) Daten austauschen, die es dem Computersystem/Server 612 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über die Eingabe-/Ausgabe- (E/A) Schnittstellen 622 erfolgen. Des Weiteren kann das Computersystem/der Server 612 mit einem oder mehreren Netzwerken, wie beispielsweise einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetzwerk (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet) über einen Netzwerkadapter 620 Daten austauschen Wie dargestellt, tauscht der Netzwerkadapter 620 mit den anderen Komponenten des Computersystems/Servers 612 über den Bus 618 Daten aus. Es sollte klar sein, dass, obwohl nicht gezeigt, andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 612 verwendet werden könnten. Zu Beispiel gehören Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw., sie sind aber nicht darauf beschränkt.

Unter folgender Bezugnahme auf 7 wird eine veranschaulichende Cloud-Computing-Umgebung 750 dargestellt. Wie gezeigt, weist die Cloud-Computing-Umgebung 750 einen oder mehrere Cloud-Computing-Knoten 710 auf, mit denen lokale Datenverarbeitungseinheiten Daten austauschen können, die von Nutzern der Cloud verwendet werden, wie beispielsweise Personal Digital Assistant (PDA) oder Mobiltelefon 754A, Desktop-Computer 754B, Laptop-Computer 754C und/oder Fahrzeug-Computersystem 754N. Die Knoten 710 können untereinander Daten austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken gruppiert werden (nicht gezeigt), wie beispielsweise Private, Community, Public oder Hybrid Cloud, wie hierin oben beschrieben, oder in einer Kombination davon. Dies ermöglicht es der Cloud-Computing-Umgebung 750, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es versteht sich, dass die in 7 gezeigten Typen von Datenverarbeitungseinheiten 754A bis N nur zur Veranschaulichung dienen sollen, und dass die Cloud-Computing-Knoten 710 und die Cloud-Computing-Umgebung 750 mit jedem Typ einer computerisierten Einheit über jeden Typ von Netzwerk und/oder eine über ein Netzwerk adressierbare Verbindung (z.B. unter Verwendung eines Web-Browsers) Daten austauschen können.

Unter folgender Bezugnahme auf 8 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die von der Cloud Computing-Umgebung 750 (7) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 8 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:

Eine Hardware- und Software-Schicht 860 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten zählen Großrechner, in einem Beispiel zSeries®-Systeme von IBM®; Server auf der Grundlage der RISC-(Reduced Instruction Set Computer) Architektur, in einem Beispiel pSeries®-Systeme von IBM; xSeries®-Systeme von IBM; BladeCenter®-Systeme von IBM; Speichereinheiten; Netzwerke und Netzwerkkomponenten. Zu Beispielen für Software-Komponenten zählen Software für Netzwerkanwendungsserver, in einem Beispiel Software für WebSphere®-Anwendungsserver von IBM; und Datenbanksoftware, in einem Beispiel Software für DB2®-Datenbanken von IBM. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere, und DB2 sind Marken der International Business Machines Corporation, die weltweit unter zahlreichen Gerichtsbarkeiten registriert sind.)

Eine Virtualisierungsschicht 862 stellt eine Abstraktionsschicht bereit, welche die folgenden Beispiele für virtuelle Entitäten zur Verfügung stellen kann: virtuelle Server; virtueller Speicher; virtuelle Netzwerke, die virtuelle private Netzwerke enthalten; virtuelle Anwendungen und Betriebssysteme; sowie virtuelle Clients.

In einem Beispiel kann die Verwaltungsschicht 864 die im Folgenden beschriebenen Funktionen bereitstellen. Eine Ressourcenbereitstellungsfunktion stellt eine dynamische Beschaffung von Datenverarbeitungs- und anderen Ressourcen bereit, die zum Ausführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Mess- und Preisfindungsfunktionen stellen eine Kostenverfolgung bei der Nutzung von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie eine Abrechnung bzw. Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware aufweisen. Eine Sicherheitsfunktion stellt eine Identitätsprüfung für Cloud-Nutzer und -Aufgaben sowie einen Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal stellt für Nutzer und Systemadministratoren den Zugriff auf die Cloud-Computing-Umgebung bereit. Eine Dienstumfangsverwaltungsfunktion stellt eine Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass erforderliche Dienstleistungsebenen erreicht werden. Planungs- und Vertragserfüllungsfunktionen des Service Level Agreement (SLA) (Dienstgütevereinbarung) stellen eine Vorab-Vereinbarung für und die Beschaffung von Cloud-Computing-Ressourcen bereit, für die gemäß einer SLA eine zukünftige Anforderung erwartet wird.

Eine Arbeitslastschicht 866 stellt Beispiele für eine Funktionalität bereit, für welche die Cloud-Computing-Umgebung genutzt werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Zuordnung und Navigation; Software-Entwicklung und Lebenszyklusverwaltung; Bereitstellung von virtuellen Schulungen; Datenanalyseverarbeitung und Transaktionsverarbeitung und Ableitung von Standortkontext.

Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) enthalten, auf dem durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.

Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen beibehalten und speichern kann. Das durch einen Computer lesbare Speichermedium kann zum Beispiel eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiter-Speichereinheit oder jede geeignete Kombination aus dem Vorgenannten sein, es ist aber nicht darauf beschränkt. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer CD-ROM, eine DVD, ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination des Vorgenannten. Ein durch einen Computer lesbares Speichermedium soll, wie hierin verwendet, nicht als flüchtige Signale per se aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.

Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.

Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jeden Typ von Netzwerk verbunden werden, einschließlich ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Nutzung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.

Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Veranschaulichungen des Ablaufplans und/oder der Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufplandarstellungen und/oder der Blockschaubilder und Kombinationen von Blöcken in den Ablaufplandarstellungen und/oder den Blockschaubildern durch von einem Computer lesbare Programmanweisungen ausgeführt werden können.

Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. die andere programmierbare Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zum Umsetzen der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Fertigungsprodukt aufweist, darunter Anweisungen, die Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.

Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Arbeitsschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte umsetzen.

Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb von möglichen Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Diesbezüglich kann jeder Block in dem Ablaufplan oder in den Blockschaubildern ein Modul, ein Segment oder einen Abschnitt von Anweisungen darstellen, der eine oder mehrere ausführbare Anweisungen zum Umsetzen der angegebenen logischen Funktion(en) aufweist. In einigen alternativen Umsetzungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt auftreten. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen parallel ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, was von der beteiligten Funktionalität abhängt. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellungen sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die angegebenen Funktionen oder Handlungen durchführen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.

Eine Bezugnahme auf „eine Ausführungsform“ oder „irgendeine Ausführungsform“ der vorliegenden Erfindung sowie andere Variationen davon bedeutet, dass bestimmte Funktionen, Strukturen, Merkmale usw., die in Verbindung mit der Ausführung beschrieben werden, in zumindest einer Ausführungsform der vorliegenden Erfindung enthalten sind. Somit wird durch Auftreten des Ausdrucks „in einer Ausführungsform“ oder „in irgendeiner Ausführungsform“ sowie irgendwelchen anderen Variationen, die an verschiedenen Positionen in der gesamten Patentschrift auftreten, nicht notwendigerweise immer auf dieselbe Ausführungsform verwiesen.

Es sollte klar sein, dass die Verwendung von irgendeinem der folgenden „/“, „und/oder“ und „zumindest eines von“, zum Beispiel in den Fällen von „A/B“, „A und/oder B“ und „zumindest eines von A und B“ nur die Auswahl der zuerst aufgelisteten Option (A), oder nur die Auswahl der zweiten aufgelisteten Option (B) oder die Auswahl von beiden Optionen (A und B) umfassen soll. Als weiteres Beispiel soll in den Fällen von „A, B und/oder C“ und „zumindest eines von A, B und C“ eine derartige Ausdrucksweise die Auswahl nur der zuerst aufgelisteten Option (A), oder die Auswahl nur der zweiten aufgelisteten Option (B), oder die Auswahl nur der dritten aufgelisteten Option (C), oder die Auswahl der ersten und zweiten aufgelisteten Optionen (A und B), oder die Auswahl nur der ersten und dritten aufgelisteten Optionen (A und C), oder die Auswahl nur der zweiten und dritten aufgelisteten Optionen (B und C), oder die Auswahl aller drei Optionen (A und B und C) umfassen. Dies kann auf beliebig viele aufgelistete Elemente erweitert werden, wie für den Fachmann auf diesem und zugehörigen Fachgebieten problemlos offenkundig ist.

Nach der Beschreibung von bevorzugten Ausführungsformen eines Systems und Verfahrens (die nur veranschaulichend, aber keinesfalls einschränkend sein sollen), ist anzumerken, dass Modifizierungen und Variationen durch entsprechendes Fachpersonal unter Einhaltung der oben genannten Lehren vorgenommen werden können. Es ist daher klar, dass an bestimmten offenbarten Ausführungsformen vorgenommene Änderungen innerhalb des Schutzumfangs der Erfindung liegen, wie durch die Ansprüche im Anhang dargelegt. Somit wurden Aspekte der Erfindung mit den durch die Patentgesetze geforderten Details und Besonderheiten beschrieben, was durch die Patentschrift beansprucht und gewünscht wird, wird in den Ansprüchen im Anhang dargelegt.