MXPA05002861A - Metodo y aparato para administrar componentes de equipo fisico y programas de computo. - Google Patents

Metodo y aparato para administrar componentes de equipo fisico y programas de computo.

Info

Publication number
MXPA05002861A
MXPA05002861A MXPA05002861A MXPA05002861A MXPA05002861A MX PA05002861 A MXPA05002861 A MX PA05002861A MX PA05002861 A MXPA05002861 A MX PA05002861A MX PA05002861 A MXPA05002861 A MX PA05002861A MX PA05002861 A MXPA05002861 A MX PA05002861A
Authority
MX
Mexico
Prior art keywords
terms
component
proposed
additional component
data processing
Prior art date
Application number
MXPA05002861A
Other languages
English (en)
Inventor
Norman J Pass
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of MXPA05002861A publication Critical patent/MXPA05002861A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

Se describe un metodo, un producto de programa de computadora y un sistema de proceso de datos para construir un sistema distribuido de computadora autoadministrable que comprende: "elementos autonomos". Un elemento autonomo provee un conjunto de servicios, y puede proporcionarlos a otros elementos autonomos. Las relaciones entre los elementos autonomos incluyen el abastecimiento y consumo de tales servicios. Estas relaciones son de "limite tardio" en el sentido de que pueden hacerse durante la operacion del sistema en vez de hacerlo cuando las partes del sistema se ponen en ejecucion o se despliegan. Son dinamicas, en el sentido de que las relaciones pueden iniciar, terminar y cambiar con el tiempo. Se negocian, en el sentido de que se llega a ellas por medio de un proceso de comunicacion mutua entre los elemento que establecen la relacion.

Description

MÉTODO Y APARATO PARA ADMINISTRAR COMPONENTES DE EQUIPO FÍSICO Y PROGRAMAS DE CÓMPUTO DESCRIPCIÓN Antecedentes y campo de la invención La presente invención se refiere de manera general a un sistema de procesamiento de datos mejorado, y en particular, a un método y a un aparato para la administración de equipo físico de cómputo y componentes de software. Aún más particularmente, la presente invención provee un método y un aparato para identificar automáticamente y autoadministrar componentes de equipo físico de cómputo y de software para alcanzar los requisitos de funcionalidad. La tecnología moderna de cómputo ha resultado estar en ambientes siempre cambiantes e inmensamente complicados. Uno de tales ambientes es la Internet, la cual se refiere también como una ¾interred" . La Internet es un conjunto de redes, posiblemente disímiles, unidas en conjunto por medio de compuertas que manejan transferencia de datos y la conversión de mensajes desde un protocolo de la red de envío a un protocolo utilizado por la red receptora. Cuando se capitaliza, el término "Internet" se refiere a una colección de redes y compuertas que utilizan la serie de protocolos TCP/IP. Actualmente el método empleado más comúnmente para transferir datos en la Internet es emplear el ambiente World Wide Web, también llamado simplemente la "Web" . Existen otros medios de Internet para transferir información, tal como el protocolo de transferencia de archivos (FTP) y Gopher, pero no han alcanzado la popularidad de la Web. En el ambiente de la Web, servidores y clientes efectúan transacciones de datos que usan el protocolo de transferencia de hipertexto (HTTP) , un protocolo conocido para administrar la transferencia de varios archivos de datos (por ejemplo, texto, imágenes gráficas fijas, audio, video en movimiento, etc . ) . La información en varios archivos de datos se formatea para presentación a un usuario por un lenguaje de descripción de página estándar, el lenguaje de marcación de hipertexto (HTML) . La Internet también se utiliza ampliamente para transferir aplicaciones a usuarios gue utilizan navegadores. A menudo, usuarios pueden buscar y obtener paquetes de software a través de la Internet. Otros tipos de sistemas que procesan datos de redes complejos incluyen aquellos creados para facilitar el trabajo en grandes compañías. En muchos casos, estas redes pueden abarcar regiones en varios lugares alrededor del mundo. Estas redes complejas también pueden utilizar la Internet como parte de una red de producto virtual para realizar negocios. Estas redes son complicadas además por la necesidad de administrar y actualizar software utilizado dentro de la red. Conforme el software evoluciona para convertirse cada vez más en 1 autónomo ' , la tarea de administrar equipo físico de cómputo y software se desarrollará, cada vez más, por las propias computadoras, en oposición a que se realice por administradores. Los mecanismos actuales para administrar sistemas de cómputo se están moviendo hacia un proceso "autónomo", en donde los sistemas de cómputo se auto-configuran, auto-optimizan, auto-protegen y auto-reparan. Por ejemplo, muchos sistemas operativos y paquetes de software automáticamente buscarán componentes de software basados en requerimientos especificados por el usuario. Estos mecanismos de instalación y actualización a menudo se conectan a la Internet a una ubicación preseleccionada para ver si está presente una actualización o un componente necesario. Si la actualización o componente necesario está presente, se presenta un mensaje al usuario en el cual el mensaje pregunta al usuario si transfiere e instala el componente. Un ejemplo de tal sistema es el programa de administración de paquetes select" que es parte del sistema operativo de fuente abierta Debian GNU/Linux. Algunos programas que comprueban virus corren en el fondo, (como un proceso "demonio", para utilizar el Unix común) y pueden automáticamente detectar virus, removerlos y reparar el daño. Una siguiente etapa hacia el cómputo "autónomo" involucra la identificación, instalación, y administración de equipo físico de cómputo necesario y componentes de software sin requerir la intervención del usuario. Por tanto, existe la necesidad en el medio de procesos más automatizados para identificar, instalar, configurar y administrar componentes de equipo físico de cómputo y software.
Breve descripción de la invención La presente invención está dirigida a un método, un producto de programa de cómputo y a un sistema de procesamiento de datos para construir un sistema de cómputo distribuido autoadministrable que comprende elementos ¾autónomos". Un elemento autónomo provee un conjunto de servicios y puede proveerlos a otros elementos autónomos. La relación entre elementos autónomos incluye la provisión y consumo de tales servicios. Estas relaciones son de "enlace tardío" en el sentido de que ellas se pueden hacer durante la operación del sistema en lugar de que cuando las partes del sistema se implementen o desplieguen. Ellas son dinámicas, en el sentido de que las relaciones puedan empezar, terminar y cambiar en el tiempo. Ellas son negociadas, en el sentido de que ellas se hacen llegar por medio de un proceso de comunicación mutua entre los elementos que establecen la relación. Se pueden especificar políticas, incluyendo restricciones y preferencias, para un elemento autónomo. Cualquier relación establecida por un elemento autónomo deberá ser consistente con la política de ese elemento autónomo. Durante el curso de la relación, un elemento autónomo debe intentar ajustar su funcionamiento para ser consistente con la política.
Breve descripción de los dibujos Las características de la invención que se consideran novedosas se manifiestan en las reivindicaciones anexas. La invención por si misma, sin embargo, así como un modo de uso preferido, objetivos y ventajas adicionales de los mismos, serán mejor entendidos por referencia a la siguiente descripción detallada de una modalidad ejemplar cuando se lea en conjunto con los dibujos que la acompañan. La Figura 1 es un diagrama de un sistema que procesa datos en red en el que se puede implementar la presente invención.
La Figura 2 es un diagrama de bloques de un sistema servidor dentro del sistema que procesa datos en red de la Figura 1. La Figura 3 es un diagrama de bloques de un sistema de cliente dentro del sistema de procesamiento de datos en red de la Figura 1. La Figura 4 es un diagrama de un elemento autónomo de conformidad con la modalidad preferida de la invención. La Figura 5 es un diagrama de un mecanismo para establecer relaciones que proveen servicios entre elementos autónomos de conformidad con una modalidad preferida de la presente invención. La Figura 6 es un diagrama que provee una leyenda para símbolos en E-R (diagramas de relación de entidad) como se utiliza en este documento. La Figura 7 es un diagrama de un ejemplo de un esquema de base de datos para un servicio de directorio de conformidad con una modalidad preferida de la presente invención. Las Figuras 8-9 son diagramas que muestran un ejemplo de un elemento autónomo que utiliza los servicios de otro elemento autónomo de conformidad con una modalidad preferida de la presente invención.
La Figura 10 es un diagrama E-R que muestra como los términos de una relación entre dos elementos autónomos pueden gobernarse por una política de conformidad con una modalidad preferida de la presente invención. La Figura 11 es una representación en diagrama de flujo de un proceso de términos de negociación de una relación entre dos elementos autónomos como se ven desde la perspectiva de uno de los elementos de conformidad con una modalidad preferida de la presente invención. Las Figuras 12-15 son diagramas que muestran un ejemplo de detección y manejo de falla en un sistema de cómputo autónomo de conformidad con una modalidad preferida de la presente invención. La Figura 16 es una representación en diagrama de flujo de un proceso de recuperación de una falla o compromiso de conformidad con una modalidad preferida de la presente invención.
Descripción detallada de la modalidad preferida Con referencia ahora a las figuras, la Figura 1 muestra una representación gráfica de una red de sistemas que procesan datos en la cual se puede implementar la presente invención. El sistema 100 que procesa datos en red es una red de computadoras en la cual se puede implementar la presente invención. El sistema 100 que procesa datos en red contiene una red 102 , la cual es el medio usado para proveer enlaces de comunicación entre varios dispositivos y computadoras conectadas en conjunto dentro del sistema 100 que procesa datos en red. La red 102 puede incluir conexiones, tales como enlaces de comunicación de alambre, inalámbricos o cables de fibra óptica. En el ejemplo mostrado, el servidor 104 se conecta a la red 102 junto con la unidad de almacenamiento 106. Además, los clientes 108, 110 y 112 se conectan a la red 102. Estos clientes 108, 110 y 112 pueden ser por ejemplo, computadoras personales o computadoras de red. En el ejemplo descrito, el servidor 104 provee datos, tal como archivos de arranque, imágenes de sistemas operativos y aplicaciones para clientes 108-112. Los clientes 108, 110 y 112 son clientes para el servidor 104. El sistema 100 que procesa datos en red puede incluir servidores adicionales, clientes y otros servicios no mostrados. En el ejemplo descrito, el sistema 100 que procesa datos en red es la Internet con la red 102 representando una colección mundial de redes y portales que utilizan el Protocolo de control de transmisión /Protocolo de Internet (TCP/IP) serie de protocolos para comunicarse entre si. En el corazón de la Internet existe una estructura central de líneas de comunicación de datos de alta velocidad entre los principales nodos o computadoras anfitrión, que consisten de miles de sistemas de cómputo comerciales, de gobierno, educacionales y otros que enrutan datos y mensajes. Por supuesto, el sistema 100 que procesa datos en red también puede implementarse como un número de diferentes tipos de redes, tal como por ejemplo, una intranet, una red de área local (LAN) o una red de área amplia (WAN) . La Figura 1 se entiende como un ejemplo y no como una limitación de arquitectura para la presente invención. Con referencia a la Figura 2, se describe un diagrama de bloques de un sistema que procesa datos que puede implementarse como un servidor, tal como el servidor 104 en la Figura 1, de conformidad con la modalidad preferida de la presente invención. El sistema que procesa datos 200 puede ser un sistema multiprocesador simétrico (SMP) que incluye una pluralidad de procesadores 202 y 204 conectados al sistema 206 de ruta principal (bus) . De manera alternativa, puede emplearse un sistema procesador simple. También conectado al sistema 206 bus o de ruta principal está el controlador de memoria/caché 208, el cual provee una interfase para memoria local 209. El puente 210 bus de 1/0 está conectado al sistema 206 bus y provee una interfaz para el bus 212 I/O. El controlador de memoria/caché 208 y el puente 210 bus de I/O se puede integrar como se muestra. El puente bus 214 de interconexión de componentes periféricos (PCI) conectado al bus 212 de I/O provee una interfase para el bus 216 local PCI. Se puede conectar un número de módems al bus 216 local PCI . Implementaciones de bus PCI típicas soportan cuatro ranuras de expansión PCI o conectores agregados . Enlaces de comunicaciones para los clientes 108-112 en la Figura 1 pueden proveerse a través del módem 218 y el adaptador de red 220 conectado al bus 216 PCI a través de tarjetas agregadas. Puentes bus 222 y 224 PCI adicionales proveen interfaces para rutas locales PCI 226 y 228, a partir de la cual los módems adicionales o adaptadores de red pueden estar soportados. De esta manera, el sistema procesador de datos 200 permite conexión a varias computadoras en red. Un adaptador 230 de memoria de gráficas mapeadas por memoria puede también conectarse al bus 212 de I/O como se describió, ya sea directa o indirectamente. Aquellas personas con conocimientos medios en la materia apreciarán que el equipo físico de cómputo descrito en la Figura 2 puede variar. Por ejemplo, pueden utilizarse otros dispositivos periféricos, tales como los dispositivos de disco óptico y similares, además de o en lugar del equipo físico de cómputo descrito. El ejemplo descrito no implica limitaciones en la arquitectura con respecto a la presente invención. El sistema que procesa datos mostrado en la Figure 2 puede ser, por ejemplo, un sistema de IBM eServer pSeries, un producto de International Business Machines Corporation en Armonk, New York, que ejecuta el sistema operativo Advanced Interactive Executive (AIX) o el sistema operativo LINUX. Con referencia ahora a la Figura 3, se describe un diagrama de bloques que ilustra un sistema de procesamiento de datos en el cual la presente invención puede implementarse. El sistema 300 de procesamiento de datos es un ejemplo de una computadora cliente. El sistema 300 de procesamiento de datos emplea una arquitectura de bus local de interconexión de componentes periféricos (PCI) . Aunque el ejemplo descrito emplea un bus PCI, pueden utilizarse otras arquitecturas de ruta tal como Puerto de Gráficos Acelerado (AGP) y Arquitectura Estándar Industrial (ISA) . Se conectan el procesador 302 y la memoria principal 304 al bus local PCI 306 a través del puente PCI 308 . El puente PCI 308 también puede incluir un controlador de memoria integrado y una memoria caché para el procesador 302 . Pueden hacerse conectores adicionales al bus local PCI 306 a través de una interconexión directa de componentes o a través de tarj etas agregadas . En el ejemplo descrito, el adaptador 310 de red de área local (LAN) , el adaptador bus anfitrión SCSI 312 y la interfase bus de expansión 314 se conectan al bus 306 local PCI por medio de conexión directa de componente. En contraste, el adaptador de audio 316, el adaptador de gráficos 318 y el adaptador de audio/video 319 se conectan al bus local PCI 306 por medio de tarjetas agregadas insertadas en las ranuras de expansión. La interfase de bus 314 de expansión provee una conexión para un teclado y un adaptador de ratón 320, el módem 322 y la memoria adicional 324. El adaptador 312 de bus anfitrión de interfaz pequeña para sistema de cómputo (SCSI) provee una conexión para la unidad de disco duro 326, la unidad de cinta 328 y la unidad CD-ROM 330. Implementaciones típicas de bus local PCI soportarán tres o cuatro ranuras de expansión PCI o conectores agregados . Un sistema operador corre en un procesador 302 y se utiliza para coordinar y proveer control de varios componentes dentro del sistema 300 de procesamiento de datos en la Figura 3. El sistema operativo puede ser un sistema operativo comercialmente disponible, tal como Windows XP, el cual está disponible por Microsoft Corporation. Un sistema de programación orientado a objeto tal como Java puede ejecutarse en conjunto con el sistema operativo y proveer llamadas al sistema operativo desde los programas Java o aplicaciones que se ejecutan en el sistema 300 de procesamiento de datos. "Java" es una marca registrada de Sun Microsystems, Inc. Instrucciones para el sistema operativo, el sistema operativo orientado a objeto y solicitudes o programas se localizan en dispositivos de almacenamiento, tal como un una unidad de disco duro 326 y puede ser localizadas en la memoria principal 304 para ejecutarse por el procesador 302 . Aquellos con conocimientos medios en la materia apreciarán que el equipo físico de cómputo en la Figura 3 puede variar dependiendo de la aplicación. Se pueden utilizar otros dispositivos de equipo físico de cómputo internos o periféricos, tal como una memoria de solo lectura (ROM) relámpago, equivalente a una memoria no volátil o unidades de disco óptico y similares, junto con o en lugar del equipo físico de cómputo descrito en la Figura 3. También, el proceso de la presente invención puede ser aplicado a un sistema multiprocesador de procesamiento de datos . Como otro ejemplo, el sistema 300 de procesamiento de datos puede ser un sistema único estándar configurado para poder encenderse sin apoyarse en algún tipo de interfases de comunicación de red. Como un ejemplo adicional, el sistema 300 de procesamiento de datos puede ser un dispositivo asistente digital personal (PDA) , el cual se configura con ROM y/o ROM relámpago para proveer una memoria no volátil para almacenar archivos de sistema operativo de almacenamiento y/o datos generados por el usuario . El ejemplo descrito en la Figura 3 y los ejemplos ya descritos no implican limitaciones arquitectónicas . Por ejemplo, el sistema 300 de procesamiento de datos puede ser también una computadora portátil o una computadora manual para tomar la forma de una PDA. El sistema 300 de procesamiento de datos puede ser también un kiosco o un dispositivo Web. La presente invención se orienta a un método y aparato para construir un sistema de cómputo distribuido autoadministrable. Los componentes de equipo físico de cómputo y software que construyen tal sistema de cómputo (por ejemplo, bases de datos, sistemas de almacenamiento, servidores Web, servidores de archivo y similares) son componentes autoadministrables llamados elementos wautónomos" . Los elementos ¾autónomos" acoplan funcionalidad de computación convencional (por ejemplo, una base de datos) con capacidades de autoadministración adicionales . La Figura 4 es un diagrama de un elemento autónomo de conformidad con la modalidad preferida de la presente invención. De acuerdo a la modalidad descrita en la Figura 4, un elemento autónomo 400 comprende una unidad de administración 402 y una unidad funcional 404 . Una persona con conocimientos medios en la materia reconocerá que un elemento autónomo no es necesario que esté claramente dividido en unidades separadas como en la Figura 4, ya que es meramente conceptual la división entre las unidades de administración y funcionales. La unidad de administración 402 maneja las características de autoadministración del elemento autónomo 400. En particular, la unidad de administración 402 es responsable de ajustar y mantener la unidad funcional 404 conforme a un grupo de objetivos para el elemento autónomo 400, como se indicó por la interfase 414 de supervisión/control. La unidad de administración 402 también es responsable de limitar el acceso a la unidad funcional 404 a aquellos otros componentes del sistema (por ejemplo, otros elementos autónomos) que tienen permiso para utilizar la unidad funcional 404, como se indicó por las interfases de control de acceso 416. La unidad de administración 402 es también responsable de establecer y mantener las relaciones con otros' elementos autónomos (por ejemplo, por medio del canal de entrada 406 y del canal de salida 408) . La unidad funcional 404 consume servicios provistos por otros componentes del sistema por ejemplo, por medio del canal de entrada 410) y provee servicios para otros componentes del sistema (por ejemplo, por medio del canal de salida 412) , dependiendo de la funcionalidad deseada del elemento autónomo 400. Por ejemplo, un elemento de base de datos autónomo provee servicios de almacenamiento. Debería notarse que un elemento autónomo, tal como el elemento autónomo 400, puede ser un componente de software, un componente de equipo físico de cómputo, o alguna combinación de los dos. Un objeto de cómputo autónomo es proveer servicios de cómputo a un nivel funcional de separación, sin hacer distinciones estrictas entre las implementaciones subyacentes de una funcionalidad dada . Los elementos autónomos operan proveyendo servicios a otros componentes (los cuales pueden ser por si mismos elementos autónomos) y/o servicios que se obtienen a partir de otros componentes . Para que los elementos autónomos cooperen en tal forma, uno requiere un mecanismo por medio del cual un elemento autónomo pueda localizar y entrar en relación con componentes adicionales que provean la funcionalidad requerida. La Figura 5 es un diagrama que muestra un mecanismo construido de acuerdo con una modalidad preferida de la presente invención. Un "componente de solicitud" 500, un elemento autónomo, requiere servicios de otro componente para llevar a cabo su función. En una modalidad preferida, dicha función puede ser definida en términos de una política de reglas y objetivos. El componente servidor 502 de políticas es un elemento autónomo que establece políticas para otros elementos autónomos en el sistema de cómputo. En la Figura 5 , un componente servidor 502 de políticas establece una política de reglas y objetivos para componentes de solicitud 500 para seguir y comunicar esta política para componentes de solicitud 500 . En el contexto de comunicaciones de redes, por ejemplo, un estándar requerido de protección criptográfica puede ser una regla contenida en una política, mientras que una calidad deseada del servicio (QoS) puede ser un objetivo de una política. En apoyo de los componentes de solicitud 500 'e de política especificados, el componente de solicitud 500 requiere un servicio de un componente adicional (por e emplo, cifrado de datos) . Para adquirir tal servicio, el componente de solicitud 500 consulta el componente directorio 504 , otro elemento autónomo. El componente directorio 504 es preferiblemente un tipo de base de datos que mapea los requerimientos funcionales en componentes que proveen la funcionalidad requerida. Un ejemplo de un esquema de base de datos para un servicio de directorio se provee en la Figura 7. En una modalidad preferida, un componente directorio 504 puede proveer servicios de directorio a través del uso de esquemas de servicio de directorio estandarizados tal como lenguaje de descripción de servicios de la Web (WSDL) y sistemas tal como la descripción, descubrimiento e integración universales (UDDI) , lo cual permitirá que un programa localice entidades que ofrezcan servicios particulares y automáticamente determine como comunicar y conducir transacciones con aquellos servicios . WSDL es una norma propuesta que se esta considerando por la WorldWide Web Consortium, autorizada por representantes de compañías, tales como International Business Machines Corporation, Ariba, Inc., y Microsoft Corporation. La versión 3 de UDDI es la especificación actual que es utilizada para aplicaciones de servicio de la web. El desarrollo y los cambios futuros a la UDDI serán manejados por la organización para la Advancement of Structured Information Standards (OASIS) . El componente de directorio 504 provee información del componente 500 de solicitud para permitir que el componente 500 de solicitud utilice los servicios de un componente necesario 506. Tal información puede incluir una dirección (tal como una dirección de red) para permitir que el componente necesario 506 sea comunicado con, código descargable o la dirección al código descargable para permitir el componente 500 de solicitud se enlace a y utilice el componente necesario 506 o cualquier otra información, necesaria para permitir que el componente 500 de solicitud utilice los servicios del componente necesario 506. Un esquema de base de datos ejemplar para un servicio directorio tal como el componente directorio 504 se provee en la Figura 7 en la forma de un diagrama (E-R) (relación de entidad. La E-R (relación de entidad) se aproxima a una base de datos que provee una semántica para el diseño conceptual de bases de datos . Con la aproximación E-R, la información de base de datos se representa en términos de entidades, atributos de entidades y relaciones entre entidades, donde aplican las siguientes definiciones. La semántica de modelaje que corresponde a cada definición se ilustra en la Figura 6 . La Figura 6 se adapta de Elmasri y Navathe, fundamentáis of Datábase Systems, 3- Ed. , Addison Wesley ( 2000 ) , págs . 41- 66 , que contiene material adicional con respecto a los diagramas E-R y se incorpora aquí a manera de referencia. Entidad: Una entidad es un objeto principal alrededor del cual se recoge la información. Por ejemplo, en una base de datos que contiene información sobre personal de una compañía, una entidad podría ser "Empleado (Employee) " . In el modelo E-R, una entidad se representa con una caja. Una entidad se puede llamar débil o fuerte, relacionando su dependencia respecto de otra entidad. Una entidad fuerte no exhibe ninguna dependencia de otra entidad, es decir su existencia no requiere la existencia de otra entidad. Según lo mostrado en la Figura 6 , una entidad fuerte se representa con una sola caja sin puntear. Una entidad débil deriva su existencia de otra entidad. Por ejemplo, una entidad "Programa de tiempo de trabajo (Work Time Schedule) " deriva su existencia de una entidad "empleado" si un programa de tiempo de trabajo puede existir solamente si éste se asocia a un empleado. Según lo mostrado en la Figura 6 , una entidad débil se representa por cajas concéntricas. Atributo : Un atributo es una etiqueta que da una propiedad descriptiva a una entidad (e. g. , nombre, color, etc.). Existen dos tipos de atributos. Los atributos clave que distinguen entre ocurrencias de una entidad. Por ejemplo, en los Estados Unidos, un número de Seguridad Social es un atributo clave que distingue entre los individuos. Los atributos descriptores describen simplemente una ocurrencia de la entidad (e. g. , género, peso). Según lo mostrado en la Figura 6 , en modelaje E-R, un atributo se representa con un óvalo unido a la entidad (caja) a cual éste pertenece. En algunos casos, un atributo puede tener varios valores. Por ejemplo, una entidad que representa un negocio puede tener un atributo multivaluado "ubicaciones".
Si el negocio tiene varias ubicaciones, el atributo "ubicaciones" tendrá varios valores. Un atributo multivaluado se representa por medio de óvalos concéntricos, según lo mostrado en la Figura 6. En otros casos, un atributo compuesto se puede formar de varios atributos agrupados. Un atributo compuesto se representa por una estructura arborescente, según lo mostrado en la Figura 6. Un atributo derivado es un atributo que no requiere almacenarse explícitamente en una base de datos, pero se puede calcular o derivar de otra manera de los otros atributos de una entidad. Un atributo derivado es representado por un óvalo rayado según lo mostrado en la Figura 6. Relaciones : Una relación es una conectividad exhibida entre ocurrencias de entidades . Las relaciones pueden ser una a una, una a muchas y muchas a muchas y la participación en una relación por una entidad puede ser opcional u obligatoria. Por ejemplo, en la base de datos que contiene la información sobre personal de una compañía, una relación "casado con (married to) " entre ocurrencias de entidades de empleado es una a una (si se indica que un empleado tiene cuando mucho un (a) esposo (a)) . Además, la participación en la relación es opcional pues pueden existir empleados solteros. Como un segundo ejemplo, si la política de la compañía dicta que cada empleado tenga exactamente un encargado, entonces la relación w administrado por (manager by) " entre ocurrencias de entidad de empleado son muchas a una (muchos empleados pueden tener el mismo encargado o administrador) y obligatorio (cada empleado debe tener un administrador) . Según lo mostrado en la Figura 6, en el modelaje E-R una relación se representa con un diamante. Las relaciones pueden implicar dos o más entidades . La relación de cardinalidad (uno a uno, uno a muchos, etc.) en una relación es denotado por el uso de los caracteres wl" y "N" para mostrar relaciones de cardinalidad, 1:1 o 1 :N, o mediante el uso de restricciones estructurales explícitas, según lo mostrado en la Figura 6. Cuando todos los casos de una entidad participan en la relación, la caja de entidad se conecta con el diamante de la relación por medio de una línea doble; de otra manera, una sola línea conecta la entidad con la relación, como en la Figura 6. En algunos casos, una relación puede identificar o definir realmente una de las entidades en la relación. Estas relaciones de identificación son representadas por diamantes concéntricos, también mostrados en la Figura 6. Con respecto ahora a la Figura 7 , se provee un esquema de base de datos ejemplar para un servicio de directorio de acuerdo con una modalidad preferida de la actual invención. Debe observarse que el esquema del ejemplo provisto en la Figura 7 es simplemente ilustrativo en naturaleza y no se pretende limitar el alcance de la actual invención a ninguna estructura particular de la base de datos. La Figura 7 se pretende que simplemente ilustre contenidos y organización posibles de una base de datos de un servicio de directorio de acuerdo con una modalidad preferida de la actual invención. Una entidad componente 700 representa elementos individuales autónomos en el sistema de cálculo. Cada componente (700) provee (relación 702 proveer) un número de servicios (entidad de servicios 704) . Para que un componente proporcione los servicios deseados, sin embargo, el componente debe "utilizarse" de una manera particular, representada por la entidad 706 de uso, que forma el tercer participante en la relación ternaria 702 provee. La entidad 706 de uso representa las instrucciones para utilizar los servicios del componente en cuestión. Estas instrucciones pueden incluir el código ejecutable del componente en el caso de un elemento autónomo basado en software, una dirección en la cual el componente se pueda comunicar con, o cualquier otra información que permitiría que un elemento autónomo entrara en una relación con el componente en cuestión. Un esquema de base de datos tal como el esquema descrito en la Figura 7 se puede poner en ejecución utilizando un sistema de administración de base de datos, tal como un sistema de administración de base de datos, relacional, orientado a objeto, relacional a objeto o deductivo . Otros paradigmas de almacenamiento de datos son también posibles dentro de una modalidad preferida de la actual invención como están disponibles en el medio. Las Figuras 8-9 proveen un ejemplo de un elemento autónomo que utiliza los servicios de otro elemento autónomo de acuerdo con una modalidad preferida de la actual invención. Retomando la Figura 8, se muestra un sistema 800 de cómputo que comprende varios elementos autónomos. Uno de tales elementos autónomos, un elemento 802 de servidor web, requiere de espacio de almacenamiento para mantener las páginas Web. Para utilizar los servicios de almacenamiento, el elemento 802 de servidor web consulta el componente 804 directorio, que cataloga todos los servicios de los elementos autónomos disponibles en el sistema de cómputo 800. En la Figura 8, el elemento 806 de almacenamiento tiene espacio de almacenamiento disponible para el uso del elemento 802 servidor web. El componente 804 de directorio reflejará esta disponibilidad de espacio y retornará instrucciones al elemento 802 servidor web para utilizar el componente 806 de almacenamiento para las necesidades de almacenamiento del elemento 802 servidor web. En la Figura 9, el elemento 802 de servidor web se muestra como habiendo entrado en una relación con el elemento 806 de almacenamiento de acuerdo con las instrucciones provistas por el componente 804 de directorio. Al entrar en una relación con el elemento 806 de almacenamiento, el elemento 802 de servidor web, en una modalidad preferida, negociará los términos de la relación de acuerdo con las políticas del elemento 806 de almacenamiento y del elemento 802 de servidor web. Una persona calificada en medio reconocerá que tales términos variarán, dependiendo de los servicios particulares que se utilizan. En términos generales, sin embargo, los términos de una relación se derivarán en un intercambio de ir y venir entre dos elementos autónomos. Este intercambio puede, en una modalidad preferida, ocurrir utilizando un lenguaje de intercambio de datos tal como XML (Lenguaje de marcado extensible) , esquema XML o algún otro lenguaje para intercambiar información estructurada legible por máquina. En general, los términos de una relación entre dos elementos autónomos se pueden expresar como pares de valor de atributo y una política puede proveer reglas y metas que establecen enlaces en valores aceptables y recomendados, así como valores predeterminados que se pueden aplicar en ausencia de requisitos fuertes por cualquier lado. La Figura 10 es un diagrama E-R que representa cómo los términos de una relación entre dos elementos autónomos se pueden gobernar por una política de acuerdo con una modalidad preferida de la actual invención. Con respecto a uno de los elementos autónomos en una relación, un término de la relación (por ejemplo, calidad de servicio en una conexión de red) se representa por la entidad 1000 de término. Cada término (1000) tiene un tipo, representado por la entidad 1004 de tipo de término y tiene relación 1002 de tipo. Por ejemplo, en el caso de un término que representa la calidad del servicio, el tipo de término es "calidad del servicio (quality of service) " . Los tipos de término se identifican por su "nombre (ñame)" en este ejemplo (atributo de nombre 1006). Cada término (1000} negociado puede tener varios valores (atributo 1014 de valores) que son consistentes con los términos acordados de la relación. Por ejemplo, dos elementos autónomos pueden, mediante negociación, convenir que serán permitidas dos diversas velocidades de transferencia de datos; en tal caso, el término "velocidad de transferencia de datos" tendrá dos valores diferentes, representando diversas velocidades. En una política de un elemento autónomo particular, cada tipo (1014) de término puede tener restricciones obligatorias (atributo 1008 de restricciones obligatorias) , valores recomendados (atributo 1010 de valores recomendados) , valores prefijados (atributo 1012 de valores prefijados) o alguna combinación de estos tres atributos. Opcionalmente, cada conjunto de valores puede tener asociado a él una utilidad escalar que represente la deseabilidad relativa de ese conjunto de valores,- el mapeo de cada posible conjunto de valores a la utilidad se conoce como la función utilidad (función 1016 utilidad) . Las restricciones (1008) obligatorias representan restricciones inviolables en el (los) valor (es) que un término del tipo particular en cuestión puede mantener de acuerdo con la política del elemento autónomo. Los valores (1010) recomendados representan valores o gamas de valores preferidos que el término del tipo particular debe mantener de acuerdo con la política del elemento autónomo en cuestión, pero estos valores recomendados no son requisitos (es decir, ellos son negociables) . Valores prefijados (1012) representan valores "fuera del estante" para términos particulares que pueden ser completados cuando la otra parte (elemento autónomo) para una relación no expresa ninguna preferencia con respecto a ese término; los valores prefijados permiten que los detalles menos importantes de una relación sean determinados definitivamente en el proceso de negociación. La función de utilidad puede ser una relación fija que se establece cuando el elemento autónomo primero se compone o se despliega o puede ser alimentado por una persona en cualquier momento durante o después del despliegue del elemento autónomo o puede ser calculado dinámicamente de los modelos que el elemento autónomo puede emplear para determinar el impacto de obtener o proveer un servicio con un conjunto de valores propuesto . La Figura 11 es una representación de diagrama de flujo de un proceso de negociación de términos de una relación entre dos elementos autónomos como se ve de la perspectiva de uno de los elementos de acuerdo con una modalidad preferida de la actual invención. Se presenta una oferta de los términos para gobernar una relación entre los dos elementos al otro elemento (bloque 1100) . Se recibe una respuesta del otro elemento autónomo (bloque 1102) . Si la respuesta es una aceptación de la oferta original (bloque 1104: Sí), entonces se envía un reconocimiento al otro elemento autónomo para indicar que la relación comenzará según los términos acordados (bloque 1106) . Si la respuesta fue no a una aceptación (bloque 1104: No), se hace entonces una determinación de si la respuesta era, de hecho, una contrapropuesta que proveía términos que diferían del último conjunto de términos ofrecidos (bloque 1108) . Si la respuesta es no a una contrapropuesta (bloque 1108: No), entonces las negociaciones han fallado y el proceso termina. Si la respuesta es una contrapropuesta (bloque 1108: Sí), entonces se realiza una determinación de si los términos de la contrapropuesta resuelven los requisitos de la política (es decir, cumplen con algunas de las restricciones obligatorias) (bloque 1110) . Si los términos no resuelven los requisitos de la política (bloque 1110: No), se hace un intento por generar una nueva contrapropuesta que se conforme con los requisitos de la política (bloque 1112) . Si el intento es acertado (bloque 1114: Sí), la contrapropuesta se presenta al otro componente autónomo y el proceso se cicla al bloque 1102 para recibir la siguiente respuesta. Si la tentativa o intento no tiene éxito (bloque 1114: No), el proceso termina en falla. Si la contrapropuesta recibida en el bloque 1102 resuelve los requisitos, sin embargo, (bloque 1110: Sí), la política se consulta para determinar si sería recomendable buscar mejores términos (es decir, términos que satisfagan de mejor manera valores) (bloque 1118) . Si sucede (bloque 1118: Sí), se hace una tentativa de generar una nueva contrapropuesta con términos más deseables (bloque 1120) . Por ejemplo, si se está utilizando una función de utilidad, se haría una tentativa de generar una nueva contrapropuesta que tenga una utilidad más alta. Si esta tentativa es exitosa, la contrapropuesta se envía al otro elemento autónomo (bloque 1116) y los ciclos de proceso al bloque 1102 para recibir la siguiente respuesta. Si la tentativa de formar una nueva contrapropuesta no fue acertada (bloque 1122: No) o se determinó que buscar mejores términos no era recomendable (bloque 1118) , se envía una aceptación de los otros términos del elemento al otro elemento autónomo (bloque 1124) . En una segunda modalidad preferida, la negociación puede tomar una forma más asimétrica. En la negociación asimétrica, solamente una parte genera ofertas propuestas y la otra las acepta o las rechaza. Más específicamente, una primer parte puede en cada etapa de la negociación proponer unas o más ofertas o terminar la negociación. La segunda parte puede rechazar todas las ofertas propuestas, aceptar al menos una de ellas o señalar que desea terminar la negociación. La negociación procede hasta que una parte o la otra termina explícitamente. Incluso si la segunda parte acepta una oferta, la primer parte puede en la etapa siguiente proponer un nuevo conjunto de ofertas que le sean más benéficas, en espera de que una de ellas también pruebe más deseable a la segunda parte. Cuando la negociación termina, la oferta más recientemente aceptada será tomada como el acuerdo; si no hay oferta aceptada entonces las dos partes han fallado en alcanzar un acuerdo. Un aspecto importante de la autoadministración es la capacidad de detectar y de manejar las fallas que puedan ocurrir en un sistema de cómputo. Se pueden incorporar en la presente invención diferentes esquemas de tolerancia de fallas para permitir autoadministración de fallas . Una falla en un sistema de cómputo puede ser el resultado de un malfuncionamiento en unos o más componentes. Por ejemplo, una unidad de disco puede romperse físicamente, produciendo un elemento de almacenamiento inoperable. Otra fuente de fallas es un ataque activo. En un ataque activo, se seleccionan y sabotean uno o más componentes . Éste puede ser el resultado de los virus de la computadora, de los ataques de la red (tales como negación de ataques de servicio), aberturas de seguridad y similares. Un verdadero un sistema de cómputo autónomo debe ser capaz de detectar y manejar automáticamente fallas en tiempo real. Las Figuras 12-15 proveen un ejemplo de detección y manejo de falla en un sistema de cómputo autónomo de acuerdo con una modalidad preferida de la actual invención. Es importante considerar que las técnicas de tolerancia de falla representadas en las Figuras 12-15 son simplemente un ejemplo de detección y manejo de fallas en una modalidad preferida de la actual invención y no se pretende que se limite la invención. La Figura 12 es un diagrama de un sistema de cómputo 1200 que comprende un número de elementos autónomos . El elemento 1202 de base de datos provee servicios de base de datos y utiliza los servicios de almacenamiento del elemento 1206 de almacenamiento y del elemento 1204 de almacenamiento redundante. Según lo indicado en el diagrama, el elemento 1206 de almacenamiento ha llegado a ser inoperable. El elemento 1202 de base de datos, que mantiene comunicación con el elemento 1206 de almacenamiento, detectará el malfuncionamiento del elemento 1206 de almacenamiento y terminará su relación con el elemento 1206 de almacenamiento, según lo mostrado en la Figura 13. En la Figura 13, en respuesta a la conclusión de la relación con el elemento 1206 de almacenamiento, el elemento 1202 de base de datos consulta al elemento 1300 de directorio para localizar servicios adicionales de almacenamiento en el sistema de cómputo 1200. El elemento 1300 de directorio indica al elemento 1202 de base de datos que el elemento 1302 de almacenamiento está disponible para uso. En respuesta a los elemento 1300 de directorio que identifica al elemento 1302 de almacenamiento como elemento disponible de almacenamiento, el elemento 1202 de base de datos entra en una relación con el elemento 1302 de almacenamiento, según lo mostrado en la Figura 14. Para restablecer servicios redundantes en preparación de cualquier falla futura que pueda ocurrir, el elemento 1202 de base de datos copia la información de estado del elemento 1204 de almacenamiento al elemento 1302 de almacenamiento, según lo mostrado en la Figura 14. Una vez que la información de estado del elemento 1202 de base de datos se copie al elemento 1302 de almacenamiento, el elemento 1302 de almacenamiento ahora funciona en lugar del elemento inoperable 1206 de almacenamiento, según lo mostrado en la Figura 15. La Figura 16 es una representación de diagrama de flujo de un proceso de recuperación de una falla o compromiso de acuerdo con una modalidad preferida de la actual invención. Si se detecta un compromiso de uno o más componentes en el sistema de cómputo, vía ataque o malfuncionamiento (bloque 1600) , los servicios que potencialmente están comprometidos por medio de esto se identifican (bloque 1602) . Esos servicios entonces se terminan (bloque 1604) . Si algunas vulnerabilidades particulares hacen que los servicios afectados susceptibles a compromiso pueden identificarse, tales vulnerabilidades se diagnostican (bloque 1606) . Un plan de acción para remediar el estado comprometido del sistema de cómputo se formula (bloque 1608) ; e emplos de tales planes de corrección incluyen mayores medidas de seguridad, mayor nivel de redundancia o corrección de error y similares . El plan entonces se ejecuta para reaprovisionamiento de los elementos comprometidos y reestablecimiento del servicio (bloque 1610) . Si cualesquiera de los servicios comprometidos están en declaración (es decir, requieren información de estado) (bloque 1612: Sí), la información de estado se restaura a los servicios de reestablecimiento (bloque 1614) . En cualquier caso, el proceso finalmente completará un ciclo para el bloque 1600 en la preparación de cualesquier falla futura. Es importante observar que aunque la actual invención se ha descrito en el contexto de un sistema de proceso de datos completamente de funcionamiento, las personas con conocimientos medios en la materia apreciarán que los procesos de la actual invención son capaces de ser distribuidos en la forma de un medio de instrucciones legibles por computadora o de otro material descriptivo funcional y en una variedad de otras formas y que la actual invención es igualmente aplicable sin importar el tipo particular de medios de soporte de la señal usados realmente para realizar la distribución. Ejemplos de medios legibles por computadora incluyen medios del tipo que se pueden grabar, tales como un disco, una unidad de disco duro, una RAM, CD-ROMs, DVD-ROMs, y medios tipo transmisión, tales como enlaces de comunicaciones digitales y análogos, enlaces de comunicaciones alambrados o inalámbricos que utilizan formas de transmisión, tales como, por ejemplo, radiofrecuencia y transmisiones de onda luminosa. Los medios legibles por computadora pueden tomar la forma de formatos cifrados que se descifren para uso real en un sistema de proceso de datos particular. El material descriptivo funcional es información que imparte funcionalidad a una máquina. Material descriptivo funcional incluye, pero no se limita a, programas de computadora, instrucciones, reglas, hechos, definiciones de funciones computables, objetos, y estructuras de datos. La descripción de la actual invención se ha presentado para propósitos de ilustración y de descripción, y no se pretende se termine o se limite la invención a la forma divulgada. Muchas modificaciones y variaciones serán evidentes para las personas con conocimientos medios en la materia. La modalidad fue elegida y descrita para explicar de la mejor manera posible los principios de la invención, el uso práctico y permitir a otras personas con conocimientos medios entender la invención para diferentes modalidades con varias modificaciones que son adecuadas para el uso particular pretendido .
Para los propósitos de esta solicitud un conjunto se define como cero o más cosas. Una pluralidad se define como unas o más cosas. Un subco junto de un conjunto o pluralidad se define como un conjunto que comprende cero o más cosas, cuya totalidad se toman del conjunto o pluralidad original .

Claims (42)

REIVINDICACIONES
1. Un método basado en computadora para administrar por lo menos un componente en un ambiente de cómputo, el método comprende: identificar una funcionalidad particular requerida por un primer componente en un sistema de proceso de datos; ubicar la información en un directorio con respecto por lo menos a un componente adicional, en donde el por lo menos un componente adicional se adapta para proveer la funcionalidad particular; negociar términos por los cuales el primer componente y el por lo menos un componente adicional funcionarán; y enlazar con el por lo menos un componente adicional para formar una relación con el por lo menos un componente adicional para proveer la funcionalidad particular al primer componente.
2. El método de conformidad con la reivindicación 1, caracterizado porque el por lo menos un componente adicional incluye por lo menos uno de un componente de equipo físico de cómputo y de un componente de software.
3. El método de conformidad con la reivindicación 1, caracterizado porque la información incluye por lo menos uno de una dirección del por lo menos un componente adicional, de instrucciones de uso para el por lo menos un componente adicional, y de código de programa para el por lo menos un componente adicional .
4. El método de conformidad con la reivindicación 1, caracterizado porgue el directorio forma un componente en el sistema de proceso de datos.
5. El método de conformidad con la reivindicación 1, caracterizado porgue el enlace con el por lo menos un componente adicional incluye iniciar la comunicación entre el primer componente y el por lo menos un componente adicional.
6. El método de conformidad con la reivindicación 1, caracterizado porque el enlace con el por lo menos un componente adicional incluye desplegar el por lo menos un componente adicional .
7. El método de conformidad con la reivindicación 1, caracterizado porque la negociación de términos incluye: recibir un conjunto de términos propuestos; revisar el conjunto de términos propuestos para determinar si el conjunto de términos propuestos cumple con una política predeterminada; y en respuesta a que el conjunto de términos propuestos viola la política predeterminada, enviar un segundo conjunto de términos propuestos que cumple con la política predeterminada.
8. El método de conformidad con la reivindicación 1, caracterizado porque la negociación de términos incluye : recibir un conjunto de términos propuestos; revisar el conjunto de términos propuestos para determinar si el conjunto de términos propuestos refleja recomendaciones en una política predeterminada; y en respuesta a que el conjunto de términos propuestos no refleja las recomendaciones en la política predeterminada, enviar un segundo sistema de términos propuestos que reflejan mejor las recomendaciones en la política predeterminada. -
9. El método de conformidad con la reivindicación 1, caracterizado porque la negociación de términos incluye: recibir un conjunto de términos propuestos; revisar el conjunto de términos propuestos considerando una política predeterminada; y en respuesta a que el conjunto de términos propuestos no refleja las recomendaciones y requisitos en la política predeterminada, enviar un mensaje que indica el rechazo del conjunto de términos propuestos.
10. El método de conformidad con la reivindicación 1 , caracterizado porque la negociación de términos incluye: recibir una pluralidad de sistemas de términos propuestos ; revisar la pluralidad de sistemas de términos propuestos considerando una política predeterminada; y enviar un mensaje que indica la aceptación de un subconjunto de la pluralidad de conjuntos de términos propuestos, en donde el subconjunto de la pluralidad de conjuntos de términos propuestos se selecciona con base en la política predeterminada.
11. El método de conformidad con la reivindicación 1, caracterizado porque además comprende: la detección de una falla en el por lo menos un componente adicional; en respuesta a la detección de una falla, terminar la relación con el por lo menos un componente adicional; y en respuesta a la terminación de la relación con el por lo menos un componente adicional, el enlace con por lo menos un componente de reemplazo.
12. El método de conformidad con la reivindicación 11, caracterizado porque la falla es un malfuncionamiento .
13. El método de conformidad con la reivindicación 11, caracterizado porque la falla es un ataque contra el por lo menos un componente adicional .
14. El método de conformidad con la reivindicación 11, caracterizado porque además comprende: enlazar con por lo menos un componente redundante, en donde el por lo menos un componente redundante mantiene información de estado que coincide con la información de estado asociada con el por lo menos un componente adicional; en respuesta a la terminación de la relación con el por lo menos un componente adicional, restaurar la información de estado del por lo menos un componente redundante al por lo menos un componente de reemplazo .
15. Un producto de programa de computadora en un medio legible por computadora que comprende material descriptivo funcional que, cuando se ejecuta por una computadora, permite a la computadora realizar actos que incluyen: identificar una funcionalidad particular requerida por un primer componente en un sistema de proceso de datos ; ubicar la información en un directorio con respecto por lo menos a un componente adicional, en donde el por lo menos un componente adicional se adapta para proveer la funcionalidad particular; negociar términos por los cuales el primer componente y el por lo menos un componente adicional funcionarán; y enlazar con el por lo menos un componente adicional para formar una relación con el por lo menos un componente adicional para proveer la funcionalidad particular al primer componente.
16. El producto de programa de computadora de conformidad con la reivindicación 15, caracterizado porgue el por lo menos un componente adicional incluye por lo menos uno de un componente de equipo físico de cómputo y de un componente de software.
17. El producto de programa de computadora de conformidad con la reivindicación 15, caracterizado porque la información incluye por lo menos uno de una dirección del por lo menos un componente adicional, de instrucciones de uso para el por lo menos un componente adicional, y de código de programa para el por lo menos un componente adicional .
18. El producto de programa de computadora de conformidad con la reivindicación 15, caracterizado porque el directorio forma un componente en el sistema de proceso de datos .
19. El producto de programa de computadora de conformidad con la reivindicación 15, caracterizado porque el enlace con el por lo menos un componente adicional incluye iniciar la comunicación entre el primer componente y el por lo menos un componente adicional .
20. El producto de programa de computadora de conformidad con la reivindicación 15, caracterizado porque el enlace con el por lo menos un componente adicional incluye desplegar el por lo menos un componente adicional .
21. El producto de programa de computadora de conformidad con la reivindicación 15, caracterizado porque la negociación de términos incluye: recibir un conjunto de términos propuestos; revisar el conjunto de términos propuestos para determinar si el conjunto de términos propuestos cumple con una política predeterminada; y en respuesta a que el conjunto de términos propuestos viola la política predeterminada, enviar un segundo conjunto de términos propuestos que cumpla con la política predeterminada.
22. El producto de programa de computadora de conformidad con la reivindicación 15, caracterizado porque la negociación de términos incluye: recibir un conjunto de términos propuestos; revisar el conjunto de términos propuestos para determinar si el conjunto de términos propuestos refleja las recomendaciones en una política predeterminada; y en respuesta a que el conjunto de términos propuestos no refleja las recomendaciones en la política predeterminada, enviar un segundo conjunto de términos propuestos que reflejan de mejor forma las recomendaciones en la política predeterminada.
23. El producto de programa de computadora de conformidad con la reivindicación 15, caracterizado porque la negociación de términos incluye: recibir un conjunto de términos propuestos; revisar el conjunto de términos propuestos considerando una política predeterminada; y en respuesta a que el conjunto de términos propuestos no refleja las recomendaciones y requisitos en la política predeterminada, enviar un mensaje que indica el rechazo del conjunto de términos propuestos.
24. El producto de programa de computadora de conformidad con la reivindicación 15, caracterizado porque la negociación de términos incluye: recibir una pluralidad de conjuntos de términos propuestos ; revisar la pluralidad de conjuntos de términos propuestos considerando una política predeterminada; y enviar un mensaje que indica la aceptación de un subconjunto de la pluralidad de conjuntos de términos propuestos, en donde el subconjunto de la pluralidad de conjuntos de términos propuestos se selecciona en base a la política predeterminada.
25. El producto de programa de computadora de conformidad con la reivindicación 15, que comprende material descriptivo funcional adicional que, cuando se ejecuta por la computadora, permite a la computadora realizar actos adicionales que incluyen: la detección de una falla en el por lo menos un componente adicional; en respuesta a la detección de la falla, terminar la relación con el por lo menos un componente adicional; y en respuesta a la terminación de la relación con el por lo menos un componente adicional, enlazar con por lo menos un componente de reemplazo .
26. El producto de programa de computadora de conformidad con la reivindicación 25, caracterizado porque la falla es un malfuncionamiento .
27. El producto de programa de computadora de conformidad con la reivindicación 25, caracterizado porque la falla es un ataque contra el por lo menos un componente adicional .
28. El producto de programa de computadora de conformidad con la reivindicación 25, que comprende material descriptivo funcional adicional que, cuando se ejecuta por la computadora, permite a la computadora realizar actos adicionales que incluyen: enlazar con por lo menos un componente redundante, en donde el por lo menos un componente redundante mantiene información de estado que coincide con la información de estado asociada al por lo menos un componente adicional; en respuesta a la terminación de la relación con el por lo menos un componente adicional, restaurar la información de estado del por lo menos un componente redundante al por lo menos un componente de reemplazo.
29. Un sistema de proceso de datos que comprende : medios para identificar una funcionalidad particular requerida por un primer componente en un sistema de proceso de datos; medios para ubicar la información en un directorio con respecto por lo menos a un componente adicional, en donde el por lo menos un componente adicional se adapta para proveer la funcionalidad particular; medios para negociar términos por medio de los cuales el primer componente y el por lo menos un componente adicional funcionarán; y medios para enlazar con el por lo menos un componente adicional para formar una relación con el por lo menos un componente adicional para proveer la funcionalidad particular al primer componente.
30 . El sistema de proceso de datos de conformidad con la reivindicación 29 , caracterizado porque el por lo menos un componente adicional incluye por lo menos uno de un componente de equipo físico de cómputo y de un componente de software.
31. El sistema de proceso de datos de conformidad con la reivindicación 29 , caracterizado porque la información incluye por lo menos uno de una dirección del por lo menos un componente adicional, de instrucciones de uso para el por lo menos un componente adicional, y de código de programa para el por lo menos un componente adicional .
32 . El sistema de proceso de datos de conformidad con la reivindicación 29 , caracterizado porque el directorio forma un componente en el sistema de proceso de datos .
33 . El sistema de proceso de datos de conformidad con la reivindicación 29 , caracterizado porque el enlace con el por lo menos un componente adicional incluye iniciar la comunicación entre el primer componente y el por lo menos un componente adicional .
34. El sistema de proceso de datos de conformidad con la reivindicación 29, caracterizado porque el enlace con el por lo menos un componente adicional incluye desplegar el por lo menos un componente adicional.
35. El sistema de proceso de datos de conformidad con la reivindicación 29, caracterizado porque la negociación de términos incluye: recibir un conjunto de términos propuestos; revisar el conjunto de términos propuestos para determinar si el conjunto de términos propuestos cumple con una política predeterminada; y en respuesta a que el conjunto de términos propuestos viola la política predeterminada, enviar un segundo conjunto de términos propuestos que cumpla con la política predeterminada.
36. El sistema de proceso de datos de conformidad con la reivindicación 29, caracterizado porque la negociación de términos incluye: recibir un conjunto de términos propuestos; revisar el conjunto de términos propuestos para determinar si el conjunto de términos propuestos refleja recomendaciones en una política predeterminada; y en respuesta a que el conjunto de términos propuestos no refleja las recomendaciones en la política predeterminada, enviar un segundo conjunto de términos propuestos que reflejen mejor las recomendaciones en la política predeterminada.
37. El sistema de proceso de datos de conformidad con la reivindicación 29, caracterizado porque la negociación de términos incluye: recibir un conjunto de términos propuestos; revisar el conjunto de términos propuestos considerando una política predeterminada; y en respuesta a que el conjunto de términos propuestos no refleja las recomendaciones y requisitos en la política predeterminada, enviar un mensa e que indica el rechazo del conjunto de términos propuestos.
38. El sistema de proceso de datos de conformidad con la reivindicación 29, caracterizado porque la negociación de términos incluye: recibir una pluralidad de conjuntos de términos propuestos; revisar la pluralidad de conjuntos de términos propuestos considerando una política predeterminada; y enviar un mensaje que indica la aceptación de un subconjunto de la pluralidad de conjuntos de términos propuestos, en donde el subconjunto de la pluralidad de conjuntos de términos propuestos se selecciona en base a la política predeterminada.
39 . El sistema de proceso de datos de conformidad con la reivindicación 29 , caracterizado porque además comprende: medios para detectar una falla en el por lo menos un componente adicional; medios, sensibles a la detección de la falla, para terminar la relación con el por lo menos un componente adicional; y medios, sensibles a la terminación de la relación con el por lo menos un componente adicional, para enlazar con por lo menos un componente de reemplazo .
40 . El sistema de proceso de datos de conformidad con la reivindicación 39 , caracterizado porque la falla es un malfuncionamiento .
41. El sistema de proceso de datos de conformidad con la reivindicación 39 , caracterizado porque la falla es un ataque contra el por lo menos un componente adicional .
42 . El sistema de proceso de datos de conformidad con la reivindicación 39 , caracterizado porque además comprende: medios para enlazar con por lo menos un componente redundante, en donde el por lo menos un componente redundante mantiene información de estado que coincide con la información de estado asociada al por lo menos un componente adicional; medios, sensibles a la terminación de la relación con el por lo menos un componente adicional, para restaurar la información de estado del por lo menos un componente redundante al por lo menos un componente de reemplazo .
MXPA05002861A 2002-09-20 2003-08-13 Metodo y aparato para administrar componentes de equipo fisico y programas de computo. MXPA05002861A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/252,247 US20040059704A1 (en) 2002-09-20 2002-09-20 Self-managing computing system
PCT/EP2003/010079 WO2004027610A2 (en) 2002-09-20 2003-08-13 Method and apparatus for managing hardware and software components

Publications (1)

Publication Number Publication Date
MXPA05002861A true MXPA05002861A (es) 2005-08-02

Family

ID=31992913

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA05002861A MXPA05002861A (es) 2002-09-20 2003-08-13 Metodo y aparato para administrar componentes de equipo fisico y programas de computo.

Country Status (12)

Country Link
US (1) US20040059704A1 (es)
EP (1) EP1540476A2 (es)
JP (1) JP2005539320A (es)
KR (1) KR100745432B1 (es)
CN (1) CN100356331C (es)
AU (1) AU2003260503A1 (es)
BR (1) BR0314630A (es)
CA (1) CA2498059A1 (es)
MX (1) MXPA05002861A (es)
PL (1) PL375881A1 (es)
TW (1) TWI260519B (es)
WO (1) WO2004027610A2 (es)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720770B1 (en) * 2000-07-10 2010-05-18 Nobuyoshi Morimoto System and method for negotiating improved terms for products and services being purchased through the internet
JP4485141B2 (ja) 2003-04-10 2010-06-16 株式会社日立製作所 ネットワーク上のサービス公開及び提供方法並びにそのプログラム
CA2435655A1 (en) * 2003-07-21 2005-01-21 Symbium Corporation Embedded system administration
WO2005024669A1 (en) * 2003-09-04 2005-03-17 Oracle International Corporation Self-managing database architecture
US7734561B2 (en) * 2003-12-15 2010-06-08 International Business Machines Corporation System and method for providing autonomic management of a networked system using an action-centric approach
US20060026054A1 (en) * 2004-07-28 2006-02-02 International Business Machines Corporation Method, apparatus, and program for implementing an automation computing evaluation scale to generate recommendations
GB2416872A (en) * 2004-07-30 2006-02-08 Canon Kk System for managing tasks on a network by using a service discover, a task manager and a service publisher
US7668930B2 (en) 2004-11-18 2010-02-23 International Business Machines Corporation Web service distribution system over the World Wide Web using web services description language (WSDL) standard including implementation for uniformly generating all fault conditions in WSDL message format
US20060230133A1 (en) * 2005-03-24 2006-10-12 International Business Machines Corporation On demand problem determination based on remote autonomic modification of web application server operating characteristics
CA2504333A1 (en) * 2005-04-15 2006-10-15 Symbium Corporation Programming and development infrastructure for an autonomic element
US7546222B2 (en) 2005-06-12 2009-06-09 Infosys Technologies, Ltd. System for performance and scalability analysis and methods thereof
US8990811B2 (en) * 2007-10-19 2015-03-24 Oracle International Corporation Future-based performance baselines
US9021074B2 (en) * 2007-11-08 2015-04-28 International Business Machines Corporation System and method for providing server status awareness
US7788534B2 (en) * 2007-12-11 2010-08-31 International Business Machines Corporation Method for monitoring and managing a client device in a distributed autonomic computing environment
EP2081354B1 (en) * 2008-01-15 2011-08-17 Axis AB Method and devices for handling access privileges
US9021392B2 (en) * 2010-07-26 2015-04-28 Sap Se Managing extension projects with repository based tagging
CN102141938B (zh) * 2010-12-03 2013-01-30 华为技术有限公司 多线程系统中软件负荷的调整方法及装置

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US235158A (en) * 1880-12-07 Ore-grinding apparatus
US100036A (en) * 1870-02-22 Improvement in registering-punch for railroad conductors
US143819A (en) * 1873-10-21 Improvement in slide-valve mechanisms
JP2505082B2 (ja) * 1991-12-19 1996-06-05 哲男 冨山 機能冗長系を備えた機械システム
DE4305522C2 (de) * 1993-02-17 1996-03-28 Daimler Benz Ag Einrichtung zur rechnergestützten Diagnose eines aus Modulen bestehenden technischen Systems
CA2119085C (en) * 1994-03-15 2002-01-15 Deborah L. Pinard Adaptive communication system
GB9508283D0 (en) * 1995-02-07 1995-06-14 British Telecomm Information services provision and management
US5701400A (en) * 1995-03-08 1997-12-23 Amado; Carlos Armando Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data
US5909544A (en) * 1995-08-23 1999-06-01 Novell Inc. Automated test harness
GB9519678D0 (en) * 1995-09-27 1995-11-29 Philips Electronics Nv Behaviour prediction
US6026374A (en) * 1996-05-30 2000-02-15 International Business Machines Corporation System and method for generating trusted descriptions of information products
US5790789A (en) * 1996-08-02 1998-08-04 Suarez; Larry Method and architecture for the creation, control and deployment of services within a distributed computer environment
JPH10254701A (ja) * 1997-03-10 1998-09-25 Mitsubishi Electric Corp 分散オブジェクトシステム
US6038677A (en) * 1997-03-31 2000-03-14 International Business Machines Corporation Automatic resource group formation and maintenance in a high availability cluster configuration
US6031990A (en) * 1997-04-15 2000-02-29 Compuware Corporation Computer software testing management
US6055562A (en) * 1997-05-01 2000-04-25 International Business Machines Corporation Dynamic mobile agents
US5935264A (en) * 1997-06-10 1999-08-10 Micron Technology, Inc. Method and apparatus for determining a set of tests for integrated circuit testing
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems
US6125359A (en) * 1997-09-23 2000-09-26 Unisys Corporation Method and apparatus for identifying the coverage of a test sequence in a rules-based expert system
US6256771B1 (en) * 1997-10-16 2001-07-03 At&T Corp. Method and apparatus for providing a dynamic service composition software architecture
US6286131B1 (en) * 1997-12-03 2001-09-04 Microsoft Corporation Debugging tool for linguistic applications
GB2333864B (en) * 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6023586A (en) * 1998-02-10 2000-02-08 Novell, Inc. Integrity verifying and correcting software
CN1298516A (zh) * 1998-02-26 2001-06-06 太阳微系统公司 租用存储器的方法和系统
DE19810814B4 (de) * 1998-03-12 2004-10-28 Telefonaktiebolaget Lm Ericsson (Publ) Rechnersystem und Zustandskopierverfahren zur skalierbaren Software-Aktualisierung
US6360331B2 (en) * 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
US6330561B1 (en) * 1998-06-26 2001-12-11 At&T Corp. Method and apparatus for improving end to end performance of a data network
US6182245B1 (en) * 1998-08-31 2001-01-30 Lsi Logic Corporation Software test case client/server system and method
US6622157B1 (en) * 1998-09-28 2003-09-16 Certeon, Inc. Extending network services using mobile agents
BR9914200A (pt) * 1998-09-30 2002-01-22 Cadence Design Systems Inc Métodos para projetar um sistema de circuito, para expandir uma metodologia existente para avaliar a viabilidade de um projeto de circuito, para realizar uma avaliação de viabilidade para um projeto de circuito, para refinar uma primeira regra de decisão para um projeto de circuito, para formar uma segunda regra de decisão para um projeto de circuito, para organizar os dados de experiência de um projetista relativos a uma pluralidade de blocos de circuito pré-projetados, para aumentar a eficiência de distribuição de lógica de cola e para distribuir uma pluralidade de elementos lógicos de cola entre os blocos de projeto e distribuir lógica de cola para execução em um esquema de projeto de dispositivo de circuito integrado, para converter uma interface especìfica de um bloco de circuito, para selecionar um coletor de circuito, para projetar um dispositivo que incorpora o projeto e habilitar um teste do dispositivo, para verificar o correto funcionamento de um projeto de circuito e para desenvolver uma bancada de teste de nìvel comportamental, interface de colar e sistema de interface
JP2000181890A (ja) * 1998-12-15 2000-06-30 Fujitsu Ltd マルチプロセッサ交換機及びその主プロセッサ切替方法
US6851115B1 (en) * 1999-01-05 2005-02-01 Sri International Software-based architecture for communication and cooperation among distributed electronic agents
US6353897B1 (en) * 1999-01-06 2002-03-05 International Business Machines Corporation Object oriented apparatus and method for testing object oriented software
US6947797B2 (en) * 1999-04-02 2005-09-20 General Electric Company Method and system for diagnosing machine malfunctions
US6473794B1 (en) * 1999-05-27 2002-10-29 Accenture Llp System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework
US7472349B1 (en) * 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
US6529950B1 (en) * 1999-06-17 2003-03-04 International Business Machines Corporation Policy-based multivariate application-level QoS negotiation for multimedia services
US6467088B1 (en) * 1999-06-30 2002-10-15 Koninklijke Philips Electronics N.V. Reconfiguration manager for controlling upgrades of electronic devices
US6779016B1 (en) * 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US7103647B2 (en) * 1999-08-23 2006-09-05 Terraspring, Inc. Symbolic definition of a computer system
US6553548B1 (en) * 1999-12-14 2003-04-22 International Business Machines Corporation System and method for recovering from design errors in integrated circuits
US6834341B1 (en) * 2000-02-22 2004-12-21 Microsoft Corporation Authentication methods and systems for accessing networks, authentication methods and systems for accessing the internet
US6970869B1 (en) * 2000-05-09 2005-11-29 Sun Microsystems, Inc. Method and apparatus to discover services and negotiate capabilities
AU2001263033A1 (en) * 2000-05-09 2001-11-20 Sun Microsystems, Inc. Method and apparatus for proximity discovery of services
FR2813471B1 (fr) * 2000-08-31 2002-12-20 Schneider Automation Systeme de communication d'un equipement d'automatisme base sur le protocole soap
US7228453B2 (en) * 2000-10-16 2007-06-05 Goahead Software, Inc. Techniques for maintaining high availability of networked systems
US20040236843A1 (en) * 2001-11-15 2004-11-25 Robert Wing Online diagnosing of computer hardware and software
EP1233318A1 (de) * 2001-02-16 2002-08-21 Abb Research Ltd. Softwarekomponente für ein verteiltes Kontrollsystem
US6804709B2 (en) * 2001-02-20 2004-10-12 Microsoft Corporation System uses test controller to match different combination configuration capabilities of servers and clients and assign test cases for implementing distributed testing
JP3828379B2 (ja) * 2001-05-17 2006-10-04 富士通株式会社 テスト仕様生成支援装置、方法、プログラム及び記録媒体
US7412502B2 (en) * 2002-04-18 2008-08-12 International Business Machines Corporation Graphics for end to end component mapping and problem-solving in a network environment
US7165074B2 (en) * 2002-05-08 2007-01-16 Sun Microsystems, Inc. Software development test case analyzer and optimizer

Also Published As

Publication number Publication date
EP1540476A2 (en) 2005-06-15
AU2003260503A1 (en) 2004-04-08
CN100356331C (zh) 2007-12-19
CN1682190A (zh) 2005-10-12
US20040059704A1 (en) 2004-03-25
AU2003260503A8 (en) 2004-04-08
KR100745432B1 (ko) 2007-08-02
TW200409003A (en) 2004-06-01
WO2004027610A2 (en) 2004-04-01
CA2498059A1 (en) 2004-04-01
JP2005539320A (ja) 2005-12-22
KR20050055715A (ko) 2005-06-13
WO2004027610A3 (en) 2004-12-09
TWI260519B (en) 2006-08-21
PL375881A1 (en) 2005-12-12
BR0314630A (pt) 2005-08-02

Similar Documents

Publication Publication Date Title
MXPA05002861A (es) Metodo y aparato para administrar componentes de equipo fisico y programas de computo.
TW550913B (en) System and method for assessing the security posture of a network
CN105684391B (zh) 基于标签的访问控制规则的自动生成
AU2004258349B2 (en) Information access using ontologies
US11477093B2 (en) Coupling of a business component model to an information technology model
US7467198B2 (en) Architectures for netcentric computing systems
US20060106748A1 (en) System and method for orchestrating composite web services in constrained data flow environments
US7568022B2 (en) Automated display of an information technology system configuration
Bearman et al. Federating Traders: An ODP Adventure.
WO1998058356A2 (en) System and method for processing multiple financial applications using a three-tier value network
WO2002059821A2 (en) Method and apparatus for locating and exchanging clinical information
Sycara Multi-agent infrastructure, agent discovery, middle agents for web services and interoperation
CA2388624C (en) Architectures for netcentric computing systems
WO2012060887A1 (en) Integrated circuit design and operation
US10282461B2 (en) Structure-based entity analysis
Almeida et al. Getting started with data warehouse and business intelligence
US20030233378A1 (en) Apparatus and method for reconciling resources in a managed region of a resource management system
Watson Network architecture design for back-end storage networks
CA2222594C (en) System for distributed task execution
US7093281B2 (en) Casual access application with context sensitive pin authentication
Dawson et al. Secure access wrapper: Mediating security between heterogeneous databases
Tichý Social knowledge in multi-agent systems
GUGULOTH et al. T-Broker: Lightweight Feedback Mechanism Scheme Improve System Efficiency for Multiple Cloud Collaborative Services
Verma et al. Allowing the use of Multiple Ontologies for Discovery of Web Services in Federated Registry Environment
Modernisation Electronic Government Flagship Application