Más

MapGuide con pautas de diseño de bases de datos RDBMS

MapGuide con pautas de diseño de bases de datos RDBMS


Soy nuevo en la programación GIS y estoy diseñando una aplicación GIS y creo que quiero usar MapGuide debido a sus funciones de selección de usuarios (Digitalización y Redlining, ¿o puedo hacer esto fácilmente con MapServer y OpenLayers?). Estoy leyendo documentación / tutoriales y parece que no puedo encontrar ninguna guía para diseñar una base de datos espacial para usar con MapGuide.

¿Puedo diseñarlo de alguna manera siempre que tenga en cuenta la optimización de consultas? Se ve así en los diagramas, pero quiero estar seguro.

¿Qué debo almacenar en mi base de datos separada y qué en el repositorio del servidor MapGuides en archivos .shp?

Editar: tiendas MapGuide

Gracias


Estamos usando MapGuide OpenSource aquí y estamos bastante satisfechos con su entorno de desarrollo, además de la falta de documentación.

Algunos desarrolladores y consultores de MapGuide recomendarán que use la aplicación web "ajax básica" para desarrollar su aplicación, pero la encontramos limitada y usamos Fusion en su lugar. Fusion usa OpenLayer.

Aunque MapGuide tiene Redlining incorporado, es bastante inútil como está, tendrás que extenderlo para que sea utilizable. Y eso requerirá una sólida formación en Javascript y PHP (o .net / java).

Usamos PostGIS como nuestro RDBMS. Nuestro diseño es bastante sencillo: cada "tabla" representa una capa y cada registro representa una geometría. Todo está en una base de datos, pero abarca varios esquemas (aunque es más fácil si lo mantiene en un esquema).

En cuanto a qué mantener en DB y qué shp: cualquier cosa que necesite poder "relacional" obviamente se beneficiará de estar en RDBMS. Realmente es útil cuando necesita consultar algo que involucra múltiples capas, o incluso relacionarlo con datos no espaciales en la base de datos. O algo que se reduce y crece constantemente. Lo único para lo que usaría shp serían las capas independientes realmente estáticas para las que necesita que se cargue rápidamente, porque shp tendrá una ventaja de velocidad.

Espero que esto ayude. No soy un experto, pero esto proviene de una experiencia limitada. También buscaría más opiniones.


MÉTODO Y SISTEMA PARA EVITAR LAS VIOLACIONES DEL ESTACIONAMIENTO

Un sistema y método para identificar una posible infracción de estacionamiento para una ubicación incluye almacenar y calificar los datos relacionados con la infracción de estacionamiento y notificar a un usuario, mediante un sistema informático que se comunica con el dispositivo informático del usuario, de la posible infracción de estacionamiento y cómo evitar recibir la posible infracción de estacionamiento. citación por infracción de estacionamiento. Los datos se almacenan en una base de datos y se agrupan por tipos de datos. El dispositivo informático del usuario se utiliza para identificar el tipo de usuario, la ubicación y la hora. Se utiliza un panel de participación del usuario para compartir y calificar los datos y notificaciones relacionados con la infracción de estacionamiento, y las recompensas se asignan a un usuario por contribuir con datos útiles. Es posible que se incorporen a las notificaciones datos de alta calificación. Los datos se analizan para predecir o inferir una infracción. Se genera una notificación correspondiente a una ubicación actual y al tipo de usuario cuando se predicen infracciones.

La presente solicitud es una división y reivindica la prioridad de la solicitud de patente de EE.UU. No. 16 / 694,644, presentada el 25 de noviembre de 2019, que es una continuación de la solicitud de patente de EE. UU. Ser. No. 16 / 297,559, presentada el 8 de marzo de 2019, y titulada MÉTODO Y SISTEMA PARA EVITAR VIOLACIONES DE ESTACIONAMIENTO, que es una continuación y reclama prioridad para la solicitud de patente de EE. UU. Co-pendiente Ser. No. 15 / 973,217, presentada el 7 de mayo de 2018 y titulada MÉTODO Y SISTEMA PARA EVITAR VIOLACIONES DE ESTACIONAMIENTO, que es una continuación en parte de la solicitud Ser. Nº 15 / 382,240, presentada el 16 de diciembre de 2016, ahora patente de EE.UU. No. 9.997.071, emitida el 12 de junio de 2018, que es una continuación en parte de la solicitud de patente de EE. UU. 14 / 832.584, presentada el 21 de agosto de 2015, ahora patente de EE.UU. 9.558.665, emitida el 31 de enero de 2017, que reivindica la prioridad de la Solicitud de Patente Provisional de EE. UU. No. 62 / 086,560, presentada el 2 de diciembre de 2014, Solicitud de Patente Provisional de EE.UU. No. 62 / 092,100, presentada el 15 de diciembre de 2014, Solicitud de Patente Provisional de EE.UU. No. 62 / 113,922, presentada el 9 de febrero de 2015, y la Solicitud de Patente Provisional de EE. UU. No. 62 / 150,118, presentada el 20 de abril de 2015, que se incorporan a la presente como referencia en su totalidad.

CAMPO TÉCNICO

La presente divulgación se refiere a evitar infracciones de estacionamiento y, más específicamente, a un método y sistema para proporcionar orientación para identificar y evitar infracciones de estacionamiento.

DISCUSIÓN DEL ARTE RELACIONADO

Las ordenanzas y reglas de estacionamiento locales regulan con frecuencia dónde y por cuánto tiempo se puede estacionar un vehículo a lo largo de las vías públicas. Un conductor que estaciona un vehículo de una manera que no está permitida bajo dichas ordenanzas y reglas puede describirse como que ha cometido una infracción de estacionamiento. Cuando un oficial de la ley, como un oficial de policía u otro oficial de tránsito, encuentra un vehículo estacionado de tal manera, generalmente se puede emitir una citación. Esta citación puede denominarse multa de estacionamiento o citación por infracción de estacionamiento. Por consiguiente, tanto el acto de estacionar un vehículo de una manera no permitida como el boleto emitido para hacerlo pueden denominarse una infracción de estacionamiento.

Las multas emitidas por infracciones de estacionamiento pueden ser difíciles de impugnar con éxito y pueden conllevar una multa monetaria significativa. Las infracciones de estacionamiento también pueden incluir puntos de penalización para su licencia. Estos puntos de penalización pueden resultar en un aumento en el seguro del vehículo y, después de obtener una cierta cantidad de puntos dentro de un período de tiempo determinado, la licencia de conducir puede ser suspendida o revocada. Además, los vehículos estacionados incorrectamente pueden obstaculizar el flujo del tráfico, interferir con el funcionamiento del transporte público y los servicios de saneamiento, y bloquear la prestación eficaz de los servicios esenciales y de emergencia. En consecuencia, es de interés público aumentar el cumplimiento de las reglas de estacionamiento.

Sin embargo, las reglas de estacionamiento, reglamentos, leyes, códigos de citación, etc. (en adelante, "RRLC") pueden ser muy complejos, especialmente en ciudades grandes como la ciudad de Nueva York, donde puede haber una gran cantidad de razones para restringir los lugares donde las personas pueden aparcar y, por tanto, crear una gran demanda de plazas de aparcamiento. Por lo tanto, es común que los conductores cometan infracciones de estacionamiento, incluso cuando no tienen la intención de violar las reglas. La congestión constante y la falta de espacios de estacionamiento junto con el aumento continuo en el número de vehículos en la carretera también exacerba la tasa actual de infracciones de estacionamiento.

Aunque las reglas de estacionamiento pueden ser claras individualmente, a veces las reglas de estacionamiento no son lo suficientemente claras cuando se aplican múltiples reglas en situaciones reales de estacionamiento en la calle, por ejemplo, donde cada una de las reglas se aplica solo en ciertos momentos y en ciertos días. Los conductores a menudo se encuentran recibiendo multas por infracción de estacionamiento debido a una falta de comprensión o confusión sobre las reglas y señales de estacionamiento en lugares específicos. Por ejemplo, las Reglas de la Ciudad de Nueva York (en adelante, las "Reglas de la Ciudad de Nueva York") son claras al establecer que un vehículo no puede estacionarse sobre un paso de peatones en ningún momento. Sin embargo, es posible que un estacionador no entienda cómo se aplica esa regla a una intersección determinada, por ejemplo, si la línea del paso de peatones no se traza completamente de un lado de la calle a otro, el estacionador podría malinterpretar la marca incompleta y creer que el estacionamiento está permitido desde el vehículo no se superpone a una línea de cruce de peatones pintada. Sin embargo, estacionarse en ese lugar sigue siendo una infracción porque el vehículo está técnicamente estacionado sobre el paso de peatones, a pesar de que no hay una línea clara completamente pintada.

En un segundo ejemplo, las personas generalmente saben que no pueden estacionarse en o dentro de una cierta distancia (por ejemplo, 15 pies) de una boca de incendios en cualquier momento de acuerdo con las Reglas de NYC, pero las personas a menudo se confunden en cuanto a qué reglas se aplican cuando el estacionamiento el espacio está separado de la boca de incendios por uno o más elementos intermedios. Por ejemplo, los conductores pueden recibir multas al estacionar en espacios de estacionamiento ilegales que son paralelos a un hidrante pero están separados por un carril para bicicletas. En un tercer ejemplo, las señales de estacionamiento pueden indicar que la restricción de tiempo para estacionar no es solo durante ciertos períodos de tiempo durante un día o días de la semana, sino también para ciertos meses o fechas del año.

Debido a la complejidad de las restricciones de estacionamiento urbano, los conductores pueden confundirse si el estacionamiento está permitido en un lugar determinado en un día y una hora determinados. Los conductores que deseen cumplir con las reglas de estacionamiento pueden tener cuidado de examinar la señalización que pueda estar colocada en las cercanías de un lugar de estacionamiento, pero las señales de estacionamiento pueden ser difíciles de interpretar cuando las señales parecen describir reglas complicadas. Por ejemplo, una primera señal de estacionamiento puede indicar que se permite estacionarse dentro de ciertas horas, mientras que una segunda señal de estacionamiento puede indicar que no se permite estacionar dentro de otras horas. En la medida en que estas horas se superpongan, no se permite estacionarse, y un estacionador que lea solo la primera señal pero no la segunda puede creer que está permitido estacionar, incluso cuando no lo esté.

En vista de lo anterior, existe la necesidad de un método y sistema para almacenar y actualizar los datos de infracciones de estacionamiento para una pluralidad de ubicaciones, y ayudar a los conductores a cumplir con las reglas y regulaciones de estacionamiento en dichas ubicaciones para evitar recibir infracciones de estacionamiento, citaciones, etc. Además, se necesitan recursos de información para que los usuarios se eduquen sobre los RRLC de estacionamiento y la manera en que solicitan ubicaciones específicas para evitar infracciones de estacionamiento. Las deficiencias, desventajas y problemas mencionados anteriormente se tratan en este documento, como se detalla a continuación.

El siguiente resumen no pretende identificar o señalar características esenciales ni limitar el alcance de la materia objeto de este documento. La presente divulgación se refiere a evitar infracciones de estacionamiento y, más específicamente, a un método y sistema para evitar infracciones de estacionamiento. Una realización ejemplar de la divulgación inventiva proporciona un sistema para proporcionar guía de estacionamiento que incluye un sistema informático central en comunicación con un usuario y una pluralidad de usuarios adicionales a través de un dispositivo informático. El sistema informático central está en comunicación con una base de datos, que incluye, entre otros, una base de datos unificada, que almacena datos relacionados con la infracción de estacionamiento, incluidos los datos históricos relacionados con la infracción de estacionamiento correlacionados con los datos relacionados con la infracción de estacionamiento en tiempo real. La base de datos almacena los datos relacionados con la infracción de estacionamiento agrupados en tipos de datos que consisten en datos relacionados con vehículos comerciales y datos relacionados con vehículos no comerciales. Los datos relacionados con la infracción de estacionamiento se agrupan además por tipo de vehículo o tipo de placa de vehículo. Los datos históricos relacionados con la infracción de estacionamiento incluyen reglas de estacionamiento, códigos de infracción de estacionamiento, códigos estatutarios de infracción de estacionamiento o abreviaturas utilizadas por el personal de cumplimiento de estacionamiento, multas asociadas u otras sanciones, letreros de estacionamiento con una o más ubicaciones, costos de parquímetros asociados con ubicaciones de parquímetros, avisos para prohibiciones de estacionamiento temporales o permanentes, ubicaciones de zonas de remolque o datos relacionados con infracciones de estacionamiento. Un mecanismo de reloj determina una fecha y hora presentes. Un panel de participación del usuario recibe los datos relacionados con la infracción de estacionamiento y contribuye a una asignación de recompensas monetarias o no monetarias como consideración por contribuir con los datos relacionados con la infracción de estacionamiento. Un aparato de determinación de la ubicación identifica una ubicación actual del usuario. El aparato de determinación de la ubicación está en comunicación con el dispositivo informático. Un aparato de procesamiento, en comunicación con el sistema informático central, está configurado para analizar los datos relacionados con la infracción de estacionamiento para predecir una infracción de una o más reglas o regulaciones de estacionamiento utilizando la ubicación actual, la hora y fecha actuales, y los datos relacionados con la infracción de estacionamiento y para generar una o más notificaciones de datos relacionados con la infracción de estacionamiento correspondientes a la ubicación actual y al tipo de usuario del usuario. Un aparato de visualización está en comunicación con el dispositivo informático para visualizar una o más notificaciones con dichos datos relacionados con la infracción de estacionamiento al usuario y la pluralidad de usuarios adicionales.

Otra realización ejemplar de la divulgación inventiva proporciona un método para proporcionar una guía de estacionamiento que incluye los pasos de utilizar un sistema informático central en comunicación con un usuario y una pluralidad de usuarios adicionales a través de un dispositivo informático. El paso de utilizar una base de datos que almacena datos relacionados con la infracción de estacionamiento, incluidos los datos históricos relacionados con la infracción de estacionamiento, correlacionados con los datos relacionados con la infracción de estacionamiento en tiempo real agrupados en tipos de datos que consisten en datos relacionados con vehículos comerciales y datos relacionados con vehículos no comerciales. Los datos se agrupan además por tipo de vehículo o tipo de placa de vehículo. Los datos relacionados con la infracción de estacionamiento incluyen reglas de estacionamiento, códigos de infracción de estacionamiento, códigos estatutarios de infracción de estacionamiento o abreviaturas utilizados por el personal de cumplimiento de estacionamiento, multas asociadas u otras sanciones, letreros de estacionamiento con una o más ubicaciones, costos de parquímetros asociados con ubicaciones de parquímetros, avisos para prohibiciones de estacionamiento temporales o permanentes, ubicaciones de zonas de remolque o registros de infracciones de estacionamiento. Se determinan una hora y una fecha actuales. Se utiliza un panel de participación del usuario para compartir datos relacionados con las infracciones de estacionamiento. El panel de participación del usuario contribuye a una asignación de recompensas monetarias o no monetarias como consideración por contribuir con los datos relacionados con la infracción de estacionamiento en tiempo real. Se identifica una ubicación actual del usuario. El tipo de usuario incluye un tipo de usuario de vehículo comercial y un tipo de usuario de vehículo no comercial, categorizados además por tipo de vehículo o tipo de placa de vehículo. Los datos relacionados con la infracción de estacionamiento se analizan para predecir que el usuario podría estar infringiendo una o más reglas o regulaciones de estacionamiento. Las una o más notificaciones con datos relacionados con la infracción de estacionamiento se envían al usuario en función del tipo de usuario al que pertenece el usuario. Las una o más notificaciones con los datos relacionados con la infracción de estacionamiento se muestran al usuario y a la pluralidad de usuarios adicionales.

Otra realización ejemplar de la divulgación inventiva proporciona un sistema electrónico de identificación de infracción de estacionamiento para identificar una posible infracción de estacionamiento para una ubicación. El sistema comprende una pluralidad de dispositivos informáticos remotos acoplados comunicativamente a una red y un servidor acoplado comunicativamente a la red para comunicarse con los dispositivos informáticos remotos, incluyendo el servidor al menos un medio de almacenamiento legible por ordenador no transitorio con instrucciones legibles por ordenador almacenadas. allí, una base de datos y un procesador. El procesador es para ejecutar las instrucciones legibles por computadora para: recibir datos de usuario asociados con un usuario desde uno de la pluralidad de dispositivos informáticos remotos, los datos de usuario comprenden una ubicación identificada, una hora identificada y una visualización del tipo de usuario en uno o más pantallas de visualización de la pluralidad de dispositivos informáticos remotos uno o más paneles de participación del usuario para permitir que uno o más usuarios adicionales proporcionen una o más calificaciones con respecto a al menos una parte de los datos relacionados con la infracción de estacionamiento asociados con al menos la ubicación identificada, en donde el Los datos relacionados con la infracción de estacionamiento comprenden al menos uno de los datos de ubicación asociados con una o más infracciones de estacionamiento, los datos de tiempo asociados con una o más veces de una o más infracciones de estacionamiento, una o más razones por las que una o más infracciones de estacionamiento ocurren en el lugar identificado. ubicación, o una o más recomendaciones para evitar una o más infracciones de estacionamiento en la ubicación identificada, donde n el uno o más usuarios adicionales tienen experiencia de primera mano con la ubicación identificada, y donde la experiencia de primera mano se determina en base a (i) una primera notificación, recibida por el uno o más usuarios adicionales, que está asociada con la ubicación identificada, o ( ii) el uno o más usuarios adicionales que se encuentran dentro de una proximidad predeterminada de la ubicación identificada en respuesta a una o más calificaciones que alcanzan un número predeterminado, modificar la base de datos para incluir al menos una parte de los datos relacionados con la infracción de estacionamiento calificados a través de la o más paneles de participación del usuario y generar una segunda notificación que incluya al menos los datos relacionados con la infracción de estacionamiento correspondientes a la ubicación identificada, la hora identificada y el tipo de usuario, en donde la segunda notificación identifica una posible infracción de estacionamiento aplicable al usuario por inferencia.

Otra realización ejemplar de la divulgación inventiva proporciona un método de identificación electrónica de infracción de estacionamiento para identificar una posible infracción de estacionamiento para una ubicación. El método comprende recibir datos de usuario asociados con un usuario desde uno de una pluralidad de dispositivos informáticos remotos acoplados comunicativamente a una red, comprendiendo los datos del usuario una ubicación identificada, una hora identificada y un tipo de usuario que se muestra en una o más pantallas de visualización del una pluralidad de dispositivos informáticos remotos uno o más paneles de participación de usuarios para permitir que uno o más usuarios adicionales proporcionen una o más calificaciones con respecto a al menos una parte de los datos relacionados con la infracción de estacionamiento asociados con al menos la ubicación identificada, en donde los datos relacionados con la infracción de estacionamiento comprende al menos uno de los datos de ubicación asociados con una o más infracciones de estacionamiento, datos de tiempo asociados con una o más veces de una o más infracciones de estacionamiento, una o más razones por las que una o más infracciones de estacionamiento ocurren en la ubicación identificada, o una o más recomendaciones para evitar una o más infracciones de estacionamiento en la ubicación identificada, donde la o más usuarios adicionales tienen experiencia de primera mano con la ubicación identificada, y donde la experiencia de primera mano se determina en base a (i) una primera notificación, recibida por uno o más usuarios adicionales, que está asociada con la ubicación identificada, o (ii) la uno o más usuarios adicionales que se encuentran dentro de una proximidad predeterminada de la ubicación identificada en respuesta a una o más calificaciones que alcanzan un número predeterminado, modificar una base de datos para incluir al menos una parte de los datos relacionados con la infracción de estacionamiento calificados a través del uno o más usuarios paneles de interacción y generar una segunda notificación que incluya al menos los datos relacionados con la infracción de estacionamiento correspondientes a la ubicación identificada, la hora identificada y el tipo de usuario, en donde la segunda notificación identifica una posible infracción de estacionamiento aplicable al usuario por inferencia.

En otra realización más, el método puede comprender además recopilar, a través de uno o más paneles de participación del usuario, datos relacionados con la infracción de estacionamiento de fuentes colectivas que comprenden al menos uno de: datos de ubicación asociados con una o más infracciones de estacionamiento, datos de tiempo asociados con una o más veces de una o más infracciones de estacionamiento, una o más razones por las que una o más infracciones de estacionamiento ocurrieron en el lugar identificado, o una o más recomendaciones para evitar una o más infracciones de estacionamiento en la ubicación identificada, recibiendo una o más calificaciones de al menos una parte de los datos relacionados con la infracción de estacionamiento de fuentes colectivas de uno o más usuarios adicionales a través de uno o más paneles de participación de usuarios, y la modificación de la base de datos para incluir al menos una parte de los datos relacionados con la infracción de estacionamiento de fuentes múltiples recopilados a través del panel de participación del usuario, cuando las calificaciones de los datos de fuentes colaborativas alcancen un número predeterminado. El método también puede comprender recibir una o más calificaciones de al menos una parte de los datos relacionados con la infracción de estacionamiento de fuentes colectivas recibidos de uno o más usuarios adicionales a través de uno o más paneles de participación de usuarios, y en respuesta a la parte de la notificación que recibe una primera número predeterminado de calificaciones positivas, que otorga una recompensa al usuario adicional que compartió los datos relacionados con la infracción de estacionamiento mediante crowdsourcing, en el que la recompensa es una recompensa monetaria o una recompensa no monetaria.

Otros objetos, características y características de la presente invención, así como los métodos de operación y funciones de los elementos estructurales relacionados, y la combinación de partes y economías de desarrollo y fabricación, serán más evidentes al considerar la descripción detallada a continuación. con referencia a los dibujos adjuntos, todos los cuales forman parte de esta especificación.

BREVE DESCRIPCIÓN DE LOS DIBUJOS

Se puede obtener fácilmente una apreciación más completa de la divulgación inventiva y muchos de los aspectos que la acompañan, ya que la misma se comprende mejor por referencia a la siguiente descripción detallada cuando se considera en relación con los dibujos adjuntos, en los que:

HIGO. 1A es un diagrama esquemático que ilustra un sistema para usar datos de la base de datos para alertar a los conductores de incidentes de infracción de estacionamiento de acuerdo con una realización ejemplar de la divulgación inventiva.

HIGO. 1B es un diagrama que ilustra una base de datos de acuerdo con una realización ejemplar de la divulgación inventiva.

HIGO. 2 es un diagrama esquemático que ilustra un enfoque para alertar a un conductor de acuerdo con una realización ejemplar de la divulgación inventiva.

HIGO. 3A es un diagrama esquemático que ilustra la interacción de un usuario con el sistema informático central que usa un dispositivo informático cuando un usuario notifica una multa de estacionamiento de acuerdo con una realización ejemplar de la divulgación inventiva.

HIGO. 3B es un diagrama de flujo que ilustra cómo se reconoce, procesa y carga en el sistema la información del ticket de estacionamiento reportada por el usuario de acuerdo con una realización ejemplar de la divulgación inventiva.

HIGO. 4A es un diagrama que ilustra un panel de interacción de la interfaz de usuario (Ticket Sharing & amp Q / A / C) basado en una ubicación específica de acuerdo con una realización ejemplar de la divulgación inventiva.

HIGO. 4B es un diagrama que ilustra un panel de interacción de la interfaz de usuario (Señales y otros) basado en una ubicación específica de acuerdo con una realización ejemplar de la divulgación inventiva.

HIGO. 5 es un diagrama de flujo que ilustra un enfoque para procesar datos relacionados con la infracción de estacionamiento en la base de datos de acuerdo con una realización ejemplar de la divulgación inventiva

HIGO. 6 es un diagrama de flujo que ilustra un método para alertar al usuario basándose en los datos en la base de datos de acuerdo con una realización ejemplar de la divulgación inventiva

HIGO. 7 es un diagrama esquemático que ilustra los componentes de un dispositivo informático de acuerdo con una realización ejemplar de la divulgación inventiva

HIGO. 8 es un diagrama esquemático que ilustra la composición física de un servidor operativo remoto que puede implementar un método y sistema de la divulgación inventiva de acuerdo con una realización ejemplar

HIGO. 9 es un diagrama esquemático que ilustra un dispositivo informático en comunicación con el sistema informático central que recibe una notificación para vehículos comerciales de acuerdo con una realización ejemplar de la divulgación inventiva

HIGO. 10 es un diagrama esquemático que ilustra un dispositivo informático en comunicación con el sistema informático central que recibe una notificación para vehículos no comerciales de acuerdo con una realización ejemplar de la divulgación inventiva

HIGO. 11 es un diagrama esquemático que ilustra un sistema para usar datos en la base de datos para alertar a los conductores de incidentes de infracción de estacionamiento a través de un sistema informático central y un dispositivo informático de acuerdo con una realización ejemplar de la divulgación inventiva

HIGO. 12 es un diagrama de flujo que ilustra un proceso de clasificación de datos enviados al panel de participación del usuario para corregir, actualizar y complementar los datos relacionados con la infracción de estacionamiento dentro de la base de datos de acuerdo con una realización ejemplar de la divulgación inventiva

HIGO. 13 es un diagrama de flujo que ilustra un proceso circular de calificación de una notificación para corregir, actualizar y complementar dinámicamente los datos relacionados con la infracción de estacionamiento dentro de la base de datos de acuerdo con una realización ejemplar de la divulgación inventiva.

HIGO. 14 es un diagrama que ilustra un sistema para inferir una posible prohibición de estacionamiento basada en la ubicación de acuerdo con una realización ejemplar de la divulgación inventiva

HIGO. 15 es un diagrama que ilustra el dispositivo informático de un usuario y una visualización de una notificación que un usuario puede recibir con respecto a una posible prohibición de estacionamiento relacionada con la ubicación de acuerdo con una realización ejemplar de la divulgación inventiva

HIGO. 16 es un diagrama que ilustra un sistema para inferir una posible prohibición de estacionamiento basada en el tiempo de acuerdo con una realización ejemplar de la divulgación inventiva y

HIGO. 17 es un diagrama que ilustra una visualización de una notificación que un usuario puede recibir con respecto a una posible prohibición de estacionamiento relacionada con el tiempo de acuerdo con una realización ejemplar de la divulgación inventiva.

DESCRIPCIÓN DETALLADA DE EL INVENTO

En la siguiente descripción detallada, se hace referencia a los dibujos adjuntos que forman parte de la misma y en los que se muestran realizaciones específicas que pueden ponerse en práctica a modo de ilustración. Las realizaciones descritas pueden permitir a los expertos en la técnica poner en práctica las realizaciones, y debe entenderse que se pueden realizar cambios lógicos, mecánicos y de otro tipo sin apartarse del alcance de las realizaciones. Por tanto, la siguiente descripción detallada no debe tomarse en un sentido limitativo.

La presente divulgación no pretende limitarse a la terminología específica así seleccionada, y debe entenderse que cada elemento específico incluye todos los equivalentes técnicos que operan de manera similar. Aunque la invención puede describirse en el presente documento con referencia a una metrópoli moderna como la ciudad de Nueva York ("NYC") como el principal ejemplo de implementación, el sistema y el método son aplicables en todo el mundo. Los términos "conductor (es)" se pueden usar indistintamente con "usuario (s)", que pretende abarcar a los conductores para incluir a aquellas personas que podrían no ser un conductor pero, sin embargo, recibir asistencia mediante el uso de la divulgación inventiva . Además, "usuario" también está destinado a cubrir una amplia gama de temas. Un "usuario" generalmente puede abarcar a personas y entidades privadas a través de uno o más representantes interesados ​​en reducir la cantidad de citaciones por infracciones de estacionamiento que recibe, en esencia, la palabra "usuario" está destinada a describir a cualquier persona interesada o personas interesadas afiliadas a entidades registradas con la divulgación inventiva, no se limita solo a los particulares. La divulgación de la invención puede ayudar al usuario a evitar infracciones de estacionamiento o multas. Los términos "citación (es) de estacionamiento", "multa (s) de estacionamiento" o "citación (es) de infracción de estacionamiento" pueden usarse indistintamente, pero sus significados pueden ser los mismos (por ejemplo, una multa recibida por un conductor por un infracción de estacionamiento).

Una realización ejemplar de la divulgación inventiva puede referirse a la implementación de un sistema y método a través de una combinación de hardware y software que opera en un dispositivo informático portátil, que comprende varias características preprogramadas combinadas e integradas con componentes básicos que incluyen pero no se limitan a uno o más servidores, bases de datos, aplicaciones finales móviles, portales web, configuraciones de red, etc. Con el apoyo de estos componentes, se puede proporcionar información a través de interfaces de usuario, como un sitio web, una aplicación o un sistema de navegación en el vehículo. Además, puede haber uno o más servidores que pueden estar en una estructura distribuida con soporte de centros de datos que pueden estar ubicados en cualquier parte del mundo. Estas implementaciones pueden estar vinculadas comunicativamente y multiplataforma con la visualización del mapa electrónico, indicadores que transmiten información relacionada con el estacionamiento, información de perfil y configuración, etc., de modo que un usuario en un dispositivo informático puede recibir datos relacionados con la infracción de estacionamiento relevantes para un lugar y hora específicos. La aplicación se puede vincular o integrar comunicativamente con otras realizaciones que pueden incluir un servidor, un componente de interfaz de usuario, un componente de interfaz y una interfaz de servidor. La interfaz del servidor maneja las comunicaciones intercambiadas entre el servidor y las aplicaciones en lugar de conectar directamente las dos aplicaciones, y toda la gestión y el procesamiento de los datos se pueden administrar a través del servidor del sistema de servicios. Las características se pueden implementar a través de uno o más dispositivos informáticos que permiten que un procesador procese y genere los pasos del método.

El dispositivo informático puede ser un dispositivo que permite a un usuario interactuar con el sistema informático central y con el panel de participación del usuario a través de una interfaz que permite acceder a determinadas características del panel. Este dispositivo informático puede ser un dispositivo móvil de mano, un sistema de navegación en el vehículo u otro medio de acceso, como una computadora portátil, etc., y las características del panel pueden ser discusiones relacionadas con evitar multas de infracción de estacionamiento o impugnar multas de infracción de estacionamiento. por ejemplo. El dispositivo informático puede incorporar varios aparatos al estar vinculado comunicativamente con uno o más dispositivos que le permiten comunicarse a su vez con el sistema informático central. Dichos aparatos pueden incluir un mecanismo de reloj, un aparato de determinación de la ubicación tal como un receptor del sistema de posicionamiento global (GPS) y un aparato de visualización. Estos aparatos pueden residir dentro del dispositivo informático, como en un teléfono inteligente, o pueden residir en el exterior y compartir un enlace inalámbrico o por cable con el dispositivo informático.

El sistema puede incluir, en parte, un sistema de información geográfica (GIS) para capturar, mostrar y analizar datos. El SIG puede integrar un mapa electrónico o digital, por ejemplo, como una capa (como GOOGLE MAPS, que es un servicio de mapas electrónicos proporcionado por Google, una subsidiaria de Alphabet Inc., etc.) para ser visto en un dispositivo informático para ver un teléfono inteligente. , Basado en web u otros medios de almacenamiento. Con esta integración, las carreteras pueden visualizarse desde la base de datos del mapa que presenta los datos analizados en cuanto a la ubicación y las explicaciones de las infracciones de las multas que son fácilmente comprensibles por el usuario. El sistema GIS puede integrar diferentes capas y los puntos de datos con atributos similares se pueden aislar y generar como una capa. Esa capa de salida mostraría todas las instancias de esos puntos de datos que tienen atributos similares.

El sistema puede conectarse internamente con varias funciones de un dispositivo informático que incluyen, entre otras, la función de reloj, la función de llamada telefónica, el micrófono, el rastreo por GPS para el mapeo de geolocalización (coordenadas de latitud y longitud) y / o cámara, etc. La aplicación puede ejecutarse en el dispositivo informático y utilizar recursos que pueden incluir microprocesador, memoria, GPS, conexión inalámbrica y pantalla. Se puede realizar una notificación a través de una o más fuentes de medios, como la pantalla visual o el sistema de audio, etc. Una notificación puede incluir, entre otros, información sobre las reglas o regulaciones de estacionamiento aplicables a la ubicación actual identificada del usuario. referencia a citaciones de infracción relacionadas con el estacionamiento emitidas anteriormente, como el número de citaciones de infracciones relacionadas con el estacionamiento emitidas anteriormente, para la ubicación actual identificada del usuario, información relacionada con la señalización del estacionamiento, ubicaciones de parquímetros y costos asociados con parquímetros, así como las razones de la emisión de infracciones relacionadas con el estacionamiento en ese lugar.

El sistema puede proporcionar además una plataforma para la colaboración y el intercambio de datos relacionados con la infracción de estacionamiento. Los datos relacionados con la infracción de estacionamiento, que pueden ser históricos o en tiempo real, pueden ser de fuentes múltiples o de varias fuentes (en adelante, "fuentes de información"), que incluyen, entre otros, uno o más usuarios u otras personas o entidades interesadas. como el gobierno, agentes gubernamentales, municipalidades, organizaciones no gubernamentales (ONG), entidades privadas y organizaciones comunitarias o fuentes de medios. Las fuentes de medios pueden incluir, entre otros, sitios web, publicaciones en blogs, redes sociales, periódicos, revistas, artículos profesionales, transmisiones, programas de televisión y cualquier otro recurso donde se puedan recopilar datos relacionados con infracciones de estacionamiento, etc. Los datos relacionados con la infracción de estacionamiento pueden proporcionarse como datos públicos abiertos de las agencias gubernamentales y también pueden estar disponibles a través de una solicitud de la Ley de Libertad de Información, si no están disponibles a través de los sitios web públicos del gobierno. Se puede acceder a cierta información que se hace privada por algunas fuentes de información, como los sitios web de agentes gubernamentales, obteniendo el permiso de un usuario para acceder a esa información. Una vez que se ha accedido a la información que necesita una autorización, el sistema informático central puede notificar al usuario sobre cualquier tarifa próxima y fecha de vencimiento para una citación por infracción de estacionamiento, etc., ya que podría no ser conveniente para el usuario acceder a la fuente de información directamente. . Sin embargo, el sistema informático central o el administrador del sistema pueden obtener de forma adicional o alternativa datos relacionados con la infracción de estacionamiento a través de la entrada de un usuario y / o personas interesadas, así como entidades privadas, por ejemplo, empresas de transporte o cualquier otra organización que se especialice en transporte. que pueden tener acceso a citaciones de estacionamiento emitidas u otros datos relacionados con infracciones de estacionamiento. La base de datos puede utilizar un método de recopilación para la recopilación de datos relacionados con la infracción de estacionamiento de las fuentes de información. Los datos relacionados con la infracción de estacionamiento recopilados de medios como periódicos, blogs, redes sociales, etc. pueden ser recopilados y resumidos manualmente, por ejemplo, por un administrador del sistema o un empleado del sistema, o automáticamente, por ejemplo, mediante un algoritmo de inteligencia artificial, para corregir , actualizar y complementar la base de datos. Estos datos históricos recopilados relacionados con la infracción de estacionamiento también pueden corregirse, actualizarse y complementarse con datos relacionados con la infracción de estacionamiento en tiempo real. Los datos relacionados con la infracción de estacionamiento en tiempo real se consideran en tiempo real cuando uno o más usuarios comparten inmediatamente los datos relacionados con la infracción de estacionamiento. "Inmediatamente" puede ser dentro de un período de tiempo predeterminado, como quince minutos después de recibir la infracción de estacionamiento, o puede ser virtualmente instantáneo. Si los datos no cumplen con los requisitos para ser considerados datos en tiempo real, entonces los datos se consideran datos históricos, pero aún se utilizarán para actualizar otros datos históricos relacionados con infracciones de estacionamiento que ya existen en la base de datos.

Los datos relacionados con la infracción de estacionamiento liberados por el gobierno pueden estar disponibles a través del sitio web de la autoridad correspondiente y / o datos abiertos de acceso público. Aunque las ubicaciones identificadas en dichos datos relacionados con la infracción de estacionamiento emitidos por el gobierno pueden no ser tan precisos como las coordenadas de geolocalización, dichos datos son útiles. Y, para identificar mejor las ubicaciones a partir de los datos publicados por el gobierno, estas ubicaciones se pueden transformar en coordenadas de geolocalización a través de cualquier software de terceros calificado, que proporcione un servicio de geocodificación de ubicación para coordenadas de latitud y longitud, antes de que los datos de ubicación de la cita se ingresen en la base de datos.

Los datos relacionados con la infracción de estacionamiento también pueden obtenerse rastreando (por ejemplo, navegación sistemática por Internet) o conectándose a sitios web gubernamentales o policiales relevantes que almacenan datos relacionados con la infracción de estacionamiento para un usuario específico. A través de esta conexión, el sistema informático central puede configurarse para notificar a un usuario de cualquier información de ticket pendiente. Sin embargo, para hacerlo, es posible que deba obtener una autorización previa del usuario para buscar automáticamente los datos relacionados con la infracción de estacionamiento de ese usuario, como las infracciones pendientes. Si se encuentran infracciones pendientes, el sistema informático central puede enviar una notificación al usuario sobre una infracción pendiente actualmente. Con la autorización del usuario, la información de estas infracciones puede ingresarse como datos en la base de datos para construir aún más la base de datos completa actualizada para alertar a otros usuarios con razones para recibir una citación por infracción de estacionamiento para ayudar a evitar estas infracciones. Los datos relacionados con la infracción de estacionamiento también se pueden enviar a un usuario que tiene multas de estacionamiento pendientes. Por ejemplo, en la ciudad de Nueva York, el monto límite es de $ 350 en multas de estacionamiento impagas antes de que el vehículo de un conductor pueda ser remolcado, independientemente de si el vehículo está estacionado legalmente o no, y el sistema informático central puede enviar una alerta acerca de alcanzar este límite. En consecuencia, el usuario puede recibir una notificación que indica que el usuario tiene, por ejemplo, $ 300 en multas de estacionamiento sin pagar ya que se acerca a la cantidad límite de $ 350 y el usuario corre el riesgo de que le remolquen un vehículo una vez que el usuario alcanza los $ 350 y aún no lo ha hecho. pagó estas multas acumuladas por boletos. Se puede ayudar al usuario a reclamar el vehículo accediendo a la información de remolque relevante si el vehículo del usuario ha sido remolcado como resultado de las multas de estacionamiento no pagadas acumuladas.

Varios datos relacionados con infracciones de estacionamiento según lo informado por un usuario, es decir, datos de fuentes colaborativas, pueden recopilarse y analizarse periódica o continuamente para construir una base de datos más precisa y actualizada. Como se usa en este documento, "crowdsourcing" es un método distribuido de resolución de problemas que utiliza recursos en línea y fuera de línea para compilar servicios, ideas y / o contenido mediante la solicitud y / o captura de datos de una variedad de personas nativas de una comunidad especial que está dirigido por el sujeto de crowdsourcing. El crowdsourcing se puede utilizar para recopilar datos que no se proporcionan a través de otras fuentes. Los datos de fuentes colaborativas pueden estar en forma de datos en tiempo real o datos históricos.Se pueden usar incentivos para alentar a un usuario a informar de los datos relacionados con la infracción de estacionamiento para corregir, actualizar y complementar los datos en la base de datos. Esta estructura de incentivos combinada con un centro de control de calidad administrativo puede usarse para garantizar la calidad y confiabilidad de los datos en la base de datos, ya que estos datos se usan posteriormente para evitar que un usuario reciba infracciones de estacionamiento y, por lo tanto, debe mantenerse en altos estándares de precisión y fiabilidad. A cada entrada de datos, ya sea de origen o de colaboración colectiva, histórica o en tiempo real, se le puede asignar un número de seguimiento único, lo que permite al menos al administrador del sistema rastrear los datos hasta su origen original si es necesario.

El sistema puede promover la transparencia y precisión de los datos relacionados con la infracción de estacionamiento en la base de datos recopilados de varias fuentes utilizando una plataforma para que un usuario acceda a los datos en la base de datos en una interfaz de aplicación fácil de usar. Para construir la base de datos, los datos sin procesar relacionados con la infracción de estacionamiento, que pueden incluir, entre otros, datos de citación de infracciones de estacionamiento, se pueden obtener de fuentes informativas, cargarse en un microprocesador de computadora y formatearse para incluir solo datos relevantes utilizados para ejecutar análisis y proporcionar notificaciones. Los datos relacionados con la infracción de estacionamiento cargados se pueden dividir en dos conjuntos para limpiarlos y cargarlos en el servidor. El primer conjunto puede ser datos relacionados con la infracción de estacionamiento que ya se verificó que tiene toda la información necesaria en el formato correcto, mientras que el segundo conjunto puede ser datos relacionados con la infracción de estacionamiento que necesitan ser reformateados para incluir toda la información necesaria. Una vez que se han limpiado todos los datos relacionados con la infracción de estacionamiento, los datos de ubicación se pueden extraer en un marco de datos para usar en una interfaz de programa de aplicación de geocodificación (API) de terceros, por ejemplo, la API de GOOGLE GEOCODING, que es un servicio de geocodificación de ubicación proporcionado por Google, una subsidiaria de Alphabet Inc., o SMARTSTREETS, que es un servicio de geocodificación de ubicación para coordenadas de latitud y longitud proporcionadas por SmartyStreets, LLC, etc. para generar un archivo con toda la información geocodificada de ubicaciones relevantes, donde el archivo puede ser un archivo como un archivo .csv. Se puede adoptar o desarrollar cualquier otro tipo de tecnología para identificar con mayor precisión la geolocalización relacionada con una infracción de estacionamiento. El administrador del sistema puede revisar y corregir la salida para verificar su precisión e integridad. Los datos de señalización de estacionamiento y los archivos de datos RRLC también se pueden cargar, limpiar y fusionar con los datos de citas en la base de datos.

Los datos brutos ingresados, procesados, almacenados y analizados pueden incluir, entre otros: el tipo de infracción las causas o razones de la infracción nombre del agente de la ley que emitió el boleto comentarios del agente de la ley sobre el tipo de placa del estado de registro del boleto tipo de vehículo fecha de emisión código de infracción infracción del código estatutario agencia emisora ​​tiempo de infracción número de casa nombre de la calle sección de ley subdivisión días de estacionamiento en efecto desde las horas en vigor hasta las horas en efecto descripción de la infracción cualquier otro factor relevante y / u otros datos relacionados con la infracción de estacionamiento de la base de datos, etc. Las razones de las infracciones de las multas de estacionamiento pueden incluir, entre otras: pararse en una zona prohibida, donde está prohibido esperar o detenerse para cargar o descargar paquetes o mercancías en la acera y solo permite detenerse para dejar o recoger rápidamente pasajeros que se detienen en una zona sin paradas, donde está prohibido esperar, detenerse para cargar o descargar paquetes o mercancías o dejar retirar o recoger a los pasajeros boletos de estacionamiento relacionados con áreas de bloqueo, como estacionarse frente o bloquear una entrada, salida o cruce de peatones, así como bloquear el estacionamiento de un buzón de correo dentro de una zona prohibida en función de la distancia desde una parada de autobús o boca de incendios Estacionarse demasiado cerca de un cruce de ferrocarril Restricciones de estacionamiento basadas en horarios, como feriados, rutas de desfiles u otros eventos especiales, estacionamiento que solo se aplica de manera selectiva y prohibiciones de estacionamiento relacionadas con el estacionamiento en doble fila, ya sea por una cierta cantidad de tiempo o en cualquier momento. Algunas prohibiciones de estacionamiento se relacionan con un horario rotatorio, como las prohibiciones de estacionamiento de limpieza de calles, que ocurren en determinados días de la semana entre dos horarios diferentes. Las prohibiciones también pueden relacionarse con descuidos del usuario, como permanecer estacionado después de un vencimiento de tiempo. Las multas de estacionamiento también pueden relacionarse con el estacionamiento dentro de una zona o área que está restringida a ciertos tipos de vehículos o personas, como estacionar en un lugar para discapacitados o dentro de una zona para discapacitados o en un carril para bicicletas, además de estacionar en una zona de estacionamiento privada o una zona con un permiso requerido. Además, las multas de estacionamiento pueden relacionarse con prohibiciones o limitaciones de estacionamiento para ciertos tipos de vehículos, como estacionamiento solo para motocicletas o estacionar una bicicleta en áreas que prohíben el estacionamiento de bicicletas. Además, puede haber zonas selectivas que tengan diferentes sanciones asociadas, como estacionarse en una zona de remolque. Además, las razones pueden incluir estacionarse en la dirección incorrecta, o estacionar más tiempo que el tiempo máximo permitido, o cualquier otra razón concebible, etc. Estas razones también se miden para las notificaciones, ya que las notificaciones se basan en los datos que se almacenan en el base de datos. Por ejemplo, en la ciudad de Nueva York, el Departamento de Finanzas utiliza códigos de infracción para emitir multas de estacionamiento, mientras que estos códigos de infracción contienen razones vinculadas a las leyes estatutarias de infracción escritas en el Capítulo 4, Sección 4-08 del Título 34 de las Reglas de la Ciudad de Nueva York. Los motivos de la infracción de estacionamiento pueden coincidir con sus respectivos códigos de infracción, que pueden usarse para inferir los motivos de la infracción de estacionamiento para ubicaciones específicas y generar alertas aplicables a un usuario según el tipo de usuario.

Una realización ejemplar de la divulgación inventiva puede configurarse para integrar algoritmos para detectar datos duplicados, si los boletos emitidos en fechas y horas coinciden con los de la base de datos, que pueden etiquetarse como datos duplicados y pueden eliminarse automáticamente del conjunto de datos. Sin embargo, los tickets emitidos en fechas y horas no incluidas en la base de datos pueden agregarse a la base de datos, y las notificaciones pueden actualizarse para reflejar adecuadamente los datos agregados para luego alertar adecuadamente al usuario con información actualizada.

La base de datos también puede incluir otros tipos de recursos útiles y críticos disponibles públicamente, por ejemplo, abreviaturas y sus significados comunes utilizados por las fuerzas del orden. Los agentes del orden a menudo utilizan abreviaturas al emitir multas. En la multa, pueden aparecer abreviaturas en el área donde el oficial especifica la infracción y / o el lugar de la infracción. Las abreviaturas se pueden procesar y almacenar en la base de datos mediante la recopilación de datos de fuentes disponibles públicamente para proporcionar los significados más precisos y actualizados. Es posible que el usuario pueda verificar el idioma para cambiar automáticamente las abreviaturas a significados simples en inglés de acuerdo con la ubicación al escribirlas en el dispositivo informático. La función también se puede usar cuando el usuario reporta un ticket que contiene abreviaturas. Por ejemplo, un usuario recibe una infracción de boleto por estacionar un vehículo en violación de la ley en un lugar determinado y tiene la intención de informar. La infracción de la multa establece que el "Lugar del suceso" es "E / S Calloway St. Oft N / of Otis Ave." El usuario puede, por ejemplo, escribir el idioma abreviado en el dispositivo informático cuando informa, y ​​luego el sistema informático central puede cambiar automáticamente las abreviaturas a explicaciones en inglés sencillas y fácilmente comprensibles y luego convertir la dirección en una geolocalización. Por ejemplo, boletos con abreviaturas confusas, "E / S Calloway St. Oft N / of Otis Ave." se cambiaría a “East Side Calloway Street Zero pies al norte de Otis Avenue” y luego se usaría para crear la geolocalización precisa a través de la API de geolocalización de un tercero para ingresarla en la base de datos. La geolocalización se puede utilizar para alertar a otros usuarios. Un usuario puede ganar una recompensa al cargar una infracción de estacionamiento emitida o informar cualquier información incorrecta o inconsistente, la base de datos puede corregirse, actualizarse y complementarse en consecuencia para reflejar los cambios, lo que a su vez hace que las notificaciones sean más precisas. Estas correcciones pueden estar respaldadas por pruebas, como una fotografía o una actualización legal. En tales casos, el usuario puede estar obligado a proporcionar dicha prueba.

La base de datos también puede incluir información de señalización de estacionamiento, por ejemplo, información de ubicación de señalización de estacionamiento e imágenes de señalización de estacionamiento de los sitios web de diversas fuentes gubernamentales (por ejemplo, Departamento de Transporte, en lo sucesivo "DOT"). Las señales de estacionamiento que se aplican a la ubicación actual de un usuario pueden mostrarse automáticamente para el usuario en el dispositivo informático después de que un usuario se detiene temporalmente o se estaciona en una ubicación. Si el usuario no comprende la señalización o tiene alguna pregunta, el usuario puede seleccionar (por ejemplo, presionar en una pantalla táctil) la imagen de esta señalización en la pantalla para abrir la función del panel de participación del usuario, donde el usuario puede informar la información de la señalización y ver cualquier información intercambiada de otros usuarios para esta señalización que está conectada a la ubicación actual. Un experto en la técnica debe entender que "panel de participación del usuario" en este documento se usa para indicar un panel al que un usuario puede acceder donde ese usuario puede intercambiar datos relacionados con la infracción de estacionamiento, como información, así como compartir ideas relevantes. Esto puede ser accesible a través de una terminal o dispositivo informático, como un teléfono inteligente, tableta u otro medio de acceso a Internet. Un usuario puede interactuar con el panel de participación del usuario a través de una pantalla electrónica sensible al tacto en un dispositivo móvil o puede usar cualquier otro dispositivo informático interactivo. Se puede utilizar cualquier otro término potencial para describir esta función, como “foro”, “grupo de discusión”, “reunión en línea”, etc. El término “panel de participación del usuario” sirve para este propósito en este documento.

El panel de participación de usuarios puede ser utilizado por uno o más usuarios, u otras personas interesadas o entidades como el gobierno, agentes gubernamentales, municipalidades, organizaciones no gubernamentales (ONG), entidades privadas y organizaciones comunitarias o fuentes de medios. Si la información de señalización de estacionamiento no está disponible a partir de recursos gubernamentales, el usuario puede optar por enviar información de señalización de estacionamiento para las señales de estacionamiento aplicables con la posibilidad de recibir ciertas recompensas monetarias o no monetarias. En consecuencia, es posible que un usuario no tenga que abandonar físicamente el vehículo para pasar un tiempo caminando hasta el letrero y averiguar si está permitido el estacionamiento, lo que lo pone en riesgo de recibir una multa durante este tiempo. En cambio, el usuario puede recibir una notificación con la señalización de estacionamiento aplicable para esa ubicación específica. La notificación puede basarse en el tipo de usuario, tipo de vehículo y / o tipo de placa. La notificación de imagen de señalización de estacionamiento puede incluir un sistema de calificación, por lo que el usuario puede calificar la notificación positiva o negativamente, confirmando información precisa e indicando la presencia de información inexacta.

Las recompensas monetarias y no monetarias pueden cubrir una amplia gama de elementos tangibles o intangibles. Por ejemplo, una recompensa no monetaria puede ser la concesión de acceso, por un tiempo, a ciertas funciones premium del sistema, o puede ser una exención de tarifa de usuario o suscripción. Las recompensas monetarias pueden incluir recompensas como el reembolso por pagos de citación de boletos, o pagos de boletos en parte o en su totalidad u otra recompensa monetaria predeterminada. Además, las recompensas monetarias también pueden estar relacionadas con el tiempo del parquímetro, etc.

Es posible que se solicite a un usuario potencial que se registre en el servicio proporcionando la información pertinente de la licencia de conducir, como el nombre, el tipo de placa, el tipo de vehículo, el estado o país que emite la licencia de conducir y una dirección de correo electrónico para crear una identificación de usuario para cada usuario. de la aplicación. Las ID de usuario pueden ser necesarias para los informes de seguimiento y las calificaciones realizadas por cada usuario. También se puede solicitar información de tarjeta de crédito y / o débito para las tarifas de suscriptor de ciertos servicios proporcionados a un usuario certificado. A un usuario certificado se le puede permitir utilizar varias funciones de la aplicación que incluyen, entre otras, informes de datos y datos de clasificación. Las tarifas de suscriptor recaudadas también pueden financiar directa o indirectamente la fuente utilizada para ayudar a pagar las multas incurridas por el usuario como parte de la estructura de incentivos para obtener más datos relacionados con la infracción de estacionamiento. Por ejemplo, un usuario puede cargar sus citaciones de infracción de estacionamiento en el panel de participación del usuario, y otros usuarios pueden otorgar calificaciones positivas o negativas dependiendo de al menos la precisión de la citación proporcionada. Los datos de la base de datos pueden actualizarse, corregirse o complementarse para reflejar nuevos datos relacionados con la infracción de estacionamiento, lo que puede llevar a que se actualice en consecuencia una notificación correspondiente. Una vez que la notificación alcanza un número predeterminado de calificaciones positivas, confirmando así que los datos transmitidos por la notificación son correctos, entonces el usuario que compartió esos nuevos datos relacionados con la infracción de estacionamiento puede recibir una recompensa monetaria o no monetaria. Se puede financiar una recompensa monetaria con las tarifas cobradas. Sin embargo, un usuario puede estar limitado en la cantidad de veces que el usuario puede votar en un solo envío en el panel de participación del usuario para erradicar el comportamiento indecente o fraudulento que puede llevarse a cabo para obtener una recompensa de manera injusta, como manipular el autoenvío. Los datos relacionados con la infracción de estacionamiento deben ser calificados positivamente.

Una realización ejemplar de la divulgación inventiva puede incluir una base de datos de perfiles de usuario configurada para almacenar información de usuario y asociaciones entre cada usuario y el dispositivo informático del usuario después de registrarse. Una vez registrado, un usuario puede configurar y cambiar su información en sus perfiles de usuario, si lo desea. Los ajustes que pueden requerir la entrada o preferencia de un usuario pueden ser cambiados posteriormente por el usuario dentro de los ajustes (por ejemplo, activar / desactivar). Por ejemplo, el usuario puede cambiar el tipo de vehículo que está conduciendo actualmente. Por consiguiente, esto también es aplicable al tipo de placa asociada con el vehículo. Se pueden reconocer los siguientes tipos de usuario: usuario de vehículo no comercial y usuario de vehículo comercial, clasificados además por tipo de vehículo y tipo de placa de vehículo. Dado que se pueden aplicar diferentes RRLC a vehículos comerciales y no comerciales que resulten en diferentes tipos de infracciones de multas que se pueden clasificar, un usuario que indique en su perfil que conduce un vehículo comercial puede ser marcado automáticamente en la categoría diferente solo para vehículos comerciales. Los vehículos no comerciales pueden incluir, entre otros: automóviles de pasajeros, minivans, SUV, etc. Dentro de la base de datos de vehículos comerciales, el tipo de vehículo comercial puede dividirse en categorías, que pueden incluir, entre otras, tractocamiones, camiones, autobuses, taxis y limusinas, etc. Las reglas de estacionamiento aplicables a vehículos comerciales pueden no ser aplicables también a vehículos no comerciales y, en consecuencia, los datos pueden separarse de diferentes tipos de vehículos en diferentes categorías para que el Las multas también pueden clasificarse según el vehículo y las razones de la infracción.

La aplicación puede permitir que diferentes tipos de usuarios ingresen información de citación de infracción de estacionamiento que se puede clasificar en la base de datos de acuerdo con diferentes tipos de datos. Por ejemplo, los conductores de vehículos no comerciales pueden recibir multas por estacionarse en zonas de estacionamiento solo para vehículos comerciales que solo permiten que los vehículos comerciales carguen y descarguen carga. Por lo tanto, la base de datos de citas puede incluir datos de citas de vehículos no comerciales y vehículos comerciales, que pueden etiquetarse por separado según el tipo de vehículo. Los datos del tipo de vehículo pueden mostrar diferentes tipos de vehículos que cometen las infracciones. Aunque hay dos tipos de vehículos que tienen sus respectivas bases de datos, los dos tipos pueden combinarse e integrarse en una sola base de datos. A continuación, se puede emitir una notificación a diferentes tipos de usuarios con el tipo de datos que corresponden a su tipo de usuario. Una notificación puede ser más precisa ya que los boletos pueden agruparse en categorías separadas según el tipo de vehículo y los tipos de placas de vehículos, que pueden incluirse en vehículos comerciales o vehículos no comerciales.

El panel de participación del usuario puede estar preestablecido para enfocarse en un área particular, tal como una ubicación actual identificada de un usuario. Cuando un usuario abre el panel de participación del usuario, el contenido que puede mostrarse automáticamente puede basarse en la ubicación actual del usuario. Un usuario que recibe una notificación puede hacer clic en una notificación para acceder a más detalles sobre una posible infracción de estacionamiento. Si el usuario aún no está satisfecho con esos detalles, el usuario puede usar el dispositivo informático del usuario para conectarse con el panel de participación del usuario, donde el contenido que se muestra automáticamente puede ser información con aún mayor detalle. Este contenido puede incluir señalización de estacionamiento y el usuario puede enviar una pregunta al panel de participación del usuario en función de la ubicación específica del usuario. Sin embargo, también se puede acceder al panel de participación del usuario para obtener contenido en otras áreas. Por ejemplo, este puede ser un usuario en Nueva York que tiene la intención de alquilar un camión para mudarse a Florida. Es posible que al usuario le guste ver datos relacionados con la infracción de estacionamiento aplicables a un área determinada donde el usuario tiene la intención de descargar el camión. Dado que el camión generalmente se considera un vehículo comercial y los diferentes estados pueden tener diferentes regulaciones con respecto al estacionamiento y la descarga de un vehículo comercial en la calle, podría ser conveniente que el usuario se familiarice con los datos relacionados con la infracción de estacionamiento aplicables a esa determinada área antes de la muévase para evitar recibir una citación relacionada con una infracción de estacionamiento. Un experto en la técnica debe entender que este es un ejemplo de una amplia gama de posibles razones por las que un usuario puede querer acceder al contenido del panel de participación del usuario para áreas que abarcan el entorno inmediato de ese usuario.

Un usuario también puede personalizar qué notificación desea ver. Además de tener un problema de notificación sobre la base de qué tipo de vehículo está conduciendo el usuario, o qué tipo de vehículo o qué tipo de placa, el usuario puede especificar más sobre lo que quiere o no quiere que se le notifique. El usuario puede excluir una sola notificación o una categoría completa de notificaciones. Además, el usuario puede especificar el tipo de información que le gustaría ver en una notificación. Por ejemplo, el usuario puede especificar no ver ninguna imagen de la señalización, en lugar de optar por ver simplemente una breve descripción de esa señalización. En otro ejemplo, un usuario que estaciona con frecuencia en la misma área todos los días podría especificar que la notificación relevante para esa ubicación de estacionamiento en ciertos momentos no necesita mostrarse todos los días, ya que el usuario puede estar muy familiarizado con las reglas. También se pueden desactivar categorías completas de notificaciones o partes específicas de cada notificación.Por ejemplo, es posible que un usuario no sienta la necesidad de ver una notificación que sirva como recordatorio para pagar las tarifas del medidor u otras infracciones, que pueden ocurrir únicamente debido a que el usuario ignora las normas de estacionamiento obvias o conocidas. Si tales infracciones ocurren y el usuario intenta aportar datos relacionados con la infracción de estacionamiento con respecto a ellos, un administrador del sistema puede impedir que estos datos se agreguen a la base de datos, o ciertos datos de infracción de estacionamiento pueden excluirse automáticamente. Por ejemplo, esto sería una citación emitida por un medidor vencido, o una citación emitida por bloquear un camino de entrada, aunque estas reglas pueden diferir según la ubicación, esas violaciones pueden no ser relevantes para un usuario que está bien informado sobre esas reglas. Además, un usuario puede limitar una notificación a ciertos momentos, como que se emitan recordatorios de estacionamiento en las noches y los fines de semana mientras se apaga durante el horario laboral durante la semana. Sin embargo, esto es un ejemplo y no pretende limitar de ninguna manera la personalización de tiempo que el usuario puede especificar con respecto a la cual se emite una notificación, ni tiene la intención de limitar qué información se incorpora a la base de datos.

Dado que existen diferentes tipos de vehículos comerciales, el sistema informático central también puede ordenar y categorizar datos según el tipo de vehículo, el tipo de placa y la agencia emisora ​​de la infracción de estacionamiento especificada. La información se puede inferir según el tipo de placa, el tipo de vehículo y la agencia emisora. Las mismas reglas pueden aplicarse a la misma categoría de vehículo o al mismo tipo de placa de vehículo, que puede ser regulado por una agencia específica. Las diferentes autoridades emisoras pueden tener diferentes reglas y regulaciones que se aplican solo a los vehículos que tienen la autoridad para regular. En consecuencia, los datos de citación de infracción se pueden clasificar según el tipo de vehículo y también el tipo de placa del vehículo para proporcionar una notificación precisa a un usuario que se basa en el tipo de usuario. Esta categorización puede ser aplicable tanto a vehículos comerciales como a vehículos no comerciales. Sin embargo, las fuerzas del orden público pueden tener la autoridad para regular todo tipo de vehículos y emitir citaciones por infracción de estacionamiento a todos ellos. En consecuencia, una notificación puede aplicarse a todos los tipos de vehículos o todo tipo de placas de vehículos, pero una notificación puede aplicarse selectivamente a diferentes tipos de vehículos. Los datos relacionados con la infracción de estacionamiento pueden clasificarse en las mismas categorías en las que se pueden aplicar las reglas de estacionamiento, donde cada dato de citación de infracción incluye, entre otros, el tiempo, las razones, la ubicación, el tipo de vehículo y el tipo de placa, etc. para las citaciones de infracción de estacionamiento recibidas. . Dado que algunas reglas pueden aplicarse a algunos vehículos y no a otros, según el tipo de vehículo y el tipo de placa del vehículo, es posible que se envíe una notificación a todos los vehículos correspondientes. Por ejemplo, en Nueva York, la Comisión de Taxis y Limusinas (en adelante, "TLC") regula los vehículos comerciales que tienen una placa que comienza con la letra "T". Los oficiales de TLC tienen la autoridad para emitir tipos específicos de boletos exclusivos para vehículos de TLC según las regulaciones de TLC, pero no tienen la autoridad para regular otros vehículos comerciales, por ejemplo, autobuses, que están regulados por el DOT.

Se aplican diferentes notificaciones relacionadas con infracciones de estacionamiento en diferentes situaciones. Se puede generar una notificación a partir de la base de datos que involucra el procesamiento y análisis de varios componentes del conjunto de datos: datos históricos disponibles y compilados de fuentes de información en tiempo real o datos históricos como fuente colectiva de información relacionada con la infracción de estacionamiento de entrada del usuario información relacionada con la disputa de infracción de estacionamiento con fuente colectiva para asistir o asesorar sobre disputas de boletos reglas y abreviaturas datos ubicaciones de parquímetros y tarifas de parquímetros datos de disputas de boletos de datos de un usuario y toda la información complementaria proporcionada y / o verificada por el administrador del sistema, todo lo cual puede estar sujeto a revisión y / o calificaciones. Los datos se pueden etiquetar en la base de datos según su fuente. La realización ejemplar de la divulgación inventiva puede utilizar un equipo de personas profesionales con experiencia relevante en infracciones de estacionamiento y / o reglas de estacionamiento para verificar la precisión de los datos en la base de datos. Una notificación puede corregirse, actualizarse y complementarse según los datos recopilados y las calificaciones de los usuarios. Usando los paneles de participación del usuario, se pueden recopilar datos relacionados con la infracción de estacionamiento de fuentes colectivas que comprenden al menos uno de los datos de ubicación asociados con las infracciones de estacionamiento, los datos de tiempo asociados con las horas de las infracciones de estacionamiento o los motivos de las citaciones de infracción de estacionamiento que ocurren en una ubicación identificada. A través de los paneles de participación del usuario, se pueden recibir calificaciones de al menos una parte de la notificación o los datos relacionados con la infracción de estacionamiento de colaboración colectiva de usuarios adicionales. En base a las calificaciones de la parte de los datos de fuentes colectivas o la notificación que alcanza un número predeterminado, la base de datos puede modificarse para incluir al menos una parte de los datos relacionados con la infracción de estacionamiento de fuentes múltiples recopilados a través del panel de participación del usuario. En respuesta a la parte de la notificación o los datos relacionados con la infracción de estacionamiento de fuentes colectivas que reciben un número predeterminado de calificaciones positivas, se puede emitir una recompensa al usuario adicional que compartió los datos relacionados con la infracción de estacionamiento de fuentes colectivas, donde la recompensa puede ser monetaria. recompensa o una recompensa no monetaria.

Una notificación puede ser breve, indicando las razones por las que un usuario podría no estacionarse en una ubicación en particular con otra información breve que resuma los datos históricos relacionados con la infracción de estacionamiento en la ubicación. Esta notificación puede ser breve porque un usuario puede recibir esta notificación en su aparato de visualización y puede estar conduciendo cuando busca estacionamiento o distraído de la realización de otras actividades. Se puede generar una notificación que alerta a un usuario basándose en las diferentes categorías, tipos de vehículo y / o tipo de placa de vehículo aplicable al usuario que recibe la notificación. Un tipo de notificación puede incluir información sobre la posible infracción, como fechas y marco de tiempo aplicable a la infracción, resumen histórico de las citaciones de infracción en la ubicación actual, motivo (s) de la infracción, etc. El resumen histórico de la información de la infracción puede contener un período de tiempo a partir de ciertas fechas que se reflejan en los datos (por ejemplo, fecha, mes, hora, etc.), los motivos de la infracción de estacionamiento, las sanciones aplicables, el total de sanciones cobradas, las categorías de tipos de boletos y sus sanciones aplicables, y el número de boletos emitidos dentro del marco de tiempo para educar al usuario y actuar como información persuasiva con el fin de informar al usuario de las posibles consecuencias de estacionar en un lugar determinado para evitar que el usuario se arriesgue a estacionar en el lugar con infracciones.

Otro tipo de notificación puede aparecer cuando el sistema muestra en una pantalla de visualización del dispositivo informático remoto de un usuario una comparación de las reglas de estacionamiento aplicables en diferentes jurisdicciones, por ejemplo, las reglas que se aplican en la ubicación actual y las reglas del estado que emitió el controlador del usuario. licencia. Por ejemplo, es posible que un usuario cuya licencia de conducir se emite en Connecticut no sepa que no se permite estacionar a menos de 15 pies de un hidrante en Nueva York, ya que la regla en Connecticut se establece a 10 pies de distancia del hidrante. Entre otros casos, el usuario puede ver esta información de notificación en cualquier momento, presionando un botón en la pantalla del dispositivo informático en la ubicación para verificar violaciones de estacionamiento o para verificar diferentes reglas de estacionamiento. Un usuario puede calificar la información en la notificación y también reportar la notificación al administrador del sistema si cree que hay información inexacta o falsa. De esta manera, pueden ocurrir calificaciones dobles (por ejemplo, calificaciones de los datos relevantes del estacionamiento y calificaciones de las notificaciones basadas en los datos relevantes del estacionamiento). Se apreciará que tales calificaciones dobles ayudarán al sistema a autocorregirse a medida que cambian las condiciones.

Como el sistema registra y almacena coordenadas GPS de geolocalización precisas (longitud y latitudes) del dispositivo informático del usuario, la notificación enviada a un usuario se puede personalizar y localizar en la ubicación del usuario en función de un radio predeterminado. Dado que la base de datos almacena y analiza RRLC de diferentes municipios y / u otras autoridades, la geolocalización y el RRLC aplicable pueden coincidir para enviar una notificación de acuerdo con el tipo de usuario del usuario y la ubicación actual o una ubicación indicada a petición del usuario. Por ejemplo, el identificador de ubicación puede usar la ubicación actual del usuario para ubicar al usuario dentro de un conjunto particular de jurisdicciones. Esta función puede ser útil para un usuario que conduce a través de estados o países y no está familiarizado con el RRLC de diferentes estados o países. La base de datos puede tener la información de la licencia de conducir del usuario, ya que el usuario puede ingresar y almacenar la información de la licencia de conducir con el estado o país que emitió la licencia de conducir al registrar un perfil. Usando la ubicación desde donde se emitió la licencia de conducir del usuario con los datos de geolocalización actuales del usuario, el sistema informático central puede enviar una notificación para diferentes reglas o un resumen de diferentes reglas de estacionamiento al usuario de acuerdo con la geolocalización a medida que cambia. El usuario puede presionar un botón en la pantalla del dispositivo informático para ver el resumen de las diferentes reglas de estacionamiento al comparar la ubicación que emitió la licencia de conducir del usuario con la ubicación actual del usuario. La divulgación inventiva podría no solo ser aplicable dentro de los diferentes estados de los Estados Unidos, sino que también puede ser aplicable entre diferentes países en todo el mundo.

Dado que una notificación es breve y está destinada a alertar al usuario con información rápida y resumida sobre la posible infracción de estacionamiento, el usuario puede utilizar el panel de participación del usuario, que incluye, entre otros, un módulo de foro, para obtener información más completa y detallada de las publicaciones que incluyen, entre otros, consultas, respuestas, debates, fotografías, videos, descripciones escritas y cualquier otra información que pueda publicarse. La información enviada al panel de participación del usuario está sujeta a calificaciones de usuarios adicionales. Los usuarios adicionales pueden proporcionar comentarios, sugerencias, calificaciones negativas, calificaciones positivas, etc. Una vez que la información enviada alcanza un número predeterminado de calificaciones positivas, esa información puede usarse para corregir, actualizar y complementar la base de datos en consecuencia. La información enviada se transformará en una nueva (por ejemplo, una segunda) notificación que se enviará a un usuario. Esta nueva notificación o los nuevos datos relacionados con la infracción de estacionamiento de colaboración colectiva están sujetos a calificaciones adicionales por parte de usuarios adicionales que tengan experiencia de primera mano.

Un usuario que tiene experiencia de primera mano se identifica como un usuario que ha recibido una notificación con datos relacionados con la infracción de estacionamiento sobre una ubicación específica, incluso cuando el usuario pasa dentro o ha pasado dentro de una distancia o radio predeterminada de esa ubicación específica. Este radio puede ser configurado por defecto o preestablecido por el usuario a través de la configuración. Con el fin de identificar la experiencia de primera mano, el sistema informático central puede estar conectado a Internet y un dispositivo informático capaz de determinar la ubicación geográfica de un usuario (es decir, a través de un receptor GPS, etc.) y transmitir la geolocalización identificada del usuario a el sistema informático central. El sistema puede rastrear, usando un receptor GPS, la ubicación y hora de los usuarios adicionales, y almacenar estos datos de ubicación y hora en la base de datos para identificar la ubicación rastreada y la hora de los usuarios adicionales. En respuesta a recibir las calificaciones de los usuarios adicionales, la ubicación almacenada y los datos de tiempo asociados con los usuarios adicionales pueden recuperarse para determinar si los usuarios adicionales tienen experiencia de primera mano en función de los datos de ubicación y tiempo recuperados. . Una vez que la notificación o los datos relacionados con la infracción de estacionamiento mediante crowdsourcing alcanzan un número predeterminado de calificaciones positivas, el usuario que envió la información inicial, que luego puede transformarse en una notificación, puede recibir una recompensa monetaria o no monetaria por la valiosa contribución. Mientras que la notificación que alcanza un número predeterminado de calificaciones negativas puede corregir, actualizar, complementar o modificar de otro modo la base de datos.

Si bien los datos de los boletos informados se utilizan para generar o actualizar el contenido que aparece en una notificación, toda la información proporcionada en el intercambio de boletos puede ir al panel de participación del usuario para compartir boletos (por ejemplo, fotos, videos, etc.). Se puede mostrar una notificación cuando el usuario se acerca a la ubicación específica donde el usuario podría recibir una citación por infracción de estacionamiento. La información proporcionada por un usuario en el panel de participación del usuario puede corregir, actualizar y complementar la información proporcionada en una notificación. La combinación de recibir una notificación y acceder a un panel de participación del usuario puede proporcionar información más útil y extensa para un usuario porque una notificación proporciona información rápida y sensible al tiempo, mientras que el panel de participación del usuario proporciona información detallada y extensa útil para obtener un conocimiento completo de la situación. .

El panel de participación del usuario puede incorporar dos aspectos: puede estar conectado a la ubicación específica de las infracciones en el mapa electrónico o un panel general de participación del usuario donde un usuario puede discutir ideas generales no relacionadas con ubicaciones específicas. El usuario puede presionar en una ubicación relacionada con las infracciones de estacionamiento dentro de la pantalla del mapa para elegir "Panel", para acceder al panel de participación del usuario, que puede incluir diferentes categorías donde se puede intercambiar información entre los usuarios, por ejemplo, boletos para compartir preguntas o respuestas o comentarios señales de estacionamiento y / u otras categorías no incluidas en lo anterior, si las hubiera, etc. El contenido que se proporciona automáticamente en el panel de participación del usuario se basa en la ubicación actual del usuario. La categoría de intercambio de boletos puede permitir que un usuario vea información completa y detallada relacionada con la infracción de estacionamiento para una ubicación en particular, que incluye, entre otros, una copia del boleto sin información confidencial, razones para el tiempo de infracción de la infracción y un aviso para evitar la infracción. etc. La categoría de preguntas o respuestas o comentarios puede permitir que un usuario haga cualquier pregunta, ingrese cualquier respuesta e ingrese cualquier comentario relacionado con infracciones de estacionamiento para la ubicación, además de ver toda esta información aportada por otros usuarios. La categoría de señales de estacionamiento puede permitir a un usuario intercambiar información con respecto a las señales de estacionamiento, como el rediseño de una señal de estacionamiento, o la traducción a un idioma diferente o la aclaración del contenido. Otras categorías no incluidas en lo anterior pueden agregarse o eliminarse a discreción del administrador del sistema. Cuando un usuario tiene una consulta sobre información relacionada con la infracción de estacionamiento para una ubicación, la aplicación puede permitirle publicar usando el panel de participación del usuario para obtener más información. La información introducida por el usuario puede estar abierta a comentarios y / o calificaciones de otros usuarios. Los comentarios con las calificaciones más positivas pueden recibir una clasificación de prioridad para la posición del comentario en una lista. Si las calificaciones positivas alcanzan un número predeterminado, el usuario puede recibir una recompensa. El panel de participación del usuario puede permitir que otros usuarios proporcionen varios comentarios que incluyen, pero no se limitan a, información sobre si una disputa puede tener éxito en función de las circunstancias proporcionadas por el usuario que recibió la multa de estacionamiento.

Un usuario puede usar el panel de participación del usuario para publicar una imagen de un estacionamiento o señalización de la calle en un lugar específico y preguntar sobre el lenguaje sencillo del letrero. Los conductores a menudo experimentan dificultades para comprender las señales de estacionamiento, especialmente cuando hay varias señales para diferentes reglas de estacionamiento. Además, es posible que muchos conductores no dominen bien el idioma inglés, lo que genera más dificultades para interpretar las señales. Por lo tanto, el panel de participación del usuario puede proporcionar información sobre las señales de estacionamiento asociadas con una ubicación específica y traducir estas señales de estacionamiento no solo a otro idioma, sino también a términos sencillos y fáciles de entender en inglés. Dado que algunas señales de estacionamiento son confusas, un usuario puede participar en su rediseño para hacer nuevos diseños. Un usuario puede crear rediseños o traducir las señales de estacionamiento tradicionales a diferentes idiomas para que sean más comprensibles. Sus imágenes de diseño pueden estar sujetas a un sistema de calificación, y el diseño superior que genera las calificaciones más positivas sobre un cierto número después de un cierto período de tiempo puede ser recompensado. El diseño mejor calificado puede permanecer en la parte superior de la lista para que otros usuarios puedan ver y comprender fácilmente el significado de los letreros.

Se le puede permitir al usuario realizar una búsqueda general de infracciones en la ubicación específica dentro del panel de participación del usuario y puede realizar una búsqueda adicional basada en el tipo de vehículo o el tipo de placa del vehículo. Si la búsqueda no da como resultado una respuesta que satisfaga al usuario, el usuario puede tener la opción de publicar sus propias consultas en el panel de participación del usuario que se conecta a la ubicación específica. Al educar a los usuarios compartiendo al menos su propia experiencia relacionada con la infracción de estacionamiento, otros usuarios pueden ser más conscientes de sus acciones de estacionamiento, lo que puede ayudar a evitar recibir multas y / o reducir en general las infracciones de multas de estacionamiento. Todas las funciones de la aplicación, como una notificación y el panel de participación del usuario, por ejemplo, pueden estar disponibles en diferentes idiomas que el usuario puede cambiar. Una realización ejemplar de la divulgación inventiva puede utilizar un servicio de terceros y / o API, por ejemplo, GOOGLE TRANSLATE, que es un servicio de traducción de idiomas proporcionado por Google, una subsidiaria de Alphabet Inc., o el administrador del sistema puede contratar profesionales con experiencia en infracciones de estacionamiento y también traductores competentes para traducir el contenido a diferentes idiomas o proporcionar explicaciones en un inglés sencillo. Un usuario también puede traducir información, que puede estar sujeta a valoraciones positivas y negativas.

Una realización ejemplar de la divulgación inventiva de la aplicación también puede conectarse a un mapa electrónico de terceros, por ejemplo, GOOGLE MAPS, que es un servicio de mapas electrónicos proporcionado por Google, una subsidiaria de Alphabet Inc., etc., para proporcionar una función de vista de la calle en el panel de participación del usuario para lugares específicos con una incidencia. Un usuario o empleado del sistema también puede proporcionar otros medios, por ejemplo, fotos, videos, etc. para la ubicación. Esto es especialmente útil para aquellas ubicaciones con un número predeterminado de infracciones donde se debe proporcionar más información o para aquellas ubicaciones donde un usuario puede no estar familiarizado. La privacidad del usuario o la privacidad del público puede estar protegida al cargar fotos, videos, etc.

Se puede enviar una notificación basada en violaciones con restricciones de tiempo.Las restricciones de tiempo pueden ser un marco de tiempo en el que no se permite el estacionamiento dentro de una ubicación determinada, lo que puede usarse para ayudar a producir una notificación urgente cuando corresponda. Los datos pueden reflejar un marco de tiempo preciso para estas infracciones en lugar de rastrear cada vez como su propia instancia específica de una infracción y pueden notificar a un usuario sobre el marco de tiempo completo cuando está prohibido estacionar, y no solo un punto de tiempo específico como se indica en el billete. Además, cuando los datos relacionados con la infracción de estacionamiento se identifican como sensibles al tiempo, ya sea que se envíen a través de un panel de participación del usuario o se recopilen de otra fuente, el administrador del sistema puede tener la discreción de incorporar inmediatamente estos datos sensibles al tiempo en una notificación, porque puede haber ser una necesidad de notificar a un usuario lo antes posible, como en el caso de un aviso temporal o una zona de remolque, y porque alguna información relacionada con una prohibición urgente puede ser preferible a ninguna información. En este escenario, es posible que los datos sensibles al tiempo no necesiten alcanzar un número predeterminado de calificaciones positivas antes de ser incorporados en una notificación. Si una notificación con datos relacionados con una infracción de estacionamiento sensible al tiempo alcanza un número predeterminado de calificaciones negativas, estos datos sensibles al tiempo pueden eliminarse de la base de datos.

Los datos del marco de tiempo pueden ser aplicables a varias situaciones: por ejemplo, "No estar parado en cualquier momento" donde el marco de tiempo debería indicar 24 horas, por lo que cualquier usuario cuyos datos de geolocalización muestren una ubicación que está en una zona de No parado en cualquier momento puede recibir una notificación. en cualquier momento. Los datos del marco de tiempo también pueden aplicarse al estacionamiento en el lado alternativo, para calles que no permiten el estacionamiento durante ciertos horarios debido a los servicios de limpieza de calles del gobierno, que por ejemplo, generalmente se aplica durante media hora (por ejemplo, 9 a.m.-9: 30 a.m.) o avisos de zonas de remolque temporales, que, por ejemplo, suelen ser aplicables durante un día o unos días. La base de datos puede conectarse con el dispositivo informático para enviar una notificación automática, recordando al usuario que debe mover un vehículo debido a las reglas de limpieza de calles.

Aunque los sitios web gubernamentales pueden proporcionar información sobre ubicaciones y las reglas aplicables para las señales de estacionamiento, es posible que los datos no estén completos o no estén disponibles. Por lo tanto, el panel de participación del usuario permite que el usuario informe la información de la señal de estacionamiento, que puede usarse para generar una notificación. El panel de participación del usuario también puede permitir que un usuario actualice las condiciones de restricción de estacionamiento para indicar, por ejemplo, que la condición se ha cambiado temporal o permanentemente, etc. La agencia gubernamental o la agencia de aplicación de la ley, como el departamento de policía, puede divulgar información en sus sitios web o publicar un aviso temporal en la calle con respecto a un aviso temporal de áreas de "No estacionar" en ciertas calles durante cierto tiempo. Los avisos temporales también incluyen avisos de no estacionamiento debido a algunos eventos especiales, por ejemplo, reuniones, reparaciones de carreteras, producciones cinematográficas, etc. Sin embargo, es posible que las personas no conozcan o no necesariamente vean estos avisos publicados en el letrero de estacionamiento o que los avisos no sean fáciles de ver. ser evidente cuando un usuario estaciona su vehículo, el aparato de procesamiento puede notificar al usuario de cualquier aviso temporal aplicable por estas razones. Cuando un usuario descubre la información, el usuario puede reportar el aviso al panel de participación del usuario y cargar una imagen del aviso, por lo que la base de datos puede aplicar la regla de estacionamiento indicada a toda la calle. Como resultado, un usuario que haya estacionado su vehículo en la calle correspondiente durante el marco de tiempo aplicable y / o las restricciones de marco de distancia o que haya indicado en la configuración que desea recibir una notificación de cualquier aviso temporal en el street puede recibir una notificación. El sistema informático central puede evitar que este usuario reciba potencialmente un boleto o sea remolcado, ya que la notificación puede advertir al usuario del aviso temporal. Este método de notificación también puede ser aplicable a otras situaciones en las que cualquier RRLC puede actualizarse si la base de datos no lo detecta por sí misma. Un usuario puede enviar y cargar cualquier información relevante a través de varios medios que incluyen, entre otros: fotos o imágenes de cámaras, sensores, videos, imágenes dibujadas a mano, descripciones escritas y cualquier otro medio para describir con precisión la situación de la ubicación a través de el panel de participación del usuario. Para animar a un usuario a informar el descubrimiento de cualquier cambio en RRLC, un usuario puede ganar recompensas. El administrador del sistema también puede contratar empleados o contratistas externos para informar los avisos temporales, de modo que se pueda enviar una notificación al usuario.

Puede haber una ocasión en la que el aparato de procesamiento pueda encontrar una infracción de estacionamiento al correlacionar directamente el tipo de usuario con la ubicación actual y el momento actual en la búsqueda de datos relacionados con la infracción de estacionamiento en la base de datos. Una correlación directa puede darse en tal caso en el que se haya emitido una citación por infracción de estacionamiento en la ubicación actual en el momento actual, que se emitió en base a una prohibición de estacionamiento relacionada con el mismo tipo de usuario, y también relacionada con el mismo tipo de Vehículo o tipo de placa del vehículo. Por ejemplo, una correlación directa puede ser cuando un usuario de un vehículo no comercial recibe una notificación que advierte contra el estacionamiento en la Ubicación X a las 5:15 p.m. de un martes porque hay datos en la base de datos que coinciden con la situación: un vehículo que recibe una citación por infracción de estacionamiento por estacionarse en la Ubicación X a las 5:15 PM un martes anterior. Al menos estos tres puntos (tipo de vehículo, ubicación y tiempo presente) se correlacionan directamente. En este caso, no es necesario inferir una posible prohibición de estacionamiento, ya que existe un punto de datos exacto que establece la base para la notificación.

El procesador o aparato de procesamiento puede ejecutar instrucciones para inferir una prohibición de estacionamiento basada en la ubicación para advertir a un usuario sobre el riesgo potencial de recibir una citación por infracción de estacionamiento en la ubicación de estacionamiento prevista por el usuario. El aparato de procesamiento puede analizar los datos relacionados con la infracción de estacionamiento que están disponibles en la base de datos para las ubicaciones circundantes y comparar dichos datos con RRLC. Si la ubicación de estacionamiento prevista del usuario se encuentra entre al menos dos ubicaciones con un registro de citaciones de infracción de estacionamiento incurridas previamente aplicables al tipo de usuario del usuario, el aparato de procesamiento puede inferir que el usuario puede recibir una citación de infracción de estacionamiento en ese estacionamiento previsto. localización. Los datos relacionados con la infracción de estacionamiento también pueden analizarse para predecir una posible infracción de estacionamiento aplicable al usuario por inferencia. La inferencia puede basarse en al menos una de al menos una ubicación de estacionamiento relevante, al menos un tiempo de estacionamiento relevante, al menos una ubicación de estacionamiento relevante correspondiente a al menos un marco de tiempo predeterminado, donde el tiempo identificado está dentro del marco de tiempo predeterminado, y / o al menos dos citaciones por infracción de estacionamiento emitidas previamente para al menos dos lugares de estacionamiento por violar una prohibición de estacionamiento, donde el lugar identificado está entre los al menos dos lugares de estacionamiento que están a una distancia predeterminada entre sí, donde los al menos dos lugares de estacionamiento las ubicaciones corresponden a un tiempo de estacionamiento relevante, y donde cada una de las al menos dos ubicaciones de estacionamiento está asociada con un mismo tipo de citación por infracción de estacionamiento. Para hacer una inferencia adecuada, cada una de las dos citaciones de infracción de estacionamiento incurridas previamente puede basarse en las mismas razones o el mismo tipo de prohibición o infracción, y esa razón puede corresponder a la inferencia. Esas razones pueden ser la razón de la misma citación de infracción de estacionamiento, como estacionarse en una zona de No estacionarse en cualquier momento. Es posible que no se haga una inferencia precisa si una infracción de estacionamiento es por una tarifa de parquímetro vencida, mientras que las otras infracciones de estacionamiento son por estacionamiento en una zona de carga.

Además, algunas citaciones por infracción de estacionamiento pueden no ser la base de una inferencia, como una citación por infracción de estacionamiento emitida por un parquímetro caducado. La distancia entre las ubicaciones entre las que se encuentra la ubicación de estacionamiento prevista puede depender de varios factores. Un factor que puede afectar la distancia entre esas dos ubicaciones puede ser lo que se aplica RRLC. Por ejemplo, la distancia puede ser más corta si esa distancia se basa en una regla de estacionamiento de hidrantes contra incendios, si hubiera, por ejemplo, una prohibición de estacionamiento de 15 pies a cada lado de un hidrante, las infracciones de estacionamiento solo pueden estar dentro de los 30 pies. En otro ejemplo, existe una prohibición de estacionamiento relacionada con el estacionamiento en una carretera que corre junto a una base militar. La distancia entre dos ubicaciones puede ser mayor debido a la escala de la prohibición de estacionamiento. En este ejemplo, se puede hacer una inferencia basada en la ubicación donde la distancia entre las dos ubicaciones puede ser mayor debido a un RRLC de mayor escala. El sistema informático central puede predeterminar esta distancia basándose en el RRLC aplicable. Además, la distancia puede estar predeterminada según la ubicación, donde la distancia en una ciudad más densa con casos más altos de infracciones de estacionamiento puede ser menor que la de un área rural con pocos casos de infracciones de estacionamiento. La distancia predeterminada entre ubicaciones puede estar en el mismo lado de la calle en una cuadra de la ciudad, o puede ser una distancia predeterminada más corta entre ubicaciones. Por ejemplo, la base de datos tiene un registro de una citación por infracción de estacionamiento recibida por un vehículo en la Ubicación A, cuya dirección es 130 31st Avenue. La base de datos también tiene un registro de una citación por infracción de estacionamiento recibida por el mismo vehículo o uno diferente estacionado en la Ubicación C, cuya dirección es 134 31st Avenue. El aparato de procesamiento puede analizar estas citaciones por infracción de estacionamiento para inferir que el mismo vehículo o un vehículo diferente estacionado en la Ubicación B, cuya dirección es 132 31st Avenue, puede recibir una citación por infracción de estacionamiento. En este ejemplo, la distancia predeterminada se relaciona con tres direcciones a lo largo del mismo lado de 31st Avenue: 130, 132 y 134.

El procesador o aparato de procesamiento puede ejecutar instrucciones para inferir una prohibición de estacionamiento basándose en el tiempo para advertir a un usuario sobre el riesgo potencial de recibir una citación de infracción de estacionamiento en el lugar de estacionamiento previsto por el usuario en el momento actual. Por tanto, el aparato de procesamiento puede analizar los datos relacionados con la infracción de estacionamiento que están disponibles en la base de datos para la ubicación de estacionamiento prevista por el usuario y que llevan una marca de tiempo cercana a la hora actual. Si el tiempo actual está asociado con al menos una citación de infracción de estacionamiento dentro de un marco de tiempo predeterminado, el aparato de procesamiento puede inferir que el usuario puede recibir una citación de infracción de estacionamiento en ese lugar de estacionamiento previsto en el momento actual. El marco de tiempo predeterminado puede estar predeterminado en base al RRLC aplicable, o el marco de tiempo predeterminado puede ser un marco de tiempo que es un marco de tiempo basado en el momento de la emisión de una citación por infracción de estacionamiento. Este marco de tiempo también puede ser un marco de tiempo como una, dos o tres horas, o un marco de tiempo mayor como diez horas o cualquier otra duración dependiendo de factores relevantes, como una prohibición de barrido de calles que se aplica por una hora y media Otra prohibición de estacionamiento puede ser no estacionarse entre las 9 am y las 5 pm, donde el período de tiempo puede ser de ocho (8) horas. Por ejemplo, la base de datos tiene un registro de una citación por infracción de estacionamiento recibida por un vehículo estacionado en la Ubicación A a las 9:13 a.m., donde el RRLC conocido es una prohibición de estacionamiento debido al barrido de calles que se aplica de 9:00 a.m. a 10:30 soy. El marco de tiempo en este escenario puede estar predeterminado en una hora y media en función de la duración de la prohibición de barrido de calles. El aparato de procesamiento puede analizar la citación de infracción de estacionamiento para inferir que el mismo vehículo o uno diferente estacionado en la Ubicación A puede recibir una citación de infracción de estacionamiento si un usuario estaciona a las 9:51 am, porque las 9:51 am están dentro del marco de tiempo predeterminado. En otro escenario, la base de datos tiene un registro de una citación por infracción de estacionamiento en la ubicación “H” a las 7:15 pm. Se puede emitir una notificación a un usuario que tiene la intención de estacionarse en la Ubicación “H” a las 7:21 pm. Esta notificación puede ser emitida porque 7:21 cae dentro del mismo período de media hora que la citación por infracción de estacionamiento.

El procesador o aparato de procesamiento también puede ejecutar instrucciones para inferir una prohibición de estacionamiento basándose en el tiempo analizando horarios similares en diferentes días de la semana. Si los horarios son a la misma hora todos los días, o a la misma hora el mismo día, el aparato de procesamiento puede inferir que puede haber una prohibición de estacionamiento a esta hora en este día, oa esta hora todos los días. Por ejemplo, un vehículo en la Ubicación B a las 9:30 am del martes recibe una citación por infracción de estacionamiento. El mismo vehículo o uno diferente en la Ubicación B a las 9:30 am del miércoles recibe una citación por infracción de estacionamiento. El mismo vehículo o uno diferente en la Ubicación B a las 9:30 am del jueves recibe una citación por infracción de estacionamiento. El aparato de procesamiento puede analizar estas infracciones de estacionamiento para inferir que el mismo vehículo o un vehículo diferente estacionado en la Ubicación B a las 9:30 am un viernes probablemente reciba una infracción de estacionamiento. En otro ejemplo, un vehículo en la ubicación “C” a las 9:30 am el martes 1 de septiembre recibe una citación por infracción de estacionamiento. El mismo vehículo o uno diferente en la Ubicación “C” a las 9:30 am el martes 8 de septiembre recibe una citación por infracción de estacionamiento. El aparato de procesamiento puede analizar estas infracciones de estacionamiento para inferir que el mismo vehículo o un vehículo diferente estacionado en la ubicación “C” a las 9:30 am el martes 15 de septiembre puede recibir una infracción de estacionamiento. Un experto en la materia puede apreciar que una notificación basada en una inferencia puede no ser completamente precisa, como implica la palabra "inferir". Sin embargo, también debe entenderse que una notificación puede corregirse, actualizarse y complementarse con calificaciones de los usuarios. Una notificación que contiene información sobre una inferencia es valiosa para un usuario porque puede enviarse a un usuario incluso cuando no haya una gran cantidad de información disponible de esta manera, un usuario puede recibir información razonablemente precisa en situaciones con potencialmente pocos datos sobre infracciones de estacionamiento.

Un usuario puede recibir una notificación de citación por infracción de estacionamiento del sistema. El usuario que tenga experiencia de primera mano con la notificación para esta ubicación puede calificar esta notificación basándose en las inferencias. Las calificaciones positivas se utilizan para verificar que la infracción inferida sea precisa. Cuando la infracción inferida alcanza un cierto número de valoraciones positivas que pueden estar predeterminadas, el aparato de procesamiento confirma la validez de la infracción inferida. La infracción inferida puede convertirse entonces en una infracción de correlación directa y es posible que ya no necesite ser inferida por el aparato, ya que puede ser una notificación permanente hasta que la información contradictoria verificada demuestre lo contrario, donde cuando se infieren posibles infracciones de estacionamiento alcanzan un número predeterminado de valoraciones negativas de los usuarios. , la notificación que transmite la inferencia puede retirarse. Esto también puede suceder cuando hay una citación por infracción de estacionamiento que se emite en un lugar que tiene una infracción potencial inferida. Por ejemplo, cuando se prueba una inferencia mediante una cita en algún momento, esa información sobre la infracción potencial inferida puede cambiarse para reflejar una aplicación directa de los datos de la base de datos.

Dado que los códigos de infracción pueden ser diferentes según la agencia que emite las multas y cobra las multas, la entrada de datos de los códigos de infracción en la base de datos puede incluir códigos de infracción de varias agencias y / o códigos estatutarios tal como aparecen cuando se incorporan a la ley. Por ejemplo, en la ciudad de Nueva York, una multa de estacionamiento puede indicar el Código de infracción del Departamento de Finanzas como "14", que significa "Prohibición general: pararse o estacionarse donde no se permite estar de pie mediante señales, marcas de calles o dispositivos de control de tráfico". y declarar "En violación de las Reglas de Tráfico de la Ciudad de Nueva York, Sección: 4-08 (c) No estar de pie". En consecuencia, los datos de reglas de estacionamiento disponibles, por ejemplo, el Capítulo 4 Sección 4-08 del Título 34 de las Reglas de NYC y también los datos del Código de Violación del Departamento de Finanzas pueden ingresarse en la base de datos. El sistema de cómputo central puede usar estos códigos de violación con los códigos de la sección correspondiente y sus respectivos significados, que se almacenan en la base de datos, para inferir el marco de tiempo y el marco de distancia al que se aplica la regla de no permanencia, ya que la inactividad suele ser de 24 horas y Puede extenderse por una cuadra entera. Si un usuario no participa al informar, el administrador del sistema puede contratar a un empleado para que inspeccione físicamente la ubicación y verifique el marco de distancia. El aparato de procesamiento puede utilizar esta información para alertar con precisión al usuario en función de la distancia del vehículo o el marco de tiempo. Aunque las inferencias pueden no ser 100 por ciento precisas todo el tiempo, ya que a veces hay excepciones a las reglas en una calle determinada entre dos ubicaciones similares, la combinación de conocer los códigos que subyacen a las razones para obtener un boleto en primer lugar y tener un usuario Califique la notificación y la información permita tener en cuenta esa posible inexactitud. Vincular una notificación a un panel de participación del usuario puede aumentar la eficiencia y la precisión, lo que permite que la notificación se corrija, actualice y complemente también.

El sistema puede alertar al usuario cuando el usuario se estaciona en o cerca de un área de la zona de remolque que incluye, entre otros, estacionamiento privado, solo permiso, reparaciones temporales de carreteras, acceso para servicios de emergencia y entradas de vehículos que no se pueden bloquear. Otras situaciones pueden incluir estacionamiento para discapacitados, estacionamiento reservado, permiso de estacionamiento únicamente y cualquier otro espacio de estacionamiento designado para propósitos especiales, en donde uno o más usuarios, individuos interesados, entidades privadas y el administrador del sistema pueden informar las ubicaciones de estacionamiento para propósitos especiales. también recopile dicha información de fuentes informativas. "No hay estacionamiento", "Zona de remolque", "Entrada activa las 24 horas", etc., generalmente se indican con líneas, letreros y / o palabras que dicen, por ejemplo, "Zona de remolque" o "Solo estacionamiento privado". La información de la zona de remolque puede incluir un período de tiempo cuando el estacionamiento es ilegal en una ubicación identificada del usuario y el vehículo del usuario la distancia hacia o desde la zona de remolque donde el estacionamiento es ilegal e información sobre las zonas de remolque privadas y públicas, junto con los información sobre las empresas de remolque y los costos y sanciones asociados con el remolcado del vehículo del usuario.

Las personas autorizadas para administrar dichos espacios sujetos a remolque pueden registrar la información de remolque, o un usuario puede reportar esta información, que puede ser utilizada por el sistema informático central para notificar a otros usuarios que no están autorizados a estacionar en el espacio en cualquier momento.La información importante de remolque incluye, entre otros, la ubicación de la zona de remolque, el nombre y número de teléfono de la empresa de remolque, la multa por estacionarse en la zona de remolque y otra información de contacto relevante. Los conductores que estacionen ilegalmente sus vehículos en una zona de remolque pueden ser alertados sobre las infracciones de estacionamiento y la sanción a través de una notificación basada en la información guardada en la base de datos. Si un usuario estaciona ilegalmente y su vehículo ha sido remolcado, el usuario puede verificar la ubicación del estacionamiento presionando un botón en la pantalla del dispositivo informático para mostrar la información de remolque, como el número de teléfono, multas por remolque y otra información de contacto si es necesario. ha sido registrado por las personas autorizadas para administrar o acceder a dicho espacio de la zona de remolque. El usuario puede utilizar esta información para llamar fácilmente y averiguar dónde se ha remolcado el vehículo. Se pueden ahorrar tiempo y recursos porque se disuade a un usuario de estacionarse en el espacio si el usuario sabe que es una zona de remolque y tiene información sobre las sanciones. Las áreas de la zona de remolque también se pueden indicar en la pantalla del mapa a través de diferentes colores para reflejar que no se permite el estacionamiento temporal, por ejemplo, debido a un aviso de zona de remolque temporal para reparaciones de carreteras. Un usuario puede cargar imágenes de las señales de zona de remolque temporales publicadas cuando informa el aviso, y luego el sistema puede notificar a otro usuario a través de una notificación que está sujeta a calificaciones positivas y negativas.

El procesador o aparato de procesamiento puede estar en comunicación con un sistema informático central para procesar la información reportada por uno o más usuarios que ingresan dicha información y cargan imágenes de sus infracciones de boletos y para generar una o más notificaciones aplicables con datos relacionados con la infracción de estacionamiento correspondientes a la ubicación actual identificada del usuario y el tipo de usuario del usuario. Si bien la información del ticket puede procesarse y usarse para crear o actualizar una notificación, el informe de ticket de uno o más usuarios también está conectado al panel de participación del usuario que comparte el ticket. Después de recibir este ticket, el usuario puede acceder al panel de participación del usuario para informar la ubicación de la infracción. El usuario puede identificar el tipo de multa de estacionamiento que debe notificarse a partir de un menú de tipos predeterminados disponibles. Se puede utilizar un sistema de menú de varios niveles para guiar al usuario a una selección, que identifica el tipo de posible tipo de ticket. El servidor recibe el informe y la geolocalización del usuario y determina información contextual adicional que puede ser proporcionada por el usuario y / o el dispositivo informático del usuario a partir del perfil de usuario almacenado. El aparato de procesamiento también puede recopilar información complementaria del usuario que incluye, entre otros, conocimiento personal y / o información del ticket con la hora de la infracción, la ubicación exacta impresa o escrita en el ticket, y las razones de la infracción, etc. También se le puede solicitar al usuario que ingrese información como fotografías, videos y explicaciones escritas para compartir sus ideas sobre por qué ocurrió la infracción en el formulario de conexión con la ubicación de la infracción de estacionamiento.

Por lo general, puede haber dos tipos de boletos: un boleto escrito a mano o generado por una máquina de un oficial de la ley o un boleto generado por una máquina a partir de una imagen de una cámara callejera. Las diferentes agencias de aplicación de la ley también pueden usar diferentes formularios para infracciones de multas. Cualquier información reportada por el usuario puede incluir información como ubicación, hora, razones, y también cualquier sugerencia, consejo y / o soluciones que el usuario pueda aportar para compartir conocimientos para educar a otros usuarios para evitar el mismo tipo de violación nuevamente. La persona que recibe el boleto puede estar en la mejor posición para enviar sugerencias, consejos y / o soluciones basadas en la experiencia personal.

El usuario puede complementar la información reportada con fotos de la ubicación y cualquier explicación escrita, además de las fotografías en el panel de participación del usuario que están conectadas a la ubicación de la infracción. Si el usuario toma una foto del boleto para cargarla en la base de datos, la aplicación puede permitirle editar la imagen con una función de edición de imagen cubriendo, difuminando o redactando información y / o afilando la imagen antes de cargar la imagen. Un usuario puede cubrir o difuminar partes de las imágenes con información sensible, por ejemplo, nombre, número de placa o número de identificación del vehículo, etc. El uso del reconocimiento óptico de caracteres para enfocar imágenes borrosas aumenta la tasa de éxito para que una computadora reconozca la información en la imagen. . Como alternativa, la base de datos también puede permitir que un usuario escanee la citación de infracción de estacionamiento utilizando una cámara con software de escaneo descargado en un dispositivo informático.

La información reportada puede estar sujeta a revisión y / o calificaciones por parte del administrador del sistema y también de otros usuarios para garantizar que se recopile información creíble para proporcionar una notificación. Los comentarios, sugerencias, etc. pueden aparecer en el panel de participación del usuario de acuerdo con las calificaciones, y los que tienen el mayor número de calificaciones positivas pueden aparecer en la parte superior, para que otros usuarios puedan ver claramente las publicaciones para obtener el mejor conocimiento. Se le puede permitir al usuario reportar al administrador del sistema cualquier información potencialmente inexacta con la prueba correspondiente. El administrador del sistema puede abrir un caso en el que se pueda enviar a un empleado y / o usuario a realizar una investigación de la información supuestamente inexacta para verificar la calidad de la información. Se puede proporcionar una recompensa al usuario que haya ayudado en la investigación.

El sistema informático central puede proporcionar una función informativa y educativa, donde proporciona una notificación que puede dar razones específicas y sugerencias sobre cómo evitar la misma infracción y muestra el resumen histórico de la infracción para persuadir al usuario de que no se arriesgue a estacionar. en un lugar con infracciones de estacionamiento y para que el usuario pueda conocer la infracción con anticipación.

Una realización ejemplar de la divulgación de la invención puede utilizar un método de incentivo ya que la base de datos incorpora al menos un método de crowdsourcing de datos de uno o más usuarios a través de un panel de participación de usuarios. El crowdsourcing se basa en la participación de un gran número de personas que están incentivadas para participar. Básicamente, este método de incentivo permite a un usuario publicar y compartir datos relacionados con la infracción de estacionamiento para obtener calificaciones positivas, un número predeterminado de las cuales puede otorgarle una o más recompensas. En este método, el usuario puede ser recompensado en función del esfuerzo proactivo del usuario para informar la información del ticket con eficiencia, utilidad y precisión. Cuando un usuario recibe un boleto, el usuario tiene la opción de disputar o pagar el boleto antes de la fecha límite. El usuario puede recibir calificaciones positivas después de que la información del ticket esté completa y enviada al panel de participación del usuario. Alternativamente, un usuario puede buscar en la base de datos datos relacionados con la infracción de estacionamiento con respecto a una ubicación particular, y luego proporcionar calificaciones para los datos relacionados con la infracción de estacionamiento. Como incentivo para que los usuarios busquen y califiquen los datos relacionados con la infracción de estacionamiento para una ubicación particular, el sistema puede otorgar un premio o recompensa por tales calificaciones cuando las calificaciones alcancen un número predeterminado.

Se puede emitir una recompensa al primer usuario que reporta la información del boleto en una ubicación que no tiene un historial previo de infracciones de estacionamiento en la base de datos. La cantidad que el usuario puede recibir puede ser la cantidad total indicada en la multa del usuario o una cantidad establecida por el administrador del sistema de acuerdo con la cantidad de calificaciones positivas recibidas por proporcionar información sobre la multa junto con comentarios y recomendaciones sobre cómo evitar multas por infracción de estacionamiento. (por ejemplo, el estacionamiento en el lugar identificado puede ser ilegal o no permitido en el momento identificado, como el momento actual, pero puede ser legal o permitido en un momento determinado, como cinco minutos después de la hora identificada, en el lugar identificado) . De manera similar, la ubicación identificada del usuario (por ejemplo, la ubicación actual) puede considerarse ilegal o no permitida, pero si el usuario se mueve hacia adelante o hacia atrás una cierta distancia, como dos pies o diez pies, la ubicación del usuario puede ser legal o permitida en el tiempo identificado y nueva ubicación. Se apreciará que se pueden incluir varias combinaciones de dichas recomendaciones de tiempo y ubicación en las notificaciones al usuario. A través de las recompensas, un usuario no puede incurrir en pérdidas por infracciones de multas y también puede educar a otros para que cumplan mejor con RRLC compartiendo ideas para evitar futuras infracciones de multas de estacionamiento. El sistema de recompensas puede implicar varios pasos. Para ser elegible, es posible que se requiera que el usuario sea el primer usuario en reportar completamente la información de un nuevo boleto en detalle para esa ubicación específica que no tenía ningún historial de boletos anterior al informar la fecha y la hora del boleto emitido con información específica en los motivos de la infracción y dar sugerencias, ideas y / o consejos beneficiosos sobre cómo evitar la misma infracción. El primer usuario que comparte todos los detalles de la información del boleto y recibe un cierto número de calificaciones puede recibir una recompensa. Sin embargo, se puede permitir que otros usuarios ingresen la información del boleto si el boleto para la misma ubicación indica diferentes razones o violaciones que pueden calificar para una recompensa. La aplicación puede permitir que un usuario tome una foto del boleto, que puede ser redactado o mejorado antes de enviarlo como se describe. Cada ubicación puede permitir la presentación de un informe de boleto original que puede permitir que un usuario obtenga una recompensa. Sin embargo, el administrador del sistema puede cambiar el tipo de recompensa y / o la cantidad de recompensa a diferentes usuarios que reportan información de boletos de estacionamiento mediante descripciones en diferentes circunstancias. Por ejemplo, una recompensa para el primer usuario puede pagar el doble de la recompensa o dar un regalo como recompensa monetaria. Además, un usuario que participa activamente en el suministro de información de fuentes colaborativas puede hacerlo sin esperar ser recompensado. En este caso, el usuario puede optar por no recibir recompensas a través de la configuración en el panel de participación del usuario o simplemente puede rechazar una recompensa cuando se ofrece una.

Los boletos emitidos por agentes del orden público pueden indicar una fecha que sirve como fecha límite para pagar la infracción del boleto. Un incentivo para el usuario es recompensar los informes útiles y eficientes para ayudar a otros usuarios a pagar sus boletos a través de un sistema de recompensas. Los incentivos son cruciales para obtener tanto la participación activa de uno o más usuarios como para obtener información veraz y veraz. La participación activa es importante porque el análisis estadístico depende de un gran grupo de datos y es importante obtener continuamente datos en tiempo real de situaciones actuales.

Para fines de control de calidad, se puede implementar un sistema de verificación. Para las recompensas, el panel de participación del usuario puede realizar un seguimiento de las calificaciones, de modo que un usuario solo pueda respaldar una vez por cada informe de ticket. Además, el usuario solo puede calificar la notificación de posibles violaciones de estacionamiento si el usuario ha experimentado personalmente y / o recibido dicha notificación cuando se indique que la geolocalización de un usuario está dentro de un radio predeterminado de la ubicación con violaciones. Un usuario que haya recibido la notificación basada en su experiencia de primera mano puede respaldar (positivo) o refutar (negativo) al calificar la notificación. Teniendo en cuenta el sistema de calificación y verificación, el panel de participación del usuario puede garantizar que las calificaciones estén actualizadas. Una notificación se califica y una notificación que contiene información inexacta y tiene una calificación negativa puede marcarse y corregirse, y una notificación con una calificación alta puede permanecer. A su vez, una nueva notificación basada en nueva información puede calificarse en el futuro, lo que puede llevar a una calificación adicional en el futuro. Por ejemplo, este puede ser el ciclo que mantiene los datos en la base de datos actualizados con respecto a cualquier cambio o inexactitud.

El proceso mediante el cual la base de datos se mantiene actualizada implica, en parte, que un usuario califique la notificación que recibe. Debido a que una notificación se basa en puntos de datos que se relacionan con la información de estacionamiento dentro de la base de datos, cuando un usuario califica la notificación, también califica los datos contenidos en la notificación. A través de esas calificaciones, se puede determinar si los datos son precisos o aplicables a una ubicación de estacionamiento en particular. Si los datos resultan no ser precisos o aplicables, se pueden usar para corregir, actualizar y complementar los datos relacionados con la infracción de estacionamiento en la base de datos en función de los comentarios de los usuarios. Si resulta ser exacto y / o aplicable, entonces la exactitud de los datos puede reforzarse a través de la retroalimentación. La notificación que puede recibir un usuario puede consistir en información sobre una ubicación de estacionamiento específica. La notificación puede transmitir al usuario que actualmente no hay prohibiciones de estacionamiento vigentes que se relacionen con la ubicación del estacionamiento, o puede informar al usuario sobre las reglas o regulaciones relevantes que están actualmente en vigencia. Luego, el usuario puede calificar esa notificación, ya sea positiva o negativamente (por ejemplo, si fue correcta o incorrecta). El proceso se puede iluminar a través de un ejemplo de una notificación que informa a un usuario que no hay prohibiciones de estacionamiento en vigor cuando, de hecho, el lugar de estacionamiento del usuario estaba sujeto a una prohibición temporal con respecto al barrido de calles. En este caso, el usuario puede, en la interfaz de usuario, calificar la notificación (por ejemplo, proporcionar una calificación negativa). Un usuario puede corroborar una calificación negativa enviando una prueba de que la notificación o la información de colaboración colectiva fue inexacta. El usuario, en este ejemplo, puede tomar una fotografía del letrero que anunciaba cuándo estaba en vigor el barrido de la calle, o cualquier otro letrero relevante. Esta retroalimentación se recopila junto con las calificaciones, que pueden actualizar la base de datos para reflejar los nuevos datos enviados por el usuario. Si los datos que el usuario proporciona a través de esta calificación negativa resultan ser precisos, se podrán utilizar para corregir, actualizar y complementar la base de datos.

Sin embargo, los datos o la información proporcionada por las calificaciones negativas tendrían que superar un número predeterminado para anular una notificación. Si una calificación negativa y su información correspondiente no han pasado el número predeterminado, la calificación negativa del usuario puede mostrarse en la notificación al incluir una indicación de que un pequeño porcentaje de usuarios ha calificado la notificación negativamente y / o como inexacta. Cuando esas calificaciones negativas alcanzan el número predeterminado, la nueva información proporcionada a través de esas calificaciones puede reemplazar los datos relevantes existentes en la base de datos. Esto, a su vez, actualiza el contenido de la notificación que se emite. En el ejemplo de barrido de calles anterior, si el usuario es el primero en indicar que existe una regulación de barrido de calles relevante, y el panel de participación del usuario recibe diez calificaciones negativas más que dicen que la notificación en efecto es incorrecta, respaldada con información similar o la misma para el primer usuario, luego, una vez que haya suficientes presentaciones o calificaciones, la base de datos puede corregirse, actualizarse y complementarse con base en esta información corroborada. La cantidad que es “suficiente” puede estar predeterminada, como 10, 25, 35 calificaciones o presentaciones, etc., o puede basarse en el porcentaje de calificaciones totales. Por ejemplo, un umbral de calificación negativa del 25%, 10% o 1% puede desencadenar una revisión de datos. El número predeterminado de calificaciones también puede diferir según la ubicación. En un lugar concurrido como Midtown Manhattan, la densidad de infracciones de estacionamiento y la demanda de lugares específicos de estacionamiento pueden ser más altas que en áreas más rurales. Además, puede haber más usuarios que compartan o califiquen los datos relacionados con la infracción de estacionamiento. Por lo tanto, estas diferentes ubicaciones pueden tener diferentes estándares para predeterminar un número. Independientemente de la ubicación, una vez que la información enviada alcanza ese número predeterminado, puede incorporarse a la base de datos. El usuario que es el primero en brindar información correctiva puede recibir una recompensa monetaria o no monetaria por ser el primero en aportar información nueva y útil que se incorpora a la base de datos, lo que incentiva al usuario a brindar información precisa y oportuna. , manteniendo la base de datos actualizada.

Las infracciones de las entradas son documentos legales y pueden estar sujetas a disputas. Cuando un usuario puede querer disputar la infracción del boleto, el panel de participación del usuario en relación con una ubicación específica de una citación de estacionamiento puede ser útil porque otros usuarios pueden comentar sobre sus situaciones personales sobre si es probable que una disputa tenga éxito o no tenga mérito. Los datos de fuentes colaborativas se pueden recopilar dentro del panel de participación del usuario, para obtener información sobre disputas relacionadas con la infracción de estacionamiento de uno o más usuarios con el fin de ayudar a los usuarios con información útil sobre disputas. Esta información sobre disputas también puede ser útil para un usuario que se encuentra con un oficial de la ley y puede usar esta información para discutir y explicar la situación al oficial de la ley. El usuario puede mostrarle al oficial de la ley que, de hecho, otros usuarios que han recibido la infracción específica de la multa de estacionamiento la han disputado en el tribunal y han ganado. El oficial de la ley, que ahora está informado de la situación, puede o no emitir la infracción de la multa o puede revocar la infracción de la multa como resultado si el oficial tiene la discreción de hacerlo. Este método puede ahorrarle dinero al usuario porque si la disputa tiene mérito, según lo informado por otros, el usuario puede ganar el caso. Si la disputa no tiene mérito, según lo informado por otros usuarios, entonces el usuario puede decidir simplemente pagar la multa y no disputar el boleto. La información relacionada con disputas puede usarse para informar a otros usuarios sobre las probabilidades de éxito de la disputa de boletos. El administrador del sistema también puede contratar profesionales, que pueden especializarse en disputas por multas de estacionamiento, para ayudar a resolver problemas de disputas en el panel de participación de usuarios. La aplicación puede permitir que un usuario verifique las probabilidades de éxito de una disputa presionando un botón en la pantalla que se conecta a la base de datos de multas de infracción de estacionamiento recibidas por otros usuarios. En consecuencia, se puede educar al usuario sobre cómo utilizar los recursos legales con eficacia.

El sistema, a través del panel de participación del usuario, también puede educar a un usuario sobre el proceso de disputar boletos si una disputa es meritoria. A menudo ocurre que un usuario no está seguro de si debe disputar y cómo disputar la infracción del boleto cuando lo hace. El usuario puede utilizar información de disputas de entradas de colaboración colectiva de otros usuarios para averiguar si una entrada tiene una buena posibilidad de ser descartada si se disputa en base a la información enviada por otros usuarios. Los procedimientos de disputa pueden incluir información sobre los tipos de pruebas que se pueden recopilar y enviar a la autoridad correspondiente que resuelve la disputa.También se puede permitir al usuario buscar y conectarse con terceros, como abogados con experiencia en disputar violaciones de multas, por lo que la aplicación puede permitirle al usuario enviar fotos y otros tipos de documentos por correo electrónico al tercero directamente desde la aplicación. La funcionalidad del panel de participación del usuario también puede permitir a un usuario compartir información sobre su audiencia y los resultados de su audiencia para sus tickets. Otros usuarios pueden usar esta información como referencia para audiencias futuras, ya que un usuario puede ver a otros usuarios que pueden haber recibido el mismo tipo de boleto en el mismo lugar por las mismas razones. Esta información se puede recopilar para realizar análisis en ubicaciones que pueden tener una actividad de venta de boletos inusual para iniciar pautas para el usuario.

La aplicación puede alertar al usuario para que evite la infracción de estacionamiento notificándolo a través de correo electrónico, mensaje de texto, llamada telefónica, alerta telefónica, correo de voz, etc., automáticamente a elección del usuario que configuró esto de antemano en la configuración. Las funcionalidades, en particular la función de informes del usuario, pueden conectarse a API de terceros para proporcionar capacidades de voz a texto. Un usuario que utiliza la función de voz a texto puede grabar su voz pronunciando sus declaraciones en el micrófono que puede estar conectado al dispositivo informático, donde las declaraciones pueden convertirse en texto. En consecuencia, es posible que un usuario no necesariamente tenga que ingresar información manualmente y puede enviar información grabando sus declaraciones de voz.

La geolocalización de cada usuario individual puede registrarse mientras conduce, junto con la velocidad del usuario, en la que una velocidad lenta de 1-3 mph, por ejemplo, puede ser indicativa de la intención de estacionarse dentro de un cierto radio del destino previsto como preestablecido. por el usuario. Según la ubicación geográfica y la velocidad del usuario, se puede enviar una consulta que pregunte, por ejemplo, "¿Aparcamiento?" Si el usuario elige "Sí", entonces se puede identificar cualquier infracción de estacionamiento dentro de un radio predeterminado de una ubicación de estacionamiento específica, y la notificación puede ser aplicable al tipo de usuario de ese usuario. Para generar una notificación, el aparato de procesamiento puede consultar diferentes conjuntos de datos dentro de la base de datos, por ejemplo, cualquier información de cita histórica disponible actualmente RRLC aplicable al tipo de usuario de ese usuario, la ubicación actual del usuario y en el momento actual cualquier aviso administrativo o aviso temporal aplicable. al tipo de usuario de ese usuario, ubicación actual y hora actual, etc. Si el usuario no responde a la alerta después de un cierto tiempo, por ejemplo, 3 segundos, entonces la consulta puede desaparecer automáticamente. El usuario puede recibir una consulta sobre la intención de estacionamiento, cuando la geolocalización del usuario se encuentra dentro de una proximidad predeterminada del destino previsto, que puede ser un cierto número de pies según lo establecido por el usuario. El usuario también puede establecer el número de notificaciones que le gustaría recibir (por ejemplo, un usuario puede querer recibir una consulta o notificación una, dos veces, o puede que el usuario no quiera recibir ninguna notificación, etc.). Si el usuario no responde a la notificación, el aparato de procesamiento puede dejar de enviar la notificación después de que alcance el número de instancias previamente establecido por el usuario. Después de esto, el usuario puede presionar un botón en la pantalla si el usuario desea ver la información de notificación de posible infracción de estacionamiento para la ubicación actual. Dado que un mapa de carreteras puede estar integrado en la base de datos, si el vehículo se ralentiza o se detiene en medio de la carretera debido al tráfico u otras razones, o si está fuera del radio del destino previsto, el sistema informático central puede reconocer dicha ubicación a través de las coordenadas GPS de geolocalización y los datos de velocidad y puede saber automáticamente que no se envía una notificación de intención de estacionamiento, ya que no se permite estacionar en el medio de la carretera porque puede bloquear la calle. La notificación puede aparecer en la pantalla del dispositivo informático o puede incluir la opción de una alerta de voz. Según una realización de la presente, la intención de estacionamiento del usuario se identifica determinando y analizando la velocidad instantánea actual, a través del acelerómetro, y la proximidad al destino previsto, a través del identificador de ubicación. Cuando el usuario muestra la intención de estacionarse, se puede verificar la base de datos en busca de posibles infracciones de estacionamiento aplicables a la ubicación según la hora y el día. Cuando se identifica la intención de estacionamiento, la notificación que aparece será para los datos relacionados con la infracción de estacionamiento que se encuentran dentro de un radio predeterminado del usuario con la intención de estacionamiento. El usuario puede preestablecer el radio predeterminado para que sea una cierta distancia porque un usuario puede preferir un radio de 500 pies de un destino mientras que otro usuario puede preferir un radio predeterminado de mil (1000) pies. Si un usuario no preestablece esto, puede haber configuraciones predeterminadas para el radio predeterminado, que puede diferir según la ubicación. Por ejemplo, una configuración predeterminada para un radio predeterminado puede depender de la ciudad en la que se encuentra el usuario.

El sistema también puede conectarse con API meteorológicas de terceros para recuperar información meteorológica histórica para la ubicación específica para predecir situaciones de estacionamiento futuras donde el clima puede tener un impacto en las infracciones de estacionamiento en función de las indicaciones de un aumento de las infracciones de estacionamiento durante ciertas condiciones climáticas. Durante circunstancias climáticas similares, un usuario de cualquier restricción de estacionamiento que pueda aplicarse en el lugar donde el usuario puede tener la intención de estacionar. Por ejemplo, si el sistema de computación central detecta a través de una API meteorológica y geolocalización que el usuario tiene la intención de estacionar en una ubicación sujeta a cualquier nevada o inundación esperada, puede comparar esta información con los datos históricos relacionados con la infracción de estacionamiento dentro de la base de datos para averiguarlo. si puede haber restricciones de estacionamiento relacionadas con el clima y un número creciente de infracciones de estacionamiento en la ubicación que puedan ser aplicables. El usuario puede recibir una notificación cuando el pronóstico del tiempo es similar a situaciones de datos históricos que reflejan un aumento en el número de infracciones para un área determinada debido a las mismas condiciones climáticas. Por ejemplo, los datos históricos de una determinada ubicación mostraron un aumento en las infracciones de estacionamiento cuando hay nevadas. Los datos históricos muestran que el aumento en las infracciones de estacionamiento fue el resultado de que la nieve cubrió una boca de incendios, lo que llevó a los conductores a creer que pueden estacionar en el lugar ya que no pueden ver la boca de incendios. En consecuencia, si ha habido violaciones previas debido a razones específicas relacionadas con el clima, se puede indicar al usuario que busque una ubicación de estacionamiento alternativa para evitar posibles citaciones por violación de estacionamiento.

El dispositivo informático se puede integrar con sistemas en el tablero para permitir una función completa dentro de un vehículo. Esta integración no se limita a los sistemas en el tablero y también puede integrarse en el vehículo por parte del fabricante del equipo original o un equipo adicional de terceros que se puede montar dentro de un vehículo. La divulgación inventiva utiliza la integración directa del sistema de información de espacio de estacionamiento divulgado en la navegación y el GPS en una computadora a bordo de vehículos fabricados con equipo original. En tales realizaciones, la arquitectura descrita puede integrarse directamente en el sistema informático de un vehículo.

Cuando se integra en un sistema de navegación en el tablero, la pantalla del vehículo puede usarse para mostrar una notificación de estacionamiento como se describe arriba. La realización del sistema integrado en el tablero puede proporcionar actualizaciones y comunicaciones remotas al usuario a través de la información relacionada con la infracción revelada instalada y la aplicación para evitar la infracción de estacionamiento en el dispositivo informático del usuario para alertar al usuario, por ejemplo, cuando el límite de tiempo de estacionamiento se acerca a la expiración, inminente. limpieza de calles u otras restricciones temporales. Cuando un usuario llega a un lugar de estacionamiento, el sistema informático central puede recibir la ubicación del vehículo y puede enviar una notificación al dispositivo informático de un usuario para recordarle sobre el vencimiento del parquímetro que se aproxima cuando sea aplicable, además de otras restricciones relevantes.

La integración puede incluir la utilización de equipos del vehículo, por ejemplo, velocímetro, acelerómetro, cámaras, sensor de inercia, sensor de giroscopio, sensor de GPS y cualquier otro equipo aplicable, etc. La utilización de este equipo del vehículo se puede utilizar para obtener una actividad histórica y en tiempo real completa información sobre el vehículo, por ejemplo su dirección, velocidad, orientación y aceleración, etc. con el fin de emitir una notificación aplicable al usuario.

Una combinación de hardware y software opera en una aplicación de un dispositivo informático y un sistema informático central, como una computadora, generalmente con una o más conexiones a una red de área amplia inalámbrica (WAN) (por ejemplo, Internet). El sistema informático central puede configurarse para comunicarse con el servicio de red coordinado a través de medios de comunicación. Se pueden utilizar funciones preprogramadas combinadas basadas en ciertos protocolos o métodos de integración de componentes básicos (es decir, servidores, bases de datos, aplicaciones finales móviles, portales web, configuraciones de red, etc.) de manera que las aplicaciones podrían ser aplicaciones escritas para ANDROID. una plataforma móvil desarrollada por Google y Open Handset Alliance, IOS, una plataforma móvil desarrollada por Apple, Inc., WINDOWS PHONE, una plataforma móvil desarrollada por Microsoft Corporation, etc.

Para actualizar dinámicamente los registros, una realización ejemplar de la divulgación inventiva puede usar una base de datos o un conjunto de bases de datos (o medios de almacenamiento de datos). La base de datos puede contener varias categorías o agrupaciones de datos. La base de datos contiene información para registros históricos y en tiempo real, donde las secciones históricas y de tiempo real de la base de datos pueden ser independientes o sincronizadas para recuperar información de ambas secciones al mismo tiempo. La base de datos también puede contener registros sobre un usuario y registros de paneles de participación de usuarios específicos. Estos datos pueden incluir reglas y datos administrativos, así como datos del usuario. Se realiza un seguimiento de los datos históricos en parte mediante la asignación de un número de seguimiento o un número de identificación de servicio que se asignaría a la emisión de boletos o información relacionada para ayudar a consultarlos en caso de que surjan dudas. La información que podría contener esta identificación puede ser información, como la razón por la que se emitió un boleto, quién o qué agencia lo emitió y dónde tuvo lugar, como información específica de la dirección, incluido el número de casa o edificio, código postal, municipio. , ciudad o estado, a cuánto asciende la multa y cómo se realizó el pago por el servicio, en caso de que así fuera.

Un experto en la técnica debe entender que la base de datos se actualiza y sincroniza dinámicamente cada vez que hay cambios o actualizaciones en los bloques de datos, el servidor y la base de datos pueden actualizar dinámicamente los datos para reflejar los últimos cambios. Cualquier base de datos de respaldo relacionada con la base de datos también puede cambiar en consecuencia para reflejar también los últimos cambios. En una realización ejemplar de la divulgación inventiva, dicha información puede organizarse o estructurarse de manera que permita una clasificación y recuperación efectivas. En una realización ejemplar de la divulgación inventiva, la información puede almacenarse de una manera no relacional o no estructurada. Un experto en la materia apreciaría que existen numerosos métodos para proporcionar, almacenar y organizar datos en una base de datos u otros medios de almacenamiento de datos. Además, puede haber al menos una base de datos de respaldo que puede respaldar la base de datos primaria con frecuencia en caso de pérdida de datos en la base de datos primaria. Si bien se hace referencia a ella como una "base de datos", un experto en la técnica apreciaría que en la práctica esto podría implementarse de numerosas formas, que incluyen, entre otras, un medio de almacenamiento de datos, ya sea estructurado o no estructurado, relacional o de otro tipo. Un experto en la materia también apreciaría que existen numerosos métodos para proporcionar bases de datos y medios de almacenamiento de datos para la organización y recuperación de información específica, contemplados para su uso con cualquier base de datos o medio de almacenamiento apropiado.

La base de datos completa puede almacenar datos administrativos y otra información. Los datos administrativos incluyen cualquier información o datos, que forman parte de la aplicación u otros medios de acceso, que comprenden datos del sistema como información de contacto y preguntas frecuentes, detalles de registro con respecto a un usuario, por ejemplo, información de facturación o identificación u otra información relevante relacionada con la administración. el servicio, por ejemplo, cuánto tiempo lleva registrado el usuario o la frecuencia de uso. Los datos adicionales que se pueden ingresar en la base de datos incluyen, entre otros, ubicaciones a las que viajó un usuario, otros datos y detalles de transacciones, datos históricos y contribuciones de un usuario al panel de participación del usuario.

Un usuario puede acceder a registros históricos, puede explorar la base de datos y puede recuperar datos relacionados de una función de búsqueda u otros medios. Cada vez que se realiza una entrada o solicitud de un usuario que desea ver información relacionada, se puede abrir un canal de acceso seguro con base de datos (s) y el sistema informático central puede enviar las sentencias de consulta a través del canal de acceso a un módulo de administración de base de datos. . Si se trata de una base de datos relacional, las tablas de datos pueden tener un tipo de relaciones, como relaciones de uno a muchos, relaciones de muchos a muchos y relaciones de uno a uno con otras tablas de datos. Según las relaciones entre las tablas de datos, el módulo de administración de bases de datos sigue las oraciones de consulta y encuentra las tablas de datos específicas mediante el uso de ID, nombres de tablas y nombres de columnas de las tablas con o sin unir dos o más tablas de datos juntas. Si se trata de una base de datos no relacional, en lugar de tablas de datos, los datos se pueden almacenar en pares clave-valor, entonces el módulo de administración de la base de datos sigue las sentencias de consulta y encuentra los datos específicos utilizando las claves que proporcionan las sentencias de consulta. Ya sea que se utilice una base de datos relacional o no relacional, después de que el módulo de gestión de la base de datos recupera los datos específicos, el sistema informático central puede enviar el resultado de la búsqueda al servidor a través del canal de acceso seguro. Luego, el canal asegurado se cierra hasta la próxima vez que deba abrirse. Los datos relevantes que se han organizado dentro de la base de datos se pueden recuperar y visualizar.

Se puede utilizar un sistema de información geográfica (GIS) junto con el servidor para capturar, mostrar, almacenar, manipular y analizar información geográfica. Para cumplir con ciertas operaciones de consulta, un SIG puede extraer y analizar datos de la base de datos, o los datos pueden almacenarse dentro del sistema de gestión de bases de datos (DBMS) de un SIG. Se puede utilizar un SIG para visualizar los datos dentro de la base de datos. Por ejemplo, en la ciudad de Nueva York, las fuentes de datos como MapPLUTO de NYC Open Data y Open Street Map contienen mapas base geodésicos. Luego, se puede recopilar un inventario de otros puntos de datos como estacionamiento con parquímetros, ubicaciones de paradas de autobús, estacionamiento de vehículos comerciales, carriles de taxi, carriles de autobús, garajes de estacionamiento, ubicaciones de estacionamiento en la calle, restricciones de estacionamiento, ubicaciones de hidrantes de incendios, etc. aplicado a través de un SIG y visualizado en un mapa base. Esto proporciona una forma útil de ordenar, acceder y ver los datos.

El SIG consta de algunos componentes importantes para realizar correctamente sus funciones fundamentales. Los componentes de un SIG son los siguientes: hardware, que implica una computadora central o cualquier dispositivo secundario adjunto a él que permite que el SIG sea un software funcional: algoritmos escritos usando lenguajes de programación ejecutables para almacenar, analizar y mostrar datos e información geográfica y datos: cualquier información a analizar, como ubicaciones de estacionamiento, mapas, etc. Además, un técnico u otra persona calificada que tenga conocimiento de los procedimientos precisos de mantenimiento, especialmente aquellos relacionados con el ajuste de las funciones del sistema, puede tener que mantener un SIG a la necesidad de una organización de un SIG. También se pueden usar diferentes clases o modelos de un SIG para diferentes aplicaciones. Por ejemplo, un SIG como un modelo de campo puede ser necesario para analizar datos que cambian en áreas continuas. Se pueden usar modelos discretos para analizar datos que se relacionan con puntos en un espacio bidimensional. Finalmente, los modelos de red pueden usarse para analizar dos puntos conectados por una serie de puntos, como puntos a lo largo de una carretera o un ferrocarril.

Los datos pueden ser multiplataforma y, por lo tanto, se puede acceder a ellos a través de diferentes dispositivos informáticos, como un portal web y / o aplicaciones, al mismo tiempo cuando se desee. Los diferentes componentes dentro del dispositivo informático, que pueden estar en muchas formas diferentes, como tabletas, dispositivos móviles, teléfonos inteligentes, computadoras portátiles, computadoras personales (PC), navegación en el vehículo y / o servidores, o cualquier otro dispositivo habilitado para la comunicación. puede interactuar y comunicarse para compartir información. Un usuario puede utilizar un dispositivo informático para acceder a los módulos proporcionados al usuario a través de una aplicación en el dispositivo informático del usuario.

La administración también puede realizarse a través de otro módulo diferente al que utiliza un usuario. En tal caso, un usuario no necesitaría las mismas funciones que un administrador del sistema. Un experto en la técnica apreciaría las muchas formas y funciones diferentes de los dispositivos informáticos y comprendería que la realización ejemplar de la divulgación inventiva podría llevarse a cabo con cualquiera, y también comprendería que los diferentes tipos de usuarios exigen diferentes funcionalidades.

El usuario puede comunicarse, por ejemplo, usando cualquier enfoque para comunicar datos a través de una o más redes oa uno o más dispositivos periféricos conectados a un dispositivo informático. Los enfoques de comunicaciones pueden incluir, pero no se limitan a, circuitos y sistemas de control para proporcionar conexiones inalámbricas, conexiones por cable, conexiones celulares, conexiones de puertos de datos, conexiones Bluetooth o cualquier combinación de las mismas. Un experto en la materia apreciaría que existen numerosos enfoques para las comunicaciones que pueden utilizarse.

Un módulo de usuario con el que interactúa un usuario es dinámico y puede ajustarse según una ubicación específica. El módulo de usuario puede conectarse a través del servidor, por ejemplo, a través de una comunicación inalámbrica bidireccional configurada para mostrar datos de ubicación en la pantalla del mapa electrónico y otros datos como entrada de un usuario. Las características mostradas pueden ser específicas de la ubicación o región en la que se encuentra el dispositivo informático, de modo que se puede proporcionar información específica de la región en la interfaz de pantalla.

Una realización ejemplar de la divulgación inventiva también puede ajustar las características del módulo de usuario, incluido el contenido mostrado como parte de las características de una interfaz de usuario, basándose en otras selecciones y preferencias del usuario.Se pueden integrar una aplicación, un componente de mapa, una base de datos de mapas y un identificador de ubicación, como, por ejemplo, un módulo GPS u otro circuito para proporcionar datos LBS para determinadas funciones de identificación de ubicación. El GPS determina la ubicación de los dispositivos informáticos de diferentes formas, por ejemplo, mediante la recepción de recursos basados ​​en la ubicación. Un experto en la materia apreciaría que existen numerosos enfoques para proporcionar servicios de identificación de ubicación y basados ​​en la ubicación. Un sistema o dispositivo con GPS permite que los componentes de seguimiento identifiquen la ubicación de un usuario. Según una realización ejemplar de la divulgación inventiva, la ubicación actual del usuario puede determinarse mediante un identificador de ubicación. El identificador de ubicación puede determinar la ubicación del dispositivo informático de diferentes formas. En un ejemplo, el identificador de ubicación puede instanciarse mediante el procesamiento de datos GPS recibidos desde recursos basados ​​en la ubicación o con conocimiento geográfico del dispositivo informático. Además, el identificador de ubicación también puede recibir datos GPS de otras aplicaciones o programas que operan en el dispositivo informático. Por ejemplo, un dispositivo informático puede comunicarse con una o más de otras aplicaciones utilizando una o más API. La aplicación puede usar la información de ubicación para hacer que un componente de interfaz de usuario configure un marco de interfaz de usuario basado en la información de ubicación.

La región puede identificarse mediante un código postal o un nombre de ciudad o un nombre de área metropolitana en la que se encuentra actualmente el dispositivo informático. Es posible que se proporcione en parte información específica de la región sobre la información relacionada con el estacionamiento. Las preferencias o limitaciones que se basan en la ubicación dependen en parte de los dispositivos con GPS.

Los componentes pueden combinarse para proporcionar características del módulo de usuario que son específicas para las selecciones y ubicaciones de los usuarios, y / o condiciones en tiempo real para permitir que un usuario reciba información relacionada con la infracción de estacionamiento. Por ejemplo, la aplicación puede corresponder a un programa que se descarga en un teléfono inteligente u otro dispositivo de computadora portátil, como una tableta o un asistente digital personal (PDA). Un usuario puede descargar e instalar la aplicación en un dispositivo informático y registrar el dispositivo informático.

Las interfaces de usuario pueden incluir, entre otras, una interfaz de usuario de la página de inicio, un panel de participación del usuario que se utiliza para que uno o más usuarios compartan o intercambien ideas sobre cómo evitar citaciones por infracciones de estacionamiento, una interfaz de resumen, una interfaz de usuario de ubicación, una base de datos interfaz de acceso, o una combinación de cualquiera de las características descritas. Un experto en la materia apreciaría que existen numerosas interfaces de usuario que podrían utilizarse y se contemplan para su uso con cualquier interfaz de usuario adecuada.

La aplicación puede recuperar la información de un usuario y otros datos almacenados en la base de datos. En algunas implementaciones, la base de datos se puede almacenar de forma remota y la información del usuario se puede recuperar de las bases de datos. La aplicación puede utilizar los datos almacenados en la base de datos para identificar ubicaciones anteriores con datos relacionados con infracciones de estacionamiento.

Una realización ejemplar de la divulgación inventiva, como se describe en el presente documento, no se limita a aplicaciones que implican programas informáticos convencionales o aparatos programables que los ejecutan. Se contempla, por ejemplo, que las realizaciones de la invención podrían incluir un ordenador óptico, un ordenador cuántico, un ordenador analógico o similares. Cada elemento en las ilustraciones de un diagrama de flujo puede representar un paso, o grupo de pasos, de un método implementado por computadora. Además, cada paso puede contener uno o más subpasos. A modo de ilustración, estos pasos (así como todos los demás pasos identificados y descritos anteriormente) se presentan en orden. Puede entenderse que una realización puede contener un orden alternativo de los pasos adaptados a una aplicación particular de una técnica descrita en el presente documento. Todas estas variaciones y modificaciones están destinadas a caer dentro del alcance de esta descripción. La representación y descripción de los pasos en cualquier orden particular no pretende excluir las realizaciones que tienen los pasos en un orden diferente, a menos que lo requiera una aplicación particular, se indique explícitamente o sea claro por el contexto. Los elementos representados en las ilustraciones de los diagramas de flujo y los diagramas de bloques a lo largo de las figuras implican límites lógicos entre los elementos. Sin embargo, de acuerdo con las prácticas de ingeniería de software o hardware, los elementos representados y las funciones de los mismos pueden implementarse como partes de una estructura de software monolítica, como módulos de software independientes o como módulos que emplean rutinas externas, código, servicios, etc., o cualquier combinación de estos. Todas estas implementaciones están dentro del alcance de la presente divulgación.

En vista de lo anterior, ahora se puede apreciar que los elementos de los diagramas de bloques y las ilustraciones de los diagramas de flujo admiten combinaciones de elementos para realizar las funciones especificadas, combinaciones de pasos para realizar las funciones especificadas, medios de instrucción del programa para realizar las funciones especificadas, etc. encendido, ya sea que los pasos se realicen automáticamente o no.

Se puede apreciar que las instrucciones del programa de ordenador pueden incluir código ejecutable por ordenador. Es posible una variedad de lenguajes para expresar instrucciones de programas de computadora, incluidos, entre otros, C, C ++, Java, JavaScript, Python, lenguaje ensamblador, Lisp, etc. Dichos lenguajes pueden incluir lenguajes ensambladores, lenguajes de descripción de hardware, lenguajes de programación de bases de datos, lenguajes de programación funcional, lenguajes de programación imperativos, etc. En algunas realizaciones, las instrucciones del programa de ordenador se pueden almacenar, compilar o interpretar para que se ejecuten en un ordenador, un aparato de procesamiento de datos programable, una combinación heterogénea de procesadores o arquitecturas de procesador, etc.

En algunas realizaciones, una computadora permite la ejecución de instrucciones de programas de computadora que incluyen múltiples programas o subprocesos. Los múltiples programas o subprocesos pueden procesarse más o menos simultáneamente para mejorar la utilización del procesador y facilitar funciones sustancialmente simultáneas. A modo de implementación, todos y cada uno de los métodos, códigos de programa, instrucciones de programa y similares descritos en este documento pueden implementarse en uno o más subprocesos. El uno o más subprocesos pueden generar otros subprocesos, que pueden tener asignadas prioridades asociadas con ellos. En algunas realizaciones, una computadora puede procesar estos hilos basándose en la prioridad o en cualquier otro orden según las instrucciones proporcionadas en el código del programa.

A menos que se indique explícitamente o quede claro en el contexto, los verbos "ejecutar" y "procesar" se usan indistintamente para indicar ejecutar, procesar, interpretar, compilar, ensamblar, vincular, cargar, todas y cada una de las combinaciones de los anteriores o similares. Por lo tanto, las realizaciones que ejecutan o procesan instrucciones de programas de computadora, código ejecutable por computadora o similares pueden actuar adecuadamente sobre las instrucciones o el código en cualquiera y todas las formas que se acaban de describir.

La invención puede describirse en el contexto general de instrucciones ejecutables por computadora, tales como módulos de programa, que se ejecutan por una computadora. Generalmente, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc., que realizan tareas particulares o implementan tipos de datos particulares. El programa informático y los datos pueden fijarse en cualquier forma (p. Ej., Forma de código fuente, forma ejecutable por computadora o una forma intermedia) ya sea de forma permanente o transitoria en un medio de almacenamiento tangible, como un dispositivo de memoria semiconductor (p. Ej., Una RAM, ROM , PROM, EEPROM o RAM programable por flash), un dispositivo de memoria magnética (por ejemplo, un disquete o disco duro fijo), un dispositivo de memoria óptica (por ejemplo, un CD-ROM o DVD), una tarjeta de PC (por ejemplo, una tarjeta PCMCIA ) u otro dispositivo de memoria. El programa informático y los datos pueden fijarse en cualquier forma en una señal que sea transmisible a una computadora utilizando cualquiera de las diversas tecnologías de comunicación, incluidas, entre otras, tecnologías analógicas, tecnologías digitales, tecnologías ópticas, tecnologías inalámbricas, tecnologías de redes. y tecnologías de interconexión de redes. El programa informático y los datos se pueden distribuir en cualquier forma como un medio de almacenamiento extraíble con documentación impresa o electrónica adjunta (por ejemplo, software retractilado o una cinta magnética), precargado con un sistema informático (por ejemplo, en la ROM del sistema o en un disco fijo), o distribuido desde un servidor o tablón de anuncios electrónico a través del sistema de comunicación. Se aprecia que cualquiera de los componentes de software de la divulgación inventiva puede, si se desea, implementarse en forma de ROM (memoria de sólo lectura). Los componentes de software pueden, en general, implementarse en hardware, si se desea, usando técnicas convencionales.

Los miembros del público en general y / o sistemas informáticos pueden utilizar ejemplos de realizaciones de la divulgación inventiva que incluyen, entre otros: profesionales, civiles, vehículos, sitios web, robots, sistemas en vehículos, satélites de posicionamiento global (GPS), y / u otros sistemas. También se pretende que la divulgación de la invención pueda usarse no solo dentro de una aplicación de un dispositivo informático, que puede incluir principalmente teléfonos inteligentes, tabletas, computadoras portátiles, sistemas de vehículos en el tablero, etc., sino que también puede ampliarse para abarcar otros sistemas o servicios que pueden procesar, utilizar y mostrar los datos relacionados con la infracción de estacionamiento, por ejemplo, contribuciones al campo de los servicios de información para empresas de mapas en línea y fabricantes de GPS, fabricantes de teléfonos inteligentes o dispositivos móviles, proveedores de servicios inalámbricos, creadores de aplicaciones y desarrolladores, y desarrolladores y distribuidores de sistemas operativos móviles, sistemas automáticos de vehículos que no requieren un conductor físico en el vehículo, etc.

Las características de una realización ejemplar de la divulgación inventiva pueden proporcionar al usuario una o más notificaciones visuales y / o de audio. Estas una o más notificaciones pueden proporcionarse en el sistema de navegación del vehículo de un usuario, o pueden proporcionarse en un dispositivo informático separado, como un teléfono inteligente o tableta a través de una conexión por cable o inalámbrica. Cualquier función puede integrarse con una plataforma o interfaz de programa de aplicación (API) para proporcionar funciones que no se pueden implementar en determinados dispositivos. En los casos en que los vehículos ya tienen un sistema de navegación en el vehículo, los datos relacionados con la infracción de estacionamiento se pueden proporcionar a un centro de procesamiento de información que procesará los datos que se utilizarán. Una vez que se procesan los datos, pueden pasar por un subsistema para el suministro de información y luego ser entregados al sistema de navegación del vehículo del usuario. En vehículos que no tienen un sistema de navegación en el vehículo, los datos relacionados con la infracción de estacionamiento pueden integrarse en uno o más dispositivos informáticos, que pueden estar habilitados para GPS.

La descripción detallada de las figuras de la presente con las figuras es complementaria para una descripción más detallada de la invención, para explicar la invención para una mejor comprensión. Por consiguiente, las siguientes descripciones y figuras deben considerarse de naturaleza ilustrativa y no restrictiva. En la descripción de las figuras a continuación, se entiende que los detalles descritos anteriormente pueden combinarse o usarse en lugar de atributos similares descritos a continuación y que las figuras se usan solo para ilustrar una realización ejemplar particular de la divulgación inventiva. Debe entenderse que, con el fin de proporcionar figuras simplificadas que sean fáciles de entender, muchos de los detalles anteriores se han omitido de las figuras, sin embargo, se contempla que los detalles descritos anteriormente puedan incorporarse en el enfoque de la descripción a continuación de cualquier manera factible. Las realizaciones ejemplares descritas en este documento son ilustrativas y se pueden introducir muchas variaciones sin apartarse del espíritu de la divulgación. Por ejemplo, los elementos y / o características de diferentes realizaciones ejemplares pueden combinarse entre sí y / o sustituirse entre sí dentro del alcance de esta descripción.

HIGO. 1A es un diagrama esquemático que ilustra un sistema para usar datos de la base de datos para alertar a los conductores de incidentes de infracción de estacionamiento de acuerdo con una realización ejemplar de la divulgación inventiva. El sistema informático central 100 puede ser la entidad informática principal para realizar el método aquí descrito. El sistema informático central 100 se puede implementar en el servidor operativo 101y, a su vez, el sistema informático central 100 permite al servidor operativo 101 para comunicarse interactivamente con otros implementos. El servidor operativo 101 se pueden crear instancias como una o más computadoras servidor y / o máquinas virtuales que pueden trabajar juntas para determinar cuándo los controladores requieren una notificación, y para proporcionar a los controladores la notificación, cuando sea necesario. El servidor operativo 101 puede lograr esto accediendo a los datos relacionados con la infracción de estacionamiento de los conjuntos de datos en la base de datos 102, a través de los medios comunicativos del sistema informático central 100, accediendo periódicamente a los conjuntos de datos en la base de datos 102. Alternativamente, estas tareas pueden ser realizadas por el sistema informático central. 100, que puede acceder al conjunto de datos de infracciones relacionadas con el estacionamiento histórico y en tiempo real en la base de datos 102 utilizando API específicas, por suscripción, o enviando estos datos a medida que están disponibles. El sistema informático central 100 también puede obtener datos relacionados con la infracción de estacionamiento de uno o más usuarios y / u otras entidades. El sistema informático central 100 puede analizar los datos históricos y en tiempo real relacionados con la infracción de estacionamiento para comprender su contenido de una manera estandarizada e inequívoca. El sistema informático central 100 puede generar una notificación separada para un usuario de vehículos comerciales y no comerciales, así como una notificación separada basada en el tipo de vehículo y el tipo de placa del vehículo.

El usuario que proporciona los datos relacionados con la infracción de estacionamiento puede, además de proporcionar los datos, acceder al sistema informático central. 100 pagar multas por infracción de estacionamiento. El sistema informático central 100 puede conectarse a una API de pago de entradas 107 para facilitar este pago, cuando dicha API de pago de entradas 107 lo proporciona la entidad emisora ​​del billete. Un usuario puede hacer uso de los datos relacionados con la infracción de estacionamiento en la base de datos mientras conduce en sus vehículos. 105 interactuando con el sistema informático central 100 a través de un dispositivo informático 106, como un dispositivo móvil que lleva el conductor o una unidad de navegación en el vehículo instalada en el vehículo 105. El dispositivo informático 106 puede comunicarse con una red de estaciones base de comunicaciones 104 y puede interactuar con el sistema informático central 100 a través de Internet u otra conexión inalámbrica 103.

HIGO. 1B es un diagrama que ilustra una base de datos de acuerdo con una realización ejemplar de la divulgación inventiva. Los conjuntos de datos se clasifican según los datos de vehículos no comerciales 108 y datos de vehículos comerciales 113 en la base de datos 102. Conjunto de datos de vehículos no comerciales 108 incluye datos históricos de infracciones de estacionamiento de vehículos no comerciales 109, datos de infracciones de estacionamiento en tiempo real de vehículos no comerciales 110, reglas de estacionamiento de vehículos no comerciales y datos de abreviaturas 111, y otros datos relevantes de vehículos no comerciales 112, como tipos de vehículos, tipos de placas de vehículos y otros datos relacionados con vehículos no comerciales. Conjunto de datos de vehículos comerciales 113 se aplica solo a vehículos comerciales, lo que incluye datos históricos de citaciones de infracciones de estacionamiento de vehículos comerciales 114, datos de citaciones de infracciones de estacionamiento de vehículos comerciales en tiempo real 115, reglas de estacionamiento de vehículos comerciales y datos de abreviaturas 116y otros datos relevantes de vehículos comerciales, que pueden incluir tipos de vehículos, tipos de placas de vehículos y otros datos relacionados con vehículos comerciales 117. Datos almacenados en el conjunto de datos de información del usuario 118 puede incluir datos como el tipo de vehículo, el tipo de placa del vehículo, etc. El conjunto de datos de información del usuario 118 también se puede utilizar para almacenar perfiles de usuario, configuraciones, preferencias, confiabilidad de entrada de usuario para evitar el abuso del sistema.

Una vez que los datos relacionados con la infracción de estacionamiento en la base de datos se estandarizan y no son ambiguos, el sistema informático central 100 puede interpretar que los datos relacionados con la infracción de estacionamiento de la base de datos 102 comprender un conjunto de reglas que parecen regir la aplicación de infracciones de estacionamiento en un área específica. Estas reglas pueden ser funciones matemáticas que toman datos de ubicación, día y hora como entrada, y como salida proporcionan una indicación de si puede haber una infracción de estacionamiento asociada con la ubicación, el día y la hora proporcionados. Estas reglas pueden almacenarse en un conjunto de datos de reglas de estacionamiento y abreviaturas para vehículos no comerciales. 111 y vehículos comerciales 116, donde se utilizan diversas abreviaturas relacionadas con el estacionamiento y jerga particular de ciertas fuentes. El conjunto de datos de vehículos no comerciales 108 y el conjunto de datos de vehículos comerciales 113 se puede recuperar para generar la notificación correspondiente al usuario. El conjunto de datos de reglas y abreviaturas de estacionamiento para vehículos no comerciales 111 y vehículos comerciales 116 pueden recuperarse para ayudar a estandarizar los datos relacionados con las infracciones de estacionamiento. Un conjunto de datos de códigos de infracción 119 puede almacenar códigos de infracción y códigos estatutarios de infracción utilizados por las fuerzas del orden / autoridades y sus definiciones correspondientes.

La base de datos 102 también puede incluir datos relacionados con el clima para conectarse con ubicaciones que contienen datos de infracción. Datos meteorológicos históricos 120 puede conectarse a datos de citas históricas para encontrar información existente sobre la correlación entre ciertas incidencias meteorológicas y las infracciones de estacionamiento. Por ejemplo, durante emergencias por nieve, los lugares de estacionamiento legales designados pueden ser ilegales debido a los servicios de emergencia necesarios para quitar la nieve, etc. Datos meteorológicos históricos 120 puede conectarse con datos de citación histórica de infracciones de estacionamiento de vehículos no comerciales 109 y datos históricos de infracciones de estacionamiento de vehículos comerciales 114 para obtener información de correlación, que se puede utilizar con datos meteorológicos en tiempo real 121 para determinar si se enviará una notificación a un usuario cuya ubicación actual indica que el usuario puede estar sujeto a avisos de estacionamiento relacionados con el clima. Además, todos los datos e información relacionados con el panel de participación del usuario se almacenan dentro de los datos relacionados con el panel de participación del usuario. 122 que comprende el rediseño de los datos de señalización de estacionamiento, así como otros datos relacionados con la señalización de estacionamiento 123 que puede incluir traducciones o rediseños de la señalización, datos relacionados con la infracción de estacionamiento, datos aportados 124 por un usuario que no estaba en la base de datos 102, sugerencias para evitar multas por infracciones de estacionamiento 125, asesoramiento sobre la disputa de una citación por infracciones de estacionamiento 126, así como los datos de calificación de todos los datos presentados al panel 127 que se relaciona con todos los datos o información y las calificaciones que han recibido dentro de los datos del panel de participación del usuario 122. Otros datos 128 relevante para proporcionar una notificación efectiva, como los datos geográficos, también pueden ingresarse en la base de datos 102.

HIGO. 2 es un diagrama esquemático que ilustra un enfoque para alertar a un conductor de acuerdo con una realización ejemplar de la divulgación inventiva. El sistema informático central 100 puede determinar cuándo el conductor del vehículo 105 muestra la intención de estacionamiento mediante la identificación de la velocidad y la ubicación del vehículo. Entonces el sistema informático central 100 puede proporcionar al conductor una notificación de posibles infracciones de estacionamiento cuando el vehículo 105 está dentro del radio predeterminado R 203 de una ubicación, donde se ha realizado la asociación de infracción de estacionamiento para la geolocalización 202 con datos relacionados con infracciones de estacionamiento previas y reglas de estacionamiento almacenadas en la base de datos 102. Como se muestra, el vehículo 105 puede estar viajando por una calle en particular 201. Cuando el sistema informático central 100 detecta la intención de estacionamiento identificando la velocidad actual y la ubicación del vehículo 105, luego sistema informático central 100 puede determinar a partir de los datos relacionados con la infracción de estacionamiento y los datos de las reglas de estacionamiento almacenados en la base de datos 102 si esa ubicación está asociada con infracciones de estacionamiento para la hora y el día actuales y el tipo de usuario al que pertenece el usuario. Si está asociado, cualquier intento de estacionar dentro de este radio predeterminado 203 De ese modo, puede generar una notificación al conductor del vehículo. 105 del sistema informático 100.

HIGO. 3A es un diagrama esquemático que ilustra la interacción de un usuario con el sistema informático central usando un dispositivo móvil cuando un usuario notifica una multa de estacionamiento de acuerdo con una realización ejemplar de la divulgación inventiva. Para los propósitos de esta ilustración, el dispositivo informático 106 se representa como un dispositivo móvil 301 como un teléfono inteligente, sin embargo, debe entenderse que el dispositivo informático 106 no está tan limitado, y puede ser una unidad de información / entretenimiento integrada en un vehículo o cualquier otro dispositivo informático o módulo de comunicaciones.

Cuando se emite una citación a un usuario 302 por una infracción de estacionamiento, el usuario puede usar el dispositivo móvil 301 como un teléfono inteligente para tomar una foto de la cita 302. Como la cita 302 puede incluir información confidencial como el número de identificación del vehículo (VIN) y otros datos personales, como el nombre, la dirección residencial, etc., la información confidencial puede ser redactada 303 ya sea automáticamente por el dispositivo móvil 301 o manualmente por el usuario. Alternativamente, el usuario puede ingresar la cita 302 información manualmente en el dispositivo móvil 301, por ejemplo, seleccionando de varios menús desplegables y / o ingresándolo, y otra información en campos de texto libre. El usuario también puede utilizar el dispositivo móvil. 301 para elegir el tipo de vehículo o el tipo de placa del vehículo, proporcionar una fotografía, un video y / o un mensaje de audio, que pueden ser particularmente útiles cuando el usuario está conduciendo. Como se describió anteriormente, los conductores pueden recibir una notificación al estacionar.

HIGO. 3B es un diagrama de flujo que ilustra cómo se reconoce, se procesa y se carga en el sistema la información del ticket de estacionamiento notificada por el usuario de acuerdo con una realización ejemplar de la divulgación inventiva. Un usuario puede proporcionar información de citación de estacionamiento al panel de participación del usuario S304 que incluye, entre otros, la ubicación precisa de acuerdo con el GPS, la hora en que se recibe la citación de infracción, el motivo de la recepción de la citación de infracción, el tipo de vehículo y el tipo de placa del vehículo, y cualquier otra información adicional relevante, etc. La información de la citación de estacionamiento puede ser ingresada manualmente por el usuario, o el sistema puede realizar el reconocimiento óptico de caracteres (OCR) S305 para obtener la información. Cuando la entrada es manual, el usuario puede ingresar datos de la citación de infracción de estacionamiento recibida seleccionando las opciones disponibles S306. Una vez que se hayan seleccionado todas las opciones y se haya completado otra información relacionada, los datos pueden procesarse S309 dentro del sistema mediante la limpieza, el formateo y la eliminación de duplicados, etc. Cuando esté completo, puede cargarse en la base de datos S310.

Cuando la entrada es por OCR, un usuario puede cargar una fotografía de citación de infracción de estacionamiento S307, que se puede convertir en datos textuales S308 de acuerdo con las técnicas de OCR por un procesador de imagen para ser procesado S309 limpiando, formateando y desduplicando, etc. los datos. Una vez que los datos se procesan por completo, se pueden cargar en la base de datos S310. Por ejemplo, puede haber un tipo de infracción que indique "Taxi estacionado en un área solo para camiones comerciales para cargar / descargar mercancías". El sistema puede reconocer el boleto y cargar los datos en la base de datos con indicadores que marcan el boleto como un boleto emitido solo para vehículos que no son camiones.

HIGO. 4A es un diagrama que ilustra un panel de interacción de la interfaz de usuario (Ticket Sharing & amp Q / A / C) basado en una ubicación específica de acuerdo con una realización ejemplar de la divulgación inventiva. Cuando un usuario accede al panel de participación del usuario dentro del sistema de la aplicación móvil, el usuario puede tener varios paneles dentro del panel de participación del usuario para elegir, como Compartir entradas. 41 y preguntas, respuestas y comentarios 44. Un usuario puede calificar o informar dentro del panel de participación del usuario, comentar, ver las razones, la ubicación de la infracción, los montos de las multas por boletos, la cantidad de boletos emitidos previamente para la ubicación 42. Un usuario también puede agregar su propio comentario 43 a la publicación del panel de participación del usuario al mismo tiempo que envía imágenes, videos, grabaciones de voz, etc. Un usuario también puede elegir y enviar preguntas 45, respuestas 46y comentarios en las Preguntas, Respuestas y Comentarios 44 panel.

HIGO. 4B es un diagrama que ilustra un panel de interacción de la interfaz de usuario (Signos y otros) basado en una ubicación específica de acuerdo con una realización ejemplar de la divulgación inventiva. Cuando un usuario accede al panel de participación del usuario dentro del sistema de la aplicación móvil, el usuario puede tener varios paneles dentro del panel de participación del usuario para elegir, como Signos. 47 y otra 49 no incluido en lo anterior, si lo hubiera. El panel Signos 47 permite al usuario ver el contenido presente en la señalización del estacionamiento 48 informado por un usuario y comentarios de otros usuarios con respecto a sus interpretaciones de los signos. Todos los comentarios o respuestas dentro del panel de participación del usuario están sujetos a calificaciones. Los comentarios o respuestas con las calificaciones más positivas pueden aparecer en la parte superior de la lista. Todos los comentarios y respuestas pueden ser reportados por uno o más usuarios y el administrador puede contratar empleados con experiencia en leyes de tránsito para ayudar a los usuarios a resolver sus inquietudes y brindar respuestas profesionales. El panel de participación del usuario puede incluir Otros 49 panel según lo determine el administrador del sistema. Alternativamente, el usuario puede interactuar con cualquiera de las pantallas del panel de participación del usuario mostrado en las FIGS. 4A & amp 4B usando comandos de voz al decir la opción que le gustaría. Por ejemplo, cuando un usuario elige denunciar una multa de estacionamiento, puede decir la frase "Compartir boletos" o "Compartir boletos" para que aparezca la pantalla Compartir boletos. 41 en el panel de participación del usuario. A partir de ahí, el usuario puede decir "Informe" para activar el mensaje apropiado y así ingresar los motivos, la ubicación, el precio, las fotos relevantes, etc. Una vez que se ingresa toda la información relevante, el usuario puede hablar o decir "Enviar" para enviar la información al sistema informático 100 o puede hablar o decir "Atrás" si el usuario desea cambiar de pantalla. De manera similar, el usuario puede usar comandos de voz para interactuar con las pantallas para otras funciones, como la pantalla de Preguntas, Respuestas y Comentarios. 44, la pantalla Signos 47, o la pantalla Otro 49.

HIGO. 5 es un diagrama de flujo que ilustra un enfoque para procesar datos relacionados con la infracción de estacionamiento en base a datos históricos relacionados con la infracción de estacionamiento y datos relacionados con la infracción de estacionamiento en tiempo real de acuerdo con una realización ejemplar de la divulgación inventiva. Como se mencionó anteriormente, la información relacionada con las infracciones de estacionamiento puede provenir de al menos dos fuentes: conjunto de datos históricos relacionados con la infracción de estacionamiento para vehículos no comerciales 109 y vehículos comerciales 114 y conjunto de datos relacionados con infracciones de estacionamiento en tiempo real para vehículos no comerciales 110 y vehículos comerciales 115. La primera determinación que debe hacerse es si hay datos públicos disponibles S501. Si es así, se puede acceder a las fuentes S502. Estas fuentes pueden ser el gobierno u otros medios de comunicación. Se puede acceder a cualquier fuente que haga que los datos relacionados con la infracción de estacionamiento sean accesibles al público. Este acceso puede ser automático y periódico. Una vez que se ha establecido el acceso, se pueden solicitar datos de violaciones de sitios web y fuentes adicionales S503, y los datos solicitados se pueden recibir de los sitios web y fuentes adicionales 504. Como estos datos pueden estar en una forma dictada por la fuente en particular, los datos de violaciones recibidos pueden analizarse para los campos clave S506, y los campos clave se desambiguan S507.

Como se describió anteriormente, los datos relacionados con las infracciones de estacionamiento pueden provenir de datos privados. Por lo tanto, si no hay datos disponibles públicamente de una agencia pública o publicados en una ubicación accesible públicamente, como un sitio web publicado, entonces se pueden recibir indicios de una violación de un usuario S508. Las marcas informan al sistema de que el usuario ha recibido una citación por una infracción de estacionamiento y, por tanto, puede comenzar el proceso para recopilar datos de citación. Durante este proceso, el sistema puede solicitar al usuario los datos de la cita pertinente, como se describe anteriormente, así como sugerencias sobre cómo evitar una cita S509. A continuación, se determina si se recibe una fotografía o escaneo de la cita S510. Si se recibe esta fotografía o escaneo, se puede realizar el reconocimiento óptico de caracteres (OCR) en la imagen de la fotografía, que puede haber sido redactada S505. Una vez que se ha realizado el OCR, el texto del OCR se puede analizar para los campos clave S506. Después del análisis de los datos OCR o de los datos municipales, los campos clave pueden eliminarse la ambigüedad S507. Puede entenderse que al escribir las citas, la misma ubicación puede describirse de muchas formas diferentes. Por ejemplo, la plaza de aparcamiento puede denominarse por la dirección frente a la que se encuentra o, en algunos casos, frente a ella. Esta dirección también se puede proporcionar de muchas formas diferentes. Por ejemplo, una sola calle puede escribirse como "sexta avenida", "sexta avenida", "Avenida de las Américas", etc. Por lo tanto, la desambiguación convierte todos los datos en un solo formato, por ejemplo, una ubicación puede convertirse en latitud / coordenadas de longitud para que no haya ambigüedad. La desambiguación también se puede utilizar para estandarizar los nombres de las infracciones, por ejemplo, con referencia a las abreviaturas.

Sin embargo, cuando el usuario no proporciona una fotografía o imagen escaneada de la cita, se le puede pedir al usuario que complete los campos clave con los datos pertinentes. S511, por ejemplo, de una manera inequívoca, como seleccionando entre varias opciones o escribiendo manualmente en campos de texto libre, la desambiguación podría no ser necesaria en este caso. En cualquier caso, todos los datos recopilados pueden tener violaciones duplicadas eliminadas S512, limpiado y formateado S513, con ubicaciones geocodificadas S514 para garantizar que la misma instancia de una citación no se cuente dos veces. Esto se puede hacer, por ejemplo, con referencia a un número de citación que sea específico de la agencia emisora. Una vez que los datos se limpian y formatean, se pueden agregar al conjunto de datos de violaciones en la base de datos S515. Si los nuevos datos de infracción pertenecen a un vehículo no comercial, los datos pueden almacenarse en el conjunto de datos de vehículos no comerciales S516. Si los nuevos datos de infracción pertenecen a un vehículo comercial, los datos pueden almacenarse en el conjunto de datos de vehículos comerciales S517. Además, los nuevos datos de infracción pueden agruparse por tipo de vehículo y tipo de placa del vehículo. Los datos pueden incluir reglas vinculadas a la hora, el día y la ubicación para vehículos comerciales y no comerciales para que el sistema determine las reglas de estacionamiento.

HIGO. 6 es un diagrama de flujo que ilustra un método y un sistema para alertar al usuario basándose en los datos en la base de datos de acuerdo con una realización ejemplar de la divulgación inventiva. Las coordenadas de ubicación de los conductores pueden transmitirse al sistema, por ejemplo periódicamente, y el sistema puede recibir estos datos de coordenadas, es decir, la geolocalización, así como información sobre su tipo de vehículo y el tipo de placa del vehículo de los conductores S601. El sistema puede recibir la velocidad actual del conductor y el destino previsto desde el dispositivo informático 106 del usuario S602. El sistema puede entonces consultar al usuario sobre la intención de estacionar S603. Si es así, entonces el sistema puede identificar la hora actual (marca de tiempo) S605. Si no, entonces el sistema puede repetir la consulta de estacionamiento según las preferencias del usuario S604. El sistema también puede continuar recibiendo coordenadas de ubicación del conductor S601 y la velocidad del vehículo y el destino previsto S602 para determinar la intención de estacionamiento del usuario.

En el caso de que se determine que el conductor está estacionando S603, el sistema puede recibir la marca de tiempo del usuario S605, correspondiente a la actualidad. La base de datos 102 puede ser consultado por el sistema con la ubicación actual del conductor y la hora actual y otra información S606 para determinar, si hay alguna infracción de estacionamiento anterior aplicable S607. Cuando se determina que la base de datos no contiene datos de violaciones previas para esa ubicación, entonces el usuario puede recibir una notificación de que el usuario puede estacionar en esa ubicación S609. Cuando se determina que se han producido citaciones en el lugar y son aplicables al tipo de usuario del conductor y al día / hora actual S607, entonces se puede emitir una notificación al usuario para que no estacione S610. Cuando se determina que se han producido citaciones en el lugar a una hora o día aplicable en un futuro próximo (dentro de un período de tiempo para el que es probable que uno esté estacionado) S607, entonces el usuario S puede establecer una notificación de seguimiento opcional.608, para que el sistema pueda notificar al usuario con una notificación S610 en un momento posterior para recordarle al usuario la necesidad de abandonar el lugar de estacionamiento antes de la hora o el día en que se sabe que se han producido infracciones de estacionamiento. El sistema informático central 100 puede obtener calificaciones del usuario S611, en cuanto a si la notificación que recibió es exacta.

HIGO. 7 es un diagrama esquemático que ilustra la composición de un dispositivo informático para informar infracciones de estacionamiento y recibir una notificación con datos relacionados con la infracción de estacionamiento de acuerdo con una realización ejemplar de la divulgación inventiva. El dispositivo informático 106 puede estar en comunicación con todos sus componentes, tangibles o intangibles, y puede incorporar dispositivos internos 700 y dispositivos externos 709. El dispositivo informático 106 puede ser un dispositivo como un dispositivo móvil o un sistema de navegación en el vehículo, y puede utilizar un medio de comunicación para recibir voz, texto y datos 701 para conectarse al sistema informático central 100 como a través de Internet u otras conexiones celulares / inalámbricas 103. El dispositivo informático 106 puede incluir un aparato de determinación de la ubicación o un receptor GPS 702 para la identificación de una ubicación actual. Un procesador de aplicaciones 703 puede utilizarse para ejecutar software en el dispositivo informático. El dispositivo informático también puede contener almacenamiento, como memoria de acceso aleatorio (RAM) o almacenamiento flash. 704. Dispositivos de entrada / salida 705 puede usarse para conectar el dispositivo informático a otros implementos del sistema, especialmente dependiendo de las funcionalidades disponibles de un dispositivo informático. Por ejemplo, es posible que un sistema de navegación en el vehículo no tenga una cámara, mientras que un dispositivo móvil puede tener una cámara incorporada. En este caso, se puede incluir una cámara como entrada para el sistema de navegación en el vehículo. Otros dispositivos de E / S pueden incluir un micrófono y / o un altavoz. El dispositivo informático también puede incluir un aparato de visualización 706, que puede recibir y mostrar una notificación u otros datos a un usuario recibidos desde el sistema informático central 100. El aparato de visualización 706 puede ser, por ejemplo, una pantalla táctil electrónica. El dispositivo informático también puede comunicarse con un mecanismo de reloj interno. 707 para determinar el tiempo presente. Un acelerómetro o un velocímetro 708 también puede estar en comunicación con el dispositivo móvil, que puede medir velocidad, aceleración o cambios de dirección. Dispositivos externos 709 también puede conectarse al dispositivo informático, a través de una conexión por cable o inalámbrica. Estos dispositivos externos pueden ser cualquier dispositivo que pueda compensar ciertas funcionalidades faltantes de cualquier dispositivo informático determinado, ya sea un dispositivo móvil como una tableta o teléfono inteligente o un sistema de navegación en el vehículo u otro dispositivo informático, etc.

HIGO. 8 muestra la composición física de un servidor operativo remoto 101 que puede implementar un método y sistema de la divulgación inventiva de acuerdo con una realización ejemplar. El sistema y el método de la presente divulgación pueden implementarse en forma de una aplicación de software que se ejecuta a través de medios de conectividad de un sistema informático central, por ejemplo, un mainframe, computadora personal (PC), computadora de mano, servidor, etc. La aplicación de software puede almacenarse en un medio de grabación accesible localmente por el sistema informático central y accesible a través de una conexión cableada o inalámbrica a una red, por ejemplo, una red de área local o Internet.

El servidor operativo 101 referido generalmente como servidor que puede incluir, por ejemplo, una unidad central de procesamiento (CPU) 801, una unidad de memoria 804, una interfaz de impresora 810, unidades de visualización 811, un controlador de transmisión de datos de la red de área local (LAN) 805, una interfaz LAN 806, un controlador de red 803 conectado a una red telefónica pública conmutada (PSTN), un bus interno 802y uno o más dispositivos de entrada 809, por ejemplo, un teclado, un mouse, etc. Como se muestra, el sistema puede estar conectado a un dispositivo de almacenamiento de datos, por ejemplo, un disco duro 808 a través de un enlace 807.

HIGO. 9 es un diagrama esquemático que ilustra un sistema y método para que un dispositivo informático se conecte con la base de datos del sistema. 102 a través del sistema informático central 100 y recibir una notificación correspondiente a vehículos comerciales de acuerdo con una realización ejemplar de la divulgación inventiva. Una combinación de datos en la base de datos para generar una notificación para vehículos comerciales. 901 puede incluir el conjunto de datos de vehículos comerciales 113, conjunto de datos de información del usuario 118, conjunto de datos del código de infracción 119y otros datos relevantes 128. El dispositivo informático 106 se conecta al sistema informático central 100, que a su vez, se conecta a la combinación de datos en la base de datos para generar una notificación para vehículos comerciales 901, está configurado para integrarse con una API de mapas electrónicos interactivos 902, como la API de Google Maps ©, así como recibir y mostrar una notificación relacionada con el tipo de usuario del usuario. La notificación puede ser específica para un vehículo comercial, donde la notificación es específicamente relevante en su información. La información contenida en una notificación 903 puede basarse en datos específicos de la combinación de datos para vehículos comerciales 901, ya que la notificación puede emitirse de forma selectiva en función del tipo de usuario del usuario, además en función del tipo de vehículo y el tipo de lugar del vehículo. Esta notificación se puede enviar de dos formas: visualmente 904 y / o por voz 905.

En una forma de realización, el dispositivo informático remoto 106 puede ser un dispositivo que permite a un usuario interactuar con el sistema informático 100 al proporcionar un dispositivo de respuesta de voz interactiva (IVR) donde el usuario puede ingresar datos o hacer selecciones a través de comandos de voz. El usuario puede hablar en el dispositivo informático 106 para proporcionar información, realizar cambios o interactuar de otro modo con todas las funciones del sistema. Por ejemplo, un usuario puede decir "Desactive las notificaciones" para evitar que el sistema envíe notificaciones que se hayan vuelto demasiado numerosas. Las funcionalidades dentro del sistema de la aplicación móvil pueden integrarse con API de terceros para proporcionar capacidades de voz a texto. Los usuarios que utilizan la función de voz a texto pueden grabar su voz hablando por el micrófono del dispositivo informático. 106, para que el sistema pueda cambiar cualquier comando de voz o entrada a un texto equivalente dentro de la aplicación móvil. En consecuencia, es posible que los usuarios no tengan que ingresar información manualmente y pueden enviar información al sistema simplemente hablando. Todas las funciones de la aplicación móvil, como las notificaciones y el panel de participación del usuario, pueden estar disponibles en diferentes idiomas que el usuario puede cambiar. El sistema puede utilizar un servicio y / o API de terceros, o el administrador del sistema puede contratar profesionales para traducir el contenido a diferentes idiomas o proporcionar explicaciones en un inglés sencillo. Puede haber otras funcionalidades que permitan que la aplicación se integre con otras API para proporcionar capacidades de voz a texto. Los usuarios que utilizan esta función pueden grabar su voz hablando en un dispositivo informático 106, que el sistema puede cambiar a un texto equivalente dentro de la aplicación. En consecuencia, es posible que los usuarios no tengan que ingresar información manualmente y pueden ingresar información oralmente. Tanto las notificaciones escritas como las orales pueden estar disponibles en una variedad de idiomas y pueden cambiarse en las preferencias del usuario. Los usuarios también pueden proporcionar traducciones que están sujetas a calificaciones, a cambio de recompensas.

HIGO. 10 es un diagrama esquemático que ilustra un sistema y método para que un dispositivo informático se conecte con la base de datos del sistema. 102 a través del sistema informático central 100 y recibir una notificación correspondiente a vehículos no comerciales de acuerdo con una realización ejemplar de la divulgación inventiva. Una combinación de datos en la base de datos para generar una notificación para vehículos no comerciales 1000 puede incluir el conjunto de datos de vehículos no comerciales 108, conjunto de datos de información del usuario 118, conjunto de datos del código de infracción 119y otros datos relevantes 128, que puede usarse para generar una notificación para un vehículo no comercial a través del sistema informático central 100. El dispositivo informático 106 se conecta al sistema informático central 100, que a su vez, se conecta a la combinación de datos en la base de datos para generar una notificación para vehículos no comerciales 1000. El dispositivo informático 106 puede configurarse para integrarse con una API de mapa electrónico interactivo 902, como la API de Google Maps ©, además de estar configurado para recibir y mostrar una notificación. La información contenida en una notificación 1001 puede basarse en datos específicos de la base de datos para vehículos no comerciales 1000, ya que la notificación puede emitirse de forma selectiva en función del tipo de usuario del usuario y, además, en función del tipo de vehículo y el tipo de placa del vehículo. Esta notificación 1001 puede entregarse de dos formas: visualmente 904 y / o por voz 905.

HIGO. 11 es un diagrama esquemático que ilustra un sistema para usar la base de datos para alertar a los conductores de incidentes de infracción de estacionamiento a través de un dispositivo informático de acuerdo con una realización ejemplar de la divulgación inventiva. El dispositivo informático 106 puede comunicarse con una red de estaciones base de comunicaciones 104 y puede interactuar con el sistema informático central 100 a través de Internet u otras conexiones inalámbricas 103. El servidor operativo 101 se puede crear una instancia como una o más computadoras servidor y / o máquinas virtuales que pueden funcionar junto con los medios de comunicación del sistema informático central 100 para recopilar los datos relacionados con la infracción de estacionamiento de una pluralidad de fuentes, para determinar cuándo los conductores justifican una notificación y para proporcionar a los conductores la notificación. El servidor operativo 101 puede lograr esto accediendo a datos relacionados con infracciones de estacionamiento de conjuntos de datos en la base de datos 102. El sistema informático central 100 puede consultar periódicamente los conjuntos de datos en la base de datos 102. Alternativamente, el sistema informático central 100 puede acceder a datos relacionados con la infracción de estacionamiento en la base de datos 102 utilizando API específicas, por suscripción, o enviando estos datos a medida que están disponibles. El dispositivo informático 106 se puede instalar en el vehículo 105 o puede ser un dispositivo móvil de un usuario. El dispositivo informático 106 puede conectarse con sus dispositivos internos 700 y dispositivos externos 709 en comunicación con él para comunicarse con el sistema informático central 100 para transmitir datos como la hora, la fecha, la ubicación, etc., recibir una notificación, procesar y mostrar esa notificación al usuario. El sistema informático central 100 puede generar la notificación para un usuario de vehículo no comercial y un usuario de vehículo comercial por separado.

HIGO. 12 es un diagrama de flujo que ilustra el proceso de calificación de los datos relacionados con la infracción de estacionamiento o una notificación enviada al panel de participación del usuario de acuerdo con una realización ejemplar de la divulgación inventiva, y cómo esas calificaciones de los datos afectan los datos dentro de la base de datos. 102. El primer paso en este proceso es que el usuario envíe datos relacionados con la infracción de estacionamiento al panel de participación del usuario S1200. Estos datos relacionados con la infracción de estacionamiento pueden incluir un rediseño de la señalización del estacionamiento con respecto a la traducción a un idioma diferente o la aclaración del contenido, una sugerencia sobre cómo evitar una citación por infracción de estacionamiento, etc. Esa información luego es calificada por otros usuarios, dependiendo de su precisión S1201. El sistema recopila y utiliza las calificaciones de los usuarios (positivas y negativas) para clasificar los datos relacionados con la infracción de estacionamiento aportados1202. Si algún usuario califica negativamente los datos relacionados con la infracción de estacionamiento presentados en cuanto a su precisión, ese usuario tiene la opción de proporcionar pruebas de por qué los datos relacionados con la infracción de estacionamiento pueden ser incorrectos1203. El sistema puede recopilar calificaciones hasta que se determine que las calificaciones positivas han alcanzado un número predeterminado S1204. Si el número de calificaciones no ha alcanzado el número predeterminado, el sistema puede continuar recopilando calificaciones de otros usuarios S1201. Si el número de calificaciones positivas ha alcanzado un número predeterminado, entonces los datos relacionados con la infracción de estacionamiento aportados pueden usarse para corregir, actualizar y complementar la base de datos en consecuencia S1205. Por lo tanto, corregir, actualizar y complementar la base de datos puede ser a partir de calificaciones positivas o negativas. Las calificaciones positivas pueden usarse para reemplazar o reforzar los datos en la base de datos, y las calificaciones negativas pueden usarse para identificar o invalidar datos inexactos. Una vez en la base de datos, los datos relacionados con la infracción de estacionamiento que contribuyeron pueden incorporarse en una notificación relevante con respecto a los datos relacionados con la infracción de estacionamiento S1206. Por ejemplo, si los datos relacionados con la infracción de estacionamiento presentados al panel de participación del usuario fueron una sugerencia sobre cómo evitar recibir una citación de infracción de estacionamiento en una ubicación en particular, esa sugerencia o sus datos pueden incluirse dentro de la notificación que sea relevante para esa ubicación y / o tiempo y que posteriormente se genera y se emite S1207 a un usuario aplicable.

HIGO. 13 es un diagrama de flujo que ilustra un proceso circular de calificación de una notificación para corregir, actualizar y complementar los datos relacionados con la infracción de estacionamiento dentro de la base de datos 102 de acuerdo con una realización ejemplar de la divulgación inventiva. Una vez que se identifica la intención de estacionamiento de un usuario, el sistema puede utilizar los datos relacionados con la infracción de estacionamiento contenidos en la base de datos. 102, para generar y emitir una notificación que advierte al usuario sobre una posible infracción de estacionamiento, S1207. Esta notificación puede basarse en parte en los datos relacionados con la infracción de estacionamiento de una fuente de información, o puede basarse en parte en los datos relacionados con la infracción de estacionamiento de una presentación al panel de participación del usuario que recibió suficientes calificaciones para ser incorporadas en una notificación. En cualquier caso, esta información permite al usuario estacionar conociendo las reglas de estacionamiento que se aplican a la ubicación de estacionamiento actual. Después de haber recibido una notificación, el usuario puede calificar la notificación y puede juzgar o comentar si la notificación fue precisa S1301. Si el usuario califica la notificación positivamente, por ejemplo, que la notificación fue precisa, el sistema puede registrar la calificación positiva del usuario S1302. En consecuencia, los datos precisos que conducen a una notificación precisa pueden reforzarse y mantenerse en su lugar. Si el usuario califica la notificación negativamente, por ejemplo, que la notificación fue inexacta, el usuario puede proporcionar una prueba de por qué la notificación fue inexacta S1303 Se puede otorgar una calificación negativa a una notificación cuando, por ejemplo, las prohibiciones de estacionamiento vigentes para una ubicación particular son de hecho diferentes de las citadas en la notificación, tales como información incorrecta sobre el horario o el día de la semana. En el caso de que la notificación no refleje con precisión las reglas de estacionamiento, un usuario enviaría una imagen de la señal de estacionamiento u otro tipo de evidencia como prueba de la inexactitud de esa notificación en esa situación. Luego, el sistema registra la calificación negativa S de ese usuario1302. Las calificaciones se registran y recopilan hasta que un determinado tipo de calificación, en este caso, calificaciones positivas o negativas, alcanza un número predeterminado S1304. Si el número de calificaciones positivas alcanza un número predeterminado, entonces se puede implementar una recompensa monetaria o no monetaria para el usuario relevante S1305, quien presentó por primera vez los datos relacionados con la infracción de estacionamiento contenidos en la notificación calificada. Dado que la calificación negativa está respaldada por pruebas, las calificaciones negativas, una vez que alcanzan un número predeterminado, se pueden utilizar para corregir, actualizar y complementar S1306 los datos relacionados con la infracción de estacionamiento existente dentro de la base de datos 102. Por ejemplo, algunos datos inexactos pueden eliminarse de la base de datos y de la notificación correspondiente. Estos datos corregidos, actualizados y complementados en la base de datos se utilizan para proporcionar al usuario notificaciones nuevas y más precisas. Este es un ciclo, ya que la nueva notificación, que se basa en la base de datos, corregida, actualizada y complementada con calificaciones de los datos relacionados con la infracción de estacionamiento enviados al panel de participación del usuario, también está sujeta a calificaciones cuando se identifica la intención de estacionamiento y una notificación. para una ubicación se emite S1207.

HIGO. 14 es un diagrama que ilustra un sistema para inferir una posible prohibición de estacionamiento basándose en la ubicación de acuerdo con una realización ejemplar de la divulgación inventiva. En esta descripción ejemplar, un usuario 1401 de un tipo de usuario de vehículo no comercial. El usuario 1401 tiene la intención de estacionar en un lugar 1402 lo cual probablemente resulte en una violación de una prohibición de estacionamiento según lo determine el sistema. En la figura se muestra la calle. 1403 que el usuario 1401 tiene la intención de estacionarse. La ubicación de estacionamiento prevista por el usuario 1402 cae entre las otras dos ubicaciones de estacionamiento 1404 y 1405. Localización 1404 está totalmente ocupado por un vehículo comercial 1406 sin embargo, la ocupación de un lugar de estacionamiento 1404 no afecta la capacidad del sistema para inferir una posible prohibición de estacionamiento para la ubicación de estacionamiento prevista por el usuario 1402. En este ejemplo, la base de datos tiene un registro de al menos una citación por infracción de estacionamiento emitida en la ubicación 1404 a un usuario de un vehículo no comercial para estacionarlo en la zona exclusiva de vehículos comerciales. La base de datos también tiene un registro de al menos una citación por infracción de estacionamiento emitida en el lugar. 1405, igualmente a otro usuario de un vehículo no comercial para estacionarse en una zona exclusiva para vehículos comerciales. El sistema, sin embargo, no contiene ningún dato relacionado con la infracción de estacionamiento para la ubicación. 1402. Sin embargo, el sistema puede inferir, basándose en las violaciones existentes en las ubicaciones 1404 y 1405, que el usuario 1401 es probable que reciba una citación por infracción de estacionamiento por estacionarse en el lugar 1402.

HIGO. 15 es un diagrama que ilustra el dispositivo informático de un usuario y una notificación que un usuario puede recibir con respecto a una posible prohibición de estacionamiento basada en la ubicación de acuerdo con una realización ejemplar de la divulgación inventiva. Una vez que el sistema identifica la intención de estacionamiento del usuario, como se muestra en la FIG. 14, el sistema solicita al usuario que confirme su intención de estacionamiento en el dispositivo informático del usuario. 1501 haciendo clic en "sí" o "no" 1502. Cuando el usuario está estacionando y ha hecho clic en "sí", se le puede solicitar al sistema que muestre una notificación al usuario con respecto a estacionar cualquier prohibición de estacionamiento. 1503 basado en la geolocalización actual del usuario 1504. Aunque estas ventanas de diálogo no se ilustran como mostradas dentro del dispositivo informático del usuario 1501, debe entenderse que esta visualización es simplemente con el propósito de proporcionar una ilustración clara, y debe entenderse que estas ventanas de diálogo se mostrarían dentro del dispositivo informático del usuario. 1501.

En esta figura, la ubicación geográfica actual del usuario es 810 W 181st Street. La notificación puede incluir un resumen de información relevante, como qué regla o reglamento de estacionamiento se aplica a la ubicación de estacionamiento prevista por el usuario en el momento en particular, que en este caso es una prohibición con respecto al estacionamiento de vehículos no comerciales en una zona exclusiva para vehículos comerciales. 1505. También se muestra una comparación de las calificaciones recopiladas 1506 para esta notificación. En este ejemplo, se ha demostrado que la notificación del usuario es precisa en un 100 por ciento de las calificaciones de los usuarios e inexacta en un 0 por ciento. Si el usuario desea conocer el razonamiento detrás de esta notificación, el usuario puede hacer clic en "Ver detalles" 1507 para ver detalles relacionados con el motivo por el cual el sistema ha generado esta notificación. Luego, el sistema puede hacer referencia a las citas relevantes emitidas. 1508. En este caso, hay dos citas relevantes, 1509 y 1510, ambas emitidas el día pertinente de la semana a la hora pertinente en 808 W 181st Street y 812 W 181st Street, respectivamente, ambas citaciones se emitieron a usuarios de vehículos no comerciales por estacionarse en una zona exclusiva para vehículos comerciales 1511. Luego, el usuario puede calificar esta notificación y su información relacionada con respecto a su precisión 1513 haciendo clic en el botón "Calificar" 1512 que muestra el panel de clasificación en el dispositivo informático del usuario 1514. De esta forma, el usuario puede otorgar una calificación positiva de "Sí" o una calificación negativa de "No" a la notificación. Al otorgar una calificación negativa, el sistema puede solicitar al usuario que presente una prueba de inexactitud 1515. En este mensaje, el sistema puede pedirle al usuario que envíe o escriba las razones por las que la notificación fue inexacta. 1516 y enviar una imagen de la señalización en cuestión o una citación por infracción de estacionamiento 1517. Debe entenderse que la dirección de la calle utilizada en el ejemplo anterior no pretende ser un reflejo de los puntos de datos reales, ni pretende reflejar las prohibiciones de estacionamiento reales o las situaciones de estacionamiento que se pretende usar con fines ilustrativos.

Alternativamente, el usuario puede interactuar con cualquiera de las pantallas del dispositivo informático. 1501 usando comandos de voz diciendo la opción que le gustaría. Por ejemplo, cuando un usuario elige estacionarse, puede decir o decir "Sí" o "No" cuando se le solicite. A partir de ahí, el sistema puede anunciar verbalmente o notificar al usuario sobre el estado del estacionamiento en o alrededor de la ubicación del usuario (es decir, anunciando de manera audible "Su ubicación: 810 West 181 st Street, Zona de vehículos comerciales solamente, 100% de precisión") . A continuación, el sistema puede pedirle al usuario de forma audible que determine si le gustaría "calificar" más la información, o si le gustaría "ver detalles". Si el usuario opta verbalmente por ver más detalles hablando o diciendo "Ver detalles" o "Más información", el sistema puede mostrar los detalles y anunciarlos de manera audible (p. Ej., Indicando "Citaciones emitidas: 808 west 181 st street, vehículo comercial solo, miércoles 2:30 pm, y 812 west 181 st street, solo vehículos comerciales, miércoles 2:40 pm). Un sistema de respuesta de voz interactivo de este tipo permite al usuario interactuar de manera más rápida y segura con el panel de participación del usuario en el dispositivo informático. 106 para recuperar la información apropiada sobre cómo evitar infracciones de estacionamiento.

HIGO. 16 es un diagrama que ilustra un sistema para inferir una prohibición de estacionamiento basada en el tiempo para un usuario 1601 de acuerdo con una realización ejemplar de la divulgación inventiva. En la figura se muestra la ubicación de estacionamiento prevista por el usuario. 1602. Una vez que la intención de estacionamiento del usuario 1601 se identifica, el sistema puede mostrar automáticamente la señalización de estacionamiento correspondiente a la ubicación 1602 en el dispositivo informático del usuario, ya que el usuario no puede ver una señal 1603 ubicado más abajo en la misma calle, lo que muestra que el estacionamiento está prohibido los martes entre las 9:30 a.m. y las 10 a.m. debido al barrido de la calle. El sistema también puede alertar al usuario de cualquier posible prohibición de estacionamiento basado en inferencias extraídas de los momentos en que se emitieron citaciones de infracción de estacionamiento en el lugar. 1602 y reglas o regulaciones de estacionamiento aplicables al tipo de usuario de ese usuario. En este ejemplo, la base de datos contiene varias infracciones de estacionamiento. 1604, 1605, y 1606, emitido en el lugar 1602 emitido para estacionar durante las horas de barrido de calles, como lo identifica el letrero de estacionamiento 1603.

HIGO. 17 es un diagrama que ilustra una notificación 1701 que un usuario puede recibir con respecto a una posible prohibición de estacionamiento basada en el tiempo de acuerdo con una realización ejemplar de la divulgación inventiva. Por lo tanto, en función de la ubicación de estacionamiento prevista por el usuario y los datos relacionados con la infracción de estacionamiento asociados con la geolocalización del usuario 1702, 130-30 31st Avenue, y el día y la hora actual, martes, 9:41 a. M., El sistema puede emitir una notificación para advertir al usuario que no se estacione en el lugar 1702 porque, según los datos de la base de datos, no se permite estacionarse entre las 9:30 a. m. y las 10 a. m. debido al barrido de calles 1703. Si el usuario tiene curiosidad sobre los detalles de esta notificación, el botón "Ver detalles" está disponible para hacer clic 1704. Cuando el usuario hace clic en el botón, se lo lleva a un panel que muestra la categoría relevante de citas emitidas en la ubicación. 1702. En este caso, la categoría de citaciones aplicables es limpieza de calles. 1705, que es también el motivo de la emisión de estas citaciones. También se muestran los momentos relevantes de cuando se emitieron esas citaciones. 1706 Dado que la base de datos contiene un registro de citaciones de estacionamiento emitidas a las 9:31 a. m., 9:51 a. m. y 9:54 a. m., y la hora actual es a las 9:41 a. m., el sistema puede inferir que el usuario podría recibir una citación por infracción de estacionamiento. por estacionamiento en el lugar 1702 en este momento, 9:41 AM.

Una realización ejemplar de la divulgación inventiva descrita en este documento es ilustrativa, y se pueden introducir muchas variaciones sin apartarse del espíritu de la divulgación. Por ejemplo, los elementos y / o características pueden combinarse entre sí y / o sustituirse entre sí dentro del alcance de esta descripción y las reivindicaciones adjuntas. Además, cualquier elemento descrito en este documento en singular no pretende limitar ese elemento solo al singular. Por ejemplo, "un usuario" o "el usuario" no significa uno y solo un usuario, sino que debe abarcar a uno o más usuarios. Lo mismo es cierto con cualquier otro elemento en este documento a menos que se indique específicamente lo contrario. Además, el término "ejemplar" en este documento se usa para describir un elemento como un ejemplo de la divulgación inventiva, no para describir un elemento como una realización preferida de la presente invención.


MapGuide con pautas de diseño de bases de datos RDBMS - Sistemas de información geográfica

¡Ayude a traducir esta guía!


Aprenda a diseñar sistemas a gran escala.

Preparación para la entrevista de diseño del sistema.

Aprenda a diseñar sistemas a gran escala

Aprender a diseñar sistemas escalables le ayudará a convertirse en un mejor ingeniero.

El diseño del sistema es un tema amplio. Hay un gran cantidad de recursos esparcidos por la web sobre los principios del diseño del sistema.

Este repositorio es un colección organizada de recursos para ayudarlo a aprender a construir sistemas a escala.

Aprenda de la comunidad de código abierto

Este es un proyecto de código abierto que se actualiza continuamente.

Preparación para la entrevista de diseño del sistema

Además de codificar entrevistas, el diseño del sistema es una componente requerido del proceso de entrevista técnica en muchas empresas de tecnología.

Practique las preguntas de la entrevista de diseño de sistemas comunes y comparar tus resultados con soluciones de muestra: discusiones, código y diagramas.

Temas adicionales para la preparación de entrevistas:


Los mazos de tarjetas didácticas de Anki provistos utilizan la repetición espaciada para ayudarlo a retener los conceptos clave del diseño del sistema.

Ideal para usar mientras viaja.

Recurso de codificación: desafíos de codificación interactiva

Buscando recursos que le ayuden a prepararse para el Entrevista de codificación?


Echa un vistazo al repositorio hermano Desafíos de codificación interactiva, que contiene una baraja adicional de Anki:

No dude en enviar solicitudes de extracción para ayudar:

El contenido que necesita un poco de pulido se coloca en desarrollo.

Índice de temas de diseño de sistemas

Resúmenes de varios temas de diseño de sistemas, incluidos los pros y los contras. Todo es una compensación.

Cada sección contiene enlaces a recursos más detallados.


Temas sugeridos para revisar según el cronograma de la entrevista (corto, mediano, largo).

P: Para las entrevistas, ¿necesito saber todo aquí?

R: No, no necesita saber todo aquí para prepararse para la entrevista..

Lo que te pregunten en una entrevista depende de variables como:

  • Cuanta experiencia tienes
  • Cuál es tu experiencia técnica
  • Para qué puestos estás entrevistando
  • Con qué empresas estás entrevistando
  • Suerte

Por lo general, se espera que los candidatos con más experiencia sepan más sobre el diseño de sistemas. Se puede esperar que los arquitectos o líderes de equipo sepan más que los colaboradores individuales. Es probable que las empresas de alta tecnología tengan una o más rondas de entrevistas de diseño.

Comience amplio y profundice en algunas áreas. Es útil saber un poco sobre varios temas clave del diseño de sistemas. Ajuste la siguiente guía en función de su cronograma, experiencia, para qué puestos está entrevistando y con qué empresas está entrevistando.

  • Línea de tiempo corta - Aspirar a amplitud con temas de diseño de sistemas. Practica resolviendo algunos preguntas de entrevista.
  • Línea de tiempo media - Aspirar a amplitud y algo de profundidad con temas de diseño de sistemas. Practica resolviendo muchos preguntas de entrevista.
  • Línea de tiempo larga - Aspirar a amplitud y mas profundidad con temas de diseño de sistemas. Practica resolviendo la mayoría preguntas de entrevista.

Cómo abordar una pregunta de entrevista de diseño de sistema

Cómo abordar una pregunta de entrevista de diseño de sistema.

La entrevista de diseño del sistema es una conversación abierta. Se espera que lo lideres.

Puede utilizar los siguientes pasos para guiar la discusión. Para ayudar a solidificar este proceso, trabaje en la sección Preguntas de la entrevista de diseño del sistema con soluciones utilizando los siguientes pasos.

Paso 1: describir los casos de uso, las restricciones y los supuestos

Reúna los requisitos y alcance el problema. Haga preguntas para aclarar los casos de uso y las limitaciones. Discuta las suposiciones.

  • ¿Quién lo va a utilizar?
  • ¿Cómo lo van a utilizar?
  • ¿Cuántos usuarios hay?
  • ¿Qué hace el sistema?
  • ¿Cuáles son las entradas y salidas del sistema?
  • ¿Cuántos datos esperamos manejar?
  • ¿Cuántas solicitudes por segundo esperamos?
  • ¿Cuál es la proporción de lectura a escritura esperada?

Paso 2: crea un diseño de alto nivel

Esboce un diseño de alto nivel con todos los componentes importantes.

Paso 3: Diseñe los componentes centrales

Sumérjase en los detalles de cada componente principal. Por ejemplo, si se le pidió que diseñara un servicio de acortamiento de URL, analice lo siguiente:

  • Generando y almacenando un hash de la URL completa
      y Base62
  • Colisiones hash
  • SQL o NoSQL
  • Esquema de base de datos
    • Búsqueda de base de datos

    Identificar y abordar los cuellos de botella, dadas las limitaciones. Por ejemplo, ¿necesita lo siguiente para abordar los problemas de escalabilidad?

    Discuta las posibles soluciones y compensaciones. Todo es una compensación. Aborde los cuellos de botella utilizando principios de diseño de sistemas escalables.

    Es posible que se le pida que haga algunas estimaciones a mano. Consulte el Apéndice para obtener los siguientes recursos:

    Fuente (s) y lectura adicional

    Consulte los siguientes enlaces para tener una mejor idea de qué esperar:

    Preguntas de la entrevista de diseño del sistema con soluciones

    Preguntas de entrevistas de diseño de sistemas comunes con ejemplos de discusiones, código y diagramas.

    Soluciones vinculadas al contenido de la carpeta soluciones /.

    Pregunta
    Diseño Pastebin.com (o Bit.ly) Solución
    Diseñe la línea de tiempo y la búsqueda de Twitter (o el feed y la búsqueda de Facebook) Solución
    Diseñar un rastreador web Solución
    Diseño Mint.com Solución
    Diseñar las estructuras de datos para una red social Solución
    Diseñar una tienda de valor clave para un motor de búsqueda Solución
    Diseñar el ranking de ventas de Amazon por función de categoría Solución
    Diseñe un sistema que se adapte a millones de usuarios en AWS Solución
    Agregar una pregunta de diseño del sistema Contribuir

    Diseño Pastebin.com (o Bit.ly)

    Diseñe la línea de tiempo y la búsqueda de Twitter (o el feed y la búsqueda de Facebook)

    Diseñar las estructuras de datos para una red social

    Diseñar una tienda de valor clave para un motor de búsqueda

    Diseñar el ranking de ventas de Amazon por función de categoría

    Diseñe un sistema que se adapte a millones de usuarios en AWS

    Preguntas de entrevista de diseño orientado a objetos con soluciones

    Preguntas comunes de entrevistas de diseño orientado a objetos con ejemplos de discusiones, código y diagramas.

    Soluciones vinculadas al contenido de la carpeta soluciones /.

    Nota: esta sección está en desarrollo

    Pregunta
    Diseña un mapa hash Solución
    Diseñar una caché usada menos recientemente Solución
    Diseñar un centro de llamadas Solución
    Diseña una baraja de cartas Solución
    Diseñar un estacionamiento Solución
    Diseña un servidor de chat Solución
    Diseña una matriz circular Contribuir
    Agregar una pregunta de diseño orientado a objetos Contribuir

    Temas de diseño de sistemas: comience aquí

    Primero, necesitará una comprensión básica de los principios comunes, aprender sobre qué son, cómo se usan y sus pros y contras.

    Paso 1: Revise la conferencia en video de escalabilidad

    • Tópicos cubiertos:
      • Escala vertical
      • Escala horizontal
      • Almacenamiento en caché
      • Balanceo de carga
      • Replicación de la base de datos
      • Particionamiento de la base de datos

      Paso 2: revise el artículo sobre escalabilidad

      A continuación, veremos las compensaciones de alto nivel:

      • Rendimiento vs escalabilidad
      • Latencia vs rendimiento
      • Disponibilidad vs consistencia

      Manten eso en mente todo es una compensación.

      Luego, nos sumergiremos en temas más específicos, como DNS, CDN y balanceadores de carga.

      Rendimiento vs escalabilidad

      Un servicio es escalable si resulta en un aumento rendimiento de forma proporcional a los recursos añadidos. Generalmente, aumentar el rendimiento significa atender más unidades de trabajo, pero también puede ser para manejar unidades de trabajo más grandes, como cuando los conjuntos de datos crecen. 1

      Otra forma de ver el rendimiento frente a la escalabilidad:

      • Si tienes un rendimiento problema, su sistema es lento para un solo usuario.
      • Si tienes un escalabilidad problema, su sistema es rápido para un solo usuario pero lento bajo carga pesada.

      Fuente (s) y lectura adicional

      Latencia es el momento de realizar alguna acción o producir algún resultado.

      Rendimiento es el número de tales acciones o resultados por unidad de tiempo.

      Generalmente, debes apuntar a rendimiento máximo con latencia aceptable.

      Fuente (s) y lectura adicional

      Disponibilidad vs consistencia

      En un sistema informático distribuido, solo puede admitir dos de las siguientes garantías:

      • Consistencia - Cada lectura recibe la escritura más reciente o un error.
      • Disponibilidad - Cada solicitud recibe una respuesta, sin garantía de que contenga la versión más reciente de la información.
      • Tolerancia de partición - El sistema continúa funcionando a pesar de particiones arbitrarias debido a fallas en la red.

      Las redes no son confiables, por lo que deberá admitir la tolerancia de partición. Necesitará hacer una compensación de software entre consistencia y disponibilidad.

      CP: consistencia y tolerancia a la partición

      Esperar una respuesta del nodo particionado puede resultar en un error de tiempo de espera. CP es una buena opción si sus necesidades comerciales requieren lecturas y escrituras atómicas.

      AP: disponibilidad y tolerancia de partición

      Las respuestas devuelven la versión más disponible de los datos disponibles en cualquier nodo, que puede no ser la más reciente. Las escrituras pueden tardar algún tiempo en propagarse cuando se resuelve la partición.

      AP es una buena opción si las necesidades comerciales permiten una consistencia eventual o cuando el sistema necesita continuar funcionando a pesar de los errores externos.

      Fuente (s) y lectura adicional

      Con varias copias de los mismos datos, nos enfrentamos a opciones sobre cómo sincronizarlos para que los clientes tengan una vista coherente de los datos. Recuerde la definición de coherencia del teorema de CAP: cada lectura recibe la escritura más reciente o un error.

      Después de una escritura, las lecturas pueden verlo o no. Se adopta un enfoque de mejor esfuerzo.

      Este enfoque se ve en sistemas como Memcached. La consistencia débil funciona bien en casos de uso en tiempo real como VoIP, video chat y juegos multijugador en tiempo real. Por ejemplo, si está en una llamada telefónica y pierde la recepción durante unos segundos, cuando recupera la conexión no escucha lo que se dijo durante la pérdida de la conexión.

      Después de una escritura, las lecturas eventualmente lo verán (generalmente en milisegundos). Los datos se replican de forma asincrónica.

      Este enfoque se ve en sistemas como DNS y correo electrónico. La coherencia eventual funciona bien en sistemas de alta disponibilidad.

      Después de una escritura, lee lo verá. Los datos se replican de forma sincrónica.

      Este enfoque se ve en sistemas de archivos y RDBMS. La coherencia sólida funciona bien en sistemas que necesitan transacciones.

      Fuente (s) y lectura adicional

      Hay dos patrones complementarios para admitir la alta disponibilidad: falla y replicación.

      Con la conmutación por error activo-pasivo, los latidos se envían entre el servidor activo y pasivo en espera. Si se interrumpe el latido, el servidor pasivo se hace cargo de la dirección IP del activo y reanuda el servicio.

      La duración del tiempo de inactividad está determinada por si el servidor pasivo ya se está ejecutando en modo de espera "activo" o si debe iniciarse desde el modo de espera "frío". Solo el servidor activo maneja el tráfico.

      La conmutación por error activa-pasiva también se puede denominar conmutación por error maestro-esclavo.

      En activo-activo, ambos servidores gestionan el tráfico, repartiendo la carga entre ellos.

      Si los servidores están orientados al público, el DNS debería conocer las direcciones IP públicas de ambos servidores. Si los servidores son internos, la lógica de la aplicación debería conocer ambos servidores.

      La conmutación por error activo-activo también se puede denominar conmutación por error maestro-maestro.

      • La conmutación por error agrega más hardware y complejidad adicional.
      • Existe la posibilidad de pérdida de datos si el sistema activo falla antes de que los datos recién escritos se puedan replicar en el pasivo.

      Maestro-esclavo y maestro-maestro

      Este tema se analiza con más detalle en la sección Base de datos:

      La disponibilidad a menudo se cuantifica por tiempo de actividad (o tiempo de inactividad) como un porcentaje del tiempo que el servicio está disponible. La disponibilidad generalmente se mide en número de nueves: un servicio con una disponibilidad del 99,99% se describe como que tiene cuatro nueves.

      Disponibilidad del 99,9%: tres nueves

      Duración Tiempo de inactividad aceptable
      Tiempo de inactividad por año 8h 45min 57s
      Tiempo de inactividad por mes 43 min 49,7 s
      Tiempo de inactividad por semana 10 min 4,8 s
      Tiempo de inactividad por día 1 min 26,4 s

      Disponibilidad del 99,99%: cuatro nueves

      Duración Tiempo de inactividad aceptable
      Tiempo de inactividad por año 52 min 35,7 s
      Tiempo de inactividad por mes 4m 23s
      Tiempo de inactividad por semana 1 min 5 s
      Tiempo de inactividad por día 8,6 s

      Disponibilidad en paralelo vs en secuencia

      Si un servicio consta de varios componentes propensos a fallar, la disponibilidad general del servicio depende de si los componentes están en secuencia o en paralelo.

      La disponibilidad general disminuye cuando dos componentes con disponibilidad & lt 100% están en secuencia:

      Si tanto Foo como Bar tuvieran cada uno una disponibilidad del 99,9%, su disponibilidad total en secuencia sería del 99,8%.

      La disponibilidad general aumenta cuando dos componentes con disponibilidad & lt 100% están en paralelo:

      Si tanto Foo como Bar tuvieran cada uno una disponibilidad del 99,9%, su disponibilidad total en paralelo sería del 99,9999%.

      Un sistema de nombres de dominio (DNS) traduce un nombre de dominio como www.example.com a una dirección IP.

      El DNS es jerárquico, con algunos servidores autorizados en el nivel superior. Su enrutador o ISP proporciona información sobre los servidores DNS con los que debe comunicarse al realizar una búsqueda. Los servidores DNS de nivel inferior almacenan en caché las asignaciones, que podrían volverse obsoletas debido a retrasos en la propagación del DNS. Los resultados de DNS también pueden ser almacenados en caché por su navegador o sistema operativo durante un cierto período de tiempo, determinado por el tiempo de vida (TTL).

      • Registro NS (servidor de nombres) - Especifica los servidores DNS para su dominio / subdominio.
      • Registro MX (intercambio de correo) - Especifica los servidores de correo para aceptar mensajes.
      • Un registro (dirección) - Señala un nombre a una dirección IP.
      • CNAME (canónico) - Apunta un nombre a otro nombre o CNAME (ejemplo.com a www.example.com) oa un registro A.

      Servicios como CloudFlare y Route 53 brindan servicios de DNS administrados. Algunos servicios DNS pueden enrutar el tráfico a través de varios métodos:

        • Evite que el tráfico vaya a los servidores en mantenimiento
        • Equilibrio entre diferentes tamaños de clústeres
        • Pruebas A / B
        • El acceso a un servidor DNS presenta un ligero retraso, aunque se mitiga con el almacenamiento en caché descrito anteriormente.
        • La administración del servidor DNS puede ser compleja y generalmente la administran gobiernos, ISP y grandes empresas.
        • Los servicios DNS han sido objeto recientemente de un ataque DDoS, lo que impide que los usuarios accedan a sitios web como Twitter sin conocer la (s) dirección (es) IP de Twitter.

        Fuente (s) y lectura adicional

        Una red de entrega de contenido (CDN) es una red distribuida globalmente de servidores proxy, que sirve contenido desde ubicaciones más cercanas al usuario. Generalmente, los archivos estáticos como HTML / CSS / JS, fotos y videos se sirven desde CDN, aunque algunos CDN como CloudFront de Amazon admiten contenido dinámico. La resolución de DNS del sitio le dirá a los clientes con qué servidor contactar.

        Ofrecer contenido desde CDN puede mejorar significativamente el rendimiento de dos maneras:

        • Los usuarios reciben contenido de los centros de datos cercanos
        • Sus servidores no tienen que atender las solicitudes que cumple la CDN

        Los CDN push reciben contenido nuevo cada vez que se producen cambios en su servidor. Usted asume toda la responsabilidad de proporcionar contenido, subirlo directamente a la CDN y reescribir las URL para que apunten a la CDN. Puede configurar cuándo caduca el contenido y cuándo se actualiza. El contenido se carga solo cuando es nuevo o modificado, lo que minimiza el tráfico, pero maximiza el almacenamiento.

        Los sitios con una pequeña cantidad de tráfico o los sitios con contenido que no se actualiza a menudo funcionan bien con las CDN push. El contenido se coloca en los CDN una vez, en lugar de volver a extraerse a intervalos regulares.

        Las CDN de extracción obtienen contenido nuevo de su servidor cuando el primer usuario solicita el contenido. Dejas el contenido en tu servidor y reescribes las URL para que apunten a la CDN. Esto da como resultado una solicitud más lenta hasta que el contenido se almacena en caché en la CDN.

        Un tiempo de vida (TTL) determina cuánto tiempo se almacena en caché el contenido. Los CDN de extracción minimizan el espacio de almacenamiento en el CDN, pero pueden crear tráfico redundante si los archivos caducan y se extraen antes de que realmente hayan cambiado.

        Los sitios con mucho tráfico funcionan bien con las CDN de extracción, ya que el tráfico se distribuye de manera más uniforme y solo queda contenido solicitado recientemente en la CDN.

        • Los costos de CDN pueden ser significativos dependiendo del tráfico, aunque esto debe sopesarse con los costos adicionales en los que incurriría si no usa un CDN.
        • El contenido puede quedar obsoleto si se actualiza antes de que expire el TTL.
        • Las CDN requieren cambiar las URL para que el contenido estático apunte a la CDN.

        Fuente (s) y lectura adicional

        Los equilibradores de carga distribuyen las solicitudes entrantes de los clientes a los recursos informáticos, como los servidores de aplicaciones y las bases de datos. En cada caso, el equilibrador de carga devuelve la respuesta del recurso informático al cliente correspondiente. Los balanceadores de carga son efectivos en:

        • Evitar que las solicitudes vayan a servidores en mal estado
        • Evitar la sobrecarga de recursos
        • Ayudando a eliminar un solo punto de falla

        Los equilibradores de carga se pueden implementar con hardware (caro) o con software como HAProxy.

        Los beneficios adicionales incluyen:

        • Terminación SSL - Descifre las solicitudes entrantes y cifre las respuestas del servidor para que los servidores backend no tengan que realizar estas operaciones potencialmente costosas
          • Elimina la necesidad de instalar certificados X.509 en cada servidor.

          Para protegerse contra fallas, es común configurar múltiples balanceadores de carga, ya sea en modo activo-pasivo o activo-activo.

          Los balanceadores de carga pueden enrutar el tráfico según varias métricas, que incluyen:

          Los balanceadores de carga de la capa 4 miran la información en la capa de transporte para decidir cómo distribuir las solicitudes. Generalmente, esto involucra la fuente, las direcciones IP de destino y los puertos en el encabezado, pero no el contenido del paquete. Los balanceadores de carga de capa 4 envían paquetes de red hacia y desde el servidor ascendente, realizando la traducción de direcciones de red (NAT).

          Los balanceadores de carga de la capa 7 observan la capa de la aplicación para decidir cómo distribuir las solicitudes. Esto puede involucrar el contenido del encabezado, el mensaje y las cookies. Los equilibradores de carga de capa 7 terminan el tráfico de red, leen el mensaje, toman una decisión de equilibrio de carga y luego abren una conexión al servidor seleccionado. Por ejemplo, un equilibrador de carga de capa 7 puede dirigir el tráfico de video a servidores que alojan videos mientras dirige el tráfico de facturación de usuarios más sensible a servidores con seguridad reforzada.

          A costa de la flexibilidad, el equilibrio de carga de la capa 4 requiere menos tiempo y recursos informáticos que la capa 7, aunque el impacto en el rendimiento puede ser mínimo en el hardware básico moderno.

          Los balanceadores de carga también pueden ayudar con el escalado horizontal, mejorando el rendimiento y la disponibilidad. La ampliación mediante el uso de máquinas básicas es más rentable y da como resultado una mayor disponibilidad que la ampliación de un solo servidor en un hardware más caro, denominado Escala vertical. También es más fácil contratar talentos que trabajan en hardware básico que para sistemas empresariales especializados.

          Desventaja (s): escala horizontal

          • El escalado horizontal introduce complejidad e implica la clonación de servidores.
            • Los servidores deben ser apátridas: no deben contener ningún dato relacionado con el usuario, como sesiones o imágenes de perfil.
            • Las sesiones se pueden almacenar en un almacén de datos centralizado, como una base de datos (SQL, NoSQL) o una caché persistente (Redis, Memcached)

            Desventaja (s): equilibrador de carga

            • El equilibrador de carga puede convertirse en un cuello de botella de rendimiento si no tiene suficientes recursos o si no está configurado correctamente.
            • La introducción de un equilibrador de carga para ayudar a eliminar un solo punto de falla da como resultado una mayor complejidad.
            • Un solo balanceador de carga es un solo punto de falla, la configuración de múltiples balanceadores de carga aumenta aún más la complejidad.

            Fuente (s) y lectura adicional

            Un proxy inverso es un servidor web que centraliza los servicios internos y proporciona interfaces unificadas al público. Las solicitudes de los clientes se envían a un servidor que puede cumplirlas antes de que el proxy inverso devuelva la respuesta del servidor al cliente.

            Los beneficios adicionales incluyen:

            • Seguridad incrementada - Ocultar información sobre servidores back-end, listas negras de direcciones IP, limitar el número de conexiones por cliente
            • Mayor escalabilidad y flexibilidad - Los clientes solo ven la IP del proxy inverso, lo que le permite escalar servidores o cambiar su configuración
            • Terminación SSL - Descifre las solicitudes entrantes y cifre las respuestas del servidor para que los servidores backend no tengan que realizar estas operaciones potencialmente costosas
              • Elimina la necesidad de instalar certificados X.509 en cada servidor.
              • HTML / CSS / JS
              • Fotos
              • Videos
              • Etc.

              Balanceador de carga vs proxy inverso

              • La implementación de un equilibrador de carga es útil cuando tiene varios servidores. A menudo, los equilibradores de carga enrutan el tráfico a un conjunto de servidores que cumplen la misma función.
              • Los proxies inversos pueden ser útiles incluso con un solo servidor web o servidor de aplicaciones, lo que abre los beneficios descritos en la sección anterior.
              • Soluciones como NGINX y HAProxy pueden admitir tanto el proxy inverso de capa 7 como el equilibrio de carga.

              Desventaja (s): proxy inverso

              • La introducción de un proxy inverso aumenta la complejidad.
              • Un solo proxy inverso es un solo punto de falla, la configuración de múltiples proxies inversos (es decir, una conmutación por error) aumenta aún más la complejidad.

              Fuente (s) y lectura adicional

              Separar la capa web de la capa de aplicación (también conocida como capa de plataforma) le permite escalar y configurar ambas capas de forma independiente. Agregar una nueva API da como resultado agregar servidores de aplicaciones sin necesariamente agregar servidores web adicionales. El principio de responsabilidad única aboga por servicios pequeños y autónomos que trabajen juntos. Los equipos pequeños con servicios pequeños pueden planificar de manera más agresiva para un crecimiento rápido.

              Los trabajadores de la capa de aplicación también ayudan a habilitar el asincronismo.

              En relación con esta discusión están los microservicios, que pueden describirse como un conjunto de servicios modulares pequeños, implementables de forma independiente. Cada servicio ejecuta un proceso único y se comunica a través de un mecanismo ligero y bien definido para cumplir un objetivo comercial. 1

              Pinterest, por ejemplo, podría tener los siguientes microservicios: perfil de usuario, seguidor, feed, búsqueda, carga de fotos, etc.

              Los sistemas como Consul, Etcd y Zookeeper pueden ayudar a que los servicios se encuentren entre sí al realizar un seguimiento de los nombres registrados, las direcciones y los puertos. Las verificaciones de estado ayudan a verificar la integridad del servicio y, a menudo, se realizan mediante un punto final HTTP. Tanto Consul como Etcd tienen un almacén de valores clave integrado que puede ser útil para almacenar valores de configuración y otros datos compartidos.

              Desventaja (s): capa de aplicación

              • Agregar una capa de aplicación con servicios poco acoplados requiere un enfoque diferente desde el punto de vista de la arquitectura, las operaciones y el proceso (frente a un sistema monolítico).
              • Los microservicios pueden agregar complejidad en términos de implementaciones y operaciones.

              Fuente (s) y lectura adicional

              Sistema de gestión de bases de datos relacionales (RDBMS)

              Una base de datos relacional como SQL es una colección de elementos de datos organizados en tablas.

              ÁCIDO es un conjunto de propiedades de transacciones de bases de datos relacionales.

              • Atomicidad - Cada transacción es todo o nada
              • Consistencia - Cualquier transacción traerá la base de datos de un estado válido a otro
              • Aislamiento - La ejecución de transacciones al mismo tiempo tiene los mismos resultados que si las transacciones se ejecutaran en serie.
              • Durabilidad - Una vez que se ha comprometido una transacción, seguirá siéndolo

              Existen muchas técnicas para escalar una base de datos relacional: replicación maestro-esclavo, replicación maestro-maestro, federación, fragmentación, desnormalización, y Ajuste de SQL.

              El maestro sirve lecturas y escrituras, replicando escrituras a uno o más esclavos, que sirven solo lecturas. Los esclavos también pueden replicarse en esclavos adicionales en forma de árbol. Si el maestro se desconecta, el sistema puede continuar funcionando en modo de solo lectura hasta que un esclavo sea promovido a maestro o se aprovisione un nuevo maestro.

              Desventaja (s): replicación maestro-esclavo

              • Se necesita lógica adicional para promover un esclavo a un maestro.
              • Consulte Desventaja (s): replicación de puntos relacionados con ambas cosas amo-esclavo y amo-amo.

              Ambos maestros sirven lecturas y escrituras y se coordinan entre sí en las escrituras. Si alguno de los maestros deja de funcionar, el sistema puede seguir funcionando con lecturas y escrituras.

              Desventaja (s): replicación maestro-maestro

              • Necesitará un equilibrador de carga o deberá realizar cambios en la lógica de su aplicación para determinar dónde escribir.
              • La mayoría de los sistemas maestro-maestro son poco consistentes (violan ACID) o tienen una mayor latencia de escritura debido a la sincronización.
              • La resolución de conflictos entra en juego a medida que se agregan más nodos de escritura y aumenta la latencia.
              • Consulte Desventaja (s): replicación de puntos relacionados con ambas cosas amo-esclavo y amo-amo.
              • Existe la posibilidad de pérdida de datos si el maestro falla antes de que los datos recién escritos se puedan replicar en otros nodos.
              • Las escrituras se reproducen en las réplicas de lectura. Si hay muchas escrituras, las réplicas de lectura pueden atascarse con la reproducción de escrituras y no pueden hacer tantas lecturas.
              • Cuantos más esclavos leídos, más tienes que replicar, lo que conduce a un mayor retraso de replicación.
              • En algunos sistemas, escribir en el maestro puede generar varios subprocesos para escribir en paralelo, mientras que las réplicas de lectura solo admiten la escritura secuencial con un solo subproceso.
              • La replicación agrega más hardware y complejidad adicional.

              Fuente (s) y lectura adicional: replicación

              La federación (o partición funcional) divide las bases de datos por función. Por ejemplo, en lugar de una única base de datos monolítica, podría tener tres bases de datos: foros, usuarios, y productos, lo que da como resultado menos tráfico de lectura y escritura en cada base de datos y, por lo tanto, menos retraso en la replicación. Las bases de datos más pequeñas dan como resultado más datos que pueden caber en la memoria, lo que a su vez da como resultado más accesos de caché debido a una ubicación de caché mejorada. Sin una única escritura de serialización maestra central, puede escribir en paralelo, lo que aumenta el rendimiento.

              • La federación no es eficaz si su esquema requiere grandes funciones o tablas.
              • Deberá actualizar la lógica de su aplicación para determinar qué base de datos leer y escribir.
              • Unir datos de dos bases de datos es más complejo con un enlace de servidor.
              • La federación agrega más hardware y complejidad adicional.

              Fuente (s) y lectura adicional: federación

              Sharding distribuye datos en diferentes bases de datos, de modo que cada base de datos solo puede administrar un subconjunto de los datos. Tomando una base de datos de usuarios como ejemplo, a medida que aumenta el número de usuarios, se agregan más fragmentos al clúster.

              De manera similar a las ventajas de la federación, la fragmentación da como resultado menos tráfico de lectura y escritura, menos replicación y más aciertos de caché. El tamaño del índice también se reduce, lo que generalmente mejora el rendimiento con consultas más rápidas. Si un fragmento deja de funcionar, los otros fragmentos todavía están operativos, aunque querrá agregar alguna forma de replicación para evitar la pérdida de datos. Al igual que la federación, no existe un único maestro central que serialice escrituras, lo que le permite escribir en paralelo con un mayor rendimiento.

              Las formas comunes de fragmentar una tabla de usuarios es mediante la inicial del apellido del usuario o la ubicación geográfica del usuario.

              • Deberá actualizar la lógica de su aplicación para que funcione con fragmentos, lo que podría generar consultas SQL complejas.
              • La distribución de datos puede desequilibrarse en un fragmento. Por ejemplo, un conjunto de usuarios avanzados en un fragmento podría aumentar la carga de ese fragmento en comparación con otros.
                • El reequilibrio agrega complejidad adicional. Una función de fragmentación basada en hash coherente puede reducir la cantidad de datos transferidos.

                Fuente (s) y lectura adicional: fragmentación

                La desnormalización intenta mejorar el rendimiento de lectura a expensas de cierto rendimiento de escritura. Las copias redundantes de los datos se escriben en varias tablas para evitar costosas uniones. Algunos RDBMS como PostgreSQL y Oracle admiten vistas materializadas que manejan el trabajo de almacenar información redundante y mantener coherentes las copias redundantes.

                Una vez que los datos se distribuyen con técnicas como la federación y la fragmentación, la gestión de uniones en los centros de datos aumenta aún más la complejidad. La desnormalización podría eludir la necesidad de uniones tan complejas.

                En la mayoría de los sistemas, las lecturas pueden superar en gran medida a las escrituras 100: 1 o incluso 1000: 1. Una lectura que da como resultado una unión de base de datos compleja puede ser muy costosa y dedica una cantidad significativa de tiempo a las operaciones del disco.

                • Los datos están duplicados.
                • Las restricciones pueden ayudar a que las copias redundantes de información se mantengan sincronizadas, lo que aumenta la complejidad del diseño de la base de datos.
                • Una base de datos desnormalizada con una gran carga de escritura podría funcionar peor que su contraparte normalizada.

                Fuente (s) y lectura adicional: desnormalización

                El ajuste de SQL es un tema amplio y se han escrito muchos libros como referencia.

                Es importante punto de referencia y perfil para simular y descubrir cuellos de botella.

                • Punto de referencia - Simular situaciones de carga elevada con herramientas como ab.
                • Perfil - Habilite herramientas como el registro de consultas lentas para ayudar a rastrear problemas de rendimiento.

                La evaluación comparativa y la creación de perfiles pueden indicarle las siguientes optimizaciones.

                • MySQL se vuelca en el disco en bloques contiguos para un acceso rápido.
                • Utilice CHAR en lugar de VARCHAR para campos de longitud fija.
                  • CHAR efectivamente permite un acceso rápido y aleatorio, mientras que con VARCHAR, debe encontrar el final de una cadena antes de pasar a la siguiente.
                  • Las columnas que está consultando (SELECT, GROUP BY, ORDER BY, JOIN) podrían ser más rápidas con índices.
                  • Los índices generalmente se representan como un árbol B autoequilibrado que mantiene los datos ordenados y permite búsquedas, acceso secuencial, inserciones y eliminaciones en tiempo logarítmico.
                  • La colocación de un índice puede mantener los datos en la memoria, requiriendo más espacio.
                  • Las escrituras también podrían ser más lentas ya que el índice también debe actualizarse.
                  • Al cargar grandes cantidades de datos, puede ser más rápido deshabilitar índices, cargar los datos y luego reconstruir los índices.

                  Fuente (s) y lectura adicional: ajuste de SQL

                  NoSQL es una colección de elementos de datos representados en un almacén de valores-clave, tienda de documentos, tienda de columna anchao un base de datos de gráficos. Los datos se desnormalizan y las uniones generalmente se realizan en el código de la aplicación. La mayoría de las tiendas NoSQL carecen de transacciones ACID verdaderas y favorecen la consistencia final.

                  BASE se utiliza a menudo para describir las propiedades de las bases de datos NoSQL. En comparación con el teorema CAP, BASE elige disponibilidad sobre consistencia.

                  • Básicamente disponible - el sistema garantiza la disponibilidad.
                  • Estado blando - el estado del sistema puede cambiar con el tiempo, incluso sin entrada.
                  • Consistencia eventual - el sistema se volverá consistente durante un período de tiempo, dado que el sistema no recibe información durante ese período.

                  Además de elegir entre SQL o NoSQL, es útil comprender qué tipo de base de datos NoSQL se adapta mejor a sus casos de uso. Revisaremos almacenes de pares clave-valor, almacenes de documentos, almacenes de columnas anchas, y bases de datos de grafos en la siguiente sección.

                  Un almacén de valores clave generalmente permite lecturas y escrituras de O (1) y, a menudo, está respaldado por memoria o SSD. Los almacenes de datos pueden mantener las claves en orden lexicográfico, lo que permite una recuperación eficiente de los rangos de claves. Los almacenes de valores clave pueden permitir el almacenamiento de metadatos con un valor.

                  Los almacenes de valores clave proporcionan un alto rendimiento y, a menudo, se utilizan para modelos de datos simples o para datos que cambian rápidamente, como una capa de caché en memoria. Dado que ofrecen solo un conjunto limitado de operaciones, la complejidad se traslada a la capa de aplicación si se necesitan operaciones adicionales.

                  Un almacén de valores clave es la base de sistemas más complejos, como un almacén de documentos y, en algunos casos, una base de datos de gráficos.

                  Fuente (s) y lectura adicional: almacén de valores-clave

                  Abstracción: almacén de valores-clave con documentos almacenados como valores

                  Un almacén de documentos se centra en documentos (XML, JSON, binarios, etc.), donde un documento almacena toda la información de un objeto determinado. Los almacenes de documentos proporcionan API o un lenguaje de consulta para consultar en función de la estructura interna del documento en sí. Tenga en cuenta que muchas tiendas de valores clave incluyen funciones para trabajar con los metadatos de un valor, difuminando las líneas entre estos dos tipos de almacenamiento.

                  Según la implementación subyacente, los documentos se organizan por colecciones, etiquetas, metadatos o directorios. Aunque los documentos se pueden organizar o agrupar, los documentos pueden tener campos que son completamente diferentes entre sí.

                  Algunas tiendas de documentos como MongoDB y CouchDB también proporcionan un lenguaje similar a SQL para realizar consultas complejas. DynamoDB admite tanto valores clave como documentos.

                  Los almacenes de documentos ofrecen una gran flexibilidad y, a menudo, se utilizan para trabajar con datos que cambian ocasionalmente.

                  Fuente (s) y lectura adicional: almacén de documentos

                  Abstracción: mapa anidado ColumnFamily & ltRowKey, Columns & ltColKey, Value, Timestamp & gt & gt

                  La unidad básica de datos de un almacén de columnas anchas es una columna (par nombre / valor). Una columna se puede agrupar en familias de columnas (análoga a una tabla SQL). Las familias de súper columnas agrupan más familias de columnas. Puede acceder a cada columna de forma independiente con una clave de fila, y las columnas con la misma clave de fila forman una fila. Cada valor contiene una marca de tiempo para el control de versiones y la resolución de conflictos.

                  Google presentó Bigtable como la primera tienda de columnas anchas, que influyó en el HBase de código abierto que se usa a menudo en el ecosistema Hadoop, y Cassandra de Facebook. Las tiendas como BigTable, HBase y Cassandra mantienen las claves en orden lexicográfico, lo que permite la recuperación eficiente de rangos de claves selectivos.

                  Los almacenes de columnas anchas ofrecen alta disponibilidad y alta escalabilidad. A menudo se utilizan para conjuntos de datos muy grandes.

                  Fuente (s) y lectura adicional: tienda de columna ancha

                  En una base de datos de gráficos, cada nodo es un registro y cada arco es una relación entre dos nodos. Las bases de datos de gráficos están optimizadas para representar relaciones complejas con muchas claves externas o relaciones de varios a varios.

                  Las bases de datos de gráficos ofrecen un alto rendimiento para modelos de datos con relaciones complejas, como una red social. Son relativamente nuevos y aún no se utilizan ampliamente, por lo que podría ser más difícil encontrar herramientas y recursos de desarrollo. A muchos gráficos solo se puede acceder con las API REST.

                  Fuente (s) y lectura adicional: gráfico

                  Fuente (s) y lectura adicional: NoSQL

                  Razones para SQL:

                  • Datos estructurados
                  • Esquema estricto
                  • Datos relacionales
                  • Necesidad de uniones complejas
                  • Actas
                  • Patrones claros para escalar
                  • Más establecidos: desarrolladores, comunidad, código, herramientas, etc.
                  • Las búsquedas por índice son muy rápidas

                  Razones para NoSQL:

                  • Datos semiestructurados
                  • Esquema dinámico o flexible
                  • Datos no relacionales
                  • Sin necesidad de uniones complejas
                  • Almacene muchos TB (o PB) de datos
                  • Carga de trabajo muy intensiva en datos
                  • Rendimiento muy alto para IOPS

                  Datos de muestra adecuados para NoSQL:

                  • Ingesta rápida de datos de registro y flujo de clics
                  • Tabla de clasificación o datos de puntuación
                  • Datos temporales, como un carrito de compras
                  • Tablas de acceso frecuente ('calientes')
                  • Tablas de búsqueda / metadatos

                  Fuente (s) y lectura adicional: SQL o NoSQL

                  El almacenamiento en caché mejora los tiempos de carga de la página y puede reducir la carga en sus servidores y bases de datos. En este modelo, el despachador buscará primero si la solicitud se ha realizado antes e intentará encontrar el resultado anterior para devolver, para guardar la ejecución real.

                  Las bases de datos a menudo se benefician de una distribución uniforme de lecturas y escrituras en sus particiones. Los artículos populares pueden sesgar la distribución y provocar cuellos de botella. Poner un caché delante de una base de datos puede ayudar a absorber cargas irregulares y picos de tráfico.

                  Los cachés se pueden ubicar en el lado del cliente (sistema operativo o navegador), en el lado del servidor o en una capa de caché distinta.

                  Las CDN se consideran un tipo de caché.

                  Los proxies inversos y cachés como Varnish pueden servir contenido estático y dinámico directamente. Los servidores web también pueden almacenar en caché las solicitudes, devolviendo respuestas sin tener que ponerse en contacto con los servidores de aplicaciones.

                  Su base de datos generalmente incluye algún nivel de almacenamiento en caché en una configuración predeterminada, optimizada para un caso de uso genérico. Ajustar estas configuraciones para patrones de uso específicos puede mejorar aún más el rendimiento.

                  Los cachés en memoria, como Memcached y Redis, son almacenes de valores clave entre su aplicación y su almacenamiento de datos. Dado que los datos se almacenan en la RAM, es mucho más rápido que las bases de datos típicas donde los datos se almacenan en el disco.La RAM es más limitada que el disco, por lo que los algoritmos de invalidación de caché, como el utilizado menos recientemente (LRU), pueden ayudar a invalidar las entradas "frías" y mantener los datos "calientes" en la RAM.

                  Redis tiene las siguientes características adicionales:

                  Hay varios niveles que puede almacenar en caché que se dividen en dos categorías generales: consultas de base de datos y objetos:

                  • Nivel de fila
                  • Nivel de consulta
                  • Objetos serializables completamente formados
                  • HTML completamente renderizado

                  Por lo general, debe intentar evitar el almacenamiento en caché basado en archivos, ya que dificulta la clonación y el escalado automático.

                  Almacenamiento en caché a nivel de consulta de la base de datos

                  Siempre que consulte la base de datos, codifique la consulta como clave y almacene el resultado en la memoria caché. Este enfoque adolece de problemas de caducidad:

                  • Es difícil eliminar un resultado almacenado en caché con consultas complejas
                  • Si un dato cambia, como la celda de una tabla, debe eliminar todas las consultas almacenadas en caché que podrían incluir la celda modificada

                  Almacenamiento en caché a nivel de objeto

                  Vea sus datos como un objeto, similar a lo que hace con el código de su aplicación. Haga que su aplicación ensamble el conjunto de datos de la base de datos en una instancia de clase o una estructura de datos:

                  • Eliminar el objeto de la caché si sus datos subyacentes han cambiado
                  • Permite el procesamiento asincrónico: los trabajadores ensamblan objetos consumiendo el último objeto almacenado en caché

                  Sugerencias de qué almacenar en caché:

                  • Sesiones de usuario
                  • Páginas web completamente renderizadas
                  • Flujos de actividad
                  • Datos del gráfico de usuario

                  Dado que solo puede almacenar una cantidad limitada de datos en la memoria caché, deberá determinar qué estrategia de actualización de la memoria caché funciona mejor para su caso de uso.

                  La aplicación es responsable de leer y escribir desde el almacenamiento. La caché no interactúa directamente con el almacenamiento. La aplicación hace lo siguiente:

                  • Busque una entrada en el caché, lo que resultará en un error de caché
                  • Cargar entrada de la base de datos
                  • Agregar entrada a la caché
                  • Entrada de retorno

                  Memcached generalmente se usa de esta manera.

                  Las lecturas posteriores de los datos agregados a la caché son rápidas. La memoria caché también se conoce como carga diferida. Solo se almacenan en caché los datos solicitados, lo que evita llenar el caché con datos que no se solicitan.

                  • Cada pérdida de caché da como resultado tres viajes, lo que puede provocar un retraso notable.
                  • Los datos pueden volverse obsoletos si se actualizan en la base de datos. Este problema se mitiga estableciendo un tiempo de vida (TTL) que fuerza una actualización de la entrada de la caché o mediante la escritura directa.
                  • Cuando un nodo falla, es reemplazado por un nuevo nodo vacío, lo que aumenta la latencia.

                  La aplicación utiliza el caché como el almacén de datos principal, leyendo y escribiendo datos en él, mientras que el caché es responsable de leer y escribir en la base de datos:

                  • La aplicación agrega / actualiza la entrada en la caché
                  • La caché escribe sincrónicamente la entrada en el almacén de datos
                  • Regresar

                  La escritura simultánea es una operación general lenta debido a la operación de escritura, pero las lecturas posteriores de los datos escritos son rápidas. Los usuarios son generalmente más tolerantes con la latencia cuando actualizan datos que cuando los leen. Los datos de la caché no están obsoletos.

                  Desventaja (s): escribir a través

                  • Cuando se crea un nuevo nodo debido a una falla o escala, el nuevo nodo no almacenará en caché las entradas hasta que se actualice la entrada en la base de datos. El almacenamiento en caché junto con la escritura directa puede mitigar este problema.
                  • Es posible que la mayoría de los datos escritos nunca se lean, lo que se puede minimizar con un TTL.

                  En la escritura diferida, la aplicación hace lo siguiente:

                  • Agregar / actualizar entrada en caché
                  • Escriba la entrada de forma asincrónica en el almacén de datos, lo que mejora el rendimiento de la escritura
                  • Podría haber pérdida de datos si el caché se cae antes de que su contenido llegue al almacén de datos.
                  • Es más complejo implementar la escritura diferida que implementar la escritura simultánea o la caché a un lado.

                  Puede configurar la caché para que actualice automáticamente cualquier entrada de caché a la que se haya accedido recientemente antes de su vencimiento.

                  La actualización anticipada puede reducir la latencia en comparación con la lectura completa si la caché puede predecir con precisión qué elementos es probable que se necesiten en el futuro.

                  • No predecir con precisión qué elementos es probable que se necesiten en el futuro puede resultar en un rendimiento reducido que sin la actualización anticipada.
                  • Necesidad de mantener la coherencia entre las cachés y la fuente de la verdad, como la base de datos, mediante la invalidación de la caché.
                  • La invalidación de la caché es un problema difícil, existe una complejidad adicional asociada con cuándo actualizar la caché.
                  • Necesita realizar cambios en la aplicación, como agregar Redis o memcached.

                  Fuente (s) y lectura adicional

                  Los flujos de trabajo asincrónicos ayudan a reducir los tiempos de solicitud para operaciones costosas que de otro modo se realizarían en línea. También pueden ayudar si realizan un trabajo que requiere mucho tiempo por adelantado, como la agregación periódica de datos.

                  Las colas de mensajes reciben, retienen y entregan mensajes. Si una operación es demasiado lenta para realizarse en línea, puede usar una cola de mensajes con el siguiente flujo de trabajo:

                  • Una aplicación publica un trabajo en la cola y luego notifica al usuario sobre el estado del trabajo.
                  • Un trabajador toma el trabajo de la cola, lo procesa y luego indica que el trabajo está completo

                  El usuario no está bloqueado y el trabajo se procesa en segundo plano. Durante este tiempo, el cliente puede realizar opcionalmente una pequeña cantidad de procesamiento para que parezca que la tarea se ha completado. Por ejemplo, si publica un tweet, el tweet podría publicarse instantáneamente en su línea de tiempo, pero podría pasar algún tiempo antes de que su tweet se entregue realmente a todos sus seguidores.

                  Redis es útil como un simple intermediario de mensajes, pero los mensajes se pueden perder.

                  RabbitMQ es popular pero requiere que se adapte al protocolo 'AMQP' y administre sus propios nodos.

                  Amazon SQS está alojado pero puede tener una latencia alta y tiene la posibilidad de que los mensajes se entreguen dos veces.

                  Las colas de tareas reciben tareas y sus datos relacionados, las ejecutan y luego entregan sus resultados. Pueden admitir la programación y se pueden utilizar para ejecutar trabajos de computación intensiva en segundo plano.

                  Apio tiene soporte para la programación y principalmente tiene soporte para Python.

                  Si las colas comienzan a crecer significativamente, el tamaño de la cola puede llegar a ser más grande que la memoria, lo que resulta en pérdidas de caché, lecturas de disco e incluso un rendimiento más lento. La contrapresión puede ayudar al limitar el tamaño de la cola, manteniendo así una alta tasa de rendimiento y buenos tiempos de respuesta para los trabajos que ya están en la cola. Una vez que la cola se llena, los clientes obtienen un servidor ocupado o un código de estado HTTP 503 para volver a intentarlo más tarde. Los clientes pueden volver a intentar la solicitud más adelante, tal vez con un retroceso exponencial.

                  • Los casos de uso como los cálculos económicos y los flujos de trabajo en tiempo real pueden ser más adecuados para las operaciones síncronas, ya que la introducción de colas puede agregar retrasos y complejidad.

                  Fuente (s) y lectura adicional

                  Protocolo de transferencia de hipertexto (HTTP)

                  HTTP es un método para codificar y transportar datos entre un cliente y un servidor. Es un protocolo de solicitud / respuesta: los clientes emiten solicitudes y los servidores emiten respuestas con contenido relevante e información sobre el estado de finalización de la solicitud. HTTP es autónomo, lo que permite que las solicitudes y respuestas fluyan a través de muchos enrutadores y servidores intermedios que realizan equilibrio de carga, almacenamiento en caché, cifrado y compresión.

                  Una solicitud HTTP básica consta de un verbo (método) y un recurso (punto final). A continuación se muestran los verbos HTTP comunes:

                  Verbo Descripción Idempotente * A salvo Almacenable en caché
                  OBTENER Lee un recurso
                  CORREO Crea un recurso o desencadena un proceso que maneja datos No No Sí, si la respuesta contiene información actualizada
                  PONER Crea o reemplaza un recurso No No
                  PARCHE Actualiza parcialmente un recurso No No Sí, si la respuesta contiene información actualizada
                  ELIMINAR Elimina un recurso No No

                  * Se puede llamar muchas veces sin resultados diferentes.

                  HTTP es un protocolo de capa de aplicación que se basa en protocolos de nivel inferior, como TCP y UDP.

                  Fuente (s) y lectura adicional: HTTP

                  Protocolo de control de transmisión (TCP)

                  TCP es un protocolo orientado a la conexión a través de una red IP. La conexión se establece y finaliza mediante un protocolo de enlace. Se garantiza que todos los paquetes enviados llegarán al destino en el orden original y sin corrupción a través de:

                  Si el remitente no recibe una respuesta correcta, reenviará los paquetes. Si hay varios tiempos de espera, la conexión se interrumpe. TCP también implementa control de flujo y control de congestión. Estas garantías provocan retrasos y generalmente dan como resultado una transmisión menos eficiente que UDP.

                  Para garantizar un alto rendimiento, los servidores web pueden mantener abiertas una gran cantidad de conexiones TCP, lo que resulta en un alto uso de memoria. Puede resultar caro tener una gran cantidad de conexiones abiertas entre los subprocesos del servidor web y, por ejemplo, un servidor memcached. La agrupación de conexiones puede ayudar además de cambiar a UDP cuando corresponda.

                  TCP es útil para aplicaciones que requieren alta confiabilidad pero que requieren menos tiempo. Algunos ejemplos incluyen servidores web, información de bases de datos, SMTP, FTP y SSH.

                  • Necesita que todos los datos lleguen intactos
                  • Desea hacer automáticamente una mejor estimación del uso del rendimiento de la red.

                  Protocolo de datagramas de usuario (UDP)

                  UDP no tiene conexión. Los datagramas (análogos a los paquetes) están garantizados solo a nivel de datagramas. Los datagramas pueden llegar a su destino fuera de servicio o no llegar a su destino. UDP no admite el control de congestión. Sin las garantías que brinda el soporte de TCP, UDP es generalmente más eficiente.

                  UDP puede transmitir, enviando datagramas a todos los dispositivos de la subred. Esto es útil con DHCP porque el cliente aún no ha recibido una dirección IP, lo que impide que TCP transmita sin la dirección IP.

                  UDP es menos confiable pero funciona bien en casos de uso en tiempo real como VoIP, video chat, transmisión y juegos multijugador en tiempo real.

                  • Necesitas la latencia más baja
                  • Los datos tardíos son peor que la pérdida de datos
                  • Quiere implementar su propia corrección de errores

                  Fuente (s) y lectura adicional: TCP y UDP

                  Llamada a procedimiento remoto (RPC)

                  En un RPC, un cliente hace que un procedimiento se ejecute en un espacio de direcciones diferente, generalmente un servidor remoto. El procedimiento está codificado como si fuera una llamada de procedimiento local, abstrayendo los detalles de cómo comunicarse con el servidor desde el programa cliente. Las llamadas remotas suelen ser más lentas y menos fiables que las locales, por lo que resulta útil distinguir las llamadas RPC de las locales. Los marcos de trabajo RPC más populares incluyen Protobuf, Thrift y Avro.

                  RPC es un protocolo de solicitud-respuesta:

                  • Programa de cliente - Llama al procedimiento de código auxiliar del cliente. Los parámetros se insertan en la pila como una llamada a procedimiento local.
                  • Procedimiento de resguardo del cliente - Identifica el procedimiento y los argumentos de Marshals (paquetes) en un mensaje de solicitud.
                  • Módulo de comunicación con el cliente - OS envía el mensaje del cliente al servidor.
                  • Módulo de comunicación del servidor - El sistema operativo pasa los paquetes entrantes al procedimiento de código auxiliar del servidor.
                  • Procedimiento de código auxiliar del servidor - Desagrupa los resultados, llama al procedimiento del servidor que coincide con el ID del procedimiento y pasa los argumentos dados.
                  • La respuesta del servidor repite los pasos anteriores en orden inverso.

                  RPC se centra en exponer comportamientos. Los RPC se utilizan a menudo por motivos de rendimiento con las comunicaciones internas, ya que puede crear llamadas nativas para adaptarse mejor a sus casos de uso.

                  Elija una biblioteca nativa (también conocida como SDK) cuando:

                  • Conoces tu plataforma objetivo.
                  • Quieres controlar cómo se accede a tu "lógica".
                  • Quiere controlar cómo ocurre el control de errores fuera de su biblioteca.
                  • El rendimiento y la experiencia del usuario final es su principal preocupación.

                  API HTTP siguientes DESCANSO tienden a usarse con más frecuencia para API públicas.

                  • Los clientes de RPC se acoplan estrechamente a la implementación del servicio.
                  • Se debe definir una nueva API para cada nueva operación o caso de uso.
                  • Puede resultar difícil depurar RPC.
                  • Es posible que no pueda aprovechar las tecnologías existentes listas para usar. Por ejemplo, puede requerir un esfuerzo adicional para garantizar que las llamadas RPC se almacenen en caché correctamente en servidores de almacenamiento en caché como Squid.

                  Transferencia de estado representacional (REST)

                  REST es un estilo arquitectónico que aplica un modelo cliente / servidor donde el cliente actúa sobre un conjunto de recursos administrados por el servidor. El servidor proporciona una representación de recursos y acciones que pueden manipular u obtener una nueva representación de recursos. Toda la comunicación debe ser sin estado y almacenable en caché.

                  Hay cuatro cualidades de una interfaz RESTful:

                  • Identificar recursos (URI en HTTP) - utilizar el mismo URI independientemente de cualquier operación.
                  • Cambiar con representaciones (verbos en HTTP) - usa verbos, encabezados y cuerpo.
                  • Mensaje de error autodescriptivo (respuesta de estado en HTTP) - Use códigos de estado, no reinvente la rueda.
                  • HATEOAS (interfaz HTML para HTTP) - su servicio web debe ser completamente accesible en un navegador.

                  REST se centra en exponer datos. Minimiza el acoplamiento entre cliente / servidor y, a menudo, se utiliza para API HTTP públicas. REST usa un método más genérico y uniforme para exponer recursos a través de URI, representación a través de encabezados y acciones a través de verbos como GET, POST, PUT, DELETE y PATCH. Al ser apátrida, REST es ideal para escalar y particionar horizontalmente.

                  • Dado que REST se centra en exponer datos, es posible que no sea una buena opción si los recursos no se organizan de forma natural o no se accede a ellos en una jerarquía simple. Por ejemplo, devolver todos los registros actualizados de la última hora que coinciden con un conjunto particular de eventos no se expresa fácilmente como una ruta. Con REST, es probable que se implemente con una combinación de ruta URI, parámetros de consulta y posiblemente el cuerpo de la solicitud.
                  • REST generalmente se basa en algunos verbos (GET, POST, PUT, DELETE y PATCH) que a veces no se ajustan a su caso de uso. Por ejemplo, es posible que mover documentos caducados a la carpeta de archivo no se ajuste perfectamente a estos verbos.
                  • Obtener recursos complicados con jerarquías anidadas requiere múltiples viajes de ida y vuelta entre el cliente y el servidor para representar vistas únicas, p. Ej. buscar el contenido de una entrada de blog y los comentarios de esa entrada. Para aplicaciones móviles que operan en condiciones de red variables, estos múltiples viajes de ida y vuelta son altamente indeseables.
                  • Con el tiempo, es posible que se agreguen más campos a una respuesta de API y los clientes más antiguos recibirán todos los campos de datos nuevos, incluso aquellos que no necesitan, como resultado, aumenta el tamaño de la carga útil y genera latencias más grandes.

                  Comparación de llamadas RPC y REST

                  Operación RPC DESCANSO
                  Regístrate CORREO /inscribirse CORREO / personas
                  Renunciar CORREO /Renunciar
                  <
                  "personid": "1234"
                  >
                  ELIMINAR / personas / 1234
                  Leer a una persona OBTENER / readPerson? personid = 1234 OBTENER / personas / 1234
                  Leer la lista de artículos de una persona OBTENER / readUsersItemsList? personid = 1234 OBTENER / personas / 1234 / artículos
                  Agregar un artículo a los artículos de una persona CORREO / addItemToUsersItemsList
                  <
                  "personid": "1234"
                  "itemid": "456"
                  >
                  CORREO / personas / 1234 / artículos
                  <
                  "itemid": "456"
                  >
                  Actualizar un artículo CORREO / modificarItem
                  <
                  "itemid": "456"
                  "valor clave"
                  >
                  PONER / items / 456
                  <
                  "valor clave"
                  >
                  Eliminar un elemento CORREO /remover el artículo
                  <
                  "itemid": "456"
                  >
                  ELIMINAR / items / 456

                  Fuente (s) y lectura adicional: REST y RPC

                  Esta sección podría necesitar algunas actualizaciones. ¡Considere contribuir!

                  La seguridad es un tema amplio. A menos que tenga una experiencia considerable, una formación en seguridad o esté solicitando un puesto que requiera conocimientos de seguridad, probablemente no necesitará saber más que los conceptos básicos:

                  • Cifrar en tránsito y en reposo.
                  • Desinfecte todas las entradas del usuario o cualquier parámetro de entrada expuesto al usuario para evitar la inyección de XSS y SQL.
                  • Utilice consultas parametrizadas para evitar la inyección de SQL.
                  • Utilice el principio de privilegio mínimo.

                  Fuente (s) y lectura adicional

                  A veces, se le pedirá que haga estimaciones "al dorso del sobre". Por ejemplo, es posible que deba determinar cuánto tiempo llevará generar 100 miniaturas de imágenes desde el disco o cuánta memoria tomará una estructura de datos. El Tabla de potencias de dos y Números de latencia que todo programador debe conocer son referencias útiles.

                  Fuente (s) y lectura adicional

                  Números de latencia que todo programador debe conocer

                  Métricas útiles basadas en los números anteriores:

                  • Leer secuencialmente desde HDD a 30 MB / s
                  • Leer secuencialmente desde Ethernet de 1 Gbps a 100 MB / s
                  • Leer secuencialmente desde SSD a 1 GB / s
                  • Leer secuencialmente desde la memoria principal a 4 GB / s
                  • 6-7 viajes de ida y vuelta por todo el mundo por segundo
                  • 2,000 viajes de ida y vuelta por segundo dentro de un centro de datos

                  Números de latencia visualizados

                  Fuente (s) y lectura adicional

                  Preguntas adicionales de la entrevista sobre el diseño del sistema

                  Preguntas de entrevistas de diseño de sistemas comunes, con enlaces a recursos sobre cómo resolver cada una.

                  Pregunta Referencia (s)
                  Diseña un servicio de sincronización de archivos como Dropbox youtube.com
                  Diseña un motor de búsqueda como Google queue.acm.org
                  stackexchange.com
                  ardendertat.com
                  stanford.edu
                  Diseñe un rastreador web escalable como Google quora.com
                  Diseñar documentos de Google code.google.com
                  neil.fraser.name
                  Diseñe una tienda de valores clave como Redis slideshare.net
                  Diseña un sistema de caché como Memcached slideshare.net
                  Diseña un sistema de recomendación como el de Amazon hulu.com
                  ijcai13.org
                  Diseña un sistema tinyurl como Bitly n00tc0d3r.blogspot.com
                  Diseña una aplicación de chat como WhatsApp highscalability.com
                  Diseña un sistema para compartir imágenes como Instagram highscalability.com
                  highscalability.com
                  Diseñar la función de alimentación de noticias de Facebook quora.com
                  quora.com
                  slideshare.net
                  Diseñar la función de línea de tiempo de Facebook facebook.com
                  highscalability.com
                  Diseña la función de chat de Facebook erlang-factory.com
                  facebook.com
                  Diseña una función de búsqueda gráfica como la de Facebook facebook.com
                  facebook.com
                  facebook.com
                  Diseñe una red de entrega de contenido como CloudFlare figshare.com
                  Diseña un sistema de trending topic como el de Twitter. michael-noll.com
                  snikolov .wordpress.com
                  Diseñe un sistema de generación de ID aleatorio blog.twitter.com
                  github.com
                  Devuelve las k solicitudes principales durante un intervalo de tiempo cs.ucsb.edu
                  wpi.edu
                  Diseñe un sistema que proporcione datos de varios centros de datos highscalability.com
                  Diseña un juego de cartas multijugador en línea indieflashblog.com
                  buildnewgames.com
                  Diseñar un sistema de recolección de basura stuffwithstuff.com
                  washington.edu
                  Diseñe un limitador de velocidad API https://stripe.com/blog/
                  Diseñar una bolsa de valores (como NASDAQ o Binance) Jane Street
                  Implementación de Golang
                  Ir a implementación
                  Agregar una pregunta de diseño del sistema Contribuir

                  Artículos sobre cómo se diseñan los sistemas del mundo real.

                  En su lugar, no se centre en los detalles esenciales de los siguientes artículos:

                  • Identificar principios compartidos, tecnologías comunes y patrones dentro de estos artículos.
                  • Estudie qué problemas resuelve cada componente, dónde funciona y dónde no
                  • Revise las lecciones aprendidas
                  Compañía Referencia (s)
                  Amazonas Arquitectura amazónica
                  Cinchcast Produciendo 1500 horas de audio todos los días
                  DataSift Minería de datos en tiempo real A 120.000 tweets por segundo
                  Dropbox Cómo hemos escalado Dropbox
                  ESPN Operando a 100,000 duh nuh nuhs por segundo
                  Google Arquitectura de Google
                  Instagram 14 millones de usuarios, terabytes de fotos
                  Lo que impulsa Instagram
                  Justin.tv Arquitectura de transmisión de video en vivo de Justin.Tv
                  Facebook Escalando memcached en Facebook
                  TAO: almacén de datos distribuidos de Facebook para el gráfico social
                  Almacenamiento de fotos de Facebook
                  Cómo Facebook Live Streaming a 800.000 espectadores simultáneos
                  Flickr Arquitectura de Flickr
                  Buzón De 0 a un millón de usuarios en 6 semanas
                  Netflix Una vista de 360 ​​grados de toda la pila de Netflix
                  Netflix: ¿Qué sucede cuando presionas Reproducir?
                  Pinterest De 0 a decenas de miles de millones de páginas vistas al mes
                  18 millones de visitantes, crecimiento 10 veces mayor, 12 empleados
                  Playfish 50 millones de usuarios mensuales y creciendo
                  Un montón de pescado Arquitectura de PlentyOfFish
                  Fuerza de ventas Cómo manejan 1.300 millones de transacciones al día
                  Desbordamiento de pila Arquitectura de desbordamiento de pila
                  TripAdvisor 40 millones de visitantes, 200 millones de visitas a páginas dinámicas, 30 TB de datos
                  Tumblr 15 mil millones de páginas vistas al mes
                  Gorjeo Haciendo Twitter 10000 por ciento más rápido
                  Almacenar 250 millones de tweets al día usando MySQL
                  150 millones de usuarios activos, 300.000 QPS, una manguera contra incendios de 22 MB / S
                  Líneas de tiempo a escala
                  Grandes y pequeños datos en Twitter
                  Operaciones en Twitter: escalando más allá de los 100 millones de usuarios
                  Cómo gestiona Twitter 3000 imágenes por segundo
                  Uber Cómo Uber escala su plataforma de mercado en tiempo real
                  Lecciones aprendidas al escalar Uber a 2000 ingenieros, 1000 servicios y 8000 repositorios de Git
                  Whatsapp La arquitectura de WhatsApp que Facebook compró por $ 19 mil millones
                  YouTube Escalabilidad de YouTube
                  Arquitectura de YouTube

                  Blogs de ingeniería de la empresa

                  Arquitecturas para empresas con las que está entrevistando.

                  Las preguntas que encuentre pueden ser del mismo dominio.

                  Fuente (s) y lectura adicional

                  ¿Quiere agregar un blog? Para evitar duplicar el trabajo, considere agregar el blog de su empresa al siguiente repositorio:

                  ¿Está interesado en agregar una sección o ayudar a completar una en progreso? ¡Contribuir!

                  Los créditos y las fuentes se proporcionan a lo largo de este repositorio.

                  No dude en ponerse en contacto conmigo para discutir cualquier problema, pregunta o comentario.

                  Mi información de contacto se puede encontrar en mi página de GitHub.

                  Le proporciono código y recursos en este repositorio bajo una licencia de código abierto. Debido a que este es mi repositorio personal, la licencia que recibe para mi código y recursos es mía y no de mi empleador (Facebook).


                  Ver el vídeo: Diseño de bases de datos I: diseño conceptual