MX2007012895A - Aparato y metodo para manejar una red de dispositivos inteligentes. - Google Patents

Aparato y metodo para manejar una red de dispositivos inteligentes.

Info

Publication number
MX2007012895A
MX2007012895A MX2007012895A MX2007012895A MX2007012895A MX 2007012895 A MX2007012895 A MX 2007012895A MX 2007012895 A MX2007012895 A MX 2007012895A MX 2007012895 A MX2007012895 A MX 2007012895A MX 2007012895 A MX2007012895 A MX 2007012895A
Authority
MX
Mexico
Prior art keywords
server
group
devices
further characterized
network
Prior art date
Application number
MX2007012895A
Other languages
English (en)
Inventor
Uri Kotchavi
Asad Jobanputra
Yousif Hassan
Original Assignee
Esprida Corp
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 Esprida Corp filed Critical Esprida Corp
Publication of MX2007012895A publication Critical patent/MX2007012895A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • H04L41/5074Handling of user complaints or trouble tickets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0226Mapping or translating multiple network management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • H04L41/0809Plug-and-play configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • 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 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management

Abstract

Se describen sistemas y metodos para manejar una red de dispositivos inteligentes en comunicacion con un servidor; para cada dispositivo inteligente que es parte de una red, un proceso de cliente asociado con el dispositivo emite una consulta al dispositivo, que ocasiona la emision de una consulta de instrucciones al servidor; en una respuesta controlable a la consulta, como un resultado del proceso de cliente, el servidor produce por lo menos una de las siguientes acciones: (i) descarga, para almacenamiento local en el dispositivo, de por lo menos uno de: datos e instrucciones, para usar en asociacion con el dispositivo, y (ii) carga de datos pertinentes al dispositivo.

Description

APARATO Y MÉTODO PARA MANEJAR UNA RED DE DISPOSITIVOS INTEUGENTES CAMPO TÉCNICO Y ANTECEDENTES DE LA iNVENCION La presente ¡nvención se refiere a dispositivos de manejo en una red, y más específicamente a dispositivos de manejo que utilizan una interfaz de comunicación independiente del dispositivo. En la técnica anterior se habían diseñado sistemas de cliente/servidor para informar sobre el estado de los dispositivos dentro de una red; sin embargo, estos sistemas han estado limitados porque son dependientes del dispositivo, requiriendo que todos los dispositivos operen con el mismo sistema operativo (Linux, Windows, etc.) y ejecuten el mismo código de lenguaje o modelo de objeto. Estos sistemas de informes utilizan la arquitectura estándar de aplicación de tres capas (capa de datos, capa de lógica de negocios, capa de presentación). Esta arquitectura de tres capas no separa las dependencias de sistema de la capa lógica de negocios, y por lo tanto la arquitectura de tres capas no provee capacidad de reutilización para diferentes tipos de dispositivos. Adicionalmente, estos sistemas están diseñados solo para dar informes y no para manejo, configuración, autorreparación y manejo de contenido remotos. Por lo tanto, los sistemas de la técnica anterior no soportan la automatización adaptativa de proceso.
BREVE DESCRIPCIÓN DE LA INVENCION En una modalidad de la invención se describe una plataforma distribuida para manejar una red de dispositivos usando componentes heterogéneos de software manejables en red. La plataforma permite controlar tareas en un dispositivo que son realizadas en el mundo real bajo control inteligente. La plataforma incluye un componente de servidor y un componente de cliente, en donde el componente de cliente y los componentes de servidor incluyen una lógica que puede ser software, hardware, o la alguna combinación de los mismos. Cada dispositivo está asociado con un componente de cliente. Un dispositivo es capaz de ejecutar o interpretar la lógica del componente de cliente. Los ejemplos de dispositivos incluyen terminales de computadora, kioscos, impresoras, maquinaria robótica, máquinas vendedoras, sistemas etéreo, sensores y cualquier otra máquina que sea capaz de ser conectada directa o indirectamente a una red de computadora. El dispositivo se conecta a la red a través del componente de cliente y se comunica directamente con el servidor por la red que usa el componente de cliente. La plataforma provee una arquitectura orientada a servicio en donde el componente de cliente está configurado para hacer contacto con el componente de servidor, periódicamente o cuando ocurre un evento, usando un protocolo de independiente de dispositivo. De esta manera, el servidor puede recibir el estado de un dispositivo, información de configuración, o una alerta sobre una condición de error de un dispositivo. La plataforma se basa en la provisión de una colección de servicios. Un servicio existe como un proceso independiente y tiene una función diferenciada bien definida, dando una responsabilidad única y claramente delineada. Un servicio se asocia con un protocolo de comunicación. La plataforma opera de tal manera que el componente de servidor recibe una "solicitud" de un solicitante de servicio (componente de cliente), procesa la solicitud, y envía de regreso una "respuesta" apropiada al componente del cliente asociado con el dispositivo. El componente de cliente no requiere saber como es procesada la solicitud o como es realizado el servicio. Solamente requiere conocer del formato de solicitud y los resultados que son producidos. Esto hace a la plataforma modular e interoperable. De esta manera, la plataforma combina una arquitectura orientada al servicio que separa las dependencias del dispositivo y la lógica de negocios, permitiendo la reutilización de la lógica de negocios con dispositivos múltiples. Se pueden agrupar dispositivos adicionales que comparten características similares, pero que tienen protocolos de comunicación subyacentes o sistemas operativos dispares. El dispositivo puede contener el componente de cliente que puede incluir software (secuencias de comandos, códigos de máquina) o hardware (sensores) para proveer información de estado/error. En una modalidad, el componente de cliente de la plataforma está configurado para intentar autorrepararse antes de informar sobre una condición de error. Reinicializando el software en el dispositivo o corriendo su programa de secuencia de comandos puede originarse la autorreparación. Adicionalmente, puede haber diferentes clases de informes; por ejemplo, si ocurre una condición de error durante un periodo sin que se resuelva por autorreparación, el dispositivo hará contacto con el servidor, que enviará un mensaje a una dirección designada de un usuario. El servidor podría enviar un mensaje de correo electrónico a un técnico. Si persiste el error y éste es comunicado al servidor, se puede configurar el servidor para que haga contacto con un administrador de la organización que controla los dispositivos. El componente de servidor incluye una interfaz de usuario para introducir reglas de negocios. Estas reglas de negocios pueden ser ejecutadas por el servidor, por el componente de cliente, o por una combinación de los componentes de servidor y de cliente. Las reglas de negocios son enviadas a los componentes de cliente que están asociados con los dispositivos cuando el componente de cliente solicita las reglas de negocios del servidor. Puede haber reglas de negocios asociadas con un dispositivo único, una clase de dispositivo, con clases múltiples de dispositivos, o a través de alguna otra determinación de dispositivos. Las reglas de negocios son provistas a un usuario mediante una interfaz de usuario en términos de categorías. Las categorías son independientes del dispositivo. Dentro de cada categoría hay una o más acciones que pueden ser realizadas. Las acciones son independientes del dispositivo. El servidor sabe qué acciones son admisibles para cada dispositivo y solamente desplegará el dispositivo para el que se puede realizar la acción. Asociado con cada dispositivo que es parte de la plataforma, está un perfil que indica la historia del dispositivo (lo que se ha enviado al dispositivo y lo que se ha recibido del dispositivo), reglas que son aplicables, información de configuración y, para algunos dispositivos, el contenido digital que se ha distribuido del componente de servidor al dispositivo. El componente de cliente asociado con un dispositivo puede enviar y recibir información del servidor, permitiendo informar sobre el estado y recibir actualizaciones e información de configuración. El componente de servidor provee la ubicación central de la distribución de contenido, distribución de datos de configuración, y la recepción de informes de datos asociados con cada uno de los dispositivos de la red. El componente de servidor puede incluir una pluralidad de módulos, en donde cada módulo puede operar independientemente en una computadora, sistema de computadora o red diferente. La arquitectura de los módulos soporta el despliegue en un medio agrupado para proveer alta disponibilidad mediante tolerancia de falla en todas las capas de aplicación, incluyendo la capa de presentación, servicios web, lógica de negocios, acceso de datos y servicios de sistema. Se siguen estándares J2EE para aprovechar las características de tolerancia de falla, balance de carga y disponibilidad ofrecidas por los servidores de aplicación que cumplen con J2EE. La tolerancia de falla en la capa de acceso de datos es soportada poniendo en práctica una plataforma de base de datos paralela. La comunicación entre el componente de cliente y el componente de servidor puede ocurrir por diferentes canales o por diferentes redes, dependiendo del mensaje de comunicación y el módulo del servidor con el que se está comunicando. La división de comunicación entre los módulos en el servidor provee escalabilidad, seguridad y ni un solo punto de falla. La comunicación es realizada usando protocolos, tales como SOAP, y XML por HTTP o HTTPS. Haciendo que el cliente haga solicitudes al servidor a través de una conexión de Internet, la plataforma evita problemas de comunicación debidas a cortafuegos. Es establecida por el cliente una comunicación directa y sesión de HTTP, que permite la transparencia de HTTP al cliente incluso si está detrás de un cortafuego. De esta manera, el componente de cliente puede recibir comandos para su ejecución e instrucciones dentro de la estructura de protocolo de SOAP. Se usa simple XML por HTTP para enviar información de estado de componente al servidor, en donde es utilizado como SOAP para una funcionalidad más compleja, por ejemplo envío de anexos, contenido digital e informes. La plataforma opera con dispositivos conocidos para los cuales se han creado perfiles de dispositivo en el componente de servidor. El número y tipo de dispositivos dentro de la plataforma son conocidos por el servidor y solo pueden añadirse dispositivos adicionales a través del componente de servidor. El componente de servidor incluye un módulo para los perfiles de dispositivo, en donde los perfiles de dispositivo contienen las características del dispositivo que son almacenadas como metadatos. En una modalidad de la invención, el servidor impulsará parámetros de configuración a un dispositivo cuando el dispositivo se conecta y es reconocido como un dispositivo autorizado. El dispositivo tendrá un componente de cliente asociado que configurará el dispositivo al recibir la información de configuración desde el servidor. De esta manera, el componente de cliente no requiere ser configurado manualmente. La interfaz de usuario de la plataforma permite la personalización de las reglas de negocios, de tal manera que un usuario puede seleccionar parámetros de error, características de presentación de informes o características de autorreparación para un solo dispositivo, un grupo de dispositivos, o para todos los dispositivos. Esta información es almacenada en el perfil de dispositivo y será distribuida cuando el componente de cliente asociado con un dispositivo se conecta con el servidor. La interfaz de usuario se estructura en cuanto a cuadros de diálogo y menús desplegables que permiten la creación de las reglas de negocios personalizadas. Las reglas de negocios, tales como presentación de informes y autorreparacíón, que son definidas usando la interfaz de usuario, son provistas al cliente y ejecutadas por el cliente. Otras reglas, como el envío de comunicación en función de notificaciones de error a individuos objetivo, son realizadas por el servidor. Las reglas de negocios se pueden dividir en cinco clasificaciones, manejo de error, alertas y notificaciones, informes programados y mantenimiento programado. Se puede tener acceso a la interfaz de usuario desde cualquier computadora/dispositivo que sea capaz de hacer una conexión a Internet y desplegar una ventana de navegador usando HTTP/HTTPS. De esta manera, el usuario que está configurando las reglas de negocios que son almacenadas en el componente de servidor, no requiere estar ubicado físicamente en el servidor. Cada pantalla/molde que es provisto a un usuario que está ingresando al componente de servidor, está basada en información que ha sido introducida desde una pantalla previa. Por ejemplo, el usuario puede configurar o crear reglas de negocios / manejo de error para un grupo organizado basándose en la ubicación de los dispositivos, el tipo de dispositivos y la configuración de los dispositivos, periféricos asociados con los dispositivos, o cualquier otra característica almacenada en los perfiles del dispositivo. De esta manera, la interfaz de usuario se puede usar para configurar reglas de negocios e informes, de tal manera que se puede hacer un análisis inteligente que incluye rastrear los datos de ventas y la información de uso respecto al contenido digital o dispositivos. Los informes que son provistos al usuario final se pueden adaptar a la función de negocios del usuario final. La información de mercadeo puede ser controlada y actualizada por los usuarios de mercadeo, la información de ventas puede ser monitoreada por los administradores de ventas, y los informes de error pueden ser monitoreados por el equipo de servicio. De acuerdo con una modalidad de la invención, se presenta un método para manejar una red de dispositivos inteligentes en comunicación con un servidor. El método incluye, para cada dispositivo, establecer un proceso de cliente asociado con el dispositivo que ocasiona la emisión de una consulta de instrucciones al servidor. En respuesta controlable a la consulta recibida en el servidor como resultado del proceso de cliente, se produce por lo menos una de las siguientes acciones: (1 ) descarga, para almacenamiento local en el dispositivo, de por lo menos uno de: datos e instrucciones, para utilizar en asociación con el dispositivo, y (2) carga de datos pertinentes al dispositivo. De acuerdo con modalidades relacionadas de la invención, el método puede incluir una interfaz en asociación con el servidor, que permite establecer una regla de negocios que gobierna el manejo de operación de un conjunto seleccionable de dispositivos en la red. Un proceso de descarga del método de negocios que se ejecuta en el servidor puede ocasionar la descarga de instrucciones de negocios pertinentes para el conjunto seleccionable de dispositivos, para almacenamiento local en cada uno de los conjuntos seleccionables de dispositivos que ejecutan la regla de negocios en el dispositivo. De acuerdo con otra modalidad de la invención, se presenta un método para la configuración automática de un dispositivo inteligente en una red por conexión a la red. El método incluye configurar un servidor para aceptar consultas asociadas con un dispositivo. Se establece un proceso de cliente asociado con el dispositivo, ocasionando la emisión de una consulta al servidor. El dispositivo es reconocido en el servidor en función de por lo menos la consulta, ocasionando la emisión de datos de configuración al dispositivo. Se establece un proceso de cliente asociado con el dispositivo para configurar automáticamente el dispositivo en función de los datos de configuración. De acuerdo con otra modalidad de la invención se presenta un método para manejar dispositivos inteligentes dentro de una red. El método incluye recibir en un servidor un conjunto de criterios que incluyen las características de dispositivo que definen un grupo organizado de los dispositivos inteligentes en red. La membresía de los dispositivos inteligentes del grupo es determinada en el servidor en función de una base de datos que contiene las características de los dispositivos inteligentes de la red. Desde el servidor es enviada una señal a cada miembro del grupo, suministrando a cada miembro el conjunto de criterios que definen al grupo. Una señal de actualización de dispositivo es recibida desde cualquier miembro del grupo que tenga una actualización, por ejemplo para hardware o configuración. De esta manera, basándose en la señal de actualización, el servidor monítorea automáticamente la calificación actualizada de la membresía del grupo organizado. De acuerdo con una modalidad relacionada de la invención, el servidor puede recibir un cambio de criterio del grupo organizado. A cada miembro del grupo se le envía una actualización de criterios de grupo. Una señal de abandono es recibida desde cualquier miembro del grupo que deja de cumplir con el criterio actualizado de membresía de grupo. De acuerdo con modalidades relacionadas adicionales de la invención, una señal enviada a cada miembro del grupo puede ser recibida por un cliente asociado con el dispositivo inteligente. El cliente puede traducir la señal en una o más instrucciones entendidas por el dispositivo inteligente. De acuerdo con otras modalidades relacionadas de la ¡nvención, el método incluye recibir en el servidor una solicitud de información del grupo organizado de un dispositivo en red diferente de los dispositivos inteligentes. La información con respecto al grupo organizado es enviada al dispositivo en red. Cada grupo puede incluir un nivel de acceso asociado y se puede basar en un nivel de acceso recibido desde el dispositivo en red; el servidor puede determinar si el dispositivo en red puede recibir la información de grupo. El nivel de acceso asociado puede proveer acceso selectivo a características del dispositivo. Las características de dispositivo pueden incluir, por ejemplo: ubicación, modelo de hardware, configuración de software y tipo de dispositivo. El cambio de criterios del grupo puede ser originado por un dispositivo en red. De acuerdo con otra modalidad de la invención, se presenta un sistema para manejar dispositivos inteligentes en red en comunicación con un servidor. El sistema incluye, para cada dispositivo inteligente en red, un módulo de proceso de cliente para establecer un proceso de cliente que ocasiona la emisión de una consulta al servidor. Un módulo de proceso de servidor sensible a la consulta ocasiona (1 ) descarga, para almacenamiento local en el dispositivo, de datos o instrucciones, para usar en asociación con el dispositivo inteligente, o (2) cargar datos pertinentes al dispositivo. De acuerdo con modalidades relacionadas de la invención, una interfaz en asociación con el módulo de proceso de servidor puede permitir el establecimiento de una regla de negocios que gobierna el manejo de operación de un conjunto seleccionable de dispositivos inteligentes en la red. Un módulo de método de negocios en el servidor puede descargar instrucciones de negocios pertinentes para un conjunto seleccionable de dispositivos, para almacenamiento local en cada uno de los conjuntos seleccionables de dispositivos inteligentes que ejecutan la regla de negocios en un dispositivo. El módulo de método de negocios puede separar las instrucciones de negocios de las instrucciones de comunicación entre el módulo de proceso de cliente y el módulo de proceso de servidor. De acuerdo con otra modalidad de la invención, un sistema para el manejo de dispositivos inteligentes dentro de una red incluye un módulo receptor localizado en un servidor. El módulo receptor recibe un grupo de criterios que ¡ncluyen características de dispositivo que definen un grupo organizado de los dispositivos inteligentes en red. Un módulo de determinación de grupo, localizado en el servidor, determina la membresía de los dispositivos inteligentes dentro del grupo organizado, basándose por lo menos en una base de datos que contienen las características de los dispositivos inteligentes dentro de la red. Un módulo de comunicación localizado en el cliente en cada miembro del grupo, envía una señal al servidor, que actualiza la membresía de grupo. El módulo receptor recibe una señal de actualización desde cualquier miembro del grupo que tiene una actualización, en donde el servidor determina si el dispositivo es todavía miembro del grupo. De acuerdo con modalidades relacionadas con la invención, el sistema incluye una interfaz para recibir en el servidor una señal indicativa de un cambio de los criterios del grupo, en donde el módulo de ¡nformación actualiza la membresía de grupo. El módulo de determinación de grupo puede actualizar la afiliación de grupo basándose en la señal actualizada. La señal enviada por el módulo de comunicación a cada miembro del grupo puede ser recibida por un cliente asociado con el dispositivo inteligente. El cliente puede traducir la señal en una o más instrucciones entendidas por el dispositivo inteligente. De acuerdo con modalidades adicionales relacionadas de la invención, un módulo de información puede recibir una solicitud de información de grupo desde un dispositivo en red diferente de los dispositivos inteligentes, ocasionando que el módulo de comunicación envíe una o más listas de grupos al dispositivo en red. Cuando el módulo de información recibe una solicitud de información de grupo de un dispositivo en red, un módulo de seguridad puede determinar un nivel de acceso asociado. Basándose en el nivel de acceso, el módulo de seguridad puede determinar si el dispositivo en red puede recibir la información. El módulo de seguridad puede utilizar un perfil de usuario para determinar si un dispositivo en red puede recibir la información. El módulo de seguridad puede determinar si un usuario puede cambiar las características de la información. De acuerdo con otra modalidad de la invención, se presenta un producto de programa de computadora para utilizar en un sistema de computadora, para manejar una red de dispositivos inteligentes en comunicación con un servidor. El producto de programa de computadora incluye un medio utilizable en computadora que tiene un programa legible en computadora. El código de programa legible en computadora incluye para cada dispositivo un código de computadora que establece un proceso de cliente asociado con el dispositivo, que ocasiona la emisión de una consulta de instrucciones al servidor. Además, del código de programa legible en computadora incluye un código de computadora para ocasionar, en respuesta controlable a la consulta recibida en el servidor como un resultado del proceso de cliente, por lo menos una acción de (1 ) descargar, para almacenamiento local en el dispositivo, por lo menos uno de: datos e instrucciones, para usarse en asociación con el dispositivo, y (2) cargar datos pertinentes al dispositivo. De acuerdo con modalidades relacionadas con la invención, el código de programa legible en computadora puede incluir código de computadora para una interfaz en asociación con el servidor, que permite establecer una regla de negocios que gobierna el manejo de operación de un conjunto seleccionable de dispositivos en la red. El código de computadora para un proceso de descarga de método de negocios que se ejecuta en el servidor, puede ocasionar la descarga de instrucciones de negocios pertinentes para el conjunto seleccionable de dispositivos, para almacenamiento local en cada uno de los conjuntos seleccionables de dispositivos que ejecutan la regla de negocios en el dispositivo.
De acuerdo con otra modalidad de la invención, se presenta un producto de programa de computadora para usar en un sistema de computadora, para la configuración automática de un dispositivo inteligente en una red por conexión a la red. El producto de programa de computadora incluye un medio utilizable en computadora que tiene un programa legible en computadora. El código del programa legible en computadora incluye: código de computadora para configurar un servidor para aceptar consultas asociadas con un dispositivo; el código de computadora para establecer un proceso de cliente asociado con el dispositivo, que ocasiona la emisión de una consulta al servidor; código de computadora para reconocer el dispositivo en el servidor basándose por lo menos en la consulta que ocasiona la emisión de datos de configuración al dispositivo; y código de computadora para establecer un proceso de cliente asociado con el dispositivo para configurar automáticamente el dispositivo basándose en los datos de configuración. De acuerdo con una modalidad adicional de la invención, se presenta un producto de programa de computadora para usar en un sistema de computadora para manejar dispositivos inteligentes dentro de una red. El producto de programa de computadora incluye un medio utilizable en computadora que tiene un programa legible en computadora. El código de programa legible en computadora incluye código de computadora para recibir en un servidor un grupo de criterios, que incluyen características de dispositivo que definen un grupo organizado de dispositivos inteligentes en la red. El código legible en computadora incluye también código de computadora para determinar en el servidor la membresía de los dispositivos inteligentes del grupo, basándose en una base de datos que contiene características de los dispositivos inteligentes dentro de la red. Adicionalmente, el código de programa legible en computadora incluye código de computadora para enviar desde el servidor una señal a cada miembro del grupo, que identifica a cada miembro como perteneciente al grupo. En una modalidad, cada miembro del grupo es provisto de un grupo de criterios que definen el grupo. En algunas modalidades, el producto de programa de computadora incluye código de computadora para recibir una señal de abandono desde cualquier miembro del grupo que deja de cumplir con los criterios de membresía. En otra modalidad, el dispositivo inteligente envía una señal de actualización al servidor, en donde el código de computadora en el servidor determina si el dispositivo actualizado es todavía miembro del grupo. Así, los dispositivos inteligentes pueden monitorear automáticamente su calificación de membresía en el grupo organizado. De acuerdo con modalidades relacionadas de la invención, el producto de programa de computadora puede incluir, además 1 ) código de computadora para recibir en el servidor un cambio de los criterios del grupo organizado, 2) código de computadora para enviar una actualización de criterios de grupo a cada miembro del grupo, y 3) código de computadora para recibir una señal de abandono de cualquier miembro del grupo que deja de cumplir con el criterio actualizado de la membresía de grupo. De acuerdo con modalidades adicionales relacionadas de la invención, el producto de programa de computadora puede incluir código de computadora para la recepción, por parte de un cliente asociado con el dispositivo inteligente, de la señal enviada a cada miembro del grupo. El producto de programa de computadora puede incluir además código de computadora para traducir en el cliente la señal en una o más instrucciones entendidas por el dispositivo inteligente. De acuerdo con otras modalidades relacionadas de la invención, el producto de programa de computadora puede incluir 1 ) código de programa para recibir en el servidor una solicitud de información del grupo organizado desde un dispositivo en red diferente de los dispositivos inteligentes, y 2) código de programa para enviar información con respecto al grupo organizado al dispositivo en red. Cada grupo puede incluir un nivel de acceso asociado, el producto de programa de computadora comprendiendo además código de computadora para determinar en el servidor si el dispositivo en red puede recibir la información de grupo. El nivel de acceso asociado puede proveer acceso selectivo para las características del dispositivo. Las características del dispositivo pueden incluir la ubicación, modelo de hardware, configuración de software y tipo de dispositivo. El producto de programa de computadora puede comprender además código de computadora en un dispositivo en red para enviar el cambio de los criterios del grupo.
BREVE DESCRIPCIÓN DE LOS DIBUJOS Las características de la invención anteriormente mencionadas se entenderán mas fácilmente haciendo referencia a la siguiente descripción detallada considerada con los dibujos anexos, en los cuales: La figura 1 muestra una plataforma para manejar dispositivos en red utilizando una interfaz independiente del dispositivo; La figura 1A es un diagrama de bloques que muestra la plataforma en un medio agrupado y distribuido; La figura 2 es un diagrama de bloques que muestra los servicios autónomos y la comunicación entre el componente de cliente y el componente de servidor; Las figuras 3, 3A, 3B y 3C son un diagrama de bloques que muestra los servicios y módulos que son parte del componente de servidor; Las figuras 4, 4A y 4B son un diagrama de bloques que muestra los servicios y módulos que son parte del componente de cliente; Las figuras 5 y 6 son diagramas de conexión de lógica que muestran una arquitectura de aplicación de siete capas para el cliente y el servidor; La figura 5 muestra las capas que son aplicables al servidor; La figura 6 muestra las capas que son aplicables al cliente; La figura 7 muestra un diagrama de bloques de la vista física de la plataforma. La vista física describe la proyección del software al hardware y muestra los aspectos distribuidos del sistema; La figura 7A es un modelo que muestra una vista de seguridad de la plataforma en la red; Las figuras 8-23 muestran capturas de pantalla de la interfaz de usuario para crear reglas de negocios/error, grupos organizados, observar perfiles de dispositivo y hacer informes; La figura 8 muestra una captura de la pantalla maestra que incluye una barra de tareas; La figura 8A muestra una captura de pantalla para la creación de un perfil de dispositivo inteligente; La figura 8B muestra una captura de pantalla para la creación de un grupo organizado de dispositivos inteligentes; La figura 8C es un diagrama que muestra la relación entre reglas de negocios, perfiles de dispositivo y grupos organizados; Las figuras 9-15 muestran capturas de pantalla para la creación de una regla de negocios para manejo de error; La figura 16 muestra una vista de perfil de dispositivo; La figura 17 muestra una vista de historia de dispositivo; Las figuras 18-21 muestran capturas de pantalla para la creación de una regla de negocios para la distribución de contenido; Las figuras 22-23 muestran capturas de pantalla para generar informes; Las figuras 24, 24A y 24B son un diseño de capa de nivel superior del servidor; y Las figuras 25, 25A y 25B son un diseño de capa de nivel superior del cliente.
DESCRIPCIÓN DETALLADA DE LAS MODALIDADES ESPECIFICAS Definiciones. Como se usan en esta descripción y en las reivindicaciones anexas, los siguientes términos tendrán los significados indicados, a menos que el contexto lo requiera de otra manera: el término "Protocolo de Transferencia de Hipertexto" ("HTTP") se refiere a un protocolo de aplicación que provee un grupo de reglas para hacer intercambios entre un navegador y un servidor. Provee la transferencia de información tal como hipertexto e hipermedios, y el reconocimiento de tipos de archivo. El protocolo HTTP está a un nivel mas alto que el protocolo de la capa de transferencia tal como TCP/IP. El HTTP provee transacciones sin estado entre el cliente y el servidor. El término "Protocolo Simple de Acceso a Objetos" ("SOAP") se refiere a un protocolo de intercambio de información en un medio descentralizado y distribuido. Es un protocolo basado en XML que consiste en tres partes: 1 ) una envoltura que define una estructura para describir lo que está en un mensaje y cómo procesarlo, 2) una serie de reglas de codificación para expresar casos de tipos de datos definidos por aplicación, y 3) una convención para representar llamadas y respuestas de procedimiento remotas. El SOAP permite correr un programa en un tipo de sistema operativo (tal como Windows 2000) para comunicarse con un programa en el mismo tipo o en otro tipo de sistema operativo (tal como Linux), utilizando el Protocolo de Transferencia de Hipertexto de la World Wide Web (HTTP) y su Lenguaje de Marcación Extensible (XML) como los mecanismos para intercambio de información. El SOAP corre por la infraestructura de Internet existente sin estar atado a ningún sistema operativo, lenguaje, ni modelo de objeto. Como se usa en esta especificación, el término "plataforma" se refiere al sistema que incluye componentes de servidor y componentes de cliente que están asociados con los dispositivos. Un "componente" puede ser software, hardware o alguna combinación de los dos. Un componente puede estar compuesto de muchos módulos diferentes. Un "módulo" es un bloque de lógica, tal como un objeto en un lenguaje de computadora orientado a objeto que está diseñado para realizar una tarea específica. El término "dispositivo inteligente" se refiere a un aparato diseñado específicamente para realizar una tarea dedicada diferente de la computación o impresión de texto, y además tiene un controlador asociado y memoria para monitorear la tarea dedicada. El controlador y la memoria pueden ser externos al dispositivo inteligente. Una red de dispositivos inteligentes es distinta de una red de computadora. Los términos "propiedades", "características" y "atributos", se usan de forma sinónima en la descripción y las reivindicaciones anexas. El término "metadatos" se refiere a datos acerca de otros datos relativos a los dispositivos, que incluyen cómo, cuándo y dónde se crean, se ingresa a los mismos, se modifican y se borran. Por ejemplo, los metadatos pueden ser datos acerca de las propiedades, características y atributos de un dispositivo. El término "espacio" se refiere a una ubicación de la memoria física en donde son almacenadas en el cliente entradas de tarea y sus entradas de resultado. Una entrada de tarea contiene información acerca de la tarea que el cliente requiere ejecutar, y cualquier otra información que se requiere para ejecutar esa tarea específica. Una entrada de resultado contiene información acerca del resultado de la ejecución de una tarea particular, incluyendo la salida de la ejecución de la tarea. La figura 1 muestra una plataforma 100 para manejar dispositivos inteligentes en red utilizando una interfaz independiente de dispositivo. La red 110 puede ser una red cableada o inalámbrica. Los dispositivos inteligentes que se muestran incluyen teléfonos móviles 120, terminales de casino 130, jukebox 140, máquinas de cajero automático 150, sistemas de presentación de información 160, y PDA's 170. La plataforma incluye un componente de servidor 180 y un componente de cliente (no mostrado). Cada dispositivo tiene un componente de cliente asociado que está en comunicación con el dispositivo. El componente de cliente puede ser parte del dispositivo inteligente, aunque no necesariamente. La plataforma 110 está diseñada para el manejo de negocios de dispositivos inteligentes 120-170, en donde los dispositivos pueden proveer información de estado, recibir configuración de servicio, recibir contenido distribuido, y enviar información de error al componente de servidor usando el componente de cliente. En la plataforma, el componente de cliente hace contacto con el servidor 180 y solicita instrucciones por una conexión de red 110. Sustancialmente todas las comunicaciones se originan de la parte del cliente. El componente de servidor 180 incluye una cola para recibir solicitudes de múltiples componentes de cliente. La figura 1A es un diagrama de bloques que muestra la plataforma en un medio agrupado y distribuido. El componente de servidor 180, como se muestra en esta modalidad, está compuesto de tres servidores: un servidor de web 200A, 200B, un servidor de aplicación 201 A, 201 B, y un servidor de base de datos 202A, 202B. Cada servidor está provisto en una computadora separada para distribuir el procesamiento conforme los componentes de cliente asociados con los dispositivos hacen las solicitudes. Dado que puede haber cientos o incluso miles de dispositivos dentro de una plataforma, la plataforma se diseña de modo que el componente de servidor pueda ser agrupado. Así, hay servidores redundantes de modo que un balanceador de carga 210 pueda dirigir solicitudes a un servidor apropiado (200-202) en función del ancho de banda del procesamiento. Como se muestra, hay redundancia entre cada servidor (servidor de web, servidor de aplicación y servidor de base de datos). En algunas modalidades, los módulos del componente de servidor se pueden subdividir, y pueden operar independientemente en servidores separados. Adicionalmente, cada servicio podría tener su propio servidor, y el servidor podría estar ubicado local o remotamente en la misma red o en una diferente.
La figura 2 es un diagrama de bloques que muestra los servicios autónomos y la comunicación entre el componente de cliente 220 y el componente de servidor 230. La plataforma es una arquitectura orientada a servicio para distribuir servicios a los dispositivos por medio de los componentes de cliente 220 y los componentes de servidor 230. Un servicio existe como un proceso independiente y tiene una función diferenciada bien definida, dando una responsabilidad única y claramente definida. Cada servicio se asocia con su propio protocolo. Un servicio es definido por uno o más módulos u objetos que forman el servicio. Las comunicaciones para los servicios son originadas por los componentes de cliente asociados con el dispositivo. Los detalles de la realización de un servicio son encapsulados desde los dispositivos. Por lo tanto, los servicios pueden ser reutilizados entre muchos tipos de dispositivos diferentes. Además, los servicios mismos se mantienen como entidades separadas y por lo tanto los cambios de la realización de un servicio no tienen impacto sobre otros servicios. La figura 2 muestra un ejemplo en donde hay tres servicios separados. El primero es distribución de contenido, 240. Un dispositivo puede ser capaz de desplegar el contenido a un usuario del dispositivo y el componente de cliente puede hacer una solicitud al componente de servidor para recibir contenido nuevo o actualizado. Por ejemplo, el dispositivo puede ser una estación de música ubicada en una tienda de discos en donde es solicitada música nueva por el componente de cliente 220, y el componente de servidor 230 envía la música nueva al dispositivo. En algunas modalidades, el componente de servidor puede aplicar reglas de negocios y determinar el contenido por distribuir al dispositivo. Por ejemplo, se puede crear una regla de negocios para enviar solo contenido clásico a una estación de música en la sección de música clásica de una tienda de música. Como los servicios son autónomos, los servicios y los módulos para soportar los servicios pueden ser distribuidos entre múltiples computadoras, sistemas de computadoras o redes. Además, para la distribución de contenido, la figura 2 muestra dos servicios adicionales: el servicio de configuración 250 y el servicio de estado de dispositivo 260. Nuevamente, es iniciada la comunicación por el componente de cliente, que envía el estado de dispositivo o solicita actualizaciones de configuración. Debido a la separación entre servicios, si un módulo falla en el sistema puede ser interrumpido un servicio, pero no fallará la plataforma entera. Las figuras 3 y 4 muestran los módulos internos que operan dentro del componente de servidor y el componente de cliente, respectivamente, para realizar servicios. Existen cinco servicios distribuidos que pueden usar uno o más módulos asociados: un servicio de latido 301a, b, un servicio de comandos remoto 302a, b, servicios de contenido 303a, b, un servicio de informes 304a, b, y un servicio de punto de encuentro 305a, b. La plataforma divide los módulos para los servicios en 3 tipos. El primero es de módulos distribuidos que se distribuyen entre el servidor y el cliente. Los módulos distribuidos permiten la comunicación entre el cliente y el servidor y la distribución de servicios. El segundo tipo de módulo es un módulo de la parte de servidor. Los módulos de componente de servidor operan exclusivamente en el servidor. El tercer tipo de módulo es solo un componente de cliente. Los módulos de componente de cliente existen únicamente dentro del componente de cliente e interaccionan con el dispositivo. A continuación se expondrán los servicios y módulos distribuidos haciendo referencia a las figuras 3 hasta 4B. Los elementos denotados con una "a" se refieren a módulos/servicios de la parte del cliente, y los elementos denotados con una "b" se refieren a módulos/servicios de la parte del servidor. Los elementos aquí referidos sin una designación para las figuras 3 hasta 4B se refieren a los módulos/servicios de servidor y de cliente correspondientes. El servicio de latido 301 es un servicio de Web completo autocontenido que provee infraestructura y medios y formas para enviar información de estado de dispositivo y salud del dispositivo del cliente al servidor. Este servicio Web utiliza XML simple por HTTP o REST para comunicación e intercambio de datos. El servicio de comandos remoto 302 es un servicio de Web que habilita la capacidad del sistema para enviar comandos remotos a los clientes desde el servidor. Permite a los usuarios que usan la interfaz de usuario de servidor, ejecutar operaciones en OS localmente en el cliente remoto. Utiliza SOAP para comunicación. El servicio de contenido 303 es un servicio de Web que utiliza SOAP para comunicación. Permite la distribución de contenido que incluye parámetros de distribución de contenido tales como planificación e información de activación del servidor al cliente. El servicio de informes 304 habilita las capacidades de elaboración de informes de la plataforma. Permite a los clientes enviar al servidor sus datos de informe, que incluyen datos de negocios y registros de servicio para su notificación y análisis. Provee un medio estándar para generar los datos de informe y trasferirlos utilizando SOAP. El servicio de punto de encuentro 305 provee la capacidad requerida por la plataforma para manejar y distribuir datos de configuración que incluyen metadatos e información de autorización entre clientes y el servidor. Esta infraestructura provee una manera estándar de realizar sincronización de datos en la plataforma y configuración de dispositivo que incluye propiedades del dispositivo, manejo de error y reglas de negocios. Este servicio también interacciona en el servidor con el módulo de punto de encuentro 305 y detecta cualquier configuración o reglas de negocios, y provee la interfaz para cambiar las reglas. El servicio de punto de encuentro también interacciona con el módulo de despliegue de dispositivo, 306b, que maneja las propiedades de dispositivo y metadatos e información de despliegues de dispositivo en el servidor y el cliente. El módulo de Manejo de Error 307b trabaja con el servicio de punto de encuentro 305a y permite a los usuarios configurar reglas de negocios de manejo de error en el servidor, y envía las reglas al cliente. Estas reglas incluyen provisión de servicio y acciones de autorreparación. El flujo de trabajo de este módulo soporta escalación y también notificación. Este módulo provee la interfaz para configurar estas reglas. El módulo de punto de encuentro 305a distribuirá estas reglas usando el servicio de punto de encuentro, y el módulo de reglas de negocios Catapult ejecutará las reglas en el cliente (véanse las figuras 4-4B). El módulo de alertas y notificación del componente de servidor 308a permite configurar reglas de negocios para monitorear alertas en el sistema y enviar notificaciones al destinatario apropiado para su atención. Este módulo provee la interfaz para configurar estas reglas. El servicio de punto de encuentro distribuirá estas reglas a los dispositivos, en donde el módulo de reglas de negocios 309b en el componente de cliente ejecutará estas reglas de negocios. El módulo de planificación de servidor 310a provee una infraestructura común para planificar actividades de mantenimiento, informes de servicio, informes de negocios y distribución y activación de contenido. El módulo de reglas de negocios 309a es el responsable de ejecutar todas las reglas de negocios que monitorean el dispositivo, incluyendo manejo de error, alertas y notificaciones y acciones programadas. Esta máquina de reglas de negocios ejecuta todas las reglas de negocios que el servidor y el cliente son responsables de ejecutar. El módulo de comandos remoto 311a realiza las operaciones en el sistema o en el OS que el componente de cliente es capaz de realizar localmente en el dispositivo. Este módulo provee la infraestructura necesaria para habilitar esta característica en el cliente y permitir que los usuarios inleraccionen con el mismo desde el servidor. El módulo de disíribución de coníenido 312a maneja lodos los aspecíos de dislribución de conlenido en el sistema, incluyendo carga de contenido, planificación y aclivacíón. Esle módulo permiíe al usuario configurar parámeíros de disíribución de conlenido en el servidor. También ejecuía todas las operaciones de distribución de contenido en el cliente, incluyendo instalación y aclivación de conlenido. Utiliza el servicio de contenido para distribución de contenido. El módulo de informes y análisis 313a maneja todos los aspecíos de realización de informes del sislema, incluyendo manipulación de daíos y planificación de informes en el servidor. Esle módulo permile al usuario configurar parámetros de informes en el servidor. También ejecuta todas las operaciones de informes en el cliente, incluyendo informar sobre la generación de datos. Utiliza el servicio de informes para transferir datos de informes. El módulo de autorización 314 maneja todos los aspectos de autorización en el servidor, incluyendo manejos de asientos, comunicación con la autorización del servidor y monitoreo y prohibición la duplicación de asiento. Este módulo también genera información de autorización en el cliente y la envía al servidor usando el servicio de punto de encuenlro. Cada uno de los módulos anteriormente mencionados tiene una ejecución lanto en la parte de cliente como la parte de servidor, pueslo que cada uno de estos módulos comunica información entre la parte del servidor y la del cliente. A continuación se expondrán los módulos de solo servidor y se represenían en las figuras 3-3C. El módulo de cuenlas de usuario 315a maneja cuenlas de usuario en el sistema, incluyendo funciones y permisos de usuario. Los permisos del sistema son granulares y permiten al usuario crear funciones en el sistema basadas en acceso de bajo nivel a funcionalidades y dispositivo del sistema. El perfil de dispositivo permite a los usuarios organizar los disposilivos del sislema basándose en sus meladatos para describir mejor los dispositivos y manejarlos eficientemente de acuerdo con el proceso de negocios de la empresa. Esto es manejado por el módulo de perfil de dispositivo 316a. Este módulo permile a los usuarios crear perfiles de servicio, conlenido y negocios de los dispositivos en el sistema en función de sus metadatos. Los perfiles pueden ser usados posteriormenie por otros servicios para permilir que estos servicios ofrezcan inteligenle y eficientemeníe su servicio. La máquina de búsqueda de disposiíivo 317a permiíe la búsqueda y filtración de capacidades del sistema. Esta máquina permiíe que los usuarios busquen en el sislema los disposiíívos en función de sus meladatbs y condiciones de error. También ofrece una capacidad de búsqueda general para permitir a los usuarios buscar dentro de las secciones y listas de artículos, para hacer la iníerfaz de usuario más ulilizable y funcional. El servidor lambién incluye una eslructura de notificación 318a. La estructura de notificación 318a permiíe crear acciones de nulificación de uso en el servidor, e inlegrarlas en el flujo de trabajo y proceso de negocios de las alertas y notificaciones y manejo de error en el servidor. Eslo facilita la integración con sistemas de empresa externos y provee la infraestruclura para la inlegración de aplicación de empresa (EAI) que incluye sislemas de manejo de relación con el clienle (CRM), sisíemas de mesa de ayuda y de soporte, y sistemas de legado. El módulo Mi Catapult 319a provee una visla de tablero personalizada del sistema, basada en las acciones mas frecuentes del usuario y el comportamiento en el sistema, así como también las preferencias del usuario. Mi Catapull incluye componeníes de los disposiíivos de informes y análisis, alertas y dispositivos en problemas, cuentas de usuarios, distribución de coníenido, y también vínculos rápidos y favoritos. Los módulos de solo clieníe se mueslran en las figuras 4-4B e incluyen la eslruclura de componenle. La eslrucíura de componeníe 320b provee la infraeslruclura para agregar y personalizar componeníes de clienle, lales como programas de aplicación y componenles de hardware. Esle módulo habilita la capacidad de manejo remoto de estos componentes y provee una interfaz esíándar para configurar estos componentes utilizando el servicio de punto de encuentro. La eslructura de trabajo 321 b provee una interfaz para realizar procesos de negocios específicos e inlegrarlos en el componente de cliente. La estructura de espacio 322b maneja la memoria para las tareas y resulta de la ejecución de trabajos en el cliente. Almacena entradas que encapsulan procesos y lógica de negocios. La estructura de espacio provee un acceso sincrónico a las entradas en el espacio, solicitadas ad hoc o en una base planificada, y procesa las entradas en paralelo retornando los resultados al espacio como objetos de resultado. Las figuras 5 y 6 son diagramas de conexión lógica que muesíran una arquiteclura de aplicación de siele capas para el clieníe y el servidor. La arquileclura de siele capas permile la reulilización puesto que los módulos específicos de servicio se aislan de los módulos de acceso de datos y de sistema. De esta manera, la lógica de negocios es independiente del disposiíivo y puede ser reulilizada para diferentes tipos de dispositivos. La figura 5 muestra las capas que son aplicables al servidor, y la figura 6 muestra las capas que son aplicables al cliente. Las siete capas son: Sislemas de Empresa 500, Acceso a Servicios de Sislema 501 , Acceso de Dalos 502, Lógica de Negocios 503, Servicios Web 505, Presenlación 506, y Capa de Procesamiento de Tarea (localizada en el cliente). La separación de la plataforma en estas capas permite que las capas permanezcan independientes del dispositivo /sisíema operaíivo. Además, esía separación reduce la complejidad de ejecución y aumenía la estabilidad del producto. La capa de presentación 506 es responsable de proveer servicios de Ul (iníerfaz de usuario) para la aplicación específica y manejar la interacción de usuario. La capa de separación permite allerar rápidameníe la visía de la inlerfaz de usuario para cubrir las demandas de usuario renovadas y las necesidades de negocio sin íener un impacto sobre el resto de la aplicación. La capa de presentación 506 puede producir páginas de HTML para una aplicación Web, o páginas de WML para una aplicación inalámbrica, utilizando los mismos servicios de flujo de proceso de negocios, servicios de núcleo, y servicios de acceso de datos. La capa de servicio Web 505 permite una fácil inlegración de los servicios Web en la aplicación. Esla capa contiene todas las interfaces de punto final de servicio y procesa las solicitudes de servicio del cliente. Provee funcionalidad común para unión de datos y acceso a la funcionalidad de aplicación de núcleo entre el servidor y los clientes. Esta capa aisla los daíos de mensaje de XML de lal manera que la lógica de negocios de aplicación es independienle de la comunicación. La capa de mensaje provee una infraestructura de middleware orientada a mensaje (MOM), que permite un acoplamiento más débil dentro de los sistemas distribuidos sustrayendo traducción, seguridad, y los prolocolos de comunicación subyaceníes de clienles y servidores. Esla capa lambién es utilizada por la capa de servicios Web 505 como un Bus de mensaje de empresa para permitir la comunicación asincrónica entre el cliente y el servidor utilizando mensajes basados en SOAP (Prolocolo Simple de Acceso a Objelo) y XML. Esta capa utiliza el sistema de mensajes Java JMS y Beans manejados por Mensaje de Empresa. La capa de lógica de negocios /flujo de trabajo, 503, es responsable de proveer servicios de procesos de negocios. Esíos componenles coordinan múltiples servicios funcionales de núcleo basándose en reglas de negocios dadas. La separación de la lógica del flujo de proceso de negocios de los servicios de núcleo, permite la reutilización de estos servicios. La capa de acceso de datos 502, igual que los componentes de estructura/sistema, y de acceso de datos de la figura 3, provee servicios de acceso de datos comunes para los componentes de aplicación, sin considerar dónde o cómo se guardan los datos. Esta separación de capa aisla los daíos por abajo, de lal manera que los daíos de aplicación pueden ser almacenados en muchas plataformas diferentes de bases de dalos. De esta manera, los cambios de los datos de aplicación solo afectan a la capa de acceso de datos. Eslo aisla la estructura de datos subyacente y también los detalles de conexión, y maneja la persislencia de datos. La capa de servicios de sistema 501 , igual que los servicios de sistema de la figura 3, provee servicios estándares para las aplicaciones. Estos servicios incluyen denominación de componenle y búsqueda de objelos. Los servicios de seguridad y directorio también son considerados servicios de sistema. Por ejemplo, servicios de seguridad y de directorio pueden ser apalancados en toda una aplicación. Algunos servicios, como el manejo de sesión, pueden estar contenidos solo en la capa de presenlación. La capa de sistemas de empresa 500 es responsable de proveer servicios tales como almacenamiento de datos, sistema de mensajes Java (JMS) y correo. La capa de datos 502 es responsable de proveer almacenamiento físico de los datos. Los daíos se pueden almacenar en múlliples bases de datos relaciónales y/o sistemas de legado. La plataforma soporta múltiples estructuras de bases de datos que incluyen Oracle, MS SQL, DB2, MySQL y Poslgre. El soporte múltiple de base de datos se hace disponible utilizando JDBC e Hibemate. La capa de acceso de servicios Web 505 provee interfases comunes para ingresar a los servicios Web. La ¡nterfaz es el punió de partida de la interacción de un cliente con el servicio. Esta capa también maneja oirás responsabilidades, tales como enviar solicitudes de cliente y recibir respuestas de servidor, y íambién localización de servicio. Esla capa también maneja la proyección de los documentos de XML a representaciones de objeto equivalentes en la capa de acceso de servicio Web antes de delegar la solicitud a la lógica de negocios. La capa de procesamiento de tareas 504 manliene toda la lógica de negocios encapsulada en objetos de Tarea y Resultados almacenados en el espacio. Provee las infraestructuras para manejar entradas de espacio y ejecutar los procesos de negocios requeridos, en donde el objeto maestro genera una solicitud de una íarea y los resullados son escritos un objeto de resultado y recuperados del mismo. La figura 7 muesíra un diagrama de bloques de la visla física de la plalaforma de servidor 700. La vista física describe la proyección del software al hardware y muestra los aspecíos disíribuidos del sisíema de la parte del servidor. La figura 7 représenla gráficameníe cómo las aplicaciones son desplegadas coníra la configuración física de servidor, y sus principales interacciones una con otra. De esta manera, los servicios Web 705, servicios de aplicación 701 , bases de datos 702, servidores de correo 703 y sistemas de empresa 704, son separados ya sea física o lógicamenle. La redundancia deníro del sisíema es manejada añadiendo hardware redundanle y configurando un medio agrupado. El medio incluye duplicación de sesión y manejo de transacción. La tolerancia de falla es manejada realizando un medio agrupado. Los servidores de aplicación 701 manejarán la realización de bajo nivel de la tolerancia de fallas y la prueba de fallas en caso de que falle uno de los servidores. La plataforma puede ser escalada añadiendo más hardware en una configuración de racimo en la parte del servidor. El servidor de aplicación 701 manejará los delalles de disíribución de carga enlre los diferentes nudos en el medio agrupado. Cada uno de los dispositivos que son parte de la plalaforma es inlroducido primero en el componente de servidor 700, creando un perfil para el dispositivo y el componenle de cliente acompañante. El componente de cliente es insíalado en el disposiíivo o en conjunto con el disposilivo, y por inicialización hará conlacto con el componente de servidor. El componente de servidor identificará el dispositivo y reconocerá que ésta es la primera conexión. El componente de servidor recuperará automálicamenle la información de configuración para el disposilivo y enviará la información de configuración al componente de cliente. Después de recibir la información de configuración, el componente de cliente establecerá los parámetros de configuración para el disposilivo, y entonces el dispositivo estará aclivo y lisio para usarse denlro de la plataforma.
La figura 7A es un modelo que muestra una vista de seguridad de la plataforma en la red. Como ya se indicó, los servicios y módulos se pueden desplegar a través de múltiples servidores. Se crea una zona desmilitarizada configurando cortafuegos. La DMZ (zona desmilitarizada) pública 715 permite a los usuarios hacer contacto con la plataforma a través de la Intemeí 716. Los usuarios basados en Internet no pueden hacer contacto directamente con los servidores en la DMZ privada 716, y solo pueden hacer contacto de forma indirecta a íravés de un servidor en la DMZ pública 715. Como se muestra con las flechas, el tráfico hacia el componente de servidor solamente es admiíido de izquierda a derecha. Los servidores de DMZ publica, 715, pueden pasar solo soliciíudes/dalos a la DMZ privada 716, y la DMZ privada 716 solo puede pasar soliciludes/daíos a la red iníerna 717. La comunicación se puede hacer de la red inlerna 717 a la DMZ privada 716, o a la DMZ pública 715, o incluso a la Iníernet directamente, 715. La comunicación entre los servidores es a íravés del puerto 80, que es el puerto de comunicación HTTP. Los módulos del componenle de servidor 700 residen en los servidores de aplicación 701 que deben eslar localizados en una red privada 716 en la DMZ. Otros sistemas de empresa, tales como el servidor SMTP 703 y el servidor de base de datos 702, deben esíar localizados en la red privada 716 en el área DMZ para eslar prolegidos de acceso no autorizado usando seguridad basada en funciones, autenticación de usuario y cifrado de datos sensibles. El cifrado del tráfico de dalos por la Internet, hacia y desde el componente de servidor, se hace usando el prolocolo de capa de comunicación segura (SSL). En algunas modalidades, el tráfico entre el servidor Web 705 y el servidor SMTP 703 solo es admitido a través de un puerto predelerminado para realizar operaciones de correo. En unas modalidades, el tráfico entre el servidor Web 705 y el servidor de base de datos 702 solo es admitido a través de un puerto predefinido diferente para realizar transacciones de base de dalos. El servidor de base de datos 702 contiene daíos lales como los perfiles de dispositivo y los perfiles de usuario. En la parte superior de la red y la infraeslructura de seguridad de cortafuegos, los niveles de aplicación y base de datos serán protegidos por la capa intermedia. La capa intermedia utilizará seguridad basada en funciones, auteníicación de usuario y cifrado. Las figuras 8-23 son capturas de pantalla de la interfaz de usuario que está asociada con el componente de servidor. Como se muesíra en las figuras, una punía de flecha indica la larea seleccionada. Un usuario puede seleccionar de: Mi Catapult, dispositivos, perfiles de dispositivo, reglas, usuarios, actualizaciones de software, paquetes de contenido e informes. Puesto que el protocolo de nivel de aplicación es HTTP utilizando SOAP, se puede tener acceso a la interfaz de usuario ulilizando una conexión de Internet desde cualquier parte. De esta manera, se puede tener acceso a la interfaz de usuario ("Ul") en el servidor mismo o en una ubicación remota utilizando un navegador de Web. La figura 8 mueslra una ventana de estado de usuario (Mi Catapult) 800 que aparece dentro de un navegador después de que un usuario se regisíra en el servidor y valida su identidad. La ventana de estado de usuario muestra listas de Hacer 803, mensajes en una bandeja de entrada 802, y cualquier análisis 801 que ha sido realizado. Como se muestra en la sección de análisis 801 , se muestra un informe que despliega el porcentaje de tiempo para una tienda dada para la cual todos los disposiíivos conecíados estaban funcionando. En algunas modalidades, un usuario puede crear un perfil de configuración de dispositivo ingresando al módulo de perfil de disposiíivo 316a de la figura 3B. El perfil de configuración de disposilivo indica alribuíos de disposilivo y puede ser reutilizado, de tal manera que no es necesario que un usuario vuelva a introducir atributos de dispositivo para un tipo de dispositivo común. Por ejemplo, un usuario puede definir un perfil para un "quiosco". El perfil puede incluir cualquier metadato que se pueda utilizar para describir el dispositivo, por ejemplo atribuios tales como tipo de procesador, protocolo de comunicación, capacidad de impresión y conexión de red. De esta manera, una vez definidos los atributos comunes para un perfil de quiosco, ese perfil puede ser reutilizado para cada dispositivo de quiosco subsiguiente. Como se muestra en la figura 8A, un usuario selecciona los perfiles 800 de dispositivo marcados con etiquela como lo indica la punta de la flecha. Después, el usuario puede establecer propiedades para el perfil de dispositivo. Por ejemplo, el usuario puede definir un perfil de dispositivo para todos los dispositivos localizados en una lienda específica 810, o una ciudad específica 820. El servidor mantiene automátícamenle los dispositivos asociados con los perfiles. La parte de servidor de la plalaforma propaga automáticamente los cambios de una definición de perfil exislenle a los disposiíivos asociados con el perfil. Similarmeníe, si un usuario cambia asignaciones de perfil o modifica atribuios de perfil, el servidor aclualizará o eliminará asociaciones de dispositivo dependiendo de las capacidades del dispositivo. Un usuario también puede crear un agrupamiento de dispositivos que comparten uno o más atribuios comunes. Los atribuios pueden incluir, sin limitación, ubicaciones, información de contacto, configuración de software/hardware, estados de autorización, errores de disposiíivo, información de referencia exíerna, y/o información de versión. Como se muestra en la figura 8B, el usuario selecciona la etiqueta dispositivos 820 y crea un "grupo organizado". El grupo organizado no requiere que un usuario seleccione explícitamente dispositivos para colocarlos en el grupo organizado. El usuario puede seleccionar atribuios de disposiíivo para el grupo. Por ejemplo, el usuario puede seleccionar un íipo de disposilivo particular 825 o un eslado de dispositivo particular (acíivo, inaclivo, lodos), 830. El servidor buscará entonces todos los disposilivos que cumplen con el criterio, creando una lista de estos dispositivos y guardando la lista en la memoria asociada con el servidor. Entonces el servidor distribuirá a cada miembro del grupo una lista de los criterios del grupo. Si se cambian los atributos de dispositivo, por ejemplo mediante una escalación ascendente de hardware, de tal manera que el dispositivo ya no tenga un atributo de grupo, el dispositivo hará contacto con el servidor. En una modalidad, el servidor verificará si el dispositivo inteligenle debe ser parte del grupo, ingresando a los crilerios de grupo y comparando los crilerios aclualizados del dispositivo inteligente con los criterios de grupo. En otras modalidades, el dispositivo enviará una señal al servidor indicando que el dispositivo iníeligeníe ya no es un miembro del grupo organizado. El servidor eliminará entonces el disposilivo inleligente de la lista de grupo organizado, y ya no hará contacto con el disposilivo inteligente con actualizaciones para el grupo. Se debe entender que puede haber múlliples grupos organizados, cada uno con diferenles alributos de dispositivo. Adicionalmente, un usuario puede tener acceso a través de la Intemel a los grupos organizados a íravés de la inlerfaz de Web. De esía manera, múlliples usuarios pueden usar grupos organizados y pueden obtener información sobre los dispositivos del grupo organizado. Diferentes usuarios que tienen diferentes niveles de autorización pueden tener acceso al mismo grupo organizado; sin embargo, solo pueden ingresar a la información autorizada para el grupo. Un usuario autorizado, tal como el creador del grupo organizado, puede ingresar al servidor y cambiar los atribuios de un grupo organizado. El servidor actualiza el listado del grupo organizado y aclualiza cada uno de los miembros de grupo actuales y grupos nuevos, conforme cambia el estado del dispositivo para el grupo en función del aíribuío. El proceso de aclualización de los miembros de grupo sucede automálicameníe sin la intervención del usuario. Como resultado, los grupos organizados proveen un mecanismo de manejo de gran caníidad de disposiíivos. El agrupamienlo y reagrupamienío basado en alributos pueden ocurrir sin intervención del usuario.
Adicionalmente, múltiples usuarios pueden ingresar remotamente y utilizar grupos organizados para obtener información sobre los disposilivos denlro del grupo organizado. Se pueden definir informes para grupos organizados y los usuarios se pueden registrar a través de una interfaz de Web para el servidor, ingresando a la capa de acceso de servicios Web y el servicio de informes si se desea informar, o el servicio de punto de encueníro, si se desea aclualizar las reglas de negocios, por ejemplo. Para cada disposiíivo, o para grupos de disposilivos deníro de la plaíaforma, se puede desarrollar una serie de reglas de negocios. Un usuario puede definir reglas de negocios para un solo dispositivo o para un grupo organizado. La figura 8C muestra la relación entre reglas de negocios 840, perfiles de dispositivo 850 y grupos organizados 860. Un usuario puede definir un perfil de disposilivo 850 usando una regla de negocios 840. Adicionalmente, los grupos organizados 860 pueden utilizar perfiles de dispositivo 850 y reglas de negocios 840 como lo indican las flechas de dicha figura. Después de seleccionar el botón de reglas de la figura 8, un usuario ocasiona una íransmisión de HTTP al servidor y aparecerá una pantalla nueva para las reglas, ingresando al módulo de reglas de negocios 309a. La figura 9 muestra una captura de pantalla de la página de reglas de negocios. Un usuario puede seleccionar entonces de varias calegorías de reglas 900 para crear una regla nueva, o el usuario puede seleccionar una regla exislenle ingresando al módulo de manejo de error 307a. La pantalla mostrada en la figura 10 se presenta a un usuario si un usuario selecciona establecer una regla de manejo de error nueva. El usuario puede entonces seleccionar cualquiera de los dispositivos de la plataforma. Como se muestra, se provee al usuario una lista de 1000 dispositivos que se pueden seleccionar. El usuario puede filtrar los dispositivos seleccionando el botón "encuentra dispositivos usando filtros", 1001 , o el usuario puede identificar tipos particulares de dispositivos que el usuario desea, para ejecutar la regla seleccionando el botón "selecciona tipos de disposilivo", 1002. Además, el usuario puede seleccionar disposilivos en función de los perfiles de disposiíivo 1003, ingresando al módulo de perfil de dispositivo 316a. La figura 11 muestra que se han seleccionado 8 dispositivos en este ejemplo para crear el mensaje de manejo de error como lo indican las marcas de verificación 1100. La figura 12 muestra todos los componentes 1200 de todos los dispositivos que han sido seleccionados, para los cuales se puede crear una regla común. En la figura 12 el usuario ha seleccionado crear una regla para una impresora 1201. El usuario selecciona el botón siguiente 1202 y se le présenla la panlalla de eslado de componente /tipo de error, 1300, como se muestra en la figura 13. La pantalla despliega errores /problemas seleccionables, 1301 , que están asociados específicamente con una impresora 1301. La pantalla también permite la selección de un esíado 1302 de la impresora con respecto a ciertos lipos de error. En la figura 13, el error "umbral de falla de leclora de larjela de crédito", 1303, incluye una selección de eslado 1304, y el usuario puede seleccionar de una pluralidad de porceníajes de una herramienla desplegable. Como se muestra, se pueden combinar múlíiples errores/esíados para formar un requerimiento de error de compueslo. Solo los errores que eslán asociados con impresoras son provistos para la selección, aunque puede haber muchas otras condiciones de error para otros dispositivos. De esla manera, el sislema provee información sensible de contexto. La sensibilidad de contexto se puede basar en una multilud de variables que incluyen el servidor seleccionado, el grupo organizado /dispositivos seleccionados, autorización de usuario, ubicación, y metadatos acerca de los dispositivos. Basándose en el error/estado, la plataforma permite la selección de pasos a ser ejecutados por el componente de cliente o el servidor si ocurre la condición de error/estado. Como se muestra en la figura 14, la regla de negocios 1400 que es seleccionada, es para ejecutar una secuencia de comandos, y si falla la secuencia de comandos para enviar una alerta después de un periodo dado. El usuario puede seleccionar las acciones 1401 por realizar, si deben lomarse acciones subsiguieníes 1402, y las declaraciones condicionales para las acciones. Las acciones que se emprendan pueden ocurrir en el componente de cliente o en el componente de servidor. Por ejemplo, la secuencia de comandos será interpretada dentro del componente de cliente, y las alertas se originarán del componente de servidor. La figura 15 es la pantalla final que es presentada cuando se crea una regla de negocios de manejo de error. Se debe reconocer que las capturas de pantalla de las figuras 9-23 son provistas con fines iluslrativos y que se pueden generar muchas combinaciones diferentes de reglas de negocios e informes basadas en los dispositivos inteligentes dentro de la red, usando la arquitectura de sistema que se describe en las figuras 1-8 y 24-25B. La figura 16 es una captura de pantalla que ocurre si el icono de dispositivo 1600 es seleccionado de la barra en la parte superior de la ventana del navegador Web. El icono de dispositivo 1600 es destacado por una punta de flecha. La visla de dispositivo 1601 que se encuentra en el lado izquierdo de la pantalla, muestra que la información de dispositivo para el dispositivo denominado ZenPhoto 1602, esíá siendo desplegada en el lado derecho de la panlalla. Un usuario se puede moverse eníre los dispositivos en la vista de dispositivo y serán presentadas diferentes instaníáneas de disposiíivo en una panlalla nueva. También se provee una serie de barras de selección 1603 que incluyen: acciones, historia, reglas y perfiles. El usuario se puede mover enlre esla información por selección de la barra, lo que dará como resultado el despliegue de una pantalla nueva. La barra de selección también es sensible al contexto en función de variables tales como la regla de negocios seleccionada, dispositivo, ubicación, metadatos o características de dispositivo. La instantánea de dispositivo provee información acerca del dispositivo y íambién el componeníe de clieníe acompañanle. Como se mueslra, el disposilivo ZenPhoto incluye una CPU, unidad de disco, escáner, validador de billetes, impresora y una lectora de medios. El dispositivo se puede usar como un quiosco de fotos o una estación de música. Si un usuario desea mayor información acerca del dispositivo, se puede seleccionar una barra de selección diferenle.
La figura 17 mueslra la visía de historia, cuando la barra de selección de historia es seleccionada como se muestra en la figura 16. Las acciones de dispositivo son registradas y guardadas por el componente de clieníe, y la información resulíaníe se pasa al componeníe de servidor para su presenlación. El servidor recibe la información como resullado del componente de cliente que inicia la comunicación. Como se muestra, el disposiíivo ha enconírado varias condiciones de error (en donde las condiciones de error fueron definidas previamenle para el dispositivo creando reglas de negocios de condición de error), que incluyen un error de lectora de billetes 1700 que ocasiona que el componente de clienle cause una reinicialización de disposilivo, 1701 , y una condición de impresora desconectada, 1702, que ocasionó que el componente de cliente reinicie la aplicación, 1703. La figura 18 es una captura de pantalla que mueslra la selección del icono de contenido digital, 1800, que ingresa al módulo de distribución de contenido 312a y el servicio de distribución de contenido 303a. La pantalla indica el tííulo del contenido digital 1801 , si se ha autorizado una transferencia, el estado del contenido digilal 1802, una calegoría para clasificar el contenido digital, 1803, y lambién los dispositivos alcanzados 1804 y una fecha y hora de la íransferencia, 1805. Un usuario puede filtrar el listado del contenido digital y también puede editar, borrar, activar, desactivar o cambiar la planificación de dislribución seleccionando un botón correspondiente. Como ya se indicó, cuando un usuario selecciona un bolón utilizando un dispositivo de entrada que selecciona gráficamente el botón, es transmitida una instrucción de la íerminal de compuíadora como un mensaje XML/SOAP a través de HTTP, que solicita la paníalla apropiada para su despliegue de un módulo del componenle del servidor. La figura 19 es una caplura de pantalla que es presentada después de la selección de la barra "cambiar planificación de distribución". Desde el perfil de todos los disposilivos, el componente de servidor filtra los dispositivos que son capaces de recibir conlenido digital y los dispositivos son presentados y son seleccionables por el usuario. En la figura 19 se selecciona el dispositivo ZenCheck. La figura 20 es una captura de pantalla que muestra que el usuario selecciona la hora y fecha para distribución del contenido digilal, que es el "promocional Valenline del área de Boston", 2000. El usuario puede establecer varios parámetros que están disponibles y después seleccionar el botón siguiente que transmile la información al servidor y que programará la transmisión de los medios digitales deseados a un dispositivo específico que es parte de la plalaforma. La figura 21 es una captura de pantalla que confirma que la descarga del contenido digital ha sido programada para el dispositivo ZenPhoto. El módulo y los servicios del servidor monilorean el estado de distribución de contenido que recibe actualizaciones programadas o periódicas originadas por el módulo de distribución de contenido de la aplicación de cliente asociada con el dispositivo inteligenle. Un usuario puede generar las actualizaciones de estado creando una regla de negocios para el estado. Además de proveer información para los componentes de cliente asociados con los dispositivos (contenido digital, reglas de negocios, información de configuración), el componente de servidor lambién puede crear informes basados en la información que ha sido recibida de los componentes de cliente acerca de los dispositivos (información de estado). Como se muestra en la figura 22, el usuario ha seleccionado el icono de informes 2200. El usuario puede seleccionar entonces un informe predefinido para visualización o puede crear un informe. Si el usuario decide crear un informe, 2201 , será provisto de una serie de panlallas, en donde cada panlalla eslá basada en la selección previa. De esta manera, la pantalla que es presentada al usuario depende de toda la información que es seleccionada y provista por el usuario. La figura 23 muestra una capíura de pantalla cuando se selecciona el informe predefinido titulado "Registrar actividad por perfil". Cuando crea un informe, un usuario utiliza el módulo de informe 313a. El módulo de informe 313a permite al usuario configurar parámetros de informe. El módulo de informe también ejecuta todas las operaciones de informe en el cliente incluyendo el informe de generación de datos. El módulo de informe 313a en combinación con el módulo de reglas de negocios 309a, se puede usar para crear informes que son generados en función de eventos predeterminados o lipos de disposilivos específicos. Las figuras 24-25B proveen una vista más detallada de las figuras 3-4B, respectivamente. Más particularmente, la figura 24A muestra las diversas capas que incluyen la capa de interacción de servicio, 2400, la capa de presentación, 2401 , y la capa de procesamienlo de servicio, 2402, y los módulos dentro de las capas. Estos módulos soportan los servicios y módulos de aplicación correspondieníes como se mueslra en las figuras 3-3C. Primero será manejada la capa de presentación 2401. El módulo de modelo 2410 representa el dominio de negocios y las reglas que gobiernan el acceso y la modificación de ese dominio. El modelo 2410 provee la capacidad de visualizar para consultar el modelo acerca del esíado y puede notificar proactivamente la visualización cuando cambia. El modelo es responsable de activar procesos de negocios o cambiar el esíado del modelo. El módulo de visualización 2411 emiíe el coníenido de un modelo. El módulo de visualización 2411 ingresa dalos del módulo de modelo 2410 y especifica cómo se deben preseníar los datos. El módulo de visualización 2411 es responsable de mantener la consistencia en su preseníación cuando cambia el módulo de modelo 2410. El módulo de visualización 2411 envía las acciones/soliciíudes de usuarios al módulo de conírolador 2412. El módulo de conlrolador 2412 define el comportamiento de aplicación. El módulo de conlrolador iníerprela las acciones/solicitudes de usuario y las proyecla a acciones que son realizadas por el módulo de modelo 2410. En una aplicación Web, la acción/solicitudes aparecen como soliciludes GET o POST HTTP. Basándose en el resullado de los comandos del módulo de modelo, el módulo de conlrolador 2412 selecciona la vista para ser emitida como parte de la respuesta a la solicitud del usuario.
El componente de servidor puede servir contenido dinámico, puesto que el servidor combina el uso de servlets y JSPs (Páginas Java Server). Aprovecha las fuerzas predominanles de ambas íécnicas, usando JSPs para emiíir la capa de presentación y servlets para realizar lareas de proceso inlenso. Aquí, el servleí aclúa como el conlrolador y eslá a cargo del procesamienlo de solicilud y la creación de cualquier bean u objeto usado por la capa de presentación, así como también decide, dependiendo de las acciones del usuario, qué página dinámica enviar para la solicitud. La página es responsable de recuperar cualquier objeto que haya sido creado previamente por el serviet y de extraer el contenido dinámico de ese serviet para su inserción dentro de moldes estáticos. Esta propuesta da como resultado una separación de la presenlación del conlenido. El diseño de la plalaforma asegura que la capa de presentación 2401 no contiene ni invoca directamente lógica de negocios, sino que refuerza la separación de la capa de lógica de negocios de la capa de presentación. En términos más definidos, están prohibidas todas las llamadas de la capa de presentación a un objeto de negocios en la capa de negocios. Además del serviet /módulo del controlador, la capa de presenlación ¡ncluye un soporte de manejo de error de clase de base de Acción, forma beans de forma para inleraccionar con formas, y vislas de JSP. Se utilizan marcas de JSP para ingresar parte de los componentes de interfaz de aplicación. Las marcas de JSP proveen una separación limpia entre el código de extremo posterior y extremo fronlal suministrando integración invisible entre el código de extremo posterior y exlremo frontal, en donde el extremo frontal es la interfaz de usuario y la capa de presentación, y todas las otras capas son consideradas el extremo poslerior. Como se usan en esta especificación, los términos "capa" y "fila" se usan de manera sinónima. El serviet /módulo de conlrolador se usa como el punto inicial de contacto para manejar una solicitud. El serviet de controlador maneja la solicitud, incluyendo invocar servicios de seguridad tales como autenlicación y autorización, delegación de procesamiento de negocios, manejo de la elección de una visualización apropiada, errores de manejo, y manejo de la selección de estrategias de creación de contenido. El serviet de controlador provee un punto de entradas centralizado que conlrola y maneja la solicitud de Web. Centralizando puntos y conlroles de decisión, el serviet de controlador también ayuda a reducir la cantidad de código Java. La centralización de control en el serviet de controlador y la reducción de la lógica de negocios en el módulo de visualización, promueven la reutilización de código entre solicitudes. El serviet de controlador asegura que los componentes de web necesarios para la aplicación sean inicializados cuando se requieran. La capa de interacción de servicio 2400 tiene varias responsabilidades principales, que incluyen proveer una interfaz que el servicio presenta al componente de cliente. Pueslo que los componentes de cliente ingresan al servicio a través de la misma, la interfaz es el punto de partida de la inleracción de un cliente con el servicio. La capa de interacción 2400 también maneja otras responsabilidades, tales como recibir solicitudes de cliente, delegar solicitudes a lógica de negocios apropiada 2421 , y crear y enviar respueslas 2420. La capa de interacción 2400 también incluye la lógica para la forma en que el servicio delega las solicitudes a la lógica de negocios y formula respuestas. Cuando la capa de interacción de servicio 2420 recibe solicitudes de los clientes, la capa de interacción 2420 realiza cualquier procesamiento requerido anles de delegar solicitudes a la lógica de negocios. Cuando se completa el procesamiento de la lógica de negocios, la capa de interacción envía de vuelta la respuesta al cliente. La capa de procesamiento de servicio 2402 mantiene toda la lógica de negocios usada para procesar solicitudes de cliente. También es responsable de integrar e interaccionar con otros servicios de sistema tales como bases de dalos y mensajería, usando la capa de acceso de datos 2451 y la capa de mensajería 2452. Como se mencionó anteriormente, el componente de servidor incluye una clase de acción. La clase de acción es responsable de manejar los eventos generados por el usuario. Una clase de acción típica realizará lógica que incluye: - Validar el estado actual de la sesión del usuario - Realizar el procesamiento requerido para esta solicitud, por ejemplo llamando un componente. - Actualizar los objetos de servidor usados para crear la siguiente página de la interfaz de usuario. - Retornar un objeto AclionForward apropiado que ideníifica la página JSP para ser usada para generar la respuesla, en función de los beans recién aclualizados. Un bean de web actúa como un proxy local para un servicio o módulo remoto. Oculta los detalles de realización subyacentes de servicios de negocios, tales como búsqueda y detalles de acceso de la arquitectura EJB (Enterprise Java Bean). El uso de un bean de web reduce el acoplamienío eníre la capa de procesos de negocios y la capa de servicios de núcleo. El bean de web puede proleger los componeníes de clieníe de posible volatilidad en la realización del API de servicio de negocios. Esto reduce el número de cambios que se deben hacer al código de proceso de negocios cuando cambia el API de servicio de negocios o su realización subyacente. El componente de clientes se hace íranspareníe para servicios de denominación y búsqueda. El bean de web lambién maneja las excepciones de los servicios de negocios, lales como excepciones de EJB, excepciones de JMS, eícélera. El bean de web puede interceptar excepciones de nivel de servicio y generar en su lugar excepciones de nivel de aplicación. El bean de web provee la oportunidad de ocultar resultados. Los resultados pueden mejorar significativamente el desempeño, porque limitan viajes redondos innecesarios y potencialmente costosos por la red. La fila de servicio web de la plataforma provee la infraestrucíura de comunicación e iníercambio de daíos enlre los componeníes de clieníe y los componeníes de servidor. Esla fila incluye todas las interfaces de punto final de servicios web. Se pueden diseñar y realizar servicios web como servicios web de estilo de documento. Se usan objelos adapíadores como un proxy enlre la capa de inleracción de servicio 2400 de la aplicación y la capa de lógica de negocios 2450. Las soliciludes hechas a la interfaz de punto final de servicio serán traducidas y pasadas a la capa de lógica de negocios 2450 para su procesamiento. Objetos adaptadores 2460 también convierten objelos de mensaje a objetos de dominio, y delegan la solicitud de servicio a la lógica de negocios 2450 para realizar el proceso de negocios específico. Los objetos de adaptador 2460 permiten desacoplar la capa de interacción de servicio 2400 y la capa de lógica de negocios 2450. También proveen una forma transparente de ingresar a la funcionalidad de aplicación desde la capa de interacción de servicio 2400. Aumenta la reutilización y escalabilidad de la aplicación. Se usan objetos de mensaje, 2462, para encapsular datos de mensaje de XML intercambiados enlre el cliente y el servidor. Los objetos de negocios 2461 ingresarán a los datos de mensaje de XML que están solo encapsulados en objetos de mensaje. Los objelos de mensaje 2462 permiíen desacoplar los objelos de negocios y los datos de mensaje de XML. También proveen una forma transparente de ingresar a los datos de mensaje de XML. Aumentan la reutilización y escalabilidad de la aplicación. La capa de mensajería, 2440, permite la comunicación asincrónica entre el cliente y el servidor. Esto mejorará el tiempo de respuesta de la aplicación y aumentará la escalabilidad de la aplicación. Todos los mensajes de SOAP y XML utilizan una estralegia Enlerprise Message Bus para entregar mensajes a la aplicación utilizando JMS (sistema de mensajería Java). Un Bean manejado por mensaje (MDB) es un consumidor de mensaje JMS. Un componenle de cliente no puede ingresar directamente a un MDB. La aplicación interactúa con el MDB enviando un mensaje de JMS a cuyo destino está escuchando el MDB. Eslo permite el procesamiento concurrente de una corriente de mensajes. Los Bean manejados por mensaje conocen la transacción. Los servidores de aplicación proveen soporte también para agrupar MDM. Los Beans manejados por mensaje (MDB) son utilizados para procesar mensajes enviados del cliente al servidor. Los MDB delegan el proceso de negocios a los objetos de negocios en la fila de lógica de negocios. La capa de lógica de negocios 2450 utiliza modelo de delegación de negocios y modelo de manejador. El modelo de delegación de negocios provee desacoplamiento de la fila de lógica de negocios y la fila de servicios de sislema, y provee una interfaz de proxy a los servicios. El modelo de manejador maneja ejecución de consulta, resultados y procesamiento de resultados. Esto produce una organización modular superior y capacidad de reutilización del código de aplicación. También aumenta la escalabilidad de aplicación. La fila de negocios emplea un número limitado de EJB para la arquilectura, tal como Beans manejados por mensaje, para procesamiento de mensaje de JMS, y Beans de sesión sin estado para ser utilizados con el servicio de cronómelro para planificar acciones, como se muestra en la figura 5. Todos los servicios de negocios realizados que usan Beans manejados por mensaje de EJB o Beans de sesión sin estado, tendrán un objeto de fachada 2466 (mostrado en la figura 24B), que oculta las realizaciones detalladas de cada servicio de negocios de otros componentes que interaccionan con el servicio. El servicio de cronómetro J2EE, como se muestra en la figura 5, será utilizado para planificar acciones a ciertos intervalos para iniciar procesos de negocios específicos. Para estos tipos de acciones, las aplicaciones usualmente emplean alguna forma de un servicio de cronómelro. Una aplicación que inicia algunas operaciones por loíe, íales como exploración de una base de dalos y limpieza de regisíros muertos o ejecución de algunas reglas de negocios basadas en tiempo, puede utilizar servicio de cronómetro. El J2EE 1.4 incluye servicio de cronómeíro robusto que es uíilizado cuando la aplicación requiere que algunos eventos periódicos se inicien aulomálicamenle, y no maneja eventos en íiempo real. Son inlroducidos beans de empresa en la arquileclura de la aplicación utilizando beans de sesión sin estado específicamente para este servicio. Es utilizado el Modelo de diseño de objeto de acceso a datos para ingresar a los recursos del sistema. El modelo de objeío de acceso a datos suslrae y provee acceso transparente a fuentes de datos y recursos de sislema. El modelo de diseño DAO aumenía la portabilidad de la aplicación. El objeto de acceso a datos (DAO), 2463, es utilizado para sustraer y encapsular lodo acceso a la fuente de daíos. El DAO 2463 maneja la conexión con la fuente de datos para obtener y guardar datos. El DAO 2463 realiza el mecanismo de acceso requerido para trabajar con la fuente de datos. La fuente de datos podría ser una tienda persistente, como un RDBMS, un servicio externo como un intercambio B2B, un repositorio como una base de datos LDAP, o un servicio de negocios con acceso a través de CORBA IIOP o comunicación de bajo nivel. El componente de negocios que se basa en el objeto DAO 2463 utiliza la interfaz más simple expuesta por el DAO 2463 para sus clienles. El DAO 2464 oculla completamente los detalles de la realización de fuente de datos de los clientes. Como la inlerfaz expuesla por el DAO a los clientes no cambia cuando cambia la realización de la fuente de datos subyacente, esta arquitectura de aplicación permite que el DAO 2463 se adapte a diferentes esquemas de almacenamiento sin afectar sus componentes de clientes o negocios. Esencialmente, el DAO actúa como un adaptador eníre el componente y la fuente de datos. Ahora se describe la fila de acceso a servicios del sistema. La plataforma utiliza clases de fábrica para crear servicios de aplicación que incluyen el servicio de acceso a datos 2464, servicio de mensajería 2465 y servicio de registro. Los objetos de fábrica proveen una forma estándar de crear e ingresar a estos servicios independientemente de su realización. Permiten una separación importante entre eslos servicios y los objetos que los utilizan, de tal manera que se pueden intercambiar diferentes realizaciones (por ejemplo mensajería de base de daíos).
La plataforma utiliza Servicio De Denominación Java, RDBM, Sistema de Archivo y Servidor de Correo. La Denominación de Java y la I nterfaz de Directorio proveen una forma estándar de ingresar a los servicios y recursos del sistema. También aumentan la manejabilidad y portabilidad de la aplicación. La plataforma también utiliza una interfaz común para registrar la aplicación. Esta interfaz es una envoltura alrededor del paquete específico de regislro que es usado en la aplicación. Todos los componenles de la aplicación usan esía envoltura para registrar depuración e información de error. Esto permite registrar la aplicación en tiempo de ejecución sin modificación de código. También habilita un mecanismo estándar para registro de aplicación. La base de datos usada con la plataforma no tiene acceso a la lógica de aplicación. Adicionalmente, para evitar riesgos de seguridad, la plataforma no comparte espacio de tabla con ningún otro objeto que use la misma base de datos. La plataforma soporta http como el protocolo de comunicación subyacente entre el servidor y el cliente. El intercambio de dalos eníre el clieníe y el servidor es manejado mediante comunicación XML y/o SOAP. El XML es usado para proveer un protocolo de peso ligero para enviar datos generados frecuentemente, tales como latidos y estado de componente. El SOAP es usado para íransferir gran cantidad de datos y archivos mientras que soporta todas las caracteríslicas de seguridad eslándares de SOAP en la parte superior de HTTPS (SSL). Otros objetos mostrados en las figuras 24A y 24B son muy conocidos para el experto en la materia y no se íraíarán en esla descripción. El diseño de aplicación de clienle se muestra en las figuras 25-25B. El componente de cliente sigue la arquitectura del modelo maestro-trabajador, en donde el maestro y los trabajadores operan dentro del espacio de memoria que maneja las tareas que los trabajadores tienen que ejecutar. El modelo maestro-lrabajador représenla muy bien el uso del espacio para definir la lógica de negocios y procesos que son encapsulados en las eníradas del espacio. Hay dos lipos de enlradas que se usan en el componente de cliente: entradas de tarea y de resultados (2500, 2501 ). El maeslro 2502 fija entradas de tarea asincrónicamente en el espacio 2503, solicitadas ad hoc o en una base planificada. Los trabajadores responsables 2504 procesan las lareas 2500 en paralelo retornando los resultados al espacio como objetos de resultado (2501 ). El maesíro 2502 recoge los resultados y los maneja. Hay varias ventajas del uso de esle modelo de arquiteclura. Los procesos que interaccionan se desacoplan usando el espacio como un medio de comunicación que permite escalar linealmente la arquitectura. Se pueden añadir características nuevas a un servicio sin afectar los servicios existentes. El acceso puede hacerse simultáneamente a los datos y a la funcionalidad del sisíema. El espacio saíisface íranspareníemeníe las operaciones de acceso simultáneo de daíos de múlliples procesos que se ejecuten en paralelo. El espacio aloja un mecanismo de almacenamiento que garantiza que los objetos permanezcan accesibles hasta que un proceso los remueva explícitamente. El módulo maestro 2502 es responsable de fijar tareas en el espacio y recoger los resullados de la ejecución de tareas 2500. Los módulos de trabajador 2504 son responsables de ejecutar tareas que son fijadas en el espacio. Cada trabajador es responsable de ejecutar una tarea específica. Los objetos de tarea y resultado 2500, 2501 , ejecutan la lógica de negocios o funcionalidad específica que requiere ser ejecutada por el cliente. Cada objeto de tarea 2500 liene un objeto de resultado correspondiente 2501 que sabe como manejar el resultado de esa ejecución de tarea específica. La capa de acceso de servicio 2510 aloja varios clientes de servicios web que facilitan la comunicación entre el clienle y el servidor y realizan un proceso de negocios diferenciado y bien definido. Puede ser creado un API que este disponible fácilmente para tareas y resultados. Otras capas y objetos mostrados en las figuras 24-24B son muy conocidos para el experto en la maleria y no se íraíarán en esta descripción. La capa de servicios de núcleo en la parte del clienle (como se muestra en las figuras 25A y 25B -objetos de acceso de datos de XML), y en la parte del servidor (como se muesíran en las figuras 24A y 24B, capa de acceso a servicios del sistema), es responsable de proveer servicios de núcleo comunes (funcionalidad y utilidad) que pueden ser compartidos por múltiples aplicaciones. Cada objeto de servicio de núcleo realiza un proceso de negocios, función de negocios, o función de utilidad, diferenciados y bien definidos. Esta separación de capas provee flexibilidad y capacidad de reutilización. Los servicios de sistema comunes son provistos de íal manera que puedan ser extendidos o modificados sin afecíar los módulos que los utilizan. Los servicios de sislema comunes incluyen: servicio de configuración (servicios para recuperar parámelros de configuración de tiempo de ejecución), servicio de planificación, servicio de registro, servicios de sistema como JNDI, JMS, correo y conectividad de base de dalos, y servicio de XML (iníerfaces para crear, recuperar, actualizar y borrar documentos de XML). La Esíruclura de Molificación de la plalaforma es una serie de módulos basados en servidor. Esía eslructura provee varios API's que permiten crear acciones de notificación de uso en el servidor e integrarlas en el flujo de trabajo y proceso de negocios de las Alertas y Notificaciones y Manejo de Error en el servidor. Además, esta estrucíura facilita la integración con Sistemas de Empresa externos y provee la infraestrucíura para la Integración de Aplicación de Empresa (EAI), que incluye sistemas de Manejo de Relación con el Cliente (CRM), sislemas de Mesa de Ayuda y Soporte y sisíemas de legado. La estructura de componente de la plataforma es una serie de módulos de la parte del cliente. Esta estrucíura provee la infraestruclura para añadir y personalizar módulos de cliente, tales como programas de aplicación y componentes de hardware. Esta serie de módulos habilita la capacidad de manejo remoto de esíos componenles y provee una ¡nlerfaz estándar para configurar eslos componenles usando el servicio de encuenlro. La Eslructura de Trabajo es una serie de módulos de cliente.
Esta estructura permite una mayor personalización y extensión de la funcionalidad de componente de cliente. Provee una interfaz simple y flexible pero poderosa para realizar procesos de negocios específicos e integrarlos en un componente de cliente. Los API's de servicios web son una infraestruclura de componente distribuido basada en la naturaleza de la arquitectura orientada a servicio de la plataforma. Esla esíructura incluye varios API's que están disponibles fácilmente en los componentes de clienle para comunicarse con el componente de servidor y realizar un proceso de negocios diferenciado y bien definido. También incluye las interfaces de punto final de estos servicios de negocios, de tal manera que se pueden construir oíros clienles de otras plataformas y comunicarlos con estos servicios. Esto se hace posible porque estos servicios son diseñados como servicios web de eslilo documenlo que utilizan XML y http como protocolo de intercambio de datos y de comunicación, respectivamente. Aunque se han descrito varias modalidades ejemplares de la invención, será evidente para los expertos en la materia que se pueden hacer varios cambios y modificaciones con los que se obtienen algunas de las ventajas de la invención, sin apartarse del verdadero alcance de la invención. Eslas y otras modificaciones obvias se consideran cubiertas por las reivindicaciones anexas. Se debe reconocer que, aunque las modalidades aquí descritas se refieren al uso de Java y componentes basados en Java, se pueden usar otros lenguajes preliminares que proveen una funcionalidad similar sin desviarse del concepto de la invención.

Claims (51)

NOVEDAD DE LA INVENCIÓN REIVINDICACIONES
1.- Un método para manejar una red de dispositivos inteligentes en comunicación con un servidor, que comprende: para cada disposilivo, establecer un proceso de cliente asociado con el dispositivo, que ocasiona la emisión de una consulta de instrucciones al servidor; en respuesta controlable a la consulta recibida en el servidor, como un resullado del proceso de cliente, se produce por lo menos una de las siguientes acciones: (i) descarga, para almacenamiento local en el dispositivo, de por lo menos uno de: datos e instrucciones, para utilizar en asociación con el dispositivo, y (ii) carga de datos pertinentes al dispositivo.
2.- El método de conformidad con la reivindicación 1 , caracterizado además porque comprende: una interfaz en asociación con el servidor, que permite el establecimiento de una regla de negocios que gobierna el manejo de operación de un conjunto seleccionable de dispositivos en la red.
3.- El método de conformidad con la reivindicación 1 , caracterizado además porque comprende: un proceso de descarga que se ejecuta en el servidor para ocasionar la descarga de instrucciones pertinentes para el conjunto seleccionable de dispositivos, para almacenamiento local en cada uno de los conjuntos seleccionables de dispositivos, que ejecutan una regla en el disposilivo.
4.- El método de conformidad con la reivindicación 1 , caracterizado además porque un componente de clienle eslá asociado con cada disposilivo inteligente, dicho componente de cliente es manejable por el servidor de modo que una pluralidad de dispositivos que ejecutan diferentes sistemas operativos son manejables en común por el servidor para establecer una regla de operación.
5.- El método de conformidad con la reivindicación 4, caracterizado además porque el componente de cliente es operable para traducir la regla de operación recibida para el sislema operativo del dispositivo inteligenle.
6.- Un método para configurar automáticamente un dispositivo inteligente en una red por conexión a la red, que comprende: configurar un servidor para aceptar consultas asociadas con un dispositivo; establecer un proceso de cliente asociado con el dispositivo, que ocasiona la emisión de una consulta al servidor; reconocer el dispositivo en el servidor basándose por lo menos en la consulla, que ocasiona la emisión de datos de configuración al dispositivo; establecer un proceso de cliente asociado con el dispositivo para configurar automáticamente el dispositivo basándose en los datos de configuración.
7.- Un método para manejar dispositivos inteligentes dentro de una red, que comprende: recibir en el servidor un conjunto de criterios que incluyen las caracteríslicas del disposiíivo que definen un grupo organizado de los disposilivos inteligentes en red; determinar en el servidor la membresía de los disposiíivos inteligentes del grupo basándose en una base de dalos que contiene las características de los dispositivos inteligentes de la red; enviar desde el servidor una señal a cada miembro del grupo, que ideníifica al disposiíivo inteligenle como un miembro del grupo; recibir una señal de actualización de un miembro del grupo; en donde el servidor deíermina si el dispositivo inteligente actualizado es todavía miembro del grupo.
8.- El método para manejar dispositivos inteligentes de conformidad con la reivindicación 7, caracíerizado además porque comprende: recibir en el servidor un cambio de los crilerios del grupo organizado; actualizar la membresía de grupo.
9.- El método para manejar dispositivos inteligentes de conformidad con la reivindicación 7, caracterizado además porque la señal enviada a cada miembro del grupo es recibida por un cliente asociado con el dispositivo inteligente.
10.- El método para manejar dispositivos inteligentes de conformidad con la reivindicación 9, caracterizado además porque el cliente traduce la señal en una o más instrucciones entendidas por el disposílivo inteligente.
11.- El método para manejar dispositivos inteligentes de conformidad con la reivindicación 7, caracterizado además porque comprende: recibir en el servidor una solicitud de información sobre el grupo organizado de parte de un dispositivo en red diferente de los dispositivos inteligentes; y enviar la información sobre el grupo organizado al dispositivo en red.
12.- El méíodo para manejar disposilivos inteligentes de conformidad con la reivindicación 11 , caracterizado además porque cada grupo incluye un nivel de acceso asociado y está basado en un nivel de acceso recibido del dispositivo en red, el servidor determina si el disposiíivo en red puede recibir la información de grupo.
13.- El método para manejar disposilivos inteligentes de conformidad con la reivindicación 12, caracterizado además porque el nivel de acceso asociado provee acceso selectivo a las caracteríslicas de disposilivo.
14.- El método de conformidad con la reivindicación 7, caracterizado además porque las características de dispositivo pueden incluir: ubicación, modelo de hardware, configuración de software y tipo de dispositivo.
15.- El método para manejar dispositivos inteligenles de conformidad con la reivindicación 8, caracíerizado además porque el cambio de los crilerios del grupo es originado por un dispositivo en red.
16.- El método de conformidad con la reivindicación 7, caracterizado además porque un componente de cliente está asociado con cada miembro del grupo, dicho componenle de cliente es manejable en común por el servidor para establecer una regla de operación para uno o más de los miembros del grupo.
17.- El método de conformidad con la reivindicación 16, caracterizado además porque cada componente de cliente es operable para traducir la regla de operación recibida para el sistema operativo del miembro del grupo.
18.- El método de conformidad con la reivindicación 17, caracterizado además porque los miembros del grupo son manejables comúnmente o individualmente.
19.- Un sistema para manejar dispositivos inteligenles en red en comunicación con un servidor, que comprende: para cada dispositivo inteligente en red, un módulo de proceso de cliente para establecer un proceso de cliente que produce la emisión de una consulta al servidor; un módulo de proceso de servidor sensible a la consulta, que produce por lo menos una de las siguienles acciones: descarga, para almacenamiento local en el dispositivo, de por lo menos uno de: datos e instrucciones, para usar en asociación con el dispositivo inteligente; y carga de datos pertinentes al dispositivo.
20.- El sistema de conformidad con la reivindicación 19, caracterizado además porque comprende: una interfaz en asociación con el módulo de proceso de servidor, que permite el establecimiento de una regla de negocios que gobierna el manejo de operación de un conjunto seleccionable de dispositivos inteligentes en la red.
21.- El sistema de conformidad con la reivindicación 20, caracterizado además porque comprende: un módulo de método de negocio en el servidor, que descarga instrucciones de negocios pertinentes al conjunto seleccionable de dispositivos, para almacenamiento local en cada conjunto seleccionable de dispositivos inteligentes que ejecutan la regla de negocios en un disposilivo.
22.- El sislema de conformidad con la reivindicación 21 , caracterizado además porque el módulo de método de negocios separa las instrucciones de negocios de las instrucciones de comunicación eníre el módulo de proceso de clieníe y el módulo de proceso de servidor.
23.- El sislema de conformidad con la reivindicación 19, caraclerizado además porque un componente de cliente está asociado con cada dispositivo inteligente, dicho componente de clieníe es manejable por el servidor, de lal manera que una pluralidad de dispositivos que ejecutan diferentes sistemas operativos son manejables en común por el servidor para establecer una regla de operación.
24.- El sistema de conformidad con la reivindicación 23, caracterizado además porque el componente de clieníe es operable para íraducir la regla de operación recibida para el sislema operaíivo del disposilivo inteligente.
25.- Un sistema para manejar dispositivos inteligentes dentro de una red, que comprende: un módulo receptor localizado en un servidor, que recibe un conjunto de criíerios que incluyen características de dispositivo que definen un grupo organizado de dispositivos inteligentes en red; un módulo de determinación de grupo localizado en el servidor, que determina la membresía de los dispositivos inteligentes del grupo organizado, basándose por lo menos en una base de daíos que conliene las caraclerísticas de los dispositivos inteligentes dentro de la red; un módulo de comunicación en cada miembro del grupo localizado en el cliente, para enviar una señal de actualización al servidor que actualiza la membresía del grupo; y el módulo receptor recibiendo una señal de actualización de cualquier miembro del grupo.
26.- El sistema para manejar dispositivos inleligeníes de conformidad con la reivindicación 25, caraclerizado además porque comprende: una inlerfaz para recibir en el servidor una señal indicativa de un cambio de los criterios del grupo; y en donde el módulo de comunicación actualiza la membresía del grupo.
27.- El sistema para manejar dispositivos inteligentes de conformidad con la reivindicación 26, caracterizado además porque el módulo de determinación de grupo actualiza la afiliación de grupo basándose en una señal de abandono.
28.- El sistema para manejar dispositivos inteligentes de conformidad con la reivindicación 25, caracterizado además porque la señal enviada por el módulo de comunicación a cada miembro del grupo es recibida por un cliente asociado con el disposiíivo inteligente.
29.- El sisíema para manejar disposiíivos inteligentes de conformidad con la reivindicación 28, caracterizado además porque el cliente traduce la señal en una o más instrucciones entendidas por el dispositivo inteligenle.
30.- El sislema para manejar dispositivos inteligentes de conformidad con la reivindicación 25, caracterizado además porque comprende: un módulo de información que recibe una solicitud de información de grupo de un dispositivo en red diferente de los disposilivos inteligentes, que ocasiona que el módulo de comunicación envíe una o más listas de grupo al disposiíivo en red.
31.- El sisíema para manejar disposilivos inteligentes de conformidad con la reivindicación 30, caracterizado además porque incluye un módulo de seguridad, en donde cuando el módulo de información recibe una solicitud de información de grupo de un dispositivo en red, el módulo de seguridad determina un nivel de acceso asociado, y basándose en el nivel de acceso, el módulo de seguridad determina si el dispositivo en red puede recibir la información.
32.- El sistema para manejar disposilivos inteligentes de conformidad con la reivindicación 31 , caraclerizado además porque el módulo de seguridad utiliza un perfil de usuario para determinar si un dispositivo en red puede recibir la información.
33.- El sislema para manejar dispositivos inteligentes de conformidad con la reivindicación 30, caracterizado además porque el módulo de seguridad utiliza un perfil de usuario para determinar si un usuario puede cambiar las características de la información.
34.- El sistema de conformidad con la reivindicación 25, caraclerizado además porque un componeníe de cliente está asociado con cada miembro del grupo, dichos componentes de clienle son manejables en común por el servidor para establecer una regla de operación para uno o más de los miembros del grupo.
35.- El sislema de conformidad con la reivindicación 34, caracterizado además porque cada componente de cliente es operable para traducir la regla de operación recibida para el sistema operativo del miembro del grupo.
36.- El sistema de conformidad con la reivindicación 35, caracterizado además porque los miembros del grupo son manejables comúnmente o individualmente.
37.- Un producío de programa de compuladora para usar en un sislema de computadora para manejar una red de dispositivos inteligentes en comunicación con un servidor, el producto de programa de computadora comprendiendo un medio utilizable en compuladora que íiene un programa legible en compuladora, el código de programa legible en compuladora incluyendo: para cada disposilivo, código de compuladora que eslablece un proceso de cliente asociado con el dispositivo, que produce la emisión de una consulta de instrucciones al servidor; código de computadora para producir, en respuesta controlable a la consulta recibida en el servidor, como un resultado del proceso de clienle, por lo menos una de las siguientes acciones: (i) descarga, para almacenamiento local en el dispositivo, de por lo menos uno de: datos e instrucciones, para usar en asociación con el dispositivo, y (ii) carga de datos pertinentes al dispositivo.
38.- El producto de computadora de conformidad con la reivindicación 36, caracterizado además porque comprende: código de computadora para una interfaz en asociación con el servidor, que permite el establecimiento de una regla de negocios que gobierna el manejo de operación de un conjunto seleccionable de dispositivos en la red.
39.- El producto de programa de computadora de conformidad con la reivindicación 36, caracterizado además porque comprende: código de computadora para un proceso de descarga de método de negocios, que se ejecuta en el servidor para ocasionar la descarga de instrucciones de negocios pertinentes al conjunto seleccionable de dispositivos, para almacenamiento local en cada dispositivo del conjunlo seleccionable de dispositivos, que ejecutan la regla de negocios en el dispositivo.
40.- Un producto de programa de computadora para usar en un sistema de computadora para la configuración automática de un dispositivo inteligente en una red por conexión a la red, el producto de programa de computadora comprendiendo un medio utilizable en compuladora que liene un programa legible en computadora, el código de programa legible en computadora incluyendo: código de computadora para configurar un servidor para aceptar consultas asociadas con un dispositivo; código de computadora para establecer un proceso de cliente asociado con el disposílivo, que ocasiona la emisión de una consulta al servidor; código de computadora para reconocer el dispositivo en el servidor basándose por lo menos en la consulta, que ocasiona la emisión de datos de configuración al dispositivo; y código de computadora para establecer un proceso de cliente asociado con el dispositivo, para configurar automáticamente el dispositivo basándose en los datos de configuración.
41.- Un producto de programa de computadora para usar en un sistema de computadora para el manejo de disposilivos inteligentes dentro de una red, el producto de programa de computadora comprendiendo un medio utilizable en computadora que tiene un programa legible en computadora, el código de programa legible en computadora incluyendo: código de computadora para recibir en un servidor un conjunto de crilerios que incluyen características de dispositivo que definen un grupo organizado de los dispositivos inteligentes en red; código de computadora para determinar en el servidor la membresía de los dispositivos inteligentes del grupo basándose en una base de datos que contiene las características de los dispositivos inteligentes dentro de la red; código de computadora para enviar desde el servidor una señal a cada miembro del grupo, suministrando a cada miembro el conjunto de criterios que definen el grupo; código de computadora para recibir na señal de abandono de cualquier miembro del grupo que deja de cumplir con el criterio de membresía, de tal manera que los dispositivos inteligentes monitorean automálicameníe su calificación de membresía en el grupo organizado.
42.- El produelo de programa de compuladora de conformidad con la reivindicación 41 , caracterizado además porque comprende: código de computadora para recibir en el servidor un cambio de los criterios del grupo organizado; código de computadora para enviar una actualización de criterios de grupo a cada miembro del grupo; y código de computadora para recibir una señal de abandono de cualquier miembro del grupo que deja de cumplir con los criterios actualizados de la membresía del grupo.
43.- El producto de programa de computadora de conformidad con la reivindicación 41 , caracterizado además porque comprende código de computadora para que un clienle asociado con el dispositivo inteligente reciba la señal enviada a cada miembro del grupo.
44.- El producto de programa de computadora de conformidad con la reivindicación 43, caracterizado además porque comprende código de compuíadora para íraducir la señal en una o más inslrucciones entendidas por el disposilivo inteligente, en el clienle.
45.- El producto de programa de computadora de conformidad con la reivindicación 41 , caracterizado además porque comprende: código de programa para recibir en el servidor una solicilud de información sobre un grupo organizado de un disposilivo en red diferente de los dispositivos inteligentes; y código de programa para enviar información sobre el grupo organizado al dispositivo en red.
46.- El producto de programa de computadora de conformidad con la reivindicación 45, caracterizado además porque cada grupo incluye un nivel de acceso asociado, el producto de programa de computadora comprendiendo además código de computadora para delerminar, en el servidor, si el dispositivo en red puede recibir la información de grupo.
47.- El producto de programa de computadora de conformidad con la reivindicación 46, caraclerizado además porque el nivel de acceso asociado provee acceso selectivo a las características de dispositivo.
48.- El producto de programa de computadora de conformidad con la reivindicación 41 , caracterizado además porque las características de dispositivo pueden incluir: ubicación, modelo de hardware, configuración de software y tipo de dispositivo.
49.- El produelo de programa de compuladora de conformidad con la reivindicación 42, caracterizado además porque comprende código de computadora en un dispositivo en red para enviar el cambio de los criterios del grupo.
50.- Un sistema para manejar dispositivos inteligentes dentro de una red, que comprende: una red; un servidor; una pluralidad de dispositivos inteligentes, cada uno en comunicación con el servidor por medio de la red, cada dispositivo inteligente teniendo un componente de clienle que es manejable por el servidor, de modo que una pluralidad de disposiíivos que ejecuten diferentes sistemas operativos son manejables en común por el servidor para establecer una regla de operación.
51.- El sislema de conformidad con la reivindicación 50, caracterizado además porque el componente de cliente es operable para traducir la regla de operación recibida para el sislema operativo del dispositivo inteligente.
MX2007012895A 2005-04-15 2006-04-12 Aparato y metodo para manejar una red de dispositivos inteligentes. MX2007012895A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US67220205P 2005-04-15 2005-04-15
PCT/US2006/013542 WO2006113238A2 (en) 2005-04-15 2006-04-12 Apparatus and method for managing a network of intelligent devices

Publications (1)

Publication Number Publication Date
MX2007012895A true MX2007012895A (es) 2008-02-25

Family

ID=37085720

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007012895A MX2007012895A (es) 2005-04-15 2006-04-12 Aparato y metodo para manejar una red de dispositivos inteligentes.

Country Status (11)

Country Link
US (1) US9032091B2 (es)
EP (1) EP1875664B1 (es)
JP (1) JP4955655B2 (es)
KR (1) KR20080003884A (es)
AT (1) ATE459151T1 (es)
AU (1) AU2006236838B2 (es)
CA (1) CA2604312C (es)
DE (1) DE602006012472D1 (es)
HK (1) HK1117296A1 (es)
MX (1) MX2007012895A (es)
WO (1) WO2006113238A2 (es)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458754B2 (en) 2001-01-22 2013-06-04 Sony Computer Entertainment Inc. Method and system for providing instant start multimedia content
US8364748B2 (en) * 2004-11-09 2013-01-29 International Business Machines Corporation Environment aware business delegates
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US7650609B2 (en) * 2005-07-05 2010-01-19 Sap Ag Multi-environment document management system access
JP4747733B2 (ja) * 2005-08-22 2011-08-17 ブラザー工業株式会社 ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
US7779091B2 (en) 2005-12-19 2010-08-17 Vmware, Inc. Method and system for providing virtualized application workspaces
US7967682B2 (en) 2006-04-12 2011-06-28 Bally Gaming, Inc. Wireless gaming environment
US7747736B2 (en) * 2006-06-05 2010-06-29 International Business Machines Corporation Rule and policy promotion within a policy hierarchy
US8019845B2 (en) * 2006-06-05 2011-09-13 International Business Machines Corporation Service delivery using profile based management
US8112508B1 (en) * 2006-09-08 2012-02-07 Dell Products L.P. Delivering data from device management services to devices using bulletin system
US9245040B2 (en) * 2006-09-22 2016-01-26 Blackberry Corporation System and method for automatic searches and advertising
US9101820B2 (en) 2006-11-09 2015-08-11 Bally Gaming, Inc. System, method and apparatus to produce decks for and operate games played with playing cards
US9111078B2 (en) 2006-11-10 2015-08-18 Bally Gaming, Inc. Package manager service in gaming system
US9508218B2 (en) 2006-11-10 2016-11-29 Bally Gaming, Inc. Gaming system download network architecture
US8784212B2 (en) 2006-11-10 2014-07-22 Bally Gaming, Inc. Networked gaming environment employing different classes of gaming machines
US8920233B2 (en) 2006-11-10 2014-12-30 Bally Gaming, Inc. Assignment template and assignment bundle in a gaming configuration and download system
US8347280B2 (en) 2006-11-13 2013-01-01 Bally Gaming, Inc. System and method for validating download or configuration assignment for an EGM or EGM collection
US8930461B2 (en) 2006-11-13 2015-01-06 Bally Gaming, Inc. Download and configuration management engine for gaming system
US9082258B2 (en) 2006-11-13 2015-07-14 Bally Gaming, Inc. Method and system for providing download and configuration job progress tracking and display via host user interface
US7689567B2 (en) * 2006-12-28 2010-03-30 Sap Ag Error handling for intermittently connected mobile applications
US20080163224A1 (en) * 2006-12-29 2008-07-03 Frank Joachim H Modeling interrupts in a business process
CN101232523B (zh) * 2007-01-25 2012-01-04 财团法人工业技术研究院 简化服务接口来存取网络服务的装置与方法
US8135822B2 (en) * 2007-05-14 2012-03-13 Ricoh Company, Ltd. Reporting events from multiple WS-enabled devices
WO2009021200A1 (en) * 2007-08-08 2009-02-12 Innopath Software, Inc. Managing and enforcing policies on mobile devices
US9483405B2 (en) 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
US8364639B1 (en) * 2007-10-11 2013-01-29 Parallels IP Holdings GmbH Method and system for creation, analysis and navigation of virtual snapshots
US8734245B2 (en) 2007-11-02 2014-05-27 Bally Gaming, Inc. Game related systems, methods, and articles that combine virtual and physical elements
US8616958B2 (en) 2007-11-12 2013-12-31 Bally Gaming, Inc. Discovery method and system for dynamically locating networked gaming components and resources
US9053135B2 (en) * 2007-12-13 2015-06-09 Verizon Patent And Licensing Inc. Device level performance monitoring and analysis
US8140796B2 (en) 2007-12-27 2012-03-20 Igt Serial advanced technology attachment write protection: mass storage data protection device
US9922295B2 (en) * 2008-01-17 2018-03-20 International Business Machines Corporation Method for evolving shared to-do lists into business processes
US8682960B2 (en) * 2008-03-14 2014-03-25 Nokia Corporation Methods, apparatuses, and computer program products for providing filtered services and content based on user context
US9483911B2 (en) 2008-04-30 2016-11-01 Bally Gaming, Inc. Information distribution in gaming networks
US8856657B2 (en) 2008-04-30 2014-10-07 Bally Gaming, Inc. User interface for managing network download and configuration tasks
US9005034B2 (en) 2008-04-30 2015-04-14 Bally Gaming, Inc. Systems and methods for out-of-band gaming machine management
WO2009155047A2 (en) 2008-05-30 2009-12-23 Bally Gaming, Inc. Web pages for gaming devices
WO2010006187A2 (en) * 2008-07-11 2010-01-14 Bally Gaming, Inc. Integration gateway
US8266213B2 (en) 2008-11-14 2012-09-11 Bally Gaming, Inc. Apparatus, method, and system to provide a multiple processor architecture for server-based gaming
KR101104716B1 (ko) * 2008-12-22 2012-01-10 한국전자통신연구원 네트워크 기반 로봇 제어를 위한 로봇 클라이언트 관리 시스템 및 그 방법
US8434056B2 (en) * 2009-06-17 2013-04-30 Phillip J. Windley Rule engine system controlling devices of disparate types and protocols
US8458301B1 (en) * 2009-10-30 2013-06-04 Bradford Networks, Inc. Automated configuration of network devices administered by policy enforcement
US8126987B2 (en) * 2009-11-16 2012-02-28 Sony Computer Entertainment Inc. Mediation of content-related services
US8688838B2 (en) * 2009-12-14 2014-04-01 Hewlett-Packard Development Company, L.P. Profile management systems
US10826751B2 (en) 2009-12-28 2020-11-03 Telefonaktiebolaget Lm Ericsson (Publ) Management of functional interconnections between application modules on resource nodes in a social web
US9237062B2 (en) 2009-12-28 2016-01-12 Telefonaktiebolaget L M Ericsson (Publ) Management of data flows between networked resource nodes in a social web
US20120079092A1 (en) * 2009-12-28 2012-03-29 Telefonaktiebolaget L M Ericsson (Publ) Management of data flows between user equipment nodes and clusters of networked resource nodes
US8493210B2 (en) * 2010-03-11 2013-07-23 Microsoft Corporation Computer monitoring and reporting infrastructure
CN103003033A (zh) * 2010-04-23 2013-03-27 三星重工业株式会社 机器人系统的控制方法和装置
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
US20120252361A1 (en) * 2011-03-31 2012-10-04 Nxp B.V. Wireless data transfer
US9058716B2 (en) 2011-06-06 2015-06-16 Bally Gaming, Inc. Remote game play in a wireless gaming environment
EP2584754A1 (en) * 2011-10-17 2013-04-24 Alcatel Lucent Method of managing a network of clients
US8974305B2 (en) 2012-01-18 2015-03-10 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US9120007B2 (en) 2012-01-18 2015-09-01 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
WO2013147780A1 (en) * 2012-03-29 2013-10-03 Hewlett-Packard Development Company, L.P. A conceptual services implementation platform
CN102789507A (zh) * 2012-07-20 2012-11-21 湖北中试电力科技有限公司 面向电气试验现场指导的查询系统
CN103049337B (zh) * 2012-12-20 2019-02-05 康佳集团股份有限公司 一种智能设备个人信息的同步处理方法及系统
WO2014122552A1 (en) * 2013-02-07 2014-08-14 Koninklijke Philips N.V. Configuring interaction control in multi-controller network
RU2653984C2 (ru) * 2013-12-05 2018-05-15 Закрытое акционерное общество "Лаборатория Касперского" Способ и система ассоциирования агентов управления устройством с пользователем устройства
CN103685522A (zh) * 2013-12-17 2014-03-26 海信集团有限公司 终端和智能设备的控制方法
US9918351B2 (en) * 2014-04-01 2018-03-13 Belkin International Inc. Setup of multiple IOT networks devices
CN103986608B (zh) * 2014-05-29 2018-05-04 浪潮电子信息产业股份有限公司 一种基于安腾Linux应用容器的J2EE应用虚拟化管理方法
US10628186B2 (en) * 2014-09-08 2020-04-21 Wirepath Home Systems, Llc Method for electronic device virtualization and management
US10833940B2 (en) 2015-03-09 2020-11-10 Vapor IO Inc. Autonomous distributed workload and infrastructure scheduling
US10038682B2 (en) * 2015-10-12 2018-07-31 American Express Travel Related Services Company, Inc. System and method for communicating between distributed applications and databases
US10931716B2 (en) * 2018-02-09 2021-02-23 Vmware, Inc. Policy strength of managed devices
US10733018B2 (en) * 2018-04-27 2020-08-04 Paypal, Inc. Systems and methods for providing services in a stateless application framework
JP7043996B2 (ja) * 2018-07-06 2022-03-30 横河電機株式会社 機器構成管理装置、システム、およびプログラム
US11159628B1 (en) * 2020-03-30 2021-10-26 Amazon Technologies, Inc. Edge intelligence-based resource modification for transmitting data streams to a provider network
US11689914B2 (en) * 2020-09-23 2023-06-27 Arris Enterprises Llc Using a mobile application with a cloud server to manage a home network

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631247B1 (en) * 1999-09-29 2003-10-07 Ricoh Co., Ltd. Method and system for remote diagnostic, control and information collection based on various communication modes for sending messages to a resource manager
US5495284A (en) * 1993-03-12 1996-02-27 Katz; Ronald A. Scheduling and processing system for telephone video communication
US5872928A (en) * 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
US5826267A (en) * 1996-03-20 1998-10-20 Mcmillan; James Michael Web information kiosk
US6901299B1 (en) * 1996-04-03 2005-05-31 Don Whitehead Man machine interface for power management control systems
US6078848A (en) * 1996-07-27 2000-06-20 Lexitech, Inc. Browser kiosk system
US5761071A (en) * 1996-07-27 1998-06-02 Lexitech, Inc. Browser kiosk system
US6012088A (en) * 1996-12-10 2000-01-04 International Business Machines Corporation Automatic configuration for internet access device
US7890581B2 (en) * 1996-12-16 2011-02-15 Ip Holdings, Inc. Matching network system for mobile devices
US6216169B1 (en) * 1997-10-06 2001-04-10 Concord Communications Incorporated Generating reports using distributed workstations
US6779030B1 (en) * 1997-10-06 2004-08-17 Worldcom, Inc. Intelligent network
US6295527B1 (en) * 1998-02-13 2001-09-25 Cisco Technology, Inc. Real-time user-defined creation of network device information collections
US6237092B1 (en) * 1998-05-05 2001-05-22 International Business Machines Corp. Client-server system with central application management allowing an administrator to configure user and group contexts during application configuration without relaunching the application
US6212563B1 (en) * 1998-10-01 2001-04-03 3Com Corporation Method and system for setting and managing externally provided internet protocol addresses using the dynamic host configuration protocol
US6377162B1 (en) * 1998-11-25 2002-04-23 Ge Medical Systems Global Technology Company, Llc Medical diagnostic field service method and apparatus
JP4146983B2 (ja) * 1999-02-26 2008-09-10 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ・オブジェクトのメソッドを呼び出すプロセス方法及びデータ処理システム
US7656271B2 (en) * 2002-01-09 2010-02-02 I.D. Systems, Inc. System and method for managing a remotely located asset
US7392309B2 (en) * 1999-10-27 2008-06-24 American Power Conversion Corporation Network appliance management
US20020069244A1 (en) * 1999-11-24 2002-06-06 John Blair Message delivery system billing method and apparatus
US20010044840A1 (en) * 1999-12-13 2001-11-22 Live Networking, Inc. Method and system for real-tme monitoring and administration of computer networks
US7016064B2 (en) * 1999-12-27 2006-03-21 Fuji Photo Film Co., Ltd. Method and system for remote management of processor, and method and system for remote diagnosis of image output apparatus
US7093005B2 (en) * 2000-02-11 2006-08-15 Terraspring, Inc. Graphical editor for defining and creating a computer system
US6687735B1 (en) * 2000-05-30 2004-02-03 Tranceive Technologies, Inc. Method and apparatus for balancing distributed applications
US6981041B2 (en) * 2000-04-13 2005-12-27 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, an integrated virtual office environment, remotely accessible via a network-connected web browser, with remote network monitoring and management capabilities
US20020116485A1 (en) * 2001-02-21 2002-08-22 Equipe Communications Corporation Out-of-band network management channels
US20020046108A1 (en) * 2000-07-12 2002-04-18 Conrad Arthur Ernest Web attract loop
US6757714B1 (en) * 2000-07-28 2004-06-29 Axeda Systems Operating Company, Inc. Reporting the state of an apparatus to a remote computer
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
JP3716729B2 (ja) * 2000-09-27 2005-11-16 セイコーエプソン株式会社 ユーザサポート
US6741853B1 (en) * 2000-11-09 2004-05-25 Nortel Networks Limited Device aware internet portal
US20040236843A1 (en) * 2001-11-15 2004-11-25 Robert Wing Online diagnosing of computer hardware and software
US7149792B1 (en) 2000-11-20 2006-12-12 Axeda Corporation Device registration mechanism
US6782388B2 (en) * 2000-12-29 2004-08-24 Bellsouth Intellectual Property Corporation Error usage investigation and disposal system
US7840652B2 (en) * 2001-03-21 2010-11-23 Ascentive Llc System and method for determining network configuration settings that provide optimal network performance
US6836750B2 (en) * 2001-04-23 2004-12-28 Hewlett-Packard Development Company, L.P. Systems and methods for providing an automated diagnostic audit for cluster computer systems
US9077760B2 (en) * 2001-05-22 2015-07-07 Accenture Global Services Limited Broadband communications
JP2002366653A (ja) * 2001-06-13 2002-12-20 Matsushita Electric Ind Co Ltd 遠隔医療システム
US7284042B2 (en) * 2001-08-14 2007-10-16 Endforce, Inc. Device plug-in system for configuring network device over a public network
US7254601B2 (en) * 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7178149B2 (en) * 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7082460B2 (en) 2002-04-19 2006-07-25 Axeda Corporation Configuring a network gateway
AU2003247842A1 (en) 2002-06-27 2004-01-19 Axeda Systems Operating Company, Inc. Screen sharing
US20040002943A1 (en) * 2002-06-28 2004-01-01 Merrill John Wickens Lamb Systems and methods for application delivery and configuration management of mobile devices
US8635254B2 (en) * 2002-08-08 2014-01-21 Axeda Corporation Maintaining independent states for multiple web browser instances
US20040027376A1 (en) * 2002-08-08 2004-02-12 Calder Dale E. Displaying information over multiple user interface (UI) views
JP4135451B2 (ja) * 2002-09-25 2008-08-20 株式会社日立製作所 統合設定装置
US20040230681A1 (en) * 2002-12-06 2004-11-18 John Strassner Apparatus and method for implementing network resources to provision a service using an information model
US7966418B2 (en) * 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US20080163075A1 (en) * 2004-01-26 2008-07-03 Beck Christopher Clemmett Macl Server-Client Interaction and Information Management System
EP1805599A4 (en) * 2004-07-30 2008-12-10 Research In Motion Ltd SYSTEM AND METHOD FOR PROVIDING A COMMUNICATION CLIENT ON A HOST DEVICE
US20070239672A1 (en) * 2006-03-29 2007-10-11 Microsoft Corporation Client Category Configuration

Also Published As

Publication number Publication date
KR20080003884A (ko) 2008-01-08
CA2604312A1 (en) 2006-10-26
CA2604312C (en) 2014-12-09
ATE459151T1 (de) 2010-03-15
WO2006113238A2 (en) 2006-10-26
HK1117296A1 (en) 2009-01-09
US20060259604A1 (en) 2006-11-16
DE602006012472D1 (de) 2010-04-08
WO2006113238A3 (en) 2007-03-29
EP1875664B1 (en) 2010-02-24
JP2008538040A (ja) 2008-10-02
JP4955655B2 (ja) 2012-06-20
AU2006236838A1 (en) 2006-10-26
AU2006236838B2 (en) 2011-07-07
US9032091B2 (en) 2015-05-12
EP1875664A2 (en) 2008-01-09

Similar Documents

Publication Publication Date Title
CA2604312C (en) Apparatus and method for managing a network of intelligent devices
US10929107B2 (en) Workflow support for dynamic action output
CN100568193C (zh) 多层计算环境中用于性能管理的系统和方法
US7984443B2 (en) System and method for normalizing job properties
US8427667B2 (en) System and method for filtering jobs
US9600216B2 (en) System and method for managing jobs in heterogeneous environments
US8028285B2 (en) Heterogeneous job dashboard
CN105516233B (zh) 用于在一个或多个云系统上便携部署应用的方法和系统
US20060020942A1 (en) System and method for providing alerts for heterogeneous jobs
CN1761944B (zh) 用于虚拟机的动态服务注册中心
EP2608032A1 (en) Resource adapter for establishing a connection between an executive information system (EIS) and at least one client
US20080082978A1 (en) Topology mapping of a mulitier compute infrastructure
US20100082737A1 (en) Dynamic service routing
GB2584371A (en) Communicating with machine to machine devices
WO2005077070A2 (en) An apparatus implementing a method for discovering network based distributed applications
CN115695139A (zh) 一种基于分布式鲁棒增强微服务系统架构的方法
US11269618B1 (en) Client device support for incremental offline updates
US11277321B2 (en) Escalation tracking and analytics system
US11829749B2 (en) Incremental update for offline data access
Familiar et al. Azure, A Microservice Platform
WO2004095303A1 (en) Knowledge governing system and method

Legal Events

Date Code Title Description
FG Grant or registration