ES2674549T3 - Método para intercambiar controles a través de un disco USB y dispositivos relativos que permiten la implementación del mismo - Google Patents

Método para intercambiar controles a través de un disco USB y dispositivos relativos que permiten la implementación del mismo Download PDF

Info

Publication number
ES2674549T3
ES2674549T3 ES14830677.2T ES14830677T ES2674549T3 ES 2674549 T3 ES2674549 T3 ES 2674549T3 ES 14830677 T ES14830677 T ES 14830677T ES 2674549 T3 ES2674549 T3 ES 2674549T3
Authority
ES
Spain
Prior art keywords
data
pointer
sector
peripheral unit
serial peripheral
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
ES14830677.2T
Other languages
English (en)
Inventor
Paolo Forlani
Antonio Carbonera
Roberto Garavaglia
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.)
Hermes Comm Srl S
Hermes-Comm Srls
Original Assignee
Hermes Comm Srl S
Hermes-Comm Srls
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 Hermes Comm Srl S, Hermes-Comm Srls filed Critical Hermes Comm Srl S
Application granted granted Critical
Publication of ES2674549T3 publication Critical patent/ES2674549T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the program performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Character Discrimination (AREA)

Abstract

Sistema en tiempo real para la memorización bidireccional y transmisión de los controles y datos para un procesador (24) en el proceso de E/S, con periféricos serie externos (21) tales como tabletas gráficas y/o digitalizadoras para la firma escrita a mano, caracterizado por que usa un medio externo (22) para la memorización de datos estáticos para constituir una memoria intermedia de transmisión que puede operar con la unidad periférica serie (21) y verse como un disco virtual extraíble de "unidad USB", en tal medio externo (22) habiendo configurado únicamente un fichero constituido como una sucesión secuencial lineal de datos en los sectores de dimensión constante, que pueden compartirse entre la unidad periférica serie (21) y el procesador (24), que puede tanto leerlos como escribirlos, en paralelo, definiendo por lo tanto una transmisión de E/S asíncrona con contenidos de bloque de datos del orden de un Kbyte y un área de memorización realmente tan grande como se desee, sin embargo definitivamente más grande que un paquete de datos, usada como una memoria intermedia temporal para espera de datos a transmitirse, comprendiendo tal fichero: a- un primer sector (A) con los siguientes códigos de operación funcional con una organización FIFO de los accesos de E/S: i. control (1) desde un ordenador (24) a una unidad periférica serie (21), ii. respuesta al control (4) desde una unidad periférica serie (21) a un ordenador (24), iii. puntero al sector (2) que se lee por el ordenador (24), iv. puntero al punto (3) que se lee por el ordenador (24), v. puntero al sector (5) que se escribe por la unidad periférica serie (21), vi. puntero al punto (6) que se escribe por la unidad periférica serie (21), y b- una serie de sectores (B, C, D...N) posteriores al primero configurado para tener dimensiones constantes para el acceso inmediato a los datos contenidos en los mismos.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Método para intercambiar controles a través de un disco USB y dispositivos relativos que permiten la implementación del mismo
Campo de la invención
La presente invención se refiere en general al uso de la firma digitalizada para la identificación instantánea de una persona con respecto a las transacciones bancarias comerciales, más en particular se refiere al método de interacción entre el periférico de hardware designado para la detección de la firma del cliente y el ordenador, cuando tiene lugar el inter-funcionamiento entre el último desde una estación remota, en una red local o intranet o incluso a través de la Internet.
Estado de la técnica
En el campo de la tecnología de la información, hay dispositivos periféricos para ordenadores que utilizan una interfaz del tipo HID (Dispositivo de Interfaz Humana). Los ratones son un ejemplo de estos dispositivos: se usan para transmitir la posición del ratón al ordenador con alta periodicidad, con el objetivo de permitir que el usuario mueva rápidamente el puntero en la pantalla para interacción rápida con el sistema operativo y los programas.
La interfaz de HID normalmente se proporciona como un protocolo de comunicación a través de un puerto USB (Bus Serie Universal). Una de las ventajas de la interfaz de HID radica en el hecho de que, dado el alto número de dispositivos que la utilizan, se soporta de manera nativa por todos los sistemas operativos y por lo tanto no es necesario instalar ningún controlador para utilizar un dispositivo basándose en la misma.
No únicamente los ratones utilizan la interfaz de HID: a menudo, otros dispositivos obtenidos basándose en la misma son las tabletas gráficas usadas para dibujar a mano y para la firma escrita a mano. Tales dispositivos transmiten, en repetición rápida, la posición del lápiz en la superficie del dibujo o firma, a lo largo de datos accesorios, tales como, por ejemplo, la presión ejercida por la mano en el lápiz y el instante de detección de cada punto, requerido para la detección de la velocidad y presión instantáneas (datos grafométricos). La firma obtenida, si se completa con los datos grafométricos, se usa como un sustituto válido de la firma escrita a mano, obteniendo por lo tanto mayor validez legal con respecto a la firma en papel. Por ejemplo, el documento US6307955 desvela un sistema en tiempo real para el almacenamiento bidireccional y transmisión de comandos y datos para un procesador en el proceso de E/S con periféricos serie externos tales como tabletas de lápiz. En algunos casos, la transmisión a través de USB/HID también se usa para transmitir cantidades de datos mayores que las relacionadas con la posición, velocidad y presión, y no únicamente para transmisión desde un periférico a un ordenador sino también desde un ordenador a un periférico. Por ejemplo, el modelo DDDF-11A de tableta de firma grafométrica creada por PRB S.r.l. (solicitud de patente italiana en trámite: RM2011A000370 y RM2011A000652) usa el mismo protocolo para transmitir las imágenes y texto a visualizarse en la pantalla antes de la firma desde el PC a la tableta; los datos normalmente visualizados incluyen: el logo gráfico de la organización que usa la tableta (por ejemplo, el banco que la usa en la parte contraria); el nombre y apellidos de la parte firmante; la fecha y hora; los contenidos de la cláusula acerca de lo que se va a firmar (por ejemplo, el tipo y la cantidad de transferencia bancaria). Los datos, especialmente datos gráficos, tienen dimensiones mayores que aquellas que pueden adaptarse en un paquete de HID normal: en este caso, pueden dividirse en muchos paquetes pequeños que, a través de un protocolo adecuado de nivel superior a HID, se re-incorporan desde el lado de recepción del mismo.
Un primer problema del método anteriormente descrito - ampliamente usado - radica en el hecho de que incluso si superara de manera cómoda el problema de establecer una comunicación USB de manera sencilla y sin desarrollar, distribuir, instalar y usar un controlador de dispositivo especial para cada sistema operativo, aún revela un problema en caso de entornos virtuales descritos en lo sucesivo.
La técnica informática actual proporciona instrumentos novedosos, tales como la emulación de ordenador remoto. Esta técnica permite sustituir un ordenador personal “físico” por uno “virtual” que radica en un ordenador de servidor remoto y conectado en el protocolo de TCP/IP a través de una red (Internet, Intranet, red local). El ordenador “físico” con el que interactúa el operador se sustituye por un terminal “tonto”, sin recursos de procesamiento o se proporciona con pocos recursos básicos (vídeo, teclado y ratón), que repite la pantalla del ordenador remoto “virtual” y envía los mecanografiados del teclado y la posición del ratón al mismo.
Cuando se requiere gestionar un dispositivo físico local, tal como una tableta de firma, la técnica de virtualización usa un puerto USB local que, sin embargo, también es “tonto”: los datos transmitidos y recibidos en el puerto USB se envían de manera sencilla a la máquina “virtual” en la que radican el controlador y el software que gestiona la comunicación.
Para la transmisión más rápidamente posible, el sistema de visualización debe alojar un paquete de HID breve para cada paquete de TCP más grande, por lo tanto la transmisión es continúa pero lenta; una transmisión eficaz requiere alojar varios paquetes de HID para cada paquete de TCP, por lo tanto la transmisión es discontinua.
5
10
15
20
25
30
35
40
45
50
55
60
65
El problema (resuelto con el método descrito en lo sucesivo) surge cuando el terminal “tonto” y el “virtual” se conectan entre sí a través de una red lenta, que puede ser la Internet o también una red local con alto tráfico. En este caso, incluso la transmisión de USB virtualizada revela problemas relacionados con ralentización o incluso pérdida de datos.
La ralentización, en caso de un ratón, se siente debido a que el cursor en la pantalla no se mueve de manera suave sino que se mueve “entrecortado” aunque molesta, este efecto no tienen efectos negativos que puedan observarse en su lugar cuando el dispositivo USB-HID es una tableta de firma.
Para que se use la firma de manera válida como una evidencia grafológica, es indispensable que sea completa, que cada punto digitalizado se complete con velocidad y presión y, factor fundamental, que la “tasa de adquisición” sea absolutamente constante, para permitir un cálculo exacto de velocidad y aceleración. Esta “tasa” no deberá ser menor que 200 puntos/segundo y en los mejores modelos es incluso mayor: en el modelo anteriormente mencionado en nombre de PRB, es equivalente a 400 puntos/segundo. Si la ralentización, aunque sea temporal, de la conexión de USB-HID produce “entrecortes” o “huecos” en la adquisición, los efectos son la deformación de la firma obtenida, la ausencia de algunas secciones y, finalmente, la inaceptabilidad de la firma como evidencia grafológica.
Otro problema surge cuando se usa la comunicación de HID para transmitir imágenes desde el ordenador a la tableta de firma: dada la necesidad de dividir los datos en numerosos paquetes pequeños, la transmisión es bastante lenta incluso aunque el ordenador no esté virtualizado. La descarga de una imagen con dimensiones equivalentes a aquellas de la pantalla completa de la tableta (por ejemplo, 480 x 272 píxeles) puede requerir unos pocos segundos; este tiempo se vuelve varios segundos en un sistema virtualizado: este tiempo de espera es de manera evidente excesivo e inaceptable.
Por lo tanto, un objeto de la presente invención es proporcionar un método de intercambio de control entre el procesador y la tableta gráfica que supera los problemas señalados con respecto a la interacción entre el periférico de hardware proporcionado para la detección de la firma del cliente y el ordenador, cuando el inter-funcionamiento entre el último tiene lugar desde una estación remota en una red local o intranet o incluso a través de la Internet.
Otro objeto de la presente invención es proporcionar un método para intercambiar controles a través de un disco USB y dispositivos relativos que accionan la implementación del mismo, que permite superar el problema con respecto a la operación correcta en un entorno virtualizado, en una estación remota o lenta; y también permiten superar el problema con respecto a la velocidad de intercambio de datos, sin introducir la necesidad de obtener un protocolo de USB especializado con la consiguiente necesidad de desarrollar e instalar un controlador de dispositivo especial.
Como una cuestión de hecho, la intención es crear un método para intercambiar controles a través de un disco USB y dispositivos relativos que permiten la implementación del mismo, basándose en componentes de HW comunes. Por lo tanto, se proporciona para usar componentes electrónicos convencionales, en el nivel de dirigir la RAM, ROM, o Memoria flash, con el objetivo de realizar nuevos dispositivos de adquisición que sean económicos, con alta fiabilidad y facilidad de uso.
Estos objetos se obtienen a través de un aparato para la adquisición de la firma natural basándose en una tableta digitalizadora del tipo de “pantalla táctil” cuya interacción con el ordenador especializado para el procesamiento de la firma obtenida está caracterizado de acuerdo con la reivindicación 1 señalada en lo sucesivo. Las reivindicaciones dependientes permitirán señalar una serie de alternativas para la implementación del principio fundamental.
El método objeto de la presente invención supera completamente los problemas señalados, sin requerir usar protocolos especiales y sin requerir instalar un controlador de dispositivo. El método consiste en hacer una tableta de firma similar a un dispositivo extraíble de “unidad USB “, en otras palabras como un “lápiz de unidad flash de USB”, un dispositivo que es muy común y que puede usarse en todos los sistemas operativos sin requerir controladores de dispositivo.
Un dispositivo de este tipo se gestiona de manera muy diferente con respecto a un dispositivo HID:
1- La transmisión en las dos direcciones tiene lugar a bloques mucho mayores (por ejemplo 512 bytes frente a los 64 bytes del HID)
2- El disco tiene un área de almacenamiento que es prácticamente grande a voluntad.
Examinando estos dos puntos en detalle, en el caso donde el puerto USB está virtualizado los datos se reenvían a través de una red de paquetes:
1- El tamaño de un bloque de 512 bytes puede compararse al transmitido en una red de TCP/IP y por lo tanto la transmisión del mismo tiene lugar de manera eficaz, al contrario del paquete breve compuesto de unos pocos bytes (por ejemplo 64) usado en el caso de HID.
5
10
15
20
25
30
35
40
45
50
55
60
65
2- Es posible crear un disco con un área mucho mayor que un paquete y usarlo como una memoria temporal (“memoria intermedia”) para datos que esperan transmisión. Por lo tanto, esto permite eliminar la posibilidad de pérdida de datos incluso en caso de ralentización en la transmisión.
La solución objeto de la patente comprende varias soluciones técnicas que se van a describir en lo sucesivo, que se adoptan principalmente para adaptar un disco, un dispositivo creado para memorizar y almacenar datos estáticos, para servir como una memoria intermedia de transmisión.
Debería observarse que la solución se concibió para sustituir la sección de comunicación de la tableta de firma con otra sección de funcionalidad equivalente. En particular, antes de la sustitución, la tableta usada para enviar - al ordenador - los puntos de la firma progresivamente a medida que se obtuvieron, y el programa que recibe la firma en el ordenador los visualizó en la pantalla en tiempo real; esta característica es útil para revelar inmediatamente los problemas que requerirían la repetición de la operación: por ejemplo, en el caso de la persona que intente firmar invirtiendo el nombre y apellidos con respecto la firma depositada o una firma abreviada. Por lo tanto, se excluyó la solución que proporcionó la adquisición y la memorización de la firma completa en la tableta, y la entrega total de la misma al ordenador únicamente tras finalización. Tal solución, evidentemente más adecuada con un dispositivo de almacenamiento masivo tal como un disco USB, implicaría la pérdida de una característica deseada, tal como la visualización de la firma durante la adquisición y no únicamente al final. En el método descrito en el presente documento, la transmisión tiene lugar durante la firma y, en caso de transmisión lenta desde la máquina situada virtual o remota, el operador en el ordenador observa, en el peor caso, únicamente un retardo dado en la visualización de la misma.
Breve descripción de los dibujos
Con el único objetivo de describir mejor la invención y sin limitar el alcance de protección y los campos de uso de la misma, la presente invención deberá describir ahora con referencia a una serie de realizaciones particulares pero no limitantes, mostradas en los dibujos adjuntos, en los que:
La Figura 1 es un diagrama que representa una solución diferente de la de acuerdo con la presente invención.
La Figura 2 es un diagrama que representa una solución de acuerdo con la presente invención.
La Figura 3 es una representación esquemática de una configuración del dispositivo de almacenamiento externo y los métodos de inter-funcionamiento entre la unidad periférica y el procesador de acuerdo con la presente invención.
La Figura 4 es un diagrama de bloques de las diversas secciones que forman el dispositivo de almacenamiento externo de acuerdo con la técnica anterior.
La Figura 5 es un diagrama de bloques de las diversas secciones que forman el dispositivo de almacenamiento externo de acuerdo con la presente invención.
La Figura 6 es una representación esquemática adicional de una configuración del dispositivo de almacenamiento externo y los métodos de inter-funcionamiento entre la unidad periférica y el procesador.
La Figura 7 es una representación esquemática de una configuración adicional del dispositivo de almacenamiento externo y los métodos de inter-funcionamiento entre la unidad periférica y el procesador, para la funcionalidad de visualización de imagen en el periférico.
La Figura 1 muestra la operación de la solución (que no se adoptó) que obtiene totalmente la firma: durante la etapa de firma (I) la tableta de digitalización 21 memoriza los datos de firma (posición, velocidad, presión, tiempo), como si se adquirieran de manera progresiva, en el disco 22 en forma de un fichero 23. La etapa de firma finaliza cuando la parte firmante introduce la confirmación, usando la tecla especial. En este punto, empieza la etapa de descarga (II) en la que el ordenador 24 lee el fichero 23 desde el disco 22; al final de la recepción del fichero que contiene los datos de firma, el ordenador 24 puede visualizar la firma en la pantalla 40, de una vez.
Con el método descrito en el presente documento - con respecto a la Figura 2 -, en su lugar, la tableta de digitalización 21 envía la firma a una cola 25 del tipo FIFO (primero en entrar, primero en salir) en el disco 22; el ordenador 24 lee los datos desde la FIFO 25 de manera progresiva a medida que están disponibles, y los visualiza en la pantalla simplemente con el retardo desde el de la comunicación disco-ordenador, por lo tanto no con un retardo equivalente a la duración completa de la firma.
La cola de FIFO 25 del tipo circular, se obtiene en el disco aprovechando las funciones normales ya presentes en el “sistema de ficheros” de todos los ordenadores, por lo que no requiere de manera absoluta la obtención de controladores de dispositivo particulares; en particular se usan:
5
10
15
20
25
30
35
40
45
50
55
60
65
- la función común que permite leer y escribir cualquiera de los sectores en los que se divide el disco,
- la posibilidad de compartir un fichero, es decir abrirlo, leerlo y escribir simultáneamente en dos dispositivos diferentes, en nuestro caso: la tableta digitalizadora 21 y el ordenador 24 con el que está conectada.
Para la comunicación tableta-ordenador bidireccional, se usa únicamente un fichero - que se genera y pone a disposición de acuerdo con el método descrito en lo sucesivo.
Con referencia a la Figura 3, el fichero, en el presente documento representado como una sucesión lineal de datos, se divide entre la tableta 21 y el ordenador 24, que pueden tanto leer como escribirlos, a tiempos virtualmente coincidentes, de acuerdo con la técnica informática de compartición de ficheros normal, a través de la implementación de semáforos especializados.
El primer sector A de este fichero, señalado con un contorno más marcado en la Figura 3, se usa para organizar la cola de FIFO creada en el fichero.
Las posiciones etiquetadas en el primer sector A del disco tienen el siguiente significado:
1) = control de ordenador a tableta
4) = respuesta al control de la tableta al ordenador
2) = puntero en el sector que se está leyendo por el ordenador
3) = puntero en el punto que se está leyendo por el ordenador
5) = puntero en el sector que se está escribiendo por la tableta
6) = puntero en el punto que se está escribiendo por la tableta.
Los sectores - desde el segundo al último, B, C...N - se usan en su lugar para contener los datos de los puntos de firma obtenidos: por ejemplo, en el caso de un sector de 512 bytes y datos de firma compuestos por 8 bytes para cada punto, cada sector puede contener 512/8=64 puntos de firma.
Para iniciar la operación de firma, el ordenador 24 escribe el control relativo como un byte en la posición del primer sector indicada con 1. La tableta 21, mientras está en espera, lee continuamente este sector, por lo tanto, tan pronto como observa el control de firma en la posición 1, empieza a obtener la firma y comunica la aceptación del control escribiendo la respuesta, en forma de un byte, en la posición 4; simultáneamente en las posiciones 2 y 5 escribe el número del primer sector de los datos del disco (el sector 2) y, en las posiciones 3 y 6, el número 1. El ordenador 24 observa la respuesta para el control en la posición 4 y está predispuesto a visualizar la firma a ejecutarse por la parte firmante y obtenerse.
La tableta 21 obtiene, a la velocidad dada por la “tasa de adquisición” (400 veces por segundo en este caso particular), los puntos de firma y escribe de manera progresiva cada uno de ellos en el sector dirigido por el puntero del sector 5 y el puntero del punto 6. En cada punto aumenta el puntero del punto 6 y, cuando supera el número de puntos que pueden estar contenidos en un sector (por ejemplo 64), pone a cero el puntero del punto 6 y aumenta el puntero del sector 5 en una unidad. Si el puntero del sector supera el último sector del disco, la tableta lo devuelve al valor 2, reutilizando por lo tanto el primer sector libre que, mientras tanto, ya habrá sido leído por el ordenador (cola circular).
Aunque la tableta escribe los puntos con la secuencia descrita, el ordenador 24 casi simultáneamente observa que el puntero 6 o el puntero 5 son diferentes de los punteros 3 y 2, por lo tanto entiende que hay puntos listos para ser leídos; lee cada punto desde el disco en la memoria de operación del mismo y aumenta el puntero 3. Si el puntero 3 supera el número de puntos por sector (por ejemplo 64), pone a cero el puntero 3 y aumenta el puntero 2. El ordenador se para tan pronto como se hayan leído todos los puntos generados por la tableta; esta condición tiene lugar cuando el puntero aumentado 3 alcanza el mismo valor del puntero 6 y el puntero 2 alcanza el mismo valor del puntero 5.
Debería observarse que la secuencia temporal exacta de los eventos no afecta la corrección del rendimiento de la operación de transferencia de datos de cualquier manera que sea. Realmente la tableta 21 únicamente escribe los punteros 5 y 6 mientras que el ordenador 24 únicamente escribe los punteros 2 y 3. Por lo tanto, incluso aunque el acceso de los dos dispositivos tenga lugar a tiempos asíncronos y con cualquier grado de superposición, los datos no revelan ninguna incoherencia sino retardos como máximo.
Si la adquisición por el ordenador 24 se ralentiza o detiene durante un periodo de tiempo dado, la tableta 21 continúa escribiendo los datos en el fichero y actualizando los punteros; cuando el ordenador está disponible de nuevo, recupera el retardo y obtiene los puntos suspendidos en la FIFO 25, siempre que la velocidad de lectura promedio sea al menos equivalente a la velocidad de escritura promedio.
Como se ha mencionado, añadido al final del fichero, la tableta reanuda la escritura del segundo sector reutilizando por lo tanto el área previamente usada, siempre que se haya liberado en el ordenador mientras tanto.
5
10
15
20
25
30
35
40
45
50
55
60
65
Hay dos condiciones particulares:
- FIFO vacía: cuando el puntero 2 = puntero 5 y puntero 3 = puntero 6
- FIFO llena: cuando puntero 5 = puntero 2 menos 1.
De manera evidente, cuando la FIFO está vacía el ordenador no deberá leer los puntos, y cuando la FIFO está llena, la tableta no puede escribirlos.
Esta última condición, en la operación normal, nunca ocurre, dado que la dimensión total del disco se selecciona para contener todos los puntos que pueden acumularse en caso de un retardo de lectura informático máximo. En el caso del ejemplo, un disco de 32768 bytes de grande, después de restar el sector de 512 bytes de grande usado para los controles, contiene 32256 bytes de datos útiles, es decir 4032 puntos de firma de 8 bytes de grande cada uno, equivalentes a más de 10 segundos de firma activa. Un retardo de más de diez segundos (demasiado para la técnica actual) en la adquisición por el ordenador es por lo tanto el máximo soportado por una dimensión de este tipo del dispositivo.
Realización del disco
En la realización ejemplar particular, el disco se obtiene en la tableta de firma y aprovecha el mismo microcontrolador que realiza las otras funciones de la tableta: obtener la firma, visualización en la pantalla, visualización de teclas de adquisición para el accionamiento de las mismas.
El disco se obtiene de acuerdo con la técnica informática común a todas las unidades de almacenamiento masivo del tipo USB, comúnmente denominadas como “Unidad de lápiz” (Pen Drive) o “disco USB”. Esta técnica no se describe en detalle dado que está comúnmente disponible y es adecuada para todos los sistemas operativos normales tales como Windows y otros similares del tipo Unix (Linux, Mac OS, Android).
Estos dispositivos obtienen la clase de Dispositivo de Almacenamiento Masivo de USB o clase MSD basándose en el protocolo de MSD, una realización a través de la comunicación de USB del protocolo SCSI. Todos estos protocolos universalmente conocidos están regulados por normas oficiales y son adecuados para sistemas operativos sin requerir configuraciones o instalaciones particulares. Se aplica el mismo caso para sistemas operativos “remotos” o “virtuales”, que soportan instantáneamente las unidades de almacenamiento masivo en el puerto USB.
La estructura interna del disco se creó originalmente, que cumple lógicamente la norma FAT que está vigente durante los últimos años y regulada por la norma ISO/iEc 9293. Sin embargo, se creó originalmente de manera física, con el objetivo de resolver algunos problemas de la misma y mejorar el rendimiento de la misma.
En particular, en los sistemas operativos existe la posibilidad de modificar las dimensiones de un fichero en el disco, cancelarlo o formatear completamente el disco. El uso de una de estas funciones, incluso accidentalmente, tendría consecuencias desastrosas en la operación del sistema de comunicación anteriormente descrito dado que el borrado del fichero eliminaría cualquier posibilidad de comunicación entre el ordenador y la tableta, incluso aunque únicamente una variación de la dimensión del mismo durante la operación comprometiera la sincronización entre la función de transmisión y la de recepción.
La Figura 4 representa la estructura de un dispositivo de almacenamiento masivo por USB común disponible en el mercado, mientras que la Figura 5 representa la estructura obtenida usando el método descrito en el presente documento.
Con referencia a la Figura 4, en un dispositivo de almacenamiento masivo de USB normal el conector USB 31 comunica con el bloque de interfaz USB 32, que puede a su vez comunicar con el bloque 33 que gestiona el protocolo de MSD hacia el ordenador y también obtiene el sistema de ficheros que es normalmente del tipo disponible FAT (Tabla de Asignación de Fichero) en los tipos FAT12, FAT16 y FAT 32. Los bloques 32, 33 y 34 están compuestos totalmente de hardware y pueden obtenerse también, total o parcialmente, a través de un microcontrolador programado con un firmware específico. La memoria que contiene físicamente los datos se obtiene actualmente a través de una memoria del tipo Flash (que puede borrarse y volverse a escribir como bloques) indicados en la figura con el número 35; en el pasado esta memoria se obtuvo en su lugar usando un medio magnético tal como, por ejemplo, un disco flexible.
El sistema de ficheros del tipo FAT se concibió para permitir las operaciones normales de un dispositivo de almacenamiento de disco, por lo tanto también proporciona la creación y borrado de ficheros, la variación de las dimensiones del fichero, el formateo completo del disco. En particular, la tabla de asignación denominada como FAT, que es también el nombre del sistema de ficheros completo desde el que se obtiene, se obtiene para aprovechar todas las áreas del disco incluso en caso de borrado de los ficheros, aumentando las dimensiones de un fichero previamente presente, generando nuevos ficheros cuyas dimensiones son incompatibles con los espacios vacíos existentes: realmente, un fichero puede “dispersarse” en diversas áreas del disco, de acuerdo con la técnica
5
10
15
20
25
30
35
40
45
50
55
60
65
para el borrado y reutilización de los diversos sectores en los que se divide el disco. Si los ficheros se dispersan en el disco, estamos hablando de “fragmentación” del sistema de ficheros.
El dispositivo de almacenamiento masivo descrito en la Figura 4 dispone todas las estructuras de sistema de ficheros FAT - denominadas como MBR, Sector de Arranque, FAT, Directorio Raíz y finalmente el dispositivo de almacenamiento que contiene los datos reales, denominados como DATOS - en el dispositivo de almacenamiento flash. Por ejemplo, si el ordenador conectado al puerto USB requiere la variación de las dimensiones de un fichero, el gestor 33 de la función FAT proporciona - a través del gestor de almacenamiento 34 - modificando el sector de FAT para reflejar la nueva asignación de los datos del fichero en la sección de datos. Si se requiere borrar un fichero, el gestor 33 proporciona, aún a través de 34, la re-escritura del sector que contiene el directorio raíz usando el nombre del fichero invalidado y proporciona la re-escritura del sector de FAT para indicar el espacio que se ocupó inicialmente por el fichero borrado como libre.
Como se ha mencionado, si planeamos usar el disco para obtener un intercambio de controles, deben evitarse absolutamente las funciones de borrado, formateado y cualquier variación de la asignación del fichero en el área de DATOS; por lo tanto, el método objeto de la invención proporciona una estructura diferente que se indica en la Figura 5.
Aunque los bloques 31, 32, 33, 34 tienen la misma función que aquellos de la Figura 4, el almacenamiento físico se obtiene en dos bloques diferentes: el bloque 38 que se obtiene con una ROM (memoria de Sólo Lectura) y el bloque 39 que se obtiene con una RAM (Memoria de Acceso Aleatorio). Los sectores del MBR, SECTOR DE ARRANQUE, FAT y DIRECTORIO RAÍZ se escriben una vez y para todos en una Memoria de Sólo Lectura ROM, requiriendo por lo tanto que cada operación de la variación de los mismos (también accidental) no tenga efecto y el disco siempre mantiene la misma estructura, la misma lista de ficheros y la misma asignación. El área de DATOS, indicada con 39, se obtiene en su lugar usando una Memoria de Acceso Aleatorio RAM. Una Memoria de Acceso Aleatorio RAM es normalmente más rápida que una memoria flash, ambas con respecto a lectura e - incluso mucho más - con respecto a re-escritura; como una materia de hecho la memoria Flash requiere el borrado del sector antes de que pueda reescribirse mientras que en la Memoria de Acceso Aleatorio RAM puede también re-escribirse un byte cada vez. Por lo tanto, el uso de Memoria de Acceso Aleatorio RAM acelera considerablemente la respuesta del disco, que es un requisito indispensable si se planea usarla para controles de transmisión.
Además, todas las memorias Flash tienen, en su vida útil, un número máximo de ciclos de borrado, después de lo que se vuelven no utilizables para siempre. El número de borrados, en el orden de cien mil a un millón, es suficiente para un almacenamiento masivo, pero es extremadamente bajo para una interfaz de control en la que hay posiblemente cientos o miles de re-escrituras por segundo. Por lo tanto, el uso de la Memoria de Acceso Aleatorio RAM es la única posibilidad para permitir este uso particular de almacenamiento masivo; el hecho de que la Memoria de Acceso Aleatorio RAM sea volátil, es decir pierde sus contenidos una vez que se retira la tensión, no crea problema alguno debido al hecho de que los datos duran durante un breve periodo de tiempo. Como una cuestión de hecho, el hecho de que el disco se vuelva “limpio” una vez más tras el inicio es positivo debido al hecho de que elimina definitivamente todos los residuos de las operaciones anteriores que pueden no haber sido satisfactorias.
Debería observarse que en lugar de tener una Memoria de Sólo Lectura ROM, el bloque 38 puede obtenerse también con una memoria flash; en este caso, para evitar absolutamente la posibilidad de re-escritura, se desactiva permanentemente (hardware o firmware) la función de borrado de sectores en los que está dispuesta, obteniendo por lo tanto el mismo comportamiento que la Memoria de Sólo Lectura ROM y manteniendo la ventaja de que puede escribir la memoria, únicamente una vez en producción, usando un programador externo normal o usando un primer firmware de programación especial.
Realización de la FAT
En el caso de la interfaz de control descrita en el presente documento, se decidió usar - para intercambiar controles y datos - únicamente un fichero con la máxima dimensión posible en la Memoria de Acceso Aleatorio RAM usada (en el caso del ejemplo, 32k o 32768 bytes). La tabla FAT se preparó por lo tanto, únicamente una vez durante la etapa de diseño, para disponer linealmente el fichero en toda la Memoria de Acceso Aleatorio RAM. Por lo tanto, los sectores del disco se hallan en la Memoria de Acceso Aleatorio RAM uno después del otro en la sucesión creciente exacta; si la disposición del fichero no estuviera fija en la Memoria de Sólo Lectura ROM, los sectores podrían hallarse en su lugar en un orden más o menos dispersado de acuerdo con el historial de borrados y re-escrituras llevados a cabo previamente.
La disposición absolutamente lineal del fichero tiene otra ventaja descrita en el presente documento. Para acceder a los datos del disco, que - como se ha mencionado - se comparten entre el ordenador y la tableta de firma, tanto el ordenador como la tableta deberían proporcionarse con el gestor de ficheros de sistema FAT. El gestor es bastante complejo y requiere una cantidad discreta de recursos de procesamiento, que están definitivamente disponibles en el ordenador, pero son bastante caros de obtener con el pequeño microcontrolador con el que se proporciona la tableta gráfica; además el esfuerzo inicial requerido para obtenerlos, la ejecución de las funciones de FAT por la tableta
5
10
15
20
25
30
35
40
45
50
55
60
65
conducirían a alta lentitud de ejecución. Sin embargo, la disposición lineal de los sectores del disco en la Memoria de Acceso Aleatorio RAM permite, en el lado de la tableta 21, evitar completamente el uso de un gestor de sistema de ficheros: para acceder a cualquier sector, el microcontrolador únicamente realiza acceso directo a la Memoria de Acceso Aleatorio RAM, después de haber calculado - a través de una multiplicación sencilla - la dirección del sector en la Memoria de Acceso Aleatorio RAM. Por ejemplo, en caso de sectores de 512 bytes cada número desde cero en adelante, la dirección del sector en la Memoria de Acceso Aleatorio RAM se proporciona simplemente por: dirección = número de sectores x 512.
Finalmente, la disposición particular adoptada permite ahorrar considerablemente con respecto a la solución general y una mejor velocidad de respuesta. Una prueba llevada a cabo en la realización ejemplar particular reveló que, usando una memoria flash y un sistema de ficheros incluso en el lado de la tableta, una operación elemental (escribir y leer un sector en ambos lados) requiere 120 milisegundos mientras que, con la Memoria de Acceso Aleatorio RAM y sin el sistema de ficheros del lado de la tableta, la misma operación requiere 3 milisegundos.
Ahora, a continuación se encuentra el análisis de la realización de algunas de las funciones típicas de la tableta, además de obtener y transmitir la firma previamente indicada.
Intercambio de claves
Considerando el mismo intercambio de controles y transmisión de datos en caso de la adquisición de la firma, incluso todos los controles de operación y las respuestas relativas se intercambian a través del mismo tipo de organización basándose en un disco compartido, posiblemente sin usar una cola de datos de FIFO, sino únicamente usando los controles intercambiados en el primer sector.
Como un ejemplo de control, deberá hacerse referencia con respecto al intercambio de claves criptográficas.
Una función esencial de cada tableta válida para la adquisición de firmas es la de la criptografía de los datos firmados, para evitar la intercepción de la comunicación de USB. Es observable que una comunicación a través de la cola de FIFO en un disco, del tipo descrito, no es fácil de interpretar como la transmisión continua de los datos de posición y presión usados por un dispositivo de HID normal. Además, el dispositivo descrito proporciona datos de cifrado bien antes de la transmisión de los mismos: el cifrado se obtiene con un algoritmo simétrico, punto a punto, cuando cada punto de la firma recién obtenida se escribe en la Memoria de Acceso Aleatorio RAM que forma los sectores del disco de intercambio de datos. Por lo tanto, cualquier análisis de los datos que pase en la conexión de USB no permite la extracción de la firma.
La clave de cifrado se renueva en cada operación de firma a través del protocolo de criptografía conocido del tipo Diffie-Hellman. Como es observable en la Figura 6, el ordenador escribe - en la posición 1 del primer sector del disco - el byte que indica el control de intercambio de clave, y la clave casual Ka del mismo en los bytes posteriores. La tableta responde introduciendo - en el byte en la posición 4 - la respuesta afirmativa al comando recibido, y a continuación introduciendo la clave casual Kb del mismo. Inmediatamente después ambos dispositivos realizan las operaciones proporcionadas por el algoritmo Diffie-Hellman generando por lo tanto la clave de criptografía simétrica común que se usa en la siguiente operación de firma. El intercambio de claves requiere únicamente la lectura y escritura de un sector del disco, que dura solo tres milisegundos en el caso del ejemplo.
Visualización de las imágenes
En el uso de la tableta de firma 21, la función que requiere la transmisión de la cantidad más grande de datos es la que en el ordenador 24 transmite una imagen que debería visualizarse en la pantalla de la tableta a la tableta 21. Por ejemplo, en el caso de una imagen de la dimensión de 480 x 272 píxeles con 65536 colores, cada píxel implica la transmisión de dos bytes, por lo tanto la imagen ocupa 480 x 272 x 2 = 262120 bytes.
El método descrito en el presente documento proporciona dividir los datos de imagen en bloques del tamaño equivalente a un sector del disco, en el caso del ejemplo 512 bytes cada uno. Como es observable en la figura 7, el ordenador inserta el byte de control de visualización de imagen en la posición 1 y - en las posiciones posteriores - las coordenadas en la pantalla (X1,Y1) y (X2,Y2) de los dos ángulos superior derecho e inferior izquierdo de la imagen a visualizarse. Además, pone a cero el contador Bw de los bloques escritos y el contador Br de los bloques leídos. La tableta escribe la respuesta al control en la posición 2.
Por lo tanto, el ordenador 24 inicia la escritura - en los sectores de datos - los bloques en los que se dividió la imagen; el Bw aumenta para cada bloque escrito. La tableta observa que Br es diferente de Bw y empieza la lectura de los bloques de datos y la transferencia. El Br aumenta en cada bloque, y continúa hasta que Br se hace igual a Bw.
Como se ha mencionado, los bloques corresponden a los sectores del disco y son consecutivos; para obtener una cola de FIFO circular se utiliza una fórmula sencilla que proporciona el número de sector empezando desde el número de bloque actual:
5
10
15
20
25
30
35
40
Sector = 2 + bloque mod Ns
Ns es el número de sectores del disco disponibles para los datos; por ejemplo, en el caso del disco de 32768 bytes con sectores de 512 bytes, y teniendo en cuenta el hecho de que se usa el primer sector para los controles obtenemos Ns = 32768/512 - 1 = 63.
La operación módulo obtiene automáticamente el retorno al primer sector cuando el bloque llega después del final del disco.
Incluso en este caso se requiere gestionar las siguientes condiciones:
- memoria intermedia vacía Br=Bw
- memoria intermedia llena Bw-Br=Ns
Con memoria intermedia vacía, la tableta detiene la lectura; con la memoria intermedia llena, el ordenador detiene la escritura hasta que la tableta libera algún espacio. Debería observarse también que, incluso en este caso, independientemente de la lectura y velocidad de los datos y el orden de lectura y escritura del primer sector que contiene los contadores, no hay posibilidad de corromper los datos debido a la ralentización o interrupción de la transmisión.
Tras recibir todos los datos requeridos para completar la imagen o - en otras palabras cuando los gestiona para escribir el píxel de posición (X2,Y2) la tableta 21 entiende que es el final de la transmisión de la imagen y elimina la respuesta de la misma desde la posición 2 del primer sector. Por lo tanto, el ordenador detecta que la transmisión ha sido satisfactoria.
Ventajas y aplicación industrial de la invención
Como se ha señalado en la descripción anterior, el método de acuerdo con la presente invención permite superar el problema principal con respecto a la operación correcta en un entorno virtualizado, remoto o lento; permite también superar el segundo problema, que es la velocidad de intercambio de datos, sin requerir crear un protocolo de USB personalizado con la consiguiente necesidad de desarrollar e instalar un controlador de dispositivo especial. Además el método supera otros problemas que tienen lugar cuando se utiliza una comunicación a través de almacenamiento masivo, en particular el de evitar la cancelación de datos o modificación de la dimensión de la usada para comunicación.
El método, descrito en el presente documento para su uso como una interfaz para una tableta de firma, puede utilizarse ventajosamente en muchas otras aplicaciones informáticas en las que se requiere un ordenador para dialogar con un periférico, por lo tanto el campo de protección de la presente patente no debería considerarse para limitar las aplicaciones en el campo de la tableta de firma, sino que se extiende a todas las aplicaciones en las que hay comunicación entre un ordenador y un dispositivo periférico o externo.

Claims (13)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Sistema en tiempo real para la memorización bidireccional y transmisión de los controles y datos para un procesador (24) en el proceso de E/S, con periféricos serie externos (21) tales como tabletas gráficas y/o digitalizadoras para la firma escrita a mano, caracterizado por que usa un medio externo (22) para la memorización de datos estáticos para constituir una memoria intermedia de transmisión que puede operar con la unidad periférica serie (21) y verse como un disco virtual extraíble de “unidad USB”, en tal medio externo (22) habiendo configurado únicamente un fichero constituido como una sucesión secuencial lineal de datos en los sectores de dimensión constante, que pueden compartirse entre la unidad periférica serie (21) y el procesador (24), que puede tanto leerlos como escribirlos, en paralelo, definiendo por lo tanto una transmisión de E/S asíncrona con contenidos de bloque de datos del orden de un Kbyte y un área de memorización realmente tan grande como se desee, sin embargo definitivamente más grande que un paquete de datos, usada como una memoria intermedia temporal para espera de datos a transmitirse, comprendiendo tal fichero:
    a- un primer sector (A) con los siguientes códigos de operación funcional con una organización FIFO de los accesos de E/S:
    i. control (1) desde un ordenador (24) a una unidad periférica serie (21),
    ii. respuesta al control (4) desde una unidad periférica serie (21) a un ordenador (24),
    iii. puntero al sector (2) que se lee por el ordenador (24),
    iv. puntero al punto (3) que se lee por el ordenador (24),
    v. puntero al sector (5) que se escribe por la unidad periférica serie (21),
    vi. puntero al punto (6) que se escribe por la unidad periférica serie (21), y
    b- una serie de sectores (B, C, D...N) posteriores al primero configurado para tener dimensiones constantes para el acceso inmediato a los datos contenidos en los mismos.
  2. 2. Sistema en tiempo real para la memorización bidireccional y transmisión de controles y datos de acuerdo con la reivindicación 1, caracterizado por que la virtualización del periférico (21) que se interconecta a través de las funcionalidades de unidad de USB se obtiene en la misma unidad periférica serie (21) para firma usando, para gestionar el soporte de memorización externo (22), el mismo microcontrolador que gestiona las otras funciones de la unidad periférica serie, tal como la adquisición de la trayectoria y la visualización en la pantalla.
  3. 3. Sistema en tiempo real para la memorización bidireccional y transmisión de controles y datos de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que el soporte de memoria (22) está constituido por una memoria física compuesta de dos secciones distintas:
    a- un bloque (38) obtenido con una memoria de sólo lectura ROM, con los sectores de MBR, SECTOR DE ARRANQUE, FaT y DIRECTORIO RAÍZ escritos una vez y para todos en dicha memoria ROM, manteniendo el medio externo siempre como la misma estructura, la misma lista de ficheros y la misma asignación; b- una serie de bloques de datos (39), obtenidos con una memoria RAM de escritura/lectura, del tipo volátil.
  4. 4. Sistema en tiempo real para la memorización bidireccional y transmisión de controles y datos de acuerdo con la reivindicación anterior, caracterizado por que la memoria de sólo lectura (38), se obtiene con una memoria flash, evitando de esta manera la posibilidad de reescritura, desactivando permanentemente la función de borrado de los sectores en los que está dispuesta, operando de esta manera con el modo funcional igual al de una ROM, escribiendo en la memoria, únicamente durante producción.
  5. 5. Sistema en tiempo real para la memorización bidireccional y transmisión de controles y datos de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que la tabla de FAT del soporte de memoria (22) está predispuesta, únicamente una vez durante el diseño, para asignar dicho fichero de una manera lineal en toda la RAM, estando asignados los sectores de memoria en la rAm en una secuencia de sucesión estrictamente creciente.
  6. 6. Sistema en tiempo real para la memorización bidireccional y transmisión de controles y datos de acuerdo con la reivindicación anterior, caracterizado por la asignación lineal de los sectores en los que se divide la memoria RAM en el soporte de memoria (22) sin usar ningún gestor de sistema de ficheros, permitiendo al microcontrolador acceso directo a cualquier sector de la RAM, a través del direccionamiento inmediato a la localización de memoria obtenida con la multiplicación del número de bytes ocupados por cada sector, con el número de sector en la RAM y sumando el desplazamiento con respecto al punto de entrada.
  7. 7. Método en tiempo real para la memorización bidireccional y transmisión de controles y datos basado en un sistema de hardware de acuerdo con las reivindicaciones anteriores, caracterizado por que comprende las siguientes etapas de operación con respecto al proceso de adquisición:
    a) la unidad periférica serie digitalizadora (21) predispone el envío de los datos para que se obtengan en la entrada de una cola de FIFO (25) en el medio externo (22) a través de:
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    a-1) la configuración de únicamente un fichero constituido como una sucesión secuencial lineal de datos, en sectores de dimensiones constantes, que pueden compartirse, entre la unidad periférica serie (21) y el procesador (24), ambos de los cuales pueden paralelizarse, leerse y escribirse en dicho fichero, a-2) la inserción en el primer sector de tal fichero, para la organización de la cola de FIFO en el fichero, de los siguientes códigos de operación:
    i. control (1) desde el ordenador (24) a la unidad periférica serie (21),
    ii. respuesta al control (4) desde la unidad periférica serie (21) al ordenador (24),
    iii. puntero al sector (2) que se lee por el ordenador (24),
    iv. puntero al punto (3) que se lee por el ordenador (24),
    v. puntero al sector (5) que se escribe por la unidad periférica serie (21),
    vi. puntero al punto (6) que se escribe por la unidad periférica serie (21),
    b) el procesador (24) lee los datos desde la FIFO (25) a medida que los últimos se obtienen desde la salida de la unidad periférica (21), y los visualiza en la pantalla con el único retardo dado por la comunicación de soporte de memoria informática, sin retardos atribuibles a un proceso de adquisición basándose en la duración completa de la entrada en el periférico (21), el acceso a los sectores del fichero (B, C, ...N) desde el segundo al último configurado para contener los datos de los puntos detectados por la unidad periférica (21) que tienen lugar instantáneamente.
  8. 8. Método en tiempo real para la memorización bidireccional y transmisión de controles y datos de acuerdo con cualquiera de las reivindicaciones de método anteriores, caracterizado por que para activar las operaciones de detección de datos digitales:
    I- el procesador (24) escribe el control relativo como un byte en la posición del primer sector (1);
    II- la unidad periférica serie (21), dado que es inoperativa, lee continuamente tal primer sector (1) tan pronto como observa que el control introducido en dicha primera posición empieza a obtener los datos en la entrada y comunica la aceptación del control escribiendo la respuesta, en forma de un byte, en la posición (4);
    III- paralelamente en las posiciones (2) y (5) escribe el número del primer sector de datos del medio externo de memoria y activa las posiciones (3) y (6);
    IV- el procesador (24) observa la respuesta al control en la posición (4) y predispone para visualizar la trayectoria que deberá fijarse - por el usuario - y obtenerse;
    V- la unidad periférica serie (21) obtiene los puntos de la trayectoria e inserta de manera progresiva cada uno de ellos en el sector direccionado por el puntero del sector (5) y por el puntero del punto (6);
    VI- para cada punto proporcionado en la entrada, la unidad periférica aumenta el puntero de punto (6) y, cuando supera el número de puntos que pueden estar contenidos en un sector, pone a cero el puntero de punto (6) y aumenta el puntero de sector (5) en una unidad;
    VII- si el puntero de sector supera el último sector del soporte de memorización externo, la unidad periférica serie (21) lo devuelve al valor inicial, reutilizando de esta manera el primer sector libre que mientras tanto deberá haberse leído por el ordenador,
    y por que mientras la unidad periférica serie (21) obtiene los puntos en la entrada con la secuencia I-VII, realmente en paralelo desde el procesador (24) se realizan las siguientes etapas de operación:
    a- el procesador (24) observa que el puntero (6) o el puntero (5) son diferentes de los punteros (3) y (2), y por lo tanto detecta que hay puntos listos para leerse;
    b- el procesador (24) lee cada punto desde el soporte de memoria externa, en la memoria de operación del mismo y aumenta el puntero (3);
    c- si superara el puntero (3) el número de puntos por sector, el procesador (24) pone a cero el puntero (3) y aumenta el puntero (2);
    d- el procesador detiene tan pronto como sea posible todos los puntos generados por la unidad periférica serie que se han leído, teniendo lugar esta condición cuando el puntero aumentado (3) alcanza el mismo valor del puntero (6) y el puntero (2) alcanza el mismo valor del puntero (5);
    no dependiendo la corrección del rendimiento de la operación de transferencia de datos de la secuencia temporal exacta de los eventos, en que la unidad periférica serie (21) únicamente escribe en los punteros (5) y (6) mientras que el procesador (24) únicamente escribe en los punteros (2) y (3).
  9. 9. Método en tiempo real para memorización bidireccional y transmisión de controles y datos de acuerdo con cualquiera de las reivindicaciones de método anteriores caracterizado por que si se ralentizara o cesara la adquisición por el procesador (24) para un periodo de tiempo dado, la unidad periférica serie (21) continúa escribiendo los datos en el fichero y actualizando los punteros, recuperando el retardo y obteniendo los puntos suspendidos en la FIFO, cuando el procesador se vuelve disponible de nuevo.
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
  10. 10. Método en tiempo real para memorización bidireccional y transmisión de controles y datos de acuerdo con las reivindicaciones de método anteriores, caracterizado por que de acuerdo con las condiciones funcionales de límite:
    i. cola de FIFO vacía: cuando el puntero (2) = puntero (5) y puntero (3) = puntero (6)
    ii. cola de FIFO completa: cuando el puntero (5) = puntero (2) menor que 1,
    tras alcanzar el final del fichero, la unidad periférica serie (21) reanuda la escritura desde el segundo sector reutilizando de esta manera el área previamente usada, siempre que se haya liberado desde el procesador mientras tanto.
  11. 11. Método en tiempo real para memorización bidireccional y transmisión de controles y datos de acuerdo con las reivindicaciones de método anteriores, caracterizado por que proporciona el cifrado de los datos antes de la transmisión de los mismos, obteniéndolos con un algoritmo simétrico, punto por punto de la trayectoria en la entrada, en el mismo punto cuando cada punto de la trayectoria, recién obtenido previamente, se escribe en la RAM que forma los sectores del disco de intercambio de datos, renovándose la clave de cifrado en cada operación de firma a través del protocolo de criptografía especializado, realizando las siguientes etapas de operación:
    a- de acuerdo con una configuración especializada de los códigos de operación el procesador (24) escribe - en la posición (1) del primer sector del disco - el byte del control de intercambio de clave, y su clave aleatoria (Ka) en los siguientes bytes,
    b- la unidad periférica serie (21) responde insertando, en el byte en la posición (4), la respuesta afirmativa al control recibido, e insertando su clave aleatoria (Kb) posteriormente;
    c- posteriormente los dos dispositivos realizan inmediatamente las operaciones proporcionadas por el algoritmo de criptografía que genera la clave común de criptografía simétrica que se usa en la siguiente operación de firma.
  12. 12. Método en tiempo real para memorización bidireccional y transmisión de controles y datos de acuerdo con cualquiera de las reivindicaciones de método anteriores, caracterizado por que la funcionalidad de visualización de las imágenes en el periférico de E/S (21) proporciona una configuración especializada de los códigos de operación con las siguientes etapas de operación:
    a- la división de los datos de imagen en bloques de dimensión equivalente a un sector del disco, insertando el procesador - en la primera posición - el byte de control de visualización de imagen y - en las posiciones posteriores - las coordenadas en la pantalla (X1,Y1) y (X2,Y2) los dos ángulos superior derecho e inferior izquierdo de la imagen a visualizarse, por lo tanto el contador (Bw) de los bloques escritos y el contador (Br) de los bloques leídos se ponen a cero;
    b- la escritura - por la unidad periférica serie (21) - de la respuesta al control en la posición relativa (2), empezando a escribir el procesador - en los sectores de datos - los bloques en los que dividió la imagen, aumentando para cada bloque escrito el contador de los bloques escritos (Bw), en el que la unidad periférica serie que observa que el contador de los bloques leídos (Br) es diferente del contador de los bloques escritos (Bw) y empezando a leer los bloques de datos y transfiriéndolos a la pantalla, aumentando el contador de los bloques leídos (Br) en cada contador, y continuando hasta que el contador de los bloques leídos (Br) se vuelva igual al contador de los bloques escritos (Bw).
    c- la unidad periférica serie, tras recibir todos los datos requeridos para completar la imagen, escribir los píxeles de posición (X2,Y2), entiende que el final de la transmisión de la imagen se ha alcanzado y elimina su respuesta de la posición (2) del primer sector, detectando el procesador a su vez que la transmisión ha sido satisfactoria.
  13. 13. Método en tiempo real para memorización bidireccional y transmisión de controles y datos de acuerdo con cualquiera de las reivindicaciones de método anteriores, caracterizado por que la asignación de dichos bloques consecutivos que corresponden a los sectores del disco opera de acuerdo con una cola de FIFO circular, obteniéndose el número actual del sector empezando desde el número actual del bloque como
    Sector = 2 + bloque mod Ns
    siendo Ns el número de sectores del disco disponibles para los datos; y la operación módulo que obtiene automáticamente el retorno al primer sector cuando el puntero al bloque supera la terminación del soporte de memoria externa, considerando las condiciones de límite de:
    i. memoria intermedia vacía, contador de los bloques leídos (Br)= contador de los bloques escritos (Bw)
    ii. memoria intermedia llena, contador de los bloques escritos (Bw)
    - contador de los bloques leídos (Br)=Ns,
    por lo tanto respectivamente:
    a- con la memoria intermedia vacía, la unidad periférica serie deja la lectura;
    b- con la memoria intermedia llena, el procesador deja la escritura hasta que la unidad periférica serie borra el espacio.
ES14830677.2T 2013-12-31 2014-12-16 Método para intercambiar controles a través de un disco USB y dispositivos relativos que permiten la implementación del mismo Active ES2674549T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
ITRM20130728 2013-12-31
IT000728A ITRM20130728A1 (it) 2013-12-31 2013-12-31 Metodo di scambio comandi tramite disco usb e relativi dispositivi che ne permettono l¿implementazione.
PCT/IB2014/066965 WO2015101869A1 (en) 2013-12-31 2014-12-16 Method for exchanging controls through a usb disc and relative devices which allow the implementation thereof

Publications (1)

Publication Number Publication Date
ES2674549T3 true ES2674549T3 (es) 2018-07-02

Family

ID=50239806

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14830677.2T Active ES2674549T3 (es) 2013-12-31 2014-12-16 Método para intercambiar controles a través de un disco USB y dispositivos relativos que permiten la implementación del mismo

Country Status (17)

Country Link
US (1) US20160328354A1 (es)
EP (1) EP3090348B1 (es)
JP (1) JP6530762B2 (es)
KR (1) KR20160103998A (es)
CN (1) CN105917322B (es)
AU (1) AU2014375052A1 (es)
BR (1) BR112016015465A2 (es)
CA (1) CA2935283A1 (es)
EA (1) EA201691243A1 (es)
ES (1) ES2674549T3 (es)
HK (1) HK1225832A1 (es)
IL (1) IL246243B (es)
IT (1) ITRM20130728A1 (es)
MX (1) MX2016008599A (es)
SG (1) SG11201604867WA (es)
TR (1) TR201808730T4 (es)
WO (1) WO2015101869A1 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250057B (zh) * 2016-07-26 2019-06-04 青岛海信移动通信技术股份有限公司 一种显示存储设备的方法和装置
CN114035749B (zh) * 2018-01-12 2023-02-28 珠海极海半导体有限公司 电子设备和Flash存储器
KR20190138336A (ko) 2018-06-05 2019-12-13 현대자동차주식회사 운송 수단용 리튬 이차 전지 및 이의 제조 방법
CN109375875B (zh) * 2018-10-11 2020-03-17 北京明朝万达科技股份有限公司 文件传输方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2932568B2 (ja) * 1990-02-15 1999-08-09 松下電器産業株式会社 データ通信装置
JP3816180B2 (ja) * 1997-03-14 2006-08-30 株式会社日立コミュニケーションテクノロジー 通信装置のインターフェイス制御方法
JPH11339447A (ja) * 1998-05-29 1999-12-10 Sony Corp 記録再生装置
US6307955B1 (en) * 1998-12-18 2001-10-23 Topaz Systems, Inc. Electronic signature management system
US20040193785A1 (en) * 2003-03-11 2004-09-30 Zayas Fernando A. System for improving the performance of read/write testing in a hard drive
EP1782287A2 (en) * 2004-07-21 2007-05-09 Beach Unlimited LLC Distributed storage architecture based on block map caching and vfs stackable file system modules
JP2006202051A (ja) * 2005-01-20 2006-08-03 Canon Inc データ処理装置及びデータ処理方法
RO121497B1 (ro) * 2005-02-09 2007-06-29 Softwin S.R.L. Sistem informatic şi metodă pentru achiziţia, analiza şi autentificarea semnăturii olografe
CN100557584C (zh) * 2005-06-09 2009-11-04 Nxp股份有限公司 用于对网络和存储器进行耦合的存储器控制器和方法
US7594067B2 (en) * 2005-10-20 2009-09-22 Stec, Inc. Enhanced data access in a storage device
JP4357473B2 (ja) * 2005-11-04 2009-11-04 株式会社ソニー・コンピュータエンタテインメント データ処理システムおよびプログラム
JP4663577B2 (ja) * 2006-05-16 2011-04-06 株式会社バッファロー データ記憶装置およびこの初期化方法
CN101252536B (zh) * 2008-03-31 2010-06-02 清华大学 路由器多队列数据包缓存管理与输出队列调度系统
US8370835B2 (en) * 2009-03-12 2013-02-05 Arend Erich Dittmer Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device
US8638805B2 (en) * 2010-05-18 2014-01-28 Lsi Corporation Packet draining from a scheduling hierarchy in a traffic manager of a network processor
CN101997646B (zh) * 2010-05-25 2012-11-28 锐骐(厦门)电子科技有限公司 基于usb和nand flash的数据打包和传输的方法
ITRM20110370A1 (it) 2011-07-15 2013-01-16 Prb S R L Sistema stilo-tavoletta grafica per la presentazione ed il confronto della firma biometrica autografa.
ITRM20110652A1 (it) 2011-12-07 2013-06-08 Prb S R L Unità di digitalizzazione ed archiviazione dei documenti e relative tecniche di virtualizzazione degli aggiornamenti.

Also Published As

Publication number Publication date
JP6530762B2 (ja) 2019-06-12
TR201808730T4 (tr) 2018-07-23
EP3090348B1 (en) 2018-03-21
IL246243A0 (en) 2016-07-31
JP2017507438A (ja) 2017-03-16
US20160328354A1 (en) 2016-11-10
AU2014375052A1 (en) 2016-07-07
CN105917322B (zh) 2020-08-07
EA201691243A1 (ru) 2016-12-30
ITRM20130728A1 (it) 2015-07-01
CN105917322A (zh) 2016-08-31
CA2935283A1 (en) 2015-07-09
WO2015101869A1 (en) 2015-07-09
MX2016008599A (es) 2017-04-13
EP3090348A1 (en) 2016-11-09
IL246243B (en) 2019-03-31
SG11201604867WA (en) 2016-07-28
BR112016015465A2 (pt) 2017-08-08
HK1225832A1 (zh) 2017-09-15
KR20160103998A (ko) 2016-09-02

Similar Documents

Publication Publication Date Title
ES2674549T3 (es) Método para intercambiar controles a través de un disco USB y dispositivos relativos que permiten la implementación del mismo
EP3678039B1 (en) Secure startup method and apparatus, and terminal device
JP6685651B2 (ja) 格納装置及びその動作方法
JP5694895B2 (ja) 改良されたフラッシュメモリ互換性の電子デバイスと相関する方法
CN104808951B (zh) 进行存储控制的方法和设备
EP2849076A1 (en) Dma transmission method and system
US20140020086A1 (en) Virtual machine system, confidential information protection method, and confidential information protection program
US20210256077A1 (en) Methods, devices and computer-readable storage media for processing a hosted application
TW201040972A (en) Byte-access in block-based flash memory
US20140317350A1 (en) Portable storage devices for electronic devices
US9891908B2 (en) Updatable integrated-circuit radio
ES2910513T3 (es) Sistema y método de procesamiento de señales de sensibilidad táctil
US10985916B2 (en) Obfuscation of keys on a storage medium to enable storage erasure
CN113204309B (zh) 数据储存装置以及非挥发式存储器控制方法
CN106933486A (zh) 用于安卓系统的触控实现方法及装置
KR20210079601A (ko) 펌웨어를 업데이트하는 터치 시스템 및 방법
US20130239010A1 (en) Client apparatus, client control method, server and image providing method using the server
WO2012109727A1 (en) Method for providing data associated with an object displayed on a touch screen display
KR20190052510A (ko) 전자 장치 및 그 제어 방법
ITUB20154033A1 (it) Programma software retrodriver per comunicazioni con periferiche e metodo associato.
JP2015158728A (ja) 情報閲覧装置、及び、情報閲覧プログラム
Peng et al. Design and Implementation of Portable TPM Device Driver Based on Extensible Firmware Interface
ITUB20154062A1 (it) Metodo di scambio dati e comandi sicurizzato.