ES2659651T3 - Integración ininterrumpida de múltiples entornos informáticos - Google Patents
Integración ininterrumpida de múltiples entornos informáticos Download PDFInfo
- Publication number
- ES2659651T3 ES2659651T3 ES07700748.2T ES07700748T ES2659651T3 ES 2659651 T3 ES2659651 T3 ES 2659651T3 ES 07700748 T ES07700748 T ES 07700748T ES 2659651 T3 ES2659651 T3 ES 2659651T3
- Authority
- ES
- Spain
- Prior art keywords
- environment
- environments
- computing environments
- base
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
Un sistema de supervisión de unificación para integrar una pluralidad de entornos informáticos (12.1 - 12.n), en el que dicha pluralidad de entornos informáticos se encuentran disponibles para su uso simultáneo por un único usuario, comprendiendo cada uno de dichos entornos informáticos un agente propio de una pluralidad de agentes, estando configurado cada agente propio de dicha pluralidad de agentes para proporcionar información con respecto a su entorno informático respectivo y para gestionar dicho entorno informático respectivo según sea indicado por dicho supervisor de unificación, en el que uno de dicha pluralidad de entornos se selecciona como un entorno base (12.1, 220), en el que dicho supervisor de unificación (16) se encuentra en comunicación con dicha pluralidad de agentes, estando configurado dicho supervisor de unificación para recibir dicha información a partir de dicha pluralidad de agentes, para realizar una orientación centralizada de dicha pluralidad de entornos informáticos de acuerdo con dicha información recibida y con el fin de incorporar entornos informáticos que no sean dicho entorno base en dicho entorno base, y para emitir instrucciones a dicha pluralidad de agentes para llevar a cabo dicha orientación, para dotar de ese modo a dicho usuario de un entorno de trabajo unificado, y en el que dicho supervisor de unificación comprende un sincronizador de ajustes de usuario (24, 300) que está configurado para mantener la consistencia de los ajustes de usuario entre dicho entorno base y dichos entornos informáticos que no sean dicho entorno base mediante la sincronización de los ajustes de usuario de dichos entornos informáticos que no sean dicho entorno base con los ajustes de usuario de dicho entorno base.
Description
5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Integración ininterrumpida de múltiples entornos informáticos Campo y antecedentes de la invención
La presente invención se refiere a dotar, a un usuario que trabaja en múltiples entornos informáticos, de un único entorno unificado y, más concretamente pero no de forma exclusiva, a la integración ininterrumpida de múltiples entornos informáticos en una infraestructura de tecnología de la información (TI).
La creciente complejidad y variaciones en la implementación de entornos informáticos en la infraestructura de TI moderna han creado la necesidad de posibilitar que un único usuario trabaje de forma concurrente en múltiples entornos informáticos, teniendo cada uno características diferentes.
Los ejemplos de trabajar dentro de múltiples entornos informáticos incluyen:
1. El uso simultáneo de aplicaciones en ejecución en sistemas operativos diferentes (tales como Windows y Unix) o una versión diferente del mismo sistema operativo (tal como Windows 95 y Windows XP).
2. El uso simultáneo de aplicaciones que no pueden coexistir en el mismo entorno, por ejemplo debido a que las mismas usan versiones diferentes de bibliotecas compartidas (por ejemplo, DLL).
3. La necesidad de compatibilidad con versiones anteriores, por ejemplo, para posibilitar que los usuarios ejecuten varias versiones de la misma aplicación para fines tales como acceder al contenido producido por versiones previas de la aplicación.
4. La necesidad de acceder a entornos heredados tales como aplicaciones de gran sistema.
5. El uso simultáneo de aplicaciones en ejecución en entornos diferentes, o incluso infraestructuras o redes informáticas diferentes. Por ejemplo, agentes y revendedores que necesitan acceder a los entornos informáticos de más de un suministrador o proveedor de servicios, empleados de organizaciones que pasaron por una fusión o adquisición, usuarios remotos tales como vendedores que necesitan conectar Internet y la red corporativa.
6. Asegurar un entorno informático y recursos de red frente a amenazas externas de seguridad.
7. Requisitos normativos o empresariales para separar entornos que contienen datos regulados a partir de otros entornos y, en concreto, a partir de entornos orientados hacia el exterior, tales como Internet.
8. Creación de una mayor estabilidad global al separar entornos estables e inestables. Por ejemplo, con el fin de permitir que los empleados usen un PC doméstico no administrado para acceder a los recursos de la organización, o para permitir que los empleados creen un entorno en el que los mismos puedan instalar, evaluar y usar aplicaciones no administradas y personales.
Abordar estas necesidades de una forma que sea adecuada para el uso del día a día requiere una solución que mantenga el aislamiento entre los diversos entornos. Esto evita que los entornos informáticos planteen riesgos de seguridad y de estabilidad entre sí y evita un acceso no autorizado a los datos. No obstante, el aislamiento real del entorno en función de la separación física entre ordenadores y redes da como resultado una experiencia de usuario mala, evitando a veces una transferencia de datos empresariales esencial, y complicando inmensamente las operaciones y el flujo de trabajo.
Por lo tanto, un requisito de cualquier solución designada para el uso del día a día es crear una experiencia de usuario que sea tan carente de problemas y transparente como sea posible, reduciendo de este modo la incomodidad y la cantidad de entrenamiento que necesita el usuario para operar de forma simultánea dentro de múltiples entornos informáticos y simplificando el uso del día a día, minimizando los errores humanos y reduciendo las llamadas de asistencia.
Varias soluciones existentes abordan el problema mediante la provisión de una solución limitada a una o más de las cuestiones que se han analizado en lo que antecede.
Cuando se aborda el aislamiento de entornos, las máquinas virtuales (tales como VMWare y Microsoft virtual PC) y las tecnologías de escritorios remotos (tales como Terminal Services y Citrix) proporcionan unos medios para crear un entorno aislado, o bien encima del sistema anfitrión existente del usuario o bien mediante el acceso a un entorno físicamente separado dentro de un servidor.
Ambas soluciones permiten que un único usuario trabaje en otros entornos además de su entorno anfitrión, al tiempo que se proporciona una separación entre los entornos (es decir, evitando que los datos entren o salgan del entorno), asegurando de este modo que el entorno está verdaderamente aislado.
Un inconveniente de estos enfoques es que a veces se requiere una transferencia de datos, debido a que la mayor parte de los usuarios dependen de transferir datos entre las diversas aplicaciones que los mismos usan de forma simultánea para realizar actividades empresariales del día a día. En la actualidad hay dos enfoques principales para la transferencia de datos entre entornos:
1. Una separación completa, sin conectividad o transferencia de datos alguna, dando habitualmente como resultado incomodidad para el usuario.
5
10
15
20
25
30
35
40
45
50
55
2. Posibilitar determinadas transferencias de datos como operaciones de portapapeles, arrastrar y soltar o compartir determinadas ubicaciones de archivo. No obstante, una vez habilitados, los entornos están expuestos a riesgos de seguridad entre sí.
En la actualidad, solo un número limitado de aplicaciones, tales como Citrix Presentation Server y algunos complementos para Terminal Services, combinan las ventanas locales y remotas en un único entorno de escritorio al proporcionar una integración de ventanas ininterrumpida, permitir una integración de portapapeles, y así sucesivamente. No obstante, estas soluciones no abordan todas las cuestiones en relación con la unificación de entornos informáticos, tales como sincronizar entornos y ajustes de usuario, compartir impresoras, incorporar el acceso de usuario a las aplicaciones en ejecución en un entorno diferente, de una forma que sea transparente para el usuario. Adicionalmente, estas soluciones no se encuentran disponibles para plataformas virtualizadas (por ejemplo, VMWare y Microsoft Virtual PC).
Una cuestión adicional que se ha de abordar con el fin de proporcionar una experiencia de usuario cómoda es el procedimiento por medio del cual se elige uno de los entornos informáticos para una operación de usuario dada. Hoy en día, el enfoque más común es requerir que el usuario elija de forma manual un entorno. Esto puede dar lugar a errores humanos e incomodidad.
Un enfoque alternativo para seleccionar un entorno informático actual (que se implementa por ejemplo en Citrix Presentation Server) crea un mecanismo que permite que un administrador elija si una aplicación o tipo de datos específico se procesan de forma local o en el ordenador remoto. No obstante, este enfoque no permite decisiones granulares de una forma por archivo, tal como en función del entorno de origen del archivo.
Un escenario importante diferente para la unificación de entornos informáticos es una constelación de sistemas en la que uno o más de los entornos informáticos son entornos virtuales. Un análisis de las limitaciones de los intentos actuales de integrar máquinas virtuales en un único entorno de usuario se halla en el artículo de Raymond Chen titulado “Running old programs in a virtual machine doesn’t necessarily create a good user experience", en blogs.msdn.com/oldnewthing/archive/2005/10/05/477317.aspx. Los problemas mencionados con las soluciones actuales incluyen:
1. El usuario ha de iniciar sesión en, y / o iniciar, de forma manual, cada uno de los entornos informáticos.
2. Con el fin de operar aplicaciones en múltiples entornos informáticos, el usuario ha de moverse de forma manual entre los entornos diferentes.
3. Barras de tareas separadas para cada entorno
4. Una transferencia de datos problemática entre entornos
5. Controles de teclado diferentes para cada entorno
En el caso de uso de un entorno virtualizado, las solicitudes de patente 20060136910, 20060136911 y 20060136912 sugieren un concepto de permitir el acceso a varios entornos virtuales, ejecutándose potencialmente en la misma máquina de usuario, usando una consola de unificación. No obstante, estos enfoques no aplican el caso en el que uno de los entornos informáticos es el entorno anfitrión del usuario o un escritorio remoto.
Por lo tanto, ninguno de los enfoques actualmente disponibles proporciona una solución que es apropiada para un entorno de usuario variado, que puede incluir máquinas virtuales, la máquina anfitrión del usuario y / o escritorios remotos. Además, ninguna de las soluciones existentes tiene éxito en la unificación de todos los aspectos de la experiencia del usuario de una forma transparente y sin causar molestias al usuario.
Existe una necesidad de una solución segura que pueda proporcionar una experiencia de usuario carente de problemas (similar a la de un único entorno) con independencia de las plataformas subyacentes (tales como máquinas virtuales o escritorios remotos) o sistemas operativos. La solución debería incluir un control mejorado de la transferencia de datos entre entornos informáticos y procedimientos mejores para seleccionar un entorno informático para una operación dada.
Por lo tanto, existe una necesidad generalmente reconocida de, y sería muy ventajoso tener, un sistema y procedimiento para integrar múltiples entornos informáticos en un entorno unificado carente de las limitaciones anteriores.
El documento US 2006/0010433 A1 se refiere a sistemas y procedimientos para proporcionar una compatibilidad de soporte lógico ininterrumpida usando máquinas virtuales (VM, virtual machine). Este proporciona unos medios en el entorno anfitrión para invocar directamente uno o más archivos o aplicaciones de sistema operativo invitado y representar los mismos en el entorno anfitrión en lugar de en una ventana de VM separada. Además, El mismo permite que múltiples aplicaciones en múltiples sistemas operativos (SO), de forma respectiva, se ejecuten de forma simultánea y con la apariencia de una ejecución de forma ininterrumpida en el entorno anfitrión. La totalidad de la funcionalidad del SO invitado se integra directamente en el escritorio de SO anfitrión. Una pluralidad de representantes de aplicación son visibles por el usuario en el entorno anfitrión y una capa de lanzamiento de aplicaciones reside en el SO anfitrión. Cada representante de aplicación está asociado con una aplicación de anfitrión o de VM. La función de la capa de lanzamiento de aplicaciones es identificar si el representante de aplicación dado está lanzando una aplicación de anfitrión o de VM. Entonces, la capa de lanzamiento de
5
10
15
20
25
30
35
40
45
50
55
aplicaciones se comunica o bien con el SO anfitrión o bien con un monitor de máquinas virtuales (VMM, virtual machine monitor), de forma respectiva, para emprender la acción necesaria para lanzar la aplicación seleccionada por el usuario. El SO anfitrión comprende la capa de lanzamiento de aplicaciones y una pluralidad de representantes de aplicación que proporcionan un mecanismo automático para lanzar cualquier aplicación de anfitrión o de VM de forma ininterrumpida en el entorno anfitrión. Cuando un usuario selecciona una aplicación de anfitrión o de VM para su ejecución al hacer clic sobre su icono de aplicación asociado, el representante de aplicación seleccionado comunica una solicitud para iniciar su aplicación asociada a la capa de lanzamiento de aplicaciones del SO anfitrión. Si se determina en la capa de lanzamiento de aplicaciones que la solicitud es una aplicación de VM, la capa de lanzamiento de aplicaciones se comunica con el VMM para lanzar una VM con su SO invitado asociado. Entonces, el SO invitado lanza la aplicación de VM. Se proporciona un mecanismo al usuario en el entorno anfitrión para ver de forma colectiva todos los archivos que están asociados con una pluralidad de unidades de disco duro virtuales, con independencia de si los archivos están asociados con el sistema anfitrión o una VM.
El documento US 5 812 843 A se refiere a un sistema y procedimiento para ejecutar trabajos entre sistemas operativos diferentes. En un sistema de procesamiento de información en ejecución bajo dos sistemas operativos (SO) diferentes, una unidad de entrada de trabajos entra en un programa de control de un trabajo, que es ejecutado por el segundo sistema operativo, a través del primer sistema operativo. Una unidad de conversión / transferencia de idioma convierte el programa de control en un programa para el segundo sistema operativo, y transfiere el mismo al segundo sistema operativo. Una unidad de conversión / transferencia de datos realiza mutuamente una conversión y una transferencia entre los archivos que se usan para el primer sistema operativo y los archivos que se usan para el segundo sistema operativo. Una unidad de ejecución de trabajos ejecuta el programa para el segundo sistema operativo usando datos transferidos que están incluidos en los archivos que se usan para el segundo sistema operativo. Por lo tanto, un usuario puede ejecutar el trabajo sin ser consciente de las diferencias entre los sistemas operativos.
Anónimo: “Software agent - Wikipedia, the free encyclopedia", 9 de enero de 2006, se refiere a un agente de soporte lógico. En informática, un agente de soporte lógico es un soporte lógico que actúa como un agente para otro como en una relación de representación. Cuando actúan varios agentes, estos pueden formar un sistema de múltiples agentes. Se afirma que algunos agentes de soporte lógico son autónomos, siendo autocontenidos y capaces de tomar decisiones independientes y de emprender acciones para satisfacer objetivos internos en función de su entorno percibido.
Sumario
El objeto de la presente invención es potenciar de manera eficiente la consistencia de un entorno de trabajo unificado.
El presente objeto se soluciona por medio de la materia objeto de las reivindicaciones independientes.
Las realizaciones preferidas se definen por medio de las reivindicaciones dependientes.
De acuerdo con un primer aspecto de la presente invención, se proporciona un sistema de unificación para integrar múltiples entornos informáticos, que se encuentran disponibles para su uso simultáneo por un único usuario, en un entorno base. El sistema de unificación incluye un supervisor de unificación y una pluralidad de agentes, en los que cada agente está asociado con un entorno informático respectivo. El supervisor de unificación monitoriza la información recibida a partir de los agentes con respecto a los múltiples entornos informáticos, y realiza una orientación centralizada de los entornos informáticos de acuerdo con la información recibida. La orientación centralizada sirve para incorporar los otros entornos informáticos en el entorno base, y se puede guiar por medio de directivas designadas para dotar al usuario de un entorno unificado. El supervisor de unificación también emite instrucciones a los diversos agentes. Cada uno de los agentes proporciona información con respecto a un entorno informático respectivo al supervisor de unificación, y también puede gestionar el entorno informático respectivo según sea indicado por el supervisor de unificación.
De acuerdo con un segundo aspecto de la presente invención, se proporciona un procedimiento para integrar múltiples entornos informáticos en un único entorno unificado. Los múltiples entornos informáticos se encuentran disponibles para su uso simultáneo por un único usuario, y uno de los múltiples entornos comprende un entorno base de usuario. El procedimiento incluye las etapas de monitorizar la información recibida a partir de cada uno de los entornos informáticos con respecto a un estatus en curso del entorno informático respectivo, y realizar una orientación centralizada de los múltiples entornos informáticos de acuerdo con la información recibida con el fin de incorporar entornos informáticos que no sean el entorno base en el entorno base. De ese modo, se proporciona al usuario un entorno de trabajo unificado.
De acuerdo con un tercer aspecto de la presente invención, se proporciona un agente para su colocación en un entorno informático. El agente incluye una unidad de recopilación de información, que recopila información con respecto a un estatus en curso del entorno informático, y un proveedor de información que emite la información recopilada. La información se recopila y se proporciona de una forma que permite que el entorno informático interaccione con un sistema de unificación para incorporar múltiples entornos informáticos en un entorno base de
5
10
15
20
25
30
35
40
45
50
55
usuario.
La presente invención aborda con éxito los inconvenientes de las configuraciones conocidas en la actualidad mediante la realización de una integración centralizada basada en directivas de múltiples entornos informáticos en el entorno base del usuario, en función de la información proporcionada por agentes que están asociados con cada uno de los entornos informáticos diferentes.
A menos que se defina de otro modo, todas las expresiones técnicas y científicas que se usan en el presente documento tienen el mismo significado que entendería habitualmente un experto en la materia a la que pertenece la presente invención. A pesar de que se pueden usar procedimientos y materiales similares o equivalentes a los que se describen en el presente documento en la práctica o puesta a prueba de la presente invención, se describen en lo sucesivo procedimientos y materiales adecuados. En caso de conflicto, prevalecerá la memoria descriptiva de patente, incluyendo las definiciones. Además, los materiales, procedimientos y ejemplos son solo ilustrativos y no se tiene por objeto que sean limitantes.
La implementación del procedimiento y sistema de la presente invención comporta realizar o completar tareas o etapas seleccionadas de forma manual, automática, o una combinación de los mismos. Además, de acuerdo con la instrumentación y equipo real de las realizaciones preferidas del procedimiento y sistema de la presente invención, varias etapas seleccionadas se podrían implementar por medio de soporte físico o por medio de soporte lógico en cualquier sistema operativo de cualquier soporte lógico inalterable o una combinación de los mismos. Por ejemplo, como soporte físico, etapas seleccionadas de la invención se podrían implementar como un chip o un circuito. Como soporte lógico, etapas seleccionadas de la invención se podrían implementar como una pluralidad de instrucciones de soporte lógico que son ejecutadas por un ordenador usando cualquier sistema operativo adecuado. En cualquier caso, etapas seleccionadas del procedimiento y sistema de la invención se podrían describir como si fueran realizadas por medio de un procesador de datos, tal como una plataforma informática para ejecutar una pluralidad de instrucciones.
Breve descripción de los dibujos
La invención se describe en el presente documento, únicamente a modo de ejemplo, con referencia a los dibujos adjuntos. A continuación, con referencia específica a los dibujos con detalle, se hace hincapié en que las particularidades que se muestran son a modo de ejemplo y solo para fines de análisis ilustrativo de las realizaciones preferidas de la presente invención, y se presentan con el fin de proporcionar lo que se cree que es la descripción más útil y fácil de entender de los principios y los aspectos conceptuales de la invención. A este respecto, no se hace intento alguno de mostrar detalles estructurales de la invención con más detalle del que es necesario para una comprensión fundamental de la invención, haciendo la descripción, tomada con los dibujos, evidente a los expertos en la materia cómo se pueden materializar en la práctica las varias formas de la invención.
En los dibujos:
La figura 1 es un diagrama de bloques simplificado de un sistema de unificación para integrar múltiples entornos informáticos en un único entorno unificado, de acuerdo con una realización preferida de la presente invención.
La figura 2 es un diagrama de bloques simplificado de un supervisor de unificación, de acuerdo con una realización preferida de la presente invención.
La figura 3 es un diagrama de bloques simplificado de un sistema de archivos unificado, de acuerdo con una realización preferida de la presente invención.
La figura 4 es un diagrama de bloques simplificado de múltiples entornos informáticos que interaccionan a través de un gestor de delegación de acceso, de acuerdo con una realización preferida de la presente invención.
La figura 5 es un diagrama de bloques simplificado de múltiples entornos informáticos que interaccionan a través de un filtro de transferencia de datos y un sincronizador de ajustes de usuario, de acuerdo con una realización preferida de la presente invención.
La figura 6 es un diagrama de bloques simplificado de múltiples entornos informáticos que interaccionan a través de un gestor de ejecución de aplicaciones, de acuerdo con una realización preferida de la presente invención.
La figura 7 es un diagrama de bloques simplificado de múltiples entornos informáticos que interaccionan a través de un unificador de escritorios, de acuerdo con una realización preferida de la presente invención.
La figura 8 es un diagrama de bloques simplificado de un procedimiento para integrar múltiples entornos informáticos en un entorno unificado, de acuerdo con una realización preferida de la presente invención.
La figura 9 es un diagrama de bloques simplificado de un sistema a modo de ejemplo que posibilita que un usuario acceda a dos entornos informáticos.
La figura 10 es un diagrama de bloques simplificado de un sistema a modo de ejemplo que posibilita que un usuario acceda de forma ininterrumpida a cuatro entornos informáticos.
Descripción de las realizaciones preferidas
Las presentes realizaciones son de un sistema y procedimiento para integrar múltiples entornos informáticos en un entorno unificado. En concreto, se crea un entorno unificado en el que no es necesario que el usuario sea consciente del entorno particular en el que reside una aplicación, recurso o archivo con el fin de trabajar con esa
5
10
15
20
25
30
35
40
45
50
55
aplicación, recurso o archivo. El usuario trabaja con un escritorio que contiene las ventanas activas de la totalidad de los entornos informáticos con ajustes sincronizados y de control. Se aplica una directiva (que posiblemente está compuesta por una directiva de permisos de archivo, una directiva de acceso de red, y otras) para asegurar que la seguridad de cada uno de los entornos informáticos no ha sido puesta en peligro por el acceso a, o la transferencia de datos a partir de, otros entornos.
Tal como se ha expuesto en lo que antecede, se necesita un sistema que incorpore los requisitos de aislamiento y una experiencia de usuario transparente, y posibilite el uso del día a día de múltiples entornos informáticos, incluyendo múltiples instancias de sistema operativo encima de una tecnología de entornos informáticos convencional (tal como una máquina virtual o un escritorio remoto).
Las presentes realizaciones describen un sistema y procedimiento para la integración de entornos informáticos, que se basa en un supervisor de unificación centralizado que se comunica con agentes que están instalados en cada uno de los entornos. Los agentes dotan al supervisor de la información que se requiere para integrar todos los aspectos de la experiencia de usuario, incluyendo proporcionar un sistema de archivos unificado, posibilitar la transferencia de datos entre entornos, controlar el acceso a recursos, controles de teclado uniformes, posibilitar la ejecución de aplicaciones, y más. El supervisor usa la información proporcionada para integrar los diversos entornos de acuerdo con directivas definidas, y controla los diversos entornos a través de sus agentes respectivos. Un entorno base se selecciona de entre los múltiples entornos informáticos, por lo general el entorno de trabajo físico del usuario, y el supervisor usa la información proporcionada para integrar los otros entornos informáticos en el entorno base. La integración se puede guiar por medio de directivas que son definidas por un usuario o administrador, con el fin de adaptar el entorno unificado a las necesidades de un usuario u organización particular.
Cada aspecto de la unificación se puede implementar por medio de un componente separado dentro del supervisor, de tal modo que las capacidades del supervisor se pueden adaptar a las necesidades del usuario simplemente mediante la inclusión de los componentes necesarios.
Por lo tanto, el usuario puede trabajar como si se encontrara dentro de un único entorno informático, incluso aunque se está accediendo a los archivos y las aplicaciones se están ejecutando en múltiples entornos informáticos, cada uno con sus propias restricciones y requisitos.
Se ha de entender que las presentes realizaciones se pueden implementar en cualquier forma de múltiples entornos informáticos, con independencia de la plataforma que se usa con el fin de crear los mismos (tales como máquinas virtuales y tecnologías de escritorios remotos), y del sistema operativo en uso (tal como Windows, Linux, etc.).
Los principios y el funcionamiento de un sistema y procedimiento de unificación de acuerdo con la presente invención se pueden entender mejor con referencia a los dibujos y las descripciones adjuntas.
Antes de explicar con detalle al menos una realización de la invención, se ha de entender que la invención no está limitada en cuanto a su aplicación a los detalles de construcción y la disposición de los componentes que se exponen en la siguiente descripción o que se ilustran en los dibujos. La invención es capaz de otras realizaciones o de ponerse en práctica o llevarse a cabo de diversas formas. Asimismo, se ha de entender que la fraseología y la terminología que se emplean en el presente documento son para fines de descripción y no se deberían considerar como limitantes.
En lo sucesivo, a aquellas partes que sean las mismas que las de las figuras previas se les dan los mismos números de referencia, y no se describen de nuevo excepto según sea necesario para una comprensión de la presente realización.
A continuación se hace referencia a la figura 1, que es un diagrama de bloques simplificado de un sistema de unificación para integrar múltiples entornos informáticos en un entorno base, de acuerdo con una realización preferida de la presente invención. El sistema de unificación 10 integra múltiples entornos informáticos12.1 - 12.n, que se encuentran disponibles para su uso simultáneo por un único usuario, en un entorno base 12.1. La integración se realiza al tiempo que se hacen cumplir los requisitos y restricciones individuales de cada entorno informático, y sin poner en peligro la seguridad de ninguno de los entornos informáticos individuales. Todos los aspectos de los entornos informáticos se pueden unificar en la práctica, incluyendo la integración visual del escritorio y la barra de tareas, un sistema de archivos unificado, ejecución de aplicaciones, y más. De este modo se dota al usuario de un entorno de trabajo cómodo al tiempo que se mantiene la integridad de los entornos informáticos individuales.
En la realización preferida, uno de los entornos informáticos se selecciona como un entorno base 12.1, y su agente se selecciona como el agente de entorno base 14.1. El supervisor de unificación 16 incorpora los entornos informáticos restantes en el entorno base 12.1 (en lo sucesivo, también se hace referencia al concepto de incorporar un entorno informático en el entorno base como integrar los entornos informáticos). Por lo general, el ordenador de trabajo de extremo del usuario se selecciona como el entorno base. El entorno base 12.1 establece el entorno de usuario (en términos de ajustes, preferencias, y así sucesivamente) y el escritorio base del usuario (en términos de controles, interfaces y entrada) en los que se van a integrar los entornos informáticos 12.2- 12.n restantes. Por lo tanto, no es necesario que el usuario defina de forma activa un conjunto de preferencias, ajustes y así sucesivamente, para el entorno unificado; el proceso de integración es completamente transparente al usuario. El
5
10
15
20
25
30
35
40
45
50
55
entorno base 12.1 también establece el sistema de archivos base, tal como se analiza en el contexto del unificador de sistemas de archivos en lo sucesivo.
Cada entorno informático 12.x está asociado con un agente 14.x, que se comunica con el supervisor de unificación 16. Preferiblemente, el agente reside dentro del entorno informático (al igual que para el entorno informático 12.1). Cada agente 14.x dota al supervisor de unificación de información acerca del entorno informático 12.x asociado. Esta información puede incluir entrada de usuario, atributos de aplicación, atributos de sistema, y así sucesivamente. El supervisor de unificación 16 recibe la información a partir del agente de entorno base 14.1 y el resto de los agentes 14.2 - 14.n, realiza una orientación centralizada de los múltiples entornos informáticos, y emite instrucciones al entorno base 12.1 y los agentes 14.2- 14.n en consecuencia. La orientación centralizada se realiza de acuerdo con la información recibida, e incorpora los otros entornos informáticos 12.2 - 12.n en el entorno base 12.1.
El proceso de unificación se puede guiar por medio de una directiva definida que establece la medida de la unificación o aislamiento que se mantiene entre los entornos informáticos indicados, y permite que la unificación se adapte a la constelación de sistemas específica y a las necesidades del usuario. La integración se puede realizar con cualquier grado de rigor que sea requerido por el usuario. Por ejemplo, se puede dar al usuario un acceso sin restricciones al sistema de archivos base (que incorpora la totalidad de los sistemas de archivos de los múltiples entornos informáticos, tal como se describe en lo sucesivo). Como alternativa, se pueden aplicar permisos diferentes para entornos informáticos diferentes. El supervisor de unificación 16 puede ser un componente autónomo del sistema, o puede residir en uno de los entornos informáticos, preferiblemente el entorno base. El funcionamiento del supervisor de unificación 16 se describe con detalle en lo sucesivo.
Además, preferiblemente cada agente 14.x gestiona el entorno informático respectivo según sea indicado por las instrucciones emitidas por medio del supervisor de unificación 16. De este modo se forma un sistema en el que el supervisor de unificación 16 es capaz de coordinar los recursos y operaciones de la totalidad de los entornos informáticos de una forma centralizada, creando en la práctica un único entorno unificado para el usuario.
Se ha de entender que la figura 1 ilustra un sistema a modo de ejemplo no limitante. El número y la naturaleza de los entornos informáticos y sus agentes pueden diferir de lo que se muestra.
Los ejemplos de tipos diferentes de entornos informáticos 12.x incluyen:
a. Máquina virtual (que, en el presente documento, también se denomina entorno virtual) 12.3
b. Ordenador de extremo 12.4
c. Servidor 12.5
d. Escritorio remoto 12.n
La totalidad de los diversos entornos informáticos pueden ejecutar el mismo sistema operativo. Como alternativa, puede que el sistema operativo no sea el mismo para la totalidad de los entornos informáticos. Esto posibilita que un usuario trabaje con aplicaciones que se ejecutan en sistemas operativos diferentes, tales como aplicaciones heredadas que requieren una versión previa del sistema operativo.
Algunos o la totalidad de los entornos informáticos se pueden conectar por medio de una red de datos. Por lo tanto, el usuario puede estar trabajando de forma simultánea en un ordenador personal (PC, personal Computer), ejecutando una máquina virtual en el PC, y comunicándose con un servidor a través de una red.
En la realización preferida, los datos pueden ser etiquetados por el supervisor de unificación 16 y / o un agente 14.x. La etiqueta ayuda en el cumplimiento de las directivas por el supervisor de unificación, y posibilita un control adicional de las operaciones que experimenta esta unidad de datos. La etiqueta puede incluir metadatos tales como el entorno informático en el que se crearon o se modificaron por última vez los datos, el propietario / modificador de los datos, el origen de la unidad de datos si se originaron fuera del entorno informático (por ejemplo, correo electrónico, mensajería instantánea y dispositivo). Para los archivos, los metadatos también pueden incluir una lista de cambios en el archivo o su ruta. Las unidades de datos se pueden marcar visualmente (por ejemplo, una superposición de iconos por encima del icono existente) de acuerdo con sus metadatos. Además, los archivos se pueden transformar (por ejemplo, cifrarse) de forma automática de acuerdo con sus metadatos.
A continuación se hace referencia a la figura 2, que es un diagrama de bloques simplificado de un supervisor de unificación, de acuerdo con una realización preferida de la presente invención. Preferiblemente, el supervisor de unificación 16 incluye uno o más de los siguientes componentes:
a. Unificador de sistemas de archivos 21
b. Gestor de delegación de acceso 22
c. Filtro de transferencia de datos 23
d. Sincronizador de ajustes de usuario 24
e. Gestor de ejecución de aplicaciones 25
f. Unificador de escritorios 26
Cada uno de los componentes enumerados se describe con detalle en lo sucesivo.
5
10
15
20
25
30
35
40
45
50
55
A continuación se hace referencia a la figura 3, que es un diagrama de bloques simplificado de una realización a modo de ejemplo de un sistema de archivos unificado, de acuerdo con una realización preferida de la presente invención. El unificador de sistemas de archivos 21 crea un sistema de archivos unificado, que dota al usuario de un aspecto y una sensación de un sistema de archivos unificado, a lo largo de múltiples entornos informáticos (incluyendo rutas o nombres de archivo uniformes, etc.) incluso aunque cada entorno pudiera tener su propio sistema de archivos. La totalidad de los entornos informáticos del usuario puede acceder al sistema de archivos unificado, creando de este modo una experiencia de usuario con aún menos problemas.
El unificador de sistemas de archivos 21 establece el sistema de archivos del entorno base como el sistema de archivos base, haciéndolo accesible a la totalidad de los otros entornos 240 y 260, preferiblemente sujeto a una directiva de permisos que se hace cumplir por medio del supervisor de unificación. Entonces, unas operaciones de acceso a archivos seleccionadas que son desencadenas por los entornos 240 y 260 en su sistema de archivos local se monitorizan y se reflejan en el sistema de archivos base. De esta forma, la totalidad de los entornos informáticos pueden acceder al sistema de archivos base como si este fuera su sistema de archivos local, además de acceder a su sistema de archivos local. La totalidad de los entornos informáticos son capaces de navegar, leer, escribir y eliminar archivos, acceder a carpetas en red y soportes extraíbles que son accesibles desde dentro del sistema de archivos base. Además, los nombres y rutas de archivo pueden ser uniformes para la totalidad de los entornos informáticos. Como alternativa, los nombres y rutas de archivo pueden ser diferentes en los diversos entornos informáticos (por ejemplo, una determinada carpeta en uno del entorno 240 o 260 se puede redirigir a una carpeta diferente en el sistema de archivos base). Cualquier cambio en un nombre o ruta de archivo se ve inmediatamente reflejado en la totalidad de los otros entornos.
Preferiblemente, se restringe el uso del sistema de archivos unificado por medio de una directiva de permisos, evitando de este modo la exposición mutua a riesgos de seguridad o un acceso no autorizado entre entornos. A cada uno de los entornos 220, 240 y 260 se puede asignar una directiva individual, para permitir o bloquear la navegación, la lectura, la escritura y la eliminación de archivos del sistema de archivos unificado. La directiva de permisos también puede requerir transformar los archivos que son escritos o leídos por cualquiera de los entornos. Los permisos se pueden determinar por medio de parámetros que incluyen el usuario, la afiliación del usuario, tipo de archivo, carpeta, tipo de unidad, ruta, usuario, el entorno en el que se creó o se modificó por última vez el archivo, y una etiqueta (con metadatos de archivo).
El unificador de sistemas de archivos 21 también puede incluir un transformador de archivos, que transforma los archivos que son escritos o leídos del sistema de archivos base por cualquiera de los entornos, según sea especificado por la directiva de permisos. Los permisos se pueden determinar por medio del entorno en el que se creó o se modificó por última vez el archivo, el propio usuario, el tipo de archivo, la ubicación del archivo, y cualesquiera otros metadatos que se hubieran adjuntado al archivo (es decir, una etiqueta). Por ejemplo, cualquier archivo escrito en el sistema de archivos base por uno diferente de los entornos diferentes 240 y 260, se puede cifrar con una clave de cifrado que está asociada con este entorno para hacer cumplir una directiva y permitir un acceso futuro solo por parte del mismo entorno informático.
Por lo tanto, el usuario trabaja con un sistema de archivos, pero se siguen haciendo cumplir los requisitos de acceso individuales de cada uno de los entornos informáticos separados. Se puede definir una directiva de permisos flexible y granular, que proporciona un control sobre el acceso a archivos más grande que el que se encuentra actualmente disponible para un sistema de archivos convencional. Permisos de archivo diferentes para un archivo dado, en función del entorno informático que está usando el usuario para realizar la operación de archivos.
A continuación se hace referencia a la figura 4, que es un diagrama de bloques simplificado de múltiples entornos informáticos que interaccionan a través de un gestor de delegación de acceso, de acuerdo con una realización preferida de la presente invención. El gestor de delegación de acceso 400 delega cada operación actual en el entorno informático adecuado, de tal modo que el contenido o los recursos se procesan de forma automática en el entorno informático correcto.
El gestor de delegación de acceso 400 recibe información a partir de los agentes 410, y monitoriza las operaciones de usuario. Cuando se detecta una operación de usuario 910 (por ejemplo, se abre un archivo), el gestor de delegación de acceso 400 determina el entorno informático en el que se debería realizar la operación, bloqueando posiblemente la operación original y solicitando que otro entorno realice la operación 920 (o al realizar una sustitución por una operación diferente si la operación original no se puede realizar en el entorno elegido).
El gestor de delegación de acceso 400 selecciona el entorno informático adecuado en función de una directiva de acceso, que se puede basar en criterios diferentes para tipos diferentes de operaciones. Por ejemplo, el entorno adecuado para procesar un archivo se puede determinar de acuerdo con el nombre, la extensión, el contenido, el propietario, el tipo de unidad, los permisos o cualesquiera otros metadatos del archivo (incluyendo el entorno informático en el que se creó el mismo, su origen, etc.) con los que se haya etiquetado el mismo. El entorno para el acceso de red se puede determinar de acuerdo con el dominio, el formato de dirección, el protocolo, los permisos de acceso o cualquier otra característica de comunicación.
5
10
15
20
25
30
35
40
45
50
55
Las operaciones de archivos delegadas pueden incluir, entre otros, procedimientos de ejecución y de cierre, y acceso a recursos de red. Dentro de los entornos basados en Windows, estas también pueden incluir la invocación de verbos de intérprete de comandos tales como hacer doble clic sobre un archivo, clic derecho, abrir archivos usando diálogos de archivos. El archivo se puede transferir al entorno delegado por cualquier procedimiento, o se puede acceder al mismo a través del sistema de archivos unificado si este componente se implementa en el sistema.
El acceso de red delegado puede incluir la navegación en sitios web y el acceso a cualquier recurso remoto o local usando cualquier protocolo.
A continuación se hace referencia a la figura 5, que es un diagrama de bloques simplificado de múltiples entornos informáticos que interaccionan a través de un filtro de transferencia de datos, de acuerdo con una realización preferida de la presente invención. El filtro de transferencia de datos 100 proporciona un control basado en directivas de la transferencia de datos entre entornos. A cada entorno 220 y 240 se le asigna una directiva de transferencia de datos que indica la transferencia de datos aya partir de cada uno de los otros entornos, proporcionando de este modo una directiva de transferencia específica para cada par posible de entornos.
La transferencia de datos 930 se puede permitir o bloquear, o puede requerir la transformación de datos de acuerdo con parámetros tales como: entorno de origen, entorno objetivo, tipo de los datos, origen de los datos, propietario de los datos, contenido de los datos, y cualesquiera metadatos con los que se hayan etiquetado los datos.
En la realización preferida, el filtro de transferencia de datos 100 incluye el transformador de datos 110, que transforma datos durante la transferencia, con el fin de cumplir con la directiva de transferencia de datos. La transformación puede incluir una conversión a otro formato, excluyendo, eliminando o extrayendo determinadas partes del mismo, cifrado / descifrado o reconstrucción de información.
El filtro de transferencia de datos 100 se puede aplicar para todos los canales de comunicación entre los entornos 220 y 240, incluyendo: operaciones de copiar y pegar, operaciones de arrastrar y soltar, transferir datos a partir de o a un dispositivo (tal como un soporte extraíble o una impresora), transferir datos que se obtienen a través de un canal de comunicación que se encuentra disponible en un entorno informático ya un entorno informático diferente, transferencia de archivos entre entornos informáticos usando el sistema de archivos unificado y sincronización de ajustes de usuario (que se analiza en lo sucesivo).
Haciendo referencia de nuevo a la figura 5, un sincronizador de ajustes de usuario 300 mantiene la consistencia de los ajustes de usuario en la totalidad de los múltiples entornos informáticos, al tiempo que se evita la distribución de datos que pudieran perjudicar al aislamiento del entorno. Por lo general, cada entorno informático tiene un grupo de ajustes 310, que pueden ser diferentes de los ajustes equivalentes en un entorno informático diferente. Con el fin de proporcionar una experiencia de usuario unificada, estos ajustes se han de unificar (es decir, sincronizar y / o combinar) en un grupo unificado de ajustes que son de aplicación por la totalidad de los entornos informáticos. En la realización preferida se usan los ajustes del sistema base como la base para la unificación, y los ajustes de los otros entornos informáticos se sincronizan con los del sistema base. Como alternativa, los ajustes de uno de los otros entornos informáticos se pueden usar como la base para unificar los ajustes. Son ejemplos de los ajustes de usuario para el sistema operativo Windows: impresora por defecto, página de inicio por defecto, favoritos, ubicación de carpetas especiales (tales como Mis Documentos y Mis Imágenes), y ajustes para aplicaciones de usuario (tales como iniciales, libreta de direcciones, esquemas de color, etc.)
La unificación de los ajustes entre los diversos entornos informáticos se controla por medio del sincronizador de ajustes de usuario 300 de acuerdo con una directiva de sincronización. La directiva de sincronización se puede aplicar en dos niveles - por entorno y / o por ajuste - y puede permitir la sincronización de los ajustes entre cualquier par de entornos, bloquear la sincronización o permitir la sincronización después de transformar los ajustes según sea requerido por el filtro de transferencia de datos 100.
Los procedimientos de unificación pueden incluir una sincronización unidireccional o bidireccional entre los entornos 220 y 240, y aplicar los cambios en tiempo real, a petición o como una tarea programada. La unificación de ajustes también se puede realizar tras la creación o terminación de un entorno informático.
A continuación se hace referencia a la figura 6, que es un diagrama de bloques simplificado de múltiples entornos informáticos que interaccionan a través de un gestor de ejecución de aplicaciones, de acuerdo con una realización preferida de la presente invención. El gestor de ejecución de aplicaciones 500 posibilita que un usuario o administrador integre aplicaciones seleccionadas en el entorno base, al posibilitar que el usuario desencadene la ejecución de una aplicación 520 que está instalada en un entorno informático diferente del entorno base.
En muchos casos, un usuario (o administrador) requiere que una aplicación que está instalada en un entorno informático se encuentre disponible para su ejecución a partir de otro entorno informático (una aplicación que se pone a disposición de otros entornos informáticos se denomina aplicación publicada). En este caso, un comando de ejecución único 950 es creado por el gestor de ejecución 500. Este comando se encuentra disponible en el otro entorno informático (o entornos informáticos seleccionados). Cuando se usa el comando de ejecución 950, la aplicación publicada se ejecuta en el entorno 240 o 260 en el que la reside misma.
5
10
15
20
25
30
35
40
45
50
55
El comando de ejecución 950 se puede desencadenar de cualquier forma de ejecución convencional: usando una línea de comandos, un atajo, una interfaz de usuario hecha a medida, o un menú de usuario tal como el menú de inicio de Windows.
El comando de ejecución 950 puede aceptar parámetros que se transfieren a la aplicación publicada 520 original tras la ejecución. Los tipos de archivo se pueden asociar con una aplicación publicada 520, y los archivos de este tipo se pueden procesar por medio de la aplicación publicada incluso aunque cada uno de la aplicación y el archivo residen en un entorno informático diferente.
En la realización preferida, un administrador publica las aplicaciones deseadas a partir de cada entorno en el entorno base, posibilitando de este modo que el usuario inicie estas aplicaciones usando los procedimientos de ejecución convencional en el entorno base.
A continuación se hace referencia a la figura 7, que es un diagrama de bloques simplificado de múltiples entornos informáticos que interaccionan a través de un unificador de escritorios, de acuerdo con una realización preferida de la presente invención. El unificador de escritorios 600 incorpora la interacción del usuario con todas las aplicaciones activas 620 en los entornos informáticos 220, 240 y 260 diferentes, en el escritorio 610 del sistema base (que, en el presente documento, se denomina escritorio base). La integración puede incluir una integración de ventanas ininterrumpida, integración de control de aplicaciones e integración de control y de ajustes de escritorio y / o de entradas, tal como se explica en lo sucesivo. El escritorio base 610 puede incluir aspectos de escritorio tales como la barra de tareas, imagen en segundo plano, ajustes de representación activos, gestor de aplicaciones, iconos de bandeja, estado de entrada (tal como Bloq Num), y otros.
El proceso de unificación posibilita que las ventanas de la totalidad de los entornos informáticos funcionen visualmente como ventanas locales (una integración de ventanas ininterrumpida). Preferiblemente, todas las ventanas en el escritorio unificado aparecen en la barra de tareas con icono, título y estatus de actividad, y realizan acciones, tales como minimizar, maximizar, restablecer y cerrar una ventana, tanto cuando son desencadenadas por una aplicación en cualquier entorno informático, o según se controlan a partir de la ventana o la barra de tareas dentro del entorno base 220.
Las operaciones tales como cerrar una ventana o atajos de teclado (por ejemplo, alt - tab, win - m, ctrl - alt - esc en el sistema operativo Windows) que tienen lugar en el entorno base 220 y se presentan en el escritorio base 610, funcionan según lo esperado a partir de un único escritorio (por ejemplo, win - m minimizará la totalidad de las ventanas en todos los entornos informáticos, alt - tab alternará entre las ventanas de todos los entornos informáticos, etc.). De forma similar, los estados de entrada de usuario (tales como estado de Bloq Num y estado de Bloq Mayús) se aplican de manera uniforme a todas las ventanas, en función del estado de entrada de usuario del entorno base 220, y se sincronizan con el entorno base cuando se cambian en uno cualquiera de los entornos.
Los menús u objetos gráficos, tales como iconos de bandeja que son creados por aplicaciones, aparecen como si estos existieran visualmente en el escritorio base 610, y cualquier operación 990 que se realice sobre estos objetos se delega de vuelta al entorno 240 o 260 de origen. Preferiblemente, el unificador de escritorios 600 incorpora los iconos de bandeja de otros entornos informáticos (y su texto de información sobre herramientas y gráfico de icono) en el área de iconos de bandeja del entorno base. Preferiblemente, la interacción del usuario con la totalidad de los iconos de bandeja (por ejemplo, realizando una acción de menú de contexto o haciendo doble clic) se realiza de manera uniforme, con independencia del entorno de origen de un icono dado. Preferiblemente, los ajustes de escritorio, tales como el tema del escritorio, el tamaño de fuente y el área de trabajo, son establecidos por el entorno base.
Preferiblemente, las aplicaciones activas 620 de los entornos creados por máquinas virtuales encima de una única estación de trabajo física 240 y 260 se integran visualmente en el escritorio base 610. Las ventanas de la máquina virtual funcionan visualmente como ventanas locales (es decir, una integración de ventanas ininterrumpida). Preferiblemente, las aplicaciones de la máquina virtual aparecen en la barra de tareas del escritorio base con icono, título y estatus de actividad, y realizan acciones tales como minimizar, maximizar y cerrar cuando se desencadenan a partir del entorno informático 240 y 260 original o a partir de la ventana o la barra de tareas dentro del entorno base 220.
Con el fin de permitir una experiencia de usuario familiar y un comportamiento mejor cuando se representa vídeo o gráficos muy exigentes en el interior de un entorno virtual, preferiblemente se realiza una integración de ventanas ininterrumpida de una forma fuera de banda. La integración fuera de banda tiene lugar sin interpretar los datos gráficos del entorno, y dependiendo de la representación directa del motor de virtualización (por ejemplo, VMWare Player o Microsoft Virtual PC) del escritorio de máquina virtual encima de la representación del entorno base.
Una integración de ventanas ininterrumpida fuera de banda se puede implementar por medio del siguiente procedimiento. Cuando se inicia un entorno informático virtual, la ventana de máquina virtual se crea y se actualiza por medio del motor de virtualización (por ejemplo, VMWare Player o Microsoft Virtual PC) para incluir el escritorio de la máquina virtual. El unificador de escritorios 600 no representa el escritorio de máquina virtual al ocultar la ventana de máquina virtual. En su lugar, siempre que una ventana de aplicación se deba representar en la máquina virtual, el
5
10
15
20
25
30
35
40
45
50
55
agente en ejecución en el interior de la VM mide el área (la ubicación, la anchura y la altura) de la ventana y envía esta información de metadatos al supervisor de unificación. El supervisor de unificación representa, a su vez, la ventana de máquina virtual al usuario, pero recorta (cercena) el área de ventana original para encajar solo con el área apropiada de la ventana de aplicación, y oculta el resto de la ventana de máquina virtual. El resultado es que la aplicación se contempla en la pantalla del usuario de forma similar a cualquier otra ventana de aplicación en ejecución en el escritorio del usuario.
Cuando se van a representar ventanas adicionales, los agentes de todos los entornos informáticos relevantes envían de forma similar la información de área de la totalidad de las ventanas al supervisor de unificación que, a su vez, extiende el área recortada (el área visible por el usuario) con el fin de unir la totalidad de las áreas de las ventanas, mostrando solo las porciones relevantes. Mediante la aplicación del mismo proceso a varios entornos informáticos, los escritorios de múltiples entornos informáticos se integran en el escritorio base.
Con el fin de soportar el foco y el orden Z de las ventanas a partir de entornos diferentes (dando al usuario la ilusión de ventanas que cubren otras ventanas y un orden entre las diferentes ventanas), el agente de entorno base también puede cambiar el recorte de una ventana de máquina virtual de acuerdo con el orden Z de la ventana; ocultando las áreas de una ventana en ejecución en el entorno diferente que debería cubrir la ventana de máquina virtual.
Con el fin de proporcionar un botón de barra de tareas para cada aplicación / ventana que se ejecuta en un entorno que no sea el escritorio base, y para soportar la minimización, la maximización y la activación de esta ventana, se presenta el concepto de una ventana de tipo instantánea. Para cualquier ventana que exista en el interior de un entorno informático que no sea el escritorio base, preferiblemente se crea una ventana de tipo instantánea en el escritorio base, de tal modo que aparece una entidad de barra de tareas con el icono y el texto correlativos. Cualquier operación que se realiza sobre la ventana de tipo instantánea siempre se refleja en la ventana de entorno correlativa (por ejemplo, cuando la ventana de tipo instantánea se maximiza, se minimiza, se activa, se restablece o se cierra, se realiza la misma acción sobre su ventana correlativa, y viceversa). Esto también permite el comportamiento familiar de un mecanismo de control de escritorio general tal como minimizar la totalidad de las ventanas (la tecla Win - m en Windows de Microsoft), conmutar entre aplicaciones (la combinación de teclas alt + tab en Windows de Microsoft), etc.
Los menús u objetos gráficos tales como iconos de bandeja que son creados por aplicaciones aparecen, preferiblemente, como si los mismos existieran visualmente en el escritorio base 610, y cualquier operación que se realice sobre los mismos se delega de vuelta al entorno 240 o 260 de origen.
Para soportar la unificación de iconos de bandeja, se aplica un concepto similar de icono de bandeja de tipo instantánea. Para cada icono de bandeja que se presenta en un entorno que no sea el entorno base, se crea un icono de bandeja de tipo instantánea en el entorno base. El icono de bandeja de tipo instantánea siempre está sincronizado en cuanto a la imagen del icono, el texto de información sobre herramientas y el estado con su icono de bandeja correlativo en el entorno relevante. Cualquier acción que se realice sobre el icono de bandeja de tipo instantánea se realiza de forma automática asimismo sobre el icono de bandeja original. Esto incluye hacer clic sobre el icono, mover el puntero por encima del icono, hacer doble clic sobre el icono, hacer clic derecho sobre el icono, ocultar el icono, cambiar el texto o la imagen del icono de bandeja, y así sucesivamente.
Preferiblemente, cualquier estado de escritorio o estado de entrada que se encuentre activo en el escritorio base se sincroniza de forma automática con la totalidad de los otros entornos (en el caso del sistema operativo Windows, este puede incluir estado de Bloq Num, estado de Bloq Mayús, propiedad de ventana activa, resolución de pantalla activa, área de trabajo activa, idioma activo, etc.)
A pesar de que están integradas en el escritorio base 610, las ventanas activas 620 a partir de entornos diferentes se pueden diferenciar visualmente, por ejemplo por medio de un icono o recuadro de color.
Cuando se integran en un sistema, los componentes que se han descrito en lo que antecede crean un entorno de trabajo unificado que se construye sobre entornos informáticos separados. El entorno de trabajo unificado se beneficia de las ventajas de mantener los atributos de los entornos informáticos individuales, y la cantidad requerida de aislamiento y seguridad entre los entornos informáticos, al tiempo que se mantiene una experiencia de usuario similar a un sistema de un único entorno. Por lo tanto, se libera al usuario de la necesidad de conmutar entre entornos, de entender la estructura interna del sistema o de recordar a qué recursos, datos y aplicaciones se debería acceder a partir de cada entorno.
En la realización preferida, se usa una consola de gestión para controlar y gestionar los múltiples agentes y / o el supervisor de unificación, posiblemente para su uso por parte de un administrador de sistemas.
A continuación se hace referencia a la figura 8, que es un diagrama de bloques simplificado de un procedimiento para integrar múltiples entornos informáticos en un único entorno unificado, de acuerdo con una realización preferida de la presente invención. Los múltiples entornos informáticos se encuentran disponibles para su uso simultáneo por un único usuario, en un entorno unificado.
5
10
15
20
25
30
35
40
45
50
En la etapa 81, se monitoriza la información recibida a partir de cada uno de los entornos informáticos. La información describe el estatus en curso del entorno respectivo. El término estatus tiene por objeto describir todos los aspectos del entorno informático que están implicados en la incorporación de los otros entornos informáticos en el entorno base. Preferiblemente, tal información incluye información acerca de las aplicaciones actuales, estructuras de datos, operaciones de usuario, ajustes y así sucesivamente. La información acerca de un entorno informático dado puede ser proporcionada por un agente que está instalado en el entorno informático.
En la etapa 82, se realiza una orientación centralizada de los múltiples entornos informáticos de acuerdo con la información recibida, y con directivas designadas para dotar al usuario del entorno unificado.
Preferiblemente, el procedimiento incluye adicionalmente gestionar los entornos informáticos de acuerdo con la orientación centralizada (la etapa 83).
Este proceso se realiza repetidamente para proporcionar una unificación y ejecutabilidad continua de los múltiples entornos informáticos en el entorno base, dotando de este modo al usuario de un entorno de trabajo unificado.
La orientación centralizada puede incluir realizar una o más de las siguientes etapas:
1. Incorporar los sistemas de archivos de los otros entornos informáticos en el sistema de archivos base (preferiblemente, de acuerdo con una directiva de permisos).
2. Delegar operaciones en un entorno informático adecuado (que, preferiblemente, se selecciona de acuerdo con una directiva de acceso).
3. Controlar la transferencia de datos entre los entornos informáticos (preferiblemente, de acuerdo con una directiva de transferencia de datos).
4. Transformar datos que se están transfiriendo entre los entornos informáticos.
5. Mantener la consistencia de los ajustes de usuario entre los entornos informáticos, preferiblemente de acuerdo con una directiva de sincronización.
6. Posibilitar la ejecución de aplicaciones a partir de los entornos informáticos diferentes.
7. Integrar los escritorios de entorno informático en el escritorio del entorno base, formando de este modo un escritorio unificado.
Preferiblemente, al menos uno de los entornos informáticos es una máquina virtual.
Una realización preferida adicional de la presente invención es un agente que se coloca en un entorno informático, con el fin de permitir que el entorno informático interaccione con un sistema de unificación. El agente incluye una unidad de recopilación de información que recopila información acerca del estatus en curso del entorno informático, y un proveedor de información que emite la información recopilada al sistema de unificación.
Se espera que, durante la vigencia de la presente patente, se desarrollen muchos entornos informáticos, sistemas operativos, sistemas de archivos, operaciones informáticas y aplicaciones relevantes, y el ámbito de las expresiones correspondientes tiene por objeto incluir la totalidad de tales nuevas tecnologías a priori.
Objetos, ventajas y características novedosas adicionales de la presente invención se volverán evidentes a un experto en la materia tras el examen de los siguientes ejemplos, que no se tiene por objeto que sean limitantes. Adicionalmente, cada una de las diversas realizaciones y aspectos de la presente invención tal como se ha bosquejado en lo que antecede en el presente documento y tal como se reivindica en la sección de reivindicaciones en lo sucesivo halla soporte experimental en los siguientes ejemplos.
Ejemplos
A continuación se hace referencia a los siguientes ejemplos, que, junto con las descripciones, ilustran la invención de una forma no limitante.
Lo siguiente presenta dos realizaciones a modo de ejemplo. Cada realización incluye un subconjunto de los componentes que se han descrito en lo que antecede, para crear un sistema que posibilite que un usuario trabaje de forma concurrente en múltiples entornos informáticos al tiempo que los mismos se integran de forma transparente en un entorno unificado.
A continuación se hace referencia a la figura 9, que es un diagrama de bloques simplificado de un sistema a modo de ejemplo que posibilita que un usuario acceda a dos entornos informáticos, al tiempo que se proporciona una integración transparente entre esos dos entornos.
En el presente ejemplo, se definen dos entornos informáticos:
1. El Entorno A 220 es una instancia de sistema operativo que está asignada a una estación de trabajo física, y sirve como el entorno base (que proporciona el escritorio base y el sistema de archivos base).
2. El Entorno B 260 es un entorno virtual, en aras de un ejemplo creado por VMWare Player, en ejecución dentro de la misma estación de trabajo física que el Entorno A 220, con otra instancia del sistema operativo convencional. El Entorno B 260 es capaz de ejecutar aplicaciones y procesar unidades de datos. El Entorno B
5
10
15
20
25
30
35
40
45
50
260 es un entorno seguro y separado y, por defecto, ninguna entidad externa, incluyendo el Entorno A 220, tiene acceso a su sistema operativo, datos, aplicaciones, red o procesos en ejecución. Por lo tanto, el Entorno B 260 funciona como un entorno informático separado.
El Entorno A 220 sirve para el uso personal del día a día y operaciones empresariales no reguladas o no confidenciales, mientras que el Entorno B 260 sirve para acceder a uno o más servicios internos, aplicaciones y / o datos definidos, y para realizar tareas orientadas a empresas que, potencialmente son confidenciales o delicadas.
La creación del Entorno B 260 de la forma descrita podría ser un resultado de varios aspectos empresariales, de gestión o normativos con el fin de:
1. Mantener el Entorno B 260 seguro frente a amenazas externas de seguridad tales como virus, caballos de Troya y gusanos.
2. Separar la conectividad de Internet disponible en el Entorno A 220 con respecto a las operaciones empresariales del Entorno B 260.
3. Cumplir con regulaciones o contratos que requieren que determinados flujos de trabajo, servicios o datos se separen de cualquier otro flujo de trabajo de usuario, con el fin de mantenerse restringidos y auditados.
El filtro de transferencia de datos 100 se aplica para controlar la transferencia de datos entre los entornos, y se establece una directiva de transferencia de datos. En aras del presente ejemplo, la directiva de transferencia de datos para operaciones de portapapeles y de arrastrar y soltar entre los dos entornos consiste en:
1. La transferencia de datos desde el Entorno A 220 hasta el Entorno B 260 se permite solo con una transformación a texto o formato de mapa de bits, para reducir al mínimo los riesgos de seguridad y de código malicioso.
2. Se prohíbe la transferencia de datos desde el Entorno B 260 hasta el Entorno A 220, para evitar la fuga de datos confidenciales.
La impresión a partir del Entorno B 260 se permite después de la recepción de la confirmación de un administrador.
El Entorno A 220 se define como el entorno base para el sistema de archivos unificado 700. De este punto en adelante, el sistema de archivos unificado 700 es usado por el Entorno B 260 para acceder a, crear o anular unidades de datos de usuario.
De acuerdo con una directiva de etiquetado de datos, todas las unidades de datos que se originan a partir del Entorno A 220 o uno de sus recursos accesibles (ya sean archivos, correo electrónico o cualquier otra unidad de datos) se etiquetan como normales, y todas las unidades de datos que se originan a partir del Entorno B 260 se etiquetan como confidenciales.
Los archivos que se etiquetaron como confidenciales se diferencian visualmente por medio de una marca de cerradura en su icono de archivo, y también se pueden cifrar por medio del sistema de archivos unificado 700 cuando se escriben los mismos en el sistema de archivos base en el Entorno A 220.
Una directiva de permisos se establece y se hace cumplir por medio del sistema de archivos unificado 700.
En aras del presente ejemplo, el sistema de archivos unificado 700 posibilita lo siguiente:
1. La unidad D del sistema de archivos del Entorno B se integra en el sistema de archivos base del Entorno A como una unidad D. Por lo tanto, cualquier acceso a la unidad D por parte de una aplicación en ejecución en el Entorno B se verá reflejado en la unidad D correspondiente del sistema de archivos base en el Entorno A.
2. La unidad C del sistema de archivos del Entorno B no se integra en el sistema de archivos base. Por lo tanto, ningún acceso a la unidad C por parte de una aplicación en ejecución en el Entorno B se verá reflejado en el sistema de archivos base.
3. Operaciones de lectura, escritura y eliminación que se realizan por medio del Entorno B 260 sobre archivos que se han etiquetado como normales por medio del sistema de archivos unificado están sujetas a directivas de permisos.
4. Cualquier archivo que se etiquete como confidencial (creado o cambiado por el Entorno B) se cifra y, por lo tanto, no es accesible a través del Entorno A.
La directiva de permisos asegura que, a pesar de que todos los archivos son visibles para navegar a través de ambos entornos 220 y 260, se establece una directiva para permitir leer y escribir archivos que se etiquetan como confidenciales solo a través del Entorno B 260. El Entorno A 220 puede leer físicamente los archivos pero no puede procesar los mismos, debido a que estos están cifrados. Por otro lado, puede que el Entorno B 260 no pueda leer, escribir o eliminar cualquier archivo que se etiquete como normal (el sistema de archivos unificado 700 bloqueará un intento de este tipo).
Cuando se realiza un intento de procesar un archivo, que está etiquetado como confidencial, la operación se detecta por medio del gestor de delegación de acceso 400, y se examina la etiqueta. Entonces, el gestor de delegación de
5
10
15
20
25
30
35
40
45
50
55
acceso 400 delega la operación para su procesamiento adicional por el Entorno B 260.
Para hacer la totalidad del flujo de trabajo transparente al usuario, se aplica el unificador de escritorios 600, y el escritorio del Entorno A 220 se usa como el escritorio base 610. Cualesquiera ventanas activas 620 que aparecen encima del Entorno B 260 se detectan por medio del unificador de escritorios 600 y se integran visualmente en el escritorio 610 del Entorno A. Por lo tanto, las ventanas del Entorno B funcionan visualmente como ventanas locales, aparecen en la barra de tareas con icono, título y estatus de actividad, y realizan acciones de ventanas convencionales (tales como maximizar y minimizar) cuando se desencadenan. Cualquier cambio realizado en la ventana activa del Entorno B se delega en el Entorno B 260 y es procesado por el mismo. Todos los estados de entrada, de teclado y de ratón se sincronizan entre los entornos diferentes. La totalidad de los atributos de escritorio tales como la resolución de pantalla, el tamaño de fuente y el área de trabajo activa se cambian de forma automática en el Entorno B 260 para encajar con el escritorio 610 del Entorno A.
El acceso a la intranet de la organización está asignado al Entorno B 260 en el presente ejemplo. Por lo tanto, cuando se intenta abrir un URL o un enlace a una ubicación de intranet, la operación se detecta por medio del gestor de delegación de acceso 400 y la ubicación del URL solicitado se determina como la intranet. Entonces, la operación se delega en un navegador que reside sobre el Entorno B 260.
El acceso a Internet, por otro lado, solo se permite a través del Entorno A 220, y un intento de abrir un URL que está asociado con Internet se delegará por medio del gestor de delegación de acceso 400 en el navegador que reside sobre el Entorno A 220.
Otra forma de acceder a aplicaciones designadas de una organización, en aras del presente ejemplo una aplicación de recursos humanos (rR. HH.) 520, es a través del gestor de ejecución de aplicaciones 500. La aplicación de RR. HH. 520 reside en el Entorno B 260, y se le asigna un comando de ejecución único. Cuando este comando es ejecutado por el usuario usando un atajo de menú de inicio, el comando se delega en el Entorno B 260 para la ejecución de la aplicación de RR. HH. 520.
En el presente ejemplo, en aras de la comodidad del usuario, el administrador también crea un atajo encima del escritorio base 610 que desencadena el comando de ejecución. Presionar el atajo desencadena la ejecución de la aplicación de RR. HH. 520 encima del Entorno B 260. Unificador de escritorios 600 asegura que las ventanas activas de la aplicación de RR. HH. 620 se integran de forma ininterrumpida en el escritorio 610 del Entorno A, con independencia del hecho de que la propia aplicación resida en un entorno diferente.
Con el fin de proporcionar una experiencia de usuario carente de problemas, se aplica un sincronizador de ajustes de usuario 300 para asegurar que ajustes personales tales como favoritos de navegador, página de inicio, etc. se sincronizan entre los entornos. A pesar de que los navegadores aparentan ser iguales, la directiva de acceso que se hace cumplir por medio del gestor de delegación de acceso 400 permite que cada entorno acceda solo a su contenido designado, y la operación se delega en un entorno diferente cuando sea necesario.
También se aplica una directiva de sincronización, evitando la sincronización de ajustes que podrían presentar un riesgo de seguridad para el Entorno B 260, tales como contraseñas almacenadas y el historial de autocompletar del navegador. Por lo tanto, los cambios en estos elementos de ajustes en el Entorno B 260 no se sincronizarán con el Entorno A 220.
Las unidades de datos que se descargan de Internet se etiquetan como normales. Un intento de copiar datos en el Entorno B 260 usando el portapapeles desencadenará el filtro de transferencia de datos 100. Entonces, la etiqueta y el formato del archivo se examinan y se comparan con la directiva de transferencia de datos, dando como resultado una solicitud de transformar los datos a un formato de texto o de imagen. La transformación se realiza por medio del transformador de datos 110, y los datos se copian en el Entorno B 260 en el formato transformado.
Para evitar la fuga de datos confidenciales, cualquier intento de copiar datos a partir del Entorno B 260 en el Entorno A 220 usando el portapapeles se detecta por medio del filtro de transferencia de datos 100, que examina la etiqueta 'confidencial'. La operación se bloquea y se audita de acuerdo con la directiva de transferencia de datos.
De esta forma, se logra una transferencia de datos entre entornos sin perjudicar a la seguridad de entornos confidenciales tales como el Entorno B 260, al tiempo que se proporciona una experiencia de usuario carente de problemas que se asemeja a un único entorno unificado.
A continuación se hace referencia a la figura 10, que es un diagrama de bloques simplificado de un sistema a modo de ejemplo que posibilita que un usuario acceda de forma ininterrumpida a cuatro entornos informáticos.
En aras del presente ejemplo, se crean cuatro entornos informáticos:
1. El Entorno A 220 es una instancia de sistema operativo que está asignada a una estación de trabajo física, y que ejecuta un sistema operativo convencional tal como Windows XP de Microsoft. El Entorno A sirve como el entorno base.
2. El Entorno B 240 es un entorno virtual, en aras de un ejemplo creado por VMWare, dentro de la misma
5
10
15
20
25
30
35
40
45
50
55
estación de trabajo física que el Entorno A, y que ejecuta otra instancia de Windows XP de Microsoft.
3. El Entorno C 260 es un entorno virtual, en aras de un ejemplo creado por Microsoft Virtual PC dentro de la misma estación de trabajo física que el Entorno A, y que ejecuta una versión más antigua de sistema operativo tal como Windows 98 de Microsoft.
4. El Entorno D 280 es un entorno de escritorio remoto, en aras de un ejemplo creado por Citrix o Terminal Services.
Estos múltiples entornos informáticos se pueden crear con el fin de solucionar una o más de las siguientes necesidades de TI, tal como se describe en la sección de antecedentes:
1. Uso simultáneo de aplicaciones que se ejecutan en sistemas operativos diferentes.
2. Uso simultáneo de aplicaciones que no pueden coexistir en el mismo entorno.
3. La necesidad de acceder a entornos heredados.
4. Estabilidad
5. Independencia de la TI
En aras del presente ejemplo, a los múltiples entornos informáticos se les asignan las siguientes funciones:
1. El Entorno A 220 se usa para el uso empresarial del día a día, y para ejecutar la aplicación de soporte de clientes A 550 para un primer conjunto de clientes.
2. El Entorno B 240 se usa para ejecutar la aplicación de soporte de clientes B 520 para un conjunto diferente de clientes. Esta aplicación comparte los mismos recursos con la aplicación de soporte de clientes A 550, pero requiere una versión diferente de estos recursos. Esta es la razón por la que las dos aplicaciones no pueden coexistir en el mismo entorno.
3. El Entorno C 260 se usa para ejecutar una aplicación de RR. HH. 530 que no es compatible con sistemas operativos como los del Entorno A 220 o B 240, y requiere el sistema operativo del entorno C 260.
4. El Entorno D 280 se usa para acceder al entorno de gran sistema central 540 de la organización.
El Entorno A 220 se define como el entorno base para el sistema de archivos unificado 700 y unificador de escritorios 600, tal como se describe en el ejemplo anterior.
Debido a que los entornos informáticos no se están separando por fines de seguridad, se permite una transferencia de datos entre la totalidad de los entornos informáticos. No obstante, debido a que el entorno C 260 ejecuta una versión más antigua de sistema operativo, las unidades de datos en formatos que no eran soportados por Windows 98 de Microsoft (tal como la versión más nueva de Microsoft Office) se transforman a un formato de texto o de imagen por medio de un transformador de datos 110 antes de transferirse.
Observando que los entornos separados ejecutan múltiples aplicaciones con requisitos en conflicto, una directiva de permisos se hace cumplir por medio del sistema de archivos unificado 700 con el fin de evitar que tales aplicaciones compartan recursos de archivos tales como DLL o archivos de configuración, evitando de este modo todo conflicto entre las mismas. Esto se puede realizar mediante la exclusión, del sistema de archivos unificado 700, de determinadas rutas o tipos de archivo.
Además, el sistema de archivos unificado 700 separa los archivos creados por aplicaciones en conflicto, incluso si estos tienen la misma extensión o tipo de archivo. Para hacer esto, todas las unidades de datos creadas por una aplicación designada se etiquetan para indicar el entorno en el que se crearon las mismas. La directiva de permisos posibilita que cada entorno lea, escriba y elimine solo aquellos archivos que sean etiquetados por su propia aplicación residente.
La ejecución de una instancia específica de una aplicación, en aras del presente ejemplo para atender a un cliente que es soportado por la aplicación de soporte de clientes B 520, se realiza a través del gestor de ejecución de aplicaciones 500. El gestor de ejecución de aplicaciones 500 crea un comando de ejecución único tal como se describe en el ejemplo anterior. Entonces, se crean enlaces a cada instancia de la aplicación 520 designada dentro del entorno base de escritorio (en este caso, el Entorno A 220). Estos enlaces se pueden colocar en el escritorio del entorno base, el menú de inicio y / o dentro de un menú de iconos de bandeja.
Cuando el usuario intenta acceder a una unidad de datos, el procesamiento se delega en el entorno correcto por medio del gestor de delegación de acceso 400.
En aras del presente ejemplo, una unidad de datos que es creada por la aplicación de soporte de clientes B 520 se etiqueta (o tiene una extensión de archivo única). Por lo tanto, un intento de acceder a la unidad de datos desencadena el gestor de delegación de acceso 400. El entorno de procesamiento se determinará como el Entorno B 240 en el que reside la aplicación de soporte de clientes B 520, y la operación se delegará en el mismo.
También se aplica un sincronizador de ajustes de usuario 300, manteniendo la consistencia de los ajustes entre entornos. Por ejemplo, un cambio en la impresora por defecto a través del entorno C 260 se detecta por medio del sincronizador de ajustes de usuario 300 y se compara con la directiva de sincronización. En aras del presente ejemplo, no se aplica restricción de seguridad alguna a los ajustes de usuario y, por lo tanto, se permite la
sincronización y el cambio se hace en la impresora por defecto de la totalidad de los otros entornos 220, 240 y 280.
Las realizaciones que se han descrito en lo que antecede posibilitan la creación de entornos informáticos capaces de ejecutar múltiples instancias de sistemas operativos y aplicaciones, al tiempo que se proporciona una experiencia de usuario que se asemeja a trabajar en un único entorno unificado.
5 Se aprecia que determinadas características de la invención que, por claridad, se describen en el contexto de realizaciones separadas, también se pueden proporcionar en combinación en una única realización. A la inversa, diversas características de la invención que, por brevedad, se describen en el contexto de una única realización, también se pueden proporcionar por separado o en cualquier subcombinación adecuada.
A pesar de que la invención se ha descrito junto con realizaciones específicas de la misma, es evidente que muchas 10 alternativas, modificaciones y variaciones serán obvias a los expertos en la materia. En consecuencia, se tiene por objeto abarcar la totalidad de aquellas alternativas, modificaciones y variaciones que caigan dentro del amplio ámbito de las reivindicaciones adjuntas. Todas las publicaciones, patentes y solicitudes de patente que se mencionan en la presente memoria descriptiva se incorporan en el presente documento en su totalidad por referencia en la memoria descriptiva, en la misma medida que si se hubiera indicado concreta e individualmente que 15 cada publicación, patente o solicitud de patente individual se incorporara en el presente documento por referencia. Además, no se ha de interpretar la mención o identificación de referencia alguna en la presente solicitud como una admisión de que tal referencia se encuentre disponible como técnica anterior de la presente invención.
Claims (15)
- 51015202530354045505560REIVINDICACIONES1. Un sistema de supervisión de unificación para integrar una pluralidad de entornos informáticos (12.1 - 12.n), en el que dicha pluralidad de entornos informáticos se encuentran disponibles para su uso simultáneo por un único usuario, comprendiendo cada uno de dichos entornos informáticos un agente propio de una pluralidad de agentes, estando configurado cada agente propio de dicha pluralidad de agentes para proporcionar información con respecto a su entorno informático respectivo y para gestionar dicho entorno informático respectivo según sea indicado por dicho supervisor de unificación, en el que uno de dicha pluralidad de entornos se selecciona como un entorno base (12.1, 220), en el que dicho supervisor de unificación (16) se encuentra en comunicación con dicha pluralidad de agentes, estando configurado dicho supervisor de unificación para recibir dicha información a partir de dicha pluralidad de agentes, para realizar una orientación centralizada de dicha pluralidad de entornos informáticos de acuerdo con dicha información recibida y con el fin de incorporar entornos informáticos que no sean dicho entorno base en dicho entorno base, y para emitir instrucciones a dicha pluralidad de agentes para llevar a cabo dicha orientación, para dotar de ese modo a dicho usuario de un entorno de trabajo unificado, yen el que dicho supervisor de unificación comprende un sincronizador de ajustes de usuario (24, 300) que está configurado para mantener la consistencia de los ajustes de usuario entre dicho entorno base y dichos entornos informáticos que no sean dicho entorno base mediante la sincronización de los ajustes de usuario de dichos entornos informáticos que no sean dicho entorno base con los ajustes de usuario de dicho entorno base.
- 2. Un sistema de supervisión de unificación de acuerdo con la reivindicación 1, en el que al menos uno de dichos entornos informáticos comprende un entorno virtual, o en el que dicho entorno base comprende un entorno anfitrión de usuario y al menos uno de dicha pluralidad de entornos informáticos comprende un entorno virtual en ejecución encima de dicho entorno anfitrión de usuario, o en el que al menos uno de dichos entornos informáticos comprende un escritorio remoto (12.n), o en el que al menos dos de dichos entornos informáticos operan con sistemas operativos diferentes, o en el que al menos uno de dicho supervisor de unificación y dichos agentes se puede ejecutar adicionalmente para etiquetar datos mediante la adición de metadatos, o en el que dicho supervisor de unificación comprende un gestor de ejecución de aplicaciones que está configurado para posibilitar la ejecución de una aplicación de un entorno informático que no sea dicho entorno base a partir de dicho entorno base.
- 3. Un sistema de supervisión de unificación de acuerdo con la reivindicación 1, en el que dicho supervisor de unificación comprende un unificador de sistemas de archivos, y en el que dicho unificador de sistemas de archivos está configurado para incorporar los sistemas de archivos respectivos de dichos entornos informáticos que no sean dicho entorno base en un sistema de archivos de dicho entorno base, y para posibilitar el acceso a dicho sistema de archivos de dicho entorno base a partir de dichos entornos informáticos que no sean dicho entorno base, dotando de ese modo a dicho usuario de un acceso unificado a un sistema de archivos respectivo de cada uno de dicha pluralidad de entornos informáticos, pudiendo ejecutarse opcionalmente dicho unificador de sistemas de archivos para hacer cumplir una directiva de permisos para el acceso a archivos por cada uno de dicha pluralidad de entornos informáticos.
- 4. Un sistema de supervisión de unificación de acuerdo con la reivindicación 3, en el que dicho unificador de sistemas de archivos comprende un transformador de archivos, que está configurado para transformar archivos que se están transfiriendo entre dicho sistema de archivos de dicho entorno base y un sistema de archivos de otro de dicha pluralidad de entornos informáticos, o en el que dicha directiva de permisos es de acuerdo con parámetros de acceso a archivos que comprenden al menos uno de un grupo que consiste en: un tipo de archivo, una carpeta, un tipo de unidad, una ruta, un usuario, un entorno en el que se creó el archivo, un entorno en el que se modificó por última vez el archivo, y una etiqueta.
- 5. Un sistema de supervisión de unificación de acuerdo con la reivindicación 1, en el que dicho supervisor de unificación comprende un gestor de delegación de acceso que está configurado para delegar operaciones en uno adecuado de dicha pluralidad de entornos informáticos.
- 6. Un sistema de supervisión de unificación de acuerdo con la reivindicación 5, en el que dicho gestor de delegación de acceso está configurado adicionalmente para monitorizar las operaciones de usuario en dichos entornos informáticos, y para seleccionar un entorno adecuado para una operación de usuario actual de acuerdo con una directiva de acceso, o en el que dicho gestor de delegación de acceso está configurado adicionalmente para bloquear que una tarea de procesamiento se realice sobre un entorno informático no adecuado, o en el que dicho gestor de delegación de acceso está configurado para seleccionar un entorno adecuado para una operación de procesamiento de archivos actual de acuerdo con parámetros que comprenden al menos uno de un grupo que consiste en: nombre de archivo, extensión de archivo, contenido de archivo, propietario del archivo, tipo de unidad, tipo de archivo, permisos y una etiqueta, o en el que dicho gestor de delegación de acceso está configurado para seleccionar un entorno adecuado para una operación de acceso web actual de acuerdo con parámetros de selección de entornos que comprenden al menos uno de un grupo que consiste en: dominio, formato de dirección, protocolo, permisos de acceso, una etiqueta y características de comunicación.
- 7. Un sistema de supervisión de unificación de acuerdo con la reivindicación 1, en el que dicho supervisor de unificación comprende un filtro de transferencia de datos que está configurado para controlar operaciones de transferencia de datos entre dicha pluralidad de entornos informáticos de acuerdo con una directiva de transferencia510152025303540455055de datos.
- 8. Un sistema de supervisión de unificación de acuerdo con la reivindicación 7, en el que dicho filtro de transferencia de datos se puede ejecutar para bloquear una operación de transferencia de datos, o en el que dicho filtro de transferencia de datos comprende un transformador de datos, que está configurado para transformar datos que se están transfiriendo entre dicha pluralidad de entornos informáticos, o en el que una operación de transferencia de datos comprende uno de un grupo que consiste en: transferencia de archivos entre dicha pluralidad de entornos informáticos, operación de copiar, operación de pegar, operación de arrastrar y soltar, operaciones de impresión, transferencia de datos a un dispositivo, transferencia de datos a partir de un dispositivo, transferencia de datos a o a partir de un recurso y sincronización de ajustes de usuario.
- 9. Un sistema de supervisión de unificación de acuerdo con la reivindicación 1, en el que dicho sincronizador de ajustes de usuario está configurado para controlar dicho mantenimiento de la consistencia de los ajustes de usuario de acuerdo con una directiva de sincronización, aplicándose la directiva de sincronización de una forma por entorno o de una forma por ajuste.
- 10. Un sistema de supervisión de unificación de acuerdo con la reivindicación 1, en el que dicho supervisor de unificación comprende un gestor de ejecución de aplicaciones que está configurado para posibilitar la ejecución de una aplicación de un entorno informático que no sea dicho entorno base a partir de dicho entorno base, y en el que dicho gestor de ejecución de aplicaciones se puede ejecutar para establecer un comando de ejecución para ejecutar dicha aplicación dentro de dichos entornos informáticos que no sean dicho entorno base, de tal modo que dicha aplicación se ejecuta cuando dicho comando de ejecución se desencadena a partir de dicho entorno base.
- 11. Un sistema de supervisión de unificación de acuerdo con la reivindicación 1, en el que dicho supervisor de unificación comprende un unificador de escritorios que está configurado para incorporar escritorios respectivos de entornos informáticos que no sean dicho entorno base en un escritorio de dicho entorno base.
- 12. Un sistema de supervisión de unificación de acuerdo con la reivindicación 11, en el que dicho unificador de escritorios está configurado para combinar ventanas activas de dichos entornos informáticos en una imagen visual integrada, o en el que dicho unificador de escritorios está configurado para realizar dicha combinación fuera de banda o en el que dicho unificador de escritorios está configurado para incorporar barras de tareas de dichos entornos informáticos en una barra de tareas de dicho sistema base, o en el que dicho unificador de escritorios está configurado para proporcionar una entrada de usuario unificada y controles para dicho escritorio unificado, o en el que dicho unificador de escritorios está configurado para combinar iconos de bandeja de dichos múltiples entornos informáticos en un área de iconos de bandeja de dicho entorno de escritorio base o en el que dicho unificador de escritorios está configurado adicionalmente para sincronizar parámetros de escritorio en dichos entornos informáticos que no sean dicho entorno base con parámetros respectivos de dicho escritorio de dicho entorno base.
- 13. Un procedimiento para su uso en un sistema de supervisión de unificación (16) para integrar una pluralidad de entornos informáticos (12.1 - 12.n) en un único entorno unificado, en el que dicha pluralidad de entornos informáticos se encuentran disponibles para su uso simultáneo por un único usuario, y en el que uno de dicha pluralidad de entornos se selecciona como un entorno base (12.1, 220), que comprende:monitorizar la información recibida a partir de una pluralidad de agentes (14.1 - 14.n), en el que cada uno de dichos entornos informáticos (12.1 - 12.n) comprende un agente propio de dicha pluralidad, con respecto a un estatus en curso del entorno informático respectivo, en el que dicha información con respecto a un estatus en curso de un entorno informático de dicha pluralidad de entornos informáticos es proporcionada por el agente propio que está comprendido en el entorno informático;realizar una orientación centralizada de dicha pluralidad de entornos informáticos de acuerdo con dicha información recibida con el fin de incorporar entornos informáticos que no sean dicho entorno base en dicho entorno base;emitir instrucciones a dicha pluralidad de agentes para llevar a cabo dicha orientación, en el que cada agente propio está configurado para gestionar el entorno informático respectivo según sea indicado por el supervisor de unificación; ymantener la consistencia de los ajustes de usuario entre dicho entorno base y dichos entornos informáticos que no sean dicho entorno base mediante la sincronización de los ajustes de usuario de dichos entornos informáticos que no sean dicho entorno base con los ajustes de usuario de dicho sistema base, dotando de ese modo a dicho usuario de un entorno de trabajo unificado.
- 14. Un procedimiento de acuerdo con la reivindicación 13, en el que al menos uno de dichos entornos informáticos comprende un entorno virtual, o en el que uno de dicha pluralidad de entornos informáticos comprende un entorno informático físico de hospedaje que soporta dicho entorno virtual, o que comprende adicionalmente incorporar los sistemas de archivos respectivos de dichos entornos informáticos que no sean dicho entorno base en un sistema de archivos de dicho entorno base de acuerdo con una directiva de permisos, dotando de ese modo a dicho usuario de un acceso unificado a un sistema de archivos respectivo de cada uno de dicha pluralidad de entornos informáticos, o que comprende adicionalmente delegar operaciones en uno adecuado de dicha pluralidad de entornos informáticos, en el que se selecciona dicho entorno informático adecuado, o que comprende adicionalmente controlar latransferencia de datos entre dicha pluralidad de entornos informáticos, o que comprende adicionalmente transformar datos que se están transfiriendo entre dicha pluralidad de entornos informáticos.
- 15. Un soporte legible por ordenador que almacena instrucciones ejecutables por ordenador que, cuando son llevadas a cabo por un procesador, dan lugar a que el procesador realice el procedimiento de una de las 5 reivindicaciones 13 y 14.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US75903206P | 2006-01-17 | 2006-01-17 | |
US759032P | 2006-01-17 | ||
PCT/IL2007/000057 WO2007083299A2 (en) | 2006-01-17 | 2007-01-17 | Seamless integration of multiple computing environments |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2659651T3 true ES2659651T3 (es) | 2018-03-16 |
Family
ID=38288006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES07700748.2T Active ES2659651T3 (es) | 2006-01-17 | 2007-01-17 | Integración ininterrumpida de múltiples entornos informáticos |
Country Status (7)
Country | Link |
---|---|
US (1) | US8606895B2 (es) |
EP (1) | EP1977347B1 (es) |
JP (1) | JP5483884B2 (es) |
KR (1) | KR20080092432A (es) |
CN (1) | CN101583940B (es) |
ES (1) | ES2659651T3 (es) |
WO (1) | WO2007083299A2 (es) |
Families Citing this family (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9268518B2 (en) | 2011-09-27 | 2016-02-23 | Z124 | Unified desktop docking rules |
US9715252B2 (en) | 2011-08-24 | 2017-07-25 | Z124 | Unified desktop docking behavior for window stickiness |
US20130104062A1 (en) | 2011-09-27 | 2013-04-25 | Z124 | Unified desktop input segregation in an application manager |
US9678624B2 (en) | 2011-09-27 | 2017-06-13 | Z124 | Unified desktop triad control user interface for a phone manager |
US9529494B2 (en) | 2011-09-27 | 2016-12-27 | Z124 | Unified desktop triad control user interface for a browser |
US9405459B2 (en) | 2011-08-24 | 2016-08-02 | Z124 | Unified desktop laptop dock software operation |
US8244745B2 (en) | 2005-12-29 | 2012-08-14 | Nextlabs, Inc. | Analyzing usage information of an information management system |
CN101512490B (zh) | 2006-01-17 | 2013-11-20 | 基达罗(以色列)有限公司 | 在网络化环境中保护数据安全 |
US7853669B2 (en) | 2007-05-04 | 2010-12-14 | Microsoft Corporation | Mesh-managing data across a distributed set of devices |
US7912860B2 (en) * | 2007-06-25 | 2011-03-22 | Microsoft Corporation | Strongly typed tags |
US8296785B2 (en) * | 2007-10-12 | 2012-10-23 | International Business Machines Corporation | Providing links between application programs |
AU2008344947B2 (en) * | 2007-12-27 | 2013-10-17 | Safend Ltd. | System and method for securely storing information |
US9076342B2 (en) | 2008-02-19 | 2015-07-07 | Architecture Technology Corporation | Automated execution and evaluation of network-based training exercises |
US8572033B2 (en) | 2008-03-20 | 2013-10-29 | Microsoft Corporation | Computing environment configuration |
US9753712B2 (en) | 2008-03-20 | 2017-09-05 | Microsoft Technology Licensing, Llc | Application management within deployable object hierarchy |
US9298747B2 (en) | 2008-03-20 | 2016-03-29 | Microsoft Technology Licensing, Llc | Deployable, consistent, and extensible computing environment platform |
US8484174B2 (en) | 2008-03-20 | 2013-07-09 | Microsoft Corporation | Computing environment representation |
JP4670889B2 (ja) * | 2008-04-02 | 2011-04-13 | 日本電気株式会社 | 仮想計算機におけるファイルシステム高速化方法及びそのシステム |
KR101506683B1 (ko) * | 2008-08-06 | 2015-03-30 | 삼성전자 주식회사 | 다수개의 운영 시스템을 지원하는 장치 및 방법 |
US8543935B2 (en) * | 2008-08-20 | 2013-09-24 | Red Hat, Inc. | Full-screen heterogeneous desktop display and control |
US9542222B2 (en) * | 2008-11-14 | 2017-01-10 | Oracle International Corporation | Resource broker system for dynamically deploying and managing software services in a virtual environment based on resource usage and service level agreement |
US8413139B2 (en) | 2009-03-11 | 2013-04-02 | Microsoft Corporation | Programming model for application and data access and synchronization within virtual environments |
US8812451B2 (en) | 2009-03-11 | 2014-08-19 | Microsoft Corporation | Programming model for synchronizing browser caches across devices and web services |
US9680964B2 (en) | 2009-03-11 | 2017-06-13 | Microsoft Technology Licensing, Llc | Programming model for installing and distributing occasionally connected applications |
US8832699B2 (en) | 2009-05-11 | 2014-09-09 | Accenture Global Services Limited | Migrating processes operating on one platform to another platform in a multi-platform system |
US8813048B2 (en) | 2009-05-11 | 2014-08-19 | Accenture Global Services Limited | Single code set applications executing in a multiple platform system |
US9367331B2 (en) | 2009-07-20 | 2016-06-14 | Google Technology Holdings LLC | Multi-environment operating system |
US9372711B2 (en) | 2009-07-20 | 2016-06-21 | Google Technology Holdings LLC | System and method for initiating a multi-environment operating system |
US9389877B2 (en) | 2009-07-20 | 2016-07-12 | Google Technology Holdings LLC | Multi-environment operating system |
US9348633B2 (en) | 2009-07-20 | 2016-05-24 | Google Technology Holdings LLC | Multi-environment operating system |
JP5481308B2 (ja) * | 2009-11-30 | 2014-04-23 | 株式会社Nttドコモ | データ制御装置及びプログラム |
US8849924B2 (en) * | 2010-04-08 | 2014-09-30 | Microsoft Corporation | Network infrastructure management |
US9558051B1 (en) | 2010-05-28 | 2017-01-31 | Bormium, Inc. | Inter-process communication router within a virtualized environment |
US8752047B2 (en) | 2010-05-28 | 2014-06-10 | Bromium, Inc. | Automated management of virtual machines to process untrusted data based on client policy information |
US9386021B1 (en) | 2011-05-25 | 2016-07-05 | Bromium, Inc. | Restricting network access to untrusted virtual machines |
US9148428B1 (en) | 2011-05-25 | 2015-09-29 | Bromium, Inc. | Seamless management of untrusted data using virtual machines |
US9767274B2 (en) | 2011-11-22 | 2017-09-19 | Bromium, Inc. | Approaches for efficient physical to virtual disk conversion |
US9239909B2 (en) | 2012-01-25 | 2016-01-19 | Bromium, Inc. | Approaches for protecting sensitive data within a guest operating system |
US8972980B2 (en) * | 2010-05-28 | 2015-03-03 | Bromium, Inc. | Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity |
US10095530B1 (en) | 2010-05-28 | 2018-10-09 | Bromium, Inc. | Transferring control of potentially malicious bit sets to secure micro-virtual machine |
US9104837B1 (en) | 2012-06-18 | 2015-08-11 | Bromium, Inc. | Exposing subset of host file systems to restricted virtual machines based on upon performing user-initiated actions against host files |
US9116733B2 (en) | 2010-05-28 | 2015-08-25 | Bromium, Inc. | Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity |
US9135038B1 (en) | 2010-05-28 | 2015-09-15 | Bromium, Inc. | Mapping free memory pages maintained by a guest operating system to a shared zero page within a machine frame |
US10310696B1 (en) | 2010-05-28 | 2019-06-04 | Bromium, Inc. | Supporting a consistent user interface within a virtualized environment |
US8862545B2 (en) | 2010-06-15 | 2014-10-14 | Microsoft Corporation | Multi-environment configuration of data integration projects |
JP5351853B2 (ja) | 2010-08-05 | 2013-11-27 | 株式会社エヌ・ティ・ティ・ドコモ | 情報処理端末及びリソース解放方法 |
KR20120068573A (ko) * | 2010-12-17 | 2012-06-27 | 삼성전자주식회사 | 심리스 애플리케이션 통합 장치 및 방법 |
US9178981B2 (en) * | 2010-12-22 | 2015-11-03 | Lg Electronics Inc. | Mobile terminal and method of sharing information therein |
US20120174021A1 (en) * | 2011-01-04 | 2012-07-05 | Motorola, Inc. | Systems and methods for displaying android applications launchers in webtop application tray |
US9323562B2 (en) * | 2011-01-21 | 2016-04-26 | Red Hat, Inc. | Providing seamless copy-paste operations in a virtual machine environment |
US10057298B2 (en) | 2011-02-10 | 2018-08-21 | Architecture Technology Corporation | Configurable investigative tool |
US10067787B2 (en) | 2011-02-10 | 2018-09-04 | Architecture Technology Corporation | Configurable forensic investigative tool |
US9210213B2 (en) | 2011-03-03 | 2015-12-08 | Citrix Systems, Inc. | Reverse seamless integration between local and remote computing environments |
US8866701B2 (en) | 2011-03-03 | 2014-10-21 | Citrix Systems, Inc. | Transparent user interface integration between local and remote computing environments |
US8578006B2 (en) * | 2011-03-29 | 2013-11-05 | Symantec Corporation | Enabling selective policy driven propagation of configuration elements between and among a host and a plurality of guests |
US20120278747A1 (en) * | 2011-04-28 | 2012-11-01 | Motorola Mobility, Inc. | Method and apparatus for user interface in a system having two operating system environments |
US9354900B2 (en) | 2011-04-28 | 2016-05-31 | Google Technology Holdings LLC | Method and apparatus for presenting a window in a system having two operating system environments |
US10546118B1 (en) | 2011-05-25 | 2020-01-28 | Hewlett-Packard Development Company, L.P. | Using a profile to provide selective access to resources in performing file operations |
US8839245B1 (en) | 2012-06-18 | 2014-09-16 | Bromium, Inc. | Transferring files using a virtualized application |
US10846396B1 (en) | 2011-05-25 | 2020-11-24 | Hewlett-Packard Development Company, L.P. | Downloading data in a dedicated virtual machine |
US9921860B1 (en) | 2011-05-25 | 2018-03-20 | Bromium, Inc. | Isolation of applications within a virtual machine |
US20160124698A1 (en) | 2011-08-24 | 2016-05-05 | Z124 | Unified desktop triad control user interface for an application launcher |
US8842057B2 (en) | 2011-09-27 | 2014-09-23 | Z124 | Detail on triggers: transitional states |
US9703468B2 (en) * | 2011-09-27 | 2017-07-11 | Z124 | Unified desktop independent focus in an application manager |
US11416131B2 (en) | 2011-09-27 | 2022-08-16 | Z124 | Unified desktop input segregation in an application manager |
US9164544B2 (en) | 2011-12-09 | 2015-10-20 | Z124 | Unified desktop: laptop dock, hardware configuration |
US9268589B2 (en) * | 2011-12-09 | 2016-02-23 | Yahoo! Inc. | Method and system for deploying multiple distributed application stacks on a target machine |
JP5979893B2 (ja) | 2012-02-01 | 2016-08-31 | キヤノン株式会社 | 情報処理装置、制御方法、及びプログラム |
US9245108B1 (en) | 2012-03-13 | 2016-01-26 | Bromium, Inc. | Dynamic adjustment of the file format to identify untrusted files |
CN102662741B (zh) * | 2012-04-05 | 2014-04-02 | 华为技术有限公司 | 虚拟桌面的实现方法、装置和系统 |
US9516451B2 (en) | 2012-04-10 | 2016-12-06 | Mcafee, Inc. | Opportunistic system scanning |
US9049207B2 (en) | 2012-04-11 | 2015-06-02 | Mcafee, Inc. | Asset detection system |
US8954573B2 (en) | 2012-04-11 | 2015-02-10 | Mcafee Inc. | Network address repository management |
US8955036B2 (en) * | 2012-04-11 | 2015-02-10 | Mcafee, Inc. | System asset repository management |
US9417753B2 (en) | 2012-05-02 | 2016-08-16 | Google Technology Holdings LLC | Method and apparatus for providing contextual information between operating system environments |
WO2013168221A1 (ja) * | 2012-05-08 | 2013-11-14 | 株式会社Synclogue | 同期プログラム、同期サーバ、及び同期方法 |
US9342325B2 (en) | 2012-05-17 | 2016-05-17 | Google Technology Holdings LLC | Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device |
CN104364736B (zh) * | 2012-06-15 | 2018-07-06 | 株式会社尼康 | 电子设备 |
US9727534B1 (en) | 2012-06-18 | 2017-08-08 | Bromium, Inc. | Synchronizing cookie data using a virtualized browser |
US10095662B1 (en) | 2012-06-18 | 2018-10-09 | Bromium, Inc. | Synchronizing resources of a virtualized browser |
US9734131B1 (en) | 2012-06-18 | 2017-08-15 | Bromium, Inc. | Synchronizing history data across a virtualized web browser |
US9384026B1 (en) | 2012-06-18 | 2016-07-05 | Bromium, Inc. | Sharing and injecting cookies into virtual machines for retrieving requested web pages |
US9201850B1 (en) | 2012-06-18 | 2015-12-01 | Bromium, Inc. | Composing the display of a virtualized web browser |
US11023088B2 (en) | 2012-06-18 | 2021-06-01 | Hewlett-Packard Development Company, L.P. | Composing the display of a virtualized web browser |
US9015234B2 (en) | 2012-07-25 | 2015-04-21 | Lg Cns Co., Ltd. | Automated distributed testing administration environment |
EP2891038B1 (en) * | 2012-08-31 | 2020-06-24 | Citrix Systems, Inc. | Reverse seamless integration between local and remote computing environments |
CN103679035B (zh) * | 2012-09-24 | 2016-12-28 | 腾讯科技(深圳)有限公司 | 安全性检测方法与装置 |
US9678978B2 (en) | 2012-12-31 | 2017-06-13 | Carbonite, Inc. | Systems and methods for automatic synchronization of recently modified data |
CN104903861B (zh) * | 2013-01-08 | 2020-03-10 | 黑莓有限公司 | 剪贴板管理 |
US9002982B2 (en) | 2013-03-11 | 2015-04-07 | Amazon Technologies, Inc. | Automated desktop placement |
US10313345B2 (en) | 2013-03-11 | 2019-06-04 | Amazon Technologies, Inc. | Application marketplace for virtual desktops |
US10142406B2 (en) | 2013-03-11 | 2018-11-27 | Amazon Technologies, Inc. | Automated data center selection |
US9292328B2 (en) | 2013-05-24 | 2016-03-22 | Bromium, Inc. | Management of supervisor mode execution protection (SMEP) by a hypervisor |
US10623243B2 (en) * | 2013-06-26 | 2020-04-14 | Amazon Technologies, Inc. | Management of computing sessions |
US9813461B2 (en) * | 2013-11-04 | 2017-11-07 | Cisco Technology, Inc. | Viewing full screen applications in a sharing session |
US10599565B2 (en) | 2013-12-24 | 2020-03-24 | Hewlett-Packard Development Company, L.P. | Hypervisor managing memory addressed above four gigabytes |
US10404769B2 (en) * | 2013-12-31 | 2019-09-03 | Google Llc | Remote desktop video streaming alpha-channel |
US10027764B2 (en) | 2013-12-31 | 2018-07-17 | Google Llc | Associating network-hosted files with network-hosted applications |
US10430614B2 (en) | 2014-01-31 | 2019-10-01 | Bromium, Inc. | Automatic initiation of execution analysis |
CN105094764B (zh) * | 2014-05-04 | 2019-01-08 | 中国移动通信集团公司 | 电子设备应用的生成方法及装置 |
US9680873B1 (en) | 2014-06-30 | 2017-06-13 | Bromium, Inc. | Trusted network detection |
WO2016018414A1 (en) * | 2014-07-31 | 2016-02-04 | Hewlett-Packard Development Company, L.P. | Display of multiple instances |
US10311122B1 (en) | 2014-08-22 | 2019-06-04 | Bromium, Inc. | On-demand unprotected mode access |
US20160119359A1 (en) * | 2014-10-28 | 2016-04-28 | Samyutam Software Solutions Pvt. Ltd | System and method for providing a secure access in an organization system |
JP6511946B2 (ja) * | 2015-05-11 | 2019-05-15 | 富士ゼロックス株式会社 | 情報処理システム、情報処理装置及び情報処理プログラム |
US10083624B2 (en) | 2015-07-28 | 2018-09-25 | Architecture Technology Corporation | Real-time monitoring of network-based training exercises |
US10803766B1 (en) | 2015-07-28 | 2020-10-13 | Architecture Technology Corporation | Modular training of network-based training exercises |
JP2018022370A (ja) * | 2016-08-04 | 2018-02-08 | キヤノン株式会社 | アプリケーション実行装置及びその制御方法、並びにプログラム |
CN108256349A (zh) * | 2017-12-29 | 2018-07-06 | 北京奇虎科技有限公司 | 网页防护的方法及装置 |
US10783012B2 (en) | 2018-04-20 | 2020-09-22 | CopyBucket, Inc. | Systems and methods for efficient inter-device data exchange |
US10749890B1 (en) | 2018-06-19 | 2020-08-18 | Architecture Technology Corporation | Systems and methods for improving the ranking and prioritization of attack-related events |
US10817604B1 (en) | 2018-06-19 | 2020-10-27 | Architecture Technology Corporation | Systems and methods for processing source codes to detect non-malicious faults |
CN110826653B (zh) * | 2018-08-08 | 2024-02-09 | 耀客明道物联网(武汉)有限公司 | 一种基于物联网的储藏品管理系统及管理方法 |
US10291479B1 (en) * | 2018-12-13 | 2019-05-14 | LogicMonitor, Inc. | Discovering a computer network topology for an executing application |
US11429713B1 (en) | 2019-01-24 | 2022-08-30 | Architecture Technology Corporation | Artificial intelligence modeling for cyber-attack simulation protocols |
US11128654B1 (en) | 2019-02-04 | 2021-09-21 | Architecture Technology Corporation | Systems and methods for unified hierarchical cybersecurity |
US11887505B1 (en) | 2019-04-24 | 2024-01-30 | Architecture Technology Corporation | System for deploying and monitoring network-based training exercises |
US11797319B2 (en) * | 2019-05-10 | 2023-10-24 | Dell Products L.P. | Copy and paste in virtual console with keyboard play |
US11403405B1 (en) | 2019-06-27 | 2022-08-02 | Architecture Technology Corporation | Portable vulnerability identification tool for embedded non-IP devices |
EP4036774A4 (en) * | 2019-09-25 | 2023-09-20 | Hitachi, Ltd. | COMPUTER SYSTEM, DATA CONTROL METHOD AND STORAGE MEDIUM |
US11444974B1 (en) | 2019-10-23 | 2022-09-13 | Architecture Technology Corporation | Systems and methods for cyber-physical threat modeling |
US11503075B1 (en) | 2020-01-14 | 2022-11-15 | Architecture Technology Corporation | Systems and methods for continuous compliance of nodes |
WO2024103083A1 (en) | 2022-11-14 | 2024-05-23 | Xephor Solutions GmbH | Computing system |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19580738T1 (de) * | 1994-05-31 | 1996-08-22 | Fujitsu Ltd | System und Verfahren zur Jobausführung zwischen verschiedenen Betriebssystemen |
US6178443B1 (en) * | 1996-12-20 | 2001-01-23 | Intel Corporation | Method and apparatus for propagating user preferences across multiple computer environments |
US6247077B1 (en) * | 1998-02-06 | 2001-06-12 | Ncr Corporation | Highly-scalable parallel processing computer system architecture |
JPH11338810A (ja) | 1998-05-29 | 1999-12-10 | Toshiba Corp | 情報端末装置、環境設定方法及び記録媒体 |
US6131096A (en) * | 1998-10-05 | 2000-10-10 | Visto Corporation | System and method for updating a remote database in a network |
JP2000322393A (ja) * | 1999-05-13 | 2000-11-24 | Nec Soft Ltd | 運用管理システム |
US6380940B1 (en) | 1999-07-30 | 2002-04-30 | Curl Corporation | Processing graphical objects having origins defined with elasticity |
US7020697B1 (en) * | 1999-10-01 | 2006-03-28 | Accenture Llp | Architectures for netcentric computing systems |
US6836888B1 (en) * | 2000-03-17 | 2004-12-28 | Lucent Technologies Inc. | System for reverse sandboxing |
DE60135127D1 (de) * | 2000-05-24 | 2008-09-11 | Voltaire Ltd | Gefilterte kommunikation von anwendung zu anwendung |
US7039801B2 (en) * | 2000-06-30 | 2006-05-02 | Microsoft Corporation | System and method for integrating secure and non-secure software objects |
WO2003005224A1 (en) * | 2001-07-05 | 2003-01-16 | Findbase Llc | Method and system for co-joining computational space cells in a networked environment |
US7603469B2 (en) * | 2002-01-15 | 2009-10-13 | International Business Machines Corporation | Provisioning aggregated services in a distributed computing environment |
US20030169305A1 (en) * | 2002-01-31 | 2003-09-11 | Hodges Matthew Erwin | System for transmitting state-specifications as entry parameters to virtual reality systems |
GB2399902A (en) | 2003-03-28 | 2004-09-29 | Hewlett Packard Development Co | Security in trusted computing systems |
US8972977B2 (en) * | 2004-06-30 | 2015-03-03 | Microsoft Technology Licensing, Llc | Systems and methods for providing seamless software compatibility using virtual machines |
CA2533614C (en) * | 2004-07-30 | 2011-05-03 | Research In Motion Limited | Method and system for coordinating device setting between a communications client and its host device |
US7484247B2 (en) * | 2004-08-07 | 2009-01-27 | Allen F Rozman | System and method for protecting a computer system from malicious software |
US8479193B2 (en) * | 2004-12-17 | 2013-07-02 | Intel Corporation | Method, apparatus and system for enhancing the usability of virtual machines |
US7765544B2 (en) * | 2004-12-17 | 2010-07-27 | Intel Corporation | Method, apparatus and system for improving security in a virtual machine host |
US7735081B2 (en) * | 2004-12-17 | 2010-06-08 | Intel Corporation | Method, apparatus and system for transparent unification of virtual machines |
CN101512490B (zh) | 2006-01-17 | 2013-11-20 | 基达罗(以色列)有限公司 | 在网络化环境中保护数据安全 |
-
2007
- 2007-01-17 ES ES07700748.2T patent/ES2659651T3/es active Active
- 2007-01-17 KR KR1020087019411A patent/KR20080092432A/ko not_active IP Right Cessation
- 2007-01-17 WO PCT/IL2007/000057 patent/WO2007083299A2/en active Application Filing
- 2007-01-17 EP EP07700748.2A patent/EP1977347B1/en active Active
- 2007-01-17 JP JP2008550905A patent/JP5483884B2/ja not_active Expired - Fee Related
- 2007-01-17 CN CN2007800095739A patent/CN101583940B/zh not_active Expired - Fee Related
- 2007-01-17 US US12/087,857 patent/US8606895B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2007083299A2 (en) | 2007-07-26 |
US8606895B2 (en) | 2013-12-10 |
US20090328033A1 (en) | 2009-12-31 |
EP1977347A2 (en) | 2008-10-08 |
CN101583940A (zh) | 2009-11-18 |
JP2009525513A (ja) | 2009-07-09 |
EP1977347A4 (en) | 2010-10-06 |
CN101583940B (zh) | 2012-10-31 |
WO2007083299A3 (en) | 2009-04-16 |
KR20080092432A (ko) | 2008-10-15 |
EP1977347B1 (en) | 2017-12-27 |
JP5483884B2 (ja) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2659651T3 (es) | Integración ininterrumpida de múltiples entornos informáticos | |
US11593055B2 (en) | Selective screen sharing | |
US8589947B2 (en) | Methods, systems, and media for application fault containment | |
US10607007B2 (en) | Micro-virtual machine forensics and detection | |
US9923926B1 (en) | Seamless management of untrusted data using isolated environments | |
US9348636B2 (en) | Transferring files using a virtualized application | |
US9921860B1 (en) | Isolation of applications within a virtual machine | |
US9223962B1 (en) | Micro-virtual machine forensics and detection | |
US9110701B1 (en) | Automated identification of virtual machines to process or receive untrusted data based on client policies | |
US9542216B2 (en) | Richer model of cloud app markets | |
US20100024036A1 (en) | System and Methods Providing Secure Workspace Sessions | |
US9201850B1 (en) | Composing the display of a virtualized web browser | |
US9104837B1 (en) | Exposing subset of host file systems to restricted virtual machines based on upon performing user-initiated actions against host files | |
US20170180427A1 (en) | Clipboard hardening | |
US9558051B1 (en) | Inter-process communication router within a virtualized environment | |
US9727534B1 (en) | Synchronizing cookie data using a virtualized browser | |
KR20210086263A (ko) | 이기종 다중 기기 상호작용을 위한 안전한 사용자 인터페이스 분산 방법 | |
US9460293B1 (en) | Clipboard hardening | |
US10311122B1 (en) | On-demand unprotected mode access | |
US9734131B1 (en) | Synchronizing history data across a virtualized web browser | |
US10095662B1 (en) | Synchronizing resources of a virtualized browser | |
Arthur et al. | Privacy‐aware shared UI toolkit for nomadic environments | |
JP2009048254A (ja) | 情報処理装置、データ保存方法、およびデータ保存プログラム | |
Halsey et al. | Using Scripting Tools for Troubleshooting | |
KR20110006487A (ko) | 리소스 가상화를 이용한 다중 터미널서비스 제공 장치 및 그 방법 |