ES2904664T3 - Procedimiento de descarga de una aplicación - Google Patents

Procedimiento de descarga de una aplicación Download PDF

Info

Publication number
ES2904664T3
ES2904664T3 ES13887211T ES13887211T ES2904664T3 ES 2904664 T3 ES2904664 T3 ES 2904664T3 ES 13887211 T ES13887211 T ES 13887211T ES 13887211 T ES13887211 T ES 13887211T ES 2904664 T3 ES2904664 T3 ES 2904664T3
Authority
ES
Spain
Prior art keywords
user terminal
file
blocks
block
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES13887211T
Other languages
English (en)
Inventor
Kuan-Ju Lin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BOTHNIC INFORMATION CO Ltd
Original Assignee
BOTHNIC INFORMATION CO Ltd
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 BOTHNIC INFORMATION CO Ltd filed Critical BOTHNIC INFORMATION CO Ltd
Application granted granted Critical
Publication of ES2904664T3 publication Critical patent/ES2904664T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

Un procedimiento de descarga de un programa de aplicación que tiene al menos un archivo desde al menos un terminal de servicio a un terminal de usuario, comprendiendo el procedimiento las siguientes etapas: segmentar (S501) el al menos un archivo en una pluralidad de bloques, y disponer la pluralidad de bloques de acuerdo con un orden de lectura particular del programa de aplicación requerido por una función común, en el que el orden de lectura particular se determina en base a las estadísticas de los tiempos de uso N, en el que un bloque que tiene un N mayor tiene un orden de lectura prioritario sobre el de otro bloque que tiene un N menor, y la pluralidad de bloques incluye un primer bloque y un segundo bloque; transmitir (S502) el primer bloque al terminal de usuario; y ejecutar (S503) el primer bloque en el terminal de usuario antes de que el segundo bloque se transmita al terminal de usuario; en el que, cuando no hay estadísticas de tiempos de uso N, la pluralidad de bloques se transmite según un orden del al menos un archivo que el programa de aplicación necesita utilizar; y en el que, cuando la pluralidad de bloques no se ha almacenado en la memoria del terminal de usuario, la pluralidad de bloques se ejecuta en la memoria de acuerdo con el orden de lectura particular después de que la pluralidad de bloques se descargue en la memoria del terminal de usuario utilizando un modo multiproceso desde dos o más de los al menos un terminal de servicio, en el que dichos dos o más terminales de servicio están cerca del terminal de usuario.

Description

DESCRIPCIÓN
Procedimiento de descarga de una aplicación
La presente invención se refiere a un procedimiento de descarga de un programa, y más particularmente a un procedimiento de descarga de un programa desde un terminal de servicio a un terminal de usuario.
Se conocen un procedimiento y un sistema para la ejecución de aplicaciones en transmisiones por red a partir del documento US 2001/0034736 A1. El almacenamiento en la nube es un modo de almacenamiento de datos en línea en red; es decir, los datos se almacenan en múltiples servidores virtuales gestionados normalmente por un tercero en lugar de en un servidor dedicado. Los operadores de centros de datos se preparan para almacenar recursos de virtualización en el back-end y los proporcionan en forma de un fondo (pool) de almacenamiento en función de la demanda de los clientes, y luego éstos pueden utilizar el pool de almacenamiento para guardar archivos u objetos por sí mismos. La computación en nube es un modo de computación basado en Internet. A través de este modo, los recursos de software y hardware compartidos y los mensajes se pueden proporcionar a los ordenadores y otros dispositivos según sea necesario. La computación en nube describe un nuevo modelo de aumento, uso y entrega de servicios de tecnologías de la información (1T) basado en Internet, y suele consistir en la provisión de funciones dinámicas, fáciles de ampliar y, a menudo, de recursos virtualizados a través de Internet. Los usuarios pueden acceder al software y los datos del servicio, y los proveedores de servicios mantienen la infraestructura y la plataforma para que el servicio siga funcionando con normalidad. El software de servicio proporcionado por los proveedores de servicios suele denominarse "software a la carta", y suele cobrarse en función de las horas de uso. Los usuarios sólo necesitan disponer de equipos de software y hardware de baja complejidad para utilizar el servicio, de modo que se pueden ahorrar los costes de la empresa. Como los programas de aplicación se suministran de forma centralizada, las actualizaciones pueden publicarse al instante sin que el usuario tenga que actualizar o instalar manualmente el nuevo software. Así, la computación en nube permite a las empresas desplegar más rápidamente los programas de aplicación, reducir la complejidad de la gestión y mantener el coste, y permite la rápida reasignación de los recursos informáticos para hacer frente al rápido cambio de las necesidades de la empresa.
Una de las ventajas del concepto de la nube es que no es necesario adquirir varios tipos de equipos de hardware y software con un potente rendimiento de procesamiento. El mantenimiento de los equipos de hardware y la actualización del software corren a cargo del proveedor de servicios, mientras que el usuario o la empresa intentan "virtualizar" los equipos de hardware y el software. En una red de comunicación, la virtualización del programa de aplicación permite que el programa de aplicación en el terminal de usuario sea proporcionado por el terminal de servicio. Sin embargo, la descarga de un programa de aplicación con mayor capacidad desde el terminal de servicio al terminal de usuario lleva tiempo, y el programa de aplicación sólo puede instalarse o ejecutarse una vez finalizada la descarga. Este modo de instalación tras la descarga es adecuado para un entorno de red lento o de alta latencia. Debido a que la velocidad de ancho de banda y el retardo de una red de área local y una red de área amplia difieren mucho, en un entorno mixto, este modo no satisface muy bien las necesidades de utilizar un programa de aplicación poco después de elegirlo.
Refiriéndonos a la Fig. 1, que muestra un diagrama esquemático de un procedimiento convencional de descarga de un programa de aplicación. En la etapa S101, el sistema de terminal de usuario recibe la instrucción de iniciar el programa de aplicación. En la etapa S102, el sistema de terminal de usuario determina si existe un archivo de programa o caché, y permite que el procedimiento salte a la etapa S103 cuando el archivo de programa o caché existe. En la etapa S103, el sistema operativo del terminal de usuario inicia el programa de aplicación. En la etapa S102, permitir que el procedimiento salte a la etapa S104 cuando el archivo de programa o caché no existe. En la etapa S104, el servidor transmite todos los archivos del programa de aplicación al sistema terminal del usuario en su totalidad, y luego permite que el procedimiento salte a la etapa S105. En la etapa S105, el sistema de terminal de usuario escribe el archivo de programa en el sistema de archivos o en el sistema caché, y luego permite que el procedimiento vuelva a la etapa S103. Después de la etapa S103, el procedimiento entra en la etapa S106. En la etapa S106, el programa de aplicación lee el archivo de programa. Para leer el archivo de programa, se utiliza la etapa S107. En la etapa S107, el programa de aplicación dará una instrucción al sistema operativo, y hará que el sistema operativo solicite el archivo requerido por el programa de aplicación desde el sistema de archivos del terminal de usuario. A continuación, el sistema de archivos lee el archivo del disco duro y lo transmite al sistema operativo. En la etapa S108, el sistema operativo lo transmite de nuevo al programa de aplicación. En la etapa S109, ejecute el programa de aplicación. A continuación, repita las etapas S106-S108 cuando sea necesario seguir ejecutando el programa de aplicación.
Consultar la Fig. 2, que muestra un diagrama esquemático de un procedimiento convencional para ejecutar un programa de aplicación. Las etapas S103, S106, S107, S108 y S109 de la Fig. 1 pueden ilustrarse en la Fig.2. Refiriéndonos a la Fig. 1 y la Fig. 2 simultáneamente. En la etapa S201, el usuario del sistema de terminal de usuario inicia el programa de aplicación. En la etapa S202, el sistema operativo del sistema terminal del usuario se prepara para cargar el programa de aplicación. En la etapa S203, el sistema operativo del sistema terminal de usuario recibe las instrucciones para que el programa de aplicación permita al sistema de archivos leer los bloques de archivos desde el dispositivo de almacenamiento. En la etapa S204, el sistema de archivos del sistema de terminal de usuario lee el archivo de programa en los bloques de archivos. En la etapa S205, el sistema operativo del sistema terminal del usuario carga el archivo de programa en la memoria. En la etapa S206, el programa de aplicación toma el control del sistema operativo en el sistema terminal del usuario para ejecutar el archivo de programa, y permite que el procedimiento entre en la etapa S207 cuando el programa de aplicación necesita ejecutar un procedimiento diferente. En la etapa S207, el sistema operativo recibe las instrucciones para que el programa de aplicación permita al sistema de archivos leer los bloques de archivos desde el dispositivo de almacenamiento, y luego permite que el procedimiento salte a la etapa S208. En la etapa S208, el sistema de archivos lee el archivo de programa en los bloques de archivos, y luego permite que el procedimiento salte a la etapa S206. En la etapa S206, permita que el procedimiento salte a la etapa S209 para finalizar el programa de aplicación cuando el programa de aplicación no continúe ejecutando otros procedimientos.
Entre el terminal de servicio y el terminal de usuario, todos los modos convencionales de utilización del programa de aplicación requieren la instalación o la ejecución del programa de aplicación sólo después de la descarga de todos los archivos. Estos modos consumen un tiempo de descarga considerable cuando el programa de aplicación tiene una gran capacidad. Para el terminal del usuario, es necesario esperar, lo que hace perder tiempo. Por lo tanto, es deseable tener un modo que permita al terminal de usuario utilizar un programa de aplicación poco después de elegirlo sin requerir mucho tiempo de descarga, y la construcción del equipo de hardware con la alta potencia de cálculo, así como la provisión y el mantenimiento del programa son proporcionados por el terminal de servicio. La invención proporciona un procedimiento de descarga de un programa de aplicación como se recita en la reivindicación 1. Las realizaciones ventajosas se exponen en las reivindicaciones dependientes. El procedimiento de descarga de un programa tiene al menos un archivo desde al menos un terminal de servicio a un terminal de usuario. El procedimiento incluye las siguientes etapas de segmentar el al menos un archivo en una pluralidad de bloques, y disponer la pluralidad de bloques de acuerdo con un orden de lectura particular del programa, en el que la pluralidad de bloques incluye un primer bloque y un segundo bloque; transmitir el primer bloque al terminal de usuario; y ejecutar el primer bloque en el terminal de usuario antes de transmitir el segundo bloque al terminal de usuario.
Se divulga un procedimiento de descarga de un programa no cubierto por la invención reivindicada. El procedimiento de descarga de un programa tiene una pluralidad de archivos, donde la pluralidad de archivos se descargan uno por uno desde un terminal de servicio a un terminal de usuario, y la pluralidad de archivos comprende al menos un primer archivo y un segundo archivo. El procedimiento incluye las siguientes etapas: transmitir el primer archivo desde el terminal de servicio al terminal de usuario; y ejecutar el primer archivo en el terminal de usuario antes de transmitir el segundo archivo desde el terminal de servicio al terminal de usuario.
Se divulga un procedimiento de descarga de un programa no cubierto por la invención reivindicada. El procedimiento de descarga de un programa tiene un archivo de ejecución y un archivo de recursos desde un terminal de servicio a un terminal de usuario. El procedimiento incluye las siguientes etapas: transmitir el archivo de ejecución desde el terminal de servicio al terminal de usuario; ejecutar el archivo de ejecución en el terminal de usuario, y adquirir una parte de datos del archivo de recursos cuando una ejecución del archivo de ejecución necesita un apoyo de la parte de datos del archivo de recursos para continuar la ejecución; y continuar la ejecución del archivo de ejecución cuando la parte de datos ha sido adquirida desde el terminal de servicio.
Se divulga un procedimiento de descarga de un programa no cubierto por la invención reivindicada. El procedimiento de descarga de un programa tiene una pluralidad de archivos de ejecución y una pluralidad de archivos de recursos, donde cada uno de la pluralidad de archivos de ejecución está segmentado en una pluralidad de bloques de ejecución, y cada uno de la pluralidad de archivos de recursos está segmentado en una pluralidad de bloques de recursos para permitir que la pluralidad de bloques de ejecución se descargue desde un terminal de servicio a un terminal de usuario para su ejecución. El procedimiento incluye las siguientes etapas: transmitir un primer bloque de ejecución de la pluralidad de bloques de ejecución desde el terminal de servicio al terminal de usuario, en el que una ejecución del primer bloque de ejecución necesita el apoyo de un bloque de recursos específico de la pluralidad de bloques de recursos; transmitir el bloque de recursos específico desde el terminal de servicio al terminal de usuario para completar la preejecución del primer bloque de ejecución; y continuar transmitiendo un segundo bloque de ejecución de la pluralidad de bloques de ejecución al terminal de usuario cuando el terminal de servicio haya completado la transmisión del bloque de recursos específico.
Utilizando el procedimiento de descarga de un programa de la presente invención, se puede ahorrar el tiempo de descarga del programa de aplicación desde el terminal de servicio al terminal de usuario, el programa de aplicación se puede instalar o ejecutar completamente sin descargar, y se consigue la necesidad de utilizar un programa de aplicación poco después de elegirlo para la empresa o el usuario.
La Fig. 1 muestra un diagrama esquemático de un procedimiento convencional de descarga de un programa de aplicación;
La Fig. 2 muestra un diagrama esquemático de un procedimiento convencional de ejecución de un programa de aplicación;
La Fig. 3 muestra un diagrama esquemático del archivo de programa de aplicación de la presente invención; La Fig. 4 muestra un diagrama esquemático de la disposición de los bloques del archivo de programa de la presente invención;
La Fig. 5 muestra un diagrama esquemático de un procedimiento de descarga inmediata de un archivo de programa según una realización no cubierta por la invención reivindicada;
La Fig. 6 muestra un diagrama esquemático de un procedimiento de descarga inmediata de un archivo de programa según una segunda realización no cubierta por la invención reivindicada;
La Fig. 7 muestra un diagrama esquemático de un procedimiento de descarga de un programa según una tercera realización de la presente invención;
La Fig. 8 muestra un diagrama esquemático de un procedimiento de descarga de un programa según una cuarta realización no cubierta por la invención reivindicada;
La Fig. 9 muestra un diagrama esquemático de un procedimiento de descarga de un programa según una quinta realización no cubierta por la invención reivindicada; y
La Fig. 10 muestra un diagrama esquemático de un procedimiento de descarga de un programa según una sexta realización no cubierta por la invención reivindicada.
La presente invención se describirá ahora más específicamente con referencia a las siguientes realizaciones. Cabe señalar que las siguientes descripciones de las realizaciones preferentes de esta invención se presentan aquí sólo con fines ilustrativos y descriptivos; no pretenden ser exhaustivas ni limitarse a la forma precisa divulgada.
Refiriéndonos a la Fig. 3, que muestra un diagrama esquemático de un archivo de programa de aplicación de la presente invención. En el archivo del programa de aplicación, se pueden incluir tres tipos de archivos a, b, c, como un archivo de ejecución con la extensión de archivo "exe", un archivo de biblioteca de enlace dinámico con la extensión de archivo "dll", y un archivo de recursos con la extensión de archivo "jpg". En la Fig. 3, el archivo de ejecución a.exe puede dividirse en cuatro bloques 1-4, el archivo de recursos b.jpg puede dividirse en tres bloques 1-3, y el archivo de la biblioteca de enlace dinámico c.dll puede dividirse en tres bloques 1-3.
Refiriéndonos a la Fig. 4, que muestra un diagrama esquemático de la disposición de los bloques del archivo de programa de la presente invención. Antes de la descarga desde el terminal de usuario al terminal de servicio, el archivo de programa puede organizarse de acuerdo con un orden de lectura particular y bloques de archivo requeridos por la función común, y luego descargarse secuencialmente para leer y ejecutar el programa de aplicación a través de la red. Por ejemplo, en la Fig. 4, el orden de descarga es: bloque 1 del archivo de ejecución a.exe, bloque 4 del archivo de ejecución a.exe, bloque 2 del archivo de biblioteca de enlace dinámico c.dll, bloque 1 del archivo de recursos b.jpg y así sucesivamente. Los bloques que se descargan en el terminal del usuario pueden ejecutarse primero. Por ejemplo, el bloque 1 del archivo de ejecución a.exe puede ser ejecutado primero, luego el bloque 4 del archivo de ejecución a.exe puede ser ejecutado, luego el bloque 2 del archivo de biblioteca de enlace dinámico c.dll puede ser ejecutado, y luego el bloque 1 del archivo de recursos b.jpg puede ser leído. La ejecución no tiene que esperar hasta que se descarguen todos los archivos. El orden de lectura particular puede determinarse en base a un número N de veces que se va a utilizar cada bloque de la pluralidad de bloques. Un bloque que tiene un N más grande tiene un orden de lectura anterior al de otro bloque que tiene un N más pequeño, y el orden de lectura particular se determina basándose en un orden de lectura original cuando los bloques tienen el mismo N. Por ejemplo, cuando hay otro archivo de ejecución d.exe descargado o utilizado más a menudo que el archivo de ejecución a.exe, descarga y ejecuta el archivo de ejecución d.exe en el terminal de usuario primero, y luego descarga y ejecuta el archivo de ejecución a.exe en el terminal de usuario. Cuando no hay estadísticas para los tiempos de uso, se descargan según el orden del archivo de programa que el programa de aplicación necesita utilizar.
Refiriéndonos a la Fig. 5, que muestra un diagrama esquemático de un procedimiento de descarga de un archivo de programa inmediatamente según una primera realización no cubierta por la invención reivindicada. En la etapa S301, el sistema de terminal de usuario recibe la instrucción de iniciar el programa de aplicación. En la Fig. 5, lo que es diferente del modo convencional es que el procedimiento entra directamente en la etapa S302 después de la etapa S301. En la etapa S302, inicie el programa de aplicación, y luego permita que el procedimiento entre en la etapa S303. En la etapa S303, leer el archivo de programa, en el que el programa de aplicación en el terminal de usuario da una instrucción al sistema operativo, y permitir que el sistema operativo solicite los archivos requeridos por el programa de aplicación desde el sistema de archivos en el terminal de usuario. En la etapa S304, el sistema de terminal de usuario determina si existe un archivo de programa, y permite que el procedimiento salte a la etapa S305 cuando el archivo de programa no existe. En la etapa S305, el terminal de usuario descarga el archivo de programa requerido desde el terminal de servicio al terminal de usuario, y luego permite que el procedimiento entre en la etapa S306. En la etapa S306, el sistema operativo del terminal de usuario escribe el archivo de programa en un sistema de archivos o en un sistema caché, y luego permite que el procedimiento entre en la etapa S307. En la etapa S307, el sistema operativo del terminal de usuario transmite el archivo de programa de vuelta al programa de aplicación. En la etapa S304, permitir que el procedimiento entre directamente en la etapa S307 cuando el terminal de usuario determine que existe un archivo de programa, de manera que el sistema operativo transmita el archivo de programa de vuelta al programa de aplicación. Entonces el procedimiento entra en la etapa S308. En la etapa S308, ejecute el programa de aplicación; cuando otros procedimientos necesiten ser ejecutados, y el usuario determine que no existe un archivo de programa, entonces repita las etapas S303, S304, S305, S306, S307 y S308; si el usuario determina que existe un archivo de programa, entonces repita las etapas S307 y S308. Permitir que el procedimiento entre en la etapa S309 cuando no sea necesario ejecutar otros procedimientos para finalizar el programa de aplicación.
En la primera realización no cubierta por la invención reivindicada, la descarga del archivo de programa puede realizarse descargando los bloques en el terminal de usuario mediante un modo multiproceso desde el al menos un terminal de servicio cercano al terminal de usuario para su ejecución. El proveedor de servicios puede configurar servidores en diferentes áreas para permitir que el terminal de usuario elija automáticamente el servidor más cercano para descargar el archivo de programa, en el que el terminal de servicio incluye el servidor. Por supuesto, se puede elegir una pluralidad de servidores cercanos al terminal de usuario para descargar simultáneamente y aumentar la eficiencia de la descarga del archivo de programa. Estos bloques de archivos, archivos de ejecución, archivos de recursos y archivos de bibliotecas de enlaces dinámicos pueden comprimirse en el terminal de servicio y luego transmitirse a través de la red, y luego descomprimirse en el terminal de usuario para aumentar la cantidad de datos a transmitir.
Refiriéndonos a la Fig. 6, que muestra un diagrama esquemático de un procedimiento para descargar un archivo de programa inmediatamente según una segunda realización no cubierta por la invención reivindicada. En la etapa S401, el usuario en el terminal de usuario inicia el programa de aplicación. En la etapa S402, el programa de aplicación en el terminal de usuario notifica al sistema operativo que se prepare para cargar el programa de aplicación, pero es necesario pasar por la etapa S403 antes de la carga real. En la etapa S403, el terminal de servicio comprueba el estado de autorización del terminal de usuario, y permite que el procedimiento entre en la etapa S404 si el terminal de usuario pasa la autorización. En la etapa S404, el terminal de servicio almacena el estado autorizado en el dispositivo de almacenamiento del terminal de usuario para confirmar que el terminal de usuario ha superado la autorización, y solicita el archivo de programa necesario para descargar desde el terminal de servicio. En la etapa S403, permitir que el procedimiento entre en la etapa S405 si el terminal de servicio encuentra que el usuario está en el estado no autorizado. En la etapa S405, solicitar al usuario que pague a través de la red, y permitir que el procedimiento entre en la etapa S404 cuando el pago del usuario se haya presentado con éxito. La comprobación de la autorización antes de que el programa de aplicación se haya cargado en el terminal de usuario puede evitar que el programa de aplicación se altere y se salte la inspección de la autorización al ejecutar el programa de aplicación. El programa de aplicación es proporcionado por el terminal de servicio y no puede ser alterado por el terminal de usuario. Esto puede evitar que el software pirata huya de aquí para allá. Mientras tanto, el terminal de servicio también puede comprobar el número de serie o el ID del dispositivo de almacenamiento, la CPU, la placa base o el número de serie de la tarjeta de red en el terminal de usuario para confirmar la autorización. El terminal de servicio prohíbe la descarga del archivo de programa al terminal de usuario si el número de serie o el ID del terminal de usuario no está autentificado por el terminal de servicio.
En la etapa S404, el dispositivo de almacenamiento en el terminal de usuario puede ser un disco duro virtual, una unidad flash USB o un disco duro que utiliza diferentes tipos de buses para conectarse. Los tipos de buses pueden incluir SATA, SCSI, IDE, etc. El dispositivo de almacenamiento puede incluir todos los conjuntos de programas de aplicación y conectarse al terminal del usuario. Así, cuando el usuario inicia un programa de aplicación entre los conjuntos de programas de aplicación, puede cargar directamente el archivo de programa desde el dispositivo de almacenamiento conectado al terminal de usuario en la memoria caché del terminal de usuario para ejecutarlo sin necesidad de descargar el archivo de programa desde el terminal de servicio a través de la red. Por supuesto, cuando el archivo de programa entre los conjuntos de programas de aplicación necesita ser actualizado, se puede utilizar el procedimiento de conexión inmediata al terminal de servicio para descargar inmediatamente el archivo de programa. El dispositivo de almacenamiento, como una unidad flash, puede utilizarse como caché. Cuando se va a utilizar un determinado programa de aplicación, los archivos de programa que no se necesitan en la memoria caché se pueden eliminar, y el archivo de programa necesario se puede descargar desde el terminal de servicio. Para el usuario, aunque la unidad flash sólo tiene una capacidad de almacenamiento de 8 GB, parece que tiene un espacio de almacenamiento de 1000 GB. El dispositivo de almacenamiento puede incluir todos los conjuntos de programas de aplicación y sistemas operativos integrados, y se conecta al terminal de usuario. El terminal de usuario puede utilizar directamente el conjunto de programas de aplicación y el sistema operativo integrado en el dispositivo de almacenamiento, y no necesita cambiar el conjunto de parámetros entre el sistema operativo en el terminal de usuario y el conjunto de programas de aplicación en el dispositivo de almacenamiento. Se permite que el procedimiento entre en el procedimiento de carga del archivo de programa después de la etapa S404.
Como se muestra en la Fig. 6, en la etapa S404, permitir que el procedimiento entre en la etapa S406 y la etapa S407 simultáneamente después de confirmar la autorización en el terminal de usuario. En la etapa S406, el terminal de usuario solicita al terminal de servicio que transmita bloques de archivos incompletos según un orden de lectura particular del programa. A continuación, el procedimiento entra en la etapa S408, en el que el terminal de servicio transmite secuencialmente bloques de archivos incompletos al terminal de usuario. A continuación, el procedimiento entra en la etapa S409, en el que el terminal de usuario escribe estos bloques de archivos incompletos en el sistema caché. En la etapa S407, el terminal de usuario lee los bloques de archivos en el sistema caché, y luego el procedimiento entra en la etapa S410, en el que el terminal de usuario determina si los bloques de archivos existen, y permite que el procedimiento entre en la etapa S411 cuando los bloques de archivos existen. En la etapa S411, el sistema operativo del terminal de usuario carga los bloques de archivos en la memoria. En la etapa S410, permita que el procedimiento entre en la etapa S412 cuando los bloques de archivos no existan. En la etapa S412, el terminal de usuario solicita al terminal de servicio que transmita las partes necesarias, como los bloques de archivos o los archivos de programa que el terminal de usuario necesita, para ejecutar el programa de aplicación, y luego permite que el procedimiento entre en la etapa S413. En la etapa S413, el terminal de usuario escribe los bloques de archivos o archivos de programa necesarios en el sistema caché del terminal de usuario, y luego permite que el procedimiento entre en la etapa S411. Permite que el procedimiento entre en la etapa S414 después de cargar los bloques de archivos o archivos de programa por el sistema operativo. En la etapa S414, el sistema operativo transmite los bloques de archivos o archivos de programa al programa de aplicación para que los ejecute.
En la etapa S414, el programa de aplicación puede ejecutarse inmediatamente después de la descarga de un bloque de archivos en el programa de aplicación sin esperar a la descarga completa de los bloques de archivos o archivos de programa. Permitir que el procedimiento entre en las siguientes etapas S415, s416, S417 y S418 cuando se necesiten bloques de archivos posteriores. Los procedimientos de las etapas S415-S418 son los mismos que las etapas S407, S410, S412 y S413. Cuando los bloques de archivos necesarios para ejecutar el programa de aplicación no existen en el sistema caché del terminal de usuario, éste solicita los bloques necesarios al terminal de servicio, y los bloques necesarios son descargados por el terminal de servicio y escritos en el sistema caché del terminal de usuario. Por último, el programa de aplicación lee los bloques de archivos en el sistema caché para ejecutarlos. En la etapa S414, permita que el procedimiento entre en la etapa S419 cuando el programa de aplicación no necesite ejecutar los siguientes procedimientos para finalizar el programa de aplicación.
Refiriéndonos a la Fig. 7, que muestra un diagrama esquemático de un procedimiento para descargar un programa de acuerdo con una tercera realización que es una forma de realización de la invención reivindicada. El programa incluye al menos un archivo descargado desde un terminal de servicio a un terminal de usuario para su ejecución. Por ejemplo, el al menos un archivo es el archivo de ejecución a.exe, el archivo de recursos b.jpg, el archivo de biblioteca de enlace dinámico c.dll, o una combinación de ellos. En la etapa S501, segmentar el al menos un archivo en una pluralidad de bloques, y organizar la pluralidad de bloques de acuerdo con un orden de lectura particular del programa, donde los bloques incluyen un primer bloque y un segundo bloque. Por ejemplo, en la Fig. 4, los bloques incluyen el bloque 1 del archivo de ejecución a.exe y el bloque 4 del archivo de ejecución a.exe. En la etapa S502, transmitir el primer bloque al terminal de usuario. En la etapa S503, ejecutar el primer bloque en el terminal de usuario antes de transmitir el segundo bloque al terminal de usuario. Por ejemplo, ejecutar el bloque 1 del archivo de ejecución a.exe en el terminal de usuario antes de que el bloque 4 del archivo de ejecución a.exe se transmita al terminal de usuario.
En la tercera realización, el procedimiento incluye además una de las siguientes etapas de ejecución de la pluralidad de bloques del segundo bloque según el orden de lectura particular cuando los bloques han sido almacenados en una memoria en el terminal de usuario. Cuando los bloques no han sido almacenados en la memoria en el terminal de usuario, ejecutar los bloques en la memoria de acuerdo con el orden de lectura particular después de que los bloques se descarguen en la memoria en el terminal de usuario por medio de un modo multiproceso desde el al menos un terminal de servicio más cercano al terminal de usuario.
Refiriéndonos a la Fig. 8, que muestra un diagrama esquemático de un procedimiento de descarga de un programa según una cuarta realización no cubierta por la invención reivindicada. El programa incluye un archivo de ejecución a.exe y un archivo de recursos b.jpg descargado desde un terminal de servicio a un terminal de usuario para su ejecución. El procedimiento incluye las siguientes etapas S601-S602. En la etapa S601, transmitir el archivo de ejecución desde el terminal de servicio al terminal de usuario. En la etapa S602, ejecutar el primer archivo en el terminal de usuario cuando el terminal de servicio aún no haya transmitido el segundo archivo al terminal de usuario. La cuarta realización puede aplicarse a un programa de aplicación de juegos o a un programa de aplicación multimedia. Estos programas de aplicación necesitan utilizar un gran número de archivos de audio y vídeo, es decir, archivos de recursos. El archivo de ejecución descargado puede ejecutarse en el terminal de usuario antes de que el archivo de recursos se descargue en el terminal de usuario. Por ejemplo, hay docenas de etapas en un programa de aplicación de juegos, y la primera etapa sólo necesita los archivos de programa pertinentes a la primera etapa para funcionar. Esperar cuando el archivo de recursos requerido no se haya descargado aún hasta obtener el archivo de recursos requerido para continuar con el siguiente procedimiento. Los archivos de recursos tienen en su mayoría una gran capacidad. Por lo tanto, si el archivo de recursos puede ser segmentado en una pluralidad de bloques de archivos primero, entonces los bloques de archivos necesarios pueden ser adquiridos de acuerdo a los requerimientos del programa, lo cual será bastante eficiente para la descarga. Por supuesto, el programa de aplicación puede incluir una pluralidad de archivos de recursos, cada uno de los cuales también puede segmentarse en una pluralidad de bloques de archivos, y entonces el orden de descarga de los bloques de archivos puede disponerse de acuerdo con la frecuencia de uso. Los archivos de ejecución de los programas de instalación también tienen una gran capacidad, por lo que se puede utilizar un procedimiento similar para los archivos de recursos para mejorar la eficiencia de la descarga.
En la cuarta realización, el procedimiento de descarga de un programa incluye además una de las siguientes etapas de ejecución del archivo de ejecución en el terminal de usuario cuando el archivo de ejecución ha sido almacenado en una memoria en el terminal de usuario. Cuando el archivo de ejecución aún no se ha almacenado en la memoria del terminal de usuario, ejecute el archivo de ejecución después de que el archivo de ejecución se descargue en la memoria del terminal de usuario desde un terminal de servicio más cercano al terminal de usuario cuando haya varios terminales de servicio.
En condiciones normales, el archivo de recursos en sí no se ejecutará. El archivo de recursos se leerá cuando lo solicite el archivo de ejecución, por lo que el archivo de ejecución se descargará y ejecutará antes que el archivo de recursos. Véase la Fig. 9, que muestra un diagrama esquemático de un procedimiento de descarga de un programa según una quinta realización no cubierta por la invención reivindicada. El programa incluye un archivo de ejecución y un archivo de recursos descargado desde un terminal de servicio a un terminal de usuario para su ejecución, por ejemplo, el archivo de ejecución a.exe y el archivo de recursos b.jpg en la Fig. 3. El procedimiento incluye las siguientes etapas S701-S702. En la etapa S701, transmitir el archivo de ejecución desde el terminal de servicio al terminal de usuario. En la etapa S702, ejecutar el archivo de ejecución en el terminal de usuario, y adquirir una parte de datos del archivo de recursos del terminal de servicio cuando la ejecución del archivo de ejecución necesita un apoyo de la parte de datos del archivo de recursos para continuar la ejecución. Por ejemplo, en la Fig. 3, el archivo de ejecución a.exe se ejecuta en el terminal del usuario. El bloque 1 del archivo de recursos b.jpg se adquiere del terminal de servicio cuando la ejecución del archivo de ejecución a.exe necesita un apoyo del bloque 1 del archivo de recursos para continuar la ejecución. A continuación, el procedimiento entra en la etapa S703 para continuar ejecutando el archivo de ejecución cuando la parte de datos ha sido adquirida desde el terminal de servicio.
En la quinta realización, el procedimiento de descarga de un programa incluye además una de las siguientes etapas: ejecutar el archivo de ejecución en el terminal de usuario cuando el archivo de ejecución ha sido almacenado en una memoria en el terminal de usuario; y cuando el archivo de ejecución aún no ha sido almacenado en la memoria en el terminal de usuario, ejecutar el archivo de ejecución después de que el archivo de ejecución se descargue en la memoria en el terminal de usuario desde un terminal de servicio más cercano al terminal de usuario cuando hay varios terminales de servicio.
Los archivos de ejecución para la instalación del programa suelen incluir una pluralidad de archivos sub-ejecutables, una pluralidad de archivos de recursos y una pluralidad de archivos de bibliotecas de enlace dinámico. Para instalar el programa inmediatamente, el terminal de usuario puede descargar algunos archivos de sub-ejecución necesarios desde el terminal de servicio para ejecutarlos sin esperar a que se hayan descargado todos los archivos de ejecución para la instalación del programa para iniciar la instalación. Véase la Fig. 10, que muestra un diagrama esquemático de un procedimiento de descarga de un programa según una sexta realización no cubierta por la invención reivindicada. El programa incluye una pluralidad de archivos de ejecución y una pluralidad de archivos de recursos, en los que cada uno de los archivos de ejecución está segmentado en una pluralidad de bloques de ejecución, y cada uno de los archivos de recursos está segmentado en una pluralidad de bloques de recursos para permitir que los bloques de ejecución se descarguen desde un terminal de servicio a un terminal de usuario para su ejecución. El procedimiento incluye las siguientes etapas S801-S802. En la etapa S801, transmitir un primer bloque de ejecución de los bloques de ejecución desde el terminal de servicio al terminal de usuario, en el que la ejecución del primer bloque de ejecución necesita un apoyo de un bloque de recursos específico de los bloques de recursos. En la etapa s 802, transmitir el bloque de recursos específico desde el terminal de servicio al terminal de usuario para completar la pre-ejecución del primer bloque de ejecución. En la etapa S803, continuar transmitiendo un segundo bloque de ejecución de los bloques de ejecución al terminal de usuario cuando el terminal de servicio haya terminado de transmitir el bloque de recursos específico.
En la sexta realización no cubierta por la invención reivindicada, el procedimiento de descarga de un programa incluye además una de las siguientes etapas: ejecutar el primer bloque de ejecución en el terminal de usuario cuando el primer bloque de ejecución ha sido almacenado en una memoria en el terminal de usuario, y ejecutar el segundo bloque de ejecución en el terminal de usuario cuando el segundo bloque de ejecución ha sido almacenado en la memoria en el terminal de usuario. Cuando el primer bloque de ejecución y el segundo bloque de ejecución aún no se han almacenado en la memoria del terminal de usuario, ejecute uno de los bloques de ejecución y el segundo bloque de ejecución después de que el primer bloque de ejecución y el segundo bloque de ejecución se descarguen en la memoria del terminal de usuario desde un terminal de servicio más cercano al terminal de usuario cuando haya varios terminales de servicio. La memoria incluye un disco duro virtual para almacenar el programa. El terminal de usuario se conecta eléctricamente a un disco duro móvil externo para almacenar el programa y permitir que el terminal de usuario ejecute directamente el programa. El terminal de usuario se conecta eléctricamente a un disco duro móvil externo para almacenar el programa y un sistema operativo integrado para permitir que el terminal de usuario ejecute directamente el programa sin utilizar un sistema operativo interno en el terminal de usuario. Los archivos se comprimen en el terminal de servicio y se descomprimen en el terminal de usuario para aumentar la cantidad de datos a transmitir.

Claims (8)

REIVINDICACIONES
1. Un procedimiento de descarga de un programa de aplicación que tiene al menos un archivo desde al menos un terminal de servicio a un terminal de usuario, comprendiendo el procedimiento las siguientes etapas:
segmentar (S501) el al menos un archivo en una pluralidad de bloques, y disponer la pluralidad de bloques de acuerdo con un orden de lectura particular del programa de aplicación requerido por una función común, en el que el orden de lectura particular se determina en base a las estadísticas de los tiempos de uso N, en el que un bloque que tiene un N mayor tiene un orden de lectura prioritario sobre el de otro bloque que tiene un N menor, y la pluralidad de bloques incluye un primer bloque y un segundo bloque;
transmitir (S502) el primer bloque al terminal de usuario; y
ejecutar (S503) el primer bloque en el terminal de usuario antes de que el segundo bloque se transmita al terminal de usuario;
en el que, cuando no hay estadísticas de tiempos de uso N, la pluralidad de bloques se transmite según un orden del al menos un archivo que el programa de aplicación necesita utilizar; y
en el que, cuando la pluralidad de bloques no se ha almacenado en la memoria del terminal de usuario, la pluralidad de bloques se ejecuta en la memoria de acuerdo con el orden de lectura particular después de que la pluralidad de bloques se descargue en la memoria del terminal de usuario utilizando un modo multiproceso desde dos o más de los al menos un terminal de servicio, en el que dichos dos o más terminales de servicio están cerca del terminal de usuario.
2. El procedimiento según la reivindicación 1, caracterizado porque comprende además:
ejecutar la pluralidad de bloques del segundo bloque según el orden de lectura particular cuando la pluralidad de bloques se ha almacenado en una memoria en el terminal de usuario.
3. El procedimiento según la reivindicación 1, caracterizado porque el al menos un archivo incluye un archivo de ejecución, un archivo de biblioteca de enlace dinámico (DLL), un archivo de recursos y cualquier combinación de los mismos.
4. El procedimiento según la reivindicación 3, caracterizado porque el archivo de ejecución incluye el primer bloque, y uno de los archivos de recursos y el archivo de biblioteca de enlace dinámico incluye el segundo bloque.
5. El procedimiento según la reivindicación 2, caracterizado porque el terminal de usuario incluye la memoria que tiene un disco duro virtual para almacenar el programa de aplicación.
6. El procedimiento según la reivindicación 1, caracterizado porque el terminal de usuario se conecta eléctricamente a un disco duro móvil externo para almacenar el programa de aplicación para permitir que el terminal de usuario ejecute directamente el programa de aplicación en el disco duro móvil según el orden de lectura particular.
7. El procedimiento según la reivindicación 6, caracterizado porque el terminal de usuario se conecta eléctricamente a un disco duro móvil externo para almacenar el programa de aplicación y un sistema operativo integrado para permitir que el terminal de usuario ejecute directamente el programa de aplicación en el disco duro móvil según el orden de lectura particular en ausencia de un sistema operativo interno en el terminal de usuario.
8. El procedimiento según la reivindicación 1, caracterizado porque el al menos un archivo se comprime en el terminal de servicio y se descomprime en el terminal de usuario para aumentar una cantidad de datos a transmitir.
ES13887211T 2013-06-20 2013-06-20 Procedimiento de descarga de una aplicación Active ES2904664T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/077560 WO2014201660A1 (zh) 2013-06-20 2013-06-20 下载程序的方法

Publications (1)

Publication Number Publication Date
ES2904664T3 true ES2904664T3 (es) 2022-04-05

Family

ID=52103826

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13887211T Active ES2904664T3 (es) 2013-06-20 2013-06-20 Procedimiento de descarga de una aplicación

Country Status (7)

Country Link
US (1) US9870214B2 (es)
EP (1) EP3012735B1 (es)
JP (1) JP6294475B2 (es)
CN (2) CN105308564A (es)
ES (1) ES2904664T3 (es)
SG (1) SG11201510502TA (es)
WO (1) WO2014201660A1 (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106611297A (zh) * 2015-10-21 2017-05-03 中兴通讯股份有限公司 工作流异常处理方法及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1055297A (ja) * 1996-08-12 1998-02-24 Toshiba Corp ヒストリカルデータベース
US6574618B2 (en) * 1998-07-22 2003-06-03 Appstream, Inc. Method and system for executing network streamed application
JP2000231490A (ja) * 1999-02-09 2000-08-22 Toshiba Corp プログラム転送システム及び記録媒体
US6735601B1 (en) * 2000-12-29 2004-05-11 Vmware, Inc. System and method for remote file access by computer
JP2002215411A (ja) * 2001-01-19 2002-08-02 Hitachi Ltd Javaアプリケーション実行装置
JP2003140912A (ja) * 2001-10-29 2003-05-16 Sony Corp データ処理システム及びデータ処理方法、並びに記憶媒体
US7567994B2 (en) * 2006-01-18 2009-07-28 International Business Machines Corporation Method and apparatus to proactively capture and transmit dense diagnostic data of a file system
CN101079955A (zh) * 2006-05-22 2007-11-28 深圳Tcl新技术有限公司 电视系统软件的安全下载方法
US8347286B2 (en) * 2007-07-16 2013-01-01 International Business Machines Corporation Method, system and program product for managing download requests received to download files from a server
JP5187980B2 (ja) 2007-08-29 2013-04-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 1つ又は複数のアーカイブに小さなオブジェクトをパッケージするようにブラウザとサーバとの間で協働するための装置、システム、及び方法
US8103863B2 (en) * 2007-09-17 2012-01-24 International Business Machines Corporation Workflow management to automatically load a blank hardware system with an operating system, products, and service
CN102082807B (zh) * 2009-12-01 2014-11-05 突触计算机系统(上海)有限公司 基于多协议的文件传输方法及装置
US20120005677A1 (en) * 2010-06-30 2012-01-05 Yuji Fujiwara Computing Machine and Method for Controlling Computing Machine
KR101155203B1 (ko) 2010-12-21 2012-06-13 (주)네오위즈게임즈 패키지 파일의 다운로드 및 어플리케이션 설치를 병행하는 단말기 및 그 방법
JP5840892B2 (ja) * 2011-08-11 2016-01-06 日本ユニシス株式会社 ソフトウェア配信システムおよびソフトウェア配信用プログラム
US8972967B2 (en) * 2011-09-12 2015-03-03 Microsoft Corporation Application packages using block maps
US9286046B2 (en) * 2011-12-21 2016-03-15 Advanced Micro Devices, Inc. Method and apparatus for distributed operating system image deployment
US9311071B2 (en) * 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
CN103077061A (zh) * 2013-01-16 2013-05-01 珠海市君天电子科技有限公司 一种应用软件在安卓设备的安装方法和系统

Also Published As

Publication number Publication date
CN105308564A (zh) 2016-02-03
EP3012735B1 (en) 2021-11-24
US20160139904A1 (en) 2016-05-19
JP2016527607A (ja) 2016-09-08
SG11201510502TA (en) 2016-01-28
CN112905265A (zh) 2021-06-04
WO2014201660A1 (zh) 2014-12-24
EP3012735A1 (en) 2016-04-27
JP6294475B2 (ja) 2018-03-14
US9870214B2 (en) 2018-01-16
EP3012735A4 (en) 2017-07-19

Similar Documents

Publication Publication Date Title
CN105308612B (zh) 用于安全代码启动的动态加载测量环境
US20240048631A1 (en) Demand resources
US11029992B2 (en) Nondisruptive updates in a networked computing environment
TWI557572B (zh) 用於在主機與行動裝置間之任務的雙向動態卸載之方法、系統及電腦可讀儲存裝置(一)
US20210240489A1 (en) Firmware update patch
CN110073355A (zh) 服务器上的安全执行环境
CN105302563B (zh) 移动应用服务的插件化方法及系统
US20160357538A1 (en) On demand resources
US9565168B1 (en) System and method of a trusted computing operation mode
CN106648724B (zh) 应用程序的热修复方法及终端
US20150180950A1 (en) Test management using distributed computing
CN103632073A (zh) 用于控制终端应用权限的方法和装置
TW201337620A (zh) 用於部分保全記憶體處理的軟體修改技術
US9146749B1 (en) System and methods for updating digital signage device operating systems and registering signage devices to a global network
US8352948B2 (en) Method to automatically ReDirect SRB routines to a zIIP eligible enclave
CN113641503B (zh) 多云多集群的Kubernetes管理系统及方法与设备
US9477518B1 (en) Method to automatically redirect SRB routines to a zIIP eligible enclave
ES2904664T3 (es) Procedimiento de descarga de una aplicación
WO2023066246A1 (zh) 云手机安装应用的方法、系统和客户端云手机
US20140244545A1 (en) System, method, and recording medium
CN107667343B (zh) 用于加载按需加载资源的系统和方法
TWI630551B (zh) 下載程式的方法
CN111562968A (zh) 一种实现ICS对Kata container管理的方法、装置、设备和介质
US20110023036A1 (en) Switching process types in a process engine
CN117591247B (zh) 云环境虚拟机的修复方法、装置及电子设备