ES2969719T3 - Sistema informático distribuido para procesamiento intensivo de vídeo - Google Patents

Sistema informático distribuido para procesamiento intensivo de vídeo Download PDF

Info

Publication number
ES2969719T3
ES2969719T3 ES20771618T ES20771618T ES2969719T3 ES 2969719 T3 ES2969719 T3 ES 2969719T3 ES 20771618 T ES20771618 T ES 20771618T ES 20771618 T ES20771618 T ES 20771618T ES 2969719 T3 ES2969719 T3 ES 2969719T3
Authority
ES
Spain
Prior art keywords
node
response
nodes
processing
external processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES20771618T
Other languages
English (en)
Inventor
Norbert Matanie
Serban Maduta
Bogdan Ciubotaru
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Everseen Ltd
Original Assignee
Everseen Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Everseen Ltd filed Critical Everseen Ltd
Application granted granted Critical
Publication of ES2969719T3 publication Critical patent/ES2969719T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19602Image analysis to detect motion of the intruder, e.g. by frame subtraction
    • G08B13/19604Image analysis to detect motion of the intruder, e.g. by frame subtraction involving reference image or background adaptation with time to compensate for changing conditions, e.g. reference image update on detection of light level change

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Cardiology (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer And Data Communications (AREA)

Abstract

Un método para distribuir carga en una red de nodos de procesamiento, en el que la red incluye un nodo solicitante y un conjunto de nodos de procesamiento externos. El método incluye enviar un mensaje de Protocolo de mensajes de control de Internet (ICMP) a cada nodo de procesamiento externo, clasificar cada nodo de procesamiento externo como nodo que responde o no responde según su tiempo de respuesta, identificar un nodo que responde que tiene la capacidad de cumplir una solicitud de procesamiento de video, determinar el primer y segundo conjunto de nodos de respuesta excluidos, seleccionar el nodo identificado para cumplir con la solicitud de procesamiento de video, cuando el nodo identificado no forma parte del primer y segundo conjunto de nodos de respuesta excluidos, enviar una transmisión paquete desde el nodo solicitante al nodo identificado seleccionado para su procesamiento y recibir una respuesta binaria del nodo seleccionado. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Sistema informático distribuido para procesamiento intensivo de vídeo
Campo técnico
La presente divulgación se refiere a un procedimiento y sistema para la creación de un sistema informático distribuido que permita el procesamiento distribuido de flujos de vídeo, y más específicamente a la compartición de carga en una red de nodos distribuidos.
Antecedentes
En una tienda minorista, el cambio de ticket es una actividad fraudulenta en la que un tramposo cambia el código de barras o el ticket de precio de un primer artículo por el de un artículo más barato. Generalmente, la tienda minorista emplea una cámara que está configurada para grabar y almacenar imágenes de productos dentro de la tienda minorista, y un procesador de vídeo que está configurado para procesar las secuencias de vídeo para determinar cualquier actividad de cambio de tickets en la tienda minorista. El procesador de vídeo facilita la detección automática y la disuasión de la actividad de cambio de tickets determinando si un código de barras en un artículo dentro de la vista de una cámara (por ejemplo, en la mano de una persona) coincide con el código de barras esperado del artículo. Sin embargo, los recursos informáticos en el procesador de video pueden ser insuficientes para manejar nuevas cargas de trabajo que sirvan a nuevas y más avanzadas capacidades deseadas. Al mismo tiempo, puede haber recursos informáticos disponibles en otros sistemas informáticos externos conectados a través de una red al procesador de vídeo.
En vista de lo anterior, existe la necesidad de un procedimiento y un sistema que permita la distribución de la carga en la red de nodos de procesamiento, para la detección automática de la actividad de cambio de tickets en una tienda minorista.
Sumario
De acuerdo con un aspecto de la presente divulgación, se proporciona un procedimiento para distribuir la carga en una red de nodos de procesamiento de acuerdo con la reivindicación 1.
De acuerdo con otro aspecto de la presente divulgación, se proporciona un sistema de acuerdo con la reivindicación 9.
De acuerdo con otro aspecto de la presente divulgación pero no reivindicado en la misma, se proporciona un medio legible por ordenador no transitorio configurado para almacenar un programa que hace que un ordenador distribuya la carga en una red de nodos de procesamiento, en la que la red incluye un nodo solicitante y un conjunto de nodos de procesamiento externos. El programa está configurado para enviar un mensaje de Protocolo de Mensajes de Control de Internet (ICMP) a cada nodo de procesamiento externo, clasificar cada nodo de procesamiento externo como nodo de respuesta o no respuesta basándose en el tiempo de respuesta correspondiente de cada mensaje ICMP, identificar un nodo de respuesta que tenga la capacidad de satisfacer una solicitud de procesamiento de vídeo enviada por el nodo solicitante, determinar un primer conjunto de nodos de respuesta excluidos, en el que la carga computacional de cada nodo de respuesta excluido del primer conjunto durante un primer intervalo de tiempo predefinido supere un primer umbral, determinar un segundo conjunto de nodos de respuesta excluidos, en el que un número de solicitudes de procesamiento de vídeo recibidas por cada nodo de respuesta excluido del segundo conjunto desde el nodo solicitante durante un intervalo de tiempo anterior supere un segundo umbral, seleccionar el nodo identificado para satisfacer la solicitud de procesamiento de vídeo cuando el nodo identificado no forme parte del primer y segundo conjunto de nodos de respuesta excluidos, enviar un paquete de transmisión al nodo identificado seleccionado para su procesamiento, y recibir y transmitir una respuesta binaria al nodo solicitante.
Breve descripción de los dibujos
El resumen anterior, así como la descripción detallada que sigue de las realizaciones ilustrativas, se comprenden mejor cuando se leen junto con los dibujos que se acompañan. Con el fin de ilustrar la presente divulgación, en los dibujos se muestran construcciones ejemplares de la divulgación. Sin embargo, la presente divulgación no se limita a los procedimientos e instrumentos específicos descritos en la presente memoria descriptiva. Además, los expertos comprenderán que los dibujos no están hechos a escala. Siempre que ha sido posible, los elementos similares se han indicado con números idénticos.
la figura 1 ilustra un entorno en el que pueden practicarse diversas realizaciones de la presente divulgación; la figura 2 ilustrar el reparto de carga entre un nodo de procesamiento de vídeo y un nodo de procesamiento externo, de acuerdo con una realización de la presente divulgación; y
las figuras 3A y 3B son un diagrama de flujo que ilustra un procedimiento de distribución de carga que utiliza la implementación de control de tráfico inteligente en una red de nodos de procesamiento, de acuerdo con una realización de la presente divulgación.
En los dibujos que se acompañan, un número subrayado se emplea para representar un elemento sobre el que el número subrayado está posicionado o un elemento al que es adyacente el número subrayado. Un número no subrayado se refiere a un artículo identificado por una línea que une el número no subrayado con el artículo. Cuando un número no está subrayado y va acompañado de una flecha asociada, el número no subrayado se utiliza para identificar un elemento general al que apunta la flecha.
Descripción detallada de las realizaciones ilustrativas
La descripción detallada de los dibujos que se acompañan pretende ser una descripción de las realizaciones actualmente preferidas de la presente divulgación, y no pretende representar la única forma en la que la presente divulgación puede ser practicada. Se debe entender que las mismas funciones o funciones equivalentes pueden ser realizadas por diferentes realizaciones que pretenden estar abarcadas dentro del alcance de la presente divulgación. Tal como se utilizan en la memoria descriptiva y las reivindicaciones, las formas singulares "un", "una" y "el, la" incluyen referencias plurales a menos que el contexto dicte claramente lo contrario. Por ejemplo, el término "un artículo" puede incluir una pluralidad de artículos a menos que el contexto dicte claramente lo contrario.
Las personas con conocimiento ordinario de la técnica apreciarán que los elementos en las figuras son ilustrados para simplicidad y claridad y no están dibujados a escala necesariamente . Por ejemplo, las dimensiones de algunos de los elementos de las figuras pueden estar exageradas, en relación con otros elementos, para mejorar la comprensión de la presente divulgación.
Puede haber componentes adicionales descritos en la aplicación anterior que no estén representados en uno de los dibujos descritos. En el caso de que tal componente se describa pero no se represente en un dibujo, la ausencia de tal dibujo no se debe considerar como una omisión de tal diseño en la memoria descriptiva.
De acuerdo con lo requerido, las realizaciones detalladas de la actual divulgación se divulgan en la presente memoria descriptiva; sin embargo, se debe entender que las realizaciones divulgadas son simplemente ejemplares de la divulgación, que se puede realizar en varias formas. Por lo tanto, los detalles estructurales y funcionales específicos divulgados en la presente memoria descriptiva no deben interpretarse como limitativos, sino simplemente como una base para las reivindicaciones y como una base representativa para enseñar a un experto en la técnica a emplear de diversas maneras la presente divulgación en prácticamente cualquier estructura adecuadamente detallada. Además, los términos y frases utilizados en la presente memoria descriptiva no pretenden ser limitativos, sino más bien proporcionar una descripción comprensible de la divulgación.
La siguiente descripción detallada ilustra realizaciones de la presente divulgación y formas en que se pueden implementar. Aunque se ha divulgado el mejor modo de llevar a cabo la presente divulgación, los expertos en la materia reconocerán que también son posibles otras realizaciones para llevar a cabo o practicar la presente divulgación.
La figura 1 ilustra un entorno 100, en el que se pueden practicar diversas realizaciones de la presente divulgación. El entorno 100 incluye una cámara 101, un nodo de procesamiento de vídeo 102, nodos de procesamiento externo primero a tercero 103a a 103c, y un servidor de distribución de carga 104, cada uno acoplado comunicativamente unos a los otros por medio de una red de comunicación 105.
La cámara 101 está configurada para capturar y almacenar secuencias de vídeo de uno o más objetos en tiempo real, especialmente en una tienda minorista. En una realización de la presente divulgación, la cámara 101 está configurada para capturar uno o más elementos de secuencias de vídeo de un proceso de caja minorista que incluye un sistema de auto-facturación (SCO). Opcionalmente, la cámara 101 incluye, entre otras, una cámara de protocolo de Internet (IP), una cámara de Inclinación y Zoom (PTZ), una cámara de imagen térmica o una cámara de infrarrojos.
El nodo de procesamiento de vídeo 102 incluye una unidad central de procesamiento (CPU) 106, y una memoria 107. La CPU 106 es un procesador, ordenador, microcontrolador u otro circuito que controla las operaciones de diversos componentes, y puede ejecutar software, firmware y/u otras instrucciones, por ejemplo, que se almacenan en una memoria volátil o no volátil, tal como la memoria, o se proporcionan de otro modo a la CPU 106. La CPU 106 puede estar conectada a la memoria 107, por medio de conexiones cableadas o inalámbricas, tales como uno o más buses de sistema, cables u otras interfaces.
La memoria 107, además de almacenar instrucciones y/o datos para su uso por la CPU 106 en la gestión de la operación de la cámara 101, también puede incluir información de usuario asociada con uno o más usuarios de la cámara 101. Por ejemplo, la información del usuario puede incluir información de autenticación (por ejemplo, pares de nombre de usuario/contraseña), preferencias del usuario y otra información específica del usuario. La CPU 106 puede acceder a estos datos para ayudar a proporcionar funciones de control (por ejemplo, transmitir y/o recibir una o más señales de control) relacionadas con el funcionamiento de la memoria 107.
La red de comunicación 105 puede ser cualquier red cableada adecuada, red inalámbrica, una combinación de estas o cualquier otra red convencional, sin limitar el alcance de la presente divulgación. Los ejemplos pueden incluir una red de área local (LAN), una conexión LAN inalámbrica, una conexión a Internet, una conexión punto a punto u otra conexión de red y combinaciones de las mismas.
En una realización de la presente divulgación, la cámara 101 está configurada para grabar y almacenar secuencias de vídeo de productos dentro de la tienda minorista y el nodo de procesamiento de vídeo 102 está configurado para procesar las secuencias de vídeo para detectar cualquier actividad de cambio de tickets en la tienda minorista. El cambio de ticket es una actividad fraudulenta en la que un estafador cambia el código de barras o el ticket de precio de un primer artículo por el de otro más barato. El nodo de procesamiento de vídeo 102 facilita la detección automatizada y la disuasión de la actividad de cambio de tickets mediante la determinación de si un código de barras en un artículo transportado por un usuario, coincide con el código de barras esperado del artículo. En una realización de la presente divulgación, el nodo de procesamiento de vídeo 102 está configurado para detectar automáticamente la actividad de cambio de tickets en la tienda minorista utilizando algoritmos de aprendizaje automático (Machine Learning, ML) preentrenados.
En una realización de la presente divulgación, cada uno de los nodos de procesamiento externo primero a tercero 103a a 103c está configurado para facilitar el procesamiento de secuencias de vídeo capturadas por la cámara 101, cuando el nodo de procesamiento de vídeo 102 correspondiente no tiene las capacidades de procesamiento de imágenes requeridas. De esta manera, el exceso de capacidad de procesamiento de los nodos de procesamiento externo primero a tercero 103a a 103c se utiliza para compartir la carga de procesamiento del nodo de procesamiento de vídeo 102. Se debe hacer notar que el algoritmo de aprendizaje automático implementado por el nodo de procesamiento de vídeo 102 es computacionalmente exigente. Por lo tanto, un único nodo de procesamiento de vídeo 102 es incapaz de llevar a cabo todo el procesamiento necesario para un conjunto de secuencias de vídeo. Se considera que el nodo de procesamiento de video 102 está bajo carga pesada, cuando su uso de CPU y/o GPU excede el 80%. El Protocolo de Mensajes de Control de Internet (ICMP) es un protocolo de notificación de errores que los dispositivos de red, como los enrutadores, utilizan para generar mensajes de error a una dirección de Protocolo de Internet (IP) de origen cuando los problemas de red impiden la entrega de paquetes IP. En el presente caso, las respuestas ICMP del nodo de procesamiento de vídeo 102 se pueden personalizar con sus métricas de rendimiento en tiempo real, como el uso de la Unidad Central de Procesamiento (CPU) y/o la Unidad de Procesamiento Gráfico (GPU).
Además, una restricción específica de la actividad de procesamiento de imágenes es que el tiempo de respuesta debe ser de tres segundos o menos. Para lograr el tiempo de respuesta requerido de menos de tres segundos, el servidor de distribución de carga 104 está configurado para habilitar el equilibrio de carga y distribuir las cargas entre la red del nodo de procesamiento de vídeo 102 y los nodos de procesamiento externo primero a tercero 103a a 103c, teniendo en cuenta las características de la red, el uso de los nodos y los fallos de la red.
En una realización de la presente divulgación, existen al menos dos posibles implementaciones prácticas de la invención, a saber, una implementación básica y una implementación de control de tráfico inteligente. De acuerdo con la implementación básica, un nodo solicitante como el nodo de procesamiento de vídeo 102 incluye una lista codificada de las direcciones IP de los nodos de procesamiento externos más próximos geográficamente. El nodo de procesamiento de vídeo 102 transmite el paquete de transmisión al nodo de procesamiento externo más próximo y espera una respuesta que denote la detección, o no, de actividad de conmutación de tickets. Aunque posee la ventaja de la simplicidad de ingeniería, la implementación básica no es sensible a la carga de tráfico dentro de la red ni aborda el problema de la fragilidad de la red (para proporcionar protección contra fallos). La implementación del control de tráfico inteligente se ha explicado en detalle con referencia a las figuras 3A y 3B.
Aunque no se ha mostrado la estructura detallada de los nodos de procesamiento externo primero a tercero 103a a 103c y el servidor de distribución de carga 104 , será evidente para un experto en la materia que cada uno de ellos puede incluir un procesador y una memoria, similar a la del nodo de procesamiento de vídeo 102. Además, aunque sólo un nodo de procesamiento de vídeo 102, y tres nodos de procesamiento externo de 103a a 103c se muestran en aras de la brevedad, será evidente para una persona de habilidad ordinaria en la técnica que estos números pueden variar.
La figura 2 ilustra el reparto de carga entre un nodo de procesamiento de vídeo 102, y el primer nodo de procesamiento externo 103a, de acuerdo con una realización de la presente divulgación. El nodo solicitante, tal como el nodo de procesamiento de vídeo 102 , envía un paquete de transmisión al primer modo de procesamiento externo 103a para su procesamiento. El paquete de transmisión comprende un elemento de vídeo grabado y una carga útil que incluye el Código Universal de Producto (UPC) conocido del producto en cuestión. Las secuencias de vídeo grabadas son un conjunto de fotogramas de vídeo capturados a una resolución determinada (por ejemplo, alta definición (HD) o alta definición completa (FHD)) por la cámara durante el proceso de escaneado. El UPC es la información textual que representa un código de producto de minorista (por ejemplo, "042100005264").
El primer modo de procesamiento externo 103a procesa las secuencias de vídeo grabadas basándose en un algoritmo m L apropiado y devuelve un resultado binario al nodo de procesamiento de vídeo 102. En un ejemplo, un resultado binario "1" indica que se detectó la actividad de cambio de tickets en la secuencia de vídeo grabada, mientras que un resultado binario "0" indica que no se detectó ninguna actividad de cambio de tickets en la secuencia de vídeo grabada. En una realización de la presente divulgación, se entrenan múltiples modelos ML para procesar secuencias de vídeo grabadas (o imágenes de las mismas). Cada modelo ML puede ser cualquier modelo basado en una red neuronal convolucional (CNN) capaz de clasificar una imagen de producto en una o más clases predefinidas. El nodo de procesamiento de vídeo 102 puede decidir qué ML utilizar basándose en el Código Universal de Producto (UPC) del producto en la secuencia de vídeo grabada.
La figura 3 es un diagrama de flujo que ilustra un procedimiento de distribución de carga 300 mediante la implementación de control de tráfico inteligente en una red de nodos de procesamiento, de acuerdo con una realización de la presente divulgación. Algunos pasos pueden ser explicados con respecto al sistema como se muestra en la la figura 1.
En el paso 302, el servidor de distribución de carga 104 puede determinar un subconjunto de nodos de procesamiento externos para un nodo solicitante (también conocido como nodo originador) a partir de un conjunto predefinido de nodos de procesamiento externos. En una realización de la presente divulgación, el nodo de procesamiento de vídeo 102 puede ser el nodo solicitante y el nodo solicitante puede denominarse en lo sucesivo nodo solicitante 102, y el subconjunto incluye los nodos de procesamiento externo primero, segundo y tercero 103a a 103c. Además, el subconjunto puede tener un tamaño predefinido. Por brevedad, el subconjunto determinado se denominará en lo sucesivo "conjunto de procesadores externos" El grupo de procesadores externos comprende los nodos de procesamiento externos más próximos al nodo de procesamiento de vídeo 102. En un ejemplo, si hay 20 nodos de procesamiento externos, 6 de los cuales están próximos al nodo de procesamiento de vídeo 102 , entonces el grupo de procesadores externos puede incluir esos 6 nodos de procesamiento externos. En el contexto de la presente divulgación, el grupo de procesadores externos se configura manualmente cuando se diseña e instala el sistema, y no necesita tener una conexión directa con la cámara 101.
En el paso 304, el nodo solicitante 102 envía un mensaje ICMP a cada nodo de procesamiento externo 103a a 103c del grupo de procesadores externos. En respuesta, el nodo solicitante 102 recibe respuestas de cada uno de los nodos de procesamiento externos 103a a 103c. Los mensajes ICMP se utilizan ampliamente en las redes informáticas para verificar los parámetros básicos de comunicación con un ordenador remoto. El protocolo puede ampliarse para que los mensajes intercambiados contengan información adicional, tal como la carga actual en los nodos de procesamiento externos.
En el paso 306, el servidor de distribución de carga 104 selecciona uno o más nodos de respuesta, basándose en su tiempo de respuesta al nodo solicitante 102 . En una realización de la presente divulgación, los nodos de procesamiento externos que no responden al nodo solicitante dentro de un intervalo de tiempo requerido se denominan "nodos que no responden" El nodo que no responde puede no responder o estar bloqueado debido a un problema de red. Del mismo modo, los nodos de procesamiento externos que sí responden al nodo solicitante dentro del intervalo de tiempo requerido se denominarán en lo sucesivo "nodos que responden" En un ejemplo, de los 6 nodos de procesamiento externo del subconjunto seleccionado en el paso 302, se puede determinar que tres nodos de procesamiento externo responden, mientras que se puede determinar que tres nodos de procesamiento externo no responden. En el contexto de la presente divulgación, el umbral de intervalo de tiempo para el paso de selección 306, puede preconfigurarse durante una fase de instalación del sistema tras una prueba de carga de la red de procesamiento. En un ejemplo, el umbral de intervalo de tiempo puede ser de 1 segundo.
En el paso 308, el servidor de distribución de carga 104 clasifica los nodos que responden de acuerdo con sus tiempos de respuesta. En un ejemplo, el primer nodo de procesamiento externo 103a puede estar clasificado en primer lugar con el tiempo de respuesta más corto, el tercer nodo de procesamiento externo 103c puede estar clasificado en segundo lugar, y el segundo nodo de procesamiento externo 103b puede estar clasificado en tercer lugar. En una realización de la presente divulgación, también se determinan los identificadores (direcciones IP) de los nodos que no responden. El servidor de distribución de carga 104 tiene una lista estática de direcciones IP (identificadores), y no existe un proceso para encontrar dinámicamente las direcciones IP de los nodos de procesamiento externos.
En el paso 310, el servidor de distribución de carga 104 puede preguntar si el nodo de respuesta más rápida, como el primer nodo de procesamiento externo 103a, puede procesar las secuencias de vídeo grabadas por el nodo 102 solicitante . En una realización de la presente divulgación, las respuestas ICMP de cada nodo de procesamiento externo pueden personalizarse con métricas de rendimiento de tiempo actual, como el uso de CPU y/o GPU. Si la utilización de un nodo de procesamiento externo supera un determinado valor umbral (por ejemplo, el 80%), se considera que ese nodo de procesamiento externo está sometido a una carga pesada. De este modo, el nodo de procesamiento externo en cuestión no puede procesar las secuencias de vídeo grabadas.
En el paso 312, el servidor de distribución de carga 104 pregunta a un nodo de respuesta siguiente (es decir, el segundo nodo de respuesta clasificado) si puede procesar la secuencia de vídeo grabada, cuando el primer nodo de respuesta clasificado no puede procesar la secuencia de vídeo grabada. En una realización de la presente divulgación, el servidor de distribución de carga 104 continúa preguntando a los nodos de respuesta restantes, hasta que recibe una respuesta positiva de un nodo de respuesta.
En el paso 314, el servidor de distribución de carga 104 identifica un nodo de procesamiento externo más adecuado basándose en las solicitudes recibidas del nodo solicitante 102 en un día predefinido. Las solicitudes pueden evaluarse mediante la evaluación de perfiles periódicos de carga computacional del nodo de procesamiento externo correspondiente. En una realización de la presente divulgación, pueden establecerse histogramas que muestren el perfil de carga computacional diaria de cada nodo de procesamiento externo dentro del grupo de procesadores externos, a partir de un análisis histórico del tráfico dentro de tiendas minoristas individuales. Por ejemplo, una tienda situada en una zona turística puede presentar un perfil de negocio relativamente plano o cambiante, mientras que una tienda situada en un centro comercial puede presentar picos y caídas de negocio correspondientes a las horas normales de oficina o a las horas lectivas, cuando los clientes están más o menos disponibles para hacer sus compras. Del mismo modo, tiendas geográficamente próximas pueden estar en zonas horarias diferentes, si las tiendas están cerca de las fronteras de las zonas horarias individuales. Así, es posible que los comercios presenten perfiles de horarios comerciales desplazados una hora. El servidor de distribución de carga 104 identifica el nodo de procesamiento externo más adecuado utilizando el análisis histórico del tráfico de años anteriores para un día específico (por ejemplo, implementando tráfico inteligente) o utilizando el patrón de carga reciente analizando las respuestas del día actual.
En otra realización de la presente divulgación, usando su reloj interno, el nodo solicitante 102 puede interrogar a sus propios registros para identificar aquellos nodos que responden cuya carga computacional ha excedido un primer valor umbral Th1 durante un intervalo de tiempo predefinido. Cuando la carga computacional supera el primer valor umbral Th1 , el nodo solicitante 102 no envía secuencias de vídeo grabadas para su procesamiento durante el intervalo de tiempo predefinido. En una realización de la presente divulgación, los nodos de respuesta cuya carga computacional excede el primer valor umbral durante el intervalo de tiempo predefinido se denominarán en lo sucesivo "Nodos externos excluidos de carga anticipada" En el contexto de la presente divulgación, los "Nodos externos excluidos de carga anticipada" también pueden denominarse en la presente memoria descriptiva y en lo que sigue como un primer conjunto de nodos excluidos.
En otra realización de la presente divulgación, el nodo solicitante 102 puede conservar un registro histórico de los nodos de procesamiento externos a los que ha enviado previamente solicitudes de procesamiento de vídeo ese día. Si el número de solicitudes de procesamiento de vídeo enviadas en el intervalo de tiempo inmediatamente anterior por el nodo solicitante a un nodo de procesamiento externo determinado supera un segundo valor umbral, el nodo de procesador externo correspondiente se elimina del grupo de procesadores externos. En aras de la brevedad, los nodos eliminados pueden denominarse en lo sucesivo "Nodos de procesamiento externo excluidos del uso anterior". En el contexto de la presente divulgación, los "Nodos externos excluidos del uso anterior" pueden denominarse también en la presente memoria descriptiva y en lo que sigue como un segundo conjunto de nodos excluidos.
En un ejemplo, el servidor de distribución de carga 104 identifica el primer nodo de procesamiento de vídeo externo 103a como el nodo de procesamiento externo más adecuado para el nodo solicitante 102 utilizando una regla predefinida. La regla predefinida incluye la identificación del nodo de procesamiento externo de respuesta más rápida que no sea un nodo excluido de carga anticipada ni un nodo externo excluido de uso previo.
En el paso 316, el nodo solicitante 102 envía un paquete de transmisión al primer nodo de procesamiento externo 103a identificado para su procesamiento. El paquete de transmisión comprende un elemento de vídeo grabado y una carga útil que incluye el código de barras conocido del producto en cuestión. El primer nodo de procesamiento externo 103a procesa las secuencias de vídeo basándose en un modelo ML apropiado. Un ejemplo de modelo ML es la red neuronal convolucional (CNN). El tratamiento de las secuencias de vídeo consiste en inferirlas mediante el modelo ML. La inferencia es un proceso en el que el modelo ML consume la entrada para producir la salida, en este caso, la decisión de si se ha detectado o no un cambio de ticket en la secuencia de vídeo grabada.
En el paso 318, se devuelve un resultado binario al nodo 102 solicitante. En un ejemplo, un resultado binario "1" indica que se ha detectado la actividad de cambio de tickets en la secuencia de vídeo grabada, mientras que un resultado binario "0" indica que no se ha detectado ninguna actividad de cambio de tickets en la secuencia de vídeo grabada. Una ventaja de la implementación de control de tráfico inteligente incluye su robustez ante fallos dentro de la red y su capacidad para redirigir las solicitudes de procesamiento de vídeo (es decir, paquetes de transmisión) en consecuencia. Otra ventaja de la implementación del control de tráfico inteligente incluye su robustez y adaptabilidad a la variabilidad y a la variabilidad anticipada de la carga computacional en un nodo de procesamiento externo dado, derivada de la actividad comercial dentro del almacén anfitrión relevante en un momento dado del día.
Como apreciarán los expertos en la técnica, los pasos del procedimiento pueden implementarse mediante un código adecuado en un sistema basado en procesador, tal como un ordenador de propósito general o especial (es decir, una máquina). También se debe tener en cuenta que diferentes implementaciones de la presente técnica pueden realizar algunos o todos los pasos descritos en la presente memoria descriptiva en diferentes órdenes o sustancialmente simultáneamente, es decir, en paralelo. Además, las funciones pueden implementarse en diversos lenguajes de programación. Dicho código, como sabrán apreciar los expertos en la técnica, puede almacenarse o adaptarse para su almacenamiento en uno o más medios tangibles no transitorios legibles por máquina, como chips de memoria, discos duros locales o remotos, discos ópticos u otros medios, a los que puede acceder un sistema basado en procesador para ejecutar el código almacenado. Se hace notar que el soporte tangible puede ser papel u otro medio adecuado en el que se impriman las instrucciones. Por ejemplo, las instrucciones pueden capturarse electrónicamente mediante escaneado óptico del papel u otro medio, a continuación compilarse, interpretarse o procesarse de otro modo de una manera adecuada si es necesario, y a continuación almacenarse en una memoria de ordenador.
Las modificaciones a las realizaciones de la presente divulgación descritas en lo que antecede son posibles sin apartarse del alcance de la presente divulgación tal como se define en las reivindicaciones adjuntas.

Claims (16)

REIVINDICACIONES
1. Un procedimiento para distribuir carga en una red de nodos de procesamiento (103), en el que la red incluye un nodo solicitante, y un conjunto de nodos de procesamiento externos, el procedimiento comprende:
enviar un mensaje de Protocolo de Control de Mensajes de Internet ICMP (a cada nodo de procesamiento externo;
clasificar cada nodo de procesamiento externo como nodo que responde o no responde basándose en el tiempo de respuesta correspondiente de cada mensaje ICMP;
identificar un nodo de respuesta que tenga la capacidad de satisfacer una solicitud de procesamiento de vídeo enviada por el nodo solicitante;
determinar un primer conjunto de nodos de respuesta excluidos, en el que una carga computacional en cada nodo de respuesta excluido del primer conjunto durante un primer intervalo de tiempo predefinido supera un primer umbral;
determinar un segundo conjunto de nodos de respuesta excluidos, en el que un número de solicitudes de procesamiento de vídeo recibidas por cada nodo de respuesta excluido del segundo conjunto desde el nodo solicitante durante un intervalo de tiempo precedente supera un segundo umbral;
seleccionar (314) un nodo identificado para satisfacer la solicitud de procesamiento de vídeo, en el que el nodo identificado no forma parte de los conjuntos primero y segundo de nodos de respuesta excluidos; enviar (316) un paquete de transmisión desde el nodo solicitante al nodo identificado seleccionado para su procesamiento; y
recibir (318) una respuesta binaria del nodo identificado seleccionado.
2. El procedimiento de la reivindicación 1, en el que uno o más del conjunto de nodos de procesamiento externos se determinan en función de su proximidad al nodo solicitante.
3. El procedimiento de la reivindicación 1, en el que el paquete de transmisión comprende una secuencia de vídeo grabada y una carga útil que comprende un código de barras conocido de un producto asociado.
4. El procedimiento de la reivindicación 3, en el que la respuesta binaria incluye un resultado binario, en el que el resultado binario "1" indica la presencia de actividad de cambio de tickets en la secuencia de vídeo grabada, y el resultado binario "0" indica la ausencia de actividad de cambio de tickets en la secuencia de vídeo grabada.
5. El procedimiento de la reivindicación 1, en el que cada nodo que responde, responde al mensaje ICMP del nodo solicitante dentro de un segundo intervalo de tiempo predefinido.
6. El procedimiento de la reivindicación 1 que comprende además registrar las direcciones IP de uno o más nodos que no responden.
7. El procedimiento de la reivindicación 1, en el que el paso de identificar el nodo de respuesta comprende los pasos de:
clasificar uno o más nodos de respuesta en función de los tiempos de respuesta correspondientes; preguntar si el primer nodo clasificado tiene capacidad para procesar la secuencia de vídeo; y continuar la consulta a un nodo de rango siguiente cuando un nodo de rango anterior no tiene capacidad para procesar la secuencia de vídeo.
8. El procedimiento de la reivindicación 1, en el que el paquete de transmisión se procesa en el nodo seleccionado utilizando una red neuronal convolucional, CNN.
9. Un sistema que comprende:
una cámara (101) configurada para grabar una secuencia de vídeo;
un nodo solicitante acoplado comunicativamente a la cámara y configurado para recibir las secuencias de vídeo para su procesamiento;
un conjunto de nodos de procesamiento externos (103) acoplados comunicativamente al nodo solicitante; y un servidor de distribución de carga (104) acoplado comunicativamente al nodo solicitante y al conjunto de nodos de procesamiento externos y que comprende un procesador, en el que el procesador está configurado para:
enviar un mensaje del Protocolo de Mensajes de Control de Internet, ICMP, a cada nodo de procesamiento externo;
clasificar cada nodo de procesamiento externo como nodo que responde o no responde en función del tiempo de respuesta correspondiente de cada mensaje ICMP;
identificar un nodo de respuesta que tenga la capacidad de satisfacer una solicitud de procesamiento de vídeo enviada por el nodo solicitante;
determinar un primer conjunto de nodos de respuesta excluidos, en el que la carga computacional de cada nodo de respuesta excluido del primer conjunto durante un primer intervalo de tiempo predefinido supera un primer umbral;
determinar un segundo conjunto de nodos de respuesta excluidos, en el que un número de solicitudes de procesamiento de vídeo recibidas por cada nodo de respuesta excluido del segundo conjunto desde el nodo solicitante durante un intervalo de tiempo precedente supera un segundo umbral;
seleccionar un nodo identificado para satisfacer la solicitud de procesamiento de vídeo, en el que el nodo identificado no forma parte de los conjuntos primero y segundo de nodos de respuesta excluidos; enviar un paquete de transmisión al nodo identificado seleccionado para su procesamiento; y
recibir y transmitir una respuesta binaria al nodo solicitante.
10. El sistema de la reivindicación 9, en el que uno o más del conjunto de nodos de procesamiento externos se determinan en función de su proximidad al nodo solicitante.
11. El sistema de la reivindicación 9, en el que el paquete de transmisión comprende una secuencia de vídeo grabada y una carga útil que comprende un código de barras conocido de un producto asociado.
12. El sistema de la reivindicación 11, en el que la respuesta binaria incluye un resultado binario, y en el que un resultado binario "1" indica la presencia de actividad de cambio de tickets en la secuencia de vídeo grabada, y en el que un resultado binario "0" indica la ausencia de actividad de cambio de tickets en la secuencia de vídeo grabada.
13. El sistema de la reivindicación 9, en el que cada nodo de respuesta responde al mensaje ICMP del nodo solicitante dentro de un segundo intervalo de tiempo predefinido.
14. El sistema de la reivindicación 9, en el que el procesador está configurado además para registrar las direcciones IP de uno o más nodos que no responden.
15. El sistema de la reivindicación 9, en el que el procesador está configurado además para:
clasificar uno o más nodos en función de los tiempos de respuesta correspondientes;
preguntar si el primer nodo clasificado tiene capacidad para procesar la secuencia de vídeo; y seguir preguntando al siguiente nodo clasificado cuando un nodo clasificado anteriormente no tiene capacidad para procesar la secuencia de vídeo.
16. El sistema de la reivindicación 9, en el que el paquete de transmisión se procesa en el nodo seleccionado utilizando una red neuronal convolucional, CNN.
ES20771618T 2019-09-06 2020-09-04 Sistema informático distribuido para procesamiento intensivo de vídeo Active ES2969719T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962896661P 2019-09-06 2019-09-06
PCT/IB2020/058254 WO2021044364A1 (en) 2019-09-06 2020-09-04 Distributed computing system for intensive video processing

Publications (1)

Publication Number Publication Date
ES2969719T3 true ES2969719T3 (es) 2024-05-22

Family

ID=72473586

Family Applications (1)

Application Number Title Priority Date Filing Date
ES20771618T Active ES2969719T3 (es) 2019-09-06 2020-09-04 Sistema informático distribuido para procesamiento intensivo de vídeo

Country Status (12)

Country Link
US (2) US11362915B2 (es)
EP (1) EP4026342B1 (es)
JP (1) JP7238208B2 (es)
KR (1) KR20220054431A (es)
CN (1) CN114424510B (es)
AU (1) AU2020343927B2 (es)
BR (1) BR112022002516A2 (es)
CA (1) CA3152074C (es)
CO (1) CO2022001808A2 (es)
ES (1) ES2969719T3 (es)
MX (1) MX2022002742A (es)
WO (1) WO2021044364A1 (es)

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912954B1 (en) 2003-06-27 2011-03-22 Oesterreicher Richard T System and method for digital media server load balancing
US7908314B2 (en) * 2005-03-23 2011-03-15 Hitachi, Ltd. Method for controlling a management computer
EP1872307A4 (en) * 2005-03-29 2012-10-03 Stoplift Inc METHOD AND APPARATUS FOR DETECTING SUSPICENT ACTIVITY USING VIDEO ANALYSIS
JP4916809B2 (ja) * 2006-08-04 2012-04-18 日本電信電話株式会社 負荷分散制御装置および方法
US20090272801A1 (en) * 2008-04-30 2009-11-05 Connell Ii Jonathan H Deterring checkout fraud
CN101370030B (zh) * 2008-09-24 2011-03-16 东南大学 基于内容复制的资源负载平衡方法
JP2011197796A (ja) 2010-03-17 2011-10-06 Fujitsu Frontech Ltd 負荷分散制御装置
US8533337B2 (en) * 2010-05-06 2013-09-10 Citrix Systems, Inc. Continuous upgrading of computers in a load balanced environment
CN102404390B (zh) * 2011-11-07 2013-11-27 广东电网公司电力科学研究院 高速实时数据库的智能化动态负载均衡方法
US9167047B1 (en) 2014-09-24 2015-10-20 Oracle International Corporation System and method for using policies to support session recording for user account management in a computing environment
US9148454B1 (en) 2014-09-24 2015-09-29 Oracle International Corporation System and method for supporting video processing load balancing for user account management in a computing environment
US10223604B2 (en) * 2016-11-06 2019-03-05 Microsoft Technology Licensing, Llc Live video analytics at scale
US10673936B2 (en) * 2016-12-30 2020-06-02 Walmart Apollo, Llc Self-organized retail source request routing and distributed load sharing systems and methods
MX2020008117A (es) * 2018-01-31 2021-08-24 Walmart Apollo Llc Sistemas y metodos para verificar etiquetas legibles por maquina asociadas con mercancias.
EP3576409A1 (en) 2018-06-01 2019-12-04 Canon Kabushiki Kaisha A load balancing method for video decoding in a system providing hardware and software decoding resources
CN109714648B (zh) * 2018-12-03 2021-09-03 南方电网科学研究院有限责任公司 一种视频流负载均衡方法和装置
CN110087107B (zh) * 2019-04-25 2022-01-14 视联动力信息技术股份有限公司 一种提高系统自适应能力的方法和视联网系统
US11222276B2 (en) * 2019-05-24 2022-01-11 International Business Machines Corporation Response collaboration among multiple artificial intelligence (AI) systems
CN111193788A (zh) 2019-12-24 2020-05-22 视联动力信息技术股份有限公司 一种音视频流负载均衡方法和装置

Also Published As

Publication number Publication date
WO2021044364A1 (en) 2021-03-11
US11695670B2 (en) 2023-07-04
CA3152074A1 (en) 2021-03-11
AU2020343927B2 (en) 2023-03-30
US11362915B2 (en) 2022-06-14
CN114424510B (zh) 2024-02-09
EP4026342B1 (en) 2023-10-25
AU2020343927A1 (en) 2022-03-17
US20210075708A1 (en) 2021-03-11
MX2022002742A (es) 2022-04-06
KR20220054431A (ko) 2022-05-02
JP7238208B2 (ja) 2023-03-13
CA3152074C (en) 2023-07-04
US20220272011A1 (en) 2022-08-25
BR112022002516A2 (pt) 2022-07-19
CO2022001808A2 (es) 2022-03-29
EP4026342A1 (en) 2022-07-13
JP2022547515A (ja) 2022-11-14
CN114424510A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
US10966342B2 (en) System and method for determining location and navigating a datacenter using augmented reality and available sensor data
BR112019009547A2 (pt) método para autenticação de identidade e dispositivo de autenticação de identidade
US20150324635A1 (en) Methods, systems, and apparatuses for visitor monitoring
US9954898B2 (en) Data flow forwarding method and device
Boice et al. Meerkats: A power-aware, self-managing wireless camera network for wide area monitoring
CN108205646A (zh) 一种手部姿态检测方法及装置
CN106155813A (zh) 管理计算系统中的计算设备
JP6847881B2 (ja) 空席情報提供システム、サーバ、空席情報提供方法およびプログラム
ES2969719T3 (es) Sistema informático distribuido para procesamiento intensivo de vídeo
US20170277525A1 (en) Device provisioning
US9635009B2 (en) Dynamic activation of service indicators based upon service personnel proximity
Wu et al. Parallel detection for efficient video analytics at the edge
US11695838B2 (en) Method, computing unit and system for token-based information exchange
US10074098B2 (en) Demographic information collection and content display based on demographic information
US7665089B1 (en) Facilitating distributed thread migration within an array of computing nodes
CN111783500B (zh) 检测电子价签位置变化的方法及装置
US20240236015A1 (en) Synchronization of access to a distributed network resource from multiple hosts
WO2022003908A1 (ja) 情報処理装置、通信システム、生成制御方法、及び生成制御プログラム
WO2022158178A1 (ja) 画像処理装置、画像処理方法及びプログラム
AU2023205073A1 (en) Systems and methods for sharing analytical resources in a camera network
KR20240116103A (ko) 부착형 위치 정보 제공 장치
CN114863559A (zh) 一种定位方法、装置及存储介质
CN115323713A (zh) 一种洗衣机及其控制方法
WO2019033375A1 (zh) 一种查询处理方法、服务器及存储介质