SISTEMA Y METODO DE ALMACENAMIENTO EN CINTA VIRTUAL ANTECEDENTES DE LA INVENCION La presente invención se refiere generalmente a un sistema y método para guardar archivos. La invención se refiere más específicamente a tal sistema y método en donde un usuario utiliza una terminal local para seleccionar archivos que van a ser guardados en una ubicación remota conectable a la terminal local a través de una conexión de telecomunicaciones de larga distancia. Se conocen varios sistemas para permitir que un usuario guarde archivos de computadora. El almacenamiento llamado "cercano" utiliza un medio de almacenamiento directamente conectado a un sistema local, tal como un segundo disco duro local, memoria en tablero u otro -dispositivo permanentemente unido. La cantidad de almacenamiento de datos está directamente relacionada con la capacidad total del dispositivo que es unido. Asi, un usuario no puede tener bastante espacio de almacenamiento físico disponible para adecuarse a sus necesidades. Además, existe un nivel significante de conocimiento requerido para unir un dispositivo de tal clase, formatearlo, y prepararlo para el uso general.. Además, puede ser alto el costo y el mantenimiento del dispositivo de almacenamiento mismo. Algunos sistemas de almacenamiento llamados "lejanos" (o "remotos") permiten a un usuario soportar archivos a través de una red a un medio físico para el almacenamiento fuera de línea. En tal sistema, el acceso a los datos guardados o guardados es un proceso relativamente lento. Además, usuarios múltiples no pueden simultáneamente accesar a los datos. Por consiguiente, existe una necesidad por un sistema que permita a un usuario guardar grandes cantidades de datos a una ubicación remota segura, particularmente un sistema de tal clase que permita el acceso relativamente rápido a los datos guardados y que permita a múltiples usuarios accesar a los mismos datos guardados. También existe una necesidad por un sistema de tal clase con una interfaz de usuario relativamente fácil de utilizar. La presente invención proporciona un sistema de tal clase. BREVE DESCRIPCION DE LA INVENCION La presente invención proporciona un sistema y método para guardar archivos a una ubicación remota de una terminal utilizada para seleccionar los archivos a ser guardados. La ubicación remota por lo menos incluye una memoria estable escribible y una computadora. La terminal de usuario tiene por lo menos acceso a una memoria de la cual . se pueden seleccionar los archivo a ser guardados. La terminal y la computadora son conectables sobre una conexió de telecomunicación de larga distancia tal como una conexión a Internet. Se nota que tales características pueden o no pueden ser incluidas en una modalidad particular de la invención como se resume en la presente, tal invención que es expuesta por las reivindicaciones . Un objeto de la invención es proporcionar un método y sistema mejorado para guardar archivos. BREVE DESCRIPCION DE LOS DIBUJOS La FIG. 1 es un diagrama de bloques de una forma de la presente invención. La FIG. 2 es un diagrama de bloques de una forma de la presente invención. La FIG. 3 es un diagrama de bloques de una forma de la presente invención. La FIG. 3A es una vista más detallada de una memoria ilustrada en la FIG. 3. La FIG. 4 es un ejemplo de una interfaz de una aplicación de computadora útil con la presente invención. DESCRIPCION DETALLADA DE LAS MODALIDADES PRETERIDAS Para los propósitos de promover un entendimiento de los principios de la invención, la referencia ahora será hecha a las formas ilustradas en los dibujos y lenguaje especifico será utilizado para describir a las mismas . No obstante será -entendido que ninguna limitación del alcance de la invención se propone de esta manera, y alteraciones y modificaciones en los sistemas y métodos ilustrados, y además aplicaciones de los principios de la invención como son ilustrados en la misma, se contemplan en la presente como normalmente se le ocurrirían a un experto en la técnica a la cual se refiere la invención. Con referencia ahora a la FIG. 1, se muestra un diagrama de bloques de un sistema de almacenamiento en cinta virtual 100 de acuerdo con la presente invención. Una terminal de usuario 102 permite a un usuario seleccionar archivos a ser guardados establemente. La terminal 102 se conecta vía una conexión de línea de telecomunicaciones de larga distancia 109 a la computadora remota 110. La computadora 110 es conectada a la memoria 112 para guardar establemente archivos. La computadora 110 es opcionalmente conectada a la memoria 130 para almacenar archivos a ser establemente guardados. La computadora 110 también es opcionalmente conectada a la memoria de archivos 140 para copiar archivos que se han guardados establemente en la memoria 112. La terminal 102 puede ser cualquier tipo de dispositivo de procesamiento de computadora capaz de la conexión a una línea de telecomunicaciones, incluyéndose, pero no limitadas a computadoras personales, estaciones de trabajo sin disco, aparatos habilitados por red, consolas TV de buen tono, PDAs (asistentes de datos personales) o similares. La conexión 109 puede ser cualquier forma de línea de telecomunicación de larga distancia. "Línea de telecomunicaciones de larga distancia" o "linea de telecomunicaciones" se refiere a una conexión de comunicación no local que incluye, pero no limitada a, un módem u otra conexión de marcación, una conexión a Internet, o una conexión inalámbrica adecuada para la comunicación con un PDA tal como el servicio Omni Sky. "Linea" se refiere a tal conexión en cualquier forma, si o no hay una conexión física directa. Asi, una "linea de telecomunicaciones" podria incluir dispositivos de conmutación intermedios, conexiones de satélite, relevadores y/o repetidores alámbricos o inalámbricos, y similares. En la operación, el sistema 100 permite a un usuario seleccionar archivos para ser guardados establemente en la memoria 112. Los archivos son seleccionados por un usuario en la terminal de usuario 102. Los archivos pueden ser seleccionados de cualquier memoria que la terminal 102 tiene acceso. Por ejemplo, dependiendo de la forma de la terminal 102 seleccionada, los archivos pueden ser seleccionados de: una memoria local tal como una unidad de disco duro; una memoria de red de área local tal como una unidad de disco duro accesible a través de una red de área local, o una . memoria tal como la memoria 130 accesible a través de la computadora 110 via la conexión 109. El usuario también selecciona uno o más tiempos cuando los archivos van a ser guardados. Alternativamente, se puede utilizar un intervalo de evento (antes que un intervalo basado en tiempo) correspondiente por ejemplo a un evento tal como un archivo que es modificado o accesado. Además de describir la operación del sistema 100, cuando un intervalo de tiempo preseleccionado (o evento) ha ocurrido (tal como cada hora, diario, semanal, mensual, anual, o de otro modo), la terminal 102 comienza el proceso de guardar establemente archivos que el usuario ha seleccionado previamente para la función de archivo. Alternativamente, el usuario puede iniciar el proceso de archivo manualmente en cualquier tiempo. La terminal 102 envia la lista de archivos a la computadora remota 110 via la conexión 109. Para cada archivo, la computadora 110 luego recibe los datos correspondientes a los contenidos del 'archivo. Si el archivo es accesible por la computadora 110 via la terminal 112 (por ejemplo, un archivo ubicado en una memoria localmente conectada a la terminal 102), la computadora 110 instruye a la terminal 102 para accesar al archivo y transmite sus contenidos a través de la conexión 109. Si el archivo es directamente accesible por la computadora 110 (por ejemplo, un archivo ubicado en la memoria 130),- la computadora 110 lee los contenidos del archivo. Después de recibir los datos para un archivo, la computadora 110 crea un archivo en la memoria estable escribible 112. La- computadora 110 repite los pasos anteriores hasta que todos los archivos se han guardado establemente. Los archivos establemente guardados en la memoria 112 opcionalmente pueden ser soportados sobre una memoria de archivo separada 140 para el almacenamiento fuera de linea . Después de que los archivos son guardados, un usuario luego puede restaurar cualquiera o todos los archivos guardados. Cuando el usuario desea realizar una operación de restauración, la terminal 102 envia una petición a la computadora 110 para una lista de archivos guardados. La terminal 102 luego proporciona al usuario con un listado de los archivos guardados. El usuario selecciona que archivos van a ser restaurados. La terminal 102 envia una petición para cada archivo a ser restaurado a la computadora 110. La computadora 110 luego recupera los contenidos de la memoria estable escribible 112 de cada archivo a ser restaurado. La computadora 110 luego restaura los archivos a su ubicación original; por ejemplo, la ubicación de memoria de la cual se leyeron originalmente para la función de archivo. En el caso de la memoria directamente accesible por la computadora 110 (por ejemplo, la memoria 130) los archivos son restaurados directamente. En el caso de memorias accesibles via la conexión 109 (por ejemplo, una unidad de disco duro conectada a la terminal 102) los contenidos del archivo son transmitidos a la terminal 102 de lá cual se restauran los archivos. "Ubicación original" como se utiliza en esta solicitud, se refiere a una ubicación asociada con una memoria particular como es referenciada por cualquier sistema de computadora que accesa a la memoria. Bajo muchos sistemas de computadora, una memoria de computadora es referenciada por una designación de carácter alfanumérico individual: por ejemplo, una unidad "C" . Sin embargo, esta designación puede cambiar si se adicionan por ejemplo otras memorias o se retiran del sistema de computadora. También el medio de memoria física mismo puede cambiar en el caso del medio removible tal como los discos duros removibles,. discos ZIP o similares. Asi, se va a notar que la ubicación "original" significa como es referenciada por el sistema y típicamente la aplicación de software, (por ejemplo, procesamiento de palabras, hoja de cálculo, base de datos o de otra manera) que directamente accesa a la memoria. Por lo tanto, la ubicación "original" se refiere a una ubicación lógica antes que una ubicación física. Aunque en algunos casos la ubicación lógica y física coincidirán. Como se utiliza en esta solicitud "memoria" o "memoria de . computadora" se refiere a cualquier medio electrónicamente leíble en máquina, no de papel, capaz de almacenar datos de computadora, incluyéndose pero no limitados a: discos duros, arreglos de discos duros, discos ???, discos flexibles, discos compactos y similares. "Memoria de archivos" se refiere a cualquier memoria que tiene un medio diseñado para ser físicamente removido de un sistema de computadora, o cualquier medio en un sistema no propuesto para el acceso del usuario en línea incluyéndose, pero no limitado a, cintas de computadora, discos compactos, discos duros y similares. Así, por ejemplo, la memoria de disco duro en una computadora, o red de computadoras son "de archivos" si un usuario no accesa los archivos directamente, sino más bien tiene acceso a los archivos después de que ellos son copiados a otra memoria, tal como la memoria 112. "Guardado estable" se refiere a almacenar datos en una memoria de computadora no volátil; una memoria de computadora "no volátil" se refiere a una memoria de computadora que no requiere potencia externa para preservar cualquier dato contenido en la misma. Una "memoria estable" o "memoria estable escribible" se refiere a una memoria de computadora no volátil en la cual se pueden escribir datos por lo menos una vez. Con referencia ahora a la FIG. 2, se muestra un diagrama de. bloques de un sistema de almacenamiento en cinta virtual 200 dé acuerdo con la presente invención. El sistema 200 es similar al sistema 100 de la FIG. 1 pero puede incluir varios aspectos opcionales.. Una terminal de usuario 202 permite a un usuario crear una especificación de ajuste de soporte 204 que incluye una lista de archivos a ser guardados establemente. La terminal 202 es opcionalmente conectada a la memoria 206 para almacenar archivos a ser guardados establemente. La terminal 202 también es opcionalmente conectada via la conexión de red opcional 207 a la memoria
208 para almacenar archivos a ser guardados establemente. La terminal 202 se conecta via la conexión de telecomunicaciones
209 a la computadora ramota 210 que típicamente tiene RAM normal u otra memoria para operar como un servidor. La computadora 210 es conectada a la memoria 212 para guardar establemente archivos. La computadora 210 es opcionalmente conectada a la memoria 230 para almacenar archivos a ser guardados establemente. La computadora 210 también es opcionalmente conectada a la memoria de archivos 240 para copiar archivos que se han guardado establemente en la memoria 212. La terminal 202 puede ser una estación de trabajo sin disco, computadora personal, aparato conectado a red, consola de TV de buen tono, PDA o similar. Las memorias 206, 208 y 230 pueden ser cualquier forma de memoria de computadora, tal como, por ejemplo, un disco duro. La conexión 207 puede ser cualquier forma de conexión de red tal como LAN, AN, marcación, o conexión a Internet. La conexión 209 puede ser cualquier forma de conexión de telecomunicación de larga distancia.
En la operación, el sistema 200 permite a un usuario seleccionar archivos a ser establemente guardados sobre la memoria 212. Los archivos son seleccionados por un usuario en la terminal de usuario 202 y almacenados en la especificación de ajuste de soporte 204. Los archivos pueden ser seleccionados de cualquier memoria que la terminal 202 tiene acceso, tales como las memorias 206, 208, 230. De preferencia, a un usuario también se le permite seleccionar directorios completos y/o subdirectorios para guardar. Tales directorios o subdirectorios son incluidos en el término "archivos" en la especificación de ajuste 204. En una forma preferida, la especificación 204 es creada al utilizar una aplicación de computadora tal como la aplicación 303 descrita después en relación con la FIG. 3. El usuario también selecciona uno o más tiempos cuando los archivos listados en la especificación 204 van a ser establemente guardados en la memoria 212. cualquiera de los tiempos (o "intervalos") seleccionados pueden ser eventos individuales o eventos recurrentes; por ejemplo, repetidos diariamente, semanalmente, mensualmente, etc. Se pueden utilizar otros intervalos no basados en el tiempo (o "intervalos de evento") tal como cada, vez que un archivo es accesado o modificado. Colectivamente, la lista de archivos e intervalos seleccionados forman parte de la especificación de ajuste de soporte 20 . Los actos de seleccionar archivos y definir intervalos no tienen que ser hechos en cualquier orden en particular. De preferencia, el usuario también especifica un nombre para el ajuste de soporte a ser guardado en la memoria 212. Esto ayuda al usuario en la restauración subsecuente de cualquiera de los archivos deseados como es descrito después. Alternativamente, el nombre para el ajuste de soporte podría ser automáticamente generado. Opcionalmente, se pueden crear múltiples especificaciones de ajuste por el usuario con diferentes y/o sobrepuestos archivos, y con varios parámetros de intervalo. Además de describir la operación del sistema 200, cuando ha ocurrido un intervalo preseleccionado (basado en el tiempo o de otro modo) como es especificado en la especificación de ajuste de soporte 204, la terminal 202 comienza el proceso de guardar establemente de manera automática los archivos listados en la especificación 204. Alternativamente, el usuario puede iniciar el proceso de guardar manualmente en cualquier momento. Opcionalmente, se pueden utilizar intervalos de tiempo predefinidos (por ejemplo, como es pre-seleccionado por un administrador del sistema) en lugar de, o además de, los intervalos seleccionados . por el usuario. La terminal 202 envia la especificación 204 a la computadora remota 210 via la conexión 209. De preferencia, la especificación es transmitida en el formato de un lenguaje de margen extensible tal como XML. Para cada archivo listado en la especificación 204, ' la computadora 210 luego recibe los datos correspondientes a los contenidos del archivo. Si el archivo es accesible por la computadora 210 via la conexión 209 (por ejemplo, el archivo es ubicado en la memoria 206 o memoria 208), la computadora 210 instruye a la terminal 202 para accesar al archivo y transmitir sus contenidos a través de la conexión 209. Opcionalmente, cualquiera de los contenidos del archivo asi transmitidos via la conexión 209 pueden estar en un formato comprimido y/o un lenguaje de formato de margen extensible. Cualquier compresión de tal clase se puede realizar por la terminal 202 antes de que el archivo sea transmitido o transportado. Opcionalmente, los archivos, ya pueden haber sido comprimidos . En una forma preferida, la terminal 202 comprime los archivos antes de la transmisión de acuerdo con algoritmos de compresión disponibles bajo el programa comercialmente disponible PKZIP. No obstante se contemplan otros métodos de compresión. Si el archivo es directamente accesible por la computadora 210 (por ejemplo, el archivo está ubicado en la memoria 230), la computadora 210 lee los contenidos del archivo. Cualquier archivo leido por, o transmitido a, la computadora 210 puede opcionalmente ser verificado para errores de transmisión por un método conocido, tal como una suma de verificaciones, CRC, o similar. Si son detectados de esta manera errores de transmisión, la computadora 210 puede regresar un código por error a la terminal 202, por ejemplo, instruyéndola para retrasmitir el archivo. Los archivos transmitidos también pueden ser opcionalmente verificados para virus . En una forma preferida, los datos son leidos de los archivos uno a la vez. Sin embargo, también se contempla la lectura casi simultánea- de múltiples archivos. Después de recibir los datos para un archivo, la computadora 210 crea un archivo en la memoria estable escribible 212. En una forma preferida, los archivos son escritos en un espacio de usuario predefinido dentro de la memoria estable 212. Como es descrito después con relación a la FIG. 3, se ilustra un método para predefinir espacio del usuario, útil en la forma presente. De preferencia, el nombre de archivo original y la estructura del directorio son preservados permitiendo de esta manera que el archivo sea restaurado nuevamente a su ubicación original. La computadora 210 repite los pasos anteriores hasta que todos loa archivos listados en la especificación 204 han sido establemente guardados. Opcionalmente, cualquiera de los errores detectados durante el proceso de guardar (tal como un error de creación de archivo) son indicados a la terminal 202 como un código de error transmitido a través de la conexión 209. Colectivamente, los archivos asi guardados son referidos en la presente como un "ajuste de soporte". De preferencia, conforme los archivos son creados en la memoria 212, la computadora 210 actualiza un índice de archivo (no mostrado) correspondiente al nombre del archivo y la ubicación en la memoria 212. De preferencia, los contenidos del Índice de archivo (si lo hay) son almacenados como un formato del lenguaje de margen extensible, tal como XML. Otros servicios pueden ser opcionalmente proporcionados en los archivos guardados o una copia por computadora 110 de los archivos tal como la exploración de virus o de otro modo, los resultados de lo cual se pueden reportar al usuario de la terminal 202. Después de que los archivos son guardados, un usuario luego puede restaurar cualquiera o todos los" archivos guardados. Cuando el usuario desea realizar una operación de restauración, la terminal 202 envía una petición electrónica a 210 para una lista de todos los ajustes de soporte previamente creados para ese usuario y una lista de cualquiera de los archivos, directorios y/o subdirectorios contenidos en esos ajustes de soporte. Opcionalmente diferentes usuarios en un grupo predefinido también pueden accesar a los ajustes de soporte del usuario. También opcionalmente, los ajustes de soporte podrían ser accesibles por cualquier usuario con acceso a la computadora 210. La computadora 210 envía una lista de ajustes de soporte y archivos en los mismos, cuando son requeridos. Si se utilizó un Indice en crear cualquiera de los ajustes de soporte, ese índice de archivo puede ser transmitido a la terminal 202. De otro modo, la terminal 210 puede recrear tal lista en el transporte o transmitir el archivo y listados de directorio directamente a través de la conexión 209. Sin embargo, una forma preferida utiliza un índice de archivo creado (o actualizados si ya existe uno) durante el proceso de guardar; la trasmisión de un índice de archivo pre-existente minimiza el tiempo de computación y el ancho de banda, especialmente en él caso de estructuras de directorio grandes y listas de archivo . La terminal 202 luego proporciona al usuario con un listado de ajustes de soporte accesibles y archivos en el mismo. De preferencia, esta información es presentada en una estructura de tres vistas tal como es proporcionada por el listado de selección de muestra mostrado en la FIG. 4 y descrito en relación con el mismo. Sin embargo, se contemplan otras formas de presentación de esta información; tal como una estructura de red utilizando nodos. El usuario luego selecciona que archivos van a ser restaurados . La terminal 202 envía una- petición para cada archivo para ser restaurado a la computadora 210. Tales peticiones pueden ser enviadas individualmente para cada archivo a ser restaurado o agrupadas en un listado de lotes. La computadora 210 luego recupera los contenidos de la memoria estable escribible 212 de cada archivo a ser restaurado. Los archivos de esta manera pueden ser recuperados ya sea uno a la vez o múltiples archivos pueden ser recuperados casi simultáneamente. La computadora 210 luego restaura los archivos a la ubicación de memoria de la cual se leyeron originalmente para guardar. En el caso de la memoria directamente accesible por la computadora 210 (por ejemplo, la memoria 212) los archivos son restaurados directamente. En el caso de memorias accesibles via la conexión 209 (por ejemplo, las memorias 206 y/o 208) los contenidos del archivo son transmitidos a la terminal 202 de la cual son restaurados los archivos. Si los archivos fueron opcionalmente comprimidos durante la función de guardar, los archivos se pueden descomprimir antes de ser restaurados . Todavía con referencia a la FIG. 2, los archivos establemente guardados en la memoria 212 pueden ser opcionalmente soportados sobre la memoria de archivos 240 para el almacenamiento fuera de linea. Tal soporte a la memoria 240 puede ser realizado automáticamente (por ejemplo, a intervalos predefinidos), puede ser solicitado por un usuario en la terminal 202, o puede ser realizado por un operador con acceso a la computadora 210. Cuando los archivos son restaurados como es descrito anteriormente, si algunos errores son detectados, o si un archivo a ser restaurado no está por más tiempo en la memoria 212, en cambio el archivo puede ser accesado de la memoria 240. Adicionalmente, si los archivos establemente guardados han sido de esta manera soportados en la memoria 240, esos archivos opcionalmente pueden ser copiados en un medio removible (tal como una cinta de computadora o disco compacto) que opcionalmente puede ser físicamente enviado al usuario (por ejemplo, via correo) cuando asi es solicitado o en intervalos periódicos . Con referencia ahora a la FIG. 3, se muestra un diagrama de bloques de un sistema de almacenamiento en cinta virtual 300 de acuerdo con la presente invención. El sistema 300 es similar a los sistemas 100 y 200 de las FIGS. 1 y 2, respectivamente, pero puede incluir varias características opcionales. Una terminal de usuario 302 comprende una aplicación de usuario 303 operable para funcionar dentro de la memoria 205. La terminal 302 opcionalmente incluye una memoria 306 para almacenar archivos. La especificación de ajuste de soporte 304 es creada por el usuario e incluye una lista de archivos (incluyéndose directorios, subdirectorios, etc . ) a ser guardados . La computadora opcionalmente puede ser conectada a una memoria de computadora 308 via la conexión de red 307. La terminal 302 es conectada a la computadora remota 310 via la conexión de telecomunicación de larga distancia 309. Todavía con referencia a la FIG. 3, la computadora remota 310 comprende una aplicación de servidor 311 operable para funcionar dentro de la memoria 313. La computadora 310 también incluye una memoria estable escribible 312 detallada en la FIG. 3A. El espacio de usuario 314 es un subconjunto de espacio de almacenamiento en la memoria 312. El espacio de soporte 316 es un subconjunto de espacio de almacenamiento en el espacio de usuario 314. El espacio de ajuste de soporte 318 es un subconjunto de espacio de almacenamiento en el espacio de soporte 316. Como será descrito en más detalle, los .archivos que son listados en la especificación -304 son establemente guardados en el espacio de ajuste de soporte 318 via el sistema y método inventivo presente. La computadora 310 opcionalmente incluye a la memoria 330 para almacenar archivos. La computadora 310 también opcionalmente incluye la memoria de archivos 340, que puede ser utilizada para guardados datos contenidos en la memoria 312 para el almacenamiento fuera de linea, típicamente de los mismos datos . La terminal 302 puede ser cualquier tipo de dispositivo de procesamiento capaz de la conexión a una linea de telecomunicaciones de larga distancia tal como una estación de trabajo sin disco, computadora personal, aparato conectado a red, consola de TV de buen tono, PDA o similar. Las memorias 306, 308, y/o 330 si son seleccionadas, pueden ser cualquier forma de memoria de computadora tales como discos duros. La conexión 307 puede ser cualquier forma de conexión de red tal como LAN, WAN, marcación o conexión a Internet. La conexión 309 puede ser cualquier forma de conexión de telecomunicaciones de larga distancia. Los archivos establemente guardados en la memoria 312 opcionalmente pueden ser soportados sobre la memoria de archivos 340 para el almacenamiento fuera de linea. La aplicación de usuario 303 es un programa de computadora capaz de correr dentro de le memoria 305 de la terminal 302. Entre otras funciones, la aplicación 303 permite a un usuario: seleccionar archivos de computadora para ser establemente guardados; especificando un intervalo de tiempo y/o intervalo de evento cuando los archivos de computadora van a ser establemente guardados y restaurar los archivos que han sido previamente guardados establemente. Los archivos al ser guardados de esta manera se. pueden seleccionar de cualquier memoria de computadora, de modo que la aplicación 303 es capaz de accesar; incluyéndose las memorias 306, 308, y/o 330 si son seleccionadas. En una forma preferida, l aplicación de usuario 303 tiene acceso a la memoria local, tal como la memoria 306, aunque en algunas formas, la terminal no contiene una memoria 306 para almacenar archivos de computadora. Por ejemplo, la terminal 302 puede ser seleccionada como una estación de trabajo sin disco, caso en el cual el usuario seleccionarla los archivos a ser establemente guardados de una o más memorias de computadora accesibles a la estación de trabajo sin disco a través de una conexión tal como la conexión de red 307 o la conexión de telecomunicaciones 309. En otra forma, la terminal 302 puede ser seleccionada como un dispositivo de TV de buen tono que tiene una conexión de telecomunicaciones 309 para la comunicación con el servidor 310, pero que no tiene una memoria local 306 o una conexión de red 307. En esta forma, el usuario puede seleccionar archivos a ser establemente guardados de una memoria de esa computadora 310 que - tiene acceso, tal como la memoria 330. Los archivos establemente guardados en la memoria opcionalmente pueden ser soportados sobre la memoria de archivos 340 para el almacenamiento fuera de linea. Ahora será descrita una operación de ejemplo de la presente invención. Antes de guardar archivos, un usuario primero especifica via la aplicación de usuario 303 la información requerida para crear un espacio de soporte 316 dentro del espacio del usuario 314. En una forma preferida el usuario especifica un tamaño y nombre para el espacio de soporte 316. De preferencia, el tamaño seleccionado de una lista de tamaños de memoria de computadora discreto (por ejemplo 2 gigabytes, 4 gigabytes, etc.). Alternativamente, el usuario podría ser dejado que especificara cualquier tamaño para el espacio de soporte 316. Si un sistema de acuerdo con la presente invención es utilizado como parte de un servicio comercial (por ejemplo, un servicio que proporciona a los usuarios con guardado estable de archivo sobre un servidor remoto accesible a través del Internet) , los pagos opcionalmente pueden ser cargados de acuerdo con el tamaño de un espacio de soporte seleccionado. Por ejemplo, un pago de creación inicial de $30 podría ser cargado para crear cualquier tamaño del espacio de soporte. Adicionalmente, podría ser cargado un pago de almacenamiento recurrente. Por ejemplo, un pago de $8 por mes podría ser cargado para un espacio de soporte de 4 gigabytes, una cantidad menor podría ser cargada para un espacio de 2 gigabytes. Además, tal servicio comercial podría proporcionar a los usuarios con el acceso una memoria accesible al Internet (tal como la memoria 330) de la cual los archivos al ser guardados pueden ser seleccionados. Además, tal servicio comercial podría solamente permitir la suscripción de usuarios para accesar a los servicios de archivo. Por ejemplo, un servicio comercial podría proporcionar funcionalidad limitada a abonados "gratis" tal como el acceso a 25 megabytes de espacio de almacenamiento (por ejemplo, en una memoria tal como la memoria 330) -pero no acceso a los servicios de archivo. Mientras que la suscripción de los abonados (que es cargado, por ejemplo, un pago de suscripción de $10 por mes), por ejemplo, podrían ser dados 100 megabytes de espacio de almacenamiento y ser dado acceso a los servicios de archivo. Son posibles modelos de negocios, alternativos para generar ingresos por un servicio comercial utilizando un sistema de acuerdo con la presente invención. Aun con referencia a una operación de la presente invención, además de la especificación de un tamaño para un espacio de soporte, un usuario también puede especificar un nombre para un espacio de soporte 316. Alternativamente, el nombre para el espacio de soporte 316 puede ser automáticamente generado; por ejemplo, como una función de un estampado de tiempo/fecha. En una forma preferida, el nombre del espacio de soporte debe ser único dentro del espacio de usuario 314. Opcionaimente, el usuario puede especificar otros parámetros para el espacio de soporte 316, tal como una designación de grupo que indica a otros usuarios de quienes tienen permiso para accesar al espacio de soporte. Opcionaimente, un estampado de tiempo puede ser incluido en (por ejemplo, anexado a) un nombre especificado por el usuario. Colectivamente, la información que define un espacio de soporte en la presente es referido como la especificación de espacio de soporte. La aplicación de usuario 303 envia la especificación de espacio de soporte a la aplicación de servidor 311, que crea el espacio de soporte como es descrito después . La especificación es recibida por la aplicación 311 que luego crea estructuras de datos dentro del espacio de usuario 314 para el espacio de soporte 316. Si el usuario ya no tiene un espacio de usuario 314 asignado a él (por ejemplo, el usuario no ha creado previamente un espacio de soporte) , la aplicación 311 primero crea el espacio de usuario 314 en la memoria 312. De preferencia, la aplicación 311 regresa un código a la aplicación 302 indicativo del éxito o falla de la creación de un espacio de soporte y/o espacio de usuario. Una vez que se ha creado un espacio de soporte 314 por el usuario, el usuario luego puede crear la definición de ajuste de soporte 304 y a la aplicación 313 especificando los archivos a ser establemente guardados. De preferencia, el usuario es presentado con una lista de archivos en un formato de vista de árbol que muestra los nombres' y las estructuras del directorio con los archivos con la aplicación 303 que tiene acceso. Se contemplan otras formas de presentación de esta información al usuario; por ejemplo, una estructura de red que utiliza nodos puede ser empleada antes que una estructura de vista de árbol. El usuario puede definir una definición de ajuste por otros parámetros tal como la fecha de la creación de archivo, un proyecto o número de grupo asociado con el archivo, el autor del archivo o de otro modo. El usuario selecciona uno o más archivos que van a ser guardados establemente. De preferencia, el usuario también selecciona uno o más tiempos en los cuales se va a realizar la operación de archivo. De preferencia, el usuario también tiene la opción de seleccionar un intervalo de tiempo recurrente (por ejemplo, diario, semanal, mensual, etc. o intervalo de evento) . También, de preferencia el usuario puede seleccionar un nombre para el ajuste de soporte que va a ser guardado en el espacio de ajuste de soporte 316. Alternativamente, el nombre para el ajuste de soporte puede ser automáticamente generado. Si un espacio de ajuste de soporte 316 ya existe para el usuario, el usuario puede seleccionar ya sea para sobreescribir el ajuste de espacio existente en "el mismo, o para anexar al espacio de soporte, caso en el cual será creado un nuevo ajuste de soporte en el mismo.' Opcionalmente, el usuario se puede dejar seleccionar para espacios de ajustes de soporte extendidos si existe más de uno. Por ejemplo, si el usuario tiene archivos seleccionados que ocuparán más espacio que está disponible en un espacio de soporte, algunos archivos pueden ser guardados a un espacio de soporte, mientras que otros archivos pueden ser guardados a un diferente espacio de soporte. Si se permite tal extensión de espacios de soporte, de preferencia el usuario es alertado para la posibilidad de que archivos seleccionados no pueden ajustarse dentro de un espacio de soporte y luego se da una elección para extenderse a otro espacio de soporte o crear espacios de soporte adicionales . La extensión alternativamente se podria hacer de manera automática si el usuario tiene algunos otros espacios de soporte disponibles . Se va a notar que no se requiere orden particular con respecto a los actos de seleccionar archivos, especificar un intervalo de tiempo, o nombrar el ajuste de soporte. Por ejemplo, un usuario puede seleccionar un intervalo de tiempo primero, luego seleccionar archivos, o viceversa. Además, múltiples actos de seleccionar archivos o especificar tiempos son contemplados. Por ejemplo, un usuario puede seleccionar archivos luego seleccionar un intervalo de tiempo, luego seleccionar archivos adicionales y/o borrar archivos ya seleccionados de la lista, luego adicionar intervalos de tiempo adicionales y/o borrar intervalos de tiempo ya especificados. Después de que se crea la definición de ajuste de soporte 304, la aplicación 303 periódicamente determina si cualquiera de los intervalos de tiempo especificados en la definición 304 han ocurrido; si es de esta manera éste comienza el proceso de guardar. Opcionalmente, un usuario puede comenzar el proceso de guardar manualmente via la aplicación 303. La aplicación 303 envia la especificación 304 a la computadora remota 310 vía la conexión 309. De preferencia, pero no necesariamente, la especificación es transmitida en el formato de un lenguaje de margen extensible tal como XML. Para cada archivo listado en la especificación 304, la aplicación 311 luego recibe datos correspondientes a los contenidos del archivo. Si el archivo es accesible por la aplicación 311 via la conexión 309 (por ejemplo, el archivo está ubicado en la memoria 306 o memoria 308), la aplicación 311 instruye a la aplicación 303 para accesar al archivo y transmitir sus contenidos a través de la conexión 309. Opcionalmente, cualquiera de los contenidos de archivo asi transmitidos via la conexión 309 puede estar en un formato comprimido y/o un formato de lenguaje de margen extensible. Cualquier compresión de tal clase se puede realizar mediante la aplicación 303 antes de que el archivo sea transmitido o transportado. Opcionalmente, los archivos ya pueden haber sido comprimidos. En una forma preferida, la aplicación 303 comprime los archivos antes de la transmisión de acuerdo con los algoritmos de compresión . disponibles bajo el programa comercialmente disponible PKZIP. No obstante se contemplan otros métodos de compresión. si el archivo es directamente accesible por la computadora 311 (por ejemplo el archivo está ubicado en la memoria 330),- la aplicación 311 lee los contenidos del archivo. Cualquier archivo leido por, o transmitido a, la aplicación 311 puede opcionalmente ser verificado para errores de transmisión por un método conocido, tal como una suma de verificaciones, CRC, o similar- Si son detectados de esta manera errores de transmisión, la aplicación 311 puede regresar un. código de error a la aplicación 302, por ejemplo, instruyéndola para retrasmitir el archivo. En una forma preferida, los datos son leídos de los archivos uno a la vez. Sin embargo también se contempla la lectura casi simultánea de archivos múltiples. Después de recibir los datos para un archivo, la aplicación 311 crea un archivo en el espacio de ajuste de soporte 318 de la memoria estable escri ible . 312. De preferencia, el nombre de archivó original y la estructura del directorio son preservados, permitiendo de esta manera que el archivo sea restaurado nuevamente a su ubicación original. La aplicación 311 repite los pasos anteriores hasta que todos los archivos listados en la especificación 304 han sido establemente guardados en el espacio de ajuste de soporte 318. De preferencia, la aplicación 311 previene que cualquiera además altere cualquiera de los archivos en el espacio de ajuste de soporte 318 a menos que el usuario subsecuentemente seleccione para sobreescribir un ajuste de soporte por un nuevo ajuste de soporte. Opcionalmente, cualquiera de- los errores detectados durante el proceso de archivo (tal como un error de creación de archivo) son indicados a la aplicación 303 como un código de error transmitido a través de la conexión 309.
De preferencia, conforme los archivos son creados en el espacio de ajuste de soporte de memoria 318, la aplicación 311 actualiza un Índice de archivos (no mostrado) correspondiente al nombre de archivo y la ubicación en el espacio de ajuste de soporte. De preferencia los contenidos del índice de archivos (si lo hay) son almacenados como un formato de lenguaje de margen extensible tal como XML. Después de que los archivos son guardados, un usuario luego puede restaurar cualquiera o todos los archivos guardados. Cuando el usuario desea realizar una operación de restauración, la aplicación 303 envía una petición a la aplicación 311 para una lista de todos los ajustes de soporte previamente creados por aquel usuario y una lista de cualquiera de los archivos contenidos en aquellos ajustes de soporte. Opcionalmente, otros usuarios en un grupo predefinido también pueden accesar a los ajustes de soporte del usuario. También opcionalmente, los ajustes de soporte podrían ser accesibles por cualquier usuario con acceso a la computadora 310. La aplicación 311 envía una lista de ajustes de soporte y archivos en los mismos cuando son requeridos, si un índice se utilizó en la creación de cualquiera de los ajustes de soporte, ese índice de archivos puede ser transmitido a la aplicación 303. De otro modo, la aplicación 311 puede recrear tal lista al transportar o transmitir los listados de archivo y de directorio directamente a través de la conexión 309. Sin embargo, una forma preferida utiliza un Índice de archivos creados (o actualizados si ya existe uno) durante el proceso de guardar; transmitiendo un índice de archivo preexistente se minimiza el tiempo de computación y el ancho de banda, especialmente en el caso de grandes estructuras de directorio y listas de archivos . La aplicación 303 luego proporciona al usuario con un listado de ajustes de soporte accesibles y archivos en los mismos. De preferencia, esta información es presentada en una estructura de tres vistas tal como es proporcionada por el ejemplo listado mostrado en la FIG. 4. Sin embargo, se contemplan otras formas de presentación de esta información, tal como es descrito previamente. El usuario selecciona que archivos van a ser restaurados. La aplicación 303 envía a la aplicación 311 una petición para cada archivo a ser restaurado. Tales peticiones pueden ser enviadas individualmente para cada archivo a ser restaurado en un listado de grupos. La aplicación 311 luego recupera los contenidos del espacio de ajuste de soporte 318 de cada archivo a ser restaurado. Los archivos así pueden ser recuperados ya sea uno a la vez o múltiples archivos pueden ser recuperados casi simultáneamente. La aplicación 311 luego restaura los archivos a la ubicación de memoria de la cual se leyeron originalmente para el archivo. En el caso de la memoria directamente accesible por la aplicación 311 (por ejemplo, la memoria 312), los archivos son restaurados directamente. En el caso de memorias accesibles via la conexión 309 (por ejemplo, las memorias 306 y/o 308) los contenidos de archivo son transmitidos a la aplicación 303 de la cual los archivos son restaurados . Si los archivos f eron comprimidos opcionalmente durante la función de archivo, los archivos pueden ser descomprimidos antes de ser restaurados . Con referencia ahora a la FIG. 4, se muestra una Ínterfaz de usuario de muestra 400 útil con varias formas de la presente invención. La interfaz 400 funciona en una terminal de usuario (por ejemplo, la terminal 102, 202, y/o 302 de las FIGS. 1, 2 y 3 respectivamente) y presenta un usuario con una lista de archivos a. ser guardados y una lista de archivos (si la hay) que se ha guardado previamente. La "interfaz presenta el listado de archivos y directorios en un formato de tres vistas, aunque se contemplan otros formatos para presentar tal información. Con referencia a la FIG. 4 en más detalle, en el lado izquierdo de la interfaz 400 es mostrado un listado de tres vistas. En el nivel superior del listado de tres vistas está un icono marcado "Desktop". Después en la presente, cualquiera de- las descripciones con referencia a la FIG. 4 contenidas entre comillas se van a entender que se refieren a iconos particulares como es mostrado en la interfaz 400. Dos subniveles de "Desktop" son mostrados: "My computer", los subniveles de los cuales son archivos que un usuario puede accesar directamente a través de una terminal de usuario; y "Simdesk server", los subniveles del cuál representan los espacios de usuario existentes en una memoria escribible estable (por ejemplo, las memorias 112, 212 y 312 de las FIGS. 1, 2 y 3, respectivamente). "Tape library" representa un espacio de usuario, tal como el espacio de usuario 314 de la FIG. 3A. Subniveles de "tape library" representan un espacio de soporte tal como un espacio de soporte 316 de la FIG. 3A. "The 2GB Tape" es un espacio de soporte de tal clase, subniveles del mismo (tres son mostrados) representan espacios de ajuste de soporte individuales tal como el espacio de ajuste de soporte 318 de la FIG. 3A. Dos de tales espacios de ajuste de soporte son nombrados "Eileen demo 12-11-2000 14:51" y "Eileen demo 12- 11-2000 14:52". Los nombres del ajuste de espacio de soporte incluyen un estampado de tiempo: notar que los estampados de tiempo en los dos nombres referidos difieren por un minuto, indicando que fueron creados en diferentes tiempos. con referencia particularmente ahora a "Eileen demo
12-11-2000 14:51", el subnivel "C:" es mostrado. "C:" contiene subniveles correspondientes a los archivos guardados de una memoria correspondiente a "C: (Deep Thought-C)" mostrado bajo "My computer" . Por consiguiente, cualquiera de los archivos restaurados de "C:" serán restaurados sobre "C: (Deep Thought-C) " . Un icono que representa una carpeta es mostrado siguiente a "C:" indicando que éste contiene subdirectorios o archivos. "Bobby" es un subdirectorio de "C:" que contiene el subdirectorio "Backup" que por si mismo contienen el subdirectorio "Documents" . "Documents" es resaltado indicando que éste y cualquiera de los archivos y subdirectorios en los mismos, han sido seleccionados para restauración. Cualquiera de los archivos, directorios y subdirectorios asi restaurados, serian restaurados en sus ubicaciones correspondientes dentro de "C: (Deep thought-C") . Tal restauración de archivos se podría realizar como es descrito anteriormente en relación con las FIGS .- 1, 2 o 3. Mientras que la invención se ha ilustrado y descrito en detalle en los dibujos y la descripción anterior, la misma se va a considerar como ilustrativa y no de carácter restrictivo, siendo entendido que solamente las formas preferidas han sido mostradas y descritas y que todos los cambios y modificaciones que entran dentro del espíritu de la invención se desean que sean protegidos.