MX2008000514A - Vista individual de datos en un sistema de computadora en red con almacenamiento distribuido. - Google Patents

Vista individual de datos en un sistema de computadora en red con almacenamiento distribuido.

Info

Publication number
MX2008000514A
MX2008000514A MX2008000514A MX2008000514A MX2008000514A MX 2008000514 A MX2008000514 A MX 2008000514A MX 2008000514 A MX2008000514 A MX 2008000514A MX 2008000514 A MX2008000514 A MX 2008000514A MX 2008000514 A MX2008000514 A MX 2008000514A
Authority
MX
Mexico
Prior art keywords
computer
computer system
data objects
identification
group
Prior art date
Application number
MX2008000514A
Other languages
English (en)
Inventor
John Brezak
Mohammed Samji
Anil Kumar Yadav
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MX2008000514A publication Critical patent/MX2008000514A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • G06F16/192Implementing virtual folder structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

Un sistema de computadora huesped obtiene una solicitud de una vista agregada en una red de computadora que corresponde a un criterio. El sistema de computadora huesped consulta a sistemas de computadora en red para identificar objetos de datos de acuerdo con el criterio. Cada sistema de computadora que responde proporciona un grupo de identificacion de objetos de datos especificos que estan almacenados en la computadora que responde a los sistemas de computadora huesped. El sistema de computadora huesped combina los grupos de identificacion para formar la vista agregada de contenido para un usuario. Si un objeto de datos especifico es replicado a computadoras en red, el sistema de computadora huesped proporciona un caso del objeto de datos especificados en el resultado de pregunta. Consecuentemente, se facilitan la utilizacion concurrente de sincronizacion de archivo y la vista agregada de objetos de datos. Si un objeto de datos especificado es almacenado en el sistema de computadora huesped, el sistema de computador huesped bloquea la accion de pregunta de computadoras en red sobre el objeto de datos especificados.

Description

VISTA INDIVIDUAL DE DATOS EN UN SISTEMA DE COMPUTADORA EN RED CON ALMACE AMIENTO DISTRIBUIDO ANTECEDENTES Con la ubicuidad de computadoras personales, los usuarios por lo regular poseen o utilizan más de una máquina. Por ejemplo, muchos negocios y usuarios personales tienen o utilizan tanto una máquina de escritorio como una computadora portátil o un dispositivo de cliente móvil. Los usuarios quienes poseen o tienen acceso a múltiples máquinas pueden utilizar diferentes máquinas en diferentes momentos para diferentes propósitos, aún frecuentemente desean consultar o accesar archivos comúnmente utilizados u otro contenido en todas esas máquinas. Las aplicaciones, bases de datos y otros recursos típicamente carecen de la capacidad que soporta un usuario para recorrer o compartir archivos entre un grupo común de máquinas. En un ambiente de red de cómputo administrado, común a negocios y otras redes de cómputo a gran escala, la red de cómputo incluye una autoridad de red centralizada, tal como un controlador de dominio primario, que regula el acceso del usuario manteniendo contraseñas y permisos. La autoridad de red centralizada también puede manejar el acceso a archivo de datos localmente almacenados para usuarios autorizados de la red. En contraste a las redes de cómputo manejadas, las redes de cómputo no manejadas, comunes en redes de hogares y otras redes de pequeña escala, típicamente no incorporan un controlador de domino primario para regular el acceso del usuario o almacenamiento de archivo de datos centralizado. Más bien, muchas redes de cómputo no manejadas requieren de un manejo a administración de usuario individual en términos de regular la autorización de seguridad del usuario para usar los varios dispositivos de cómputo en la red. Además, la mayoría de las redes no manejadas requieren de una participación adicional por parte del usuario y conocimiento para almacenar y recordar contenido almacenado en los varios dispositivos de cómputo en la red. La creación de ubicaciones de almacenamiento compartidas en uno de los dispositivos de cómputo en red es un intento para proporcionar un almacenamiento más centralizado de datos, en redes tanto manejadas como no manejadas. La ubicación de almacenamiento compartida puede servir como un almacenamiento designado para datos, sin considerar cuál de los dispositivos de cómputo en red está usando actualmente un usuario. Aunque que estas intentan centralizar el almacenamiento, el aspecto puede volverse deficiente, ya que se requiere que los usuarios recuerden la ubicación y el nombre de la ubicación de almacenamiento compartido centralizado. Además, en el caso en el que la ubicación de almacenamiento compartida sea renombrada, movida o de otra manera modificada, los usuarios pueden no ser capaces de tener acceso al contenido deseado.
El mantenimiento de recorrer los perfiles de usuario que definen en dónde están almacenados los datos, es otro aspecto para un almacenamiento más centralizado de archivos de datos en redes manejadas o administradas. Aunque un recorrido en el perfil de usuario podría ayudar a ubicar archivos de datos almacenados en varias ubicaciones, el almacenamiento y actualización de los perfiles de recorrido proporciona un peligro mayor en los recursos de procesamiento y memoria de la red de computadora. Por consiguiente, a medida que el número de dispositivo de cómputo en red se incrementa, el peligro de un perfil de usuario de recorrido podría también incrementarse. La redirección de acciones de sistema de archivo local a una ubicación de almacenamiento designada en la red es un aspecto adicional para un almacenamiento más centralizado de archivos de datos tanto en redes manejadas como no manejadas. Por ejemplo, una solicitud de los contenidos de una ubicación de almacenamiento local puede ser redirigida automáticamente para recuperar los contenidos de una ubicación de almacenamiento designada en la red, que puede estar lejos del dispositivo de cómputo. Similarmente, una solicitud para almacenar datos localmente puede ser redirigida en forma automática para almacenar el contenido seleccionado en la ubicación de almacenamiento designada en la red. Aunque este aspecto podría permitir que todas las solicitudes de datos sean dirigidas hacia una ubicación de almacenamiento central sin requerir que el usuario conozca la ubicación de la ubicación designada, el aspecto evita el almacenamiento y recuperación del contenido en las máquinas locales. Además, en el caso en el que la ubicación de almacenamiento designada sea renombrada, movida, o de otra manera modificada, los usuarios podrían ser incapaces de tener acceso al contenido deseado. El usuario por lo regular desea trabajar con la versión más actualizada o más completa de un archivo dado, sin importar lo que se esté utilizando la máquina.
BREVE DESCRIPCIÓN DE LA INVENCIÓN Un sistema de computadora huésped obtiene una solicitud para una vista agregada de contenido en una red de computadora que corresponde a un criterio. El sistema de computadora huésped consulta sistema de computadora en red para identificar objetos de datos de acuerdo con el criterio. Cada sistema de computadora que responde proporciona un grupo de identificación de objetos de datos especificados que es almacenado en la computadora que responde. El sistema de computadora huésped fusiona los grupos de identificación para formar la vista agregada del contenido provisto a un usuario. De acuerdo con un aspecto ilustrativo de la invención, si un objeto de datos especificado es replicado a computadoras en red, el sistema de computadora huésped proporciona un caso del objeto de datos especificado en el resultado de la consulta.
Consecuentemente, la utilización actual de la sincronización de archivo y la vista agregada de objetos de datos puede ser facilitada. De acuerdo con otro aspecto ilustrativo de la invención, si un objeto de datos especificado es almacenado en el sistema de computadora huésped, el sistema de computadora huésped bloquea la consulta de las computadoras en red sobre el objeto de datos especificado. De acuerdo con otro aspecto más ilustrativo de la invención, un sistema de computadora consulta computadoras en red sobre objetos de datos distribuidos en una red de computadora. El sistema de computadora incluye un módulo de servicio de consulta de contenido que recibe una solicitud para identificar objetos de datos especificado, obtener grupos de identificación de los objetos de datos especificados almacenados en las computadoras en red, y elimina múltiples identificaciones de objetos de datos replicados, y produce los grupos de identificaciones para proporcionar una vista agregada del contenido al usuario. De acuerdo con otro aspecto ilustrativo de la invención, se puede invocar una sincronización de archivo en respuesta a la lista agregada de archivos con el fin de replicar archivos que aparecen en la lista agregada en sistema de computadora. Esta breve descripción se proporciona para introducir una selección de conceptos en una forma simplificada que, además, se describe más adelante en la Descripción Detallada. Esta breve descripción no pretende identificar aspectos clave o aspecto esenciales de la materia objeto reclamada, ni pretende ser utilizada como una ayuda para determinar el alcance de la material objeto reclamada.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La breve descripción anterior de la invención, así como la siguiente descripción detallada de las modalidades ilustrativas, se entenderán mejor cuando se lean junto con los dibujos anexos, los cuales se incluyen a manera de ejemplo, y no a manera de limitación con respecto a la invención reclamada. La Figura 1 es un diagrama de bloques funcional de un ejemplo de un ambiente de cómputo digital de propósito general convencional, que puede ser utilizado para implementar varios aspectos de la presente invención. La Figura 2 es un diagrama de bloques de una red de computadora no manejada incluyendo tres dispositivos de cómputo localmente almacenando contenido variado de acuerdo con un aspecto ilustrativo de la presente invención. La Figura 3 es un diagrama de bloques de la red de computadora de la Figura 2 que ilustra que el inicio de una solicitud de datos de usuario y consulta de contenido de acuerdo con un aspecto ilustrativo de la presente invención. La Figura 4 es un diagrama de bloques de la red de computadora de la Figura 2 ilustrando el regreso y salida de identificadores de contenido coincidentes a partir de los dispositivos de cómputo en red de acuerdo con un aspecto ilustrativo de la presente invención. La Figura 5 es un diagrama de bloques de la red de computadora de la Figura 2 que ilustra el resultado de procesamiento de solicitudes de vista agregadas en cada dispositivo de cómputo en la red de acuerdo con un aspecto ilustrativo de la presente invención. La Figura 6 es un diagrama de flujo ilustrativo de una rutina de creación de vista agrega implementada por un dispositivo de cómputo en red de acuerdo con un aspecto ilustrativo de la presente invención. Las Figuras 7A-7D son diagramas de bloques ilustrativos de presentaciones de pantallas para presentar identificadores de contenido de salida que corresponden a una vista agregada de acuerdo con un aspecto ilustrativo de la presente invención. La Figura 8 es un diagrama de flujo ilustrativo de una rutina de procesamiento de documento remota de vista agregada implementada por un dispositivo de cómputo en red de acuerdo con un aspecto ilustrativo de la presente invención. La Figura 9 ilustra un ambiente en el cual un sistema y método para la sincronización de archivo par a par automática puede operar, de acuerdo con modalidades ilustrativas de la invención. La Figura 10 ilustra una interfase que muestra la lógica de manejo de versión que puede ser utilizada junto con la sincronización de archivo, de acuerdo con modalidades ilustrativas de la invención. La Figura 11 ilustra un ambiente en el cual un sistema y método para la sincronización de archivos par a par pueden operar con más de dos máquinas participantes, de acuerdo con ciertas modalidades ilustrativas de la invención. La Figura 12 ilustra un diagrama de flujo de un procesamiento completo de recorrido y sincronización de archivo, de acuerdo con modalidades ilustrativas de la invención. Las Figuras 13A-C ilustran escenarios para resultados de consulta con almacenamiento distribuido en una red de computadora de acuerdo con una modalidad ilustrativa de la invención. La Figura 14 muestra un diagrama de flujo que soporta consultas para computadoras en red con almacenamiento distribuido de acuerdo con una modalidad ilustrativa de la invención. La Figura 15 muestra un sistema de computadora que consulta computadoras en red con almacenamiento distribuido de acuerdo con una modalidad ilustrativa de la invención.
DESCRIPCIÓN DETALLADA Generalmente descritos, los aspectos de la presente invención corresponden a un sistema y método para generar vistas agregadas de contenido almacenado en varios dispositivos de cómputo en una red de computadora. Algunos aspectos específicos de la presente invención corresponden a un sistema y método para consultar automáticamente dispositivos de cómputo en una red definida y generar una vista de las respuestas de consulta producidas. Aunque la presente invención será descrita con respecto a una red de dispositivo de cómputo en donde todos los dispositivos de cómputo de red tiene perfiles de seguridad comunes para todos los usuarios autorizados de la red, un experto en la técnica preciará que la presente invención puede ser implementada en redes de cómputo alternativas, en donde cada dispositivo de cómputo puede mantener perfiles de seguridad separados para usuarios de red autorizados. Además, un aspecto en la técnica apreciará que algunos o todos los aspectos de la presente invención pueden ser practicados en redes de computadora manejadas teniendo una autoridad de red centralizada para regular el acceso de usuarios. Por consiguiente, las modalidades descritas con respecto a la presente invención son ilustrativas por naturaleza y no deben construidas como limitantes. Regresando a los dibujos, en donde números de referencia similares se refieren a elementos similares, la invención se ilustra como estando implementada en un ambiente de cómputo adecuado. Aunque no se requiere, la invención será descrita en el contexto general de instrucciones ejecutables por computadora, tales como módulos de programa, que se ejecutan a través de una computadora personal. En general, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc. que realizan tareas particulares o implementan tipos de datos abstractos particulares Además, aquellos expertos en la técnica apreciarán que la invención puede ser practicada con otras configuraciones del sistema de computadora, incluyendo dispositivos portátiles, sistema de multiprocesador, electrónica de consumidor a base de microprocesador o programable, PCs de red, minicomputadoras, macrocomputadoras, y similares La invención puede ser practicada en ambientes de cómputo distribuidos, en donde se realizan tareas por los dispositivos de procesamiento remotos que están enlazados a través de una red de comunicaciones En un ambiente de cómputo distribuido, los módulos de programa pueden ser localizados en dispositivos de almacenamiento de memoria tanto locales como remotos La siguiente descripción comienza con una descripción de un dispositivo de cómputo de propósito general que puede ser utilizado en un grupo de red seguro de acuerdo con algunos aspectos de la invención Volviendo a la Figura 1, un dispositivo de cómputo de propósito general se muestra en la forma de una computadora personal convencional 20, que incluye una unidad de procesamiento 21, una memoria de sistema 22, y un conductor común de sistema 23 que acopla vanos componentes del sistema, incluyendo la memoria de sistema a la unidad de procesamiento 21 El conductor común de sistema 23 puede ser cualquiera de los vanos tipos de estructura de conductor común incluyendo un conductor común de memoria o controlador de memoria, un conductor común periférico, y un conductor común local utilizando cualquiera de una variedad de arquitecturas de conductor común. La memoria de sistema incluye memoria de sólo lectura (ROM) 24 y memoria de acceso aleatorio (RAM) 25. Un sistema de entrada/salida básico (BIOS) 26, que contiene las rutinas básicas que ayudan a transferir información entre elementos dentro de la computadora personal 20, tal como durante el inicio o arranque, está almacenado en la ROM 24. La computadora personal 20 además incluye una unidad de disco duro 27 para leer de y escribir a un disco duro 60, una unidad de disco magnético 28 para leer de o escribir a un disco magnético removible 29, y una unidad de disco óptico 30 para leer de o escribir a un disco óptico removible 31 tal como un CD-ROM u otro medio óptico. La unidad de disco duro 27, la unidad de disco magnético 28 y la unidad de disco óptico 30 están conectadas al conductor común de sistema 23 a través de una interfase de unidad de disco duro 32, una interfase de unidad de disco magnético 33 y una interfase de unidad de disco óptico 34, respectivamente. Las unidades y sus medios legibles por computadora asociados proporcionan almacenamiento no volátil de instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos para la computadora personal 20. Aunque el ambiente ilustrativo descrito aquí emplea un disco duro 60, un disco magnético removible 29, y un disco óptico removible 31, se apreciará por aquellos expertos en la técnica que otros tipos de medios legibles por computadora, los cuales pueden almacenar datos que son accesibles a través de una computadora, tales como casetes magnéticos, tarjetas de memoria flash, discos de vídeo digitales, cartuchos de Bernoulli, memorias de acceso aleatorio, memorias de sólo lectura, redes de área de almacenamiento, y similares, también pueden utilizados en el ambiente operativo ilustrativo. Un número de módulos de programa puede ser almacenado en el disco duro 60, disco magnético 29, disco óptico 31, ROM 24 o RAM 25, incluyendo un sistema operativo 35, uno o más programas de aplicación 36, otros módulos de programa 37, y datos de programa 38. Un usuario puede introducir comandos e información en la computadora personal 20 a través de dispositivos de entrada tales como un teclado 40 y un dispositivo de señalamiento 42. Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono una palanca de mandos, una almohadilla de juegos, una antena de satélite, un explorador, o similares. Estos y otros dispositivos de entrada por lo regular están conectados a la unidad de procesamiento 21 a través de una interfase de puerto en serie 46 que está acoplada al conductor común de sistema, pero pueden ser conectados a través de otras interfases, tales como un puerto paralelo, puerto de juegos, o un conductor común en serie universal (USB) o una tarjeta de interfase de red. Un monitor 47 u otro tipo de dispositivo de presentación también está conectado al conductor común de sistema 23 a través de una interfase, tal como un adaptador de vídeo 48. Además del monitor, las computadoras personales típicamente incluyen otros dispositivos de salida a periféricos, no mostrados, tales como bocinas e impresoras. La computadora personal 20 puede operar en un ambiente en red utilizando conexiones lógicas a una o más computadoras remotas, tales como una computadora remota 49. La computadora remota 49 puede ser otra computadora personal, un servidor, un enrutador, una PC de red, un dispositivo par u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos anteriormente con relación a la computadora personal 20, aunque solamente un dispositivo de almacenamiento de memoria 50 se ha ilustrado en la Figura 1. Las conexiones lógicas ilustradas en la Figura 1 incluyen una red de área local (LAN) 51 y una red de área amplia (WAN) 52. Dichos ambientes en red son lugares comunes en oficinas, redes de computadora en empresas, intranet e Internet. Cuando se utiliza en un ambiente en red' de LAN, la computadora personal 20 está conectada a la red local 51 a través de una interfase de red o adaptador 53. Cuando se utiliza en un ambiente en red de WAN, la computadora 20 típicamente incluye un módem 54 u otros medios para establecer comunicaciones a través de la WAN 52. El módem 54, el cual puede ser interno o externo, está conectado al conductor común de sistema 23 a través de la interfase de puerto en serie 46. En un ambiente en red, los módulos de programa ilustrados con relación a la computadora personal 20, o sus porciones, pueden estar almacenados en el dispositivo de almacenamiento de memoria remoto. Se apreciará que las conexiones de red mostradas son ilustrativas y se pueden utilizar otros medios para establecer un enlace de comunicaciones entre las computadoras. La Figura 2 muestra un diagrama de bloque de una red de computadora 100 que incluye tres dispositivos de cómputo 102, 104 y 106 de acuerdo con aspectos ilustrativos de la presente invención. Los dispositivo de cómputo 102, 104, 106 pueden ser modalizados como cualquiera de una variedad de los dispositivos que puedan ser utilizados para persistir el contenido a la red de computadora 100. Ejemplos de dispositivo de cómputo incluyen, pero no se limitan a dispositivo de cómputo de personal, dispositivos de cómputo portátiles, dispositivos de cómputo a base de servidor, asistentes personales digitales, teléfonos móviles, dispositivos de memoria independientes, dispositivos electrónicos, que tienen algún tipo de memoria, y similares. En una modalidad ilustrativa de la presente invención, cada dispositivo de cómputo 102, 104 y 106 mantiene una base de datos de información de seguridad 108 que corresponde a un identificador de seguridad único ("SID") para cada usuario autorizado. La base de datos 108 también puede mantener información asociando los SIDs de usuario únicos a uno o más grupos de usuarios, tales como administrador, usuarios, revisadores, y un identificador de seguridad único para el grupo. De acuerdo con la modalidad ilustrativa, la base de datos de información de seguridad 108 es replicada en cada uno de los dispositivos de cómputo 102, 104, 106, de manera que el perfil de seguridad del usuario, incluyendo un SID de usuario, es accesible a cualquiera de los dispositivos de cómputo 102,104,106. Como se ilustra en la Figura 2, para un usuario particular, un primer dispositivo de cómputo 102, "MÁQUINA A", mantiene un primer archivo 110, "ARCHIVO A", en una ubicación de almacenamiento local, tal como una unidad de disco duro u otro dispositivo de almacenamiento masivo, que puede ser accedido de alguna manera por parte del usuario. Similarmente, un segundo dispositivo de cómputo 104, "MÁQUINA B" mantiene un segundo archivo 112, "Archivo B" y una tercera máquina 106, "MÁQUINA C", mantiene un tercer archivo 114, "Archivo C", ambos de los cuales pueden ser accedidos de alguna manera por el usuario. (Los dispositivos de cómputo 102, 104 y 106 pueden ser computadoras personales como se muestra en la Figura 1). Como se explicará con mayor detalle más adelante, en una modalidad ilustrativa de la presente invención, cada archivo 110, 112, 114 mantiene una lista de control de acceso("ACL") que indica cuáles de las SIDs de usuario y las SIDs de grupo que tienen permiso a tener acceso al archivo particular. Además, cada ACL de archivo también puede indicar limitaciones al tipo de acceso que puede tener un SID de usuario o SID de grupo particular. Por ejemplo, una ACL de archivo puede indicar que un usuario particular puede tener acceso a un archivo para leer el archivo, pero no puede modificar el archivo de ninguna manera. Además, cada ACL de archivo también puede indicar un propietario actual del archivo que corresponde al SID de usuario que creo el archivo y/o que finalmente editó el archivo. Sin embargo, de acuerdo con aspectos de manejo de datos convencionales, los usuarios podrían recordar la ubicación precisa de cada pieza de datos para tener acceso a los datos remotamente. Aunque el manejo de los datos se describe con respecto a una ACL, un experto en la técnica apreciará que también se puede utilizar un manejo de datos adicional, tal como codificación crítica de seguridad, manejo de derechos digitales, y similares. Haciendo referencia a ias Figuras 3-5, se describirá el inicio y procesamiento de una solicitud de vista agregada entre los tres dispositivos de cómputo 102, 104 y 106 de la red de computadora 100. Con referencia a la Figura 3, el proceso es iniciado con la recepción de una solicitud de identificación de contenido en la MÁQUINA A 102 a través del usuario. Basándose en un SID único asociado con un usuario particular, o contenido de usuario, la MÁQUINA A 102 inicia una consulta de contenido local que corresponde al SID único y cualquiera de una variedad de criterios que se pueden utilizar para seleccionar datos. Ejemplos de criterios incluyen búsquedas de contraseñas, tipos de archivo, fechas. Concurrentemente con la consulta de contenido local, o después del procesamiento de la consulta local, la MÁQUINA A 102 automáticamente inicia una solicitud de contenido distribuido a los dispositivos de cómputo 104, 106 en la red 100. Ya que los perfiles de seguridad en cada dispositivo de cómputo en la red ilustrativa han replicado bases de datos de perfil de seguridad 108, la MÁQUINA A 102 puede emitir consultas de contenido idénticas a cada dispositivo de cómputo. Además, aunque la Figura 3 ¡lustra que cada dispositivo de cómputo en la red 100 recibe la consulta de contenido distribuida, la MÁQUINA A también puede limitar las solicitudes de contenido a un subgrupo de dispositivo de cómputo dentro de la red 100. Haciendo referencia a la Figura 4, cada dispositivo de cómputo que recibe la solicitud de contenido procesa la solicitud y regresa información identificando el contenido coincidente y la ubicación del contenido. Por ejemplo, en el ejemplo ilustrativo, la MÁQUINA B 104 podría regresar información identificando el Archivo B 112 y su ubicación especifica dentro del sistema de almacenamiento de la MÁQUINA B. Así mismo, la MÁQUINA C 106 podría regresar información identificando el Archivo C 114 y su ubicación específica dentro del sistema de almacenamiento de la MÁQUINA C. En una modalidad ilustrativa de la presente invención, el contenido ubicado en cada dispositivo de cómputo no es transmitido al dispositivo de cómputo solicitante. Además, como se explicará con mayor detalle más adelante, también se pueden procesar respuestas de solicitud de contenido previamente almacenadas o respuestas de solicitud de contenido guardadas en memoria caché. Una vez que las respuestas de consulta son recibidas por la MÁQUINA A 102, se producen los resultados de la consulta. En una modalidad ilustrativa de la presente invención, los resultados producidos son modalizados como una representación individual de todo el contenido coincidente sin referencia directa a la ubicación, u origen, del contenido. Sin embargo, la MÁQUINA A 102 puede obtener instrucciones adicionales del usuario para clasificar, o de otra manera organizar los resultados producidos para el usuario solicitante. Por ejemplo, la MÁQUINA A 102 puede clasificar el contenido fusionado por tamaño, fecha, origen, y similares. Aún más, la MÁQUINA A 102 puede asociar indicaciones visuales adicionales a los resultados producidos para identificar piezas de datos específicas, tales como datos almacenados en un dispositivo de cómputo que actualmente no están disponibles. La Figura 5 es un diagrama de bloques de la red de computadora 100 de la Figura 2, ilustrando el resultado del procesamiento de solicitudes de vista agregada en cada uno de los dispositivos de cómputo en la red. Para los propósitos de la Figura 5, se asume que cada uno de los dispositivos de cómputo 102, 104, 106 emitió solicitudes de vista agregada y que el contenido de cada dispositivo de cómputo no ha sido modificado. La vista agregada para la MÁQUINA A 102 muestra el Archivo A 110, Archivo B 112 y Archivo C 114, el Archivo B y el Archivo C ilustrados en líneas punteadas para mostrar que están almacenados remotamente de la MÁQUINA A. En forma similar, la vista agregada para la MÁQUINA B 104 muestra el contenido idéntico, el Archivo A 110 y el Archivo C 114 ilustrados en líneas punteadas para mostrar que están almacenados remotamente. Finalmente, la vista agregada para la MÁQUINA C 106 muestra el contenido idéntico con el Archivo A 110 y Archivo B 112 ilustrados en líneas punteadas para mostrar que están almacenados remotamente. Basándose en las listas agregadas en cada dispositivo de cómputo 102, 104, 106, el usuario puede tener acceso al mismo contenido sin requerir del conocimiento de su ubicación real. Además, en el caso de que uno o más de los dispositivos de cómputo no estén disponibles, el dispositivo de cómputo aún más puede mostrar el contenido almacenado en la máquina no disponible con indicaciones visuales adicionales para indicar que no está actualmente disponible. La Figura 6 es un diagrama de flujo que ilustra una rutina de creación de vista agregada 600 implementada por un dispositivo de cómputo de red, tal como los dispositivos de cómputo 102, 104, 106, de acuerdo con los aspectos de la presente invención. En el bloque 602, se obtiene una solicitud de usuario para crear una vista agregada del contenido. En una modalidad ilustrativa de la presente invención, la solicitud de vista agregada puede corresponder directamente a un acceso del usuario a cualquier tipo de aplicación, o módulo, presentando el contenido. Por ejemplo, una solicitud de vista agregada puede corresponder a una solicitud para abrir un archivo dentro de un programa de aplicación de software. Similarmente, una solicitud de creación de vista agregada puede corresponder al inicio de un programa de manejo de sistema de archivo. Aún más, la solicitud de vista agregada puede ser automáticamente generada en la ocurrencia de eventos específicos, tales como en una hora particular del día, después de que un dispositivo de cómputo se ha encendido, después de que un dispositivo de cómputo se ha conectado a la red, y similares.
En el bloque 604, el dispositivo de cómputo consulta al sistema de archivo de dispositivo de cómputo local para el contenido coincidente con una consulta de contenido. En una modalidad ilustrativa de la presente invención, la consulta de contenido está en la forma de una consulta de base de datos, tal como una función de consulta soportada por la base de datos SQL de Microsoft Corporation. La consulta de base de datos incluye un grupo de criterios para determinar el contenido coincidente. En una modalidad ilustrativa de la presente invención, la consulta incluye una solicitud para hacer coincidir todo el contenido en donde el usuario, identificado por una señal de seguridad de SID de usuario, puede tener acceso. Además, la consulta puede incluir cualquier número de criterios adicionales, tales como búsqueda de contraseñas, tipos de archivo, rangos de fechas, etc., que se pueden utilizar para hacer coincidir el contenido. El sistema de almacenamiento de dispositivo de cómputo después puede aceptar la consulta e identificar cualquier contenido que coincida con los criterios de consulta. Un aspecto en la técnica apreciará que algunas o todas las porciones de la fila de consulta, tal como el SID de usuario, pueden ser introducidas automáticamente sin requerir de una entrada de usuario adicional. Alternativamente, alguna porción de la fila de consulta, tal como los criterios de búsqueda adicionales, puede ser especificada por el usuario en el momento en que se solicita la búsqueda, o se puede predeterminar como parte de una configuración del dispositivo de cómputo.
En el bloque de decisión 606, se conduce una prueba para determinar si existen dispositivos de cómputo adicionales conectados a la red 100. En una modalidad ilustrativa de la presente invención, la prueba para los dispositivos de cómputo adicionales puede corresponder a una emisión de cada dispositivo de cómputo conectado a la red. Alternativamente, la prueba para dispositivos de cómputo adicionales puede ser limitada a un subgrupo específico de dispositivos de cómputo definidos por un administrador de sistema o el usuario. Si existen dispositivos de cómputo adicionales dentro de la red, en el bloque 608, el dispositivo de cómputo asociado con el usuario envía consultas de contenido al dispositivo de cómputo adicional. En una modalidad ilustrativa de la presente invención, ya que el perfil de seguridad del usuario, por ejemplo, SID, es replicado a cada dispositivo de cómputo, la consulta de contenido puede ser idéntica. Alternativamente, si un perfil de seguridad de usuario cambio, cada consulta de contenido puede ser única para adaptarse a varios identificadores de seguridad de usuario. Los bloques 606 y 608 se repetirán hasta que todos los dispositivos de cómputo, dentro de la red 100, o subgrupo' de dispositivos de cómputo, hayan sido consultados. De acuerdo con una modalidad ilustrativa de la presente invención, los resultados de la consulta son transmitidos al dispositivo de cómputo consultante en la forma de un identificador de contenido y una trayectoria para localizar el contenido, tal como una trayectoria de Ubicación de Nombre Uniforme ("UNC"). Como se describió antes, el contenido no necesita ser movido al dispositivo de cómputo solicitante. Además, el dispositivo de cómputo solicitante no necesita hacer una copia del contenido. Más aún, en una modalidad ilustrativa de la presente invención el dispositivo de cómputo puede mantener una copia de una respuesta de solicitud de contenido previamente recibida de la computadora remota en la memoria, tal como RAM o memora caché. Además de emitir una nueva solicitud de contenido del dispositivo de cómputo remoto, el dispositivo de cómputo puede llamar de nuevo a la solicitud de contenido previamente recibida para el mismo dispositivo de cómputo remoto y comenzar el procesamiento de la solicitud de contenido previamente recibida. Una vez que se recibe la nueva solicitud de contenido, el dispositivo de cómputo puede actualizar la respuesta y almacenar los nuevos resultados para uso subsecuente. Una vez que todos los dispositivos de cómputo en red han sido consultados, en el bloque de decisión 610, se conduce una prueba para determinar si existen cualesquiera dispositivos de cómputo previamente en red que actualmente no estén disponibles. Un experto en la técnica apreciará que cualquier número de dispositivos de cómputo puede estar temporalmente no disponible tal como estando apagados, fuera de la escala de comunicación inalámbrica o no en realidad conectados a una conexión de red. Si existen dispositivos de cómputo previamente en red que no estén actualmente disponibles, en el bloque 612, el dispositivo de cómputo intenta volver a llamar a un resultado de solicitud de contenido previamente almacenado para el dispositivo de cómputo no disponible. Una vez que todos los dispositivos de cómputo han sido consultados, en el bloque 614, el dispositivo de cómputo solicitante produce el resultado de las consultas de contenido como una lista agregada. En una modalidad ilustrativa de la invención, el dispositivo de cómputo puede filtrar, o de otra manera procesar los resultados producidos. Además, el dispositivo de cómputo puede obtener, guardar en memoria caché o de otra manera almacenar los resultados producidos para utilizarse en la creación de lista agregada subsecuente. En el bloque 616, la vista de identificador de contenido producida es generada y presentada al usuario para manipulación. En una modalidad ilustrativa de la invención, los resultados de la producción son representados a los usuarios en una vista plana incluyendo el contenido de todos los dispositivos de cómputo. Además, en la modalidad ilustrativa, el origen del contenido inicialmente no es presentado al usuario. Sin embargo, un experto en la técnica apreciará que el dispositivo de cómputo solicitante puede realizar una filtración u organización adicional para presentar el contenido coincidente al usuario. Por ejemplo, el dispositivo de cómputo solicitante puede clasificar el contenido solicitante a través de varios atributos, tales como tamaño de datos, tipo de datos, título, criterios de fecha, similares. Además, la ubicación del origen del contenido puede ser provista directamente al usuario, ya sea como parte de la vista inicial o como parte de los datos adicionales disponibles en la solicitud del usuario. Aún más, en el caso en el que uno de los dispositivos de cómputo no esté disponible, la vista producida puede ser representada al usuario con indicaciones visuales especiales, tales como ¡conos transparentes, para indicarle al usuario que el contenido probablemente está almacenado en el dispositivo de cómputo no disponible pero realmente no puede ser accedido. En otra modalidad ilustrativa, el dispositivo de cómputo puede utilizar un registro previamente almacenado de la vista agregada y compararlo con una vista agregada actual. El dispositivo de cómputo después puede indicar que archivos han sido modificados, removidos o agregados. En el bloque 618, la rutina 600 termina. Las Figuras 7A-7D son diagramas de bloques que ilustran las varias presentaciones de pantalla para presentar ¡dentificadores de contenido producidos en una vista de lista agregada de acuerdo con una modalidad ilustrativa de la invención. Con referencia a la Figura 7A, la presentación de pantalla 700 puede ¡ncluir una primera porción de presentación 702 para permitir que un usuario seleccione varias ubicaciones de archivo de interés. La presentación de pantalla 700 también puede ¡ncluir una segunda porción de presentación 704 para presentar contenido específico almacenado en un espacio de archivo seleccionado. Con referencia al ejemplo previo de las Figuras 2-5, si un usuario fuera a iniciar una solicitud de vista agregada manipulando el icono gráfico 706 que corresponde a "Mis Documentos", o de otra manera que inicia una solicitud para ver todos los archivos que corresponden al usuario actual, el dispositivo de cómputo podría ejecutar la rutina 600. Los tres archivos resultantes 110, 112, 114 después podrían ser presentados al usuario en la segunda porción de presentación 704 sin la necesidad de que el usuario conozca el origen del contenido. En contraste, de acuerdo con el manejo de sistema de archivo tradicional, el usuario podría necesitar el acceso a cada sistema de archivo de dispositivo de cómputo independientemente para identificar la ubicación de cada archivo particular de interés. Por ejemplo, si los archivos 110, 112 y 114 corresponden a los iconos 708, 710 y 712, respectivamente, el usuario típicamente podría necesitar del acceso a cada icono en forma separada para ver los mismos archivos creados por la vista agregada. Haciendo referencia a la Figura 7B, uno o más de los ¡dentificadores de contenido en la segunda porción de la presentación de pantalla 700 puede ¡ncluir indicaciones visuales para ayudar a usuario. Por ejemplo, si un dispositivo de cómputo actualmente no está conectado a la red y el dispositivo de cómputo solicitante ha utiliza una solicitud de contenido previamente guardada en memoria caché o archivada, el contenido puede distinguirse visualmente como se ¡lustra para el archivo 112. En una modalidad ilustrativa de la presente invención, el contenido no disponible puede ser presentado con un borde punteado y/o en una forma semitransparente. En otro ejemplo, el contenido que ha sido determinado por el dispositivo de cómputo de haber sido modificado desde una solicitud de vista agregada previa, puede ser resaltado al usuario como se ilustra para el archivo 114 En una modalidad ilustrativa de la presente invención, la pieza modificada de datos puede ser resaltada en la presentación de pantalla 700 Haciendo referencia a las Figuras 7C y 7D, el dispositivo de cómputo automáticamente puede clasificar las solicitudes de contenido coincidentes producidas Además, el dispositivo de cómputo puede obtener entrada de usuario para clasificar las solicitudes de contenido coincidentes producidas En una modalidad ilustrativa de la presente invención, el contenido coincidente producido puede ser agrupado de acuerdo con la ubicación del contenido Con referencia a la Figura 7C, la presentación de pantalla 700 puede incluir identificadores adicionales 714, 716, 718 que indican la identidad de la ubicación También se pueden presentar niveles adicionales de ubicaciones de almacenamiento en la presentación de pantalla 700 En otra modalidad de la invención, el contenido coincidente producido puede ser agrupado de acuerdo con vanos atributos de los datos Con referencia al a Figura 7D, la presentación de pantalla puede incluir una vista de lista que muestra el títulos de los datos, el tamaño de los datos en el almacenamiento y el tipo de archivo de datos Si los datos fueron almacenados por tamaño como se ilustra en la Figura 7D, el Archivo A 720 podría estar en la parte superior de la lista, seguido por el Archivo C 722, y Archivo B 724 En esta modalidad ilustrativa, un usuario puede cambiar la clasificación de criterios manipulando la presentación de pantalla 700 Aunque las Figuras 7C y 7D ilustran vanos ejemplos de clasificación, un experto en la técnica apreciará que se podrían incluir criterios de clasificación adicionales y/o presentaciones de pantalla dentro del alcance de la presente invención. Haciendo referencia a la Figura 8, se describirá una rutina 800 para manipular el contenido en una vista agregada. En el bloque 802, se obtiene una solicitud para manipular contenido presentado en una vista agregada. Un experto en la técnica apreciará que la manipulación de contenido puede incluir la abertura de un archivo de datos con una aplicación de software huésped, modificación de contenido, eliminación de contenido, copiado de contenido y/o movimiento de contenido. En el bloque 804, el dispositivo de cómputo solicitante obtiene un identificador de seguridad de la base de datos de información de seguridad local 108. En el bloque de decisión 806, se conduce a una prueba para determinar si el contenido seleccionado está localmente almacenado. Si el contenido está localmente almacenado, en el bloque 808, el dispositivo de cómputo procesa la solicitud con la información de seguridad local para determinar si el usuario está autorizado para manipular el ' contenido seleccionado. Si el contenido no está almacenado localmente, en el bloque de decisión 810, se conduce una prueba para determinar si una copia de los datos solicitados es mantenida localmente por el dispositivo de cómputo. En una modalidad ilustrativa de la invención, el dispositivo de cómputo puede mantener copias de documentos previamente accedidos en una memoria volátil, tal como una memoria caché del dispositivo de cómputo. Si una copia del archivo está localmente disponible, la rutina 800 prosigue al bloque 808 para procesar la solicitud con información de seguridad local, como se describió anteriormente. Si una copia del archivo solicitado no está mantenida localmente, en el bloque 812, el dispositivo de cómputo solicitante transmite la información de seguridad de usuario particular como una señal junto con una solicitud para manipular el contenido al dispositivo de cómputo que en realidad almacena el contenido. El dispositivo de cómputo de recepción después utiliza la señal de seguridad para procesar la solicitud y transmite una respuesta. En el bloque 814, el dispositivo de cómputo emisor recibe la respuesta del dispositivo de cómputo de recepción. Si la manipulación queda autorizada en el bloque 808 o en el bloque 812, el usuario puede manipular el contenido en el bloque 816. La rutina 800 termina en el bloque 818. Además de consultar el contenido (objetos de datos) con almacenamiento distribuido en un sistema de computadora en red (por ejemplo, red 100 como se muestra en la Figura 2) como se discutió previamente, un usuario por lo regular utiliza varios sistemas de computadora. El usuario, por ejemplo, puede tener una computadora de escritorio en casa o en el trabajo y una computadora portátil que el usuario usa mientras está viajando. En tales casos, el usuario puede crear o modificar archivos en un sistema de computadora. El usuario por lo regular desea sincronizar archivos (que el usuario crea o modifica en un sistema de computadora) con otro sistema de computadora. Las siguientes modalidades ilustrativas de la invención apoyan la sincronización de objetos de datos como escenarios de usuario asociados La Figura 9 ilustra un ambiente en donde un sistema y método para la sincronización de archivos par a par u otro contenido puede operar, de acuerdo con una modalidad ilustrativa de la invención Un usuario puede utilizar o tener acceso a un grupo de múltiples computadoras, clientes u otras máquinas para usarse en negocios, en usos personales u otros usos, incluyendo una primera máquina 902, ilustrativamente una computadora de escritorio, y una segunda máquina 914, ilustrativamente una computadora portátil u otra computadora móvil Otras computadoras, clientes u otras máquinas pueden ser sincronizados, incluyendo, por ejemplo, teléfonos celulares habilitados por red, clientes de correo electrónico habilitados por red, asistentes digitales personales habilitados por red, reproductores de medios habilitados por red, u otro hardware En operación como se muestra, la primera máquina 902 y la segunda máquina 914 pueden ser conectadas a través de la conexión 918, tal como una conexión de Conductor Común en Sene Universal, conexión de FireWire™, conexión de BlueTooth™, conexión de WiFi™, u otra conexión mediante cables, inalámbrica, óptica u otra conexión o canal De acuerdo con las modalidades ilustrativas de la invención, la conexión 918 puede ser continuamente mantenida como en una red de área local (LAN) o de otra manera, o en algunas modalidades puede ser conectada en forma intermitente entre dos o más máquinas participantes De acuerdo con modalidades ilustrativas de la invención, la primera máquina 902 puede generar y presentar una interfase de usuario 904, tal como una interfase de usuario gráfica, interfase de línea de comando, ¡nterfase activada por voz, u otra interfase para permitir que el usuario tenga acceso aplicaciones, archivos, sistema operativo, y otros recursos. De acuerdo con modalidades ilustrativas como se muestra, el usuario puede tener acceso a una interfase de sincronización 906 para activar, seleccionar y manejar archivos u otras funciones de sincronización. La interfase de sincronización 906 puede ser alojada dentro de un sistema operativo de la primera máquina 902, o en otras modalidades se puede incorporar en una o más aplicaciones, módulos u otros recursos. De acuerdo con modalidades ilustrativas como se muestra, la interfase de sincronización 906 puede presentar al usuario selecciones y opciones para identificar, activar y manejar eventos de sincronización entre la primera máquina 902 y la segunda máquina 914, u otras máquinas u objetivos. En general, aquellas actividades de sincronización pueden involucrar la sincronización de archivos seleccionados o descubiertos, carpetas, directorios, volúmenes, discos u otro contenido, información, almacenamiento o medios entre máquinas participantes. De acuerdo con la modalidad ilustrativa de la invención, el usuario puede manipular la interfase de sincronización 906 para seleccionar un grupo de archivos sincronizados 926 para sincronizar o recorrer a través de máquinas o sistemas participantes. El grupo de archivos sincronizados 926, por ejemplo, puede contener archivos u otro contenido identificado desde el interior de un grupo de archivos locales 912 almacenado en la primera máquina 902, así como dentro de otro grupo de archivos locales 916 almacenado en la segunda máquina 914, u otros archivos o información. El grupo de archivos sincronizados 926 puede ser identificado, almacenado y manejado por una máquina de sincronización 908 alojada en la primera máquina 902. La máquina de sincronización 908 puede comunicarse con un registro de sistema de archivo 910 mantenido en la primera máquina 902, para rastrear y registrar el estado de archivos, carpetas, directorios, volúmenes u otro contenido o información designada para la sincronización o recorrido en el grupo de archivos sincronizados 926, o de otra manera. En modalidades ilustrativas, la segunda máquina 914 u otra máquina participante así mismo puede mantener la misma lógica o una lógica similar en la forma de otro caso de máquina de sincronización 908, registro de sistema de archivo 910 y otros recursos de manejo de archivo, cada uno de los cuales en algunas modalidades otra vez pueden estar almacenados en un sistema operativo u otros recursos. De acuerdo con modalidades ilustrativas de la invención, el grupo de archivos sincronizados 926 también puede ser configurado para incluir directorios, carpetas u otras fuentes más comúnmente utilizadas por los usuarios, por ejemplo, carpetas ilustrativas tales como Mis Documentos, Mi Música, Escritorio, Favoritos, u otras carpetas o fuentes. Los directorios, carpetas u otras fuentes comúnmente utilizados pueden ser configurados para aconsejar automáticamente su habilidad para sincronizar en la máquina de sincronización 908 u otros recursos para la fácil selección o activación por parte del usuario aceptando o resaltando aquellas fuentes y un destino de sincronización. Las carpetas, directorios u otras fuentes pueden ser seleccionados o configurados para sincronización, los cuales no son específicos a un usuario, por ejemplo, carpetas u otro contenido que sean globales al sistema de sincronización incluyendo carpetas de proyecto de tarea orientada, carpetas públicas tales como carpetas de la forma c:\usuarios\publico, u otras carpetas, directorios u otras fuentes. En estas y otras modalidades de la invención, las carpetas, directorios y otras fuentes pueden ser automáticamente descubiertas a través de la lógica de descubrimiento en cualquiera de una o más máquinas, además de o en lugar de especificación manual de ese contenido. Así mismo, en algunas modalidades de la invención, además de o en lugar de registrar manualmente una dirección o identificador para máquinas de destinos, las máquinas que pueden ser candidatas para incluirse en el grupo de máquinas participantes también pueden ser detectadas automáticamente utilizando lógica de descubrimiento, tal como la lógica que puede detectar máquinas conectadas en una red de área local, o de otra manera. Para propósitos de manejo de sincronización, la máquina de sincronización 908 en la primera máquina 902, la segunda máquina 914 o de otra manera, pueden detectar el estado de conexión de la primera máquina 902, según la máquina 914, u otras máquinas o hardware para determinar aquellas ocasiones cuando esas máquinas disfrutan de conectividad entre sí u otro hardware participante, a través de la conexión 918 u otras conexiones o canales. Por ejemplo, la máquina de sincronización 908 puede establecer una conexión a través de puertos de comunicación disponibles de la primera máquina 902, segunda máquina 914 u otras máquinas participantes, incluyendo un túnel a través de recursos de pared contra fuego según sea apropiado. Cuando se establece la conectividad, por ejemplo, a través de un USB o conexiones inalámbricas, la máquina de sincronización 908 en la primera máquina 902 puede autenticar las máquinas participantes para asegurar que la sincronización de archivo está siendo iniciado apropiadamente. Cuando una conexión autenticada es verificada, la máquina de sincronización 108 en la primera máquina 902 puede iniciar el recorrido de archivo automático, formación de imagen o actividad de sincronización entre las máquinas participantes. Por ejemplo, la máquina de sincronización 908 en la primera máquina 902 puede tener acceso al grupo de archivos sincronizados 926 para determinar que archivos, carpetas, directorios, volúmenes u otro contenido localizado en la primera máquina 902 necesita ser transferido a la segunda máquina 914, y así mismo qué contenido similar localizado en la segunda máquina 914 necesita ser transferido a la primera máquina 902 para mantener un grupo coherente o consiste de archivos u otra información entre esas maquinas. La máquina de sincronización 908 en la primera máquina 902 de esta manera puede examinar el registro de sistema de archivo 910 de la primera máquina 902 o el registro de sistema de archivo 910 de la segunda máquina 914 con el fin de examinar el estado, comportamiento o historia de los archivos y otro contenido en la máquina participante. El estado, comportamiento, historia u otros metadatos o información con respecto al grupo de archivos sincronizados 926 pueden incluir información no meramente de estampa de fecha indicando la edición, descarga o acceso más reciente de un archivo, sino que más información tal como el tamaño de archivo, tipo de archivo, información con respecto a versiones previas o transmisiones de un archivo, y otra información. El acceso a esta y otra información con respecto al estado del archivo y otro contenido en máquinas participantes, la máquina de sincronización 908 de la primera máquina puede eliminar, copiar, editar, reformatear, cambiar la ubicación almacenada de o de otra manera manipular el grupo de archivos sincronizados 926 en una o más ubicaciones. Estas acciones pueden ser realizadas para asegurar que la misma versión de un archivo dado es mantenida en una primera máquina 902, segunda máquina 914 y otras máquinas participantes. De acuerdo con modalidades ilustrativas de la invención, la máquina de sincronización en la primera máquina 902 puede aplicar lógica de sincronización delta a los archivos procesados con el fin de hacer que sólo esos archivos o porciones de archivos que han cambiado desde la última sincronización u otro punto sean recorridos o rastreados entre máquinas participantes. En modalidades ilustrativas de la invención que involucran LANs corporativas o de otra organización, un administrador de sistemas puede fijar la máquina de sincronización 908 de la primera máquina 902 u otras máquinas para restringir la propagación de ciertos archivos a ciertos usuarios, o aplicar otros controles de sincronización. Cuando se aplican permisos, se puede observar que los permisos deben ser dispuestos o arreglados de manera que los datos pueden emigrar con propiedad a través de todas las máquinas participantes para asegurar trayectorias de conexión a todos los destinos necesarios. Son posibles otras configuraciones de acuerdo con modalidades de la invención. De acuerdo con modalidades ilustrativas de la invención, el usuario, administrador o parámetros de sistema operativo pueden fijar el manejo de sincronización, transferencia de archivo y otras actividades realizadas por la máquina de sincronización 908 de la primera máquina 902, la máquina de sincronización 908 de la segunda máquina 914 u otros recursos para ejecutar a un nivel deseado de prioridad para operar como una tarea anterior, o para suspender y reasumir actividades de transferencia de archivo hasta que se establece o se vuelve a establecer la conectividad de banda ancha, o tomar otras acciones en otros momentos o bajo otras condiciones. De . acuerdo con modalidades ilustrativas de la invención, la primera máquina 902, la segunda máquina 914 y otras máquinas participantes, clientes, dispositivos o hardware, por ejemplo, pueden ser identificados por un servicio de nombre del dominio (DNS) u otra dirección o identificador La máquina de sincronización 908 de la primera máquina 902, la máquina de sincronización 908 de la segunda máquina 914 u otros casos de máquina de sincronización o lógica pueden emplear lógica descubrimiento automático para detectar cuándo aparecen otras máquinas participantes en el Internet u otras redes, de manera que las máquinas pueden reasumir la actividad de sincronización con otras máquinas en cualquier punto durante el cual disfruten de Internet u otra conectividad El usuario selectiva o arbitrariamente puede seleccionar aquellos archivos u otro contenido fuente que el usuario desee replicar, recorrer o sincronizar entre el grupo de máquinas participantes del usuario, a partir de una o más de estas máquinas, sin restricción Además, la primera máquina 902, la segunda máquina 914 y cualquier otra máquina participante pueden compartir un grupo de archivos sincronizados 926 en una base en grupo, pero aquellas máquinas no necesitan estar directamente conectadas en conjunto o conectadas en conjunto al mismo tiempo para realizar las operaciones de sincronización de la invención Más bien, la actividad de sincronización puede tomar lugar automática y oportunamente dependiendo de la conexión, red y otras condiciones para cada máquina o subgrupo o sub-red de máquinas (Se puede observar que en dichas modalidades ilustrativas, el grupo de máquinas participantes puede, sin embargo, ser capaz de obtener una red totalmente en puente o conectada en una base total o acumulativa, aún si las máquinas, subgrupos o sub-redes de máquinas se conectan en diferentes momentos, diferentes lugares o utilizando diferentes tipos de conexiones de red). Un usuario puede seleccionar designar todos los archivos localizados en la primera máquina 902, segunda máquina 914 o de otra manera ser recorridos o sincronizados a otra máquina participante, para efectuar un respaldo de esos archivos fuente, si se desea. De acuerdo con modalidades ilustrativas de la invención en la Figura 10, la lógica de sincronización 908 de la primera máquina 902, la lógica de sincronización de la segunda máquina 914 u otra lógica o casos pueden aplicar una lógica de manejo de versión 1020 junto con la realización de transferencia y actualizaciones de archivo. En las modalidades ilustrativas mostradas, cuando la lógica de sincronización 908 detecta un conflicto de versión entre dos casos de un archivo (por ejemplo, un archivo más antiguo se está preparando para sobrescribir una versión más nueva de ese mismo archivo), la lógica de manejo de versión 1020 puede presentar al usuario un diálogo o consulta para resolver aquel conflicto para renombrar o mover el archivo obsoleto, para sustituir otra versión del archivo, o tomar otra acción. Se pueden detectar conflictos a base de versión u otros conflictos. En algunas modalidades, diferentes de o además de presentar al usuario con una interfase rica para manejo de excepción, la lógica de manejo de versión 1020 también puede aplicar reglas automáticas o procesar archivos o datos en conflicto, tales como ejecutar una función de comparación para evitar o guardar archivos en conflicto, o de otra manera procesar las versiones que difieren. Otra vez se puede observar que en modalidades ilustrativas de la invención, tal como en la Figura 11, más de dos máquina pueden participar en la sincronización de archivo y funciones relacionadas en la misma base automática. Una colección de máquinas como se muestra, puede incluir por lo menos una primera máquina 902, una segunda máquina 914, una tercera máquina 1122, una cuarta máquina 1124 u otras máquinas, clientes, computadoras o dispositivos para sincronizar archivo seleccionado u otro contenido. En modalidades ilustrativas, las máquinas pueden ser conectadas directamente a través de una conexión mediante cables tales como la conexión 918 ilustrada en la Figura 9, o a través de otra conexión mediante claves, inalámbrica u óptica, incluyendo interfases de aire para teléfonos celulares habilitados por red. Sin embargo, el usuario puede iniciar la sincronización selectiva de archivos deseados con un esfuerzo de configuración comparativamente pequeño, y sin la necesidad de o basarse en un almacenamiento intermediario, recurso lógico o de control, tal como un servidor de respaldo de Internet. Las modalidades de la invención, por lo tanto, pueden mejorar la confiabilidad, velocidad e interoperabilidad de las operaciones de recorrido de archivo. La Figura 12 ilustra un procesamiento completo de compartición y sincronización de archivo, de acuerdo con modalidades ilustrativas de la invención. En el paso 1202, el procesamiento puede comenzar. En el paso 1204, un usuario puede iniciar o registrarse en una primera máquina 902, tal como una computadora personal, computadora portátil o móvil, un teléfono celular habilitado por red, u otro cliente, máquina, hardware o dispositivo. En el paso 1206, el usuario puede seleccionar o activar un grupo de archivos fuente, carpetas, directorios u otros archivos fuente, ubicaciones fuente, u otra información o contenido, resaltando un grupo de archivos en la primera máquina 902 u otra ubicación. En el paso 1208, el usuario puede designar un grupo de archivos sincronizados 926 para ser automáticamente sincronizados y manejados entre un grupo de computadoras de trabajo u otras máquinas. En el paso 1210, el estado de conexión de red de la máquina designada o máquinas puede ser automáticamente descubierto por la máquina de sincronización 908 u otra lógica. En el paso 1212, el usuario puede seleccionar o la máquina de sincronización 908 puede recuperar, una designación almacenada de una o más máquinas de destino para la sincronización de archivo u otros datos. En el paso 1214, una conexión 918 tal como un USB u otra conexión mediante cables o inalámbrica puede ser establecida y autenticada para conectarse a la máquina o máquinas seleccionadas, tal como una segunda máquina 914 u otra computadora, máquina, cliente o hardware. En el paso 1216, la máquina de sincronización 908 u otra lógica de control puede iniciar la transferencia de archivos del grupo de archivos sincronizados 926 u otra transmisión de contenido entre la primera máquina 902 y la segunda máquina 914. En el paso 1218, la máquina de sincronización 908 de la primera máquina 902 o la segunda máquina 914 o ambas, puede aplicar manejo de derechos digitales o lógica de protección al grupo de archivos sincronizados 926 u otro contenido que se está transfiriendo. La máquina de sincronización 908 de cualquiera de una o más máquinas participantes automáticamente puede buscar autorización o licencias para replicar el archivo o contenido, tal como contenido de música u otro contenido de medios. En el caso que se niegue la autorización, la máquina de sincronización operativa 908 puede eliminar el archivo o archivos no autorizados de la máquina objetivo, notificar al usuario que una copia no autorizada ha sido removida, o tomar otra acción. En el paso 1220, la máquina de sincronización 908 ya sea de la primera máquina 902 o la segunda máquina 914, o ambas, puede aplicar la lógica de manejo de versión 1020 al grupo de archivos sincronizados 926 u otro contenido que está siendo transferido para atrapar casos de versiones inconsistentes de archivos, de versiones obsoletas de archivos que intentan ser copiados a través de versiones más nuevas, o detectar otros conflictos de versión. La lógica de manejo de versión 1020 puede presentar al usuario un diálogo para obtener su disposición preferida de conflictos de versión, tal como recorrer la versión de un archivo más actual, renombrar o respaldar versiones obsoletas de archivos, sustituir otros archivos por versiones en conflicto, o tomar otra acción. En el paso 1222, la máquina de sincronización 908 u otra lógica en una o más de las máquinas participantes puede actualizar el registro de sistema de archivo 910 ya que corresponde a la máquina local o hardware. En el paso 1224, el procesamiento puede repetir, regresar a un punto de procesamiento antepor, saltar a un punto„ de procesamiento adicional, o finalizar. En modalidades ilustrativas de la invención, el usuario puede consultar un sistema de computadora en red para objetos de datos así como iniciar la sincronización de objetos de datos seleccionados a través de múltiples computadoras en el sistema de computadora de red. (Un objeto de datos es una información de unidad individualmente dirigible. Ejemplos de objetos de datos ¡ncluyen archivos, carpetas, directorios, y medios electrónicos). Las modalidades ilustrativas de la invención, como se discutirá, soportan escenarios de usuario en donde los objetos de datos pueden ser replicados a través de múltiples computadoras en donde el usuario consulta el sistema de computadora de red para objetos de datos especificados. Las Figuras 13A-C ilustran escenarios para consultas de resultados con almacenamiento distribuido en una red de computadora de acuerdo con una modalidad de la invención. Los escenarios en las Figuras 13A-C corresponden a una red de computadora que consiste de computadoras personales 1301, 1303, 1305 y 1307. Como un ejemplo, el usuario de la computadora 1307 consulta archivos que fueron creados el 17 de junio de 2004 cuando el usuario trabajaba desde casa en la computadora de escritorio en red y la computadora portátil del usuario. En el ejemplo, los archivos A y B son documentos que el usuario creó en la computadora 1301, los archivos C y D son documentos que el usuario creo en la computadora 1303, y los archivos E y F son archivos con contenido de música. Los archivos X, Y, y Z (como asociados con la computadoras 1301, 1303 y 1305, respectivamente) fueron creados en una fecha diferente al 17 de junio de 2004. Haciendo referencia a la Figura 13A, la computadora 1301 almacena archivos A y B, la computadora 1303 almacena los archivos C y D, y la computadora 1305 almacena E y F. El usuario en la computadora 1307 genera una solicitud para consultar la red 1300 para obtener la identificación de objetos de datos que fueron creados el 17 de junio de 2004. La computadora 1307 subsecuentemente envía solicitudes de consulta con el criterio de fecha (17 de junio de 2004) a las computadoras 1301, 1303 y 1305. Consecuentemente, la computadora 1307 recibe una respuesta de la computadora 1301 con identidades para los archivos A y B, una respuesta de la computadora 1303 con identidades para los archivos C y D, y una respuesta de la computadora 1305 con identidades para los archivos E y F. La computadora 1307 combina las identidades para los objetos de datos especificados de las respuestas y presenta el resultado de consulta al usuario. El escenario mostrado en la Figura 13B es similar a la Figura 13A, excepto que los archivos E y F han sido replicados a la computadora 1301. (La replicación de los archivos fue previamente discutida, por ejemplo, Figura 12). De esta manera, la computadora 1301 almacena los archivos A, B, E y F, y la computadora 1303 almacena los archivos C y D, y la computadora 1305 almacena los archivos E y F. El usuario en la computadora 1307 genera una solicitud para consultar la red 1300 para obtener la identificación de objetos de datos que fueron creados el 17 de junio de 2004. La computadora 1307 después envía solicitudes de consulta con el criterio de fecha (17 de junio de 2004) a las computadoras 1301, 1303 y 1305. Consecuentemente, la computadora 1307 recibe una respuesta de la computadora 1301 con identidades para los archivos A, B, E, y F, una respuesta de la computadora 1303 con identidades para los archivos C y D, y una respuesta de la computadora 1305 con identidades para los archivos E y F. La computadora 1307 combina (fusiona) las identidades para los objetos de datos especificados de las respuestas y presenta el resultado de consulta al usuario. Sin embargo, como se discutirá con mayor detalle en la Figura 14, la computadora 1307 determina que los archivos E y F según identificados por la computadora 1301, son iguales a los archivos E y F que son identificados por la computadora 1307. Consecuentemente, el resultado de consulta que es presentado al usuario contiene los archivos E y F solamente una vez. De esta manera, el resultado de consulta indica los archivos A, B, C, D, E, y F en lugar de los archivos A, B, E, F, C, D, E, y F. Un archivo replicado típicamente tiene el mismo nombre a través de las máquinas objetivo. Sin embargo, las modalidades de la invención apoyan a archivos replicados que tienen diferentes nombres. El escenario mostrado en la Figura 13C es similar a la Figura 13A, excepto que los archivos E y F han sido replicados a la computadora 1301 y el archivo A ha sido replicado a la computadora 1307. De esta manera, la computadora 1301 almacena los archivos A, B, E, y F, la computadora 1303 almacena los archivos C y D, la computadora 1305 almacena los archivos E y F, y la computadora 1307 almacena el archivo A. El usuario en la computadora 1307 genera una solicitud para consultar la red 1300 para obtener la identificación de objetos de datos que fueron creados el 17 de junio de 2004. La computadora 1307 subsecuentemente envía peticiones de consulta con el criterio de fecha (17 de junio de 2004) a las computadoras 1301, 1303 y 1305. Sin embargo, la computadora 1307 ya ha replicado el archivo A y no consulta a la computadora 1301 sobre el archivo A. (En una modalidad, cuando la computadora 1307 consulta resultados, la computadora 1307 examina sus resultados guardados en memoria caché primero. Si la computadora 1307 encuentra un archivo, entonces la computadora 1307 modifica la consulta de salid para la máquina 1301, de manera que la máquina 1301 es consultada solamente para archivos que no están presentes en la computadora 1307). Consecuentemente, la computadora 1307 recibe una respuesta de la computadora 1301 con identidades para los archivos B, E, y F, y una respuesta de la computadora 1303 con identidades para los archivos C y D, y una respuesta de la computadora 1305 con identidades para los archivos E y F. La computadora 1307 combina las identidades para los objetos de datos especificados de las respuestas y presenta el resultado de consulta al usuario. La Figura 14 muestra un diagrama de flujo 1400 que soporta consultas a computadoras en red con almacenamiento distribuido de acuerdo con una modalidad ilustrativa de la invención. En el paso 1401, la computadora del usuario (por ejemplo, computadora 137) recibe una solicitud de consulta a través de una ¡nterfase de usuario (por ejemplo, la ¡nterfase de usuario 1507 como se muestra en la Figura 15). En el paso 1403, la computadora de usuario (computadora local) determina objetos de datos replicados en la computadora del usuario y no consulta computadoras en red (computadoras remotas) sobre objetos de datos replicados que están almacenados en la computadora del usuario. Consecuentemente, el funcionamiento para ejecutar la consulta puede ser mejorado. En el paso 1405, la computadora del usuario consulta las computadoras en red sobre los objetos de datos restantes. La computadora del usuario recibe respuestas de la computadora en red en el paso 1407. En el paso 1409, un objeto de datos especificado es identificado solamente una vez. El paso 1411 fusiona las identidades de los objetos de datos especificados que están almacenados en las computadoras en red así como los objetos de datos que están almacenados en la computadora del usuario. El resultado de consulta, según determinado por el paso 1411, puede ser presentado usuario a través de la interfase de usuario. Además de que el proceso 1400 proporciona una sola vista de objetos especificados en el sistema de computadora en red, el proceso 1400 puede ser expedido de manera que los objetos especificados que no están almacenados en una computadora en red pueden ser replicados a la computadora en red. Por ejemplo, como se muestra en la Figura 13C, los resultados de consulta muestran los archivos A, B, C, D, E, y F, mientas que sólo el archivo A esta almacenado en la computadora 1307. La sincronización de archivo después puede ser iniciada de manera que los archivos B, C, D, E y F también están almacenados en la computadora 1307. La Figura 15 muestra el sistema de computadora 1500 que consulta computadoras en red con almacenamiento distribuido a través de la red 1513 de acuerdo con una modalidad ilustrativa de la invención. En una modalidad ilustrativa de la invención, el sistema de computadora 1500 se basa en una plataforma de computadora como se muestra en la Figura 1. El sistema de computadora comprende un módulo de servicio de consulta de contenido 1501, una estructura de datos de replicación 1503, una estructura de datos de estado par 1505, una interfase de usuario 1507, una interfase de red 1509, y memoria caché 1511. La interfase de usuario 1507 puede interferir con dispositivos de entrada de usuario (por ejemplo, un teclado) y dispositivos de salida de usuario (por ejemplo, un dispositivo de presentación).
Cuando se solicita por un usuario a través de la interfase de usuario 1507, el módulo de servicio de consulta de contenido 1501 ejecuta el proceso 1400 como se muestra en la Figura 14. El módulo de servicio de consulta de contenido 1501 consulta computadoras en red y recibe respuestas de las computadoras en red a través de la interfase de red 1509 y la red 1513. Si el módulo de servicio de consulta de contenido 1501 determina que una computadora en red está fuera de línea, entonces el módulo de servicio de consulta de contenido 1501 se abstiene de enviar una consulta a la computadora en red fuera de línea. En tal caso, el módulo de servicio de consulta de contenido 1501 puede consultar a la memoria caché (memoria volátil local 1511) sobre los objetos de datos más recientemente accedidos de la computadora en red fuera de línea. También, el módulo de servicio de consulta de contenido 1501 almacena información sobre objetos de datos replicados en una estructura de datos de replicación 1503. Por ejemplo, si un archivo que está almacenado en el sistema de computadora 1500 también es replicado en una computadora en red, el módulo de servicio de consulta de contenido 1501 no consulta computadoras en red sobre le objeto de datos replicado. En una modalidad de la invención, el módulo de servicio de consulta de contenido 1501 utiliza un índice de búsqueda para determinar en donde reside un archivo. Si un archivo ha sido replicado localmente, entonces el índice de búsqueda en la máquina local contendrá el nombre del archivo. Cuando el módulo de servicio de consulta de contenido 1501 recibe respuestas de las computadoras en red, el módulo de servicio de consulta de contenido 1501 fusiona las identificaciones de los objetos de datos seleccionados y puede presentar el resultado de consulta al usuario a través de la interfase de usuario 1507. Como se puede apreciar por algún experto en técnica, un sistema de computadora con un medio legible por computadora asociado que contiene instrucciones para controlar el sistema de computadora puede ser utilizado para implementar las modalidades ilustrativas que se describen aquí. Aunque la materia objeto ha sido descrita en un lenguaje específico a aspectos estructu.rales y/o actos metodológicos, se debe entender que la materia objeto definida en las reivindicaciones anexas necesariamente no está limitada a las características especificas o actos descritos anteriormente. Más bien, los aspectos específicos y actos descritos anteriormente se describen como formas ilustrativas para ¡mplementar las reivindicaciones.

Claims (20)

REIVINDICACIONES
1. Un medio legible por computadora que tiene instrucciones ejecutables por computadora almacenadas en el mismo en un sistema de computadora local conectado a una red de computadora, dichas instrucciones configuradas para realizar un método que comprende los pasos de: (a) obtener una solicitud para identificar objetos de datos especificados de acuerdo con un criterio; (b) determinar los objetos de datos especificados que se almacenan en el sistema de computadora local y que corresponden a un grupo de identificación local de los objetos de datos especificados; (c) consultar un primer sistema de computadora en la red de computadora para los objetos de datos especificados que no están almacenados en la computadora local; (d) obtener un primer grupo de identificación de los objetos de datos especificados que están almacenados en el primer sistema de computadora; y (e) fusionar el grupo de identificación local y el primer grupo de identificación para formar un grupo de identificación fusionado.
2. El medio legible por computadora de acuerdo con la reivindicación 1, que tiene instrucciones ejecutables por computadora configuradas además para realizar el paso de: (f) generar un resultado del grupo de identificación fusionado.
3. El medio legible por computadora de acuerdo con la reivindicación 1, que tiene instrucciones ejecutables por computadora configuradas además para realizar los pasos de: (f) consultar un segundo sistema de computadora en la red de computadora para los objetos de datos especificados que no están almacenados en la computadora local; (g) obtener un segundo grupo de identificación de los objetos de datos especificados que están almacenados en el segundo sistema de computadora; (h) si el primer grupo de identificación y el segundo grupo de identificación contienen una identificación correspondiente de un objeto de datos replicado, mantener solamente una identificación para el objeto de datos replicado; y (i) fusionar el grupo de identificación local, el primer grupo de identificación, y el segundo grupo de identificación para formar un grupo de identificación fusionado.
4. El medio legible por computadora de acuerdo con la reivindicación 2, en donde (f) incluye instrucciones ejecutables por computadora configuradas además para realizar el paso de: presentar los resultados a un usuario.
5. El medio legible por computadora de acuerdo con la reivindicación 1, en donde la red de computadora incluye un tercer sistema de computadora y las instrucciones ejecutables por computadora además están configuradas para realizar los pasos de: (f) si el tercer sistema de computadora está en línea en la red de computadora, obtener un tercer juego de identificación de los objetos de datos especificados que están almacenados en el tercer sistema de computadora; y (g) fusionar el tercer grupo de identificación con el primer grupo de identificación y el grupo de identificación local.
6. El medio legible por computadora de acuerdo con la reivindicación 1, en donde la red de computadora incluye un tercer sistema de computadora y las instrucciones ejecutables por computadora configuradas además para realizar los pasos de: (f) si el tercer sistema de computadora está fuera de línea, obtener un tercer grupo de identificación de los objetos de datos especificados del tercer sistema de computadora a partir de una memoria caché.
7. El medio legible por computadora de acuerdo con la reivindicación 1, en donde (a) incluye instrucciones ejecutables por computadora configuradas además para realizar el paso de: determinar que los objetos de datos especificados están asociados con un identificador único que corresponde a un usuario.
8. El medio legible por computadora de acuerdo con la reivindicación 7, en donde el usuario es un propietario de los objetos de datos especificados.
9. El medio legible por computadora de acuerdo con la reivindicación 2, en donde el resultado está representado sin identificar ubicaciones asociadas de los objetos de datos especificados.
10. El medio legible por computadora de acuerdo con la reivindicación 2, que tiene instrucciones ejecutables por computadora configuradas además para realizar el paso de: (g) agrupar el resultado de acuerdo con un criterio de clasificación.
11. El medio legible por computadora de acuerdo con la reivindicación 10, en donde el criterio de clasificación corresponde a una ubicación de los objetos de datos especificados.
12. El medio legible por computadora de acuerdo con la reivindicación 1, que tiene instrucciones ejecutables por computadora configuradas además para realizar el paso de: (f) iniciar la solicitud en respuesta a la ocurrencia de un evento especificado.
13. El medio legible por computadora de acuerdo con la reivindicación 1, que tiene instrucciones ejecutables por computadora configuradas además para realizar el paso de: (f) limitar un número de sistemas de computadora remoto que son consultados para identificar los objetos de datos especificados.
14. El medio legible por computadora de acuerdo con la reivindicación 1, que tiene instrucciones ejecutables por computadora configuradas además para realizar el paso de: (f) sincronizar un objeto de datos basándose en el grupo de identificación fusionado.
15. El medio legible por computadora de acuerdo con la reivindicación 2, que tiene instrucciones ejecutables por computadora configuradas además para realizar el paso de: (g) resaltar una entrada en el resultado para indicar que un objeto de datos asociado ha sido modificado desde la generación de un resultado previo para identificar objetos de datos especificados.
16. Un sistema de computadora que consulta computadoras en red sobre objetos de datos distribuidos en una red de computadora, el sistema de computadora comprende: una interfase de red que habilita el sistema de computadora para comunicarse con un primer sistema de computadora y un segundo sistema de computadora en la red de computadora; un módulo de interfase de usuario; una estructura de datos de replicación que contiene una indicación de objetos de datos replicados; y un módulo de servicio de consulta de contenido que recibe una solicitud para identificar objetos de datos especificados de acuerdo con un criterio a partir de un usuario a través del módulo de interfase de usuario, que obtiene un primer grupo de identificación de los objetos de datos especificados almacenados en el primer sistema de computadora y un segundo grupo de identificación de los objetos de datos especificados almacenados en el segundo sistema de computadora, que elimina una identificación correspondiente de un objeto de datos replicado de uno de los grupos de identificación de acuerdo con la indicación de los objetos de datos replicados, y que fusiona el primer grupo de identificación y el segundo grupo de identificación.
17. El sistema de computadora de acuerdo con la reivindicación 16, que comprende además: una estructura de datos de estado par que proporciona información de estado para ver si una computadora remota está fuera de línea; y en donde el módulo de servicio de consulta de contenido bloquea una consulta para la computadora remota si la computadora remota está fuera de línea.
18. El sistema de computadora de acuerdo con la reivindicación 17, que comprende además: una memoria local que almacena objetos de datos previamente accedidos de la computadora remota; y en donde el módulo de servicio de consulta de contenido tiene un grupo de identificación asociado de los objetos de datos especificados de la memoria local con el primer grupo de identificación y el segundo grupo de identificación.
19. El sistema de computadora de acuerdo con la reivindicación 18, en donde la memoria local comprende una memoria caché.
20. Un medio legible por computadora que tiene instrucciones ejecutables por computadora almacenadas en el mismo en un sistema de computadora local conectado a una red de computadora, dichas instrucciones configuradas para realizar un método que comprende los pasos de: (a) obtener una solicitud para identificar objetos de datos especificados de acuerdo con un criterio; (b) determinar los objetos de datos especificados que se almacenan en el sistema de computadora local y que corresponden a un grupo de identificación local de los objetos de datos especificados; (c) consultar un primer sistema de computadora y un segundo sistema de computadora para los objetos de datos especificados que no están almacenados en la computadora local; (d) recibir una primera respuesta de la primera computadora con un primer grupo de identificación de los objetos especificados y una segunda respuesta del segundo sistema de computadora con el segundo grupo de identificación de los objetos de datos especificados; (e) si cada uno del primer grupo de identificación y el segundo grupo de identificación contiene una identificación correspondiente de un objeto de datos replicado, mantener solamente una identificación para el objeto de datos replicado; (f) fusionar el grupo de identificación local, el primer grupo de identificación, y el segundo grupo de identificación para formar un grupo de identificación fusionado; y (g) generar un resultado a partir del grupo de identificación fusionado.
MX2008000514A 2005-07-12 2006-07-10 Vista individual de datos en un sistema de computadora en red con almacenamiento distribuido. MX2008000514A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/179,433 US7765229B2 (en) 2005-07-12 2005-07-12 Single view of data in a networked computer system with distributed storage
PCT/US2006/027073 WO2007008996A2 (en) 2005-07-12 2006-07-10 Single view of data in a networked computer system with distributed storage

Publications (1)

Publication Number Publication Date
MX2008000514A true MX2008000514A (es) 2008-03-14

Family

ID=37637932

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2008000514A MX2008000514A (es) 2005-07-12 2006-07-10 Vista individual de datos en un sistema de computadora en red con almacenamiento distribuido.

Country Status (9)

Country Link
US (1) US7765229B2 (es)
EP (1) EP1902395A4 (es)
JP (1) JP2009501397A (es)
KR (1) KR20080031256A (es)
CN (1) CN101568919B (es)
BR (1) BRPI0613131A2 (es)
MX (1) MX2008000514A (es)
RU (1) RU2008101418A (es)
WO (1) WO2007008996A2 (es)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060101064A1 (en) 2004-11-08 2006-05-11 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
US7870478B1 (en) * 2005-10-31 2011-01-11 Adobe Systems Incorporated Repurposing subsections and/or objects
EP1939760A1 (fr) * 2006-12-20 2008-07-02 Gemplus Procédé et dispositif de gestion de données dans un environnement distribué
FR2911467B1 (fr) * 2007-01-17 2009-05-08 Avanquest Software Sa Procede de gestion d'une memoire d'un terminal
US8170989B2 (en) * 2007-07-16 2012-05-01 International Business Machines Corporation Method and system for document management and exchange
JP5575666B2 (ja) * 2008-02-22 2014-08-20 コーニンクレッカ フィリップス エヌ ヴェ 分散型線源によるx線イメージングのための高解像度の略静的セットアップ
US20090234872A1 (en) * 2008-03-11 2009-09-17 Microsoft Corporation Synchronization of disconnected/offline data processing/entry
US20090327405A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Enhanced Client And Server Systems for Operating Collaboratively Within Shared Workspaces
US8612381B2 (en) 2008-09-12 2013-12-17 International Business Machines Corporation Enhanced synchronization framework providing improved sync granularity
US8650634B2 (en) * 2009-01-14 2014-02-11 International Business Machines Corporation Enabling access to a subset of data
US20100262582A1 (en) * 2009-04-10 2010-10-14 Microsoft Corporation Content synchronization across multiple computers
US20140222758A1 (en) * 2009-08-14 2014-08-07 Ic Manage, Inc. Coherent File State Maintained Among Confederated Repositories By Distributed Workspace Apparatuses Backed Up By a File State Ledgerdemain Store
US20110040788A1 (en) * 2009-08-14 2011-02-17 Ic Manage, Inc. Coherent File State System Distributed Among Workspace Clients
KR100985166B1 (ko) * 2009-11-03 2010-10-05 (주)피스페이스 분산 저장 시스템에서 파일을 동기화하는 장치 및 방법
US8610924B2 (en) 2009-11-24 2013-12-17 International Business Machines Corporation Scanning and capturing digital images using layer detection
US8441702B2 (en) 2009-11-24 2013-05-14 International Business Machines Corporation Scanning and capturing digital images using residue detection
US20110179270A1 (en) * 2010-01-20 2011-07-21 The Provost, Fellows and Scholars of the College of the Holy and Undivided Trinity of Queen Elizab Data Retrieval System
US11308490B2 (en) * 2010-07-28 2022-04-19 Cox Communications, Inc. Security system and method that allows users to securely setup and maintain system security for all business systems
US20180046627A1 (en) * 2011-12-12 2018-02-15 International Business Machines Corporation Pattern triggers while searching an index of data being ingested into a distributed computing system
US20130159408A1 (en) * 2011-12-15 2013-06-20 Microsoft Corporation Action-oriented user experience based on prediction of user response actions to received data
US8880249B2 (en) * 2011-12-30 2014-11-04 General Electric Company System, method, and computer program for an integrated human-machine interface (HMI) of an engine-generator
US10055419B2 (en) * 2012-02-03 2018-08-21 Apple Inc. User interface for accessing documents from a computing device
US10057318B1 (en) * 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
CN103078926B (zh) * 2012-12-28 2016-03-30 华为技术有限公司 分布式存储系统的文件访问方法和装置以及系统
US20150046557A1 (en) * 2013-02-10 2015-02-12 Einar Rosenberg System, method and apparatus for using a virtual bucket to transfer electronic data
US9331964B2 (en) * 2013-02-26 2016-05-03 Creating Revolutions Llc System, method, and apparatus for using a virtual bucket to transfer electronic data
US20140351364A1 (en) * 2013-02-26 2014-11-27 Einar Rosenberg System, method, and apparatus for using a virtual bucket to transfer electronic data
WO2014174578A1 (ja) * 2013-04-22 2014-10-30 株式会社日立製作所 エッジサーバ及び記憶制御方法
GB2517159A (en) * 2013-08-13 2015-02-18 Sony Comp Entertainment Europe Data processing
CN105141569B (zh) * 2014-05-30 2019-06-21 华为技术有限公司 媒体处理方法及设备
CN109792553B (zh) 2016-08-07 2021-06-15 委瑞法传播有限公司 用于管理媒体的分布式数据存储器
US20180121465A1 (en) * 2016-11-01 2018-05-03 Microsoft Technology Licensing, Llc Network-based communication and file sharing system
USD849029S1 (en) * 2016-12-30 2019-05-21 Adobe Inc. Display screen with graphical user interface for a marketing campaign
USD845974S1 (en) * 2016-12-30 2019-04-16 Adobe Inc. Graphical user interface for displaying a marketing campaign on a screen
US10817895B2 (en) 2016-12-30 2020-10-27 Adobe Inc. Marketing campaign system and method
US11334596B2 (en) 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
CN114546273B (zh) * 2022-02-22 2023-08-04 苏州浪潮智能科技有限公司 聚合特性兼容多站点同步的方法、系统、设备和存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2067633C (en) * 1991-07-24 1996-10-01 Eric Jonathan Bauer Method and apparatus for accessing a computer-based file system
US5606693A (en) * 1991-10-02 1997-02-25 International Business Machines Corporation Distributed database management over a network
US5590319A (en) * 1993-12-15 1996-12-31 Information Builders, Inc. Query processor for parallel processing in homogenous and heterogenous databases
US7165174B1 (en) * 1995-02-13 2007-01-16 Intertrust Technologies Corp. Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights management
US5708812A (en) * 1996-01-18 1998-01-13 Microsoft Corporation Method and apparatus for Migrating from a source domain network controller to a target domain network controller
US6049809A (en) * 1996-10-30 2000-04-11 Microsoft Corporation Replication optimization system and method
US5968121A (en) * 1997-08-13 1999-10-19 Microsoft Corporation Method and apparatus for representing and applying network topological data
JP2000122910A (ja) * 1998-10-20 2000-04-28 Dainippon Printing Co Ltd データベースシステム、及びそのためのアクセス管理装置
US7076476B2 (en) * 1999-03-02 2006-07-11 Microsoft Corporation Method and system for integrated service administration via a directory service
US6751634B1 (en) * 1999-08-26 2004-06-15 Microsoft Corporation Method and system for detecting object inconsistency in a loosely consistent replicated directory service
US20030018694A1 (en) * 2000-09-01 2003-01-23 Shuang Chen System, method, uses, products, program products, and business methods for distributed internet and distributed network services over multi-tiered networks
JP2002189733A (ja) * 2000-12-22 2002-07-05 Mitsubishi Electric Corp データベース検索システム及び検索サーバ及びプログラムを記録したコンピュータ読み取り可能な記録媒体
US6879564B2 (en) * 2001-02-28 2005-04-12 Microsoft Corp. Method for designating communication paths in a network
US20020184361A1 (en) * 2001-05-16 2002-12-05 Guy Eden System and method for discovering available network components
US20030074421A1 (en) * 2001-08-14 2003-04-17 Mieko Kusano Internet access via specific server and via proprietary application for selecting and controlling content: remote and local
US8037181B2 (en) * 2002-06-28 2011-10-11 Microsoft Corporation Re-partitioning directories
US7536386B2 (en) * 2003-03-27 2009-05-19 Microsoft Corporation System and method for sharing items in a computer system
US7640324B2 (en) * 2003-04-15 2009-12-29 Microsoft Corporation Small-scale secured computer network group without centralized management
JP2005044155A (ja) * 2003-07-23 2005-02-17 I-O Data Device Inc マルチメディア情報機器及びそのファイル管理プログラム並びにマルチメディア情報機器ネットワークシステム及びそのシステムにおけるファイル管理方法
US7620679B2 (en) * 2003-10-23 2009-11-17 Microsoft Corporation System and method for generating aggregated data views in a computer network
US20050114777A1 (en) * 2003-11-26 2005-05-26 Yahoo, Inc. Calendar integration with instant messaging
CN1813251A (zh) * 2004-03-22 2006-08-02 网飞亚技术公司 基于流的内容分发网络系统、以及用于分割、合并和检索文件的方法
US8108429B2 (en) * 2004-05-07 2012-01-31 Quest Software, Inc. System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
US7739303B2 (en) * 2004-07-22 2010-06-15 International Business Machines Corporation Method, system and program product for verifying access to a data object
US8126870B2 (en) * 2005-03-28 2012-02-28 Sybase, Inc. System and methodology for parallel query optimization using semantic-based partitioning

Also Published As

Publication number Publication date
EP1902395A2 (en) 2008-03-26
CN101568919B (zh) 2013-01-16
WO2007008996A2 (en) 2007-01-18
US20070016586A1 (en) 2007-01-18
EP1902395A4 (en) 2011-07-06
JP2009501397A (ja) 2009-01-15
US7765229B2 (en) 2010-07-27
WO2007008996A3 (en) 2009-04-16
RU2008101418A (ru) 2009-07-20
BRPI0613131A2 (pt) 2011-01-11
CN101568919A (zh) 2009-10-28
KR20080031256A (ko) 2008-04-08

Similar Documents

Publication Publication Date Title
US7765229B2 (en) Single view of data in a networked computer system with distributed storage
US10001913B2 (en) Shared workspaces with selective content item synchronization
US20060242206A1 (en) System and method for peer to peer synchronization of files
US7937431B2 (en) System and method for generating aggregated data views in a computer network
JP2021534515A (ja) プラットフォームにわたってクラウドコンテンツアイテムを統合するための技術
US20150199414A1 (en) Locally cached file system
US20060095698A1 (en) Data processing method with restricted data arrangement, storage area management method, and data processing system
JP2008547118A (ja) 異種アプリケーションのための統一権限付与
CN103562926B (zh) 隔离应用的被代理项目访问
JP2020537212A (ja) クライアントデバイスによって実施されるコンテンツ管理システムのワークフロー機能
EP1394656A2 (en) Data management system, method of providing access to a database and security structure
US20180173886A1 (en) Collaborative Database to Promote Data Sharing, Synchronization, and Access Control
US10963430B2 (en) Shared workspaces with selective content item synchronization
US20230403283A1 (en) Enforcing granular access control policy
JP2007535753A (ja) 連絡先ベースのリソース共有を提供するユーザーインタフェースのためのシステムおよび方法
JP7486677B2 (ja) リンクプラットフォーム及びパートナーサービスによるリンクの共同管理
JP2006185150A (ja) ファイル管理システム、ファイル管理方法およびファイル管理プログラム
Park et al. Configuring Personalized Directories in File Sharing Systems
TWI227418B (en) Virtual library management system and method for storing data in specified region
Edge et al. Client Management
JP2009199231A (ja) 電子情報管理装置およびプログラム

Legal Events

Date Code Title Description
FA Abandonment or withdrawal