Mehr

MapGuide mit RDBMS-Datenbankdesignrichtlinien

MapGuide mit RDBMS-Datenbankdesignrichtlinien


Ich bin ganz neu in der GIS-Programmierung und entwerfe eine GIS-Anwendung und möchte MapGuide wegen seiner Benutzerauswahlfunktionen verwenden (Digitalisieren und Redlining - oder kann ich dies problemlos mit MapServer und OpenLayers tun?). Ich lese die Dokumentation/Tutorials und finde keine Richtlinien zum Entwerfen einer räumlichen Datenbank für die Verwendung mit MapGuide.

Kann ich es beliebig gestalten, solange ich die Abfrageoptimierung im Hinterkopf habe? In den Diagrammen sieht es so aus, aber ich möchte sicher sein.

Was sollte ich in meiner separaten Datenbank und was im MapGuides-Server-Repository in .shp-Dateien speichern?

Bearbeiten: MapGuide-Shops

Vielen Dank


Wir verwenden hier MapGuide OpenSource und sind mit seiner Entwicklungsumgebung, abgesehen von der fehlenden Dokumentation, ziemlich zufrieden.

Einige MapGuide-Entwickler und -Berater empfehlen Ihnen, die "einfache Ajax"-Web-App zu verwenden, um Ihre App zu entwickeln, aber wir fanden es einschränkend und haben stattdessen Fusion verwendet. Fusion verwendet OpenLayer.

Obwohl MapGuide Redlining integriert hat, ist es so wie es ist ziemlich nutzlos, Sie müssen es erweitern, um es nutzbar zu machen. Und das erfordert einen starken Javascript- und PHP- (oder .net/java-) Hintergrund.

Wir verwenden PostGIS als unser RDBMS. Unser Design ist ziemlich einfach: Jede "Tabelle" repräsentiert eine Ebene und jeder Datensatz repräsentiert eine Geometrie. Alles befindet sich in einer Datenbank, erstreckt sich jedoch über mehrere Schemas (es ist jedoch einfacher, wenn Sie es in einem Schema behalten).

Was in DB und shp aufbewahrt werden soll: Alles, was Sie "relationale" Macht benötigen, wird offensichtlich davon profitieren, in RDBMS zu sein. Es ist wirklich praktisch, wenn Sie etwas mit mehreren Ebenen abfragen oder sogar mit nicht-räumlichen Daten in der Datenbank in Verbindung bringen müssen. Oder etwas, das ständig schrumpft und wächst. Das einzige, wofür ich shp verwenden würde, wären wirklich statische Standalone-Layer, die Sie zum schnellen Laden benötigen, da shp einen Geschwindigkeitsvorteil hat.

Hoffe das hilft. Ich bin kein Experte, aber das ist eine begrenzte Erfahrung. Ich würde auch weitere Meinungen einholen.


VERFAHREN UND SYSTEM ZUR VERMEIDUNG VON PARKVERLETZUNGEN

Ein System und ein Verfahren zum Identifizieren einer potenziellen Parkverletzung für einen Standort beinhalten das Speichern und Bewerten von Daten im Zusammenhang mit einer Parkverletzung und das Benachrichtigen eines Benutzers durch ein Computersystem, das mit einer Computervorrichtung eines Benutzers kommuniziert, über die potenzielle Parkverletzung und wie man den Empfang der potenziellen Parkverstoß zitiert. Die Daten werden in einer Datenbank gespeichert und nach Datentypen gruppiert. Das Computergerät des Benutzers wird verwendet, um Benutzertyp, Standort und Zeit zu identifizieren. Ein Benutzerinteraktionsfeld wird verwendet, um Daten und Benachrichtigungen zu Parkverstößen zu teilen und zu bewerten, und einem Benutzer werden Belohnungen für das Beitragen nützlicher Daten zugewiesen. Hoch bewertete Daten können in die Benachrichtigungen aufgenommen werden. Die Daten werden analysiert, um einen Verstoß vorherzusagen oder abzuleiten. Eine Benachrichtigung, die einem aktuellen Standort und Benutzertyp entspricht, wird generiert, wenn Verstöße vorhergesagt werden.

Die vorliegende Anmeldung ist eine Teilanmeldung der gleichzeitig anhängigen US-Patentanmeldung Seriennr. 16/694,644, eingereicht am 25. November 2019, die eine Fortsetzung der US-Patentanmeldung Ser. 16/297,559, eingereicht am 8. März 2019, mit dem Titel METHOD AND SYSTEM FOR AVOIDANCE OF PARKING VIOLATIONS, das eine Fortsetzung der gleichzeitig anhängigen US-Patentanmeldung Ser. 15/973,217, eingereicht am 7. Mai 2018 und mit dem Titel VERFAHREN UND SYSTEM ZUR VERMEIDUNG VON PARKVERLETZUNGEN, die eine teilweise Fortsetzung der Anmeldung Ser. 15/382,240, eingereicht am 16. Dezember 2016, jetzt US-Pat. 9,997,071, erteilt am 12. Juni 2018, die eine Teilfortführung der US-Patentanmeldung Ser. Nr. 14/832,584, eingereicht am 21. August 2015, jetzt US-Pat. 9,558,665, erteilt am 31. Januar 2017, das die Priorität der vorläufigen US-Patentanmeldung Ser. 62/086,560, eingereicht am 2. Dezember 2014, vorläufige US-Patentanmeldung Ser. 62/092,100, eingereicht am 15. Dezember 2014, vorläufige US-Patentanmeldung Ser. 62/113,922, eingereicht am 9. Februar 2015, und vorläufige US-Patentanmeldung Ser. 62/150,118, eingereicht am 20. April 2015, die hiermit in ihrer Gesamtheit durch Bezugnahme aufgenommen werden.

TECHNISCHEN BEREICH

Die vorliegende Offenbarung betrifft die Vermeidung von Parkverstößen und insbesondere ein Verfahren und ein System zum Bereitstellen einer Anleitung zum Identifizieren und Vermeiden von Parkverstößen.

DISKUSSION DER VERWANDTEN KUNST

Örtliche Parkordnungen und -regeln regeln häufig, wo und wie lange ein Fahrzeug auf öffentlichen Straßen abgestellt werden darf. Ein Fahrer, der ein Fahrzeug in einer Weise parkt, die nach solchen Verordnungen und Regeln nicht zulässig ist, kann als Parkverstoß bezeichnet werden. Wenn ein Vollzugsbeamter, wie beispielsweise ein Polizeibeamter oder ein anderer Verkehrsvollzugsbeamter, ein derart geparktes Fahrzeug vorfindet, kann im Allgemeinen eine Vorladung ausgestellt werden. Dieses Zitat kann als Parkschein- oder Parkverstoß-Zitat bezeichnet werden. Dementsprechend kann sowohl das unzulässige Parken eines Fahrzeugs als auch das dafür ausgestellte Ticket als Parkverstoß bezeichnet werden.

Tickets, die wegen Parkverstößen ausgestellt wurden, können schwer erfolgreich angefochten werden und können mit einer erheblichen Geldstrafe verbunden sein. Parkverstöße können auch Strafpunkte für Ihren Führerschein beinhalten. Diese Strafpunkte können zu einer Erhöhung der Kfz-Versicherung führen und nach Erreichen einer bestimmten Punktzahl innerhalb eines bestimmten Zeitraums kann die Fahrerlaubnis entzogen oder entzogen werden. Darüber hinaus können falsch geparkte Fahrzeuge den Verkehrsfluss behindern, den Betrieb von öffentlichen Verkehrsmitteln und sanitären Einrichtungen beeinträchtigen und die effektive Erbringung von Notfall- und wichtigen Diensten verhindern. Dementsprechend liegt es im öffentlichen Interesse, die Einhaltung der Parkordnung zu erhöhen.

Parkregeln, -vorschriften, -gesetze, -zitatcodes usw. (im Folgenden „RRLC“) können jedoch sehr komplex sein, insbesondere in Großstädten wie New York City, wo es eine Vielzahl von Gründen geben kann, den Personenverkehr einzuschränken parken und damit eine hohe Nachfrage nach Parkplätzen schaffen. Es ist daher üblich, dass Autofahrer Parkverstöße begehen, auch wenn sie nicht die Absicht haben, gegen die Regeln zu verstoßen. Der ständige Stau und der Mangel an Parkplätzen gepaart mit der weiter steigenden Zahl von Fahrzeugen auf den Straßen verschärfen zudem die aktuelle Zahl der Parkverstöße.

Obwohl Parkregeln einzeln klar sein können, sind Parkregeln manchmal nicht klar genug, wenn mehrere Regeln in realen Parksituationen auf der Straße angewendet werden, beispielsweise wenn jede der Regeln nur für bestimmte Zeiten und an bestimmten Tagen gilt. Autofahrer erhalten häufig Parkverstoßtickets aufgrund von Unverständnis oder Verwirrung über die Parkregeln und -schilder an bestimmten Orten. Beispielsweise ist in den Regeln der Stadt New York (im Folgenden „Regeln von NYC“) eindeutig festgelegt, dass ein Fahrzeug zu keiner Zeit über einem Fußgängerüberweg geparkt werden darf. Ein Parker versteht jedoch möglicherweise nicht, wie diese Regel für eine bestimmte Kreuzung gilt. Wenn beispielsweise die Fußgängerüberweglinie nicht vollständig von einer Straßenseite zur anderen gezogen wird, könnte der Parker die unvollständige Markierung missverstehen und glauben, dass das Parken erlaubt ist, da das Fahrzeug eine lackierte Fußgängerüberweglinie nicht überlappt. Das Parken an dieser Stelle ist jedoch immer noch ein Verstoß, da das Fahrzeug technisch über dem Fußgängerüberweg geparkt wird, obwohl es keine klare vollständig lackierte Linie gibt.

In einem zweiten Beispiel wissen die Leute im Allgemeinen, dass sie gemäß den Regeln von NYC zu keiner Zeit an oder in einer bestimmten Entfernung (z. B. 4,5 Fuß) von einem Hydranten parken können, aber die Leute sind oft verwirrt, welche Regeln gelten, wenn das Parken Der Raum ist durch ein oder mehrere Zwischenelemente vom Hydranten getrennt. Zum Beispiel können Autofahrer beim Parken auf illegalen Parkplätzen, die parallel zu einem Hydranten liegen, aber durch einen Radweg getrennt sind, Tickets erhalten. In einem dritten Beispiel können Parkschilder angeben, dass die Zeitbeschränkung für das Parken nicht nur für bestimmte Zeiträume an einem Tag oder Wochentagen gilt, sondern auch für bestimmte Monate oder Daten des Jahres.

Aufgrund der Komplexität städtischer Parkbeschränkungen können Fahrer verwirrt sein, ob das Parken an einem bestimmten Ort zu einem bestimmten Tag und zu einer bestimmten Uhrzeit erlaubt ist. Autofahrer, die sich an die Parkregeln halten möchten, können die Beschilderung, die in der Nähe eines Parkplatzes angebracht sein kann, sorgfältig prüfen, aber Parkschilder können schwierig zu interpretieren sein, wenn die Schilder komplizierte Regeln zu beschreiben scheinen. Zum Beispiel kann ein erstes Parkschild angeben, dass das Parken innerhalb bestimmter Stunden erlaubt ist, während ein zweites Parkschild anzeigen kann, dass das Parken innerhalb anderer Stunden nicht erlaubt ist. Soweit sich diese Zeiten überschneiden, ist das Parken nicht gestattet, und ein Parker, der nur das erste Schild liest, das zweite jedoch nicht, kann glauben, dass das Parken erlaubt ist, auch wenn dies nicht der Fall ist.

Angesichts des Vorstehenden besteht ein Bedarf an einem Verfahren und einem System zum Speichern und Aktualisieren von Parkverstoß-Zitatdaten für eine Vielzahl von Orten und zum Helfen von Fahrern, Parkregeln und -vorschriften an solchen Orten einzuhalten, um den Empfang von Parkverstößen, Zitaten usw. zu vermeiden Darüber hinaus werden Informationsressourcen für Benutzer benötigt, um sich über Park-RRLCs und die Art und Weise, in der sie sich für bestimmte Orte bewerben, zu informieren, um Parkverstöße zu vermeiden. Die oben erwähnten Unzulänglichkeiten, Nachteile und Probleme werden hierin angesprochen, wie unten detailliert beschrieben.

Die folgende Zusammenfassung soll nicht wesentliche Merkmale identifizieren oder darauf hinweisen oder den Umfang des hier beanspruchten Gegenstands einschränken. Die vorliegende Offenbarung betrifft die Vermeidung von Parkverstößen und insbesondere ein Verfahren und ein System zum Vermeiden von Parkverstößen. Eine beispielhafte Ausführungsform der erfinderischen Offenbarung stellt ein System zum Bereitstellen einer Parkführungsführung bereit, das ein zentrales Computersystem umfasst, das mit einem Benutzer und mehreren zusätzlichen Benutzern über eine Computervorrichtung kommuniziert. Das zentrale Computersystem steht in Kommunikation mit einer Datenbank, einschließlich, aber nicht beschränkt auf eine vereinheitlichte Datenbank, die Parkverstoß-bezogene Daten einschließlich historischer Parkverstoß-bezogene Daten speichert, die mit Echtzeit-Parkverstoß-bezogenen Daten korreliert sind. Die Datenbank speichert die Parkverstoß-bezogenen Daten, die in Datentypen geclustert sind, die aus kommerziellen Fahrzeug-bezogenen Daten und nicht-gewerblichen Fahrzeug-bezogenen Daten bestehen. Die Daten zu Parkverstößen werden ferner nach Fahrzeugtyp oder Fahrzeugschildtyp gruppiert. Zu den historischen Parkverstoßdaten gehören Parkregeln, Parkverstoßcodes, gesetzliche Parkverstöße oder Abkürzungen, die vom Parkaufsichtspersonal verwendet werden, zugehörige Geldstrafen oder andere Strafen, Parkschilder mit einem oder mehreren Standorten, zugehörige Parkuhrkosten mit Parkuhrstandorten, Hinweise für vorübergehende oder dauerhafte Parkverbote, Abschleppzonenstandorte oder Daten zu Parkverstößen. Ein Uhrwerk bestimmt eine aktuelle Uhrzeit und ein aktuelles Datum. Ein Benutzerinteraktionspanel empfängt die Parkverstoß-bezogenen Daten und trägt zu einer Zuteilung von monetären oder nicht-monetären Belohnungen als Gegenleistung für das Beitragen der Parkverstoß-bezogenen Daten bei. Eine Standortbestimmungsvorrichtung identifiziert einen aktuellen Standort des Benutzers. Die Standortbestimmungsvorrichtung steht mit der Computervorrichtung in Verbindung. Eine Verarbeitungsvorrichtung, die in Kommunikation mit dem zentralen Computersystem steht, ist konfiguriert, um die Parkverstoß-bezogenen Daten zu analysieren, um einen Verstoß gegen eine oder mehrere Parkregeln oder -vorschriften unter Verwendung des aktuellen Standorts, der aktuellen Uhrzeit und des aktuellen Datums und der Parkverstoß-bezogenen Daten vorherzusagen und um eine oder mehrere Benachrichtigungen über Parkverstoß betreffende Daten zu erzeugen, die dem aktuellen Standort und dem Benutzertyp des Benutzers entsprechen. Eine Anzeigevorrichtung steht mit der Computervorrichtung in Verbindung, um dem Benutzer und den mehreren zusätzlichen Benutzern eine oder mehrere Benachrichtigungen mit den Parkverstoß-bezogenen Daten anzuzeigen.

Eine weitere beispielhafte Ausführungsform der erfinderischen Offenbarung stellt ein Verfahren zum Bereitstellen einer Parkführungsführung bereit, das die Schritte des Verwendens eines zentralen Computersystems in Kommunikation mit einem Benutzer und mehreren zusätzlichen Benutzern durch eine Computervorrichtung umfasst. Der Schritt des Verwendens einer Datenbank, die Parkverstoß-bezogene Daten speichert, einschließlich historischer Parkverstoß-bezogene Daten, die mit Echtzeit-Parkverstoß-bezogenen Daten korreliert sind, gruppiert in Datentypen bestehend aus kommerziellen Fahrzeug-bezogenen Daten und nicht-gewerblichen Fahrzeug-bezogenen Daten. Die Daten werden weiter nach Fahrzeugtyp oder Fahrzeugschild gruppiert. Zu den Daten im Zusammenhang mit Parkverstößen gehören Parkregeln, Parkverstoßcodes, gesetzliche Parkverstöße oder Abkürzungen, die von Parkaufsichtspersonal verwendet werden, zugehörige Geldstrafen oder andere Strafen, Parkschilder mit einem oder mehreren Standorten, zugehörige Parkuhrkosten mit Parkuhrstandorten, Hinweise für notice vorübergehende oder dauerhafte Parkverbote, Abschleppzonen-Standorte oder Parkverstoß-Zitataufzeichnungen. Es werden eine aktuelle Uhrzeit und ein aktuelles Datum bestimmt. Ein Benutzerinteraktionsfeld zum Teilen von Daten bezüglich Parkverstößen wird verwendet. Das Benutzerinteraktionspanel trägt zu einer Zuteilung von monetären oder nicht monetären Belohnungen als Gegenleistung für das Beitragen der Echtzeit-Parkverstoß-bezogenen Daten bei. Ein aktueller Standort des Benutzers wird identifiziert. Der Nutzertyp umfasst einen Nutzertyp eines Nutzfahrzeugs und einen Nutzertyp eines nicht gewerblichen Fahrzeugs, weiter kategorisiert nach Fahrzeugtyp oder Typ des Fahrzeugschilds. Die auf Parkverstöße bezogenen Daten werden analysiert, um vorherzusagen, dass der Benutzer möglicherweise gegen eine oder mehrere Parkregeln oder -vorschriften verstößt. Die eine oder mehreren Benachrichtigungen mit Parkverstoß-bezogenen Daten werden basierend auf dem Benutzertyp, zu dem der Benutzer gehört, an den Benutzer ausgegeben. Die eine oder mehreren Benachrichtigungen mit den Parkverstoß-bezogenen Daten werden dem Benutzer und den mehreren zusätzlichen Benutzern angezeigt.

Eine weitere beispielhafte Ausführungsform der erfinderischen Offenbarung stellt ein elektronisches Parkverstoß-Identifikationssystem zum Identifizieren eines potentiellen Parkverstoßes für einen Standort bereit. Das System umfasst eine Vielzahl von entfernten Computergeräten, die kommunikativ an ein Netzwerk gekoppelt sind, und einen Server, der kommunikativ an das Netzwerk gekoppelt ist, um mit den entfernten Computergeräten zu kommunizieren, wobei der Server mindestens ein nicht flüchtiges computerlesbares Speichermedium mit gespeicherten computerlesbaren Anweisungen umfasst darin eine Datenbank und einen Prozessor. Der Prozessor dient zum Ausführen der computerlesbaren Anweisungen, um: einem Benutzer zugeordnete Benutzerdaten von einer der Vielzahl von entfernten Computergeräten zu empfangen, wobei die Benutzerdaten einen identifizierten Standort, eine identifizierte Zeit und eine Benutzertypanzeige auf einem oder mehreren umfassen Bildschirme der Vielzahl von Remote-Computergeräten ein oder mehrere Benutzereingriffspanels, um es einem oder mehreren zusätzlichen Benutzern zu ermöglichen, eine oder mehrere Bewertungen in Bezug auf zumindest einen Teil der Parkverstoß-bezogenen Daten bereitzustellen, die zumindest dem identifizierten Ort zugeordnet sind, wobei die Parkverstoß-bezogene Daten umfassen mindestens eines von Standortdaten, die mit einem oder mehreren Parkverstößen verbunden sind, Zeitdaten, die mit einem oder mehreren Zeitpunkten des einen oder der mehreren Parkverstöße verbunden sind, einen oder mehrere Gründe für das Auftreten eines oder mehrerer Parkverstöße an den identifizierten Stellen Standort, oder eine oder mehrere Empfehlungen zum Vermeiden der einen oder mehreren Parkverstoß-Zitate an dem identifizierten Standort, wobei n der eine oder die mehreren zusätzlichen Benutzer Erfahrung aus erster Hand mit dem identifizierten Standort haben und wobei die Erfahrung aus erster Hand bestimmt wird basierend auf (i) einer ersten Benachrichtigung, die von dem einen oder den mehreren zusätzlichen Benutzern empfangen wird, die dem identifizierten Standort zugeordnet ist, oder ( ii) der eine oder die mehreren zusätzlichen Benutzer, die als Reaktion darauf, dass die eine oder die mehreren Bewertungen eine vorbestimmte Zahl erreichen, in eine vorbestimmte Nähe des identifizierten Standorts gekommen sind, modifizieren die Datenbank, um mindestens einen Teil der Parkverstoß-bezogenen Daten einzuschließen, die über die Eins bewertet wurden oder mehrere Benutzereingriffsfelder und eine zweite Benachrichtigung generieren, die mindestens die Parkverstoß-bezogenen Daten entsprechend dem identifizierten Ort, der identifizierten Zeit und dem Benutzertyp enthält, wobei die zweite Benachrichtigung einen potentiellen Parkverstoß identifiziert, der auf den Benutzer durch Rückschluss zutrifft.

Eine weitere beispielhafte Ausführungsform der erfinderischen Offenbarung stellt ein elektronisches Verfahren zur Identifizierung eines Parkverstoßes zum Identifizieren eines potentiellen Parkverstoßes für einen Standort bereit. Das Verfahren umfasst das Empfangen von Benutzerdaten, die einem Benutzer zugeordnet sind, von einem von mehreren entfernten Computergeräten, die kommunikativ mit einem Netzwerk verbunden sind, wobei die Benutzerdaten einen identifizierten Standort, eine identifizierte Zeit und einen Benutzertyp umfassen, die auf einem oder mehreren Bildschirmen des Displays angezeigt werden mehrere Remote-Rechengeräte ein oder mehrere Benutzereingriffspanels, um einem oder mehreren zusätzlichen Benutzern zu ermöglichen, eine oder mehrere Bewertungen in Bezug auf mindestens einen Teil der Parkverstoß-bezogenen Daten bereitzustellen, die mit mindestens dem identifizierten Ort verknüpft sind, wobei die Parkverstoß-bezogenen Daten umfasst mindestens eines von Standortdaten, die mit einem oder mehreren Parkverstößen verknüpft sind, Zeitdaten, die einem oder mehreren Zeitpunkten des einen oder der mehreren Parkverstöße zugeordnet sind, einem oder mehreren Gründen für das Auftreten eines oder mehrerer Parkverstöße an dem identifizierten Ort, oder oder mehrere Empfehlungen zum Vermeiden des einen oder der mehreren Parkverstoß-Zitate an dem identifizierten Ort, wobei der eine oder mehrere zusätzliche Benutzer haben Erfahrung aus erster Hand mit dem identifizierten Standort, und wobei die Erfahrung aus erster Hand bestimmt wird basierend auf (i) einer ersten Benachrichtigung, die von dem einen oder den mehreren zusätzlichen Benutzern empfangen wird, die mit dem identifizierten Standort verknüpft ist, oder (ii) der ein oder mehrere zusätzliche Benutzer, die als Reaktion darauf, dass die eine oder die mehreren Bewertungen eine vorgegebene Zahl erreichen, in eine vorbestimmte Nähe des identifizierten Standorts gekommen sind, eine Datenbank modifizieren, um mindestens einen Teil der Parkverstoß-bezogenen Daten einzuschließen, die über den einen oder die mehreren Benutzer bewertet wurden Eingriffsfelder und Erzeugen einer zweiten Benachrichtigung, die mindestens die Parkverstoß-bezogenen Daten entsprechend dem identifizierten Ort, der identifizierten Zeit und dem Benutzertyp enthält, wobei die zweite Benachrichtigung einen potentiellen Parkverstoß identifiziert, der auf den Benutzer durch Schlussfolgerung zutrifft.

In noch einer anderen Ausführungsform kann das Verfahren ferner das Sammeln über das eine oder die mehreren Benutzerinteraktionspanels von Crowdsourcing-Daten zu Parkverstößen umfassen, umfassend mindestens eines von: Standortdaten, die mit einem oder mehreren Parkverstößen verknüpft sind, Zeitdaten, die mit einer oder mehreren Zeiten verknüpft sind des einen oder der mehreren Parkverstöße, ein oder mehrere Gründe für das Auftreten eines oder mehrerer Parkverstöße an dem identifizierten Ort oder eine oder mehrere Empfehlungen zum Vermeiden des einen oder der mehreren Parkverstöße am identifizierten Ort, Erhalten einer oder mehrerer Bewertungen von mindestens einen Teil der Crowdsourcing-Daten zu Parkverstößen von einem oder mehreren zusätzlichen Benutzern über das eine oder die mehreren Benutzerinteraktionspanels und Modifizieren der Datenbank, um mindestens einen Teil der Crowdsourcing-Daten zu Parkverstößen einzuschließen, die durch das Nutzerengagement-Panel gesammelt wurden, wenn die Bewertungen der Crowdsourcing-Daten eine vorbestimmte Zahl erreichen. Das Verfahren kann auch das Empfangen einer oder mehrerer Bewertungen von mindestens einem Teil der Crowdsourcing-Daten zu Parkverstößen umfassen, die von einem oder mehreren zusätzlichen Benutzern über das eine oder die mehreren Benutzerinteraktionspanels empfangen wurden, und als Reaktion darauf, dass der Teil der Benachrichtigung eine erste Nachricht empfängt vorbestimmte Anzahl positiver Bewertungen, Ausgeben einer Belohnung an den zusätzlichen Benutzer, der die Crowdsourcing-Daten zu Parkverstößen geteilt hat, wobei die Belohnung eine monetäre Belohnung oder eine nicht monetäre Belohnung ist.

Andere Aufgaben, Merkmale und Eigenschaften der vorliegenden Erfindung sowie die Betriebsverfahren und Funktionen der zugehörigen Strukturelemente und die Kombination von Teilen und Einsparungen bei Entwicklung und Herstellung werden bei Betrachtung der folgenden ausführlichen Beschreibung deutlicher unter Bezugnahme auf die beigefügten Zeichnungen, die alle einen Teil dieser Beschreibung bilden.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

Eine vollständigere Würdigung der erfinderischen Offenbarung und vieler ihrer begleitenden Aspekte kann ohne weiteres erhalten werden, wenn diese unter Bezugnahme auf die folgende detaillierte Beschreibung in Verbindung mit den beigefügten Zeichnungen besser verstanden wird, wobei:

FEIGE. 1A ist ein schematisches Diagramm, das ein System zum Verwenden von Daten aus der Datenbank veranschaulicht, um Fahrer über das Auftreten von Parkverstößen gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung zu warnen

FEIGE. 1B ist ein Diagramm, das eine Datenbank gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht

FEIGE. 2 ist ein schematisches Diagramm, das einen Ansatz zum Warnen eines Fahrers gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht

FEIGE. 3A ist ein schematisches Diagramm, das die Interaktion eines Benutzers mit dem zentralen Computersystem unter Verwendung einer Computervorrichtung veranschaulicht, wenn ein Benutzer ein Parkticket gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung meldet

FEIGE. 3B ist ein Flussdiagramm, das veranschaulicht, wie die vom Benutzer gemeldeten Parkscheininformationen gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung erkannt, verarbeitet und in das System hochgeladen werden

FEIGE. 4A ist ein Diagramm, das ein Benutzerschnittstellen-Beteiligungsfeld (Ticket-Sharing & Q/A/C) basierend auf einem bestimmten Ort gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht

FEIGE. 4B ist ein Diagramm, das ein Benutzerschnittstellen-Eingriffsfeld (Signs & Other) basierend auf einem bestimmten Ort gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht

FEIGE. 5 ist ein Flussdiagramm, das einen Ansatz zum Verarbeiten von Parkverstoß-bezogenen Daten in der Datenbank gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht

FEIGE. 6 ist ein Flussdiagramm, das ein Verfahren zum Benachrichtigen des Benutzers basierend auf den Daten in der Datenbank gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht

FEIGE. 7 ist ein schematisches Diagramm, das die Komponenten einer Computervorrichtung gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht

FEIGE. 8 ist ein schematisches Diagramm, das die physische Zusammensetzung eines entfernten operativen Servers veranschaulicht, der ein Verfahren und ein System der erfinderischen Offenbarung gemäß einer beispielhaften Ausführungsform implementieren kann

FEIGE. 9 ist ein schematisches Diagramm, das eine Computervorrichtung in Kommunikation mit dem zentralen Computersystem veranschaulicht, die eine Benachrichtigung für Nutzfahrzeuge gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung empfängt

FEIGE. 10 ist ein schematisches Diagramm, das eine Computervorrichtung in Kommunikation mit dem zentralen Computersystem veranschaulicht, die eine Benachrichtigung für nicht gewerbliche Fahrzeuge gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung empfängt

FEIGE. 11 ist ein schematisches Diagramm, das ein System zum Verwenden von Daten in der Datenbank veranschaulicht, um Fahrer über das Auftreten von Parkverstößen durch ein zentrales Computersystem und eine Computervorrichtung gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung zu warnen

FEIGE. Fig. 12 ist ein Flussdiagramm, das einen Prozess zum Bewerten von Daten darstellt, die an das Benutzerinteraktionspanel übermittelt werden, um Parkverstoß betreffende Daten innerhalb der Datenbank gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung zu korrigieren, zu aktualisieren und zu ergänzen

FEIGE. 13 ist ein Flussdiagramm, das einen zirkulären Prozess zum Bewerten einer Benachrichtigung zum dynamischen Korrigieren, Aktualisieren und Ergänzen von Parkverstoß-bezogenen Daten innerhalb der Datenbank gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht

FEIGE. 14 ist ein Diagramm, das ein System zum Ableiten eines möglichen Parkverbots basierend auf einem Standort gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht

FEIGE. 15 ist ein Diagramm, das eine Computervorrichtung eines Benutzers und eine Anzeige einer Benachrichtigung darstellt, die ein Benutzer bezüglich eines potentiellen ortsbezogenen Parkverbots gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung erhalten kann

FEIGE. 16 ist ein Diagramm, das ein System zum Ableiten eines potentiellen Parkverbots basierend auf der Zeit gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung darstellt und

FEIGE. 17 ist ein Diagramm, das eine Anzeige einer Benachrichtigung veranschaulicht, die ein Benutzer in Bezug auf ein potenzielles zeitbezogenes Parkverbot gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung erhalten kann.

DETAILLIERTE BESCHREIBUNG DER ERFINDUNG

In der folgenden detaillierten Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Teil hiervon bilden und in denen spezielle Ausführungsformen, die praktiziert werden können, zur Veranschaulichung gezeigt sind. Die beschriebenen Ausführungsbeispiele können Fachleuten ermöglichen, die Ausführungsbeispiele zu praktizieren, und es versteht sich, dass logische, mechanische und andere Änderungen vorgenommen werden können, ohne vom Umfang der Ausführungsbeispiele abzuweichen. Die folgende detaillierte Beschreibung ist daher nicht einschränkend zu verstehen.

Die vorliegende Offenbarung soll nicht auf die so ausgewählte spezifische Terminologie beschränkt sein, und es versteht sich, dass jedes spezifische Element alle technischen Äquivalente umfasst, die auf ähnliche Weise funktionieren. Obwohl die Erfindung hierin unter Bezugnahme auf eine moderne Metropole wie New York City ("NYC") als Hauptbeispiel für die Implementierung beschrieben werden kann, sind das System und das Verfahren weltweit anwendbar. Die Begriffe „Fahrer(e)“ können austauschbar mit „Benutzer(n)“ verwendet werden, was Fahrer(n) umfassen soll, um diejenigen Personen einzuschließen, die möglicherweise kein Fahrer sind, aber dennoch Unterstützung durch die Verwendung der erfinderischen Offenbarung erhalten . Darüber hinaus soll „user“ auch ein breites Themenspektrum abdecken. Ein „Benutzer“ kann im Allgemeinen über seinen einen oder mehrere Vertreter Privatpersonen und Organisationen umfassen, die daran interessiert sind, die Anzahl der erhaltenen Parkverstöße zu reduzieren. Das Wort „Benutzer“ soll jede interessierte Person oder interessierte Person beschreiben, die mit registrierten Einrichtungen verbunden ist mit der erfindungsgemäßen Offenbarung nicht nur auf Privatpersonen beschränkt. Die erfindungsgemäße Offenbarung kann den Benutzer dabei unterstützen, Parkverstöße oder Parkscheine zu vermeiden. Die Begriffe „Parkausweis(e)“, „Parkschein(e)“ oder „Parkverstoß(e)“ können austauschbar verwendet werden, aber ihre Bedeutung kann gleich sein (z. B. ein Ticket, das ein Fahrer für einen Parkverstoß).

Eine beispielhafte Ausführungsform der erfinderischen Offenbarung kann sich auf die Implementierung eines Systems und Verfahrens durch eine Kombination von Hardware und Software beziehen, die auf einem tragbaren Computergerät betrieben wird, das verschiedene vorprogrammierte Merkmale umfasst, die mit Basiskomponenten kombiniert und integriert sind, einschließlich, aber nicht beschränkt auf: ein oder mehrere Server, Datenbanken, mobile Endanwendungen, Webportale, Netzwerkeinstellungen usw. Mit Unterstützung dieser Komponenten können Informationen über Benutzerschnittstellen, wie beispielsweise eine Website, eine Anwendung oder ein fahrzeuginternes Navigationssystem, bereitgestellt werden. Darüber hinaus kann es einen oder mehrere Server geben, die sich in einer verteilten Struktur befinden können, die von Rechenzentren unterstützt wird, die sich überall auf der Welt befinden können. Diese Implementierungen können kommunikativ verknüpft und plattformübergreifend mit der elektronischen Kartenanzeige, Anzeigern, die parkbezogene Informationen übermitteln, Profil- und Einstellungsinformationen usw bestimmten Ort und Zeit. Die Anwendung kann mit anderen Ausführungsformen, die einen Server, eine Benutzerschnittstellenkomponente, eine Schnittstellenkomponente und eine Serverschnittstelle umfassen können, kommunikativ verknüpft oder in diese integriert sein. Die Serverschnittstelle handhabt Kommunikationen, die zwischen dem Server und den Anwendungen ausgetauscht werden, anstatt die beiden Anwendungen direkt zu verbinden, und die gesamte Verwaltung und Verarbeitung der Daten kann über den Dienstsystemserver verwaltet werden. Merkmale können durch eine oder mehrere Rechenvorrichtungen implementiert werden, die die Verarbeitung und Ausgabe von Verfahrensschritten durch einen Prozessor ermöglichen.

Das Computergerät kann ein Gerät sein, das es einem Benutzer ermöglicht, mit dem zentralen Computersystem und mit dem Benutzereingriffspanel über eine Schnittstelle zu interagieren, die den Zugriff auf bestimmte Panel-Merkmale ermöglicht. Dieses Computergerät kann ein tragbares Mobilgerät, ein Navigationssystem im Fahrzeug oder ein anderes Zugangsmittel wie ein Laptop-Computer usw. sein, und die Panel-Funktionen können Diskussionen in Bezug auf die Vermeidung von Parkverstößen oder die Anfechtung von Parkverstößen sein, zum Beispiel. Das Computergerät kann mehrere Geräte enthalten, indem es kommunikativ mit einem oder mehreren Geräten verbunden ist, die es ihm ermöglichen, wiederum mit dem zentralen Computersystem zu kommunizieren. Solche Vorrichtungen können einen Uhrmechanismus, eine Standortbestimmungsvorrichtung, wie beispielsweise einen Empfänger eines globalen Positionsbestimmungssystems (GPS) und eine Anzeigevorrichtung umfassen. Diese Vorrichtungen können sich innerhalb des Computergeräts befinden, wie beispielsweise in einem Smartphone, oder können sich außerhalb befinden und eine drahtlose oder drahtgebundene Verbindung mit dem Computergerät teilen.

Das System kann teilweise ein geografisches Informationssystem (GIS) umfassen, um Daten zu erfassen, anzuzeigen und anderweitig zu analysieren. Das GIS kann beispielsweise eine elektronische oder digitale Karte als Schicht integrieren (wie GOOGLE MAPS, ein elektronischer Kartendienst von Google, einer Tochtergesellschaft von Alphabet Inc. usw.) zur Anzeige auf einem Computergerät, um ein Smartphone anzuzeigen , webbasierte oder andere Speichermedien. Mit dieser Integration können Straßen aus der Kartendatenbank angezeigt werden, die die analysierten Daten bezüglich des Ortes und Erklärungen von Ticketverstößen präsentiert, die für den Benutzer leicht verständlich sind. Das GIS-System kann verschiedene Layer integrieren und Datenpunkte mit ähnlichen Attributen können isoliert und als Layer ausgegeben werden. Diese Ausgabeschicht würde alle Instanzen dieser Datenpunkte mit ähnlichen Attributen anzeigen.

Das System kann intern mit verschiedenen Funktionen eines Computergeräts verbunden sein, die unter anderem die Uhrfunktion, Telefonanruffunktion, Mikrofon, GPS-Tracking für die Geolokalisierung (Breiten- und Längengradkoordinaten) und/oder Kamera usw. umfassen kann auf dem Computergerät ausgeführt werden und Ressourcen verwenden, die Mikroprozessor, Speicher, GPS, drahtlose Verbindung und Anzeige umfassen können. Eine Benachrichtigung kann über eine oder mehrere Medienquellen erfolgen, wie etwa die visuelle Anzeige oder das Audiosystem usw. Eine Benachrichtigung kann unter anderem Informationen über Parkregeln oder -vorschriften umfassen, die für den identifizierten aktuellen Standort des Benutzers gelten, Verweis auf zuvor ausgegebene parkbezogene Verstöße, z. B. die Anzahl der zuvor ausgegebenen parkbezogenen Verstöße für den identifizierten aktuellen Standort des Benutzers, Informationen zur Parkbeschilderung, Parkuhrstandorte und damit verbundene Parkuhrkosten sowie Gründe für die Ausstellung von parkbezogenen Verstößen an diesem Standort.

Das System kann ferner eine Plattform für die Zusammenarbeit und die gemeinsame Nutzung von Daten im Zusammenhang mit Parkverstößen bereitstellen. Daten im Zusammenhang mit Parkverstößen, die historisch oder in Echtzeit sein können, können durch Crowdsourcing oder aus verschiedenen Quellen (im Folgenden „Informationsquellen“) bezogen werden, einschließlich, aber nicht beschränkt auf einen oder mehrere Benutzer oder andere interessierte Einzelpersonen, Unternehmen wie die Regierung, Regierungsvertreter, Gemeinden, Nichtregierungsorganisationen (NGOs), private Einrichtungen und Gemeindeorganisationen oder Medienquellen. Medienquellen können unter anderem Websites, Blog-Posts, soziale Netzwerke, Zeitungen, Zeitschriften, Fachartikel, Sendungen, Fernsehprogramme und alle anderen Ressourcen umfassen, bei denen Daten zu Parkverstößen gesammelt werden können usw. Einige der historischen Daten im Zusammenhang mit Parkverstößen können als öffentlich zugängliche Daten von Regierungsbehörden bereitgestellt werden und können auch durch eine Anfrage aus dem Freedom of Information Act verfügbar sein, wenn sie nicht über öffentliche Regierungswebsites verfügbar sind. Auf einige Informationen, die von einigen Informationsquellen, wie z. B. den Websites von Regierungsvertretern, privat gemacht werden, kann auf die Zustimmung eines Benutzers zum Zugriff auf diese Informationen zugegriffen werden. Sobald auf die Informationen zugegriffen wurde, für die eine Autorisierung erforderlich ist, kann das zentrale Computersystem einen Benutzer über alle anstehenden Gebühren und das Fälligkeitsdatum für einen Parkverstoß usw. benachrichtigen, da es für den Benutzer möglicherweise nicht bequem ist, direkt auf die Informationsquelle zuzugreifen . Das zentrale Computersystem oder der Systemadministrator kann jedoch zusätzlich oder alternativ Daten zu Parkverstößen durch Eingaben von einem Benutzer und/oder interessierten Personen sowie privaten Einrichtungen, beispielsweise Transportunternehmen oder anderen auf Transport spezialisierten Organisationen, erhalten die möglicherweise Zugriff auf ausgestellte Parkausweise oder andere Daten zu Parkverstößen haben. Die Datenbank kann ein Sammelverfahren zum Sammeln von Parkverstoß-bezogenen Daten aus den Informationsquellen verwenden. Daten im Zusammenhang mit Parkverstößen, die aus Medien wie Zeitungen, Blogs, sozialen Medien usw. gesammelt wurden, können manuell, beispielsweise von einem Systemadministrator oder Systemmitarbeiter, oder automatisch, beispielsweise durch einen Algorithmus mit künstlicher Intelligenz, gesammelt und zusammengefasst werden, um dies zu korrigieren , aktualisieren und ergänzen Sie die Datenbank. Diese gesammelten historischen Parkverstoß-bezogenen Daten können auch korrigiert, aktualisiert und durch Echtzeit-Parkverstoß-bezogene Daten ergänzt werden. Echtzeit-Daten zu Parkverstößen werden als Echtzeit betrachtet, wenn ein oder mehrere Benutzer sofort Parkverstoß-bezogene Daten teilen. "Sofort" kann innerhalb eines vorbestimmten Zeitraums erfolgen, beispielsweise fünfzehn Minuten nach Erhalt des Parkverstoßes, oder kann praktisch sofort erfolgen. Wenn die Daten die Anforderungen nicht erfüllen, um als Echtzeitdaten betrachtet zu werden, werden die Daten als historische Daten betrachtet, aber sie werden dennoch verwendet, um andere bereits in der Datenbank vorhandene historische Parkverstoß-bezogene Daten zu aktualisieren.

Von der Regierung freigegebene Daten zu Parkverstößen können über die Website der zuständigen Behörde und/oder öffentlich zugängliche offene Daten verfügbar sein. Obwohl Standorte, die in solchen von der Regierung veröffentlichten Daten zu Parkverstößen identifiziert werden, möglicherweise nicht so genau sind wie Geolokalisierungskoordinaten, sind solche Daten dennoch nützlich. Und um Standorte besser aus von der Regierung freigegebenen Daten zu identifizieren, können diese Standorte über eine qualifizierte Drittanbietersoftware, die einen Standort-Geocodierungsdienst für Breiten- und Längenkoordinaten bereitstellt, in Geolokalisierungskoordinaten umgewandelt werden, bevor die Zitatstandortdaten in die Datenbank eingegeben werden.

Daten im Zusammenhang mit Parkverstößen können auch durch Crawlen (z. B. systematisches Surfen im Internet) oder anderweitige Verbindung mit relevanten Websites von Regierungen oder Strafverfolgungsbehörden erhalten werden, die Daten zu Parkverstößen für einen bestimmten Benutzer speichern. Durch diese Verbindung kann das zentrale Computersystem konfiguriert sein, um einen Benutzer über alle ausstehenden Ticketinformationen zu benachrichtigen. Um dies zu tun, muss jedoch möglicherweise eine vorherige Autorisierung vom Benutzer eingeholt werden, um automatisch nach Parkverstoß-bezogenen Daten dieses Benutzers zu suchen, wie beispielsweise anhängigen Verstößen. Wenn irgendwelche anhängigen Verstöße gefunden werden, kann das zentrale Computersystem eine Benachrichtigung über einen derzeit anhängigen Verstoß an den Benutzer senden. Mit der Autorisierung des Benutzers können die Informationen aus diesen Verstößen als Daten in die Datenbank eingegeben werden, um die aktualisierte umfassende Datenbank weiter aufzubauen, um andere Benutzer mit Gründen für den potentiellen Erhalt einer Parkverstoß-Zitat zur Vermeidung dieser Verstöße zu warnen. Parkverstoßbezogene Daten können auch an einen Benutzer gesendet werden, der anstehende Parktickets hat. In NYC beträgt der Schwellenwert beispielsweise 350 $ an unbezahlten Parktickets, bevor das Fahrzeug eines Fahrers abgeschleppt werden kann, unabhängig davon, ob ein Fahrzeug legal geparkt ist oder nicht, und das zentrale Computersystem kann möglicherweise eine Warnung über das Erreichen dieses Schwellenwerts senden. Dementsprechend kann der Benutzer eine Benachrichtigung erhalten, die angibt, dass der Benutzer beispielsweise 300 US-Dollar an unbezahlten Parktickets hat, wenn er sich dem Schwellenwert von 350 US-Dollar nähert, und der Benutzer Gefahr läuft, dass ein Fahrzeug abgeschleppt wird, sobald der Benutzer 350 US-Dollar erreicht hat und dies noch nicht getan hat diese kumulierten Ticketstrafen bezahlt. Der Benutzer kann bei der Inanspruchnahme des Fahrzeugs durch Zugreifen auf relevante Abschleppinformationen unterstützt werden, wenn das Fahrzeug des Benutzers aufgrund der angesammelten unbezahlten Parktickets abgeschleppt wurde.

Verschiedene von einem Benutzer gemeldete Daten zu Parkverstößen, d. h. Crowdsourcing-Daten, können periodisch oder kontinuierlich gesammelt und analysiert werden, um eine genauere, aktuellere Datenbank aufzubauen. Wie hierin verwendet, ist „Crowdsourcing“ eine verteilte Problemlösungsmethode, die Online- und Offline-Ressourcen nutzt, um Dienste, Ideen und/oder Inhalte durch das Anfordern und/oder Erfassen von Daten von einer Vielzahl von Menschen, die einer bestimmten Gemeinschaft angehören, zusammenzustellen wird vom Crowdsourcing-Thema angesprochen. Crowdsourcing kann verwendet werden, um Daten zu sammeln, die nicht durch andere Quellen bereitgestellt werden. Crowdsourcing-Daten können in Form von Echtzeitdaten oder historischen Daten vorliegen.Anreize können verwendet werden, um das Melden von Daten im Zusammenhang mit Parkverstößen durch einen Benutzer zu ermutigen, die Daten in der Datenbank zu korrigieren, zu aktualisieren und zu ergänzen. Diese Anreizstruktur gepaart mit einem administrativen Qualitätskontrollzentrum kann verwendet werden, um die Qualität und Zuverlässigkeit der Daten in der Datenbank sicherzustellen, da diese Daten anschließend verwendet werden, um einen Benutzer vor Parkverstößen zu schützen und daher einem hohen Standard von Genauigkeit und Zuverlässigkeit. Jeder Dateneingabe, ob aus Quellen oder Crowdsourcing, historisch oder in Echtzeit, kann eine eindeutige Verfolgungsnummer zugewiesen werden, die es zumindest dem Systemadministrator ermöglicht, die Daten bei Bedarf bis zu ihrer ursprünglichen Quelle zurückzuverfolgen.

Das System kann die Transparenz und Genauigkeit von Parkverstoß-bezogenen Daten in der Datenbank fördern, die aus verschiedenen Quellen gesammelt werden, indem eine Plattform verwendet wird, damit ein Benutzer auf die Daten in der Datenbank in einer benutzerfreundlichen Anwendungsschnittstelle zugreifen kann. Um die Datenbank aufzubauen, können Rohdaten zu Parkverstößen, zu denen unter anderem Zitationsdaten zu Parkverstößen gehören, aus Informationsquellen bezogen, auf einen Computer-Mikroprozessor hochgeladen und so formatiert werden, dass sie nur relevante Daten enthalten, die für die Durchführung von Analysen und die Bereitstellung verwendet werden Benachrichtigungen. Die hochgeladenen Parkverstoß-bezogenen Daten können dann in zwei Sätze zum Reinigen und Hochladen in den Server aufgeteilt werden. Der erste Satz können Parkverstoß-bezogene Daten sein, von denen bereits verifiziert wurde, dass sie alle notwendigen Informationen im richtigen Format aufweisen, während der zweite Satz Parkverstoß-bezogene Daten sein können, die neu formatiert werden müssen, um alle notwendigen Informationen zu enthalten. Sobald alle Daten im Zusammenhang mit Parkverstößen bereinigt wurden, können die Standortdaten in einen Datenrahmen extrahiert werden, der in einer Geocode-Anwendungsprogrammschnittstelle (API) eines Drittanbieters verwendet werden kann, z. B. GOOGLE GEOCODING API, einem Standort-Geocodierungsdienst von Google, eine Tochtergesellschaft von Alphabet Inc., oder SMARTSTREETS, ein Standort-Geocodierungsdienst für Breiten- und Längengradkoordinaten, bereitgestellt von SmartyStreets, LLC usw Datei wie eine .csv-Datei. Jede andere Art von Technologie kann übernommen oder entwickelt werden, um die Geolokalisierung in Bezug auf einen Parkverstoß genauer zu identifizieren. Die Ausgabe kann vom Systemadministrator auf Richtigkeit und Vollständigkeit überprüft und korrigiert werden. Parkbeschilderungsdaten und RRLC-Datendateien können auch hochgeladen, bereinigt und mit den Zitationsdaten in die Datenbank zusammengeführt werden.

Zu den eingegebenen, verarbeiteten, gespeicherten und analysierten Rohdaten können unter anderem gehören: die Art des Verstoßes die Ursachen oder Gründe für den Verstoß Name des Strafverfolgungsbeamten, der das Ticket ausgestellt hat Strafverfolgungsbeamter Bemerkungen zum Typ des Kennzeichens für die Ticketregistrierung Fahrzeugtyp Ausstellungsdatum Verstoß gegen Code Verstoß gegen gesetzliche Vorschriften ausstellende Behörde Verstoß Zeit Hausnummer Straßenname Gesetzesabschnitt Unterteilung Tage gültiges Parken von gültiger Stunde bis gültiger Stunde Beschreibung des Verstoßes alle anderen relevanten Faktoren und/oder andere Daten im Zusammenhang mit Parkverstößen aus der Datenbank, usw. Gründe für Verstöße gegen Parkscheine können sein, sind aber nicht beschränkt auf: Stehen in einer Sperrzone, in der es verboten ist, zu warten oder anzuhalten, um Pakete oder Waren am Straßenrand zu be- oder entladen, und nur zum Anhalten, um zügig abzugeben oder abzuholen Passagiere, die in einer Halteverbotszone anhalten, in der es verboten ist zu warten, anzuhalten, um Pakete oder Waren zu laden oder zu entladen oder abzugeben Parktickets für Fahrgäste abholen oder abholen, die sich auf die Sperrung von Bereichen beziehen, wie das Parken vor oder das Sperren eines Einganges, Ausganges oder Zebrastreifens sowie das Sperren eines Briefkastenparkplatzes innerhalb einer Sperrzone basierend auf der Entfernung zu einer Bushaltestelle oder einem Hydranten Parken zu nahe an einem Bahnübergang Parkbeschränkungen aufgrund von Zeitvorgaben wie Feiertags-, Paraderouten- oder anderen Sonderparkplätzen, die nur selektiv gelten und Parkverbote, die sich auf Doppelparken beziehen, sei es für eine bestimmte Zeit oder zu einem bestimmten Zeitpunkt. Einige Parkverbote beziehen sich auf einen sich drehenden Zeitplan, wie beispielsweise Straßenreinigungs-Parkverbote, die an bestimmten Wochentagen zwischen zwei verschiedenen Zeiten stattfinden. Verbote können sich auch auf ein Versehen des Benutzers beziehen, beispielsweise das Verbleiben des Parkens nach Ablauf einer Zeit. Parkscheine können sich auch auf das Parken innerhalb einer Zone oder eines Bereichs beziehen, die auf bestimmte Arten von Fahrzeugen oder Personen beschränkt ist, wie z. B. das Parken auf einem Behindertenparkplatz oder innerhalb einer Behindertenzone oder auf einem Radweg, zusätzlich zum Parken in einer privaten Parkzone oder eine Zone mit einer erforderlichen Genehmigung. Darüber hinaus können sich Parktickets auf Verbote oder Beschränkungen des Parkens für bestimmte Arten von Fahrzeugen beziehen, wie etwa das Parken nur von Motorrädern oder das Parken eines Fahrrads in Bereichen, in denen das Parken von Fahrrädern verboten ist. Darüber hinaus kann es selektive Zonen geben, die mit unterschiedlichen Strafen verbunden sind, wie beispielsweise das Parken in einer Abschleppzone. Darüber hinaus können Gründe das Parken in die falsche Richtung oder das Parken länger als die maximal zulässige Zeit sein oder andere denkbare Gründe usw. Diese Gründe werden auch für Benachrichtigungen erfasst, da die Benachrichtigungen auf den Daten basieren, die in der Datenbank. In NYC verwendet das Finanzministerium beispielsweise Verstoßcodes, um Parkscheine auszustellen, während diese Verstoßcodes Gründe im Zusammenhang mit Gesetzesverstößen enthalten, die in Kapitel 4, Abschnitt 4-08 von Titel 34 der Regeln von NYC geschrieben sind. Parkverstoßgründe können mit ihren jeweiligen Verstoßcodes abgeglichen werden, die verwendet werden können, um Parkverstoßgründe für bestimmte Orte abzuleiten und Warnungen zu erzeugen, die auf einen Benutzer basierend auf dem Benutzertyp anwendbar sind.

Eine beispielhafte Ausführungsform der erfinderischen Offenbarung kann konfiguriert sein, um Algorithmen zu integrieren, um doppelte Daten zu erkennen, wenn die an Datum und Uhrzeit ausgestellten Tickets mit denen in der Datenbank übereinstimmen, die als doppelte Daten gekennzeichnet und automatisch aus dem Datensatz entfernt werden können. Tickets, die an Daten und Uhrzeiten ausgestellt wurden, die nicht in der Datenbank enthalten sind, können jedoch der Datenbank hinzugefügt werden, und Benachrichtigungen können aktualisiert werden, um hinzugefügte Daten richtig widerzuspiegeln, um dann einen Benutzer mit aktualisierten Informationen richtig zu warnen.

Die Datenbank kann auch andere Arten von öffentlich zugänglichen nützlichen und kritischen Ressourcen enthalten, zum Beispiel Abkürzungen und ihre gemeinsamen Bedeutungen, wie sie von Strafverfolgungsbehörden verwendet werden. Polizeibeamte verwenden bei der Ausstellung von Tickets häufig Abkürzungen. Auf dem Ticket können Abkürzungen in dem Bereich erscheinen, in dem der Beamte den Verstoß und/oder den Ort des Verstoßes angibt. Abkürzungen können verarbeitet und in der Datenbank gespeichert werden, indem Daten aus öffentlich zugänglichen Quellen gesammelt werden, um die genauesten und aktuellsten Bedeutungen bereitzustellen. Der Benutzer kann in der Lage sein, die Sprache zu überprüfen, um die Abkürzungen je nach Standort automatisch in einfache englische Bedeutungen zu ändern, wenn er sie in das Computergerät eingibt. Die Funktion kann auch verwendet werden, wenn der Benutzer ein Ticket meldet, das Abkürzungen enthält. Beispielsweise erhält ein Nutzer einen Ticketverstoß für das gesetzeswidrige Parken eines Fahrzeugs an einem bestimmten Ort und beabsichtigt, sich zu melden. Der Ticketverstoß besagt, dass der „Ort des Vorkommens“ „E/S Calloway St. Oft N/of Otis Ave“ ist. Der Benutzer kann zum Beispiel beim Melden die abgekürzte Sprache in das Computergerät eingeben, und dann kann das zentrale Computersystem die Abkürzungen automatisch in einfache und leicht verständliche englische Erklärungen ändern und dann die Adresse in eine Geolokalisierung umwandeln. Zum Beispiel Tickets mit verwirrenden Abkürzungen „E/S Calloway St. Oft N/of Otis Ave“. würde in „East Side Calloway Street Zero feet North of Otis Avenue“ geändert und dann verwendet, um die genaue Geolokalisierung über die Geolocation-API eines Drittanbieters zu erstellen und in die Datenbank einzugeben. Die Geolokalisierung kann dann verwendet werden, um andere Benutzer zu alarmieren. Ein Benutzer kann eine Belohnung verdienen, indem er einen ausgegebenen Parkverstoß hochlädt oder falsche oder inkonsistente Informationen meldet. Die Datenbank kann dann korrigiert, aktualisiert und entsprechend ergänzt werden, um die Änderungen widerzuspiegeln, was wiederum die Benachrichtigungen genauer macht. Diese Korrekturen können durch Nachweise, wie z. B. ein Foto oder eine gesetzlich vorgeschriebene Aktualisierung, belegt werden. Der Nutzer kann in solchen Fällen aufgefordert werden, einen solchen Nachweis zu erbringen.

Die Datenbank kann auch Parkplatzbeschilderungsinformationen enthalten, zum Beispiel Parkplatzbeschilderungsstandortinformationen und Parkplatzbeschilderungsbilder von den Websites verschiedener Regierungsquellen (z. B. Verkehrsministerium, im Folgenden „DOT“). Parkschilder, die für den aktuellen Standort eines Benutzers gelten, können dem Benutzer automatisch auf dem Computergerät angezeigt werden, nachdem ein Benutzer vorübergehend an einem Standort anhält oder parkt. Wenn der Benutzer die Beschilderung nicht versteht oder Fragen hat, kann der Benutzer das Bild dieser Beschilderung auf dem Display auswählen (z. B. auf einen Touchscreen drücken), um die Benutzereinbindungsfeldfunktion zu öffnen, in der der Benutzer die Beschilderungsinformationen melden und Zeigen Sie alle ausgetauschten Informationen anderer Benutzer für diese Beschilderung an, die mit dem aktuellen Standort verbunden ist. Es versteht sich für den Durchschnittsfachmann, dass "Benutzereinbindungs-Panel" hierin verwendet wird, um ein Panel zu bezeichnen, auf das ein Benutzer zugreifen kann, auf das dieser Benutzer Parkverstoß-bezogene Daten, wie etwa Informationen, sowie relevante Ideen austauschen kann. Dies kann über ein Terminal oder ein Computergerät wie ein Smartphone, Tablet oder andere Mittel des Internetzugangs zugänglich sein. Ein Benutzer kann mit dem Benutzerinteraktionsfeld über einen elektronischen berührungsempfindlichen Bildschirm auf einem Mobilgerät interagieren oder kann ein beliebiges anderes interaktives Computergerät verwenden. Jeder andere potenzielle Begriff kann verwendet werden, um diese Funktion zu beschreiben, wie beispielsweise „Forum“, „Diskussionsgruppe“, „Online-Meeting“ usw. Der Begriff „Benutzer-Engagement-Panel“ dient hier diesem Zweck.

Das Benutzereinbindungspanel kann von einem oder mehreren Benutzern oder anderen interessierten Einzelpersonen oder Einrichtungen wie der Regierung, Regierungsvertretern, Gemeinden, Nichtregierungsorganisationen (NGOs), privaten Einrichtungen und Gemeinschaftsorganisationen oder Medienquellen verwendet werden. Wenn keine Parkbeschilderungsinformationen von Regierungsressourcen verfügbar sind, kann der Benutzer wählen, Parkbeschilderungsinformationen für die entsprechenden Parkschilder zu übermitteln, mit der Möglichkeit, bestimmte monetäre oder nicht monetäre Belohnungen zu erhalten. Dementsprechend muss ein Benutzer das Fahrzeug möglicherweise nicht physisch verlassen, um Zeit damit zu verbringen, zum Schild zu gehen, um herauszufinden, ob das Parken erlaubt ist, was ihn dem Risiko aussetzt, während dieser Zeit ein Ticket zu erhalten. Stattdessen kann der Benutzer eine Benachrichtigung mit einer entsprechenden Parkbeschilderung für diesen bestimmten Ort erhalten. Die Benachrichtigung kann auf Benutzertyp, Fahrzeugtyp und/oder Kennzeichentyp basieren. Die Parkbeschilderungsbildbenachrichtigung kann ein Bewertungssystem beinhalten, sodass der Benutzer die Benachrichtigung positiv oder negativ bewerten kann, genaue Informationen bestätigen und das Vorhandensein ungenauer Informationen anzeigen kann.

Monetäre und nicht-monetäre Belohnungen können ein breites Spektrum an materiellen oder immateriellen Gütern umfassen. Eine nicht monetäre Belohnung kann beispielsweise die Gewährung des Zugangs zu bestimmten Premium-Systemfunktionen für eine bestimmte Zeit sein oder es kann ein Verzicht auf Benutzer- oder Abonnementgebühren sein. Geldprämien können Prämien wie die Erstattung von Ticketzitationszahlungen oder die teilweise oder vollständige Zahlung von Tickets oder eine andere vorbestimmte Geldprämie umfassen. Darüber hinaus können Geldprämien auch mit der Parkuhrzeit usw. zusammenhängen.

Ein potenzieller Benutzer kann aufgefordert werden, sich bei dem Dienst zu registrieren, indem er führerscheinrelevante Informationen wie Name, Nummernschild, Fahrzeugtyp, Staat oder Land, das den Führerschein ausstellt, und eine E-Mail-Adresse zur Erstellung einer Benutzer-ID für jeden Benutzer bereitstellt des Antrags. Benutzer-IDs können erforderlich sein, um Berichte und Bewertungen jedes Benutzers zu verfolgen. Kreditkarten- und/oder Debitkarteninformationen können auch für Teilnehmergebühren für bestimmte Dienste angefordert werden, die für einen zertifizierten Benutzer bereitgestellt werden. Einem zertifizierten Benutzer kann es erlaubt sein, verschiedene Funktionen der Anwendung zu verwenden, die Berichtsdaten und Bewertungsdaten umfassen, aber nicht darauf beschränkt sind. Die erhobenen Abonnentengebühren können auch direkt oder indirekt die Quelle finanzieren, die verwendet wird, um als Teil der Anreizstruktur die angefallenen Tickets des Benutzers zu bezahlen, um mehr Daten zu Parkverstößen zu erhalten. Zum Beispiel kann ein Benutzer seine Zitate über Parkverstöße in das Benutzerinteraktionsfeld hochladen, und andere Benutzer können abhängig von zumindest der Genauigkeit des bereitgestellten Zitats positive oder negative Bewertungen abgeben. Die Daten in der Datenbank können aktualisiert, korrigiert oder ergänzt werden, um neue Daten zu Parkverstößen widerzuspiegeln, was dazu führen kann, dass eine entsprechende Benachrichtigung entsprechend aktualisiert wird. Sobald die Benachrichtigung eine vorbestimmte Anzahl von positiven Bewertungen erreicht, wodurch bestätigt wird, dass die durch die Benachrichtigung übermittelten Daten korrekt sind, kann der Benutzer, der diese neuen Parkverstoß-bezogenen Daten geteilt hat, eine monetäre oder nicht monetäre Belohnung erhalten. Aus erhobenen Gebühren kann eine Geldprämie finanziert werden. Ein Benutzer kann jedoch begrenzt sein, wie oft der Benutzer über eine einzelne Einreichung im Benutzerinteraktions-Panel abstimmen kann, um unanständiges oder betrügerisches Verhalten auszumerzen, das unternommen werden kann, um eine unfaire Belohnung zu erhalten, wie z Daten zu Parkverstößen sind positiv zu bewerten.

Eine beispielhafte Ausführungsform der erfinderischen Offenbarung kann eine Benutzerprofildatenbank umfassen, die konfiguriert ist, um Benutzerinformationen und Verknüpfungen zwischen jedem Benutzer und der Computervorrichtung des Benutzers nach der Registrierung zu speichern. Nach der Registrierung kann ein Benutzer bei Bedarf seine Informationen in seinen Benutzerprofilen einstellen und ändern. Einstellungen, die möglicherweise eine Eingabe oder Präferenz eines Benutzers erfordern, können vom Benutzer nachträglich innerhalb der Einstellungen geändert werden (z. B. ein/aus). Zum Beispiel kann der Benutzer den Fahrzeugtyp ändern, den der Benutzer gerade fährt. Dies gilt entsprechend auch für die dem Fahrzeug zugeordnete Typenschild. Folgende Benutzertypen können unterschieden werden: Nicht-Nutzfahrzeug-Benutzer und NKW-Benutzer, weiter kategorisiert nach Fahrzeugtyp und Typ des Fahrzeugschildes. Da für nichtgewerbliche und gewerbliche Fahrzeuge unterschiedliche RRLC gelten können, die zu unterschiedlichen Arten von Ticketverstößen führen können, die kategorisiert werden können, kann ein Benutzer, der in seinem Profil angibt, ein Nutzfahrzeug zu fahren, automatisch nur für Nutzfahrzeuge in der unterschiedlichen Kategorie markiert werden. Nicht gewerbliche Fahrzeuge können umfassen, sind aber nicht beschränkt auf: Personenkraftwagen, Minivans, SUVs usw. Innerhalb der Nutzfahrzeugdatenbank kann der Typ des Nutzfahrzeugs in Kategorien unterteilt werden, die unter anderem Folgendes umfassen können: Sattelzugmaschinen, Lastkraftwagen, Busse, Taxis und Limousinen usw. Die für Nutzfahrzeuge geltenden Parkregeln gelten möglicherweise nicht auch für nicht gewerbliche Fahrzeuge, und dementsprechend können die Daten von verschiedenen Fahrzeugtypen in verschiedene Kategorien unterteilt werden, damit die Tickets können auch je nach Fahrzeug und den Gründen des Verstoßes kategorisiert werden.

Die Anwendung kann es verschiedenen Benutzertypen ermöglichen, Parkverstoß-Zitatinformationen einzugeben, die in der Datenbank nach verschiedenen Datentypen kategorisiert werden können. Beispielsweise können Fahrer von nicht gewerblichen Fahrzeugen Parkscheine für das Parken in reinen Nutzfahrzeug-Standzonen erhalten, die nur Nutzfahrzeugen das Be- und Entladen von Fracht erlauben. Daher kann die Zitationsdatenbank Zitationsdaten von Nicht-Nutzfahrzeugen und Nutzfahrzeugen umfassen, die je nach Fahrzeugtyp separat gekennzeichnet werden können. Fahrzeugtypdaten können verschiedene Fahrzeugtypen zeigen, die die Verstöße begehen. Obwohl es zwei Fahrzeugtypen gibt, die ihre jeweiligen Datenbanken haben, können die beiden Typen kombiniert und in einer Datenbank integriert werden. Verschiedene Benutzertypen können dann eine Benachrichtigung mit dem Datentyp ausgegeben werden, der ihrem Benutzertyp entspricht. Eine Benachrichtigung kann genauer erfolgen, da Tickets je nach Fahrzeugtyp und Typen von Fahrzeugkennzeichen, die in Nutzfahrzeugen oder nicht gewerblichen Fahrzeugen enthalten sein können, in separate Kategorien eingeteilt werden können.

Das Benutzerinteraktionsfeld kann so voreingestellt sein, dass es sich auf einen bestimmten Bereich konzentriert, wie beispielsweise einen identifizierten aktuellen Standort eines Benutzers. Wenn ein Benutzer das Benutzerinteraktionsfeld öffnet, kann der Inhalt, der automatisch angezeigt werden kann, auf dem aktuellen Standort des Benutzers basieren. Ein Benutzer, der eine Benachrichtigung erhält, kann auf eine Benachrichtigung klicken, um auf weitere Details zu einem möglichen Parkverstoß zuzugreifen. Wenn der Benutzer mit diesen Details immer noch nicht zufrieden ist, kann der Benutzer das Computergerät des Benutzers verwenden, um sich mit dem Benutzerinteraktionsfeld zu verbinden, wo der Inhalt, der automatisch angezeigt wird, Informationen noch detaillierter sein können. Dieser Inhalt kann eine Parkbeschilderung umfassen, und der Benutzer kann basierend auf dem spezifischen Standort des Benutzers eine Frage an das Benutzerinteraktionsfeld senden. Auf das User-Engagement-Panel kann jedoch auch für Inhalte in anderen Bereichen zugegriffen werden. Dies kann beispielsweise ein Benutzer in New York sein, der beabsichtigt, einen LKW zu mieten, um nach Florida zu ziehen. Der Benutzer möchte möglicherweise Daten zu Parkverstößen sehen, die für einen bestimmten Bereich gelten, in dem der Benutzer den Lastwagen entladen möchte. Da der Lastkraftwagen normalerweise als Nutzfahrzeug angesehen wird und verschiedene Bundesstaaten unterschiedliche Vorschriften zum Parken und Entladen eines Nutzfahrzeugs auf der Straße haben können, kann es für den Benutzer praktisch sein, sich vor der Fahrt mit den für diesen bestimmten Bereich geltenden Daten zu Parkverstößen vertraut zu machen Bewegen Sie sich, um zu vermeiden, dass Sie einen Hinweis auf Parkverstöße erhalten. Es versteht sich für den Durchschnittsfachmann, dass dies ein Beispiel für eine breite Palette möglicher Gründe ist, aus denen ein Benutzer auf den Inhalt des Benutzerinteraktionsfelds für Bereiche zugreifen möchte, die die unmittelbare Umgebung dieses Benutzers umfassen.

Ein Benutzer kann auch anpassen, welche Benachrichtigung der Benutzer sehen möchte. Zusätzlich zu einem Benachrichtigungsproblem auf der Grundlage dessen, welche Art von Fahrzeug der Benutzer fährt, welcher Fahrzeugtyp oder welche Art von Kennzeichen, kann der Benutzer weiter angeben, worüber er oder sie benachrichtigt werden möchte oder nicht. Der Benutzer kann eine einzelne Benachrichtigung oder eine ganze Kategorie von Benachrichtigungen ausschließen. Darüber hinaus kann der Benutzer angeben, welche Art von Informationen er in einer Benachrichtigung sehen möchte. Zum Beispiel kann der Benutzer angeben, kein Bild der Beschilderung zu sehen, sondern sich stattdessen dafür entscheiden, einfach eine kurze Beschreibung dieser Beschilderung anzuzeigen. In einem anderen Beispiel könnte ein Benutzer, der jeden Tag häufig im selben Bereich parkt, angeben, dass die für diesen Parkplatz zu bestimmten Zeiten relevante Benachrichtigung nicht jeden Tag angezeigt werden muss, da der Benutzer mit den Regeln möglicherweise sehr vertraut ist. Es können auch ganze Kategorien von Benachrichtigungen oder bestimmte Teile jeder Benachrichtigung deaktiviert werden.Zum Beispiel könnte ein Benutzer keine Notwendigkeit verspüren, eine Benachrichtigung zu sehen, die als Erinnerung an die Zahlung von Zählergebühren oder anderen Verstößen dient, die ausschließlich aufgrund der Missachtung offensichtlicher oder bekannter Parkvorschriften durch den Benutzer auftreten können. Wenn solche Verstöße auftreten und der Benutzer versucht, sie betreffende Parkverstoß-bezogene Daten beizutragen, kann ein Systemadministrator verhindern, dass diese Daten zu der Datenbank hinzugefügt werden, oder bestimmte Parkverstoßdaten können automatisch ausgeschlossen werden. Dies wäre beispielsweise ein Hinweis für einen abgelaufenen Zähler oder ein Hinweis, der aufgrund der Sperrung einer Einfahrt ausgestellt wurde, obwohl sich diese Regeln je nach Standort unterscheiden können, sind diese Verstöße möglicherweise für einen Benutzer, der über diese Regeln gut informiert ist, nicht relevant. Darüber hinaus kann ein Benutzer eine Benachrichtigung auf bestimmte Zeiten beschränken, beispielsweise wenn er nachts und am Wochenende Parkerinnerungen ausgegeben hat, während er während der Arbeitszeit während der Woche ausgeschaltet ist. Dies ist jedoch ein Beispiel und soll in keiner Weise die zeitliche Anpassung einschränken, die der Benutzer angeben kann, bezüglich der eine Benachrichtigung ausgegeben wird, noch soll es einschränken, welche Informationen in die Datenbank aufgenommen werden.

Da es unterschiedliche Typen von Nutzfahrzeugen gibt, kann das zentrale Rechensystem auch Daten abhängig vom Fahrzeugtyp, Kennzeichentyp und der ausstellenden Stelle des angegebenen Parkverstoßes sortieren und kategorisieren. Informationen können je nach Kennzeichentyp, Fahrzeugtyp und ausstellender Behörde abgeleitet werden. Dieselben Vorschriften können für dieselbe Fahrzeugkategorie oder denselben Typ von Kfz-Kennzeichen gelten, die von einer bestimmten Behörde geregelt werden können. Verschiedene ausstellende Behörden können unterschiedliche Regeln und Vorschriften haben, die nur für die Fahrzeuge gelten, für die sie die Befugnis haben, zu regulieren. Dementsprechend können Verletzungsangabedaten basierend auf dem Fahrzeugtyp und auch dem Fahrzeugschildtyp kategorisiert werden, um einem Benutzer basierend auf dem Benutzertyp eine genaue Benachrichtigung bereitzustellen. Diese Kategorisierung kann sowohl für gewerbliche als auch für nicht gewerbliche Fahrzeuge gelten. Die Strafverfolgungsbehörden können jedoch befugt sein, alle Arten von Fahrzeugen zu regulieren und ihnen allen Parkverstöße anzuzeigen. Dementsprechend kann eine Benachrichtigung für alle Fahrzeugtypen oder alle Typen von Fahrzeugschildern gelten, aber eine Benachrichtigung kann selektiv für verschiedene Fahrzeugtypen gelten. Daten im Zusammenhang mit Parkverstößen können in die gleichen Kategorien einsortiert werden, die für Parkregeln gelten können, wobei jedes Verstoßangabedatum Zeit, Gründe, Ort, Fahrzeugtyp und Typ des Kennzeichens usw. für die empfangenen Parkverstöße enthält, aber nicht darauf beschränkt ist . Da je nach Fahrzeugtyp und Typ des Fahrzeugschilds einige Regeln für einige Fahrzeuge gelten können und für andere nicht, kann eine Benachrichtigung an alle zutreffenden Fahrzeuge gesendet werden. In NYC beispielsweise reguliert die Taxi and Limousine Commission (im Folgenden „TLC“) Nutzfahrzeuge, deren Kennzeichen mit dem Buchstaben „T“ beginnen. TLC-Beamte sind befugt, auf der Grundlage der TLC-Bestimmungen bestimmte Arten von Tickets auszustellen, die nur für TLC-Fahrzeuge gelten, haben jedoch keine Befugnis, andere Nutzfahrzeuge zu regulieren, z.

In verschiedenen Situationen gelten unterschiedliche Benachrichtigungen zu Parkverstößen. Aus der Datenbank kann eine Benachrichtigung generiert werden, die die Verarbeitung und Analyse mehrerer Datensatzkomponenten umfasst: verfügbare historische und zusammengestellte Daten aus Informationsquellen Echtzeit- oder historische Daten als Crowdsourcing aus Benutzereingaben zu Parkverstößen Hilfestellung oder Beratung bei Ticketstreitigkeiten Regeln und Abkürzungen Daten Parkuhrstandorte und Parkuhrgebühren Daten Ticketstreitigkeiten Daten von einem Benutzer und alle zusätzlichen Informationen, wie sie vom Systemadministrator bereitgestellt und/oder überprüft werden, die alle überprüft und/oder überprüft werden können. oder Bewertungen. Daten können in der Datenbank entsprechend ihrer Quelle gekennzeichnet werden. Die beispielhafte Ausführungsform der erfinderischen Offenbarung kann ein Team von professionellen Personen mit relevantem Fachwissen in Bezug auf Parkverstöße und/oder Parkregeln verwenden, um die Richtigkeit der Daten in der Datenbank zu überprüfen. Eine Benachrichtigung kann in Abhängigkeit von den gesammelten Daten und Benutzerbewertungen korrigiert, aktualisiert und ergänzt werden. Unter Verwendung der Benutzerinteraktionstafeln können durch Crowdsourcing bezogene Parkverstoßdaten gesammelt werden, die mindestens eines von mit Parkverstößen verknüpften Standortdaten, Zeitdaten, die mit Zeiten der Parkverstöße verknüpft sind, oder Gründen für das Auftreten von Parkverstößen an einem identifizierten Ort umfassen. Durch die Benutzereinbindungspanels können Bewertungen von mindestens einem Teil der Benachrichtigung oder von Crowdsourcing-Daten zu Parkverstößen von zusätzlichen Benutzern empfangen werden. Auf Grundlage der Bewertungen des Teils der Crowdsourcing-Daten oder der Benachrichtigung, die eine vorbestimmte Anzahl erreicht, kann die Datenbank modifiziert werden, um mindestens einen Teil der Crowdsourcing-Daten zu Parkverstößen einzuschließen, die durch das/die Benutzerinteraktionspanel(s) gesammelt wurden. Als Reaktion darauf, dass der Teil der Benachrichtigung oder der Crowdsourcing-Daten zu Parkverstößen eine vorbestimmte Anzahl positiver Bewertungen erhält, kann eine Belohnung an den zusätzlichen Benutzer ausgegeben werden, der die Crowdsourcing-Daten zu Parkverstößen geteilt hat, wobei die Belohnung monetär sein kann Belohnung oder eine nicht monetäre Belohnung.

Eine Benachrichtigung kann kurz sein und die Gründe dafür angeben, warum ein Benutzer möglicherweise nicht an einem bestimmten Ort parkt, zusammen mit anderen kurzen Informationen, die die historischen Parkverstoßdaten an dem Ort zusammenfassen. Diese Benachrichtigung kann kurz sein, da ein Benutzer diese Benachrichtigung auf seiner Anzeigevorrichtung empfangen kann und entweder bei der Parkplatzsuche fährt oder von der Durchführung anderer Aktivitäten abgelenkt wird. Eine Benachrichtigung, die einen Benutzer alarmiert, kann basierend auf den verschiedenen Kategorien, Fahrzeugtypen und/oder Typen des Fahrzeugschilds erzeugt werden, die auf den Benutzer anwendbar sind, der die Benachrichtigung empfängt. Eine Art von Benachrichtigung kann Informationen über den potenziellen Verstoß enthalten, wie z. B. Datum und Zeitrahmen für den Verstoß, historische Zusammenfassung von Verstößen am aktuellen Standort, Gründe für den Verstoß usw. Die historische Zusammenfassung der Ticketinformationen kann Folgendes enthalten: einen Zeitrahmen ab bestimmten Daten, die in den Daten widergespiegelt werden (z. B. Datum, Monat, Uhrzeit usw.), Gründe für Parkverstöße, geltende Strafen, insgesamt erhobene Strafen, Kategorien von Ticketarten und deren anwendbare Strafen und die Anzahl der innerhalb des Zeitrahmens ausgestellte Tickets, um den Benutzer aufzuklären und als überzeugende Information zu dienen, um den Benutzer über die möglichen Folgen des Parkens an einem bestimmten Ort zu informieren, um zu verhindern, dass der Benutzer eine Gelegenheit zum Parken an dem Ort mit Verstößen nutzt.

Eine andere Art von Benachrichtigung kann erscheinen, wenn das System auf einem Bildschirm eines entfernten Computergeräts eines Benutzers einen Vergleich von Parkregeln anzeigt, die in verschiedenen Gerichtsbarkeiten gelten, zum Beispiel Regeln, die am aktuellen Standort gelten, und Regeln des Staates, der den Fahrerausweis des Benutzers ausgestellt hat Lizenz. Beispielsweise weiß ein Benutzer, dessen Führerschein in Connecticut ausgestellt wurde, möglicherweise nicht, dass das Parken innerhalb von 4,5 m um einen Hydranten in New York nicht erlaubt ist, da die Regel in Connecticut auf 3 m vom Hydranten entfernt festgelegt ist. Unter anderem kann der Benutzer diese Benachrichtigungsinformationen jederzeit anzeigen, indem er eine Schaltfläche auf dem Bildschirm des Computergeräts am Standort drückt, um nach Parkverstößen zu suchen oder nach anderen Parkregeln zu suchen. Ein Benutzer kann die Informationen in der Benachrichtigung bewerten und die Benachrichtigung auch dem Systemadministrator melden, wenn er der Meinung ist, dass ungenaue oder falsche Informationen vorliegen. Auf diese Weise können Doppelbewertungen auftreten (z. B. Bewertungen der parkrelevanten Daten und Bewertungen der Benachrichtigungen basierend auf den parkrelevanten Daten). Es versteht sich, dass solche Doppelbewertungen dem System helfen, sich bei sich ändernden Bedingungen selbst zu korrigieren.

Da das System genaue Geolokalisierungs-GPS-Koordinaten (Längen- und Breitengrad) des Computergeräts des Benutzers aufzeichnet und speichert, kann die an einen Benutzer gesendete Benachrichtigung angepasst und auf den Standort des Benutzers basierend auf einem vorbestimmten Radius lokalisiert werden. Da die Datenbank RRLC von verschiedenen Gemeinden und/oder anderen Behörden speichert und analysiert, können Geolokalisierung und anwendbare RRLC abgeglichen werden, um eine Benachrichtigung gemäß dem Benutzertyp des Benutzers und dem aktuellen Standort oder einem auf Anfrage eines Benutzers angegebenen Standort zu senden. Zum Beispiel kann die Ortskennung den gegenwärtigen Standort des Benutzers verwenden, um den Benutzer in einen bestimmten Satz von Gerichtsbarkeiten einzuordnen. Diese Funktion kann für einen Benutzer nützlich sein, der über Staats- oder Ländergrenzen hinweg fährt und mit dem RRLC aus verschiedenen Staaten oder Ländern nicht vertraut ist. Die Datenbank kann die Führerscheininformationen des Benutzers enthalten, da der Benutzer die Informationen des Führerscheins bei dem Staat oder Land, das den Führerschein ausgestellt hat, beim Registrieren eines Profils eingeben und speichern kann. Unter Verwendung des Ortes, von dem der Führerschein des Benutzers ausgestellt wurde, mit den aktuellen Geolokalisierungsdaten eines Benutzers kann das zentrale Computersystem eine Benachrichtigung für unterschiedliche Regeln oder eine Zusammenfassung unterschiedlicher Parkregeln an den Benutzer entsprechend der Geolokalisierung senden, wenn sie sich ändert. Der Benutzer kann eine Taste auf dem Display des Computergeräts drücken, um die Zusammenfassung der verschiedenen Parkregeln anzuzeigen, wenn er den Standort, der den Führerschein des Benutzers ausgestellt hat, mit dem aktuellen Standort des Benutzers vergleicht. Die erfinderische Offenbarung könnte nicht nur innerhalb der verschiedenen Staaten der Vereinigten Staaten anwendbar sein, sondern kann auch zwischen verschiedenen Ländern weltweit anwendbar sein.

Da eine Benachrichtigung kurz ist und den Benutzer mit schnellen, zusammengefassten Informationen über den potenziellen Parkverstoß warnen soll, kann der Benutzer das Benutzerinteraktionsfenster, einschließlich, aber nicht beschränkt auf ein Forumsmodul, verwenden, um umfassendere und detailliertere Informationen aus Beiträgen zu erhalten, die umfassen, sind aber nicht beschränkt auf Anfragen, Antworten, Diskussionen, Bilder, Videos, schriftliche Beschreibungen und alle anderen Informationen, die möglicherweise veröffentlicht werden. Die an das User-Engagement-Panel übermittelten Informationen unterliegen Bewertungen von weiteren Benutzern. Die zusätzlichen Benutzer können Feedback, Vorschläge, negative Bewertungen, positive Bewertungen usw. abgeben. Sobald die übermittelten Informationen eine vorbestimmte Anzahl positiver Bewertungen erreichen, können diese Informationen verwendet werden, um die Datenbank entsprechend zu korrigieren, zu aktualisieren und zu ergänzen. Die übermittelten Informationen werden in eine neue (z. B. eine zweite) Benachrichtigung umgewandelt, die an einen Benutzer ausgegeben wird. Diese neue Benachrichtigung oder neue Crowdsourcing-Daten zu Parkverstößen unterliegen dann weiteren Bewertungen durch zusätzliche Benutzer, die Erfahrungen aus erster Hand haben.

Ein Benutzer, der Erfahrungen aus erster Hand hat, wird als ein Benutzer identifiziert, der eine Benachrichtigung mit Parkverstoß-bezogenen Daten über einen bestimmten Ort erhalten hat, einschließlich wenn der Benutzer innerhalb einer vorbestimmten Entfernung oder innerhalb eines vorbestimmten Abstands oder Radius von diesem bestimmten Ort vorbeikommt. Dieser Radius kann standardmäßig eingestellt oder vom Benutzer durch die Einstellungen voreingestellt werden. Um die Erfahrung aus erster Hand zu identifizieren, kann das zentrale Computersystem mit dem Internet und einer Computervorrichtung verbunden sein, die in der Lage ist, den geografischen Standort eines Benutzers zu bestimmen (dh über einen GPS-Empfänger usw.) und den identifizierten Standort des Benutzers an das zentrale Rechensystem. Das System kann unter Verwendung eines GPS-Empfängers den Standort und die Zeit der zusätzlichen Benutzer verfolgen und diese Standortdaten und Zeitdaten in der Datenbank speichern, um den verfolgten Standort und die Zeit der zusätzlichen Benutzer zu identifizieren. Als Reaktion auf den Erhalt der Bewertungen von den zusätzlichen Benutzern können die gespeicherten Orts- und Zeitdaten, die mit den zusätzlichen Benutzern verbunden sind, abgerufen werden, um zu bestimmen, ob der/die zusätzliche(n) Benutzer auf der Grundlage der abgerufenen Standort- und Zeitdaten Erfahrungen aus erster Hand haben (haben). . Sobald die Benachrichtigungs- oder Crowdsourcing-Daten zu Parkverstößen eine vorbestimmte Anzahl positiver Bewertungen erreichen, kann der Benutzer, der die anfänglichen Informationen übermittelt hat, die später in eine Benachrichtigung umgewandelt werden können, eine monetäre oder nicht monetäre Belohnung für den wertvollen Beitrag erhalten. Wohingegen die Benachrichtigung, die eine vorbestimmte Anzahl negativer Bewertungen erreicht, die Datenbank dann korrigieren, aktualisieren, ergänzen oder anderweitig modifizieren kann.

Während gemeldete Ticketdaten verwendet werden, um den in einer Benachrichtigung erscheinenden Inhalt zu generieren oder zu aktualisieren, können alle Informationen, die beim Ticket-Sharing bereitgestellt werden, an das Ticket-Sharing-Benutzer-Engagement-Panel (z. B. Fotos, Videos usw.) gehen. Eine Benachrichtigung kann angezeigt werden, wenn sich der Benutzer dem spezifischen Ort nähert, an dem der Benutzer möglicherweise einen Hinweis auf einen Parkverstoß erhält. Von einem Benutzer im Benutzerinteraktionsfeld bereitgestellte Informationen können in einer Benachrichtigung bereitgestellte Informationen korrigieren, aktualisieren und ergänzen. Die Kombination aus dem Empfangen einer Benachrichtigung und dem Zugreifen auf ein Benutzerinteraktionsfenster kann für einen Benutzer nützlichere und umfassendere Informationen liefern, da eine Benachrichtigung schnelle, zeitkritische Informationen liefert, während das Benutzerinteraktionsfenster die detaillierten, ausführlichen Informationen bereitstellt, die nützlich sind, um eine vollständige Kenntnis der Situation zu erlangen .

Das Benutzerinteraktionspanel kann zwei Aspekte beinhalten: es kann mit dem spezifischen Ort von Verstößen auf der elektronischen Karte oder einem allgemeinen Benutzerinteraktionspanel verbunden sein, in dem ein Benutzer allgemeine Ideen diskutieren kann, die sich nicht auf bestimmte Orte beziehen. Der Benutzer kann auf einen Ort im Zusammenhang mit Parkverstößen innerhalb der Kartenanzeige drücken, um "Panel" auszuwählen, um auf das User-Engagement-Panel zuzugreifen, das verschiedene Kategorien umfassen kann, in denen Informationen zwischen Benutzern ausgetauscht werden können, z. B. Tickets, die Fragen oder Antworten teilen oder Kommentare zu Parkschildern und/oder anderen Kategorien, die nicht in den obigen Ausführungen enthalten sind, falls vorhanden usw. Der Inhalt, der automatisch im Benutzerinteraktionsfeld bereitgestellt wird, basiert auf dem aktuellen Standort des Benutzers. Die Kategorie der gemeinsamen Nutzung von Tickets kann es einem Benutzer ermöglichen, umfassende, detaillierte Informationen zu Parkverstößen für einen bestimmten Ort anzuzeigen, einschließlich, aber nicht beschränkt auf eine Kopie des Tickets ohne sensible Informationen, Gründe für den Verstoßzeitpunkt des Verstoßes und einen Hinweis zur Vermeidung des Verstoßes. usw. Die Kategorie Fragen oder Antworten oder Kommentare kann es einem Benutzer ermöglichen, Fragen zu stellen, beliebige Antworten einzugeben und Kommentare in Bezug auf Parkverstöße für den Standort einzugeben, zusätzlich zum Anzeigen all dieser von anderen Benutzern beigesteuerten Informationen. Die Kategorie der Parkschilder kann es einem Benutzer ermöglichen, Informationen bezüglich Parkschildern auszutauschen, wie beispielsweise eine Neugestaltung eines Parkschilds bezüglich oder eine Übersetzung in eine andere Sprache oder eine Klarstellung des Inhalts. Andere Kategorien, die oben nicht enthalten sind, können nach Ermessen des Systemadministrators hinzugefügt oder gelöscht werden. Wenn ein Benutzer eine Anfrage bezüglich Parkverstoß betreffender Informationen für einen Standort hat, kann die Anwendung dem Benutzer ermöglichen, unter Verwendung des Benutzerinteraktionsfelds zu posten, um weitere Informationen zu erhalten. Die Benutzereingabeinformationen können für Kommentare und/oder Bewertungen von anderen Benutzern offen sein. Kommentare mit den positivsten Bewertungen können für die Position des Kommentars in einer Liste priorisiert werden. Wenn die positiven Bewertungen eine vorbestimmte Zahl erreichen, kann der Benutzer eine Belohnung erhalten. Das Benutzerinteraktionspanel kann anderen Benutzern ermöglichen, verschiedene Kommentare abzugeben, die Informationen darüber enthalten, ob eine Streitigkeit auf Grundlage der bereitgestellten Umstände des Benutzers, der das Parkticket erhalten hat, erfolgreich sein kann, aber nicht darauf beschränkt ist.

Ein Benutzer kann das Benutzerinteraktionsfeld verwenden, um ein Bild eines Parkplatzes oder einer Straßenbeschilderung an einem bestimmten Ort zu posten und nach der einfachen Sprache des Schilds zu fragen. Autofahrer haben oft Schwierigkeiten, Parkschilder zu verstehen, insbesondere wenn es mehrere Schilder für unterschiedliche Parkregeln gibt. Darüber hinaus verfügen viele Autofahrer möglicherweise nicht über ausreichende Englischkenntnisse, was zu weiteren Schwierigkeiten bei der Interpretation der Schilder führt. Daher kann das Benutzereingriffsfeld Informationen über die einem bestimmten Ort zugeordneten Parkschilder bereitstellen und diese Parkschilder nicht nur in eine andere Sprache, sondern auch in leicht verständliche, einfache englische Begriffe übersetzen. Da einige Parkschilder verwirrend sind, kann ein Benutzer daran teilnehmen, sie umzugestalten, um neue Designs zu erstellen. Ein Benutzer kann Neudesigns erstellen oder traditionelle Parkschilder in verschiedene Sprachen übersetzen, um sie verständlicher zu machen. Ihre Designbilder können einem Bewertungssystem unterliegen, und das Top-Design, das nach einer bestimmten Zeit die positivsten Bewertungen über eine bestimmte Anzahl generiert, kann belohnt werden. Das am besten bewertete Design kann an der Spitze der Liste bleiben, damit andere Benutzer die Bedeutung der Zeichen sehen und leicht verstehen können.

Dem Benutzer kann gestattet werden, eine allgemeine Suche nach Verstößen an der spezifischen Stelle innerhalb des Benutzerinteraktionsfelds durchzuführen und kann ferner basierend auf dem Fahrzeugtyp oder dem Typ des Fahrzeugschilds suchen. Wenn die Suche nicht zu einer für den Benutzer zufriedenstellenden Antwort führt, hat der Benutzer möglicherweise die Möglichkeit, seine eigenen Anfragen im Benutzerinteraktionsfeld zu veröffentlichen, das mit dem bestimmten Standort verbunden ist. Indem Benutzer durch das Teilen zumindest ihrer eigenen Erfahrungen im Zusammenhang mit Parkverstößen aufgeklärt werden, können andere Benutzer sich ihrer Parkaktionen bewusster sein, was dazu beitragen kann, den Erhalt von Tickets zu vermeiden und/oder die Verstöße gegen Parktickets insgesamt zu reduzieren. Alle Funktionen der Anwendung, wie beispielsweise eine Benachrichtigung und das User Engagement Panel, können in verschiedenen Sprachen verfügbar sein, die vom Benutzer geändert werden können. Eine beispielhafte Ausführungsform der erfinderischen Offenbarung kann einen Dienst und/oder eine API eines Drittanbieters verwenden, beispielsweise GOOGLE TRANSLATE, bei dem es sich um einen Sprachübersetzungsdienst von Google, einer Tochtergesellschaft von Alphabet Inc., handelt, oder der Systemadministrator kann Fachleute mit . einstellen Expertise bei Parkverstößen und auch kompetente Übersetzer, die den Inhalt in verschiedene Sprachen übersetzen oder Erklärungen in einfachem Englisch geben. Ein Benutzer kann auch Informationen übersetzen, die positiven und negativen Bewertungen unterliegen können.

Eine beispielhafte Ausführungsform der erfinderischen Offenbarung der Anwendung kann auch eine Verbindung zu einer elektronischen Karte eines Drittanbieters herstellen, beispielsweise GOOGLE MAPS, bei dem es sich um einen elektronischen Kartendienst von Google, einer Tochtergesellschaft von Alphabet Inc. usw Street View-Funktion im User-Engagement-Panel für bestimmte Orte mit Ticketvorkommen. Andere Medien, beispielsweise Fotos, Videos usw. für den Standort können auch von einem Benutzer oder Mitarbeiter des Systems bereitgestellt werden. Dies ist besonders nützlich für Orte mit einer vorbestimmten Anzahl von Verstößen, an denen mehr Informationen bereitgestellt werden sollten, oder für Orte, an denen ein Benutzer möglicherweise nicht vertraut ist. Die Privatsphäre des Benutzers oder die Privatsphäre der Öffentlichkeit kann beim Hochladen von Fotos, Videos usw. geschützt werden.

Bei Verstößen kann eine Benachrichtigung mit zeitlicher Beschränkung erfolgen.Zeitbeschränkungen können ein Zeitrahmen sein, in dem das Parken an einem bestimmten Ort nicht erlaubt ist, der verwendet werden kann, um gegebenenfalls eine zeitkritische Benachrichtigung zu erstellen. Die Daten können einen genauen Zeitrahmen für diese Verstöße widerspiegeln, anstatt jedes Mal als eigenen spezifischen Fall eines Verstoßes zu verfolgen, und können einen Benutzer über den gesamten Zeitrahmen benachrichtigen, wenn das Parken verboten ist, und nicht nur über einen bestimmten Zeitpunkt, wie auf der Seite angegeben Fahrkarte. Wenn Daten im Zusammenhang mit Parkverstößen als zeitkritisch identifiziert werden, unabhängig davon, ob sie über ein Benutzerinteraktionspanel übermittelt oder aus einer anderen Quelle gesammelt wurden, kann der Systemadministrator nach eigenem Ermessen diese zeitkritischen Daten sofort in eine Benachrichtigung aufnehmen, da es möglicherweise die Notwendigkeit besteht, einen Benutzer so schnell wie möglich zu benachrichtigen, z. B. im Falle einer vorübergehenden Benachrichtigung oder einer Abschleppzone, und weil einige Informationen bezüglich eines zeitkritischen Verbots möglicherweise keiner Information vorzuziehen sind. In diesem Szenario müssen die zeitkritischen Daten möglicherweise keine vorbestimmte Anzahl von positiven Bewertungen erreichen, bevor sie in eine Benachrichtigung aufgenommen werden. Wenn eine Benachrichtigung mit zeitkritischen Parkverstoß-bezogenen Daten eine vorbestimmte Anzahl von negativen Bewertungen erreicht, können diese zeitkritischen Daten aus der Datenbank entfernt werden.

Zeitrahmendaten können auf verschiedene Situationen anwendbar sein: zum Beispiel „No Standing Anytime“, wo der Zeitrahmen 24 Stunden angeben müsste, sodass jeder Benutzer, dessen Geolokalisierungsdaten einen Standort anzeigen, der sich in einer No Standing Anytime-Zone befindet, eine Benachrichtigung erhalten kann jederzeit. Zeitrahmendaten können auch für das Parken auf alternativer Seite gelten, für Straßen, in denen das Parken zu bestimmten Zeiten aufgrund von staatlichen Straßenreinigungsdiensten nicht gestattet ist, was beispielsweise normalerweise für eine halbe Stunde gilt (z. B. 9:00 bis 9:30 Uhr). oder vorübergehende Abschleppzonen-Hinweise, die beispielsweise in der Regel für einen Tag oder einige Tage gelten. Die Datenbank kann sich mit der Computervorrichtung verbinden, um eine automatische Benachrichtigung zu senden, die den Benutzer daran erinnert, ein Fahrzeug aufgrund von Straßenreinigungsregeln zu bewegen.

Obwohl staatliche Websites möglicherweise Informationen zu Standorten und den geltenden Regeln für Parkschilder bereitstellen, sind die Daten möglicherweise nicht vollständig oder nicht verfügbar. Daher ermöglicht das Benutzereingriffsfeld das Melden von Parkzeicheninformationen durch den Benutzer, die verwendet werden können, um eine Benachrichtigung zu erzeugen. Das Benutzerinteraktionsfeld kann einem Benutzer auch ermöglichen, Parkbeschränkungsbedingungen zu aktualisieren, um beispielsweise anzuzeigen, dass die Bedingung vorübergehend oder dauerhaft geändert wurde usw. Die Regierungs- oder Strafverfolgungsbehörde, wie etwa die Polizei, kann Informationen auf ihren Websites veröffentlichen oder einen vorübergehenden Hinweis auf der Straße bezüglich eines vorübergehenden Hinweises auf „Parkverbot“-Bereiche in bestimmten Straßen für eine bestimmte Zeit anbringen. Vorübergehende Hinweise beinhalten auch Parkverbotshinweise aufgrund einiger besonderer Ereignisse, z. B. Versammlungen, Straßenreparaturen, Filmproduktionen usw. Die Leute kennen diese Hinweise jedoch möglicherweise nicht oder sehen sie nicht unbedingt auf dem Parkplatzschild oder die Hinweise können nicht ohne weiteres angezeigt werden ersichtlich sein, wenn ein Benutzer sein Fahrzeug parkt, kann der Benutzer aus diesen Gründen von der Verarbeitungsvorrichtung über alle anwendbaren vorübergehenden Benachrichtigungen informiert werden. Wenn ein Benutzer die Informationen entdeckt, kann der Benutzer die Mitteilung an das Benutzerinteraktionsfeld melden und ein Bild der Mitteilung hochladen, wodurch die Datenbank die angegebene Parkregel auf die gesamte Straße anwenden kann. Infolgedessen hat ein Benutzer, der sein Fahrzeug während der geltenden Zeit- und/oder Entfernungsbeschränkungen auf der entsprechenden Straße geparkt hat oder in den Einstellungen angegeben hat, dass er eine Benachrichtigung zu vorübergehenden Hinweisen auf der Straße kann eine Benachrichtigung erhalten. Das zentrale Computersystem kann verhindern, dass dieser Benutzer möglicherweise ein Ticket erhält oder abgeschleppt wird, da die Benachrichtigung den Benutzer vor der vorübergehenden Benachrichtigung warnen kann. Dieses Meldeverfahren kann auch auf andere Situationen angewendet werden, in denen ein RRLC aktualisiert werden kann, wenn die Datenbank es nicht selbst erkennt. Ein Benutzer kann alle relevanten Informationen über verschiedene Medien übermitteln und hochladen, einschließlich, aber nicht beschränkt auf: Fotos oder Bilder von Kameras, Sensoren, Videos, handgezeichnete Bilder, schriftliche Beschreibungen und andere Medien, um die Situation für den Standort durch describe genau zu beschreiben das User-Engagement-Panel. Um einen Benutzer zu ermutigen, die Entdeckung von Änderungen in RRLC zu melden, kann ein Benutzer Belohnungen verdienen. Der Systemadministrator kann auch Mitarbeiter oder Fremdfirmen beauftragen, die vorübergehenden Benachrichtigungen zu melden, damit eine Benachrichtigung an den Benutzer gesendet werden kann.

Es kann eine Gelegenheit geben, bei der die Verarbeitungsvorrichtung eine Parkverletzung durch direktes Korrelieren des Benutzertyps mit dem gegenwärtigen Standort und der gegenwärtigen Zeit beim Durchsuchen der Datenbank nach Daten bezüglich der Parkverletzung finden kann. Ein direkter Zusammenhang kann in einem solchen Fall vorliegen, in dem am aktuellen Ort zum aktuellen Zeitpunkt ein Parkverbotsverstoß ausgestellt wurde, der aufgrund eines Parkverbots in Bezug auf denselben Benutzertyp und auch auf dieselbe Art von Fahrzeug oder Typ des Fahrzeugschildes. Ein direkter Zusammenhang kann beispielsweise bestehen, wenn ein nicht gewerblicher Fahrzeugnutzer an einem Dienstag um 17:15 Uhr eine Benachrichtigung erhält, die vor dem Parken am Standort X warnt, weil Daten in der Datenbank vorhanden sind, die der Situation entsprechen: ein nicht gewerblicher Fahrzeug, das an einem vorherigen Dienstag um 17:15 Uhr eine Parkverstoßanzeige für das Parken am Standort X erhalten hat. Zumindest diese drei Punkte – Fahrzeugtyp, Standort und aktuelle Zeit – korrelieren direkt. Auf ein mögliches Parkverbot muss in diesem Fall nicht geschlossen werden, da ein exakter Datenpunkt vorliegt, der die Grundlage für die Meldung bildet.

Der Prozessor oder die Verarbeitungsvorrichtung kann Anweisungen ausführen, um ein Parkverbot basierend auf dem Standort abzuleiten, um einen Benutzer vor dem potentiellen Risiko des Erhaltens eines Parkverstoß-Zitats an dem beabsichtigten Parkplatz des Benutzers zu warnen. Die Verarbeitungsvorrichtung kann Daten zu Parkverstößen analysieren, die in der Datenbank für die umliegenden Orte verfügbar sind, und diese Daten mit RRLC vergleichen. Wenn der beabsichtigte Parkort des Benutzers zwischen mindestens zwei Orten mit einer Aufzeichnung von zuvor aufgetretenen Parkverstoß-Zitaten liegt, die für den Benutzertyp des Benutzers gelten, kann die Verarbeitungsvorrichtung folgern, dass der Benutzer einen Parkverstoß-Zitat an diesem beabsichtigten Parkplatz empfangen kann Lage. Parkverstoßbezogene Daten können auch analysiert werden, um einen potentiellen Parkverstoß, der auf den Benutzer anwendbar ist, durch Schlussfolgerung vorherzusagen. Die Schlussfolgerung kann auf mindestens einem von mindestens einem relevanten Parkort, mindestens einer relevanten Parkzeit, mindestens einem relevanten Parkplatz entsprechend mindestens einem vorbestimmten Zeitrahmen basieren, wobei die identifizierte Zeit innerhalb des vorbestimmten Zeitrahmens liegt, und/oder mindestens zwei zuvor für mindestens zwei Parkstellen ausgegebene Parkverstoßhinweise zur Verletzung eines Parkverbots, wobei sich der identifizierte Ort zwischen den mindestens zwei Parkplätzen befindet, die einen vorbestimmten Abstand voneinander haben, wobei die mindestens zwei Parken Orte einer relevanten Parkzeit entsprechen und wobei jeder der mindestens zwei Parkorte mit einer gleichen Art von Parkverstoß-Zitat verknüpft ist. Um eine Schlussfolgerung richtig zu ziehen, kann jede der zwei zuvor aufgetretenen Parkverstoß-Zitate auf denselben Gründen oder derselben Art von Verbot oder Verstoß basieren, und dieser Grund kann der Schlussfolgerung entsprechen. Diese Gründe können der Grund für das gleiche Parkverstoß-Zitat sein, z. B. das Parken in einer Parkverbotszone. Eine Schlussfolgerung kann nicht genau gezogen werden, wenn ein Parkverstoß-Zitat für eine abgelaufene Parkuhrgebühr gilt, während die anderen Parkverstöße für das Parken in einer Ladezone gelten.

Darüber hinaus können einige Parkverstoß-Zitate nicht die Grundlage für eine Schlussfolgerung sein, wie beispielsweise ein Parkverstoß-Zitat, das aufgrund eines abgelaufenen Zählers ausgegeben wird. Die Entfernung zwischen Standorten, zwischen denen der vorgesehene Parkplatz liegt, kann von verschiedenen Faktoren abhängen. Ein Faktor, der sich auf die Entfernung zwischen diesen beiden Orten auswirken kann, kann die Anwendung von RRLC sein. Zum Beispiel kann die Entfernung kürzer sein, wenn diese Entfernung auf einer Parkregel für Hydranten basiert. Wenn beispielsweise auf jeder Seite eines Hydranten ein Parkverbot von 4,5 Fuß bestand, dürfen die Parkverstöße nur innerhalb von 30 Fuß liegen. In einem anderen Beispiel gibt es ein Parkverbot in Bezug auf das Parken auf einer Straße, die neben einem Militärstützpunkt verläuft. Der Abstand zwischen zwei Standorten kann wegen des Ausmaßes des Parkverbots größer sein. In diesem Beispiel kann eine standortbasierte Schlussfolgerung gezogen werden, wobei der Abstand zwischen den beiden Standorten aufgrund eines RRLC größeren Maßstabs größer sein kann. Das zentrale Computersystem kann diesen Abstand basierend auf dem anwendbaren RRLC vorbestimmen. Außerdem kann die Entfernung basierend auf dem Standort vorbestimmt werden, wobei die Entfernung in einer dichteren Stadt mit höheren Fällen von Parkverstößen kleiner sein kann als die eines ländlichen Gebiets mit geringen Fällen von Parkverstößen. Der vorbestimmte Abstand zwischen Orten kann sich auf derselben Straßenseite in einem Stadtblock befinden, oder er kann ein kürzerer vorbestimmter Abstand zwischen Orten sein. Zum Beispiel enthält die Datenbank eine Aufzeichnung eines Parkverstoßes, der von einem Fahrzeug am Standort A empfangen wurde, wobei die Adresse 130 31st Avenue ist. Die Datenbank enthält auch eine Aufzeichnung eines Parkverstoßes, der von demselben oder einem anderen Fahrzeug empfangen wurde, das am Standort C geparkt ist, die Adresse lautet 134 31st Avenue. Die Verarbeitungsvorrichtung kann diese Parkverstoß-Zitate analysieren, um zu folgern, dass das gleiche oder ein anderes Fahrzeug, das am Standort B mit der Adresse 132 31st Avenue geparkt ist, ein Parkverstoß-Zitat empfangen kann. In diesem Beispiel bezieht sich die vorgegebene Entfernung auf drei Adressen entlang derselben Seite der 31st Avenue: 130, 132 und 134.

Der Prozessor oder die Verarbeitungsvorrichtung kann Anweisungen ausführen, um ein Parkverbot basierend auf der Zeit abzuleiten, um einen Benutzer vor dem potentiellen Risiko des Erhaltens eines Parkverstoß-Zitats am beabsichtigten Parkort des Benutzers zum gegenwärtigen Zeitpunkt zu warnen. Somit kann die Verarbeitungsvorrichtung Parkverstoß-bezogene Daten analysieren, die in der Datenbank für den beabsichtigten Parkplatz des Benutzers verfügbar sind und die einen Zeitstempel in der Nähe der aktuellen Zeit tragen. Wenn die gegenwärtige Zeit mit mindestens einem Parkverstoß-Zitat innerhalb eines vorbestimmten Zeitrahmens verknüpft ist, kann die Verarbeitungsvorrichtung folgern, dass der Benutzer zum gegenwärtigen Zeitpunkt ein Parkverstoß-Zitat an diesem beabsichtigten Parkort empfangen kann. Der vorbestimmte Zeitrahmen kann basierend auf anwendbarem RRLC vorbestimmt sein, oder der vorbestimmte Zeitrahmen kann ein Zeitrahmen sein, der ein Zeitrahmen basierend auf dem Zeitpunkt der Ausstellung einer Parkverstoß-Zitat ist. Dieser Zeitrahmen kann auch ein Zeitrahmen wie beispielsweise eine, zwei oder drei Stunden sein, oder ein größerer Zeitrahmen wie beispielsweise zehn Stunden oder eine andere Dauer, abhängig von relevanten Faktoren, wie beispielsweise ein Straßenkehrverbot, das für eine Stunde gilt und ein halbes Ein weiteres Parkverbot kann das Parkverbot zwischen 9 und 17 Uhr sein, wobei der Zeitrahmen acht (8) Stunden betragen kann. Zum Beispiel enthält die Datenbank eine Aufzeichnung eines Parkverstoßes, der von einem um 9:13 Uhr am Standort A geparkten Fahrzeug empfangen wurde, wobei das bekannte RRLC ein Parkverbot aufgrund von Straßenkehren ist, das von 9:00 Uhr bis 10:30 Uhr gilt bin. Der Zeitrahmen in diesem Szenario kann basierend auf der Dauer des Straßenkehrverbots auf anderthalb Stunden vorbestimmt sein. Die Verarbeitungsvorrichtung kann das Parkverstoß-Zitat analysieren, um zu folgern, dass das gleiche oder ein anderes Fahrzeug, das am Standort A geparkt ist, ein Parkverstoß-Zitat empfangen kann, wenn ein Benutzer um 9:51 Uhr parkt, weil 9:51 Uhr innerhalb des vorbestimmten Zeitrahmens liegt. In einem anderen Szenario enthält die Datenbank eine Aufzeichnung eines Parkverstoßes am Standort „H“ um 19:15 Uhr. Eine Benachrichtigung kann einem Benutzer ausgestellt werden, der beabsichtigt, um 19:21 Uhr am Standort „H“ zu parken. Diese Benachrichtigung kann ausgegeben werden, weil 7:21 Uhr in denselben halben Stundenrahmen fällt wie der Hinweis auf einen Parkverstoß.

Der Prozessor oder die Verarbeitungsvorrichtung kann auch Anweisungen ausführen, um basierend auf der Zeit auf ein Parkverbot zu schließen, indem ähnliche Zeiten an verschiedenen Wochentagen analysiert werden. Wenn die Zeiten jeden Tag zur gleichen Zeit oder zur gleichen Zeit am gleichen Tag sind, kann die Verarbeitungsvorrichtung folgern, dass zu dieser Zeit an diesem Tag oder zu dieser Zeit jeden Tag ein Parkverbot vorliegen kann. Beispiel: Ein Fahrzeug am Standort B erhält am Dienstag um 9.30 Uhr einen Hinweis auf einen Parkverstoß. Das gleiche oder ein anderes Fahrzeug am Standort B erhält am Mittwoch um 9.30 Uhr einen Parkverstoß. Das gleiche oder ein anderes Fahrzeug am Standort B erhält am Donnerstag um 9.30 Uhr einen Parkverstoß. Die Verarbeitungsvorrichtung kann diese Parkverstoß-Zitate analysieren, um zu folgern, dass das gleiche oder ein anderes Fahrzeug, das an einem Freitag um 9.30 Uhr am Standort B geparkt ist, höchstwahrscheinlich ein Parkverstoß-Zitat erhalten. In einem anderen Beispiel erhält ein Fahrzeug am Standort „C“ um 9.30 Uhr am Dienstag, dem 1. September, einen Hinweis auf einen Parkverstoß. Das gleiche oder ein anderes Fahrzeug am Standort „C“ erhält am Dienstag, den 8. September um 9.30 Uhr einen Parkverstoß. Die Verarbeitungsvorrichtung kann diese Parkverstoß-Zitate analysieren, um zu folgern, dass das gleiche oder ein anderes Fahrzeug, das am Dienstag, den 15. September um 9.30 Uhr am Standort "C" geparkt ist, ein Parkverstoß-Zitat empfangen kann. Ein Durchschnittsfachmann wird erkennen, dass eine auf einer Schlussfolgerung basierende Benachrichtigung möglicherweise nicht vollständig genau ist, wie durch das Wort „inferieren“ impliziert. Es versteht sich jedoch auch, dass eine Benachrichtigung korrigiert, aktualisiert und durch Bewertungen von Benutzern ergänzt werden kann. Eine Benachrichtigung, die Informationen über eine Schlussfolgerung enthält, ist für einen Benutzer wertvoll, da sie an einen Benutzer gesendet werden kann, auch wenn möglicherweise kein großer Informationsspeicher auf diese Weise verfügbar ist Verstöße gegen das Parken.

Ein Benutzer kann eine Parkverstoß-Zitatbenachrichtigung von dem System empfangen. Der Benutzer, der aus erster Hand Erfahrung mit der Benachrichtigung für diesen Standort hat, kann diese Benachrichtigung dann basierend auf den Schlussfolgerungen bewerten. Die positiven Bewertungen werden verwendet, um zu überprüfen, ob der abgeleitete Verstoß korrekt ist. Wenn die abgeleitete Verletzung eine bestimmte Anzahl von positiven Bewertungen erreicht, die vorbestimmt werden können, bestätigt die Verarbeitungsvorrichtung die Gültigkeit der abgeleiteten Verletzung. Die abgeleitete Verletzung kann dann zu einer direkten Korrelationsverletzung werden und muss möglicherweise nicht mehr von der Vorrichtung abgeleitet werden, da es sich um eine dauerhafte Benachrichtigung handeln kann, bis verifizierte widersprüchliche Informationen das Gegenteil beweisen, wenn abgeleitete potenzielle Parkverstöße eine vorbestimmte Anzahl negativer Benutzerbewertungen erreichen , kann die den Schluss enthaltende Mitteilung zurückgezogen werden. Dies kann auch passieren, wenn ein Hinweis auf einen Parkverstoß vorliegt, der an einem Ort ausgestellt wird, an dem ein abgeleiteter potenzieller Verstoß vorliegt. Wenn beispielsweise eine Schlussfolgerung zu einem bestimmten Zeitpunkt durch ein Zitat bewiesen wird, können diese Informationen bezüglich der abgeleiteten potentiellen Verletzung geändert werden, um eine direkte Anwendung von Datenbankdaten widerzuspiegeln.

Da die Verletzungscodes je nach der Agentur, die Tickets ausstellt und Ticketstrafen einzieht, unterschiedlich sein können, können die in die Datenbank eingegebenen Verletzungscode-Daten Verletzungscodes von verschiedenen Agenturen und/oder gesetzliche Codes enthalten, wie sie in Gesetzen erscheinen. In New York City kann beispielsweise auf einem Parkticket der Verstoßcode des Finanzministeriums als „14“ angegeben sein, was „Allgemeines Stehverbot: Stehen oder Parken, wo das Stehen durch Schilder, Straßenmarkierungen oder Verkehrskontrollgeräte nicht erlaubt ist“, bedeutet. und geben Sie an: "Verstoß gegen die Verkehrsregeln von NYC, Abschnitt: 4-08(c) No Standing." Dementsprechend können verfügbare Parkregeldaten, zum Beispiel Kapitel 4, Abschnitt 4-08 von Titel 34 der Regeln von NYC, und auch Verstoßcodedaten des Finanzministeriums in die Datenbank eingegeben werden. Das zentrale Computersystem kann diese Verletzungscodes mit den passenden Abschnittscodes und ihren jeweiligen Bedeutungen, die in der Datenbank gespeichert sind, verwenden, um den Zeitrahmen und den Entfernungsrahmen abzuleiten, für den die No-Standing-Regel gilt, da No-Standing normalerweise für 24 Stunden gilt und kann sich über einen ganzen Straßenblock erstrecken. Wenn ein Benutzer nicht durch Meldung teilnimmt, kann der Systemadministrator einen Mitarbeiter einstellen, um den Standort physisch zu inspizieren und den Entfernungsrahmen zu überprüfen. Die Verarbeitungsvorrichtung kann diese Informationen verwenden, um den Benutzer basierend auf der Entfernung oder dem Zeitrahmen des Fahrzeugs genau zu warnen. Obwohl Schlussfolgerungen möglicherweise nicht immer zu 100 Prozent genau sind, da es manchmal Ausnahmen von den Regeln auf einer bestimmten Straße zwischen zwei ähnlichen Orten gibt, ist die Kombination aus der Kenntnis der Codes, die den Grund für den Erhalt eines Tickets zugrunde liegen, und der Tatsache, einen Benutzer zu haben, die Kombination Bewerten Sie die Benachrichtigung und die Informationen ermöglichen es, dieser potenziellen Ungenauigkeit Rechnung zu tragen. Das Zurückbinden einer Benachrichtigung an ein Benutzerinteraktionsfeld kann die Effizienz und Genauigkeit erhöhen, sodass die Benachrichtigung auch korrigiert, aktualisiert und ergänzt werden kann.

Das System kann den Benutzer warnen, wenn der Benutzer in oder in der Nähe eines Abschleppzonenbereichs parkt, der nur Privatparkplätze, nur Genehmigungen, vorübergehende Straßenreparaturen, Zugang für Notdienste und nicht sperrbare Zufahrten umfasst. Andere Situationen können Behindertenparkplätze, reservierte Parkplätze, nur Parkscheine und alle anderen für Sonderzwecke ausgewiesenen Parkplätze umfassen, wobei Sonderparkplätze von einem oder mehreren Benutzern, interessierten Personen, privaten Einrichtungen und dem Systemadministrator gemeldet werden können, der möglicherweise auch solche Informationen aus Informationsquellen sammeln. „Kein Parkplatz“, „Abschleppzone“, „24 Stunden aktive Auffahrt“ usw. werden normalerweise mit Linien, Schildern und/oder Wörtern angezeigt, die beispielsweise „Abschleppzone“ oder „Nur private Parkplätze“ angeben. Informationen über die Abschleppzone können einen Zeitrahmen umfassen, in dem das Parken an einem identifizierten Ort des Benutzers und des Fahrzeugs des Benutzers illegal ist, die Entfernung zu oder von der Abschleppzone, in der das Parken illegal ist, und Informationen über private und öffentliche Abschleppzonen, zusammen mit relevanten Informationen über Abschleppunternehmen und Kosten und Strafen im Zusammenhang mit dem Abschleppen des Fahrzeugs des Benutzers.

Personen, die befugt sind, solche abschlepppflichtigen Parkplätze zu verwalten, können Abschleppinformationen registrieren oder ein Benutzer kann diese Informationen melden, die von dem zentralen Computersystem verwendet werden können, um andere Benutzer, die nicht zum Parken auf dem Parkplatz berechtigt sind, jederzeit zu benachrichtigen.Wichtige Abschleppinformationen sind unter anderem der Standort der Abschleppzone, Name und Telefonnummer des Abschleppunternehmens, Strafe für das Parken in der Abschleppzone und andere relevante Kontaktinformationen. Fahrer, die ihre Fahrzeuge illegal in einer Abschleppzone parken, können durch eine Benachrichtigung auf der Grundlage von in der Datenbank gespeicherten Informationen über die Parkverstöße und Strafen gewarnt werden. Wenn ein Benutzer illegal parkt und sein Fahrzeug abgeschleppt wurde, kann der Benutzer den Parkplatz durch Drücken einer Taste auf dem Display des Computergeräts überprüfen, um die Abschleppinformationen wie Telefonnummer, Abschleppstrafen und andere Kontaktinformationen anzuzeigen, falls dies der Fall ist von den Personen registriert wurde, die befugt sind, diesen Abschleppzonenraum zu verwalten oder darauf zuzugreifen. Der Benutzer kann diese Informationen verwenden, um einfach anzurufen, um herauszufinden, wo das Fahrzeug abgeschleppt wurde. Es können sowohl Zeit als auch Ressourcen gespart werden, da ein Benutzer vom Parken auf dem Parkplatz abgeschreckt wird, wenn der Benutzer weiß, dass es sich um eine Abschleppzone handelt und er Informationen über die Strafen hat. Abschleppzonenbereiche können auch auf der Kartenanzeige durch unterschiedliche Farben angezeigt werden, um anzuzeigen, dass vorübergehendes Parken nicht erlaubt ist, beispielsweise aufgrund einer vorübergehenden Abschleppzonenbenachrichtigung für Straßenreparaturen. Ein Benutzer kann Bilder der veröffentlichten temporären Abschleppzonenzeichen hochladen, wenn er die Benachrichtigung meldet, und dann kann das System einen anderen Benutzer durch eine Benachrichtigung benachrichtigen, die positiven und negativen Bewertungen unterliegt.

Der Prozessor oder die Verarbeitungsvorrichtung kann mit einem zentralen Computersystem in Verbindung stehen, um die von einem oder mehreren Benutzern gemeldeten Informationen zu verarbeiten, die solche Informationen eingeben und Bilder ihrer Ticketverstöße hochladen, und um eine oder mehrere zutreffende Benachrichtigungen mit Parkverstoß-bezogenen Daten entsprechend zu erzeugen: der identifizierte gegenwärtige Standort des Benutzers und der Benutzertyp des Benutzers. Während Ticketinformationen verarbeitet und verwendet werden können, um eine Benachrichtigung zu erstellen oder zu aktualisieren, ist die Ticketberichterstattung von einem oder mehreren Benutzern auch mit dem Ticket-Sharing-Benutzer-Engagement-Panel verbunden. Nach Erhalt dieses Tickets kann der Benutzer auf das Benutzer-Engagement-Panel zugreifen, um den Ort des Verstoßes zu melden. Der Benutzer kann den Typ des zu meldenden Parkscheins aus einem Menü verfügbarer vorbestimmter Typen identifizieren. Über ein mehrstufiges Menüsystem kann der Benutzer zu einer Auswahl geführt werden, die die Art der möglichen Ticketart identifiziert. Der Server empfängt den Bericht und die Geolokalisierung des Benutzers und bestimmt zusätzliche Kontextinformationen, die vom Benutzer und/oder der Computervorrichtung des Benutzers aus dem gespeicherten Benutzerprofil bereitgestellt werden können. Die Verarbeitungsvorrichtung kann auch vom Benutzer ergänzte Informationen sammeln, einschließlich, aber nicht beschränkt auf persönliches Wissen und/oder Ticketinformationen mit dem Zeitpunkt des Verstoßes, dem genauen Ort, wie er auf dem Ticket gedruckt oder geschrieben ist, und den Gründen für den Verstoß usw. Ein Benutzer kann auch aufgefordert werden, Informationen wie Fotos, Videos und schriftliche Erklärungen einzugeben, um seine Ideen dazu zu teilen, warum der Verstoß in dem Formular in Verbindung mit dem Ort des Parkverstoßes aufgetreten ist.

Normalerweise gibt es zwei Arten von Tickets: entweder ein handgeschriebenes oder maschinell generiertes Ticket von einem Strafverfolgungsbeamten oder ein maschinengeneriertes Ticket aus einem Straßenkamerabild. Verschiedene Strafverfolgungsbehörden können auch unterschiedliche Formulare für Ticketverstöße verwenden. Alle vom Benutzer gemeldeten Informationen können Informationen wie Ort, Zeit, Gründe sowie alle Vorschläge, Ratschläge und/oder Lösungen umfassen, die der Benutzer beitragen kann, um Wissen zu teilen, um andere Benutzer aufzuklären, um dieselbe Art von Verstoß erneut zu vermeiden. Die Person, die das Ticket erhält, ist möglicherweise am besten in der Lage, Vorschläge, Ratschläge und/oder Lösungen aufgrund persönlicher Erfahrungen zu unterbreiten

Der Nutzer kann gemeldete Informationen mit Fotos des Ortes und schriftlichen Erklärungen ergänzen, zusätzlich zu den Fotos im User Engagement Panel, die mit dem Ort des Verstoßes in Verbindung stehen. Wenn der Benutzer ein Bild des Tickets zum Hochladen in die Datenbank aufnimmt, kann die Anwendung dem Benutzer ermöglichen, das Bild mit einer Bildbearbeitungsfunktion zu bearbeiten, indem Informationen verdeckt, unscharf oder geschwärzt und/oder das Bild vor dem Hochladen des Bilds geschärft wird. Ein Benutzer kann Teile der Bilder mit sensiblen Informationen wie Name, Kennzeichen oder Fahrzeugidentifikationsnummer usw. überdecken oder verwischen. Die Verwendung von optischer Zeichenerkennung zum Schärfen verschwommener Bilder erhöht die Erfolgsquote für einen Computer, die Informationen im Bild zu erkennen . Alternativ kann die Datenbank einem Benutzer auch ermöglichen, das Parkverstoß-Zitat zu scannen, indem eine Kamera mit Scannersoftware verwendet wird, die auf ein Computergerät heruntergeladen wird.

Gemeldete Informationen können einer Überprüfung und/oder Bewertung durch den Systemadministrator und auch andere Benutzer unterliegen, um sicherzustellen, dass glaubwürdige Informationen gesammelt werden, um eine Benachrichtigung zu übermitteln. Kommentare, Vorschläge usw. können im User-Engagement-Panel nach Bewertungen aufgelistet werden, und diejenigen mit der höchsten Anzahl positiver Bewertungen können oben aufgeführt werden, damit andere Benutzer die Postings klar anzeigen können, um das beste Wissen zu erlangen. Dem Benutzer kann gestattet werden, dem Systemadministrator potenziell ungenaue Informationen mit entsprechenden Nachweisen zu melden. Der Systemadministrator kann in der Lage sein, einen Fall zu eröffnen, in dem ein Mitarbeiter und/oder ein Benutzer geschickt werden kann, um eine Untersuchung der angeblich ungenauen Informationen durchzuführen, um die Qualität der Informationen zu überprüfen. Für den Benutzer, der möglicherweise bei der Untersuchung geholfen hat, kann eine Belohnung bereitgestellt werden.

Das zentrale Computersystem kann eine Informations- und Bildungsfunktion bereitstellen, in der es eine Benachrichtigung bereitstellt, die spezifische Gründe und Vorschläge zur Vermeidung desselben Verstoßes enthält, und die historische Zusammenfassung des Verstoßes anzeigt, um den Benutzer davon zu überzeugen, kein Risiko beim Parken einzugehen an einem Ort mit Parkverstößen und so kann der Benutzer im Voraus über einen Verstoß Bescheid wissen.

Eine beispielhafte Ausführungsform der erfinderischen Offenbarung kann ein Anreizverfahren verwenden, da die Datenbank mindestens ein Verfahren zum Crowdsourcing von Daten von einem oder mehreren Benutzern mittels eines Benutzerinteraktionspanels enthält. Crowdsourcing basiert auf der Beteiligung einer großen Anzahl von Menschen, die einen Anreiz zur Teilnahme haben. Grundsätzlich ermöglicht dieses Anreizverfahren einem Benutzer, Parkverstoß betreffende Daten zu posten und zu teilen, um positive Bewertungen zu erhalten, von denen eine vorbestimmte Anzahl ihm eine oder mehrere Belohnungen einbringen kann. Bei diesem Verfahren kann der Benutzer basierend auf der proaktiven Anstrengung des Benutzers belohnt werden, Ticketinformationen effizient, hilfreich und genau zu melden. Wenn ein Benutzer ein Ticket erhält, hat der Benutzer die Möglichkeit, das Ticket vor Ablauf der Frist anzufechten oder zu bezahlen. Der Benutzer kann positive Bewertungen erhalten, nachdem die Ticketinformationen vollständig sind und an das Benutzerinteraktionspanel gesendet wurden. Alternativ kann ein Benutzer die Datenbank nach Parkverstoß-bezogenen Daten bezüglich eines bestimmten Ortes durchsuchen und dann Bewertungen für diese Parkverstoß-bezogenen Daten bereitstellen. Als Anreiz für Benutzer, nach Parkverstoß-bezogenen Daten für einen bestimmten Ort zu suchen und diese zu bewerten, kann das System eine Prämie oder Belohnung für solche Bewertungen ausgeben, wenn diese Bewertungen eine vorbestimmte Zahl erreichen.

Eine Belohnung kann an den ersten Benutzer ausgegeben werden, der Ticketinformationen an einem Ort meldet, der keine vorherige Tickethistorie von Parkverstößen in der Datenbank hat. Der Betrag, den der Benutzer möglicherweise erhält, kann der Gesamtbetrag sein, der auf dem Ticket des Benutzers angegeben ist, oder ein Betrag, der vom Systemadministrator entsprechend der Anzahl der positiven Bewertungen festgelegt wird, die für die Bereitstellung von Ticketinformationen zusammen mit Kommentaren und Empfehlungen zur Vermeidung von Parkverstößen erhalten wurden (z. B. kann das Parken an dem identifizierten Ort zum identifizierten Zeitpunkt, wie zum Beispiel der aktuellen Zeit, illegal oder nicht zulässig sein, kann jedoch zu einem bestimmten Zeitpunkt, zum Beispiel fünf Minuten nach dem identifizierten Zeitpunkt, am identifizierten Ort legal oder zulässig sein) . In ähnlicher Weise kann der identifizierte Standort des Benutzers (z. B. der aktuelle Standort) als illegal oder nicht zulässig erachtet werden, aber wenn sich der Benutzer um eine bestimmte Entfernung vorwärts oder rückwärts bewegt, wie etwa zwei Fuß oder drei Fuß, kann der Standort des Benutzers dann legal oder zulässig sein identifizierte Zeit und neuer Ort. Es versteht sich, dass verschiedene Kombinationen solcher Zeit- und Ortsempfehlungen in Benachrichtigungen an den Benutzer enthalten sein können. Durch Belohnungen kann ein Benutzer keine Verluste durch Ticketverstöße erleiden und kann auch andere anweisen, die RRLC besser einzuhalten, indem er Ideen teilt, um zukünftige Verstöße gegen Parktickets zu vermeiden. Das Belohnungssystem kann mehrere Schritte umfassen. Um berechtigt zu sein, muss der Benutzer möglicherweise der erste Benutzer sein, der neue Ticketinformationen für diesen bestimmten Ort, für den es keine vorherige Tickethistorie gab, vollständig und detailliert meldet, indem er das Datum und die Uhrzeit des ausgestellten Tickets mit spezifischen Informationen über with die Gründe für das Ticket und nützliche Vorschläge, Ideen und/oder Ratschläge zur Vermeidung des gleichen Verstoßes. Der erste Benutzer, der die vollständigen Details der Ticketinformationen teilt und eine bestimmte Anzahl von Bewertungen erhält, kann eine Belohnung erhalten. Es kann jedoch anderen Benutzern erlaubt sein, Ticketinformationen einzugeben, wenn das Ticket für denselben Ort andere Gründe oder Verstöße anzeigt, die für eine Prämie qualifizieren können. Die Anwendung kann es einem Benutzer ermöglichen, ein Foto des Tickets zu machen, das vor der Übermittlung wie beschrieben geschwärzt oder geschärft werden kann. Jeder Standort kann die Einreichung eines Original-Ticketberichts ermöglichen, der es einem Benutzer ermöglichen kann, eine Prämie zu erhalten. Der Systemadministrator kann jedoch die Art der Belohnung und/oder die Höhe der Belohnung für verschiedene Benutzer ändern, die unter verschiedenen Umständen Parkscheininformationen durch Beschreibungen melden. Zum Beispiel kann eine Belohnung für den ersten Benutzer den doppelten Betrag der Belohnung zahlen oder ein Geschenk als Geldprämie geben. Ein Benutzer, der aktiv an der Bereitstellung von Crowdsourcing-Informationen teilnimmt, kann dies auch tun, ohne eine Belohnung zu erwarten. In diesem Fall kann der Benutzer den Erhalt von Belohnungen über die Einstellungen im Benutzerinteraktionsfeld ablehnen oder eine Belohnung einfach ablehnen, wenn eine angeboten wird.

Von Strafverfolgungsbehörden ausgestellte Tickets können ein Datum aufweisen, das als Zahlungsfrist für den Ticketverstoß dient. Ein Anreiz für den Benutzer besteht darin, eine effiziente und nützliche Berichterstattung zu belohnen, um anderen Benutzern zu helfen, ihre Tickets über ein Belohnungssystem zu bezahlen. Anreize sind entscheidend, um sowohl eine aktive Teilnahme eines oder mehrerer Benutzer zu erreichen als auch genaue und wahrheitsgetreue Informationen zu erhalten. Eine aktive Teilnahme ist wichtig, da die statistische Analyse von einer großen Datengruppe abhängt und es wichtig ist, kontinuierlich Echtzeitdaten über aktuelle Situationen zu erhalten.

Für Qualitätskontrollzwecke kann ein Verifizierungssystem implementiert werden. Für Belohnungen kann das Benutzer-Engagement-Panel Bewertungen nachverfolgen, sodass ein Benutzer für jeden Ticketbericht nur einmal zustimmen kann. Außerdem kann der Benutzer die Benachrichtigung über potenzielle Parkverstöße nur dann bewerten, wenn der Benutzer eine solche Benachrichtigung persönlich erlebt und/oder erhalten hat, wenn angezeigt wird, dass sich der Geostandort eines Benutzers innerhalb eines vorbestimmten Radius um den Standort mit Verstößen befindet. Ein solcher Benutzer, der die Benachrichtigung aufgrund seiner Erfahrungen aus erster Hand erhalten hat, kann bei der Bewertung der Benachrichtigung entweder zustimmen (positiv) oder widerlegen (negativ). Unter Berücksichtigung des Bewertungs- und Verifizierungssystems kann das Benutzerinteraktionspanel sicherstellen, dass die Bewertungen auf dem neuesten Stand sind. Eine Benachrichtigung wird bewertet, und eine Benachrichtigung, die ungenaue Informationen enthält und negativ bewertet wurde, kann gekennzeichnet und korrigiert werden, und eine Benachrichtigung mit hoher Bewertung kann verbleiben. Eine auf neuen Informationen basierende neue Meldung kann wiederum zukünftig bewertet werden, was in Zukunft zu einer weiteren Bewertung führen kann. Dies kann beispielsweise der Zyklus sein, der die Daten in der Datenbank hinsichtlich etwaiger Änderungen oder Ungenauigkeiten aktualisiert.

Der Prozess, durch den die Datenbank aktuell gehalten wird, beinhaltet teilweise, dass ein Benutzer die Benachrichtigung bewertet, die der Benutzer erhält. Da eine Benachrichtigung auf Datenpunkten basiert, die sich auf Parkinformationen innerhalb der Datenbank beziehen, bewertet ein Benutzer die Benachrichtigung, wenn er die Benachrichtigung bewertet, auch die in der Benachrichtigung enthaltenen Daten. Durch diese Bewertungen kann festgestellt werden, ob die Daten korrekt sind oder auf einen bestimmten Parkplatz anwendbar sind. Wenn sich herausstellt, dass die Daten nicht korrekt oder nicht zutreffend sind, können sie verwendet werden, um Daten zu Parkverstößen in der Datenbank basierend auf Benutzerfeedback zu korrigieren, zu aktualisieren und zu ergänzen. Stellt sich heraus, dass diese zutreffend und/oder zutreffend sind, kann die Richtigkeit der Daten durch das Feedback verstärkt werden. Die Benachrichtigung, die ein Benutzer möglicherweise erhält, kann aus Informationen bezüglich eines bestimmten Parkplatzes bestehen. Die Benachrichtigung kann dem Nutzer vermitteln, dass derzeit keine Parkverbote in Bezug auf den Parkplatz bestehen, oder er kann den Nutzer über relevante Regeln oder Vorschriften informieren, die derzeit in Kraft sind. Der Benutzer kann diese Benachrichtigung dann entweder positiv oder negativ bewerten (z. B. ob sie richtig oder falsch war). Der Prozess kann durch ein Beispiel einer Benachrichtigung beleuchtet werden, die einen Benutzer darüber informiert, dass keine Parkverbote in Kraft waren, obwohl der Parkplatz des Benutzers tatsächlich einem vorübergehenden Verbot des Straßenkehrens unterworfen war. In diesem Fall kann der Benutzer auf der Benutzeroberfläche die Benachrichtigung bewerten (z. B. eine negative Bewertung abgeben). Ein Benutzer kann eine negative Bewertung belegen, indem er den Nachweis vorlegt, dass die Benachrichtigung oder die Crowdsourcing-Informationen unrichtig waren. Der Benutzer kann in diesem Beispiel ein Bild des Schildes machen, das angekündigt wurde, als das Straßenfegen in Kraft war, oder irgendeine andere relevante Beschilderung. Dieses Feedback wird zusammen mit den Bewertungen gesammelt, die die Datenbank aktualisieren können, um die neuen vom Benutzer eingereichten Daten widerzuspiegeln. Sollten sich die Daten, die der Nutzer durch diese negative Bewertung zur Verfügung stellt, als zutreffend erweisen, können diese zur Korrektur, Aktualisierung und Ergänzung der Datenbank verwendet werden.

Allerdings müssten die Daten oder Informationen, die durch negative Bewertungen bereitgestellt werden, eine vorbestimmte Anzahl überschreiten, um eine Benachrichtigung aufzuheben. Wenn eine negative Bewertung und ihre entsprechenden Informationen die vorbestimmte Zahl nicht überschritten haben, kann die negative Bewertung des Benutzers in der Benachrichtigung angezeigt werden, indem ein Hinweis aufgenommen wird, dass ein kleiner Prozentsatz der Benutzer die Benachrichtigung negativ und/oder als ungenau bewertet hat. Wenn diese negativen Bewertungen die vorbestimmte Zahl erreichen, können die durch diese Bewertungen bereitgestellten neuen Informationen die bestehenden relevanten Daten in der Datenbank ersetzen. Dadurch wird wiederum der Inhalt der ausgegebenen Benachrichtigung aktualisiert. Im obigen Straßenkehr-Beispiel gibt der Benutzer als erster an, dass es eine relevante Straßenkehr-Vorschrift gibt und das Benutzerinteraktionspanel erhält zehn weitere negative Bewertungen, die besagen, dass die geltende Benachrichtigung falsch ist, unterstützt durch ähnliche oder gleiche Informationen an den ersten Benutzer, dann kann, sobald genügend Einreichungen oder Bewertungen vorliegen, die Datenbank basierend auf diesen bestätigten Informationen korrigiert, aktualisiert und ergänzt werden. Wie viel „genug“ ist, kann vorbestimmt sein, wie 10, 25, 35 Bewertungen oder Einreichungen usw., oder es könnte auf dem Prozentsatz der Gesamtbewertungen basieren. Beispielsweise kann ein negativer Bewertungsschwellenwert von 25 %, 10 % oder 1 % eine Datenüberprüfung auslösen. Die vorbestimmte Anzahl von Bewertungen kann sich auch je nach Standort unterscheiden. An einem belebten Standort wie Midtown Manhattan kann die Dichte von Parkverstößen und die Nachfrage nach bestimmten Parkplätzen höher sein als in ländlicheren Gebieten. Darüber hinaus kann es mehr Benutzer geben, die die Parkverstoß-bezogenen Daten teilen oder bewerten. Daher können diese unterschiedlichen Orte unterschiedliche Standards zum Vorgeben einer Zahl haben. Unabhängig vom Standort können die übermittelten Informationen, sobald sie diese vorbestimmte Zahl erreichen, in die Datenbank aufgenommen werden. Der Benutzer, der als erster korrigierende Informationen bereitstellt, kann eine monetäre oder nicht monetäre Belohnung dafür erhalten, dass er der erste ist, der neue und nützliche Informationen beisteuert, die in die Datenbank aufgenommen werden, was einen Anreiz für einen Benutzer gibt, genaue und rechtzeitige Informationen bereitzustellen , wodurch die Datenbank aktuell gehalten wird.

Ticketverstöße sind rechtliche Dokumente und können Gegenstand von Streitigkeiten sein. Wenn ein Benutzer die Ticketverletzung anfechten möchte, kann das Benutzerinteraktionsfeld in Verbindung mit einem bestimmten Ort einer Parkanweisung nützlich sein, da andere Benutzer ihre persönliche Situation dazu kommentieren können, ob eine Anfechtung wahrscheinlich erfolgreich oder unbegründet ist. Crowdsourcing-Daten können innerhalb des Benutzerinteraktionspanels gesammelt werden, um Informationen zu Streitigkeiten im Zusammenhang mit Parkverstößen von einem oder mehreren Benutzern zu erhalten, um Benutzern mit nützlichen Informationen zu Streitigkeiten zu helfen. Diese Streitinformationen können auch für einen Benutzer nützlich sein, der auf einen Strafverfolgungsbeamten trifft und diese Informationen verwenden kann, um die Situation dem Strafverfolgungsbeamten zu erläutern und zu erklären. Der Nutzer kann dem Strafverfolgungsbeamten nachweisen, dass tatsächlich andere Nutzer, die den konkreten Parkscheinverstoß erhalten haben, diesen gerichtlich angefochten und gewonnen haben. Der Strafverfolgungsbeamte, der nun über die Situation informiert ist, kann den Ticketverstoß ausstellen oder nicht oder den Ticketverstoß folglich widerrufen, wenn der Beamte dies nach eigenem Ermessen tun kann. Diese Methode kann einem Benutzer Geld sparen, denn wenn der Streit berechtigt ist, wie von anderen berichtet, kann der Benutzer den Fall gewinnen. Wenn die Anfechtung unbegründet ist, wie von anderen Benutzern berichtet, kann der Benutzer entscheiden, nur die Geldstrafe zu zahlen und das Ticket nicht anzufechten. Informationen im Zusammenhang mit Streitigkeiten können verwendet werden, um andere Benutzer über die Erfolgswahrscheinlichkeit von Ticketstreitigkeiten zu informieren. Der Systemadministrator kann auch Fachleute einstellen, die sich auf Streitigkeiten mit Parkscheinen spezialisieren können, um bei der Lösung von Streitfällen im Benutzerinteraktionspanel zu helfen. Die Anwendung kann es einem Benutzer ermöglichen, die Erfolgswahrscheinlichkeit von Streitigkeiten zu überprüfen, indem er einen Knopf auf der Anzeige drückt, der eine Verbindung mit der Datenbank von Parkverstoßtickets herstellt, die von anderen Benutzern empfangen wurden. Dementsprechend kann ein Benutzer darin geschult werden, wie er Rechtsmittel effizient einsetzt.

Das System kann über das Benutzerinteraktionspanel einen Benutzer auch über den Prozess der Anfechtung von Tickets aufklären, wenn eine Anfechtung berechtigt ist. Es kommt häufig vor, dass ein Benutzer nicht sicher ist, ob er Einspruch erheben soll und wie er den Ticketverstoß anfechten soll, wenn er dies tut. Der Benutzer kann Crowdsourcing-Informationen zu Ticketstreitigkeiten von anderen Benutzern verwenden, um herauszufinden, ob ein Ticket eine gute Chance hat, abgelehnt zu werden, wenn es auf der Grundlage von Informationen anderer Benutzer angefochten wird. Die Streitbeilegungsverfahren können Informationen über die Arten von Beweismitteln umfassen, die gesammelt und der zuständigen Behörde, die die Streitigkeit entscheidet, vorgelegt werden können.Dem Benutzer kann auch gestattet werden, Dritte zu suchen und sich mit diesen in Verbindung zu setzen, wie z. B. Anwälten, die Erfahrung mit der Anfechtung von Ticketverstößen haben, wobei die Anwendung dem Benutzer ermöglichen kann, Bilder und andere Arten von Dokumenten direkt aus der Anwendung heraus an den Dritten zu senden. Die Funktionalität des Benutzerinteraktionspanels kann es einem Benutzer auch ermöglichen, Informationen über seine Anhörung und Ergebnisse ihrer Anhörung für seine Tickets zu teilen. Andere Benutzer können diese Informationen als Referenz für zukünftige Anhörungen verwenden, da ein Benutzer in der Lage sein kann, andere Benutzer zu sehen, die möglicherweise aus denselben Gründen dieselbe Art von Ticket am selben Ort erhalten haben. Diese Informationen können gesammelt werden, um Analysen an Orten durchzuführen, die ungewöhnliche Ticketing-Aktivitäten aufweisen, um dem Benutzer Richtlinien zu geben.

Die Anwendung kann den Benutzer warnen, den Parkverstoß zu vermeiden, indem sie den Benutzer per E-Mail, SMS, Telefonanruf, Telefonalarm, Voicemail usw. automatisch nach Wahl des Benutzers benachrichtigt, der dies im Voraus in den Einstellungen festgelegt hat. Funktionalitäten, insbesondere die Benutzermeldefunktion, können mit APIs von Drittanbietern verbunden werden, um Sprach-zu-Text-Funktionen bereitzustellen. Ein Benutzer, der die Voice-to-Text-Funktion verwendet, kann seine Stimme aufzeichnen, indem er seine Aussagen in das Mikrofon spricht, das mit der Computervorrichtung verbunden sein kann, wo Aussagen in Text umgewandelt werden können. Dementsprechend muss ein Benutzer möglicherweise nicht notwendigerweise Informationen manuell eingeben und kann Informationen übermitteln, indem er seine Sprachaussagen aufzeichnet.

Die Geolokalisierung jedes einzelnen Benutzers kann während der Fahrt zusammen mit der Geschwindigkeit des Benutzers aufgezeichnet werden, wobei eine langsame Geschwindigkeit von beispielsweise 1 bis 3 Meilen pro Stunde auf die Absicht hinweisen kann, innerhalb eines bestimmten Radius um das beabsichtigte Ziel als voreingestellt zu parken durch den Benutzer. Basierend auf der Geolokalisierung und Geschwindigkeit des Benutzers kann eine Anfrage gesendet werden, die zum Beispiel nach „Parken?“ fragt. Wenn der Benutzer "Ja" wählt, können Parkverstöße innerhalb eines vorbestimmten Radius um einen bestimmten Parkplatz identifiziert werden, und die Benachrichtigung kann auf den Benutzertyp dieses Benutzers anwendbar sein. Um eine Benachrichtigung zu erzeugen, kann die Verarbeitungsvorrichtung verschiedene Datensätze innerhalb der Datenbank abfragen, zum Beispiel alle historischen Zitatinformationen, die derzeit verfügbar sind, RRLC, die für den Benutzertyp dieses Benutzers gelten, den aktuellen Standort des Benutzers und die aktuelle Zeit, alle anwendbaren administrativen Mitteilungen oder vorübergehenden Mitteilungen an den Benutzertyp dieses Benutzers, den gegenwärtigen Standort und die gegenwärtige Zeit usw. Wenn der Benutzer nach einer bestimmten Zeit, beispielsweise 3 Sekunden, nicht auf die Warnung antwortet, kann die Anfrage automatisch verschwinden. Der Benutzer kann eine Anfrage nach der Parkabsicht erhalten, wenn sich die Geolokalisierung des Benutzers innerhalb einer vorbestimmten Nähe des beabsichtigten Ziels befindet, die eine bestimmte Anzahl von Fuß sein kann, wie vom Benutzer eingestellt. Der Benutzer kann auch die Anzahl von Benachrichtigungen festlegen, die der Benutzer erhalten möchte (z. B. möchte ein Benutzer möglicherweise eine Anfrage oder Benachrichtigung einmal, zweimal erhalten oder der Benutzer möchte möglicherweise keine Benachrichtigung erhalten usw.). Wenn der Benutzer nicht auf die Benachrichtigung antwortet, kann die Verarbeitungsvorrichtung das Senden der Benachrichtigung stoppen, nachdem sie die zuvor vom Benutzer eingestellte Anzahl von Instanzen erreicht hat. Danach kann der Benutzer eine Taste auf der Anzeige drücken, wenn der Benutzer die Benachrichtigungsinformationen über potenzielle Parkverstöße für den aktuellen Standort anzeigen möchte. Da eine Straßenkarte in die Datenbank integriert werden kann, kann das zentrale Rechensystem einen solchen Standort erkennen, wenn das Fahrzeug aufgrund von Verkehr oder anderen Gründen auf der Straße verlangsamt oder mitten auf der Straße anhält oder sich außerhalb des Umkreises des beabsichtigten Ziels befindet die Geolokalisierungs-GPS-Koordinaten und Geschwindigkeitsdaten und wissen möglicherweise automatisch, dass keine Benachrichtigung über die Parkabsicht gesendet wird, da das Parken mitten auf der Straße nicht erlaubt ist, da dies die Straße blockieren kann. Die Benachrichtigung kann auf dem Display des Computergeräts erscheinen oder die Option für einen Sprachalarm beinhalten. Gemäß einer Ausführungsform hierin wird die Parkabsicht des Benutzers durch Bestimmen und Analysieren der aktuellen Momentangeschwindigkeit durch den Beschleunigungsmesser und die Nähe zum beabsichtigten Zielort durch die Ortskennung identifiziert. Wenn der Benutzer eine Parkabsicht anzeigt, kann die Datenbank je nach Uhrzeit und Tag auf mögliche Hinweise auf mögliche Parkverstöße überprüft werden, die für den Standort gelten. Wenn eine Parkabsicht identifiziert wird, bezieht sich die erscheinende Benachrichtigung auf Daten bezüglich Parkverstoß, die innerhalb eines vorbestimmten Radius des Benutzers mit Parkabsicht gefunden wurden. Der vorbestimmte Radius kann durch den Benutzer auf eine bestimmte Entfernung voreingestellt werden, da ein Benutzer einen Radius von 150 Fuß eines Ziels bevorzugen kann, während ein anderer Benutzer einen vorbestimmten Radius von 1.000 (1000) Fuß bevorzugen kann. Wenn ein Benutzer dies nicht vorgibt, kann es Voreinstellungen für den vorgegebenen Radius geben, die je nach Standort unterschiedlich sein können. Beispielsweise kann eine Standardeinstellung für einen vorbestimmten Radius von der Stadt abhängen, in der sich ein Benutzer befindet.

Das System kann sich auch mit Wetter-APIs von Drittanbietern verbinden, um historische Wetterinformationen für den spezifischen Standort abzurufen, um zukünftige Parksituationen vorherzusagen, in denen das Wetter einen Einfluss auf Parkverstöße haben kann, basierend auf Hinweisen auf erhöhte Parkverstöße während bestimmter Wetterbedingungen. Bei ähnlichen Wetterbedingungen hat ein Benutzer alle Parkbeschränkungen, die an dem Ort gelten können, an dem der Benutzer möglicherweise parken möchte. Wenn das zentrale Computersystem beispielsweise über eine Wetter-API und Geolokalisierung erkennt, dass der Benutzer beabsichtigt, an einem Ort zu parken, an dem erwartete Schneefälle oder Überschwemmungen auftreten, kann es diese Informationen mit den historischen Daten zu Parkverstößen in der Datenbank vergleichen, um dies herauszufinden wenn es wetterbedingte Parkbeschränkungen und eine zunehmende Anzahl von Parkverstößen an dem Standort gibt, die möglicherweise anwendbar sind. Der Benutzer kann eine Benachrichtigung erhalten, wenn die Wettervorhersage Situationen aus historischen Daten ähnelt, die eine Zunahme der Anzahl von Verstößen für einen bestimmten Bereich aufgrund derselben Wetterbedingungen widerspiegeln. Beispielsweise zeigten die historischen Daten für einen bestimmten Standort eine Zunahme von Parkverstößen bei Schneefall. Die historischen Daten zeigen, dass die Zunahme der Parkverstöße auf die Schneebedeckung eines Hydranten zurückzuführen ist, was die Fahrer glauben lässt, dass sie an der Stelle parken können, da sie den Hydranten nicht sehen können. Dementsprechend kann ein Benutzer, wenn es frühere Verstöße aufgrund spezifischer wetterbezogener Gründe gegeben hat, angewiesen werden, einen alternativen Parkplatz zu finden, um mögliche Hinweise auf Parkverstöße zu vermeiden.

Die Rechenvorrichtung kann in Armaturenbrettsysteme integriert werden, um die volle Funktion innerhalb eines Fahrzeugs zu ermöglichen. Diese Integration ist nicht auf Systeme im Armaturenbrett beschränkt und kann auch durch den Originalhersteller oder ein Zusatzgerät von Drittanbietern, das in einem Fahrzeug montiert werden kann, in das Fahrzeug integriert werden. Die erfindungsgemäße Offenbarung verwendet eine direkte Integration des offenbarten Parkplatzinformationssystems in die Navigation und das GPS in einem Bordcomputer von Fahrzeugen mit Originalausrüstung. In solchen Ausführungsformen kann die offenbarte Architektur direkt in ein Computersystem eines Fahrzeugs integriert werden.

Bei Integration in ein Navigationssystem im Armaturenbrett kann das Display des Fahrzeugs verwendet werden, um eine Parkbenachrichtigung wie oben beschrieben anzuzeigen. Die Ausführungsform des im Armaturenbrett integrierten Systems kann dem Benutzer Fernaktualisierungen und -kommunikationen durch die installierte offenbarte verletzungsbezogene Informations- und Parkverletzungsvermeidungsanwendung auf dem Computergerät des Benutzers bereitstellen, um den Benutzer beispielsweise zu warnen, wenn sich die Parkzeitbegrenzung dem Ablauf nähert, bevorstehend Straßenreinigung oder andere vorübergehende Einschränkungen. Wenn ein Benutzer an einem Parkplatz ankommt, kann das zentrale Computersystem den Standort des Fahrzeugs empfangen und kann eine Benachrichtigung an die Computervorrichtung eines Benutzers senden, um den Benutzer gegebenenfalls zusätzlich zu anderen relevanten Einschränkungen an den bevorstehenden Ablauf der Parkuhr zu erinnern.

Die Integration kann die Verwendung von Fahrzeugausrüstung umfassen, z. B. Tachometer, Beschleunigungsmesser, Kameras, Trägheitssensor, Gyroskopsensor, GPS-Sensor und andere anwendbare Ausrüstung usw. Die Verwendung dieser Fahrzeugausrüstung kann verwendet werden, um umfassende Echtzeit- und historische Aktivitäten zu erhalten Informationen über das Fahrzeug, beispielsweise seine Richtung, Geschwindigkeit, Ausrichtung und Beschleunigung usw., um dem Benutzer eine entsprechende Benachrichtigung zu geben.

Eine Kombination aus Hardware und Software arbeitet auf einer Anwendung eines Computergeräts und eines zentralen Computersystems, wie beispielsweise einem Computer, im Allgemeinen mit einer oder mehreren Verbindungen zu einem drahtlosen Weitverkehrsnetz (WAN) (z. B. dem Internet). Das zentrale Computersystem kann konfiguriert sein, um mit einem durch Kommunikationsmittel koordinierten Netzwerkdienst zu kommunizieren. Kombinierte vorprogrammierte Funktionen basierend auf bestimmten Protokollen oder Methoden der Integration von Basiskomponenten (dh Server, Datenbanken, mobile Endanwendungen, Webportale, Netzwerkeinstellungen usw.) können verwendet werden, sodass die Anwendungen Anwendungen sein könnten, die für ANDROID geschrieben wurden, eine von Google und der Open Handset Alliance entwickelte mobile Plattform, IOS, eine von Apple, Inc. entwickelte mobile Plattform, WINDOWS PHONE, eine von der Microsoft Corporation entwickelte mobile Plattform usw.

Um die Datensätze dynamisch zu aktualisieren, kann eine beispielhafte Ausführungsform der erfinderischen Offenbarung eine Datenbank oder einen Satz von Datenbanken (oder Datenspeichermedien) verwenden. Die Datenbank kann mehrere Datenkategorien oder Gruppierungen enthalten. Die Datenbank enthält Informationen sowohl für historische als auch für Echtzeitaufzeichnungen, wobei die Echtzeit- und historischen Abschnitte der Datenbank unabhängig oder synchronisiert sein können, um gleichzeitig Informationen aus beiden Abschnitten abzurufen. Die Datenbank kann auch Datensätze bezüglich eines Benutzers und Datensätze von bestimmten Benutzerinteraktionspanels enthalten. Diese Daten können Regel- und Verwaltungsdaten sowie Benutzerdaten umfassen. Historische Daten werden teilweise durch die Zuweisung einer Tracking-Nummer oder Service-ID-Nummer verfolgt, die Ticketing- oder verwandten Informationen zugewiesen wird, um im Zweifelsfall darauf zurückgreifen zu können. Informationen, die in dieser Identifikation enthalten sein könnten, können Informationen sein, wie der Grund für die Ausstellung eines Tickets, wer oder welche Behörde es ausgestellt hat und wo es stattgefunden hat, wie z. B. adressspezifische Informationen, einschließlich Haus- oder Gebäudenummer, Postleitzahl, Bezirk , Stadt oder Bundesland, wie hoch die Geldbuße ist und wie die Zahlung für die Dienstleistung erfolgt ist, falls ja.

Es versteht sich für den Fachmann, dass die Datenbank dynamisch aktualisiert und synchronisiert wird, wenn es Änderungen oder Aktualisierungen in Datenblöcken gibt, können der Server und die Datenbank die Daten dynamisch aktualisieren, um die neuesten Änderungen widerzuspiegeln. Jede Sicherungsdatenbank, die sich auf die Datenbank bezieht, kann sich ebenfalls entsprechend ändern, um auch die neuesten Änderungen widerzuspiegeln. In einer beispielhaften Ausführungsform der erfinderischen Offenbarung können solche Informationen in einer Weise organisiert oder strukturiert sein, die ein effektives Sortieren und Wiederauffinden ermöglicht. In einer beispielhaften Ausführungsform der erfindungsgemäßen Offenbarung können die Informationen nicht relational oder unstrukturiert gespeichert werden. Ein Durchschnittsfachmann wird erkennen, dass es zahlreiche Verfahren zum Bereitstellen, Speichern und Organisieren von Daten in einer Datenbank oder anderen Datenspeichermedien gibt. Außerdem kann es mindestens eine Sicherungsdatenbank geben, die die Primärdatenbank im Falle eines Datenverlusts in der Primärdatenbank häufig sichern kann. Obwohl als „Datenbank“ bezeichnet, würde ein Durchschnittsfachmann erkennen, dass dies in der Praxis auf zahlreiche Arten implementiert werden könnte, einschließlich, aber nicht beschränkt auf ein Datenspeichermedium, ob strukturiert oder unstrukturiert, relational oder anderweitig. Ein Durchschnittsfachmann würde auch erkennen, dass es zahlreiche Verfahren zum Bereitstellen von Datenbanken und Datenspeichermedien zum Organisieren und Abrufen von spezifischen Informationen gibt, die zur Verwendung mit jeder geeigneten Datenbank oder Speichereinrichtung in Betracht gezogen werden.

Die umfassende Datenbank kann Verwaltungsdaten und andere Informationen speichern. Zu den Verwaltungsdaten gehören alle Informationen oder Daten, die Teil der Anwendung oder anderer Zugangsmittel sind, einschließlich Systemdaten wie Kontakt- und FAQ-Informationen, Registrierungsdaten eines Benutzers, beispielsweise Rechnungs- oder Identifikationsinformationen oder andere relevante Informationen in Bezug auf die Verwaltung des Dienstes, zum Beispiel wie lange der Nutzer registriert ist oder die Häufigkeit der Nutzung. Zusätzliche Daten, die in die Datenbank eingegeben werden können, umfassen, sind aber nicht beschränkt auf, Orte, zu denen ein Benutzer gereist ist, andere Transaktionsdaten und Details, historische Daten und Beiträge eines Benutzers zur Benutzerinteraktion.

Ein Benutzer kann auf historische Aufzeichnungen zugreifen, die Datenbank durchsuchen und verwandte Daten von einer Suchfunktion oder anderen Mitteln abrufen. Jedes Mal, wenn eine Eingabe oder Anforderung von einem Benutzer erfolgt, der verwandte Informationen sehen möchte, kann ein sicherer Zugangskanal mit Datenbank(en) geöffnet werden und das zentrale Computersystem kann die Abfragesätze durch den Zugangskanal an ein Datenbankverwaltungsmodul senden . Wenn es sich um eine relationale Datenbank handelt, können die Datentabellen eine Art von Beziehungen aufweisen, wie beispielsweise Eins-zu-Viele-Beziehungen, Viele-zu-Viele-Beziehungen und Eins-zu-Eins-Beziehungen mit anderen Datentabellen. Basierend auf den Beziehungen zwischen Datentabellen folgt das Datenbankverwaltungsmodul den Abfragesätzen und findet die spezifische(n) Datentabelle(n) unter Verwendung von ID(s), Tabellennamen und Spaltennamen der Tabellen mit oder ohne Verknüpfung von zwei oder mehr Datentabellen zusammen. Wenn es sich um eine nicht relationale Datenbank handelt, können die Daten anstelle von Datentabellen in Schlüssel-Wert-Paaren gespeichert werden, dann folgt das Datenbankverwaltungsmodul den Abfragesätzen und findet die spezifischen Daten unter Verwendung von Schlüsseln, die Abfragesätze bereitstellen. Unabhängig davon, ob eine relationale oder nicht-relationale Datenbank verwendet wird, kann das zentrale Computersystem, nachdem das Datenbank-Verwaltungsmodul die Zieldaten abgerufen hat, das Suchergebnis über den gesicherten Zugriffskanal an den Server zurücksenden. Dann wird der gesicherte Kanal geschlossen, bis er das nächste Mal geöffnet werden muss. Die relevanten Daten, die in der Datenbank organisiert wurden, können dann abgerufen und angezeigt werden.

Ein geografisches Informationssystem (GIS) kann zusammen mit dem Server zum Erfassen, Anzeigen, Speichern, Manipulieren und Analysieren von geografischen Informationen verwendet werden. Um bestimmte Abfrageoperationen zu erfüllen, kann ein GIS Daten aus der Datenbank extrahieren und analysieren oder Daten können im Datenbankverwaltungssystem (DBMS) eines GIS gespeichert werden. Ein GIS kann verwendet werden, um die Daten innerhalb der Datenbank zu visualisieren. In New York City enthalten beispielsweise Datenquellen wie MapPLUTO von NYC Open Data und Open Street Map geodätische Basiskarten. Dann kann ein Inventar weiterer Datenpunkte wie Parkuhren, Standorte von Bushaltestellen, Nutzfahrzeugparkplätze, Taxispuren, Busspuren, Parkhäuser, Straßenparkplätze, Parkbeschränkungen, Standorte von Hydranten usw über ein GIS angewendet und auf einer Basiskarte visualisiert. Dies bietet eine Möglichkeit, die Daten sinnvoll zu sortieren, darauf zuzugreifen und sie anzuzeigen.

GIS besteht aus einigen wichtigen Komponenten, um seine grundlegenden Funktionen richtig auszuführen. Die Komponenten eines GIS sind wie folgt: Hardware, die einen zentralen Computer oder ein daran angeschlossenes sekundäres Gerät umfasst, das es dem GIS ermöglicht, funktionale Software zu sein: Algorithmen, die unter Verwendung ausführbarer Programmiersprachen geschrieben wurden, um geografische Daten und Informationen zu speichern, zu analysieren und anzuzeigen und Daten: alle zu analysierenden Informationen wie Parkplätze, Karten usw. Darüber hinaus muss ein GIS möglicherweise von einem Techniker oder einer anderen qualifizierten Person mit Kenntnissen der genauen Wartungsverfahren gewartet werden, insbesondere wenn es um die Einstellung von Systemfunktionen geht auf den Bedarf einer Organisation nach einem GIS. Für unterschiedliche Anwendungen können auch unterschiedliche Klassen oder Modelle eines GIS verwendet werden. Beispielsweise kann ein GIS wie ein Feldmodell erforderlich sein, um Daten zu analysieren, die sich über kontinuierliche Bereiche ändern. Diskrete Modelle können verwendet werden, um Daten zu analysieren, die sich auf Punkte in einem zweidimensionalen Raum beziehen. Schließlich können Netzwerkmodelle verwendet werden, um zwei Punkte zu analysieren, die durch eine Reihe von Punkten verbunden sind, wie beispielsweise Punkte entlang einer Autobahn oder einer Eisenbahn.

Die Daten können plattformübergreifend sein und können daher, wenn gewünscht, gleichzeitig über verschiedene Computergeräte, wie beispielsweise ein Webportal und/oder Anwendungen, abgerufen werden. Die verschiedenen Komponenten innerhalb des Computergeräts, die in vielen verschiedenen Formen vorliegen können, wie Tablet-Computer, Mobilfunkgeräte, Smartphones, Laptops, Personal Computer (PCs), Fahrzeugnavigation und/oder Server oder andere kommunikationsfähige Geräte können interagieren und kommunizieren, um Informationen auszutauschen. Ein Benutzer kann ein Computergerät verwenden, um auf Module zuzugreifen, die dem Benutzer durch eine Anwendung auf dem Computergerät des Benutzers bereitgestellt werden.

Die Verwaltung kann auch über ein anderes Modul als das von einem Benutzer verwendete abgewickelt werden. In einem solchen Fall benötigt ein Benutzer nicht dieselben Funktionen wie ein Systemadministrator. Ein Durchschnittsfachmann würde die vielen unterschiedlichen Formen und Funktionen von Computergeräten erkennen und verstehen, dass die beispielhafte Ausführungsform der erfinderischen Offenbarung mit jedem ausgeführt werden könnte, und auch verstehen, dass die unterschiedlichen Arten von Benutzern unterschiedliche Funktionalitäten erfordern.

Der Benutzer kann beispielsweise unter Verwendung eines beliebigen Ansatzes zum Kommunizieren von Daten über ein oder mehrere Netzwerke oder mit einem oder mehreren Peripheriegeräten kommunizieren, die mit einem Computergerät verbunden sind. Kommunikationsansätze können Schaltungen und Steuersysteme zum Bereitstellen von drahtlosen Verbindungen, drahtgebundenen Verbindungen, zellularen Verbindungen, Datenportverbindungen, Bluetooth-Verbindungen oder einer beliebigen Kombination davon umfassen, sind aber nicht darauf beschränkt. Ein Durchschnittsfachmann würde erkennen, dass es zahlreiche Kommunikationsansätze gibt, die verwendet werden können.

Ein Benutzermodul, mit dem ein Benutzer interagiert, ist dynamisch und kann entsprechend einem bestimmten Standort angepasst werden. Das Benutzermodul kann über den Server verbunden sein, zum Beispiel durch bidirektionale drahtlose Kommunikation, die konfiguriert ist, um Standortdaten auf der elektronischen Kartenanzeige und andere Daten als Eingabe von einem Benutzer anzuzeigen. Angezeigte Merkmale können spezifisch für den Standort oder die Region sein, in der sich das Computergerät befindet, so dass gebietsspezifische Informationen auf der Anzeigeschnittstelle bereitgestellt werden können.

Eine beispielhafte Ausführungsform der erfinderischen Offenbarung kann auch Benutzermodulfunktionen anpassen, einschließlich des Inhalts, der als Teil von Benutzeroberflächenfunktionen angezeigt wird, basierend auf anderen Benutzerauswahlen und -präferenzen.Für bestimmte Standortidentifikationsfunktionen können eine Anwendung, eine Kartenkomponente, eine Kartendatenbank und eine Ortskennung, wie beispielsweise ein GPS-Modul oder eine andere Schaltung zum Bereitstellen von LBS-Daten integriert sein. Das GPS bestimmt den Standort der Computergeräte auf unterschiedliche Weise, zum Beispiel durch den Empfang von standortbasierten Ressourcen. Ein Durchschnittsfachmann würde erkennen, dass es zahlreiche Ansätze zum Bereitstellen von Standortidentifizierung und standortbasierten Diensten gibt. Ein GPS-fähiges System oder Gerät ermöglicht es den Tracking-Komponenten, den Standort eines Benutzers zu identifizieren. Gemäß einer beispielhaften Ausführungsform der erfindungsgemäßen Offenbarung kann der aktuelle Standort des Benutzers durch eine Standortkennung bestimmt werden. Die Standortkennung kann den Standort des Computergeräts auf unterschiedliche Weise bestimmen. In einem Beispiel kann die Ortskennung durch Verarbeitung empfangener GPS-Daten von ortsbasierten oder geobewussten Ressourcen des Computergeräts instanziiert werden. Darüber hinaus kann die Ortskennung auch GPS-Daten von anderen Anwendungen oder Programmen empfangen, die auf dem Computergerät arbeiten. Zum Beispiel kann ein Computergerät unter Verwendung einer oder mehrerer APIs mit einer oder mehreren anderen Anwendungen kommunizieren. Die Anwendung kann die Standortinformationen verwenden, um eine Benutzerschnittstellenkomponente zu veranlassen, ein Benutzerschnittstellen-Framework basierend auf den Standortinformationen zu konfigurieren.

Die Region kann durch eine Postleitzahl oder einen Städtenamen oder einen Stadtgebietsnamen identifiziert werden, in dem sich das Computergerät derzeit befindet. Regionsspezifische Informationen über die parkbezogenen Informationen können teilweise bereitgestellt werden. Standortbezogene Präferenzen oder Einschränkungen hängen teilweise von GPS-fähigen Geräten ab.

Die Komponenten können kombiniert werden, um Benutzermodulmerkmale bereitzustellen, die für Benutzerauswahlen und Benutzerstandorte und/oder Echtzeitbedingungen spezifisch sind, um es einem Benutzer zu ermöglichen, Parkverstoß betreffende Informationen zu empfangen. Zum Beispiel kann die Anwendung einem Programm entsprechen, das auf ein Smartphone oder ein anderes tragbares Computergerät wie etwa einen Tablet-Computer oder einen persönlichen digitalen Assistenten (PDA) heruntergeladen wird. Ein Benutzer kann die Anwendung herunterladen und auf einem Computergerät installieren und das Computergerät registrieren.

Benutzeroberflächen können unter anderem eine Homepage-Benutzeroberfläche, ein Benutzerinteraktions-Panel, das für einen oder mehrere Benutzer verwendet wird, um Ideen zur Vermeidung von Parkverstößen zu vermeiden, eine Zusammenfassungsoberfläche, eine Standortbenutzeroberfläche, eine Datenbank umfassen Zugangsschnittstelle oder eine Kombination aus einer der beschriebenen Funktionen. Ein Durchschnittsfachmann würde erkennen, dass es zahlreiche Benutzerschnittstellen gibt, die verwendet werden könnten und für die Verwendung mit jeder geeigneten Benutzerschnittstelle in Betracht gezogen werden.

Die Anwendung kann die Informationen eines Benutzers und andere Daten abrufen, die in der Datenbank gespeichert sind. In einigen Implementierungen kann die Datenbank entfernt gespeichert werden und Benutzerinformationen können aus der/den Datenbank(en) abgerufen werden. Die Anwendung kann die in der Datenbank gespeicherten Daten verwenden, um frühere Standorte mit Daten zu Parkverstößen zu identifizieren.

Eine beispielhafte Ausführungsform der erfinderischen Offenbarung, wie hierin beschrieben, ist nicht auf Anwendungen beschränkt, die herkömmliche Computerprogramme oder programmierbare Vorrichtungen beinhalten, die sie ausführen. Es wird beispielsweise erwogen, dass Ausführungsformen der Erfindung einen optischen Computer, einen Quantencomputer, einen analogen Computer oder dergleichen umfassen könnten. Jedes Element in Flussdiagrammdarstellungen kann einen Schritt oder eine Gruppe von Schritten eines computerimplementierten Verfahrens darstellen. Außerdem kann jeder Schritt einen oder mehrere Unterschritte enthalten. Zur Veranschaulichung werden diese Schritte (sowie alle anderen Schritte, die oben identifiziert und beschrieben wurden) der Reihe nach dargestellt. Es versteht sich, dass eine Ausführungsform eine alternative Reihenfolge der Schritte enthalten kann, die an eine bestimmte Anwendung einer hierin offenbarten Technik angepasst ist. Alle diese Variationen und Modifikationen sollen in den Umfang dieser Offenbarung fallen. Die Darstellung und Beschreibung von Schritten in einer bestimmten Reihenfolge soll Ausführungsformen mit den Schritten in einer anderen Reihenfolge nicht ausschließen, es sei denn, dies wird von einer bestimmten Anwendung verlangt, ausdrücklich angegeben oder anderweitig aus dem Kontext klar. Die in den Flussdiagrammen und Blockdiagrammen in den Figuren dargestellten Elemente implizieren logische Grenzen zwischen den Elementen. Jedoch können die dargestellten Elemente und deren Funktionen gemäß Software- oder Hardware-Engineering-Praktiken als Teile einer monolithischen Softwarestruktur, als eigenständige Softwaremodule oder als Module implementiert werden, die externe Routinen, Code, Dienste usw. verwenden, oder eine beliebige Kombination davon. Alle diese Implementierungen liegen innerhalb des Umfangs der vorliegenden Offenbarung.

Im Hinblick auf das Vorangegangene ist nun zu erkennen, dass Elemente der Blockdiagramme und Flussdiagrammdarstellungen Kombinationen von Elementen zum Ausführen der spezifizierten Funktionen, Kombinationen von Schritten zum Ausführen der spezifizierten Funktionen, Programmbefehlsmedien zum Ausführen der spezifizierten Funktionen usw. unterstützen ein, ob die Schritte automatisch ausgeführt werden oder nicht.

Es versteht sich, dass Computerprogrammanweisungen computerausführbaren Code enthalten können. Eine Vielzahl von Sprachen zum Ausdrücken von Computerprogrammanweisungen sind möglich, einschließlich ohne Einschränkung C, C++, Java, JavaScript, Python, Assemblersprache, Lisp und so weiter. Solche Sprachen können Assemblersprachen, Hardwarebeschreibungssprachen, Datenbankprogrammiersprachen, funktionale Programmiersprachen, zwingende Programmiersprachen und so weiter umfassen. In einigen Ausführungsformen können Computerprogrammanweisungen gespeichert, kompiliert oder interpretiert werden, um auf einem Computer, einer programmierbaren Datenverarbeitungsvorrichtung, einer heterogenen Kombination von Prozessoren oder Prozessorarchitekturen usw. ausgeführt zu werden.

In einigen Ausführungsformen ermöglicht ein Computer die Ausführung von Computerprogrammanweisungen einschließlich mehrerer Programme oder Threads. Die mehreren Programme oder Threads können mehr oder weniger gleichzeitig verarbeitet werden, um die Nutzung des Prozessors zu verbessern und im Wesentlichen gleichzeitige Funktionen zu erleichtern. Als Implementierung können alle hierin beschriebenen Verfahren, Programmcodes, Programmanweisungen und dergleichen in einem oder mehreren Threads implementiert werden. Der eine oder die mehreren Threads können andere Threads hervorbringen, denen selbst zugewiesene Prioritäten zugeordnet sein können. In einigen Ausführungsformen kann ein Computer diese Threads basierend auf der Priorität oder einer anderen Reihenfolge basierend auf Anweisungen verarbeiten, die im Programmcode bereitgestellt werden.

Sofern nicht ausdrücklich angegeben oder anderweitig aus dem Kontext klar hervorgeht, werden die Verben „ausführen“ und „verarbeiten“ austauschbar verwendet, um auf Ausführen, Verarbeiten, Interpretieren, Kompilieren, Zusammenbauen, Verknüpfen, Laden, beliebige und alle Kombinationen des Vorstehenden oder dergleichen hinzuweisen. Daher können Ausführungsformen, die Computerprogrammanweisungen, computerausführbaren Code oder dergleichen ausführen oder verarbeiten, in geeigneter Weise auf die Anweisungen oder den Code auf jede der gerade beschriebenen Weisen reagieren.

Die Erfindung kann im allgemeinen Kontext von computerausführbaren Anweisungen, wie beispielsweise Programmmodulen, die von einem Computer ausgeführt werden, beschrieben werden. Im Allgemeinen umfassen Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., die bestimmte Aufgaben ausführen oder bestimmte Datentypen implementieren. Das Computerprogramm und die Daten können in beliebiger Form (z. B. Quellcodeform, computerausführbare Form oder Zwischenform) entweder dauerhaft oder vorübergehend in einem materiellen Speichermedium wie z. B. einem Halbleiterspeicher (z. B. einem RAM, ROM) fixiert werden , PROM, EEPROM oder Flash-Programmable RAM), ein magnetisches Speichergerät (z. B. eine Diskette oder feste Festplatte), ein optisches Speichergerät (z. B. eine CD-ROM oder DVD), eine PC-Karte (z. B. eine PCMCIA-Karte) ) oder ein anderes Speichergerät. Das Computerprogramm und die Daten können in beliebiger Form in einem Signal festgehalten werden, das unter Verwendung verschiedener Kommunikationstechnologien an einen Computer übertragen werden kann, einschließlich, aber nicht beschränkt auf analoge Technologien, digitale Technologien, optische Technologien, drahtlose Technologien, Netzwerktechnologien und Internetworking-Technologien. Das Computerprogramm und die Daten können in beliebiger Form als Wechselspeichermedium mit begleitender gedruckter oder elektronischer Dokumentation (z. B. eingeschweißte Software oder ein Magnetband), vorinstalliert mit einem Computersystem (z. B. auf einem System-ROM oder einer Festplatte), verbreitet werden. oder von einem Server oder einem elektronischen Bulletin Board über das Kommunikationssystem verteilt werden. Es versteht sich, dass jede der Softwarekomponenten der erfinderischen Offenbarung, falls gewünscht, in ROM-Form (Nur-Lese-Speicher) implementiert werden kann. Die Softwarekomponenten können im Allgemeinen in Hardware implementiert werden, falls gewünscht, unter Verwendung herkömmlicher Techniken.

Beispielhafte Ausführungsformen der erfinderischen Offenbarung können von Mitgliedern der allgemeinen Öffentlichkeit und/oder Computersystemen verwendet werden, die umfassen, aber nicht beschränkt auf: Fachleute, Zivilisten, Fahrzeuge, Websites, Roboter, fahrzeuginterne Systeme, globale Positionsbestimmungssatelliten (GPS), und/oder andere Systeme. Es ist auch beabsichtigt, dass die erfinderische Offenbarung nicht nur innerhalb einer Anwendung einer Computervorrichtung verwendet werden kann, die hauptsächlich Smartphones, Tablet-Computer, Laptop-Computer, Fahrzeugsysteme im Armaturenbrett usw. umfassen kann, sondern auch erweitert werden kann, um Folgendes zu umfassen: andere Systeme oder Dienste, die Parkverstoß betreffende Daten verarbeiten, nutzen und anzeigen können, zum Beispiel Beiträge zum Bereich Informationsdienste für Online-Kartenunternehmen und GPS-Hersteller, Smartphone- oder Mobilgerätehersteller, Mobilfunkanbieter, Anwendungsersteller und Entwickler sowie Entwickler und Vertreiber von mobilen Betriebssystemen, automatisierte Fahrzeugsysteme, die keinen physischen Fahrer im Fahrzeug benötigen usw.

Merkmale einer beispielhaften Ausführungsform der erfinderischen Offenbarung können einem Benutzer eine oder mehrere visuelle und/oder akustische Benachrichtigungen bereitstellen. Diese eine oder mehreren Benachrichtigungen können auf einem fahrzeuginternen Navigationssystem eines Benutzers bereitgestellt werden, oder sie können auf einem separaten Computergerät bereitgestellt werden, wie etwa einem Smartphone oder Tablet über eine kabelgebundene oder kabellose Verbindung. Jedes Merkmal kann in eine Plattform oder eine Anwendungsprogrammschnittstelle (API) integriert werden, um Merkmale bereitzustellen, die auf bestimmten Geräten nicht implementiert werden können. In Fällen, in denen Fahrzeuge bereits über ein fahrzeuginternes Navigationssystem verfügen, können Parkverstoß-bezogene Daten an ein Informationsverarbeitungszentrum geliefert werden, das die zu verwendenden Daten verarbeitet. Nachdem die Daten verarbeitet wurden, können sie ein Untersystem zur Informationsbereitstellung durchlaufen und dann an das fahrzeuginterne Navigationssystem eines Benutzers geliefert werden. In Fahrzeugen, die kein fahrzeuginternes Navigationssystem haben, können Parkverstoß-bezogene Daten in eine oder mehrere Computervorrichtungen integriert werden, die GPS-fähig sein können.

Detaillierte Beschreibung der Figuren hier mit den Figuren ergänzen die weitere detaillierte Beschreibung der Erfindung, um die Erfindung zum besseren Verständnis zu erläutern. Dementsprechend sind die folgenden Beschreibungen und Figuren als veranschaulichend und nicht einschränkend anzusehen. In der Beschreibung der Figuren unten versteht es sich, dass die oben beschriebenen Details mit ähnlichen unten beschriebenen Attributen kombiniert oder anstelle von ähnlichen Attributen verwendet werden können und dass die Figuren nur verwendet werden, um eine bestimmte beispielhafte Ausführungsform der erfinderischen Offenbarung zu veranschaulichen. Es versteht sich, dass zum Zweck der Bereitstellung vereinfachter Figuren, die leicht verständlich sind, viele der obigen Details in den Figuren weggelassen wurden, es wird jedoch in Erwägung gezogen, dass die oben beschriebenen Details in den Ansatz der Beschreibung unten in jeder praktikablen Weise. Hierin beschriebene beispielhafte Ausführungsformen dienen der Veranschaulichung und viele Variationen können eingeführt werden, ohne vom Geist der Offenbarung abzuweichen. Zum Beispiel können Elemente und/oder Merkmale verschiedener beispielhafter Ausführungsformen im Rahmen dieser Offenbarung miteinander kombiniert und/oder gegeneinander ausgetauscht werden.

FEIGE. 1A ist ein schematisches Diagramm, das ein System zum Verwenden von Daten aus der Datenbank veranschaulicht, um Fahrer über das Auftreten von Parkverstößen zu warnen, gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung. Das zentrale Rechensystem 100 kann die primäre Recheneinheit zum Durchführen des hierin beschriebenen Verfahrens sein. Das zentrale Rechensystem 100 kann auf dem operativen Server bereitgestellt werden 101, und wiederum das zentrale Rechensystem 100 ermöglicht dem operativen Server 101 um interaktiv mit anderen Geräten zu kommunizieren. Der operative Server 101 können als ein oder mehrere Servercomputer und/oder virtuelle Maschinen instanziiert werden, die zusammenarbeiten können, um zu bestimmen, wann Fahrer eine Benachrichtigung rechtfertigen, und um den Fahrern die Benachrichtigung bereitzustellen, wenn dies gerechtfertigt ist. Der operative Server 101 kann dies erreichen, indem auf Daten zu Parkverstößen aus Datensätzen in der Datenbank zugegriffen wird 102, über die kommunikativen Mittel des zentralen Computersystems 100, regelmäßiger Zugriff auf die Datensätze in der Datenbank 102. Alternativ können diese Aufgaben durch das zentrale Computersystem erledigt werden 100, das auf den Datensatz historischer und Echtzeit-Parkplatzverstöße in der Datenbank zugreifen kann 102 unter Verwendung bestimmter APIs, per Abonnement oder durch Pushen dieser Daten, sobald sie verfügbar sind. Das zentrale Rechensystem 100 kann auch Daten zu Parkverstößen von einem oder mehreren Benutzern und/oder anderen Entitäten beziehen. Das zentrale Rechensystem 100 kann die historischen und Echtzeitdaten zu Parkverstößen analysieren, um deren Inhalt auf standardisierte und eindeutige Weise zu verstehen. Das zentrale Rechensystem 100 kann eine gesonderte Benachrichtigung für einen Nutzer von Nutzfahrzeugen und nicht-gewerblichen Fahrzeugen sowie eine gesonderte Benachrichtigung nach Fahrzeugtyp und Fahrzeugkennzeichen generieren.

Der Benutzer, der die Daten zu Parkverstößen bereitstellt, kann zusätzlich zur Bereitstellung der Daten auf das zentrale Computersystem zugreifen 100 Parkgebühren zu zahlen. Das zentrale Rechensystem 100 kann sich mit einer Ticketzahlungs-API verbinden 107 um diese Zahlung zu erleichtern, wenn eine solche Ticketzahlungs-API 107 wird von der Ticketausstellungsstelle bereitgestellt. Ein Benutzer kann die Parkverstoß-bezogenen Daten in der Datenbank verwenden, während er in seinem Fahrzeug fährt drive 105 durch Interaktion mit dem zentralen Computersystem 100 über ein Computergerät 106, wie z. B. ein vom Fahrer mitgeführtes Mobilgerät oder ein im Fahrzeug eingebautes Navigationsgerät 105. Das Rechengerät 106 kann mit einem Netzwerk von Kommunikationsbasisstationen kommunizieren 104 und kann mit dem zentralen Computersystem interagieren 100 über das Internet oder eine andere drahtlose Verbindung 103.

FEIGE. 1B ist ein Diagramm, das eine Datenbank gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht. Datensätze sind nach nicht gewerblichen Fahrzeugdaten kategorisiert 108 und Nutzfahrzeugdaten 113 in der Datenbank 102. Datensatz für nicht gewerbliche Fahrzeuge 108 Enthält historische Parkverstoß-Zitatdaten für nicht gewerbliche Fahrzeuge 109, Nicht-Gewerbefahrzeug-Echtzeit-Parkverstoß-Zitatdaten 110, Parkregeln für nicht gewerbliche Fahrzeuge und Abkürzungsdaten 111, und andere nicht für Nutzfahrzeuge relevante Daten 112, wie Fahrzeugtypen, Typenschilder und andere Daten zu nicht gewerblichen Fahrzeugen. Nutzfahrzeugdatensatz 113 gilt nur für Nutzfahrzeuge, einschließlich historischer Parkverstoß-Zitatdaten für Nutzfahrzeuge 114, Nutzfahrzeug-Echtzeit-Parkverstoß-Zitatdaten 115, Parkplatzregeln für Nutzfahrzeuge und Abkürzungsdaten 116, und andere für Nutzfahrzeuge relevante Daten, die Fahrzeugtypen, Typenschilder und andere Daten in Bezug auf Nutzfahrzeuge umfassen können 117. Daten, die im Benutzerinformationsdatensatz gespeichert sind 118 kann Daten wie Fahrzeugtyp, Typenschild usw. enthalten. Der Benutzerinformationsdatensatz 118 kann auch verwendet werden, um Benutzerprofile, Einstellungen, Präferenzen und die Zuverlässigkeit der Benutzereingaben zu speichern, um Systemmissbrauch zu verhindern.

Sobald die Daten im Zusammenhang mit Parkverstößen in der Datenbank standardisiert und eindeutig sind, wird das zentrale Computersystem 100 kann diese Daten zu Parkverstößen aus der Datenbank interpretieren 102 ein Regelwerk zu verstehen, das die Durchsetzung von Parkverstößen in einem bestimmten Gebiet zu regeln scheint. Bei diesen Regeln kann es sich um mathematische Funktionen handeln, die Standort-, Tages- und Zeitdaten als Eingabe verwenden und als Ausgabe einen Hinweis darauf liefern, ob mit dem bereitgestellten Standort, Tag und Uhrzeit möglicherweise eine Parkverletzung verbunden ist. Diese Regeln können in einem Parkregel- und Abkürzungsdatensatz für nicht gewerbliche Fahrzeuge gespeichert werden 111 und Nutzfahrzeuge 116, wo verschiedene parkplatzbezogene Abkürzungen und Fachjargon für bestimmte Quellen verwendet werden. Der nicht-gewerbliche Fahrzeugdatensatz 108 und den Nutzfahrzeugdatensatz 113 abgerufen werden, um die entsprechende Benachrichtigung an den Benutzer zu generieren. Der Datensatz für Parkregeln und Abkürzungen für nicht gewerbliche Fahrzeuge 111 und Nutzfahrzeuge 116 kann abgerufen werden, um die Standardisierung von Daten zu Parkverstößen zu unterstützen. Ein Datensatz mit Verletzungscodes 119 kann von Strafverfolgungsbehörden/Behörden verwendete Verstoßcodes und gesetzliche Verstoßcodes und deren entsprechende Definitionen speichern.

Die Datenbank 102 kann auch wetterbezogene Daten enthalten, um eine Verbindung zu Standorten mit Verletzungsdaten herzustellen. Historische Wetterdaten 120 kann sich mit historischen Zitationsdaten verbinden, um vorhandene Informationen über die Korrelation zwischen bestimmten Wetterereignissen und Parkverstößen zu finden. Beispielsweise können bei Schneenotfällen ausgewiesene legale Parkplätze aufgrund von Notdiensten, die zum Entfernen von Schnee usw. erforderlich sind, illegal sein. Historische Wetterdaten 120 kann mit historischen Parkverstoß-Zitatdaten für nicht gewerbliche Fahrzeuge verbunden werden 109 und historische Daten zu Parkverstößen bei Nutzfahrzeugen 114 um Korrelationsinformationen zu erhalten, die mit Echtzeit-Wetterdaten verwendet werden können 121 um zu bestimmen, ob eine Benachrichtigung an einen Benutzer zu senden ist, dessen aktueller Standort anzeigt, dass der Benutzer möglicherweise wetterbezogenen Parkhinweisen ausgesetzt ist. Darüber hinaus werden alle Daten und Informationen in Bezug auf das Benutzerengagement-Panel in den mit dem Benutzerengagement-Panel zusammenhängenden Daten gespeichert 122 bestehend aus Neugestaltung der Parkplatzbeschilderungsdaten sowie anderer Daten zur Parkplatzbeschilderung 123 Dies kann Übersetzungen oder Neugestaltungen der Beschilderung, Daten zu den beigesteuerten Parkverstößen beinhalten 124 von einem Benutzer, der nicht in der Datenbank war 102, Vorschläge zur Vermeidung von Parkverstößen 125, Beratung bei der Anfechtung eines Parkverstoßes 126, sowie Bewertungsdaten zu allen an das Panel übermittelten Daten 127 das sich auf alle Daten oder Informationen und die Bewertungen bezieht, die sie in den Daten des User Engagement Panels erhalten haben 122. Andere Daten 128 die für eine wirksame Benachrichtigung relevant sind, können auch geografische Daten in die Datenbank eingegeben werden 102.

FEIGE. 2 ist ein schematisches Diagramm, das einen Ansatz zum Warnen eines Fahrers gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht. Das zentrale Rechensystem 100 kann bestimmen, wann der Fahrer des Fahrzeugs 105 zeigt die Parkabsicht durch Identifizierung der Geschwindigkeit und des Standorts des Fahrzeugs an. Dann das zentrale Rechensystem 100 kann den Fahrer über mögliche Parkverstöße informieren, wenn das Fahrzeug 105 liegt innerhalb des vorgegebenen Radius R 203 eines Ortes, an dem die Parkverstoßzuordnung für die Geolokalisierung erstellt wurde 202 mit in der Datenbank gespeicherten Daten und Parkregeln zu früheren Parkverstößen 102. Wie abgebildet, das Fahrzeug 105 kann auf einer bestimmten Straße unterwegs sein 201. Wenn das zentrale Computersystem 100 erkennt Parkabsicht durch Ermittlung der aktuellen Geschwindigkeit und Position des Fahrzeugs 105, dann zentrales Rechensystem 100 kann aus den in der Datenbank gespeicherten Daten zu Parkverstößen und Parkregeln ermitteln 102 wenn dieser Standort mit Parkverstößen für die aktuelle Uhrzeit und den aktuellen Tag verbunden ist und der Benutzertyp, zu dem der Benutzer gehört. Wenn dies so verknüpft ist, jede Absicht, innerhalb dieses vorbestimmten Radius zu parken 203 kann dadurch eine Benachrichtigung an den Fahrer des Fahrzeugs generieren 105 vom Computersystem 100.

FEIGE. 3A ist ein schematisches Diagramm, das die Interaktion eines Benutzers mit dem zentralen Computersystem unter Verwendung eines Mobilgeräts veranschaulicht, wenn ein Benutzer ein Parkticket gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung meldet. Für die Zwecke dieser Veranschaulichung ist das Computergerät 106 wird als mobiles Gerät dargestellt 301 wie ein Smartphone versteht es sich jedoch, dass das Computergerät 106 ist nicht darauf beschränkt und kann eine fahrzeugintegrierte Informations-/Unterhaltungseinheit oder eine beliebige andere Computervorrichtung oder ein beliebiges Kommunikationsmodul sein.

Wenn einem Benutzer ein Zitat ausgestellt wird 302 bei einem Parkverstoß darf der Nutzer das Mobilgerät verwenden 301 zum Beispiel ein Smartphone, um ein Foto des Zitats zu machen 302. Als Zitat 302 können sensible Informationen wie die Fahrzeugidentifikationsnummer (FIN) und andere personenbezogene Daten wie Name, Wohnadresse usw. enthalten, die sensiblen Informationen können geschwärzt werden 303 entweder automatisch vom Mobilgerät 301 oder manuell durch den Benutzer. Alternativ kann der Benutzer das Zitat eingeben 302 Informationen manuell in das mobile Gerät 301B. durch Auswahl aus verschiedenen Drop-Down-Menüs und/oder durch Eingabe dieser und anderer Informationen in Freitextfelder. Der Benutzer kann auch das mobile Gerät verwenden 301 um den Fahrzeugtyp oder das Typenschild des Fahrzeugs auszuwählen, ein Foto, ein Video und/oder eine Audionachricht bereitzustellen, was besonders nützlich sein kann, wenn der Benutzer fährt. Wie oben beschrieben, können die Fahrer beim Parken eine Benachrichtigung erhalten.

FEIGE. 3B ist ein Flussdiagramm, das veranschaulicht, wie die vom Benutzer gemeldeten Parkscheininformationen gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung erkannt, verarbeitet und in das System hochgeladen werden. Ein Benutzer kann dem Benutzerinteraktionsfeld S . Parkplatz-Zitatinformationen bereitstellen304 einschließlich, aber nicht beschränkt auf den genauen Standort gemäß GPS, den Zeitpunkt des Erhalts des Verstoßes, den Grund für den Erhalt des Verstoßes, den Fahrzeugtyp und das Typenschild des Fahrzeugs und alle anderen zusätzlichen relevanten Informationen usw. Parkhinweisinformationen können manuell von der . eingegeben werden Benutzer, oder das System kann eine optische Zeichenerkennung (OCR) durchführen S305 um die Informationen zu erhalten. Wenn die Eingabe manuell erfolgt, kann der Benutzer Daten des empfangenen Parkverstoßes eingeben, indem er die verfügbaren Optionen S auswählt306. Sobald alle Optionen ausgewählt und andere zugehörige Informationen ausgefüllt wurden, können die Daten verarbeitet werden S309 innerhalb des Systems durch Bereinigen, Formatieren und Deduplizieren usw. Wenn es fertig ist, kann es in die Datenbank S hochgeladen werden310.

Wenn die Eingabe durch OCR erfolgt, kann ein Benutzer ein Parkverstoß-Zitatfoto hochladen S307, die in Textdaten umgewandelt werden können S308 gemäß OCR-Techniken durch einen zu verarbeitenden Bildprozessor S309 durch Bereinigen, Formatieren und Deduplizieren usw. der Daten. Sobald die Daten vollständig verarbeitet sind, können sie in die Datenbank S . hochgeladen werden310. Beispielsweise kann ein Verstoß vorliegen, der besagt: „Taxi parkt in einem Bereich nur für gewerbliche Lastkraftwagen zum Be- und Entladen von Waren“. Das System kann das Ticket erkennen und die Daten mit Indikatoren in die Datenbank hochladen, die das Ticket als nur für Nicht-Lkw-Fahrzeuge ausgestelltes Ticket kennzeichnen.

FEIGE. 4A ist ein Diagramm, das ein Benutzerschnittstellen-Beteiligungsfeld (Ticket-Sharing und Q/A/C) basierend auf einem bestimmten Ort gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht. Wenn ein Benutzer auf das Benutzerinteraktionsfeld im System der mobilen Anwendung zugreift, kann der Benutzer zwischen mehreren Feldern innerhalb des Benutzerinteraktionsfelds wählen, z. B. Tickets teilen 41 und Fragen, Antworten und Kommentare 44. Ein Benutzer kann innerhalb des Benutzerinteraktions-Panels bewerten oder melden, Kommentare abgeben, Gründe anzeigen, Ort des Verstoßes, Ticketstrafenbeträge, die Anzahl der zuvor für den Ort ausgestellten Tickets 42. Ein Benutzer kann auch seinen eigenen Kommentar hinzufügen 43 zum Beitrag des User Engagement Panels, während er auch Bilder, Videos, Sprachaufzeichnungen usw. einsendet. Ein Benutzer kann auch Fragen auswählen und einreichen 45, Antworten 46, und Kommentare in den Fragen, Antworten und Kommentaren 44 Tafel.

FEIGE. 4B ist ein Diagramm, das ein Benutzerschnittstellen-Eingriffsfeld (Signs & Other) basierend auf einem bestimmten Ort gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht. Wenn ein Benutzer auf das Benutzerinteraktionsfeld im System der mobilen Anwendung zugreift, hat der Benutzer möglicherweise mehrere Felder im Benutzerinteraktionsfeld zur Auswahl, wie z 47 und andere 49 nicht im oben genannten enthalten, falls vorhanden. Das Schilder-Panel 47 ermöglicht es einem Benutzer, den auf der Parkplatzbeschilderung vorhandenen Inhalt anzuzeigen 48 von einem Benutzer gemeldet und von anderen Benutzern zu ihrer Interpretation der Zeichen kommentiert. Alle Kommentare oder Antworten innerhalb des User Engagement Panels unterliegen Bewertungen. Die Kommentare oder Antworten mit den positivsten Bewertungen können oben in der Liste angezeigt werden. Alle Kommentare und Antworten können von einem oder mehreren Benutzern gemeldet werden, und der Administrator kann Mitarbeiter mit Erfahrung im Verkehrsrecht einstellen, um Benutzern bei der Lösung ihrer Bedenken zu helfen und professionelle Antworten zu geben. Das Benutzerinteraktionsfeld kann Andere 49 Panel wie vom Administrator des Systems festgelegt. Alternativ kann der Benutzer mit jedem der Bildschirme auf dem in den Fig. 1 und 2 gezeigten Benutzerinteraktionsfeld interagieren. 4A und 4B unter Verwendung von Sprachbefehlen durch Sprechen der gewünschten Option. Wenn ein Benutzer beispielsweise ein Parkverbot melden möchte, kann er den Ausdruck „Tickets teilen“ oder „Ticket teilen“ sprechen, um den Bildschirm „Tickets teilen“ aufzurufen 41 auf dem User-Engagement-Panel. Von dort aus kann der Benutzer „Melden“ sprechen, um die entsprechende Aufforderung zu aktivieren, um weitere Gründe, Standort, Preis, relevante Fotos usw. einzugeben. Sobald alle relevanten Informationen eingegeben wurden, kann der Benutzer „Senden“ sprechen oder sagen. um die Informationen an das Computersystem zu senden 100 oder kann „Zurück“ sprechen oder sagen, wenn der Benutzer den Bildschirm wechseln möchte. In ähnlicher Weise kann der Benutzer Sprachbefehle verwenden, um mit Bildschirmen für andere Funktionen zu interagieren, wie z. B. dem Bildschirm „Fragen, Antworten und Kommentare“. 44, der Bildschirm Zeichen 47, oder der Bildschirm Andere 49.

FEIGE. Fig. 5 ist ein Flussdiagramm, das einen Ansatz zum Verarbeiten von Parkverstoß-bezogenen Daten basierend auf historischen Parkverstoß-bezogenen Daten und Echtzeit-Parkverstoß-bezogenen Daten gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung darstellt. Wie oben erörtert, können Informationen zu Parkverstößen aus mindestens zwei Quellen stammen: historischer Datensatz zu Parkverstößen für nicht gewerbliche Fahrzeuge 109 und Nutzfahrzeuge 114 und Echtzeit-Datensatz zu Parkverstößen für nicht gewerbliche Fahrzeuge 110 und Nutzfahrzeuge 115. Zunächst muss festgestellt werden, ob öffentliche Daten verfügbar sind S501. Wenn ja, kann auf Quellen zugegriffen werden S502. Bei diesen Quellen kann es sich um Regierungs- oder andere Medienquellen handeln. Auf jede Quelle, die Daten zu Parkverstößen öffentlich zugänglich macht, kann zugegriffen werden. Dieser Zugriff kann automatisch und periodisch erfolgen. Sobald der Zugang eingerichtet wurde, können Daten zu Verstößen von Websites und zusätzlichen Quellen angefordert werden S503, und die angeforderten Daten können dann von den Websites und zusätzlichen Quellen bezogen werden 504. Da diese Daten in einer Form vorliegen können, die von der jeweiligen Quelle diktiert wird, können die empfangenen Verletzungsdaten nach Schlüsselfeldern S geparst werden506, und die Schlüsselfelder sind eindeutig S507.

Wie oben beschrieben, können Parkverstoß-bezogene Daten aus privaten Daten stammen. Wenn also keine Daten von einer öffentlichen Stelle öffentlich zugänglich sind oder an einem öffentlich zugänglichen Ort wie einer veröffentlichten Website veröffentlicht sind, können von einem Benutzer S . Hinweise auf einen Verstoß empfangen werden508. Die Anzeige informiert das System darüber, dass der Benutzer einen Hinweis auf einen Parkverstoß erhalten hat, und somit kann der Prozess zum Sammeln von Hinweisdaten beginnen. Während dieses Vorgangs kann das System, wie oben beschrieben, die entsprechenden Zitationsdaten vom Benutzer anfordern sowie Vorschläge zur Vermeidung eines Zitats S509. Als nächstes wird bestimmt, ob ein Foto oder ein Scan des Zitats empfangen wird S510. Wenn dieses Foto oder dieser Scan empfangen wird, kann eine optische Zeichenerkennung (OCR) auf dem Foto durchgeführt werden, das möglicherweise geschwärzt wurde S505. Nachdem OCR durchgeführt wurde, kann der OCR-Text nach Schlüsselfeldern geparst werden S506. Nach dem Parsen der OCR-Daten oder der Gemeindedaten können Schlüsselfelder eindeutig sein S507. Es versteht sich, dass beim Schreiben der Zitate derselbe Ort auf viele verschiedene Arten beschrieben werden kann. Zum Beispiel kann auf den Parkplatz mit der Adresse verwiesen werden, vor der er sich befindet, oder in einigen Fällen gegenüber. Diese Adresse kann auch auf viele verschiedene Arten bereitgestellt werden. Eine einzelne Straße kann beispielsweise als „Sixth Avenue“, „6th Avenue“, „Avenue of the Americas“ usw. geschrieben werden. Die Begriffsklärung konvertiert daher alle Daten in ein einziges Format, zum Beispiel kann ein Standort in Breitengrad/ Längengradkoordinaten, damit es keine Mehrdeutigkeit gibt. Die Begriffsklärung kann auch verwendet werden, um Verletzungsnamen zu standardisieren, beispielsweise mit Bezug auf die Abkürzungen.

Wenn der Benutzer jedoch kein Foto oder gescanntes Bild des Zitats bereitstellt, kann der Benutzer aufgefordert werden, die Schlüsselfelder mit relevanten Daten S . auszufüllen511B. auf eindeutige Weise, etwa durch Auswahl aus verschiedenen Optionen oder manuelle Eingabe in Freitextfelder, ist in diesem Fall möglicherweise nicht erforderlich. In beiden Fällen können aus allen gesammelten Daten doppelte Verstöße entfernt werden S512, gereinigt und formatiert S513, mit geokodierten Standorten S514 um sicherzustellen, dass dieselbe Instanz eines Zitats nicht doppelt gezählt wird. Dies kann beispielsweise anhand einer für die ausstellende Stelle spezifischen Zitationsnummer erfolgen. Sobald die Daten bereinigt und formatiert sind, können sie dem Verletzungsdatensatz in der Datenbank hinzugefügt werden S515. Wenn sich die neuen Verstoßdaten auf ein nicht gewerbliches Fahrzeug beziehen, können die Daten im Datensatz S für nicht gewerbliche Fahrzeuge gespeichert werden516. Wenn die neuen Verstoßdaten ein Nutzfahrzeug betreffen, können die Daten im Nutzfahrzeugdatensatz S' gespeichert werden517. Außerdem können neue Verletzungsdaten nach Fahrzeugtyp und Fahrzeugschildtyp untergruppiert werden. Die Daten können zeit-, tages- und ortsbezogene Regeln für gewerbliche und nicht gewerbliche Fahrzeuge umfassen, damit das System Parkregeln bestimmt.

FEIGE. 6 ist ein Flussdiagramm, das ein Verfahren und ein System veranschaulicht, um den Benutzer basierend auf den Daten in der Datenbank gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung zu warnen. Die Standortkoordinaten von Fahrern können zum Beispiel periodisch an das System übertragen werden, und das System kann diese Koordinatendaten, d. h. Geolokalisierung, sowie Informationen über ihren Fahrzeugtyp und die Art des Fahrzeugschilds von den Fahrern S' empfangen601. Die aktuelle Geschwindigkeit und das beabsichtigte Ziel des Fahrers können vom System vom Computergerät empfangen werden 106 des Benutzers S602. Das System kann dann den Benutzer nach der Absicht fragen, S . zu parken603. Wenn ja, kann das System die aktuelle Zeit (Zeitstempel) S . identifizieren605. Falls nein, kann das System die Parkanfrage basierend auf den Präferenzen des Benutzers wiederholen S604. Das System kann auch weiterhin Standortkoordinaten vom Fahrer S . empfangen601 und die Geschwindigkeit des Fahrzeugs und das beabsichtigte Ziel S602 um die Parkabsicht des Benutzers zu bestimmen.

Falls festgestellt wird, dass der Fahrer parkt S603, kann das System dann den Zeitstempel S user des Benutzers empfangen605, entspricht der heutigen Zeit. Die Datenbank 102 kann vom System mit dem aktuellen Standort und der aktuellen Uhrzeit des Fahrers und anderen Informationen abgefragt werden S606 um festzustellen, ob es einen zutreffenden vorherigen Parkverstoß gibt S607. Wenn festgestellt wird, dass die Datenbank keine Daten zu früheren Verstößen für diesen Standort enthält, kann dem Benutzer eine Benachrichtigung ausgegeben werden, dass der Benutzer an diesem Standort parken darf S609. Wenn festgestellt wird, dass Zitate am Standort aufgetreten sind und auf den Benutzertyp des Fahrers und die aktuelle Uhrzeit/den aktuellen Tag zutreffen S607, dann kann eine Benachrichtigung an den Benutzer ausgegeben werden, S nicht zu parken610. Wenn festgestellt wird, dass an dem Standort zu einem Zeitpunkt oder Tag in naher Zukunft (innerhalb eines Zeitraums, für den wahrscheinlich geparkt werden wird)607, dann kann vom Benutzer S . eine optionale Folgebenachrichtigung gesetzt werden608, damit der Benutzer vom System mit einer Benachrichtigung S . benachrichtigt werden kann610 zu einem späteren Zeitpunkt, um den Nutzer an die Notwendigkeit zu erinnern, den Parkplatz vor dem Zeitpunkt oder dem Tag, an dem ein Parkverstoß bekannt geworden ist, zu verlassen. Das zentrale Rechensystem 100 kann Bewertungen vom Benutzer erhalten S611, ob die von ihm erhaltene Benachrichtigung zutreffend ist.

FEIGE. 7 ist ein schematisches Diagramm, das den Aufbau einer Computervorrichtung zum Melden von Parkverstößen und zum Empfangen einer Benachrichtigung mit Parkverstoß-bezogenen Daten gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht. Das Rechengerät 106 kann mit allen seinen materiellen oder immateriellen Komponenten in Verbindung stehen und kann interne Geräte enthalten 700 und externe Geräte 709. Das Rechengerät 106 kann ein Gerät wie ein mobiles Gerät oder ein fahrzeuginternes Navigationssystem sein, und es kann ein Kommunikationsmittel zum Empfangen von Sprache, Text und Daten verwenden 701 zum Anschluss an das zentrale Rechensystem 100 wie über das Internet oder andere Mobilfunk-/Drahtlosverbindungen 103. Das Rechengerät 106 kann ein Standortbestimmungsgerät oder einen GPS-Empfänger umfassen 702 zur Identifizierung eines aktuellen Standorts. Ein Anwendungsprozessor 703 kann zum Ausführen von Software auf dem Computergerät verwendet werden. Das Computergerät kann auch Speicher wie Random Access Memory (RAM) oder Flash-Speicher enthalten flash 704. Eingabe-/Ausgabegeräte 705 kann verwendet werden, um das Computergerät mit anderen Systemimplementierungen zu verbinden, insbesondere abhängig von den verfügbaren Funktionalitäten eines Computergeräts. Beispielsweise kann ein fahrzeuginternes Navigationssystem keine Kamera aufweisen, während ein mobiles Gerät eine eingebaute Kamera aufweisen kann. In diesem Fall kann eine Kamera als Eingabe für das fahrzeuginterne Navigationssystem enthalten sein. Andere E/A-Geräte können ein Mikrofon und/oder einen Lautsprecher umfassen. Das Computergerät kann auch eine Anzeigevorrichtung enthalten 706, die eine vom zentralen Computersystem empfangene Benachrichtigung oder andere Daten für einen Benutzer empfangen und anzeigen kann 100. Das Anzeigegerät 706 kann beispielsweise ein elektronisches Touchscreen-Display sein. Das Computergerät kann auch mit einem internen Uhrmechanismus kommunizieren 707 die Gegenwart zu bestimmen. Ein Beschleunigungsmesser oder ein Tachometer 708 kann auch mit dem Mobilgerät kommunizieren, das Geschwindigkeit, Beschleunigung oder Richtungsänderungen messen kann. Externe Geräte 709 kann sich auch über eine drahtgebundene oder drahtlose Verbindung mit dem Computergerät verbinden. Bei diesen externen Geräten kann es sich um ein beliebiges Gerät handeln, das bestimmte fehlende Funktionalitäten eines bestimmten Computergeräts ausgleichen kann, sei es ein mobiles Gerät wie ein Tablet oder Smartphone oder ein fahrzeuginternes Navigationssystem oder ein anderes Computergerät usw.

FEIGE. 8 zeigt die physikalische Zusammensetzung eines entfernten operativen Servers 101 die ein Verfahren und ein System der erfinderischen Offenbarung gemäß einer beispielhaften Ausführungsform implementieren können. Das System und das Verfahren der vorliegenden Offenbarung können in Form einer Softwareanwendung implementiert werden, die über Konnektivitätsmittel eines zentralen Computersystems läuft, zum Beispiel ein Großrechner, ein Personalcomputer (PC), ein Handheld-Computer, ein Server usw. Die Softwareanwendung kann auf einem Aufzeichnungsmedium gespeichert werden, auf das lokal durch das zentrale Computersystem zugegriffen werden kann und auf das über eine festverdrahtete oder drahtlose Verbindung zu einem Netzwerk, beispielsweise einem lokalen Netzwerk oder dem Internet, zugegriffen werden kann.

Der operative Server 101 allgemein als Server bezeichnet, der beispielsweise eine zentrale Verarbeitungseinheit (CPU) umfassen kann 801, eine Speichereinheit 804, eine Druckerschnittstelle 810, Anzeigeeinheiten 811, eine Datenübertragungssteuerung für ein lokales Netzwerk (LAN) 805, eine LAN-Schnittstelle 806, ein Netzwerkcontroller 803 an ein öffentliches Telefonnetz (PSTN) angeschlossen, einen internen Bus 802, und ein oder mehrere Eingabegeräte 809, zum Beispiel eine Tastatur, Maus usw. Wie gezeigt, kann das System an ein Datenspeichergerät, zum Beispiel eine Festplatte, angeschlossen werden 808 über einen Link 807.

FEIGE. 9 ist ein schematisches Diagramm, das ein System und ein Verfahren für eine Computervorrichtung darstellt, um eine Verbindung mit der Datenbank des Systems herzustellen 102 über das zentrale Rechensystem 100 und Empfangen einer Benachrichtigung, die Nutzfahrzeugen gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung entspricht. Eine Kombination von Daten in der Datenbank zur Generierung einer Meldung für Nutzfahrzeuge 901 kann den Nutzfahrzeugdatensatz enthalten 113, Benutzerinformationsdatensatz 118, Verletzungscode-Datensatz 119, und andere relevante Daten 128. Das Rechengerät 106 verbindet sich mit dem zentralen Computersystem 100, die sich wiederum an die Datenkombination in der Datenbank zur Generierung einer Benachrichtigung für Nutzfahrzeuge anschließt 901, ist für die Integration mit einer interaktiven elektronischen Karten-API konfiguriert 902, wie Google Maps© API, sowie eine Benachrichtigung bezüglich des Nutzertyps des Nutzers empfangen und anzeigen. Die Benachrichtigung kann spezifisch für ein Nutzfahrzeug sein, wenn die Benachrichtigung in ihren Informationen besonders relevant ist. Die in einer Benachrichtigung enthaltenen Informationen 903 kann auf spezifischen Daten aus der Datenkombination für Nutzfahrzeuge basieren 901, da die Benachrichtigung basierend auf dem Benutzertyp des Benutzers selektiv ausgegeben werden kann, ferner basierend auf dem Fahrzeugtyp und dem Fahrzeugplatztyp. Diese Benachrichtigung kann auf zwei Arten übermittelt werden: visuell 904 und/oder per Stimme 905.

In einer Ausführungsform ist das entfernte Computergerät 106 kann ein Gerät sein, das es einem Benutzer ermöglicht, mit dem Computersystem zu interagieren 100 durch Bereitstellen eines interaktiven Sprachantwortgeräts (IVR), in das der Benutzer über Sprachbefehle Daten eingeben oder eine Auswahl treffen kann. Der Benutzer kann in das Computergerät sprechen 106 um Eingaben zu machen, Änderungen vorzunehmen oder auf andere Weise mit allen Funktionen des Systems zu interagieren. Ein Benutzer kann beispielsweise sagen „Bitte Benachrichtigungen deaktivieren“, um zu verhindern, dass das System zu viele Benachrichtigungen sendet. Funktionalitäten innerhalb des Systems der mobilen Anwendung können mit APIs von Drittanbietern integriert werden, um Sprach-zu-Text-Fähigkeiten bereitzustellen. Die Benutzer, die die Voice-to-Text-Funktion verwenden, können ihre Stimme aufnehmen, indem sie in das Mikrofon des Computergeräts sprechen speaking 106, sodass das System jeden Sprachbefehl oder jede Eingabe in ein Textäquivalent innerhalb der mobilen Anwendung ändern kann. Dementsprechend müssen die Benutzer nicht notwendigerweise Informationen manuell eingeben und können Informationen durch einfaches Sprechen an das System übermitteln. Alle Funktionen der mobilen Anwendung, wie Benachrichtigungen und das User Engagement Panel, können in verschiedenen Sprachen verfügbar sein, die vom Benutzer geändert werden können. Das System kann einen Dienst und/oder eine API eines Drittanbieters verwenden, oder der Systemadministrator kann Fachleute einstellen, um den Inhalt in verschiedene Sprachen zu übersetzen oder Erklärungen in einfachem Englisch bereitzustellen. Es kann andere Funktionalitäten geben, die es der Anwendung ermöglichen, sich in andere APIs zu integrieren, um Sprach-zu-Text-Fähigkeiten bereitzustellen. Die Benutzer, die diese Funktion verwenden, können ihre Stimme aufnehmen, indem sie in das Computergerät sprechen 106, die das System innerhalb der Anwendung in ein Textäquivalent ändern kann. Dementsprechend müssen die Benutzer nicht notwendigerweise Informationen manuell eingeben und können Informationen mündlich eingeben. Sowohl schriftliche als auch mündliche Benachrichtigungen können in einer Vielzahl von Sprachen verfügbar sein und können in den Benutzereinstellungen geändert werden. Die Nutzer können auch bewertungspflichtige Übersetzungen gegen Prämien zur Verfügung stellen.

FEIGE. 10 ist ein schematisches Diagramm, das ein System und ein Verfahren für eine Computervorrichtung veranschaulicht, um eine Verbindung mit der Datenbank des Systems herzustellen 102 über das zentrale Rechensystem 100 und Empfangen einer Benachrichtigung, die nicht gewerblichen Fahrzeugen entspricht, gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung. Eine Kombination von Daten in der Datenbank zur Generierung einer Meldung für nicht gewerbliche Fahrzeuge 1000 kann den nicht gewerblichen Fahrzeugdatensatz enthalten 108, Benutzerinformationsdatensatz 118, Verletzungscode-Datensatz 119, und andere relevante Daten 128, die verwendet werden kann, um eine Benachrichtigung für ein nicht gewerbliches Fahrzeug über das zentrale Computersystem zu generieren 100. Das Rechengerät 106 verbindet sich mit dem zentralen Computersystem 100, die wiederum eine Verbindung mit der Datenkombination in der Datenbank herstellt, um eine Benachrichtigung für nicht gewerbliche Fahrzeuge zu generieren 1000. Das Rechengerät 106 kann für die Integration mit einer interaktiven elektronischen Karten-API konfiguriert werden 902, wie Google Maps© API, sowie für den Empfang und die Anzeige einer Benachrichtigung konfiguriert sind. Die in einer Benachrichtigung enthaltenen Informationen 1001 kann auf spezifischen Daten aus der Datenbank für nicht-gewerbliche Fahrzeuge basieren 1000, da die Benachrichtigung basierend auf dem Benutzertyp des Benutzers und ferner basierend auf dem Fahrzeugtyp und dem Typ des Fahrzeugschilds selektiv ausgegeben werden kann. Diese Benachrichtigung 1001 kann auf zwei Arten geliefert werden: optisch 904 und/oder per Stimme 905.

FEIGE. 11 ist ein schematisches Diagramm, das ein System zum Verwenden der Datenbank veranschaulicht, um Fahrer über das Auftreten von Parkverstößen durch eine Computervorrichtung gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung zu warnen. Das Rechengerät 106 kann mit einem Netzwerk von Kommunikationsbasisstationen kommunizieren 104 und kann mit dem zentralen Computersystem interagieren 100 über das Internet oder andere drahtlose Verbindungen 103. Der operative Server 101 können als ein oder mehrere Servercomputer und/oder virtuelle Maschinen instanziiert werden, die mit den Kommunikationsmitteln des zentralen Computersystems zusammenarbeiten können 100 um die Parkverstoß-bezogenen Daten aus einer Vielzahl von Quellen zu sammeln, um zu bestimmen, wann Fahrer eine Benachrichtigung rechtfertigen, und um den Fahrern die Benachrichtigung bereitzustellen. Der operative Server 101 kann dies erreichen, indem auf Daten zu Parkverstößen aus Datensätzen in der Datenbank zugegriffen wird 102. Das zentrale Rechensystem 100 kann periodisch die Datensätze in der Datenbank abfragen 102. Alternativ kann das zentrale Rechensystem 100 kann auf Daten zu Parkverstößen in der Datenbank zugreifen 102 unter Verwendung bestimmter APIs, per Abonnement oder durch Pushen dieser Daten, sobald sie verfügbar sind. Das Rechengerät 106 darf im Fahrzeug verbaut werden 105 oder kann ein mobiles Gerät eines Benutzers sein. Das Rechengerät 106 kann sich mit seinen internen Geräten verbinden 700 und externe Geräte 709 in Kommunikation damit, um mit dem zentralen Computersystem zu kommunizieren 100 um Daten wie Uhrzeit, Datum, Standort usw. weiterzugeben, eine Benachrichtigung zu erhalten, zu verarbeiten und diese Benachrichtigung dem Benutzer anzuzeigen. Das zentrale Rechensystem 100 kann die Benachrichtigung für einen nicht gewerblichen Fahrzeugnutzer und einen gewerblichen Fahrzeugnutzer getrennt generieren.

FEIGE. 12 ist ein Flussdiagramm, das den Prozess des Bewertens von Parkverstoß-bezogenen Daten oder einer an das Benutzereingriffspanel übermittelten Benachrichtigung gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung darstellt und wie sich diese Bewertungen der Daten auf die Daten in der Datenbank auswirken 102. Der erste Schritt in diesem Prozess besteht darin, dass der Benutzer Parkverstoß betreffende Daten an das Benutzerinteraktionsfeld S' übermittelt1200. Diese Daten zu Parkverstößen können eine Neugestaltung der Parkbeschilderung in Bezug auf die Übersetzung in eine andere Sprache oder die Klarstellung von Inhalten, Vorschläge zur Vermeidung eines Parkverstoßes usw. umfassen. Diese Informationen werden dann von anderen Benutzern je nach ihrer Genauigkeit bewertet S1201. Das System sammelt und verwendet Benutzerbewertungen (positiv und negativ), um die bereitgestellten Daten zu Parkverstößen zu sortieren S1202. Wenn ein Benutzer die übermittelten Daten zu Parkverstößen in Bezug auf ihre Richtigkeit negativ bewertet, hat dieser Benutzer die Möglichkeit, nachzuweisen, warum diese Daten zu Parkverstößen falsch sein können S1203. Bewertungen können vom System gesammelt werden, bis festgestellt wird, dass positive Bewertungen eine vorbestimmte Anzahl S . erreicht haben1204. Wenn die Anzahl der Bewertungen die vorbestimmte Anzahl nicht erreicht hat, kann das System weiterhin Bewertungen von anderen Benutzern sammeln S1201. Wenn die Anzahl positiver Bewertungen eine vorbestimmte Anzahl erreicht hat, können die beigesteuerten Parkverstoß-bezogenen Daten verwendet werden, um die Datenbank entsprechend zu korrigieren, zu aktualisieren und zu ergänzen S'1205. Somit kann das Korrigieren, Aktualisieren und Ergänzen der Datenbank von positiven oder negativen Bewertungen ausgehen. Positive Bewertungen können verwendet werden, um die Daten in der Datenbank zu ersetzen oder zu verstärken, und negative Bewertungen können verwendet werden, um ungenaue Daten zu identifizieren oder ungültig zu machen. Sobald sie in der Datenbank sind, können diese beigesteuerten Parkverstoß-bezogenen Daten in eine relevante Benachrichtigung bezüglich dieser Parkverstoß-bezogenen Daten aufgenommen werden S1206. Wenn beispielsweise die an das User-Engagement-Panel übermittelten Daten zu Parkverstößen einen Vorschlag zur Vermeidung des Erhalts eines Parkverstoßes an einem bestimmten Ort darstellen, können dieser Vorschlag oder seine Daten in die Benachrichtigung aufgenommen werden, die für diesen Ort relevant ist, und/ oder Zeit und die anschließend generiert und ausgegeben wird S1207 an einen entsprechenden Benutzer.

FEIGE. 13 ist ein Flussdiagramm, das einen kreisförmigen Prozess zum Bewerten einer Benachrichtigung zum Korrigieren, Aktualisieren und Ergänzen von Parkverstoß-bezogenen Daten innerhalb der Datenbank darstellt 102 gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung. Sobald die Parkabsicht eines Benutzers identifiziert ist, kann das System Parkverstoß-bezogene Daten verwenden, die in der Datenbank enthalten sind 102, um eine Benachrichtigung zu generieren und auszugeben, die einen Benutzer vor einem möglichen Parkverstoß warnt, S1207. Diese Benachrichtigung kann teilweise auf Parkverstoß-bezogenen Daten von einer Informationsquelle basieren, oder sie kann teilweise auf Parkverstoß-bezogenen Daten von einer Übermittlung an das Benutzerinteraktionspanel basieren, das genügend Bewertungen erhalten hat, um in eine Benachrichtigung aufgenommen zu werden. In jedem Fall ermöglichen diese Informationen dem Benutzer, in Kenntnis der Parkregeln zu parken, die für den aktuellen Parkplatz gelten. Nach Erhalt einer Benachrichtigung kann der Benutzer die Benachrichtigung bewerten und beurteilen oder kommentieren, ob die Benachrichtigung korrekt war S accurate1301. Wenn der Benutzer die Benachrichtigung positiv bewertet, z. B. dass die Benachrichtigung korrekt war, kann das System die positive Bewertung des Benutzers S . aufzeichnen1302. Dementsprechend können genaue Daten, die zu einer genauen Benachrichtigung führen, verstärkt und anderweitig beibehalten werden. Bewertet der Nutzer die Benachrichtigung negativ, z. B. dass die Benachrichtigung unrichtig war, kann der Nutzer dann nachweisen, warum die Benachrichtigung unrichtig war S1303 eine Benachrichtigung kann negativ bewertet werden, wenn beispielsweise die für einen bestimmten Ort geltenden Parkverbote tatsächlich von den in der Benachrichtigung genannten abweichen, wie beispielsweise falsche Zeit- oder Wochentagsangaben. In dem Fall, in dem die Benachrichtigung die Parkregeln nicht genau widerspiegelt, würde ein Benutzer ein Bild des Parkschilds oder eine andere Art von Beweis als Beweis für die Ungenauigkeit dieser Benachrichtigung in dieser Situation einreichen. Das System zeichnet dann die negative Bewertung S . dieses Benutzers auf1302. Die Bewertungen werden erfasst und gesammelt, bis eine bestimmte Bewertungsart, in diesem Fall positive oder negative Bewertungen, eine vorgegebene Anzahl S . erreicht1304. Wenn die Anzahl der positiven Bewertungen eine vorbestimmte Anzahl erreicht, kann dem relevanten Benutzer S eine monetäre oder nicht monetäre Belohnung gewährt werden1305, der als erster Daten zu Parkverstößen übermittelt hat, die in der bewerteten Benachrichtigung enthalten sind. Da die negative Bewertung durch Beweise gestützt wird, können negative Bewertungen, sobald sie eine vorgegebene Anzahl erreichen, verwendet werden, um S supplement zu korrigieren, zu aktualisieren und zu ergänzen1306 die vorhandenen Daten zu Parkverstößen in der Datenbank 102. Zum Beispiel können einige ungenaue Daten aus der Datenbank und aus der entsprechenden Benachrichtigung entfernt werden. Diese korrigierten, aktualisierten und ergänzten Daten in der Datenbank werden dann verwendet, um einem Benutzer neue und genauere Benachrichtigungen bereitzustellen. Dies ist ein Zyklus, da die neue Benachrichtigung, die auf der Datenbank basiert, korrigiert, aktualisiert und durch Bewertungen von Daten zu Parkverstößen ergänzt wird, die an das User-Engagement-Panel übermittelt werden, ebenfalls Bewertungen unterliegt, wenn die Parkabsicht identifiziert und eine Benachrichtigung angezeigt wird für einen Standort wird S . ausgegeben1207.

FEIGE. 14 ist ein Diagramm, das ein System zum Ableiten eines möglichen Parkverbots basierend auf einem Standort gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung veranschaulicht. In dieser beispielhaften Darstellung ist ein Benutzer 1401 eines nicht gewerblichen Fahrzeugnutzertyps angezeigt. Der Nutzer 1401 beabsichtigt, an einem Ort zu parken 1402 die wahrscheinlich zu einem Verstoß gegen ein vom System ermitteltes Parkverbot führt. In der Abbildung ist die Straße gezeigt 1403 dass der Benutzer 1401 beabsichtigt zu parken. Der vom Benutzer vorgesehene Parkplatz 1402 liegt zwischen den beiden anderen Parkplätzen 1404 und 1405. Ort 1404 ist vollständig mit einem Nutzfahrzeug besetzt 1406 jedoch die Belegung eines Parkplatzes 1404 hat keinen Einfluss auf die Fähigkeit des Systems, auf ein mögliches Parkverbot für den beabsichtigten Parkplatz des Benutzers zu schließen 1402. In diesem Beispiel enthält die Datenbank einen Datensatz von mindestens einem Parkverstoß, der am Standort ausgestellt wurde 1404 an einen Benutzer eines nicht gewerblichen Fahrzeugs zum Parken in der Nur-Nutzfahrzeug-Zone. Die Datenbank enthält auch eine Aufzeichnung von mindestens einem am Standort ausgestellten Parkverstoß. 1405, ebenso an einen anderen Nutzer eines nicht gewerblichen Fahrzeugs zum Parken in einer Nur-Nutzfahrzeug-Zone. Das System trägt jedoch keine Daten zu Parkverstößen für den Standort 1402. Dennoch kann das System aufgrund bestehender Verstöße an Standorten Rückschlüsse ziehen 1404 und 1405, dass der Benutzer 1401 wird wahrscheinlich eine Parkverstoß-Zitat für das Parken am Standort erhalten 1402.

FEIGE. 15 ist ein Diagramm, das eine Computervorrichtung eines Benutzers und eine Benachrichtigung, die ein Benutzer bezüglich eines möglichen Parkverbots basierend auf dem Standort erhalten kann, gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung darstellt. Sobald das System die Parkabsicht des Benutzers identifiziert, wie in FIG. 14 fordert das System den Benutzer auf, seine Parkabsicht auf dem Computergerät des Benutzers zu bestätigen 1501 indem Sie entweder auf „ja“ oder „nein“ klicken 1502. Wenn der Benutzer parkt und auf „Ja“ geklickt hat, kann das System aufgefordert werden, dem Benutzer eine Benachrichtigung bezüglich eines Parkverbots anzuzeigen 1503 basierend auf dem aktuellen Standort des Benutzers 1504. Obwohl diese Dialogfenster nicht so dargestellt sind, als würden sie auf dem Computergerät des Benutzers angezeigt 1501, es versteht sich, dass diese Darstellung lediglich dem Zweck dient, eine klare Veranschaulichung bereitzustellen, und es versteht sich, dass diese Dialogfenster innerhalb des Computergeräts des Benutzers angezeigt werden 1501.

In dieser Abbildung lautet der aktuelle Standort des Benutzers 810 W 181st Street. Die Benachrichtigung kann eine Zusammenfassung relevanter Informationen enthalten, z. B. welche Parkordnung oder -regelung für den vom Benutzer vorgesehenen Parkplatz zu einem bestimmten Zeitpunkt gilt, was in diesem Fall ein Verbot für das Parken nicht gewerblicher Fahrzeuge in einer Zone nur für Nutzfahrzeuge ist 1505. Außerdem wird ein Vergleich der gesammelten Bewertungen angezeigt 1506 für diese Benachrichtigung. In diesem Beispiel hat sich die Benachrichtigung des Benutzers mit 100 Prozent der Benutzerbewertungen als richtig und mit 0 Prozent als ungenau erwiesen. Wenn der Benutzer die Gründe für diese Benachrichtigung erfahren möchte, kann er auf „Details anzeigen“ klicken. 1507 um Details dazu anzuzeigen, warum das System diese Benachrichtigung generiert hat. Dann kann das System auf alle relevanten ausgestellten Zitate verweisen 1508. In diesem Fall gibt es zwei relevante Zitate, 1509 und 1510, die beide am jeweiligen Wochentag zur jeweiligen Uhrzeit in 808 W 181st Street und 812 W 181st Street ausgestellt wurden, bzw 1511. Der Benutzer kann dann diese Benachrichtigung und die dazugehörigen Informationen hinsichtlich ihrer Richtigkeit bewerten 1513 indem Sie auf einen „Bewerten“-Button klicken 1512 Dadurch wird das Bewertungsfeld auf dem Computer des Benutzers angezeigt 1514. Auf diese Weise kann der Benutzer die Benachrichtigung positiv mit „Ja“ oder negativ mit „Nein“ bewerten. Durch die negative Bewertung kann das System den Benutzer auffordern, einen Nachweis der Unrichtigkeit vorzulegen 1515. In dieser Aufforderung kann das System den Benutzer auffordern, die Gründe für die Ungenauigkeit der Benachrichtigung zu übermitteln oder einzugeben 1516 und reichen Sie ein Bild der fraglichen Beschilderung oder einen Hinweis auf einen Parkverstoß ein 1517. Es versteht sich, dass die im obigen Beispiel verwendete Straßenadresse weder tatsächliche Datenpunkte widerspiegeln soll, noch tatsächliche Parkverbote oder Parksituationen widerspiegeln soll, sondern zu Veranschaulichungszwecken verwendet werden soll.

Alternativ kann der Benutzer mit jedem der Bildschirme auf dem Computergerät interagieren 1501 Sprachbefehle verwenden, indem er die gewünschte Option spricht. Wenn ein Benutzer beispielsweise parken möchte, kann er/sie „Ja“ oder „Nein“ sagen oder sprechen, wenn er dazu aufgefordert wird. Von dort aus kann das System den Benutzer verbal über den Parkstatus am oder um den Standort des Benutzers ankündigen oder benachrichtigen (dh durch hörbare Ansage „Ihr Standort: 810 West 181. Straße, Nur Nutzfahrzeuge Zone, 100% Genauigkeitsbewertung“) . Das System kann den Benutzer dann hörbar auffordern, zu bestimmen, ob er/sie die Informationen weiter „bewerten“ möchte oder ob er/sie „Details anzeigen“ möchte. Entscheidet sich der Benutzer mündlich durch Sprechen oder Sagen von „Details anzeigen“ oder „Weitere Informationen“ für die Anzeige weiterer Details, kann das System die Details anzeigen und akustisch ankündigen (z nur, Mittwoch 14:30 Uhr und 812 West 181. Straße, nur Nutzfahrzeuge, Mittwoch 14:40 Uhr). Ein solches interaktives Sprachantwortsystem ermöglicht es dem Benutzer, schneller und sicherer mit dem Benutzerinteraktionsfeld auf dem Computergerät zu interagieren 106 die entsprechenden Informationen zur Vermeidung von Parkverstößen abzurufen.

FEIGE. 16 ist ein Diagramm, das ein System zum Ableiten eines Parkverbots basierend auf der Zeit für einen Benutzer darstellt 1601 gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung. In der Abbildung ist der geplante Parkplatz des Benutzers dargestellt 1602. Einmal Parkabsicht des Nutzers 1601 erkannt wird, kann das System automatisch eine dem Standort entsprechende Parkbeschilderung anzeigen 1602 auf dem Computergerät des Benutzers, da der Benutzer kein Zeichen sehen kann 1603 befindet sich weiter unten in der gleichen Straße, was zeigt, dass das Parken dienstags zwischen 9:30 und 10:00 Uhr aufgrund von Straßenkehren verboten ist. Das System kann den Benutzer auch auf mögliche Parkverbote hinweisen, basierend auf Rückschlüssen aus den Zeiten, in denen Parkverstöße am Standort ausgestellt wurden 1602 und Parkregeln oder -vorschriften, die für den Benutzertyp dieses Benutzers gelten. In diesem Beispiel enthält die Datenbank mehrere Hinweise auf Parkverstöße 1604, 1605, und 1606, ausgestellt am Standort 1602 für das Parken während der Kehrzeiten ausgestellt, wie durch das Parkschild gekennzeichnet 1603.

FEIGE. 17 ist ein Diagramm, das eine Benachrichtigung veranschaulicht 1701 die ein Benutzer bezüglich eines potenziellen Parkverbots basierend auf der Zeit gemäß einer beispielhaften Ausführungsform der erfinderischen Offenbarung erhalten kann. Auf der Grundlage des vom Benutzer beabsichtigten Parkplatzstandorts und der mit der Geolokalisierung des Benutzers verbundenen Daten zu Parkverstößen 1702, 130-30 31st Avenue, und aktuelle Uhrzeit und Tag, Dienstag, 9:41 Uhr, kann das System eine Benachrichtigung ausgeben, um den Benutzer davon abzuhalten, am Standort zu parken 1702 weil laut den Daten in der Datenbank zwischen 9.30 und 10.00 Uhr wegen Straßenkehrens kein Parken erlaubt ist 1703. Wenn der Benutzer neugierig auf die Details dieser Benachrichtigung ist, kann die Schaltfläche "Details anzeigen" angeklickt werden 1704. Wenn der Benutzer auf die Schaltfläche klickt, wird der Benutzer zu einem Panel weitergeleitet, das die relevante Kategorie der am Standort ausgestellten Zitate anzeigt 1702. In diesem Fall ist die Kategorie der zutreffenden Zitate die Straßenreinigung 1705, was auch der Grund für die Herausgabe dieser Zitate ist. Außerdem werden die relevanten Zeitpunkte angezeigt, zu denen diese Zitate ausgestellt wurden 1706 Da die Datenbank eine Aufzeichnung von Parkverstößen enthält, die um 9:31 Uhr, 9:51 Uhr und 9:54 Uhr ausgegeben wurden und die aktuelle Zeit 9:41 Uhr ist, kann das System folgern, dass der Benutzer möglicherweise einen Hinweis auf einen Parkverstoß erhält durch Parken am Standort 1702 zu dieser Zeit, 9:41 Uhr.

Eine beispielhafte Ausführungsform der hierin beschriebenen erfinderischen Offenbarung ist veranschaulichend, und viele Variationen können eingeführt werden, ohne vom Geist der Offenbarung abzuweichen. Zum Beispiel können Elemente und/oder Merkmale miteinander kombiniert und/oder im Rahmen dieser Offenbarung und der beigefügten Ansprüche gegeneinander ausgetauscht werden. Darüber hinaus soll jedes hierin im Singular beschriebene Element dieses Element nicht nur auf das Singular beschränken. Beispielsweise soll „ein Benutzer“ oder „der Benutzer“ nicht einen und nur einen Benutzer bedeuten, sondern soll einen oder mehrere Benutzer umfassen. Das gleiche gilt für jedes andere Element hierin, sofern nicht ausdrücklich anders angegeben. Außerdem wird der Begriff „beispielhaft“ hierin verwendet, um ein Element als ein Beispiel der erfinderischen Offenbarung zu beschreiben, nicht um ein Element als eine bevorzugte Ausführungsform der vorliegenden Erfindung zu beschreiben.


MapGuide mit Designrichtlinien für RDBMS-Datenbanken - Geographische Informationssysteme

Helfen Sie mit, diesen Leitfaden zu übersetzen!


Erfahren Sie, wie Sie große Systeme entwerfen.

Bereiten Sie sich auf das Systemdesign-Interview vor.

Erfahren Sie, wie Sie große Systeme entwerfen

Wenn Sie lernen, skalierbare Systeme zu entwerfen, werden Sie ein besserer Ingenieur.

Systemdesign ist ein breites Thema. Da ist ein riesige Menge an Ressourcen, die über das Web verstreut sind über Systemdesign-Prinzipien.

Dieses Repo ist ein organisierte Sammlung von Ressourcen, die Ihnen helfen zu lernen, wie Sie Systeme in großem Maßstab erstellen.

Lernen Sie von der Open-Source-Community

Dies ist ein ständig aktualisiertes Open-Source-Projekt.

Vorbereitung auf das Systemdesign-Interview

Neben der Codierung von Interviews ist das Systemdesign ein benötigte Komponente des technischer Interviewprozess bei vielen Technologieunternehmen.

Üben Sie gängige Fragen in Vorstellungsgesprächen zum Systemdesign und vergleichen deine Ergebnisse mit Musterlösungen: Diskussionen, Code und Diagramme.

Weitere Themen zur Interviewvorbereitung:


Die bereitgestellten Anki-Lernkartendecks verwenden beabstandete Wiederholungen, um Ihnen zu helfen, wichtige Systemdesignkonzepte zu behalten.

Ideal für unterwegs.

Codierungsressource: Interaktive Codierungsherausforderungen

Auf der Suche nach Ressourcen, die Ihnen bei der Vorbereitung auf die Programmierinterview?


Schauen Sie sich das Schwester-Repository an Interaktive Codierungsherausforderungen, die ein zusätzliches Anki-Deck enthält:

Fühlen Sie sich frei, Pull-Requests zu senden, um zu helfen:

Inhalte, die etwas poliert werden müssen, werden in Entwicklung genommen.

Index der Systemdesign-Themen

Zusammenfassungen verschiedener Themen zum Systemdesign, einschließlich Vor- und Nachteilen. Alles ist ein Kompromiss.

Jeder Abschnitt enthält Links zu weiterführenden Ressourcen.


Vorgeschlagene Themen zur Überprüfung basierend auf Ihrem Interview-Zeitplan (kurz, mittel, lang).

F: Muss ich für Vorstellungsgespräche hier alles wissen?

A: Nein, Sie müssen hier nicht alles wissen, um sich auf das Vorstellungsgespräch vorzubereiten.

Was Sie in einem Interview gefragt werden, hängt von Variablen ab wie:

  • Wie viel Erfahrung hast du
  • Was ist dein technischer Hintergrund
  • Für welche Positionen bewerben Sie sich?
  • Bei welchen Unternehmen Sie ein Vorstellungsgespräch führen
  • Glück

Von erfahreneren Kandidaten wird im Allgemeinen erwartet, dass sie mehr über Systemdesign wissen. Von Architekten oder Teamleitern wird möglicherweise erwartet, dass sie mehr wissen als einzelne Mitarbeiter. Top-Tech-Unternehmen haben wahrscheinlich eine oder mehrere Design-Interview-Runden.

Fangen Sie breit an und gehen Sie in einigen Bereichen tiefer. Es ist hilfreich, ein wenig über verschiedene wichtige Themen des Systemdesigns zu wissen. Passen Sie den folgenden Leitfaden basierend auf Ihrem Zeitplan, Ihrer Erfahrung, den Positionen, für die Sie sich bewerben, und den Unternehmen, mit denen Sie ein Vorstellungsgespräch führen, an.

  • Kurzer Zeitplan - Ziele auf Breite mit Systemdesign-Themen. Üben Sie durch Lösen manche Interview Fragen.
  • Mittlere Zeitachse - Ziele auf Breite und etwas Tiefe mit Systemdesign-Themen. Üben Sie durch Lösen viele Interview Fragen.
  • Lange Zeitleiste - Ziele auf Breite und mehr Tiefe mit Systemdesign-Themen. Üben Sie durch Lösen die meisten Interview Fragen.

Wie man sich einer Interviewfrage zum Systemdesign nähert design

Wie man eine Interviewfrage zum Systemdesign angeht.

Das Systemdesign-Interview ist ein offenes Gespräch. Es wird von Ihnen erwartet, dass Sie es führen.

Sie können die folgenden Schritte verwenden, um die Diskussion zu leiten. Um diesen Prozess zu festigen, arbeiten Sie den Abschnitt Fragen zum Systemdesign-Interview mit Lösungen mit den folgenden Schritten durch.

Schritt 1: Anwendungsfälle, Einschränkungen und Annahmen skizzieren

Erfassen Sie Anforderungen und grenzen Sie das Problem ein. Stellen Sie Fragen, um Anwendungsfälle und Einschränkungen zu klären. Diskutieren Sie Annahmen.

  • Wer wird es benutzen?
  • Wie werden sie es nutzen?
  • Wie viele Benutzer gibt es?
  • Was macht das System?
  • Was sind die Ein- und Ausgänge des Systems?
  • Wie viele Daten erwarten wir zu verarbeiten?
  • Wie viele Anfragen pro Sekunde erwarten wir?
  • Wie hoch ist das erwartete Lese-/Schreibverhältnis?

Schritt 2: Erstellen Sie ein High-Level-Design

Skizzieren Sie ein hochwertiges Design mit allen wichtigen Komponenten.

Schritt 3: Kernkomponenten entwerfen

Tauchen Sie in Details für jede Kernkomponente ein. Wenn Sie beispielsweise gebeten wurden, einen URL-Kürzungsdienst zu entwerfen, besprechen Sie Folgendes:

  • Generieren und Speichern eines Hashs der vollständigen URL
      und Base62
  • Hash-Kollisionen
  • SQL oder NoSQL
  • Datenbankschema
    • Datenbanksuche

    Identifizieren und beheben Sie Engpässe unter Berücksichtigung der Einschränkungen. Benötigen Sie beispielsweise Folgendes, um Skalierbarkeitsprobleme zu beheben?

    Besprechen Sie mögliche Lösungen und Kompromisse. Alles ist ein Kompromiss. Beheben Sie Engpässe mit den Prinzipien des skalierbaren Systemdesigns.

    Möglicherweise werden Sie gebeten, einige Schätzungen von Hand vorzunehmen. Im Anhang finden Sie die folgenden Ressourcen:

    Quelle(n) und weiterführende Literatur

    Schauen Sie sich die folgenden Links an, um eine bessere Vorstellung davon zu bekommen, was Sie erwartet:

    Fragen im Vorstellungsgespräch zum Systemdesign mit Lösungen

    Häufige Fragen zu Systemdesign-Interviews mit Beispieldiskussionen, Code und Diagrammen.

    Lösungen, die mit Inhalten im Ordner solutions/ verknüpft sind.

    Frage
    Entwerfen Sie Pastebin.com (oder Bit.ly) Lösung
    Gestalten Sie die Twitter-Timeline und -Suche (oder Facebook-Feed und -Suche) Lösung
    Entwerfen Sie einen Webcrawler Lösung
    Design Mint.com Lösung
    Entwerfen Sie die Datenstrukturen für ein soziales Netzwerk Lösung
    Entwerfen Sie einen Schlüsselwertspeicher für eine Suchmaschine Lösung
    Gestalten Sie das Verkaufsranking von Amazon nach Kategoriefunktion Lösung
    Entwerfen Sie ein System, das auf Millionen von Benutzern auf AWS skaliert werden kann Lösung
    Frage zum Systemdesign hinzufügen Beitragen

    Entwerfen Sie Pastebin.com (oder Bit.ly)

    Gestalten Sie die Twitter-Timeline und -Suche (oder Facebook-Feed und -Suche)

    Entwerfen Sie die Datenstrukturen für ein soziales Netzwerk

    Entwerfen Sie einen Schlüsselwertspeicher für eine Suchmaschine

    Gestalten Sie das Verkaufsranking von Amazon nach Kategoriefunktion

    Entwerfen Sie ein System, das auf Millionen von Benutzern auf AWS skaliert werden kann

    Objektorientierte Designinterviewfragen mit Lösungen

    Häufige Fragen zu objektorientierten Designinterviews mit Beispieldiskussionen, Code und Diagrammen.

    Lösungen, die mit Inhalten im Ordner solutions/ verknüpft sind.

    Hinweis: Dieser Abschnitt befindet sich in der Entwicklung

    Frage
    Entwerfen Sie eine Hash-Map Lösung
    Entwerfen Sie einen Cache, der zuletzt verwendet wurde recently Lösung
    Entwerfen Sie ein Callcenter Lösung
    Entwerfen Sie ein Kartenspiel Lösung
    Entwerfen Sie einen Parkplatz Lösung
    Entwerfen Sie einen Chat-Server Lösung
    Entwerfen Sie ein kreisförmiges Array Beitragen
    Fügen Sie eine objektorientierte Designfrage hinzu Beitragen

    Themen zum Systemdesign: hier starten

    Zuerst benötigen Sie ein grundlegendes Verständnis der allgemeinen Prinzipien, lernen, was sie sind, wie sie verwendet werden und ihre Vor- und Nachteile.

    Schritt 1: Überprüfen Sie die Videovorlesung zur Skalierbarkeit

    • Behandelten Themen:
      • Vertikale Skalierung
      • Horizontale Skalierung
      • Caching
      • Lastverteilung
      • Datenbankreplikation
      • Datenbankpartitionierung

      Schritt 2: Lesen Sie den Artikel zur Skalierbarkeit

      Als Nächstes werden wir uns die Kompromisse auf hoher Ebene ansehen:

      • Leistung vs Skalierbarkeit
      • Latenz vs Durchsatz
      • Verfügbarkeit vs Konsistenz

      Denk daran, dass alles ist ein tausch.

      Dann werden wir in spezifischere Themen wie DNS, CDNs und Load Balancer eintauchen.

      Leistung vs. Skalierbarkeit

      Ein Dienst ist skalierbar wenn es zu einer Erhöhung führt Leistung in einer Weise proportional zu den hinzugefügten Ressourcen. Im Allgemeinen bedeutet eine Steigerung der Leistung, dass mehr Arbeitseinheiten bereitgestellt werden, es können jedoch auch größere Arbeitseinheiten verarbeitet werden, z. B. wenn Datasets wachsen. 1

      Eine andere Möglichkeit, Leistung vs. Skalierbarkeit zu betrachten:

      • Wenn du eine hast Leistung Problem, Ihr System ist für einen einzelnen Benutzer langsam.
      • Wenn du eine hast Skalierbarkeit Problem ist, ist Ihr System für einen einzelnen Benutzer schnell, aber unter hoher Last langsam.

      Quelle(n) und weiterführende Literatur

      Latenz ist die Zeit, um eine Aktion auszuführen oder ein Ergebnis zu erzielen.

      Durchsatz ist die Anzahl solcher Aktionen oder Ergebnisse pro Zeiteinheit.

      Im Allgemeinen sollten Sie auf maximaler Durchsatz mit akzeptable Latenz.

      Quelle(n) und weiterführende Literatur

      Verfügbarkeit vs. Konsistenz

      In einem verteilten Computersystem können Sie nur zwei der folgenden Garantien unterstützen:

      • Konsistenz - Jeder Lesevorgang erhält den letzten Schreibvorgang oder einen Fehler
      • Verfügbarkeit - Jede Anfrage erhält eine Antwort, ohne Garantie, dass sie die neueste Version der Informationen enthält
      • Partitionstoleranz - Das System läuft trotz willkürlicher Partitionierung aufgrund von Netzwerkausfällen weiter

      Netzwerke sind nicht zuverlässig, daher müssen Sie die Partitionstoleranz unterstützen. Sie müssen einen Kompromiss zwischen Konsistenz und Verfügbarkeit bei der Software eingehen.

      CP - Konsistenz und Partitionstoleranz

      Das Warten auf eine Antwort vom partitionierten Knoten kann zu einem Zeitüberschreitungsfehler führen. CP ist eine gute Wahl, wenn Ihre Geschäftsanforderungen atomare Lese- und Schreibvorgänge erfordern.

      AP - Verfügbarkeit und Partitionstoleranz

      Antworten geben die am leichtesten verfügbare Version der auf jedem Knoten verfügbaren Daten zurück, die möglicherweise nicht die neueste ist. Die Weitergabe von Schreibvorgängen kann einige Zeit in Anspruch nehmen, wenn die Partition aufgelöst ist.

      AP ist eine gute Wahl, wenn die Geschäftsanforderungen eine eventuelle Konsistenz zulassen oder das System trotz externer Fehler weiterarbeiten muss.

      Quelle(n) und weiterführende Literatur

      Bei mehreren Kopien derselben Daten stehen uns Optionen zur Synchronisierung zur Verfügung, damit Kunden eine konsistente Ansicht der Daten haben. Erinnern Sie sich an die Definition der Konsistenz aus dem CAP-Theorem - Jeder Lesevorgang erhält den letzten Schreibvorgang oder einen Fehler.

      Nach einem Schreibvorgang können Lesevorgänge es sehen oder nicht. Es wird ein Best-Effort-Ansatz gewählt.

      Dieser Ansatz wird in Systemen wie Memcached gesehen. Schwache Konsistenz funktioniert gut in Echtzeit-Anwendungsfällen wie VoIP, Video-Chat und Echtzeit-Multiplayer-Spielen. Wenn Sie beispielsweise telefonieren und für einige Sekunden den Empfang verlieren, hören Sie bei der Wiederherstellung der Verbindung nicht, was während des Verbindungsverlusts gesprochen wurde.

      Nach einem Schreibvorgang wird es schließlich beim Lesen angezeigt (normalerweise innerhalb von Millisekunden). Daten werden asynchron repliziert.

      Dieser Ansatz wird in Systemen wie DNS und E-Mail gesehen. Eventuelle Konsistenz funktioniert gut in hochverfügbaren Systemen.

      Nach einem Schreibvorgang wird es beim Lesen angezeigt. Die Daten werden synchron repliziert.

      Dieser Ansatz wird in Dateisystemen und RDBMS verwendet. Starke Konsistenz funktioniert gut in Systemen, die Transaktionen benötigen.

      Quelle(n) und weiterführende Literatur

      Es gibt zwei sich ergänzende Muster zur Unterstützung der Hochverfügbarkeit: Ausfallsicherung und Reproduzieren.

      Beim Aktiv-Passiv-Failover werden Heartbeats zwischen dem aktiven und dem passiven Server im Standby gesendet. Wird der Heartbeat unterbrochen, übernimmt der passive Server die IP-Adresse des aktiven und nimmt den Dienst wieder auf.

      Die Dauer der Ausfallzeit hängt davon ab, ob der passive Server bereits im „heißen“ Standby läuft oder ob er aus dem „kalten“ Standby starten muss. Nur der aktive Server verarbeitet den Datenverkehr.

      Aktiv-Passiv-Failover kann auch als Master-Slave-Failover bezeichnet werden.

      Im Aktiv-Aktiv-Modus verwalten beide Server den Datenverkehr und verteilen die Last zwischen ihnen.

      Wenn die Server öffentlich zugänglich sind, muss das DNS die öffentlichen IPs beider Server kennen. Wenn die Server nach innen gerichtet sind, müsste die Anwendungslogik beide Server kennen.

      Aktiv-Aktiv-Failover kann auch als Master-Master-Failover bezeichnet werden.

      • Failover fügt mehr Hardware und zusätzliche Komplexität hinzu.
      • Es besteht die Möglichkeit eines Datenverlusts, wenn das aktive System ausfällt, bevor neu geschriebene Daten auf das passive repliziert werden können.

      Master-Slave und Master-Master

      Dieses Thema wird im Abschnitt Datenbank weiter behandelt:

      Die Verfügbarkeit wird häufig anhand der Betriebszeit (oder Ausfallzeit) als Prozentsatz der Zeit quantifiziert, in der der Dienst verfügbar ist. Die Verfügbarkeit wird im Allgemeinen in der Zahl der Neunen gemessen – ein Dienst mit einer Verfügbarkeit von 99,99 % wird als mit vier Neunen beschrieben.

      99,9% Verfügbarkeit - drei 9s

      Dauer Akzeptable Ausfallzeiten
      Ausfallzeit pro Jahr 8h 45min 57s
      Ausfallzeit pro Monat 43m 49,7s
      Ausfallzeit pro Woche 10m 4,8s
      Ausfallzeit pro Tag 1m 26,4s

      99,99 % Verfügbarkeit - vier 9s

      Dauer Akzeptable Ausfallzeiten
      Ausfallzeit pro Jahr 52min 35,7s
      Ausfallzeit pro Monat 4m 23s
      Ausfallzeit pro Woche 1m 5s
      Ausfallzeit pro Tag 8,6s

      Verfügbarkeit parallel vs. sequentiell

      Wenn ein Dienst aus mehreren fehleranfälligen Komponenten besteht, hängt die Gesamtverfügbarkeit des Dienstes davon ab, ob die Komponenten nacheinander oder parallel sind.

      Die Gesamtverfügbarkeit nimmt ab, wenn zwei Komponenten mit einer Verfügbarkeit von < 100 % hintereinander liegen:

      Wenn sowohl Foo als auch Bar jeweils eine Verfügbarkeit von 99,9 % hätten, würde ihre Gesamtverfügbarkeit nacheinander 99,8 % betragen.

      Die Gesamtverfügbarkeit steigt, wenn zwei Komponenten mit einer Verfügbarkeit von < 100 % parallel sind:

      Wenn sowohl Foo als auch Bar jeweils eine Verfügbarkeit von 99,9 % hätten, würde ihre Gesamtverfügbarkeit parallel 99,9999 % betragen.

      Ein Domain Name System (DNS) übersetzt einen Domainnamen wie www.example.com in eine IP-Adresse.

      DNS ist hierarchisch, mit einigen autoritativen Servern auf der obersten Ebene. Ihr Router oder ISP stellt Informationen darüber bereit, welche(n) DNS-Server bei einer Suche kontaktiert werden sollen. Untergeordnete DNS-Server-Cache-Zuordnungen, die aufgrund von DNS-Verbreitungsverzögerungen veraltet sein können. DNS-Ergebnisse können auch von Ihrem Browser oder Betriebssystem für einen bestimmten Zeitraum zwischengespeichert werden, der durch die Time-to-Live (TTL) bestimmt wird.

      • NS-Record (Nameserver) - Gibt die DNS-Server für Ihre Domain/Subdomain an.
      • MX-Eintrag (Mail-Austausch) - Gibt die Mailserver zum Annehmen von Nachrichten an.
      • Ein Datensatz (Adresse) - Verweist einen Namen auf eine IP-Adresse.
      • CNAME (kanonisch) - Verweist einen Namen auf einen anderen Namen oder CNAME (example.com auf www.example.com) oder auf einen A-Record.

      Dienste wie CloudFlare und Route 53 stellen verwaltete DNS-Dienste bereit. Einige DNS-Dienste können den Datenverkehr über verschiedene Methoden weiterleiten:

        • Verhindern, dass Datenverkehr zu Servern geleitet wird, die gewartet werden
        • Balance zwischen unterschiedlichen Clustergrößen
        • A/B-Tests
        • Der Zugriff auf einen DNS-Server führt zu einer leichten Verzögerung, die jedoch durch das oben beschriebene Caching gemildert wird.
        • Die DNS-Serververwaltung kann komplex sein und wird im Allgemeinen von Regierungen, ISPs und großen Unternehmen verwaltet.
        • DNS-Dienste sind kürzlich einem DDoS-Angriff ausgesetzt, der Benutzer daran hindert, auf Websites wie Twitter zuzugreifen, ohne die IP-Adresse(n) von Twitter zu kennen.

        Quelle(n) und weiterführende Literatur

        Ein Content Delivery Network (CDN) ist ein global verteiltes Netzwerk von Proxyservern, die Inhalte von Standorten aus bereitstellen, die näher am Benutzer liegen. Im Allgemeinen werden statische Dateien wie HTML/CSS/JS, Fotos und Videos vom CDN bereitgestellt, obwohl einige CDNs wie Amazons CloudFront dynamische Inhalte unterstützen. Die DNS-Auflösung der Site teilt den Clients mit, welcher Server sie kontaktieren sollen.

        Die Bereitstellung von Inhalten von CDNs kann die Leistung auf zwei Arten erheblich verbessern:

        • Benutzer erhalten Inhalte aus Rechenzentren in ihrer Nähe
        • Ihre Server müssen keine Anfragen bedienen, die das CDN erfüllt

        Push-CDNs erhalten neue Inhalte, wenn Änderungen auf Ihrem Server auftreten. Sie übernehmen die volle Verantwortung für die Bereitstellung von Inhalten, das direkte Hochladen auf das CDN und das Umschreiben von URLs, die auf das CDN verweisen. Sie können konfigurieren, wann Inhalte ablaufen und wann sie aktualisiert werden. Inhalte werden nur hochgeladen, wenn sie neu oder geändert sind, wodurch der Datenverkehr minimiert, aber der Speicherplatz maximiert wird.

        Websites mit geringem Datenverkehr oder Websites mit Inhalten, die nicht oft aktualisiert werden, funktionieren gut mit Push-CDNs. Inhalte werden einmal auf den CDNs platziert, anstatt in regelmäßigen Abständen erneut abgerufen zu werden.

        Pull-CDNs holen sich neue Inhalte von Ihrem Server, wenn der erste Benutzer den Inhalt anfordert. Sie belassen den Inhalt auf Ihrem Server und schreiben URLs so um, dass sie auf das CDN verweisen. Dies führt zu einer langsameren Anforderung, bis der Inhalt auf dem CDN zwischengespeichert wird.

        Eine Time-to-Live (TTL) bestimmt, wie lange Inhalte zwischengespeichert werden. Pull-CDNs minimieren den Speicherplatz auf dem CDN, können jedoch redundanten Datenverkehr erzeugen, wenn Dateien ablaufen und abgerufen werden, bevor sie sich tatsächlich geändert haben.

        Websites mit starkem Datenverkehr funktionieren gut mit Pull-CDNs, da der Datenverkehr gleichmäßiger verteilt wird und nur kürzlich angeforderte Inhalte auf dem CDN verbleiben.

        • Die CDN-Kosten können je nach Datenverkehr erheblich sein, obwohl dies mit zusätzlichen Kosten abgewogen werden sollte, die Ihnen ohne CDN entstehen würden.
        • Inhalte können veraltet sein, wenn sie aktualisiert werden, bevor die TTL abläuft.
        • CDNs erfordern sich ändernde URLs, damit statische Inhalte auf das CDN verweisen.

        Quelle(n) und weiterführende Literatur

        Load Balancer verteilen eingehende Client-Anforderungen an Rechenressourcen wie Anwendungsserver und Datenbanken. In jedem Fall gibt der Load Balancer die Antwort von der Computerressource an den entsprechenden Client zurück. Load Balancer sind wirksam bei:

        • Verhindern, dass Anfragen an fehlerhafte Server gehen
        • Überlastung von Ressourcen verhindern
        • Helfen, einen Single Point of Failure zu eliminieren

        Load Balancer können mit Hardware (teuer) oder mit Software wie HAProxy implementiert werden.

        Zusätzliche Vorteile sind:

        • SSL-Beendigung - Entschlüsseln Sie eingehende Anfragen und verschlüsseln Sie Serverantworten, damit Backend-Server diese potenziell kostspieligen Vorgänge nicht ausführen müssen
          • Beseitigt die Notwendigkeit, X.509-Zertifikate auf jedem Server zu installieren

          Zum Schutz vor Fehlern ist es üblich, mehrere Load Balancer einzurichten, entweder im Aktiv-Passiv- oder im Aktiv-Aktiv-Modus.

          Load-Balancer können Datenverkehr basierend auf verschiedenen Metriken weiterleiten, darunter:

          Layer-4-Load-Balancer betrachten Informationen auf der Transportschicht, um zu entscheiden, wie Anforderungen verteilt werden. Im Allgemeinen betrifft dies die Quell-, Ziel-IP-Adressen und Ports im Header, jedoch nicht den Inhalt des Pakets. Layer-4-Load-Balancer leiten Netzwerkpakete zum und vom Upstream-Server weiter und führen Network Address Translation (NAT) durch.

          Layer-7-Load-Balancer betrachten die Anwendungsschicht, um zu entscheiden, wie Anfragen verteilt werden. Dabei kann es sich um Inhalte des Headers, der Nachricht und der Cookies handeln. Layer-7-Load-Balancer beenden den Netzwerkverkehr, lesen die Nachricht, treffen eine Load-Balancing-Entscheidung und öffnen dann eine Verbindung zum ausgewählten Server. Ein Layer-7-Load-Balancer kann beispielsweise Videodatenverkehr an Server leiten, die Videos hosten, während sensiblerer Benutzerabrechnungsdatenverkehr an sicherheitsgehärtete Server geleitet wird.

          Auf Kosten der Flexibilität erfordert Layer-4-Lastausgleich weniger Zeit und Rechenressourcen als Layer-7, obwohl die Leistungseinbußen auf moderner Standardhardware minimal sein können.

          Load Balancer können auch bei der horizontalen Skalierung helfen, um Leistung und Verfügbarkeit zu verbessern. Das Hochskalieren mit handelsüblichen Computern ist kosteneffizienter und führt zu einer höheren Verfügbarkeit als das Hochskalieren eines einzelnen Servers auf teurerer Hardware, genannt Vertikale Skalierung. Es ist auch einfacher, Talente einzustellen, die mit Standardhardware arbeiten, als für spezialisierte Unternehmenssysteme.

          Nachteil(e): horizontale Skalierung

          • Die horizontale Skalierung führt zu Komplexität und beinhaltet das Klonen von Servern
            • Server sollten zustandslos sein: Sie sollten keine benutzerbezogenen Daten wie Sitzungen oder Profilbilder enthalten
            • Sitzungen können in einem zentralen Datenspeicher wie einer Datenbank (SQL, NoSQL) oder einem persistenten Cache (Redis, Memcached) gespeichert werden.

            Nachteil(e): Load-Balancer

            • Der Load Balancer kann zu einem Leistungsengpass werden, wenn er nicht über genügend Ressourcen verfügt oder nicht richtig konfiguriert ist.
            • Die Einführung eines Load Balancers zur Beseitigung eines Single Point of Failure führt zu erhöhter Komplexität.
            • Ein einzelner Load Balancer ist ein Single Point of Failure, die Konfiguration mehrerer Load Balancer erhöht die Komplexität zusätzlich.

            Quelle(n) und weiterführende Literatur

            Ein Reverse-Proxy ist ein Webserver, der interne Dienste zentralisiert und der Öffentlichkeit einheitliche Schnittstellen zur Verfügung stellt. Anforderungen von Clients werden an einen Server weitergeleitet, der sie erfüllen kann, bevor der Reverse-Proxy die Antwort des Servers an den Client zurückgibt.

            Zusätzliche Vorteile sind:

            • Erhöhte Sicherheit - Informationen über Backend-Server ausblenden, IPs auf die schwarze Liste setzen, Anzahl der Verbindungen pro Client begrenzen
            • Erhöhte Skalierbarkeit und Flexibilität - Clients sehen nur die IP des Reverse-Proxys, sodass Sie Server skalieren oder deren Konfiguration ändern können
            • SSL-Beendigung - Entschlüsseln Sie eingehende Anfragen und verschlüsseln Sie Serverantworten, damit Backend-Server diese potenziell kostspieligen Vorgänge nicht ausführen müssen
              • Beseitigt die Notwendigkeit, X.509-Zertifikate auf jedem Server zu installieren
              • HTML/CSS/JS
              • Fotos
              • Videos
              • Etc

              Load-Balancer vs. Reverse-Proxy

              • Die Bereitstellung eines Load Balancers ist nützlich, wenn Sie über mehrere Server verfügen. Load Balancer leiten den Datenverkehr häufig an eine Reihe von Servern weiter, die dieselbe Funktion erfüllen.
              • Reverse Proxys können sogar mit nur einem Webserver oder Anwendungsserver nützlich sein und die im vorherigen Abschnitt beschriebenen Vorteile eröffnen.
              • Lösungen wie NGINX und HAProxy können sowohl Layer-7-Reverse-Proxying als auch Load-Balancing unterstützen.

              Nachteil(e): Reverse-Proxy

              • Die Einführung eines Reverse-Proxy führt zu einer erhöhten Komplexität.
              • Ein einzelner Reverse-Proxy ist ein Single Point of Failure, die Konfiguration mehrerer Reverse-Proxys (dh ein Failover) erhöht die Komplexität weiter.

              Quelle(n) und weiterführende Literatur

              Durch die Trennung der Webschicht von der Anwendungsschicht (auch als Plattformschicht bezeichnet) können Sie beide Schichten unabhängig voneinander skalieren und konfigurieren. Das Hinzufügen einer neuen API führt zum Hinzufügen von Anwendungsservern, ohne dass notwendigerweise zusätzliche Webserver hinzugefügt werden müssen. Das Einzelverantwortungsprinzip setzt sich für kleine und autonome Dienste ein, die zusammenarbeiten. Kleine Teams mit kleinen Diensten können für schnelles Wachstum aggressiver planen.

              Worker in der Anwendungsschicht helfen auch dabei, Asynchronität zu ermöglichen.

              Im Zusammenhang mit dieser Diskussion stehen Microservices, die als eine Suite unabhängig einsetzbarer, kleiner, modularer Dienste beschrieben werden können. Jeder Dienst führt einen einzigartigen Prozess aus und kommuniziert über einen klar definierten, leichtgewichtigen Mechanismus, um ein Geschäftsziel zu erreichen. 1

              Pinterest könnte beispielsweise die folgenden Microservices haben: Benutzerprofil, Follower, Feed, Suche, Foto-Upload usw.

              Systeme wie Consul, Etcd und Zookeeper können Diensten helfen, sich gegenseitig zu finden, indem sie registrierte Namen, Adressen und Ports verfolgen. Integritätsprüfungen helfen bei der Überprüfung der Dienstintegrität und werden häufig über einen HTTP-Endpunkt durchgeführt. Sowohl Consul als auch Etcd verfügen über einen integrierten Schlüsselwertspeicher, der zum Speichern von Konfigurationswerten und anderen gemeinsam genutzten Daten nützlich sein kann.

              Nachteil(e): Anwendungsschicht

              • Das Hinzufügen einer Anwendungsschicht mit lose gekoppelten Diensten erfordert einen anderen Ansatz aus Architektur-, Betriebs- und Prozesssicht (im Vergleich zu einem monolithischen System).
              • Microservices können die Bereitstellung und den Betrieb komplexer machen.

              Quelle(n) und weiterführende Literatur

              Relationales Datenbankmanagementsystem (RDBMS)

              Eine relationale Datenbank wie SQL ist eine Sammlung von Datenelementen, die in Tabellen organisiert sind.

              SÄURE ist ein Satz von Eigenschaften relationaler Datenbanktransaktionen.

              • Atomarität - Jede Transaktion ist alles oder nichts
              • Konsistenz - Jede Transaktion bringt die Datenbank von einem gültigen Zustand in einen anderen
              • Isolation - Die gleichzeitige Ausführung von Transaktionen führt zu den gleichen Ergebnissen, als ob die Transaktionen seriell ausgeführt würden
              • Haltbarkeit - Sobald eine Transaktion festgeschrieben wurde, bleibt sie so

              Es gibt viele Techniken, um eine relationale Datenbank zu skalieren: Master-Slave-Replikation, Master-Master-Replikation, Föderation, splittern, Denormalisierung, und SQL-Tuning.

              Der Master bedient Lese- und Schreibvorgänge und repliziert Schreibvorgänge an einen oder mehrere Slaves, die nur Lesevorgänge ausführen. Slaves können sich auch baumartig auf zusätzliche Slaves replizieren. Wenn der Master offline geht, kann das System im schreibgeschützten Modus weiterarbeiten, bis ein Slave zum Master hochgestuft oder ein neuer Master bereitgestellt wird.

              Nachteil(e): Master-Slave-Replikation

              • Um einen Slave zu einem Master zu machen, ist zusätzliche Logik erforderlich.
              • Siehe Nachteil(e): Replikation für Punkte im Zusammenhang mit beide Master-Slave und Master-Master.

              Beide Master bedienen Lese- und Schreibvorgänge und koordinieren bei Schreibvorgängen miteinander. Wenn einer der Master ausfällt, kann das System sowohl mit Lese- als auch mit Schreibvorgängen weiterarbeiten.

              Nachteil(e): Master-Master-Replikation

              • Sie benötigen einen Load Balancer oder Sie müssen Änderungen an Ihrer Anwendungslogik vornehmen, um zu bestimmen, wo geschrieben werden soll.
              • Die meisten Master-Master-Systeme sind entweder lose konsistent (verletzen ACID) oder haben aufgrund der Synchronisation eine erhöhte Schreiblatenz.
              • Die Konfliktlösung kommt umso mehr ins Spiel, je mehr Schreibknoten hinzugefügt werden und die Latenz zunimmt.
              • Siehe Nachteil(e): Replikation für Punkte im Zusammenhang mit beide Master-Slave und Master-Master.
              • Es besteht die Möglichkeit eines Datenverlusts, wenn der Master ausfällt, bevor neu geschriebene Daten auf andere Knoten repliziert werden können.
              • Schreibvorgänge werden auf die Read Replicas wiedergegeben. Wenn es viele Schreibvorgänge gibt, können die Read Replicas beim Wiedergeben von Schreibvorgängen ins Stocken geraten und können nicht so viele Lesevorgänge ausführen.
              • Je mehr gelesene Slaves, desto mehr müssen Sie replizieren, was zu einer größeren Replikationsverzögerung führt.
              • Auf einigen Systemen kann das Schreiben auf den Master mehrere Threads erzeugen, um parallel zu schreiben, während Read Replicas nur das sequentielle Schreiben mit einem einzigen Thread unterstützen.
              • Die Replikation fügt mehr Hardware und zusätzliche Komplexität hinzu.

              Quelle(n) und weiterführende Literatur: Replikation

              Federation (oder funktionale Partitionierung) teilt Datenbanken nach Funktion auf. Anstelle einer einzelnen, monolithischen Datenbank könnten Sie beispielsweise drei Datenbanken haben: Foren, Benutzer, und Produkte, was zu weniger Lese- und Schreibverkehr zu jeder Datenbank und damit zu weniger Replikationsverzögerung führt. Kleinere Datenbanken führen zu mehr Daten, die in den Speicher passen, was wiederum zu mehr Cache-Treffern aufgrund der verbesserten Cache-Lokalität führt. Da kein einzelner zentraler Master Schreibvorgänge serialisiert, können Sie parallel schreiben und so den Durchsatz erhöhen.

              • Der Verbund ist nicht effektiv, wenn Ihr Schema umfangreiche Funktionen oder Tabellen erfordert.
              • Sie müssen Ihre Anwendungslogik aktualisieren, um zu bestimmen, welche Datenbank gelesen und geschrieben werden soll.
              • Das Zusammenführen von Daten aus zwei Datenbanken ist mit einer Serververbindung komplexer.
              • Federation fügt mehr Hardware und zusätzliche Komplexität hinzu.

              Quelle(n) und weiterführende Literatur: Föderation

              Sharding verteilt Daten auf verschiedene Datenbanken, sodass jede Datenbank nur eine Teilmenge der Daten verwalten kann. Nehmen wir als Beispiel eine Benutzerdatenbank: Wenn die Anzahl der Benutzer steigt, werden dem Cluster mehr Shards hinzugefügt.

              Ähnlich den Vorteilen der Föderation führt Sharding zu weniger Lese- und Schreibverkehr, weniger Replikation und mehr Cache-Treffern. Die Indexgröße wird ebenfalls reduziert, was im Allgemeinen die Leistung bei schnelleren Abfragen verbessert. Wenn ein Shard ausfällt, sind die anderen Shards weiterhin betriebsbereit, obwohl Sie eine Form der Replikation hinzufügen sollten, um Datenverlust zu vermeiden. Wie bei der Föderation gibt es keinen einzelnen zentralen Master, der Schreibvorgänge serialisiert, sodass Sie mit erhöhtem Durchsatz parallel schreiben können.

              Übliche Methoden zum Sharding einer Benutzertabelle sind entweder die Initialen des Nachnamens des Benutzers oder der geografische Standort des Benutzers.

              • Sie müssen Ihre Anwendungslogik aktualisieren, um mit Shards zu arbeiten, was zu komplexen SQL-Abfragen führen kann.
              • Die Datenverteilung kann in einem Shard einseitig werden. Beispielsweise kann eine Gruppe von Power-Usern auf einem Shard zu einer höheren Belastung dieses Shards im Vergleich zu anderen führen.
                • Die Neuausrichtung erhöht die Komplexität. Eine Sharding-Funktion basierend auf konsistentem Hashing kann die Menge der übertragenen Daten reduzieren.

                Quelle(n) und weiterführende Literatur: Sharding

                Die Denormalisierung versucht, die Leseleistung auf Kosten einer gewissen Schreibleistung zu verbessern. Redundante Kopien der Daten werden in mehrere Tabellen geschrieben, um teure Joins zu vermeiden. Einige RDBMS wie PostgreSQL und Oracle unterstützen materialisierte Ansichten, die die Arbeit des Speicherns redundanter Informationen und der Konsistenz redundanter Kopien übernehmen.

                Sobald Daten mit Techniken wie Föderation und Sharding verteilt werden, erhöht die Verwaltung von Joins über Rechenzentren hinweg die Komplexität weiter. Die Denormalisierung könnte die Notwendigkeit solch komplexer Joins umgehen.

                In den meisten Systemen können Lesevorgänge 100:1 oder sogar 1000:1 stark übersteigen. Ein Lesevorgang, der zu einem komplexen Datenbank-Join führt, kann sehr kostspielig sein und viel Zeit mit Festplattenvorgängen verbringen.

                • Daten werden dupliziert.
                • Einschränkungen können dazu beitragen, dass redundante Kopien von Informationen synchron bleiben, was die Komplexität des Datenbankdesigns erhöht.
                • Eine denormalisierte Datenbank mit hoher Schreiblast kann eine schlechtere Leistung erbringen als ihr normalisiertes Gegenstück.

                Quelle(n) und weiterführende Literatur: Denormalisierung

                SQL-Tuning ist ein breites Thema und viele Bücher wurden als Referenz geschrieben.

                Es ist wichtig, dass Benchmark und Profil um Engpässe zu simulieren und aufzudecken.

                • Benchmark - Simulieren Sie Hochlastsituationen mit Werkzeugen wie ab.
                • Profil - Aktivieren Sie Tools wie das langsame Abfrageprotokoll, um Leistungsprobleme zu verfolgen.

                Benchmarking und Profiling können Sie auf die folgenden Optimierungen hinweisen.

                • MySQL legt für einen schnellen Zugriff in zusammenhängenden Blöcken auf die Festplatte ab.
                • Verwenden Sie CHAR anstelle von VARCHAR für Felder mit fester Länge.
                  • CHAR ermöglicht effektiv einen schnellen, wahlfreien Zugriff, während Sie mit VARCHAR das Ende einer Zeichenfolge finden müssen, bevor Sie mit der nächsten fortfahren.
                  • Spalten, die Sie abfragen ( SELECT , GROUP BY , ORDER BY , JOIN ) könnten mit Indizes schneller sein.
                  • Indizes werden normalerweise als selbstausgleichender B-Baum dargestellt, der die Daten sortiert hält und Suchen, sequentiellen Zugriff, Einfügungen und Löschungen in logarithmischer Zeit ermöglicht.
                  • Durch das Platzieren eines Index können die Daten im Speicher gehalten werden, wodurch mehr Speicherplatz benötigt wird.
                  • Schreibvorgänge können auch langsamer sein, da auch der Index aktualisiert werden muss.
                  • Beim Laden großer Datenmengen ist es möglicherweise schneller, Indizes zu deaktivieren, die Daten zu laden und dann die Indizes neu zu erstellen.

                  Quelle(n) und weiterführende Literatur: SQL-Tuning

                  NoSQL ist eine Sammlung von Datenelementen, die in a . dargestellt werden Schlüsselwertspeicher, Dokumentenspeicher, breiter spaltenspeicher, oder ein Graphdatenbank. Die Daten werden denormalisiert, und Joins erfolgen im Allgemeinen im Anwendungscode. Den meisten NoSQL-Speichern fehlen echte ACID-Transaktionen und sie bevorzugen eine eventuelle Konsistenz.

                  BASE wird häufig verwendet, um die Eigenschaften von NoSQL-Datenbanken zu beschreiben. Im Vergleich zum CAP-Theorem wählt BASE Verfügbarkeit statt Konsistenz.

                  • Grundsätzlich verfügbar - Das System garantiert die Verfügbarkeit.
                  • Weicher Zustand - Der Zustand des Systems kann sich im Laufe der Zeit auch ohne Eingabe ändern.
                  • Eventuelle Konsistenz - Das System wird über einen bestimmten Zeitraum konsistent, sofern das System während dieses Zeitraums keine Eingaben erhält.

                  Neben der Auswahl zwischen SQL oder NoSQL ist es hilfreich zu wissen, welcher Typ von NoSQL-Datenbank am besten zu Ihrem/Ihren Anwendungsfall(en) passt. Wir überprüfen Schlüsselwertspeicher, Dokumentenspeicher, breite Spalte speichert, und Graphdatenbanken im nächsten Abschnitt.

                  Ein Schlüsselwertspeicher ermöglicht im Allgemeinen O(1)-Lese- und Schreibvorgänge und wird oft durch Speicher oder SSD unterstützt. Datenspeicher können Schlüssel in lexikografischer Reihenfolge verwalten, wodurch ein effizientes Abrufen von Schlüsselbereichen ermöglicht wird. Schlüsselwertspeicher können das Speichern von Metadaten mit einem Wert ermöglichen.

                  Schlüsselwertspeicher bieten eine hohe Leistung und werden häufig für einfache Datenmodelle oder für sich schnell ändernde Daten verwendet, z. B. eine In-Memory-Cache-Schicht. Da sie nur eine begrenzte Anzahl von Operationen bieten, wird die Komplexität auf die Anwendungsschicht verlagert, wenn zusätzliche Operationen benötigt werden.

                  Ein Key-Value-Store ist die Basis für komplexere Systeme wie einen Dokumentenspeicher und in einigen Fällen eine Graphdatenbank.

                  Quelle(n) und weiterführende Literatur: Key-Value-Store

                  Abstraktion: Schlüsselwertspeicher mit Dokumenten, die als Werte gespeichert sind

                  Ein Dokumentenspeicher ist um Dokumente (XML, JSON, Binärdatei usw.) zentriert, in denen ein Dokument alle Informationen für ein bestimmtes Objekt speichert. Dokumentspeicher bieten APIs oder eine Abfragesprache zum Abfragen basierend auf der internen Struktur des Dokuments selbst. Beachten Sie, dass viele Schlüsselwertspeicher Funktionen zum Arbeiten mit den Metadaten eines Werts enthalten, wodurch die Grenzen zwischen diesen beiden Speichertypen verwischt werden.

                  Basierend auf der zugrunde liegenden Implementierung werden Dokumente nach Sammlungen, Tags, Metadaten oder Verzeichnissen organisiert. Obwohl Dokumente organisiert oder gruppiert werden können, können Dokumente Felder aufweisen, die sich vollständig voneinander unterscheiden.

                  Einige Dokumentspeicher wie MongoDB und CouchDB bieten auch eine SQL-ähnliche Sprache, um komplexe Abfragen durchzuführen. DynamoDB unterstützt sowohl Schlüsselwerte als auch Dokumente.

                  Dokumentenspeicher bieten eine hohe Flexibilität und werden häufig für die Arbeit mit sich gelegentlich ändernden Daten verwendet.

                  Quelle(n) und weiterführende Literatur: Dokumentenspeicher

                  Abstraktion: verschachtelte Karte ColumnFamily<RowKey, Columns<ColKey, Value, Timestamp>>

                  Die grundlegende Dateneinheit eines Wide-Spalten-Speichers ist eine Spalte (Name/Wert-Paar). Eine Spalte kann in Spaltenfamilien gruppiert werden (analog einer SQL-Tabelle). Super-Spaltenfamilien gruppieren weitere Spaltenfamilien. Sie können auf jede Spalte unabhängig mit einem Zeilenschlüssel zugreifen, und Spalten mit demselben Zeilenschlüssel bilden eine Zeile. Jeder Wert enthält einen Zeitstempel zur Versionierung und zur Konfliktlösung.

                  Google führte Bigtable als ersten Wide-Column-Store ein, der die im Hadoop-Ökosystem häufig verwendete Open-Source-HBase beeinflusste, und Cassandra von Facebook. Speicher wie BigTable, HBase und Cassandra verwalten Schlüssel in lexikografischer Reihenfolge und ermöglichen so einen effizienten Abruf selektiver Schlüsselbereiche.

                  Wide-Column-Stores bieten hohe Verfügbarkeit und hohe Skalierbarkeit. Sie werden oft für sehr große Datensätze verwendet.

                  Quelle(n) und weiterführende Literatur: Wide Column Store

                  In einer Graphdatenbank ist jeder Knoten ein Datensatz und jeder Bogen eine Beziehung zwischen zwei Knoten. Graphdatenbanken sind optimiert, um komplexe Beziehungen mit vielen Fremdschlüsseln oder Viele-zu-viele-Beziehungen darzustellen.

                  Graphs-Datenbanken bieten eine hohe Leistung für Datenmodelle mit komplexen Beziehungen, wie z. B. ein soziales Netzwerk. Sie sind relativ neu und noch nicht weit verbreitet. Es könnte schwieriger sein, Entwicklungstools und -ressourcen zu finden. Auf viele Diagramme kann nur mit REST-APIs zugegriffen werden.

                  Quelle(n) und weiterführende Literatur: Grafik

                  Quelle(n) und weiterführende Literatur: NoSQL

                  Gründe für SQL:

                  • Strukturierte Daten
                  • Strenges Schema
                  • Relationale Daten
                  • Komplexe Verknüpfungen erforderlich
                  • Transaktionen
                  • Klare Muster für die Skalierung
                  • Etablierter: Entwickler, Community, Code, Tools usw.
                  • Die Suche nach Index ist sehr schnell

                  Gründe für NoSQL:

                  • Semistrukturierte Daten
                  • Dynamisches oder flexibles Schema
                  • Nicht relationale Daten
                  • Keine komplexen Verknüpfungen erforderlich
                  • Speichern Sie viele TB (oder PB) an Daten
                  • Sehr datenintensive Arbeitsbelastung
                  • Sehr hoher Durchsatz für IOPS

                  Beispieldaten, die gut für NoSQL geeignet sind:

                  • Schnelle Aufnahme von Clickstream- und Protokolldaten
                  • Leaderboard- oder Scoring-Daten
                  • Temporäre Daten, z. B. ein Warenkorb
                  • Häufig aufgerufene ('heiße') Tabellen
                  • Metadaten/Nachschlagetabellen

                  Quelle(n) und weiterführende Literatur: SQL oder NoSQL

                  Caching verbessert die Seitenladezeiten und kann die Belastung Ihrer Server und Datenbanken reduzieren. In diesem Modell sucht der Dispatcher zuerst, ob die Anfrage schon einmal gestellt wurde und versucht, das vorherige Ergebnis zu finden, um es zurückzugeben, um die tatsächliche Ausführung zu speichern.

                  Datenbanken profitieren oft von einer gleichmäßigen Verteilung von Lese- und Schreibvorgängen über ihre Partitionen. Beliebte Artikel können die Verteilung verzerren und Engpässe verursachen. Das Platzieren eines Caches vor einer Datenbank kann dazu beitragen, ungleichmäßige Lasten und Verkehrsspitzen abzufedern.

                  Caches können sich auf der Client-Seite (Betriebssystem oder Browser), auf der Server-Seite oder in einer eigenen Cache-Schicht befinden.

                  CDNs gelten als eine Art Cache.

                  Reverse Proxys und Caches wie Varnish können statische und dynamische Inhalte direkt bereitstellen. Webserver können auch Anforderungen zwischenspeichern und Antworten zurückgeben, ohne Anwendungsserver kontaktieren zu müssen.

                  Ihre Datenbank enthält normalerweise eine gewisse Caching-Stufe in einer Standardkonfiguration, die für einen generischen Anwendungsfall optimiert ist. Das Anpassen dieser Einstellungen für bestimmte Nutzungsmuster kann die Leistung weiter steigern.

                  In-Memory-Caches wie Memcached und Redis sind Schlüsselwertspeicher zwischen Ihrer Anwendung und Ihrem Datenspeicher. Da die Daten im RAM gespeichert werden, ist es viel schneller als typische Datenbanken, bei denen die Daten auf der Festplatte gespeichert werden.Der Arbeitsspeicher ist begrenzter als der Festplattenspeicher, daher können Cache-Invalidierungsalgorithmen wie der zuletzt verwendete (LRU) helfen, "kalte" Einträge zu ungültig zu machen und "heiße" Daten im RAM zu halten.

                  Redis hat die folgenden zusätzlichen Funktionen:

                  Es gibt mehrere Ebenen, die Sie zwischenspeichern können, die in zwei allgemeine Kategorien fallen: Datenbankabfragen und Objekte:

                  • Zeilenebene
                  • Abfrageebene
                  • Vollständig geformte serialisierbare Objekte
                  • Vollständig gerendertes HTML

                  Generell sollten Sie versuchen, dateibasiertes Caching zu vermeiden, da es das Klonen und die automatische Skalierung erschwert.

                  Caching auf Datenbankabfrageebene

                  Wann immer Sie die Datenbank abfragen, hashen Sie die Abfrage als Schlüssel und speichern Sie das Ergebnis im Cache. Dieser Ansatz leidet unter Ablaufproblemen:

                  • Bei komplexen Abfragen ist es schwierig, ein zwischengespeichertes Ergebnis zu löschen
                  • Wenn sich ein Datenelement ändert, z. B. eine Tabellenzelle, müssen Sie alle zwischengespeicherten Abfragen löschen, die die geänderte Zelle enthalten könnten

                  Caching auf Objektebene

                  Betrachten Sie Ihre Daten als Objekt, ähnlich wie bei Ihrem Anwendungscode. Lassen Sie Ihre Anwendung das Dataset aus der Datenbank zu einer Klasseninstanz oder einer Datenstruktur(en) zusammenstellen:

                  • Entfernen Sie das Objekt aus dem Cache, wenn sich die zugrunde liegenden Daten geändert haben
                  • Ermöglicht asynchrone Verarbeitung: Arbeiter stellen Objekte zusammen, indem sie das neueste zwischengespeicherte Objekt verwenden

                  Vorschläge für den Cache:

                  • Benutzersitzungen
                  • Vollständig gerenderte Webseiten
                  • Aktivitätsstreams
                  • Benutzerdiagrammdaten

                  Da Sie nur eine begrenzte Datenmenge im Cache speichern können, müssen Sie ermitteln, welche Cache-Aktualisierungsstrategie für Ihren Anwendungsfall am besten geeignet ist.

                  Die Anwendung ist für das Lesen und Schreiben aus dem Speicher verantwortlich. Der Cache interagiert nicht direkt mit dem Speicher. Die Anwendung macht Folgendes:

                  • Suchen Sie nach einem Eintrag im Cache, der zu einem Cache-Miss führt
                  • Eintrag aus der Datenbank laden
                  • Eintrag zum Cache hinzufügen
                  • Rückeintrag

                  Memcached wird im Allgemeinen auf diese Weise verwendet.

                  Nachfolgende Lesevorgänge von Daten, die dem Cache hinzugefügt wurden, sind schnell. Cache-Aside wird auch als Lazy Loading bezeichnet. Nur angeforderte Daten werden zwischengespeichert, wodurch vermieden wird, dass der Cache mit Daten gefüllt wird, die nicht angefordert werden.

                  • Jeder Cache-Miss führt zu drei Trips, was zu einer merklichen Verzögerung führen kann.
                  • Daten können veralten, wenn sie in der Datenbank aktualisiert werden. Dieses Problem wird gemildert, indem eine Time-to-Live (TTL) festgelegt wird, die eine Aktualisierung des Cache-Eintrags erzwingt, oder indem Write-Through verwendet wird.
                  • Wenn ein Knoten ausfällt, wird er durch einen neuen, leeren Knoten ersetzt, was die Latenz erhöht.

                  Die Anwendung verwendet den Cache als Hauptdatenspeicher und liest und schreibt Daten in ihn, während der Cache für das Lesen und Schreiben in die Datenbank verantwortlich ist:

                  • Anwendung fügt Eintrag im Cache hinzu/aktualisiert ihn
                  • Cache schreibt Eintrag synchron in den Datenspeicher
                  • Zurückkehren

                  Das Durchschreiben ist aufgrund des Schreibvorgangs insgesamt ein langsamer Vorgang, aber nachfolgende Lesevorgänge von gerade geschriebenen Daten sind schnell. Benutzer sind im Allgemeinen toleranter gegenüber Latenzzeiten beim Aktualisieren von Daten als beim Lesen von Daten. Die Daten im Cache sind nicht veraltet.

                  Nachteil(e): durchschreiben

                  • Wenn ein neuer Knoten aufgrund eines Fehlers oder einer Skalierung erstellt wird, wird der neue Knoten keine Einträge zwischenspeichern, bis der Eintrag in der Datenbank aktualisiert wird. Cache-Aside in Verbindung mit Write-Through kann dieses Problem mildern.
                  • Die meisten geschriebenen Daten werden möglicherweise nie gelesen, was mit einer TTL minimiert werden kann.

                  Beim Write-Behind führt die Anwendung Folgendes aus:

                  • Eintrag im Cache hinzufügen/aktualisieren
                  • Eintrag asynchron in den Datenspeicher schreiben, um die Schreibleistung zu verbessern
                  • Es kann zu Datenverlust kommen, wenn der Cache ausfällt, bevor sein Inhalt den Datenspeicher erreicht.
                  • Es ist komplexer, Write-Behind zu implementieren, als Cache-Aside oder Write-Through zu implementieren.

                  Sie können den Cache so konfigurieren, dass alle kürzlich aufgerufenen Cache-Einträge vor seinem Ablauf automatisch aktualisiert werden.

                  Refresh-Ahead kann zu einer geringeren Latenz im Vergleich zum Durchlesen führen, wenn der Cache genau vorhersagen kann, welche Elemente wahrscheinlich in Zukunft benötigt werden.

                  • Wenn Sie nicht genau vorhersagen, welche Elemente wahrscheinlich in Zukunft benötigt werden, kann dies zu einer geringeren Leistung führen als ohne Refresh-Ahead.
                  • Die Konsistenz zwischen Caches und der Quelle der Wahrheit wie der Datenbank muss durch Cache-Invalidierung aufrechterhalten werden.
                  • Die Cache-Invalidierung ist ein schwieriges Problem, es ist eine zusätzliche Komplexität im Zusammenhang damit, wann der Cache zu aktualisieren ist.
                  • Sie müssen Anwendungsänderungen vornehmen, z. B. das Hinzufügen von Redis oder Memcached.

                  Quelle(n) und weiterführende Literatur

                  Asynchrone Workflows tragen dazu bei, die Anforderungszeiten für teure Vorgänge zu verkürzen, die ansonsten inline ausgeführt würden. Sie können auch helfen, indem sie zeitaufwändige Arbeiten im Voraus erledigen, wie z. B. die regelmäßige Aggregation von Daten.

                  Nachrichtenwarteschlangen empfangen, halten und übermitteln Nachrichten. Wenn ein Vorgang für die Inline-Ausführung zu langsam ist, können Sie eine Nachrichtenwarteschlange mit dem folgenden Workflow verwenden:

                  • Eine Anwendung veröffentlicht einen Job in der Warteschlange und benachrichtigt den Benutzer dann über den Jobstatus
                  • Ein Mitarbeiter nimmt den Auftrag aus der Warteschlange, verarbeitet ihn und signalisiert dann, dass der Auftrag abgeschlossen ist

                  Der Benutzer wird nicht gesperrt und der Job wird im Hintergrund verarbeitet. Während dieser Zeit kann der Client optional einen kleinen Teil der Verarbeitung durchführen, um den Anschein zu erwecken, dass die Aufgabe abgeschlossen ist. Wenn Sie beispielsweise einen Tweet posten, könnte der Tweet sofort in Ihrer Chronik gepostet werden, es kann jedoch einige Zeit dauern, bis Ihr Tweet tatsächlich an alle Ihre Follower gesendet wird.

                  Redis ist als einfacher Nachrichtenbroker nützlich, aber Nachrichten können verloren gehen.

                  KaninchenMQ ist beliebt, erfordert jedoch, dass Sie sich an das 'AMQP'-Protokoll anpassen und Ihre eigenen Knoten verwalten.

                  Amazon SQS wird gehostet, kann jedoch eine hohe Latenz aufweisen und es besteht die Möglichkeit, dass Nachrichten zweimal zugestellt werden.

                  Aufgabenwarteschlangen empfangen Aufgaben und ihre zugehörigen Daten, führen sie aus und liefern dann ihre Ergebnisse. Sie können das Scheduling unterstützen und können verwendet werden, um rechenintensive Jobs im Hintergrund auszuführen.

                  Sellerie hat Unterstützung für die Planung und hauptsächlich Python-Unterstützung.

                  Wenn die Warteschlangen erheblich anwachsen, kann die Warteschlangengröße größer werden als der Arbeitsspeicher, was zu Cache-Fehltreffern, Festplattenlesevorgängen und noch geringerer Leistung führt. Gegendruck kann helfen, indem die Warteschlangengröße begrenzt wird, wodurch eine hohe Durchsatzrate und gute Reaktionszeiten für bereits in der Warteschlange befindliche Aufträge aufrechterhalten werden. Sobald die Warteschlange voll ist, erhalten Clients einen Server-Beschäftigt- oder HTTP 503-Statuscode, um es später erneut zu versuchen. Clients können die Anforderung zu einem späteren Zeitpunkt wiederholen, möglicherweise mit exponentiellem Backoff.

                  • Anwendungsfälle wie kostengünstige Berechnungen und Echtzeit-Workflows eignen sich möglicherweise besser für synchrone Vorgänge, da die Einführung von Warteschlangen zu Verzögerungen und Komplexität führen kann.

                  Quelle(n) und weiterführende Literatur

                  Hypertext-Übertragungsprotokoll (HTTP)

                  HTTP ist eine Methode zum Codieren und Transportieren von Daten zwischen einem Client und einem Server. Es ist ein Anforderungs-/Antwortprotokoll: Clients geben Anforderungen aus und Server geben Antworten mit relevantem Inhalt und Informationen zum Abschlussstatus der Anforderung aus. HTTP ist in sich geschlossen, sodass Anfragen und Antworten durch viele zwischengeschaltete Router und Server fließen können, die Lastausgleich, Caching, Verschlüsselung und Komprimierung durchführen.

                  Eine grundlegende HTTP-Anfrage besteht aus einem Verb (Methode) und einer Ressource (Endpunkt). Nachfolgend sind gängige HTTP-Verben aufgeführt:

                  Verb Beschreibung Idempotent* Sicher Zwischenspeicherbar
                  BEKOMMEN Liest eine Ressource Jawohl Jawohl Jawohl
                  POST Erstellt eine Ressource oder löst einen Prozess aus, der Daten verarbeitet Nein Nein Ja, wenn die Antwort Informationen zur Aktualität enthält
                  STELLEN Erstellt oder ersetzt eine Ressource Jawohl Nein Nein
                  PATCH Aktualisiert teilweise eine Ressource Nein Nein Ja, wenn die Antwort Informationen zur Aktualität enthält
                  LÖSCHEN Löscht eine Ressource Jawohl Nein Nein

                  *Kann viele Male ohne unterschiedliche Ergebnisse aufgerufen werden.

                  HTTP ist ein Protokoll der Anwendungsschicht, das auf Protokollen niedrigerer Ebene basiert, wie z TCP und UDP.

                  Quelle(n) und weiterführende Literatur: HTTP

                  Übertragungskontrollprotokoll (TCP)

                  TCP ist ein verbindungsorientiertes Protokoll über ein IP-Netzwerk. Der Verbindungsaufbau und -abbau erfolgt per Handshake. Alle gesendeten Pakete erreichen das Ziel garantiert in der ursprünglichen Reihenfolge und ohne Beschädigung durch:

                  Wenn der Absender keine korrekte Antwort erhält, sendet er die Pakete erneut. Bei mehreren Timeouts wird die Verbindung abgebrochen. TCP implementiert auch Flusskontrolle und Überlastungskontrolle. Diese Garantien verursachen Verzögerungen und führen im Allgemeinen zu einer weniger effizienten Übertragung als UDP.

                  Um einen hohen Durchsatz zu gewährleisten, können Webserver eine große Anzahl von TCP-Verbindungen offen halten, was zu einer hohen Speicherauslastung führt. Es kann teuer werden, eine große Anzahl offener Verbindungen zwischen Webserver-Threads und beispielsweise einem Memcached-Server zu haben. Verbindungspooling kann gegebenenfalls zusätzlich zum Wechsel zu UDP hilfreich sein.

                  TCP ist nützlich für Anwendungen, die eine hohe Zuverlässigkeit erfordern, aber weniger zeitkritisch sind. Einige Beispiele sind Webserver, Datenbankinformationen, SMTP, FTP und SSH.

                  • Sie benötigen alle Daten, um unversehrt anzukommen
                  • Sie möchten automatisch eine bestmögliche Schätzung des Netzwerkdurchsatzes vornehmen

                  Benutzer-Datagramm-Protokoll (UDP)

                  UDP ist verbindungslos. Datagramme (analog zu Paketen) werden nur auf Datagramm-Ebene garantiert. Datagramme erreichen ihr Ziel möglicherweise nicht in der richtigen Reihenfolge oder gar nicht. UDP unterstützt keine Überlastungssteuerung. Ohne die Garantien der TCP-Unterstützung ist UDP im Allgemeinen effizienter.

                  UDP kann Broadcasts senden und Datagramme an alle Geräte im Subnetz senden. Dies ist bei DHCP nützlich, da der Client noch keine IP-Adresse erhalten hat, wodurch TCP verhindert wird, ohne die IP-Adresse zu streamen.

                  UDP ist weniger zuverlässig, funktioniert aber gut in Echtzeit-Anwendungsfällen wie VoIP, Video-Chat, Streaming und Echtzeit-Multiplayer-Spielen.

                  • Sie brauchen die niedrigste Latenz
                  • Verspätete Daten sind schlimmer als Datenverlust
                  • Sie möchten Ihre eigene Fehlerkorrektur implementieren

                  Quelle(n) und weiterführende Literatur: TCP und UDP

                  Remoteprozeduraufruf (RPC)

                  In einem RPC veranlasst ein Client die Ausführung einer Prozedur in einem anderen Adressraum, normalerweise einem Remoteserver. Die Prozedur ist so codiert, als ob sie ein lokaler Prozeduraufruf wäre, der die Details der Kommunikation mit dem Server vom Client-Programm abstrahiert. Ferngespräche sind normalerweise langsamer und weniger zuverlässig als Ortsgespräche, daher ist es hilfreich, RPC-Anrufe von Ortsgesprächen zu unterscheiden. Beliebte RPC-Frameworks sind Protobuf, Thrift und Avro.

                  RPC ist ein Request-Response-Protokoll:

                  • Kundenprogramm - Ruft die Client-Stub-Prozedur auf. Die Parameter werden wie bei einem lokalen Prozeduraufruf auf den Stack geschoben.
                  • Client-Stub-Verfahren - Marshals (packt) Prozedur-ID und Argumente in eine Anforderungsnachricht.
                  • Client-Kommunikationsmodul - OS sendet die Nachricht vom Client an den Server.
                  • Server-Kommunikationsmodul - Das Betriebssystem leitet die eingehenden Pakete an die Server-Stub-Prozedur weiter.
                  • Server-Stub-Verfahren - Entmarshallt die Ergebnisse, ruft die Serverprozedur auf, die der Prozedur-ID entspricht, und übergibt die angegebenen Argumente.
                  • Die Serverantwort wiederholt die obigen Schritte in umgekehrter Reihenfolge.

                  RPC konzentriert sich darauf, Verhaltensweisen aufzudecken. RPCs werden häufig aus Leistungsgründen bei der internen Kommunikation verwendet, da Sie native Aufrufe manuell erstellen können, um Ihren Anwendungsfällen besser gerecht zu werden.

                  Wählen Sie in folgenden Fällen eine native Bibliothek (auch SDK genannt) aus:

                  • Sie kennen Ihre Zielplattform.
                  • Sie möchten steuern, wie auf Ihre "Logik" zugegriffen wird.
                  • Sie möchten steuern, wie die Fehlerkontrolle außerhalb Ihrer Bibliothek erfolgt.
                  • Leistung und Endbenutzererfahrung sind Ihr Hauptanliegen.

                  HTTP APIs folgen SICH AUSRUHEN werden tendenziell häufiger für öffentliche APIs verwendet.

                  • RPC-Clients werden eng an die Dienstimplementierung gekoppelt.
                  • Für jede neue Operation oder jeden Anwendungsfall muss eine neue API definiert werden.
                  • Es kann schwierig sein, RPC zu debuggen.
                  • Möglicherweise können Sie vorhandene Technologien nicht sofort nutzen. Es kann beispielsweise zusätzlichen Aufwand erfordern, um sicherzustellen, dass RPC-Aufrufe auf Caching-Servern wie Squid ordnungsgemäß zwischengespeichert werden.

                  Repräsentativer Zustandstransfer (REST)

                  REST ist ein Architekturstil, der ein Client/Server-Modell durchsetzt, bei dem der Client auf eine Reihe von Ressourcen einwirkt, die vom Server verwaltet werden. Der Server stellt eine Darstellung von Ressourcen und Aktionen bereit, die entweder manipulieren oder eine neue Darstellung von Ressourcen erhalten können. Die gesamte Kommunikation muss zustandslos und zwischenspeicherbar sein.

                  Es gibt vier Qualitäten einer RESTful-Schnittstelle:

                  • Identifizieren von Ressourcen (URI in HTTP) - Verwenden Sie dieselbe URI unabhängig von jeder Operation.
                  • Mit Repräsentationen ändern (Verben in HTTP) - Verwenden Sie Verben, Überschriften und Körper.
                  • Selbsterklärende Fehlermeldung (Statusantwort in HTTP) - Verwenden Sie Statuscodes, erfinden Sie das Rad nicht neu.
                  • HATEOAS (HTML-Schnittstelle für HTTP) - Ihr Webservice sollte in einem Browser vollständig zugänglich sein.

                  REST konzentriert sich auf die Bereitstellung von Daten. Es minimiert die Kopplung zwischen Client/Server und wird häufig für öffentliche HTTP-APIs verwendet. REST verwendet eine allgemeinere und einheitlichere Methode zur Bereitstellung von Ressourcen durch URIs, Darstellung durch Header und Aktionen durch Verben wie GET, POST, PUT, DELETE und PATCH. Da REST zustandslos ist, eignet es sich hervorragend für die horizontale Skalierung und Partitionierung.

                  • Da sich REST auf die Bereitstellung von Daten konzentriert, ist es möglicherweise nicht gut geeignet, wenn Ressourcen nicht auf natürliche Weise organisiert sind oder in einer einfachen Hierarchie darauf zugegriffen wird. Das Zurückgeben aller aktualisierten Datensätze der letzten Stunde, die einem bestimmten Ereignissatz entsprechen, lässt sich beispielsweise nicht einfach als Pfad ausdrücken. Bei REST wird es wahrscheinlich mit einer Kombination aus URI-Pfad, Abfrageparametern und möglicherweise dem Anforderungstext implementiert.
                  • REST basiert normalerweise auf ein paar Verben (GET, POST, PUT, DELETE und PATCH), die manchmal nicht zu Ihrem Anwendungsfall passen. Beispielsweise passt das Verschieben abgelaufener Dokumente in den Archivordner möglicherweise nicht genau in diese Verben.
                  • Das Abrufen komplizierter Ressourcen mit verschachtelten Hierarchien erfordert mehrere Roundtrips zwischen Client und Server, um einzelne Ansichten zu rendern, z. Abrufen des Inhalts eines Blogeintrags und der Kommentare zu diesem Eintrag. Für mobile Anwendungen, die unter variablen Netzwerkbedingungen arbeiten, sind diese mehrfachen Roundtrips höchst unerwünscht.
                  • Im Laufe der Zeit werden möglicherweise mehr Felder zu einer API-Antwort hinzugefügt und ältere Clients erhalten alle neuen Datenfelder, auch diejenigen, die sie nicht benötigen. Dadurch wird die Nutzlastgröße aufgebläht und es kommt zu größeren Latenzen.

                  Vergleich von RPC- und REST-Aufrufen

                  Betrieb RPC SICH AUSRUHEN
                  Anmelden POST /Anmelden POST /Personen
                  Zurücktreten POST /zurücktreten
                  <
                  "personid": "1234"
                  >
                  LÖSCHEN /Personen/1234
                  Lesen Sie eine Person BEKOMMEN /readPerson?personid=1234 BEKOMMEN /Personen/1234
                  Liste der Gegenstände einer Person lesen BEKOMMEN /readUsersItemsList?personid=1234 BEKOMMEN /Personen/1234/Artikel
                  Artikel zu den Artikeln einer Person hinzufügen POST /addItemToUsersItemsList
                  <
                  "personid": "1234"
                  "itemid": "456"
                  >
                  POST /Personen/1234/Artikel
                  <
                  "itemid": "456"
                  >
                  Aktualisieren eines Artikels POST /modifyItem
                  <
                  "itemid": "456"
                  "Schlüsselwert"
                  >
                  STELLEN /Artikel/456
                  <
                  "Schlüsselwert"
                  >
                  Einen Artikel löschen POST /Gegenstand entfernen
                  <
                  "itemid": "456"
                  >
                  LÖSCHEN /Artikel/456

                  Quelle(n) und weiterführende Literatur: REST und RPC

                  Dieser Abschnitt könnte einige Aktualisierungen gebrauchen. Erwägen Sie einen Beitrag!

                  Sicherheit ist ein weites Thema. Sofern Sie nicht über beträchtliche Erfahrung oder einen Sicherheitshintergrund verfügen oder sich auf eine Position bewerben, die Kenntnisse im Bereich Sicherheit erfordert, müssen Sie wahrscheinlich nicht mehr als die Grundlagen wissen:

                  • Während der Übertragung und im Ruhezustand verschlüsseln.
                  • Bereinigen Sie alle Benutzereingaben oder alle Eingabeparameter, die dem Benutzer zugänglich sind, um XSS- und SQL-Injection zu verhindern.
                  • Verwenden Sie parametrisierte Abfragen, um SQL-Injection zu verhindern.
                  • Verwenden Sie das Prinzip der geringsten Berechtigung.

                  Quelle(n) und weiterführende Literatur

                  Sie werden manchmal aufgefordert, Schätzungen auf der Rückseite des Umschlags vorzunehmen. Beispielsweise müssen Sie möglicherweise ermitteln, wie lange es dauert, 100 Miniaturansichten von der Festplatte zu generieren, oder wie viel Speicher eine Datenstruktur benötigt. Das Zweierpotenzen Tabelle und Latenzzahlen, die jeder Programmierer kennen sollte sind praktische Hinweise.

                  Quelle(n) und weiterführende Literatur

                  Latenzzahlen, die jeder Programmierer kennen sollte

                  Praktische Metriken basierend auf den obigen Zahlen:

                  • Lesen Sie sequentiell von der Festplatte mit 30 MB/s
                  • Lesen Sie sequentiell von 1-Gbit/s-Ethernet mit 100 MB/s
                  • Lesen Sie sequentiell von SSD mit 1 GB/s
                  • Mit 4 GB/s sequentiell aus dem Hauptspeicher lesen
                  • 6-7 weltweite Rundfahrten pro Sekunde
                  • 2.000 Roundtrips pro Sekunde innerhalb eines Rechenzentrums

                  Latenzzahlen visualisiert

                  Quelle(n) und weiterführende Literatur

                  Zusätzliche Fragen im Vorstellungsgespräch zum Systemdesign

                  Häufige Fragen in Vorstellungsgesprächen zum Systemdesign mit Links zu Ressourcen zur Lösung der einzelnen Fragen.

                  Frage Verweise)
                  Entwerfen Sie einen Dateisynchronisierungsdienst wie Dropbox youtube.com
                  Entwerfen Sie eine Suchmaschine wie Google Warteschlange.acm.org
                  stackexchange.com
                  ardendertat.com
                  stanford.edu
                  Entwerfen Sie einen skalierbaren Webcrawler wie Google quora.com
                  Google-Dokumente entwerfen code.google.com
                  neil.fraser.name
                  Entwerfen Sie einen Schlüsselwertspeicher wie Redis slideshare.net
                  Entwerfen Sie ein Cache-System wie Memcached slideshare.net
                  Entwerfen Sie ein Empfehlungssystem wie das von Amazon hulu.com
                  ijcai13.org
                  Entwerfen Sie ein Tinyurl-System wie Bitly n00tc0d3r.blogspot.com
                  Entwerfen Sie eine Chat-App wie WhatsApp highscalability.com
                  Entwerfen Sie ein Bildfreigabesystem wie Instagram highscalability.com
                  highscalability.com
                  Gestalten Sie die Facebook-Newsfeed-Funktion quora.com
                  quora.com
                  slideshare.net
                  Gestalten Sie die Facebook-Timeline-Funktion facebook.com
                  highscalability.com
                  Gestalten Sie die Facebook-Chat-Funktion erlang-factory.com
                  facebook.com
                  Entwerfen Sie eine Grafiksuchfunktion wie die von Facebook facebook.com
                  facebook.com
                  facebook.com
                  Entwerfen Sie ein Content Delivery Network wie CloudFlare figshare.com
                  Entwerfen Sie ein Trendthemensystem wie das von Twitter michael-noll.com
                  snikolov .wordpress.com
                  Entwerfen Sie ein zufälliges ID-Generierungssystem blog.twitter.com
                  github.com
                  Gibt die k höchsten Anfragen während eines Zeitintervalls zurück cs.ucsb.edu
                  wpi.edu
                  Entwerfen Sie ein System, das Daten aus mehreren Rechenzentren bereitstellt highscalability.com
                  Entwerfen Sie ein Online-Multiplayer-Kartenspiel indieflashblog.com
                  buildnewgames.com
                  Entwerfen Sie ein Müllsammelsystem stuffwithstuff.com
                  Washington.edu
                  Entwerfen Sie einen API-Ratenbegrenzer https://stripe.com/blog/
                  Entwerfen Sie eine Börse (wie NASDAQ oder Binance) Jane Straße
                  Golang-Implementierung
                  Go-Implementierung
                  Frage zum Systemdesign hinzufügen Beitragen

                  Artikel darüber, wie reale Systeme entworfen werden.

                  Konzentrieren Sie sich in den folgenden Artikeln stattdessen nicht auf kleine Details:

                  • Identifizieren Sie gemeinsame Prinzipien, gemeinsame Technologien und Muster in diesen Artikeln
                  • Untersuchen Sie, welche Probleme von jeder Komponente gelöst werden, wo sie funktioniert und wo nicht
                  • Überprüfen Sie die gewonnenen Erkenntnisse
                  Unternehmen Verweise)
                  Amazonas Amazon-Architektur
                  Cinchcast Jeden Tag 1.500 Stunden Audio produzieren
                  DataSift Echtzeit-Datamining Bei 120.000 Tweets pro Sekunde
                  Dropbox Wie wir Dropbox skaliert haben
                  ESPN Betrieb mit 100.000 duh nuh nuhs pro Sekunde
                  Google Google-Architektur
                  Instagram 14 Millionen Nutzer, Terabyte an Fotos
                  Was treibt Instagram an?
                  Justin.tv Justin.Tvs Live-Video-Übertragungsarchitektur
                  Facebook Skalierung von Memcached bei Facebook
                  TAO: Facebooks verteilter Datenspeicher für den Social Graph
                  Fotospeicher von Facebook
                  Wie Facebook Livestreams an 800.000 gleichzeitige Zuschauer sendet
                  Flickr Flickr-Architektur
                  Briefkasten Von 0 auf eine Million Nutzer in 6 Wochen
                  Netflix Eine 360-Grad-Ansicht des gesamten Netflix-Stacks
                  Netflix: Was passiert, wenn Sie auf Play drücken?
                  Pinterest Von 0 bis 10 Milliarden Seitenaufrufe pro Monat
                  18 Millionen Besucher, 10x Wachstum, 12 Mitarbeiter
                  Spielfisch 50 Millionen monatliche Nutzer, Tendenz steigend
                  Viel Fisch PlentyOfFish-Architektur
                  Zwangsversteigerung Wie sie täglich 1,3 Milliarden Transaktionen abwickeln
                  Paketüberfluss Stack Overflow-Architektur
                  TripAdvisor 40 Millionen Besucher, 200 Millionen dynamische Seitenaufrufe, 30 TB Daten
                  Tumblr 15 Milliarden Seitenaufrufe pro Monat
                  Twitter Twitter 10000 Prozent schneller machen
                  250 Millionen Tweets pro Tag mit MySQL speichern
                  150 Millionen aktive Benutzer, 300.000 QPS, ein 22 MB/S Firehose
                  Zeitleisten im Maßstab
                  Große und kleine Daten bei Twitter
                  Betrieb bei Twitter: Skalierung über 100 Millionen Nutzer
                  Wie Twitter 3.000 Bilder pro Sekunde verarbeitet
                  Über Wie Uber seine Echtzeit-Marktplattform skaliert
                  Erkenntnisse aus der Skalierung von Uber auf 2000 Ingenieure, 1000 Dienste und 8000 Git-Repositorys
                  WhatsApp Die WhatsApp-Architektur, die Facebook für 19 Milliarden Dollar gekauft hat
                  Youtube YouTube-Skalierbarkeit
                  YouTube-Architektur

                  Engineering-Blogs für Unternehmen

                  Architekturen für Unternehmen, mit denen Sie Interviews führen.

                  Fragen, auf die Sie stoßen, stammen möglicherweise aus derselben Domäne.

                  Quelle(n) und weiterführende Literatur

                  Möchten Sie einen Blog hinzufügen? Um Doppelarbeit zu vermeiden, sollten Sie Ihren Unternehmensblog zum folgenden Repository hinzufügen:

                  Möchten Sie einen Abschnitt hinzufügen oder dabei helfen, einen in Bearbeitung befindlichen Abschnitt zu vervollständigen? Beitragen!

                  Credits und Quellen werden in diesem Repo bereitgestellt.

                  Zögern Sie nicht, mich zu kontaktieren, um Probleme, Fragen oder Kommentare zu besprechen.

                  Meine Kontaktdaten finden Sie auf meiner GitHub-Seite.

                  Ich stelle Ihnen Code und Ressourcen in diesem Repository unter einer Open-Source-Lizenz zur Verfügung. Da dies mein persönliches Repository ist, ist die Lizenz, die Sie für meinen Code und meine Ressourcen erhalten, von mir und nicht von meinem Arbeitgeber (Facebook).


                  Schau das Video: Microsoft Access Datenbank erstellen