Control method of information processing system, server device, and terminal device

A control method of an information processing system that includes a server device that distributes an application and a terminal device that communicates with the server device includes causing the server device to execute a first process including determining an expiration date of the application based on a type of the application, and transmitting the application and the expiration date to the terminal device, and causing the terminal device to execute a second process including receiving the application and the expiration date from the server device, and deleting the application received from the server device based on the expiration date received from the server device.

FIELD

The embodiments discussed herein are related to a control method of an information processing system, a server device, and a terminal device.

BACKGROUND

The spread of smartphones, or mobile terminals exhibiting high performance comparable with personal computers has been advancing. In addition, due to 3G/Long Term Evolution (LTE)/plenty of hotspots, etc., an environment in which the smartphone may be connected to a network at all times is becoming more common.

By taking advantage of such an environment, an information processing system, which transmits an application and data to a mobile terminal from an application server, is provided. In the system, the application server distributes an application at a desired timing, the application is executed in the mobile terminal, and the application and data are deleted by the application server after the execution is over. In the information processing system, the application server performs the distribution of an application to the mobile terminal and the deletion of an application, etc. from the mobile terminal. Once an application has been transmitted from the application server to the mobile terminal, the application is executable in the mobile terminal even when the connection between the mobile terminal and the application server is disconnected. When the execution of the application in the mobile terminal is over, the application server deletes the application in the mobile terminal without causing a user to delete the application. Thus, information leakage from the mobile terminal is reduced.

However, when the network connection is disconnected after an application is transmitted from the application server to the mobile terminal, the application server is not allowed to delete the application stored in the mobile terminal, so that the risk of the information leakage is increased when the user has lost the mobile terminal.

In order to give priority to the maintenance of security, the mobile terminal may be configured to immediately delete an application of the mobile terminal in case the network connection is disconnected after the application is transmitted from the application server to the mobile terminal. However, for example, when the network connection is temporarily disconnected, the user undesirably downloads the application from the application server to the mobile terminal again after the network connection is reestablished, so that the user may think it troublesome to download the application.

Japanese Laid-open Patent Publication Nos. 2006-3996 and 2011-23024 are examples of the related art.

SUMMARY

Accordingly, it is an object in one aspect of the invention to provide an information processing system that may execute an application while maintaining the security without causing the user to feel difficulty of the execution of the application.

According to an aspect of the invention, a control method of an information processing system that includes a server device that distributes an application and a terminal device that communicates with the server device includes causing the server device to execute a first process including determining an expiration date of the application based on a type of the application, and transmitting the application and the expiration date to the terminal device, and causing the terminal device to execute a second process including receiving the application and the expiration date from the server device, and deleting the application received from the server device based on the expiration date received from the server device.

DESCRIPTION OF EMBODIMENTS

An information processing system according to an embodiment is described.

FIG. 1is a first diagram illustrating the information processing system according to the embodiment. The information processing system includes an application server200, a network400, and a plurality of mobile terminals300. The application server200and each of the plurality of mobile terminals300are connected to each other through the network400.

The application server200registers an application package, and transmits the application package to the mobile terminal300. The mobile terminal300executes the application package transmitted from the application server200.

FIG. 2is a diagram illustrating an application package according to the embodiment. In the embodiment, a business trip request application is described as an example of an application package100. The application package100includes a template102and personal data104. The template102is a template of the application. The personal data104is personal data that is applied to the template102.

The template102includes items of business traveler1020, departure place1022, destination place1024, contents1026, and authorizer1028. In the mobile terminal300, the application package100is executed and the items of business traveler1020, etc. are filled in by the user.

The personal data104is information input to the items of business traveler1020, etc. of the template102. The personal data includes, for example, “Nippon Taro” that is for the item of business traveler1020, “Musashi-nakahara” that is for the item of departure place1022, “Tokyo” that is for the item of destination place1024, “****” that are for the item of contents1026, and “Manager yy in ** department” that is for the item of authorizer1028.

FIG. 3is a diagram illustrating the application server according to the embodiment. The application server200includes a central processing unit (CPU)201, a main memory202, a system controller203, a bus204, a network controller207, a power source209, a disk controller212, and a hard disk213. The application server200is controlled by the CPU201.

The system controller203is connected to the CPU201and the main memory202. The system controller203controls data transfer between the CPU201and the main memory202and data transfer between the CPU201and the bus204. In addition, the network controller207and the disk controller212are connected to the system controller203through the bus204.

The main memory202temporarily stores at least a part of a program of an OS and an application program that are executed by the CPU201. In addition, the main memory202stores various pieces of data that are desired for processing by the CPU201. For example, a random access memory (RAM) is used for the main memory202.

The hard disk213is connected to the disk controller212. The disk controller212controls the hard disk213. The hard disk213stores an application program2100that is executed on the main memory202by the CPU201, a control program2000that causes the CPU201to perform control such as calling of the application program2100, and an application package and various pieces of data that are transmitted to the mobile terminal300.

The network controller207is connected to the mobile terminal300through the network400illustrated inFIG. 1, and performs transmission and reception of the application package and various pieces of data to and from the mobile terminal300.

The power source209supplies electric power to each of the pieces of hardware in the application server200through a power wire (not illustrated).

By such pieces of hardware, a processing function of the application server200may be achieved.

FIG. 4is a diagram illustrating the mobile terminal according to the embodiment. The mobile terminal300includes a CPU301, a main memory302, a system controller303, a bus304, a network controller307, a power source309, a memory controller312, and a flash memory313. The mobile terminal300is controlled by the CPU301.

The system controller303is connected to the CPU301and the main memory302. The system controller303controls data transfer between the CPU301and the main memory302and data transfer between the CPU301and the bus304. In addition, the network controller307and the memory controller312are connected to the system controller303through the bus304.

The main memory302temporarily stores at least a part of a program of an OS and an application program that are executed by the CPU301. In addition, the main memory302stores various pieces of data that are desired for processing by the CPU301. For example, a RAM is used for the main memory302.

The flash memory313is connected to the memory controller312. The memory controller312controls the flash memory313. The flash memory313stores an application program3100that is executed on the main memory302by the CPU301, a control program3000that causes the CPU201to perform control such as calling of the application program3100, and various pieces of data. In addition, the flash memory313stores an application package, etc. received from the application server200.

The network controller307is connected to the application server200through the network400illustrated inFIG. 1and performs transmission and reception of data to and from the application server200.

The power source309supplies electric power to each of the pieces of hardware in the mobile terminal300through a power wire (not illustrated).

By such pieces of hardware, a processing function of the application server300may be achieved.

FIG. 5is a diagram illustrating the information processing system according to the embodiment. Each block illustrated inFIG. 5may be achieved when the CPU201of the application server200executes the application program2100on the main memory202and when the CPU301of the mobile terminal300executes the application program3100on the main memory302.

The application server200includes an application registration unit222, a personal data extraction unit224, a lifetime calculation unit226, a lifetime setting unit228, a lifetime monitoring unit230, a timer232, the hard disk213, and a communication unit236. The hard disk213stores the application package100and a lifetime rule106.

The application registration unit222receives the application package100, for example, from an external server and registers the received application package100to the hard disk213. The personal data extraction unit224extracts personal data from the application package100received in the application registration unit222. In addition, the application registration unit222transmits a push message to the mobile terminal300through a PUSH GW240.

The lifetime calculation unit226calculates an expiration date of the application package100based on the personal data extracted in the personal data extraction unit224.

The lifetime calculation unit226determines an initial value of the expiration date depending on the type of an application package by referring to a type information table110.

FIG. 6is a diagram illustrating the type information table. The type information table110includes type information112and an initial value114. The type information112indicates the type of an application package. The initial value114indicates an initial value of an expiration date of the application package indicated by the type information112. In an application package of bank account change notification, an initial value is set, for example, at a small value such as “5 minutes” because a bank account number is input by the user. In addition, in an application package of address change notification, an initial value is set, for example, at a greater value, such as “10 minutes”, than that of the application package of bank account change notification because an address that is input by the user is not important information as compared with the bank account number. In addition, in an application package of business trip request, an initial value is set, for example, at a greater value, such as “60 minutes”, than that of the application package of account change notification and the application package of address change notification because a mail addresses, etc. that are input by the user are not important information as compared with the bank account number and the address.

After that, the lifetime calculation unit226determines an expiration date of the application package by extracting the number of pieces of personal data from the application package and referring to a personal data table120.

FIG. 7is a diagram illustrating the personal data table. The personal data table120includes personal data122and a subtraction value124. The personal data122indicates pieces of personal data that are pieces of personal information included in the application package100. The subtraction value124indicates a subtraction values associated with the pieces of personal data122. The pieces of personal information are weighted by setting subtraction values depending on the importance of personal data, that is, setting a subtraction value of personal data “business traveler” at “3 minutes”, setting a subtraction value of personal data “departure place” at “0 minutes”, setting a subtraction value of personal data “destination place” at “5 minutes”, setting a subtraction value of personal data “contents” at “10 minutes”, and setting a subtraction value of personal data “authorizer” at “3 minutes”. In addition, when both of the personal data “business traveler” and the personal data “destination place” are included in the application package100, the subtraction value is set at a greater value, such as “7 minutes”, than that of each of the personal data “business traveler” and the personal data “destination place” because the combined pieces of personal data becomes important information.

The lifetime calculation unit226calculates an expiration date of the application package by subtracting a subtraction value corresponding to a personal data included in the application package from an initial value of the expiration date of the application package.

The lifetime setting unit228sets an expiration date to the application package100based on the expiration date calculated by the lifetime calculation unit226.

The application registration unit222stores the application package100to which the expiration date is set, in the hard disk213. The application package100stored in the hard disk213is deployed to the main memory202and executed by the CPU201. The application registration unit222transmits the application package100to which a lifetime108is set and a lifetime rule that are stored in the hard disk213, to a communication unit316of the mobile terminal300through the communication unit236.

The lifetime setting unit228sets a lifetime rule so that the expiration date of the application package100is decreased, for example, by Y times the normal when the communication connection between the mobile terminal300and the application server200is disconnected.

The lifetime setting unit228sets an expiration date of the application package stored in the mobile terminal300at the expiration date of the application package stored in the application server200when the mobile terminal300and the application server200are reconnected to each other after the communication connection between the mobile terminal300and the application server200has been disconnected. In addition, the lifetime setting unit228deletes, for example, a piece of personal data per Z minutes when an application package is not operated for Z minutes after the application package has been started in the mobile terminal300. In this case, the lifetime setting unit228may delete pieces of personal data in order of importance by weighting the pieces of personal data beforehand.

The lifetime monitoring unit230determines whether or not there is the remaining of the expiration date by referring to the expiration date set to the application package100, based on a value indicated by the timer232. When there is no remaining of the expiration date of the application package100, the lifetime monitoring unit230reports, to an elimination unit234, that the expiration date of the application package100has become expired. When the elimination unit234receives the report from the lifetime monitoring unit230, the elimination unit234deletes the expired application package100that is stored in the hard disk213.

The communication unit236transmits the application package100and the lifetime rule106to the mobile terminal300.

The mobile terminal300includes a communication unit336, a push reception unit324, an elimination unit334, a lifetime monitoring unit330, a terminal monitoring unit322, a timer332, and the flash memory313.

The push reception unit324receives a message from the PUSH GW240, interrupts the message, and issues an instruction of the execution to a unit that performs the processing.

The communication unit336receives the application package100to which the expiration date is set and the lifetime rule106, from the application server200. The communication unit316stores the application package100and the lifetime rule106that are received from the application server200in the flash memory31.

The terminal monitoring unit322monitors the state of the mobile terminal and reports the terminal state to the lifetime monitoring unit330. The lifetime monitoring unit330changes the expiration date that is set to the application package100, based on the terminal state reported from the terminal monitoring unit322by referring to the lifetime rule106. In addition, the lifetime monitoring unit330determines whether or not there is the remaining of the expiration date by referring the expiration date that is set to the application package100and changed by the lifetime monitoring unit330, based on a value indicated by the timer332. When there is no remaining of the expiration date of the application package100, the lifetime monitoring unit330reports, to the elimination unit334, that the expiration date of the application package100has become expired. When the elimination unit334receives the report from the lifetime monitoring unit330, the elimination unit334deletes personal data included in the expired application package100stored in the flash memory313. The elimination unit334may delete the application package100itself.

FIG. 8is a flowchart indicating a process of the application server200.

In S101, the application registration unit222registers the application package100to the hard disk213. In the application registration unit222, the process proceeds to S102.

In S102, the personal data extraction unit224extracts personal data from the application package100registered to the hard disk213. In the personal data extraction unit224, the process proceeds to S103.

In S103, the lifetime calculation unit226calculates an expiration date of the application package100based on the extraction process of personal data in S102. In the lifetime calculation unit226, the process proceeds to S104. The detailed process of the lifetime calculation unit226is described with reference toFIG. 9.

In S104, the lifetime setting unit228sets the expiration date calculated in S103to the application package100. In the lifetime setting unit228, the process proceeds to S105.

In S105, the lifetime setting unit228generates a lifetime rule. In the lifetime setting unit228, the process proceeds to S106.

In S106, the communication unit236transmits the application package100to which the expiration date is set and the lifetime rule106to the mobile terminal300. In the communication unit236, the process proceeds to S107. As described with reference toFIG. 11later, the communication unit236may transmit the personal data120to the mobile terminal300.

In S107, the lifetime monitoring unit230obtains time information indicated by the timer232and monitors the expiration date set to the application package100. In the lifetime monitoring unit230, the process proceeds to S108.

In S108, the lifetime monitoring unit230determines whether or not the expiration date set to the application package100has become expired, based on the obtained time information. When the expiration date set to the application package100has become expired, in the lifetime monitoring unit230, the process proceeds to S109. On the other hand, when the expiration date set to the application package100is not expired, in the lifetime monitoring unit230, the process returns to S107.

In S109, an elimination unit214deletes the application package100stored in the hard disk213. In the elimination unit214, the process ends.

FIG. 9is a flowchart indicating a process of the lifetime calculation unit.

In S1031, the lifetime calculation unit226obtains type information of the application package100by referring to the application package100stored in the hard disk213. In the lifetime calculation unit226, the process proceeds to S1032.

In S1032, the lifetime calculation unit226obtains an initial value of an expiration date of the application package100based on the type information of the application package100obtained in S1031by referring to the type information table110. In the lifetime calculation unit226, the process proceeds to S1033.

In S1033, the lifetime calculation unit226determines the initial value of the expiration date of the application package100. The lifetime calculation unit226determines the initial value of the expiration date of the application package100as “60 minutes” by referring to the type information table110because the type of the application package100in the embodiment is “business trip request”. In the lifetime calculation unit226, the process proceeds to S1034.

In S1034, the lifetime calculation unit226refers to the personal data table120. In the lifetime calculation unit226, the process proceeds to S1035.

In S1035, the lifetime calculation unit226obtains a subtraction value. In the embodiment, the application package100includes the items of business traveler1020, departure place1022, destination place1024, contents1026, and authorizer1028, and the obtains, by referring to the personal data table120, the subtraction value “3 minutes” corresponding to the item of business traveler1020, the subtraction value “0 minute” corresponding to the item of departure place1022, the subtraction value “5 minutes” corresponding to the item of destination place1024, the subtraction value “10 minutes” corresponding to the item of contents1026, and the subtraction value “3 minutes” corresponding to the item of authorizer1028. In addition, the lifetime calculation unit226obtains the subtraction value “7 minutes” corresponding to the combination of the items of business traveler1020and destination place1024because the application package100includes the item of “business traveler1020and destination place1024”. In the lifetime calculation unit226, the process proceeds to S1036.

In S1036, the lifetime calculation unit226calculates an expiration date of the application package100from the initial value determined in S1033and the subtraction value obtained in S1035. In the embodiment, the lifetime calculation unit226calculates “32 minutes” obtained by subtracting the subtraction value “28 minutes” from the initial value “60 minutes”, as the expiration date of the application package100. In the lifetime calculation unit226, the process ends.

FIG. 10is a flowchart indicating a process of the mobile terminal.

In S201, the communication unit316receives the application package100and the lifetime rule106from the application server200. The communication unit316stores the received application package100and lifetime rule106in the flash memory313. In the communication unit316, the process proceeds to S202.

In S202, a terminal monitoring unit310obtains the terminal state of the mobile terminal300. In the terminal monitoring unit310, the process proceeds to S203.

In S203, the terminal monitoring unit310determines whether or not the communication connection between the mobile terminal300and the application server200has been disconnected, based on the communication state of the communication unit316. When the communication connection between the mobile terminal300and the application server200has been disconnected, in the terminal monitoring unit310, the process proceeds to S204. On the other hand, when the communication connection between the mobile terminal300and the application server200is not disconnected, in the terminal monitoring unit310, the process proceeds to S205.

In S204, the terminal monitoring unit310determines whether or not the communication connection between the mobile terminal300and the application server200remains to be disconnected for a certain time period, based on the communication state of the communication unit316. When the communication connection between the mobile terminal300and the application server200remains to be disconnected for a certain time period, in the terminal monitoring unit310, the process proceeds to S206. On the other hand, when the communication connection between the mobile terminal300and the application server200has been established within a certain time period again, in the terminal monitoring unit310, the process proceeds to S207.

In S206, the lifetime monitoring unit330shortens the expiration date set to the application package100by a specific value. In the lifetime monitoring unit330, the process proceeds to S205. When the communication connection remains to be disconnected for a certain time period, the occurrence of information leakage in the mobile terminal300may be reduced by shortening the expiration date set to the application package100by a specific value.

In S207, the terminal monitoring unit310issues a transmission request of an expiration date of the application package100in the application server200, to the application server200, through the communication unit316. In the terminal monitoring unit310, the process proceeds to S208.

In S208, the terminal monitoring unit310receives the expiration date of the application package100in the application server200, from the application server200through the communication unit316. In addition, the lifetime monitoring unit330sets the expiration date of the application package100in the mobile terminal300at the expiration date of the application package100in the application server200. In the lifetime monitoring unit330, the process proceeds to S205. Even when the communication connection between the mobile terminal300and the application server200has been disconnected for a certain time period and the expiration date set to the application package100in the mobile terminal300has been shortened, in a case in which the communication connection is reconnected, the application package100in the mobile terminal300is allowed to be returned to the normal state by setting the expiration date of the application package100in the mobile terminal300at the expiration date of the application package100in the application server200.

In S205, the lifetime monitoring unit330obtains time information indicated by the timer332and monitors the expiration date set to the application package100. In the lifetime monitoring unit330, the process proceeds to S209.

In S209, the lifetime monitoring unit330determines whether or not the expiration date set to the application package100has become expired, based on the obtained time information. When the expiration date set to the application package100has become expired, in the lifetime monitoring unit330, the process proceeds to S210. On the other hand, when the expiration date set to the application package100is not expired, in the lifetime monitoring unit330, the process returns to S202.

In S210, the elimination unit334deletes all of the pieces of personal data104that are stored in the flash memory313. In the elimination unit334, the process ends.

FIG. 11is a flowchart indicating a process of the mobile terminal. InFIG. 10, the case is described in which the communication connection between the mobile terminal300and the application server200has been disconnected, and inFIG. 11, a case is described in which the application package100remains not to be operated for a certain time period in the mobile terminal300.

In S301, the communication unit316receives the application package100, the lifetime rule106, and the personal data120from the application server200. The communication unit316stores the received application package100, lifetime rule106and personal data120, in the flash memory313. In the communication unit316, the process proceeds to S302.

In S302, the terminal monitoring unit310obtains the terminal state of the mobile terminal300. In the terminal monitoring unit310, the process proceeds to S303.

In S303, the terminal monitoring unit310determines whether or not the application package100remains not to be operated for a certain time period after the application package100has been started. When the application package100remains not to be operated for a certain time period, in the terminal monitoring unit310, the process proceeds to S304. On the other hand, when the application package100has been operated within a certain time period, in the terminal monitoring unit310, the process proceeds to S305.

In S304, the terminal monitoring unit310refers to the personal data table120. In the terminal monitoring unit310, the process proceeds to S306.

In S306, the elimination unit334deletes personal data having a maximum subtraction value from the application package100, based on the personal data table120. In the terminal monitoring unit310, the process proceeds to S305. The personal data having a maximum subtraction value is deleted from the application package100in order to delete personal data having high importance, thereby reducing the occurrence of information leakage in the mobile terminal300.

In S305, the lifetime monitoring unit330obtains time information indicated by the timer332and monitors the expiration date set to the application package100. In the lifetime monitoring unit330, the process proceeds to S307.

In S307, the lifetime monitoring unit330determines whether or not the expiration date set to the application package100has become expired, based on the obtained time information. When the expiration date set to the application package100has become expired, in the lifetime monitoring unit330, the process proceeds to S308. On the other hand, when the expiration date set to the application package100is not expired, in the lifetime monitoring unit330, the process returns to S302.

In S308, the elimination unit334deletes all of the pieces of personal data104that are stored in the flash memory313. In the elimination unit334, the process ends.

As described above, the exemplary information processing system according to the embodiment is described, and the embodiment is not limited to the above-described information processing system and various modifications and changes may be made without departing from the scope of the claims.

For example, the lifetime calculation unit226may set a time that elapses before the user leaves a shopping center that is a certain area, at a default value of an expiration date of an application package. In addition, when the user purchase a product in a store, the lifetime setting unit228may set a lifetime rule so as to delete an advertisement of another product belonging to the same industry as the product that is purchased by the user.

For example, the lifetime monitoring unit330may extend an expiration date of the application package when the balance remains after the user has purchased a product in a store. In addition, the lifetime monitoring unit330may extend an expiration date of an application package when the user has purchased products in a plurality of stores in a shopping center in the past. In addition, the lifetime monitoring unit330may set an expiration date of the application package at “X minutes” when X minutes is left before the closing time of a store. In addition, the lifetime monitoring unit330may delete an advertisement when the balance does not remain after the user has purchased a product in a store.