ES2638212T3 - Sincronización de contador de tramas USB basado en tiempo de medios para bus serie wifi - Google Patents

Sincronización de contador de tramas USB basado en tiempo de medios para bus serie wifi Download PDF

Info

Publication number
ES2638212T3
ES2638212T3 ES14730016.4T ES14730016T ES2638212T3 ES 2638212 T3 ES2638212 T3 ES 2638212T3 ES 14730016 T ES14730016 T ES 14730016T ES 2638212 T3 ES2638212 T3 ES 2638212T3
Authority
ES
Spain
Prior art keywords
usb
main device
frames
client devices
clock signal
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
ES14730016.4T
Other languages
English (en)
Inventor
Yossef Tsfaty
Xiaodong Wang
Alireza Raissinia
Vijayalakshmi Rajasundaram RAVEENDRAN
Xiaolong Huang
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2638212T3 publication Critical patent/ES2638212T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Un procedimiento (500) para el funcionamiento de un dispositivo de bus serie universal, USB, en una red, comprendiendo el procedimiento: recibir (501) una o más tramas USB desde un dispositivo principal (210) a través de la red, en el que la una o más tramas USB se encapsulan en uno o más paquetes de datos basándose en un protocolo de comunicaciones asociado con la red; caracterizado por sincronizar (502) una señal de reloj local del dispositivo USB con una señal de reloj del dispositivo principal mediante un mecanismo de sincronización de reloj del protocolo de comunicaciones; determinar (503) un número de tramas USB transmitidas por el dispositivo principal basándose, al menos en parte, en la señal de reloj local sincronizada; y procesar (504) la una o más tramas USB basándose, al menos en parte, en el número de tramas USB transmitidas por el dispositivo principal.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Sincronizacion de contador de tramas USB basado en tiempo de medios para bus serie wifi CAMPO TECNICO
Los presentes modos de realizacion se refieren en general a sistemas de comunicacion, y, espedficamente, al envfo de paquetes de protocolo de bus serie universal (USB) a traves de un canal wifi.
ANTECEDENTES DE LA TECNICA RELACIONADA
Se emplean varias normas de interfaz para conectar ordenadores, perifericos externos y redes para proporcionar conectividad simple a altas velocidades. Por ejemplo, el bus serie universal (USB) es un protocolo de bus serie de alta velocidad comunmente utilizado para conectar ordenadores como PC y ordenadores portatiles a una amplia variedad de dispositivos perifericos como ratones, teclados, impresoras, unidades flash, altavoces y similares. Mas espedficamente, el protocolo USB fue disenado para ofrecer a los usuarios una interfaz mejorada y facil de usar para conectar una gama increfblemente diversa de perifericos a sus ordenadores con el procedimiento de enchufar y usar.
Mas recientemente, se han disenado unos protocolos de comunicacion inalambrica para permitir que dispositivos de comunicacion tales como PC, portatiles, tabletas y telefonos inteligentes se conecten con otros dispositivos de comunicacion sin hilos ni cables ffsicos. Por ejemplo, las normas IEEE 802.11 definen varios protocolos wifi que permiten la comunicacion inalambrica mediante senales RF. Por ejemplo, un punto de acceso wifi puede proporcionar una red de area local inalambrica (WLAN) que permite que uno o mas dispositivos cliente, tales como estaciones moviles (STA), se comuniquen entre sf y/o se conecten a redes alambricas externas, tales como Internet.
Por lo tanto, sena deseable que un dispositivo principal (por ejemplo, un ordenador, un ordenador portatil, una tableta, un telefono inteligente) intercambiara datos USB con una serie de dispositivos cliente (por ejemplo ratones, teclados, impresoras, unidades flash, altavoces), por ejemplo, para obviar la necesidad de cableado entre el dispositivo principal y los dispositivos cliente. Aunque la tecnologfa Bluetooth® puede permitir comunicaciones inalambricas entre el dispositivo principal y los dispositivos cliente, las comunicaciones WLAN tienen un alcance mucho mayor que las comunicaciones Bluetooth.
El documento US 7 734 758 B1 divulga un controlador de control principal remoto de bus serie universal (USB) que incluye una conexion a una red local, una pila de protocolos de red y una memoria para almacenar direcciones de red de adaptadores de dispositivos USB y dispositivos USB en la red. Un adaptador de dispositivo USB tiene uno o mas puertos USB, una conexion de red, una direccion de red y una pila de protocolos de red. En su conjunto, el controlador de control principal remoto USB y el adaptador de dispositivo USB permiten la interaccion entre un ordenador de red y unos dispositivos USB perifericos de la red.
El documento US 2010/086093 A1 divulga un procedimiento y un aparato para regenerar un reloj local dentro de un modulo inalambrico y sincronizar el reloj local con un reloj principal inalambrico. Para un modo de realizacion, el modulo inalambrico genera un reloj local, cuenta los ciclos del reloj durante un periodo de referencia de temporizacion comun mantenido de forma inalambrica entre el modulo inalambrico y el principal, recibe un recuento del reloj principal durante el mismo penodo de referencia de temporizacion comun y ajusta la senal de reloj local basandose en una comparacion de los dos recuentos. Para un modo de realizacion, el modulo inalambrico recibe ademas referencias de temporizacion del principal y, ademas, recibe paquetes de muestras de audio del principal acompanadas de una marca de tiempo, estando basada la marca de tiempo en la referencia de temporizacion del principal, y emite la muestra de audio en el momento designado por la marca de tiempo.
RESUMEN
Este sumario se proporciona para introducir de forma simplificada una seleccion de conceptos que se describen en mayor detalle a continuacion en la descripcion detallada. Este sumario no pretende indicar caractensticas clave ni caractensticas esenciales del objeto reivindicado, ni tampoco pretende limitar el alcance del objeto reivindicado.
A continuacion se divulga un procedimiento de transmision de tramas de bus serie universal (USB) a traves de una red. Un dispositivo USB recibe una o mas tramas USB desde un dispositivo principal a traves de la red, en el que la una o mas tramas USB se encapsulan en uno o mas paquetes de datos basandose en un protocolo de comunicaciones asociado con la red. El dispositivo USB sincroniza ademas una senal de reloj local con una senal de reloj del dispositivo principal mediante un mecanismo de sincronizacion de reloj del protocolo de comunicaciones. Por ejemplo, el protocolo de comunicaciones puede corresponder a un protocolo inalambrico IEEE 802.11. Por lo tanto, el dispositivo USB puede ajustar su senal de reloj local basandose en una funcion de sincronizacion de temporizacion (TSF) recibida desde el dispositivo principal (por ejemplo, en una o mas tramas de baliza). El dispositivo USB determina a continuacion una serie de tramas USB transmitidas por el dispositivo principal y procesa la una o mas tramas USB basandose, al menos en parte, en la senal de reloj local sincronizada.
5
10
15
20
25
30
35
40
45
50
55
60
65
El dispositivo USB puede incluir una memoria intermedia de datos para almacenar temporalmente la una o mas tramas USB recibidas desde el dispositivo principal. El dispositivo USB puede actualizar ademas un contador de tramas local basandose, en parte, en una serie de las tramas USB almacenadas en la memoria intermedia de datos. En consecuencia, el dispositivo USB puede determinar el numero de tramas USB transmitidas por el dispositivo principal basandose en el contador de tramas local. A continuacion, el dispositivo USB puede empezar a procesar las tramas USB almacenadas en la memoria intermedia de datos cuando el contador de tramas local alcanza un primer umbral.
Para algunos modos de realizacion, el dispositivo USB puede recibir un valor de recuento de tramas, desde el dispositivo principal, que indica un numero de tramas uSb transmitidas por el dispositivo principal. El dispositivo USB tambien puede recibir un valor de tiempo de medios, en asociacion con el valor de recuento de tramas, que indica una hora a la que se registra el valor de recuento de tramas. Por ejemplo, el valor de recuento de tramas y el valor de tiempo de medios pueden recibirse juntos, en al menos una de las tramas USB. El dispositivo USB puede sincronizar ademas su contador de tramas local con un contador de tramas USB en el dispositivo principal basandose, en parte, en la senal de reloj local, el valor de recuento de tramas y el valor de tiempo de medios.
Para otros modos de realizacion, un dispositivo informatico puede encapsular una o mas tramas USB en uno o mas paquetes de datos basandose en un protocolo de comunicaciones asociado con una red. El dispositivo informatico puede transmitir a continuacion uno o mas paquetes de datos, que incluyen las tramas USB encapsuladas, a uno o mas dispositivos a traves de la red. El dispositivo informatico puede transmitir ademas un conjunto de datos de sincronizacion al uno o mas dispositivos para permitir que cada uno del uno o mas dispositivos procesen la una o mas tramas USB.
Los datos de sincronizacion pueden incluir datos de sincronizacion de reloj que permiten a cada uno del uno o mas dispositivos sincronizar una senal de reloj local respectiva con una senal de reloj del dispositivo informatico. Por ejemplo, el protocolo de comunicaciones puede corresponder a un protocolo inalambrico 802.11. Por consiguiente, el dispositivo informatico puede transmitir los datos de sincronizacion de reloj con una o mas tramas de baliza, en el que los datos de sincronizacion de reloj incluyen un valor TSF.
Los datos de sincronizacion pueden incluir ademas un valor de recuento de tramas y un valor de tiempo de medios asociado con el valor de recuento de tramas. Por ejemplo, el dispositivo informatico puede actualizar un contador de tramas USB basandose en una serie de tramas uSb transmitidas a uno o mas dispositivos. El valor de recuento de tramas puede indicar un valor actual del contador de tramas USB, mientras que el valor de tiempo de medios puede indicar una hora a la que se registra el valor de recuento de tramas. Para algunos modos de realizacion, el valor de recuento de tramas y el valor de tiempo de medios se pueden encapsular juntos en al menos una de la una o mas tramas USB.
Para algunos modos de realizacion, el dispositivo informatico puede transmitir ademas una peticion de procesamiento a uno o mas dispositivos. La peticion de procesamiento puede incluir una orden para comenzar a procesar la una o mas tramas USB. Por ejemplo, la peticion de procesamiento puede incluir un umbral de recuento de tramas. El uno o mas dispositivos deben comenzar a procesar la una o mas tramas USB cuando una serie de tramas USB transmitidas por el dispositivo informatico es igual al umbral de recuento de tramas.
BREVE DESCRIPCION DE LOS DIBUJOS
Los presentes modos de realizacion se ilustran a modo de ejemplo y no se pretende que esten limitados por las figuras de los dibujos adjuntos, en los que:
La FIG. 1 es un diagrama de bloques de un dispositivo de red de acuerdo con algunos modos de realizacion.
La FIG. 2 muestra un sistema de comunicacion USB inalambricas de acuerdo con algunos modos de realizacion.
La FIG. 3 es un diagrama de temporizacion ilustrativo que representa problemas potenciales de la sincronizacion inalambrica de dispositivos cliente USB con un dispositivo principal.
Las FIGS. 4A-4B son diagramas de secuencia que representan un ejemplo de operacion de sincronizacion USB inalambrica de acuerdo con algunos modos de realizacion.
La FIG. 5 es un diagrama de flujo ilustrativo que representa un ejemplo de procedimiento de funcionamiento de un dispositivo cliente USB de acuerdo con algunos modos de realizacion.
La FIG. 6 es un diagrama de flujo ilustrativo que representa un ejemplo de procedimiento de funcionamiento de un dispositivo principal USB de acuerdo con algunos modos de realizacion.
La FIG. 7 es un diagrama de flujo ilustrativo que representa una operacion de sincronizacion USB inalambrica de
5
10
15
20
25
30
35
40
45
50
55
60
65
acuerdo con algunos modos de realizacion.
La FIG. 8 es un diagrama de bloques de un dispositivo cliente habilitado para USB de acuerdo con algunos modos de realizacion.
La FIG. 9 es un diagrama de bloques de un dispositivo principal habilitado para USB de acuerdo con algunos modos de realizacion.
Los numeros de referencia similares se refieren a partes correspondientes en todas las figuras de los dibujos. DESCRIPCION DETALLADA
Los presentes modos de realizacion se describen a continuacion, en el contexto del intercambio de datos USB mediante protocolos de comunicacion WLAN, solamente con fines de simplificacion. Debe entenderse que los presentes modos de realizacion son igualmente aplicables para el intercambio de datos USB a traves de otras normas inalambricas adecuadas. En el presente documento, los terminos WLAN y wifi pueden incluir comunicaciones reguladas por las normas IEEE 802.11, Bluetooth, HiperLAN (conjunto de normas inalambricas, comparables a las normas IEEE 802.11, utilizadas principalmente en Europa) y otras tecnologfas que tienen un rango de propagacion de radio relativamente corto. En el presente documento, el termino "dispositivo principal" puede utilizarse para referirse a cualquier dispositivo habilitado para USB capaz de transmitir datos USB (por ejemplo, a traves de un canal de comunicaciones inalambricas) a otros dispositivos habilitados para USB. Ademas, el termino "dispositivo cliente" puede utilizarse en la presente memoria para referirse a cualquier dispositivo habilitado para USB capaz de recibir datos USB (por ejemplo, a traves de un canal de comunicaciones inalambricas) desde un dispositivo principal. Debe tenerse en cuenta que, para algunos modos de realizacion, un dispositivo principal tambien puede ser operable como dispositivo cliente, y viceversa.
En la siguiente descripcion, se exponen numerosos detalles especfficos tales como ejemplos de componentes, circuitos y procedimientos especfficos para facilitar una plena comprension de la presente divulgacion. El termino "acoplado", en el presente documento, significa conectado directamente a o conectado a traves de uno o mas componentes o circuitos intermedios. Asimismo, en la siguiente descripcion se expone, con fines explicativos, la nomenclatura especffica con el objeto de facilitar una plena comprension de los presentes modos de realizacion. Sin embargo, como resultara evidente a los expertos en la materia, estos detalles especfficos pueden no ser necesarios para llevar a la practica los presentes modos de realizacion. En otros casos, unos circuitos y dispositivos ampliamente conocidos se muestran en forma de diagrama de bloques para evitar que la presente divulgacion resulte confusa. Cualquiera de las senales proporcionadas a traves de varios buses descritos en el presente documento puede someterse a multiplexacion en el tiempo con otras senales y proporcionarse a traves de uno o mas buses comunes. Ademas, la interconexion entre elementos de circuito o bloques de software puede representarse en forma de buses o lfneas de senal unicas. De forma alternativa, cada uno de los buses puede ser una sola lfnea de senal, y cada una de las lfneas de senal individuales puede ser de forma alternativa unos buses, y una sola lfnea o bus puede representar una cualquiera o mas de una pluralidad de mecanismos ffsicos o logicos para la comunicacion entre componentes. No debe considerarse que los presentes modos de realizacion se limitan a los ejemplos especfficos descritos en el presente documento, sino mas bien que sus alcances incluyen todos los modos de realizacion definidos por las reivindicaciones adjuntas.
Como se ha mencionado anteriormente, serfa deseable que un dispositivo principal (por ejemplo, un ordenador, un ordenador portatil, una tableta, un telefono inteligente, etc.) intercambiara datos USB con uno o mas dispositivos cliente (por ejemplo, altavoces, impresoras, teclados, ratones, etc.).) a traves de una WLAN correspondiente. Al menos uno de los problemas asociados con el intercambio de datos USB con uno o mas dispositivos cliente a traves de la WLAN es la sincronizacion de los relojes y/o contadores de los dispositivos cliente con los relojes y/o contadores del dispositivo principal sin la presencia de una conexion alambrica. Por ejemplo, las normas uSb definen protocolos de comunicacion a traves de un cable USB asociado, y tfpicamente se basan en el intercambio de informacion de reloj y contador a traves del cable USB para asegurar que los relojes y/o contadores de los dispositivos cliente permanezcan sincronizados con los relojes y/o contadores del dispositivo principal. Por lo tanto, debido a que las comunicaciones WLAN no utilizan una conexion alambrica (por ejemplo, un cable USB), las tecnicas de sincronizacion de reloj definidas por las normas USB pueden no estar disponibles al intentar transmitir datos USB a traves de un canal inalambrico asociado con una WLAN.
Para la divulgacion del presente documento, se puede hacer referencia al modelo de interconexion de sistemas abiertos (OSI), que incluye las 7 capas logicas siguientes: capa 1, que es la capa ffsica, capa 2, que es la capa de enlace de datos, capa 3, que es la capa de red, capa 4, que es la capa de transporte, capa 5, que es la capa de sesion, capa 6, que es la capa de presentacion, y capa 7, que es la capa de aplicacion. Cuanto mas alta este en la jerarqufa una capa OSI, mas cerca estara de un usuario final; cuanto mas baja este en la jerarqufa una capa OSI, mas cerca estara de un canal ffsico. Por ejemplo, en la parte superior de la jerarqufa del modelo OSI esta la capa de aplicacion, que interactua directamente con la aplicacion de software del usuario final. En la parte inferior de la jerarqufa del modelo OSI esta la capa ffsica, que define la relacion entre un dispositivo de red y un medio de comunicacion ffsico.
5
10
15
20
25
30
35
40
45
50
55
60
65
La capa ffsica proporciona especificaciones electricas y ffsicas para el medio ffsico e incluye transceptores que pueden modular/demodular datos que se van a transmitir/recibir a traves del medio. La capa de enlace de datos proporciona los detalles funcionales y/o procedimentales, tales como mecanismos de direccionamiento y control de acceso al canal, para transmisiones de datos entre dispositivos. La capa de enlace de datos incluye dos subcapas: la capa de control de enlace logico (LLC) y la capa de control de acceso al medio (MAC).
Existe una interfaz entre la capa MAC y la capa PHY para facilitar el intercambio de informacion entre las dos capas. Esta interfaz se denomina interfaz independiente de medios (MII) porque la capa MAC puede funcionar con todos los medios ffsicos utilizados para la transmision de datos (y por tanto puede funcionar independientemente del dispositivo PHY particular empleado). De esta manera, la MII permite que un dispositivo MAC dado se utilice con una amplia variedad de dispositivos PHY. El termino MII tambien puede referirse a un tipo especffico de interfaz independiente de medios, ademas de referirse a todo el genero. En el presente documento, los terminos "interfaz de acceso a medios" y "MII» se referiran al genero completo de dichas interfaces, a menos que se indique lo contrario. Entre los ejemplos de MII se incluyen la interfaz de unidad de acoplamiento (AUI), MII, MII reducida, Gigabit MII (GMII), GMII reducida, GMII serie (SGMII), SGMII Quad (QSGMII), 10GMII y MII serie de fuente sincronica (S3MII).
La FIG. 1 es un diagrama de bloques de un dispositivo de red 100 de acuerdo con algunos modos de realizacion. Especfficamente, el dispositivo de red 100 puede ser capaz de comunicarse con otro dispositivo (no mostrado para simplificar) a traves de un medio M1 (por ejemplo, un canal inalambrico). El dispositivo de red 100 incluye un procesador 110, una memoria 120, un dispositivo PHY 130 y un dispositivo MAC 140. El dispositivo PHY 130 incluye un transceptor 135 que esta acoplado al medio inalambrico M1. Aunque el transceptor 135 ilustrado en la FIG. 1 esta incluido en el dispositivo PHY 130, el transceptor 135 puede ser un dispositivo autonomo o un circuito integrado. La memoria 120 puede ser cualquier elemento o dispositivo de memoria adecuado que incluya, por ejemplo, EEPROM o memoria Flash. El procesador 110 puede ser cualquier procesador adecuado capaz de ejecutar secuencias de mandatos o instrucciones de uno o mas programas de software almacenados, por ejemplo, en la memoria 120.
El dispositivo PHY 130 y el dispositivo MAC 140 incluyen, cada uno, una interfaz independiente de medios (MII) 1501 y 150-2, respectivamente, para transmitir senales entre los dos dispositivos a traves de un conjunto de trayectorias de senal 160. Para algunos modos de realizacion, la MII 150-1 puede incluir un primer y un segundo pares de transistores diferenciales de lado PHY (no mostrados para simplificar) para transmitir y recibir datos a y desde, respectivamente, el dispositivo MAC 140, y la MII 150-2 puede incluir un primer y un segundo pares de transistores diferenciales de lado MAC (no mostrados para simplificar) para transmitir y recibir datos a y desde, respectivamente, el dispositivo PHY 130.Por lo tanto, la MII 150-1 puede denominarse en el presente documento "MII de lado PHY", y la MII 150-2 puede denominarse en el presente documento "MII de lado MAC».
El dispositivo MAC 140 puede ser cualquier dispositivo o circuito integrado que implemente las funciones de una subcapa MAC OSI, y puede ser un dispositivo autonomo o puede estar integrado en el dispositivo de red 100. De manera similar, el dispositivo PHY 130 puede ser cualquier dispositivo o circuito integrado que implemente las funciones de la capa ffsica OSI, y puede ser un dispositivo autonomo o puede estar integrado en el dispositivo de red 100.
Durante las operaciones de transmision de datos, cuando una aplicacion de software de usuario final del dispositivo de red 100 transmite datos a otro dispositivo a traves del medio M1, el procesador 110 procesa los datos de acuerdo con las capas superiores del modelo OSI y a continuacion transmite los datos, a traves del dispositivo MAC 140, al dispositivo PHY 130. A continuacion, el dispositivo PHY 130 transmite los datos al medio M1 a traves del transceptor 135.
La FIG. 2 representa un sistema de comunicacion 200 de acuerdo con algunos modos de realizacion. El sistema 200 representado incluye un dispositivo principal 210 y tres dispositivos cliente 220(1)-220(3) que pueden comunicarse entre si mediante un canal de comunicaciones 230. Para algunos modos de realizacion, el canal de comunicaciones 230 puede ser un canal inalambrico (por ejemplo, WLAN o wifi) que facilita las comunicaciones de acuerdo con las normas IEEE 802.11, aunque pueden utilizarse otros protocolos de comunicacion inalambrica adecuados. Para otros modos de realizacion, el canal de comunicaciones 230 puede ser un enlace alambrico (por ejemplo, un canal Ethernet 10GBASE-T). Ademas, aunque para simplificar se muestran tres dispositivos cliente 220(1)-220(3) en la FIG. 2, el sistema 200 puede incluir cualquier numero de dispositivos cliente 220 conectados al dispositivo principal 210 a traves del canal de comunicaciones 230.
El dispositivo principal 210, que puede ser un ordenador, un ordenador portatil, una tableta, un telefono inteligente u otro dispositivo informatico o de comunicacion adecuado, incluye un procesador 211, un controlador USB 212, una entidad de gestion de estaciones (SME) 213 de capa de adaptacion de protocolo (PAL) y una interfaz WLAN 214. El procesador 211 esta acoplado al controlador USB 212, y puede controlar operaciones del controlador USB 212 y/u otros componentes del dispositivo principal 210. El controlador USB 212 puede ser cualquier controlador USB adecuado capaz de facilitar las comunicaciones USB entre el procesador 211 y la PAL SME 213. Para al menos algunos modos de realizacion, el controlador USB 212 puede incluir o estar asociado con un circuito de subcapa de codificacion ffsica (PCS) (no mostrado para simplificar) a fin de proporcionar funciones de codificacion para
5
10
15
20
25
30
35
40
45
50
55
60
65
comunicaciones USB. La PAL SME 213, que puede funcionar de acuerdo con los protocolos definidos por la Wi-Fi Gigabit Alliance (WGA), puede permitir el intercambio de datos USB entre el dispositivo principal 210 y los dispositivos cliente 220(1)-220(3) a traves de un canal inalambrico 230. La interfaz WLAn 214, que esta acoplada a la PAL SME 213, puede incluir transceptores para transmitir y recibir datos desde y a los dispositivos cliente 220(1)- 220(3) a traves del canal inalambrico 230.
El dispositivo cliente 220 puede ser cualquier dispositivo periferico USB adecuado (por ejemplo, un altavoz, una impresora, un teclado, un raton, etc.). Aunque para simplificar no se muestra en la FIG. 2, cada uno de los dispositivos cliente 220(1)-220(3) puede incluir un procesador, un controlador USB, una PAL SME y una interfaz WLAN para facilitar el intercambio inalambrico de datos USB a traves del canal inalambrico 230.
Para que el dispositivo principal 210 haga que los dispositivos cliente 220(1)-220(3) presenten datos USB isocronos en el instante correcto (por ejemplo, simultaneamente entre si), el contador de tramas USB del controlador USB principal 212 debe sincronizarse con los contadores de tramas USB de los dispositivos cliente 220(1)-220(3). Por ejemplo, si los datos USB contienen informacion de audio que los dispositivos cliente van a reproducir (por ejemplo, actuando como altavoces), puede ser deseable habilitar la reproduccion de la informacion de audio desde una pluralidad de dispositivos 220(1)-220(3), simultaneamente. En consecuencia, puede ser deseable sincronizar los dispositivos cliente 220(1)-220 (3) con el dispositivo principal 210 y/o entre si.
Para algunos modos de realizacion, las comunicaciones entre el dispositivo principal 210 y los dispositivos cliente 220(1)-220 (3) pueden ser bidireccionales. Por ejemplo, cada uno de los dispositivos cliente 220(1)-220(3) puede actuar como un dispositivo principal, y el dispositivo principal 210 puede actuar como un dispositivo cliente, en ciertos casos. Mas especfficamente, el dispositivo principal 210 y los dispositivos cliente 220(1)-220(3) pueden ser dispositivos informaticos sustancialmente similares que son capaces de transmitir y recibir tramas USB a traves de un canal de comunicaciones inalambrico (por ejemplo, el canal inalambrico 230).
La FIG. 3 es un diagrama de temporizacion ilustrativo 300 que representa problemas potenciales con la sincronizacion de los dispositivos cliente 220(1)-220(3) con el dispositivo principal 210. Con referencia tambien a la FIG. 2, cuando el controlador USB 212 recibe datos desde el procesador 211, el controlador USB 212 puede adjuntar una marca de tiempo (Tp) a los datos y encapsular los datos en un paquete para su subsiguiente transmision a los dispositivos cliente 220(1)-220(3). Sin embargo, puede haber un retardo de transmision (Td) entre las capas MAC y PHY (por ejemplo, entre el controlador USB 212 y la interfaz WLAN 214) del dispositivo principal 210. Este retardo de transmision, que puede no ser constante para paquetes de datos diferentes, puede causar errores de temporizacion asociados con uno o mas de los dispositivos cliente 220(1)-220(3) que reciben, procesan y/o visualizan paquetes de datos transmitidos desde el dispositivo principal 210.
Una solucion a este problema de temporizacion puede implicar analizar el paquete de datos en el dispositivo principal 210, extraer la marca de tiempo original (Tp), calcular el retardo de transmision (Td) y finalmente actualizar la marca de tiempo original para reflejar el retardo de transmision. Este proceso, que puede implicar operaciones de inspeccion profunda de paquetes (DPI) dentro del dispositivo principal 210, consume valiosos recursos de procesamiento y puede llevar mucho tiempo. Ademas, muchos dispositivos principales existentes pueden no incluir circuitos o modulos de software capaces de realizar operaciones DPI en paquetes/tramas de datos USB recibidos desde el controlador USB 212.
Para algunos modos de realizacion, el dispositivo principal 210 y/o los dispositivos cliente 220(1)-220(3) pueden utilizar operaciones WLAN definidas por las normas IEEE 802.11 para sincronizar los dispositivos cliente 220(1)- 220(3) con el dispositivo principal 210. Mas especfficamente, el dispositivo principal 210 puede emplear tecnicas incorporadas por las normas IEEE 802.11 para asegurar que los contadores y/o relojes de los dispositivos cliente 220(1)-220(3) se sincronicen (y permanezcan sincronizados) con respectivos contadores y/o relojes del dispositivo principal 210. Por ejemplo, las FIGS. 4A-4B son diagramas de secuencia que representan un ejemplo de operacion de sincronizacion USB inalambrica de acuerdo con algunos modos de realizacion.
Con referencia, por ejemplo, a la FIG. 4A, el dispositivo principal 210 genera una serial de reloj interno (ClkH) que puede utilizarse para medir el tiempo de una transmision (y/o recepcion) de datos a (y/o desde) los dispositivos cliente 220(1)-220(3). De manera similar, cada uno de los dispositivos cliente 220(1)-220(3) puede generar una serial de reloj local correspondiente (Clk1-Clk3) que puede utilizarse para medir el tiempo de una recepcion (y/o transmision) de datos desde (y/o a) el dispositivo principal 210. Para algunos modos de realizacion, el dispositivo principal 210 puede transmitir datos de sincronizacion de reloj (Clk_Sync) a cada uno de los dispositivos cliente 220(1)-220(3) con el proposito de sincronizar las senales de reloj locales Clk1-Clk3 con la serial de reloj principal ClkH. Cada uno de los dispositivos cliente 220(1)-220(3) puede utilizar a continuacion los datos Clk_Sync para alinear su reloj local con el reloj principal ClkH (por ejemplo, aplicando respectivos desplazamientos de temporizacion a los relojes locales Clk1-Clk3).
Para algunos modos de realizacion, la operacion de sincronizacion de reloj puede realizarse mediante uno o mas mecanismos o tecnicas de sincronizacion de reloj que ya son proporcionados por un protocolo de comunicaciones asociado con el canal de comunicaciones 230. Por ejemplo, la senal de reloj principal ClkH y las senales de reloj
5
10
15
20
25
30
35
40
45
50
55
60
local Clki-Clk3 pueden generarse basandose en una funcion de sincronizacion de temporizacion (TSF) definida por los protocolos inalambricos IEEE 802.11. De forma alternativa, y/o adicional, la senal de reloj principal ClkH puede sincronizarse con las senales de reloj locales Clk1-Clk3 mediante otras tecnicas de sincronizacion de reloj (por ejemplo, tales como las definidas por las normas 802.1AS, 802.11 v y/o 802.11 mc), dependiendo del nivel de precision deseado para una aplicacion particular.
Un temporizador TSF puede ser un contador de modulo 264 que funciona (por ejemplo, varfa) en incrementos de microsegundos y, por lo tanto, tiene un valor de recuento maximo de 264 = 102 400 microsegundos (aunque pueden utilizarse otros temporizadores, relojes y/o contadores adecuados). Para algunos modos de realizacion, el dispositivo principal 210 puede transmitir su valor de temporizador TSF a los dispositivos cliente 220(1)-220(3) en una o mas tramas de baliza. Al recibir una trama de baliza, cada uno de los dispositivos cliente 220(1)-220(3) puede establecer su propio temporizador TSF local en el valor del temporizador TSF recibido. Esto asegura que los temporizadores TSF locales de los dispositivos cliente 220(1)-220(3) (por ejemplo, Clk1-Clk3) se sincronicen con un temporizador TSF del dispositivo principal 210 (por ejemplo, ClkH).
Para algunos modos de realizacion, los datos Clk_Sync pueden radiodifundirse y/o transmitirse de forma periodica para mantener la sincronizacion de reloj entre el dispositivo principal 210 y los dispositivos cliente 220(1)-220(3). Por ejemplo, cuando el canal de comunicaciones 230 es un canal wifi, la especificacion 802.11 define un mecanismo de sincronizacion de reloj en el que el dispositivo principal 210 transmite periodicamente mediante radiodifusion tramas de baliza a los dispositivos cliente 220(1)-220(3). Por consiguiente, los dispositivos cliente 220(1 )-220(3) y el dispositivo principal 210 pueden establecer una serie de tiempos de transmision de baliza objetivo (TBTT) que estan separados por un intervalo de baliza (por ejemplo, proporcionado dentro de la trama de baliza). Los dispositivos cliente 220(1)-220(3) pueden, a continuacion, resincronizar sus temporizadores TSF locales con el temporizador TSF del dispositivo principal 210 cada vez que se recibe una nueva trama de baliza.
Una vez sincronizadas las senales de reloj local Clk1-Clk3 con la senal de reloj principal ClkH, el dispositivo principal 210 puede, a continuacion, comenzar a transmitir tramas USB encapsuladas a los dispositivos cliente 220(1 )-220(3) a traves del canal de comunicaciones 230. Por ejemplo, las tramas USB pueden corresponder a datos USB que de otro modo se transmitirfan a uno o mas de los dispositivos cliente 220(1)-220(2) a traves de un cable USB. En cambio, para algunos modos de realizacion, las tramas USB pueden encapsularse en (por ejemplo, escribirse y/o transportarse mediante) uno o mas paquetes de datos, basandoseen un protocolo de comunicaciones inalambricas, que se van a transmitir a traves del canal de comunicaciones 230. Los dispositivos cliente 220(1 )-220(3) pueden decapsular los paquetes de datos recibidos para recuperar las tramas USB originales. Para algunos modos de realizacion, cada uno de los dispositivos cliente 220(1)-220(3) puede actualizar un contador de tramas local (por ejemplo, Cnt1-Cnt3) para cada trama USB recibida desde el dispositivo principal 210.
Con referencia, por ejemplo, a la FIG. 4B, el dispositivo principal 210 puede transmitir informacion que indica un valor de recuento de tramas (F_Count) y un tiempo de medios (M_Time) asociado con el valor de recuento a los dispositivos cliente 220(1)-220(3) para sincronizar un contador de tramas CntH del dispositivo principal 210 con los contadores de tramas locales Cnt1-Cnt3 de los dispositivos cliente 220(1)-220(3), respectivamente. El contador de tramas CntH puede indicar un numero de tramas USB transmitidas por el dispositivo principal 210. Por ejemplo, el dispositivo principal 210 puede actualizar el contador de tramas CntH para cada trama USB transmitida a los dispositivos cliente 220(1)-220(3).
El valor F_Count puede indicar el numero total de tramas USB transmitidas por el dispositivo principal 210 (por ejemplo, basandose en el contador de tramas principal CntH) en un momento dado. Mas especfficamente, el valor M_Time puede especificar la hora particular (por ejemplo, basandose en la senal de reloj principal ClkH) a la que se determino el valor F_Count y/o se integro en un paquete de datos y/o trama USB salientes. Para algunos modos de realizacion, el valor M_Time puede corresponder a una marca de tiempo de transmision (por ejemplo, como la definida por la especificacion 802.11) que esta integrada en cada paquete de datos y/o trama transmitidos por el dispositivo principal 210. Para algunos modos de realizacion, los valores F_Count y M_Time pueden codificarse sustancialmente al mismo tiempo y, de este modo, "acoplarse" entre si. Por ejemplo, los valores F_Count y M_Time pueden encapsularse en una o mas tramas USB y proporcionarse con otros datos USB encapsulados. De forma alternativa, los valores F_Count y M_Time pueden transmitirse por separado de los datos USB (por ejemplo, como parte de una trama de gestion independiente).
Cada uno de los contadores de tramas locales Cnt1-Cnt3 puede sincronizarse con el contador de tramas principal CntH basandose en el valor F_Count, el valor M_Time y una senal de reloj local correspondiente Clk1-Clk3, respectivamente. Por ejemplo, puede realizarse una operacion de sincronizacion de recuento de tramas para cualquier dispositivo cliente 220 basandose en la siguiente ecuacion:
Cntn = F_Count + {Clkn
M_Time
imagen1
Tramas USB Ciclo del reloj
)
(1)
Por lo tanto, despues de sincronizar cada una de las senales de reloj local Clk1-Clk3 con la senal de reloj principal
5
10
15
20
25
30
35
40
45
50
55
60
65
ClkH (por ejemplo, como se ha descrito anteriormente con respecto a la FIG. 4A), se puede determinar la cantidad de tiempo transcurrido entre la codificacion del valor F_Count por el dispositivo principal 210 y su recepcion por uno de los dispositivos cliente 220(1)-220(3) obteniendo la hora a la que el que el valor F_Count se recibe (por ejemplo, basandose en las senales de reloj local Clk1-Clk3 ) y restando el valor M_Time. El numero de tramas USB adicionales que es probable que hayan sido transmitidas por el dispositivo principal 210 durante este tiempo transcurrido se puede determinar multiplicando el tiempo transcurrido por la velocidad de transmision del dispositivo principal 210 (por ejemplo, el numero total de tramas USB que pueden transmitirse por ciclo de reloj). El resultado se puede sumar al valor F_Count para determinar el valor de recuento actual del contador principal CntH.
Los dispositivos cliente 220(1)-220(3) pueden actualizar, a continuacion, sus respectivos contadores locales Cnt1- Cnt3 basandoseen tramas USB recibidas subsiguientemente. Debe tenerse en cuenta, sin embargo, que la velocidad a la que los dispositivos cliente individuales 220(1)-220(3) reciben tramas USB pueden variar. Por ejemplo, debido a retardos en la transmision de datos por el dispositivo principal 210, retardos de propagacion a lo largo del canal de comunicaciones 230 y/o condiciones de trayectorias multiples, cada uno de los dispositivos cliente 220(1)-220(3) puede recibir tramas USB en tiempos diferentes. De este modo, en cualquier momento dado, el numero de tramas USB almacenadas en memoria intermedia por uno de los dispositivos cliente 220(1)-220(3) puede ser diferente del numero de tramas USB almacenadas en memoria intermedia por otro dispositivo cliente. Por ejemplo, en un tiempo T particular, el contador principal CntH puede tener un valor de recuento de N, el contador local Cnt1 puede almacenar un valor de recuento de N, el contador local Cnt2 puede almacenar un valor de recuento de N-1, y el contador local Cnt3 puede almacenar un valor de recuento de N-2. Para algunos modos de realizacion, el dispositivo principal 210 puede transmitir periodicamente nuevos valores F_Count y M_Time a los dispositivos cliente 220(1)- 220(3) con el fin de mantener la sincronizacion entre el contador principal CntH y cada uno de los contadores locales Cnt1-Cnt3. Esto permite que cada uno de los contadores de tramas locales Cnt1-Cnt3 mantenga un recuento del numero total de tramas transmitidas por el dispositivo principal 210 y no solo el numero de tramas USB recibidas y/o almacenadas en memoria intermedia por uno respectivo de los dispositivos cliente 220(1)-220(3).
Para algunos modos de realizacion, el dispositivo principal 210 puede transmitir un mensaje de peticion de procesamiento a uno o mas del dispositivo cliente 220(1)-220(3) con instrucciones para comenzar a procesar y/o presentar tramas USB recibidas basandose en un recuento de tramas particular. Por ejemplo, cada uno de los dispositivos cliente 220(1)-220(3) puede incluir un elemento de almacenamiento interno que almacena en memoria intermedia tramas USB recibidas desde el dispositivo principal 210. Los dispositivos cliente 220(1)-220(3) pueden continuar almacenando tramas USB en memoria intermedia hasta que el dispositivo principal 210 indique que deben comenzar a procesar o presentar las tramas USB almacenadas en memoria intermedia. Para algunos modos de realizacion, el mensaje de peticion de procesamiento puede ordenar a los dispositivos cliente 220(1)-220(3) que comiencen a procesar las tramas USB despues de que un contador de tramas local alcance un umbral de recuento de tramas particular. Sin embargo, como se ha descrito anteriormente, los contadores de tramas locales Cnt1-Cnt3 pueden desviarse con respecto al contador principal CntH. Sin embargo, puede ser deseable que cada uno de los dispositivos cliente 220(1)-220(3) comience a procesar o presentar tramas USB almacenadas sustancialmente al mismo tiempo (por ejemplo, como en el caso en el que cada uno de los dispositivos cliente 220(1)-220(3) es un altavoz configurado para reproducir la misma senal de audio). Por lo tanto, la sincronizacion de cada uno de los contadores de tramas locales Cnt1-Cnt3 con el contador principal CntH puede permitir que varios dispositivos cliente 220(1)-220(3) comiencen a procesar tramas USB simultaneamente.
Al aprovechar los protocolos de reloj existentes proporcionados para el canal de comunicacion 230, el sistema 200 puede mantener de manera eficiente y precisa un recuento de tramas USB sincronizado entre el dispositivo principal 210 y los dispositivos cliente 220(1)-220(3) sin necesitar una inspeccion profunda de paquetes. Ademas, de acuerdo con los presentes modos de realizacion, cada uno de los dispositivos cliente 220(1)-220(3) puede determinar el recuento de tramas actual del dispositivo principal 210, mediante los valores F_Count y M_Time, aunque los dispositivos cliente 220(1)-220(3) reciban dichos valores en diferentes momentos.
La FIG. 5 es un diagrama de flujo ilustrativo que representa un ejemplo de procedimiento 500 de funcionamiento de un dispositivo cliente USB de acuerdo con algunos modos de realizacion. En ciertos ejemplos, el procedimiento 500 puede implementarse mediante cualquiera de los dispositivos cliente 220 que se han descrito anteriormente con respecto a las FIGS. 2 y 4A-4B. Especfficamente, un dispositivo cliente 220 puede recibir una o mas tramas USB desde un dispositivo principal 210 a traves de una red (501). Para algunos modos de realizacion, la una o mas tramas USB se pueden encapsular en uno o mas paquetes de datos basandose en un protocolo de comunicaciones asociado con la red. El dispositivo cliente 220 puede decapsular los paquetes de datos recibidos para recuperar la una o mas tramas USB. Ademas, para algunos modos de realizacion, el dispositivo cliente 220 puede almacenar las tramas USB recibidas en una memoria intermedia de datos.
El dispositivo cliente 220 sincroniza ademas su senal de reloj local con una senal de reloj del dispositivo principal (502). Especfficamente, el dispositivo cliente 220 puede sincronizar su senal de reloj local con la senal de reloj principal basandose en un mecanismo de sincronizacion de reloj del protocolo de comunicaciones. Por ejemplo, el dispositivo principal 210 puede transmitir periodicamente datos de sincronizacion (Clk_Sync) de reloj de radiodifusion que el dispositivo cliente 220 puede utilizar para ajustar su senal de reloj local. En una red inalambrica 802.11, los datos de sincronizacion de reloj pueden corresponder a un valor TSF radiodifundido por el dispositivo principal 210
5
10
15
20
25
30
35
40
45
50
55
60
65
en una o mas tramas de baliza. El dispositivo cliente 220 puede a continuacion ajustar su propio valor TSF (si es necesario) para que coincida con el valor TSF del dispositivo principal 210 (por ejemplo, como se ha descrito anteriormente con respecto a la FIG. 4A).
El dispositivo cliente 220 determina a continuacion un numero de tramas USB transmitidas por el dispositivo principal 210 (503). Especfficamente, el dispositivo cliente 220 puede determinar el numero de tramas USB transmitidas por el dispositivo principal 210 basandose en la senal de reloj local sincronizada. Por ejemplo, el dispositivo cliente 220 puede actualizar un contador de tramas locales para cada trama USB recibida desde el dispositivo principal 210. Sin embargo, tal como se ha descrito anteriormente, el numero de tramas USB recibidas por el dispositivo cliente 220 puede no coincidir siempre con el numero de tramas USB transmitidas por el dispositivo principal 210 (por ejemplo, debido a paquetes de datos desviados y/o excluidos). Por lo tanto, para algunos modos de realizacion, el contador de tramas local puede rastrear un contador de tramas USB en el dispositivo principal 210 basandose en datos de sincronizacion transmitidos por el dispositivo principal 210. Los datos de sincronizacion pueden incluir, por ejemplo, un valor de recuento de tramas (F_Count) y un valor de tiempo de medios (M_Time). Mas especfficamente, el valor F_Count puede indicar el numero de tramas USB transmitidas por el dispositivo principal 210 en el momento especificado por el valor M_Time. El dispositivo cliente 220 puede utilizar, a continuacion, la senal de reloj local sincronizada para determinar el numero de tramas USB adicionales transmitidas desde el momento indicado por el valor M_Time (por ejemplo, como se ha descrito anteriormente con respecto a la FIG. 4B). Para algunos modos de realizacion, el dispositivo cliente 220 puede resincronizar periodicamente su contador de tramas local con el del dispositivo principal 210.
Finalmente, el dispositivo cliente 220 puede procesar las tramas USB recibidas basandose en el numero de tramas USB transmitidas por el dispositivo principal 210 (504). Por ejemplo, el dispositivo principal 210 puede ordenar al dispositivo cliente 220 que comience a procesar y/o presentar las tramas USB recibidas una vez que el contador de tramas local alcanza un umbral de recuento de tramas particular. Debido a que el contador de tramas local puede sincronizarse con el contador de tramas principal, el dispositivo cliente 220 puede comenzar a procesar tramas USB en cualquier momento indicado por el dispositivo principal 210. Esto puede permitir que varios dispositivos cliente 220 comiencen a procesar tramas USB sustancialmente al mismo tiempo, independientemente del numero de tramas USB recibidas realmente por cada dispositivo cliente 220 en ese momento.
La FIG. 6 es un diagrama de flujo ilustrativo que representa un ejemplo de procedimiento 600 de funcionamiento de un dispositivo principal USB de acuerdo con algunos modos de realizacion. En ciertos ejemplos, el dispositivo principal 210, descrito anteriormente con respecto a las FIGS. 2 y 4A-4B, puede implementar el procedimiento 600. Especfficamente, un dispositivo principal 210 de una red puede encapsular tramas USB en paquetes de datos basandose en un protocolo de comunicaciones asociado con la red (601). Como se ha descrito anteriormente, las tramas USB pueden corresponder a datos USB que de otro modo se transmitirfan al uno o mas dispositivos cliente 220 a traves de un cable USB. El dispositivo principal 210 puede encapsular las tramas USB, por ejemplo, integrando datos USB correspondientes dentro de uno o mas paquetes de datos que se van a transmitir traves de un tipo particular de canal de comunicaciones.
El dispositivo principal 210 puede transmitir a continuacion los paquetes de datos, que incluyen las tramas USB encapsuladas, a uno o mas dispositivos cliente 220 a traves de la red (602). Por ejemplo, la red puede corresponder a una red wifi definida por una norma IEEE 802.11. En consecuencia, el dispositivo principal 210 puede transmitir los paquetes de datos a uno o mas dispositivos cliente 220 basandose en uno o mas protocolos inalambricos 802.11. Para algunos modos de realizacion, el dispositivo principal 210 puede transmitir los paquetes de datos a varios dispositivos cliente 220, simultaneamente. Ademas, para algunos modos de realizacion, el dispositivo principal 210 puede incluir un contador de tramas USB para realizar un seguimiento del numero de tramas USB transmitidas a uno o mas dispositivos cliente 220. Por ejemplo, el dispositivo principal 210 puede actualizar su contador de tramas USB para cada trama USB transmitida.
El dispositivo principal 210 puede transmitir ademas un conjunto de datos de sincronizacion al uno o mas dispositivos cliente 220 para permitir que cada dispositivo cliente 220 procese las tramas USB (603). Los datos de sincronizacion pueden incluir, por ejemplo, datos de sincronizacion de reloj (Clk_Sync), un valor de recuento de tramas (F_Count) y/o un valor de tiempo de medios (M_Time). Mas especfficamente, los datos Clk_Sync pueden utilizarse para sincronizar una senal de reloj del dispositivo principal 210 con una senal de reloj local del uno o mas dispositivos cliente 220 (por ejemplo, como se ha descrito anteriormente con respecto a la FIG. 4A). Para algunos modos de realizacion, los datos Clk_Sync pueden proporcionarse mediante un mecanismo de sincronizacion de reloj asociado con el protocolo de comunicaciones inalambricas. Los valores F_Count y M_Time se pueden utilizar para sincronizar el contador de tramas USB del dispositivo principal 210 con un contador de tramas local del uno o mas dispositivos cliente 220 (por ejemplo, como se ha descrito anteriormente con respecto a la FIG. 4B). Como se ha descrito anteriormente, el valor F_Count puede indicar el numero de tramas uSb transmitidas por el dispositivo principal 210 en un momento especificado por el valor M_Time. Para algunos modos de realizacion, el dispositivo principal 210 puede transmitir periodicamente datos de sincronizacion actualizados para mantener la sincronizacion con cada uno del uno o mas dispositivos cliente 220.
La FIG. 7 es un diagrama de flujo ilustrativo que representa una operacion de sincronizacion USB inalambrica 700
5
10
15
20
25
30
35
40
45
50
55
60
65
de acuerdo con algunos modos de realizacion. Con referencia, por ejemplo, a las FIGS. 4A-4B, el dispositivo principal 210 transmite primero datos de sincronizacion de reloj a un dispositivo cliente (por ejemplo, dispositivo cliente 220(1)) a traves del canal de comunicaciones inalambricas 230 (701). Para algunos modos de realizacion, los datos de sincronizacion de reloj pueden corresponder a un valor de temporizador TSF proporcionado dentro de una trama de baliza. El dispositivo cliente 220(1) recibe los datos de sincronizacion de reloj a traves del canal de comunicaciones inalambricas 230 (702) y sincroniza su senal de reloj local Clk1 con la senal de reloj principal ClkH mediante un mecanismo de sincronizacion de reloj asociado con el canal de comunicaciones 230 (704). Por ejemplo, el dispositivo cliente 220(1) puede utilizar el valor del temporizador TSF del dispositivo principal para sincronizar su senal de reloj local Clk1 (por ejemplo, como se ha descrito anteriormente con respecto a la FIG. 4A).
El dispositivo principal 210 encapsula tramas USB para su transmision a traves del canal de comunicaciones inalambricas 230 (703). Por ejemplo, con referencia a la FIG. 2, la PAL SME 213 puede encapsular tramas USB (por ejemplo, recibidas a traves del controlador USB 212) de acuerdo con un protocolo wifi, que se van a transmitir a traves de un canal wifi. Para algunos modos de realizacion, la encapsulacion puede realizarse de acuerdo con unos protocolos WGA. El dispositivo principal 210 integra el recuento de tramas y los valores de tiempo de medios actuales en la trama USB encapsulada (705). Por ejemplo, el valor F_Count se puede registrar a partir del contador de tramas principal CntH, y el valor M_Time correspondiente se puede registrar a partir de la senal de reloj principal ClkH. Para algunos modos de realizacion, los valores F_Count y M_Time se acoplan entre si y se registran sustancialmente al mismo tiempo. Finalmente, el dispositivo principal 210 transmite las tramas USB encapsuladas al dispositivo cliente 220(1) a traves del canal de comunicaciones inalambricas 230 (707).
El dispositivo cliente 220(1) recibe las tramas USB encapsuladas a traves del canal de comunicaciones inalambricas (706) y analiza los valores F_Count y M_Time proporcionados con estas (708). Para algunos modos de realizacion, el dispositivo cliente 220 (1) puede analizar los valores F_Count y M_Time de un paquete de datos recibido sin decapsular los datos USB. El dispositivo cliente 220 (1) sincroniza, a continuacion, su contador de tramas local Cnt1 con el contador de tramas principal CntH basandose en los valores F_Count y M_Time recibidos y la senal de reloj local sincronizada Clk1 (710). Por ejemplo, el dispositivo cliente 220(1) puede actualizar su contador de tramas local Cnt1 basandose en la ecuacion 1 (por ejemplo, como se ha descrito anteriormente con respecto a la FIG. 4B).
Para algunos modos de realizacion, el dispositivo principal 210 puede emitir subsiguientemente una orden de procesar y/o presentar tramas USB comenzando en un recuento de tramas particular (709). Por ejemplo, el recuento de tramas, especificado por el dispositivo principal 210, puede corresponder a un valor de recuento del contador de tramas principal CntH. Al recibir dicha orden, el dispositivo cliente 220(1) puede proceder a procesar y/o presentar tramas USB almacenadas en memoria intermedia basandose en su contador de tramas local Cnt1 (712). Especfficamente, dado que el contador de tramas local Cnt1 esta sincronizado con el contador de tramas principal CntH, el dispositivo cliente 220(1) puede comenzar a procesar sus datos USB almacenados en memoria intermedia a la hora deseada, independientemente del numero de tramas USB recibidas y/o almacenadas en memoria intermedia por el dispositivo cliente 220(1).
La operacion de sincronizacion anterior 700 se ha descrito con respecto al dispositivo cliente 220(1) solamente para simplificar. Sin embargo, la operacion 700 se puede realizar de una manera sustancialmente similar entre el dispositivo principal 210 y cualquiera de los dispositivos cliente 220(1)-220(3). Ademas, la operacion de sincronizacion 700 puede asegurar que los paquetes de datos USB transmitidos a varios dispositivos cliente 220(1)- 220(3) a traves del canal inalambrico 230 se reproduzcan y/o presenten (por ejemplo, emitan desde altavoces asociados con los dispositivos cliente 220(1)-220(3)) en los momentos correctos (por ejemplo, sincronicamente).
La FIG. 8 es un diagrama de bloques de un dispositivo cliente habilitado para USB 800 de acuerdo con algunos modos de realizacion. El dispositivo cliente 800 incluye una interfaz inalambrica 810, una interfaz USB 820, un procesador 830 y una memoria 840. La interfaz inalambrica 810 esta acoplada al procesador 830 y puede utilizarse para recibir y/o transmitir senales de datos a traves de un canal de comunicaciones inalambricas. Por ejemplo, el canal de comunicaciones inalambricas puede corresponder a un canal inalambrico IEEE 802.11. La interfaz USB 820 tambien esta acoplada al procesador 830 y puede utilizarse para comunicar datos USB a y/o desde el dispositivo cliente 800 (por ejemplo, a traves de un cable USB). Para algunos modos de realizacion, la interfaz inalambrica 810 puede recibir tramas USB, encapsuladas en paquetes de datos, que de otro modo se recibirfan a traves de la interfaz USB 820.
La memoria 840 puede incluir un almacen de datos 842 que puede utilizarse para almacenar en memoria intermedia tramas USB que el dispositivo 800 va a procesar y/o reproducir. Por ejemplo, las tramas USB recibidas a traves de la interfaz inalambrica 810 pueden almacenarse en el almacen de datos 842. Ademas, la memoria 840 puede incluir tambien un medio de almacenamiento no transitorio legible por ordenador (por ejemplo, uno o mas elementos de memoria no volatil, tal como EPROM, EEPROM, memoria Flash, un disco duro, etc.) que pueden almacenar los modulos de software siguientes:
• un modulo de sincronizacion de reloj 844 para sincronizar una senal de reloj local con una senal de reloj de un dispositivo principal;
5
10
15
20
25
30
35
40
45
50
55
60
65
• un modulo de sincronizacion de tramas 846 para sincronizar un contador de tramas local con un contador de tramas USB de un dispositivo principal; y
• un modulo de procesamiento USB 848 para procesar tramas USB recibidas basandose en un valor de recuento de tramas del contador de tramas local.
Cada modulo de software puede incluir instrucciones que, cuando son ejecutadas por el procesador 830, pueden hacer que el dispositivo 800 desempene la correspondiente funcion. Por lo tanto, el medio de almacenamiento no transitorio legible por ordenador de la memoria 840 puede incluir instrucciones para realizar la totalidad o una parte de las operaciones descritas con respecto a las FIGS. 5 y 7.
El procesador 830, que esta acoplado a la memoria 840, puede ser cualquier procesador adecuado capaz de ejecutar secuencias de mandatos de instrucciones de uno o mas programas de software almacenados en el dispositivo cliente 800 (por ejemplo, en la memoria 840). Por ejemplo, el procesador 830 puede ejecutar el modulo de sincronizacion de reloj 844, el modulo de sincronizacion de tramas 846 y/o el modulo de procesamiento USB 848.
El modulo de sincronizacion de reloj 844 puede ser ejecutado por el procesador 830 para sincronizar una senal de reloj local con una senal de reloj de un dispositivo principal. Por ejemplo, el dispositivo cliente 800 puede recibir datos de sincronizacion de reloj (Clk_Sync) desde un dispositivo principal a traves de la interfaz inalambrica 810. Para algunos modos de realizacion, los datos Clk_Sync pueden corresponder a un valor TSF que el dispositivo principal transmite periodicamente mediante radiodifusion (por ejemplo, en tramas de baliza). El modulo de sincronizacion de reloj 844, ejecutado por el procesador 830, puede sincronizar su senal de reloj local con una senal de reloj principal, estableciendo su propio temporizador TSF local en el valor TSF recibido (por ejemplo, como se ha descrito anteriormente con respecto a la FIG. 4A).
El modulo de sincronizacion de tramas 846 puede ser ejecutado por el procesador 830 para sincronizar un contador de tramas local con un contador de tramas USB de un dispositivo principal. Por ejemplo, el dispositivo cliente 800 puede recibir ademas un valor de recuento de tramas (F_Count) y un valor de tiempo de medios (M_Time) desde el dispositivo principal a traves de la interfaz inalambrica 810. Como se ha descrito anteriormente, el valor F_Count puede indicar un numero de tramas USB transmitidas por el dispositivo principal en un momento determinado indicado por el valor M_Time. El modulo de sincronizacion de tramas 846, ejecutado por el procesador 830, puede sincronizar su contador de tramas local con el contador de tramas principal basandose en los valores F_Count y M_Time, la senal de reloj local y la velocidad de transmision del dispositivo principal (por ejemplo, como se describe anteriormente con respecto a la FIG. 4B). Para algunos modos de realizacion, el procesador 830, al ejecutar el modulo de sincronizacion de tramas 846, puede actualizar (por ejemplo, incrementar) continuamente el contador de tramas locales para cada trama USB recibida desde el dispositivo principal.
El modulo de procesamiento USB 848 puede ser ejecutado por el procesador 830 para procesar las tramas USB recibidas basandose en un valor de recuento de tramas del contador de tramas local. Por ejemplo, el modulo de procesamiento USB 848, ejecutado por el procesador 830, puede comenzar a procesar tramas USB almacenadas en el almacen de datos 842 una vez que el contador de tramas local alcanza un umbral de recuento de tramas particular. Para algunos modos de realizacion, el dispositivo principal puede especificar el umbral de recuento de tramas (por ejemplo, transmitiendo un mensaje de peticion de procesamiento al dispositivo cliente 800). Debido a que el contador de tramas local puede estar sincronizado con el contador de tramas principal, el procesador 830, al ejecutar el modulo de procesamiento USB 848, puede comenzar a procesar tramas USB en cualquier momento indicado por el dispositivo principal.
La FIG. 9 es un diagrama de bloques de un dispositivo principal habilitado para USB 900 de acuerdo con algunos modos de realizacion. El dispositivo principal 900 incluye tambien una interfaz inalambrica 910, un procesador 920 y una memoria 930. La interfaz inalambrica 910 esta acoplada al procesador 920 y puede utilizarse para transmitir y/o recibir senales de datos a traves de un canal de comunicaciones inalambricas. Por ejemplo, el canal de comunicaciones inalambricas puede corresponder a un canal inalambrico IEEE 802.11. Para algunos modos de realizacion, la interfaz inalambrica 910 puede transmitir de forma inalambrica tramas USB encapsuladas en paquetes de datos.
La memoria 930 puede incluir un almacen de datos 932 que puede utilizarse para almacenar en memoria intermedia tramas USB que se van a encapsular y transmitir a uno o mas dispositivos cliente. Ademas, la memoria 930 puede incluir tambien un medio de almacenamiento no transitorio legible por ordenador (por ejemplo, uno o mas elementos de memoria no volatil, tal como EPROM, EEPROM, memoria Flash, un disco duro, etc.) que pueden almacenar los modulos de software siguientes:
• un modulo de sincronizacion de reloj 934 para sincronizar una senal de reloj principal con una senal de reloj local de un dispositivo;
• un modulo de sincronizacion de tramas 936 para sincronizar un contador de tramas principal con un contador de tramas locales del dispositivo cliente; y
5
10
15
20
25
30
35
40
45
50
55
60
• un modulo de encapsulacion USB 938 para codificar tramas USB en paquetes de datos para su transmision a traves de la interfaz inalambrica 910.
Cada modulo de software puede incluir instrucciones que, cuando son ejecutadas por el procesador 920, pueden hacer que el dispositivo 900 desempene la correspondiente funcion. Por lo tanto, el medio de almacenamiento no transitorio legible por ordenador de la memoria 930 puede incluir instrucciones para realizar la totalidad o una parte de las operaciones descritas con respecto a las FIGS. 6 y 7.
El procesador 920, que esta acoplado a la memoria 930, puede ser cualquier procesador adecuado capaz de ejecutar secuencias de mandatos de instrucciones de uno o mas programas de software almacenados en el dispositivo principal 900 (por ejemplo, en la memoria 930). Por ejemplo, el procesador 920 puede ejecutar el modulo de sincronizacion de reloj 934, el modulo de sincronizacion de tramas 936 y/o el modulo de procesamiento USB 938.
El procesador 920 puede ejecutar el modulo de sincronizacion de reloj 934 para sincronizar una senal de reloj principal con una senal de reloj local de un dispositivo cliente. Por ejemplo, el modulo de sincronizacion de reloj 934, ejecutado por el procesador 920, puede generar datos de sincronizacion de reloj (Clk_Sync) que se van a transmitir a uno o mas dispositivos cliente a traves de la interfaz inalambrica 910. Para algunos modos de realizacion, los datos Clk_Sync pueden corresponder a un valor TSF basado en un temporizador TSF del dispositivo principal 900 (por ejemplo, definido por una especificacion IEEE 802.11). Cada uno del uno o mas dispositivos cliente puede sincronizar, a continuacion, su senal de reloj local con la senal de reloj principal mediante los datos Clk_Sync (por ejemplo, como se ha descrito anteriormente con respecto a la FIG. 4A). Para algunos modos de realizacion, el procesador 920, al ejecutar el modulo de sincronizacion de reloj 934, puede transmitir periodicamente los datos Clock_Sync mediante radiodifusion (por ejemplo, dentro de tramas de baliza) a varios dispositivos cliente, de forma simultanea.
El modulo de sincronizacion de tramas 936 puede ser ejecutado por el procesador 920 para sincronizar un contador de tramas principal con un contador de tramas local del dispositivo cliente. Por ejemplo, el modulo de sincronizacion de tramas 936, ejecutado por el procesador 920, puede generar un valor de recuento de tramas (F_Count) y un valor de tiempo de medios (M_Time) que se van a transmitir o a uno o mas dispositivos cliente a traves de la interfaz inalambrica 910. Para algunos modos de realizacion, el valor F_Count puede corresponder al valor de recuento del contador de tramas principal en un momento particular indicado por el valor M_Time. Cada uno del uno o mas dispositivos cliente puede sincronizar, a continuacion, su contador de tramas local con el contador de tramas principal basandose en los valores F_Count y M_Time, la senal de reloj local y la velocidad de transmision del dispositivo principal (por ejemplo, como se ha descrito anteriormente con respecto a la FIG. 4B). Para algunos modos de realizacion, el procesador 920, al ejecutar el modulo de sincronizacion de tramas 936, puede actualizar continuamente (por ejemplo, incrementar) el contador de tramas principal para cada trama USB transmitida al uno o mas dispositivos cliente.
El procesador 920 puede ejecutar el modulo de procesamiento USB 938 para codificar tramas USB en paquetes de datos para su transmision a traves de la interfaz inalambrica 910. Por ejemplo, el modulo de procesamiento USB 938, ejecutado por el procesador 920, puede encapsular las tramas USB escribiendo datos uSb correspondientes en uno o mas paquetes de datos que se van a transmitir de forma inalambrica. Para algunos modos de realizacion, la encapsulacion puede realizarse de acuerdo con unos protocolos WGA. Ademas, para algunos modos de realizacion, el procesador 920, al ejecutar el modulo de procesamiento USB 938, puede generar un mensaje de peticion de procesamiento que ser va a transmitir, junto con las tramas USB, al uno o mas dispositivos cliente. Como se ha descrito anteriormente, el mensaje de peticion de procesamiento puede incluir instrucciones para procesar las tramas USB correspondientes (por ejemplo, basandose en un recuento de tramas USB particular).
Debe observarse que, para algunos modos de realizacion, el dispositivo cliente 800 puede desempenar una o mas funciones del dispositivo principal 900, y viceversa. Por ejemplo, el dispositivo cliente 800 puede incluir uno o mas modulos de software (por ejemplo, 934-938) del dispositivo principal 900. De forma similar, el dispositivo principal 900 puede incluir uno o mas modulos de software (por ejemplo, 844-848) del dispositivo cliente 800.
En la memoria descriptiva anterior, la presente invencion se ha descrito con referencia a unos ejemplos especfficos de modos de realizacion de la misma. No obstante, resultara evidente que pueden hacerse diversas modificaciones y cambios a la misma sin apartarse del alcance mas amplio de la divulgacion, expuesto en las reivindicaciones adjuntas. La memoria descriptiva y los dibujos, en consecuencia, deben considerarse en un sentido ilustrativo, en lugar de en un sentido restrictivo. Por ejemplo, las etapas del procedimiento representadas en los diagramas de flujo de las FIGS. 5-7 se pueden realizar en otros ordenes adecuados, se pueden combinar varias etapas en una sola etapa y/o se pueden omitir algunas etapas.

Claims (15)

  1. 5
    10
    15
  2. 2.
    20
  3. 3.
    25
  4. 4.
    30
  5. 5.
    35
    40
  6. 6.
    45
  7. 7.
    50
  8. 8.
    55
  9. 9.
    60
    REIVINDICACIONES
    Un procedimiento (500) para el funcionamiento de un dispositivo de bus serie universal, USB, en una red, comprendiendo el procedimiento:
    recibir (501) una o mas tramas USB desde un dispositivo principal (210) a traves de la red, en el que la una o mas tramas USB se encapsulan en uno o mas paquetes de datos basandose en un protocolo de comunicaciones asociado con la red; caracterizado por sincronizar (502) una senal de reloj local del dispositivo USB con una senal de reloj del dispositivo principal mediante un mecanismo de sincronizacion de reloj del protocolo de comunicaciones;
    determinar (503) un numero de tramas USB transmitidas por el dispositivo principal basandose, al menos en parte, en la senal de reloj local sincronizada; y
    procesar (504) la una o mas tramas USB basandose, al menos en parte, en el numero de tramas USB transmitidas por el dispositivo principal.
    El procedimiento de acuerdo con la reivindicacion 1, en el que el protocolo de comunicaciones corresponde a un protocolo inalambrico IEEE 802.11.
    El procedimiento de acuerdo con la reivindicacion 1, en el que sincronizar la senal de reloj local comprende:
    recibir una o mas tramas de baliza desde el dispositivo principal, en el que al menos una de las tramas de baliza incluye un valor de funcion de sincronizacion de temporizacion, TSF; y
    ajustar la senal de reloj local basandose en el valor TSF recibido.
    El procedimiento de acuerdo con la reivindicacion 1, que comprende ademas:
    almacenar la una o mas tramas USB en una memoria intermedia de datos.
    El procedimiento de acuerdo con la reivindicacion 4, en el que determinar el numero de tramas USB transmitidas por el dispositivo principal comprende:
    actualizar un contador de tramas local basandose, al menos en parte, en un numero de las tramas USB almacenadas en la memoria intermedia de datos; y
    determinar el numero de tramas USB transmitidas por el dispositivo principal basandose en el contador de tramas local.
    El procedimiento de acuerdo con la reivindicacion 5, que comprende ademas:
    recibir un valor de recuento de tramas desde el dispositivo principal, en el que el valor de recuento de tramas indica el numero de tramas USB transmitidas por el dispositivo principal; y
    recibir un valor de tiempo de medios desde el dispositivo principal, en el que el valor de tiempo de medios indica una hora a la que se registra el valor de recuento de tramas.
    El procedimiento de acuerdo con la reivindicacion 6, en el que el valor de recuento de tramas y el valor de tiempo de medios se reciben juntos en al menos una de las tramas USB.
    El procedimiento de acuerdo con la reivindicacion 6, en el que determinar el numero de tramas USB transmitidas por el dispositivo principal comprende ademas:
    sincronizar el contador de tramas local con un contador de tramas USB en el dispositivo principal basandose, al menos en parte, en la senal de reloj local, el valor de recuento de tramas y el valor de tiempo de medios.
    El procedimiento de acuerdo con la reivindicacion 8, en el que procesar la una o mas tramas USB comprende:
    procesar la una o mas tramas USB cuando el contador de tramas local alcanza un primer umbral.
    Un procedimiento (600) de funcionamiento de un dispositivo informatico en una red, comprendiendo el procedimiento:
    5
    10
  10. 11.
    15
  11. 12.
    20
  12. 13.
    25
  13. 14.
    30
    35
    40
  14. 15.
    45
    50
    55
  15. 16.
    encapsular (601) una o mas tramas de bus serie universal, USB, en uno o mas paquetes de datos basandose en un protocolo de comunicaciones asociado con la red;
    transmitir (602) el uno o mas paquetes de datos, que incluyen la una o mas tramas USB encapsuladas, a uno o mas dispositivos cliente (220) a traves de la red; y
    transmitir (603) un conjunto de datos de sincronizacion, al uno o mas dispositivos cliente, que permite que el uno o mas dispositivos cliente procesen la una o mas tramas USB, en el que el conjunto de datos de sincronizacion incluye datos de sincronizacion de reloj que permiten que el uno o mas dispositivos cliente sincronicen senales de reloj local respectivas con una senal de reloj del dispositivo informatico.
    El procedimiento de acuerdo con la reivindicacion 10, en el que transmitir datos de sincronizacion de reloj comprende:
    radiodifundir los datos de sincronizacion de reloj dentro de una o mas tramas de baliza, en el que los datos de sincronizacion de reloj incluyen un valor de funcion de sincronizacion de temporizacion (TSF).
    El procedimiento de acuerdo con la reivindicacion 10, que comprende ademas:
    actualizar un contador de tramas USB basandose en un numero de tramas USB transmitidas al uno o mas dispositivos cliente.
    Un medio de almacenamiento legible por ordenador que contiene instrucciones de programa que, cuando son ejecutadas por un procesador proporcionado dentro de un dispositivo de bus serie universal, USB, hace que el dispositivo USB realice el procedimiento de acuerdo con cualquiera de las reivindicaciones 1 a 12.
    Un dispositivo de bus serie universal, USB, que comprende:
    medios para recibir una o mas tramas USB desde un dispositivo principal (210) a traves de una red, en el que la una o mas tramas USB se encapsulan en uno o mas paquetes de datos basandoseen un protocolo de comunicaciones asociado con la red;
    medios para sincronizar una senal de reloj local del dispositivo USB con una senal de reloj del dispositivo principal mediante un mecanismo de sincronizacion de reloj del protocolo de comunicaciones;
    medios para determinar un numero de tramas USB transmitidas por el dispositivo principal basandose, al menos en parte, en la senal de reloj local sincronizada; y
    medios para procesar la una o mas tramas USB basandose, al menos en parte, en el numero de tramas USB transmitidas por el dispositivo principal.
    Un dispositivo informatico, que comprende:
    medios para encapsular una o mas tramas de bus serie universal, USB, en uno o mas paquetes de datos basandoseen un protocolo de comunicaciones asociado con una red;
    medios para transmitir el uno o mas paquetes de datos, que incluyen la una o mas tramas USB encapsuladas, a uno o mas dispositivos cliente (220) a traves de la red; y
    medios para transmitir un conjunto de datos de sincronizacion, al uno o mas dispositivos cliente a traves de la red inalambrica, que permite que el uno o mas dispositivos cliente procesen la una o mas tramas USB, en el que el conjunto de datos de sincronizacion incluye datos de sincronizacion de reloj que permiten que el uno o mas dispositivos cliente sincronicen senales de reloj local respectivas con una senal de reloj del dispositivo informatico.
    El procedimiento de acuerdo con la reivindicacion 10, que comprende ademas:
    transmitir una peticion de procesamiento al uno o mas dispositivos cliente, en el que la peticion de procesamiento incluye una orden para comenzar a procesar la una o mas tramas USB.
ES14730016.4T 2013-05-15 2014-05-06 Sincronización de contador de tramas USB basado en tiempo de medios para bus serie wifi Active ES2638212T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361823805P 2013-05-15 2013-05-15
US201361823805P 2013-05-15
US201414270124 2014-05-05
US14/270,124 US9830298B2 (en) 2013-05-15 2014-05-05 Media time based USB frame counter synchronization for Wi-Fi serial bus
PCT/US2014/037035 WO2014186179A1 (en) 2013-05-15 2014-05-06 Media time based usb frame counter synchronization for wi-fi serial bus

Publications (1)

Publication Number Publication Date
ES2638212T3 true ES2638212T3 (es) 2017-10-19

Family

ID=51896736

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14730016.4T Active ES2638212T3 (es) 2013-05-15 2014-05-06 Sincronización de contador de tramas USB basado en tiempo de medios para bus serie wifi

Country Status (9)

Country Link
US (1) US9830298B2 (es)
EP (1) EP2997485B1 (es)
JP (1) JP6333963B2 (es)
KR (1) KR102249244B1 (es)
CN (1) CN105247500B (es)
AR (1) AR099254A1 (es)
ES (1) ES2638212T3 (es)
TW (1) TWI552558B (es)
WO (1) WO2014186179A1 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150026505A1 (en) * 2013-07-17 2015-01-22 Kabushiki Kaisha Toshiba Storage device, storage system, and background processing execution method
US9723610B2 (en) * 2015-04-07 2017-08-01 Qualcomm Incorporated Multi-layer timing synchronization framework
JP6534913B2 (ja) * 2015-11-06 2019-06-26 日立オートモティブシステムズ株式会社 情報処理装置および不正メッセージ検知方法
US10095653B2 (en) * 2016-04-02 2018-10-09 Intel Corporation Apparatuses, systems, and methods for accurately measuring packet propagation delays through USB retimers
SG11201900499SA (en) * 2016-07-29 2019-02-27 Razer Asia Pacific Pte Ltd Interface devices, methods for controlling an interface device, and computer-readable media
US10915490B2 (en) 2018-02-15 2021-02-09 Qualcomm Incorporated Audio streams over peripheral component interconnect (PCI) express (PCIE) links
KR20190119400A (ko) * 2018-04-12 2019-10-22 (주)에프씨아이 비콘 신호의 수신 시간을 효율적으로 추정하기 위한 방법 및 이를 위한 수신 장치
DE102018206934A1 (de) 2018-05-04 2019-11-07 Continental Automotive Gmbh Gateway zur Datenkommunikation in einem Fahrzeug
US10896106B2 (en) 2018-05-10 2021-01-19 Teradyne, Inc. Bus synchronization system that aggregates status
TWI772574B (zh) * 2018-12-07 2022-08-01 新唐科技股份有限公司 通用序列匯流排裝置及其操作方法
CN115913442A (zh) * 2019-01-22 2023-04-04 华为技术有限公司 通信方法和光模块
US11245985B2 (en) 2019-03-27 2022-02-08 Microsoft Technology Licensing, Llc Architecture for USB-synchronized array of speakers
WO2020256631A1 (en) * 2019-06-18 2020-12-24 Razer (Asia-Pacific) Pte. Ltd. Method and apparatus for optimizing input latency in a wireless human interface device system
CN110768739B (zh) * 2019-09-27 2021-04-20 上海鹰钛智能科技有限公司 一种同步串行控制系统及方法
CN114780469A (zh) * 2022-06-24 2022-07-22 浙江地芯引力科技有限公司 时钟频率校准装置、数据芯片以及时钟频率校准方法

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943328A (en) * 1996-08-13 1999-08-24 Lucent Technologies Inc. Frame counter for synchronized communication
JP3045985B2 (ja) * 1997-08-07 2000-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ
US6389029B1 (en) * 1998-11-10 2002-05-14 Nortel Networks Limited Local area network incorporating universal serial bus protocol
US6978412B1 (en) * 1999-08-16 2005-12-20 Advanced Micro Devices, Inc. Method and apparatus for adaptive frame tracking
US6678747B2 (en) 1999-08-23 2004-01-13 Honeywell International Inc. Scalable data collection and computing apparatus
US6934752B1 (en) * 2000-03-23 2005-08-23 Sharewave, Inc. Quality of service extensions for multimedia applications in wireless computer networks
US7734758B1 (en) 2000-07-19 2010-06-08 Cisco Technology, Inc. USB encapsulation for network transmission
US7065036B1 (en) * 2001-03-19 2006-06-20 Cisco Systems Wireless Networking (Australia) Pty Limited Method and apparatus to reduce latency in a data network wireless radio receiver
US6898652B2 (en) * 2001-08-22 2005-05-24 General Atomics Wireless device attachment and detachment system, apparatus and method
EP1433071B1 (en) 2001-09-28 2010-08-18 Nxp B.V. Bus system and bus interface for connection to a bus
DE60331489D1 (de) 2002-07-17 2010-04-08 Chronologic Pty Ltd Synchronisierter Multikanal-USB
US7284081B2 (en) 2004-01-27 2007-10-16 Atmel Corporation Method and system for routing data between USB ports
US7668243B2 (en) * 2004-05-18 2010-02-23 Texas Instruments Incorporated Audio and video clock synchronization in a wireless network
US7149839B2 (en) * 2004-12-03 2006-12-12 Microsoft Corporation Wireless USB hardware scheduling
US8560753B1 (en) * 2005-03-30 2013-10-15 Teradici Corporation Method and apparatus for remote input/output in a computer system
US7406476B1 (en) * 2005-04-04 2008-07-29 Apple Inc. Updating a data structure
US7539889B2 (en) * 2005-12-30 2009-05-26 Avega Systems Pty Ltd Media data synchronization in a wireless network
JP2007194791A (ja) * 2006-01-18 2007-08-02 Kawasaki Microelectronics Kk データ転送装置
US8069294B2 (en) * 2006-03-30 2011-11-29 Intel Corporation Power-optimized frame synchronization for multiple USB controllers with non-uniform frame rates
US20070294456A1 (en) * 2006-06-16 2007-12-20 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Data communication interface and communication devices incorporating same
JP4835345B2 (ja) * 2006-09-19 2011-12-14 ソニー株式会社 無線通信装置、無線通信方法、無線通信システムおよびコンピュータプログラム
US7697522B2 (en) * 2006-11-20 2010-04-13 Broadcom Corporation Systems and methods for aggregation of packets for transmission through a communications network
JP4935345B2 (ja) * 2006-12-25 2012-05-23 ソニー株式会社 コンテンツ再生システム、再生装置、再生制御方法及びプログラム
EP2147361B1 (en) * 2007-05-15 2012-12-12 Chronologic Pty Ltd Usb based synchronization and timing system
KR101141276B1 (ko) * 2007-06-04 2012-05-04 삼성전자주식회사 무선 usb를 이용하여 디바이스와 접속 가능한 호스트장치의 통신 방법 및 호스트 장치와 디바이스를 포함하는무선 접속 시스템
JP2009003677A (ja) * 2007-06-21 2009-01-08 Nec Electronics Corp Usbホスト、usbスレーブ、無線通信方式、及びデータ転送方法
WO2010005789A1 (en) * 2008-07-10 2010-01-14 Marvell World Trade Ltd. Systems and methods for reducing power consumption in wireless devices
WO2010007578A1 (en) * 2008-07-17 2010-01-21 Jungo Ltd. Cableless usb connectivity over ieee 802.11 networks
US8503596B2 (en) 2008-10-02 2013-08-06 Aliphcom Wireless clock regeneration and synchronization
US20140075567A1 (en) * 2009-01-28 2014-03-13 Headwater Partners I Llc Service Processor Configurations for Enhancing or Augmenting System Software of a Mobile Communications Device
JP5418003B2 (ja) * 2009-06-12 2014-02-19 ソニー株式会社 情報処理装置、同期補正方法及びコンピュータプログラム
US8493992B2 (en) * 2010-02-04 2013-07-23 Texas Instruments Incorporated Interrelated WiFi and USB protocols and other application framework processes, circuits and systems
GB201116521D0 (en) * 2011-09-23 2011-11-09 Imagination Tech Ltd Method and apparatus for time synchronisation in wireless networks
EP2608444B1 (en) * 2011-12-19 2014-10-22 GN Netcom A/S Method and system for synchronizing isochronous usb audio data to a rf communication device clock
WO2014139178A1 (zh) * 2013-03-15 2014-09-18 华为技术有限公司 一种光通道数据单元业务传送装置和方法
US9532043B2 (en) * 2013-08-02 2016-12-27 Blackberry Limited Wireless transmission of real-time media
US9412332B2 (en) * 2013-12-20 2016-08-09 Blackberry Limited Method for wirelessly transmitting content from a source device to a sink device

Also Published As

Publication number Publication date
EP2997485B1 (en) 2017-06-14
JP6333963B2 (ja) 2018-05-30
TWI552558B (zh) 2016-10-01
EP2997485A1 (en) 2016-03-23
KR102249244B1 (ko) 2021-05-06
CN105247500A (zh) 2016-01-13
CN105247500B (zh) 2018-04-27
US20140344490A1 (en) 2014-11-20
KR20160008602A (ko) 2016-01-22
JP2016526325A (ja) 2016-09-01
TW201448539A (zh) 2014-12-16
WO2014186179A1 (en) 2014-11-20
US9830298B2 (en) 2017-11-28
AR099254A1 (es) 2016-07-13

Similar Documents

Publication Publication Date Title
ES2638212T3 (es) Sincronización de contador de tramas USB basado en tiempo de medios para bus serie wifi
CN101937253B (zh) 用于时钟同步的方法、装置和系统
KR101610270B1 (ko) 네트워크 요소들에서 정밀 시간 프로토콜 및 미디어 액세스 제어 보안을 통합하기 위한 방법 및 장치
EP3367733B1 (en) Method, device, and system for synchronizing clocks of processors
JP5784118B2 (ja) 補助チャンネル上の部分認証を通じたコンテンツの内部処理のためのメカニズム
WO2014173267A1 (zh) 时间戳生成方法、装置及系统
WO2017035724A1 (zh) 接收cpri数据流和接收以太网帧的方法、装置及系统
WO2018041228A1 (zh) 一种传输同步信息的方法、装置和系统
CN103202091A (zh) 在无线接口上映射显示端口的方法和系统
JP2016526325A5 (es)
US10033521B2 (en) Method for training time slot synchronization of nodes in optical burst transport network, node device and network
WO2019036943A1 (zh) 一种报文处理的方法和网络设备
US11750310B2 (en) Clock synchronization packet exchanging method and apparatus
TW202014017A (zh) 標準化網路協定的精確時間同步
CN110347360A (zh) 包括多个显示设备的系统中的显示设备的同步
US20130336237A1 (en) Adapter, base band processing unit and base station system
CN209402499U (zh) 一种基于fpga实现以太网传输多路dac信息的装置
US11064452B2 (en) Wireless apparatus, processing method for a wireless apparatus, and program
WO2022262587A1 (zh) 数据传输方法、装置、系统、电子设备及可读介质
EP4221120A1 (en) Logical message interface for configuring and managing a physical device in single and multi-host systems
WO2024119485A1 (zh) 一种通信方法及装置
US20200259934A1 (en) Network traffic marking and measurement methods and node
ES2748348T3 (es) Procedimiento y sistema de sincronización horaria entre dos dispositivos conectados por una conexión Ethernet
Schüepp et al. System Design for Audio Record and Playback with a Computer