ES2288228T3 - Ordenador para gestionar comparticion de datos entre programas de aplicacion. - Google Patents
Ordenador para gestionar comparticion de datos entre programas de aplicacion. Download PDFInfo
- 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
Links
- 238000004590 computer program Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 claims 2
- GLUUGHFHXGJENI-UHFFFAOYSA-N diethylenediamine Natural products C1CNCCN1 GLUUGHFHXGJENI-UHFFFAOYSA-N 0.000 claims 1
- 238000004891 communication Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 20
- 238000012546 transfer Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000001066 destructive effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User 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
La presente invención se refiere a un método
para la gestión, transferencia y compartición de datos entre
programas.
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.
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.
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.
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.
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.
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.
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.
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
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).
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.
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.
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).
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.
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)
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)
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 |
-
2003
- 2003-03-28 JP JP2003091527A patent/JP2004302543A/ja active Pending
-
2004
- 2004-03-26 AT AT04007460T patent/ATE366433T1/de not_active IP Right Cessation
- 2004-03-26 ES ES04007460T patent/ES2288228T3/es not_active Expired - Lifetime
- 2004-03-26 TW TW093108393A patent/TWI239219B/zh not_active IP Right Cessation
- 2004-03-26 DE DE602004007316T patent/DE602004007316T2/de not_active Expired - Lifetime
- 2004-03-26 EP EP04007460A patent/EP1462909B8/en not_active Expired - Fee Related
- 2004-03-26 US US10/810,500 patent/US20050021792A1/en not_active Abandoned
- 2004-03-26 CN CNB2004100322321A patent/CN1294491C/zh not_active Expired - Fee Related
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) | 保全された電子トークン中に埋込まれたアプリケーションを管理する方法 |