MX2011003884A - Provision de funcionalidad a servicios de cliente al implementar y obligar contratos. - Google Patents

Provision de funcionalidad a servicios de cliente al implementar y obligar contratos.

Info

Publication number
MX2011003884A
MX2011003884A MX2011003884A MX2011003884A MX2011003884A MX 2011003884 A MX2011003884 A MX 2011003884A MX 2011003884 A MX2011003884 A MX 2011003884A MX 2011003884 A MX2011003884 A MX 2011003884A MX 2011003884 A MX2011003884 A MX 2011003884A
Authority
MX
Mexico
Prior art keywords
service
contract
customer service
interface
paper
Prior art date
Application number
MX2011003884A
Other languages
English (en)
Inventor
Jose Benabeu-Auban
Yousef A Kahlidi
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of MX2011003884A publication Critical patent/MX2011003884A/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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Se proporcionan métodos, sistemas, y medios legibles por computadora para automatizar la expresión de aspectos funcionales de un servicio objetivo a un servicio al cliente a través de un vehículo denominado aquí como un contrato. Generalmente, los métodos se realizan en el contexto de un ambiente de cómputo distribuido configurado para subrayar operaciones de la aplicación(es) de servicio. En modalidades, el contrato se implementa y obliga después de valorar que los aspectos funcionales expresados satisfacen dependencias del servicio al cliente. Generalmente, el contrato define interfases y mantiene propiedades que configuran las interfases durante instalación. Durante la implementación, se establece una de las interfases y se parametriza de acuerdo con las propiedades asociadas con ésta. Durante la obligación, el servicio objetivo y el servicio al cliente se enlazan a través de canales de comunicación que son enrutados a través de la interfase establecida. Por consiguiente, las llamadas del servicio al cliente a través de los canales de comunicación permiten alcanzar y emplear los aspectos funcionales del servicio objetivo.

Description

PROVISION DE FUNCIONALIDAD A SERVICIOS DE CLIENTE AL IMPLEMENTAR Y OBLIGAR CONTRATOS ANTECEDENTES Típicamente, los desarrolladores escriben aplicaciones de software para permitir muchos grados de libertad en su configuración. A manera de ejemplo, estos desarrolladores son capaces de hacer uso de estos grados de libertad al establecer una aplicación de software que opera dentro de limitaciones especificas de una plataforma particular que se proporciona para soportar la aplicación de software. De esa forma, estas libertades asociadas con la aplicación de software permiten que la aplicación de software opere en cooperación con la plataforma.
En un caso, esta configuración de aplicación de software puede emplearse por proveedores de servicio de aplicación que desarrollan la aplicación de software para operar en una plataforma que es remotamente accesible a través de Internet. En este caso, la plataforma ejecuta el programa de software de tal forma que los usuarios pueden manipular remotamente archivos al utilizar la aplicación de software. Por consiguiente, la plataforma está adaptada para establecer elementos subyacentes de la aplicación de software que corren en ésta para adaptar una carga actual del uso remoto. Los grados de libertad en la aplicación de software permiten la escalada hacia arriba o hacia abajo de estos elementos subyacentes y para manejar la coordinación entre ellos. Sin embargo, debido a que no existe ninguna forma de publicar la funcionalidad de estos elementos subyacentes, proporcionar la capacidad de utilizar esta funcionalidad para programas de software más allá de la aplicación de software en cuestión es impráctico. Además, incluso si otros programas de software estuvieran conscientes de la funcionalidad de elementos subyacentes que corren actualmente, no existen medios para enlazar automáticamente las aplicaciones de software juntas o configurar automáticamente los elementos subyacentes para permitir aprovechar remotamente la funcionalidad.
Las soluciones actuales para configurar los elementos subyacentes de la aplicación de software confían en curadores de la plataforma para configurar manualmente los elementos subyacentes. Estas soluciones ad hoc son laboriosas, propensas a error, y no abarcan enlazar elementos subyacentes a otro programa de software. Además, estas desventajas de participación manual se exageran cuando la plataforma es expansiva en tamaño, que comprende una multitud de componentes de hardware interconectados, que soportan la operación de una multitud de aplicaciones de software.
BREVE DESCRIPCION DE LA INVENCION Esta breve descripción se proporciona para introducir conceptos en una forma simplificada que además se describe a continuación en la descripción detallada. Esta breve descripción no pretende identificar características clave o características esenciales del tema reclamado, ni pretende utilizarse como un auxiliar a determinar el alcance del tema reclamado.
Las modalidades de la presente invención se refieren a métodos, sistemas, y medios de almacenamiento por computadora que tienen instrucciones ejecutables por computadoras representadas en estos que, cuando se ejecutan, realizan métodos de acuerdo con modalidades del mismo, para automatizar la expresión de aspectos funcionales de un servicio objetivo (por ejemplo, una aplicación de servicio que corre en un ambiente de cómputo distribuido) o un servicio de cliente a través de un vehículo denominado aquí como un contrato. Generalmente, los métodos se realizan en el contexto de un ambiente de cómputo distribuido configurado para subrayar operaciones de aplicación(es) de servicio. En modalidades, el contrato se distribuye al valorar que los aspectos funcionales expresados consecuentemente satisfacen dependencias del servicio de cliente. Con la distribución, los métodos de la presente invención pueden incluir implementar el contrato dentro del ambiente de cómputo distribuido y obligar el contrato implementado a programas de componente de las aplicaciones de servicio.
Generalmente, el contrato define interfases y no tiene propiedades que configuren las interfases durante la instalación. Durante la implementación del contrato, se establece y se regulan parámetros de interfases de acuerdo con las propiedades asociadas con estos. Durante la obligación del contrato implementado, los puntos finales de entrada de los programas de componente que forman el servicio objetivo se enlazan a través de canales de comunicación a la interfase establecida. Por consiguiente, acceder a los aspectos funcionales del servicio objetivo se proporciona a otras aplicaciones de servicio que pueden alcanzar la interfase establecida.
El proceso de obligar también puede incluir los procedimientos de enlazar puntos finales de salida de los programas de componente que comprenden el servicio de cliente a la interfase establecida, y configurar el servicio objetivo basándose en la parametrización de la interfase establecida. Además, el servicio al cliente puede configurarse para formatear llamadas emitidas desde los puntos finales de salida a ciertas características del servicio objetivo. Por consiguiente, las llamadas del servicio al cliente pueden enrutarse en los canales de comunicación para permitir alcanzar el programa objetivo y pueden ser compatibles con la configuración del servicio objetivo para permitir emplear apropiadamente los aspectos funcionales del servicio objetivo.
En modalidades, el servicio objetivo puede valorar la identidad del servicio de cliente al recibir la llamada así como una reivindicación anexa a esto. El servicio objetivo es generalmente capaz de reaccionar dinámicamente a la identidad del servicio de cliente. Como tal, al entender la identidad del servicio de cliente, el servicio objetivo puede adaptar consecuentemente su nivel de servicio (por ejemplo, manipular sus aspectos funcionales) para adaptar el servicio de cliente particular cuando se responde a la llamada.
Esta breve descripción se proporciona para introducir una selección de conceptos en una forma simplificada que además se describe a continuación en la descripción detallada. Esta breve descripción no pretende identificar características clave o características esenciales del tema reclamado, ni pretende utilizarse como un auxiliar al determinar el alcance del tema reclamado.
BREVE DESCRIPCION DE LOS DIBUJOS Las modalidades de la presente invención se describen en detalle a continuación con referencia a las figuras de dibujo anexas, en donde: La Figura 1 es un diagrama de bloques de un ambiente de. cómputo ilustrativo adecuado para uso al ¡mplementar modalidades de la presente invención; La Figura 2 es un diagrama de bloques que ilustra un ambiente de cómputo distribuido ilustrativo, adecuado para usarse al implementar modalidades de la presente invención, es decir configurados para obligar un contrato implementado a un servicio objetivo; La Figura 3 es un diagrama de bloques que ilustra un ambiente de cómputo distribuido ilustrativo, adecuado para usarse al implementar modalidades de la presente invención, es decir configurados para obligar un contrato obligado al servicio objetivo a un servicio al cliente; La Figura 4 es una representación gráfica de un controlador de fábrica ilustrativo para utilizar canales balanceados en carga (LB) para enrutar comunicaciones entre aplicaciones de servicio, de acuerdo con una modalidad de la presente invención; La Figura 5 es, una representación gráfica de un controlador de fábrica ilustrativo para utilizar canales de interruptor sin estado (SLS) para enrutar comunicaciones entre aplicaciones de servicio, de acuerdo con una modalidad de la presente invención; La Figura 6 es un diagrama de flujo que ilustra un método general para implementar automáticamente un contrato y obligar el contrato implementado al servicio objetivo, de acuerdo con la modalidad de la presente invención; y La Figura 7 es un diagrama de flujo que muestra un método general para distribuir automáticamente el contrato implementado basándose en dependencias del servicio al cliente y obligar el contrato distribuido a éste, de acuerdo con una modalidad de la presente invención.
DESCRIPCION DETALLADA El tema de las modalidades de la presente invención se describe con especificación aquí para satisfacer requerimientos obligatorios. Sin embargo, la misma descripción no pretende limitar el alcance de esta patente. En lugar de eso, los inventores han contemplado que el tema reclamado también puede representarse entre otras formas, para incluir diferentes pasos o combinaciones de paso similares a los descritos en este documento, en conjunto con otras tecnologías presentes o futuras.
Las modalidades de la presente invención se refieren a métodos, sistemas, y medios de almacenamiento por computadora que tienen instrucciones ejecutables por computadora representadas en estos que, cuando se ejecutan, realizan métodos de acuerdo con modalidades de la misma, para adaptar automáticamente servicios al cliente que están escritos esperando que ciertas funcionalidades estén disponibles para soportar la operación de los servicios al cliente. Estas funcionalidades en las que se confía por el servicio al cliente pueden exponerse por contratos, que sirven como un vehículo para permitir que el servicio al cliente alcance y emplee las funcionalidades en un servicio objetivo que corre dentro de un ambiente de cómputo distribuido. El contrato apropiado puede distribuirse basándose en sí el contrato expone funcionalidades que satisfacen dependencias que el servicio al cliente espera que se cumplen. Entonces el contrato de distribución puede implementarse (por ejemplo, establecer una interfase con el ambiente de cómputo distribuido) y obligar el objetivo y los servicios al cliente (por ejemplo, enlazar programas de componente del objetivo y los servicios al cliente a través de la interfase establecida). Como tal, la funcionalidad esperada requerida para permitir la ejecución del servicio al cliente se descubre automáticamente y enlaza al servicio al cliente.
Por consiguiente, en un aspecto, las modalidades de la presente invención se refieren a uno o más medio legibles por computadora que tienen instrucciones ejecutables por computadora representadas en ellos. Al ejecutar las instrucciones ejecutables por computadora, un método para obligar un contrato implementado a un servicio objetivo dentro de un ambiente de cómputo distribuido se proporciona. Inicialmente, el método incluye identificar un contrato que define una agregación de interfase y que ¡triplemente el contrato identificado para establecer una interfase de la agregación de interfases dentro del ambiente de cómputo distribuido. Típicamente, el contrato mantiene un grupo de propiedades para instalar cada una de las interfases y el contrato implementado actúa como un vehículo para un servicio al cliente para alcanzar una porción del servicio objetivo. Además, el método puede incluir unir el contrato implementado al servicio objetivo al parametrizar la interfase establecida con valores derivados del grupo de propiedades asociadas con la interfase establecida. En modalidades, el proceso de unión incluye enlazar automáticamente la interfase establecida y uno o más casos de papel, y delinear los enlaces a través de un controlador de fábrica responsable de manejar la ejecución del servicio objetivo. Generalmente, los casos de papel representan réplicas de al menos un papel que representa un tipo de programa de componente que, en ejecución, confiere funcionalidad al servicio objetivo.
En otro aspecto, las modalidades de la presente invención se refieren a un método computarizado para obligar a un contrato implementado que se obligó previamente a un servicio objetivo a un servicio al cliente dentro de un ambiente de cómputo distribuido. En modalidades, el método comprende recibir del servicio al cliente una indicación para cubrir una dependencia del mismo y distribuir un contrato que expone una abstracción de una funcionalidad que satisface la dependencia de programas de componente del servicio al cliente. Típicamente, el contrato se implemento previamente dentro del ambiente de cómputo distribuido y se obligó a un servicio objetivo que lleva a cabo la funcionalidad. El método además puede incluir desplegar el servicio al cliente para iniciar la operación del mismo. En una modalidad ilustrativa, el despliegue involucra enlazar automáticamente uno o más programas de componente a una interfase definida por el contrato obligado distribuido, en donde la interfase se establece dentro del ambiente de cómputo distribuido con la implementación del contrato obligado distribuido, y escribir una descripción de los enlaces a un controlador de fábrica responsable de manejar la ejecución del servicio objetivo. En modalidades, el método inicialmente incluye, pero no está limitado a, recibir una indicación para aumentar el número de casos de un papel de aplicación de servicio. Como se mencionó anteriormente, el papel representa una clase particular de componente que opera en conjunto con otros papeles de la aplicación de servicio para realizar la funcionalidad distribuida del mismo. A manera de ejemplo, la indicación surge de un evento que comprende al menos uno de un cambio en una carga útil de uso remoto de la aplicación de servicio o uno o más nodos del centro de datos que cae fuera de línea". Por consiguiente, estos eventos, y otros eventos contemplados por la invención, pueden conducir el deseo de instalar papeles adicionales de la aplicación de servicio dentro del centro de datos distribuido.
Incluso en otro aspecto, las modalidades de la presente invención se refieren a un sistema de computadora capaz de enlazar automáticamente un servicio al cliente a un servicio objetivo a manera de implementar y obligar un contrato hecho disponible por un ambiente de cómputo distribuido. Generalmente, el centro de datos incluye dispositivos de cómputo distribuidos. El sistema de computadora puede incluir un medio de almacenamiento por computadora que tiene una pluralidad de componentes de software de computadora representados en ella. I nicialmente, los componentes de software de computadora incluyen aplicaciones de servicio (por ejemplo, un servicio al cliente y un servicio objetivo), un contrato, y un controlador de fábrica que está configurado para manejar el ambiente de cómputo distribuido. Generalmente, el servicio al cliente incluye una o más programas de componente, mientras que el servicio objetivo incluye uno o más casos de papel, en donde los casos de papel representan réplicas de al menos un papel que representa un tipo de programa de componente que, en ejecución, confiere la funcionalidad al servicio objetivo. En operación, el servicio al cliente está configurado para enviar una indicación para cumplir una dependencia del mismo. El contrato para exponer una abstracción de la funcionalidad del servicio objetivo, que satisface la dependencia de los programas de componente del servicio al cliente. El contrato además está configurado para definir al menos una interfase. El controlador de fábrica está configurado para realizar uno o más de los siguientes procesos, en ningún orden particular: establecer la interfase en la plataforma de cómputo distribuida al implementar el contrato; obligar el contrato al servicio objetivo y al servicio al cliente; y enlazar automáticamente los componentes de programa del servicio al cliente a los casos de papel del servicio objetivo a través de la interfase establecida.
Generalmente, la ejemplíficación y manejo coordinado de los casos de papel del servicio objetivo se facilita por un modelo de servicio (ver número de referencia 250 de la Figura 2). Como se utiliza aquí, la frase "modelo de servicio" no significa que sea limitante y generalmente se refiere a cualquier comunicación que incluye información que pertenece a establecer y manejar casos de un servicio objetivo dentro del ambiente de cómputo distribuido. En un caso, el modelo de servicio incluye una descripción de que papeles del servicio objetivo se van a establecer, o como se van a instalar y activar los casos de cada uno de los papeles dentro del centro de datos. Es decir, el modelo de servicio sirve como una articulación de que papeles deben correr para el servicio objetivo y condiciones para en donde deben instalarse los casos de papeles.
Además, el modelo de servicio puede distribuir uno o más nodos (por ejemplo, nodos I 221, II 222, II 223, IV 224, y V 225 de las Figuras 2 y 3) dentro del centro de cómputo distribuido (ver número de referencia 200 de las Figuras 2 y 3) para soportar los casos de los papeles. Esto puede realizarse por el controlador de fábrica. Por consiguiente, el modelo de servicio actúa como una huella de ¡nterfase que proporciona instrucciones para manejar programas de componente, tal como en los casos de papel, del servicio objetivo así como el servicio al cliente, en modalidades particulares. Es decir, el modelo de servicio ayuda a guiar al controlador de fábrica al coordinar actividades entre los componentes de programa al desplegarse a ubicaciones distribuidas a través del ambiente de cómputo distribuido. Estas ubicaciones típicamente se describen mediante una especificación de despliegue dentro del modelo de servicio. En general, la frase "especificación de despliegue" significa que es limitante y se utiliza para hacer referencia a un mecanismo que maneja la ejemplificación de los casos de papel en los nodos, que identifica que canales de comunicación utilizar como trayectorias de comunicación entre los casos de papel, y/o que proporciona información que describe una forma particular en la que se ejecutará el servicio objetivo.
Los casos de papel del servicio objetivo (por ejemplo, papel A 261 y papel B 262 del servicio objetivo 205 de la Figura 2) generalmente hace referencia a réplicas de al menos un papel. En general, como se utiliza aquí, el término "papel" ampliamente representa cualquier clase de componentes que operan en conjunto con otros papeles del servicio objetivo para realizar la funcionalidad que satisface una dependencia esperada del servicio al cliente.
Con el fin de iniciar operación del servicio objetivo, y los aspectos funcionales del mismo, el modelo de servicio en conjunto con la especificación de despliegue ejemplifica los casos de papel en nodos del ambiente de cómputo distribuido. La ejemplificación inicialmente incluye distribuir nodos que se valoran para estar disponibles para alojar un caso de papel, colocar el caso de papel en los nodos distribuidos, configurar los casos de papel colocados, y construir interconexiones entre puntos finales de entrada y puntos finales de salida dispuestos en los casos de papel. Como se discute más completamente a continuación, al implementar un contrato, una interfase puede enlazarse a los puntos finales de entrada de los casos de papel para promover acceso a una porción de la funcionalidad del servicio objetivo.
Generalmente, los nodos dentro del ambiente de cómputo distribuido se utilizan para adaptar la operación de los casos de papel. Como se utiliza aquí, el término "nodo" no pretende ser limitante, sino que abarca todas las formas de los dispositivos de cómputo, tal como, por ejemplo, una computadora personal, una computadora de escritorio, una computadora portátil, un dispositivo móvil, un auricular móvil, un dispositivo electrónico de consumidor, y similares. En un aspecto, el nodo representa dispositivo de cómputo de una pluralidad de dispositivos de cómputo distribuidos interconectados a través de una nube de red. Generalmente, estos dispositivos de cómputo distribuidos son capaces de alojar una pluralidad de casos de varios papeles de la aplicación de servicio. A manera de ejemplo, un nodo particular puede ser capaz de adaptar dos o más ambientes de alojamiento que cada uno soporta caso(s) de papel. Estos casos de papel pueden correr en el nodo en aislamiento completo (es decir, imponiendo un alto nivel de seguridad en la aplicación de servicios), en comunicación parcial con otros papeles, o en un estado interactivo con uno o más de otros papeles de la aplicación de servicio.
Una vez operacional, el servicio objetivo en funcionamiento puede obligar a un servicio de cliente a cumplir una dependencia esperada escrita al servicio al cliente. Los contratos típicamente son los vehículos empleados por la presente invención^ para avanzar el proceso de obligación. En una modalidad, los contratos exponen una definición abstracta de lo que se espera de un servicio objetivo en funcionamiento (es decir, la funcionalidad del servicio objetivo). En otra modalidad, los contratos definen una agregación de interfases y mantienen un grupo de propiedades asociadas con cada una de las interfases. Generalmente, las interfases están relacionadas en uno o más aspectos. En modalidades, las propiedades se utilizan para confeccionar, o parametrizar una interfase en instalación del ambiente de cómputo distribuido. A manera de ejemplo, las propiedades pueden ser dependientes, en parte, de un protocolo de los nodos. Estas propiedades se llenan cuando se crea el servicio objetivo con la información apropiada para que el controlador de fábrica pueda encontrar el servicio objetivo y configurar los programas de componente del servicio al cliente para alcanzar exitosamente el servicio objetivo.
Como se discute a continuación, el contrato puede implementarse (por ejemplo, establecer una de la agregación de interfases definidas) y obligar al servicio objetivo. El controlador de fábrica puede elegir obligar el servicio objetivo a uno o más servicios objetivo basándose, en parte, en la funcionalidad del servicio(s) objetivo. Por consiguiente, el contrato puede obligarse a más de una aplicación de servicio. Sin embargo, la interfase que se estableció durante la implementación de contrato puede configurarse de forma diferente de acuerdo con características de nodo, casos de papel del servicio objetivo elegido, y similares.
Habiendo descrito brevemente una revisión de modalidades de la presente invención, se describe a continuación un ambiente operativo ilustrativo para implementar modalidades de la presente invención. ' Haciendo referencia a los dibujos en general, e inicialmente a la Figura 1 en particular, un ambiente operativo ilustrativo para implementar modalidades de la presente invención se muestra y designa generalmente como el dispositivo de cómputo 100. El dispositivo de computación 100 es sólo un ejemplo de un ambiente cómputo adecuado y no pretende sugerir ninguna limitación al alcance de uso o funcionalidad de modalidades de la presente invención. El ambiente de cómputo 100 tampoco debe interpretarse como teniendo ninguna dependencia o requerimiento que se relaciona con cualquiera o combinación de componentes ilustrados.
Las modalidades de la presente invención pueden describirse en el contexto general de código de computadora o instrucciones útiles por máquina, que incluye instrucciones ejecutables por computadora tal como programas de componente, que se ejecutan por una computadora u otra máquina, tal como asistente de datos personal u otro dispositivo portátil. Generalmente, los programas de componente que incluyen rutinas, programas, objetos, componentes, estructuras de datos, y similares se refieren a un código que realiza tareas particulares, o implementan tipos de datos abstractos particulares. Las modalidades de la presente invención pueden practicarse en una variedad de configuraciones de sistema, que incluyen dispositivos móviles, electrónica de consumidor, computadoras de propósito general, dispositivos de cómputo de especialidad, etc. Las modalidades de la invención también pueden practicarse en ambientes de cómputo distribuido en donde las tareas se realizan por dispositivos de procesamiento remoto que se enlazan a través de una red de comunicaciones.
Con referencia continua a la Figura 1, el dispositivo de cómputo 100 incluye un conductor común 110 que directa o indirectamente se acopla a los siguientes dispositivos: memoria 112, uno o más procesadores 114, uno o más componentes de presentación 116, puertos de entrada/salida (l/O) 118, componentes l/O 120, y un suministro de energía ilustrativo 122. El conductor común 110 representa lo que pueden ser uno o más conductores comunes (tal como un conductor común de dirección, conductor común de datos, o combinación de los mismos). Aunque se muestran los varios bloques de la Figura 1 con líneas para la búsqueda de claridad, en realidad, delinear varios componentes no es tan claro, y metafóricamente, las líneas serán de forma más precisa grises y confusas. Por ejemplo, se puede considerar un componente de presentación tal como un dispositivo de presentación para ser un componente l/O. También, los procesadores tienen memoria. Los inventores de ésta reconocen que tal es la naturaleza de la técnica y reiteran que el diagrama de la Figura 1 es simplemente ilustrativo de un dispositivo de cómputo ilustrativo que puede utilizarse en conexión con una o más modalidades de la presente invención. No se hace distinción entre tales categorías como "estación de trabajo", "servidor", "laptop", "dispositivo portátil", etc., ya que todos se contemplan dentro del alcance de la Figura 1 y hacen referencia a "computadora" o "dispositivo de cómputo".
El dispositivo de cómputo 100 típicamente incluye una variedad de medios legibles por computadora. A manera de ejemplo, y no de limitación, los medios legibles por computadora pueden comprender Memoria de Acceso Aleatorio (RAM); Memoria de sólo lectura (ROM); Memoria de sólo Lectura Programable, Electrónicamente Borrable (EEPROM); memoria flash u otras tecnologías de memoria; CD-ROM, discos versátiles digitales (DVD) u otros medios ópticos u holográficos; casetes magnéticos, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que puede utilizarse para codificar información deseada y ser accedido por el dispositivo de cómputo 100.
La memoria 112 incluye medios de almacenamiento por computadora en la forma de memoria volátil y/o no volátil. La memoria puede ser movible, no removióle, o una combinación de los mismos. Los dispositivos de hardware ilustrativos incluyen memoria de estado sólido, unidades duras, unidades de disco óptico, etc. El dispositivo de cómputo 100 incluye uno o más procesadores que leen datos de las varias entidades tal como memoria 112 ó componentes l/O 120. El componente(s) de presentación 116 presenta indicaciones de datos a un usuario u otro dispositivo. Los componentes de presentación ilustrativos incluyen un dispositivo de presentación, bocina, componente de impresión, componente vibratorio, etc. Los puertos l/O 118 permiten que el dispositivo de cómputo 100 se acople lógicamente a otros dispositivos que incluyen componentes l/O 120, algunos de los cuales pueden estar incorporados. Los componentes ilustrativos incluyen un micrófono, palanca de mandos, almohadilla de juegos, antena parabólica, escáner, impresora, dispositivo inalámbrico, etc.
Cambiando ahora a la Figura 2, se ilustra un diagrama de bloques que muestra un ambiente de cómputo distribuido 200 adecuado para usarse para implementar modalidades de la presente invención. Generalmente, el ambiente de cómputo distribuido 200 está configurado para obligar un contrato implementado 235 a un servicio objetivo 205 y obligar un contrato obligado al servicio al cliente 205 a un servicio al cliente, como se demuestra en la Figura 3. El ambiente de cómputo distribuido 200 incluye un centro de datos 210 configurado para adaptar y soportar operación de programas de componente, o casos de papeles A 261 y B 262, del servicio objetivo 205 de acuerdo con el modelo de servicio 250. Se entenderá y apreciará por aquellos expertos en la técnica que el centro de datos 210 mostrado en la Figura 2 es simplemente un ejemplo de uno adecuado para adaptar una o más aplicaciones de servicio (por ejemplo, el servicio objetivo 205) y no pretende sugerir ninguna limitación al alcance de uso funcionalidad de modalidades de la presente invención. El centro de datos 210 tampoco debe interpretarse como teniendo ninguna dependencia o requerimiento relacionado con cualquier nodo individual, combinación de nodos (por ejemplo, nodos I 221, II 222, y III 223), recursos (no mostrados) o grupo de API para acceder a los recursos (no mostrados). Además, aunque los varios bloques de la Figura 2 se muestran con líneas para la búsqueda de claridad, en realidad, delinear varios componentes no es tan claro, y metafóricamente, las líneas de forma más precisa serán grises y confusas.
El centro de datos 210 incluye varios nodos (por ejemplo, nodos I 221, II 222, y III 223), un sistema operativo que corre en cada uno de los nodos, los pasos de papel A 261 y B 262, interfases (por ejemplo, interfase 220), y frecuentemente un controlador de fábrica 215 que puede incluir agentes de fábrica (no mostrados) localmente instalados en los nodos I 221, II 222, y III 223. Los agentes de fábrica actúan como extensiones del controlador de fábrica 215 y funcionan en cooperación para instalar y manejar el servicio objetivo 205, entre otras cosas. Además, los casos de papel A 261 y B 262 pueden estar interconectados entre sí a través de puntos finales de entrada (por ejemplo, punto final de entrada 255) del cual se emiten llamadas, y puntos finales de salida, en el cual se reciben las llamadas. En un caso, una o más de estas interconexiones pueden establecerse a través de una nube de red (no mostrada). La nube de red interconecta las entidades enlistadas a continuación para que los casos de papel A 261' y B 262 y la interfase 220, que puede colocarse de forma distribuida a través de varios recursos físicos, puede reconocer una ubicación de uno y otro con el fin de establecer comunicación entre ellos. Además, la nube de red facilita esta comunicación en canales de comunicación 290 que acoplan operativamente la interfase 220 al punto final de entrada 255 en el caso 261 del papel A. A manera de ejemplo, la nube de red puede incluir, sin limitación, una o más redes de área local (LAN) y/o redes de área ancha (WAN). Tales ambientes en red están comúnmente ubicados en oficinas, redes de computadora extendidas en empresa, intranets, e Internet. Por consiguiente, la red no se describe adicionalmente aquí.
Además, se debe notar que las modalidades de la presente invención no están limitadas a implementación de tales recursos físicos ilustrados en la Figura 2, sino que pueden implementarse en cualquiera de una variedad de diferentes tipos de dispositivos de cómputo, equipo, y programas de componente dentro del alcance de las modalidades de la misma. En otras palabras, los nodos ¡lustrados I 221, II 222, y fll 223 del centro de datos 210 ilustran una configuración ilustrativa únicamente que se pretende para propósitos de discusión; por consiguiente, cualquier diseño adecuado de nodos, y casos de papel que residen en ellos, conocidos en la industria de cómputo pueden utilizarse y se contemplan por la presente invención.
Estos nodos ilustrativos I 221, II 222, y III 224 y casos de papel A 261 y B 262 del centro de datos 210 sirven para introducir el concepto de implementar un contrato de servicio y obligar el contrato implementado 235 al servicio objetivo 205, que ahora se discutirá. Inicialmente, se identifica un contrato de servicio. En un caso, el contrato se identifica para exponer una abstracción de la funcionalidad 260 de un caso 261 de un papel A que cumple con una dependencia esperada escrita a un servicio al cliente (ver número de referencia 305 de la Figura 3). El contrato identificado típicamente define una agregación de interfases y mantiene un grupo de propiedades 240 que cada una está asociada con una o más de las interfases. En operación, el grupo de propiedades 240 es útil para instalar y confeccionar una configuración de cada una de las interfases.
El contrato de servicio identificado puede implementarse para establecer la interfase 220 de la agregación de interfases dentro de un dispositivo de cómputo (por ejemplo, nodo I 221) del ambiente de cómputo distribuido 200. Como se discutió anteriormente de forma más completa, los contratos implementados actúan como un vehículo para un servicio al cliente para alcanzar la funcionalidad 260 del servicio objetivo 205. El proceso de implementación puede incluir parametrizar la interfase establecida 220 con valores 230 derivados del grupo de propiedades 240 asociados con la interfase establecida 220. En un caso, la parametrización puede incluir administrar los valores 230 a parámetros 270 que son implícitos dentro de la interfase 200.
El proceso de implementación también puede incluir instalar limitaciones 295 a la interfase 220. Inicialmente, el grupo de propiedades 240 asociado con la interfase de 220 puede especificar las limitaciones 295 que rigen parcialmente la operación de la interfase establecida 220. Además, parametrizar la interfase establecida 220 con los valores 230 derivados del grupo de propiedades 240 imponen las limitaciones 295 dentro del ambiente de cómputo distribuido 200. Como tal, las limitaciones 295 sirven como guías para determinar cómo se engancha la interfase 220 (por ejemplo, que define que puertos externos de un servidor pueden recibir una llamada 225 de una aplicación de servidor web remota) y, en parte, cómo está configurada la interfase 220. A manera de ejemplo, cuando las propiedades 240 especifican limitaciones particulares 295, tal como números de puerto específicos, el controlador de fábrica 215 los distribuye dentro del centro de datos 210, y los establece para apuntarse cuando se emite la llamada 225. Por consiguiente, la interfase 220 está restringida a utilizar estos números de puerto distribuidos cuando se intenta alcanzar la funcionalidad 260 del servicio objetivo 210.
Las limitaciones 295 pueden ayudar a configurar la interfase 220. En un ejemplo, las limitaciones 295 pueden inducir a la interfase 220 filtrar a aquellos que intentan acceder a la funcionalidad 260, con lo cual restringe un flujo de tráfico en el servicio objetivo 205. En otro ejemplo, las limitaciones 295 pueden inducir a la interfase 220 a permitir que los servicios al cliente se autentifiquen por una autoridad de identidad particular para alcanzar la funcionalidad 260. Incluso en otro ejemplo, las limitaciones 295 pueden inducir a la interfase 220, o el servicio objetivo 205 a través de la interfase 220, a cerrar conexiones a la funcionalidad 260 después de que expira un marco de tiempo predefinido, con lo cual previene un procesamiento robado.
Con la implementación, el contrato implementado 235 puede obligarse a un servicio objetivo 205 a través del controlador de fábrica 215. El proceso de obligar el contrato implementado 235 al servicio objetivo 205 puede incluir enlazar automáticamente la interfase establecida 220 y los casos 261 del papel A mediante canales de comunicación 290. Como se discute más completamente a continuación con referencia a las Figuras 4 y 5, el canal de comunicación 290 puede tomar cualquiera de una variedad de formas. Típicamente, los canales de comunicación 290 acoplan operativamente la interfase 220 a la funcionalidad 260 del servicio objetivo 205 a través del punto final de entrada 255. Los puntos finales de entrada 255 y/o los canales de comunicación 290 pueden delinearse para referencia futura. A manera de ejemplo, el controlador de fábrica 215 puede ser responsable de distribuir canales de comunicación apropiados 290 en el almacenamiento de datos 210 para usarse por la interfase 220.
En modalidades, la interfase 220, al obligar el contrato implementado 235 al servicio objetivo 205, se enlaza a los puntos finales de entrada 255 de los casos 261 del papel A. El enlace promueve acceso a múltiples ubicaciones del servicio objetivo 205 que proporciona la funcionalidad 260. En otras palabras, la interfase 220 genera una conciencia de todos los casos relacionados 261 del papel A que proporciona la funcionalidad deseable 260.
El proceso de obligación además comprende configurar automáticamente los pasos 261 del papel A basándose en las limitaciones especificadas 295 que se imponen por la interfase establecida 220. El proceso de configuración se ilustra por el número de referencia 275. En modalidades, las limitaciones 295 representadas en la interfase 220 instruyen al controlador de fábrica 215 sobre cómo establecer restricciones dentro del servicio objetivo 205. En un ejemplo, las limitaciones 295 pueden instruir que exige una restricción sobre cómo acceder a los casos 261 del papel A, tal como únicamente servicios al cliente localizados en Norteamérica. En otro ejemplo, las limitaciones 295 que configuran la interfase 220 para hacer una interfase permitida para seguridad puede a su vez configurar el servicio objetivo 205 para revisar llamadas entrantes 225 para certificado(s) de autenticidad. Típicamente, el modelo de servicio 250 se proporciona con, o puede referirse a, limitaciones 295 con el fin de configurar apropiadamente puntos finales de entrada 255 en nuevos casos de papel cuando su escala hacia arriba el número de casos de servicio objetivo 205 dentro del centro de datos 210.
El proceso de obligación incluso además incluye identificar y enlazar a puntos finales de entrada apropiados 255 de los casos 261 del papel A que adapta la funcionalidad 260. Generalmente, "puntos finales de entrada" se refieren ampliamente a un puerto que el papel A espera que ingrese la llamada 225, con lo cual permite que otras entidades contacten al papel A. Además, el puerto puede utilizarse para responder a una solicitud incorporada dentro de la llamada 225. Esta respuesta, o "réplica", puede regresarse al servicio al cliente que proporciona la solicitud para funcionalidad 260 a través del mismo canal de comunicación 295. Debido a que el servicio objetivo 205 y el servicio al cliente están configurados para ser compatibles durante negociaciones (por ejemplo, al aplicar las limitaciones 295 del contrato implementado 235), la llamada 225 y la respuesta son entendibles (por ejemplo, protocolo de lenguaje similar) por el servicio objetivo 205 y el servicio al cliente.
Además, con el enlace a puntos finales de entrada 255, una dirección de red 265 (por ejemplo, dirección IP) de los puntos finales de entrada 255 dentro del centro de datos 210 puede propagarse al controlador de fábrica 215 para localizar los casos 261 del papel A que están enlazados a la interfase 220. Estas direcciones de red 265 representan una ubicación de la funcionalidad 260 expuesta por el contrato ¡mplementado 235 para permitir los servicios al cliente dependientes de la funcionalidad 260 para acceder a las ubicaciones apropiadas, o casos de papel 261. Además, las direcciones de red 265 ayudan a entidades fuera del centro de datos 210 con contacto a la interfase 220. En general, el controlador de fábrica 215 es responsable de adquirir y mantener una manifestación de las direcciones de red 265 de los puntos finales de entrada 255 con enlace a la interfase 220 a ésta durante la obligación.
En un caso, esta dirección de red 265 puede ocultarse del servicio al cliente. Por consiguiente, el controlador de fábrica 215 establece automáticamente una trayectoria estática que enruta las llamadas 225 de la aplicación de servicio el punto final de entrada apropiados 255. En otro caso, esta dirección de red 265 puede ser visible para el servicio al cliente. En este caso, el servicio al cliente puede ser una aplicación de legado que requiere reconocimiento de una dirección de contacto con el fin de enviar la llamada 225. Por consiguiente, el controlador de fábrica 215 puede publicar la dirección de red 265 el servicio al cliente. Incluso en otro caso, esta dirección de red 265 puede ser accesible al servicio al cliente. Por consiguiente, el servicio al cliente puede recuperar la dirección de red 265 para acceder al punto final de entrada con el canal de comunicación 290 que se actualiza dinámicamente.
Al recibir la llamada 255 en el servicio objetivo 205, la identidad del servicio al cliente que proporciona la llamada 225 puede solicitarse para verificar la autenticidad de la llamada 225. En un caso, la identidad del servicio al cliente se registra por el controlador de fábrica 215. El recordatorio puede ocurrir al desplegar el servicio al cliente, al unir el servicio al cliente al contrato implementado 235, o en cualquier momento después de eso. Al transferir la llamada emitida 225 a los casos 261 de papel A, la reclamación 281 puede anexarse a la llamada emitida 225. La reclamación 281 puede generarse al acceder a la identidad del servicio al cliente, para verificar que los programas de componente del servicio cliente emitieron la llamada 225, e integrar la identidad determinada, y otras características del servicio al cliente, en la reclamación 281.
De esta forma, el controlador de fábrica 215 esencialmente garantiza el origen de la llamada 225 y proporciona autentificación a beneficio del servicio al cliente. Como tal, la reclamación 281 permite que el servicio objetivo 205 verifique a la persona que llama con lo cual asegura un nivel particular de seguridad en el servicio objetivo 205. En modalidades, la verificación puede incluir inspeccionar la reclamación 281 para valorar si hace honor a solicitudes de la llamada 225. La inspección puede incluir revisar el contenido de la reclamación 281 (por ejemplo, propiedades y/o capacidades del servicio al cliente). El nivel de detalle del contenido es generalmente dependiente de la granularidad de la reclamación 281, el tipo de servicio al cliente que envía la llamada 225, y/o el protocolo soportado por el punto final de salida del servicio al cliente.
En una modalidad, las propiedades del servicio al cliente dentro de la reclamación 281 pueden incluir cualquier información que el controlador de fábrica 215 puede extrapolar sobre el dispositivo de cliente. En un caso, la geo-ubicación del servicio al cliente puede proporcionarse en el contenido de la reclamación 281. En respuesta, el servicio objetivo 205 puede honrar o redirigir la llamada 225 a un nodo más próximo. O, el servicio objetivo 205 puede modular la respuesta a la llamada 225 basándose en la geo-ubicación. Por ejemplo, si la geo-ubicación indica que la llamada 225 se originó desde Francia, el servicio objetivo 205 puede preparar la respuesta en francés. En otro caso, un listado de derechos a la funcionalidad 260 puede incorporarse en el contenido de la reclamación 281. En respuesta, el servicio objetivo 205 puede restringir el acceso- del servicio al cliente a los recursos que controla de acuerdo con los derechos obtenidos por el servicio al cliente.
En otra modalidad, el servicio objetivo 205 puede verificar la identidad de los derechos del servicio al cliente al consultar una interfase de programación de aplicación de verificación (API) 201. La API de verificación 201 puede proporcionar datos sobre la llamada 225 que se recibió, debido a que el controlador de fábrica 215 conoce la fuente de la llamada 225. Por consiguiente, el servicio objetivo 205 puede determinar proactivamente si cumple la llamada 225 (por ejemplo, proporcionar la funcionalidad 260) si la reclamación 281 está incompleta o no disponible.
Cambiando ahora a la Figura 3, un diagrama de bloques que ilustra un ambiente de cómputo distribuido ilustrativo 200, adecuado para uso al implementar las modalidades de la presente invención, que está configurado para obligar a un contrato obligado al servicio objetivo a un servicio al cliente se muestra. Inicialmente, el ambiente de cómputo distribuido 200 incluye un servicio al cliente 305, como se discutió anteriormente, para acceder al servicio objetivo. El servicio al cliente 305 puede representar cualquier aplicación de servicio que está configurada para correr dentro del centro de datos 210, correr fuera del centro de datos 210 con una conexión remota a éste, o recibir parcialmente en el centro de datos 210. El servicio al cliente 305 puede incluir programas de componente (por ejemplo, programas de componente A 361 y B 362) que pueden distribuirse en nodos separados (por ejemplo, nodos IV 224 y V 225) del centro de datos 210. En modalidades, en donde el servicio al cliente 305 se adapta por el centro de datos 210, el controlador de fábrica 215 puede ser responsable de desplegar los programas de componente A 361 y B 362, en vista de una especificación de despliegue mantenida en el modelo de servicio 350 y para manejar la ejecución del servicio al cliente 305.
En una modalidad ilustrativa, uno o más de los programas de componente A 361 y B 362 se escribieron por un desarrollador con una dependencia 360. Generalmente, la ejecución apropiada del servicio al cliente 305 confía en el cumplimiento de la dependencia 360 con una funcionalidad apropiada (por ejemplo, la funcionalidad 260 del servicio objetivo 305 de la Figura 2). Durante la operación, el servicio al cliente 305 puede propagar una indicación para cumplir la dependencia 360 de la misma. En respuesta, el controlador de fábrica 215 puede inspeccionar la dependencia 360 y distribuir un contrato que expone una creación de una funcionalidad que satisface la dependencia 360. Como se discutió anteriormente, el contrato que satisface la dependencia 360 pudo haberse implementado previamente dentro de un ambiente de cómputo distribuido 200. Además, el contrato implementado pudo obligarse previamente a un servicio objetivo que lleva a cabo la funcionalidad expuesta por el contrato.
Al distribuir el contrato satisfactorio, el controlador de fábrica 215 puede unir este contrato distribuido y previamente obligado 335 al servicio al cliente 305. En modalidades, el proceso de obligar al servicio al cliente 305 puede ocurrir durante el despliegue inicial de programas de componente A 361 y B 362 del servicio al cliente 305 para iniciar la operación del mismo. Generalmente, el proceso de despliegue incluye enlazar automáticamente los programas de componente A 361 y B 362 a la interfase 220 definida por el contrato obligado distribuido 335. En donde el contrato obligado 335 configura la interfase 220 con las limitaciones 295 derivadas del grupo de propiedades 240. En una modalidad, la interfase 220 se establece dentro del ambiente de cómputo distribuido 200 con la implementación del contrato obligado distribuido 335. Además, puede escribirse una descripción de los enlaces a un controlador de fábrica 215. Alternativamente, los enlaces pueden almacenarse, al menos temporalmente, en cualquier almacenamiento(s) de datos que son accesibles para el controlador de fábrica 215 para referencia futura.
En una modalidad ilustrativa, el proceso de enlazar automáticamente los componentes de programa A 361 y B 362 a la interfase 220 puede incluir identificar puntos finales de salida 375 dispuestos en el programa de componente B 362, en donde el programa de componente B 362 exhibe la dependencia 360. En general, los puntos finales de salida 375, pueden representar un puerto que el programa de componente B 362 utiliza para iniciar solicitudes para cosas de otros. El proceso para enlazar automáticamente puede continuar con distribuir canales de comunicación 390 dentro del ambiente de cómputo distribuido 200 para acoplar operativamente la interfase establecida 220 a los puntos finales de salida 375. Los canales de comunicación 390 sirven para transportar la llamada 225 emitida de los puntos finales de salida 375 del servicio al cliente 305. Típicamente, la llamada 225 incluye una solicitud por el programa de componente B 362 para cumplir la dependencia 360 escrita a éste. En modalidades, la dependencia 360 puede incluir un procesamiento externo o recuperación de datos que no se realiza en el servicio al cliente 305 pero se realiza por la funcionalidad enlazada a través de la interfase 220.
Al completar el proceso de unión, el contrato obligado 335 se obliga tanto el servicio de cliente 305 y un servicio objetivo complementario. En modalidades, el servicio al cliente 305 puede consultar la limitación 295 de la interfase 220 para hacer una determinación si la interfase 220 puede los aspectos funcionales especificados por el modelo de servicio 350 en el servicio al cliente 305. Si no es así, el servicio al cliente 305 puede re-obligarse por el controlador de fábrica 215 a otro contrato que sustituye una interfase obligada y el servicio objetivo pero conserva la funcionalidad que cumple con la dependencia 360. La re-obligación también puede ocurrir cuando un servicio objetivo obligado cae fuera de línea.
Para los propósitos de asociar el servicio objetivo a la dependencia 360 del servicio al cliente 305, puede existir una variedad de tipos de contratos empleados. En una modalidad, se utilizan contratos auto-obligados. En general, los contratos auto-obligados se obligan automáticamente por un mecanismo de conexión operable por el controlador de fábrica 215. Por consiguiente, el controlador de fábrica 215 selecciona el servicio objetivo, o pseudo-servicio, que atenderá las llamadas 225 hechas a través de la interfase 220.
En otra modalidad, se utilizan contratos estándares. En general, los contratos estándares pueden obligarse en dos formas diferentes. En una forma ilustrativa, cada servicio objetivo se suministra con un nombre único. El controlador de fábrica 215 entonces puede revisar la validez de la asociación del servicio al cliente 305 y el servicio objetivo, al utilizar el nombre único, al verificar que el servicio objetivo obligado de hecho implementa el contrato obligado 335. La dirección de red (por ejemplo, dirección de red 265) entonces se obtiene de puntos finales de entrada de servicio objetivo. De otra forma, la información sobre el punto final de salida 375 del servicio al cliente externo 305, que no se aloja por el centro de datos 210, y/o el punto final de entrada del servicio objetivo (por ejemplo, Dirección IP/nombre DNS: Puerto) se pasa al controlador de fábrica 215. La especificación IP: puerto se detecta para la inferíase 220. Por consiguiente, el controlador de fábrica 215 configura los puntos finales de salida 375 del programa de componente B 362 enlazado a la interfase 220. Sin embargo, no se realiza ninguna verificación de que el servicio objetivo nombrado satisfaga el contrato obligado 335.
Incluso en otra modalidad ilustrativa, se utilizan contratos externos, típicamente cuando el servicio al cliente 305 reside externo al centro de datos 210. En general, los contratos externos incluyen una abstracción de bajo nivel, que permite que el dispositivo al cliente 305 contacte cualquier dirección IP publica dentro de los límites establecidos por el despliegue del servicio al cliente 305. No se realiza ninguna obligación, y el servicio al cliente 305 se asume que proporciona la dirección de red 265 del servicio objetivo para acceder a la funcionalidad del mismo. Como tal, la' dirección de red 265 del punto final de entrada enlazado se utiliza para configurar y agotar los canales de comunicación 390.
Como se discutió anteriormente, el contrato obligado 335 puede mantener el grupo de propiedades 240 asociado con la interfase establecida 220. En operación, las limitaciones 295 pueden aplicarse a la interfase establecida 220 al parametrizar la interfase establecía 220 con valores derivados del grupo asociado de propiedades 240. Estas limitaciones aplicadas 295 pueden publicarse al servicio al cliente 305 para configurar los programas de componente A 361 y B 362. El proceso de configurar el servicio al cliente 305 se ilustra por el número de referencia 388. En general, el proceso de configurar 388 programas de componente A 361 y B 362, junto con puntos finales de salida 375, comprende extraer instrucciones de las limitaciones 295 aplicadas a la interfase 220. Estas instrucciones pueden utilizarse para cualquier número de configuraciones para aspectos del servicio al cliente 305, así como comunicaciones proporcionadas consecuentemente. Por ejemplo, las instrucciones pueden utilizarse para formatear una llamada 225 emitida desde puntos finales de salida 375. Al utilizar las instrucciones para configurar el formato de la llamada 225, entre otras cosas, la llamada 225 puede ser compatible con un protocolo bajo los casos de papel del programa objetivo que implementa la funcionalidad deseada.
Una vez configurado, el servicio al cliente 305 puede emitir la llamado 225 cuando se va a cumplir la dependencia 360. En modalidades, la llamada 225 puede emitirse de los puntos finales de salida 375 del programa de componente B 362 que realiza la dependencia 360. La llamada 225 entonces se enruta en los canales de comunicación distribuidos 390 del ambiente de cómputo distribuido 200 a la interfase establecida 220. Como se discutió más completamente en lo anterior, la interfase establecida 220 puede parametrizarse para transferir la llamada emitida 225 al servicio objetivo o filtrar la llamada emitida 225. Esta decisión de la interfase 220 puede basarse en las limitaciones 295 aplicadas a éste en conjunto con una identidad del servicio al cliente 305.
El ambiente de cómputo distribuido 220 es sólo un ejemplo de un ambiente adecuado que puede implementarse para llevar a cabo procesos de la presente invención, y no pretende sugerir ninguna limitación en cuanto al alcance de uso o funcionalidad de la invención. La arquitectura de sistema ilustrativa ilustrada del ambiente de cómputo distribuido 220 tampoco debe interpretarse como teniendo ninguna dependencia o requerimiento que se relaciona con cualquiera o combinación de los componentes 215, 220, 221, 225, 305, 335, 350, 360, 361 y 362 como se ilustra. En algunas modalidades, uno o más de los componentes 215, 220, 221, 224, 225, 305, 335, 350, 360, 361 y 362 pueden implementarse como dispositivos independientes. En otras modalidades, uno o más de los componentes 215, 220, 221, 225, 305, 335, 350, 360, 361, y 362 pueden integrarse directamente en el centro de datos 210 o el controlador de fábrica 215. Se entenderá por aquellos expertos en la técnica que los componentes 215, 220, 221, 225, 305, 335, 350, 360, 361, y 362 ilustrados en la Figura 3 son ilustrativos en naturaleza y en número y no deben interpretarse como limitantes.
Por consiguiente, cualquier número de componentes puede emplearse para lograr la funcionalidad deseada dentro del alcance de modalidades de la presente invención. Aunque los varios componentes de la Figura 3 se muestran con líneas para la búsqueda de claridad, en realidad, delinear varios componentes no es tan claro, y metafóricamente, las lineas de forma más precisa serán grises o confusas. Además, aunque algunos componentes de la Figura 3 se ilustran como bloques individuales, las ilustraciones son ilustrativas en naturaleza y en número y no deben interpretarse como limitantes (por ejemplo, aunque solamente se muestra un servicio al cliente 305, muchos más pueden acoplarse comunicativamente a la ¡nterfase 220).
Cambiando ahora a la Figura 4, se muestra una representación gráfica de un controlador de fábrica ilustrativo 215 para utilizar canales de balance de carga (LB) 410 para enrutar comunicaciones (por ejemplo, llamada 225 y réplicas) entre aplicaciones de servicio (por ejemplo, servicio al cliente 305 y servicio objetivo 205), de acuerdo con la modalidad de la presente invención. Inicialmente, las definiciones de conexión 450 se proporcionan y pueden accederse por el controlador de fábrica 215. Estas definiciones de conexión 450 ayudan a instruir un mecanismo LB 420 para enrutar la comunicación a uno seleccionado de un número de casos de papel 411, 412, y 413 del servicio objetivo 205. El caso de papel seleccionado para recibir la llamada puede seleccionarse basándose en cualquier número de factores que incluyen capacidad de comparación con un papel (por ejemplo, papeles 421, 422, 423) del servicio al cliente 305 que emite la llamada 225, proximidad al papel (por ejemplo, papeles 421, 422, y 423), disponibilidad, y similares.
Una vez seleccionada, la llamada se transmite al papel seleccionado del servicio objetivo 205 a través de canales de soporte de carga (LB) 410 que se enlazan a la interfase establecida 220 a los puntos finales de entrada de los papeles (por ejemplo, papeles 411, 412, y 413) del servicio objetivo 205. En un caso, la transmisión puede comprender recibir la llamada 225 del servicio al cliente 305 en la interfase establecida 220, e invocar el mecanismo LB 420 para distribuir la llamada 225 a un canal de comunicación disponible de los canales LB 410. Como tal, únicamente se proporciona una dirección de red al servicio del cliente 305 para enviar llamadas 225 a éste. El controlador de fábrica 215 es responsable de ¡mplementar un esquema de balance de carga, en vista de las definiciones de conexión 450, que asegura distribución de las llamadas 225 a la interfase 220 que se distribuyen entre los papeles (por ejemplo, papeles 411. 412, y 413) del servicio objetivo 205. En una modalidad ilustrativa, la dirección de red es una IP virtual a la interfase 220 y/o mecanismo LB 420. El mecanismo LB 420 entonces puede traducir la IP virtual en IP completa y cada una está asociada con un papel diferente.
Con referencia a la Figura 5, una representación gráfica de un controlador de fábrica ilustrativo para utilizar canales de interruptor sin estado (SLS) (por ejemplo, canales 510, 511, y 512) para enrutar comunicaciones (por ejemplo, llamadas 521, 522, y 523) y las réplicas en respuesta a esto) entre aplicaciones de servicio (por ejemplo, servicio al cliente 305 y servicio objetivo 205) de acuerdo con una modalidad de la presente invención. En general, los canales de comunicación distribuida (ver número de referencia 290 de la Figura 2) pueden comprender canales SLS 510, 511, y 512 que enlazan la interfase establecida 220 a puntos finales de entrada de los papeles (por ejemplo, papeles 411, 412, y 413) del servicio objetivo 205. Estos canales SLS 510, 511 y 512 pueden almacenarse por las definiciones de conexión 450 y mantenerse por el controlador de fábrica 215.
En operación, al recibir la llamada (por ejemplo, llamadas 521, 522, y 523), el controlador de fábrica 215 define una dirección de red asociada con la llamada. La dirección de red puede proporcionarse por el papel (por ejemplo, papeles 421) del servicio al cliente 305 que proporciona la llamada (por ejemplo, llamada 521) o se suministra por las definiciones de conexión 450 basándose en un origen de la llamada. Basándose en la dirección de red, la llamada: 225 se enruta en un canal de comunicación (por ejemplo, 510) de los canales SLS, designados para enlazar la interfase establecida 220 al punto final de entrada del caso de papel apropiado (por ejemplo, papel 411) del servicio objetivo 205. Por consiguiente, el controlador de fábrica 215 asegura que existen muchos puntos finales de entrada externamente dirigibles, alcanzables como programas de componente, o papeles, del servicio al cliente enlazado a la interfase 220. De esta forma, cada punto final de punto de salida corresponde a un punto final de entrada individual, con lo cual designa un canal SLS individual y una dirección de red individual para enrutar la llamada.
Con referencia a la Figura 6, si ilustra un diagrama de flujo que muestra un método general 600 para implementar automáticamente un contrato y obligar el contrato implementado al servicio objetivo, de acuerdo con una modalidad de la presente invención. Además, aunque los términos "paso" y/o "bloque" pueden utilizarse aquí para connotar diferentes elementos de métodos empleados, el término no debe interpretarse como implicando ningún orden particular entre dos o más varios pasos aquí descritos a menos y excepto cuando el orden de pasos individuales se describa explícitamente. Inicialmente, como se ilustra en el bloque 605, se identifica un contrato que define un agregado de interfases. Adicionalmente, el contrato mantiene un grupo de propiedades para instalar cada una de las interfases. Como se ilustra en el bloque 610, el contrato identificado se implementa para establecer una interfase de la agregación de interfases dentro del ambiente de cómputo distribuido. Típicamente, el contrato implementado introduce un vehículo para un servicio al cliente para alcanzar una porción del servicio objetivo. Como se ilustra en el bloque 615, el contrato implementado se obliga al servicio objetivo al parametrizar la interfase establecida o con valores derivados del grupo de propiedades asociadas con la interfase establecida. En modalidades, el proceso de parametrización incluye enlazar automáticamente la interfase establecida y uno o más casos de papel del mismo (ver bloque 620), y delinear los enlaces a través de un controlador de fábrica responsable de manejar la ejecución del servicio objetivo (ver bloque 625). A manera de aclaración, los casos de papel representan réplicas de al menos un papel que representa un tipo de programa de componente que, en ejecución, confiere funcionalidad al servicio objetivo.
Cambiando ahora a la Figura 7, se ilustra un diagrama de flujo que muestra un método general 700 para distribuir automáticamente el contrato implementado basándose en dependencias del servicio al cliente y obligar el contrato distribuido a éste, de acuerdo con una modalidad de la presente invención. Inicialmente, como se ilustra en el bloque 705, se recibe una indicación para cumplir una dependencia desde el servicio al cliente. Como se discutió anteriormente, el servicio al cliente comprende uno o más programas de componente. Como se ilustra en el bloque 710, se distribuye un contrato que expone una abstracción de una funcionalidad que satisface la dependencia de los programas de componente del servicio al cliente. Típicamente, el contrato se implementa dentro del ambiente de cómputo distribuido que y se obliga a un servicio al cliente que lleva a cabo la funcionalidad. Como se indica en el bloque 715, el servicio al cliente se despliega para iniciar operación del mismo. En modalidades, el despliegue involucra enlazar automáticamente los programas de componente a una interfase definida por el contrato obligado distribuido (ver bloque 720), y escribir una descripción de los enlaces a un controlador de fábrica responsable de manejar la ejecución del servicio objetivo (ver bloque 725). En general, la interfase se establece dentro del ambiente de cómputo distribuido con la implementación del contrato obligado distribuido.
Un experto en la técnica se dará cuenta que puede emplearse cualquier número de pasos para lograr la funcionalidad deseada dentro del alcance de modalidades ilustradas en las Figuras 6 y 7. Además, aunque los varios pasos de las Figura 6 y 7 se muestran con líneas para la búsqueda de claridad, en realidad, delinear varios componentes no es tan claro, y metafóricamente, las líneas serán de forma más precisa grises o confusas. Incluso además, aunque se ilustran algunos pasos de las Figuras 6 y 7 como procesos individuales, las ilustraciones son ilustrativas en naturaleza y el número y no deben interpretarse como limitantes.
Las modalidades de la presente invención se han descrito con relación a modalidades particulares que pretenden en todos los aspectos ser ilustrativas en lugar de restrictivas. Modalidades alternativas serán evidentes para aquellos expertos en la técnica a los cuales pertenecen las modalidades de la presente invención sin apartarse de su alcance.
A partir de lo anterior, se observará que esta invención es una bien adaptada para obtener todos los fines y objetivos establecidos anteriormente, junto con otras ventajas que son obvias e inherentes pa5ra el sistema y método. Se entenderá que ciertas características y sub-combinaciones son de utilidad y pueden emplearse con referencia a otras características y sub-combinaciones. Esto se contempla por, y está dentro del alcance de las reivindicaciones.

Claims (20)

REIVINDICACIONES
1.- Uno o más medios legibles por computadora que tienen instrucciones ejecutables por computadora representadas en éste que, cuando se ejecutan, realizan un método para obligar un contrato implementado a un servicio objetivo dentro de un ambiente de cómputo distribuido, el método comprende: identificar (605) un contrato que define un agregado de interfases, en donde el contrato mantiene un grupo de propiedades para instalar cada una de las interfases; implementar (610) el contrato identificado para establecer una interfase de la agregación de interfases dentro del ambiente de cómputo distribuido, en donde el contrato implementado introduce un vehículo para un servicio al cliente para alcanzar una porción del servicio objetivo; obligar (615) el contrato implementado al servicio objetivo al parámetrizar la interfase establecida con valores derivados del grupo de propiedades asociadas con la interfase establecida; en donde el proceso de obligación comprende; (a) enlazar automáticamente (620) la interfase establecida y uno o más casos de papel, en donde uno o más casos de papel representan réplicas de al menos un papel que representa un tipo de programa de componente que, después de ejecución, confiere funcionalidad al servicio objetivo; y (b) delinear (625) los enlaces a través de un controlador de fábrica responsable para manejar la ejecución del servicio objetivo.
2. - Los medios legibles por computadora de acuerdo con la reivindicación 1, en donde el método comprende proporcionar un modelo de servicio que mantiene una especificación para desplegar uno o más casos de papel del servicio objetivo en nodos dentro del ambiente de cómputo distribuido, en donde la especificación de despliegue construye interconexiones entre puntos finales de entrada y puntos finales de salida dispuestos en uno o más casos de papel.
3. - Los medios legibles por computadora de acuerdo con la reivindicación 2, en donde la interfase, al obligar el contrato implementado, se enlaza a los puntos finales de entrada de uno o más casos de papel para promover acceso a una porción de la funcionalidad del servicio objetivo.
4. - Los medios legibles por computadora de acuerdo con la reivindicación 3, en donde enlazar la interfase establecida y uno o más casos de papel comprende distribuir canales de comunicación que atraviesan el ambiente de cómputo distribuido para acoplar operablemente la interfase establecida a los puntos finales de entrada enlazados.
5.- Los medios legibles por computadora de acuerdo con la reivindicación 4, en donde los canales de comunicación, distribuidos comprenden canales de soporte de carga (LB) que enlazan la interfase establecida a los puntos finales de entrada de uno o más papeles, y en donde el método además comprende: recibir una llamada del servicio al cliente en la interfase establecida; y invocar un mecanismo LB para distribuir la llamada a un canal de comunicación disponible de los canales LB.
6. - Los medios legibles por computadora de acuerdo con la reivindicación 4, en donde el método además comprende propagar a la red de controlador de fábrica direcciones para localizar los puntos finales de entrada de uno o más casos de papel enlazados a la interfase establecida.
7. - Los medios legibles por computadora de acuerdo con la reivindicación 6, en el método además comprende hacer las direcciones de red visibles en el servicio al cliente, y en donde los programas de componente del servicio a cliente están configurados para enrutar una llamada a uno o más casos de papel utilizando las direcciones de red.
8.- Los medios legibles por computadora de acuerdo con la reivindicación 7, en donde los canales de comunicación distribuidos comprenden canales de interruptor sin estado (SLS) que enlazan la interfase establecida a los puntos finales de entrada de uno o más papeles, en donde el método además comprende: recibir la llamada y la dirección de red seleccionada del servicio al cliente en la interfase establecida; y enrutar la llamada a través de un canal de comunicación, de los canales SLS, diseñados para enlazar la interfase establecida al punto final de entrada.
9.- Los medios legibles por computadora de acuerdo con la reivindicación 1, en donde el grupo de propiedades que especifican limitaciones que rigen parcialmente la operación de la interfase establecida asociada, y en donde parametrizar la interfase establecida con valores derivados del grupo de propiedades comprende administrar los valores a parámetros implícitos dentro de la interfase establecida, con lo cual impone las imitaciones.
10. - Los medios legibles por computadora de acuerdo con la reivindicación 9, en donde el proceso de obligar además comprende automáticamente reconfigurar uno o más casos de papel basándose en las imitaciones especificadas que se imponen por la interfase establecida.
11. - Un método computarizado para obligar un contrato obligado a un servicio al cliente dentro de un amiente de cómputo distribuido, el método comprende: recibir (705) del servicio al cliente una indicación para cumplir una dependencia del mismo, en donde el servicio al cliente comprende uno o más programas de componente; distribuir (710) un contrato que expone una abstracción de la funcionalidad que satisface la dependencia de uno o más programas de componente del servicio al cliente, en donde el contrato se implementa dentro del ambiente de cómputo distribuido y está obligado a un servicio al cliente que lleva a cabo la funcionalidad; desplegar (715) el servicio al cliente para iniciar la operación del mismo, en donde el desplegado comprende: (a) enlazar automáticamente (720) uno o más programas de componente a una interfase definida por el contrato obligado distribuido, en donde la interfase se establece dentro del ambiente de cómputo distribuido después de la implementacion del contrato obligado distribuido; y (b) escribir (725) una descripción de los enlaces a un controlador de fábrica responsable de manejar la ejecución del servicio objetivo.
12. - El método computarizado de acuerdo con la reivindicación 11, en donde enlazar automáticamente uno o más programas de componente a una interfase comprende: identificar puntos finales de salida dispuestos en uno o más programas de componente, respectivamente; y distribuir canales de comunicación dentro del ambiente de cómputo distribuido para acoplar operablemente la interfase establecida a los puntos finales de salida.
13. - El método computarizado de acuerdo con la reivindicación 12, en donde el servicio objetivo comprende uno o más casos de al menos un papel, y en donde al menos un papel representa una clase particular de componentes que operan en conjunto con otros papeles del servicio objetivo para realizar la funcionalidad que satisface la dependencia del servicio al cliente.
14. - El método computarizado de acuerdo con la reivindicación 13, en donde el contrato obligado mantiene un grupo de propiedades asociadas con la interfase establecida, y en donde el método además comprende: aplicar limitaciones a la interfase establecida al parametrízar la interfase establecida con valores derivados del grupo de propiedades asociado; y publicar las limitaciones aplicadas al servicio al cliente para configurar uno o más programas de componente.
15. - El método computarizado de acuerdo con la reivindicación 14, en donde la configuración de uno o más programas de componente comprende extraer instrucciones de las limitaciones aplicadas para formatear una llamada emitida desde puntos finales de salida de uno o más programas de componente para que la llamada sea compatible con un protocolo subyacente a uno o más casos de papel.
16. - El método computarizado de acuerdo con la reivindicación 15, en donde la llamada emitida de los puntos finales de salida de uno o más programas de componente se enruta a través de los canales de comunicación distribuidos del ambiente de cómputo distribuido a la interfase establecida.
17. - El método computarizado de acuerdo con la reivindicación 15, en donde la interfase establecida se parametriza para transferir la llamada emitida a uno o más casos de papel o filtrar la llamada emitida basándose en las limitaciones aplicadas en conjunto con una identidad del servicio al cliente.
18. - El método computarizado de acuerdo con la reivindicación 17, en donde la identidad del servicio al cliente se registra por el controlador de fábrica, y en donde, al transferir la llamada emitida a uno o más casos de papel, una reclamación anexa a la llamada emitida se inspecciona para valorar si se honran las solicitudes de la llamada.
19. - El método computarizado de acuerdo con la reivindicación 18, en donde anexar la reclamación a la llamada emitida comprende: acceder la identidad de servicio al cliente para verificar que uno o más programas de componente emitieron la llamada; e integrar la identidad determinada y otras características del servicio al cliente en la reclamación, con lo cual se asegura un nivel particular de seguridad en el servicio objetivo.
20. - Un sistema de computadora para realizar un método que automáticamente enlaza un servicio al cliente a un servicio objetivo a manera de implementar y obligar un contrato hecho disponible por un ambiente de cómputo distribuido, el sistema de computadora comprende un sistema de almacenamiento por computadora que tiene una pluralidad de componentes de software por computadora representada en éste, los componentes de software de computadora comprenden: un servicio al cliente (305) que envía una indicación para cumplir una dependencia del mismo, en donde el servicio al cliente comprende uno o más programas de componente; un servicio objetivo (205) que incluye uno o más casos de papel, en donde uno o más casos de papel representan réplicas de al menos un papel que representa un tipo de programa de componente que, después de ejecución, confiere funcionalidad al servicio objetivo; un contrato (235) que expone una abstracción de la funcionalidad del servicio objetivo, que satisface la dependencia de uno o más programas de componente del servicio al cliente, que define al menos una interfase; y un controlador de fábrica (215) para establecer al menos una internase en la plataforma de cómputo distribuida al ¡mplementar el contrato, para obligar el contrato al servicio objetivo y al servicio al cliente, y para enlazar automáticamente uno o más de los componentes de programa del servicio al cliente a uno o más casos de papel del servicio objetivo a través de la interfase establecida.
MX2011003884A 2008-10-24 2009-10-24 Provision de funcionalidad a servicios de cliente al implementar y obligar contratos. MX2011003884A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/258,149 US7904508B2 (en) 2008-10-24 2008-10-24 Providing functionality to client services by implementing and binding contracts
PCT/US2009/061974 WO2010048597A2 (en) 2008-10-24 2009-10-24 Providing functionality to client services by implementing and binding contracts

Publications (1)

Publication Number Publication Date
MX2011003884A true MX2011003884A (es) 2011-05-03

Family

ID=42118525

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2011003884A MX2011003884A (es) 2008-10-24 2009-10-24 Provision de funcionalidad a servicios de cliente al implementar y obligar contratos.

Country Status (15)

Country Link
US (1) US7904508B2 (es)
EP (1) EP2353100A4 (es)
JP (1) JP5579727B2 (es)
KR (1) KR101618908B1 (es)
CN (1) CN102197390B (es)
AU (1) AU2009308178B2 (es)
BR (1) BRPI0919394B1 (es)
CA (1) CA2736588C (es)
IL (1) IL211626A (es)
MX (1) MX2011003884A (es)
MY (1) MY159229A (es)
RU (1) RU2517377C2 (es)
TW (1) TWI396093B (es)
WO (1) WO2010048597A2 (es)
ZA (1) ZA201101658B (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9253020B2 (en) * 2009-06-11 2016-02-02 International Business Machines Corporation Web service interaction in a dynamically extensible business application
US20130067345A1 (en) * 2011-09-14 2013-03-14 Microsoft Corporation Automated Desktop Services Provisioning
US20130138813A1 (en) * 2011-11-28 2013-05-30 Microsoft Corporation Role instance reachability in data center
US9225599B2 (en) * 2013-12-16 2015-12-29 Software Ag Method and system to adapt functionality to capabilities of client and data storage
TWI544342B (zh) * 2013-12-17 2016-08-01 緯創資通股份有限公司 伺服器品質驗證方法及其系統
CN112395570B (zh) * 2020-10-30 2024-02-27 迅鳐成都科技有限公司 一种联盟链智能合约调用权限控制方法、系统及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148290A (en) 1998-09-04 2000-11-14 International Business Machines Corporation Service contract for managing service systems
US6760775B1 (en) * 1999-03-05 2004-07-06 At&T Corp. System, method and apparatus for network service load and reliability management
CA2404552C (en) * 2001-09-21 2008-12-09 Corel Corporation System and method for secure communication
US7502929B1 (en) * 2001-10-16 2009-03-10 Cisco Technology, Inc. Method and apparatus for assigning network addresses based on connection authentication
US7139263B2 (en) * 2001-10-19 2006-11-21 Sentito Networks, Inc. Voice over IP architecture
US7747502B2 (en) * 2002-06-03 2010-06-29 Research Affiliates, Llc Using accounting data based indexing to create a portfolio of assets
US7313812B2 (en) 2002-06-05 2007-12-25 Sap Aktiengesellschaft Application level security
US20040068553A1 (en) * 2002-10-07 2004-04-08 International Business Machines Corporation Dynamically selecting a Web service container for hosting remotely instantiated Web services
JP2006526189A (ja) * 2003-05-19 2006-11-16 コンピュータ アソシエイツ シンク,インコーポレイテッド ウエブサービスブローカー
EP1515233A3 (en) * 2003-08-06 2007-03-14 Matsushita Electric Industrial Co., Ltd. Method, server and client for reducing processing time in synchronous communication in a client-server distributed system
WO2005029377A1 (en) 2003-09-24 2005-03-31 International Business Machines Corporation Web service contract selection
RU2329609C2 (ru) * 2004-06-29 2008-07-20 Нокиа Сименс Нетворкс Гмбх Унд Ко. Кг Способ обеспечения надежной функции сервера в поддержке службы или набора служб
US7594217B2 (en) * 2004-12-07 2009-09-22 International Business Machines Corporation Matching client interfaces with service interfaces
US7519713B2 (en) * 2005-02-04 2009-04-14 Microsoft Corporation Mapping between object oriented and service oriented representations of a distributed application
US7593994B2 (en) * 2005-03-08 2009-09-22 Microsoft Corporation Generating a dynamic web service and dynamic service surrogate for legacy application components
US20060218102A1 (en) 2005-03-25 2006-09-28 Microsoft Corporation Methods and apparatus for defining parameters for web based applications
WO2007022788A1 (en) * 2005-08-22 2007-03-01 Ultra Proizvodnja Elektronskih Naprav D.O.O. Modem with acoustic coupling
US20080117808A1 (en) 2006-11-16 2008-05-22 Mark Henrik Sandstrom Automatic configuration of network elements based on service contract definitions
US8887296B2 (en) 2006-12-12 2014-11-11 The Boeing Company Method and system for object-based multi-level security in a service oriented architecture

Also Published As

Publication number Publication date
JP5579727B2 (ja) 2014-08-27
CN102197390B (zh) 2013-11-27
BRPI0919394A2 (pt) 2016-01-19
KR101618908B1 (ko) 2016-05-09
IL211626A (en) 2017-02-28
ZA201101658B (en) 2012-06-27
CA2736588A1 (en) 2010-04-29
US20100106768A1 (en) 2010-04-29
KR20110081817A (ko) 2011-07-14
WO2010048597A2 (en) 2010-04-29
RU2517377C2 (ru) 2014-05-27
AU2009308178B2 (en) 2014-05-22
JP2012507087A (ja) 2012-03-22
CA2736588C (en) 2016-12-20
EP2353100A2 (en) 2011-08-10
TW201106169A (en) 2011-02-16
EP2353100A4 (en) 2014-04-02
WO2010048597A3 (en) 2010-08-26
RU2011116168A (ru) 2012-10-27
BRPI0919394B1 (pt) 2020-09-15
CN102197390A (zh) 2011-09-21
US7904508B2 (en) 2011-03-08
MY159229A (en) 2016-12-30
AU2009308178A1 (en) 2010-04-29
TWI396093B (zh) 2013-05-11

Similar Documents

Publication Publication Date Title
EP2947569B1 (en) Hybrid applications operating between on-premise and cloud platforms
US9300532B2 (en) Automating deployment of service applications by exposing hosting environment constraints
WO2019236352A1 (en) Automatically and remotely on-board services delivery platform computing nodes
US20120233589A1 (en) Software development kit for blended services
MX2011003884A (es) Provision de funcionalidad a servicios de cliente al implementar y obligar contratos.
US9116715B2 (en) Systems and methods for efficiently booting and configuring virtual servers
US20230244466A1 (en) Enhanced cloud-computing environment deployment
US20160020950A1 (en) Managing technology resources across multiple platforms
CN105009547A (zh) 用于处理访问请求的方法和网页浏览器
JP2021503118A (ja) 自動ユニバーサルコネクタパッケージを使用してクラウドアプリケーションをクラウドサービスブローカプラットフォームに統合するためのシステムおよび方法
Pathak Pro WCF 4: practical Microsoft SOA implementation
Wagner et al. SODA: Service-oriented architecture for runtime adaptive driver assistance systems
US20020143904A1 (en) Rapid network deployment
US20230161912A1 (en) System, method, and device for providing multiple software resources
Smith et al. The HPC basic profile and SAGA: standardizing compute grid access in the open grid forum
JP6288206B2 (ja) プログラム及び装置
Vardanian Avenga's private network corporate database notification system
Gallagher et al. Cloud Computing for MATLAB and R Users
CN117931218A (zh) 软负载的安装方法、装置、电子设备及存储介质
Culloch JISC Final Report
JP2014186473A (ja) プログラム及び装置
Peiris et al. Pro WCF
O’Connor et al. Building Service-Oriented Architectures (SOAs) with Web Services
Mohan Utility Computing for the SMB Industry
Peiris et al. Hosting and Consuming WCF Services

Legal Events

Date Code Title Description
FG Grant or registration
PD Change of proprietorship

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC