WO2016167039A1 - 情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置 - Google Patents

情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置 Download PDF

Info

Publication number
WO2016167039A1
WO2016167039A1 PCT/JP2016/056433 JP2016056433W WO2016167039A1 WO 2016167039 A1 WO2016167039 A1 WO 2016167039A1 JP 2016056433 W JP2016056433 W JP 2016056433W WO 2016167039 A1 WO2016167039 A1 WO 2016167039A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
information processing
processing apparatus
information
notification
Prior art date
Application number
PCT/JP2016/056433
Other languages
English (en)
French (fr)
Inventor
光祐 吉富
大輔 中田
貴広 岡山
克也 兵頭
遼 深澤
Original Assignee
ソニー株式会社
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 ソニー株式会社 filed Critical ソニー株式会社
Priority to US15/553,188 priority Critical patent/US10802811B2/en
Priority to JP2017512223A priority patent/JPWO2016167039A1/ja
Priority to CN201680020568.7A priority patent/CN107408050A/zh
Priority to EP16779831.3A priority patent/EP3285164B1/en
Publication of WO2016167039A1 publication Critical patent/WO2016167039A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Definitions

  • the present disclosure relates to an information processing device, an information processing method, a computer program, and a server device.
  • devices such as personal computers, smartphones, and wearable information processing devices used by users
  • the device can immediately notify the user of an incoming mail or notify the user of an upcoming event.
  • the push notification can also specify an application to be activated on the device and activate the application on the device based on a user operation.
  • the application needs to be installed in the device in advance.
  • the present disclosure proposes a new and improved information processing apparatus, information processing method, computer program, and server apparatus capable of determining an operation for an application in response to reception of a push notification in which an application to be activated is designated. To do.
  • an information processing apparatus including a communication unit that acquires information on an application that has a push notification to a user, and a control unit that automatically installs the application based on the acquired information. Is done.
  • an information processing method including acquiring information on an application having a push notification to a user and automatically installing the application based on the acquired information.
  • a computer program that causes a computer to acquire information on an application having a push notification to a user and to automatically install the application based on the acquired information Is provided.
  • the server device includes a communication unit that transmits, to the information processing device, the information on which the automatic installation of the application is executed in the information processing device based on the information of the application with the push notification to the user. Is provided.
  • a new and improved information processing apparatus, information processing method, and computer capable of determining an operation for an application in response to reception of a push notification in which an application to be activated is designated A program and a server device can be provided.
  • FIG. 3 is an explanatory diagram illustrating a functional configuration example of an information processing apparatus 100 according to an embodiment of the present disclosure.
  • FIG. 4 is an explanatory diagram illustrating an application download method of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • FIG. 4 is an explanatory diagram illustrating an application download method of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • FIG. 5 is a flowchart illustrating an operation example of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • 5 is a flowchart illustrating an operation example of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • 5 is a flowchart illustrating an operation example of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • It is explanatory drawing which shows the example of a user interface.
  • FIG. 4 is an explanatory diagram for describing a use case example of an operation of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • FIG. It is explanatory drawing which shows an example of notification data. It is explanatory drawing which shows the hardware structural example. It is explanatory drawing which shows the hardware structural example.
  • a device used by a user refers to any device having a function of connecting to a network, such as a personal computer, a smartphone, a tablet terminal, or a wearable device) is actively acquiring information from a server through the network to the user.
  • a technology called push notification to notify There is a technology called push notification to notify.
  • the device can immediately notify the user of an incoming mail or notify the user of an upcoming event.
  • This push notification can also specify an application to be activated on the device and activate the application on the device based on a user operation.
  • the application In order to specify an application by push notification and start the application on the device, the application needs to be installed in the device in advance. However, it is a burden for some users to find and install the application in advance by the user of the device, and also for the service provider who sends the push notification, the user is notified so that the user can install the application. And the burden of promotion occurs.
  • the amount of applications is increasing every day. Some applications that the user has not yet saved to the device may be launched automatically in response to push notifications, and it is difficult for an unfamiliar user to find such an application .
  • the present disclosurer has intensively studied a technology that can automatically start an application regardless of whether or not the application is installed on a device in response to reception of a push notification. went.
  • the present disclosure devised a technology that can automatically start an application regardless of whether or not the application is installed on a device in response to receiving a push notification. It came to do.
  • FIG. 1 is an explanatory diagram illustrating a functional configuration example of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • FIG. 1 is an explanatory diagram illustrating a functional configuration example of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • FIG. 1 is an explanatory diagram illustrating a functional configuration example of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • FIG. 1 is an explanatory diagram illustrating a functional configuration example of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • a functional configuration example of the information processing apparatus 100 according to an embodiment of the present disclosure will be described with reference to FIG.
  • the information processing apparatus 100 shown in FIG. 1 is an apparatus such as a smartphone (high-function mobile phone) or a wearable device (refers to a computer device intended to be worn on the user's body).
  • a smartphone high-function mobile phone
  • a wearable device refers to a computer device intended to be worn on the user's body.
  • the information processing apparatus 100 includes an input device 110, a notification processing unit 120, an application selection unit 130, a storage unit 140, an application activation unit 150, An application execution unit 160 and an output device 170 are included.
  • the input device 110 is various input devices that accept input from a user, and may be configured with, for example, a keyboard, a mouse, a touch panel, and the like.
  • sensing devices can also function as the input device 110.
  • a sensing device for example, GPS (Global Positioning System), GLONASS (Global Navigation Satelite System), BDS (BeiDo Navigation Satelite System), a camera with depth information, a sensor with a current position, iBeacon sensor, and the like. Sensors, microphones, etc. may be included.
  • Such a sensing device detects acceleration, angular velocity, azimuth, illuminance, temperature, atmospheric pressure, etc. applied to the apparatus.
  • the various sensing devices can detect various information as information related to the user, for example, information indicating the user's movement or orientation.
  • the sensing device may include a sensor that detects biological information of the user such as pulse, sweat, brain wave, touch, smell, and taste.
  • the input device 110 outputs information input by the user or generated by sensing to the application selection unit 130.
  • the notification processing unit 120 receives notification data in which information about an application having a push notification to the user, which is transmitted from the external notification server 10 at an arbitrary timing, is described. Upon receiving the notification data transmitted from the external notification server 10, the notification processing unit 120 analyzes the received notification data and passes information included in the notification data to the application selection unit 130. The notification processing unit 120 analyzes the notification data transmitted from the external notification server 10 and blocks the information included in the notification data without passing it to the application selection unit 130 depending on the type of notification and the content of the target application. May be.
  • the notification processing unit 120 can function as an example of a communication unit of the information processing apparatus according to the present disclosure.
  • the notification server 10 is a server that executes a service for transmitting notification data to the information processing apparatus 100.
  • the notification server 10 may collect information from the information processing apparatus 100 in addition to transmitting notification data to the information processing apparatus 100.
  • the notification server 10 may collect, from the information processing apparatus 100, for example, position information of the information processing apparatus 100, user biometric information, an operation history of the information processing apparatus 100 by the user, and the like.
  • the notification server 10 includes a communication unit 11, a storage unit 12, and a processing unit 13.
  • the communication unit 11 performs data communication with other devices. For example, the communication unit 11 transmits notification data to the information processing apparatus 100 and receives information as described above from the information processing apparatus 100.
  • the storage unit 12 stores information used by the notification server 10, computer programs for operating the notification server 10, and the like.
  • the processing unit 13 provides various functions of the notification server 10.
  • the processing unit 13 includes an acquisition unit 14 and a control unit 15.
  • the processing unit 13 can further include other components other than these components. That is, the processing unit 13 can perform operations other than the operations of these components.
  • the acquisition unit 14 acquires information for operation of the notification server 10 and information received from other devices.
  • the acquisition unit 14 can acquire information and computer programs for the operation of the notification server 10 from the storage unit 12.
  • the acquisition unit 14 acquires position information of the information processing apparatus 100, user biometric information, an operation history of the information processing apparatus 100 by the user, and stores the acquired information in the storage unit 12 as necessary.
  • the control unit 15 controls the operation of the notification server 10.
  • the control unit 15 can operate based on the information acquired by the acquisition unit 14. For example, the control unit 15 performs generation of notification data to be transmitted to the information processing apparatus 100 and processing for transmitting the generated notification data from the communication unit 11 to the information processing apparatus 100.
  • the application distribution server 20 is a server that manages an application running on the information processing apparatus 100 and executes a service for distributing the application to the information processing apparatus 100 in response to a request from the information processing apparatus 100.
  • the application distribution server 20 may provide the information processing apparatus 100 with application information that matches the search condition.
  • the application distribution server 20 may charge the application in order to give the information processing apparatus 100 authority to use the application when distributing the application.
  • the application distribution server 20 includes a communication unit 21, a storage unit 22, and a processing unit 23.
  • the communication unit 21 performs data communication with other devices. For example, the communication unit 21 transmits application execution data to the information processing apparatus 100. For example, the communication unit 21 receives an application search request from the information processing apparatus 100 and transmits information on an application that matches the search condition.
  • the storage unit 22 stores information used by the application distribution server 20, computer programs for operating the application distribution server 20, execution data of applications executed by the information processing apparatus 100, and the like.
  • the processing unit 23 provides various functions of the application distribution server 20.
  • the processing unit 23 includes an acquisition unit 24 and a control unit 25.
  • the processing unit 23 may further include other components other than these components. That is, the processing unit 23 can perform operations other than the operations of these components.
  • the acquisition unit 24 acquires information for operation of the application distribution server 20 and information received from other devices.
  • the acquisition unit 24 can acquire information and computer programs for the operation of the application distribution server 20 from the storage unit 22.
  • the control unit 25 controls the operation of the application distribution server 20.
  • the control unit 25 can operate based on the information acquired by the acquisition unit 24. For example, in response to an application request from the information processing apparatus 100, the control unit 25 acquires application execution data from the storage unit 22 and transmits the application execution data from the communication unit 21 to the information processing apparatus 100. Execute. Further, for example, when the application is transmitted to the information processing apparatus 100, the control unit 25 may perform a charging process for the application in order to give the information processing apparatus 100 authority to use the application.
  • the external server 30 is a server that provides an external service for exchanging information with an application executed by the information processing apparatus 100.
  • the external server 30 can be provided for each external service.
  • the external server 30 cooperates with the notification server 10 and transmits, for example, a trigger that triggers transmission of notification data to the information processing apparatus 100 to the notification server 10.
  • the notification server 10 may transmit notification data from the communication unit 11 to the information processing apparatus 100 based on an instruction from the external server 30 that executes an external service, for example. When the processing device 100 is satisfied, the notification data may be transmitted from the communication unit 11 to the information processing device 100.
  • the notification server 10, the application distribution server 20, and the external server 30 are illustrated as separate devices, but the present disclosure is not limited to such an example.
  • the notification server 10 and the application distribution server 20 may be combined into one server device. If the notification server 10 and the application distribution server 20 are combined into one server device, the server device can function as an example of the server device of the present disclosure.
  • the notification data transmitted from the external notification server 10 for example, the communication unit 11
  • information on the application having the push notification to the user is described.
  • the information on the application to be started includes, for example, the name of the application, an identifier that uniquely identifies the application, the sex of the target, the age of the target, the location where the application was obtained (URL, identifier, etc.), the expiration date of the application, and complete deletion of the application Determination flag (if the value is True, the data is deleted when it is deleted), application installation only flag (if the value is True, only installation is performed), application activation condition (only activation by notification, user operation) Information that is specific to an application), application-specific information, and the like.
  • the structure of the notification data will be described in detail later.
  • the installation only flag is a flag for the application selection unit 130 to download and install an application from the application distribution server 20, and to determine whether to start or stop the installed application.
  • an application executed by the information processing apparatus 100 can separate the timing for installing the application and the timing for starting the application. For example, a case where it is desirable to separate the timing for installing an application and the timing for starting the application is considered. There are cases where the location where the application is executed is assumed to be a place where it is difficult to connect to the network, or where the size of the application is large and it is desirable to install it beforehand using Wi-Fi or the like.
  • Application selection unit 130 selects an application to be activated. When the application selection unit 130 selects an application to be activated, the application selection unit 130 passes information on the selected application to the application activation unit 150. The application selection unit 130 changes the operation for the application depending on whether the application is explicitly selected by the user or whether the application is selected based on data transmitted from the external notification server 10 (for example, the communication unit 11). To do.
  • the application selection unit 130 can function as an example of a control unit of the information processing apparatus according to the present disclosure.
  • the application selection unit 130 selects an application stored in the storage unit 140 based on the user input.
  • the application selection unit 130 determines an application to be activated based on information passed from the notification processing unit 120.
  • the application selection unit 130 determines whether the application is stored in the storage unit 140.
  • the application selection unit 130 selects the application stored in the storage unit 140.
  • the application selection unit 130 downloads the application from the external application distribution server 20, and stores (installs) the downloaded application in the storage unit 140. ). Note that the application selection unit 130 may delete (uninstall) the application stored in the storage unit 140.
  • the storage unit 140 stores an application activated by the application activation unit 150, and may be configured by a non-volatile memory such as a flash memory, for example.
  • the storage unit 140 stores, for example, the application entity, data generated by executing the application, and information on the storage location of the application (for example, URL).
  • the storage unit 140 stores the application downloaded by the application selection unit 130.
  • Information stored in the storage unit 140 is referred to by the application selection unit 130 and the application activation unit 150.
  • storage part 140 may be deleted as needed.
  • the application activation unit 150 is an example of the control unit of the present disclosure, and reads the application selected by the application selection unit 130 from the storage unit 140 and activates the application.
  • the application activation unit 150 also performs predetermined termination processing such as deleting unnecessary data and recording application activation when the application is terminated.
  • the application activation unit 150 also performs payment processing of a fee imposed on the application in order to acquire the authority to use the application, as necessary, at the time of activation or termination of the application.
  • the application activation unit 150 can also function as an example of a control unit of the information processing apparatus according to the present disclosure.
  • the application activation unit 150 acquires and manages application statistical information.
  • the application statistical information may include, for example, application activation and termination timing, application activation time, and the like.
  • the application activation unit 150 may instruct the application selection unit 130 to uninstall the application based on a user operation, a notification from a notification service, application statistical information, or the like.
  • the application execution unit 160 presents a user interface (UI), sound, image, and the like generated as a result of the application activation unit 150 activating the application to the user through the output device 170.
  • the application execution unit 160 communicates with the external server 30 as necessary to exchange information.
  • the output device 170 is a device that presents a user with a UI, sound, image, and the like presented by the application execution unit 160, and includes, for example, a display, a speaker, a vibrator, and the like.
  • the output device 170 presents a UI, sound, image, and the like based on notification data received from the notification server 10 by the notification processing unit 120 in addition to the UI, sound, image, and the like presented by the application execution unit 160.
  • the input device 110 and the output device 170 in the information processing apparatus 100 illustrated in FIG. 1 may be different devices from the information processing apparatus 100.
  • the information processing apparatus 100 has the configuration illustrated in FIG. 1, so that an application that automatically starts in response to reception of the push notification is installed in the information processing apparatus 100 Regardless of whether or not, the application can be automatically activated in response to the reception of the push notification.
  • FIGS. 2 and 3 are explanatory diagrams illustrating an application download method of the information processing apparatus 100 according to an embodiment of the present disclosure. 2 and 3 each show an application download method when an application is downloaded from the application distribution server 20 based on reception of notification data from the notification server 10.
  • FIG. 2 is an explanatory diagram showing an application download method when the information processing apparatus 100 creates a request for downloading an application.
  • the notification server 10 sends notification data, for example, from the control unit 15 through the communication unit 11 (step S11), the information processing apparatus 100 receives the notification data (step S12).
  • the information processing apparatus 100 transmits a request for downloading the application to the application distribution server 20 (step S13).
  • the acquisition unit 24 acquires an application from the storage unit 22 in response to a request from the information processing apparatus 100, and distributes the application from the control unit 25 through the communication unit 21.
  • the information processing apparatus 100 downloads the application that requested the download from the application distribution server 20 (step S14).
  • the information processing apparatus 100 installs the application downloaded from the application distribution server 20 (step S15).
  • FIG. 3 is an explanatory diagram showing an application download method when the notification service provided by the notification server 10 and the application distribution service provided by the application distribution server 20 are linked. Even when the notification service and the application distribution service are linked, when the notification server 10 sends notification data (step S21), the information processing apparatus 100 receives the notification data (step S22).
  • the notification server 10 also sends notification data to the application distribution server 20 (step S23).
  • the application distribution server 20 receives the notification data from the notification server 10, the application distribution server 20 distributes the application activated in the information processing apparatus 100 by the notification data to the information processing apparatus 100 to which the notification server 10 has transmitted the notification data ( Step S24). Therefore, the application distribution server 20 distributes the application to the information processing apparatus 100 in a push format.
  • the information processing apparatus 100 installs the application transmitted from the application distribution server 20 (step S25).
  • the information processing apparatus 100 downloads an application from the application distribution server 20 based on reception of notification data from the notification server 10 by one of the two application download methods.
  • 4 and 5 are flowcharts illustrating an operation example of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • 4 and 5 show an operation example of the information processing apparatus 100 when receiving notification data from the notification server 10, starting an application based on the notification data, and finally deleting the application. is there.
  • the notification server 10 for example, the communication unit 11
  • the information processing apparatus 100 for example, the notification processing unit 120
  • Receiving notification data from 10 is also simply referred to as the information processing apparatus 100 receiving a notification.
  • FIGS. 4 and 5 an operation example of the information processing apparatus 100 according to an embodiment of the present disclosure will be described with reference to FIGS. 4 and 5.
  • the information processing apparatus 100 receives a notification from the notification server 10 (step S102) while waiting for a notification from the notification server 10 (step S101).
  • the notification processing unit 120 executes reception of the notification from the notification server 10 in step S102, for example.
  • the information processing apparatus 100 When the information processing apparatus 100 receives the notification from the notification server 10 in step S102, the information processing apparatus 100 filters the notification from the notification server 10 (step S103).
  • the notification filtering in step S103 may be executed by the notification processing unit 120 or the application selection unit 130, for example.
  • the information processing apparatus 100 automatically activates the application based on the notification from the notification server 10. However, if the information processing apparatus 100 reacts to all the notifications, the user may not necessarily receive the notifications in a short time. It may automatically launch even non-critical applications.
  • the information processing apparatus 100 may have a function of filtering notifications from the notification server 10. For example, the information processing apparatus 100 does not react to a notification determined to be low by the user based on a preset filter condition, and operates to discard the notification. In addition to filtering notifications from the notification server 10, the information processing apparatus 100 sorts the notifications so as to arrange the notifications displayed on the output device 170.
  • the filtering and sorting conditions may include, for example, notification types, application information, user feedback on past notifications, user profiles such as age and gender, user context, and the like.
  • the user context may include a user activity state, a user behavior obtained by analyzing sensing data, an application activation state in the information processing apparatus 100, and the like.
  • the information processing apparatus 100 discards items whose urgency level is equal to or less than a predetermined threshold, discards items whose expiration date is after a predetermined date, registered by the user Filtering may be performed, such as discarding notifications other than notifications from services that are currently in progress, discarding notifications other than categories in which the user is interested.
  • the information processing apparatus 100 sorts, for example, from the one with the highest urgency, sorts from the one with the short expiration date, sorts from the service registered by the user, Sorting such as sorting from the category of interest may be performed.
  • the information processing apparatus 100 discards, for example, an application with a rating (referred to as a numerical evaluation of an application evaluation by another user) that is equal to or less than a predetermined threshold. Discard items that originally do not meet the prescribed conditions, discard those whose application evaluation results are less than the prescribed threshold, discard those that do not match the prescribed language of the application, have the required permissions for the application Filtering such as discarding those that do not meet the above conditions may be performed.
  • the permissions required for the application include, for example, whether the application needs a network connection or whether the application needs access to the device.
  • the information processing apparatus 100 sorts, for example, the application having a high rating, sorts the developer from the one that matches a predetermined condition, and has a high application evaluation result. Sorting may be performed such that the application language is sorted according to a predetermined condition, or the permission required for the application is sorted according to a predetermined condition.
  • the information processing apparatus 100 may automatically delete notifications that are deemed unnecessary to be presented to the user based on the filtering conditions described above.
  • the information processing apparatus 100 does not display a notification that is not required to be presented to the user on the output device 170, and if the application activated by the notification is not installed, the application is downloaded from the application distribution server 20. Also do not.
  • the filtering and sorting conditions may be set in advance in the information processing apparatus 100 by the user, or may be changed as appropriate by learning of the information processing apparatus 100. For example, if it can be understood from the application activation history that the user frequently uses an application of a specific genre, the information processing apparatus 100 does not delete the notification for the application of the genre and is different from the genre. You may delete the notification with respect to the application of the genre incompatible with the genre. Even if a plurality of applications having similar functions or a plurality of applications belonging to the same genre exist in the information processing apparatus 100, the user of the information processing apparatus 100 needs only one application among these applications. It is highly possible. And there is a high possibility that applications that the user does not need are not used. Therefore, a plurality of applications having the same function or applications belonging to the same genre may not be compatible. For example, the case where the compatibility between applications is bad may be as follows.
  • -Combination of applications in the same category For example, a baseball application and a soccer application belonging to the same sport category are not compatible.
  • -Combination of applications having the same function For example, a running application having a navigation function at the current position and a map application are not compatible.
  • Language differences For example, an application created in Japanese and an application created in English are not compatible.
  • Step S104 the information processing apparatus 100 subsequently determines whether the application activated by the notification that has not been deleted by the filtering in step S103 is an application that can be automatically activated.
  • the determination in step S104 is executed by, for example, the application selection unit 130.
  • step S104 determines that the application cannot be automatically started (step S104, No) or instructs the user to start the application in step S105.
  • step S104 determines that the application can be automatically started (step S104, Yes) or instructs the user to start the application in step S105.
  • step S106 determines whether or not the application is installed in the information processing apparatus 100 (step S106). The determination in step S106 is executed by, for example, the application selection unit 130.
  • step S106 If it is determined in step S106 that the application is installed in the information processing apparatus 100 (step S106, Yes), the information processing apparatus 100 starts the application (step S107).
  • the activation process in step S107 is executed by, for example, the application activation unit 150.
  • the information processing apparatus 100 executes the application (step S108).
  • the execution process of step S108 is executed by the application execution unit 160, for example.
  • the user can operate the application executed in step S108 using the input device 110.
  • the information processing apparatus 100 performs an application ending process (step S109), and is further ended as necessary.
  • the application is deleted (step S110).
  • the termination process in step S109 is executed by, for example, the application execution unit 160
  • the deletion process in step S110 is executed by, for example, the application activation unit 150.
  • step S106 if the application is not installed in the information processing apparatus 100 (No in step S106), the information processing apparatus 100 stores a sufficient free space for installing the application. It is determined whether it exists in the unit 140 (step S111). The determination in step S111 is executed by, for example, the application selection unit 130. Having enough free space to install an application may say, for example, that there is enough free space to store the application entity. For example, it is generated not only by the application entity but also by execution of the application. This means that there is enough free space to store the data to be stored.
  • step S111 if the storage unit 140 does not have sufficient free space for installing the application (No in step S111), the information processing apparatus 100 uses another storage unit 140 stored in the storage unit 140.
  • An application that satisfies a predetermined deletion condition is deleted from the applications (step S112).
  • the deletion process in step S112 is executed by, for example, the application selection unit 130. The application deletion process will be described in detail later.
  • step S112 When the deletion process in step S112 is executed, the information processing apparatus 100 returns to the determination process in step S111 again, and the deletion process is performed until a sufficient free space can be secured in the storage unit 140 for installing the application activated based on the notification. repeat.
  • step S111 determines that there is sufficient free space in the storage unit 140 to install the application.
  • step S113 determines whether the application can be automatically installed. The determination in step S113 is executed by, for example, the application selection unit 130.
  • step S113 if the application to be installed is an application that can be automatically installed (step S113, Yes), the information processing apparatus 100 downloads the application from the application distribution server 20 (step S114). The downloaded application is installed (step S115). The process of steps S114 and S115 is executed by, for example, the application selection unit 130. When the application installation process in step S115 is completed, the information processing apparatus 100 proceeds to the application activation process in step S107 in FIG.
  • step S113 if the application to be installed is not an application that can be automatically installed (step S113, No), the information processing apparatus 100 downloads the application from the application distribution server 20 and installs it. A process for confirming with the user whether or not to do so is performed (step S116).
  • the confirmation processing in step S116 is executed by, for example, the application selection unit 130.
  • the information processing apparatus 100 may perform this confirmation by, for example, outputting a predetermined user interface to the display of the output device 170, or by outputting predetermined sound from the speaker of the output device 170.
  • the information processing apparatus 100 determines whether the user has permitted installation of the application (step S117).
  • the determination in step S117 is executed by, for example, the application selection unit 130.
  • step S117 if the user permits installation of the application (step S117, Yes), the information processing apparatus 100 subsequently downloads the application from the application distribution server 20 (step S114) and downloaded it. An application is installed (step S115). On the other hand, as a result of the determination in step S117, if the user does not permit installation of the application (No in step S117), the information processing apparatus 100 then ends the series of processes without downloading the application.
  • the information processing apparatus 100 executes the series of processes illustrated in FIG. 4 and FIG. 5, so that an application activated by the notification in response to reception of the notification from the notification server 10 If is installed, the application can be started. If an application to be activated by notification is not installed, the information processing apparatus 100 according to an embodiment of the present disclosure downloads the application from the application distribution server 20, installs the downloaded application, and activates the installed application I can do it.
  • the information processing apparatus 100 automatically downloads an application from the application distribution server 20 and installs the downloaded application if the application activated by the notification is not installed. I can do it. However, in some cases, it is assumed that the storage unit 140 does not have enough capacity to install the downloaded application.
  • the information processing apparatus 100 deletes an application that automatically satisfies the predetermined deletion condition from the storage unit 140 if there is an application that satisfies a predetermined deletion condition. Also good.
  • FIG. 6 is a flowchart illustrating an operation example of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • FIG. 6 shows an embodiment of the present disclosure when there is an application that satisfies a predetermined deletion condition among automatically downloaded applications, and that application is deleted from the storage unit 140. It is an operation example of the information processing apparatus 100.
  • an operation example of the information processing apparatus 100 according to an embodiment of the present disclosure will be described with reference to FIG.
  • step S121 the process of step S121 is executed by the application selection unit 130, for example.
  • step S121 the information processing apparatus 100 determines whether there is an application that can be deleted as a result of the search (step S122). For example, the application selection unit 130 executes the determination process in step S122.
  • step S122 If it is determined in step S122 that there is no application that can be deleted (No in step S122), the information processing apparatus 100 ends the process without deleting the application. On the other hand, if there is an application that can be deleted as a result of the determination in step S122 (step S122, Yes), the information processing apparatus 100 subsequently deletes the application that can be deleted completely (including data generated by the application). It is determined whether or not restoration is possible even if all data is deleted) (step S123). For example, the application selection unit 130 executes the determination process in step S123.
  • step S123 if the application can be restored even if it is completely deleted (step S123, Yes), then the information processing apparatus 100 is set to be completely deleted by the user's setting. It is determined whether or not (step S124).
  • the determination process in step S124 is executed by, for example, the application selection unit 130.
  • step S124 if it is set to be completely deleted by the user setting (step S124, Yes), the information processing apparatus 100 completely deletes the application from the storage unit 140 (step S125).
  • the deletion process in step S125 is executed by, for example, the application selection unit 130. Even if the result of determination in step S123 is that the application cannot be restored if it is completely deleted (No in step S123), the information processing apparatus 100 completely deletes the application from the storage unit 140 (step S125).
  • step S124 if the setting is not complete deletion by the user setting (No in step S124), the information processing apparatus 100 leaves data necessary for restoring the application, and only the execution data. Is deleted from the storage unit 140 (step S126).
  • the information processing apparatus 100 may transmit information about the deleted application to the application distribution server 20.
  • the application distribution server 20 stores which information is automatically downloaded in which information processing apparatus 100 in the storage unit 22, thereby determining which application is automatically downloaded in which information processing apparatus 100.
  • the control unit 25 can grasp the information, and the control unit 25 can grasp which automatically downloaded application has been deleted.
  • deletion conditions For example, an application whose expiration date has passed, a user who received a feedback indicating that the application may be deleted, a user who has determined that the application may be deleted based on the usage status of the user, and the like may be considered.
  • the usage status of the user is used as a deletion condition, it is determined that the user is not frequently used from the usage frequency, the user is determined not to be used for a long time from the last usage date, the current network Items that are determined to be difficult to use in the band may be deleted.
  • the information processing apparatus 100 may delete an application that has been downloaded automatically and satisfies a predetermined deletion condition without confirmation from the user, or may confirm with the user before deletion. Good.
  • the information processing apparatus 100 may not delete even an application that satisfies a predetermined deletion condition when the user has set to not delete the application.
  • FIGS. 7 to 9 are explanatory diagrams showing examples of user interfaces that the information processing apparatus 100 presents to the user in order to allow the user to set automatic deletion of the application.
  • the user interfaces shown in FIGS. 7 to 9 are displayed on the display of the output device 170, for example.
  • FIG. 7 is an explanatory diagram showing an example of a user interface that presents a list of settings related to applications (application settings).
  • application settings application settings
  • the information processing apparatus 100 shifts to a user interface that presents a list of settings regarding application deletion.
  • FIG. 8 is an explanatory diagram showing an example of a user interface that presents a list of settings related to application deletion.
  • FIG. 8 shows an example of a user interface in which a user interface displaying deletion settings for each installed application is displayed.
  • the information processing apparatus 100 shifts to a user interface for setting deletion settings for the application.
  • FIG. 9 is an explanatory diagram showing an example of a user interface that allows the user to set deletion settings for individual applications.
  • FIG. 9 shows an example of a user interface in which “complete deletion”, “data retention”, “not delete”, and “confirm” are displayed as the application deletion settings.
  • “complete deletion” all data including the data generated by the application at the time of deletion is deleted.
  • “hold data” the application deletes all data including the data generated by the application at the time of deletion. The application is deleted leaving the data generated by the application at the time of deletion.
  • the user selects “data retention” the application is not automatically deleted even if the deletion condition is satisfied.
  • the application confirms with the user at the time of deletion and is deleted if the user permits deletion.
  • the information processing apparatus 100 may execute the deletion process when the storage capacity of the storage unit 140 becomes equal to or less than a predetermined value, or may periodically execute the deletion process.
  • the deletion process may be executed as described above.
  • the information processing apparatus 100 performs a series of processes illustrated in FIG. 6, so that there is an application that satisfies a predetermined deletion condition among automatically downloaded applications.
  • the application can be deleted from the storage unit 140.
  • the information processing apparatus 100 can determine which data to delete according to a user setting, and can appropriately delete the application. is there.
  • the information processing apparatus 100 automatically downloads an application from the application distribution server 20 and installs the downloaded application if the application activated by the notification is not installed. I can do it. However, if an application is installed in response to all notifications, the free space in the storage unit 140 may be reduced, or the user may not be able to grasp which application is installed.
  • the information processing apparatus 100 may determine whether to automatically download and install an application based on notification contents, application information, user settings, and the like.
  • the information processing apparatus 100 automatically downloads and installs the application, and when a notification transmitted with a low degree of urgency is received, The processing apparatus 100 may check with the user before automatically downloading and installing the application.
  • the information processing apparatus 100 automatically downloads and installs the application, and receives a notification from a service that is not a service registered in advance by the user.
  • the information processing apparatus 100 may check with the user before automatically downloading and installing the application.
  • the information processing apparatus 100 installs, for example, an application with a rating that is equal to or greater than a predetermined threshold. Necessary for the application to install the one that the developer meets the predetermined condition, install the one whose application evaluation result is higher than the predetermined threshold, install the one whose application language meets the predetermined condition It is also possible to install a program whose permission meets a predetermined condition, or install a program whose price is equal to or lower than a predetermined price.
  • the information processing apparatus 100 determines the fee for the application to the user. It may be shown that payment is required, but the application will be displayed to the user at the predetermined multiple times after the start regardless of the user's explicit selection operation and automatic start based on reception of the notification data. It may be indicated that payment for the fee is required.
  • the information processing apparatus 100 may install, for example, an application designated by the user or a category of the designated application.
  • FIG. 10 to FIG. 12 are explanatory diagrams showing examples of user interfaces that the information processing apparatus 100 presents to the user in order to allow the user to set automatic application installation.
  • the user interfaces shown in FIGS. 10 to 12 are displayed on the display of the output device 170, for example.
  • FIG. 10 is an explanatory diagram showing an example of a user interface that presents a list of settings related to applications (application settings).
  • application settings application settings
  • FIG. 10 is an explanatory diagram showing an example of a user interface that presents a list of settings related to applications (application settings).
  • FIG. 11 is an explanatory diagram showing an example of a user interface that presents a list of settings related to automatic installation of applications.
  • FIG. 11 shows an example of a user interface displaying a user interface displaying settings related to automatic installation of all applications and settings related to automatic installation for each category of installed applications.
  • the information processing apparatus 100 shifts to a user interface for setting automatic installation settings of all applications.
  • the information processing apparatus 100 shifts to a user interface for setting automatic installation settings for the category.
  • FIG. 12 is an explanatory diagram showing an example of a user interface that allows the user to set automatic installation settings for an application in a certain category.
  • FIG. 12 shows a user interface that allows the user to set automatic installation settings for an application provided by a certain company (Company A).
  • FIG. 12 shows an example of a user interface in which “permitted”, “confirm”, and “not permitted” are displayed as automatic installation settings.
  • “Allow” the application in that category is automatically installed without confirmation from the user.
  • the user selects “confirm” the application of that category is confirmed with the user before installation and installed if the user permits the installation. If the user selects “Do not allow”, the application in that category is not automatically installed.
  • the user interface shown in FIG. 12 becomes a user interface that allows the user to set automatic installation settings for all applications. .
  • the information processing apparatus 100 automatically downloads an application from the application distribution server 20 and installs the downloaded application if the application activated by the notification is not installed. I can do it. However, there may be a case where the information processing apparatus 100 receives a notification unnecessary for the user.
  • the information processing apparatus 100 When the information processing apparatus 100 receives a notification from the notification server 10 and the user determines that the notification is unnecessary and performs a setting for blocking the notification, the information processing apparatus 100 will subsequently notify the notification. Even if received, information based on the notification is not output to the output device 170.
  • the information processing apparatus 100 When the information processing apparatus 100 receives a notification from the notification server 10, the user does not determine that the notification is unnecessary at that time, but the user does not need the notification after the application is automatically installed. If the determination is made and the notification is set to be blocked, the user explicitly deletes the automatically installed application. When the user deletes the application, the information processing apparatus 100 may confirm with the user whether the deletion is complete deletion or partial deletion. When the user selects complete deletion, the information processing apparatus 100 does not perform automatic installation thereafter for the application, and when the user selects partial deletion, the information processing apparatus 100 determines the application for the application. Perform automatic installation.
  • the information processing apparatus 100 automatically downloads from the application distribution server 20
  • the behavior of the application may be changed between activation by notification from the notification server 10 and explicit activation by a user operation.
  • the application can be used free of charge, and in the case of explicit activation by user operation, the use of the application requires payment of a fee. May be.
  • the notification server 10 notifies that a large earthquake has occurred, and the earthquake information application is downloaded based on the notification, the earthquake information Make the application available for free. Thereafter, when the user explicitly activates the earthquake information application, the user may be required to pay a fee for using the earthquake information application.
  • this system can be used as a kind of advertising system.
  • an application can be installed on the terminal device 100 only by a user's manual operation, except for updating an installed application.
  • an application can be automatically installed in the information processing apparatus 100 depending on the presence or absence of a push notification. Therefore, even for an application developer who wants to distribute an application to many information processing apparatuses 100. A big motivation to use will be born.
  • the notification server 10 may count the number of times of transmission of the notification data of each application to the information processing apparatus 100 by the control unit 15 and hold it in the storage unit 12.
  • the notification server 10 calculates a charging amount for charging the application developer based on the number of times of transmission of the notification data by the control unit 15, and calculates the calculated charging amount to the application developer. May be charged.
  • a notification server 10 or a billing server that receives notification of the number of transmissions from the notification server 10 calculates a billing amount, and a credit card registered in advance in the notification server 10 or the billing server by the application developer Billing may be performed on a bank account.
  • the notification server 10 or the application distribution server 20 when each application is installed from the information processing apparatus 100 in the notification server 10 or the application distribution server 20, a notification to that effect may be received. Based on the notification, the notification server 10 or the application distribution server 20 counts the number of times each application is installed in the information processing apparatus 100 by the control unit 15 or the control unit 25, and the number of times is stored in the storage unit 12 or the storage unit. The amount charged to the application developer can be calculated on the basis of the number of times stored.
  • FIG. 13 is an explanatory diagram for describing a use case example of the operation of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • the notification processing unit 120 of the information processing device 100 displays information on the display of the output device 170 in response to the reception of the notification (a).
  • the notification processing unit 120 passes information on an application activated by the notification to the application selection unit 130 in response to the selection. If the application is not installed, the application selection unit 130 downloads the application from the application distribution server 20. Depending on the setting, the application selection unit 130 may confirm with the user before installation (b).
  • the application selection unit 130 downloads the application from the application distribution server 20.
  • the information processing apparatus 100 displays the download status on the display of the output apparatus 170 as necessary (c).
  • the information processing apparatus 100 starts the application when the application is installed in advance or when the application is downloaded and installed from the application distribution server 20 (d).
  • FIG. 13 shows a state in which an application for displaying information on a bargain sale to be held is displayed on the display of the output device 170.
  • the information processing apparatus 100 ends the application (e). In this use case, the application is not deleted.
  • FIG. 14 is an explanatory diagram showing an example of notification data sent from the notification server 10 to the information processing apparatus 100.
  • the notification data sent from the notification server 10 to the information processing apparatus 100 is generated by, for example, the control unit 15.
  • the information processing apparatus 100 that has received the notification data as shown in FIG. 14 can analyze the contents of the notification data, determine the contents to be displayed on the display, and select an application to be activated.
  • notification data illustrated in FIG. 14 is merely an example, and the present disclosure is not limited to the format of the notification data illustrated in FIG. 14, but the notification data illustrated in FIG. The contents of each element will be described.
  • (Sender) Indicates the transmission source of notification data.
  • (Expired) Indicates the expiration date of the notification data.
  • (Category) Indicates a category of notification data.
  • (Urgency) represents the urgency of the notification data.
  • (Title) Indicates the title of the notification data.
  • (Body) Represents the text of the notification data.
  • (AppInfo) This represents application information corresponding to the notification data.
  • (Name) Indicates the name of the application.
  • (Id) represents an identifier of the application.
  • (Sex) Represents the sex of the target of the application.
  • (Age) Indicates the target age of the application.
  • (Url) The storage location of the application is represented in the URL format.
  • (Expired) Indicates the expiration date of the application.
  • (Remove) Indicates a complete deletion determination flag of the application.
  • (InstallOnly) Indicates an install only flag of the application.
  • (AppData) represents data used by the application.
  • the notification processing unit 120 analyzes the notification data described as shown in FIG. 14 to determine what the application corresponds to the notification data, and passes the application information to the application selection unit 130. I can do it.
  • the notification processing unit 120 passes the contents of the appInfo element of the notification data described as shown in FIG. 14 to the application selection unit 130 so that the application selection unit 130 can determine which application should be selected. It becomes possible.
  • FIG. 15 is an explanatory diagram for describing a use case example of the operation of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • the notification processing unit 120 of the information processing device 100 displays information on the display of the output device 170 in response to the reception of the notification (a).
  • the notification processing unit 120 passes the information on the event application activated by the notification to the application selection unit 130 according to the selection. If the event application is not installed, the application selection unit 130 downloads the event application from the application distribution server 20 (b) and installs it (c). However, since an event has not yet been held at this point, the information processing apparatus 100 does not start the downloaded event application.
  • the downloaded event application collects location information of the information processing apparatus 100. If the information processing apparatus 100 exists in the area where the event is held on the event date, the notification server 10 notifies the information processing apparatus 100 (d). Based on the reception of the notification, the information processing apparatus 100 automatically activates the event application (e). When the event ends, the information processing apparatus 100 may automatically delete the event application depending on the setting (f).
  • FIGS. 16 and 17 are explanatory diagrams showing an example of notification data sent from the notification server 10 to the information processing apparatus 100.
  • FIG. The notification data sent from the notification server 10 to the information processing apparatus 100 is generated by, for example, the control unit 15.
  • FIG. 16 is an example of notification data sent before the event date
  • FIG. 17 is an example of notification data sent on the event date.
  • the information processing apparatus 100 that has received the notification data as shown in FIGS. 16 and 17 can analyze the contents of the notification data, determine the content to be displayed on the display, and select an application to be activated. .
  • the install only flag is set to True, the information processing apparatus 100 performs the installation of the application but does not automatically start the application.
  • the event organizer can separate the application download timing and the activation timing in the information processing apparatus 100. .
  • FIG. 18 is an explanatory diagram for describing a use case example of the operation of the information processing apparatus 100 according to an embodiment of the present disclosure.
  • a network service providing earthquake information transmits notification data for notifying the occurrence of an earthquake from the notification server 10 to the information processing apparatus 100.
  • the notification processing unit 120 of the information processing device 100 displays information on the display of the output device 170 in response to the reception of the notification (a).
  • the notification processing unit 120 passes information on an application activated by the notification to the application selection unit 130 in response to the selection. If the application is not installed, the application selection unit 130 downloads the application from the application distribution server 20. In this use case, since an emergency situation that an earthquake has occurred is notified, the application selection unit 130 downloads (b) and installs (c) the application without confirming with the user. The information processing apparatus 100 displays the download status on the display of the output apparatus 170 as necessary (b).
  • the information processing apparatus 100 starts the earthquake information application when the earthquake information application is installed in advance or when the earthquake information application is downloaded and installed from the application distribution server 20 (d).
  • FIG. 18 shows a state in which a screen for notifying the user that a tsunami warning has been issued in response to the occurrence of an earthquake is displayed on the display of the output device 170 by starting the earthquake information application.
  • a usage fee must be paid to the application developer.
  • the notification server 10 notifies the information processing apparatus 100 of an emergency situation that an earthquake has occurred, so that at the time of the automatic activation of the earthquake information application that accompanies this earthquake occurrence notification, the usage fee is not paid. Allows launching of earthquake information application.
  • the application activation unit 150 displays a screen indicating that usage fee payment is necessary on the display of the output device 170 (e).
  • FIG. 19 is an explanatory diagram showing an example of notification data sent from the notification server 10 to the information processing apparatus 100.
  • the notification data sent from the notification server 10 to the information processing apparatus 100 is generated by, for example, the control unit 15.
  • FIG. 19 is an example of notification data transmitted when an earthquake occurs.
  • “urgency” indicating the degree of urgency is “Urgent”.
  • the application may be activated on the information processing apparatus 100 even if the usage fee for the application has not been paid.
  • the operation of the information processing apparatus 100 according to an embodiment of the present disclosure has been described above by showing three use cases.
  • the operation of the information processing apparatus 100 according to an embodiment of the present disclosure is not limited to the three use cases described above.
  • the activated application may be a paid application.
  • FIG. 29 is a block diagram illustrating an example of a schematic configuration of the server 700.
  • the server 700 includes a processor 701, a memory 702, a storage 703, a network interface 704, and a bus 706.
  • the processor 701 may be a CPU (Central Processing Unit) or a DSP (Digital Signal Processor), for example, and controls various functions of the server 700.
  • the memory 702 includes a RAM (Random Access Memory) and a ROM (Read Only Memory), and stores programs and data executed by the processor 701.
  • the storage 703 may include a storage medium such as a semiconductor memory or a hard disk.
  • the network interface 704 is a wired communication interface for connecting the server 700 to the communication network 705.
  • the bus 706 connects the processor 701, the memory 702, the storage 703, and the network interface 704 to each other.
  • the bus 706 may include two or more buses with different speeds (eg, a high speed bus and a low speed bus).
  • one or more constituent elements may be implemented in the processor 701.
  • a program for causing a processor to function as the one or more components may be installed in the server 700, and the processor 701 may execute the program.
  • the server 700 may include a module including the processor 701 and the memory 702, and the one or more components may be mounted in the module. In this case, the module may store a program for causing the processor to function as the one or more components in the memory 702 and execute the program by the processor 701.
  • the server 700 or the module may be provided as an apparatus including the one or more components, and the program for causing a processor to function as the one or more components may be provided. .
  • a readable recording medium in which the program is recorded may be provided.
  • FIG. 21 is a block diagram illustrating a hardware configuration example of the information processing apparatus 100 according to the embodiment of the present disclosure.
  • Each of the above algorithms can be executed using, for example, the hardware configuration of the information processing apparatus shown in FIG. That is, the processing of each algorithm is realized by controlling the hardware shown in FIG. 21 using a computer program.
  • a personal information terminal such as a personal computer, a mobile phone, a PHS, or a PDA, a game machine, a contact-type or non-contact-type IC chip.
  • PHS is an abbreviation for Personal Handy-phone System.
  • PDA is an abbreviation for Personal Digital Assistant.
  • the hardware 900 mainly includes a CPU 902, a ROM 904, a RAM 906, a host bus 908, and a bridge 910. Further, this hardware includes an external bus 912, an interface 914, an input unit 916, an output unit 918, a storage unit 920, a drive 922, a connection port 924, and a communication unit 926.
  • the CPU is an abbreviation for Central Processing Unit.
  • the ROM is an abbreviation for Read Only Memory.
  • the RAM is an abbreviation for Random Access Memory.
  • the CPU 902 functions as, for example, an arithmetic processing unit or a control unit, and controls the overall operation of each component or a part thereof based on various programs recorded in the ROM 904, the RAM 906, the storage unit 920, or the removable recording medium 928.
  • the ROM 904 is a means for storing a program read by the CPU 902, data used for calculation, and the like.
  • a program read by the CPU 902 various parameters that change as appropriate when the program is executed, and the like are temporarily or permanently stored.
  • a host bus 908 capable of high-speed data transmission.
  • the host bus 908 is connected to an external bus 912 having a relatively low data transmission speed via a bridge 910, for example.
  • a bridge 910 for example.
  • the input unit 916 for example, a mouse, a keyboard, a touch panel, a button, a switch, a lever, or the like is used.
  • a remote controller capable of transmitting a control signal using infrared rays or other radio waves may be used.
  • a display device such as a CRT, LCD, PDP, or ELD
  • an audio output device such as a speaker or a headphone, a printer, a mobile phone, or a facsimile, etc.
  • the above CRT is an abbreviation of Cathode Ray Tube.
  • the LCD is an abbreviation for Liquid Crystal Display.
  • the PDP is an abbreviation for Plasma Display Panel.
  • the above ELD is an abbreviation for Electro-Luminescence Display.
  • the storage unit 920 is a device for storing various data.
  • a magnetic storage device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, a magneto-optical storage device, or the like is used.
  • HDD hard disk drive
  • the above HDD is an abbreviation for Hard Disk Drive.
  • the drive 922 is a device that reads information recorded on a removable recording medium 928 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, or writes information to the removable recording medium 928.
  • the removable recording medium 928 is, for example, a DVD medium, a Blu-ray medium, an HD DVD medium, various semiconductor storage media, or the like.
  • the removable recording medium 928 may be, for example, an IC card on which a non-contact type IC chip is mounted, an electronic device, or the like.
  • the above IC is an abbreviation for Integrated Circuit.
  • the connection port 924 is a port for connecting an external connection device 930 such as a USB port, an IEEE 1394 port, a SCSI, an RS-232C port, or an optical audio terminal.
  • the external connection device 930 is, for example, a printer, a portable music player, a digital camera, a digital video camera, or an IC recorder.
  • the USB is an abbreviation for Universal Serial Bus.
  • the SCSI is an abbreviation for Small Computer System Interface.
  • the communication unit 926 is a communication device for connecting to the network 932.
  • a wired or wireless LAN for example, a wired or wireless LAN, Bluetooth (registered trademark), or a WUSB communication card, an optical communication router, an ADSL router, or a contact Or a device for non-contact communication.
  • the network 932 connected to the communication unit 926 is configured by a wired or wireless network, such as the Internet, home LAN, infrared communication, visible light communication, broadcast, or satellite communication.
  • the above LAN is an abbreviation for Local Area Network.
  • the WUSB is an abbreviation for Wireless USB.
  • the above ADSL is an abbreviation for Asymmetric Digital Subscriber Line.
  • At least one component (notification processing unit 120, application selection unit 130, application activation unit 150, application execution unit 160) included in the information processing apparatus 100 described with reference to FIG. ) May be implemented in the CPU 902.
  • the information processing apparatus 100 that automatically starts an application related to notification data when the notification data transmitted from the notification server 10 is received is provided.
  • the information processing apparatus 100 automatically starts an application related to the notification data, if the application is not installed, the application is downloaded from the application distribution server 20 and installed. .
  • the information processing apparatus 100 acquires an application by receiving notification data from the notification server 10 and automatically executes the application even if an application related to notification data is not previously installed by the user. It can be activated.
  • the information processing apparatus 100 transmits a notification server 10 that transmits notification data including application information to the information processing apparatus 100, and a request for downloading an application corresponding to the application information. Then, an application distribution server 20 that distributes the application in response to the request is provided.
  • the notification server 10 and the application distribution server 20 can effectively distribute an application to the information processing apparatus 100 by transmitting notification data to the information processing apparatus 100 used by the user.
  • the notification server 10 according to an embodiment of the present disclosure appropriately sets the content of the notification data, so that the timing of downloading the application based on the reception of the notification data in the information processing apparatus 100 and the reception of the notification data. It is possible to separate the timing of automatic startup of the application based on it.
  • each step in the processing executed by each device in this specification does not necessarily have to be processed in chronological order in the order described as a sequence diagram or flowchart.
  • each step in the processing executed by each device may be processed in an order different from the order described as the flowchart, or may be processed in parallel.
  • each functional block shown in the functional block diagram used in the above description may be realized by a server device connected via a network such as the Internet.
  • the configuration of each functional block shown in the functional block diagram used in the above description may be realized by a single device or a system in which a plurality of devices cooperate.
  • a system in which a plurality of devices are linked may include, for example, a combination of a plurality of server devices, a combination of a server device and a terminal device, or the like.
  • a communication unit that acquires information of an application having a push notification to the user;
  • a control unit that automatically installs the application based on the acquired information;
  • An information processing apparatus comprising: (2) The information processing apparatus according to (1), wherein the control unit automatically starts the installed application based on the information. (3) The information processing apparatus according to (2), wherein when the application is already installed, the control unit automatically starts the application based on the information without installing the application. (4) The information processing apparatus according to any one of (1) to (3), wherein the control unit automatically installs the application based on a preset automatic installation condition of the application and the information.
  • the information processing apparatus according to any one of (1) to (4), wherein the control unit automatically uninstalls the application based on the information.
  • the information processing apparatus according to (5), wherein the control unit determines whether to uninstall the application including data created by the application based on the information.
  • the control unit executes a process for obtaining an authority to continue using the application when the number of activations by the user operation of the application exceeds a predetermined number.
  • the information processing apparatus according to any one of the above.
  • the control unit when starting up the application, makes the operation of the application different between an automatic start based on the acquired information and a start based on a user operation.
  • the information processing apparatus according to any one of 7).
  • the information processing apparatus according to any one of (1) to (8), wherein the communication unit acquires the information when the information processing apparatus is present at a predetermined location.
  • the information includes the urgency level of the push notification,
  • the information processing apparatus according to any one of (1) to (9), wherein the control unit automatically installs the application based on the urgency level.
  • (11) Obtaining information about applications that have push notifications to users; Automatically installing the application based on the acquired information; Including an information processing method.
  • a server apparatus comprising: a communication unit configured to transmit, to an information processing apparatus, the information on which automatic installation of the application is executed in the information processing apparatus based on information on an application having a push notification to a user.

Abstract

【課題】起動するアプリケーションが指定されたプッシュ通知の受信に応じてアプリケーションに対する動作を決定することが可能な情報処理装置を提供する。 【解決手段】ユーザに対するプッシュ通知の有るアプリケーションの情報を取得する通信部と、前記取得した情報に基づいて、前記アプリケーションを自動的にインストールする制御部と、を備える、情報処理装置が提供される。

Description

情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置
 本開示は、情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置に関する。
 ユーザが使用するパーソナルコンピュータやスマートフォン、ウェアラブル型情報処理装置等の装置(以下これらの装置を総称してデバイスという)が、サーバからネットワークを通じて能動的に情報を取得してユーザに通知するプッシュ通知という技術がある(例えば特許文献1など参照)。デバイスは、このプッシュ通知によって、例えばメールの着信をユーザに即座に通知したり、間近に行われるイベントをユーザに通知したりすることを可能にする。また、このプッシュ通知は、デバイスで起動されるアプリケーションを指定し、ユーザの操作に基づいて、そのアプリケーションをデバイスで起動させることも可能となっている。
特開2014-225261号公報
 しかし、プッシュ通知によってアプリケーションを指定し、そのアプリケーションをデバイスで起動させるためには、そのアプリケーションがあらかじめデバイスにインストールされている必要がある。しかし、デバイスのユーザがあらかじめアプリケーションを探し出してインストールすることは、ユーザによっては負担になり、またプッシュ通知を送信するサービス提供者側にとっても、ユーザにアプリケーションをインストールしてもらうためにユーザへの告知やプロモーションの負担が発生する。
 そこで本開示では、起動するアプリケーションが指定されたプッシュ通知の受信に応じてアプリケーションに対する動作を決定することが可能な、新規かつ改良された情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置を提案する。
 本開示によれば、ユーザに対するプッシュ通知の有るアプリケーションの情報を取得する通信部と、前記取得した情報に基づいて、前記アプリケーションを自動的にインストールする制御部と、を備える、情報処理装置が提供される。
 また本開示によれば、ユーザに対するプッシュ通知の有るアプリケーションの情報を取得することと、前記取得した情報に基づいて、前記アプリケーションを自動的にインストールすることと、を含む、情報処理方法が提供される。
 また本開示によれば、コンピュータに、ユーザに対するプッシュ通知の有るアプリケーションの情報を取得することと、前記取得した情報に基づいて、前記アプリケーションを自動的にインストールすることと、を実行させる、コンピュータプログラムが提供される。
 また本開示によれば、ユーザに対するプッシュ通知の有るアプリケーションの情報に基づき、情報処理装置において前記アプリケーションの自動インストールが実行される前記情報を、前記情報処理装置へ送信する通信部を備える、サーバ装置が提供される。
 以上説明したように本開示によれば、起動するアプリケーションが指定されたプッシュ通知の受信に応じてアプリケーションに対する動作を決定することが可能な、新規かつ改良された情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置を提供することが出来る。
 なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の一実施形態にかかる情報処理装置100の機能構成例を示す説明図である。 本開示の一実施形態に係る情報処理装置100のアプリケーションのダウンロード方法を示す説明図である。 本開示の一実施形態に係る情報処理装置100のアプリケーションのダウンロード方法を示す説明図である。 本開示の一実施形態に係る情報処理装置100の動作例を示す流れ図である。 本開示の一実施形態に係る情報処理装置100の動作例を示す流れ図である。 本開示の一実施形態に係る情報処理装置100の動作例を示す流れ図である。 ユーザインタフェースの例を示す説明図である。 ユーザインタフェースの例を示す説明図である。 ユーザインタフェースの例を示す説明図である。 ユーザインタフェースの例を示す説明図である。 ユーザインタフェースの例を示す説明図である。 ユーザインタフェースの例を示す説明図である。 本開示の一実施形態に係る情報処理装置100の動作のユースケース例を説明するための説明図である。 通知データの一例を示す説明図である。 本開示の一実施形態に係る情報処理装置100の動作のユースケース例を説明するための説明図である。 通知データの一例を示す説明図である。 通知データの一例を示す説明図である。 本開示の一実施形態に係る情報処理装置100の動作のユースケース例を説明するための説明図である。 通知データの一例を示す説明図である。 ハードウェア構成例を示す説明図である。 ハードウェア構成例を示す説明図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.本開示の一実施形態
  1.1.背景
  1.2.機能構成例
  1.3.動作例
 2.ハードウェア構成例
 3.まとめ
 <1.本開示の一実施形態>
 [1.1.背景]
 本開示の実施の形態について詳細に説明する前に、まず本開示の実施の形態の背景について説明する。
 ユーザが使用するデバイス(パーソナルコンピュータ、スマートフォン、タブレット端末、ウェアラブルデバイスなどの、ネットワークに接続する機能を有するデバイス全般を言うものとする)が、ネットワークを通じてサーバから能動的に情報を取得してユーザに通知するプッシュ通知という技術がある。デバイスは、このプッシュ通知によって、例えばメールの着信をユーザに即座に通知したり、間近に行われるイベントをユーザに通知したりすることを可能にする。また、このプッシュ通知は、デバイスで起動されるアプリケーションを指定し、ユーザの操作に基づいて、そのアプリケーションをデバイスで起動させることも可能となっている
 プッシュ通知によってアプリケーションを指定し、そのアプリケーションをデバイスで起動させるためには、そのアプリケーションがあらかじめデバイスにインストールされている必要がある。しかし、デバイスのユーザがあらかじめアプリケーションを探し出してインストールすることは、ユーザによっては負担になり、またプッシュ通知を送信するサービス提供者側にとっても、ユーザにアプリケーションをインストールしてもらうためにユーザへの告知やプロモーションの負担が発生する。
 アプリケーションの量は日々増加の一途を辿っている。ユーザがまだデバイスに保存していないアプリケーションの中に、プッシュ通知に応じて自動的に起動するアプリケーションが存在する場合もあり、そのようなアプリケーションをユーザが探し出すのは不慣れなユーザにとっては困難である。
 ユーザにあらかじめアプリケーションをデバイスにインストールしてもらい、サーバからプッシュ通知を送信することでアプリケーションが自動的に起動出来るようになったとしても、情報処理装置に大量にプッシュ通知が届くと、その大量のプッシュ通知により多くのアプリケーションが自動的に起動する場合が考えられ、ユーザに混乱を招く恐れがある。
 そこで本件開示者は、上述した背景に鑑みて、プッシュ通知の受信に応じて、アプリケーションがデバイスにインストールされているか否かに依らず、自動的にアプリケーションを起動することが出来る技術について鋭意検討を行った。その結果、本件開示者は、以下で説明するように、プッシュ通知の受信に応じて、アプリケーションがデバイスにインストールされているか否かに依らず、自動的にアプリケーションを起動することが出来る技術を考案するに至った。
 以上、本開示の実施の形態の背景について説明した。続いて、本開示の実施の形態について詳細に説明する。
 [1.2.機能構成例]
 まず、本開示の一実施形態にかかる情報処理装置100の機能構成例を説明する。図1は、本開示の一実施形態にかかる情報処理装置100の機能構成例を示す説明図である。以下、図1を用いて本開示の一実施形態にかかる情報処理装置100の機能構成例について説明する。
 図1に示した情報処理装置100は、例えば、スマートフォン(高機能携帯電話)、ウェアラブルデバイス(利用者の身体に装着されることを目的としたコンピュータデバイスをいう)などの装置である。
 図1に示したように、本開示の一実施形態にかかる情報処理装置100は、入力装置110と、通知処理部120と、アプリケーション選択部130と、記憶部140と、アプリケーション起動部150と、アプリケーション実行部160と、出力装置170と、を含んで構成される。
 入力装置110は、ユーザからの入力を受け付ける各種インプットデバイスであり、例えばキーボード、マウス、タッチパネルなどで構成され得る。
 また各種センシングデバイスも入力装置110として機能し得る。そのようなセンシングデバイスとして、例えばGPS(Global Positioning System)、GLONASS(Global Navigation Satellite System)、BDS(BeiDou Navigation Satellite System)、iBeacon等の現在位置を取得するセンサ、カメラ、深度情報付きカメラ、人感センサ、マイク等が含まれ得る。
 このようなセンシングデバイスは、装置にかかる加速度や角速度、方位、照度、温度、気圧などを検出する。上記の各種センシングデバイスは、例えばセンシングデバイスを含む装置がユーザによって携帯または装着されている場合に、各種情報をユーザに関する情報、例えばユーザの運動や向きなどを示す情報として検出することができる。また、センシングデバイスは、他にも、脈拍、発汗、脳波、触覚、嗅覚、味覚など、ユーザの生体情報を検出するセンサを含んでもよい。
 入力装置110は、ユーザから入力されたり、センシングによって生成されたりする情報をアプリケーション選択部130に出力する。
 通知処理部120は、外部の通知サーバ10から任意のタイミングで送信される、ユーザに対するプッシュ通知の有るアプリケーションの情報が記載される、通知データを受信する。通知処理部120は、外部の通知サーバ10から送信される通知データを受信すると、受信した通知データを解析し、通知データに含まれる情報をアプリケーション選択部130に渡す。通知処理部120は、外部の通知サーバ10から送信される通知データを解析して、通知の種類や対象のアプリケーションの内容によっては、通知データに含まれる情報をアプリケーション選択部130に渡さずにブロックしてもよい。通知処理部120は、本開示の情報処理装置の通信部の一例として機能しうる。
 通知サーバ10は、情報処理装置100に通知データを送信するためのサービスを実行するサーバである。通知サーバ10は、情報処理装置100に通知データを送信するほか、情報処理装置100から情報を収集してもよい。通知サーバ10は、情報処理装置100から、例えば情報処理装置100の位置情報、ユーザの生体情報、ユーザによる情報処理装置100の操作履歴などを収集しても良い。
 通知サーバ10は、通信部11と、記憶部12と、処理部13と、を含んで構成される。
 通信部11は、他の装置との間でデータの通信を行う。例えば通信部11は、情報処理装置100へ通知データを送信し、また情報処理装置100から上述したような情報を受信する。記憶部12は、通知サーバ10で用いられる情報や、通知サーバ10を動作させるためのコンピュータプログラムなどを記憶する。
 処理部13は、通知サーバ10の様々な機能を提供する。処理部13は、取得部14と、制御部15と、を含む。なお、処理部13は、これらの構成要素以外の他の構成要素をさらに含み得る。即ち、処理部13は、これらの構成要素の動作以外の動作も行い得る。
 取得部14は、通知サーバ10の動作のための情報や、他の装置から受信した情報を取得する。取得部14は、通知サーバ10の動作のための情報やコンピュータプログラムを記憶部12から取得しうる。例えば取得部14は、情報処理装置100の位置情報、ユーザの生体情報、ユーザによる情報処理装置100の操作履歴などを取得し、取得した情報を必要に応じて記憶部12に記憶させる。
 制御部15は、通知サーバ10の動作を制御する。制御部15は、取得部14が取得した情報に基づいて動作しうる。例えば制御部15は、情報処理装置100へ送信する通知データの生成や、生成した通知データを通信部11から情報処理装置100へ送信させる処理を実行する。
 アプリケーション配信サーバ20は、情報処理装置100で動作するアプリケーションを管理し、情報処理装置100からの要求に応じてアプリケーションを情報処理装置100へ配信するサービスを実行するサーバである。アプリケーション配信サーバ20は、情報処理装置100からのアプリケーションの検索要求に応じて、検索条件に合致するアプリケーションの情報を情報処理装置100へ提供しても良い。またアプリケーション配信サーバ20は、アプリケーションの配信の際に、アプリケーションの使用権限を情報処理装置100に与えるために、アプリケーションに課金を行っても良い。
 アプリケーション配信サーバ20は、通信部21と、記憶部22と、処理部23と、を含んで構成される。
 通信部21は、他の装置との間でデータの通信を行う。例えば通信部21は、情報処理装置100へアプリケーションの実行データを送信する。また例えば通信部21は、情報処理装置100からのアプリケーションの検索要求を受信し、検索条件に合致するアプリケーションの情報を送信する。記憶部22は、アプリケーション配信サーバ20で用いられる情報や、アプリケーション配信サーバ20を動作させるためのコンピュータプログラム、情報処理装置100で実行されるアプリケーションの実行データなどを記憶する。
 処理部23は、アプリケーション配信サーバ20の様々な機能を提供する。処理部23は、取得部24と、制御部25と、を含む。なお、処理部23は、これらの構成要素以外の他の構成要素をさらに含み得る。即ち、処理部23は、これらの構成要素の動作以外の動作も行い得る。
 取得部24は、アプリケーション配信サーバ20の動作のための情報や、他の装置から受信した情報を取得する。取得部24は、アプリケーション配信サーバ20の動作のための情報やコンピュータプログラムを記憶部22から取得しうる。
 制御部25は、アプリケーション配信サーバ20の動作を制御する。制御部25は、取得部24が取得した情報に基づいて動作しうる。例えば制御部25は、情報処理装置100からのアプリケーションの要求に応じて、アプリケーションの実行データを記憶部22から取得して、アプリケーションの実行データを通信部21から情報処理装置100へ送信させる処理を実行する。また例えば、制御部25は、アプリケーションを情報処理装置100へ送信する際に、アプリケーションの使用権限を情報処理装置100に与えるために、アプリケーションに対する課金処理を行っても良い。
 外部サーバ30は、情報処理装置100が実行するアプリケーションとの間で情報の授受を行う外部サービスを提供するサーバである。外部サーバ30は、外部サービスごとに設けられうる。外部サーバ30は、通知サーバ10と連携し、例えば通知サーバ10に対して、情報処理装置100に通知データを送信する契機となるトリガを送信する。
 通知サーバ10は、例えば外部サービスを実行する外部サーバ30からの指示に基づいて情報処理装置100に通知データを通信部11から送信してもよく、外部サーバ30からあらかじめ登録された通知条件を情報処理装置100が満たした場合に情報処理装置100に通知データを通信部11から送信してもよい。
 なお図1に示した構成例では、通知サーバ10、アプリケーション配信サーバ20、外部サーバ30がそれぞれ別の装置であるよう図示されているが、本開示は係る例に限定されるものでは無い。例えば、通知サーバ10及びアプリケーション配信サーバ20をまとめて一つのサーバ装置としてもよい。通知サーバ10及びアプリケーション配信サーバ20をまとめて一つのサーバ装置とすると、そのサーバ装置が本開示のサーバ装置の一例として機能しうる。
 外部の通知サーバ10(例えば通信部11)から送信される通知データには、前述した通り、ユーザに対するプッシュ通知の有るアプリケーションの情報が記載されており、例えば、送信元、通知の有効期限、通知のカテゴリ、通知の緊急度、起動するアプリケーションの情報、等が含まれうる。起動するアプリケーションの情報には、例えば、アプリケーションの名称、アプリケーションを一意に識別する識別子、対象の性別、対象の年齢、アプリケーションの入手先(URL、識別子など)、アプリケーションの有効期限、アプリケーションの完全削除判定フラグ(値がTrueの場合、削除時にデータも含めて削除する)、アプリケーションのインストールオンリーフラグ(値がTrueの場合、インストールだけを行う)、アプリケーションの起動条件(通知による起動のみ、ユーザ操作による起動可などを指定したもの)、アプリケーション固有の情報、等が含まれうる。通知データの構造については後に詳述する。
 インストールオンリーフラグとは、アプリケーション選択部130がアプリケーション配信サーバ20からアプリケーションをダウンロードしてインストールし、インストールしたアプリケーションを起動するか、インストールするまでに留めるかを判断するためのフラグである。インストールオンリーフラグの設定により、情報処理装置100で実行されるアプリケーションは、アプリケーションをインストールするタイミングと起動するタイミングとを分けることが可能になる。アプリケーションをインストールするタイミングと起動するタイミングとを分けることが望ましい場合として考えられるのは、例えば。アプリケーションを実行する場所が、ネットワークの繋がりにくい場所であることが想定される場合や、アプリケーションのサイズが大きく、事前にWi-Fi等でインストールしておくことが望ましい場合などである。
 アプリケーション選択部130は、起動するアプリケーションを選択する。アプリケーション選択部130は、起動するアプリケーションを選択すると、その選択したアプリケーションの情報をアプリケーション起動部150に渡す。アプリケーション選択部130は、ユーザによって明示的にアプリケーションが選択されたか、外部の通知サーバ10(例えば通信部11)から送信されるデータに基づいてアプリケーションが選択されたか、によって、そのアプリケーションに対する動作を変更する。アプリケーション選択部130は、本開示の情報処理装置の制御部の一例として機能しうる。
 ユーザが入力装置110を用いて明示的に起動するアプリケーションを選択した場合は、アプリケーション選択部130は、そのユーザの入力に基づいて、記憶部140に格納されているアプリケーションを選択する。一方、外部の通知サーバ10からの通知に応じて自動的にアプリケーションを起動する場合は、アプリケーション選択部130は、通知処理部120から渡された情報に基づき、起動するアプリケーションを判定する。アプリケーション選択部130は、通知処理部120から渡された情報に基づき起動するアプリケーションを判定する場合は、そのアプリケーションは記憶部140に格納されているかどうかを判断する。起動するアプリケーションが記憶部140に格納されている場合は、アプリケーション選択部130は、その記憶部140に格納されているアプリケーションを選択する。一方、起動するアプリケーションが記憶部140に格納されていない場合は、アプリケーション選択部130は、外部のアプリケーション配信サーバ20から当該アプリケーションをダウンロードして、ダウンロードしたアプリケーションを記憶部140に格納する(インストールする)。なおアプリケーション選択部130は、記憶部140に格納されているアプリケーションの削除(アンインストール)を行っても良い。
 記憶部140は、アプリケーション起動部150によって起動されるアプリケーションが格納されるものであり、例えばフラッシュメモリ等の不揮発性メモリで構成され得る。記憶部140は、例えばアプリケーションの実体やアプリケーションの実行によって生成されたデータ、アプリケーションの格納場所の情報(例えばURL等)を記憶する。記憶部140は、アプリケーション選択部130がダウンロードしたアプリケーションが保存される。記憶部140に保存された情報はアプリケーション選択部130やアプリケーション起動部150から参照される。また、記憶部140に記憶されたアプリケーションは、必要に応じて削除され得る。
 アプリケーション起動部150は、本開示の制御部の一例であり、アプリケーション選択部130で選択されたアプリケーションを、記憶部140から読み出して起動する。またアプリケーション起動部150は、アプリケーションの終了時に、不要なデータの削除、アプリケーション起動の記録などの所定の終了処理を行う。またアプリケーション起動部150は、アプリケーションの起動時や終了時に、必要に応じて、アプリケーションの使用権限を獲得するために、アプリケーションに課された料金の支払い処理も行う。アプリケーション起動部150も、本開示の情報処理装置の制御部の一例として機能しうる。
 アプリケーション起動部150は、アプリケーションの統計情報の取得及び管理を行う。アプリケーションの統計情報には、例えば、アプリケーションの起動や終了のタイミング、アプリケーションの起動時間などが含まれうる。そしてアプリケーション起動部150は、ユーザの操作、通知サービスからの通知、アプリケーションの統計情報等に基づき、アプリケーション選択部130に対してアプリケーションのアンインストールを指示してもよい。
 アプリケーション実行部160は、アプリケーション起動部150がアプリケーションを起動した結果生じるユーザインタフェース(UI)、音声、画像等を、出力装置170を通じてユーザへ提示する。アプリケーション実行部160は、必要に応じて外部サーバ30との間で通信を行って情報をやり取りする。
 出力装置170は、アプリケーション実行部160によって提示されるUI、音声、画像等をユーザへ提示するデバイスであり、例えばディスプレイ、スピーカ、バイブレータ等で構成される。出力装置170は、アプリケーション実行部160によって提示されるUI、音声、画像等の他、通知処理部120が通知サーバ10から受信した通知データに基づくUI、音声、画像等もユーザへ提示する。
 なお、図1に示した情報処理装置100における入力装置110と、出力装置170とは、情報処理装置100とは別の装置としてもよい。
 本開示の一実施形態に係る情報処理装置100は、図1に示したような構成を有することで、プッシュ通知の受信に応じて自動的に起動するアプリケーションが情報処理装置100にインストールされているか否かに依らず、プッシュ通知の受信に応じて自動的にアプリケーションを起動することが出来る。
 以上、図1を用いて本開示の一実施形態に係る情報処理装置100の機能構成例について説明した。続いて、本開示の一実施形態に係る情報処理装置100の動作例について説明する。
 [1.3.動作例]
 まず、本開示の一実施形態に係る情報処理装置100のアプリケーションのダウンロード方法について説明する。図2及び図3は、本開示の一実施形態に係る情報処理装置100のアプリケーションのダウンロード方法を示す説明図である。図2及び図3は、いずれも、通知サーバ10からの通知データの受信に基づいてアプリケーション配信サーバ20からアプリケーションをダウンロードする際の、アプリケーションのダウンロード方法を示したものである。
 図2に示したのは、情報処理装置100がアプリケーションのダウンロードの要求を創出する場合のアプリケーションのダウンロード方法を示す説明図である。通知サーバ10が通知データを、例えば制御部15から通信部11を通じて送出すると(ステップS11)、情報処理装置100が通知データを受信する(ステップS12)。
 その通知データに応じて起動するアプリケーションがインストールされていなければ、情報処理装置100は、そのアプリケーションのダウンロードの要求をアプリケーション配信サーバ20へ送信する(ステップS13)。アプリケーション配信サーバ20は、情報処理装置100からの要求に応じてアプリケーションを、例えば取得部24が記憶部22から取得し、制御部25から通信部21を通じて配信する。換言すれば、情報処理装置100は、ダウンロードを要求したアプリケーションをアプリケーション配信サーバ20からダウンロードする(ステップS14)。そして、情報処理装置100はアプリケーション配信サーバ20からダウンロードしたアプリケーションをインストールする(ステップS15)。
 図3に示したのは、通知サーバ10が提供する通知サービスと、アプリケーション配信サーバ20が提供するアプリケーション配信サービスとが連携している場合のアプリケーションのダウンロード方法を示す説明図である。通知サービスとアプリケーション配信サービスとが連携している場合も、通知サーバ10が通知データを送出すると(ステップS21)、情報処理装置100が通知データを受信する(ステップS22)。
 さらに通知サーバ10は、通知データをアプリケーション配信サーバ20へも送出する(ステップS23)。アプリケーション配信サーバ20は、通知サーバ10から通知データを受信すると、その通知データによって情報処理装置100で起動されるアプリケーションを、通知サーバ10が通知データを送信した情報処理装置100に対して配信する(ステップS24)。従ってアプリケーション配信サーバ20は情報処理装置100へアプリケーションをプッシュ形式で配信する。
 そして、情報処理装置100はアプリケーション配信サーバ20から送信されたアプリケーションをインストールする(ステップS25)。
 本実施形態に係る情報処理装置100は、この2通りのアプリケーションのダウンロード方法のいずれかによって、通知サーバ10からの通知データの受信に基づいてアプリケーション配信サーバ20からアプリケーションをダウンロードする。
 以上、図2及び図3を用いて本開示の一実施形態に係る情報処理装置100のアプリケーションのダウンロード方法について説明した。続いて、本開示の一実施形態に係る情報処理装置100の動作例について詳細に説明する。
 図4及び図5は、本開示の一実施形態に係る情報処理装置100の動作例を示す流れ図である。図4及び図5に示したのは、通知サーバ10から通知データを受信して、通知データに基づいてアプリケーションを起動し、最終的にアプリケーションを削除する際の、情報処理装置100の動作例である。なお、以下の説明では、通知サーバ10(例えば通信部11)が通知データを送信することを、単に、通知サーバ10が通知するとも称し、情報処理装置100(例えば通知処理部120)が通知サーバ10から通知データを受信することを、単に、情報処理装置100が通知を受信するとも称する。以下、図4及び図5を用いて本開示の一実施形態に係る情報処理装置100の動作例について説明する。
 情報処理装置100は、通知サーバ10からの通知を待っている状態で(ステップS101)、通知サーバ10からの通知を受信する(ステップS102)。ステップS102の通知サーバ10からの通知の受信は例えば通知処理部120が実行する。
 情報処理装置100は、上記ステップS102で通知サーバ10からの通知を受信すると、その通知サーバ10からの通知をフィルタリングする(ステップS103)。ステップS103の通知のフィルタリングは、例えば通知処理部120が実行してもよく、アプリケーション選択部130が実行しても良い。
 ここで通知サーバ10からの通知をフィルタリング処理について説明する。情報処理装置100は、通知サーバ10からの通知に基づいてアプリケーションを自動的に起動するが、すべての通知に反応してしまうと、通知を短時間で数多く受信したような場合に、ユーザによって必ずしも重要では無いアプリケーションまで自動的に起動することになりかねない。
 そこで本実施形態では、情報処理装置100は、通知サーバ10からの通知をフィルタリングする機能を有していても良い。情報処理装置100は、例えば、事前に設定されたフィルタ条件に基づき、ユーザによって価値が低いと判断される通知には反応せず、その通知を破棄するよう動作する。また情報処理装置100は、通知サーバ10からの通知をフィルタリングする他、通知をソーティングすることで、出力装置170に表示する通知を整理するよう動作する。
 上記フィルタリングやソーティングの条件には、例えば、通知種別、アプリケーション情報、過去の通知に対するユーザのフィードバック、年齢や性別などのユーザのプロフィール、ユーザコンテキストなどが含まれうる。ユーザコンテキストには、ユーザの活動状況、センシングデータの解析により得られるユーザの行動、情報処理装置100でのアプリケーションの起動状況などが含まれうる。
 情報処理装置100は、通知種別をフィルタリングの条件とする場合には、例えば緊急度が所定の閾値以下のものを破棄する、有効期限が所定の期日より後のものを破棄する、ユーザが登録しているサービスからの通知以外を破棄する、ユーザの興味のあるカテゴリの通知以外を破棄する、等のフィルタリングを行っても良い。
 情報処理装置100は、通知種別をソーティングの条件とする場合には、例えば緊急度が高いものからソートする、有効期限が短いものからソートする、ユーザが登録しているサービスからソートする、ユーザの興味のあるカテゴリからソートする、等のソーティングを行っても良い。
 情報処理装置100は、アプリケーション情報をフィルタリングの条件とする場合には、例えばアプリケーションのレーティング(他のユーザによるアプリケーションの評価を数値化したものをいう)が所定の閾値以下のものを破棄する、開発元が所定の条件に合致しないものを破棄する、アプリケーションの評価結果が所定の閾値以下のものを破棄する、アプリケーションの言語が所定の条件に合致しないものを破棄する、アプリケーションに必要なパーミッションが所定の条件に合致しないものを破棄する、等のフィルタリングを行っても良い。アプリケーションに必要なパーミッションには、例えばアプリケーションがネットワーク接続を必要とするか、アプリケーションがデバイスへのアクセスを必要とするか、などがある。
 情報処理装置100は、アプリケーション情報をソーティングの条件とする場合には、例えばアプリケーションのレーティングが高いものからソートする、開発元が所定の条件に合致するものからソートする、アプリケーションの評価結果が高いものからソートする、アプリケーションの言語が所定の条件に合致するものからソートする、アプリケーションに必要なパーミッションが所定の条件に合致するものからソートする、等のソーティングを行っても良い。
 情報処理装置100は、上述のフィルタリングの条件に基づき、ユーザへの提示が不要と思われる通知を自動的に削除しても良い。情報処理装置100は、ユーザへの提示が不要と思われる通知は出力装置170に表示せず、またその通知によって起動されるアプリケーションがインストールされていない場合、アプリケーション配信サーバ20からのそのアプリケーションのダウンロードも行わない。
 フィルタリングやソーティングの条件は、ユーザによって予め情報処理装置100に設定されてもよく、情報処理装置100の学習によって適宜変更されても良い。例えば、ユーザが特定のジャンルのアプリケーションを頻繁に使用していることがアプリケーションの起動履歴から把握できれば、情報処理装置100は、そのジャンルのアプリケーションに対する通知は削除せず、そのジャンルとは異なる、またそのジャンルと相性が悪いジャンルのアプリケーションに対する通知を削除してもよい。同じような機能を有する複数のアプリケーションや、同じようなジャンルに属するアプリケーションが情報処理装置100に複数存在していても、情報処理装置100のユーザは、それらのアプリケーションの中の1つのアプリケーションだけ必要とする可能性が高い。そしてユーザが必要としないアプリケーションは利用されない可能性が高い。従って、そのような同じような機能を有する複数のアプリケーションや、同じようなジャンルに属するアプリケーション同士は、相性が悪いとしてもよい。例えば、アプリケーション間で相性が悪いとは、以下のような場合が考えられる。
 ・同一カテゴリ(ジャンル)のアプリケーションの組み合わせ
 例えば、同じスポーツのカテゴリに属する野球アプリケーションとサッカーアプリケーションとは、相性が悪い。
 ・同一機能を持つアプリケーションの組み合わせ
 例えば、現在位置のナビゲーション機能を有するランニングアプリケーションと地図アプリケーションとは、相性が悪い。
 ・言語の違い
 例えば、日本語で作成されたアプリケーションと英語で作成されたアプリケーションとは、相性が悪い。
 情報処理装置100は、上記ステップS103で通知をフィルタリングすると、続いて、ステップS103のフィルタリングによって削除されなかった通知によって起動されるアプリケーションが、自動的に起動することが可能なアプリケーションであるかどうか判断する(ステップS104)。このステップS104の判断は、例えばアプリケーション選択部130が実行する。
 ステップS104の判断の結果、自動的に起動することが可能なアプリケーションで無い場合は(ステップS104、No)、情報処理装置100は、ユーザに対してアプリケーションを起動するよう指示する(ステップS105)。ステップS105の指示は、例えば出力装置170に文字、画像、音声、バイブレーションなどの形態で出力される。情報処理装置100は、ステップS104の判断の結果、自動的に起動することが可能なアプリケーションであった場合(ステップS104、Yes)、または、ステップS105でユーザに対してアプリケーションを起動するよう指示し、ユーザがその指示に対してアプリケーションの起動を選択した場合(ステップS105)、続いて、そのアプリケーションが情報処理装置100にインストールされているかどうか判断する(ステップS106)。ステップS106の判断は、例えばアプリケーション選択部130が実行する。
 上記ステップS106の判断の結果、そのアプリケーションが情報処理装置100にインストールされている場合は(ステップS106、Yes)、情報処理装置100は、そのアプリケーションを起動する(ステップS107)。ステップS107の起動処理は、例えばアプリケーション起動部150が実行する。情報処理装置100は、ステップS107でアプリケーションを起動すると、そのアプリケーションを実行する(ステップS108)。ステップS108の実行処理は、例えばアプリケーション実行部160が実行する。
 ユーザは、ステップS108で実行されたアプリケーションを、入力装置110を用いて操作することが出来る。そして、ステップS108で実行されたアプリケーションを終了する操作をユーザが入力装置110を用いて行うと、情報処理装置100は、アプリケーションの終了処理を行い(ステップS109)、さらに必要に応じて、終了されたアプリケーションの削除処理を行う(ステップS110)。ステップS109の終了処理は例えばアプリケーション実行部160が実行し、ステップS110の削除処理は例えばアプリケーション起動部150が実行する。
 一方、上記ステップS106の判断の結果、そのアプリケーションが情報処理装置100にインストールされていない場合は(ステップS106、No)、情報処理装置100は、そのアプリケーションをインストールするための十分な空き容量が記憶部140に存在するかどうか判断する(ステップS111)。ステップS111の判断は例えばアプリケーション選択部130が実行する。アプリケーションをインストールするための十分な空き容量があるとは、例えば、アプリケーションの実体を格納できるだけの空き容量があることを言ってもよく、また例えば、アプリケーションの実体だけでなく、アプリケーションの実行によって生成されるデータを格納できるだけの空き容量があることをいう。
 ステップS111の判断の結果、そのアプリケーションをインストールするための十分な空き容量が記憶部140に存在しない場合は(ステップS111、No)、情報処理装置100は、記憶部140に格納されている他のアプリケーションの中から、所定の削除条件を満たすアプリケーションを削除する(ステップS112)。ステップS112の削除処理は例えばアプリケーション選択部130が実行する。アプリケーションの削除処理については後に詳述する。
 ステップS112の削除処理を実行すると、再び情報処理装置100はステップS111の判断処理に戻り、通知に基づいて起動されるアプリケーションをインストールするための十分な空き容量が記憶部140に確保出来るまで削除処理を繰り返す。
 一方、ステップS111の判断の結果、そのアプリケーションをインストールするための十分な空き容量が記憶部140に存在している場合は(ステップS111、Yes)、情報処理装置100は、インストールしようとするアプリケーションが自動的にインストール可能なアプリケーションであるかどうかを判断する(ステップS113)。ステップS113の判断は例えばアプリケーション選択部130が実行する。
 ステップS113の判断の結果、インストールしようとするアプリケーションが自動的にインストール可能なアプリケーションであれば(ステップS113、Yes)、情報処理装置100は、そのアプリケーションをアプリケーション配信サーバ20からダウンロードし(ステップS114)、ダウンロードしたアプリケーションをインストールする(ステップS115)。ステップS114及びS115の処理は例えばアプリケーション選択部130が実行する。情報処理装置100は、ステップS115のアプリケーションのインストール処理が完了すると、図4のステップS107のアプリケーション起動処理に移行する。
 一方、ステップS113の判断の結果、インストールしようとするアプリケーションが自動的にインストール可能なアプリケーションでなければ(ステップS113、No)、情報処理装置100は、そのアプリケーションをアプリケーション配信サーバ20からダウンロードしてインストールしても良いかどうかユーザに確認する処理を行う(ステップS116)。ステップS116の確認処理は、例えばアプリケーション選択部130が実行する。情報処理装置100は、この確認を、例えば所定のユーザインタフェースを出力装置170のディスプレイに出力することによって行ってもよく、所定の音声を出力装置170のスピーカから出力することによって行ってもよい。
 続いて情報処理装置100は、アプリケーションのインストールをユーザが許可したかどうかを判断する(ステップS117)。ステップS117の判断は例えばアプリケーション選択部130が実行する。
 ステップS117の判断の結果、アプリケーションのインストールをユーザが許可していれば(ステップS117、Yes)、続いて情報処理装置100は、そのアプリケーションをアプリケーション配信サーバ20からダウンロードし(ステップS114)、ダウンロードしたアプリケーションをインストールする(ステップS115)。一方ステップS117の判断の結果、アプリケーションのインストールをユーザが許可しなければ(ステップS117、No)、続いて情報処理装置100は、アプリケーションのダウンロードは行わず、一連の処理を終了する。
 本開示の一実施形態に係る情報処理装置100は、図4及び図5に示した一連の処理を実行することで、通知サーバ10からの通知の受信に応じて、その通知によって起動されるアプリケーションがインストールされていればそのアプリケーションを起動することができる。本開示の一実施形態に係る情報処理装置100は、通知によって起動されるアプリケーションがインストールされていなければ、アプリケーション配信サーバ20からアプリケーションをダウンロードし、ダウンロードしたアプリケーションをインストールして、インストールしたアプリケーションを起動することが出来る。
 なお、上述のインストールオンリーフラグがTrueに設定されているアプリケーションをアプリケーション配信サーバ20からダウンロードした場合は、情報処理装置100は、アプリケーションのインストールまでに留め、そのインストールしたアプリケーションの起動は行わない。
 以上、図4及び図5を用いて本開示の一実施形態に係る情報処理装置100の動作例について説明した。
 上述したように、本開示の一実施形態に係る情報処理装置100は、通知によって起動されるアプリケーションがインストールされていなければ、アプリケーション配信サーバ20からアプリケーションを自動的にダウンロードし、ダウンロードしたアプリケーションをインストールすることが出来る。しかし場合によっては、ダウンロードしたアプリケーションをインストール出来るだけの容量が記憶部140に確保出来ていないことが想定される。
 そこで本開示の一実施形態に係る情報処理装置100は、自動的にダウンロードしたアプリケーションの中で、所定の削除条件を満たしているアプリケーションがあれば、そのアプリケーションを記憶部140から削除するようにしてもよい。
 図6は、本開示の一実施形態に係る情報処理装置100の動作例を示す流れ図である。図6に示したのは、自動的にダウンロードしたアプリケーションの中で、所定の削除条件を満たしているアプリケーションがあれば、そのアプリケーションを記憶部140から削除する際の、本開示の一実施形態に係る情報処理装置100の動作例である。以下、図6を用いて本開示の一実施形態に係る情報処理装置100の動作例について説明する。
 アプリケーションを削除する際、まず情報処理装置100は、アプリケーション配信サーバ20から自動的にダウンロードしたアプリケーションの中で、動的にダウンロードしたアプリケーションの中で、所定の削除条件を満たしていて削除が可能なアプリケーションを記憶部140から検索する(ステップS121)。ステップS121の処理は、例えばアプリケーション選択部130が実行する。
 ステップS121の検索処理を実行すると、続いて情報処理装置100は、検索の結果、削除が可能なアプリケーションがあるかどうか判定する(ステップS122)。ステップS122の判定処理は、例えばアプリケーション選択部130が実行する。
 ステップS122の判定の結果、削除が可能なアプリケーションが無ければ(ステップS122、No)、情報処理装置100はアプリケーションを削除せずに処理を終了する。一方ステップS122の判定の結果、削除が可能なアプリケーションがあれば(ステップS122、Yes)、情報処理装置100は、続いてその削除が可能なアプリケーションは、完全に削除(アプリケーションが生成したデータを含めて全てのデータを削除することをいう)しても復元が可能かどうか判定する(ステップS123)。ステップS123の判定処理は、例えばアプリケーション選択部130が実行する。
 ステップS123の判定の結果、完全に削除しても復元が可能なアプリケーションであれば(ステップS123、Yes)、続いて情報処理装置100は、そのアプリケーションがユーザの設定によって完全に削除する設定となっているかどうか判定する(ステップS124)。ステップS124の判定処理は、例えばアプリケーション選択部130が実行する。
 ステップS124の判定の結果、ユーザの設定によって完全に削除する設定となっていれば(ステップS124、Yes)、情報処理装置100は、そのアプリケーションを記憶部140から完全に削除する(ステップS125)。ステップS125の削除処理は、例えばアプリケーション選択部130が実行する。なお、ステップS123の判定の結果、完全に削除すると復元が可能なアプリケーションでない場合も(ステップS123、No)、情報処理装置100は、そのアプリケーションを記憶部140から完全に削除する(ステップS125)。一方、ステップS124の判定の結果、ユーザの設定によって完全に削除する設定となっていなければ(ステップS124、No)、情報処理装置100は、そのアプリケーションの復元に必要なデータを残し、実行データだけを記憶部140から削除する(ステップS126)。
 情報処理装置100は、アプリケーション配信サーバ20から自動でダウンロードしたアプリケーションを自動で削除すると、その削除したアプリケーションについての情報をアプリケーション配信サーバ20に送信しても良い。アプリケーション配信サーバ20は、どの情報処理装置100でどのようなアプリケーションが自動でダウンロードされたかの情報を記憶部22に記憶させることで、どの情報処理装置100でどのようなアプリケーションが自動でダウンロードされたかを、例えば制御部25で把握できるとともに、どの自動でダウンロードされたアプリケーションが削除されたかも、例えば制御部25で把握することができる。
 削除条件には様々なものが考えられる。例えば、アプリケーションの有効期限が過ぎているもの、ユーザから削除しても良いとフィードバックがあったもの、ユーザの利用状況から削除しても良いと判定されたもの等が削除条件として考えられる。ユーザの利用状況を削除条件とする場合は、ユーザの利用頻度から頻繁に利用されていないと判定されたもの、ユーザの最終利用日時から長期間利用されていないと判定されたもの、現在のネットワーク帯域では使用することが難しいと判定されたもの、などを削除対象としてもよい。
 情報処理装置100は、ユーザの確認無しに、自動的にダウンロードしたアプリケーションであって、所定の削除条件を満たしたアプリケーションを削除するようにしてもよく、削除前にユーザに確認するようにしてもよい。また情報処理装置100は、ユーザがアプリケーションを削除しないことを希望する設定をしていた場合、所定の削除条件を満たしたアプリケーションであっても削除しないようにしてもよい。
 図7~図9は、アプリケーションの自動削除の設定をユーザに行わせるために、情報処理装置100がユーザに向けて提示するユーザインタフェースの例を示す説明図である。図7~図9に示すユーザインタフェースは、例えば出力装置170のディスプレイに表示される。
 図7に示したのは、アプリケーションに関する設定(アプリケーション設定)の一覧を提示するユーザインタフェースの例を示す説明図である。ユーザが「アプリ削除設定」を選択すると、情報処理装置100は、アプリケーションの削除に関する設定の一覧を提示するユーザインタフェースに移行する。
 図8に示したのは、アプリケーションの削除に関する設定の一覧を提示するユーザインタフェースの例を示す説明図である。図8には、インストールされたアプリケーションのそれぞれに対する削除設定が表示されたユーザインタフェースが表示されたユーザインタフェースの例が示されている。ユーザがアプリケーションの名前(例えば「○○クーポン」)が表示された枠を選択すると、情報処理装置100は、そのアプリケーションの削除設定を設定させるユーザインタフェースに移行する。
 図9に示したのは、個別のアプリケーションの削除設定をユーザに設定させるユーザインタフェースの例を示す説明図である。図9では、アプリケーションの削除設定として「完全削除」「データ保持」「削除しない」「確認する」の4つが表示されたユーザインタフェースの例が示されている。ユーザが「完全削除」を選択すると、そのアプリケーションは、削除時にアプリケーションが生成したデータを含めて全てのデータが削除される。ユーザが「データ保持」を選択すると、そのアプリケーションは、削除時にアプリケーションが生成したデータを含めて全てのデータが削除される。そのアプリケーションは、削除時にアプリケーションが生成したデータを残して削除される。ユーザが「データ保持」を選択すると、そのアプリケーションは、削除条件を満たしていても自動的には削除されない。ユーザが「確認する」を選択すると、そのアプリケーションは削除時にユーザに確認を取って、ユーザが削除を許可すれば削除される。
 情報処理装置100は、記憶部140の記憶容量が所定値以下になった時点で削除処理を実行するようにしてもよく、定期的に削除処理を実行するようにしてもよく、ユーザからの指示により削除処理を実行するようにしてもよい。
 本開示の一実施形態に係る情報処理装置100は、図6に示した一連の処理を実行することで、自動的にダウンロードしたアプリケーションの中で、所定の削除条件を満たしているアプリケーションがあれば、そのアプリケーションを記憶部140から削除することができる。本開示の一実施形態に係る情報処理装置100は、アプリケーションを記憶部140から削除する際に、ユーザの設定に応じてどのデータを削除するかを判断して、アプリケーションの適切な削除が可能である。
 上述したように、本開示の一実施形態に係る情報処理装置100は、通知によって起動されるアプリケーションがインストールされていなければ、アプリケーション配信サーバ20からアプリケーションを自動的にダウンロードし、ダウンロードしたアプリケーションをインストールすることが出来る。しかし、すべての通知に反応してアプリケーションがインストールされてしまうと、記憶部140の空き容量が少なくなっていったり、ユーザがどのアプリケーションがインストールされているのか把握できなかったりする。
 そこで本開示の一実施形態に係る情報処理装置100は、アプリケーションを自動でダウンロードしてインストールするかどうかを、通知の内容やアプリケーションの情報、ユーザの設定などに基づいて判断しても良い。
 例えば、緊急度が高いとして送信された通知を受信した場合は、情報処理装置100は、アプリケーションを自動でダウンロードしてインストールし、緊急度が高くないとして送信された通知を受信した場合は、情報処理装置100は、アプリケーションを自動でダウンロードしてインストールする前にユーザに確認するようにしてもよい。
 また例えば、ユーザが予め登録したサービスからの通知を受信した場合は、情報処理装置100は、アプリケーションを自動でダウンロードしてインストールし、ユーザが予め登録したサービスではないサービスからの通知を受信した場合は、情報処理装置100は、アプリケーションを自動でダウンロードしてインストールする前にユーザに確認するようにしてもよい。
 また、情報処理装置100は、アプリケーション情報を自動インストールの条件とする場合には、例えばアプリケーションのレーティング(他のユーザによるアプリケーションの評価を数値化したものをいう)が所定の閾値以上のものをインストールする、開発元が所定の条件に合致するものをインストールする、アプリケーションの評価結果が所定の閾値以上のものをインストールする、アプリケーションの言語が所定の条件に合致するものをインストールする、アプリケーションに必要なパーミッションが所定の条件に合致するものをインストールする、価格が所定の値段以下のものをインストールする、というようにしてもよい。
 また、情報処理装置100は、アプリケーション配信サーバ20から取得したアプリケーションがその後ユーザの明示的な選択操作によって起動され、かつそのアプリケーションに対する料金の支払いが必要な場合は、ユーザに対してアプリケーションに対する料金の支払いが必要であることを提示してもよいが、ユーザの明示的な選択操作と、通知データの受信に基づく自動起動とに関わらず、所定の複数回目以降の起動時には、ユーザに対してアプリケーションに対する料金の支払いが必要であることを提示してもよい。
 また、情報処理装置100は、ユーザの設定を自動インストールの条件とする場合には、例えばユーザが指定したアプリケーションや、指定したアプリケーションのカテゴリのものをインストールする、というようにしてもよい。
 図10~図12は、アプリケーションの自動インストールの設定をユーザに行わせるために、情報処理装置100がユーザに向けて提示するユーザインタフェースの例を示す説明図である。図10~図12に示すユーザインタフェースは、例えば出力装置170のディスプレイに表示される。
 図10に示したのは、アプリケーションに関する設定(アプリケーション設定)の一覧を提示するユーザインタフェースの例を示す説明図である。ユーザが「アプリ自動インストール」を選択すると、情報処理装置100は、アプリケーションの自動インストールに関する設定の一覧を提示するユーザインタフェースに移行する。
 図11に示したのは、アプリケーションの自動インストールに関する設定の一覧を提示するユーザインタフェースの例を示す説明図である。図11には、すべてのアプリケーションの自動インストールに関する設定及びインストールされるアプリケーションのカテゴリ毎に自動インストールに関する設定が表示されたユーザインタフェースが表示されたユーザインタフェースの例が示されている。ユーザが「自動インストール」と表示された枠を選択すると、情報処理装置100は、すべてのアプリケーションの自動インストール設定を設定させるユーザインタフェースに移行する。またユーザがアプリケーションのカテゴリの名称(例えば「A社」)が表示された枠を選択すると、情報処理装置100は、そのカテゴリの自動インストール設定を設定させるユーザインタフェースに移行する。
 図12に示したのは、あるカテゴリのアプリケーションの自動インストール設定をユーザに設定させるユーザインタフェースの例を示す説明図である。図12には、ある会社(A社)が提供するアプリケーションの自動インストール設定をユーザに設定させるユーザインタフェースが示されている。図12では、自動インストール設定として「許可する」「確認する」「許可しない」の3つが表示されたユーザインタフェースの例が示されている。ユーザが「許可する」を選択すると、そのカテゴリのアプリケーションは、ユーザへの確認無しに自動的にインストールされる。ユーザが「確認する」を選択すると、そのカテゴリのアプリケーションは、インストールの前にユーザに確認を取って、ユーザがインストールを許可すればインストールされる。ユーザが「許可しない」を選択すると、そのカテゴリのアプリケーションは自動的にインストールされない。
 なお、図11に示したユーザインタフェースでユーザが「自動インストール」と表示された枠を選択すると、図12に示したユーザインタフェースは、すべてのアプリケーションの自動インストール設定をユーザに設定させるユーザインタフェースとなる。
 上述したように、本開示の一実施形態に係る情報処理装置100は、通知によって起動されるアプリケーションがインストールされていなければ、アプリケーション配信サーバ20からアプリケーションを自動的にダウンロードし、ダウンロードしたアプリケーションをインストールすることが出来る。しかし、中にはユーザにとって不要な通知を情報処理装置100が受信してしまう場合も考えられる。
 情報処理装置100が通知サーバ10から通知を受信した際に、ユーザがその通知は不要だと判断して、その通知をブロックする設定を行った場合は、情報処理装置100は、以後その通知を受信しても、その通知に基づく情報を出力装置170には出力しない。
 情報処理装置100が通知サーバ10から通知を受信した際に、その時点ではユーザがその通知は不要だと判断しなかったが、アプリケーションが自動でインストールされた後に、ユーザがその通知は不要だと判断して、その通知をブロックする設定を行った場合は、ユーザは、自動でインストールされたアプリケーションを明示的に削除することになる。ユーザがアプリケーションを削除する際、情報処理装置100は、完全削除か部分削除かをユーザに確認してもよい。ユーザが完全削除を選択した場合は、情報処理装置100は、そのアプリケーションについては以後自動インストールを行わないようにして、ユーザが部分削除を選択した場合は、情報処理装置100は、そのアプリケーションについては自動インストールを行うようにする。
 情報処理装置100がアプリケーション配信サーバ20から自動的にダウンロードするアプリケーションの中には、アプリケーションをダウンロードしたり、アプリケーションを継続して使用したりするためには、利用料金を支払う必要があるものも存在する。しかし、ユーザに無断でアプリケーションの利用料金を支払うことは基本的に出来ない。そこで本実施形態では、利用料金の支払いが必要なアプリケーションをアプリケーション配信サーバ20から自動的にダウンロードする際には、以下のような処理が行われてもよい。
 例えば、通知サーバ10からの通知による起動と、ユーザの操作による明示的な起動とで、アプリケーションの振る舞いを変えてもよい。通知サーバ10からの通知による起動の場合は、そのアプリケーションは無料で利用できるようにして、ユーザの操作による明示的な起動の場合は、そのアプリケーションの利用には料金の支払いを必要とするようにしてもよい。
 例えば、地震情報を提供する有料の地震情報アプリケーションがあって、通知サーバ10から規模の大きな地震が発生したことが通知され、その通知に基づいてその地震情報アプリケーションがダウンロードされた場合は、地震情報アプリケーションは無料で利用できるようにする。その後、ユーザが明示的に地震情報アプリケーションを起動させた場合は、その地震情報アプリケーションの利用には料金の支払いを必要とするようにしてもよい。
 また、本システムは、一種の広告システムとしての利用も可能である。従来は、インストール済みのアプリケーションのアップデートを除けば、ユーザのマニュアル操作によってのみ、アプリケーションの端末装置100へのインストールが可能であった。しかし、本システムでは、プッシュ通知の有無によって自動的にアプリケーションを情報処理装置100へインストールさせることができることから、アプリケーションを多くの情報処理装置100に対して配信したいと考える、アプリケーションの開発元にとっても、利用する大きなモチベーションが生まれることになる。
 このため、例えば、通知サーバ10は、情報処理装置100への各アプリケーションの通知データの送信回数を制御部15でカウントし、記憶部12で保持してもよい。そして通知サーバ10は、その通知データの送信回数に基づいて、各アプリケーションの開発元に対して課金を行うための課金額を制御部15で算出し、算出された課金額を、アプリケーションの開発元に対して課金してもよい。
 通知サーバ10、または、通知サーバ10から送信回数の通知を受ける課金サーバが、課金額を算出し、アプリケーションの開発元が、通知サーバ10、または課金サーバに対して予め登録しているクレジットカードや銀行口座に対して、課金を実行してもよい。
 また、通知サーバ10、又は、アプリケーション配信サーバ20において、情報処理装置100から、各アプリケーションをインストールしたときに、その旨の通知を受けるようにしておいてもよい。その通知に基づき、通知サーバ10、又は、アプリケーション配信サーバ20が、各アプリケーションが情報処理装置100にインストールされた回数を制御部15または制御部25でカウントして、回数を記憶部12または記憶部22で保持しておき、その回数に基づいて、アプリケーション開発元への課金額を算出することができる。
 (ユースケース例1)
 続いて、本開示の一実施形態に係る情報処理装置100の動作のユースケース例を示す。まず、イベントを契機としてクーポンアプリケーションが配信される場合の情報処理装置100の動作を説明する。図13は、本開示の一実施形態に係る情報処理装置100の動作のユースケース例を説明するための説明図である。
 情報処理装置100のユーザが、あるお店が提供するネットサービスに情報を登録したとする。そのお店が、1週間後にバーゲンセールを開始するので、ネットサービスから通知サーバ10を通じて、情報を登録したユーザの情報処理装置100へ通知を配信する。情報処理装置100の通知処理部120は、通知の受信に伴い、出力装置170のディスプレイに情報を表示する(a)。
 情報処理装置100のユーザが、ディスプレイに表示された情報を選択すると、通知処理部120は、その選択に応じて、通知により起動されるアプリケーションの情報をアプリケーション選択部130に渡す。アプリケーション選択部130は、そのアプリケーションがインストールされていなければ、アプリケーション配信サーバ20からそのアプリケーションをダウンロードする。設定によっては、アプリケーション選択部130はインストールの前にユーザに確認する場合もある(b)。
 ユーザがインストールを許可すると、アプリケーション選択部130は、アプリケーション配信サーバ20からそのアプリケーションをダウンロードする。情報処理装置100は、必要に応じてダウンロード状況を出力装置170のディスプレイに表示する(c)。
 情報処理装置100は、アプリケーションが予めインストールされているか、アプリケーション配信サーバ20からそのアプリケーションをダウンロードしてインストールすると、そのアプリケーションを起動する(d)。図13には、開催されるバーゲンセールの情報を表示するアプリケーションが出力装置170のディスプレイに表示されている状態が示されている。
 ユーザが、出力装置170のディスプレイに表示されていたアプリケーションを終了させる操作を実行すると、情報処理装置100は、そのアプリケーションを終了させる(e)。このユースケースでは、アプリケーションの削除は行われないものとする。
 図14は、通知サーバ10から情報処理装置100へ送られる通知データの一例を示す説明図である。通知サーバ10から情報処理装置100へ送られる通知データは、例えば制御部15が生成する。図14に示すような通知データを受信した情報処理装置100は、通知データの中身を解析して、ディスプレイに表示する内容を決定したり、起動させるアプリケーションを選択したりすることができる。
 もちろん、図14に示した通知データはあくまで一例であって、本開示は、通知データの形式は図14に示したようなものに限定される物では無いが、図14に示した通知データの各要素の内容について説明する。
 (sender)通知データの送信元を表す。
 (expired)通知データの有効期限を表す。
 (category)通知データのカテゴリを表す。
 (urgency)通知データの緊急度を表す。
 (title)通知データのタイトルを表す。
 (body)通知データの本文を表す。
 (appInfo)通知データに対応するアプリケーションの情報を表す。
 図14に示した通知データのappInfo要素に含まれる各要素の内容について説明する。
 (name)アプリケーションの名称を表す。
 (id)アプリケーションの識別子を表す。
 (sex)アプリケーションの対象の性別を表す。
 (age)アプリケーションの対象の年齢を表す。
 (url)アプリケーションの格納場所をURLの形式で表す。
 (expired)アプリケーションの有効期限を表す。
 (remove)アプリケーションの完全削除判定フラグを表す。
 (installOnly)アプリケーションのインストールオンリーフラグを表す。
 (appData)アプリケーションが使用するデータを表す。
 通知処理部120は、図14のように記述された通知データを解析することで、この通知データに対応するアプリケーションが何であるかを判定し、そのアプリケーションの情報をアプリケーション選択部130に渡すことが出来る。特に、通知処理部120は、図14のように記述された通知データのappInfo要素の内容をアプリケーション選択部130に渡すことで、アプリケーション選択部130は、どのアプリケーションを選択すべきかを判定することが可能になる。
 (ユースケース例2)
 続いて、イベント会場でアプリケーションが自動起動される場合の情報処理装置100の動作を説明する。図15は、本開示の一実施形態に係る情報処理装置100の動作のユースケース例を説明するための説明図である。
 音楽イベントなどのようにイベント会場に多くの人が集まるようなケースでは、イベントが行われている場所で一度に多くのユーザによってアプリケーションのダウンロードが行われると、ネットワークが混雑してダウンロードに時間が掛かったり、またダウンロードそのものが失敗してしまったりする可能性がある。そこで、そのような多くの人が集まることが予想されるイベントのアプリケーションについては、予めイベントの開催日より前にダウンロード及びインストールされていることが望ましい。
 情報処理装置100のユーザが、参加を予定しているイベントが提供するネットサービスに情報を登録したとする。そのイベントが、1週間後にイベントを開催するので、ネットサービスから通知サーバ10を通じて、情報を登録したユーザの情報処理装置100へ通知を配信する。情報処理装置100の通知処理部120は、通知の受信に伴い、出力装置170のディスプレイに情報を表示する(a)。
 情報処理装置100のユーザが、ディスプレイに表示された情報を選択すると、通知処理部120は、その選択に応じて、通知により起動されるイベントアプリケーションの情報をアプリケーション選択部130に渡す。アプリケーション選択部130は、そのイベントアプリケーションがインストールされていなければ、アプリケーション配信サーバ20からそのイベントアプリケーションをダウンロードして(b)、インストールする(c)。しかし、この時点ではまだイベントは開催されていないので、情報処理装置100はダウンロードしたイベントアプリケーションの起動までは行わない。
 ダウンロードしたイベントアプリケーションは、情報処理装置100の位置情報を収集する。そして、イベント開催日にイベントが開催されているエリアに情報処理装置100が存在していれば、通知サーバ10は、その情報処理装置100へ通知する(d)。情報処理装置100は、その通知の受信に基づき、イベントアプリケーションを自動的に起動する(e)。イベントが終了すると、情報処理装置100は、設定によってはイベントアプリケーションを自動的に削除しても良い(f)
 図16及び図17は、通知サーバ10から情報処理装置100へ送られる通知データの一例を示す説明図である。通知サーバ10から情報処理装置100へ送られる通知データは、例えば制御部15が生成する。図16は、イベントの開催日より前に送られる通知データの例であり、図17は、イベントの開催日に送られる通知データの例である。図16及び図17に示すような通知データを受信した情報処理装置100は、通知データの中身を解析して、ディスプレイに表示する内容を決定したり、起動させるアプリケーションを選択したりすることができる。そして図16に示した通知データは、インストールオンリーフラグ(installOnly)がTrueに設定されているので、情報処理装置100はアプリケーションのインストールまでは行うが、アプリケーションの自動起動は行わない。通知サーバ10から図16に示したような通知データが送られてくることで、イベントの主催者は、情報処理装置100でのアプリケーションのダウンロードのタイミングと起動のタイミングとを分けることが可能になる。
 (ユースケース例3)
 続いて、地震情報を表示する有料の地震情報アプリケーションが自動起動される場合の情報処理装置100の動作を説明する。図18は、本開示の一実施形態に係る情報処理装置100の動作のユースケース例を説明するための説明図である。
 情報処理装置100が取得した現在位置の情報などから、情報処理装置100の位置の近くで地震が発生したことを通知サーバ10から通知するケースを例として示す。地震情報を提供するネットサービスが、通知サーバ10から地震の発生を通知するための通知データを情報処理装置100へ送信する。情報処理装置100の通知処理部120は、通知の受信に伴い、出力装置170のディスプレイに情報を表示する(a)。
 情報処理装置100のユーザが、ディスプレイに表示された情報を選択すると、通知処理部120は、その選択に応じて、通知により起動されるアプリケーションの情報をアプリケーション選択部130に渡す。アプリケーション選択部130は、そのアプリケーションがインストールされていなければ、アプリケーション配信サーバ20からそのアプリケーションをダウンロードする。このユースケースでは、地震の発生という緊急事態が通知されているので、アプリケーション選択部130はユーザへの確認を行わずにアプリケーションをダウンロードして(b)、インストールする(c)。そして情報処理装置100は、必要に応じてダウンロード状況を出力装置170のディスプレイに表示する(b)。
 情報処理装置100は、地震情報アプリケーションが予めインストールされているか、アプリケーション配信サーバ20から地震情報アプリケーションをダウンロードしてインストールすると、地震情報アプリケーションを起動する(d)。図18には、地震情報アプリケーションの起動によって、地震の発生に伴い津波警報が発令されたことをユーザに知らせるための画面が出力装置170のディスプレイに表示されている状態が示されている。本来は、この地震情報アプリケーションを起動するにはアプリケーションの開発元に利用料金を支払わなければならない。しかし、通知サーバ10から地震の発生という緊急事態を知らせる通知が情報処理装置100へ配信されたので、この地震の発生の通知の伴う地震情報アプリケーションの自動起動の時点では、利用料金を支払わずに地震情報アプリケーションの起動を可能にする。
 その後、津波警報が解除されて落ち着いた時点で、ユーザが明示的にその地震情報アプリケーションを起動したとする。その場合、アプリケーション起動部150は利用料金の支払いが必要であることを示す画面を出力装置170のディスプレイに表示する(e)。
 図19は、通知サーバ10から情報処理装置100へ送られる通知データの一例を示す説明図である。通知サーバ10から情報処理装置100へ送られる通知データは、例えば制御部15が生成する。図19は、地震の発生時に送信される通知データの例である。図19に示した通知データでは、緊急度を示す「urgency」が「Urgent(緊急)」となっている。このように緊急度が高い通知データに伴うアプリケーションの自動起動の場合は、アプリケーションの利用料金の支払いが行われていなくても、そのアプリケーションを情報処理装置100で起動させるようにしてもよい。
 以上、3つのユースケースを示して、本開示の一実施形態に係る情報処理装置100の動作を説明した。もちろん、本開示の一実施形態に係る情報処理装置100の動作は、上述した3つのユースケースに限られないことは言うまでも無い。例えば、ユースケース例2で示した、アプリケーションのインストールのタイミングと起動のタイミングが異なるユースケースにおいて、起動されるアプリケーションは有料のアプリケーションであってもよい。
 <2.ハードウェア構成例>
 次に、図20を参照して、本開示の一実施形態にかかる通知サーバ10及びアプリケーション配信サーバ20のハードウェア構成について説明する。図29は、サーバ700の概略的な構成の一例を示すブロック図である。サーバ700は、プロセッサ701、メモリ702、ストレージ703、ネットワークインタフェース704及びバス706を備える。
 プロセッサ701は、例えばCPU(Central Processing Unit)又はDSP(Digital Signal Processor)であってよく、サーバ700の各種機能を制御する。メモリ702は、RAM(Random Access Memory)及びROM(Read Only Memory)を含み、プロセッサ701により実行されるプログラム及びデータを記憶する。ストレージ703は、半導体メモリ又はハードディスクなどの記憶媒体を含み得る。
 ネットワークインタフェース704は、サーバ700を通信ネットワーク705に接続するための有線通信インターフェースである。
 バス706は、プロセッサ701、メモリ702、ストレージ703及びネットワークインタフェース704を互いに接続する。バス706は、速度の異なる2つ以上のバス(例えば、高速バス及び低速バス)を含んでもよい。
 図20に示したサーバ700において、図1を参照して説明した処理部13または処理部23に含まれる1つ以上の構成要素(取得部14及び/又は制御部15、取得部24及び/又は制御部25)は、プロセッサ701において実装されてもよい。一例として、プロセッサを上記1つ以上の構成要素として機能させるためのプログラムがサーバ700にインストールされ、プロセッサ701が当該プログラムを実行してもよい。別の例として、サーバ700は、プロセッサ701及びメモリ702を含むモジュールを搭載し、当該モジュールにおいて上記1つ以上の構成要素が実装されてもよい。この場合に、上記モジュールは、プロセッサを上記1つ以上の構成要素として機能させるためのプログラムをメモリ702に記憶し、当該プログラムをプロセッサ701により実行してもよい。以上のように、上記1つ以上の構成要素を備える装置としてサーバ700又は上記モジュールが提供されてもよく、プロセッサを上記1つ以上の構成要素として機能させるための上記プログラムが提供されてもよい。また、上記プログラムを記録した読み取り可能な記録媒体が提供されてもよい。
 次に、図21を参照して、本開示の一実施形態にかかる情報処理装置100のハードウェア構成について説明する。図21は、本開示の実施形態にかかる情報処理装置100のハードウェア構成例を示すブロック図である。上記の各アルゴリズムは、例えば、図21に示す情報処理装置のハードウェア構成を用いて実行することが可能である。つまり、当該各アルゴリズムの処理は、コンピュータプログラムを用いて図21に示すハードウェアを制御することにより実現される。
 なお、この図21に示したハードウェア900のハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、接触式又は非接触式のICチップ、接触式又は非接触式のICカード、スピーカ、テレビ、モニタ、ウェアラブル機器、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy-phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
 図21に示すように、このハードウェア900は、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
 CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
 これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
 出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro-Luminescence Displayの略である。
 記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
 ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu-rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
 接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS-232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
 通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は接触又は非接触通信用のデバイス等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
 図21に示したハードウェア900において、図1を参照して説明した情報処理装置100に含まれる少なくとも1つの構成要素(通知処理部120、アプリケーション選択部130、アプリケーション起動部150、アプリケーション実行部160)は、CPU902において実装されてもよい。
 <3.まとめ>
 以上説明したように本開示の一実施形態によれば、通知サーバ10から送信される通知データの受信に伴って、その通知データに関するアプリケーションを自動的に起動する情報処理装置100が提供される。本開示の一実施形態に係る情報処理装置100は、の通知データに関するアプリケーションを自動的に起動する際に、そのアプリケーションがインストールされていなければ、そのアプリケーションをアプリケーション配信サーバ20からダウンロードしてインストールする。
 本開示の一実施形態に係る情報処理装置100は、予めユーザによって通知データに関するアプリケーションがインストールされていなくても、通知サーバ10からの通知データの受信によりアプリケーションを取得して、アプリケーションを自動的に起動することが出来る。
 また本開示の一実施形態によれば、情報処理装置100へアプリケーション情報を含んだ通知データを送信する通知サーバ10と、そのアプリケーション情報に対応するアプリケーションのダウンロードの要求が情報処理装置100から送られてくると、その要求に応じてアプリケーションを配信するアプリケーション配信サーバ20と、が提供される。
 本開示の一実施形態に係る通知サーバ10及びアプリケーション配信サーバ20は、ユーザが使用する情報処理装置100へ通知データを送信することで、情報処理装置100へ効果的にアプリケーションを配信することが出来る。また本開示の一実施形態に係る通知サーバ10は、通知データの内容を適切に設定することで、情報処理装置100での通知データの受信に基づくアプリケーションのダウンロードのタイミングと、通知データの受信に基づくアプリケーションの自動起動のタイミングとを分けることが可能になる。
 本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
 また、各装置に内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアまたはハードウェア回路で構成することで、一連の処理をハードウェアまたはハードウェア回路で実現することもできる。
 また上述の説明で用いた機能ブロック図で示したそれぞれの機能ブロックの一部又は全部は、たとえばインターネット等のネットワークを介して接続されるサーバ装置で実現されてもよい。また上述の説明で用いた機能ブロック図で示したそれぞれの機能ブロックの構成は、単独の装置で実現されてもよく、複数の装置が連携するシステムで実現されても良い。複数の装置が連携するシステムには、例えば複数のサーバ装置の組み合わせ、サーバ装置と端末装置との組み合わせ等が含まれ得る。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 ユーザに対するプッシュ通知の有るアプリケーションの情報を取得する通信部と、
 前記取得した情報に基づいて、前記アプリケーションを自動的にインストールする制御部と、
を備える、情報処理装置。
(2)
 前記制御部は、前記情報に基づいて、インストールした前記アプリケーションを自動起動させる、前記(1)に記載の情報処理装置。
(3)
 前記制御部は、前記アプリケーションがインストール済みである場合には前記アプリケーションをインストールすることなく、前記情報に基づいて前記アプリケーションを自動起動させる、前記(2)に記載の情報処理装置。
(4)
 前記制御部は、予め設定されているアプリケーションの自動インストール条件と前記情報とに基づいて、前記アプリケーションを自動的にインストールする、前記(1)~(3)のいずれかに記載の情報処理装置。
(5)
前記制御部は、前記情報に基づいて、前記アプリケーションを自動的にアンインストールする、前記(1)~(4)のいずれかに記載の情報処理装置。
(6)
 前記制御部は、前記情報に基づいて、前記アプリケーションが作成したデータも含めて前記アプリケーションをアンインストールするかを判断する、前記(5)に記載の情報処理装置。
(7)
 前記制御部は、前記アプリケーションのユーザ操作による起動回数が所定数以上となった場合に、前記アプリケーションの使用を継続するための権限を得るための処理を実行する、前記(1)~(6)のいずれかに記載の情報処理装置。
(8)
 前記制御部は、前記アプリケーションを起動する場合に、前記取得した情報に基づく自動起動の場合と、ユーザ操作に基づく起動との場合とで、前記アプリケーションによる動作を異ならせる、前記(1)~(7)のいずれかに記載の情報処理装置。
(9)
 前記通信部は、前記情報処理装置が所定の場所に存在する場合に、前記情報を取得する、前記(1)~(8)のいずれかに記載の情報処理装置。
(10)
 前記情報は、前記プッシュ通知の緊急度を含み、
 前記制御部は、前記緊急度に基づいて、前記アプリケーションを自動的にインストールする、前記(1)~(9)のいずれかに記載の情報処理装置。
(11)
 ユーザに対するプッシュ通知の有るアプリケーションの情報を取得することと、
 前記取得した情報に基づいて、前記アプリケーションを自動的にインストールすることと、
を含む、情報処理方法。
(12)
 コンピュータに、
 ユーザに対するプッシュ通知の有るアプリケーションの情報を取得することと、
 前記取得した情報に基づいて、前記アプリケーションを自動的にインストールすることと、
を実行させる、コンピュータプログラム。
(13)
 ユーザに対するプッシュ通知の有るアプリケーションの情報に基づき、情報処理装置において前記アプリケーションの自動インストールが実行される前記情報を、前記情報処理装置へ送信する通信部を備える、サーバ装置。
(14)
 前記サーバ装置は、前記情報に基づく複数の前記情報処理装置への前記アプリケーションの自動インストール数を管理する制御部を備える、前記(13)に記載のサーバ装置。
 100  情報処理装置
 110  入力装置
 120  通知処理部
 130  アプリケーション選択部
 140  記憶部
 150  アプリケーション起動部
 160  アプリケーション実行部
 170  出力装置

Claims (14)

  1.  ユーザに対するプッシュ通知の有るアプリケーションの情報を取得する通信部と、
     前記取得した情報に基づいて、前記アプリケーションを自動的にインストールする制御部と、
    を備える、情報処理装置。
  2.  前記制御部は、前記情報に基づいて、インストールした前記アプリケーションを自動起動させる、請求項1に記載の情報処理装置。
  3.  前記制御部は、前記アプリケーションがインストール済みである場合には前記アプリケーションをインストールすることなく、前記情報に基づいて前記アプリケーションを自動起動させる、請求項2に記載の情報処理装置。
  4.  前記制御部は、予め設定されているアプリケーションの自動インストール条件と前記情報とに基づいて、前記アプリケーションを自動的にインストールする、請求項1に記載の情報処理装置。
  5.  前記制御部は、前記情報に基づいて、前記アプリケーションを自動的にアンインストールする、請求項1に記載の情報処理装置。
  6.  前記制御部は、前記情報に基づいて、前記アプリケーションが作成したデータも含めて前記アプリケーションをアンインストールするかを判断する、請求項5に記載の情報処理装置。
  7.  前記制御部は、前記アプリケーションのユーザ操作による起動回数が所定数以上となった場合に、前記アプリケーションの使用を継続するための権限を得るための処理を実行する、請求項1に記載の情報処理装置。
  8.  前記制御部は、前記アプリケーションを起動する場合に、前記取得した情報に基づく自動起動の場合と、ユーザ操作に基づく起動との場合とで、前記アプリケーションによる動作を異ならせる、請求項1に記載の情報処理装置。
  9.  前記通信部は、前記情報処理装置が所定の場所に存在する場合に、前記情報を取得する、請求項1に記載の情報処理装置。
  10.  前記情報は、前記プッシュ通知の緊急度を含み、
     前記制御部は、前記緊急度に基づいて、前記アプリケーションを自動的にインストールする、請求項1に記載の情報処理装置。
  11.  ユーザに対するプッシュ通知の有るアプリケーションの情報を取得することと、
     前記取得した情報に基づいて、前記アプリケーションを自動的にインストールすることと、
    を含む、情報処理方法。
  12.  コンピュータに、
     ユーザに対するプッシュ通知の有るアプリケーションの情報を取得することと、
     前記取得した情報に基づいて、前記アプリケーションを自動的にインストールすることと、
    を実行させる、コンピュータプログラム。
  13.  ユーザに対するプッシュ通知の有るアプリケーションの情報に基づき、情報処理装置において前記アプリケーションの自動インストールが実行される前記情報を、前記情報処理装置へ送信する通信部を備える、サーバ装置。
  14.  前記サーバ装置は、前記情報に基づく複数の前記情報処理装置への前記アプリケーションの自動インストール数を管理する制御部を備える、請求項13に記載のサーバ装置。
PCT/JP2016/056433 2015-04-14 2016-03-02 情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置 WO2016167039A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US15/553,188 US10802811B2 (en) 2015-04-14 2016-03-02 Information processing device, information processing method, computer program, and server device
JP2017512223A JPWO2016167039A1 (ja) 2015-04-14 2016-03-02 情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置
CN201680020568.7A CN107408050A (zh) 2015-04-14 2016-03-02 信息处理设备、信息处理方法、计算机程序以及服务器设备
EP16779831.3A EP3285164B1 (en) 2015-04-14 2016-03-02 Information processing device, information processing method, computer program, and server device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-082272 2015-04-14
JP2015082272 2015-04-14

Publications (1)

Publication Number Publication Date
WO2016167039A1 true WO2016167039A1 (ja) 2016-10-20

Family

ID=57126754

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/056433 WO2016167039A1 (ja) 2015-04-14 2016-03-02 情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置

Country Status (5)

Country Link
US (1) US10802811B2 (ja)
EP (1) EP3285164B1 (ja)
JP (1) JPWO2016167039A1 (ja)
CN (1) CN107408050A (ja)
WO (1) WO2016167039A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018143107A1 (ja) * 2017-01-31 2020-01-16 株式会社Jr東日本ウォータービジネス 商品贈呈システム及び商品贈呈方法
CN113986316A (zh) * 2021-12-27 2022-01-28 北京结慧科技有限公司 一种微服务的自动部署方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10043185B2 (en) 2014-05-29 2018-08-07 Apple Inc. User interface for payments
JP6323480B2 (ja) 2016-03-02 2018-05-16 住友電気工業株式会社 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
CN107864229B (zh) * 2017-12-27 2020-10-09 北京小米移动软件有限公司 消息推送方法及装置
CN108647060A (zh) * 2018-05-21 2018-10-12 Oppo广东移动通信有限公司 应用预加载方法、装置、存储介质及终端
US11061685B2 (en) * 2019-02-27 2021-07-13 International Business Machines Corporation Extended asynchronous data mover functions compatibility indication
DK202070633A1 (en) 2020-04-10 2021-11-12 Apple Inc User interfaces for enabling an activity
CN114168160A (zh) * 2020-09-10 2022-03-11 荣耀终端有限公司 应用模块启动方法和电子设备
CN113329087A (zh) * 2021-05-26 2021-08-31 北京沃东天骏信息技术有限公司 用于获取信息的方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005032159A (ja) * 2003-07-11 2005-02-03 Sony Corp 情報処理装置および情報処理方法、情報処理システム、記憶媒体、並びに、プログラム
JP2005092469A (ja) * 2003-09-17 2005-04-07 Nec Corp アプリケーション取得/起動システム、携帯端末装置及びそれらに用いるアプリケーション取得/起動方法
JP2005157657A (ja) * 2003-11-25 2005-06-16 Nec Corp 携帯端末におけるアプリケーションデータ管理方法及び携帯端末
JP2008152797A (ja) * 2008-01-18 2008-07-03 Techfirm Kk 情報配信サーバシステム、情報配信方法及び記録媒体
JP2013030865A (ja) * 2011-07-27 2013-02-07 Eqs Kk プログラム
US20130326502A1 (en) * 2012-05-30 2013-12-05 Google Inc. Installing applications remotely
JP2014164392A (ja) * 2013-02-22 2014-09-08 Dainippon Printing Co Ltd 情報処理装置および情報処理システム
WO2015004756A1 (ja) * 2013-07-10 2015-01-15 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、および、動作モードの制御方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734285B2 (en) * 2001-04-03 2010-06-08 Qualcomm Incorporated Method and apparatus for network initiated uninstallation of application program over wireless network
US8216071B2 (en) * 2002-03-20 2012-07-10 Intel Corporation Method and apparatus for software delivery and management
JP4220894B2 (ja) * 2003-12-16 2009-02-04 株式会社エヌ・ティ・ティ・ドコモ 移動機、及びプログラム起動方法
US7257583B2 (en) 2004-01-09 2007-08-14 Microsoft Corporation System and method for updating an on-device application catalog in a mobile device receiving a push message from a catalog server indicating availability of an application for download
JP2006165886A (ja) * 2004-12-06 2006-06-22 Connect Technologies Corp 情報取得システムと、それに用いるユーザー端末および通信装置
JP4821132B2 (ja) * 2005-02-23 2011-11-24 日本電気株式会社 ソフトウェア競合管理システム、ソフトウェア課金システムおよびソフトウェア課金方法
JP2007293737A (ja) * 2006-04-27 2007-11-08 Fuji Xerox Co Ltd ソフトウェア資源の登録管理方法、電子機器、プログラム
US8160563B2 (en) * 2006-06-30 2012-04-17 Qualcomm Incorporated Method and apparatus for controlling response to service notifications in a network environment
JP5183560B2 (ja) * 2009-04-20 2013-04-17 三菱電機株式会社 転送装置および転送プログラム
US8943146B2 (en) * 2010-09-21 2015-01-27 Benbria Corporation Method and system and apparatus for mass notification and instructions to computing devices
US8745612B1 (en) * 2011-01-14 2014-06-03 Google Inc. Secure versioning of software packages
US8825842B2 (en) * 2011-04-28 2014-09-02 Facebook, Inc. Managing notifications pushed to user devices
WO2012154856A1 (en) * 2011-05-09 2012-11-15 Google Inc. Identifying applications of interest based on application metadata
US9088624B2 (en) * 2011-05-31 2015-07-21 Nokia Technologies Oy Method and apparatus for routing notification messages
JP6095091B2 (ja) * 2012-03-24 2017-03-15 日本電気株式会社 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム
JP5930390B2 (ja) 2012-05-31 2016-06-08 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および情報処理システム
US9280789B2 (en) * 2012-08-17 2016-03-08 Google Inc. Recommending native applications
CN103036770B (zh) * 2012-12-12 2016-08-03 北京奇虎科技有限公司 用于消息推送的系统及方法
US9924102B2 (en) * 2013-03-14 2018-03-20 Qualcomm Incorporated Image-based application launcher
US9727326B2 (en) * 2013-03-15 2017-08-08 Apple Inc. Providing customized notifications for security software updates
CA2844724A1 (en) * 2014-03-04 2015-09-04 Guest Tek Interactive Entertainment Ltd. Leveraging push notification capabilities of mobile app to send event-triggered invitations to upgrade service offered by hospitality establishment
US9390185B2 (en) * 2014-04-29 2016-07-12 1E Limited Command lines
US10068277B2 (en) * 2014-06-17 2018-09-04 Microsoft Technology Licensing, Llc Modes, control and applications of recommendations auto-consumption
JP6295856B2 (ja) * 2014-06-27 2018-03-20 富士通株式会社 管理支援方法,管理支援装置及び管理支援プログラム
US9569196B2 (en) * 2014-12-19 2017-02-14 Paypal, Inc. App store update notification and warning system
US9880832B2 (en) * 2015-03-06 2018-01-30 Sap Se Software patch evaluator

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005032159A (ja) * 2003-07-11 2005-02-03 Sony Corp 情報処理装置および情報処理方法、情報処理システム、記憶媒体、並びに、プログラム
JP2005092469A (ja) * 2003-09-17 2005-04-07 Nec Corp アプリケーション取得/起動システム、携帯端末装置及びそれらに用いるアプリケーション取得/起動方法
JP2005157657A (ja) * 2003-11-25 2005-06-16 Nec Corp 携帯端末におけるアプリケーションデータ管理方法及び携帯端末
JP2008152797A (ja) * 2008-01-18 2008-07-03 Techfirm Kk 情報配信サーバシステム、情報配信方法及び記録媒体
JP2013030865A (ja) * 2011-07-27 2013-02-07 Eqs Kk プログラム
US20130326502A1 (en) * 2012-05-30 2013-12-05 Google Inc. Installing applications remotely
JP2014164392A (ja) * 2013-02-22 2014-09-08 Dainippon Printing Co Ltd 情報処理装置および情報処理システム
WO2015004756A1 (ja) * 2013-07-10 2015-01-15 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、および、動作モードの制御方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP3285164A4 *
TATSUYA TOMOTA ET AL.: "Human-Centric Computing ni Okeru Smartphone no Doteki Desktop System no Kaihatsu", IPSJ SIG NOTES 2012, vol. 2012-CD, no. 25, 15 December 2012 (2012-12-15), pages 1 - 8, XP009507487, ISSN: 1884-0930 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018143107A1 (ja) * 2017-01-31 2020-01-16 株式会社Jr東日本ウォータービジネス 商品贈呈システム及び商品贈呈方法
JP7026642B2 (ja) 2017-01-31 2022-02-28 株式会社Jr東日本クロスステーション 商品贈呈システム及び商品贈呈方法
CN113986316A (zh) * 2021-12-27 2022-01-28 北京结慧科技有限公司 一种微服务的自动部署方法

Also Published As

Publication number Publication date
EP3285164B1 (en) 2020-12-02
JPWO2016167039A1 (ja) 2018-02-08
EP3285164A1 (en) 2018-02-21
EP3285164A4 (en) 2018-12-05
US10802811B2 (en) 2020-10-13
US20180121185A1 (en) 2018-05-03
CN107408050A (zh) 2017-11-28

Similar Documents

Publication Publication Date Title
WO2016167039A1 (ja) 情報処理装置、情報処理方法、コンピュータプログラム及びサーバ装置
US11556979B2 (en) Intelligent delivery and acquisition of digital assets
US10325242B2 (en) Method and system for sharing activities of devices
US9071564B2 (en) Data synchronization using mail and push notification services
US8060407B1 (en) Method for providing personalized, targeted advertisements during playback of media
US20130268396A1 (en) Method and system for providing personalized application recommendations
CN111083042B (zh) 模板消息的推送方法、装置、设备及存储介质
US9538248B2 (en) Method for sharing broadcast channel information and electronic device thereof
US20180197099A1 (en) User state predictions for presenting information
JP5832807B2 (ja) プログラム
EP2765552A1 (en) System and method of providing object for service of service provider
CN111466125A (zh) 服务推送方法及终端
CN111432001B (zh) 用于跳转场景的方法、装置、电子设备和计算机可读介质
WO2013184696A2 (en) Sponsored applications
CN112950264A (zh) 一种广告展示方法及终端
KR102239616B1 (ko) 메시지 통지 방법 및 단말기
CN109657164B (zh) 发布消息的方法、装置及存储介质
CN113938551B (zh) 缓存方法、装置、电子设备和存储介质
CN115562744A (zh) 一种应用程序加载方法及电子设备
KR20150085864A (ko) 전자 장치의 광고 방법 및 그 전자 장치
JP6578161B2 (ja) メッセージ送信システム及び管理サーバ
CN114036424A (zh) 物种信息的显示方法、装置、设备、存储介质和程序产品
CN114063843A (zh) 交互方法、装置、电子设备、存储介质和计算机程序产品
JP5018689B2 (ja) 車載器、コンテンツ情報処理方法及びプログラム
JP5194064B2 (ja) 端末装置、情報配信装置、情報配信方法、情報配信プログラム、及び端末用プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16779831

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017512223

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15553188

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2016779831

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE