ES2288228T3 - Ordenador para gestionar comparticion de datos entre programas de aplicacion. - Google Patents

Ordenador para gestionar comparticion de datos entre programas de aplicacion. Download PDF

Info

Publication number
ES2288228T3
ES2288228T3 ES04007460T ES04007460T ES2288228T3 ES 2288228 T3 ES2288228 T3 ES 2288228T3 ES 04007460 T ES04007460 T ES 04007460T ES 04007460 T ES04007460 T ES 04007460T ES 2288228 T3 ES2288228 T3 ES 2288228T3
Authority
ES
Spain
Prior art keywords
program
javaap
data
original
destination
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.)
Expired - Lifetime
Application number
ES04007460T
Other languages
English (en)
Inventor
Masakazu Nishida
Nobuyuki Watanabe
Masayuki Tsuda
Yasunori Hattori
Mao Asai
Naoki Naruse
Yuichi Ichikawa
Atsuki Tomioka
Masato Takeshita
Kazuhiro Yamada
Satoshi Washio
Dai Kamiya
Naoki Yamane
Keiichi Murakami
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Application granted granted Critical
Publication of ES2288228T3 publication Critical patent/ES2288228T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

Un ordenador, que comprende: un medio de recepción (404) para recibir un programa; caracterizado por un medio de almacenamiento (408) para almacenar de manera correspondiente un programa original y un programa de destino e identificaciones de proveedor URL relacionado de los programas originales y los programas de destino; medios de ejecución (401, KVM, PIPZ) para ejecutar un programa que está almacenado en dicho medio de almacenamiento (408); un medio de determinación (401) para determinar si los nombres de dominio completamente cualificados de las identificaciones de proveedor URL del programa original y el programa de destino son los mismos, llevándose a cabo la determinación en respuesta a una solicitud para ejecutar el programa de destino; y permitiendo el medio de determinación (401) la ejecución del programa de destino mientras comparte datos que están asociados con y son utilizados por el programa original con el programa de destino, cuando dicho medio de determinación (401) determina que los nombres de dominio completamente cualificados de las identificaciones de proveedor URL son los mismos.

Description

Ordenador para gestionar compartición de datos entre programas de aplicación.
\global\parskip0.950000\baselineskip
Campo técnico
La presente invención se refiere a un método para la gestión, transferencia y compartición de datos entre programas.
Técnica anterior
En el documento EP 1.227.386 A1 se describe un control de acceso para ordenadores que proporciona un mecanismo general y flexible para el control de acceso seguro en un ordenador. Se aplican sumas de control criptográficas para la identificación de un programa con respecto a otro programa.
En el documento US 2002/0002703 A1 se describe un método de dispositivo para actualizar un código, en particular un método para un proveedor de software para permitir a una entidad que adquiere software llegar desde un primer código firmado existente hasta un segundo código firmado.
En el documento WO 98/21683 se describe un sistema y método para proteger un ordenador y una red de lo hostil y de descargas, que comprende las etapas de recibir un Descargable, comparar el Descargable con una política de seguridad para determinar si se ha violado la política de seguridad, y deshacerse del Descargable cuando se haya violado la política de seguridad.
Como es bien sabido, un ordenador tal como un PC ejecuta programas de aplicación instalados en el ordenador para realizar procesamiento de textos, navegación por Internet, comunicación por correo electrónico, y similares. Ha de observarse que algunos tipos de datos informáticos generados por tales programas de aplicación, pueden ser utlizados por otros programas. En otras palabras, pueden compartirse datos entre una pluralidad de programas ejecutados en un ordenador. Un ejemplo de una técnica de compartición de datos se da a conocer en la solicitud de patente japonesa Nº 2002-312215.
Un PC o teléfono móvil que pueda llevar a cabo comunicación por paquetes puede descargar un programa desde un servidor WWW (World Wide Web, telaraña mundial) a través de Internet. Internet está abierto al público, y por tanto cualquiera puede subir un programa sin restricción. Por lo tanto, surge un problema porque un programa destructivo o dañino, por ejemplo, un "caballo de Troya" o "puerta trasera" ("Backdoor") puede sacar datos o información personal de un terminal de usuario, o provocar un mal funcionamiento cuando se descarga accidentalmente en un ordenador de usuario.
Por lo tanto, si un ordenador permite, sin ninguna restricción, que un programa utilice datos orientados a programas, que se generan o utilizan durante la ejecución de otro programa, surgirán algunos problemas tal como se describe a continuación. Por ejemplo, cuando se ejecuta un programa, que puede haber sido proporcionado por un pirata informático malintencionado, se toma ilícitamente del ordenador de un usuario información personal introducida por el usuario. También es posible que datos utilizados junto con un programa autorizado sean interferidos por otros programas que son o bien destructivos o bien defectuosos.
Para superar los problemas anteriores en relación con seguridad de datos con respecto a otros programas, una opción es prohibir la compartición de todos los datos entre diversos programas instalados dentro de un ordenador. En este caso, sin embargo, la utilidad o funcionalidad de un ordenador se reduce enormemente.
Descripción de la invención
Se ha realizado la presente invención para superar los problemas anteriores. Un objetivo de la presente invención es gestionar la transferencia o compartición de datos relacionados con programas entre otros programas a la vez que se conserva la seguridad de los datos.
Un ordenador de la presente invención comprende las características de la reivindicación 1.
En otro aspecto, la presente invención proporciona un producto de programa informático que tiene las características de la reivindicación 4.
En la presente invención se permite al programa de destino utilizar los datos relacionados con el programa original, sólo si los proveedores del programa original y de destino son los mismos.
Breve descripción de los dibujos
La figura 1 muestra una configuración de un terminal de comunicación de una realización de la presente invención.
La figura 2 muestra una configuración de una JavaAP.
La figura 3 muestra una configuración de hardware de un teléfono móvil.
\global\parskip1.000000\baselineskip
La figura 4 muestra una configuración de un almacenamiento JAR.
La figura 5 muestra una configuración de una memoria auxiliar.
La figura 6 muestra un entorno de ejecución de un teléfono móvil.
La figura 7 muestra un flujo de procesamiento de operaciones de descarga de una JavaAP, que se realizan mediante el teléfono móvil y un servidor de contenido.
La figura 8 muestra un flujo de procesamiento realizado por una API de lanzamiento ejecutada por el teléfono móvil.
La figura 9 muestra un flujo de procesamiento de registro de JavaAP realizado por un teléfono móvil en una realización modificada.
Descripción detallada
Se describirá una realización preferida de la presente invención, haciendo referencia a los dibujos adjuntos. Ha de observarse que números iguales están asignados a elementos iguales en los dibujos.
A. Configuración 1. Sistema de comunicación
La figura 1 muestra una configuración global de un sistema de comunicación 1 de la realización. Como se muestra, el sistema de comunicación 1 incluye un servidor de contenido 10, Internet 20, una red de comunicación móvil por paquetes 30, y un teléfono móvil 40.
El servidor de contenido 10 es capaz de llevar a cabo la comunicación con el teléfono móvil 40 a través de la red de comunicación móvil por paquetes 30. Un software de aplicación Java^{TM}, (al que se hace referencia de aquí en adelante en el presente documento simplemente como "una JavaAP") se almacena en el servidor de contenido 10, mediante la que puede ejecutarse el programa en el teléfono móvil 40.
La red de comunicación móvil por paquetes 30 incluye un servidor de pasarela 31 y estaciones base 32. El servidor de pasarela 31 realiza intercambio de protocolos para transmitir datos entre el paquete móvil 30 e Internet 20. Se proporciona cada una de las estaciones base 32 en un área de servicio de conmutación establecida en la red de comunicación móvil por paquetes 30. Cada una de las estaciones base 32 en un área (célula de radio) lleva a cabo la comunicación con el teléfono móvil 40 ubicado en el área.
El teléfono móvil 40 es un teléfono móvil adaptado a la red de comunicación móvil por paquetes 30. El teléfono móvil 40 es capaz de realizar comunicación con el servidor de contenido 10 a través de una de las estaciones base 32, para descargar una JavaAP del servidor de contenido 10.
2. JavaAP
La figura 2 es un diagrama conceptual que muestra una configuración de una JavaAP almacenada en el servidor de contenido 10. Como se muestra en la figura, una JavaAP está comprendida por un archivo JAR (Archivo de Java) y ADF (Application Descriptor File, archivo descriptor de aplicación). Un archivo JAR es un manojo de archivos que incluye un programa principal (al que a veces se hace referencia como "un programa de aplicación Java" o "JavaAPP") y archivo de datos de imágenes, archivo de datos de audio, que se utilizan con el programa principal. Un ADF almacena información de control para controlar la instalación y ejecución de un archivo JAR y comunicarse con un dispositivo electrónico a través de una red, y similar.
Específicamente, un ADF es un archivo de datos que se descarga al teléfono móvil 40, antes de descargar un archivo JAR. Puesto que un archivo JAR y el ADF correspondiente se descargan y utilizan necesariamente en pares, se incluye un URL (Uniform Resource Locator, localizador uniforme de recursos) que indica una ubicación de archivo JAR en Internet 20 en el ADF como un elemento de datos "PackageURL", para asociar de ese modo el ADF con el archivo JAR. Los datos de "PackageURL" de una JavaAP los escribe un proveedor (remitente) de JavaAP.
Haciendo referencia a la figura 2, "http://www.xxx.com/yyy/JAR001" está incluido en el "PackageURL". Por tanto, un teléfono móvil 40 puede obtener un archivo JAR "JAR001" que está asociado con el ADF de un servidor WWW (servidor de contenido 10) identificado por el URL "http://www.xxx.com/yyy/JAR001".
En la siguiente descripción, se hace referencia a un archivo JAR y un ADF simplemente como una JavaAP, excepto donde el archivo JAR y el ADF necesitan distinguirse. También, un archivo JAR y el ADF correspondiente compuestos de una única JavaAP deben almacenarse en el servidor de contenido 10. Sin embargo, en otra realización es posible que un archivo JAR y ADF puedan almacenarse en servidores diferentes.
3. Teléfono móvil
La figura 3 es un diagrama de bloques que muestra una configuración de hardware del teléfono móvil 40. Como se muestra en la figura 3, el teléfono móvil 40 incluye una CPU 401, ROM 402, RAM 403, unidad de comunicación inalámbrica 404, dispositivo de entrada 405, unidad de procesamiento de voz 406, pantalla de cristal líquido 407, memoria no volátil 408, y bus 409 que conecta cada unidad del teléfono móvil 40.
La CPU 401 ejecuta un programa almacenado en ROM 402 o en memoria no volátil 408 para controlar cada unidad del teléfono móvil. La ROM 402 almacena un programa para realizar el control básico de las unidades anteriores del teléfono móvil. La RAM 403 es utilizada por la CPU 401 como un área de trabajo.
La unidad de comunicación inalámbrica 404 incluye una antena 404a para realizar comunicación inalámbrica con la estación base 32. Específicamente, la unidad de comunicación inalámbrica 404 crea, bajo el control de la CPU 401, una señal basándose en los datos de comunicación por paquetes o datos de comunicación de voz modulando una onda portadora, y transmite la señal a la estación base 32 utilizando una onda portadora. La unidad de comunicación inalámbrica 404 recibe una señal desde la estación base 32 a través de la antena 404, y demodula la señal para obtener datos de comunicación por paquetes o datos de comunicación de voz.
El dispositivo de entrada 405 incluye un teclado que permite a un usuario introducir un número, carácter, y algunas instrucciones. El dispositivo de entrada 405 emite una señal a la CPU 401 según una operación de usuario. La unidad de procesamiento de voz 406 incluye un micrófono, un altavoz, una unidad de codificación/descodificación de voz, y similares, que realiza, bajo el control de la CPU 401, un procesamiento en relación con la comunicación tal como controles de conexión y terminación de llamada. La pantalla de cristal líquido 407 incluye un panel de visualización y un circuito de mando para el panel.
La memoria no volátil 408 es una SRAM (Static-RAM, RAM estática), EEPROM (Electrically Erasable Programmable-ROM, ROM borrable y programable eléctricamente), o similar, que almacena software de sistema operativo (al que se hace referencia de aquí en adelante en el presente documento simplemente como "un SO"), programa de navegador WWW, programa(s) para configurar un entorno de ejecución Java. Además, la memoria no volátil 408 almacena una JavaAP y otros programas descargados del servidor de contenido 10.
La memoria no volátil 408 incluye un almacenamiento JAR 408a y una memoria auxiliar 408b. En el almacenamiento JAR 408a se almacenan una pluralidad de archivos JAR de una manera mostrada en la figura 4. Haciendo referencia a la figura, tres archivos JAR "archivo JAR A", "archivo JAR B", y "archivo JAR C" están almacenados en el almacenamiento JAR 408a.
Haciendo referencia a la figura 5, se proporcionan áreas de memoria asignadas a archivos JAR, almacenando cada área datos que se crean mediante un programa principal del archivo JAR. Por ejemplo, en un caso en el que una JavaAP sea una aplicación de juego, los datos pueden ser datos del juego para su uso futuro, que se crean cuando un usuario deja el juego.
4. Entorno de ejecución en el teléfono móvil
La figura 6 muestra un entorno de ejecución instalado en el teléfono móvil 40. En la figura, KVM (K Virtual Machine, máquina virtual K) es un tipo de JVM (Java Virtual Machine, máquina virtual Java), que es software para convertir códigos de bytes Java a códigos de instrucción, permitiendo que la CPU 401 ejecute el SO para interpretarlo y ejecutarlo. Una API (Application Program Interface, interfaz de programa de aplicación) es un módulo de software para proporcionar a una JavaAP una función definida por CLDC (Connected Limited Device Configuration, configuración de dispositivos conectados limitados) y otras funciones particulares para el teléfono móvil 40.
El JAM (Java Application Manager, gestor de aplicaciones Java) es software para realizar bajo el control del SO, las funciones de descarga, instalación, ejecución y terminación de una JavaAP. Por ejemplo, en un caso en el que se ejecuta el programa principal del archivo JAR A mostrado en la figura 4, cuando se genera una solicitud para acceder a recursos tales como la memoria no volátil 408 y la ROM 402, JAM permite la solicitud sólo si un recurso solicitado está en cualquiera de las siguientes áreas de memoria: un área de almacenamiento JAR 408a en la que se almacena el archivo JAR A; un área de memoria auxiliar 408b asignada al archivo JAR A; un área de memoria de la RAM 403, que está reservada para ejecutar el archivo JAR A (a la que se hace referencia de aquí en adelante en el presente documento como un área de ejecución AP); y el servidor de contenido 10 del que el teléfono móvil 40 ha descargado el archivo Java A.
Puesto simplemente, JAM tiene la capacidad de impedir que otras JavaAP utilicen datos en relación con JavaAP, restringiendo el acceso a recursos realizado por otras JavaAP cuando está ejecutándose JavaAP.
Ha de observarse que un software distinto de una JavaAP para mantener una guía telefónica, navegación por Internet, y comunicación de datos se ejecuta directamente bajo el control del SO, como se muestra en la figura 6.
\global\parskip0.930000\baselineskip
B. Funcionamiento 1. Descarga de JavaAP
La figura 7 es un flujo de procesamiento para descargar una JavaAP realizado por el teléfono móvil 40 y el servidor de contenido 10. El procesamiento de la etapa 103 y posteriores realizadas por el teléfono móvil 40 se realiza mediante el JAM.
En primer lugar, un usuario del teléfono móvil 40 ejecuta el navegador WWW a través del dispositivo de entrada 405. A continuación, el usuario introduce a través del dispositivo de entrada 405 una instrucción para acceder al servidor de contenido 10. En consecuencia, se transmite un mensaje de solicitud desde el teléfono móvil 40 hasta el servidor de contenido 10 para conectar con el servidor de contenido 10 (etapa S101). Tras recibir el mensaje de solicitud, el servidor de contenido 10 realiza una autenticación predeterminada del teléfono móvil 40 y luego transmite datos de una página de menú de un sitio web ejecutada por el servidor de contenido 10 (etapa 102). Tras recibir los datos, el teléfono móvil 40 visualiza una imagen en la pantalla 407. Posteriormente, se intercambia información que incluye un elemento seleccionado visualizado en la página de menú entre el teléfono móvil 40 y el servidor de contenido.
Cuando un usuario que está mirando la página de menú selecciona una JavaAP que el usuario desea descargar, la CPU 401 transmite al servidor de contenido 10 un mensaje de solicitud que solicita un ADF de la JavaAP seleccionada (etapa S103). Tras la recepción del mensaje, el servidor de contenido 10 especifica y lee el ADF de la memoria, y transmite entonces el ADF al teléfono móvil 40 (etapa S104).
Tras la recepción del ADF, la CPU 401 comprueba los contenidos del ADF (archivos incluidos en el ADF), para determinar si el tamaño del archivo JAR asociado con el ADF es pequeño comparado con la cantidad de espacio de almacenamiento disponible del teléfono móvil 40 (etapa S105). Específicamente, la CPU 401 lee los datos "AppSize" y los datos "SPsize" del ADF, y comprueba la cantidad de espacio disponible de almacenamiento JAR 408a y memoria auxiliar 408b.
"AppSize" describe el tamaño de un archivo JAR que va a descargarse, cuyo tamaño es un espacio de almacenamiento del archivo JAR requerido para almacenar el archivo JAR al almacenamiento JAR 408a. "Spsize" describe la amplitud de espacio de almacenamiento disponible de memoria auxiliar 408b asignada a un archivo JAR que va a descargarse. Si el espacio de almacenamiento disponible o bien en el almacenamiento JAR 408a o bien en la memoria auxiliar 408b no es adecuado para la JavaAP seleccionada, la CPU 401 determina que el teléfono móvil 40 no puede descargar el archivo JAR debido a la falta de espacio de memoria, visualiza un mensaje en la pantalla 407 para informar a un usuario de un fallo en la descarga, y entonces detiene la descarga.
Si la CPU 401 determina que el teléfono móvil 40 puede descargar el archivo JAR (etapa S105, SÍ), la CPU 401 identifica al servidor de contenido 10 utilizando datos de "PackageURL" incluidos en el ADF, datos que representan una ubicación del archivo JAR, y crea un mensaje de solicitud para transmitir al servidor de contenido 10 (etapa S106). Tras la recepción del mensaje, el servidor de contenido 10 identifica el ADF, lee el archivo JAR de la memoria del servidor, y entonces transmite el archivo JAR al teléfono móvil 40 (etapa S107).
Tras la recepción del archivo JAR, el teléfono móvil 40 primero lee los datos de "AppSize" del ADF. A continuación, la CPU 401 reserva un área de memoria en el almacenamiento JAR 408a, el espacio especificado por los datos de "AppSize", e instala entonces el archivo JAR en el área reservada. A continuación, la CPU 401 lee los datos de "Spsize" del ADF y reserva un área de memoria en la memoria auxiliar 408b según los datos de "SPsize" utilizados con el archivo JAR. A continuación, la CPU 401 almacena el ADF en la memoria no volátil 408 en asociación con el archivo JAR (etapa S108).
2. Ejecución de JavaAP
Cuando se selecciona una JavaAp por medio de, por ejemplo, una instrucción de un usuario que está mirando una lista de JavaAP visualizada en la pantalla 407, la CPU 401 lee un programa principal de la JavaAP seleccionada del almacenamiento JAR 408a y lo ejecuta. Después de esta ejecución, se realiza algún procesamiento con la JavaAP en el teléfono móvil. Es posible que una JavaAP se ejecute automáticamente cuando pasa un tiempo ajustado previamente. Además, es posible que se suministre una instrucción de la ejecución mediante otros programas que están ejecutándose. Todavía además, es posible que una instrucción de este tipo pueda suministrarse a través de correo electrónico mediante un dispositivo electrónico distinto del teléfono móvil 40.
Cuando se introduce una instrucción para ejecutar una JavaAP, se reserva el área de ejecución para la JavaAP en la RAM 403. Específicamente, el área de ejecución de AP almacena un programa principal leído del almacenamiento JAR 408a, objetos necesarios para la ejecución, y otros datos creados antes de la ejecución se reservan en la RAM 403. Después de la ejecución de la JavaAP, la CPU 401 prohíbe, bajo el control del JAM, que la JavaAP que está ejecutándose actualmente acceda a datos utilizados para otras JavaAP, tal como se describió anteriormente.
\global\parskip1.000000\baselineskip
Cuando la CPU 401 recibe una solicitud para ejecutar otra JavaAP almacenada en la memoria no volátil en un caso en el que el procesamiento con la JavaAP se realiza en el teléfono móvil 40, la CPU 401 ejecuta una API para ejecutar otra API (a la que se hace referencia de aquí en adelante en el presente documento como "una API de lanzamiento". Cuando se inicia la API de lanzamiento, se reserva un área de memoria para la API de lanzamiento (a la que se hace referencia de aquí en adelante en el presente documento como un área de lanzamiento) se reserva en la RAM 403, área a la que sólo se permite acceder a la API de lanzamiento entre otras API.
3. Procesamiento con API de lanzamiento
La figura 3 muestra un diagrama de flujo que describe un ejemplo de procesamiento realizado por la CPU 401 con API de lanzamiento. Como se muestra en la figura, la CPU 401 obtiene primero datos de "PackageURL" de un ADF de una JavaAP que está ejecutándose actualmente (a la que se hace referencia de aquí en adelante en el presente documento como "una JavaAP original", que está almacenada en la memoria no volátil 408 (etapa S201). Ha de observarse que los datos de "PackageURL" representan una ubicación (URL) de la JavaAp original. A continuación, la CPU 401 obtiene datos de "PackageURL" de un ADF de una JavaAP que se selecciona para ejecución (a la que se hace referencia de aquí en adelante en el presente documento como "una JavaAP de destino") (etapa S202).
A continuación, la CPU 401 compara dos FQND (Fully Qualified Domain Names, nombres de dominio completamente cualificados) de los URL obtenidos en las etapas S201 y S202 (etapa S203), para determinar si los FQDN son idénticos (etapa S204). Concretamente, se comprueban los orígenes (proveedores) del JavaAP original y la JavaAP de destino. Si los FQDN no son idénticos, la CPU 401 visualiza un mensaje en la pantalla 407 para notificar a un usuario un fallo de ejecución de la JavaAP de destino (etapa S205), y detiene entonces la ejecución de la JavaAp de destino (etapa S206). De esta manera, se completa la API de lanzamiento.
Si los FQDN son idénticos (etapa S294, SÍ), la CPU 401 determina si se permite que la JavaAP de destino funcione con otras JavaAP (etapa S207). Específicamente, un ADF de una JavaAP incluye datos de "LaunchApp", que representan si se permite o no que la JavaAP funcione con otras JavaAP. Los datos de "LaunchApp" los ajusta un proveedor de la JavaAP. Por ejemplo, los datos de "LaunchApp" se ajustan a "1" para una JavaAP a la que se permite funcionar con otras JavaAP (a las que se hace referencia de aquí en adelante en el presente documento como "una JavaAP de colaboración", y se ajustan a "0" para una JavaAP a la que se prohíbe funcionar con otras JavaAP. Es posible incluir en "LaunchApp" información adicional tal como identificación de la(s) JavaAP de colaboración.
La CPU 401 obtiene datos de "LaunchApp" del ADF almacenado en la memoria no volátil 408 y determina si la JavaAP de destino es una JavaAP de colaboración haciendo referencia a los datos de "LaunchApp" ("1" ó "0"). Si la JavaAP de destino no es una JavaAP de colaboración (etapa 207, NO), la CPU 401 visualiza un mensaje para notificar al usuario un fallo de ejecución de la JavaAP de destino (etapa S205), y detiene la ejecución de la JavaAP de destino (etapa S206).
Si la JavaAP de destino es una JavaAP de colaboración (etapa S207, SÍ), la CPU determina si los datos solicitados por la JavaAP de destino son datos utilizados con la JavaAP original (etapa S208). Los datos son, por ejemplo, parámetros y otros resultados de procesamiento que se generan durante la ejecución de la JavaAP original. Es posible que los datos puedan ser datos de imagen o datos de audio que se almacenan en un archivo JAR de la aplicación original.
Si la JavaAP de destino no solicita los datos en la etapa S208, la CPU 401 termina la JavaAP original. A continuación, la CPU 401 lee un programa principal de la JavaAP de destino del almacenamiento JAR 408a y lo ejecuta (etapa S209). De esta manera se finaliza la API de lanzamiento. Si la JavaAP de destino solicita datos en la etapa S208, la CPU 401 visualiza un mensaje de consulta en la pantalla 407 preguntando al usuario si se permite una transferencia de los datos a la JavaAP original.
Si el usuario introduce una instrucción para prohibir la transferencia, o no se introduce ninguna instrucción después de que haya pasado un tiempo predeterminado desde que se visualizó el mensaje de consulta (etapa S210, NO), la CPU 401 no transfiere los datos y visualiza un mensaje en la pantalla 407 informando a un usuario que se ha detenido la JavaAP de destino (etapa S205) y entonces para la JavaAP de destino (etapa S206), para finalizar la API de lanzamiento. Es posible que el mensaje de consulta pueda ser una voz creada por la CPU 401.
Si el usuario introduce una instrucción para permitir la transferencia de datos en el periodo de tiempo predeterminado después de que se visualiza el mensaje de consulta (etapa S210, SÍ), la CPU 401 extrae datos desde o bien un área de ejecución AP de la RAM 403 o bien del área de la memoria auxiliar 408b asignada a la JavaAP original, y almacena los datos extraídos en la zona de lanzamiento de la RAM 403 (etapa S211). A continuación, la CPU 401 termina la JavaAP original y borra datos almacenados en el área de ejecución AP de la RAM 403. Finalmente, la CPU 401 lee un programa principal de la JavaAP de destino del almacenamiento JAR 408a y lo ejecuta (etapa S212).
Después de la ejecución de la JavaAP de destino, la CPU 401 lee los datos desde el área de lanzamiento de la RAM 403. A continuación, la CPU 401 lee los datos o bien en el área de ejecución AP de la RAM 403 reservada para la JavaAP o bien en un área de memoria de la memoria auxiliar 408b asignada a la JavaAP de destino(etapa S213), y entonces finaliza la API de lanzamiento.
A partir de lo anterior, cuando se inicia el JavaAP de destino, los datos utilizados con la JavaAP original se transfieren a un área de memoria (el área de ejecución AP o un área de la memoria auxiliar 408 asignada a la JavaAP de destino), a partir de la cual puede accederse a los datos mediante la JavaAP de destino. Como resultado, los datos pueden utilizarse en el procesamiento realizado por la JavaAP de destino.
Se describirá posteriormente un ejemplo de JavaAP, en el que se proporcionan dos JavaAP por un único proveedor, siendo una un software de juego de simulación de béisbol orientado a estrategia (al que se hace referencia de aquí en adelante en el presente documento como "una JavaAP de juego") y la otra un software de juego de entrenamiento de béisbol para crear un jugador de béisbol y entrenarle para desarrollar sus habilidades (batear, lanzar, correr a bases, etc.). Los datos del jugador de béisbol están disponibles para el juego. Se hace referencia a este software de aquí en adelante en el presente documento como "una JavaAP de práctica". Un usuario del teléfono móvil 40 descarga las JavaAP y ejecuta la JavaAP de juego y la JavaAP de práctica, para "jugar" al béisbol utilizando su jugador de béisbol. En este caso, los FQDN de la JavaAP de juego y de la JavaAP de práctica son los mismos, por tanto los datos que se refieren a los jugadores de béisbol pueden transferirse desde la JavaAP de juego a la JavaAP de práctica, o pueden compartirse los datos entre las dos JavaAP anteriores.
En resumen, según la realización, el teléfono móvil 40 permite a un JavaAP de destino acceder a datos relacionados con programas que se utilizan o crean con una JavaAP original, sólo si los proveedores de las JavaAP original y de destino son los mismos.
Por lo tanto, incluso en un caso en el que se descarga y ejecuta por equivocación un JavaAP no autorizado por el teléfono móvil 40, se impide la transferencia de datos que se refieren a un programa autorizado al JavaAP no autorizado, puesto que se comprueban los proveedores de los JavaAP. Además, en esta realización, después de la terminación de autenticación de los orígenes (proveedores) de las JavaAP (FQDN), se solicita a un usuario dar permiso para transferir los datos. En consecuencia, se mejora adicionalmente la seguridad de datos y la flexibilidad de la gestión de transferencia de datos.
Tal como se describió en la realización, el teléfono móvil 40 ejecuta programas y API almacenados en la ROM 402 y en la memoria no volátil 408 para realizar el procesamiento mostrado en las figuras 7 y 8. Es posible proporcionar los programas y API anteriores al teléfono móvil 40 a través de una red de comunicación. Además, es posible proporcionar los programas y API anteriores a través de un medio de almacenamiento legible por ordenador tal como un disquete, CD-ROM, y memoria flash.
C. Modificaciones
1. Ejemplo 1
En el procesamiento con la API de lanzamiento mostrado en la figura 8, es posible proporcionar una etapa adicional para determinar por adelantado, si un usuario da permiso para intercambiar datos entre las JavaAP original y de destino. En este caso, antes de ejecutar JavaAP, se requiere que el usuario registre dos o más JavaAP, entre las que el usuario desea que se compartan los datos.
La figura 9 muestra un ejemplo de un flujo de procesamiento del registro anterior realizado por la CPU 401. El procesamiento de registro se inicia cuando un usuario introduce una instrucción para registrar dos o más JavaAP que se permite que compartan datos entre sí.
Haciendo referencia a la figura, cuando un usuario selecciona una JavaAP entre otras JavaAP instaladas en la memoria no volátil 408 (etapa S301), la CPU 401 obtiene un FQDN de la JavaAP seleccionada, que hace referencia a unos datos de "PackageURL" incluidos en un ADF de la JavaAP (etapa S302). A continuación, la CPU 401 busca la(s)
JavaAP con un FQDN que sea el mismo que el FQDN obtenido en la etapa S302 en la memoria no volátil 408. Si se encuentra(n) una(s) JavaAP con el mismo FQDN, la CPU 401 visualiza una lista de la(s) JavaAP encontrada(s) en la pantalla 407 (etapa S303).
Cuando el usuario especifica después de hacer referencia a la lista, una(s) JavaAP a la(s) que se permite compartir datos con la JavaAP seleccionada en la etapa S301 (etapa S304), la CPU 401 almacena en la memoria no volátil 408 correspondiente, identificaciones (nombre de archivo de un archivo JAR, por ejemplo) de la JavaAP especificada en la etapa S304 y la JavaAP seleccionada en la etapa S301 como información de registro (etapa S305). Por tanto, es posible registras otra(s) JavaAP a la(s) que se permite compartir datos de la JavaAP seleccionada en la etapa S301.
En este ejemplo, después de la terminación del registro, en el procesamiento con la API de lanzamiento mostrado en la figura 8, la CPU 401 determina si se permite la transferencia de datos entre las JavaAP en términos de (i) proveedores de las JavaAP original y de destino y (ii) aprobación previa por un usuario. Concretamente, se requiere que se cumplan las dos condiciones anteriores para transferir datos, por tanto se mejora la seguridad de datos en el teléfono móvil 408.
2. Ejemplo 2
En la realización anterior, las etapas S201 a la S213 de la figura 8 se realizan mediante una API (la API de lanzamiento). Sin embargo, es posible realizar esas etapas mediante el JAM o SO.

Claims (6)

1. Un ordenador, que comprende:
un medio de recepción (404) para recibir un programa;
caracterizado por
un medio de almacenamiento (408) para almacenar de manera correspondiente un programa original y un programa de destino e identificaciones de proveedor URL relacionado de los programas originales y los programas de destino;
medios de ejecución (401, KVM, PIPZ) para ejecutar un programa que está almacenado en dicho medio de almacenamiento (408);
un medio de determinación (401) para determinar si los nombres de dominio completamente cualificados de las identificaciones de proveedor URL del programa original y el programa de destino son los mismos, llevándose a cabo la determinación en respuesta a una solicitud para ejecutar el programa de destino; y
permitiendo el medio de determinación (401) la ejecución del programa de destino mientras comparte datos que están asociados con y son utilizados por el programa original con el programa de destino, cuando dicho medio de determinación (401) determina que los nombres de dominio completamente cualificados de las identificaciones de proveedor URL son los mismos.
2. El ordenador según la reivindicación 1, que comprende además:
un dispositivo de entrada (405) para su utilización por un usuario; y
un medio de solicitud (401) para solicitar un permiso de usuario para utilizar los datos con el programa de destino; en el que
tras la recepción del permiso a través de dicho dispositivo de entrada (405), un medio de permiso (401) permite la ejecución del programa de destino y la utilización de datos con el programa de destino, si dicho medio de determinación (401) determina que las identificaciones de proveedor del programa original y los programas de destino son las mismas.
3. El ordenador según la reivindicación 1, que comprende además:
un dispositivo de entrada (401) utilizado por un usuario; y
medios de ajuste para ajustar, basándose en la entrada de instrucciones a través de dicho dispositivo de entrada (405) el permiso para utilizar los datos con el programa de destino; en el que
si se ajusta el permiso por dichos medios de ajuste y dicho medio de determinación (401) determina que las identificaciones de proveedor son las mismas, dicho medio de permiso permite la utilización de los datos con el programa de destino.
4. Un producto de programa informático para provocar que un ordenador ejecute las etapas de:
almacenar de manera correspondiente un programa original y un programa de destino e identificaciones de proveedor URL relacionadas de los programas original y de destino en una memoria;
ejecutar un programa, estando almacenado el programa en dicho medio de almacenamiento, almacenando dicho medio de almacenamiento al menos los programas original y de destino;
determinar en respuesta a una solicitud para ejecutar el programa de destino, si los nombres de dominio completamente cualificados de las identificaciones de proveedor URL del programa original y del programa de destino que están almacenados en esa memoria son los mismos; y
permitir la ejecución del programa de destino mientras comparte datos que están asociados con y son utilizados por el programa original con el programa de destino cuando los nombres de dominio completamente cualificados de las identificaciones de proveedor URL son los mismos.
5. El producto de programa informático según la reivindicación 4, que provoca además que un ordenador ejecute las etapas de:
ejecutar, cuando los nombres de dominio completamente cualificados de las identificaciones de proveedor URL del programa original y del programa de destino que están almacenados en dicha memoria son los mismos, una comprobación utilizando información registrada sobre una relación entre el programa original y el programa de destino; y
permitir la ejecución del programa de destino cuando se pasa la comprobación.
6. El producto de programa informático según la reivindicación 5, que provoca además que un ordenador ejecute las etapas de:
ejecutar una comprobación adicional sobre la aprobación por un usuario; y
permitir la ejecución del programa de destino cuando se pasa la comprobación adicional.
ES04007460T 2003-03-28 2004-03-26 Ordenador para gestionar comparticion de datos entre programas de aplicacion. Expired - Lifetime ES2288228T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003091527A JP2004302543A (ja) 2003-03-28 2003-03-28 受信装置およびプログラム
JP2003-91527 2003-03-28

Publications (1)

Publication Number Publication Date
ES2288228T3 true ES2288228T3 (es) 2008-01-01

Family

ID=32821607

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04007460T Expired - Lifetime ES2288228T3 (es) 2003-03-28 2004-03-26 Ordenador para gestionar comparticion de datos entre programas de aplicacion.

Country Status (8)

Country Link
US (1) US20050021792A1 (es)
EP (1) EP1462909B8 (es)
JP (1) JP2004302543A (es)
CN (1) CN1294491C (es)
AT (1) ATE366433T1 (es)
DE (1) DE602004007316T2 (es)
ES (1) ES2288228T3 (es)
TW (1) TWI239219B (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337716A (ja) * 2002-05-20 2003-11-28 Ntt Docomo Inc 電子機器、データ共用方法、プログラム及び記憶媒体
JP2008512764A (ja) * 2005-04-15 2008-04-24 ケーティーフリーテル・カンパニー・リミテッド 移動通信端末機用コンテンツ提供方法
US8583827B2 (en) * 2005-05-26 2013-11-12 Citrix Systems, Inc. Dynamic data optimization in data network
EP1967981A4 (en) * 2005-12-27 2009-04-22 Nec Corp DEVICE, PROGRAM EXECUTION MONITORING METHOD, AND EXECUTION MONITORING PROGRAM
US9390172B2 (en) * 2009-12-03 2016-07-12 Microsoft Technology Licensing, Llc Communication channel between web application and process outside browser
US20120005307A1 (en) * 2010-06-30 2012-01-05 Abhik Das Storage virtualization
CN103873543A (zh) * 2012-12-12 2014-06-18 华硕电脑股份有限公司 一种数据传输系统以及其传输方法
US20150009152A1 (en) * 2013-07-03 2015-01-08 Htc Corporation Method of sharing application and electronic device using the same
US9578596B1 (en) * 2014-05-09 2017-02-21 Amazon Technologies, Inc. Adjusting data storage allocation for access point information
US10021123B2 (en) * 2015-06-29 2018-07-10 Qualcomm Incorporated Customized network traffic models to detect application anomalies

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167520A (en) * 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
DE69837113T2 (de) * 1998-01-20 2007-06-06 Fujitsu Ltd., Kawasaki Datenspeicheranordnung und Steuerverfahren dafür
JP2000003336A (ja) * 1998-06-16 2000-01-07 Nec Corp 携帯型データ通信端末装置におけるユーザ認証方法及びユーザ認証システム
US6138235A (en) * 1998-06-29 2000-10-24 Sun Microsystems, Inc. Controlling access to services between modular applications
US6499109B1 (en) * 1998-12-08 2002-12-24 Networks Associates Technology, Inc. Method and apparatus for securing software distributed over a network
US6985887B1 (en) * 1999-03-19 2006-01-10 Suncrest Llc Apparatus and method for authenticated multi-user personal information database
US6826690B1 (en) * 1999-11-08 2004-11-30 International Business Machines Corporation Using device certificates for automated authentication of communicating devices
KR100455566B1 (ko) * 2000-06-30 2004-11-09 인터내셔널 비지네스 머신즈 코포레이션 코드 갱신을 위한 장치 및 방법
US6766353B1 (en) * 2000-07-11 2004-07-20 Motorola, Inc. Method for authenticating a JAVA archive (JAR) for portable devices
EP1227386A1 (en) * 2001-01-30 2002-07-31 International Business Machines Corporation Access control for computers
US7379731B2 (en) * 2001-05-14 2008-05-27 Ntt Docomo Inc. System for managing program applications storable in a mobile terminal
US7096004B2 (en) * 2001-08-15 2006-08-22 Qualcomm Inc. Test enabled application execution
US7260726B1 (en) * 2001-12-06 2007-08-21 Adaptec, Inc. Method and apparatus for a secure computing environment
US7194761B1 (en) * 2002-01-22 2007-03-20 Cisco Technology, Inc. Methods and apparatus providing automatic client authentication
US7231657B2 (en) * 2002-02-14 2007-06-12 American Management Systems, Inc. User authentication system and methods thereof
JP2003337716A (ja) * 2002-05-20 2003-11-28 Ntt Docomo Inc 電子機器、データ共用方法、プログラム及び記憶媒体
US7263610B2 (en) * 2002-07-30 2007-08-28 Imagictv, Inc. Secure multicast flow
US7310307B1 (en) * 2002-12-17 2007-12-18 Cisco Technology, Inc. System and method for authenticating an element in a network environment

Also Published As

Publication number Publication date
EP1462909A2 (en) 2004-09-29
JP2004302543A (ja) 2004-10-28
DE602004007316T2 (de) 2008-03-13
EP1462909B8 (en) 2007-09-19
ATE366433T1 (de) 2007-07-15
CN1534479A (zh) 2004-10-06
EP1462909B1 (en) 2007-07-04
TW200423784A (en) 2004-11-01
EP1462909A3 (en) 2005-01-26
TWI239219B (en) 2005-09-01
CN1294491C (zh) 2007-01-10
US20050021792A1 (en) 2005-01-27
DE602004007316D1 (de) 2007-08-16

Similar Documents

Publication Publication Date Title
KR100582650B1 (ko) 컨텐츠 전송 방법 및 컨텐츠 전송 시스템
US6292833B1 (en) Method and apparatus for providing access control to local services of mobile devices
JP4248913B2 (ja) 端末装置、プログラムおよび通信システム
US7142848B2 (en) Method and system for automatically configuring access control
ES2281491T3 (es) Dispositivo y procedimiento para restringir el acceso a contenido y el almacenamiento del mismo.
US9819679B1 (en) Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers
JP2008521134A (ja) ローカル・コンテント及び遠隔コンテントに関するアプリケーション・レベル制限を守らせるための方法及び装置
US11665532B2 (en) Securing private wireless gateways
US20070094737A1 (en) Binding content to a user
JP2010508678A (ja) Usb無線ネットワークドライブ
EP1512058A2 (en) Secure mobile wireless device
ES2288228T3 (es) Ordenador para gestionar comparticion de datos entre programas de aplicacion.
ES2353855T3 (es) Procedimiento y dispositivo de autentificación de usuarios.
CN109905237A (zh) 通过移动站与蜂窝网络通信的方法
US7818815B2 (en) Communication device
JP2004302973A (ja) 端末装置及びプログラム
US20040111618A1 (en) Software integrity test
CN109508516A (zh) 文件处理方法、终端、服务器及计算机可读存储介质
TWI785111B (zh) 網路系統
EP1582052B1 (en) System and method for distributed authorization and deployment of over the air provisioning for a communications device
EP2533150B1 (en) Methods and devices for controlling access to computing resources
WO2019170111A1 (zh) 一种离线管理指令的管理方法和终端
Hill et al. Threat analysis of GNU software radio
EP1569410A1 (en) Method and system for automatically configuring access control
JP2012533101A (ja) 保全された電子トークン中に埋込まれたアプリケーションを管理する方法