Method and systems for providing data to a remote site
Abstract
A procedure carried out by a server of the Remote Management System (20) to provide the requested data, the method comprises: receiving in a server of the Remote Management System (20) a request for data; the data request specifies a gateway (10); the gateway (10) interconnects a local site (12) to a network (45); data production devices are installed at the local site; the gateway (10) is also directly connected to the data production devices; where the local site does not use sophisticated firewall security solutions; the gateway (10) is operatively connected via a network to the Remote Management System server (20); an operational connection between the gateway (10) and the Remote Management System server (20) remains open while the gateway (10) remains activated; the data request comprises a predetermined port number in a server of the Support Gateway (30) and a data production device specific to the data production devices installed in the local network; the request for data originate from a remote site (40); requesting data provided by the remote site to the Support Gateway server (30); the Support Gateway server (30) provides the data request directly to the Remote Management System server (20); and formatting and sending, from the Remote Management System server (20), the data request to the gateway (10); the gateway (10) connects directly through the network to the server of the Support Gateway (30); the data production devices are different from the Remote Management System server (20) and the Support Gateway server (30); the data production devices comprise at least one component selected from among a camera, a binary switch, a multilevel switch, a binary sensor, thermostat controls, an access control device, sirens, doorbells, an output device voice, a stepper motor controller or a PWM speed controller; where the data is retrieved by the gateway (10) from the specific data production device and provided, over the network, to the Support Gateway server (30) on the predetermined port number; the server of the Support Gateway (30) provides the data, through the network, to the remote site; receive, from the gateway (10), in the Remote Management System server (20), data of components that characterize a component operatively connected to the gateway (10), where the component is a production device of data; obtaining, in the server of the Remote Management System (20), a virtual representation of said component: the virtual representation comprises a virtual control interface: the virtual control interface allows to provide commands / instructions to the component; providing, from the Remote Management System server (20), commands / instructions to the component operatively connected to the gateway (10).
Term
8.4 yearsto projected expiry
Projected expiry 19 February 2035, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
13 claims: 4 independent, 9 dependent
- 1ES 2 813 402 T3 REIVINDICACIONES 1. Un procedimiento realizado por un servidor del Sistema de Gestión Remota (20) para proporcionar los datos solicitados, el procedimiento comprende:recibir en un servidor del Sistema de Gestión Remota (20) una solicitud de datos;la solicitud de datos especifica una puerta de enlace (10);la puerta de enlace (10) interconecta un sitio local (12) a una red (45);dispositivos de producción de datos se instalan en el sitio local;la puerta de enlace (10) también está conectada directamente a los dispositivos de producción de datos;donde el sitio local no utiliza soluciones de seguridad de firewall sofisticadas;la puerta de enlace (10) está operativamente conectada a través de una red al servidor del Sistema de Gestión Remota (20);una conexión operativa entre la puerta de enlace (10) y el servidor del Sistema de Gestión Remota (20) permanece abierta mientras la puerta de enlace (10) permanece activada;la solicitud de datos comprende un número de puerto predeterminado en un servidor de la Puerta de Enlace de Soporte (30) y un dispositivo de producción de datos específico de los dispositivos de producción de datos instalados en la red local;la solicitud de datos se originan en un sitio remoto (40);la solicitud de datos proporcionados por el sitio remoto al servidor de la Puerta de Enlace de Soporte (30);el servidor de la Puerta de Enlace de Soporte (30) proporciona la solicitud de datos directamente al servidor del Sistema de Gestión Remota (20);y formatear y enviar, desde el servidor del Sistema de Gestión Remota (20), la solicitud de datos a la puerta de enlace (10);la puerta de enlace (10) se conecta directamente a través de la red al servidor de la Puerta de Enlace de Soporte (30);los dispositivos de producción de datos son diferentes del servidor del Sistema de Gestión Remota (20) y del servidor de la Puerta de Enlace de Soporte (30);los dispositivos de producción de datos comprenden al menos un componente seleccionado de entre una cámara, un interruptor binario, un interruptor de niveles múltiples, un sensor binario, controles de termostato, un dispositivo de control de acceso, sirenas, timbres, un dispositivo de salida de voz, un controlador de motor paso a paso o un controlador de velocidad PWM;donde los datos son recuperados por la puerta de enlace (10) desde el dispositivo de producción de datos específico y proporcionados, a través de la red, al servidor de la Puerta de Enlace de Soporte (30) en el número de puerto predeterminado;el servidor de la Puerta de Enlace de Soporte (30) proporciona los datos, a través de la red, al sitio remoto;recibir, desde la puerta de enlace (10), en el servidor del Sistema de Gestión Remota (20), datos de componentes que caracterizan un componente conectado operativamente a la puerta de enlace (10), donde el componente es un dispositivo de producción de datos;obtener, en el servidor del Sistema de Gestión Remota (20), una representación virtual de dicho componente: la representación virtual comprende una interfaz de control virtual: la interfaz de control virtual permite proporcionar comandos/instrucciones al componente;proporcionando, desde el servidor del Sistema de Gestión Remota (20), comandos/instrucciones al componente conectado operativamente a la puerta de enlace (10).
- 2El procedimiento de la reivindicación 1, que comprende además al menos una de las siguientes etapas:proporcionar a la puerta de enlace (10), desde el servidor del Sistema de Gestión Remota (20), datos de configuración para modificar o actualizar la configuración de la puerta de enlace (10);o proporcionar a la puerta de enlace (10), desde el servidor del Sistema de Gestión Remota (20), instrucciones para iniciar o detener las operaciones de un dispositivo de producción de datos.
- 3Un procedimiento realizado por un servidor de la Puerta de Enlace de Soporte (30) para proporcionar los datos solicitados, el procedimiento comprende:enviar, desde el servidor de la Puerta de Enlace de Soporte (30), a un servidor del Sistema de Gestión Remota (20) una solicitud de datos;la solicitud de datos especifica una puerta de enlace;la puerta de enlace (10) interconecta un sitio local a una red;dispositivos de producción de datos se instalan en el sitio local;la puerta de enlace (10) también está conectada directamente a los dispositivos de producción de datos;donde el sitio local no utiliza soluciones de seguridad de firewall sofisticadas;la solicitud de datos se originan en un sitio remoto;la solicitud de datos es proporcionada por el sitio remoto al servidor de la Puerta de Enlace de Soporte (30);el servidor de la Puerta de Enlace de Soporte (30) proporciona la solicitud de datos directamente al servidor del Sistema de Gestión Remota (20);la puerta de enlace (10) está operativamente conectada a través de una red al servidor del Sistema de Gestión Remota (20);una conexión operativa entre la puerta de enlace (10) y el servidor del Sistema de Gestión Remota (20) permanece abierta mientras la puerta de enlace (10) permanece activa;la solicitud de datos comprende un número de puerto predeterminado en el servidor de la Puerta de Enlace de Soporte (30) y un dispositivo de producción de datos específico de los dispositivos de producción de datos instalados en la red local;donde el servidor del Sistema de Gestión Remota (20) formatea y envía la solicitud de datos a la puerta de enlace (10) y donde los datos son recuperados por la puerta de enlace (10);la puerta de enlace (10) se conecta directamente a través de la red al servidor de la Puerta de Enlace de Soporte (30);los dispositivos de producción de datos son diferentes del servidor del Sistema de Gestión Remota (20) y del servidor de la Puerta de Enlace de Soporte (30);los dispositivos de producción de datos comprenden al menos un componente seleccionado de entre una cámara, un interruptor binario, un interruptor de niveles múltiples, un sensor binario, controles de termostato, ES 2 813 402 T3 un dispositivo de control de acceso, sirenas, timbres, un dispositivo de salida de voz, un controlador de motor paso a paso o un controlador de velocidad PWM;donde el servidor del Sistema de Gestión Remota (20) recibe, desde la puerta de enlace (10), datos de componentes que caracterizan un componente conectado operativamente a la puerta de enlace (10), donde el componente es un dispositivo de producción de datos;obtener, en el servidor del Sistema de Gestión Remota (20), una representación virtual de dicho componente: la representación virtual comprende una interfaz de control virtual: la interfaz de control virtual permite proporcionar comandos/instrucciones al componente;donde el servidor del Sistema de Gestión Remota (20) proporciona comandos/instrucciones al componente conectado operativamente a la puerta de enlace (10);y recibir, en el servidor de la Puerta de Enlace de Soporte (30) y a través de la red, los datos en el número de puerto predeterminado;los datos son proporcionados por la puerta de enlace (10);el servidor de la Puerta de Enlace de Soporte (30) proporciona los datos, a través de la red, al sitio remoto.
- 4El procedimiento de la reivindicación 3, donde el servidor de la Puerta de Enlace de Soporte (30) comprende un componente de medición de velocidad de datos; y donde el procedimiento comprende, además:enviar, a través de la red, una señal de inicio, desde el servidor de la Puerta de Enlace de Soporte (30) a la puerta de enlace (10), con el fin de iniciar una prueba de medición de la velocidad de datos para medir las velocidades de datos entre el servidor de la Puerta de Enlace de Soporte (30) y la puerta de enlace (10);donde, después del inicio de la prueba de medición de la velocidad de datos, la puerta de enlace (10) proporciona los datos de prueba al servidor de la Puerta de Enlace de Soporte (30);determinar, utilizando el componente de medición de velocidad de datos, una velocidad de datos entre el servidor de la Puerta de Enlace de Soporte (30) y la puerta de enlace (10);proporcionar, desde el servidor de la Puerta de Enlace de Soporte (30), la velocidad de datos a la puerta de enlace (10);donde se calcula un tamaño de bloque de datos en la puerta de enlace (10) con el fin de garantizar sustancialmente una velocidad de bloques de datos predeterminada.
- 5Un procedimiento realizado por una puerta de enlace (10) para proporcionar los datos solicitados, el procedimiento comprende:conectar operativamente una puerta de enlace (10), a través de una red, a un servidor del Sistema de Gestión Remota (20);la puerta de enlace (10) interconecta un sitio local a una red;dispositivos de producción de datos se instalan en el sitio local;la puerta de enlace (10) también está conectada directamente a los dispositivos de producción de datos: donde el sitio local no utiliza soluciones de seguridad de firewall sofisticadas;recibir, en la puerta de enlace (10), una solicitud de datos del servidor del Sistema de Gestión Remota (20);la solicitud de datos comprende un número de puerto predeterminado en un servidor de la Puerta de Enlace de Soporte (30) y un dispositivo de producción de datos específico de los dispositivos de producción de datos instalados en la red local;la solicitud de datos se origina en un sitio remoto;la solicitud de datos es proporcionada por el sitio remoto al servidor de la Puerta de Enlace de Soporte (30);el servidor de la Puerta de Enlace de Soporte (30) proporciona la solicitud de datos directamente al servidor del Sistema de Gestión Remota (20);una conexión operativa entre la puerta de enlace (10) y el servidor del Sistema de Gestión Remota (20) permanece abierta mientras la puerta de enlace (10) permanece activa;recuperar, en la puerta de enlace (10), los datos del dispositivo de producción de datos específico;la puerta de enlace (10) se conecta directamente a través de la red al servidor de la Puerta de Enlace de Soporte (30);los dispositivos de producción de datos son diferentes del servidor del Sistema de Gestión Remota (20) y del servidor de la Puerta de Enlace de Soporte (30);los dispositivos de producción de datos comprenden al menos un componente seleccionado de entre una cámara, un interruptor binario, un interruptor de niveles múltiples, un sensor binario, controles de termostato, un dispositivo de control de acceso, sirenas, timbres, un dispositivo de salida de voz, un controlador de motor paso a paso o un controlador de velocidad PWM;conectar operativamente la puerta de enlace (10), a través de la red, a un puerto en el servidor de la Puerta de Enlace de Soporte (30);el puerto corresponde al número de puerto predeterminado;enviar, desde la puerta de enlace (10), los datos al número de puerto predeterminado en el servidor de la Puerta de Enlace de Soporte (30);donde el servidor de la Puerta de Enlace de Soporte (30) proporciona los datos, a través de la red, al sitio remoto;y enviar, desde la puerta de enlace (10), al servidor del Sistema de Gestión Remota (20), datos de componentes que caracterizan un componente conectado operativamente a la puerta de enlace (10), donde el componente es un dispositivo de producción de datos;obtener, en el servidor del Sistema de Gestión Remota (20), una representación virtual de dicho componente: la representación virtual comprende una interfaz de control virtual: la interfaz de control virtual permite proporcionar comandos/instrucciones al componente;donde el servidor del Sistema de Gestión Remota (20) proporciona comandos/instrucciones al componente conectado operativamente a la puerta de enlace (10). ES 2 813 402 T3
- 6El procedimiento de la reivindicación 5, donde el servidor de la Puerta de Enlace de Soporte (30) comprende un componente de medición de velocidad de datos; y donde el procedimiento comprende además:recibir, en la puerta de enlace (10) y a través de la red, una señal de inicio del servidor de la Puerta de Enlace de Soporte (30), con el fin de iniciar una prueba de medición de velocidad de datos para medir las velocidades de datos entre el servidor de la Puerta de Enlace de Soporte (30);proporcionar, desde la puerta de enlace (10) y después del inicio de la prueba de medición de velocidad de datos, datos de prueba al servidor de la Puerta de Enlace de Soporte (30);donde una velocidad de datos entre el servidor de la Puerta de Enlace de Soporte (30) y la puerta de enlace (10) se determina utilizando el componente de medición de la velocidad de datos y se proporciona, a través de la red, a la puerta de enlace (10);y calcular, en la puerta de enlace (10), un tamaño de bloque de datos para garantizar sustancialmente una velocidad de bloques de datos predeterminada.
- 7El procedimiento de la reivindicación 5, estando configurado en al menos una de las siguientes formas:recibir, en la puerta de enlace (10), desde el servidor del Sistema de Gestión Remota (20), datos de configuración para modificar o actualizar la configuración de la puerta de enlace (10);recibir, en la puerta de enlace (10), del servidor del Sistema de Gestión Remota (20), instrucciones para iniciar o detener las operaciones de un dispositivo de producción de datos.
- 8Un sistema que comprende:un servidor del Sistema de Gestión Remota (20);un servidor de la Puerta de Enlace de Soporte (30) conectado operativamente a través de una red al servidor del Sistema de Gestión Remota (20);y un componente de puerta de enlace (10) conectado operativamente a través de la red al servidor del Sistema de Gestión Remota (20) y al servidor de la Puerta de Enlace de Soporte (30);el componente de puerta de enlace interconecta un sitio local a una red;dispositivos de producción de datos se instalan en el sitio local;donde los dispositivos de producción de datos comprenden al menos un componente seleccionado de entre una cámara, un interruptor binario, un interruptor multinivel, un sensor binario, controles de termostato, un dispositivo de control de acceso, sirenas, timbres, un dispositivo de salida de voz, un controlador de motor paso a paso, o un controlador de velocidad PWM: donde el sitio local no utiliza soluciones de seguridad de firewall sofisticadas;una conexión operativa entre el componente de puerta de enlace y el servidor del Sistema de Gestión Remota (20) permanece abierta mientras el componente de puerta de enlace permanezca activado;el servidor del Sistema de Gestión Remota (20) está configurado para: recibir una solicitud de datos directamente del servidor de la Puerta de Enlace de Soporte (30);la solicitud de datos especifica el componente de puerta de enlace (10) y un dispositivo de producción de datos específico de los dispositivos de producción de datos instalados en la red local;la solicitud de datos comprende un número de puerto predeterminado en el servidor de la Puerta de Enlace de Soporte (30);y formatear y enviar la solicitud de datos al componente de puerta de enlace (10);recibir, desde el componente de puerta de enlace (10), en el servidor del Sistema de Gestión Remota (20), datos de componentes que caracterizan a un componente conectado operativamente a la puerta de enlace (10), donde el componente es un dispositivo de producción de datos: obtener, en el servidor del Sistema de Gestión Remota (20), una representación virtual de dicho componente: la representación virtual comprende una interfaz de control virtual: la interfaz de control virtual permite proporcionar comandos/instrucciones al componente;proporcionar, desde el servidor del Sistema de Gestión Remota (20), comandos/instrucciones al componente conectado operativamente a la puerta de enlace (10);el servidor de la Puerta de Enlace de Soporte (30) está configurado para: recibir, desde la puerta de enlace (10), los datos en el número de puerto predeterminado;los datos son proporcionados directamente por el componente de puerta de enlace (10);proporcionar los datos, a través de la red, al sitio remoto;y el componente de puerta de enlace (10) está configurado para: recibir del servidor del Sistema de Gestión Remota la solicitud de datos;recuperar los datos del dispositivo de producción de datos específico;el dispositivo de producción de datos específicos está conectado operativamente a la puerta de enlace (10);el dispositivo de producción de datos ES 2 813 402 T3 específico es diferente del servidor del Sistema de Gestión Remota (20) y del servidor de la Puerta de Enlace de Soporte (30);conectarse operativamente, a través de la red, a un puerto en el servidor de la Puerta de Enlace de Soporte (30);el puerto corresponde al número de puerto predeterminado;y enviar los datos al número de puerto predeterminado en el servidor de la Puerta de Enlace de Soporte (30).
- 9El sistema de la reivindicación 8, donde el servidor de la Puerta de Enlace de Soporte (30) también está configurado para enviar al servidor (20) del Sistema de Gestión Remota la solicitud de datos.
- 10El sistema de la reivindicación 9, donde el servidor de la Puerta de Enlace de Soporte (30) también está configurado para:recibir la solicitud de datos de un sitio remoto;y enviar, después de recibir los datos, los datos al sitio remoto.
- 11El sistema de la reivindicación 8, donde el servidor de la Puerta de Enlace de Soporte (30) comprende un subsistema de medición de velocidad de datos; donde el servidor de la Puerta de Enlace de Soporte (30) también está configurado para:enviar, a través de la red, una señal de inicio al componente de puerta de enlace (10) para iniciar una prueba de medición de velocidad de datos para medir las velocidades de datos entre el servidor de la Puerta de Enlace de Soporte (30) y el componente de puerta de enlace (10);donde el componente de puerta de enlace (10) también está configurado para, después del inicio de la prueba de medición de la velocidad de datos, proporcionar datos de prueba al servidor de la Puerta de Enlace de Soporte (30);y donde el servidor de la Puerta de Enlace de Soporte (30) está configurado además para: determinar, utilizando el subsistema de medición de velocidad de datos, una velocidad de datos entre el servidor de la Puerta de Enlace (30) y el componente de puerta de enlace (10);y proporcionar la velocidad de datos al componente de puerta de enlace (10);y donde el componente de puerta de enlace (10) está configurado además para calcular un tamaño de bloque de datos con el fin de garantizar sustancialmente una velocidad de bloques de datos predeterminada.
- 12El sistema de la reivindicación 8, donde el servidor (20) del Sistema de Gestión Remota también está configurado para:proporcionar, al componente de la puerta de enlace (10), datos de configuración para modificar o actualizar la configuración del componente de la puerta de enlace (10);proporcionar, a la puerta de enlace (10), instrucciones para iniciar o detener las operaciones de un dispositivo de producción de datos.
- 13El sistema de la reivindicación 9, donde el servidor del Sistema de Gestión Remota (20) comprende:al menos un primer procesador;y primeros medios utilizables por ordenador;dichos primeros medios utilizables por ordenador y dicho al menos un primer procesador conectados operativamente;donde el servidor de la Puerta de Enlace de Soporte (30) comprende: al menos un segundo procesador;y segundos medios utilizables por ordenador;dichos segundos medios utilizables por ordenador y dicho al menos un segundo procesador conectados operativamente;dichos primeros medios utilizables por ordenador tienen un primer código legible por ordenador incorporado en el mismo, el primer código legible por ordenador provoca que el al menos un primer procesador: recibir una solicitud de datos;la solicitud de datos especifica el componente de puerta de enlace (10);la solicitud de datos comprende un número de puerto predeterminado en un servidor de la Puerta de Enlace de Soporte (30);y enviar la solicitud de datos al componente de puerta de enlace (10);dichos segundos medios utilizables por ordenador tienen un segundo código legible por ordenador incorporado, el segundo código legible por ordenador provoca que el al menos un segundo procesador: reciba los datos en el número de puerto predeterminado;los datos son proporcionados por el componente de puerta de enlace (10);y. ES 2 813 402 T3 donde el componente de puerta de enlace (10) comprende: al menos un tercer procesador;y terceros medios utilizables por ordenador que tienen un tercer código legible por ordenador incorporado, el 5 tercer código legible por ordenador hace que el al menos un tercer procesador: reciba, desde el servidor del Sistema de Gestión Remota, la solicitud de datos;recupere los datos del dispositivo de producción de datos específico;se conecte operativamente, a través de la red, a un puerto en el servidor de la Puerta de Enlace de Soporte 10 (30);el puerto corresponde al número de puerto predeterminado;y envíe los datos al servidor de la Puerta de Enlace de Soporte (30);dichos terceros medios utilizables por ordenador y dicho al menos un tercer procesador están conectados operativamente.
Independent claims13
135 paragraphs in 10 sections, as filed
ES 2 813 402 T3
DESCRIPTION
Procedure and systems for providing data to a remote site
BACKGROUND
These teachings relate generally to providing data to a remote site, and more particularly to methods and systems of using a gateway to provide data to a remote site.
Communications over the Internet require a transfer of data between two machines. A local machine requests a connection on a specified port number on the remote machine. A dynamically assigned port on the local machine is then connected to the specified port on the remote machine, and communication can continue.
The communication itself can be TCP-based, where two machines are specifically connected through a dedicated channel (as in a phone call), or it could be a UDP transfer, where one machine sends data and the other doesn't know if or when. machine receives them (analogous to postal service). Any of these procedures uses the so-called ports through which the data transfer is carried out on a single shared physical network line.
At the local end, the machine will typically connect through a router. This router performs multiple functions, but one function may be to protect the internal local network from intruders and network hackers. To do this, it selectively opens or closes the ports accessible from the outside world to the local network.
A hacker can make use of an open port to gain access to a machine within the local network. However, if a router is configured to not allow incoming requests to some port numbers, the hacker will not be able to gain access. Such an arrangement is called a connection through a firewall.
For this reason, it is desirable that as few incoming ports are allowed on the local network as is minimally necessary. On the other hand, the outgoing ports are safe, since the data that is transferred is initiated from the local end and is sent.
On the remote side, sophisticated security solutions can be used to lessen the impact of unauthorized access to the system, making use of more sophisticated firewalls and heuristic rules to determine whether a requested access is legitimate or not. This level of equipment installation is not practical for home or small business owners to use at the local end.
If a data source, eg a camera, is placed at a local site, it would be desirable to be able to view the output of the data source, eg, camera video, from a remote site. Typically, a port would need to be opened on the local firewall, which would allow a remote monitoring request to pass to the data source, and the data source's output would be retrieved from it. This introduces an insecurity, that is, opening a local port on the firewall / router.
US7069434 (B1) describes a method and system for securely transferring data between an application server and an application server agent through a non-secure node. First, a session key is established between the agent and the application server using an application server public key that is embedded in the agent's code. A secure end-to-end connection is then established between the agent and the application server using the session key and establishing a communication link between the application server and the non-secure node using a relay module.
Document EP1773021 (A1) describes a data submission service system and procedure. The method of sending service data includes: providing a device (21) with data sending information regarding the service data to be sent to at least one device (21, 22, 23); and sending the service data to the device (21) when a data sending service request is received from at least one device (21, 22, 23). Consequently, the server (26) does not need to maintain and manage the information of at least one device (21, 22, 23).
Document EP2648397 (A1) describes a method, system and apparatus for managing person-based notifications on a communication device. A port is dynamically assigned to an application based on a person on a communication device, the application enabled to receive notifications from a given provider. The port is registered with a server to receive the notification. The port is opened to receive notifications associated with the person for the application from the server.
ES 2 813 402 T3
DEVADITHYA TY COL., The Common Instrument Middleware Architecture: OverView of Goals and Implementation, E-SCIENCE AND GRID COMPUTING, FIRST INTERNATIONAL CONFERENCE ON PITTSBURG, PA, USA 0508 DEC. 2005, PISCATAWAY, NJ, USA, IEEE, (20051205), doi: 10.1109 / E-SCIENCE.2005.77, ISBN 978-0-76952448-1, pages 578 - 585 describes that the instruments and sensors and the actuators that accompany them are essential for conducting scientific research. In many cases, they provide observations in electronic form and can be connected to computer networks with varying degrees of remote interactivity. These devices vary in their architectures and in the type of data they capture and can generate data at different speeds. This document presents an overview of the design goals and initial implementation of the Common Instrument Middleware Architecture (CIMA), a framework for making the instrument and sensor network accessible in a uniform and based manner. in standards, and to remotely interact with the instruments and data it produces. Some of the issues that CIMA addresses include: flexibility in network transport, efficient and high-performance data transport, availability (or lack) of computational, storage and network resources on the instrument or sensor platform, evolution instrument design and reuse of data acquisition and processing codes.
Document US2011231652 (A1) describes a traffic management device (TMD - Traffic Management Device), a system and a processor-readable storage medium aimed at determining that an end-to-end encrypted session has been established between a client and a Authentication server, which intercepts and decodes the client's downstream traffic and forwards the intercepted traffic to a server. In some embodiments, a second connection between the TMD and the server may be employed to forward the intercepted traffic, and the second connection may be decoded or encrypted with a different mechanism than the encrypted connection to the authentication server. The encrypted connection to the authentication server can be maintained after authentication to allow the termination of the second connection if the client becomes untrusted and / or to enable logging of client requests, connection information, and the like. In some embodiments, the TMD can act as a proxy to provide client access to various servers and / or resources.
Document US6182116 (B1) describes a WWW (World Wide Web) virtual server appliance that can get a plurality of predetermined HTML files and combine them into a single HTML file in response to a specific URL sent from a WWW browser, can connect to WWW servers and the browser through a network such as the Internet, to allow the browser to obtain, through the network, the content of a plurality of data files, each of which can be HTML files, acquired from respective WWW servers through the intermediary of the WWW virtual server appliance as a single combined file, and thereby display the contents of the respective file together in a single visual display. The virtual WWW server apparatus may further include a link file whose content relates the respective names of the video cameras controlled by various WWW servers with the URLs for sending control commands for these cameras, allowing the commands for the respective cameras, sent from a browser, are identified by the corresponding camera names. A plurality of video images from the respective cameras embedded in the content of the respective HTML file can be displayed on a single display screen of a browser, and therefore, a remote monitoring system or a TV system can be easily implemented. interactive.
Procedures and systems are required to provide data to a remote site that does not require opening a local port on the firewall / router.
SHORT SUMMARY
Presented below in this invention are methods and systems for providing data to a remote site that do not require opening a local port on the firewall / router.
The present invention is defined by a method as detailed in claim 1, a method as detailed in claim 3, a method as detailed in claim 5 and a system according to claim 8. Advantageous features are provided in the claims dependents.
In one or more embodiments, the system of these teachings includes a first server, a second server operatively connected via a network to the first server, and a gateway component operatively connected via the network to the first server and the second server. . The first server is configured to receive a data request, the data request specifies the gateway component and includes a default port number on the second server, and sends the data request to the gateway component. The second server is configured to receive the data on the default port number, the data is provided by the gateway component. The gateway component, in these embodiments, is configured to receive the request for data, retrieve the data from a data source, operatively connect, through the network, to a port on the second server, the port corresponding to the port number
ES 2 813 402 T3, and send the data to the second server.
In one or more aspects, the second server is also configured to receive the data request from a remote site, send the data request to the first server, and send the data, after receiving it, to the remote site.
The procedure of these teachings, in one or more embodiments, may be described from a first server-centric point of view, a second server-centric point of view, or a gateway-centric point of view.
In one or more embodiments, from a first server-centric point of view, the method of these teachings, shown in Figure 6, includes receiving a request for data at a first server (step 160, Fig. 6), the data request specifies a gateway, the gateway is operatively connected via a network to the first server, the data request comprises a predetermined port number on a second server, and sends, from the first server, requesting data to the gateway (step 165, Fig. 6), where the gateway retrieves the data and provides it, over the network, to the second server on the predetermined port number.
In one or more embodiments, from a second server-centric point of view, the method of these teachings includes sending, from a second server, to a first server, a request for data, the request for data specifies a gateway, the gateway is operatively connected via a network to the first server, the data request includes a predetermined port number on the second server, where the first server sends the data request to the gateway and where the data is retrieved by the gateway and the receipt, at the second server and through the network, of the data on the predetermined port number; the data being provided by the gateway.
In one or more embodiments, from a gateway-centric point of view, the method of these teachings includes operatively connecting a gateway, through a network, to a first server, receiving, at the gateway, requesting data, including requesting data a predetermined port number on a second server, retrieving, at the gateway, data from a data source, operationally connecting the gateway, over the network, to a port on the second server; the port corresponding to the default port number and sending, from the gateway, the data to the second server.
Other embodiments including embodiments for computer program products are also described.
For a better understanding of the present teachings, along with others and additional needs thereof, reference is made to the accompanying drawings and a detailed description and scope will be indicated in the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a schematic block diagram representation of one embodiment of the system of these teachings;
Figure 2 is a partial block diagram schematic representation of another embodiment of the system of these teachings;
Figure 3 is a partial block diagram schematic representation of yet another embodiment of the system of these teachings;
Figure 4 is a schematic block diagram representation of a component of one embodiment of the system of these teachings;
Figure 5 is a schematic flow diagram representation of one embodiment of the method of these teachings;
Figure 6 is a schematic flow diagram representation of a first server-centric view of one embodiment of the method of these teachings;
Figure 7 is a schematic flow diagram representation of a second server-centric view of one embodiment of the method of these teachings; Y
Figure 8 is a schematic flow diagram representation of a gateway-centric view of one embodiment of the method of these teachings.
DETAILED DESCRIPTION
Presented below in this invention are methods and systems for providing data to a remote site that do not require opening a local port on the firewall / router.
ES 2 813 402 T3
The following detailed description presents the currently contemplated modes of carrying out the invention. The description is not to be considered in a limiting sense, but is made solely for the purpose of illustrating the general principles of the invention, since the scope of the invention is best defined in the appended claims.
As used in this invention, the singular forms "a", "an" and "the" include plural references, unless the context clearly dictates otherwise.
Unless otherwise indicated, it is to be understood that all figures expressing ingredient amounts, reaction conditions and others used in the present specification and claims are modified in all respects by the term approximately.
A Gateway or gateway component, as used in this invention, is a communications device that interconnects a local site to a network. The gateway can connect the local site to other components over the network.
Data block, as used in this invention, is a data block that is transferred from the local site to another component. An exemplary embodiment of a data block is a frame in a video stream.
In one or more embodiments, the system of these teachings includes a first server, a second server operatively connected via a network to the first server, and a gateway component operatively connected via the network to the first server and the second server. . The first server is configured to receive a data request, the data request specifies the gateway component and includes a default port number on the second server, and sends the data request to the gateway component. The second server is configured to receive the data on the default port number, the data is provided by the gateway component. The gateway component, in these embodiments, is configured to receive the request for data, retrieve the data from a data source, operatively connect, through the network, to a port on the second server, the port corresponding to the default port number, and send the data to the second server.
In one aspect, the request for data originates from a remote site. In some aspects, the request for data is provided from the remote site to the second server and from the second server to the first server.
Figure 1 shows one embodiment of the system of these teachings. Referring to Figure 1, in the embodiment shown there, a gateway 10 (also called a gateway component): then a local site 12, through a network 45, to a first server 20 (also called Remote Management System (RMS)) and to a second server 30 (also called Gateway Server. Support (GBE - Gateway Back-End)), a remote site 40 is connected via the network to the second server 30.
To further clarify the present teachings, in an exemplary embodiment in which a request is made below for a video transmission, from a camera installed at local site 12, from remote site 40. It should be noted that these teachings are not they limit only that exemplary realization. For example, other embodiments may include, but are not limited to, a pre-programmed request for data, originating from the first server 20.
Although, in the exemplary embodiment, one or more cameras are installed at the local site, providing a video feed, other examples of these teachings are not limited to just those examples of devices installed at the local site 12, which may be accessed from the gateway, and include:
Binary Switches Provide Functionality On | Switched off.
Multi-level switches that provide a number of levels that can be set between. An example is a dimmer switch.
Binary sensors like motion detectors, door sensors, etc.
Thermostat controls.
Access control devices, such as authenticated door entry.
Mermaids | Stamps | Voice Output Device stepper motor drivers, PWM (Pulse Width Modulation) speed controllers, etc.
Upon activation, the gateway 10 connects to a Remote Management System (RMS) 20 and keeps this connection open as long as the gateway 10 remains active. This connection is then used to send multiple
ES 2 813 402 T3 requests to the gateway. One such request is to initiate a stream from a locally installed camera. This request can be made in response to a remote video monitoring display,
When a remote site requests a video feed, the following steps are followed:
1) The remote site makes a connection (1) to a web server, called the Support Gateway (GBE) 30 2) The GBE 30 makes a request to the RMS 20 (2) for a video transmission from a certain gateway link and camera, and a specific port number for the gateway to “connect as backup”.
3) The RSM formats and sends the request to the gateway through the gateway <-> RMS always open connection (3). Gateway 10 receives the request from RMS 20.
4) The gateway 10 sends a video request (4) and retrieves video data (5) from the specified camera.
5) The gateway opens a connection with the GBE configuration (6) on the port number that was specified through the RMS 20 and keeps this connection open for the transfer of video data.
6) The gateway then sends the video data from the camera to the GBE 30 via the video data connection (6).
7) GBE 30 sends this video data to requesting remote monitoring site 40 (7).
Although the exemplary embodiment relates to video data retrieval, other exemplary embodiments could include retrieving data from any of the other devices accessible from the Gateway. In other exemplary embodiments, instead of retrieving data, the Gateway can initiate and retrieve data from a macro such as, but not limited to, If Sensor-A is activated, initiate transmission from Camera-B and turn on Light-A, Light-B; o If Sensor-B is activated, sound a buzzer and announce Message-C on Voice_Device-A.
In one embodiment, the second server includes a data rate measurement subsystem and is also configured to send, over the network, a start signal to the gateway component to initiate a data rate measurement test to measure the data rates between the second server and the gateway component. In that embodiment, the gateway component is also configured to, after the start of the data rate measurement test, provide test data to the second server and the second server is further configured to determine, using the data rate component. data rate measurement, a data rate between the second server and the gateway component and to provide the data rate to the gateway component. The gateway component is further configured to calculate a data block size in order to substantially guarantee a predetermined data block rate. Although any conventional data rate measurement subsystem can be used, for illustrative purposes, although it is not a limitation of these teachings, the data rate measurement subsystem may include a time measurement component (such as a subsystem that includes, If an initiation signal or flag precedes the test data and a completion flag or signal is generated after receiving the test data, a time component that detects the time between the start signal and the end signal, a component that detects a number of bits or bytes in data, and a component that determines the data rate from the number of bits and time .
Figure 2 illustrates the interaction between the gateway component 10 and the second server 30 during a data rate measurement. To better illustrate these teachings, hereinafter, in this invention, an exemplary embodiment is presented for the aspect where the data block is a frame from a video camera (or an image from a still camera). It should be noted that these teachings are not limited to just that realization.
In the exemplary embodiment, the gateway component 10 connects to multiple cameras in response to a request for video transmission. The gateway 10, in turn, will send the video data to an external receiver. It is desirable to maintain a fairly constant frame rate (frames per second, fps - frames per second) within the camera-> gateway-> second server (GBE) channel.
Each camera that the gateway will connect to will have one or more frame sizes available. For example, in camera A, for the full frame, there are three different frame sizes to choose from. They are 640x480, 1 megapixel and 4 megapixel image sizes. Each subsequent frame size is significantly larger than the previous one. Larger frame sizes also mean that more data will be transferred per frame. More data enables more accurate examination of images, reducing the chances of face / pattern recognition errors, etc. Also, it is desirable that a fairly constant frame rate be maintained, for example 3 fps.
Different gateway installations will have different levels of network data rates (in one respect, the Internet) available. Upload speed is critical to maintaining proper frame rates at a given frame size. In the United States, a household cable connection allows
ES 2 813 402 T3 upload speeds on the order of 2 to 2.5 million bits per second (mbps). Data speeds in Europe are lower, and even lower in Asia.
To account for differences in data upload speeds, the gateway 10 will dynamically measure the data rate it can maintain with the second server 30 (support (GBE)). Gateway 10 will then regulate the frame size from a predefined table, to maintain a final frame rate of approximately 3 fps.
For exemplary camera A, (24 bits per pixel)
<td>Frame size</td><td>Typical expected JPEG image size</td><td>Bit size</td>
<td>320x240</td><td>12 kilobytes</td><td>~ = 100 kilobits</td>
<td>640x480</td><td>35 kB</td><td>280 kb</td>
<td>1 MP (1024x1024)</td><td>80 kB</td><td>640 kb</td>
<td>4 MP (2144x1944)</td><td>200 kB</td><td>1600 kb</td>
To determine the data upload speed, it is necessary to measure the exact path, such as the one along which the image data will be sent. To do this, a Speed Metering Server will be developed on the second server 30 (Support Gateway (GBE)). As the images will be sent later to the same GBE machine, this ensures that the data bandwidth will be the same for the images as it will be for the measurement.
Once the rate is available, the size of the frame data is calculated for a frame rate of approximately 3 fps (frame size) * 3 = required data throughput per second
For example, consider a measured data rate of 1 Megabits / second ~ = 1000 kilobits / second.
From the predefined table above, you can calculate the number of frames per second in each size that can be transferred through this connection.
<td>320x240</td><td>10 fps</td>
<td>640x480</td><td>3.6 fps</td>
<td>1 MP</td><td>1.5 fps</td>
<td>4 MP</td><td>0.6 fps</td>
The frame size that results in lower performance than the measured speed, or the closest, is automatically chosen as the default frame size. In this case, the 640x480 image will be able to maintain a frame rate close to 3 fps and will be chosen as the default frame rate. This default value can be overridden by sending specific parameters to the gateway at the expense of frame rate.
It should be noted that the above exemplary embodiment is not a limitation of these teachings.
In another aspect, the first server 20 is also configured to provide, to the gateway component 10, configuration data in order to modify or update the configuration of the gateway component. In another aspect, the first server 20 is also configured to provide the gateway with instructions to start or stop the operations of a component. In yet another aspect, the first server 20 is also configured to receive, from the gateway 10, component data characterizing a component operatively connected to the gateway component and to obtain a virtual representation of that component, the virtual representation comprises a virtual control interface, the virtual control interface allows you to provide commands / instructions to that component. In that yet another aspect, the first server 20 is further configured to provide commands / instructions to the component operatively connected to the gateway component.
ES 2 813 402 T3
Figure 3 shows the gateway connection to the first server during component virtualization.
In one embodiment, when the gateway 10 is activated, a network connection (in one aspect, Internet TCP) is established with the first server 20 (Remote Management System (RMS)). After Gateway 10 identifies with the first server 20, a permanent record is made in the RMS database. The network connection that the gateway 10 made to the RMS 20 remains active as long as the gateway 10 is up. Communications are then possible between these two devices over the network 45.
In one aspect, the gateway maintains various files, programs, configuration data, and so on. The open connection between gateway 10 and RMS 20 can be used to transfer files to gateway 10, to modify configuration data on the gateway, and to start or stop programs on the gateway.
Files may receive a version number prior to transfer. If this is used then the RMS 20 will keep different versions of the files / programs. This allows for a recovery option in case uploading a file causes Gateway 10 to become unstable in operation.
In one embodiment, the gateway 10 will connect to different devices 60 such as, but not limited to, cameras. Using the RMS 20, each of these devices can be virtualized on the RMS 20 (virtualized devices 70, Fig. 3). Once virtualized, a defined control interface is available on the RMS 20. By modifying this virtualized interface, commands and data are transferred to the gateway, which, in turn, physically performs the necessary commands / actions on the real camera.Therefore, an exposed interface can be used in any way. remotely to control, for example, the camera. Actions can be to operate the device, for example, the camera, On / Off, to move the lens, etc.
This virtualization is not limited to cameras, but can be used for any device, such as motion sensors, etc. In addition, a device does not need to be a physical device, but everything can be implemented in software, and a virtualized interface can be created in the RMS to carry out various actions on it.
In an exemplary embodiment, similar to the way virtualized devices are accessed through a control interface, logic programs, also called firmware, or some configuration data on devices 60 that are accessible through the door link, can be updated. In this exemplary embodiment, the required firmware or data file can be transferred to the gateway 10 from the RMS 20 with a corresponding command regarding what to do with that transferred data.
In a detailed exemplary embodiment, for example, but not limited to, when the device 60 is a camera, the firmware can be transferred to the gateway, with a corresponding command to UPDATE the firmware on one or more of the cameras 60 that they are connected and accessible through the gateway 10. The gateway can read the file and issue the correct sequence of commands to the camera to update the camera firmware. After the update, the gateway can take the necessary steps to activate that firmware. This could be as simple as restarting the camera or a more complex sequence of commands.
In another aspect, an image store is maintained at the gateway, and, if necessary, this image store would be downloaded to an external site for analysis, thus providing an alternative to continuous recording of the video stream on the gateway. an external recorder.
In another embodiment, the gateway has multiple sensors, such as motion sensors, temperature sensors, etc., connected to the Gateway. In one aspect, off-site (non-pre-buffering) video or image recording is initiated by receiving a trigger from one of these sensors.
The above appearance and embodiment can be combined to reduce the unavailability of data for analysis, resulting in the following procedure embodiment of these teachings:
Cameras are not continuously recorded off-site,
A pre-storage for each camera is maintained locally at the gateway.
In an event, external recording is triggered.
Pre-stored images are transferred to an external site.
These pre-stored images plus event-based recordings are used in the analysis.
ES 2 813 402 T3
In one embodiment, the first server 20 and / or the second server 30 and / or the gateway component 10 may include one or more processors and computer-usable media, where the computer-usable media has embedded computer-readable code. which, when running on one or more processors, they cause one or more processors to perform the functions for which the first server 20 or the second server 30 or the gateway component 10 is configured. Such an embodiment is shown in Figure 4. Referring to Figure 4, in the embodiment shown there, one or more processors 210 are operatively connected (via connection component 215) to computer-usable means 220, which has a built-in computer-readable code, which, when running on one or more processors, it causes the one or more processors to perform the functions for which the first server 20 or the second server 30 or the gateway component 10 is configured.
In an exemplary embodiment, which is not a limitation of these teachings, the gateway is a Linux-based Pluggable Computer, Linux is the kernel that allows writing software directed to the pluggable computer. In the exemplary embodiment, the gateway runs a framework that is an OSGi (a Java-based technology specified by the OSGi Foundation),
It should be noted that, in other embodiments, the functions and operations for which the first server 20 or the second server 30 or the gateway component 10 is configured may be implemented using special purpose circuitry, with or without software instructions, such as the use of an Application-Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA), They can be programmable, partially programmable, or hardwired.
One embodiment of the method of these teachings is shown, in flowchart form, in Figure 5. Referring to Figure 5, in the embodiment shown there, a first server receives a request for data (step 105, Fig . 5). The first server sends the data request to the Gateway (step 115, Fig. 5) and a data request is received at the Gateway (step 125, Fig. 5). The gateway retrieves the data from a data source (step 135, Fig. 5) and is operatively connected via a network to a port on a second server, the port corresponding to a predetermined port number (step 145, Fig. 5). The Gateway then sends the data to the second server (step 155, Fig. 5).
In some aspects, the data request, which originated from a remote site, was sent from the remote side to the second server, and the second server, after receiving the data, sends the sensor data to the remote site.
The procedure of these teachings, in one or more embodiments, may be described from a first server-centric point of view, a second server-centric point of view, or a gateway-centric point of view.
In one or more embodiments, from a first server-centric point of view, shown in Figure 6, the method of these teachings includes receiving a data request at a first server (step 160, Figure 6), the data request specifies a gateway, the gateway is operably connected via a network to the first server, the data request comprises a predetermined port number on a second server and sends, from the first server, requesting data to the gateway (step 165, Fig. 6), where the gateway retrieves the data and provides it, over the network, to the second server on the predetermined port number.
In one aspect, from a first server centric point of view, the method of these teachings also includes providing the gateway, from the first server, configuration data to modify or update the gateway configuration. In another aspect, from a first server-centric point of view, the method of these teachings also includes providing the gateway, from the first server, instructions to start or stop operations of a component.
In yet another aspect, from a first server-centric point of view, the method of these teachings also includes receiving, from the gateway, at the first server, component data that characterizes a component operatively connected to the gateway. , and obtain, on the first server, a virtual representation of that component; the virtual representation comprises a virtual control interface; the virtual control interface allows you to provide commands / instructions to the component. In that yet another aspect, the method of these teachings may also include providing, from the first server, commands / instructions to the component operatively connected to the gateway.
In one or more embodiments, from a second server-centric point of view, shown in Figure 7, the method of these teachings includes sending, from a second server, to a first server, a request for data (step 170 , Fig. 7), the data request that specifies a gateway, the gateway is
ES 2 813 402 T3 operatively connected via a network to the first server, the data request includes a predetermined port number on the second server, where the first server sends the data request to the gateway and where the gateway link retrieves the data and receives, on the second server and through the network, the data on the predetermined port number (step 175, Fig. 7); the data being provided by the gateway.
In one aspect, the second server includes a data rate measurement component and, from a second server-centric point of view, the method of these teachings also includes sending, over the network, a start signal, from the second server to the gateway, in order to initiate a data rate measurement test to measure the data rates between the second server and the gateway, where, After the start of the data rate measurement test, the gateway provides test data to the second server, determining, using the data rate measurement component, a data rate between the second server and the gateway link and providing, from the second server, the data rate to the gateway, where a data block size is calculated at the gateway to substantially guarantee a predetermined data block rate. In an exemplary embodiment, the data block is a frame and the data block rate is a frame rate.
In one or more embodiments, from a gateway-centric point of view, shown in Figure 8, the method of these teachings includes operatively connecting a gateway, through a network, to a first server ( step 180, Fig. 8), receiving, at the gateway, the data request (step 184, Fig. 8), the data request including a predetermined port number on a second server, retrieving, at the gateway, the data from a data source (step 188, Fig. 8), operatively connecting the gateway, through the network, to a port on the second server (step 1 92, Fig. 8); the port corresponding to the predetermined port number, and send, from the gateway, the data to the second server (step 196, figure 8).
In one embodiment, the request for data originates from a remote site. In one aspect, the remote site sends the data request to the second server and the second server sends the data request to the first server; In that embodiment, when the second server receives the data, the second server provides the data to the remote site,
In one aspect, the second server includes a data rate measurement component and the method of these teachings, from a gateway-centric point of view, also includes receiving, at the gateway and through the network, a start signal from the second server, to initiate a data rate measurement test to measure the data rates between the second server, providing, from the gateway and after the start of the data rate measurement test, test data to the second server, where a data rate between the second server and the gateway is determined using the rate measurement component data and provided, over the network, to the gateway, and calculating, at the gateway, a data block size to substantially guarantee a predetermined data block rate,
In another aspect, the procedure of these teachings, from a gateway-centric point of view, also includes receiving, at the gateway, from the first server, configuration data to modify or update the gateway configuration. link. In a further aspect, the procedure of these teachings, from a gateway-centric point of view, also includes receiving, at the gateway, from the first server, instructions to start or stop operations of a component.
In yet another aspect, the method of these teachings, from a gateway-centric point of view, also includes sending, from the gateway, to the first server, component data that characterizes a component operatively connected to the gateway, where a virtual representation of that component is obtained on the first server, the virtual representation comprises a virtual control interface, the virtual control interface allows you to provide commands / instructions to the component. In that other aspect, the procedure of these teachings, from a gateway-centric point of view, may also include receiving, at the gateway, commands / instructions for the component operatively connected to the gateway,
In aspects where at least one of the first server and / or the second server and / or the gateway component is configured to perform the functions described above by having one or more processors execute computer-readable code that is embedded in media usable by computer, The present teachings also include one or more computer program products that include computer-usable media having the computer-readable code incorporated therein.
The description of the various components of a computing device is not intended to represent any particular architecture or ways of interconnecting the components. Other systems that have fewer or more components can also be used with the theme described. A communications device may be a form of computing device and may include at least one computing device. The computing device can
ES 2 813 402 T3 include an interconnect (e.g., a bus and a system logic core), which can interconnect such components of a computing device with a data processing device, such with a processor (s) or microprocessor (es) or other form of fully or partially programmed or pre-programmed device, e.g., custom wiring and / or logic circuits such as Application Specific Integrated Circuit (ASIC), such as a controller or microcontroller, a digital signal processor or any other form of device that can take instructions, operate with pre-loaded / pre-programmed instructions and / or followed instructions found in wired or custom circuits to carry out logical operations that, together, perform steps of complete procedures and functionalities as described in the present description.
In the above description the various functions, functionalities and / or operations may be described as carried out or caused by the software program code to simplify the description. However, those skilled in the art will recognize that what is meant by such expressions is that the functions result from the execution of the instructions / program code by a previously described computing device, eg, including a processor, such such as a microprocessor, microcontroller, logic circuit, or the like. Alternatively, or in combination, the functions and operations can be implemented using specific purpose circuits, with or without software instructions, such as using an application specific integrated circuit (ASIC) or a Field Programmable Gate Assembly (FPGA), They can be programmable, partially programmable or can be wired. The logic of the application-specific integrated circuit ("ASIC") can be such as standard gate or cell assemblies, or the like, implementing custom logic by interconnecting by metallization (s) of the base gate assemblies ASIC architecture or selecting and providing interconnections by metallization (s) between functional blocks of standard cells included in a library of the manufacturer of functional blocks, etc. Thus, embodiments can be implemented using hardwired circuits without program code / software instructions, or in combination with circuits using programmed software codes / instructions.
Therefore, the techniques are not limited to either a specific combination of hardware and software circuits or to any concrete tangible source for the instructions executed by the data processor (s) of the computing device. Although some embodiments can be implemented in fully functioning computers and computer systems, various embodiments are capable of being disseminated as a computing device including, eg, a variety of ways, and capable of being applied regardless of the specific type of machine or tangible computer-readable means used to actually carry out the execution of the functions and operations and / or the distribution of the execution of the functions, functionalities and / or operations.
The interconnects can connect the data processing device to define logic circuits including memory. The interconnect can be internal to the data processing device, such as attaching a microprocessor to the built-in cache or external memory (to the microprocessor) such as main memory or a disk drive or external to the computing device, such as a remote memory, a data center or other mass storage device, etc. Commercially available microprocessors, one or more of which could be a computing device or part of a computing device, include a PA-RISC series microprocessor from Hewlett-Packard Company, an 80x86 or Pentium series microprocessor from Intel Corporation, a PowerPC microprocessor from IBM, a Spare microprocessor from Sun Microsystems, Inc, or a 68xxx series microprocessor from Motorola Corporation as examples.
The interconnection, in addition to interconnecting microprocessor (s) and memory, can also interconnect said elements to a display controller and display device, and / or other peripheral devices such as input / output (I / O) devices, for example, Through an input / output controller (s), typical I / O devices may include a mouse, keyboard (s), modem (s), a network interface, printers, scanners, video cameras and other devices that are well known in the art. The interconnect may include one or more buses connected to each other through various bridges, controllers, and / or adapters. In one embodiment the I / O controller includes a USB (Universal Serial Bus) adapter to control USB peripherals and / or an IEEE-1394 bus adapter to control IEEE-1394 peripherals.
Memory may include any computer-readable tangible media, which may include, but is not limited to, writable and non-writable media, such as volatile and non-volatile memory devices, such as volatile RAM (Random Access Memory), generally implemented as dynamic RAM (DRAM). ) that continuously requires power to update or maintain data in memory, and non-volatile ROM (Read Only Memory) and other types of non-volatile memory, such as a hard drive, flash memory, removable memory, etc. Non-volatile memory can typically include a magnetic hard drive, a magnetic optical drive, or an optical drive (for example, a DVD RAM, a CD ROM, a DVD, or a CD) or another type of memory system that maintains data even after system power is disconnected.
A server could be made up of one or more computing devices. Servers can be used, for
ES 2 813 402 T3 example, in a network to host a network database, calculate variables and necessary information from the information in the database (s), store and retrieve information from the database (s) database (s), track information and variables, provide interfaces for uploading and downloading information and variables, and / or ordering or manipulating information and data from the database (s). In one embodiment, a server can be used in conjunction with other locally or remotely placed computing devices to perform certain calculations and other functions as may be mentioned in the present application.
At least some aspects of the described subject can be incorporated, at least in part, using programmed software code / instructions. That is, the functions, functionalities. and / or operating techniques can be carried out in a computing device or other data processing system in response to its processor, such as a microprocessor, executing sequences of instructions contained in a memory, such as ROM, volatile RAM, non-volatile memory, cache or a remote storage device. In general, routines executed to implement embodiments of the subject described may be implemented as part of an operating system or a specific application, component, program, object, module, or sequence of instructions, generally referred to as a computer program, or software. Computer programs generally comprise instructions stored at various times on various tangible memory and storage devices on a computing device, such as cache memory, main memory, internal or external disk drives, and other remote storage devices, such as a hub. data, and when read and executed by a processor (s) in the computing device, causes the computing device to perform a procedure (s), for example, procedural and operational steps to execute an element (s) as part of some aspect (s) of the procedure or procedures of the described topic.
A machine-readable, tangible medium can be used to store software and data which, when run by a computing device, causes the computing device to perform one or more procedures, as stated in one or more appended claims defining the subject matter described. . The tangible machine-readable medium may include the storage of executable software program code / instructions and data in various tangible locations, including, for example, ROM, volatile RAM, non-volatile memory, and / or cache. Portions of this program software code / instructions and / or data may be stored on any of these storage devices. Furthermore, the program software code / instructions can be obtained from remote storage, including, for example, via centralized servers or peer-to-peer networks and the like. Different parts of the software program code / instructions and data can be obtained at different times and in different communication sessions or in the same communication session.
The software program code / instructions and data can be obtained in their entirety before the computing device executes a respective software application. Alternatively, parts of the software program code / instructions and data can be obtained dynamically, for example, just in time, when needed for execution. Alternatively, some combination of these ways of obtaining software program code / instructions and data may be produced, for example, for different applications, components, programs, objects, modules, routines or other instruction sequences or instruction sequence organization, as an example. Therefore, the data and instructions are not required to be on a single machine-readable medium in its entirety in any particular aspect of time.
In general, a machine-readable tangible medium includes any tangible mechanism that provides (i.e., stores) information in a machine-accessible form (i.e., a computing device, which may be included, e.g. e.g., on a communication device, a network device, a personal digital assistant, a mobile communication device, which may or may not download and run applications from the communication network, such as the Internet, for example, an I-phone, Blackberry, Droid or similar, a manufacturing tool or any other device that includes a computing device, comprising one or more data processors, etc.
For the purposes of description and definition of the present teachings, it should be noted that the term "substantially" is used in this invention to represent the inherent degree of uncertainty that can be attributed to any comparison, value, measurement, or other quantitative representation. The term "substantially" is also used in this invention to represent the degree to which a quantitative representation can vary from a specified reference without resulting in a change in the basic function of the subject matter.
Although these teachings have been described with respect to various embodiments, it should be noted that these teachings are also capable of a wide variety of additional and other embodiments within the scope of the appended claims.
Contents10
13 members in 8 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 201414208723 | United States of America | A | |
| 201414208723 | United States of America | – | |
| 2015016516 | United States of America | W |
Members13
| Document | Office | Kind | |
|---|---|---|---|
| US2015264114A1 | United States of America | A1 | |
| WO2015138099A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CN106105167A | China | A | |
| KR20160138457A | Republic of Korea | A | |
| EP3117582A1 | European Patent Office (EPO) | A1 | |
| JP2017513269A | Japan | A | |
| US10116731B2 | United States of America | B2 | |
| JP6473166B2 | Japan | B2 | |
| US2019068691A1 | United States of America | A1 | |
| CN106105167B | China | B | |
| EP3117582B1 | European Patent Office (EPO) | B1 | |
| DK3117582T3 | Denmark | T3 | |
| ES2813402T3This record | Spain | T3 |
Numbers
- Publication
- 2813402
- Application
- 15722285
Titles2
- Spanish
- Procedimiento y sistemas para proporcionar datos a un sitio remoto
- English
- Procedure and systems for providing data to a remote site
Classification
- CPC, 3
- H04L63/1441
- H04L41/0803
- H04L67/10
- IPC, 1
- H04L29 06