ES2346169T3 - Propiedad de control correlacionada con elemento de gui modalmente compatible. - Google Patents
Propiedad de control correlacionada con elemento de gui modalmente compatible. Download PDFInfo
- Publication number
- ES2346169T3 ES2346169T3 ES99948961T ES99948961T ES2346169T3 ES 2346169 T3 ES2346169 T3 ES 2346169T3 ES 99948961 T ES99948961 T ES 99948961T ES 99948961 T ES99948961 T ES 99948961T ES 2346169 T3 ES2346169 T3 ES 2346169T3
- Authority
- ES
- Spain
- Prior art keywords
- functionality
- control
- representation
- controller
- mode
- 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.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40117—Interconnection of audio or video/imaging devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2805—Home Audio Video Interoperability [HAVI] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
- H04L12/281—Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function in a home automation network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
- H04L12/2814—Exchanging control software or macros for controlling appliance services in a home automation network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2816—Controlling appliance services of a home automation network by calling their functionalities
- H04L12/282—Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L2012/2847—Home automation networks characterised by the type of home appliance used
- H04L2012/2849—Audio/video appliances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L2012/2847—Home automation networks characterised by the type of home appliance used
- H04L2012/285—Generic home appliances, e.g. refrigerators
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Selective Calling Equipment (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Digital Computer Display Output (AREA)
- Details Of Television Systems (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
Sistema (100) de procesamiento de información que comprende un dispositivo (102) electrónico y un controlador (104, 112) para el control de una funcionalidad del dispositivo, en el que: - se proporciona al controlador una representación (108) de la funcionalidad; - el controlador permite controlar la funcionalidad a través de la interacción con la representación; caracterizado porque en el sistema - dicha representación es una representación abstracta, - la representación expone una modalidad para controlar la funcionalidad; y - la modalidad determina asociar el control de la funcionalidad con una capacidad de control modalmente compatible del controlador sin que el controlador sepa cuál es la funcionalidad.
Description
Propiedad de control correlacionada con elemento
de GUI modalmente compatible.
La invención se refiere a un sistema de
procesamiento de información y a un procedimiento para controlar
dispositivos.
Un consorcio de fabricantes de electrónica de
consumo, entre los que se encuentra Philips Electronics, ha estado
trabajando en especificaciones para un núcleo de API (interfaces de
programación de aplicaciones) para aparatos digitales de
electrónica de consumo en una red doméstica para proporcionar una
norma para la electrónica de audio/vídeo y las industrias
multimedia. Una API especifica el procedimiento requerido para
realizar peticiones a un sistema operativo o programa de
aplicación. La red doméstica se considera una plataforma de cálculo
distribuida. El objetivo principal de la norma, denominada
arquitectura HAVi (interoperabilidad de audio/vídeo doméstica) es
garantizar que puedan interoperar productos de diferentes
vendedores, es decir, que puedan cooperar para realizar tareas de
aplicación. Los dispositivos de EC actuales, tales como los equipos
de entretenimiento domésticos (reproductores de DVD, cámaras de
vídeo de mano de DV, aparatos de televisión digitales, etc.) son
sistemas de procesamiento digital y almacenamiento digital. La
conexión de estos dispositivos en redes hace posible compartir
recursos de procesamiento y almacenamiento. Esto permite coordinar
el control de varios dispositivos de EC simultáneamente, por
ejemplo, con el fin de simplificar la interacción del usuario. Por
ejemplo, un primer dispositivo puede instanciar la grabación en un
segundo dispositivo mientras que accede a una EPG (guía electrónica
de programas) en un tercer dispositivo. La red doméstica proporciona
la estructura para conectar los dispositivos de EC. Permite que los
dispositivos conectados intercambien tanto datos de control (un
dispositivo envía una orden a otro) como datos de AV (audio/vídeo)
(un dispositivo envía un flujo de audio o vídeo a otro
dispositivo). La red debe cumplir con varios requisitos con el fin
de conseguir todo esto. Debe soportar una transferencia a tiempo de
flujos de AV de alta tasa de transmisión de datos. La red debe
soportar autoconfiguración, autogestión y una capacidad instantánea
de conectar y ejecutar (hot
plug-and-play). Debe
requerir interfaces y cableado de bajo coste.
La arquitectura de software HAVi es
independiente de la plataforma y se basa en Java. HAVi usa el
protocolo de bus serie de alto rendimiento IEEE 1394 para el
transporte de control y contenido entre los dispositivos conectados
a la red. La norma IEEE 1394 es una red digital de bajo coste
dinámicamente configurable. La norma IEEE 1394 define tanto una
capa física de plano posterior como implantaciones de bus virtual
conectadas por cable entre iguales. La versión de plano posterior
opera a 12,5, 25 ó 50 Mbits/seg. La versión por cable soporta tasas
de transmisión de datos de 100, 200 y 400 Mbits/seg. La norma
especifica los medios, la topología y el protocolo. El protocolo de
transporte IEEE 1394 es particularmente útil para soportar
protocolos de comunicación de audio y vídeo, debido a su capacidad
de alta tasa de transmisión de datos.
La arquitectura HAVi controla los dispositivos
de EC en la red a través de representaciones abstractas de los
dispositivos de EC. Sobre las representaciones abstractas se opera
mediante un controlador y ocultan las idiosincrasias de los
dispositivos de EC reales asociados. La representación abstracta
proporciona así una interfaz uniforme para mayores niveles de
software. Las representaciones abstractas se registran con sus
propiedades de control que reflejan las del dispositivo
representado. Las representaciones abstractas exponen sus API de
interoperabilidad a las aplicaciones y juntos forman un conjunto de
servicios para construir aplicaciones distribuidas portátiles en la
red doméstica.
La arquitectura permite a un dispositivo enviar
una información de control u orden a otro dispositivo en la red
doméstica. Un dispositivo compatible con HAVi contiene datos (arriba
la representación abstracta, que se denomina modelo de control de
dispositivo o DCM, véase más adelante) en relación con su interfaz
de usuario (por ejemplo, GUI) y con sus capacidades de control.
Estos datos incluyen, por ejemplo, código de bytes HAVi (Java) que
puede cargarse y ejecutarse por otros dispositivos en la red. Un
dispositivo compatible con HAVi tiene, como mínimo, suficiente
funcionalidad para comunicarse con otros dispositivos en el sistema.
Durante la interacción, los dispositivos pueden intercambiar
control y datos de una manera entre iguales. Esto garantiza que a
nivel de comunicación, no se requiera que ninguno de los
dispositivos actúe como maestro o controlador del sistema. Por otro
lado, permite a un controlador o maestro lógico imponer una
estructura de control en el modelo básico de comunicación entre
iguales. HAVi distingue entre controladores y dispositivos
controlados tal como se explica más adelante. Un controlador es un
dispositivo que actúa como anfitrión para un dispositivo
controlado. Un controlador alberga la representación abstracta para
el dispositivo controlado. La interfaz de control se expone a
través de la API de la representación abstracta. Esta API es el
punto de acceso para aplicaciones para el control del
dispositivo.
Los dispositivos de EC compatibles con HAVi son
dispositivos clasificados de la siguiente manera: dispositivos de
AV completos (FAV), dispositivos de AV intermedios (IAV) y
dispositivos de AV base (BAV).
Un FAV contiene un conjunto complete de los
componentes de software de la arquitectura de software HAVi (véase
a continuación). Un FAV se caracteriza porque tiene un entorno de
tiempo de ejecución para códigos de bytes HAVi. Esto permite a un
FAV cargar un código de bytes desde otros dispositivos para, por
ejemplo, proporcionar capacidades mejoradas para su control. Un FAV
puede estar formado, por ejemplo, por un decodificador compatible
con HAVi, un receptor de televisión digital compatible con HAVi y un
ordenador personal doméstico. Por ejemplo, un receptor de
televisión inteligente puede ser el controlador HAVi de otros
dispositivos conectados en la red. El receptor obtiene el código de
bytes cargado desde otro dispositivo para crear una IU para este
dispositivo y para proporcionar control externo de este
dispositivo. Puede hacerse que un icono que presenta este
dispositivo aparezca en la pantalla de televisión y la interacción
del usuario con el icono puede hacer que los elementos del programa
de control accionen el dispositivo representado de una manera
previamente especificada.
Un IAV no proporciona un entorno de tiempo de
ejecución para códigos de bytes HAVi, pero puede proporcionar un
soporte nativo para el control de dispositivos específicos en la red
doméstica. Un IAV comprende elementos de software incrustados que
proporcionan una interfaz para controlar funciones generales de los
dispositivos específicos. Estos elementos de software no tienen que
ser un código de bytes HAVi y pueden implementarse como
aplicaciones nativas en el IAV que usan interfaces nativas para
acceder a otros dispositivos.
Un BAV puede proporcionar un código de bytes
HAVi que puede cargarse pero no alberga ninguno de los elementos de
software de la arquitectura HAVi. Un BAV puede controlarse a través
de un FAV por medio del código de bytes cargado anterior. Un BAV
puede controlarse a través de un IAV a través del código nativo. La
comunicación entre un FAV o IAV, por un lado, y un BAV por otro
lado requiere trasladar el código de bytes HAVi a y desde el
protocolo de orden usado por el BAV.
Los elementos de software principales incluidos
en la especificación de núcleo de la arquitectura HAVi son los
enumerados a continuación. Para una explicación más detallada de
estos elementos, véase la especificación HAVi, incorporada en el
presente documento por referencia.
1) Un gestor de medios de comunicaciones (CMM)
1394 - actúa como interfaz entre los otros elementos de software y
la IEEE 1394.
2) Un gestor de eventos (EM) - informa a los
diversos elementos de software sobre eventos en la red tales como
los cambios en la configuración de red que se producen cuando se
añaden o eliminan de la red aparatos (dispositivos).
3) Un registro - contiene información acerca de
los aparatos conectados a la red y las funciones que ofrecen. Las
aplicaciones pueden obtener esta información a partir del
registro.
4) Un sistema de mensajería (MS) - sirve como
API que facilita la comunicación entre los elementos de software de
los diversos aparatos en la red. El sistema de mensajería
proporciona a los elementos de software HAVi características de
comunicación. Es independiente de la red y las capas de transporte.
Un sistema de mensajería se incrusta en cualquier FAV e IAV. El
sistema de mensajería se encarga de asignar identificadores para las
representaciones abstractas en el FAV o IAV. Estos identificadores
se usan en primer lugar por las representaciones abstractas para
registrarse en el FAV o IAV. Entonces se usan por las
representaciones abstractas para identificarse entre sí dentro de
la red doméstica. Cuando una primera representación abstracta desea
enviar un mensaje a otra representación abstracta tiene que usar el
identificador de esta última mientras que invoca la API de
mensajería.
5) Un módulo de control de dispositivo (DCM) -
representa un aparato en la red. Los programas de aplicación pueden
interactuar directamente con un DCM. Esto los protege frente a las
idiosincrasias de cada aparato individual.
6) Un gestor de DCM - instala los DCM. Reacciona
automáticamente a cambios en la red instalando nuevos DCM para
nuevos aparatos.
7) Un controlador de interacción accionada por
datos (DDI) - proporciona una GUI (interfaz gráfica de usuario) en
la pantalla de un aparato para un elemento de software HAVi. Soporta
una amplia gama de representaciones, que varían desde gráficas
hasta sólo texto.
8) Un gestor de flujo (SMGR) - crea conexiones y
encamina flujos de AV en tiempo real entre dos o más aparatos en la
red.
La arquitectura HAVi especifica al menos dos
niveles de interoperabilidad, denominados nivel 1 y nivel 2.
La interoperabilidad de nivel 1 trata la
necesidad general de permitir a dispositivos existentes comunicarse
a un nivel básico de funcionalidad. Para conseguir esto, la
interoperabilidad de nivel 1 define y usa un conjunto genérico de
mensajes de control (órdenes) que permiten a un dispositivo
comunicarse con otro dispositivo, y un conjunto de mensajes de
eventos que esperará razonablemente desde un dispositivo dada su
clase (televisión, VCR, reproductor de DVD, etc.). Para soportar
este enfoque se requiere un conjunto básico de mecanismos:
descubrimiento del dispositivo; comunicación; y un conjunto de
mensajes HAVi.
En cuanto al descubrimiento del dispositivo:
cada dispositivo en la red doméstica necesita un procedimiento bien
definido que le permita anunciar sus capacidades a otros. El enfoque
HAVi es utilizar denominados datos SDD: datos autodescriptivos. Los
datos SDD se requieren en todos los dispositivos en la red. Los
datos SDD contienen información acerca del dispositivo al que puede
accederse por otros dispositivos. Los datos SDD contienen, como
mínimo, suficiente información para permitir la instanciación de un
denominado módulo de control de dispositivo incrustado (DCM
incrustado). Un DCM incrustado es un fragmento de código previamente
instalado en un IAV o FAV de control en código dependiente de
plataforma y que usa interfaces nativas para acceder a los recursos
del IAV o FAV. Tal como se mencionó anteriormente, un DCM para un
dispositivo es un elemento de software que proporciona una interfaz
para el control de funciones generales del dispositivo. La
instanciación de un DCM incrustado da como resultado el registro de
las capacidades del dispositivo con un registro. El registro
proporciona un servicio de directorio y permite a cualquier objeto
en la red localizar a otro objeto en la red. El registro permite a
las aplicaciones deducir el conjunto básico de mensajes de orden que
pueden enviarse a un dispositivo específico en la red.
En cuanto a la comunicación: una vez que una
aplicación ha determinado las capacidades de un dispositivo, la
aplicación necesita poder acceder a esas capacidades. Esto requiere
una capacidad de comunicación general que permita a las
aplicaciones emitir peticiones a dispositivos. Este servicio se
proporciona por los sistemas de mensajería HAVi y los DCM. La
aplicación envía mensajes HAVi a los DCM, a continuación los DCM se
dedican a la comunicación propietaria con los dispositivos.
En cuanto a los conjuntos de mensajes HAVi: con
el fin de soportar la interoperabilidad de nivel 1 se requiere un
conjunto de mensajes bien definido que debe soportarse por todos los
dispositivos de una clase conocida particular (por ejemplo, la
clase de receptores de televisión, la clase de VCR, la clase de
reproductores de DVD, etc.). Esto garantiza que un dispositivo
pueda funcionar con dispositivos existentes, así como con
dispositivos futuros, independientemente del fabricante.
Estos tres requisitos básicos soportan un
determinado nivel mínimo de interoperabilidad. Puesto que cualquier
dispositivo puede consultar las capacidades de otro a través del
registro, cualquier dispositivo puede determinar el conjunto de
mensajes soportado por otro dispositivo. Puesto que las aplicaciones
tienen acceso al sistema de mensajería, cualquier dispositivo puede
interactuar con cualquier otro dispositivo.
La interoperabilidad de nivel 1 garantiza que
los dispositivos puedan interoperar a un nivel básico de
funcionalidad. Sin embargo, es necesario un mecanismo más extendido
para permitir también a un dispositivo comunicarse con otros
dispositivos con cualquier funcionalidad adicional que no esté
presente en los DCM incrustados en un FAV. Por ejemplo, los DCM
incrustados pueden no soportar todas las características de los
productos existentes y es poco probable que soporten las totalmente
nuevas de categorías de productos futuros. La interoperabilidad de
nivel 2 proporciona este mecanismo. Para conseguir esto, la
arquitectura HAVi permite DCM que pueden cargarse como una
alternativa a los DCM incrustados anteriormente mencionados. El DCM
cargado puede sustituir un DCM existente en un FAV. Un DCM que
puede cargarse puede proporcionarse por cualquier fuente adecuada,
aunque una técnica probable es situar el DCM que puede cargarse en
los datos SDD HAVi del dispositivo BAV, y cargarlo desde el
dispositivo BAV al dispositivo FAV cuando el BAV está conectado a la
red doméstica. Puesto que la arquitectura HAVi es neutral respecto
al vendedor, es necesario que el DCM cargado funcione en una
diversidad de dispositivos FAV todos con arquitecturas de hardware
posiblemente diferentes. Para conseguir esto, los DCM cargados se
implementan en código de bytes HAVi (Java). El entorno de tiempo de
ejecución del código de bytes HAVi en dispositivos FAV soporta la
instanciación y ejecución de DCM cargados. Una vez creado y
funcionando en un dispositivo FAV, el DCM se comunica con los
dispositivos BAV de la misma manera tal como se describió
anteriormente.
La eficacia de la interoperabilidad de nivel 2
resulta evidente cuando se consideran recursos necesarios para
acceder a una funcionalidad de dispositivo específica. El nivel 2
permite controlar un dispositivo a través de un DCM cargado que
presenta todas las capacidades ofrecidas por el dispositivo,
mientras que para conseguir una funcionalidad similar en el nivel
1, este DCM tendría que incrustarse en algún lugar en la red. Por
ejemplo, cuando un nuevo dispositivo se añade a una red, el nivel 1
requiere que al menos un dispositivo diferente comprenda un DCM
incrustado compatible con el nuevo dispositivo. En comparación, el
nivel 2 sólo requiere que un dispositivo proporcione un entorno de
tiempo de ejecución para el DCM cargado obtenido desde el nuevo
dispositivo.
El concepto de cargar y ejecutar el código de
bytes también proporciona la posibilidad para aplicaciones
específicas del dispositivo denominadas aplicaciones de control de
dispositivo. A través de estas aplicaciones un fabricante de
dispositivos puede proporcionar al usuario una manera de controlar
características especiales de un dispositivo sin la necesidad de
estandarizar todas las características en HAVi. La aplicación se
proporciona mediante un DCM en el código de bytes HAVi y puede
cargarse e instalarse mediante cada dispositivo FAV en la red.
Para más información se hace referencia a la
especificación HAVi y la especificación IEEE 1394 que están
disponibles en el dominio público. La especificación de núcleo HAVi
se ha puesto a disposición en la web en, por ejemplo,
http://www.sv.philips.com/news/press, y se incorpora en el presente
documento por referencia.
Tal como se describió anteriormente, una
aplicación de control debe conocer un conjunto de mensajes de la
representación abstracta con el fin de controlar la funcionalidad de
un dispositivo. Se usan dos enfoques básicos para garantizar esta
compatibilidad: módulos estandarizados/ incrustados y módulos que
pueden cargarse. En cuanto a la estandarización: un conjunto de
órdenes soportado por un tipo particular de una funcionalidad se
define por la especificación. Véanse, por ejemplo, las definiciones
para un sintonizador en la especificación HAVi. En cuanto a los
módulos que pueden cargarse: un componente de GUI o una aplicación
instalada en un dispositivo que puede controlarse puede cargarse
desde el dispositivo controlable y puede ejecutarse en el entorno de
tiempo de ejecución proporcionado por el controlador HAVi
anfitrión. Sin embargo, ninguno de los procedimientos permite que
aplicaciones de terceros o el propio entorno de tiempo de ejecución
determinen la semántica de las propiedades de un dispositivo nuevo
o un dispositivo con funcionalidades desconocidas hasta el momento.
Esto implica que en el enfoque actual se requiere no obstante un
esfuerzo de estandardización constante para nuevos tipos de
dispositivos. En el caso de aplicaciones o controles de GUI que
pueden cargarse es el dispositivo, no el controlador más
"inteligente", quien se encarga de determinar las modalidades
de control o interacción de usuario. Por ejemplo, si el tiempo de
ejecución proporcionara un nuevo tipo de interacción de usuario,
tal como control de voz, la aplicación de control cargada no podría
usarlo si no se hubiera diseñado para ese tipo de entrada. La
realización de pruebas para determinar la compatibilidad con nuevos
dispositivos presenta un verdadero desafío para los desarrolladores
y diseñadores, puesto que las nuevas funcionalidades y la IU aún no
se han definido (por definición), ni mucho menos desarrollado.
Es por tanto un objetivo de la invención
proporcionar una solución a este problema de compatibilidad que se
producirá cuando en una red doméstica aparezcan funcionalidades
nuevas (es decir, desconocidas hasta el momento), en el que el
control de recursos se basa en representaciones abstractas que
pueden cargarse o previamente instala-
das.
das.
El documento "WARMINER, P.; KARAM, K.Z.:
``Proposal for a new domestic automation networking system''
CONSUMER ELECTRONICS, IEEE TRANSACTIONS ON, [Online] vol. 44, n.º
3, 2 de junio de 1998 (02/06/1998), - 4 de junio de 1998
(04/06/1998) páginas 612-616, XP002142896 Newcastle
upon Tyne Univ., Reino Unido, ISSN: 0098-3063"
describe permitir el control de un dispositivo a través de una red.
El dispositivo proporciona un programa de aplicación y una interfaz
de hardware. Una vez conectado, el dispositivo se convierte en nodo
de objeto. El objeto contiene un perfil de objeto interno, que
describe los parámetros de operación y la función del objeto. El
perfil contiene un código de tipo que permite al dispositivo
reconocer qué tipo de dispositivo es. El tipo decide posteriormente
la operación del nodo.
Con este fin la invención proporciona un sistema
de procesamiento de información tal como se define en la
reivindicación 1, un procedimiento para permitir el control tal como
se define en la reivindicación 10 y un dispositivo electrónico tal
como se define en la reivindicación 11. Un sistema de red doméstica
comprende un dispositivo electrónico y un controlador acoplado al
dispositivo. El dispositivo expone una representación abstracta de
su funcionalidad al controlador. El controlador permite controlar la
funcionalidad del dispositivo a través de la interacción con la
representación abstracta. La representación abstracta especifica una
modalidad para controlar la funcionalidad. Bajo el control de la
modalidad especificada, el sistema asocia el control de la
funcionalidad con una capacidad de control modalmente compatible del
controlador. La modalidad expuesta puede ser, por ejemplo, "valor
booleano", "flotante", "matriz de enteros".
El término "modalidad" se refiere a un
atributo que designa el carácter de la capacidad de control de la
funcionalidad. En la invención, la modalidad de la funcionalidad se
correlaciona con una capacidad modalmente compatible del
controlador sin que el controlador tenga que saber realmente de qué
trata la funcionalidad del dispositivo. Por ejemplo, supóngase que
la modalidad es semánticamente un valor booleano. La propiedad de
control del valor booleano puede correlacionarse entonces con un
elemento de IU que tiene un carácter booleano y asume uno de dos
estados tales como un interruptor "encendido/apagado" o palanca
"alto/bajo". Cuando el usuario interacciona entonces con este
elemento, la funcionalidad correlacionada con el mismo se pone en
uno de los dos estados. En un sistema HAVi, la representación
abstracta se carga, preferiblemente incluyendo una IU (por ejemplo
para el control de voz) o GUI, y el usuario recibe un contexto para
determinar las consecuencias de sus interacciones con la IU. En
caso de que la modalidad sea un conjunto de valores discretos, la
propiedad de control puede correlacionarse con un elemento de GUI
que puede asumir uno de tres o más estados discretos tales como un
botón para la selección de un canal en un dispositivo, para la
selección entre múltiples dispositivos, etc. Si la modalidad
especificada es semánticamente un rango de valores de punto
flotante, puede realizarse una correlación con una característica
de control variable de forma continua, por ejemplo, el brillo de una
imagen en una pantalla o el volumen de sonido. En otro ejemplo, la
modalidad especificada es semánticamente una matriz. Una matriz
comprende más de un único componente. Por ejemplo, así una matriz de
valores booleanos podría correlacionarse con una agrupación de
elementos de GUI para implementar, por ejemplo, una selección de
menú entre diferentes dispositivos o una lista de casillas de
verificación. Una matriz de modalidades de punto flotante podría
correlacionarse con una agrupación de elementos de GUI que
representan elementos de deslizamiento, por ejemplo, para ajustar
los ángulos de una cámara y los factores de zoom de las cámaras en
el sistema de seguridad doméstica que se controla a través de la
red doméstica. Obsérvese que el controlador no necesita tener
conocimiento acerca de la funcionalidad o las funcionalidades del
dispositivo que está controlándose. Todo lo que necesita hacer es
someter una funcionalidad a una aplicación de control basándose en
la semántica de su modalidad.
Obsérvese que la DDI de la arquitectura HAVi
especifica la manera en la que un dispositivo se controla a través
de widgets de GUI. El término "widget" se usa de
diversas maneras en el campo de los ordenadores. Un widget
es un elemento de una GUI que visualiza información para que un
usuario interaccione con el sistema operativo y programas de
aplicación. Los widgets incluyen iconos, menús desplegables,
botones, casillas de selección, indicadores de progreso, marcas de
verificación de activación/desactivación, barras de desplazamiento,
ventanas, bordes de ventana para redimensionar la ventana, botones
de palanca, etc. para visualizar funcionalidades de interactividad
de usuario. En programación, un widget también hace
referencia al programa pequeño que se escribe con el fin de
describir el aspecto de un widget particular, cómo se
comporta y cómo interactúa en respuesta a acciones de usuario. La
mayoría de los sistemas operativos incluyen un conjunto de
widgets personalizados que puede incorporar un programador en
una aplicación, especificando cómo debe comportarse. Pueden crearse
widgets nuevos. La mayoría de los lenguajes de desarrollo de
aplicaciones hoy en día, tales como Java y Tcl, vienen con una
biblioteca lista de widgets que puede incorporar y modificar
un programador. Usando Visual Basic de Microsoft, un widget
puede implementarse como o parte de un control ActiveX, etc.
(Véase, por ejemplo, www.whatis.com). La IU no necesita conocer la
funcionalidad del dispositivo particular que va a controlarse, sólo
necesita saber qué widget presentar. Los widgets
determinan cómo está estructurada la IU. Ahora, si el paradigma de
IU difiere de versiones anteriores o si no existe un widget
dedicado (por ejemplo, nuevo control de voz o GUI en 3D) en el
entorno disponible, la invención no obstante permite controlar el
dispositivo proporcionando los controles de una manera diferente,
aunque semánticamente equivalente. El programa de asistente de IU o
gestor de widget (denominado de forma más genérica
entidad/módulo/servicio/aplicación de configuración) puede combinar
una IU funcional por medio de una correlación de los elementos de
IU disponibles con la descripción semántica de la modalidad en la
representación abstracta del dispositivo.
La entidad de configuración monitoriza el
aspecto de nuevos dispositivos. Si aparece un nuevo dispositivo, la
entidad comprueba si hay una GUI disponible para este tipo de
dispositivo. Si hay una disponible, la entidad la recupera. Si no,
la entidad de configuración crea una representación de IU y la pone
a disposición del controlador. La entidad de configuración obtiene
la descripción de objeto y a continuación activa un correlacionador
con la descripción, que dice básicamente: "Esto es una propiedad,
ahora dame un elemento de IU asociado". Esto puede realizarse
automáticamente o con la intervención del usuario. El
correlacionador es a modo de asistente, por ejemplo, una utilidad
dentro de una aplicación que ayuda a usar la aplicación para
realizar una tarea particular.
Los modelos de software basados en componentes
han llegado a estar ampliamente disponibles y a ser aceptados en la
industria de desarrollo de software. Tecnologías tales como HTML,
COM, DCOM, ActiveX, Java, JavaBeans proporcionan a los
desarrolladores una amplia gama de componentes de GUI listos para
usar. La semántica de tales componentes se entiende bien por los
usuarios finales y permite crear aplicaciones sofisticadas en un
periodo de tiempo corto.
Cuando los fabricantes introducen nuevos
dispositivos compatibles con HAVi con nuevas características, pueden
modificar el código de bytes transportado con el dispositivo. Las
modificaciones añadidas al código de bytes representan las nuevas
funcionalidades y nuevas características proporcionadas por el
dispositivo. De manera similar, pueden añadirse nuevos elementos de
IU a la representación de IU disponible del dispositivo. La
arquitectura HAVi permite a los fabricantes de dispositivos
especificar GUI que pueden proporcionarse en una diversidad de
aparatos de visualización, oscilando desde representaciones de sólo
texto hasta representaciones de gráficas de nivel elevado. La
invención facilita el desarrollo y la entrada en el mercado de
sistemas de procesamiento de información tales como el equipo de
entretenimiento doméstico basado en HAVi de sistemas de
automatización del hogar.
La invención se trata anteriormente dentro del
contexto de una arquitectura HAVi. La aplicabilidad de la invención
no está limitada a sistemas basados en HAVi. Como otro ejemplo,
considérese un modelo de cliente-servidor basado en
tecnología de componente objeto modelo (COM) de Microsoft. Para más
información, se hace referencia a, por ejemplo, la versión 0.9 de
la especificación de componente objeto modelo de octubre de 1995 tal
como se proporciona por Microsoft, incorporada en el presente
documento por referencia. COM está orientada a objetos. Un objeto
tiene propiedades que representan funcionalidades de control de un
dispositivo de electrónica asociado expuesto a una aplicación de
software. Un cambio de estado de un objeto como consecuencia de un
evento desde el exterior se pasa a la aplicación de software. La
aplicación manipula los objetos cambiando o ajustando sus
propiedades. Cuando la aplicación modifica una propiedad de un
objeto asociado con un determinado dispositivo físico se envía una
orden al dispositivo asociado.
COM es un mecanismo genérico que permite a las
aplicaciones comunicarse de una manera consistente y es una
estructura para desarrollar y soportar objetos de componentes de
programa. Proporciona capacidades similares a las definidas en
CORBA (arquitectura común de intermediarios en peticiones a
objetos), la estructura para la interoperación de objetos
distribuidos en una red. La tecnología OLE (vinculado e incrustado
de objetos) proporciona servicios para el documento compuesto que
ven los usuarios en su pantalla, COM proporciona los servicios
subyacentes de servicios de eventos y negociación de interfaz
(situar un objeto en el servicio como resultado de un evento que
ocurrió a otro objeto). En esta implementación los clientes se
modelan como objetos de automatización OLE (representaciones
abstractas) que usan propiedades para exponer controles y eventos
para indicar cambios de estado. La automatización OLE es una
tecnología COM que permite secuencias de comandos y un enlace
tardío de clientes a servidores. La automatización OLE proporciona
comunicación con otros programas a través de llamadas a
características (órdenes y consultas) que los programas han puesto a
disposición para su uso externo. Antes de usar un objeto, una
aplicación de cliente tiene que obtener en primer lugar el puntero
de interfaz del objeto. El puntero de interfaz se obtiene a través
del directorio de la red vinculando el nombre del objeto o
enumerando dispositivos. Pueden usarse API de COM convencionales
para enlaces de moniker. Pueden obtenerse referencias a objetos
llamando GetObject o CoGetObject con una cadena que especifica el
nombre o ID del dispositivo deseado. La aplicación puede manipular
entonces el objeto ajustando o recuperando sus propiedades. Cuando
una aplicación ajusta o modifica una propiedad de un objeto que se
corresponde con un dispositivo, la operación de ajuste de propiedad
u operación de modificación se convierte en una orden que se envía
a través de la red al dispositivo relevante. Los objetos pueden
diferir en cuanto a la implementación, aunque exponen un modelo
similar basado en propiedades a aplicaciones de cliente que se
ejecutan en un controlador, por ejemplo, un PC con un sistema
operativo basado en Windows (por ejemplo, Windows95, Windows98,
WinCE, Windows NT). Por consiguiente, una aplicación de control o
un elemento de GUI debe conocer el conjunto de propiedades del
dispositivo controlable.
De nuevo, en la invención, se hace que los
objetos expongan sus propiedades de manera que la modalidad de
control de la funcionalidad de la propiedad pueda asociarse con una
capacidad de control modalmente compatible del controlador bajo el
control de sólo esta modalidad.
Para aún otro ejemplo de una tecnología en la
que la invención proporciona una ventaja respecto al estado de la
técnica considérese Jini de Sun Microsystems. Jini es una tecnología
de software basada en Java que ayuda a interconectar PC y
periféricos en la red. Cuando se conecta a una red, un dispositivo
habilitado para Jini difundirá su presencia. Los clientes de red
que están listos para usar ese dispositivo pueden solicitar el
software necesario desde el dispositivo, evitando un servidor o un
administrador de red. Esta arquitectura se construye sobre una red
existente. Se supone que la propia red se ha configurado de
antemano. Las interfaces de programación se identifican por el tipo
de sistema del lenguaje de programación Java, y los servicios pueden
encontrarse en un servicio de consulta pidiendo los que soportan
una interfaz particular. Encontrar un servicio de esta manera
garantiza que el programa que está buscando el servicio sabrá cómo
usar ese servicio, porque ese uso se define por el conjunto de
procedimientos que se definen por el tipo. El conjunto de
procedimientos se especifican previamente con el fin de tener una
cooperación significativa entre los componentes. En la invención,
es la modalidad la que determina una correlación con controles
adecuados sin que sea necesario ningún procedimiento previamente
especificado.
La invención se refiere también a un
procedimiento para permitir el control de una funcionalidad de un
dispositivo electrónico a través de un controlador. El
procedimiento comprende permitir proporcionar una representación
abstracta de la funcionalidad al controlador; permitir que la
representación abstracta exponga una modalidad de control de la
funcionalidad para permitir que el controlador controle la
funcionalidad a través de la interacción con la representación
abstracta; y bajo el control de la modalidad expuesta permitir
asociar el control de la funcionalidad con una capacidad de control
modalmente compatible del controlador. La acción de permitir se
refiere a, por ejemplo, proporcionar las herramientas de software
necesarias al usuario final como un paquete de software que se
proporciona con el dispositivo o con el sistema de automatización
del hogar completo, o se descarga a través de Internet, o a
actividades por parte de un proveedor de servicios o el propio
usuario final mientras establece la configuración de control.
La invención facilita también una
personalización de la IU desde el punto de vista del fabricante, no
sólo para sistemas basados en oficina o domésticos, sino también
para coches por ejemplo. La IU de componentes tales como controles
de radio, controles de reproductor de CD, controles de navegación,
controles de acondicionamiento de aire, etc. pueden personalizarse
a través de un mecanismo de acoplamiento semántico tal como se
especificó anteriormente, creando así una capacidad de mejora
incorporada. De manera similar la presentación de información de
gestión del coche y el motor (tacómetro, contador de revoluciones,
odómetro, temperatura de motor, presión de aceite, etc.) puede
personalizarse acoplando semánticamente la funcionalidad de
presentación de información con un esquema deseado.
La invención se explica a modo de ejemplo y con
referencia a los dibujos adjuntos, en los que:
la figura 1 es un diagrama de un sistema de red
doméstica en la invención; y
la figura 2 es un diagrama que ilustra la
correlación modal.
A lo largo de todas las figuras, los mismos
números de referencia indican características similares o
correspondientes.
La figura 1 es un diagrama de bloques de un
sistema 100 de procesamiento de información de la invención. El
sistema 100 comprende un dispositivo 102 electrónico y un
controlador 104 acoplado al dispositivo, por ejemplo, a través de
una red 106. El sistema 100 puede comprender más dispositivos
electrónicos, aunque éstos no se muestran para que el dibujo no sea
confuso. El dispositivo 102 expone al controlador 104 una
representación 108 abstracta. La representación 108 se carga, por
ejemplo, en el controlador 104 tras la conexión funcional del
dispositivo 102 a la red 106. La representación 108 podría
instalarse también en el controlador 108 de otra manera, por
ejemplo, a través de Internet o por parte del usuario a través de un
disquete. El controlador 104 controla una funcionalidad del
dispositivo 102 a través de la aplicación 110 de software que
interactúa con la representación 108. La aplicación 110 permite
además al usuario controlar el sistema 100 a través de un
dispositivo de interfaz de usuario, por ejemplo, un dispositivo 112
de GUI. La GUI 112 tiene una representación 114 abstracta que
establece una interfaz con la aplicación 110. La interfaz 114 se ha
cargado en el controlador 104 o la ha instalado el fabricante o el
usuario.
Supóngase que el dispositivo 112 de GUI o el
controlador 104 no tiene ningún conocimiento previo acerca de la
funcionalidad del dispositivo 102. Es decir, el dispositivo 102 es
una caja negra desde el punto de vista del dispositivo 112 y el
controlador 104. La representación 108 especifica ahora una
modalidad del control de la funcionalidad. Es decir, la
representación 108 tiene un atributo que indica el carácter del
control para la funcionalidad. La representación 108 expone la
funcionalidad del dispositivo a la aplicación 110 comprendiendo por
ejemplo las siguientes entidades: nombre, tipo, valor(es)
permitido(s), nombre de visualización. En el presente
documento, "nombre" es una etiqueta a través de la que puede
accederse a la funcionalidad por la aplicación 110. "Tipo"
especifica la modalidad (por ejemplo, valor booleano, número entero,
flotante, matriz) de control para la funcionalidad del dispositivo
102.
"Valor(es)" especifica uno (o más) valor(es) numérico(s) que puede asumir la modalidad con respecto a esta funcionalidad. "Nombre de visualización" indica cómo debe representarse la funcionalidad del dispositivo 102 en la GUI 112 si el "nombre de visualización" es diferente de "nombre".
"Valor(es)" especifica uno (o más) valor(es) numérico(s) que puede asumir la modalidad con respecto a esta funcionalidad. "Nombre de visualización" indica cómo debe representarse la funcionalidad del dispositivo 102 en la GUI 112 si el "nombre de visualización" es diferente de "nombre".
Por ejemplo, el dispositivo 102 tiene un nombre:
"sintonizador" y su funcionalidad tiene un nombre:
"canal". El tipo de dispositivo 102 se especifica como
"número entero". Los valores para esta funcionalidad se
especifican como una lista de valores numéricos discretos 0, 1, 2,
..., 5, 34, 56, ..., 89. Tras la recuperación de esta descripción
de la funcionalidad, el controlador 110 genera un fragmento de
secuencia de comandos de control, por ejemplo, en la siguiente
secuencia:
a) obtener el nombre del dispositivo ->
(sintonizador);
b) obtener el nombre de la funcionalidad ->
(canal);
c) obtener el tipo de funcionalidad ->
(número entero);
d) obtener el/los valor(es) de
funcionalidad -> (0, 1, 2, ..., 5, 34, 56, ..., 89);
e) generar un código de secuencia de comandos de
prueba usando las reglas de secuencia de comandos del sistema (tal
como automatización OLE, Visual Basic Script, JavaScript, etc.) y
las cantidades anteriores recuperadas:
para cada valor en valores
Sintonizador.canal = valor
endfor
Esta secuencia de comandos de control permite
someter a prueba la capacidad de control de la funcionalidad.
De una manera similar, el controlador 104 genera
una secuencia de comandos de control para asociar las modalidades
de control tal como se presentan por la representación 108 abstracta
con modalidades semánticamente similares disponibles en el sistema
100, por ejemplo, tal como se proporcionan por la interfaz 114 GUI.
El controlador lo lleva a cabo con la ayuda de un programa de
gestión de widget o un programa asistente de IU. Obsérvese
que la correlación se determina mediante la modalidad especificada.
Esto se explica adicionalmente con referencia a la figura 2.
La figura 2 es un diagrama que ilustra la
correlación modal. Tal como se mencionó anteriormente, la
representación 108 proporciona determinada información clave en
cuanto al nombre del dispositivo, el tipo, los valores y el nombre
de visualización. El dispositivo 112 de GUI tiene una representación
114 abstracta que especifica las capacidades modales del
dispositivo 112 de control. Estas capacidades se instalan usando
componentes de software de IU estandarizados.
Por ejemplo, el dispositivo 112 puede dejar al
usuario ajustar un determinado parámetro en una escala 202 continua
como si la cantidad asumiera un valor de punto flotante. Una
funcionalidad que tiene un tipo "flotante" se correlaciona con
este elemento 202 de GUI. El elemento 202 de GUI se representa en
este caso de forma gráfica mediante un elemento de deslizamiento.
En una pantalla táctil el usuario puede ajustar la posición del
elemento de deslizamiento arrastrándolo a la posición deseada. De
manera alternativa, si la IU se representa en una pantalla de
visualización de un aparato de televisión (no mostrado), el usuario
puede hacer clic sobre el elemento de deslizamiento y arrastrarlo
con un ratón (no mostrado) o un teclado inalámbrico (no mostrado) u
otro dispositivo de control (no mostrado). Si la IU tiene un botón
rotatorio físico o un elemento de deslizamiento físico, el valor
flotante puede correlacionarse con esta característica de control.
La propia representación gráfica del elemento 202 de GUI puede,
aunque no necesita, formar parte de la representación 108 abstracta.
Una funcionalidad que puede correlacionarse así con el elemento 202
es, por ejemplo, el volumen de sonido o el brillo de la iluminación
ambiente.
Si una funcionalidad controlable del dispositivo
102 tiene una modalidad de "matriz de enteros", el control de
esta funcionalidad se correlaciona con el elemento 204 de GUI. El
elemento 204 de GUI tiene una pluralidad de botones 206
seleccionables que pueden desplazarse a y fuera de la vista a través
de flechas 208 de selección. Un ejemplo de una matriz de enteros es
un grupo de valores numéricos indicativos de una selección de
canales de televisión o CD en un carrusel. Si una funcionalidad
controlable del dispositivo es un valor booleano, los controles se
correlacionan con un elemento 210 de GUI a través del que el usuario
puede seleccionar uno de dos estados
(encendido-apagado;
activar-desactivar; alto-bajo,
etc.). Si una funcionalidad controlable comprende una matriz de
valores booleanos, puede correlacionarse con el elemento 212 de GUI
que tiene una pluralidad de teclas 214 programables y que es
funcionalmente equivalente a un widget de casilla de
verificación.
Con el fin de ayudar al usuario a identificar
determinados controles, se proporciona el elemento "nombre de
visualización" en la representación 108. "Nombre de
visualización" es la etiqueta (por ejemplo, el nombre en
caracteres alfanuméricos, o un icono) que va a visualizarse en la
GUI 112 para proporcionar el contexto para el usuario. Al usuario
se le permite así interpretar la semántica de los controles.
Casillas de nombre de visualización se indican mediante los números
de referencia 216, 218, 220 y 222.
Se hace referencia al expediente n.º PHA 23,492,
presentado el 02/09/98 en nombre de Yevgeniy Shteyn para "LOW
DATA-RATE NETWORK REPRESENTED ON HIGH
DATA-RATE HAVi-NETWORK", con
número de serie estadounidense 09/146,020, incorporado en el
presente documento por referencia. Este documento se refiere a un
sistema de automatización del hogar basado en PC que usa una capa
de transporte de baja tasa de transmisión de datos y componentes de
software basados en COM para el control de dispositivos en una red
de automatización del hogar. El sistema de automatización del hogar
se fusiona con una red HAVi basada en mensajería que usa IEEE 1394
como una capa de transporte de alta tasa de transmisión de datos.
La red HAVi controla el equipo de audio/vídeo en un sistema de
entretenimiento doméstico. Los dispositivos y servicios de
automatización del hogar se registran como elementos compatibles
con HAVi con el dispositivo FAV o IAV de la red HAVi. Los recursos
de automatización del hogar (dispositivos y servicios) tienen tanto
interfaces de automatización OLE de COM como interfaces compatibles
con HAVi para permitir el control del sistema de automatización del
hogar desde la red HAVi.
Se hace referencia al expediente n.º PHA 23,488,
presentado el 13/08/98 en nombre de Lawrence Freeman para
"HOME-NETWORK AUTOCONFIGURATION", con número de
serie estadounidense 09/133,622, incorporado en el presente
documento por referencia. Este documento se refiere a una
configuración automática de PC en una red, preferiblemente una red
doméstica, con el fin de compartir recursos registrados en los PC
individuales. Los servicios y recursos locales de un PC se
registran con el otro PC y viceversa. El registro oculta si un
servicio o recurso es remoto o local. En el uso operacional de la
red, un recurso o servicio local de un PC es direccionable desde el
PC remoto como si fuera local de este último.
Se hace referencia al expediente n.º PHA 23,438,
presentado el 30/06/98 en nombre de Yevgenyi Shteyn y Gregory
Gewickey para "DYNAMIC DE-REGISTERING OF DEVICES
IN SYSTEM WITH MULTIPLE COMMUNICATION PROTOCOLS", con número de
serie estadounidense 09/107,525, incorporado en el presente
documento por referencia. Este documento se refiere a un sistema de
procesamiento de información que tiene subsistemas electrónicos
primero y segundo, y medios de control para controlar los
subsistemas. Al menos el primer subsistema tiene una representación
de software registrada con los medios de control. Los medios de
control cambian un estado del primer subsistema interactuando con
la representación de software. Los subsistemas primero y segundo
pueden interactuar también directamente entre sí sin que se
impliquen los medios de control. Para evitar conflictos, al menos el
primer subsistema puede darse de baja con los medios de control
para deshabilitar funcionalmente su representación de software en
los medios de control.
Se hace referencia al expediente n.º PHA 23,169,
presentado el 15/10/96 en nombre de Paul Chambers y Saurabh
Srivastava para "TASK-DRIVEN DISTRIBUTED
MULTIMEDIA CONSUMER SYSTEM", con número de serie estadounidense
08/731,624, incorporado en el presente documento por referencia.
Este documento se refiere a un sistema de control que comprende
múltiples dispositivos de electrónica de consumo y medios de control
orientados a tareas acoplados a los dispositivos para controlar una
interacción entre los dispositivos. Los medios de control actúan en
respectivas representaciones de software de cada dispositivo de
consumo respectivo de los dispositivos de consumo. Encapsulando la
complejidad variable de la tarea dentro de una representación de
software, puede hacerse tan simple o tan sofisticada como sea
necesario para llevar las capacidades hasta un nivel común. Puesto
que el nivel de interfaz es común a los dispositivos, las
aplicaciones pueden manipular de manera uniforme los dispositivos
que realizan niveles muy diferentes de sofisticación.
Claims (16)
1. Sistema (100) de procesamiento de información
que comprende un dispositivo (102) electrónico y un controlador
(104, 112) para el control de una funcionalidad del dispositivo, en
el que:
- se proporciona al controlador una
representación (108) de la funcionalidad;
- el controlador permite controlar la
funcionalidad a través de la interacción con la representación;
caracterizado porque en el sistema
- dicha representación es una representación
abstracta,
- la representación expone una modalidad para
controlar la funcionalidad; y
- la modalidad determina asociar el control de
la funcionalidad con una capacidad de control modalmente compatible
del controlador sin que el controlador sepa cuál es la
funcionalidad.
\vskip1.000000\baselineskip
2. Sistema según la reivindicación 1, en el que
la modalidad se especifica semánticamente como un valor (210)
booleano.
3. Sistema según la reivindicación 1, en el que
la modalidad se especifica semánticamente como un conjunto de
valores (206) discretos.
4. Sistema según la reivindicación 1, en el que
la modalidad se especifica semánticamente como un rango de valores
(202) de punto flotante.
5. Sistema según la reivindicación 1, en el que
la modalidad se especifica semánticamente como una matriz (206,
214).
6. Sistema según la reivindicación 1, en el que
la modalidad se especifica semánticamente como otra representación
abstracta.
7. Sistema según la reivindicación 1, en el que
la capacidad de control está incorporada en una GUI (112).
8. Sistema según la reivindicación 1, que
comprende una red (106) de automatización del hogar.
9. Sistema según la reivindicación 8, que
comprende una red basada en HAVi.
10. Procedimiento para permitir el control de
una funcionalidad de un dispositivo (102) electrónico a través de
un controlador (104, 112) para el control de la funcionalidad,
comprendiendo el procedimiento:
- permitir proporcionar una representación (108)
de la funcionalidad al controlador;
- permitir al controlador controlar la
funcionalidad a través de la interacción con la representación;
caracterizado porque el procedimiento
comprende
- proporcionar dicha representación que es una
representación abstracta,
- permitir que la representación abstracta
exponga una modalidad para controlar la funcionalidad para dicha
acción de permitir al controlador controlar la funcionalidad; y
- bajo el control de la modalidad expuesta
permitir asociar el control de la funcionalidad con una capacidad
de control modalmente compatible del controlador sin que el
controlador sepa cuál es la funcionalidad.
\vskip1.000000\baselineskip
11. Dispositivo (102) electrónico para su uso
con un controlador para el control de una funcionalidad controlable
del dispositivo, en el que:
- el dispositivo comprende una representación
(108) de la funcionalidad para permitir al controlador controlar la
funcionalidad a través de la interacción con la representación;
caracterizado porque
- dicha representación es una representación
abstracta,
- la representación abstracta puede exponer una
modalidad para controlar la funcionalidad al controlador;
- la modalidad controla asociar el control de la
funcionalidad con una capacidad de control modalmente compatible
del controlador sin que el controlador sepa cuál es la
funcionalidad.
\vskip1.000000\baselineskip
12. Dispositivo según la reivindicación 11, en
el que la modalidad se especifica semánticamente como un valor
(210) booleano.
13. Dispositivo según la reivindicación 11, en
el que la modalidad se especifica semánticamente como un conjunto
de valores (206) discretos.
14. Dispositivo según la reivindicación 11, en
el que la modalidad se especifica semánticamente como un rango de
valores (202) de punto flotante.
15. Dispositivo según la reivindicación 11, en
el que la modalidad se especifica semánticamente como una matriz
(206, 214).
16. Dispositivo según la reivindicación 11, en
el que la modalidad se especifica semánticamente como otra
representación abstracta.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/165,682 US6434447B1 (en) | 1998-10-02 | 1998-10-02 | Control property is mapped modally compatible GUI element |
US165682 | 1998-10-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2346169T3 true ES2346169T3 (es) | 2010-10-11 |
Family
ID=22599989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES99948961T Expired - Lifetime ES2346169T3 (es) | 1998-10-02 | 1999-09-30 | Propiedad de control correlacionada con elemento de gui modalmente compatible. |
Country Status (8)
Country | Link |
---|---|
US (1) | US6434447B1 (es) |
EP (1) | EP1064756B1 (es) |
JP (1) | JP4686026B2 (es) |
KR (1) | KR100694520B1 (es) |
CN (2) | CN1378732A (es) |
DE (1) | DE69942389D1 (es) |
ES (1) | ES2346169T3 (es) |
WO (1) | WO2000021200A2 (es) |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6556875B1 (en) * | 1998-06-30 | 2003-04-29 | Seiko Epson Corporation | Device control system |
US6748428B1 (en) * | 1998-12-08 | 2004-06-08 | Sony Corporation | Device operation management method, a manager device, a program supply medium for supplying a device operation management program, an controller device, and an electronic device |
US20020059576A1 (en) * | 1998-12-08 | 2002-05-16 | Feininger William A. | Metering viewing of video displayed in windows |
JP2000184303A (ja) * | 1998-12-21 | 2000-06-30 | Sony Corp | ディジタル放送の受信システム及びディジタル放送の受信装置 |
US6542880B2 (en) | 1998-12-22 | 2003-04-01 | Indeliq, Inc. | System, method and article of manufacture for a goal based system utilizing a table based architecture |
US6584496B1 (en) * | 1999-01-29 | 2003-06-24 | Sony Corporation | Distributed help system for consumer electronic devices |
US7617453B1 (en) * | 1999-02-03 | 2009-11-10 | Microsoft Corporation | Method and system for generating a user interface for distributing devices |
JP2000349793A (ja) * | 1999-06-04 | 2000-12-15 | Toshiba Corp | ネットワーク装置及びネットワーク方法 |
US6788980B1 (en) * | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
US6823519B1 (en) * | 1999-06-24 | 2004-11-23 | Microsoft Corporation | Control object and user interface for controlling networked devices |
JP2001024685A (ja) * | 1999-07-02 | 2001-01-26 | Canon Inc | 情報処理システム、電子機器、及び情報処理方法 |
US6769021B1 (en) * | 1999-09-15 | 2004-07-27 | Adaptec, Inc. | Methods for partitioning end nodes in a network fabric |
JP4193013B2 (ja) * | 1999-09-28 | 2008-12-10 | ソニー株式会社 | 情報出力装置および接続関係管理方法 |
FI109951B (fi) | 1999-12-29 | 2002-10-31 | Valtion Teknillinen | Ohjain ja sen ohjausmenetelmä |
WO2001071478A2 (en) * | 2000-03-22 | 2001-09-27 | Sony Electronics Inc | Data entry user interface |
US7047495B1 (en) * | 2000-06-30 | 2006-05-16 | Intel Corporation | Method and apparatus for graphical device management using a virtual console |
US10390074B2 (en) | 2000-08-08 | 2019-08-20 | The Directv Group, Inc. | One click web records |
WO2002013526A2 (en) | 2000-08-08 | 2002-02-14 | Replaytv, Inc. | Method and system for remote television replay control |
US9171851B2 (en) * | 2000-08-08 | 2015-10-27 | The Directv Group, Inc. | One click web records |
US7080324B1 (en) * | 2000-10-11 | 2006-07-18 | Agilent Technologies, Inc. | Control for a graphical user interface supporting coupled variables and method of operation thereof |
EP1199847A1 (en) * | 2000-10-20 | 2002-04-24 | Deutsche Thomson-Brandt Gmbh | Method for the data exchange between network devices |
GB0029622D0 (en) * | 2000-12-05 | 2001-01-17 | Nokia Networks Oy | Improved user interface |
US20020073025A1 (en) * | 2000-12-08 | 2002-06-13 | Tanner Robert G. | Virtual experience of a mobile device |
US7343427B2 (en) * | 2000-12-13 | 2008-03-11 | Sony Corporation | Method and an apparatus for the integration of IP devices into a HAVi network |
AU2002251732A1 (en) * | 2001-01-04 | 2002-08-28 | Becomm Corporation | Universal media bar for controlling different types of media |
JP2002232977A (ja) | 2001-02-02 | 2002-08-16 | Hitachi Ltd | 制御装置、被制御装置、制御方法および制御システム |
JP2002261763A (ja) * | 2001-02-27 | 2002-09-13 | Brother Ind Ltd | ネットワークシステム、ネットワーク機器、ネットワーク制御機器、及び、機器番号設定部材 |
US20020120932A1 (en) * | 2001-02-28 | 2002-08-29 | Schwalb Eddie M. | Omni menu for an audio/visual network |
WO2002087152A1 (en) * | 2001-04-18 | 2002-10-31 | Caveo Technology, Llc | Universal, customizable security system for computers and other devices |
US10298735B2 (en) | 2001-04-24 | 2019-05-21 | Northwater Intellectual Property Fund L.P. 2 | Method and apparatus for dynamic configuration of a multiprocessor health data system |
US7146260B2 (en) | 2001-04-24 | 2006-12-05 | Medius, Inc. | Method and apparatus for dynamic configuration of multiprocessor system |
EP1253750A1 (en) * | 2001-04-24 | 2002-10-30 | Deutsche Thomson-Brandt Gmbh | Method for the control of network devices connected via a bus system |
US7024285B2 (en) * | 2001-05-09 | 2006-04-04 | Spraying Systems Co. | Object-oriented operating system for a spray controller |
EP1256875A1 (en) * | 2001-05-10 | 2002-11-13 | Nokia Corporation | Method and device for context dependent user input prediction |
US20030005132A1 (en) * | 2001-05-16 | 2003-01-02 | Nortel Networks Limited | Distributed service creation and distribution |
DE10128542A1 (de) * | 2001-06-13 | 2003-01-02 | Harman Becker Automotive Sys | Verfahren zur Steuerung mehrerer in einem ringförmigen Netzwerk miteinander vernetzten Einheiten sowie ringförmiges Netzwerk |
US20030018970A1 (en) * | 2001-07-19 | 2003-01-23 | Digeo, Inc. | Object representation of television programs within an interactive television system |
WO2003009126A1 (en) * | 2001-07-19 | 2003-01-30 | Digeo, Inc. | System and method for managing television programs within an entertainment system |
US20030023704A1 (en) * | 2001-07-26 | 2003-01-30 | D-Link Corporation | Wireless information home appliance system |
JP2005504482A (ja) * | 2001-09-21 | 2005-02-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 固有の制御モジュールが無い場合の固有性の低いモジュールの使用 |
KR20030031202A (ko) * | 2001-10-12 | 2003-04-21 | 주식회사 엘지이아이 | 컴퓨터를 통한 사용자 인터페이스 방법 |
US20030085928A1 (en) * | 2001-11-02 | 2003-05-08 | Koninklijke Philips Electronics N.V. | Business model for the management of real estate in graphical menus |
US7529821B1 (en) * | 2002-01-29 | 2009-05-05 | Cisco Technology, Inc. | Network element management |
US7058898B2 (en) * | 2002-03-22 | 2006-06-06 | Sun Microsystems, Inc. | Abstract user interface manager with prioritization |
US7154480B2 (en) * | 2002-04-30 | 2006-12-26 | Kazuho Iesaka | Computer keyboard and cursor control system with keyboard map switching system |
CN100373855C (zh) * | 2002-05-24 | 2008-03-05 | 中兴通讯股份有限公司 | 一种可为多设备兼容的界面显示系统及方法 |
US8694894B2 (en) * | 2002-06-17 | 2014-04-08 | Siemens Industry, Inc. | Streaming graphic method and arrangement data for building control systems |
US7165240B2 (en) * | 2002-06-20 | 2007-01-16 | International Business Machines Corporation | Topological best match naming convention apparatus and method for use in testing graphical user interfaces |
JP2004070651A (ja) * | 2002-08-06 | 2004-03-04 | Fujitsu Ten Ltd | 電装品制御システム及びgui処理ソフトウェア構造 |
US20040039459A1 (en) * | 2002-08-06 | 2004-02-26 | Daugherty Paul R. | Universal device control |
US20040203590A1 (en) * | 2002-09-11 | 2004-10-14 | Koninklijke Philips Electronics N.V. | Set-up of wireless consumer electronics device using a learning remote control |
US7047092B2 (en) * | 2003-04-08 | 2006-05-16 | Coraccess Systems | Home automation contextual user interface |
FR2854254B1 (fr) * | 2003-04-22 | 2005-06-17 | Schneider Electric Ind Sas | Terminal d'exploitation, notamment pour automatismes |
EP1699234A4 (en) * | 2003-12-25 | 2008-09-10 | Matsushita Electric Ind Co Ltd | TELEVISION RECEIVER, ASSOCIATED RECEIVING METHOD, AND RECEIVING PROGRAM |
US20050268291A1 (en) * | 2004-05-27 | 2005-12-01 | International Business Machines Corporation | Specifying user interface interactions for controls in a data driven system |
US20050289265A1 (en) * | 2004-06-08 | 2005-12-29 | Daniel Illowsky | System method and model for social synchronization interoperability among intermittently connected interoperating devices |
US7490295B2 (en) | 2004-06-25 | 2009-02-10 | Apple Inc. | Layer for accessing user interface elements |
US8302020B2 (en) | 2004-06-25 | 2012-10-30 | Apple Inc. | Widget authoring and editing environment |
US7337650B1 (en) | 2004-11-09 | 2008-03-04 | Medius Inc. | System and method for aligning sensors on a vehicle |
JP2006248217A (ja) * | 2005-02-09 | 2006-09-21 | Canon Inc | 情報処理装置及び情報処理方法並びにプログラム |
KR100636784B1 (ko) * | 2005-02-22 | 2006-10-20 | 삼성전자주식회사 | 홈네트워크의 서비스 프레임워크 |
US9015587B2 (en) * | 2005-09-26 | 2015-04-21 | Samsung Electronics Co., Ltd. | Home network device and method of receiving and transmitting sound information using the same |
US7752556B2 (en) | 2005-10-27 | 2010-07-06 | Apple Inc. | Workflow widgets |
US7707514B2 (en) | 2005-11-18 | 2010-04-27 | Apple Inc. | Management of user interface elements in a display environment |
US8813021B1 (en) | 2006-02-16 | 2014-08-19 | Cypress Semiconductor Corporation | Global resource conflict management for an embedded application design |
US20080059837A1 (en) * | 2006-09-01 | 2008-03-06 | Dematteis James M | Active Block Diagram For Controlling Elements In An Electronic Device |
US9110685B2 (en) * | 2008-03-25 | 2015-08-18 | Qualcomm, Incorporated | Apparatus and methods for managing widgets in a wireless communication environment |
US9358924B1 (en) | 2009-05-08 | 2016-06-07 | Eagle Harbor Holdings, Llc | System and method for modeling advanced automotive safety systems |
US20110093888A1 (en) * | 2009-10-21 | 2011-04-21 | John Araki | User selection interface for interactive digital television |
US9252967B2 (en) | 2011-09-01 | 2016-02-02 | Sony Corporation | Facilitated use of heterogeneous home-automation edge components |
CN103475707B (zh) * | 2013-09-09 | 2016-08-10 | 清华大学 | 通用物联网支撑系统 |
CN107005445A (zh) | 2014-09-11 | 2017-08-01 | 森特理克联网家居有限公司 | 用于连接和控制多个设备的系统 |
CN106702677B (zh) * | 2015-11-17 | 2019-03-19 | 泰科电子(上海)有限公司 | 家电总线控制系统 |
US10897374B2 (en) * | 2017-11-06 | 2021-01-19 | Computime Ltd. | Scalable smart environment for controlling a plurality of controlled apparatuses using a connection hub to route a processed subset of control data received from a cloud computing resource to terminal units |
US20200026976A1 (en) * | 2018-07-17 | 2020-01-23 | iT SpeeX LLC | Method, System, and Computer Program Product for Harmonizing Industrial Machines with an Intelligent Industrial Assistant Having a Set of Predefined Commands |
CN111079390B (zh) * | 2019-12-20 | 2023-03-14 | 五八有限公司 | 一种复选框列表的选择状态确定方法以及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61219243A (ja) * | 1985-03-26 | 1986-09-29 | Matsushita Electric Ind Co Ltd | ホ−ムバスシステム |
JPH0744477A (ja) * | 1993-07-30 | 1995-02-14 | Canon Inc | マルチメディア機器の制御システム |
US5799151A (en) * | 1994-04-04 | 1998-08-25 | Hoffer; Steven M. | Interactive electronic trade network and user interface |
CN1153330A (zh) * | 1994-12-02 | 1997-07-02 | 通用电气公司 | 电器的串行总线控制 |
DE19548776A1 (de) * | 1995-12-23 | 1997-06-26 | Thomson Brandt Gmbh | Verfahren zur Fernbedienung von elektronischen Geräten und Vorrichtung zur Fernbedienung von elektronischen Geräten sowie elektronisches Gerät |
CH690875A5 (de) * | 1996-05-21 | 2001-02-15 | Hts High Technology Systems Ag | Heim- und Gebäudeautomationssystem. |
JPH1023560A (ja) * | 1996-07-04 | 1998-01-23 | Matsushita Electric Ind Co Ltd | リモートコントロールシステムおよびインタフェース装置 |
JPH113314A (ja) * | 1997-04-14 | 1999-01-06 | Matsushita Electric Ind Co Ltd | ネットワーク制御システムおよびネットワーク端末およびコントロール端末 |
CN1180777A (zh) * | 1997-10-17 | 1998-05-06 | 沿海房地产开发(鞍山)有限公司 | 居住区智能化自动化系统集成技术 |
US6260086B1 (en) * | 1998-12-22 | 2001-07-10 | Motorola, Inc. | Controller circuit for transferring a set of peripheral data words |
-
1998
- 1998-10-02 US US09/165,682 patent/US6434447B1/en not_active Expired - Lifetime
-
1999
- 1999-09-30 ES ES99948961T patent/ES2346169T3/es not_active Expired - Lifetime
- 1999-09-30 DE DE69942389T patent/DE69942389D1/de not_active Expired - Lifetime
- 1999-09-30 KR KR1020007006039A patent/KR100694520B1/ko not_active IP Right Cessation
- 1999-09-30 CN CN99802398A patent/CN1378732A/zh active Pending
- 1999-09-30 EP EP99948961A patent/EP1064756B1/en not_active Expired - Lifetime
- 1999-09-30 JP JP2000575222A patent/JP4686026B2/ja not_active Expired - Fee Related
- 1999-09-30 WO PCT/EP1999/007471 patent/WO2000021200A2/en active IP Right Grant
- 1999-09-30 CN CN200610139958.4A patent/CN1964281B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2000021200A3 (en) | 2000-11-09 |
JP4686026B2 (ja) | 2011-05-18 |
US6434447B1 (en) | 2002-08-13 |
JP2002527799A (ja) | 2002-08-27 |
KR100694520B1 (ko) | 2007-03-13 |
CN1964281B (zh) | 2014-03-26 |
KR20010032748A (ko) | 2001-04-25 |
CN1378732A (zh) | 2002-11-06 |
DE69942389D1 (de) | 2010-07-01 |
EP1064756B1 (en) | 2010-05-19 |
EP1064756A2 (en) | 2001-01-03 |
WO2000021200A2 (en) | 2000-04-13 |
CN1964281A (zh) | 2007-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2346169T3 (es) | Propiedad de control correlacionada con elemento de gui modalmente compatible. | |
US6199136B1 (en) | Method and apparatus for a low data-rate network to be represented on and controllable by high data-rate home audio/video interoperability (HAVi) network | |
EP1131919B1 (en) | Bridging multiple home network software architectures | |
JP4177552B2 (ja) | 機器間のインタフェース方法 | |
US6963784B1 (en) | Virtual device control modules and function control modules implemented in a home audio/video network | |
KR100475200B1 (ko) | 가전장치용태스크구동형제어시스템 | |
KR101368133B1 (ko) | 프로그램 가능한 멀티미디어 컨트롤러를 위한 프로그래밍 환경 및 메타데이터 관리 | |
EP1058921B1 (en) | Fully functional remote control editor and emulator | |
ES2260938T3 (es) | Escenario de identificacion de llamadas para controlar objetos de software a traves de rutas de propiedad. | |
US6259707B1 (en) | Synchronizing a data driven interaction controller and a non-data driven interaction controller | |
KR20030082903A (ko) | 비-HAVi 디바이스의 제어를 위해 HAVi 디바이스위에 유저 인터페이스를 생성하기 위한 방법 | |
KR20040071705A (ko) | 홈 네트워크 제어 시스템, 컴퓨터 프로그램 제품 및 홈네트워크 제어 방법 | |
JP4907354B2 (ja) | リモートユーザインタフェースに関する一貫したユーザインタフェースのフロントエンド | |
JP2006236348A (ja) | ホームネットワークのサービスフレームワーク | |
EP1076858A2 (en) | Method and system for providing an appliance user interface | |
KR100672558B1 (ko) | 홈네트워크 시스템의 연결 기기 이름 설정 방법 | |
KR20020011029A (ko) | 홈네트워크 시스템의 연결 기기 이름 설정 방법 | |
Smrz | More than user-friendly I/O devices | |
US20030070002A1 (en) | System and method for manipulating HAVi specification virtual key data | |
MXPA00000802A (es) | Metodo para describir las particularidades de la interfaz humana y funcionalidad de dispositivos a base de av/c |