ES2333698T3 - DEVICE INTERFACES TO INTERCONNECT OR NETWORK A COMPUTER AND AN EMBEDDED DEVICE. - Google Patents

DEVICE INTERFACES TO INTERCONNECT OR NETWORK A COMPUTER AND AN EMBEDDED DEVICE. Download PDF

Info

Publication number
ES2333698T3
ES2333698T3 ES01922823T ES01922823T ES2333698T3 ES 2333698 T3 ES2333698 T3 ES 2333698T3 ES 01922823 T ES01922823 T ES 01922823T ES 01922823 T ES01922823 T ES 01922823T ES 2333698 T3 ES2333698 T3 ES 2333698T3
Authority
ES
Spain
Prior art keywords
computer
interface
access
client
remote
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
Application number
ES01922823T
Other languages
Spanish (es)
Inventor
Michael Howard
William R. Harper, Jr.
Stephen W. Belisle
Devon S. Sumner
Howard S. Zollinger
Thomas A. Milligan
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.)
Panasonic Electric Works Co Ltd
Original Assignee
Panasonic Electric Works Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Electric Works Co Ltd filed Critical Panasonic Electric Works Co Ltd
Application granted granted Critical
Publication of ES2333698T3 publication Critical patent/ES2333698T3/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Un sistema de comunicación para usar en un sistema (10) de ordenadores en red que incluye un ordenador de cliente (22), un ordenador anfitrión (12) y un ordenador remoto (14), siendo usado el ordenador remoto para acceder a un dispositivo (16), siendo el sistema puesto en práctica en el ordenador anfitrión (12) y permitiendo a un usuario del ordenador de cliente acceder a servicios en el ordenador remoto (14) a través del ordenador anfitrión (12), y comprendiendo del sistema: un módulo de comunicaciones (42) para transferir datos hacia y desde un puerto de comunicaciones (40) del ordenador anfitrión; un módulo (66) de interfaz de datos para acceder a una definición de interfaz desde un dispositivo de almacenamiento (62, 68) en comunicación electrónica con el ordenador anfitrión, conteniendo el dispositivo de almacenamiento una pluralidad de definiciones de interfaz (60) indexado por identificadores de definición de interfaz (64), en los que el acceso es conseguido mediante el uso de un identificador de definición de interfaz; un controlador (46) de acceso al dispositivo para comunicar con el ordenador remoto a través del módulo de comunicaciones, funcionando el controlador de acceso al dispositivo para obtener a partir del código del programa de ordenador cargado en el ordenador remoto el identificador de definición de interfaz, funcionando el controlador de acceso al dispositivo para acceder al dispositivo de almacenamiento a través del módulo de interfaz de datos usando el controlador de acceso al dispositivo el identificador de definición de interfaz para acceder a la definición de interfaz; y un servidor (50) de acceso al dispositivo para dar servicio a las solicitudes del ordenador del cliente (22) para servicios del ordenador remoto (14), en el que el controlador de acceso al dispositivo está previsto para tener una pluralidad de identificadores de definición de interfaz desde el código de programa de ordenador cargado en el ordenador remoto, el controlador de acceso al dispositivo está previsto para obtener una pluralidad de definiciones de interfaz basado en la pluralidad de identificadores de definición de interfaz, en el que el servidor (50) de acceso al dispositivo está dispuesto para recibir una solicitud procedente del ordenador del cliente (22) y a continuación preguntar al ordenador del cliente (22) por cualesquiera códigos de seguridad que pueda tener, y para recibir cualesquiera códigos de seguridad enviados por el ordenador del cliente (22), si el servidor (50) de acceso al dispositivo no recibe ningún código de seguridad, el servidor (50) de acceso al dispositivo proporciona una interfaz por defectos o una interfaz que no requiere ningún código de seguridad, si los códigos de seguridad son recibidos, el servidor (50) de acceso al dispositivo busca códigos de seguridad en una base de datos de seguridad (70), encuentra qué interfaces deberían ser proporcionadas basadas en ese código de seguridad, y a continuación proporciona la interfaz o más interfaces indicadas por la base de datos (70) al ordenador del cliente, el ordenador anfitrión (12) puede entonces entrar en un estado de dar servicio a las solicitudes recibidas desde el ordenador del cliente.A communication system for use in a network computer system (10) that includes a client computer (22), a host computer (12) and a remote computer (14), the remote computer being used to access a device (16), the system being implemented on the host computer (12) and allowing a user of the client computer to access services on the remote computer (14) through the host computer (12), and comprising the system: a communications module (42) for transferring data to and from a communications port (40) of the host computer; a data interface module (66) for accessing an interface definition from a storage device (62, 68) in electronic communication with the host computer, the storage device containing a plurality of interface definitions (60) indexed by interface definition identifiers (64), in which access is achieved through the use of an interface definition identifier; a device access controller (46) for communicating with the remote computer through the communications module, the device access controller operating to obtain the interface definition identifier from the computer program loaded on the remote computer , the device access controller operating to access the storage device through the data interface module using the device access controller the interface definition identifier to access the interface definition; and a device access server (50) for servicing requests from the client's computer (22) for services of the remote computer (14), wherein the device access controller is intended to have a plurality of identifiers of interface definition from the computer program code loaded on the remote computer, the device access controller is intended to obtain a plurality of interface definitions based on the plurality of interface definition identifiers, in which the server (50 ) Access to the device is arranged to receive a request from the client's computer (22) and then ask the client's computer (22) for any security codes it may have, and to receive any security codes sent by the client's computer client (22), if the access server (50) to the device does not receive any security code, the access server (50) If the device provides a default interface or an interface that does not require any security code, if the security codes are received, the device access server (50) searches for security codes in a security database (70) , find which interfaces should be provided based on that security code, and then provide the interface or more interfaces indicated by the database (70) to the client's computer, the host computer (12) can then enter a state of giving service to requests received from the client's computer.

Description

Interfaces de dispositivos para interconectar o poner en red un ordenador y un dispositivo embebido.Device interfaces to interconnect or Network a computer and an embedded device.

Campo técnicoTechnical field

Este invento se refiere a un software de ordenador y, más particularmente, a sistemas y métodos nuevos para proporcionar acceso a dispositivos embebidos a través de una red de ordenadores.This invention relates to software computer and, more particularly, to new systems and methods for provide access to embedded devices through a network of computers.

Técnica anteriorPrior art

En los últimos años ha habido un gran incremento en la cantidad de tecnología informática que está implicada en la vida diaria. En el mundo actual, la tecnología informática está implicada en muchos aspectos de un día de una persona. Muchos dispositivos que son usados hoy día por los consumidores tienen un pequeño ordenador dentro del dispositivo. Estos pequeños ordenadores existen en tamaños y grados de sofisticación variables. Estos pequeños ordenadores incluyen todo desde un microcontrolador a un sistema de ordenador completo totalmente funcional. Por ejemplo, estos pequeños ordenadores pueden ser un ordenador de un solo chip, tal como un microcontrolador, un tipo de ordenador a bordo, tal como un controlador, un ordenador de sobremesa típico, tal como un PC de tipo compatible IBM, etc.In recent years there has been a large increase in the amount of computer technology that is involved in the daily life. In today's world, computer technology is involved in many aspects of a person's day. Many devices that are used today by consumers have a Small computer inside the device. These little ones Computers exist in varying sizes and degrees of sophistication. These small computers include everything from a microcontroller to a fully functional complete computer system. For example, these small computers can be a single chip computer, such as a microcontroller, a type of computer on board, such as a controller, a typical desktop computer, such as a IBM compatible type PC, etc.

Los pequeños ordenadores, (que pueden ser ordenadores bastante grandes dependiendo de la necesidad particular que está siendo satisfecha por el ordenador), tienen casi siempre uno o más procesadores en el corazón del ordenador. El procesador o procesadores usualmente están interconectados a diferentes entradas y salidas externas y funcionan para gestionar el dispositivo particular. Por ejemplo, un procesador en una máquina expendedora automática de bebidas de gaseosa o refrescantes puede estar conectado a los botones usados para seleccionar la bebida, al interruptor que permite que una bebida caiga a un usuario, y a las luces que indican que la máquina no tiene ya ninguna bebida más de una variedad particular.The small computers, (which can be quite large computers depending on the particular need which is being satisfied by the computer), they almost always have one or more processors in the heart of the computer. The processor or processors are usually interconnected to different inputs and external outputs and work to manage the device particular. For example, a processor in a vending machine Automatic soda or soft drink can be connected to the buttons used to select the drink, when switch that allows a drink to fall to a user, and at lights that indicate that the machine has no more drinks than A particular variety.

La tecnología informática está implicada en muchos aspectos de la vida diaria. Muchos aparatos, dispositivos, etc., incluyen uno o más pequeños ordenadores. Por ejemplo, refrigeradores, teléfonos, máquinas de escribir, automóviles, máquinas expendedoras automáticas, y muchos tipos diferentes de equipamiento industrial tienen todos pequeños ordenadores, o procesadores, dentro de ellos. El software de ordenador hace funcionar los procesadores de estos ordenadores y les dice a los procesadores qué hacer para realizar ciertas tareas. Por ejemplo, el software de ordenador que se ejecuta en un procesador en una máquina expendedora automática puede hacer que una gaseosa caiga a un usuario cuando el cambio correcto ha sido introducido por un usuario.Computer technology is involved in Many aspects of daily life. Many devices, devices, etc., include one or more small computers. For example, refrigerators, phones, typewriters, cars, automatic vending machines, and many different types of industrial equipment have all small computers, or processors, within them. The computer software makes run the processors of these computers and tells the processors what to do to perform certain tasks. For example, him  computer software that runs on a processor in a Automatic vending machine can cause a soda to fall to a user when the correct change has been introduced by a Username.

Estos tipos de pequeños ordenadores que son parte de un dispositivo, aparato, herramienta, etc., son a menudo denominados como sistemas embebidos. El término "sistema embebido" se refiere usualmente al hardware y software del ordenador que es parte que un sistema mayor. Los sistemas embebidos usualmente no tienen dispositivos de entrada y salida típicos tales como teclado, ratón, y/o monitor. Usualmente, en el corazón de cada sistema embebido hay uno o más procesadores.These types of small computers that are part of a device, device, tool, etc., are often denominated as embedded systems. The term "system embedded "usually refers to the hardware and software of the computer that is part of a larger system. Embedded systems they usually do not have typical input and output devices such as keyboard, mouse, and / or monitor. Usually in the heart of each Embedded system there are one or more processors.

Típicamente, los sistemas embebidos usados hoy con distintos aparatos, dispositivos, etc., no tienen mucha capacidad de almacenamiento. Como resultado, la cantidad de datos que pueden ser almacenados en los sistemas embebidos es limitada. Con solamente una capacidad de almacenamiento limitado, un sistema embebido no puede tener tantas características y capacidades como tendría si tuviera más almacenamiento disponible.Typically, embedded systems used today with different devices, devices, etc., they don't have much Storage capacity. As a result, the amount of data That can be stored in embedded systems is limited. With only a limited storage capacity, a system embedded may not have as many features and capabilities as I would have if I had more storage available.

Algunos sistemas embebidos han sido conectados a redes de ordenadores para permitir una cierta comunicación entre el sistema embebido y un sistema de ordenadores mayor. Sin embargo, debido a que los sistemas embebidos a menudo no están equipados con la funcionalidad para comunicar efectiva y eficientemente con otros sistemas de ordenador, la capacidad de comunicación está usualmente limitada. Además, los medios para comunicar con sistemas embebidos a menudo son de un tipo más lento de trayecto de comunicación y, consiguientemente, sólo pequeñas cantidades de datos son hechas pasar hacia y desde los sistemas embebidos.Some embedded systems have been connected to computer networks to allow some communication between the embedded system and a larger computer system. But nevertheless, because embedded systems are often not equipped with the functionality to communicate effectively and efficiently with others computer systems, the communication capacity is usually limited In addition, the means to communicate with embedded systems they are often of a slower type of communication path and, consequently, only small amounts of data are made pass to and from embedded systems.

Debido a los recursos de memoria restringidos en los sistemas embebidos y debido a los medios de comunicación típicamente limitados, a menudo sólo hay disponible una interacción limitada desde una red de ordenadores con el sistema embebido. Esta interacción es a menudo de uso limitado debido a la dificultad en comunicar con las diferentes partes del sistema embebido.Due to restricted memory resources in embedded systems and due to the media typically limited, often only one interaction is available limited from a computer network with the embedded system. This interaction is often of limited use due to the difficulty in communicate with the different parts of the embedded system.

El artículo de Biget, P y col., "¿Cuántas tarjetas inteligentes pueden beneficiarse de las tecnologías orientadas al objeto" Sistemas de Ordenadores de Generaciones Futuras, Elsevier Science Publishers, Amsterdam, NL, Vol. 13, Nº 1, Julio de 1997 (1997-07), páginas 75-90 describe un sistema para comunicación entre un programa de cliente y una tarjeta inteligente en la que una interfaz de servicio de la tarjeta inteligente es obtenida por el programa a partir de un repositorio de lenguaje de descripción de interfaz antes de la comunicación con la tarjeta inteligente.The article by Biget, P et al., "How many smart cards can benefit from technologies object-oriented "Generation Computer Systems Futures, Elsevier Science Publishers, Amsterdam, NL, Vol. 13, No. 1, July 1997 (1997-07), pages 75-90 describes a system for communication between a client program and a smart card in which a Smart card service interface is obtained by the program from a description language repository of interface before communication with the smart card.

Robert Orfali, Dan Harkey, Jeri Edwards: "CORBA Instantáneo" 1997, John Wiley & Sons, Inc, Canada, describe que en COBRA 3.0 un objeto debe soportar un método de interfaces de solicitud que deja descubrir dinámicamente a un cliente las interfaces que soporta un objeto.Robert Orfali, Dan Harkey, Jeri Edwards: "Instant CORBA" 1997, John Wiley & Sons, Inc, Canada, describes that in COBRA 3.0 an object must support a method of request interfaces that dynamically discover a client interfaces that an object supports.

Sumario del inventoSummary of the invention

El presente invento proporciona un sistema de comunicación según la reivindicación 1.The present invention provides a system of communication according to claim 1.

El presente invento proporciona un método según la reivindicación 8.The present invention provides a method according to claim 8.

De acuerdo con las realizaciones ampliamente descritas aquí, se ha descrito un sistema para usar en un sistema de ordenadores en red que incluye un ordenador anfitrión y un ordenador remoto que es utilizado para acceder a un dispositivo. El sistema incluye un módulo de comunicaciones para transferir datos hacia y desde un puerto de comunicaciones del ordenador anfitrión. El sistema incluye también un módulo de interfaz de datos para acceder a una definición de interfaz desde un dispositivo de almacenamiento en comunicación electrónica con el ordenador anfitrión. Acceder a la definición de interfaz es conseguido mediante el uso de un identificador de definición de interfaz. Un controlador de acceso al dispositivo es también utilizado en el sistema para comunicar con el ordenador remoto mediante el módulo de comunicaciones. El controlador de acceso al dispositivo obtiene el identificador de definición de interfaz a partir del código de programa de ordenador cargado en el ordenador remoto. Además, el controlador de acceso al dispositivo accede al dispositivo de almacenamiento a través del módulo de interfaz de datos para obtener la definición de interfaz y usa el identificador de definición de interfaz para obtener la definición de interfaz. En las realizaciones aquí descritas, puede haber una pluralidad de identificadores de definición de interfaz obtenidos a partir del código de programa de ordenador cargado en el ordenador remoto.In accordance with the accomplishments widely described here, a system for use in a system has been described of networked computers that includes a host computer and a remote computer that is used to access a device. He system includes a communications module to transfer data to and from a communications port of the host computer. The system also includes a data interface module for access an interface definition from a device storage in electronic communication with the computer host. Accessing the interface definition is achieved by using an interface definition identifier. A device access controller is also used in the system to communicate with the remote computer through the module of communications. The device access controller gets the interface definition identifier from the code of Computer program loaded on the remote computer. In addition, the device access controller accesses the device storage through the data interface module to get the interface definition and use the identifier of interface definition to get the interface definition. In the embodiments described herein, there may be a plurality of interface definition identifiers obtained from the Computer program code loaded on the remote computer.

Un método puesto en práctica de acuerdo con las realizaciones aquí descritas puede incluir las operaciones de establecer comunicaciones electrónicas entre el ordenador anfitrión y el ordenado remoto, recibir el identificador de definición de interfaz y acceder a la definición de interfaz a partir del dispositivo de almacenamiento que utiliza el identificador de definición de interfaz. Un método incluye además las operaciones de proporcionar la interfaz en el ordenador anfitrión para comunicar con el ordenador remoto y facilitar comunicaciones con el ordenador remoto a través de la interfaz.A method implemented in accordance with the embodiments described herein may include the operations of establish electronic communications between the host computer and the remote sort, receive the definition identifier of interface and access the interface definition from the storage device that uses the identifier of interface definition. One method also includes the operations of provide the interface on the host computer to communicate with the remote computer and facilitate communications with the computer Remote through the interface.

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    
Breve descripción de los dibujosBrief description of the drawings

Las anteriores y otras características de las realizaciones resultarán más evidentes completamente a partir de la siguiente descripción y reivindicaciones adjuntas, tomadas en unión con los dibujos adjuntos. Comprendiendo que estos dibujos representan sólo realizaciones típicas y, por ello, no han de ser considerados limitadores de su marco, las realizaciones serán descritas con especificidad y detalles adicionales mediante el uso de los dibujos adjuntos en los que:The above and other characteristics of the realizations will become more evident completely from the following description and appended claims, taken together With the attached drawings. Understanding that these drawings they represent only typical embodiments and, therefore, should not be considered limiting their framework, the achievements will be described with specificity and additional details by use of the attached drawings in which:

La fig. 1 es un diagrama de bloques de los componentes de hardware principales incluidos en las realizaciones actuales;Fig. 1 is a block diagram of the main hardware components included in the embodiments current;

La fig. 2 es un diagrama de bloques de los componentes de hardware y software principales incluidos en las realizaciones;Fig. 2 is a block diagram of the main hardware and software components included in the realizations;

La fig. 3 es un diagrama que ilustra un grupo de todos los dispositivos embebidos y ciertos subgrupos dentro del grupo que puede ser formados que incluyen ciertos dispositivos;Fig. 3 is a diagram illustrating a group of all embedded devices and certain subgroups within the group that can be formed that include certain devices;

La fig. 4 es una tabla que ilustra que pueda haber una o muchas correspondencias entre un dispositivo embebido específico y las interfaces que soporta;Fig. 4 is a table that illustrates that you can have one or many correspondences between an embedded device specific and the interfaces it supports;

La fig. 5 ilustra un ordenador remoto de una realización e ilustra los artículos que pueden ser incluidos en la tabla de servicios y en la tabla de capacidades;Fig. 5 illustrates a remote computer of a realization and illustrates the items that can be included in the table of services and in the table of capacities;

La fig. 6 ilustra el ordenador anfitrión de una realización e ilustra componentes de software o funcionalidad que pueden ser usados en el ordenador anfitrión;Fig. 6 illustrates the host computer of a realization and illustrates software components or functionality that can be used on the host computer;

La fig. 7 ilustra identificadores de definición de interfaz en una tabla de capacidades de una realización y su correlación con definiciones de interfaz específicas en una base de datos de interfaz;Fig. 7 illustrates definition identifiers of interface in a table of capabilities of an embodiment and its correlation with specific interface definitions on a basis of interface data;

La fig. 8 es un diagrama de flujo que ilustra operaciones que pueden ser seguidas en la puesta en práctica de las realizaciones actuales;Fig. 8 is a flow chart that illustrates operations that can be followed in the implementation of the current accomplishments;

La fig. 9 es un diagrama de flujo que ilustra operaciones que pueden ser seguidas en la puesta en práctica de componentes de software en el ordenador anfitrión; yFig. 9 is a flow chart illustrating operations that can be followed in the implementation of software components on the host computer; Y

La fig. 10 es un diagrama de flujo que ilustra operaciones que pueden ser seguidas usando un código de seguridad para proporcionar la interfaz apropiada a una aplicación de cliente.Fig. 10 is a flow chart illustrating operations that can be followed using a security code to provide the appropriate interface to an application of client.

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    
Descripción detallada del inventoDetailed Description of the Invention

Se comprenderá fácilmente que los componentes de las realizaciones, como se han descrito e ilustrado generalmente en las figuras, podrían estar dispuestos y diseñados en una amplia variedad de configuraciones diferentes. Así, la siguiente descripción más detallada de las realizaciones del sistema y método como se ha representado en las figs. 1 a 10, no está destinada a limitar el marco del invento, según se ha reivindicado, sino que simplemente es representativa de realizaciones del invento.It will be readily understood that the components of the embodiments, as described and generally illustrated in the figures could be arranged and designed in a wide variety of different configurations. So, the following more detailed description of the embodiments of the system and method as depicted in figs. 1 to 10, is not intended for limit the scope of the invention, as claimed, but that It is simply representative of embodiments of the invention.

Las realizaciones actuales serán mejor comprendidas haciendo referencia a los dibujos, en los que partes similares están designadas por números similares a lo largo de ellas.Current accomplishments will be better included with reference to the drawings, in which parts similar are designated by similar numbers throughout they.

Se ha descrito un sistema para usar en un sistema de ordenadores en red que incluye un ordenador anfitrión y un ordenador remoto que es usado para acceder a un dispositivo. El sistema incluye un módulo de comunicaciones para transferir datos hacia y desde un puerto de comunicaciones del ordenador anfitrión. El sistema incluye también un módulo de interfaz de datos para acceder a una definición de interfaz a partir de un dispositivo de almacenamiento en comunicación electrónica con el ordenador anfitrión. El acceso a la definición de interfaz es conseguido a través del uso de un identificador de definición de interfaz. Un controlador de acceso al dispositivo es también utilizado en el sistema para comunicar con el ordenador remoto mediante el módulo de comunicaciones. El controlador de acceso al dispositivo obtiene el identificador de definición de interfaz a partir del código de programa de ordenador cargado en el ordenador remoto. Además, el controlador de acceso al dispositivo accede al dispositivo de almacenamiento a través del módulo de interfaz de datos para obtener la definición de interfaz y usa el identificador de definición de interfaz para obtener la definición de interfaz. En las realizaciones aquí contenidas, puede haber una pluralidad de identificadores de definición de interfaz obtenidos a partir del código de programa de ordenador cargado en el ordenador
remoto.
A system has been described for use in a networked computer system that includes a host computer and a remote computer that is used to access a device. The system includes a communications module to transfer data to and from a communications port on the host computer. The system also includes a data interface module for accessing an interface definition from a storage device in electronic communication with the host computer. Access to the interface definition is achieved through the use of an interface definition identifier. A device access controller is also used in the system to communicate with the remote computer through the communications module. The device access controller obtains the interface definition identifier from the computer program code loaded on the remote computer. In addition, the device access controller accesses the storage device through the data interface module to obtain the interface definition and uses the interface definition identifier to obtain the interface definition. In the embodiments contained herein, there may be a plurality of interface definition identifiers obtained from the computer program code loaded into the computer.
remote.

La definición de interfaz puede incluir información que se refiere al código de programa de ordenador. El código de programa de ordenador, o código de aplicación en el ordenador remoto, o una combinación de los mismos, pueden proporcionar servicios relacionados con el dispositivo. El ordenador remoto puede incluir una lista de servicios que describe o se refiere a ciertos dispositivos. La lista de servicios puede incluir distintos tipos de información, incluyendo una lista de funciones, variables, tipos de datos, eventos y archivos.The interface definition can include information that refers to the computer program code. He computer program code, or application code in the remote computer, or a combination thereof, can Provide device related services. The computer remote can include a list of services that describes or is refers to certain devices. The list of services may include different types of information, including a list of functions, variables, types of data, events and files.

El sistema puede también incluir un servidor de acceso al dispositivo para recibir solicitudes o peticiones desde ordenadores de clientes para proporcionar acceso al ordenador remoto y/o a los servicios (por ejemplo funciones, variables, tipos de datos, elementos y archivos) disponibles en el ordenador remoto.The system may also include a server access to the device to receive requests or requests from client computers to provide access to the remote computer and / or services (for example functions, variables, types of data, items and files) available on the remote computer.

Un método puesto en práctica de acuerdo con realizaciones aquí descritas puede incluir las operaciones de establecer comunicaciones electrónicas entre el ordenador anfitrión y el ordenador remoto, recibir el identificador de definición de interfaz y acceder a la definición de interfaz desde el dispositivo de almacenamiento usando el identificador de definición de interfaz. Otro método incluye las operaciones de proporcionar la interfaz en el ordenador anfitrión para comunicar con el ordenador remoto y facilitar comunicaciones con el ordenador remoto a través de la
interfaz.
A method implemented in accordance with embodiments described herein may include the operations of establishing electronic communications between the host computer and the remote computer, receiving the interface definition identifier and accessing the interface definition from the storage device using the identifier Interface definition. Another method includes the operations of providing the interface on the host computer to communicate with the remote computer and facilitate communications with the remote computer through the
Interface.

El método puede también incluir la operación de recibir una solicitud procedente del ordenado del cliente para proporcionar acceso al ordenado remoto. La interfaz puede ser proporcionada al ordenador del cliente. El método puede también incluir la recepción de una solicitud basada en la interfaz procedente del ordenador del cliente, en la que se creó la solicitud basada en la interfaz en el ordenador del cliente mediante el uso de la interfaz. También puede ser enviado un mensaje al ordenador remoto desde el ordenador anfitrión que se refiere a la solicitud basada en la interfaz. El ordenador remoto puede enviar datos del dispositivo de nuevo al ordenador anfitrión en respuesta al mensaje enviado al ordenador remoto.The method may also include the operation of receive a request from the customer's order to provide access to remote sorting. The interface can be provided to the client's computer. The method can also include receiving a request based on the interface from the client's computer, on which the request based on the interface on the client's computer through The use of the interface. A message can also be sent to remote computer from the host computer that refers to the interface based request. The remote computer can send device data back to host computer in response to the message sent to the remote computer.

Desde luego, se apreciará por los expertos en la técnica que el método puede ser llevado a la práctica en instrucciones ejecutables almacenadas en un medio legible por ordenador.Of course, it will be appreciated by experts in the technique that the method can be implemented in executable instructions stored in a readable medium by computer.

La fig. 1 es un diagrama de bloques que ilustra los componentes principales de hardware utilizados típicamente en las realizaciones. En las realizaciones actuales, los sistemas y métodos aquí descritos son usados en un sistema 10 de ordenadores en red en el que un ordenador anfitrión 12 está conectado a un dispositivo embebido 14. Típicamente el dispositivo embebido 14 incluye un ordenador 16 conectado a dispositivos de entrada y salida 18, 20. El ordenador 16, en las realizaciones actuales, es un ordenador embebido 16. Particularmente, en las realizaciones actuales, el ordenador 16 comprende un microcontrolador (no mostrado). Sin embargo, será apreciado por un experto en la técnica que las funciones y el tratamiento normalmente realizados por un microcontrolador podrían ser llevados a la práctica por procesadores mayores, ya sean parte de un controlador mayor o parte de un sistema de ordenadores
típico.
Fig. 1 is a block diagram illustrating the main hardware components typically used in the embodiments. In the present embodiments, the systems and methods described herein are used in a network computer system 10 in which a host computer 12 is connected to an embedded device 14. Typically the embedded device 14 includes a computer 16 connected to input devices. and output 18, 20. Computer 16, in the current embodiments, is an embedded computer 16. Particularly, in current embodiments, computer 16 comprises a microcontroller (not shown). However, it will be appreciated by one skilled in the art that the functions and treatment normally performed by a microcontroller could be carried out by larger processors, whether part of a larger controller or part of a computer system.
typical.

El ordenador embebido 16 está alejado del ordenador anfitrión 12, porque el ordenador embebido 16 y el ordenador anfitrión 12 son cada uno ordenadores capaces de funcionar por sí mismos. El término remoto no significa necesariamente que el ordenador embebido 16 esté en una ubicación diferente que el ordenador anfitrión 12, aunque en muchas realizaciones el ordenador anfitrión 12 está en una ubicación diferente que el ordenador embebido 16. Los términos ordenador embebido 16 y ordenador remoto 16 pueden ser usados aquí de modo intercambiable. Los elementos descritos como que son almacenados y/o empleados por el ordenador remoto 16 podrían ser almacenados y/o empleados en el ordenador anfitrión 12, en algunas circunstancias.Embedded computer 16 is away from the host computer 12, because the embedded computer 16 and the host computer 12 are each computers capable of Run by themselves. The term remote does not mean necessarily that the embedded computer 16 is in a location different than host computer 12, although in many embodiments the host computer 12 is in a location different than the embedded computer 16. The terms computer embedded 16 and remote computer 16 can be used here so interchangeable. Items described as being stored and / or used by remote computer 16 could be stored and / or employees on host computer 12, in some circumstances.

Los sistemas y métodos actuales tienen una amplia aplicación para muchas clases de redes 10 de ordenadores. Generalmente, el sistema 10 de ordenadores incluye uno o más ordenadores de cliente para vigilar y/o controlar el dispositivo embebido 14. El ordenador remoto 16 está conectado operativamente a dispositivos de entrada y/o salida 18, 20 capaces de comunicación electrónica con el ordenador remoto 16, o, en otras palabras, a dispositivos 18, 20 capaces de introducir y/o emitir en forma de una señal eléctrica. Algunas veces el dispositivo o dispositivos de entrada y salida 18, 20 y el ordenador remoto 16 están ambos alojados dentro de la misma estructura física.Current systems and methods have a Wide application for many kinds of computer networks 10. Generally, computer system 10 includes one or more client computers to monitor and / or control the device embedded 14. Remote computer 16 is operatively connected to input and / or output devices 18, 20 capable of communication electronics with remote computer 16, or, in other words, to devices 18, 20 capable of introducing and / or issuing in the form of a Electrical signal. Sometimes the device or devices of input and output 18, 20 and remote computer 16 are both housed within the same physical structure.

El ordenador anfitrión 12 y el ordenador remoto 16 son ambos ordenadores digitales definidos ampliamente. Un ordenador, como es usado aquí, es cualquier dispositivo que incluye un procesador digital capaz de recibir y procesar datos. Un ordenador incluye el intervalo amplio de ordenadores digitales incluyendo microcontroladores, ordenadores manuales, ordenadores personales, servidores, ordenadores centrales, superordenadores, y cualquier variación o dispositivo relacionado con los mismos.The host computer 12 and the remote computer 16 are both widely defined digital computers. A computer, as used here, is any device that includes a digital processor capable of receiving and processing data. A computer includes the wide range of digital computers including microcontrollers, handheld computers, computers personnel, servers, central computers, supercomputers, and any variation or device related to them.

Los dispositivos de entrada y salida 18, 20 incluyen cualquier componente, elemento, mecanismo, aparato, o similar capaz de recibir y/o generar una señal electrónica. Ejemplos de dispositivos dentro del marco del término dispositivo incluyen una máquina expendedora automática, un teléfono, un cerrojo de puerta, un sensor de temperatura, un motor, un interruptor, y una luz.Input and output devices 18, 20 include any component, element, mechanism, apparatus, or similar capable of receiving and / or generating an electronic signal. Examples of devices within the framework of the term device include an automatic vending machine, a telephone, a deadbolt door, a temperature sensor, a motor, a switch, and a light.

En el diseño actual, el ordenador anfitrión 12 es típicamente un ordenador personal IBM compatible en el que se ejecutan Linux, Microsoft Windows 95/98/2000 o el sistema operativo Microsoft Windows NT. El ordenador remoto 16 típicamente incluye un procesador embebido (no mostrado), y, como se ha indicado, a menudo incluye un microcontrolador. Los dispositivos 18, 20 puede ser cualquier dispositivo con interfaces electrónicas del cual un procesador podría enlazar e interactuar con él.In the current design, the host computer 12 it is typically a compatible IBM personal computer on which running Linux, Microsoft Windows 95/98/2000 or the operating system Microsoft Windows NT Remote computer 16 typically includes a embedded processor (not shown), and, as indicated, often It includes a microcontroller. The devices 18, 20 can be any device with electronic interfaces of which a processor could link and interact with it.

Un elemento posible que puede ser usado con las realizaciones aquí descritas es una máquina expendedora automática (no mostrada). Muchas máquinas expendedoras automáticas incluyen uno o más microcontroladores para controlar diferentes partes de las máquinas expendedoras automáticas. Estos microcontroladores caen dentro del marco del ordenador remoto 16. Los dispositivos de entrada y salida 18, 20 incluyen los botones para seleccionar artículos desde la máquina expendedora automática, interruptores para permitir que los elementos sean entregados al usuario, luces para indicar que artículos han salido, la liberación de cambio para liberar cualquier cambio, etc. Como es conocido en la técnica, esta realización de máquina expendedora automática incluye los dispositivos de entrada y salida 18, 20 y el ordenador u ordenadores remotos 16 integrados dentro de la misma estructura. Los sistemas y métodos actuales, por lo tanto, pueden ser implantados en tal entorno. Los expertos en la técnica observarán también que el ordenador remoto 16 puede estar en una estructura separada de los dispositivos de entrada y salida 18, 20 unidos. Muchos de los dispositivos modernos vienen con microcontroladores embebidos, por ejemplo, muchos teléfonos móviles, buscapersonas y similares vienen con microcontroladores embebidos.A possible element that can be used with embodiments described herein is an automatic vending machine (not shown). Many automatic vending machines include one or more microcontrollers to control different parts of the automatic vending machines. These microcontrollers fall within the framework of the remote computer 16. The devices of input and output 18, 20 include buttons to select items from the automatic vending machine, switches to allow the items to be delivered to the user, lights to indicate which items have gone out, the exchange release for release any changes, etc. As is known in the art, this Automatic vending machine realization includes the input and output devices 18, 20 and the computer u 16 remote computers integrated within the same structure. Current systems and methods, therefore, can be implanted in such an environment. Those skilled in the art will observe also that the remote computer 16 may be in a structure separated from the input and output devices 18, 20 joined. Many of the modern devices come with microcontrollers embedded, for example, many mobile phones, pagers and Similar come with embedded microcontrollers.

El ordenador anfitrión 12 puede estar conectado al ordenador remoto 16 mediante una variedad de conexiones, incluyendo RS 232, RS485, módem, línea de potencia, conexión por cable, conexión inalámbrica, etc. De manera similar, el ordenador remoto 16 puede estar conectado a distintos dispositivos de entrada y salida 18, 20 mediante una variedad de modos. Como se ha indicado, típicamente el ordenador remoto 16 comprende un microcontrolador (no mostrado). Los microcontroladores a menudo tienen puertos de entrada/salida para comunicar con dispositivos externos. Las especificaciones del microcontrolador particular dictan a menudo cómo un dispositivo es conectado al microcontrolador. Los expertos en la técnica aprecian cómo dispositivos diferentes pueden ser conectados a ordenadores, ya sean ordenadores embebidos, ordenadores de sobremesa estándares, ordenadores centrales,
etc.
The host computer 12 may be connected to the remote computer 16 through a variety of connections, including RS 232, RS485, modem, power line, cable connection, wireless connection, etc. Similarly, the remote computer 16 can be connected to different input and output devices 18, 20 by a variety of modes. As indicated, the remote computer 16 typically comprises a microcontroller (not shown). Microcontrollers often have input / output ports to communicate with external devices. The specifications of the particular microcontroller often dictate how a device is connected to the microcontroller. Those skilled in the art appreciate how different devices can be connected to computers, be they embedded computers, standard desktops, central computers,
etc.

Como se ha indicado, los ordenadores de cliente 22 están incluidos dentro del sistema de ordenadores 10. Tal configuración permite que los usuarios accedan a servicios en el ordenador remoto 14 mediante el ordenador anfitrión 12, incluso a grandes distancias. El ordenador anfitrión 12 y los ordenadores de cliente 22 pueden estar todos conectados juntos en una red 24 de ordenadores, tal como una LAN, WAN, etc. Además, el ordenador de cliente 22 puede conectarse desde una posición remota al ordenador anfitrión 12 mediante una conexión por red telefónica, mediante una intranet, o mediante Internet.As indicated, client computers 22 are included within the computer system 10. Such configuration allows users to access services in the remote computer 14 via host computer 12, even to long distances. The host computer 12 and the computers of client 22 can all be connected together in a network 24 of computers, such as a LAN, WAN, etc. In addition, the computer client 22 can connect from a remote position to the computer host 12 via a telephone network connection, via a intranet, or via the Internet.

La fig. 2 representa un diagrama de bloques de la mayoría de los componentes de hardware y software de las actuales realizaciones. Como se ha mostrado, los elementos de hardware de la fig. 2 están correlacionados con los de la fig. 1. Los expertos en la técnica apreciarán que hay una variedad de modos para interconectar los distintos componentes de hardware, y que hay distintas configuraciones en las que uno o más de los elementos de hardware puede ser eliminado moviendo la funcionalidad de un elemento de hardware a otro.Fig. 2 represents a block diagram of most of the hardware and software components of the Current achievements. As shown, the elements of hardware of fig. 2 are correlated with those in fig. one. Those skilled in the art will appreciate that there are a variety of modes. to interconnect the different hardware components, and that there are different configurations in which one or more of the elements of hardware can be removed by moving the functionality of a Hardware item to another.

Las actuales realizaciones permiten que un usuario vigile y/o controle servicios proporcionados por el ordenador embebido 16 a través de un ordenador anfitrión 12. Los servicios del ordenador embebido 16 son expuestos por las realizaciones de tal manera que puedan ser accedidos desde la red de ordenadores 10 y de una manera eficiente.Current embodiments allow a user monitor and / or control services provided by the embedded computer 16 through a host computer 12. The Embedded computer services 16 are exposed by the realizations in such a way that they can be accessed from the network of 10 computers and in an efficient way.

       \newpage\ newpage
    

En las actuales realizaciones, los datos procedentes de los dispositivos de entrada y/o salida 18, 20 son leídos en y/o escritos fuera a través de los puertos de entrada/salida 26. Un programa 28 de aplicación embebida incluye las instrucciones ejecutables que enlazan directamente con estos puertos de entrada y/o salida 26. Usualmente las aplicaciones embebidas 28 tienen un bucle principal que es repetido una y otra vez. Desde luego, los programadores de aplicaciones embebidas pueden escribir una aplicación que no tenga un bucle principal que es repetido de forma continua a través de ella. Los principios aquí podrían ser aplicados a aquellas aplicaciones que no tienen un bucle principal y proporcionan sustancialmente los mismos beneficios que son conseguidos en las actuales
realizaciones.
In the current embodiments, the data from the input and / or output devices 18, 20 is read on and / or written out through the input / output ports 26. An embedded application program 28 includes the executable instructions that They link directly to these input and / or output ports 26. Usually embedded applications 28 have a main loop that is repeated over and over again. Of course, embedded application programmers can write an application that does not have a main loop that is repeated continuously through it. The principles here could be applied to those applications that do not have a main loop and provide substantially the same benefits that are achieved in today's
realizations

La información básica sobre el ordenador embebido o remoto 16, sus características y capacidades son útiles en la puesta en práctica de las realizaciones aquí descritas. Tal información básica puede ser almacenada en el ordenador remoto 16 en una tabla de capacidades 30. La tabla de capacidades 30 puede ser almacenada como un fichero, o puede ser almacenada como datos estáticos que son compilados con la aplicación 28, o puede ser almacenada en un dispositivo de almacenamiento (no mostrado) externo al ordenador remoto 16. Los expertos en la técnica se darán cuenta de que hay varios modos para almacenar capacidades básicas de un ordenador remoto y sus dispositivos de entrada y/o salida 18, 20 conectados. La tabla 1 contiene un pseudo-código que ilustra qué tipos de información pueden ser almacenados en la tabla de capacidades 30.The basic information about the computer embedded or remote 16, its features and capabilities are useful in the implementation of the embodiments described herein. Such Basic information can be stored on the remote computer 16 in a capacity table 30. The capacity table 30 can be stored as a file, or it can be stored as data static that are compiled with application 28, or it can be stored in an external storage device (not shown) to the remote computer 16. Those skilled in the art will realize that there are several ways to store basic capabilities of a remote computer and its input and / or output devices 18, 20 connected. Table 1 contains a pseudo-code that illustrates what types of information can be stored in the table of capacities 30.

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    
TABLA 1TABLE 1

1one

Como se ha ilustrado en la Tabla 1, la tabla de capacidades puede incluir una indicación de qué definiciones de interfaz (1A) soporta el ordenador remoto. El campo de definiciones de interfaz (1A) y su uso será descrito de manera más completa aquí. La tabla de capacidades puede también indicar el tipo de orden de bytes mostrado en la línea (1B). Este tipo de orden de bytes (1B) puede indicar si el ordenador remoto o embebido 16 es endian grande o endian pequeño. La tabla puede también indicar que la identificación de dispositivo, mostrada en la línea (1C), es para ese ordenador remoto o embebido 16 particular. La dirección del dispositivo, mostrada en la línea (1D), si la hay, puede también ser almacenada en la tabla de capacidades 30.As illustrated in Table 1, the table of capabilities may include an indication of what definitions of Interface (1A) supports the remote computer. The definition field interface (1A) and its use will be described more fully here. The capacity table can also indicate the type of order of bytes shown on line (1B). This type of byte order (1B) can indicate if the remote or embedded computer 16 is endian big or small The table may also indicate that the Device ID, shown on line (1C), is for that particular remote or embedded computer 16. The address of the device, shown on the line (1D), if any, can also be stored in the capacity table 30.

Con propósitos de compatibilidad, los números de versión, mostrados en la línea (1E), para el software que es usado pueden también ser almacenados. De forma similar los números de versión del protocolo de comunicación, mostrado en la línea (1F), pueden también ser almacenados. Particularidades acerca de la comunicación pueden también ser almacenadas. Por ejemplo, como se ha mostrado en la Tabla 1, el tamaño máximo del paquete de comunicación, mostrado en la línea (1G), puede ser almacenado.For compatibility purposes, the numbers of version, shown on line (1E), for the software that is used They can also be stored. Similarly the numbers of communication protocol version, shown on line (1F), They can also be stored. Particularities about the Communication can also be stored. For example, how do you has shown in Table 1, the maximum package size of Communication, shown on the line (1G), can be stored.

Un indicador de almacenamiento no volátil mostrado en la línea (1H) puede indicar si hay almacenamiento no volátil accesible por el ordenador remoto 16. La información pertinente sobre el almacenamiento no volátil puede también ser almacenada, tal como el tamaño del almacenamiento no volátil y su dirección de comienzo, mostrada en la línea (1I). Un indicador de sistema de archivo estático, mostrado en la línea (1J), puede indicar si hay un sistema de ficheros estático. De forma similar, un indicador de sistema de ficheros dinámico, mostrado en la línea (1K), puede indicar si hay sistema de ficheros dinámico.A non-volatile storage indicator shown on line (1H) can indicate if there is no storage volatile accessible by remote computer 16. Information relevant about nonvolatile storage can also be stored, such as the size of nonvolatile storage and its start address, shown on line (1I). An indicator of static file system, shown on line (1J), can indicate if there is a static file system. Similarly, a dynamic file system indicator, shown on the line (1K), can indicate if there is dynamic file system.

La tabla de capacidades 30 es útil porque el software en el ordenador anfitrión 12 puede solicitar la tabla de capacidades 30 y establecer las características y capacidades del ordenador embebido 16. Sin embargo, como será explicado de manera más completa aquí, el campo soportado de interfaces (1A) en combinación con los sistemas y métodos descritos aquí pueden obviar la necesidad de transferir la tabla de capacidades 30 completa al ordenador anfitrión 12 o transferir la información equivalente de la tabla de capacidades al ordenador anfitrión.Capacity table 30 is useful because the software on host computer 12 can request the table of capabilities 30 and establish the characteristics and capabilities of the embedded computer 16. However, as will be explained in a manner more complete here, the supported interface field (1A) in combination with the systems and methods described here may obviate the need to transfer the complete capacity table 30 to host computer 12 or transfer the equivalent information from the table of capacities to the host computer.

Los usuarios, a través de la ejecución del software en el ordenador de cliente 22 y/o en el ordenador anfitrión 12, pueden desear acceder a ciertos servicios proporcionados por el ordenador embebido remoto 16. Los servicios incluyen diferentes funciones, variables, eventos, y/o archivo. Por ejemplo, los usuarios pueden desear ejecutar funciones particulares, acceder a ciertas variables, comprobar eventos específicos, o acceder a archivos específicos. En el diseño actual, los servicios a los que un usuario puede necesitar acceder son identificados y listados. La identificación de servicios incluye también información acerca de ciertos servicios. Esta identificación de ciertos servicios puede ser conseguida de varias formas. Por ejemplo, en el diseño actual, una tabla 32 de servicios puede ser almacenada en el ordenador remoto 16. La tabla de servicios 32 puede ser almacenada como un archivo, o puede ser almacenada como datos estáticos que son compilados con la aplicación, o puede ser almacenada en un dispositivo de almacenamiento (no mostrado) externo al ordenador remoto 16. Los expertos en la técnica se darán cuenta de que hay distintos modos de almacenar información básica acerca de ciertos servicios proporcionados por el código de aplicación 28 que se ejecuta en el ordenador embebido 16. La Tabla 2 contiene un pseudo-código que ilustra qué tipos de información pueden ser almacenados en la tabla de servicios 32.The users, through the execution of the software on client computer 22 and / or host computer  12, may wish to access certain services provided by the remote embedded computer 16. Services include different functions, variables, events, and / or file. For example, the Users may wish to execute particular functions, access certain variables, check specific events, or access specific files In the current design, the services to which A user may need to access are identified and listed. The service identification also includes information about certain services This identification of certain services may Be achieved in several ways. For example, in the current design, a table 32 of services can be stored in the computer remote 16. The service table 32 can be stored as a file, or it can be stored as static data that is compiled with the application, or it can be stored in a storage device (not shown) external to the computer remote 16. Those skilled in the art will realize that there are different ways of storing basic information about certain services provided by application code 28 that runs on the embedded computer 16. Table 2 contains a pseudo-code that illustrates what types of information they can be stored in service table 32.

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    
TABLA 2TABLE 2

22

       \vskip1.000000\baselineskip\ vskip1.000000 \ baselineskip
    

Como se ha ilustrado en la Tabla 2, la tabla de servicios 32 puede incluir información tal como el nombre o identificación del servicio, el tipo de servicio (por ejemplo, si es una función, variable, evento, archivo, etc.), el tipo de parámetro de entrada, si lo hay, el tipo de retorno, si lo hay, y la dirección del servicio. La información acerca de la función FunctionA, mostrada en la línea (2A), está ilustrada indicando que es una función, toma una palabra como un parámetro de entrada, no devuelve nada (vacío), y su dirección está indicada en &FunctionA. La línea (2B) ilustra la información acerca de otra función, FunctionB. La información relevante acerca de variables está ilustrada en las líneas (2C)-(2D). La información acerca de eventos está ilustrada en las líneas (2E)-(2F). Los eventos pueden ser cualquier tipo de datos. Por ejemplo, un evento podría ser una variable, un registro particular, una interrupción, etc. Los eventos pueden ser particularmente útiles para artículos que ocurren de forma asíncrona. Ejemplos de tipos de eventos asíncronos incluyen una alarma que se apaga o un LED externo que cambia. La información acerca de ciertos archivos está ilustrada en las líneas (2G) y (2H).As illustrated in Table 2, the table of services 32 may include information such as name or service identification, the type of service (for example, if it is a function, variable, event, file, etc.), the type of parameter of entry, if any, the type of return, if any, and the address from service. Information about the FunctionA function, shown on line (2A), it is illustrated indicating that it is a function, take a word as an input parameter, does not return nothing (empty), and its address is indicated in & FunctionA. The line (2B) illustrates information about another function, FunctionB. The relevant information about variables is illustrated in the lines (2C) - (2D). The information about events is illustrated in the lines (2E) - (2F). Events can be any type of data. For example, an event could be a variable, a record particular, an interruption, etc. The events can be particularly useful for items that occur in a way asynchronous Examples of asynchronous event types include a alarm that goes off or an external LED that changes. Information about certain files is illustrated in lines (2G) and (2H).

Almacenando información sobre ciertos servicios en el ordenador remoto 16, el software en el ordenador anfitrión 12 puede fácilmente establecer qué servicios están disponibles en el ordenador remoto 16. Usualmente el código de aplicación 28 define los servicios. La tabla de servicios 32 funciona para proporcionar información acerca de ciertos servicios, donde la información sería útil para un usuario en el ordenador anfitrión 12, o para un usuario en el ordenador de cliente 22 conectado a él.Storing information about certain services on the remote computer 16, the software on the host computer 12 You can easily set what services are available in the remote computer 16. Usually application code 28 defines services. The service table 32 works to provide information about certain services, where the information would be useful for a user on host computer 12, or for a user on the client computer 22 connected to it.

En el diseño actual, un módulo 34 de interfaz embebido proporciona acceso entre los servicios en el ordenador remoto 16 y el software que se ejecuta en el ordenador anfitrión 12. En las realizaciones aquí descritas, el módulo34 de interfaz usa la información en la tabla de servicios 32 para acceder al servicio deseado en el ordenador remoto 16. Además, en la realización actualmente preferida, el módulo 34 de interfaz es un código que vuelve a entrar.In the current design, an interface module 34 embedded provides access between services on the computer remote 16 and the software running on the host computer 12. In the embodiments described herein, the interface module34 uses the information in the service table 32 to access the service desired on the remote computer 16. Also, in the embodiment currently preferred, the interface module 34 is a code that re-enter

El módulo 34 de interfaz comunica a través de un puerto de comunicaciones embebido 36. En el diseño actual, un módulo de comunicación 38 proporciona comunicación usando el puerto de comunicaciones 36. Un experto en la técnica apreciará, sin embargo, que el módulo de interfaz 34 puede incluir el código necesario para enlazar directamente con el puerto de comunicación 36 en el ordenador remoto 16. El módulo de comunicaciones 38 o código 38 proporciona acceso al puerto de comunicaciones 36, y asegura que los datos son dados al puerto de comunicaciones 36 en piezas dimensionadas y formateadas apropiadamente, y que los datos recibidos desde el puerto de comunicaciones 36 son correctamente leídos desde el puerto 36.The interface module 34 communicates through a embedded communications port 36. In the current design, a communication module 38 provides communication using the port of communications 36. A person skilled in the art will appreciate, without However, that the interface module 34 may include the code necessary to link directly to the communication port 36 on the remote computer 16. Communications module 38 or code 38 provides access to communications port 36, and ensures that the data is given to communications port 36 in pieces properly sized and formatted, and that the data received from communications port 36 are correctly read from port 36.

El ordenador anfitrión 12 incluye un puerto de comunicación 40 en comunicación electrónica con el puerto de comunicaciones 36 del ordenador remoto 16. Como se ha descrito antes, hay una variedad de tales puertos disponibles con ordenadores que son capaces de enlazar con un puerto de ordenador remoto y/o embebido 36. Un módulo de comunicación 42 proporciona características similares a las proporcionadas por el módulo de comunicaciones 38 del ordenador remoto 16. El módulo de comunicaciones 42 formatea correctamente datos que son escritos en el puerto de comunicaciones 40 y leídos desde el mismo.The host computer 12 includes a port of 40 communication in electronic communication with the port of communications 36 of the remote computer 16. As described before, there are a variety of such ports available with computers that are capable of linking to a computer port remote and / or embedded 36. A communication module 42 provides characteristics similar to those provided by the module communications 38 of the remote computer 16. The module communications 42 correctly formats data that is written in the communications port 40 and read from it.

El ordenador anfitrión 12 proporciona acceso a los servicios proporcionados en el ordenador embebido 16. En las realizaciones actuales, una parte de la tabla de capacidades 30, la información soportada de interfaces, es recuperada desde el ordenador embebido 16 y desde ella se crea una lista de servicios en el ordenador anfitrión 12 que corresponde sustancialmente a la tabla de servicios 32. La lista de servicios en el ordenador anfitrión 12 es denominada en la fig. 2 como información de servicios 44. La información de servicios 44 indica qué servicios están disponibles en el ordenador remoto 16 y qué tipos de datos, si los hay, son usados con servicios individuales. Esto facilita el acceso mediante el ordenador anfitrión 12 al ordenador remoto o embebido 16.Host computer 12 provides access to the services provided on the embedded computer 16. In the current embodiments, a part of the capacity chart 30, the Supported interface information is retrieved from the embedded computer 16 and from it a list of services is created in the host computer 12 corresponding substantially to the service table 32. The list of services on the computer host 12 is named in fig. 2 as information of services 44. Services information 44 indicates which services are available on remote computer 16 and what types of data, if there are, they are used with individual services. This facilitates the access via host computer 12 to the remote computer or embedded 16.

En el diseño actual, un proceso es inicialmente puesto en marcha en el ordenador anfitrión 12 que provoca que sea creada la información de servicios 44. El controlador 46 de acceso al dispositivo proporciona esta dirección inicial, en el diseño actual.In the current design, a process is initially launched on host computer 12 which causes it to be created the service information 44. The access controller 46 the device provides this initial address, in the design current.

Como se ha indicado, las realizaciones pueden proporcionar acceso a los servicios del ordenador embebido 16 a los ordenadores de cliente 22 que están en comunicación electrónica con el ordenador anfitrión 12. Para facilitar el acceso por los ordenadores de cliente 22, el ordenador anfitrión 12 puede incluir servidores. Un servidor de red 48 puede ser puesto en marcha en el ordenador anfitrión 12. El servidor de red 48 puede proporcionar una interfaz de red a los servicios en el ordenador remoto 16. Por ejemplo, los datos y/o servicios del ordenador remoto 16 pueden ser representados gráficamente mediante páginas HTML. Así, el controlador 46 de acceso al dispositivo, puede crear páginas web (no mostradas) desde los servicios disponibles en el ordenador remoto 16, y el servidor de red 48 puede solicitar el servicio HTTP para estas páginas web.As indicated, embodiments may provide access to the services of the embedded computer 16 to the client computers 22 that are in electronic communication with the host computer 12. To facilitate access by client computers 22, host computer 12 may include servers A network server 48 can be launched in the host computer 12. Network server 48 can provide a network interface to the services on the remote computer 16. By For example, the data and / or services of the remote computer 16 may be Graphically represented by HTML pages. Thus, the device access controller 46, you can create web pages (not shown) from the services available on the computer remote 16, and network server 48 can request the HTTP service for these web pages.

Un servidor 50 de acceso al dispositivo puede también estar incluido en el ordenador anfitrión 12 para solicitar al cliente de servicios para servicios en el ordenador remoto 16. En el diseño actual, el servidor 50 de acceso al dispositivo accede a la información de servicios 44 y hace esta información disponible para clientes en los ordenadores de cliente 22.A device access server 50 may also be included in host computer 12 to request to the service client for services on the remote computer 16. In the current design, the device access server 50 accesses service information 44 and makes this information available for customers on client computers 22.

Un ordenador de cliente 22 puede incluir una aplicación de cliente 52 y un cliente 54 de acceso al dispositivo. El cliente 54 de acceso al dispositivo comunica con el servidor 50 de acceso al dispositivo para acceder a los servicios del ordenador remoto 16. La aplicación de cliente 52 puede usar el cliente 54 de acceso al dispositivo para obtener información acerca de los servicios. La aplicación de cliente 52 podría acceder también a datos desde el servidor de red 48 situado en el ordenador anfitrión 12. Por ejemplo, la aplicación de cliente 52 puede ser un navegador en red capaz de conectar con el servidor de red 48.A client computer 22 may include a client application 52 and a client 54 access to the device. The device access client 54 communicates with the server 50 access to the device to access computer services remote 16. Client application 52 can use client 54 of access to the device to obtain information about services. Client application 52 could also access data from network server 48 located on the host computer 12. For example, client application 52 may be a browser network capable of connecting to network server 48.

Con referencia a la fig. 3, un conjunto de definiciones de interfaz puede ser creado para comunicar de forma efectiva qué servicios están disponibles en el ordenador remoto 16 de una manera efectiva. Mostrado en la fig. 3 está el espacio 56 de dispositivo embebido que ilustra un agrupamiento 56 para todos los dispositivos embebidos disponibles para su uso. Este espacio 56 de dispositivo embebido puede ser dividido en agrupamientos separados 58. Por ejemplo, un agrupamiento 58a de dispositivo de tipo A puede ser formado, así como un agrupamiento 58b de dispositivo de tipo B y un agrupamiento 58c de dispositivo de tipo C. Los agrupamientos 58 pueden agrupar juntos ciertos dispositivos en grupos lógicos donde los miembros en cada grupo tienen al menos una o más características similares. Por ejemplo, el agrupamiento 58a de dispositivo de tipo A puede ser para dispositivos de máquina expendedora automática. Otros agrupamientos ejemplares incluyen teléfonos móviles, refrigeradores, controladores de temperatura, copiadoras,
etc.
With reference to fig. 3, a set of interface definitions can be created to effectively communicate what services are available on the remote computer 16 in an effective manner. Shown in fig. 3 is the embedded device space 56 illustrating a cluster 56 for all embedded devices available for use. This embedded device space 56 may be divided into separate groupings 58. For example, a grouping 58a of type A device may be formed, as well as a grouping 58b of a type B device and a grouping 58c of a type C device. Clusters 58 can group together certain devices into logical groups where the members in each group have at least one or more similar characteristics. For example, grouping 58a of type A device may be for automatic vending machine devices. Other exemplary groupings include mobile phones, refrigerators, temperature controllers, copiers,
etc.

Dentro de cada agrupamiento 58 pueden ser definiciones 60 de interfaz específica para diferentes tipos de ordenadores remotos 16. Cada definición 60 de interfaz define un conjunto específico de funciones, variables, eventos, archivos, comportamientos, estados y otra información que son soportados por cualquier ordenador remoto 16 que es conservado a sí mismo como satisfaciendo esa definición 60 de interfaz particular. Consiguientemente, cuando un ingeniero embebido está diseñando un sistema embebido que incluye un ordenador remoto 16, si desea utilizar los beneficios de las realizaciones aquí descritas, puede seleccionar una definición 60 de interfaz apropiada para soportar y a continuación diseñar e implantar el sistema consiguientemente. Además, si no existe una definición 60 de interfaz que sea aceptable, el ingeniero puede definir una nueva definición 60 de interfaz, publicarla a aquellos que pueden beneficiarse de su uso y/o conocimiento, y a continuación diseñar e implantar el sistema consiguiente-
mente.
Within each cluster 58 may be specific interface definitions 60 for different types of remote computers 16. Each interface definition 60 defines a specific set of functions, variables, events, files, behaviors, states and other information that are supported by any computer. remote 16 which is conserved to itself as satisfying that particular interface definition 60. Accordingly, when an embedded engineer is designing an embedded system that includes a remote computer 16, if you wish to use the benefits of the embodiments described herein, you can select an appropriate interface definition 60 to support and then design and implement the system accordingly. In addition, if there is no acceptable interface definition 60, the engineer can define a new interface definition 60, publish it to those who can benefit from its use and / or knowledge, and then design and implement the resulting system.
mind.

       \newpage\ newpage
    

Distintas definiciones 60 de interfaz están representadas en la fig. 3 como A1, A2, A3, etc. Los expertos en la técnica observarán que hay una amplia variedad de modos para definir características de un ordenador remoto 16 o dispositivo embebido. La Tabla 3 contiene el pseudo-código que ilustra qué tipos de información pueden ser definidos e incluidos en una definición 60 de interfaz.Different interface definitions 60 are represented in fig. 3 as A1, A2, A3, etc. The experts in the technique will observe that there is a wide variety of ways to define features of a remote computer 16 or embedded device. Table 3 contains the pseudo-code that illustrates what types of information can be defined and included in a interface definition 60.

TABLA 3TABLE 3

44

Como se ha ilustrado en la Tabla 3, una definición de interfaz puede incluir información tal como el nombre o identificación del servicio, el tipo de servicio (por ejemplo, si es una función, variable, evento, archivo, etc.), el tipo de parámetro de entrada, si lo hay, el tipo de retorno, si lo hay, y la dirección del servicio. La información acerca de la función FunctionA, mostrada en la línea (3A), es ilustrada indicando que es una función, tiene una palabra como un parámetro de entrada, no devuelve nada (vacío), y su dirección está indicada en &FunctionA. La línea (3B) ilustra la información acerca de otra función FunctionB. La información relevante sobre acerca de las variables está ilustrada en las líneas (3C)-(3D).As illustrated in Table 3, a interface definition can include information such as name or service identification, the type of service (for example, if it is a function, variable, event, file, etc.), the type of input parameter, if any, the type of return, if any, and the service address Information about the function FunctionA, shown on line (3A), is illustrated indicating that it is a function, it has a word as an input parameter, not returns nothing (empty), and its address is indicated in & FunctionA. Line (3B) illustrates information about another FunctionB function. Relevant information about the Variables is illustrated in lines (3C) - (3D).

La información acerca de eventos está ilustrada en las líneas (3E)-(3F). Los eventos pueden ser cualquier tipo de datos. Por ejemplo, un evento podría ser una variable, un registro particular, una interrupción, etc. Los eventos pueden ser particularmente útiles para elementos que ocurren asincrónicamente. Ejemplos de tipos de eventos asíncronos incluyen una alarma que se apaga o un LED externo que cambia.The information about events is illustrated in the lines (3E) - (3F). Events can be any type of data. For example, an event could be a variable, a record particular, an interruption, etc. The events can be particularly useful for elements that occur asynchronously. Examples of types of asynchronous events include an alarm that is turn off or an external LED that changes.

La información acerca de ciertos archivos está ilustrada en las líneas (3G) y (3H). La información de estado (3I) puede también estar incluida. La información de estado (3I) puede incluir información que define en que distintos estados puede estar el ordenador remoto 16, definiendo la información cualquiera máquinas de estado del ordenador remoto 16 etc. La información de comportamiento (3J) puede indicar cómo reaccionará el ordenador remoto 16 y se comportará dado a un cierto conjunto de entradas, salidas y/o estados. Desde luego, otra información de definición (3K) puede ser incluida también, como verán los expertos en la técnica.Information about certain files is illustrated on lines (3G) and (3H). The status information (3I) It may also be included. The status information (3I) can include information that defines what different states may be remote computer 16, defining any information remote computer status machines 16 etc. The information of behavior (3J) can indicate how the computer will react remote 16 and will behave given to a certain set of inputs, outputs and / or states. Of course, other definition information (3K) can also be included, as experts in the technique.

La fig. 4 es una tabla que ilustra que puede haber una o muchas correspondencias entre un dispositivo embebido específico y las interfaces que soporta, o las definiciones de interfaz que siguen. El dispositivo Alfa de la fig. 4 soporta la definición 60 de interfaz A1 de la fig. 3. El dispositivo Beta soporta más de una definición 60 de interfaz; soporta C3 y C6. La fig. 4 ilustra qué otros dispositivos embebidos específicos pueden soportar una o más definiciones 60 de interfaz.Fig. 4 is a table that illustrates that you can have one or many correspondences between an embedded device specific and the interfaces it supports, or the definitions of interface that follow. The Alpha device of fig. 4 supports the definition 60 of interface A1 of fig. 3. The Beta device supports more than one interface definition 60; Supports C3 and C6. The fig. 4 illustrates what other specific embedded devices can Support one or more interface definitions 60.

La fig. 5 ilustra el ordenador remoto 16 de una realización e ilustra los elementos que pueden ser incluidos en la tabla de servicios 32 y la tabla de capacidades 30. Como se ha descrito en relación con la Tabla 2, la tabla de servicios 32 puede incluir información acerca de funciones 32a, variables 32b, eventos 32c y/o archivos 32d del ordenador remoto 16. La tabla de capacidades 30 puede incluir datos que comprenden identificaciones 30a de interfaz para el ordenador remoto 16. Como se ha mostrado en la fig. 4, un ordenador remoto 16 puede incluir uno o más identificadores de definición de interfaz. Estos identificadores de definición de interfaz pueden ser un número, una cadena o cualquier otra pieza de datos capaz de ser usada como un modo de identificar una definición de interfaz particular. A través del uso de las realizaciones actuales, un ordenador anfitrión 12 puede establecer mucho acerca de un ordenador remoto particular 16 simplemente obteniendo sus identificaciones 30a de interfaz sin tener que obtener toda la información de definición desde el propio ordenador remoto 16. Esto puede ser útil porque en algunos entornos, los ordenadores remotos 16 no tienen la capacidad de comunicaciones necesaria para enviar gran cantidad de información a otro ordenador. La tabla de capacidades 30 puede incluir otra información de configuración 30b cuando sea necesario.Fig. 5 illustrates remote computer 16 of a realization and illustrates the elements that can be included in the service table 32 and capacity table 30. As has been described in relation to Table 2, the service table 32 can include information about functions 32a, variables 32b, events 32c and / or 32d files of the remote computer 16. The table of capabilities 30 may include data comprising identifications 30th interface for remote computer 16. As shown in fig. 4, a remote computer 16 may include one or more interface definition identifiers. These identifiers of interface definition can be a number, a string or any another piece of data capable of being used as a way of identifying A particular interface definition. Through the use of current embodiments, a host computer 12 can set a lot about a particular remote computer 16 just getting its 30th interface IDs without having to get all the definition information from the computer itself remote 16. This can be useful because in some environments, 16 remote computers do not have the communication capability necessary to send large amount of information to another computer. Capacity table 30 may include other information on 30b configuration when necessary.

La fig. 6 ilustra el ordenador anfitrión 12 de una realización e ilustra componentes o funcionalidad de software que puede ser usado en el ordenador anfitrión 12. El ordenador anfitrión 12 puede incluir una base de datos 62 de interfaz interna. Esta base de datos 62 de interfaz interna puede contener un número de definiciones 60 de interfaz indexadas por identificadores 64 de definición de interfaz. Consiguientemente, cuando el controlador 46 de acceso al dispositivo obtiene un identificador 64 de definición de interfaz del ordenador remoto 16, puede acceder a la base de datos 62 de interfaz interna a través de una interfaz 66 de base de datos para acceder y recuperar la definición o definiciones 60 de interfaz particular soportada por el ordenador remoto 16. Así, el ordenador anfitrión 12 puede obtener información que define el ordenador remoto 16 sin tener que recibir la totalidad de tal información desde el ordenador remoto 16.Fig. 6 illustrates host computer 12 of an embodiment and illustrates software components or functionality which can be used on the host computer 12. The computer host 12 may include an interface database 62 internal This internal interface database 62 may contain a number of interface definitions 60 indexed by identifiers 64 interface definition. Consequently, when the device access controller 46 obtains an identifier 64 interface definition of remote computer 16, you can access the internal interface database 62 through an interface 66 database to access and retrieve the definition or 60 definitions of particular interface supported by the computer remote 16. Thus, host computer 12 can obtain information which defines remote computer 16 without having to receive the all such information from the remote computer 16.

Además de la base de datos 62 de interfaz interna, puede haber una base de datos 68 de interfaz externa. La base de datos 68 de interfaz externa puede ser accedida cuando la interfaz 66 de base de datos no puede encontrar la definición o definiciones 60 de interfaz particular en la base de datos 62 de interfaz interna. La base de datos 68 de interfaz externa puede estar situada en una red de ordenadores a la que está conectado el ordenador anfitrión 12. Además, la base de datos 68 de interfaz externa puede ser accesible mediante Internet, conexión telefónica, a través de una intranet, etc. El controlador 46 de acceso al dispositivo puede actualizar periódicamente la base de datos 62 de interfaz interna con actualizaciones desde la base de datos 68 de interfaz externa.In addition to the interface database 62 internal, there may be an external interface database 68. The External interface database 68 can be accessed when the database interface 66 cannot find the definition or particular interface definitions 60 in database 62 of internal interface The external interface database 68 can be located in a computer network to which the host computer 12. In addition, the interface database 68 External can be accessible via Internet, telephone connection, through an intranet, etc. The access controller 46 to device can periodically update database 62 of internal interface with updates from database 68 of external interface

Las realizaciones aquí recogidas pueden también poner en práctica medidas de seguridad mediante el uso de distintas definiciones 60 de interfaz para un dispositivo específico. Por ejemplo, puede haber un número de servicios disponibles en un ordenador remoto 16 que deberían ser solamente accedidos por una entidad que contenga la autoridad apropiada. Un ejemplo más específico de esto es una máquina expendedora automática. Una máquina expendedora automática puede tener ciertas funciones que deberían solamente ser accedidas por una entidad autorizada, tal como, por ejemplo, la capacidad de cambiar los precios o ciertos artículos, dejar caer ciertos artículos sin pagar o bloquear ciertos artículos de manera que no puedan ser comprados. Una definición 60 de interfaz puede proporcionar acceso a estas funciones administrativas. Sin embargo, otros que acceden a la máquina expendedora automática no tendrían típicamente acceso a estas funciones administrativas. Por consiguiente, una máquina expendedora automática puede soportar un número de interfaces que incluye una interfaz administradora y una interfaz no administradora. En las realizaciones aquí descritas, el ordenador remoto 16 de la máquina expendedora automática puede incluir identificadores 64 de definición de interfaz para ambos interfaces. En las realizaciones aquí contenidas, puede ser la tarea del ordenador anfitrión 12 proporcionar la interfaz apropiada a cualesquiera de las aplicaciones de cliente 52 basado en la autorización apropiada.The realizations collected here may also implement security measures by using different 60 interface definitions for a specific device. By For example, there may be a number of services available in a remote computer 16 that should only be accessed by a entity that contains the appropriate authority. One more example Specific to this is an automatic vending machine. A Automatic vending machine may have certain functions that they should only be accessed by an authorized entity, such such as the ability to change prices or certain items, drop certain items without paying or blocking certain items so that they cannot be purchased. A interface definition 60 can provide access to these Administrative functions. However, others who access the automatic vending machine would not typically have access to These administrative functions. Therefore, a machine Automatic vending machine can support a number of interfaces that includes an admin interface and a non-interface administrator. In the embodiments described herein, the computer Remote 16 of the automatic vending machine can include interface definition identifiers 64 for both interfaces. In the embodiments contained herein, it may be the task of the host computer 12 provide the appropriate interface to any of the client applications 52 based on the proper authorization.

Para proporcionar la interfaz apropiada a cualesquiera aplicaciones de clientes 52 basadas en la autorización apropiada, el controlador 46 de acceso al dispositivo puede acceder a una base de datos de seguridad 70 a través de un módulo 72 de interfaz de seguridad. La base de datos de seguridad 70 puede contener información para validar aplicaciones de cliente apropiadas 52 o para buscar en un índice (no mostrado) en la base de datos de seguridad 70 qué interfaz particular debería ser proporcionada a ciertas aplicaciones de cliente 52. Los nombres de usuario y contraseñas pueden ser almacenados en la base de datos de seguridad 70 para validar una autorización apropiada. Además, un índice (mostrado) de posibles aplicaciones de clientes 52 puede ser almacenado junto con un listado (no mostrado) de las interfaces que deberían ser proporcionadas a tales aplicaciones de cliente 52. Desde luego, una base de datos externa de seguridad 74 puede ser usada y accedida, como será apreciado por los expertos en la técnica. Por ejemplo, el controlador 46 de acceso al dispositivo puede acceder a una base de datos de seguridad externa 74 sobre una red de ordenadores (por ejemplo Internet, una intranet, una LAN, etc.) con propósitos de seguridad. La fig. 10 ilustra operaciones que pueden ser seguidas proporcionando las interfaces apropiadas a aplicaciones de cliente 52.To provide the appropriate interface to any client applications 52 based on authorization appropriate, the device access controller 46 can access to a security database 70 through a module 72 of security interface The security database 70 can contain information to validate client applications appropriate 52 or to search an index (not shown) on the basis of  security data 70 what particular interface should it be provided to certain client applications 52. The names of User and passwords can be stored in the database of security 70 to validate an appropriate authorization. In addition, a index (shown) of possible client applications 52 can be stored along with a list (not shown) of the interfaces that they should be provided to such client applications 52. Of course, an external security database 74 can be used and accessed, as will be appreciated by experts in the technique. For example, the device access controller 46 you can access an external security database 74 on a computer network (eg Internet, an intranet, a LAN, etc.) for security purposes. Fig. 10 illustrates operations which can be followed by providing the appropriate interfaces to client applications 52.

La fig. 7 ilustra cómo pueden ser usados identificadores 64 de definición de interfaz en la tabla de capacidades 30 de un ordenador remoto 16 para identificar definiciones 60 de interfaz específicas en una base de datos de interfaces 62. La base de datos de interfaces 62 y las definiciones de interfaz 60 pueden incluir los tipos de información descritos aquí, así como cualquier información adicional que pueda ser útil a los expertos en la técnica. Por ejemplo, las definiciones 60 de interfaz pueden incluir información como se ha descrito en relación a la Tabla 3, tal como información que describe las funciones, variables, eventos, archivos, el comportamiento, los estados, y cualquier otra información acerca del ordenador remoto 16 y/o el sistema embebido que los expertos en la técnica vean ajustar para incluir en la definición 60 de interfaz.Fig. 7 illustrates how they can be used interface definition identifiers 64 in the table of 30 capabilities of a remote computer 16 to identify specific interface definitions 60 in a database of interfaces 62. The interfaces database 62 and definitions interface 60 may include the types of information described here, as well as any additional information that may be useful to Those skilled in the art. For example, definitions 60 of interface can include information as described in relation to Table 3, such as information describing the functions, variables, events, files, behavior, states, and any other information about remote computer 16 and / or the embedded system that those skilled in the art see fit for include in interface definition 60.

La información 44 de servicios creada a partir de la definición 60 de interfaz puede ser una puesta en práctica del objeto por lo que la información 44 de servicios está encapsulada. Los usuarios de las realizaciones pueden encapsular la información 44 de servicios del ordenador remoto utilizando un objeto de software en el ordenador anfitrión 12. El objeto (no mostrado) puede proporcionar una representación de objeto de al menos parte del sistema 14 de ordenado remoto, en el que el sistema 14 de ordenador remoto incluye tanto el ordenador remoto 16 como sus dispositivos conectados 18, 20. Parte del objeto puede ser usada principalmente para acceder a los servicios proporcionados por el ordenador remoto 16. Poniendo en práctica un objeto en el ordenador anfitrión 12, hay previstos programadores con muchos beneficios del análisis y del diseño orientado al objeto sin usar recursos de memoria válidos sobre el ordenador remoto 16 para proporcionar estos beneficios. En el diseño común, solamente artículos necesarios para el almacenamiento en el ordenador remoto 16 son almacenados en el ordenador remoto 16. Desde luego, se apreciará por los expertos en la técnica que, si el ordenador remoto 16 hubiera tenido acceso a una cantidad sustancial de memoria, muchos más artículos podían ser almacenados en el ordenador remoto 16.Information 44 of services created from of interface definition 60 can be an implementation of the object so the service information 44 is encapsulated The users of the embodiments can encapsulate the information 44 of remote computer services using a software object on the host computer 12. The object (not shown) can provide an object representation of the less part of the remote sorting system 14, in which the system Remote computer 14 includes both remote computer 16 and its connected devices 18, 20. Part of the object can be used mainly to access the services provided by the remote computer 16. Implementing an object on the computer host 12, there are planned programmers with many benefits of Object-oriented analysis and design without using resources from valid memory on remote computer 16 to provide these Benefits. In the common design, only items needed for the storage in the remote computer 16 are stored in the remote computer 16. Of course, it will be appreciated by experts in the technique that, if remote computer 16 had had access to a substantial amount of memory, many more articles could be stored on the remote computer 16.

Un objeto es una descripción de una estructura de datos. Un objeto, como es usado aquí, es un tipo de datos abstractos que encapsula datos y/o funciones. Consiguientemente, un experto en la técnica podría poner en práctica una estructura de datos equivalente a un objeto, sin usar características orientadas al objeto de ciertos lenguajes de programación. Específicamente, un objeto como es usado aquí no requiere que los programadores de software utilicen lenguajes orientados al objeto tales como C++ o Smalltalk. Un objeto dentro del marco del presente invento poder ser puesta en práctica en cualquier lenguaje de programación. Por ejemplo, un objeto poder ser puesto en práctica en C, C++, Pascal, FORTRAN, lenguaje ensamblador, etc. En diseño común, se está usando el lenguaje de programación C.An object is a description of a structure of data. An object, as used here, is a type of data abstracts that encapsulates data and / or functions. Consequently a skilled in the art could implement a structure of data equivalent to an object, without using oriented features for the purpose of certain programming languages. Specifically, a object as used here does not require programmers to software use object-oriented languages such as C ++ or Smalltalk An object within the framework of the present invention to be able be implemented in any programming language. By For example, an object can be implemented in C, C ++, Pascal, FORTRAN, assembly language, etc. In common design, it is being used the programming language C.

La fig. 8 es un diagrama de flujo que muestra operaciones que pueden ser seguidas en la puesta en práctica de los sistemas y métodos actuales. Sencillamente, los programadores que desean usar y beneficiarse de las realizaciones descritas están diseñando un sistema embebido que incluye un ordenador remoto 16 que probablemente estará enlazado con un ordenador anfitrión 12. El ordenador remoto 16 comunica con los dispositivos externos 18, 20 para entradas y salidas. Los programadores típicamente están también diseñando una aplicación embebida 28 que recibe y procesa entradas 18 del dispositivo y genera salidas 20. Un modo de beneficiarse de los sistemas y métodos contenidos aquí está mostrado en la fig. 8. Antes de diseñar y poner en práctica realmente un diseño para una aplicación 28 embebida de ordenador remoto, un programador puede identificar en 76 una o más definiciones 60 de interfaz disponibles que son adecuadas para su situación. Por ejemplo, si uno estuviera diseñando un sistema embebido para un teléfono, identificaría definiciones 60 de interfaz adecuadas de una categoría desde teléfono, de una categoría de dispositivo de comunicaciones, de una categoría de teléfono celular o móvil, o desde cualquiera otra categoría adecuada de definiciones 60 de interfaz.Fig. 8 is a flow chart that shows operations that can be followed in the implementation of the current systems and methods. Simply, the programmers who wish to use and benefit from the described embodiments are designing an embedded system that includes a remote computer 16 that it will probably be linked to a host computer 12. The remote computer 16 communicates with external devices 18, 20 for inputs and outputs. Programmers are typically also designing an embedded application 28 that receives and processes inputs 18 of the device and generates outputs 20. One way to benefit from The systems and methods contained here are shown in fig. 8. Before actually designing and implementing a design for a application 28 embedded from remote computer, a programmer can identify in 76 one or more available 60 interface definitions They are suitable for your situation. For example, if one were designing an embedded system for a phone, it would identify appropriate interface definitions 60 of a category from telephone, from a category of communications device, from a category of cell phone or mobile phone, or from any other appropriate category of interface definitions 60.

Después de que las definiciones 60 de interfaz han sido identificadas en 76, el programador diseña en 78 y pone en práctica la aplicación embebida para satisfacer la especificación de la definición 60 de interfaz. El programador debería asegurarse de que cualesquiera funciones, variables, eventos, archivos, estados, comportamientos y similar definidos en la definición o definiciones 60 de interfaz serán encontrados en la aplicación diseñada de nuevo. El programador coloca en 80 los identificadores 64 de definición de interfaz dentro del código que ha de ser colocado en el ordenador remoto 16 de tal modo que la interfaz o interfaces soportadas por el dispositivo puedan ser fácilmente identificadas por los identificadores 64 sin necesidad de enviar una descripción completa al ordenador anfitrión 12.After the interface definitions 60 have been identified in 76, the programmer designs in 78 and puts in practice the embedded application to meet the specification of Interface definition 60. The programmer should make sure that any functions, variables, events, files, states, behaviors and similar defined in the definition or definitions 60 interface will be found in the designed application of new. The programmer places in 80 the identifiers 64 of interface definition within the code to be placed in the remote computer 16 such that the interface or interfaces Supported by the device can be easily identified by identifiers 64 without the need to send a description Complete to host computer 12.

Después de que el dispositivo ha sido diseñado y probado, puede ser movido en 82 a producción o uso. Otro ordenador puede estar conectado en 84 al ordenador remoto 16 para vigilar, controlar u otros usos. El ordenador anfitrión 12 puede entonces solicitar y obtener en 86 desde el ordenador remoto 16 cualesquiera identificadores 64 de definición de interfaz. Después de que cualesquiera identificadores 64 de definición de interfaz son hechos pasar al ordenador anfitrión 12, el ordenador anfitrión 12 puede buscar en 88 que en una base de datos de interfaces 62, 68 la definición 60 de interfaz particular. Una vez obtenida a partir de la base de datos, el ordenador anfitrión 12 puede acceder en 90 a los servicios del dispositivo embebido de acuerdo con la especificación proporcionada por la definición o definiciones de interfaz.After the device has been designed and Proven, it can be moved in 82 to production or use. Other computer may be connected at 84 to remote computer 16 to monitor, Control or other uses. The host computer 12 can then request and get in 86 from any remote computer 16 any interface definition identifiers 64. After what any interface definition identifiers 64 are passed to host computer 12, host computer 12 you can search in 88 that in a database of interfaces 62, 68 the 60 definition of particular interface. Once obtained from the database, host computer 12 can access 90 to the embedded device services according to the specification provided by the definition or definitions of Interface.

Como se ha mostrado en las figs. 2 y 5, un módulo 34 de interfaz embebida separado puede ser escrito. Este módulo 34 de interfaz embebida puede ser escrito de modo que responda a distintas solicitudes que puedan ser recibidas desde el software en el ordenador anfitrión 12. Creando un módulo 34 de interfaz separado, la aplicación embebida de 28 puede mantener el foco en los servicios del ordenador remoto 16. En diseño común, la aplicación embebida 28 es modificada típicamente para hacer una llamada de función al módulo 34 de interfaz embebida dentro de su bucle de operación principal para proporcionar tiempo para responder a solicitudes o peticiones procedentes del ordenador anfitrión 12. El módulo 34 de interfaz embebida realiza algún tratamiento, y a continuación vuelve de nuevo al bucle de funcionamiento u operación principal. El módulo 34 de interfaz debería devolver el control al bucle de operación principal al cabo de un periodo de tiempo lo bastante corto de modo que el bucle de operación principal no se equivoque en ningún evento y/o tratamiento necesarios.As shown in figs. 2 and 5, a Separate embedded interface module 34 can be written. This embedded interface module 34 can be written so that respond to different requests that may be received from the software on the host computer 12. Creating a module 34 of separate interface, the embedded application of 28 can keep the focus on remote computer services 16. In common design, the embedded application 28 is typically modified to make a function call to interface module 34 embedded within its main operation loop to provide time to respond to requests or requests from the host computer 12. Embedded interface module 34 performs some treatment, and then then back to the operation or operation loop principal. Interface module 34 should return control to the main operation loop after a period of time what quite short so that the main operation loop is not wrong in any event and / or treatment necessary.

En una realización alternativa preferida, el módulo 34 de interfaz embebido podría ser llamado por una rutina de servicio de interrupción que es llamada periódicamente.In a preferred alternative embodiment, the embedded interface module 34 could be called by a routine of interruption service that is called periodically.

La fig. 9 es un diagrama de flujo que ilustra dos realizaciones que pueden ser seguidas en la puesta en práctica de componentes de software en el ordenador anfitrión 12. Desde luego, podrían llevarse a la práctica diferentes operaciones para conseguir las realizaciones actuales. Las operaciones de la fig. 9 son ilustrativas de los principios de los sistemas y métodos actuales y ello no significa que sean limitativas de la amplitud de los principios enseñados aquí. Para iniciar la operación de software en el ordenador anfitrión 12, un usuario puede poner en marcha en 92 el controlador 46 de acceso al dispositivo. El controlador 46 de acceso al dispositivo, en diseño común, incluye el módulo de comunicación 42 para comunicar con el ordenador remoto 16.Fig. 9 is a flow chart illustrating two embodiments that can be followed in the implementation of software components on the host computer 12. From then, different operations could be carried out to Get the current accomplishments. The operations of fig. 9 are illustrative of the principles of systems and methods current and that does not mean that they are limiting the breadth of The principles taught here. To start the operation of software on host computer 12, a user can put in 92 the device access controller 46 is running on 92. He Device access controller 46, in common design, includes communication module 42 to communicate with the remote computer 16.

En el diseño actual, el controlador 46 de acceso al dispositivo repone en 94 el módulo 34 de interfaz embebida a un estado conocido. Esto incluye reponer cualesquiera variables de estado, datos, etc.. En las realizaciones actuales, el módulo 34 de interfaz embebida conoce la reposición enviando un reconocimiento de nuevo al controlador 46 de acceso al dispositivo.In the current design, the access controller 46 to the device it replenishes in 94 the interface module 34 embedded in a known state This includes replenishing any variables of status, data, etc. In current embodiments, module 34 of embedded interface knows the reset by sending a recognition of new to device access controller 46.

El controlador 46 de acceso también solicita en 96 los identificadores 64 de definición de interfaz desde el ordenador remoto 16. Mediante los identificadores 64 de definición de interfaz, el software que se ejecuta en el ordenador anfitrión 12 puede resultar conocedor de qué capacidades tiene el ordenador remoto 16. El ordenador anfitrión 12 recupera entonces en 98 o busca en 98 cualesquiera definiciones de interfaz identificadas mediante el uso de los identificadores. Obteniendo la definición o definiciones de interfaz, el software en el ordenador anfitrión 12 es capaz de crear y mantener información 44 de servicios acerca de servicios particulares en el ordenador remoto 16. El ordenador anfitrión 12 puede a continuación presentar esta información a un usuario en el ordenador anfitrión 12, o a un software de cliente que solicita tal información.The access controller 46 also requests in 96 interface definition identifiers 64 from the remote computer 16. By definition identifiers 64 interface, the software that runs on the host computer 12 may be aware of what capabilities the computer has remote 16. Host computer 12 then recovers at 98 or Search 98 for any interface definitions identified through the use of identifiers. Getting the definition or interface definitions, the software on the host computer 12 is able to create and maintain 44 services information about particular services on the remote computer 16. The computer host 12 can then present this information to a user on host computer 12, or to a client software that Request such information.

Como se ha explicado antes, las realizaciones actuales pueden ser puestas en práctica usando técnicas orientadas al objeto. Si un usuario desea usar técnicas orientadas al objeto, puede crearse en 100 un objeto de interfaz de dispositivo. Este objeto de dispositivo puede encapsular toda o parte de las informaciones recuperadas a partir de la definición de interfaz.As explained before, the realizations current can be implemented using targeted techniques to the object If a user wishes to use object-oriented techniques, A device interface object can be created in 100. This device object can encapsulate all or part of the information retrieved from the definition of Interface.

Cualesquiera servidores que han de ser usados en el ordenador anfitrión 12 para dar servicio a las solicitudes procedentes de los clientes 22 necesitan ser puestos en marcha. Por ejemplo, un servidor de red 48 podría ser puesto en marcha en 102 para dar servicio a solicitudes procedentes de navegadores en ordenadores de clientes 22. Además, o como alternativa, un servidor 50 de acceso al dispositivo podría ser puesto en marcha en 104 para proporcionar acceso a información acerca del ordenador remoto 16 y también para proporcionar acceso al ordenador remoto 16. Como se ha mostrado en la fig. 2, una aplicación de cliente 52 y/o un cliente 54 con acceso al dispositivo puede ser puesto en marcha en los ordenadores del cliente 22. Una vez que el software está siendo ejecutado en el ordenador anfitrión 12, actúa para dar servicio en 106 a las solicitudes que recibe. El software continuará típicamente dando servicio en 106 a solicitudes hasta que el software detenga su ejecución en 108.Any servers to be used in host computer 12 to service requests coming from customers 22 need to be launched. By example, a network server 48 could be launched in 102 to service requests from browsers in client computers 22. In addition, or as an alternative, a server 50 access to the device could be launched at 104 to provide access to information about remote computer 16 and also to provide access to the remote computer 16. As has been shown in fig. 2, a client application 52 and / or a client 54 with access to the device can be launched in the client computers 22. Once the software is being executed on host computer 12, acts to service 106 to the requests you receive. The software will continue typically serving 106 requests until the software stop running at 108.

A menos que una aplicación de cliente 52 sea ya conocedora de los servicios en el ordenador remoto 16, la aplicación 52 en primer lugar solicita una lista de servicios disponibles. El servidor, bien el servidor de red 48, el servidor 50 de acceso a un dispositivo, o servidor similar, recibe la solicitud y recupera la información de servicio. Dependiendo de si la puesta en práctica particular de las actuales realizaciones está utilizando una aproximación orientada al objeto, el servidor podría o bien recuperar la información del servicio directamente desde la información de servicio 44, o bien desde una función diseñada y puesta en práctica para devolver tal información, o desde un objeto de dispositivo.Unless a client application 52 is already connoisseur of services on remote computer 16, the application 52 first requests a list of services available. The server, well the network server 48, the server 50 access to a device, or similar server, receives the request and retrieve service information. Depending on whether the particular implementation of the current achievements is using an object oriented approach, the server could or retrieve service information directly from the service information 44, or from a designed function and implementation to return such information, or from an object of device.

El servidor envía entonces la información de servicios al cliente 52. Una vez que el cliente conoce qué servicios están disponibles en el ordenador remoto 16, puede solicitar ciertos datos y/o acciones relativas a los servicios. El cliente puede solicitar un valor específico variable. Un usuario, a través de un software de cliente 52, puede solicitar un valor de una variable especifica desde el ordenador remoto 16 para conocer el estado de eventos o datos en el ordenador remoto 16. Por ejemplo, el ordenador remoto 16 puede estar en comunicación electrónica con un sensor de temperaturas, y puede almacenar los datos del sensor de temperaturas en una variable. Un usuario puede desear saber qué valor tiene la variable para conocer qué temperatura está siendo detectada en el ordenador remoto 16.The server then sends the information of customer services 52. Once the customer knows what services  are available on remote computer 16, you can request certain data and / or actions related to services. The client You can request a specific variable value. A user, through of a client software 52, you can request a value of one variable specified from remote computer 16 to know the status of events or data on the remote computer 16. For example, remote computer 16 can be in electronic communication with a temperature sensor, and can store sensor data from temperatures in a variable. A user may wish to know what value has the variable to know what temperature is being detected on the remote computer 16.

El servidor recibe la solicitud para un valor particular y puede solicitar la variable desde el objeto del dispositivo apropiado, o desde un software equivalente funcionalmente. El controlador de acceso, al recibir esta solicitud, envía un mensaje al módulo 34 de interfaz embebido que solicita este valor. El trayecto de comunicación de hardware y software entre el ordenador anfitrión y el ordenador remoto puede ser como se ha mostrado y descrito en relación a la fig. 2.The server receives the request for a value particular and can request the variable from the object of the appropriate device, or from equivalent software functionally The access controller, upon receiving this request, send a message to the embedded interface module 34 that Request this value. The hardware communication path and software between the host computer and the remote computer can be as shown and described in relation to fig. 2.

A la siguiente llamada para su tratamiento, el módulo 34 de interfaz embebida recibe el mensaje y accede a la variable y lee el valor contenido en ella. Después de recuperar el valor de la variable, el módulo 34 de interfaz embebida envía el valor de nuevo al objeto a través del trayecto de comunicación. Una vez que el objeto ha recibido el valor, devuelve el valor al servidor. El servidor responde entonces a la solicitud procedente del cliente y envía el valor de la variable al software del cliente.At the next call for treatment, the embedded interface module 34 receives the message and accesses the variable and read the value contained in it. After recovering the value of the variable, the embedded interface module 34 sends the value back to the object through the communication path. A Once the object has received the value, it returns the value to the server. The server then responds to the request of the client and sends the value of the variable to the software of the client.

Como se ha descrito en relación a la fig. 6, las realizaciones actuales aquí descritas pueden poner en práctica esquemas de seguridad para proporcionar un acceso apropiado a ordenadores remotos 16. La fig. 10 es un diagrama de flujo que ilustra operaciones que pueden ser seguidas usando un código de seguridad para proporcionar la interfaz apropiada a una aplicación de cliente. En esta realización, una aplicación de cliente 52 puede enviar en 110 una solicitud al ordenador anfitrión 12 para acceso al dispositivo. El servidor 50 de acceso al dispositivo puede recibir en 112 la solicitud y a continuación preguntar a la aplicación de cliente cualesquiera códigos de seguridad que pueda tener. La aplicación de cliente 52 puede a continuación enviar en 114 cualesquiera códigos de seguridad que pueda tener.As described in relation to fig. 6, the current embodiments described herein may be implemented security schemes to provide appropriate access to remote computers 16. Fig. 10 is a flow chart that illustrates operations that can be followed using a code of security to provide the appropriate interface to an application Customer In this embodiment, a client application 52 can send in 110 a request to host computer 12 for access to device. The device access server 50 can receive the request in 112 and then ask the client application whatever security codes you can to have. Client application 52 can then send in 114 any security codes you may have.

Si la aplicación de cliente 52 no envía ningún código de seguridad, el servidor 50 de acceso al dispositivo puede proporcionar en 116 la interfaz por defecto o la interfaz que no requiere ningún código de seguridad. Si se enviaron códigos de seguridad, el servidor de acceso al dispositivo puede buscar los códigos en la base de datos de seguridad 70, encontrar qué interfaces deberían ser proporcionadas basadas en ese código, y a continuación proporcionar en 118 la interfaz o interfaces indicadas por la base de datos 70 a la aplicación de cliente 52. El ordenador anfitrión 12 puede entonces entrar en un estado de dar servicio en a las solicitudes recibidas por cualesquiera aplicaciones de cliente 52.If client application 52 does not send any security code, the device access server 50 can provide 116 by default interface or interface that does not Requires no security code. If codes were sent from security, the device access server can search for codes in security database 70, find what interfaces should be provided based on that code, and to then provide in 118 the interface or interfaces indicated through database 70 to client application 52. The computer host 12 can then enter a state of service in a requests received by any client applications 52

Un software comercialmente disponible en EmWare, Inc., es usado en la puesta en práctica de las actuales realizaciones. La compañía emWare Inc., puede ser contactada mediante su dirección de red en www.emWare.com. Un experto en la técnica apreciará como los artículos de software comercialmente disponibles en emWare pueden ser usados con las realizaciones actuales. La siguiente es una descripción general y básica de tecnología de emWare que es usada en las realizaciones actuales.A software commercially available from EmWare, Inc., is used in the implementation of current embodiments. The emWare Inc. company can be contacted through its network address at www.emWare.com . One skilled in the art will appreciate how commercially available software articles in emWare can be used with current embodiments. The following is a general and basic description of emWare technology that is used in current embodiments.

El negocio de emWare se centra alrededor de microcontroladores que gestionan muchos dispositivos electrónicos usados en el mundo actual, incluyendo teléfonos, electrodomésticos, equipamiento de oficinas, ATM, sistemas de seguridad, VCR, automóviles, etc. Estos microcontroladores están embebidos en millones de dispositivos electrónicos inteligentes.EmWare's business is centered around microcontrollers that manage many electronic devices used in today's world, including phones, appliances, office equipment, ATM, security systems, VCR, cars, etc. These microcontrollers are embedded in millions of smart electronic devices.

emWare ha desarrollado tecnología y software que proporcionan control del dispositivo basado en red distribuido. El software de emWare Embedded Micro Internetworking Technology (EMIT) está diseñado para mover la mayoría de software fuera del microcontrolador embebido y distribuirlo a ordenadores más capaces sobre una red. EMIT ha sido también desarrollado para ayudar a mejorar tecnologías de Internet existentes.emWare has developed technology and software that Provide device control based on distributed network. He emWare Embedded Micro Internetworking Technology (EMIT) software It is designed to move most software out of embedded microcontroller and distribute it to more capable computers over a network EMIT has also been developed to help Improve existing Internet technologies.

El uso del software EMIT implica distintos componentes que incluyen lo siguientes: la aplicación embebida de cliente 28, el software emMicro (que se correlaciona con el módulo 34 de interfaz embebida), el software emGateway, el software emNet (que se correlaciona con los módulos de comunicación 38 y 42), y la aplicación 52 de vigilancia/control del cliente. Típicamente, clientes potenciales de emWare tienen ya entornos embebidos en los que planean desplegar el software EMIT de emWare para mejorar sus capacidades de vigilancia y control. Estos entornos embebidos incluyen típicamente el sistema embebido 14, el ordenador anfitrión 12, y los ordenadores de cliente 22.The use of EMIT software implies different components that include the following: the embedded application of client 28, the emMicro software (which correlates with the module 34 embedded interface), the emGateway software, the emNet software (which correlates with communication modules 38 and 42), and the 52 application monitoring / customer control. Typically, potential emWare customers already have environments embedded in the who plan to deploy emWare EMIT software to improve their surveillance and control capabilities. These embedded environments typically include the embedded system 14, the host computer 12, and client computers 22.

emMicro es usado en las realizaciones actuales sobre el ordenador remoto 16 para transmitir información de servicio desde el ordenador remoto 16 al ordenador anfitrión 12. La información de servicio es información acerca de las funciones, variables, eventos y archivos de la aplicación embebida 28 que se ejecuta en el ordenador remoto 16.emMicro is used in current embodiments on remote computer 16 to transmit information from service from remote computer 16 to host computer 12. The service information is information about the functions, variables, events and files of the embedded application 28 that Run on remote computer 16.

Las comunicaciones entre el ordenador anfitrión 12 y el ordenador remoto 16 que ejecutan emMicro son usualmente conseguidas mediante una red ligera tal como RS232, RS484, RF o IR. El componente emNet es responsable de manejar las comunicaciones entre emMicro y el software en el ordenador anfitrión 12.Communications between the host computer 12 and remote computer 16 running emMicro are usually achieved through a light network such as RS232, RS484, RF or IR. The emNet component is responsible for handling communications Between emMicro and the software on the host computer 12.

A partir de la descripción anterior, se apreciará que las realizaciones actuales proporcionan acceso a un sistema embebido y los servicios disponibles en el sistema embebido procedentes de un ordenador en comunicación electrónica con el sistema embebido.From the above description, it you will appreciate that current accomplishments provide access to a embedded system and the services available in the embedded system from a computer in electronic communication with the embedded system

Las realizaciones descritas pueden ser puestas en práctica en otras formas específicas sin salir de su espíritu o características esenciales. Las realizaciones descritas han de ser consideradas en todos los aspectos sólo como ilustrativas, y no restrictivas. El marco del invento está, por ello, indicado por las reivindicaciones adjuntas, en vez de por la descripción anterior. Todos los cambios que se produzcan dentro del significado e intervalo de equivalencia de las reivindicaciones han de estar comprendidos dentro de su alcance.The described embodiments can be put in practice in other specific ways without leaving your spirit or essential features The described embodiments must be considered in all aspects only as illustrative, and not restrictive The framework of the invention is, therefore, indicated by the attached claims, instead of by the above description. All changes that occur within the meaning and equivalence range of the claims must be within its scope.

Claims (15)

1. Un sistema de comunicación para usar en un sistema (10) de ordenadores en red que incluye un ordenador de cliente (22), un ordenador anfitrión (12) y un ordenador remoto (14), siendo usado el ordenador remoto para acceder a un dispositivo (16), siendo el sistema puesto en práctica en el ordenador anfitrión (12) y permitiendo a un usuario del ordenador de cliente acceder a servicios en el ordenador remoto (14) a través del ordenador anfitrión (12), y comprendiendo del sistema:1. A communication system to use in a network computer system (10) including a computer client (22), a host computer (12) and a remote computer (14), the remote computer being used to access a device (16), the system being implemented in the host computer (12) and allowing a user of the computer client access services on the remote computer (14) through of the host computer (12), and comprising the system:
\quadquad
un módulo de comunicaciones (42) para transferir datos hacia y desde un puerto de comunicaciones (40) del ordenador anfitrión;a communications module (42) to transfer data to and from a communications port (40) of the computer host;
\quadquad
un módulo (66) de interfaz de datos para acceder a una definición de interfaz desde un dispositivo de almacenamiento (62, 68) en comunicación electrónica con el ordenador anfitrión, conteniendo el dispositivo de almacenamiento una pluralidad de definiciones de interfaz (60) indexado por identificadores de definición de interfaz (64), en los que el acceso es conseguido mediante el uso de un identificador de definición de interfaz;a data interface module (66) to access an interface definition from a storage device (62, 68) in electronic communication with the host computer, the storage device containing a plurality of interface definitions (60) indexed by identifiers of interface definition (64), in which access is achieved by using a definition identifier of Interface;
\quadquad
un controlador (46) de acceso al dispositivo para comunicar con el ordenador remoto a través del módulo de comunicaciones, funcionando el controlador de acceso al dispositivo para obtener a partir del código del programa de ordenador cargado en el ordenador remoto el identificador de definición de interfaz, funcionando el controlador de acceso al dispositivo para acceder al dispositivo de almacenamiento a través del módulo de interfaz de datos usando el controlador de acceso al dispositivo el identificador de definición de interfaz para acceder a la definición de interfaz; ya device access controller (46) for communicate with the remote computer through the module communications, operating the device access controller to get from the code of the loaded computer program on the remote computer the interface definition identifier, operating the device access controller to access the storage device through the interface module data using the device access controller the interface definition identifier to access the interface definition; Y
\quadquad
un servidor (50) de acceso al dispositivo para dar servicio a las solicitudes del ordenador del cliente (22) para servicios del ordenador remoto (14),a server (50) accessing the device to give service to the client's computer requests (22) to remote computer services (14),
en el que el controlador de acceso al dispositivo está previsto para tener una pluralidad de identificadores de definición de interfaz desde el código de programa de ordenador cargado en el ordenador remoto, el controlador de acceso al dispositivo está previsto para obtener una pluralidad de definiciones de interfaz basado en la pluralidad de identificadores de definición de interfaz, en el que el servidor (50) de acceso al dispositivo está dispuesto para recibir una solicitud procedente del ordenador del cliente (22) y a continuación preguntar al ordenador del cliente (22) por cualesquiera códigos de seguridad que pueda tener, y para recibir cualesquiera códigos de seguridad enviados por el ordenador del cliente (22), si el servidor (50) de acceso al dispositivo no recibe ningún código de seguridad, el servidor (50) de acceso al dispositivo proporciona una interfaz por defectos o una interfaz que no requiere ningún código de seguridad, si los códigos de seguridad son recibidos, el servidor (50) de acceso al dispositivo busca códigos de seguridad en una base de datos de seguridad (70), encuentra qué interfaces deberían ser proporcionadas basadas en ese código de seguridad, y a continuación proporciona la interfaz o más interfaces indicadas por la base de datos (70) al ordenador del cliente, el ordenador anfitrión (12) puede entonces entrar en un estado de dar servicio a las solicitudes recibidas desde el ordenador del cliente.in which the access controller to the device is intended to have a plurality of interface definition identifiers from the code of Computer program loaded on the remote computer, the controller  of access to the device is provided to obtain a plurality of interface definitions based on the plurality of interface definition identifiers, in which the server (50) access to the device is willing to receive a request from the client's computer (22) and then ask the client's computer (22) for any codes of security you may have, and to receive any codes of security sent by the client's computer (22), if the server (50) access to the device does not receive any security code, the device access server (50) provides an interface for defects or an interface that does not require any code security, if security codes are received, the server (50) access to the device searches for security codes in a database of security data (70), find which interfaces should be provided based on that security code, and then provides the interface or more interfaces indicated by the base of data (70) to the client's computer, the host computer (12) you can then enter a state of service requests received from the computer of the client.
2. El sistema de comunicación según la reivindicación 1, en el que la definición de interfaz comprende información relativa al código de programa del ordenador.2. The communication system according to the claim 1, wherein the interface definition comprises information related to the program code of the computer. 3. El sistema de comunicación según la reivindicación 1, en el que el ordenador remoto comprende el código de aplicación, proporcionando el código de aplicación servicios relacionados con el dispositivo.3. The communication system according to the claim 1, wherein the remote computer comprises the code of application, providing the application code services related to the device. 4. El sistema de comunicación según la reivindicación 3, en el que el ordenador remoto comprende además una lista de servicios (32) en el ordenador remoto, comprendiendo la lista información de ciertos servicios.4. The communication system according to the claim 3, wherein the remote computer further comprises a  list of services (32) on the remote computer, comprising the List information about certain services. 5. El sistema de comunicación según la reivindicación 4, en el que el sistema comprende además una enumeración de servicios, siendo la enumeración de servicios un subconjunto de los servicios.5. The communication system according to the claim 4, wherein the system further comprises a enumeration of services, the enumeration of services being a subset of services. 6. El sistema de comunicación según la reivindicación 4, en el que la información de la lista es seleccionada del grupo que consiste en funciones, variables, tipos de datos, eventos y archivos.6. The communication system according to the claim 4, wherein the information in the list is selected from the group consisting of functions, variables, types of data, events and files. 7. El sistema de comunicación según la reivindicación 1, que comprende además un servidor (50) de acceso al dispositivo funcionando el servidor de acceso al dispositivo para recibir una solicitud desde un ordenador de cliente (22) para proporcionar acceso al ordenador remoto.7. The communication system according to claim 1, further comprising an access server (50) to the device running the device access server to receive a request from a client computer (22) to Provide access to the remote computer. 8. Un método para permitir a un usuario de un ordenador de cliente (22) acceder a servicios en un ordenador remoto (14) a través de un ordenador anfitrión (12), comprendiendo dicho método comunicaciones entre un ordenador anfitrión (12) y un ordenador remoto (14) donde el ordenador remoto enlaza con un dispositivo (16), en el que dichas comunicaciones entre dicho ordenador anfitrión (12) y dicho ordenador remoto (14) de dicho método comprenden:8. A method to allow a user a client computer (22) access services on a computer remote (14) through a host computer (12), comprising said method communications between a host computer (12) and a remote computer (14) where the remote computer links to a device (16), wherein said communications between said host computer (12) and said remote computer (14) of said method comprise:
\quadquad
establecer comunicaciones electrónicas entre el ordenador anfitrión y el ordenador remoto;establish electronic communications between the host computer and remote computer;
\quadquad
recibir una pluralidad de identificadores (64) de definición de interfaz desde el código de programa de ordenador en el ordenador remoto;receive a plurality of identifiers (64) of interface definition from the computer program code in the remote computer;
\quadquad
obtener una pluralidad de definiciones de interfaz basadas en la pluralidad de identificadores de definición de interfaz;get a plurality of interface definitions based on the plurality of definition identifiers of Interface;
\quadquad
acceder a una definición de interfaz desde un dispositivo de almacenamiento (62, 68) en comunicación electrónica con el ordenador anfitrión, conteniendo el dispositivo de almacenamiento una pluralidad de definiciones de interfaz (60) indexadas por identificadores (64) de definición de interfaz, en que el acceso es conseguido mediante el uso del identificador de definición de interfaz;access an interface definition from a storage device (62, 68) in electronic communication with the host computer, containing the device storage a plurality of interface definitions (60) indexed by interface definition identifiers (64), in which access is achieved by using the identifier of interface definition;
\quadquad
recibir una solicitud desde un ordenador de cliente (22) y preguntar al ordenador del cliente (22) por cualesquiera códigos de seguridad que pueda tener y recibir cualesquiera códigos de seguridad enviados por el ordenador del cliente (22) en el que:receive a request from a client computer (22) and ask the client's computer (22) for any security codes you may have and receive any codes of security sent by the client's computer (22) in the that:
\quadquad
si no se han recibido códigos de seguridad, proporcionar una interfaz por defecto o una interfaz que no requiera ningún código de seguridad, o si se han recibido corridos de seguridad, buscar códigos en la base de datos de seguridad para encontrar qué interfaces deberían ser proporcionadas y proporcionar la interfaz o más interfaces indicadas por la base de datos (70) al ordenador del cliente (22); introducir un estado de solicitudes de servicios recibidas desde el ordenador de cliente;if no security codes have been received, provide a default interface or an interface that does not require  no security code, or if runs have been received from security, search codes in the security database for find which interfaces should be provided and provide the interface or more interfaces indicated by the database (70) to customer computer (22); enter a request status for services received from the client computer;
facilitar comunicaciones con el ordenador remoto a través de la interfaz en que las comunicaciones facilitadas se refieren al dispositivo.facilitate communications with the remote computer through the interface in which the facilitated communications are Refer to the device.
9. El método según la reivindicación 8, en el que la definición de interfaz comprende información relativa al código del programa de ordenador.9. The method according to claim 8, in the that the interface definition includes information related to Computer program code. 10. El método según la reivindicación 9, que comprende además la operación de recibir una solicitud desde un ordenador del cliente (22) para proporcionar acceso al ordenador remoto.10. The method according to claim 9, which It also includes the operation of receiving a request from a client computer (22) to provide access to the computer remote. 11. El método según la reivindicación 10, que comprende además la operación de proporcionar la interfaz al ordenador del cliente.11. The method according to claim 10, which It also includes the operation of providing the interface to the Customer's computer 12. El método según la reivindicación 11, que comprende además la operación de recibir una solicitud basada en interfaz desde el ordenador del cliente, en que la solicitud basada en interfaz fue creada en el ordenador del cliente mediante el uso de la interfaz.12. The method according to claim 11, which It also includes the operation of receiving a request based on interface from the client's computer, on which the request based in interface it was created on the client's computer by using of the interface. 13. El método según la reivindicación 12, que comprende además la operación de enviar un mensaje al ordenador remoto desde el ordenador anfitrión, en que el mensaje se refiere a la solicitud basada en interfaz.13. The method according to claim 12, which It also includes the operation of sending a message to the computer remote from the host computer, in which the message refers to the interface based request. 14. El método según la reivindicación 13, que comprende además la operación de recibir datos del dispositivo desde el ordenador remoto en respuesta al mensaje enviado al ordenador remoto.14. The method according to claim 13, which It also includes the operation of receiving data from the device from the remote computer in response to the message sent to remote computer 15. Un programa de ordenador que comprende medios de código que, cuando son ejecutados en un sistema de ordenador, instruyen al sistema de ordenador para realizar las operaciones del método de cualquiera de las reivindicaciones 8 a 14.15. A computer program that comprises means of code that, when executed in a system of computer, instruct the computer system to perform the operations of the method of any of claims 8 to 14.
ES01922823T 2000-03-31 2001-03-30 DEVICE INTERFACES TO INTERCONNECT OR NETWORK A COMPUTER AND AN EMBEDDED DEVICE. Expired - Lifetime ES2333698T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/539,696 US6363417B1 (en) 2000-03-31 2000-03-31 Device interfaces for networking a computer and an embedded device
US539696 2000-03-31

Publications (1)

Publication Number Publication Date
ES2333698T3 true ES2333698T3 (en) 2010-02-26

Family

ID=24152274

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01922823T Expired - Lifetime ES2333698T3 (en) 2000-03-31 2001-03-30 DEVICE INTERFACES TO INTERCONNECT OR NETWORK A COMPUTER AND AN EMBEDDED DEVICE.

Country Status (8)

Country Link
US (1) US6363417B1 (en)
EP (1) EP1277123B1 (en)
JP (1) JP4360062B2 (en)
AT (1) ATE443889T1 (en)
AU (1) AU2001249583A1 (en)
DE (1) DE60139990D1 (en)
ES (1) ES2333698T3 (en)
WO (1) WO2001075627A1 (en)

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865568B1 (en) * 2000-05-16 2011-01-04 Verizon Corporate Services Group Inc. Systems and methods for controlling appliances via a network
US8090811B2 (en) * 2000-06-06 2012-01-03 Panasonic Electric Works Co., Ltd. Service provider for embedded devices using a message store
US7530076B2 (en) * 2001-03-23 2009-05-05 S2 Technologies, Inc. Dynamic interception of calls by a target device
CA2440321A1 (en) * 2001-03-23 2002-10-03 S2 Technologies, Inc. Development and testing system and method
US6877051B2 (en) * 2001-06-12 2005-04-05 Intel Corporation Consistency checking mechanism for configuration parameters in embedded systems
EP1271418A1 (en) * 2001-06-27 2003-01-02 Nokia Corporation Method for accessing a user operable device of controlled access
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
US20030225873A1 (en) * 2002-05-30 2003-12-04 Wade Michael A. Optimization of network performance through uni-directional encapsulation
KR20110118848A (en) * 2002-09-19 2011-11-01 크리 인코포레이티드 A light emitting diode comprising a sloped sidewall and coated with a phosphor, and a method of manufacturing the same
US8356067B2 (en) 2002-10-24 2013-01-15 Intel Corporation Servicing device aggregates
WO2005038650A1 (en) * 2003-10-14 2005-04-28 Live Media Pty Ltd A computep, system and methods therefor
US10313303B2 (en) 2007-06-12 2019-06-04 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US20120066608A1 (en) 2005-03-16 2012-03-15 Ken Sundermeyer Control system user interface
US20160065414A1 (en) 2013-06-27 2016-03-03 Ken Sundermeyer Control system user interface
US10375253B2 (en) 2008-08-25 2019-08-06 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US11159484B2 (en) 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US9609003B1 (en) 2007-06-12 2017-03-28 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US11368327B2 (en) 2008-08-11 2022-06-21 Icontrol Networks, Inc. Integrated cloud system for premises automation
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US8473619B2 (en) * 2005-03-16 2013-06-25 Icontrol Networks, Inc. Security network integrated with premise security system
US10062273B2 (en) 2010-09-28 2018-08-28 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US12063220B2 (en) 2004-03-16 2024-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US10382452B1 (en) 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US8612591B2 (en) * 2005-03-16 2013-12-17 Icontrol Networks, Inc. Security system with networked touchscreen
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US8988221B2 (en) 2005-03-16 2015-03-24 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US7911341B2 (en) * 2007-01-24 2011-03-22 Icontrol Networks Inc. Method for defining and implementing alarm/notification by exception
US9191228B2 (en) 2005-03-16 2015-11-17 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US9172553B2 (en) * 2005-03-16 2015-10-27 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US8635350B2 (en) 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US8335842B2 (en) 2004-03-16 2012-12-18 Icontrol Networks, Inc. Premises management networking
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US8996665B2 (en) * 2005-03-16 2015-03-31 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US20090077623A1 (en) * 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US7689305B2 (en) * 2004-03-26 2010-03-30 Harman International Industries, Incorporated System for audio-related device communication
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US9450776B2 (en) * 2005-03-16 2016-09-20 Icontrol Networks, Inc. Forming a security network including integrated security system components
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US8713132B2 (en) 2005-03-16 2014-04-29 Icontrol Networks, Inc. Device for data routing in networks
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US8819178B2 (en) 2005-03-16 2014-08-26 Icontrol Networks, Inc. Controlling data routing in integrated security systems
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US8825871B2 (en) * 2005-03-16 2014-09-02 Icontrol Networks, Inc. Controlling data routing among networks
US9059863B2 (en) * 2005-03-16 2015-06-16 Icontrol Networks, Inc. Method for data routing in networks
US8996586B2 (en) * 2006-02-16 2015-03-31 Callplex, Inc. Virtual storage of portable media files
US10303783B2 (en) * 2006-02-16 2019-05-28 Callplex, Inc. Distributed virtual storage of portable media files
US12063221B2 (en) 2006-06-12 2024-08-13 Icontrol Networks, Inc. Activation of gateway device
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US12184443B2 (en) 2007-06-12 2024-12-31 Icontrol Networks, Inc. Controlling data routing among networks
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US12003387B2 (en) 2012-06-27 2024-06-04 Comcast Cable Communications, Llc Control system user interface
US10051078B2 (en) 2007-06-12 2018-08-14 Icontrol Networks, Inc. WiFi-to-serial encapsulation in systems
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US12283172B2 (en) 2007-06-12 2025-04-22 Icontrol Networks, Inc. Communication protocols in integrated systems
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US10389736B2 (en) 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US12541237B2 (en) 2007-08-10 2026-02-03 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US10530839B2 (en) 2008-08-11 2020-01-07 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US9628440B2 (en) 2008-11-12 2017-04-18 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
WO2011137458A1 (en) 2010-04-30 2011-11-03 Icontrol Networks, Inc. Power and data solution for remote low-power devices
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
WO2014069479A1 (en) 2012-10-29 2014-05-08 学校法人埼玉医科大学 Method of manufacturing differentiated pluripotent stem cell
US9928975B1 (en) 2013-03-14 2018-03-27 Icontrol Networks, Inc. Three-way switch
US9287727B1 (en) 2013-03-15 2016-03-15 Icontrol Networks, Inc. Temporal voltage adaptive lithium battery charger
US9867143B1 (en) 2013-03-15 2018-01-09 Icontrol Networks, Inc. Adaptive Power Modulation
CN104216797B (en) * 2013-06-04 2017-08-08 国基电子(上海)有限公司 Embedded system setting value initialization system, method and electronic installation
EP3031206B1 (en) 2013-08-09 2020-01-22 ICN Acquisition, LLC System, method and apparatus for remote monitoring
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
CN105162819A (en) * 2015-06-19 2015-12-16 北京世纪东方国铁科技股份有限公司 Remote management method and remote management system for embedded equipment
US11184236B2 (en) 2019-04-30 2021-11-23 Intel Corporation Methods and apparatus to control processing of telemetry data at an edge platform
US11096012B2 (en) * 2019-05-29 2021-08-17 Texas Instruments Incorporated Integrated Wi-Fi location
US11374776B2 (en) 2019-09-28 2022-06-28 Intel Corporation Adaptive dataflow transformation in edge computing environments

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4812963A (en) * 1987-03-31 1989-03-14 Food Automation-Service Techniques, Inc. Plural cooking computer communication system
EP0604010B1 (en) 1992-12-21 1999-12-29 Sun Microsystems, Inc. Method and apparatus for subcontracts in distributed processing systems
US5544320A (en) * 1993-01-08 1996-08-06 Konrad; Allan M. Remote information service access system based on a client-server-service model
EP0712080B1 (en) 1994-11-14 2002-03-06 Sun Microsystems, Inc. A method and a system for controlling functions of a target application using controllable objects
US5793965A (en) * 1995-03-22 1998-08-11 Sun Microsystems, Inc. Method and apparatus for determining the type of an object in a distributed object system
US5848273A (en) 1995-10-27 1998-12-08 Unisys Corp. Method for generating OLE automation and IDL interfaces from metadata information
US5881230A (en) 1996-06-24 1999-03-09 Microsoft Corporation Method and system for remote automation of object oriented applications
US5768510A (en) * 1996-07-01 1998-06-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server application enabler system
US5848246A (en) 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US5802530A (en) 1996-07-01 1998-09-01 Sun Microsystems, Inc. Web document based graphical user interface
US5870719A (en) 1996-07-03 1999-02-09 Sun Microsystems, Inc. Platform-independent, usage-independent, and access-independent distributed quote configuraton system
US5889942A (en) * 1996-12-18 1999-03-30 Orenshteyn; Alexander S. Secured system for accessing application services from a remote station
JPH10254689A (en) * 1997-03-14 1998-09-25 Hitachi Ltd Application configuration design support method for client / server system
US5960421A (en) * 1997-08-20 1999-09-28 Bea Systems, Inc. Service interface repository internationalization
US5884317A (en) * 1997-08-20 1999-03-16 Bea Systems, Inc. Service interface repository

Also Published As

Publication number Publication date
JP4360062B2 (en) 2009-11-11
DE60139990D1 (en) 2009-11-05
EP1277123A1 (en) 2003-01-22
AU2001249583A1 (en) 2001-10-15
US6363417B1 (en) 2002-03-26
WO2001075627A1 (en) 2001-10-11
EP1277123A4 (en) 2006-05-31
EP1277123B1 (en) 2009-09-23
ATE443889T1 (en) 2009-10-15
JP2004500668A (en) 2004-01-08

Similar Documents

Publication Publication Date Title
ES2333698T3 (en) DEVICE INTERFACES TO INTERCONNECT OR NETWORK A COMPUTER AND AN EMBEDDED DEVICE.
US10536295B2 (en) Control infrastructure
US7267275B2 (en) System and method for RFID system integration
US6587736B2 (en) Distributed objects for a computer system
EP1526457B1 (en) Context-aware automatic service discovery and execution engine in mobile ad-hoc networks
KR100843495B1 (en) A method for sending service data to an rfid tag while an attached computer system is powered off and a computer system therefor
US20080265029A1 (en) Method and apparatus for verifying contents of containers marked with machine-readable identifiers
BRPI0708548A2 (en) active transponder, method of generating a transponder message in an rfid network, transponder message packet format, set of transponder message formats, and reader unit
CN109313761B (en) Selecting applications on a card
Kumar et al. Zigbee based indoor campus inventory tracking using RFID module
US6941451B2 (en) Management subsystem and method for discovering management device functions
Kumar et al. Design and implementation of an automated office environment system using embedded sensors
San Implementation of IoT-based Home Control and Monitoring System using Raspberry Pi and NodeMCUs
Foley An infrastructure for electromechanical appliances on the internet
Khalid et al. Analysis and Formal Model of RFID-Based Patient Registration System
Smith History of the WISP program
Kanaan et al. Internet Of Things Challenges And Obstacles-A Comparative Study.
Reinhardt et al. Designing a sensor network testbed for smart heterogeneous applications
Nilsen A CORBA service for the OSA+ Real-Time Middleware
KR20030064101A (en) hard disk selecting apparatus for use in computer system with multi function and selecting method therefor
CA2363964C (en) Moniker method, apparatus, system and article of manufacture
Dübendorfer An extensible infrastructure and a representation scheme for distributed smart proxies of real world objects
Sagar et al. Ambulance Controlled Traffic System Using RFID Technology with LabVIEW Simulation
Xu et al. Design and realization of equipment monitoring system based on RFID and J2EE
Etemadi et al. Fabryq: Using phones as smart proxies to control wearable devices from the Web