-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf digitale Serviceanwendungen und insbesondere auf die Implementierung von Fremdservices in einer digitalen Serviceplattform.
-
HINTERGRUND
-
Es kann wünschenswert sein, verschiedene Funktionen und Aspekte von Fremdservices in einer anderen digitalen Serviceplattform zu implementieren. Zum Beispiel kann ein Fremdservice in einem digitalen Kartensystem implementiert werden. Digitale Kartensysteme ermöglichen es einem Benutzer, nach Informationen über geographische Orte zu suchen, sie zu identifizieren und zu entdecken. In der heutigen Zeit unterstützt eine große Vielzahl von Computergeräten Softwareanwendungen, die interaktive digitale Kartensysteme anzeigen. Zumindest teilweise aufgrund der zunehmenden Beliebtheit digitaler Kartensysteme sind die Fähigkeiten und angebotenen Services in den letzten Jahren leistungsfähiger geworden. Zum Beispiel haben Fremdserviceanbieter begonnen, Aspekte ihrer Services in digitalen Kartenumgebungen zu implementieren. Es kann sein, dass verschiedene Fremdserviceanbieter wie zum Beispiel Anbieter von Einzelhandelsservices Lebensmittelservices oder Transportservices, Aspekte ihrer Services in einem digitalen Kartensystem implementieren möchten. Diese Serviceanbieter können mit digitalen Kartenanbietern zusammenarbeiten, um ihre Services im System des digitalen Kartenanbieters zu implementieren. Die Implementierung von Fremdservices kann sowohl dem digitalen Kartenanbieter als auch dem Fremdserviceanbieter nutzen.
-
Jedoch kann es häufig sein, dass ein Serviceanbieter den Umfang seines Service innerhalb der Serviceplattform begrenzen möchte. Zum Beispiel kann es sein, dass ein Fremdanbieter die Anzahl der Benutzer begrenzen möchte, die Zugriff auf die Services im digitalen Kartenservice erhalten können. Es kann sein, dass der Fremdanbieter diese Begrenzung global oder auf Basis regionaler Parameter kontrollieren möchte, die von besagtem Fremdanbieter bestimmt werden. Die Parteien können die Implementierung zumindest teilweise auf Basis ihrer jeweiligen Bedürfnisse und Anforderungen koordinieren.
-
KURZDARSTELLUNG
-
Aspekte und Vorteile von Ausführungsformen der vorliegenden Erfindung werden teilweise in der folgenden Beschreibung dargelegt werden oder können aus der Beschreibung erlernt werden oder können durch die Praxis der Ausführungsformen erlernt werden. Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
-
Ein beispielhafter Aspekt der vorliegenden Offenbarung ist ein computerimplementiertes Verfahren für die Gewährung von Benutzerzugriff auf einen oder mehrere Services eines Serviceanbieters gerichtet. Das Verfahren beinhaltet die Bereitstellung einer Anwendungsprogrammschnittstelle für einen zweiten Serviceanbieter durch eines oder mehrere Computergeräte, die mit einem ersten Serviceanbieter verbunden sind. Die Anwendungsprogrammschnittstelle umfasst eine oder mehrere Schnittstellen, die so konfiguriert sind, dass sie einen oder mehrere Zugriffsparameter empfangen. Die Anwendungsprogrammschnittstelle ist mit der Implementierung von einem oder mehreren Services des zweiten Serviceanbieters in einem oder mehreren Services des ersten Serviceanbieters verbunden. Das Verfahren beinhaltet des Weiteren den Empfang des einen oder der mehreren Zugriffsparameter vom zweiten Serviceanbieter durch eines oder mehrere Computergeräte, die mit einem ersten Serviceanbieter verbunden sind. Der eine oder die mehreren Zugriffsparameter umfassen einen Gesamtbenutzerparameter, der die Gesamtzahl der Benutzer angibt, denen Zugriff auf den einen oder die mehreren Services des zweiten Serviceanbieters gewährt wird. Das Verfahren umfasst des Weiteren die Bestimmung, durch das eine oder die mehreren Computergeräte, die mit dem ersten Serviceanbieter verbunden sind, des Zugriffs eines Benutzers auf den einen oder die mehreren Services des zweiten Serviceanbieters zumindest teilweise basierend auf dem einen oder den mehreren Zugriffsparametern.
-
Andere beispielhafte Aspekte der vorliegenden Offenbarung sind auf Systeme, Vorrichtungen, greifbare, nichtflüchtige computerlesbare Medien, Benutzeroberflächen, Speichergeräte und elektronische Geräte für die Implementierung eines Fremdservice in einem digitalen Kartensystem gerichtet.
-
Diese und andere Merkmale, Aspekte und Vorteile verschiedener Ausführungsformen werden besser in Bezug auf die folgende Beschreibung und angefügten Ansprüche verstanden werden. Die beigefügten Zeichnungen, die in diese Beschreibung einbezogen sind und einen Teil dieser darstellen, illustrieren Ausführungsformen der vorliegenden Offenbarung und dienen zusammen mit der Beschreibung dazu, die damit verbundenen Prinzipien zu erklären.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Eine ausführliche Erörterung der Ausführungsformen, die auf Fachleute auf dem Gebiet gerichtet sind, wird in der Beschreibung dargelegt, die Bezug auf die beigefügten Figuren nimmt, in denen:
-
1 stellt einen Überblick über ein beispielhaftes System gemäß beispielhaften Ausführungsformen der vorliegenden Offenbarung dar.
-
2 stellt ein Ablaufdiagramm eines beispielhaften Verfahrens für die Gewährung des Benutzerzugriffs auf einen oder mehrere Services eines Serviceanbieters gemäß beispielhaften Ausführungsformen der vorliegenden Offenbarung dar.
-
3 stellt ein Ablaufdiagramm eines beispielhaften Verfahrens für die Bestimmung des Benutzerzugriffs auf einen oder mehrere Services eines Serviceanbieters gemäß beispielhaften Ausführungsformen der vorliegenden Offenbarung dar.
-
4 stellt ein Ablaufdiagramm eines beispielhaften Verfahrens für die Bestimmung des Benutzerzugriffs auf einen oder mehrere Services eines Serviceanbieters gemäß beispielhaften Ausführungsformen der vorliegenden Offenbarung dar.
-
5 stellt ein beispielhaftes Computersystem gemäß beispielhaften Ausführungsformen der vorliegenden Offenbarung dar.
-
DETAILLIERTE BESCHREIBUNG
-
Bezug wird nun im Detail auf Ausführungsformen genommen werden, von denen ein oder mehrere Beispiele in den Zeichnungen dargestellt sind. Jedes Beispiel wird zur Erläuterung der Ausführungsformen bereitgestellt, nicht zur Beschränkung der vorliegenden Offenbarung. Tatsächlich ist für Fachleute ersichtlich, dass diverse Modifikationen und Variationen an den Ausführungsformen durchgeführt werden können, ohne vom Umfang oder Geist der vorliegenden Offenbarung abzuweichen. Zum Beispiel können Merkmale, die als Teil einer Ausführungsform veranschaulicht oder beschrieben werden, mit einer anderen Ausführungsform verwendet werden, um eine noch weitere Ausführungsform zu erreichen. Deshalb ist beabsichtigt, dass Aspekte der vorliegenden Offenbarung solche Modifikationen und Variationen abdecken.
-
Überblick
-
Beispielhafte Aspekte der vorliegenden Offenbarung sind auf die Implementierung eines Fremdservice in einem anderen Service gerichtet, wie zum Beispiel einem digitalen Kartensystem. Die Implementierung eines externen Fremdservice in einem digitalen Kartensystem oder einem anderen geeigneten Service kann ein hohes Maß an manueller Koordination und Kommunikation zwischen den Parteien erfordern. Zum Beispiel kann es sein, dass die Parteien Informationen in Verbindung mit Geltungsbereich, Umfang und Zeitrahmen teilen müssen, um die Implementierung zu ermöglichen. Die Koordination zwischen den Parteien kann bis sich weit in die Implementierung des Service und sogar über die gesamte Implementierung erstrecken. Das laufende Hin und Her kann teuer, ineffizient und zeitaufwändig sein.
-
Angesichts der vorstehend beschriebenen speziellen Herausforderungen bieten die offenbarten Ausführungsformen Funktionen für eine effizientere Implementierung eines Fremdservice in einem anderen Service. Es werden spezifische Algorithmen implementiert, um den Zugriff eines Benutzers auf einen oder mehrere Services eines Serviceanbieters zu bestimmen. Eine solche Implementierung trägt dazu bei, die Integration des einen oder der mehreren Services in ein digitales Kartensystem zu ermöglichen, während sie gleichzeitig ein Minimum an Kommunikation zwischen den Parteien erfordert. Die vorliegende Offenbarung wird in Bezug auf die Implementierung von Fremdservices in einem digitalen Kartensystem für die Zwecke der Veranschaulichung und Erörterungen erörtert. Fachleute werden mithilfe der hierin angegebenen Offenbarungen verstehen, dass beispielhafte Aspekte der vorliegenden Offenbarung verwendet werden können, um beliebige Fremdservices in anderen digitalen Serviceplattformen zu implementieren.
-
Zum Beispiel kann gemäß beispielhaften Ausführungsformen der vorliegenden Offenbarung eine Anwendungsprogrammschnittstelle von einem ersten Serviceanbieter für einen zweiten Serviceanbieter bereitgestellt werden. Der erste Serviceanbieter kann zum Beispiel ein digitaler Kartenanbieter sein. Der zweite Serviceanbieter kann zum Beispiel ein Einzelhandelsgeschäft, ein Restaurant, ein Autoverleih oder ein beliebiger anderer geeigneter Serviceanbieter sein. Die Anwendungsprogrammschnittstelle kann mit der Ermöglichung der Implementierung von einem oder mehreren Services des zweiten Serviceanbieters in einem oder mehreren Services des zweiten Serviceanbieters verbunden sein. Die Anwendungsprogrammschnittstelle kann eine oder mehrere Schnittstellen umfassen, die so konfiguriert sind, dass sie einen oder mehrere Zugriffsparameter empfangen.
-
Der eine oder die mehreren Zugriffsparameter können zum Beispiel einen Gesamtbenutzerparameter beinhalten. Der Gesamtbenutzerparameter kann die Gesamtzahl der Benutzer angeben, die Zugriff zu dem einen oder den mehreren Services des zweiten Serviceanbieters erhalten sollen. Der eine oder die mehreren Zugriffsparameter können des Weiteren einen oder mehrere regionale Parameter beinhalten. Der eine oder die mehreren regionalen Parameter können eine oder mehrere geographische Gebiete angeben, in denen der eine oder die mehreren Services des zweiten Serviceanbieters implementiert werden sollen. Zum Beispiel können der eine oder die mehreren regionalen Parameter einen Ort, eine Stadt, eine Metropolregion oder jedes andere geeignete geographische Gebiet umfassen, dem Services geliefert werden können.
-
Der eine oder die mehreren Zugriffsparameter können zum Beispiel des Weiteren eine oder mehrere regionale Benutzerparameter beinhalten. Der eine oder die mehreren regionalen Benutzerparameter können eine Gesamtzahl der Benutzer in einem bestimmten geografischen Gebiet angeben, die Zugriff zu dem einen oder den mehreren Services des zweiten Serviceanbieters erhalten sollen. Ein regionaler Benutzerparameter kann mit einem entsprechenden regionalen Parameter verbunden sein. Zum Beispiel kann ein regionaler Benutzerparameter angeben, dass ein bestimmter Service des zweiten Serviceanbieters maximal 100.000 Benutzer in der Stadt Chicago haben soll.
-
Die Anwendungsprogrammschnittstelle kann dem zweiten Serviceanbieter ohne Berücksichtigung der Gesamtbenutzerbasis des ersten Serviceanbieters bereitgestellt werden. Zum Beispiel kann der zweite Serviceanbieter als Gesamtbenutzerparameter eine absolute Zahl von Gesamtbenutzern eingeben, der zweite Serviceanbieter kann aber nicht bestimmen, wie diese Zahl proportional der Benutzerbasis des ersten Serviceanbieters entspricht.
-
Sobald die Anwendungsprogrammschnittstelle bereitgestellt wurde, kann der zweite Serviceanbieter einen oder mehreren Zugriffsparameter eingeben und sie dem ersten Serviceanbieter bereitstellen. Der eine oder die mehreren eingegebenen Zugriffsparameter können zumindest teilweise auf Basis der besonderen Bedürfnisse und/oder Anforderungen des zweiten Serviceanbieters bestimmt werden. Die eingegebenen Zugriffsparameter können zum Beispiel zumindest teilweise auf Basis der Bevölkerung eines bestimmten geographischen Gebiets bestimmt werden. Weitere Überlegungen können Infrastruktureigenschaften des zweiten Serviceanbieters und/oder seine maximale Benutzerkapazität beinhalten.
-
Sobald die Zugriffsparameter vom ersten Serviceanbieter empfangen wurden und der eine oder die mehreren Services des zweiten Serviceanbieters implementiert wurden, kann ein Benutzer Zugriff auf den einen und die mehreren Services anfordern. Die Zugriffsanforderung vom Benutzer kann vom ersten Serviceanbieter empfangen werden. Die Anforderung kann zum Beispiel von einem Mobilgerät empfangen werden, das mit dem Benutzer verbunden ist. Als Reaktion auf diese Anforderung kann der erste Serviceanbieter bestimmen, ob er dem Benutzer Zugriff gewährt. Diese Bestimmung kann zumindest teilweise auf dem einen oder den mehreren Zugriffsparametern basieren.
-
Insbesondere kann die Bestimmung des Zugriffs die Implementierung einer Vielzahl von Benutzergruppen umfassen. Ein Benutzer, der Zugriff auf den einen oder die mehreren Services des zweiten Serviceanbieters anfordert, kann eine zugehörige Benutzerkennung haben. Die Benutzerkennung kann ein Benutzername, eine Benutzernummer oder jede andere geeignete Form der Identifizierung einschließlich einer anonymen Identifizierung sein. Sobald die Vielzahl der Benutzergruppen implementiert wurde, kann eine Teilmenge der Benutzergruppen, denen Zugriff gewährt wurde, bestimmt werden. Die Teilmenge kann zum Beispiel zumindest teilweise auf Basis des Gesamtbenutzerparameters bestimmt werden. Die Benutzerkennung des anfordernden Benutzers kann dann einer aus der Vielzahl der Benutzergruppen zugeordnet werden. Die Benutzergruppen können jede geeignete Anzahl von Benutzern enthalten und sie können sich zum Beispiel zumindest teilweise auf Basis der Qualitäten und Eigenschaften der Serviceanbieter unterscheiden.
-
Sobald die Benutzerkennung einer Benutzergruppe zugeordnet wurde, kann der Zugriff bestimmt werden, sodass Zugriff gewährt wird, falls die Benutzerkennung der Teilmenge zugeordnet wurde. Zum Beispiel kann jedem Benutzer Zugriff gewährt werden, der einer beliebigen Benutzergruppe in einer spezifischen Teilmenge der Benutzergruppen zugeordnet wurde, sodass die Gesamtmenge der Benutzer in der Teilmenge der Benutzergruppen den Gesamtbenutzerparameter nicht übersteigt. Allen Benutzer, die eine Benutzergruppe zugeordnet wurden, die sich nicht in der Teilmenge der Benutzergruppen befindet, wird kein Zugriff gewährt.
-
In einer alternativen Ausführungsform kann der erste Serviceanbieter eine gewisse Kontrolle über die Implementierung behalten. Zum Beispiel kann der erste Serviceanbieter die Gesamtmenge der Benutzer einschränken, denen Zugriff gewährt wird, oder der erste Serviceanbieter kann die Rate einschränken, mit der Benutzern Zugriff gewährt wird. In dieser Ausführungsform kann der erste Serviceanbieter Zugriffsparameter außer Kraft setzen, die vom zweiten Serviceanbieter empfangen werden.
-
In einer anderen Ausführungsform kann der Zugriff auf Basis der jeweiligen Region bestimmt werden. Zum Beispiel kann der erste Serviceanbieter eine Vielzahl von Benutzergruppen implementieren. Jede Benutzergruppe der Vielzahl kann mit einem oder mehreren geographischen Gebieten verbunden sein. Sobald die Vielzahl der Benutzergruppen implementiert wurde, kann ein Ort des anfordernden Benutzers bestimmt werden. Der Ort kann zum Beispiel durch ein Positioniersystem bestimmt werden, das mit dem Mobilgerät des anfordernden Benutzers verbunden ist. Zumindest teilweise auf Basis des Orts des anfordernden Benutzers kann der anfordernde Benutzer mit einem geographischen Gebiet verbunden werden. Die Benutzerkennung des anfordernden Benutzers kann dann einer Benutzergruppe zugeordnet werden, die mit dem zugehörigen geographischen Gebiet des anfordernden Benutzers verbunden ist.
-
Sobald die Benutzerkennung der Benutzergruppe zugeordnet wurde, kann eine regionale Summe bestimmt werden. Die regionale Summe kann die Gesamtsumme der Benutzer umfassen, die der Teilmenge der Benutzergruppen zugeordnet wurden, die mit dem zugehörigen geographischen Gebiet des anfordernden Benutzers verbunden sind. Die regionale Summe kann dann mit einem regionalen Benutzerparameter verglichen werden, der mit dem zugehörigen geographischen Gebiet des anfordernden Benutzers verbunden ist. Dann kann Zugriff gewährt werden, wenn die regionale Summe den regionalen Benutzerparameter nicht übersteigt.
-
Andere beispielhafte Aspekte der Offenbarung können eine Variation der Gesamt- und/oder regionalen Benutzerparameter im Zeitverlauf beinhalten. Diese Parameter können zum Beispiel mit einer Rate erhöht werden, die dem Wachstum des einen oder der mehreren Services der Serviceanbieter entsprechen. Wenn die Serviceanbieter wachsen und ihre Benutzerkapazitäten sich erhöhen, können sich die Gesamt- und/oder regionalen Benutzerparameter erhöhen, um dieses Wachstum widerzuspiegeln. Als weiteres Beispiel können diese Parameter zumindest teilweise auf Basis von Bevölkerungsänderungen des einen oder der mehreren geographischen Gebiete variieren. Der zweite Serviceanbieter kann angeben, dass die Zugriffsparameter mit einer festgelegten Rate im Zeitverlauf variieren, oder der zweite Serviceanbieter kann die Zugriffsparameter bei Bedarf manuell aktualisieren.
-
Gemäß einer beispielhaften Ausführungsform arbeiten ein Serviceanbieter und ein digitaler Kartenanbieter zusammen, um einen Service des Serviceanbieters in einem digitalen Kartensystem des digitalen Kartenanbieters zu implementieren. Der digitale Kartenanbieter stellt eine Anwendungsprogrammschnittstelle für den Serviceanbieter bereit. Die Anwendungsprogrammschnittstelle ist mit der Implementierung von Fremdservices im digitalen Kartensystem verbunden und umfasst eine oder mehrere Schnittstellen, die so konfiguriert sind, dass sie einen oder mehrere Zugriffsparameter empfangen. Der Serviceanbieter stellt einen oder mehrere Zugriffsparameter für das digitale Kartensystem bereit. Der eine oder die mehreren Zugriffsparameter beinhalten einen Gesamtbenutzerparameter, der die Gesamtzahl der Benutzer angibt, die Zugriff auf den Service im digitalen Kartensystem erhalten sollen. Das digitale Kartensystem empfängt den einen oder die mehreren Zugriffsparameter vom Serviceanbieter. Das digitale Kartensystem empfängt dann eine Anforderung von einem Benutzer für den Zugriff auf den Service im digitalen Kartensystem. Als Reaktion auf die Anforderung bestimmt das digitale Kartensystem, zumindest teilweise auf Basis der empfangenen Zugriffsparameter, ob es dem anfordernden Benutzer Zugriff gewährt. Falls Zugriff gewährt wird, kann der Benutzer den Service nutzen.
-
Beispielhafte Anwendungsprogrammschnittstellen
-
1 stellt ein beispielhaftes System 100 für die Gewährung des Zugriffs für einen Benutzer auf einen oder mehrere Services eines Serviceanbieters gemäß beispielhaften Ausführungsformen der vorliegenden Offenbarung dar. Ein erster Serviceanbieter 102 kann einem zweiten Serviceanbieter 104 eine Anwendungsprogrammschnittstelle (API) 106 bereitstellen. API 106 kann eine oder mehrere Schnittstellen umfassen, die so konfiguriert sind, dass sie einen oder mehrere Zugriffsparameter empfangen. API 106 kann mit der Implementierung von einem oder mehreren Services des zweiten Serviceanbieters in einem oder mehreren Services des ersten Serviceanbieters verbunden sein. Zum Beispiel kann API 106 verwendet werden, um den zweiten Service 110 im ersten Service 108 zu implementieren. In diesem Beispiel kann der erste Service 108 ein Service sein, der vom ersten Serviceanbieter 102 bereitgestellt wird, zum Beispiel ein digitaler Kartenservice, und ein zweiter Service 110 kann ein Service sein, der vom zweiten Serviceanbieter 104 bereitgestellt wird.
-
Fachleute werden erkennen, dass eine API Funktionen, Meldungen (Befehle), Datenstrukturen und Datentypen umfassen kann, die bei der Erstellung von Anwendungen verwendet werden, die unter einem oder mehreren Softwareprogrammen oder Hardwaregeräten laufen. Zum Beispiel kann eine API einen bestimmten Satz von Regeln und Spezifikationen definieren, die ein Softwareprogramm verwendet, um mit einem anderen Softwareprogramm zu kommunizieren. Auf diese Weise stellt eine API eine Schnittstelle zwischen Softwareprogrammen bereit. Der Begriff „API” kann sich auf eine vollständige Schnittstelle, eine einzelne Funktion oder einen Satz von APIs beziehen. Daher wird der Umfang der Bedeutung normalerweise durch den Kontext der Nutzung bestimmt. API 106 der vorliegenden Offenbarung kann jede geeignete API sein, die verwendet wird, um die gewünschte Funktion bereitzustellen, wie zum Beispiel ein Rahmen für die Ermöglichung eines unidirektionalen Datenaustauschs zwischen Parteien.
-
Sobald API 106 vom ersten Serviceanbieter 102 bereitgestellt wurde, kann der zweite Serviceanbieter 104 einen oder mehrere Zugriffsparameter bestimmen. Der eine oder die mehreren Zugriffsparameter können zum Beispiel einen Gesamtbenutzerparameter umfassen. Der Gesamtbenutzerparameter kann die Gesamtmenge der Benutzer angeben, die Zugriff zu dem einen oder den mehreren Services des zweiten Serviceanbieters erhalten sollen. Der zweite Serviceanbieter kann zum Beispiel den Zugriff auf den einen oder die mehreren Services auf 100.000 Benutzer beschränken.
-
Der eine oder die mehreren Zugriffsparameter können des Weiteren einen oder mehrere regionale Parameter umfassen. Der eine oder die mehreren regionalen Parameter können eine oder mehrere geographische Gebiete angeben, in denen der eine oder die mehreren Services des zweiten Serviceanbieters implementiert werden sollen. Das eine oder die mehreren geographischen Gebiete können ein Ort, eine Stadt, eine Metropolregion, ein Staat oder jedes andere geeignete geographischen Gebiet sein.
-
Der eine oder die mehreren Zugriffsparameter können des Weiteren einen oder mehrere regionale Benutzerparameter beinhalten. Der eine oder die mehreren regionalen Benutzerparameter können eine Anzahl der Benutzer in einem geografischen Gebiet angeben, die Zugriff erhalten sollen. Der eine oder die mehreren regionalen Benutzerparameter können des Weiteren dem einen oder den mehreren regionalen Parametern entsprechen. Zum Beispiel kann der zweite Serviceanbieter 104 angeben, dass in der Stadt Chicago 100.000 Benutzer Zugriff erhalten sollen.
-
Sobald der zweite Serviceanbieter 104 dem ersten Serviceanbieter 102 den einen oder die mehreren Zugriffsparameter bereitgestellt hat, kann der erste Serviceanbieter 102 den zweiten Service 110 im ersten Service 108 implementieren. Der zweite Service 110 kann zumindest teilweise basierend auf dem einen oder den mehreren Zugriffsparametern im ersten Service 108 implementiert werden. Die Implementierung kann auf jede geeignete Weise durchgeführt werden, die die gewünschte Funktion liefert.
-
Sobald der zweite Service 110 implementiert wurde, können Benutzer beginnen, Zugriff auf die Nutzung des zweiten Service 110 anzufordern. Zum Beispiel kann Benutzer 112 Zugriff auf den zweiten Service 110 anfordern, indem er mit dem ersten Service 108 kommuniziert. Benutzer 112 kann mit dem ersten Service 108 mithilfe eines verbundenen Computergeräts kommunizieren, zum Beispiel des Computergeräts 114. Computergerät 114 kann ein Smartphone, ein Tablet, ein Mobiltelefon, ein tragbares Gerät, ein Laptop, ein Desktop oder jedes andere geeignete Computergerät sein, das den ersten Service 108 und den zweiten Service 110 nutzen kann. Computergerät 114 kann mit dem ersten Service 108 über ein Netzwerk kommunizieren, zum Beispiel Netzwerk 540 aus 5.
-
Nach Empfang der Zugriffsanforderungen kann der erste Service 108 aus 1 bestimmen, ob er Benutzer 112 Zugriff gewährt. Der Zugriff kann zumindest teilweise basierend auf dem einen oder den mehreren Zugriffsparametern bestimmt werden. Insbesondere kann Zugriff gewährt werden, wenn die Gesamtmenge der Benutzer, denen bereits Zugriff gewährt wurde, kleiner als zum Beispiel der Gesamtbenutzerparameter ist. Besondere Aspekte der Bestimmung, ob einem Benutzer Zugriff gewährt wird, werden nachstehend genauer beschrieben Bezug auf 2, 3 und 4.
-
Beispielhafte Verfahren für die Gewährung von Benutzerzugriff auf einen Service
-
2 stellt ein Ablaufdiagramm eines beispielhaften Verfahrens (200) für die Gewährung des Zugriffs für einen Benutzer auf einen oder mehrere Services eines Serviceanbieters gemäß beispielhaften Ausführungsformen der vorliegenden Offenbarung dar. Das Verfahren (200) kann von einem oder mehreren Computergeräten implementiert werden, wie einem oder mehreren der Computergeräte, dargestellt in 5. Zusätzlich zeigt 2 stellt Schritte dar, die in einer besonderen Reihenfolge für Zwecke der Veranschaulichung und Erörterung durchgeführt werden. Durchschnittsfachleute werden unter Verwendung der hierin bereitgestellten Offenbarungen verstehen, dass die verschiedenen Schritte eines beliebigen der hierin offenbarten Verfahren auf verschiedene Weisen weggelassen, adaptiert, modifiziert, umgeordnet oder erweitert werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen.
-
Bei (202) kann Verfahren (200) einen ersten Serviceanbieter beinhalten, der einem zweiten Serviceanbieter eine API bereitstellt. Die API kann eine oder mehrere Schnittstellen umfassen, die so konfiguriert sind, dass sie einen oder mehrere Zugriffsparameter empfangen. Die API kann mit der Implementierung von einem oder mehreren Services des zweiten Serviceanbieters mit einem oder mehreren Services des ersten Serviceanbieters verbunden sein.
-
Bei (204) kann Verfahren (200) den Empfang von einem oder mehreren Zugriffsparametern beinhalten. Der eine oder die mehreren Zugriffsparameter können einen Gesamtbenutzerparameter beinhalten. Der Gesamtbenutzerparameter kann die Gesamtzahl der Benutzer angeben, die Zugriff zu dem einen oder den mehreren Services des zweiten Serviceanbieters erhalten sollen.
-
Bei (206) kann Verfahren (200) den Empfang einer Zugriffsanforderung von einem anfordernden Benutzer beinhalten. Die Zugriffsanforderung kann eine Zugriffsanforderung für einen oder mehrere Services des zweiten Serviceanbieters sein, die in dem einen oder den mehreren Services des zweiten Serviceanbieters implementiert sind.
-
Bei (208) beinhaltet Verfahren (200) als Reaktion auf die Serviceanforderung die Bestimmung, ob dem anfordernden Benutzer Zugriff gewährt wird. Die Bestimmung kann zumindest teilweise auf Basis des einen oder der mehreren Zugriffsparametern erfolgen. In einer alternativen Ausführungsform muss keine Zugriffsanforderung erfolgen, damit Zugriff für den zweiten Service gewährt wird. Zum Beispiel kann einem Benutzer Zugriff als Teil einer Werbung oder einer Promotionskampagne gewährt werden, ohne dass der Benutzer Zugriff anfordern muss.
-
3 stellt ein Ablaufdiagramm eines beispielhaften Verfahrens (300) für die Bestimmung von Benutzerzugriff für einen oder mehrere Services eines Serviceanbieters dar. Insbesondere wird Verfahren (300) bei (208) von Verfahren (200) erweitert.
-
Bei (302) kann Verfahren (300) die Implementierung einer Vielzahl von Benutzergruppen beinhalten. Die Benutzergruppen können zum Beispiel mithilfe von Töpfen implementiert werden, die Benutzer in verschiedene Gruppen aufteilen. Es ist selbstverständlich, dass die Benutzergruppen durch jede andere geeignete Technik für die Aufteilung von Benutzern in Gruppen implementiert werden können. Jede Benutzergruppe der Vielzahl kann jede beliebige Anzahl von Benutzern enthalten, die auf jede geeignete Weise gewählt werden können.
-
Bei (304) beinhaltet Verfahren (300) die Bestimmung einer Teilmenge von Benutzergruppen, denen Zugriff gewährt werden soll. Die Teilmenge kann zumindest teilweise auf Basis des Gesamtbenutzerparameters bestimmt werden. Wenn zum Beispiel der Gesamtbenutzerparameter 100.000 Benutzer ist, beträgt die Gesamtzahl der Benutzer in der Teilmenge 100.000.
-
Bei (306) kann Verfahren (300) die Zuordnung einer Benutzerkennung, die mit dem anfordernden Benutzer verbunden ist, zu einer Benutzergruppe der Vielzahl der Benutzergruppen beinhalten. Jeder Benutzer, der Zugriff auf den einen oder die mehreren Services anfordert, hat eine zugehörige Benutzerkennung. Wenn ein beliebiger Benutzer Zugriff auf den einen oder die mehreren Services anfordert, wird seine zugehörige Benutzerkennung einer Benutzergruppe zugeordnet. Sobald eine Benutzerkennung einer Benutzergruppe zugeordnet wurde, bleibt sie für die Dauer der Implementierung in dieser Benutzergruppe. Auf diese Weise kann Verfahren (300) die Gesamtmenge der Benutzer berechnen, die Zugriff auf den einen oder die mehreren Services angefordert haben. Zum Beispiel kann die Gesamtmenge der Benutzerkennungen, die der Vielzahl der Benutzergruppen zugeordnet wurden, gleich der Menge der Benutzer sein, die Zugriff auf den einen oder die mehrere Services angefordert haben.
-
Bei (308) kann Verfahren 300 die Bestimmung des Zugriffs des anfordernden Benutzers auf den einen oder die mehreren Services beinhalten. Der Zugriff kann so bestimmt werden, dass Zugriff gewährt wird, wenn die mit dem angeforderten Benutzer verbundene Benutzerkennung der Teilmenge zugeordnet wurde. Der Zugriff kann auf Basis der jeweiligen Region bestimmt werden. Zum Beispiel kann eine Bestimmung des Zugriffs für einen Benutzer in Chicago unabhängig von einer Bestimmung des Zugriffs für einen anderen Benutzer in Dallas sein. Des Weiteren kann eine Bestimmung des Zugriffs für einen Benutzer in Chicago unabhängig von einer Bestimmung des Zugriffs in Dallas für denselben Benutzer sein. Die Bestimmung des Zugriffs auf diese Weise ist spezieller beschrieben in 4.
-
4 stellt ein Ablaufdiagramm eines beispielhaften Verfahrens für die Bestimmung des Zugriffs eines Benutzers auf einen oder mehrere Services auf Basis der jeweiligen Region dar. Bei (402) beinhaltet Verfahren (400) die Implementierung einer Vielzahl von Benutzergruppen. Jede Benutzergruppe der Vielzahl von Benutzergruppen ist mit einem oder mehreren geographischen Gebieten verbunden. Zum Beispiel kann eine erste Benutzergruppe der Vielzahl von Benutzergruppen mit Chicago verbunden sein und eine zweite Benutzergruppe der Vielzahl der Benutzergruppen kann mit Dallas verbunden sein. Die Menge der Benutzergruppen, die mit einem beliebigen geographischen Gebiet verbunden ist, kann zum Beispiel zumindest teilweise auf der Basis der Bevölkerung des geographischen Gebiets und der Größe der jeweiligen Benutzergruppe variieren.
-
Bei (404) beinhaltet Verfahren (400) die Bestimmung eines Orts des anfordernden Benutzers. Der Ort des anfordernden Benutzers kann zum Beispiel durch ein Computergerät bestimmt werden, das mit dem anfordernden Benutzer verbunden ist, zum Beispiel Computergerät 114 aus 1. Insbesondere kann der Ort des Benutzers durch ein Positioniersystem (z. B. ein GPS-System) bestimmt werden, das mit dem Computersystem des anfordernden Benutzers verbunden ist.
-
Bei (406) beinhaltet Verfahren (400) die Verbindung des anfordernden Benutzers mit einem geographischen Gebiet. Die Verbindung kann zumindest teilweise auf Basis des Orts des anfordernden Benutzers bestimmt werden. Wenn zum Beispiel der Ort eines Benutzers durch Breiten- und Längengradkoordinaten bestimmt wird, kann das zugehörige geographische Gebiet das geographische Gebiet sein, in dem sich die Koordinaten befinden.
-
Bei (408) beinhaltet Verfahren (400) die Zuordnung einer Benutzerkennung, die mit dem anfordernden Benutzer verbunden ist, zu einer Benutzergruppe der Vielzahl der Benutzergruppen. Die Benutzergruppe, der die Benutzerkennung zugeordnet ist, ist mit demselben geographischen Gebiet verbunden, mit dem der anfordernde Benutzer verbunden ist. Wenn das zugehörige geographische Gebiet des anfordernden Benutzers zum Beispiel die Stadt Chicago ist, wird die Benutzerkennung des Benutzers einer Benutzergruppe zugeordnet, die auch mit der Stadt Chicago verbunden ist.
-
Bei (410) beinhaltet Verfahren (400) die Bestimmung einer regionalen Summe. Die regionale Summe kann die Gesamtsumme der Benutzerkennungen in der Teilmenge der Benutzergruppen sein, die mit dem zugehörigen geographischen Gebiet des anfordernden Benutzers verbunden sind. Zur Fortführung des obigen Beispiels wird die regionale Summe durch Hinzufügen jeder Benutzerkennung gefunden, die einer Benutzergruppe zugeordnet wurde, die mit Chicago verbunden ist.
-
Bei (412) beinhaltet Verfahren (400) das Vergleichen der regionalen Summe mit einem regionalen Benutzerparameter, der mit dem geographischen Gebietes des anfordernden Benutzers verbunden ist. Der regionale Benutzerparameter kann eine Menge von Benutzern in einem geographischen Gebiet angeben, die Zugriff auf den einen oder die mehreren Services erhalten. Bei (414) beinhaltet Verfahren (400) die Bestimmung des Zugriffs des anfordernden Benutzers auf den einen oder die mehreren Services, sodass der Zugriff gewährt wird, wenn die regionale Summe den regionalen Benutzerparameter nicht übersteigt.
-
Beispielhafte Computerumgebung für die Gewährung von Benutzerzugriff auf einen Service
-
5 stellt ein beispielhaftes Computersystem dar, das verwendet werden kann, um die Verfahren und Systeme gemäß beispielhaften Ausführungsformen der vorliegenden Offenbarung zu implementieren. System 500 kann ein erstes Computergerät 510 enthalten, das mit einem zweiten Computergerät 530 über ein Netzwerk 540 kommuniziert. System 500 kann des Weiteren eines oder mehrere Remote-Computergeräte 550 enthalten, die über Netzwerk 540 dem ersten Computergerät 510 kommunizieren. Das System kann mithilfe jeder beliebigen geeigneten Architektur implementiert werden, wie zum Beispiel einer Client-Server-Architektur oder eines einzelnen Computergeräts.
-
System 500 beinhaltet ein erstes Computergerät 510. Das erste Computergerät 510 kann zum Beispiel ein Webserver sein, und es kann ein geographisches Informationssystem/digitales Kartensystem hosten. Das erste Computergerät 510 kann mithilfe beliebiger geeigneter Computergeräte implementiert werden. Das erste Computergerät 510 kann einen oder mehrere Prozessoren 512 und Speicher 514 haben. Das erste Computergerät 510 kann außerdem eine Netzwerkschnittstelle beinhalten, die für die Kommunikation mit einem und mehreren Computergeräten über das Netzwerk 540 verwendet werden. Die Netzwerkschnittstelle kann beliebige geeignete Komponenten zum Ankoppeln an ein oder mehrere Netzwerke beinhalten, die zum Beispiel Sender, Empfänger, Anschlüsse, Controller, Antennen oder andere geeignete Komponenten beinhalten.
-
Der eine oder die mehreren Prozessoren 512 können jedes geeignete Verarbeitungsgerät beinhalten, zum Beispiel einen Mikroprozessor, einen Mikrocontroller, eine integrierte Schaltung, ein Logikgerät oder ein anderes geeignetes Verarbeitungsgerät. Speicher 514 kann eines oder mehrere computerlesbare Medien enthalten, einschließlich unter anderem nichtflüchtige, computerlesbaren Medien, RAM, ROM, Festplatten, Flash-Laufwerke oder andere Speichergeräte. Speicher 514 kann Informationen speichern, auf die durch den einen und die mehreren Prozessoren 512 zugegriffen werden kann, einschließlich computerlesbare Anweisungen 516, die von dem einen oder den mehreren Prozessoren 512 ausgeführt werden können. Anweisungen 516 können jeder Satz von Anweisungen sein, die, wenn sie von dem einen oder den mehreren Prozessoren 512 ausgeführt werden, dazu führen, dass der eine oder die mehreren Prozessoren 512 Operationen ausführen. Zum Beispiel können Anweisungen 516 durch den einen oder die mehreren Prozessoren 512 ausgeführt werden, um das eine oder die mehreren Module zu implementieren, die so konfiguriert sind, dass sie ein Kartengeneratormodul 522, ein Implementierungsmodul 520 und/oder verschiedene Aspekte eines beliebigen der hierin offenbarten Verfahren implementieren.
-
Kartengeneratormodul 522 kann zur Bereitstellung eines digitalen Kartensystems verwendet werden. Implementierungsmodul 520 kann zur Implementierung von einem oder mehreren Fremdservices im digitalen Kartensystem verwendet werden. Implementierungsmodul 520 kann eines oder mehrere Module enthalten, zum Beispiel ein Zugriffsmodul und ein regionales Zugriffsmodul. Das Zugriffsmodul kann so konfiguriert sein, dass es den Zugriff eines Benutzers auf den einen oder die mehreren Services des Fremdserviceanbieters bestimmt, zum Beispiel wie in Verfahren (300) von 3. Das regionale Zugriffsmodul kann so konfiguriert sein, dass es Zugriff auf Basis der jeweiligen Region bereitstellt, zum Beispiel wie in Verfahren (400) von 4.
-
Es versteht sich von selbst, dass der Begriff „Modul” sich auf eine Computerlogik bezieht, die verwendet wird, um die erwünschte Funktionalität bereitzustellen. Somit kann ein Modul in Hardware, anwendungsspezifischen Schaltungen, Firmware und/oder Software implementiert werden, mittels der denen ein Allzweckprozessor gesteuert wird. In einer Ausführungsform sind Module Programmcodedateien, die auf einer Speichervorrichtung gespeichert, auf einen Speicher geladen und von einem Prozessor ausgeführt werden, oder die von Computerprogrammprodukten, wie etwa computerausführbare Anweisungen, bereitgestellt werden können, die auf einem physisch greifbaren rechnerlesbaren Speichermedium, wie etwa RAM, einer Festplatte, oder einem optischen oder magnetischen Datenträger gespeichert werden können. Wenn Software verwendet wird, kann eine beliebige geeignete Programmiersprache oder Plattform verwendet werden, um das Modul zu implementieren.
-
Speicher 514 kann außerdem Daten 518 enthalten, die von dem einen oder den mehreren Prozessoren 512 abgerufen, bearbeitet, erstellt oder gespeichert werden können. Die Daten 518 können zum Beispiel Zugriffsparameter und andere Informationen enthalten. Die Daten 518 können in einer oder mehreren Datenbanken gespeichert sein. Die eine oder mehreren Datenbanken können mit dem ersten Computergerät 510 durch ein LAN oder WAN mit hoher Bandbreite verbunden sein, oder sie können auch mit dem ersten Computergerät 510 über Netzwerk 540 verbunden sein. Die eine oder mehreren Datenbanken können so aufgeteilt sein, dass sie sich an mehreren Orten befinden.
-
Das erste Computergerät 510 kann Daten mit dem zweiten Computergerät 530 und einem oder mehreren Remote-Computergeräten 550 über Netzwerk 540 austauschen. Zum Beispiel kann das erste Computergerät 510 API 535 mit dem zweiten Computergerät 530 gemeinsam nutzen. API 535 kann mit der Implementierung von einem oder mehreren Services eines zweiten Serviceanbieters in einem oder mehreren Services des zweiten Serviceanbieters in Übereinstimmung mit beispielhaften Aspekten der vorliegenden Offenbarung verbunden sein.
-
Ähnlich dem ersten Computergerät 510 kann ein zweites Computergerät 530 einen oder mehrere Prozessoren 532 und einen Speicher 534 beinhalten. Der eine oder die mehreren Prozessoren 532 können eine oder mehrere Zentraleinheiten (Central Processing Units, CPUs), Grafikverarbeitungseinheiten (Graphics Processing Units, GPUs) für die effiziente Darstellung von Bildern und/oder andere Verarbeitungsgeräte beinhalten. Speicher 534 kann eines oder mehrere computerlesbare Medien enthalten und Informationen speichern, auf die durch den einen und die mehreren Prozessoren 532 zugegriffen werden kann, einschließlich Anweisungen 536, die von dem einen oder den mehreren Prozessoren 532 und Daten 538 ausgeführt werden können.
-
Das zweite Computergerät 530 kann außerdem eine Netzwerkschnittstelle beinhalten, die für die Kommunikation mit dem ersten Computergerät 510 über das Netzwerk 540 verwendet wird. Die Netzwerkschnittstelle kann beliebige geeignete Komponenten zum Ankoppeln an ein oder mehrere Netzwerke beinhalten, die zum Beispiel Sender, Empfänger, Anschlüsse, Controller, Antennen oder andere geeignete Komponenten beinhalten.
-
Remote-Computergerät 550 kann jede beliebige geeignete Art von Computergerät sein, zum Beispiel ein Allzweckcomputer, ein Computer für spezielle Zwecke, ein Laptop, ein Desktop, ein Mobilgerät, ein Smartphone, ein Tablett, ein tragbares Computergerät, ein Display mit einem oder mehreren Prozessoren oder ein anderes geeignetes Computergerät. Auch wenn Remote-Computergerät 550 in 5 veranschaulicht ist, kann jede beliebige Anzahl von Remote-Computergeräten 550 mit dem ersten Computergerät 510 über Netzwerk 540 verbunden sein.
-
Ähnlich dem ersten Computergerät 510 und zweiten Computergerät 530 kann ein Remote-Computergerät 550 einen oder mehrere Prozessoren und einen Speicher beinhalten. Der eine oder die mehreren Prozessoren können eine oder mehrere Zentraleinheiten (Central Processing Units, CPUs), Grafikverarbeitungseinheiten (Graphics Processing Units, GPUs) für die effiziente Darstellung von Bildern und/oder andere Verarbeitungsgeräte beinhalten. Der Speicher kann eines oder mehrere computerlesbare Medien enthalten und Informationen speichern, auf die durch den einen oder die mehreren Prozessoren zugegriffen werden kann, einschließlich Anweisungen, die von dem einen oder den mehreren Prozessoren und Daten ausgeführt werden können. Zum Beispiel kann der Speicher Anweisungen für die Anforderung des Zugriffs für einen oder mehrere Services eines Fremdanbieters speichern.
-
Das Remote-Computergerät 550 kann verschiedene Eingabe-/Ausgabegeräte für die Bereitstellung und den Empfang von Informationen von einem Benutzer beinhalten, zum Beispiel einen Touchscreen, ein Touchpad, Dateneingabetasten, Lautsprecher und/oder ein Mikrofon, das für die Spracherkennung geeignet ist. Zum Beispiel kann das Remote-Computergerät 550 ein Display für die Darstellung von Kartendaten eines geographischen Gebiets für einen Benutzer haben.
-
Das Remote-Computergerät 550 kann des Weiteren ein Positioniersystem enthalten. Das Positionierungssystem kann jedes Gerät oder Schaltkreis sein, das den Standort des rechnerfernen Geräts bestimmt. Das Positionierungssystem kann den aktuellen oder jeweiligen Standort, basierend auf der IP Adresse, durch ein Satellitennavigations-Positionierungssystem (z. B. ein GPS-System, ein Galileo-Positionierungssystem, das Globale Navigationssatellitensystem (Global Navigation Satellite System GLONASS), das BeiDou Satellitennavigations- und -positionierungssystem, ein Trägheitsnavigationssystem, ein Koppelnavigationssystem auf der Basis einer IP-Adresse, unter Nutzung von Triangulation und/oder der Nähe zu Mobilfunktürmen oder Wi-Fi Hotspots und/oder andere passende Techniken zur Standorterfassung, bestimmen.
-
Das Remote-Computergerät 550 kann des Weiteren eine Netzwerkschnittstelle beinhalten, die für die Kommunikation mit einem und mehreren Remote-Computergeräten (z. B. erstes Computergerät 510) über Netzwerk 540 verwendet wird. Die Netzwerkschnittstelle kann beliebige geeignete Komponenten zum Ankoppeln an ein oder mehrere Netzwerke beinhalten, die zum Beispiel Sender, Empfänger, Anschlüsse, Controller, Antennen oder andere geeignete Komponenten beinhalten.
-
Das Netzwerk 540 kann jede Art von Kommunikationsnetzwerk sein, zum Beispiel ein Local Area Network (z. B. Intranet), eine Wide Area Network (z. B. Internet), ein Mobilfunknetzwerk oder eine Kombination daraus. Das Netzwerk 540 kann außerdem eine Direktverbindung zwischen dem zweiten Computergerät 530 und dem ersten Computergerät 510 beinhalten. Im Allgemeinen kann die Kommunikation zwischen dem ersten Computergerät 510 und dem zweiten Computergerät 530 über eine Netzwerkschnittstelle unter Verwendung einer beliebigen Art von drahtgebundener und/oder drahtloser Verbindung mithilfe einer Vielzahl von Kommunikationsprotokollen (z. B. TCP/IP, HTTP, SMTP, FTP), Verschlüsselungen oder Formaten (z. B. HTML, XML) und/oder Schutzprogrammen (z. B. VPN, Secure HTTP, SSL) durchgeführt werden.
-
Die hier besprochene Technologie nimmt Bezug auf Server, Datenbanken, Softwareanwendungen, und sonstige computergestützte Systeme, sowie auch unternommene Handlungen und die an und von derartigen Systemen und gesendeten Informationen. Der Durchschnittsfachmann auf diesem Gebiet wird erkennen, dass die naturgemäße Flexibilität computergestützter Systeme eine große Vielfalt an möglichen Konfigurationen, Kombinationen und der Aufteilung von Aufgaben und Funktionalitäten zwischen und unter den Komponenten ermöglicht. Die hierin diskutierten Serverprozesse können beispielsweise unter Verwendung eines einzelnen Servers oder mehrerer in Kombination betriebener Server umgesetzt werden. Datenbanken und Anwendungen können auf einem einzigen System oder auf mehrere Systeme verteilt, implementiert werden. Verteilte Komponenten können sequenziell oder parallel betrieben werden.
-
Während der vorliegende Gegenstand im Detail unter Bezugnahme auf spezifische Ausführungsbeispiele beschrieben wurde, versteht es sich, dass Fachleute auf dem Gebiet nach Erlangen eines Verständnisses des Vorstehenden leicht Veränderungen an, Variationen von und Äquivalente zu solchen Ausführungsformen anfertigen können. Demgemäß ist der Umfang der vorliegenden Offenlegung nur exemplarisch und nicht begrenzend, und die betroffene Offenbarung schließt die Einbeziehung solcher Modifizierungen, Varianten und/oder Hinzufügungen des vorliegenden Gegenstands nicht aus, die für Fachleute problemlos offensichtlich sind.